This is an introduction for dismal (Dis' Mode Ain't Lotus), a major mode in GNU-Emacs that implements a spreadsheet (!). This introduction includes how to load, run, and use dismal and dismal spreadsheets. Dismal provides the basic spreadsheet functions. Because it is based on GNU-Emacs it offers several relatively novel features for a spreadsheet
It has some useful functions that implement the keystroke level model of Card, Moran, and Newell, (1983) These were reported at CHI:
Nichols, S., & Ritter, F. E. (1994). A theoretically motivated tool for automatically generating command aliases. Proceedings of CHI '95. 393-400.
(ritter.ist.psu.edu/dismal/Chi95.html or acs.ist.psu.edu/papers/nicholsR94.pdf).
A full summary is available as a journal article. If you use dismal, please cite the article.
Ritter, F. E., & Wood, A. B. (2005). Dismal: A spreadsheet for sequential data analysis and HCI experimentation. Behavior Research Methods, Instruments, and Computers. 37(1), 71-81.
For further information, please see the dismal-manual (may be out of date or ill-formated), files accompanying the release, or ritter.ist.psu.edu/dismal/dismal-paper.html
We have crreated a model that does some dismal tasks, and it is available.
If you would like to contribute, there remain numerous problems with dismal (noted in the todo list in dismal.el), but I use it at least weekly. I estimate that there are (or have been) 20 users outside of Nottingham and Penn State.
Dismal-mode is available through the web at acs.ist.psu.edu/dismal (choose the tar file).
Copies are no longer updated at the Elisp archives at The OSU (and may be missing now).
There is a mirror site at ftp://cs.nyu.edu/pub/local/fox/dismal that is current (4/05).
The file is named "dismal-VERSION.tar.gz" (so use binary mode by issuing the "binary" command), where version gives you the version of dismal that you are getting.
Dismal is known to run on Emacs 19 and 20 under all Unix systems we have tested it on.
Dismal works under Emacs 19 on Windows XP and Windows2000 with Emacs version 20.7.1 as well a recent version of XEmacs. (keystroke timing does not work on this operating system)
Dismal works on the Macintosh with Emacs 19 (macEmacs) and GNU Emacs 20.4 (timing does not work with these versions of Emacs on the Mac, so keystroke timing does not work either). With Xemacs 21.5, timing should work if cc or gcc is available on your machine, but dismal.el needs the following patch to work (inserted where dismal-menu3.el is loaded):
(if dismal-xemacs-p (progn (message "dismal-menu disabled in Xemacs...") (sit-for 2)) (load "dismal-menu3.el"))
This can also be uncompressed in Emacs' Dired Mode by using the
Z (shift-z) command. However you must return back to the C shell
to untar the file by typing
tar xvf dismal-VERSION.tar
C-u 0 M-x byte-recompile-directory (and answer 'y' to each file)
Under certain combinations, e.g., Emacs CW 20.4, if you have to compile, you will have to do this before loading and after increasing the memory size of the application.
Change the pathname to correspond to the location of the dismal files at your site. More information about installing and using dismal are contained in the online help, available within dismal as C-h m, or in the info files themselves (dismal-manual.tex and dismal-manual.txt)
(load "DISMALS-LOCATION/dismal-mode-defaults.el")
The main files included in the package are:
COPYING |
dismal.el |
Makefile |
dismal-simple-menus.el |
README |
dismal-metacolumn.el |
REFCARD |
dismal-mouse-x.el |
dismal-manual.txt |
dismal-mode-defaults.el |
dismal-graphing.el |
|
*float.el |
*vectors.el |
*float-changes.el |
*rmatrix.el |
*heaps.el |
*simple-menu.el |
*soar-misc.el |
*insert-date.el |
The last group of files marked with "*" are not part of dismal proper, but dismal depends on them. It should be possible for later releases of dismal to replace them with smarter and faster code. Some of these files are, in fact, gone already.
There is an online manual available though the Info-mode help system.
C-c C-m will pop up a menu. Selecting 'Help' will bring up an extensive, mode-based help. This help is also available under a menu under X.
C-c C-m will pop up a menu. Selecting 'Doc.' will provide access to an extensive info-mode based manual.
Dismal has a mailing list, L-DISMAL-USERS mailing list (Dismal
Users) maintained by Frank Ritter
This list is used as the main discussion list and is used to discuss all aspects of dismal, including development and porting. It has no more than 10 messages / year.
Announcements about FOO and most other GNU Software are made on
Currently, there is no newsgroup dedicated to dismal.
We sometimes call it 'dismal', lowercase, because that's how it is
invoked.
Some features which are not fully implemented yet, but will
eventually be, are:
Version 1.1 makes some use of defsubst and of fonts and menus
There are too many bugs or missing features to list them here.
Interested users should consult the dismal.el file.
If you would like to hear about updates and other such things or
to help maintain it, please let me
(ritter@ist.psu.edu) know and
I'll put you on the dismal users mailing list.
If you think you have found a bug in dismal, then you should send as
complete a report as possible to one of the maintainers. Ideally, you
should include a backtrace (turn this on by "M-: (setq debug-on-error
t)
Dismal is currently being maintained by Frank Ritter (frank.ritter @ PSU.EDU) . Email me for help. Return to GNU's home page.