# HG changeset patch # User Jonathan Yavner # Date 1035735964 0 # Node ID ad86b7acaeecd8128d427683bf705ebf8fe4bfc2 # Parent d876c83f972ba67fb934c24e2c7491bea1e045ea Added ses-mode, unsafep, testcover diff -r d876c83f972b -r ad86b7acaeec etc/NEWS --- a/etc/NEWS Sat Oct 26 23:53:30 2002 +0000 +++ b/etc/NEWS Sun Oct 27 16:26:04 2002 +0000 @@ -59,6 +59,12 @@ * Changes in Emacs 21.4 +--- +** SES mode (ses-mode) is a new major mode for creating and editing +spreadsheet files. Besides the usual Emacs features (intuitive command +letters, undo, cell formulas in Lisp, plaintext files, etc.) it also offers +viral immunity and import/export of tab-separated values. + ** Init file changes You can now put the init files .emacs and .emacs_SHELL under @@ -1085,6 +1091,29 @@ * Lisp Changes in Emacs 21.4 ++++ +** New Lisp library testcover.el works with edebug to help you determine +whether you've tested all your Lisp code. Function testcover-start +instruments all functions in a given file. Then test your code. Function +testcover-mark-all adds overlay "splotches" to the Lisp file's buffer to +show where coverage is lacking. Command testcover-next-mark (bind it to +a key!) will move point forward to the next spot that has a splotch. + +*** Normally, a red splotch indicates the form was never completely evaluated; +a brown splotch means it always evaluated to the same value. The red +splotches are skipped for forms that can't possibly complete their evaluation, +such as `error'. The brown splotches are skipped for forms that are expected +to always evaluate to the same value, such as (setq x 14). + +*** For difficult cases, you can add do-nothing macros to your code to help +out the test coverage tool. The macro 1value suppresses a brown splotch for +its argument. The macro noreturn suppresses a red splotch. + +--- +** New function unsafep returns nil if the given Lisp form can't possibly +do anything dangerous; otherwise it returns a reason why the form might be +unsafe (calls dangerous function, alters global variable, etc). + ** When you are printing using print-continuous-numbering, if no objects have had to be recorded in print-number-table, all elements of print-number-table are nil.