*** empty log message ***
This commit is contained in:
parent
fa5c314daa
commit
108eaabb6b
4 changed files with 121 additions and 0 deletions
57
etc/NEWS
57
etc/NEWS
|
@ -416,6 +416,63 @@ SQL buffer.
|
|||
|
||||
* 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.
|
||||
|
||||
+++
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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.
|
||||
|
|
Loading…
Add table
Reference in a new issue