Dismal is used as a mode for Gnu Emacs and is implemented in Lisp. This means that it has a command based interface and is an advanced mode of Emacs, using all its word processing abilities.
Because Dismal is written as an add-on for GNU Emacs, it has certain disadvantages. The major of these is that it is a lot slower that any stand-alone spreadsheet. The latest version is faster however, having had its code re-implemented. One of the advantages of Dismal is that its source code is easily accessible. It uses several design concepts which are already present in the Emacs environment and adapts their use within the context of Dismal mode. Several terms and objects which are used in both Emacs and Dismal are listed below and the ways in which they are used in Dismal are explained.
Terms:
Mark Mark, which used to be a text position, is now the marked cell. Typing “m”, C-SPACE, or C-@ will set the mark. C-x C-x (Exchange mark and point) works now with cell positions.
Point Point is the current cell. Ranges The idea of a text range that is used in GNU-Emacs is modified and used in Dismal as the region of cells between point and mark. When the variable dis-show-selected-ranges is t, the user is shown the selected range when performing a function on it, such as cutting or erasing. What this means is that the range selected will be briefly moved over (i.e., the point and mark will be exchanged for one second). When the user kills a range, it is saved in Dismal’s kill buffer. This buffer can be yanked and inserted in the initial buffer, or other Dismal buffers as well.
Menu Dismal can be menu driven and when the user types C-c C-m a simple menu appears on the bottom of the Emacs display in what is called the message line. For more details please see the manual.
Ruler Dismal supports putting up a ruler at the top of the window indicating the contents of columns. The default ruler is the letters heading the columns, followed by dashes and crosses (+—-+–+—+) indicating the column borders. Users can change this ruler to provide columns with more meaningful headings by using the function dis-set-ruler-rows, and then selecting another row number to act as the ruler row. For example, if you wanted the contents of the cells in row 3 to act as the ruler row, you could give the variable RulerRow the value 3. Advanced users can set the variable dis-ruler-row. The new ruler will appear at the top of a window only when you scroll off the page with scroll-up/down-in-place (C-v, M-v). When just moving line by line (C-n, C-p) the ruler will not be refreshed. Not refreshing the ruler speeds travel through the spreadsheet, although this speed change is less significant with Dismal 0.95. The ruler can be brought back by recentering the buffer (C-l). The ruler will occupy the top two rows of the window, but will not overwrite any of the contents of the cells in these rows.
This is a brief look at GNU Emacs Dismal. Download the software and read the manual for further information.
Return to the main Dismal Page.
These pages were created by Matthew Hardy and are on the Nottingham University Web Site.
The URL for this page is http://www.cs.nott.ac.uk/~mrh96c/uid/emacs.html
My email address is [email protected].
This page was last updated on the 12/11/1997.