3.6 Customizing SES

By default, a newly-created spreadsheet has 1 row and 1 column. The column width is 7 and the default printer is ‘"%.7g"’. Each of these can be customized. Look in group “ses”.

After entering a cell value, point normally moves right to the next cell. You can customize ses-after-entry-functions to move left or up or down. For diagonal movement, select two functions from the list.

ses-jump-cell-name-function is a customizable variable by default set to the upcase function. This function is called when you pass a cell name to the ses-jump command (j), it changes the entered cell name to that where to jump. The default setting upcase allows you to enter the cell name in low case. Another use of ses-jump-cell-name-function could be some internationalization to convert non latin characters into latin equivalents to name the cell. Instead of a cell name, the function may return cell coordinates in the form of a cons, for instance (0 . 0) for cell A1, (1 . 0) for cell A2, etc.

ses-jump-prefix-function is a customizable variable by default set to the ses-jump-prefix function. This function is called when you give a prefix argument to the ses-jump command (j). It returns a cell name or cell coordinates corresponding to the prefix argument. Cell coordinates are in the form of a cons, for instance (1 . 0) for cell A2. The default setting ses-jump-prefix will number cells left to right and then top down, so assuming a 4x3 spreadsheet prefix argument 0 jumps to cell A1, prefix argument 2 jumps to C1, prefix argument 3 jumps to A2, etc.

ses-mode-hook is a normal mode hook (list of functions to execute when starting SES mode for a buffer).

The variable safe-functions is a list of possibly-unsafe functions to be treated as safe when analyzing formulas and printers. See Virus protection. Before customizing safe-functions, think about how much you trust the person who’s suggesting this change. The value t turns off all anti-virus protection. A list-of-functions value might enable a “gee whiz” spreadsheet, but it also creates trapdoors in your anti-virus armor. In order for virus protection to work, you must always press n when presented with a virus warning, unless you understand what the questionable code is trying to do. Do not listen to those who tell you to customize enable-local-eval—this variable is for people who don’t wear safety belts!