This covers my recent user-visible changes and adds some edits of
previous entries, most notably the one for delete-key-deletes-forward.
Index: etc/NEWS
===================================================================
RCS file: /usr/CVSroot/XEmacs/xemacs/etc/NEWS,v
retrieving revision 1.58.2.11
diff -u -r1.58.2.11 NEWS
--- NEWS 1999/04/22 07:41:16 1.58.2.11
+++ NEWS 1999/05/10 07:53:54
@@ -32,19 +32,19 @@
* Changes in XEmacs 21.2
========================
+
** `delete-key-deletes-forward' now defaults to t.
-You won't notice any difference, unless you previously used the Delete
-key to delete backwards, despite the presence (according to Xlib) of a
-BackSpace key on the keyboard.
-
-If you have both a Delete and a Backspace key, then the BackSpace key
-will delete backwards, and the Delete key will delete forwards (by
-default). If you have only a Delete key (for example, you use an
-older DEC and Sun keyboard, or you use a Linux distribution which has
-both the keys labelled BackSpace and Delete (mistakenly?) generate a
-Delete keysym), the Delete key will continue to delete backwards. If
-you want the old behavior, just set the variable back to its old value
-nil.
+
+`delete-key-deletes-forward' is the variable that regulates the
+behaviour of the delete key on the systems that offer both a backspace
+and a delete key. If set to nil, the key labeled "Delete" will delete
+backward. If set to non-nil, the "Delete" key will delete forward,
+except on keyboards where a "Backspace" key is not provided.
+
+Unless our implementation has bugs, the only reason why you would want
+to set `delete-key-deletes-forward' to nil is if you want to use the
+Delete key to delete backwards, despite the presence (according to
+Xlib) of a BackSpace key on the keyboard.
** Interactive searching and matching case improvements.
@@ -144,8 +144,9 @@
** Lisp code handles circular lists much more robustly.
Many basic lisp functions used to loop forever when given a circular
-list. Now this is more likely to trigger a `circular-list' error.
-Printing a circular list now results in something like this:
+list, expecting you to C-g (quit) out of the loop. Now this is more
+likely to trigger a `circular-list' error. Printing a circular list
+now results in something like this:
(let ((x (cons 'foo 'foo)))
(setcdr x x)
@@ -153,8 +154,14 @@
=> (foo ... <circular list>)
An extra bonus is that checking for circularities is not just
-friendlier, but actually faster than checking for quit.
+friendlier, but actually faster than checking for C-g.
+
+** The new form `ignore-file-errors', similar to `ignore-errors' may
+be used as a short-hand for condition-case when you wish to ignore
+file-related error. For example:
+ (ignore-file-errors (delete-file "foo"))
+
** The arguments to `locate-file' are now much more "lispy". As
before, the usage is:
@@ -167,6 +174,30 @@
details.
Of course, the old form is still accepted for backward compatibility.
+
+** The `keywordp' function now returns non-nil only on symbols
+interned in the global obarray. For example:
+
+ (keywordp (intern ":foo" [0]))
+ => nil
+ (keywordp (intern ":foo")) ; The same as (keywordp :foo)
+ => t
+
+This behaviour is compatible with other code which treats symbols
+beginning with colon as keywords only if they are interned in the
+global obarray. `keyword' used to wrongly return t in both cases
+above.
+
+** The first argument to `intern-soft' may now also be a symbol, like
+with `unintern'. If given a symbol, `intern-soft' will look for that
+exact symbol rather than for any string. This is useful when you want
+to check whether a specific symbol is interned in an obarray, e.g.:
+
+ (intern "foo")
+ (intern-soft "foo")
+ => foo
+ (intern-soft (make-symbol "foo"))
+ => nil
** Functions for decoding base64 encoding are now available; see
`base64-encode-region', `base64-encode-string', `base64-decode-region'