changeset 43139:22ff542d67ee

*** empty log message ***
author Richard M. Stallman <rms@gnu.org>
date Wed, 06 Feb 2002 15:44:48 +0000
parents a3df29430166
children d3e6cbd3895e
files etc/NEWS leim/ChangeLog lisp/ChangeLog src/ChangeLog
diffstat 4 files changed, 121 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/etc/NEWS	Wed Feb 06 15:44:28 2002 +0000
+++ b/etc/NEWS	Wed Feb 06 15:44:48 2002 +0000
@@ -416,6 +416,63 @@
 
 * Lisp Changes in Emacs 21.3
 
+** Atomic change groups.
+
+To perform some changes in the current buffer "atomically" so that
+they either all succeed or are all undone, use `atomic-change-group'
+around the code that makes changes.  For instance:
+
+  (atomic-change-group
+    (insert foo)
+    (delete-region x y))
+
+If an error (or other nonlocal exit) occurs inside the body of
+`atomic-change-group', it unmakes all the changes in that buffer that
+were during the execution of the body.  The change group has no effect
+on any other buffers--any such changes remain.
+
+If you need something more sophisticated, you can directly call the
+lower-level functions that `atomic-change-group' uses.  Here is how.
+
+To set up a change group for one buffer, call `prepare-change-group'.
+Specify the buffer as argument; it defaults to the current buffer.
+This function returns a "handle" for the change group.  You must save
+the handle to activate the change group and then finish it.
+
+Before you change the buffer again, you must activate the change
+group.  Pass the handle to `activate-change-group' afterward to
+do this.
+
+After you make the changes, you must finish the change group.  You can
+either accept the changes or cancel them all.  Call
+`accept-change-group' to accept the changes in the group as final;
+call `cancel-change-group' to undo them all.
+
+You should use `unwind-protect' to make sure the group is always
+finished.  The call to `activate-change-group' should be inside the
+`unwind-protect', in case the user types C-g just after it runs.
+(This is one reason why `prepare-change-group' and
+`activate-change-group' are separate functions.)  Once you finish the
+group, don't use the handle again--don't try to finish the same group
+twice.
+
+To make a multibuffer change group, call `prepare-change-group' once
+for each buffer you want to cover, then use `nconc' to combine the
+returned values, like this:
+
+  (nconc (prepare-change-group buffer-1)
+         (prepare-change-group buffer-2))
+
+You can then activate the multibuffer change group with a single call
+to `activate-change-group', and finish it with a single call to
+`accept-change-group' or `cancel-change-group'.
+
+Nested use of several change groups for the same buffer works as you
+would expect.  Non-nested use of change groups for the same buffer
+will lead to undesirable results, so don't let it happen; the first
+change group you start for any given buffer should be the last one
+finished.
+
 ** New function substring-no-properties.
 
 +++
--- a/leim/ChangeLog	Wed Feb 06 15:44:28 2002 +0000
+++ b/leim/ChangeLog	Wed Feb 06 15:44:48 2002 +0000
@@ -1,3 +1,8 @@
+2002-02-06  Richard M. Stallman  <rms@gnu.org>
+
+	* quail/latin-pre.el (french-prefix): ", " => "," and "~ " => "~".
+	Don't define "~," at all.
+
 2002-01-29  Pavel Jan,Bm(Bk  <Pavel@Janik.cz>
 
 	* quail/latin-pre.el (latin-2-prefix): Add ,BL(B and ,Bl(B.
--- a/lisp/ChangeLog	Wed Feb 06 15:44:28 2002 +0000
+++ b/lisp/ChangeLog	Wed Feb 06 15:44:48 2002 +0000
@@ -1,3 +1,58 @@
+2002-02-06  Richard M. Stallman  <rms@gnu.org>
+
+	* mail/mailabbrev.el: Require sendmail only at compile time.
+	(mail-mode-header-syntax-table): Var deleted.
+	(mail-abbrev-syntax-table): Init to nil, will compute when needed.
+	(sendmail-pre-abbrev-expand-hook): Only temporarily change
+	local-abbrev-table and the syntax table.
+	Compute mail-abbrev-syntax-table if that has not been done.
+
+	* progmodes/compile.el (grep-compute-defaults): Definition moved up.
+
+	* emacs-lisp/debug.el (debugger-frame-offset): Var deleted.
+	(debugger-frame-number): Figure out the offset directly.
+	(debugger-setup-buffer): Don't use debugger-frame-offset.
+	(debugger-frame, debugger-frame-clear): Likewise.
+	(debugger-jump): Don't alter debugger-frame-offset.
+
+	* emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine):
+	Replace foo-p as var name with foo-flag, not foo-p-flag.
+
+	* hilit-chg.el (highlight-changes-active-string): Default to +Chg.
+	(highlight-changes-passive-string): Default to -Chg.
+	(highlight-changes-global-modes): Doc fix.
+
+	* dired.el (dired-get-filename): Add /: when appropriate
+	to avoid taking a local name as remote.
+
+	* files.el (file-name-non-special): Add special handling for
+	file-name-sans-versions, file-name-completion, and
+	file-name-all-completions.
+
+	* isearch.el (isearch-update): Don't update display in kbd macro.
+	(isearch-lazy-highlight-new-loop): Do nothing in kbd macro.
+
+	* subr.el (force-mode-line-update): Doc fix.
+
+	* subr.el (atomic-change-group, prepare-change-group) 
+	(activate-change-group, accept-change-group, cancel-change-group):
+	New functions.
+
+	* simple.el (undo-get-state, undo-revert-to-state): Fns deleted.
+	(transpose-subr-1): Use atomic-change-group.
+
+	* subr.el (add-minor-mode): Include the mode's lighter string
+	in the minor mode menu item name.
+
+	* mail/rmail.el (rmail-toggle-header): Avoid possibly slow call to
+	rmail-count-screen-lines starting from (point-min).
+
+	* startup.el (use-fancy-splash-screens-p): Need 19 lines,
+	beyond the image height, to use the fancy splash screen.
+
+	* textmodes/text-mode.el (text-mode-hook-identify): Function deleted.
+	(text-mode): Set text-mode-variant here.
+
 2002-02-06  Eli Zaretskii  <eliz@is.elta.co.il>
 
 	* play/pong.el (pong-height): Don't use height that exceeds the
--- a/src/ChangeLog	Wed Feb 06 15:44:28 2002 +0000
+++ b/src/ChangeLog	Wed Feb 06 15:44:48 2002 +0000
@@ -1,3 +1,7 @@
+2002-02-06  Richard M. Stallman  <rms@gnu.org>
+
+	* filelock.c (S_ISLNK): Define if not defined.
+
 2002-02-03  Richard M. Stallman  <rms@gnu.org>
 
 	* fileio.c (Fdo_auto_save): Improve "auto save disabled" msg.