Merge from savannah/emacs-30

1b4c562721 Fix latent side-effects of respecting field boundaries in...
e4046f33ab ; * lisp/simple.el (undo-auto--boundaries): Doc fix (bug#...
008eeb21fd ; * lisp/language/cyrillic.el: Delete obsolete commentary...
680155d3f0 Add missing builtin package declarations
This commit is contained in:
Po Lu 2024-06-25 11:38:01 +08:00
commit 34e2adc699
8 changed files with 23 additions and 22 deletions

View file

@ -3,6 +3,7 @@
;; Copyright (C) 2011-2024 Free Software Foundation, Inc.
;; Author: EditorConfig Team <editorconfig@googlegroups.com>
;; Package: editorconfig
;; See
;; https://github.com/editorconfig/editorconfig-emacs/graphs/contributors or

View file

@ -3,6 +3,7 @@
;; Copyright (C) 2011-2024 Free Software Foundation, Inc.
;; Author: EditorConfig Team <editorconfig@googlegroups.com>
;; Package: editorconfig
;; See
;; https://github.com/editorconfig/editorconfig-emacs/graphs/contributors or

View file

@ -3,6 +3,7 @@
;; Copyright (C) 2011-2024 Free Software Foundation, Inc.
;; Author: EditorConfig Team <editorconfig@googlegroups.com>
;; Package: editorconfig
;; See
;; https://github.com/editorconfig/editorconfig-emacs/graphs/contributors or

View file

@ -3,6 +3,7 @@
;; Copyright (C) 2011-2024 Free Software Foundation, Inc.
;; Author: EditorConfig Team <editorconfig@googlegroups.com>
;; Package: editorconfig
;; See
;; https://github.com/editorconfig/editorconfig-emacs/graphs/contributors or

View file

@ -3,6 +3,7 @@
;; Copyright (C) 2011-2024 Free Software Foundation, Inc.
;; Author: EditorConfig Team <editorconfig@googlegroups.com>
;; Package: editorconfig
;; See
;; https://github.com/editorconfig/editorconfig-emacs/graphs/contributors or

View file

@ -33,23 +33,12 @@
;; are converted to Unicode internally. See
;; <URL:http://www.ecma.ch/ecma1/STAND/ECMA-113.HTM>. For more info
;; on Cyrillic charsets, see
;; <URL:https://czyborra.com/charsets/cyrillic.html>. The KOI and
;; Alternativnyj coding systems should live in code-pages.el, but
;; they've always been preloaded and the coding system autoload
;; mechanism didn't get accepted, so they have to stay here and
;; duplicate code-pages stuff.
;; <URL:https://czyborra.com/charsets/cyrillic.html>.
;; Note that 8859-5 maps directly onto the Unicode Cyrillic block,
;; apart from codepoints 160 (NBSP, c.f. U+0400), 173 (soft hyphen,
;; c.f. U+04OD) and 253 (section sign, c.f U+045D). The KOI-8 and
;; Alternativnyj coding systems encode both 8859-5 and Unicode.
;; ucs-tables.el provides unification for cyrillic-iso-8bit.
;; Customizing `utf-fragment-on-decoding' allows decoding characters
;; from KOI and Alternativnyj into 8859-5 where that's possible.
;; cyrillic-iso8859-5 characters take half as much space in the buffer
;; as the mule-unicode-0100-24ff equivalents, though that's probably
;; not normally a big deal.
;;; Code:

View file

@ -4061,7 +4061,7 @@ REASON describes the reason that the boundary is being added; see
(defun undo-auto--boundaries (cause)
"Check recently changed buffers and add a boundary if necessary.
REASON describes the reason that the boundary is being added; see
`undo-last-boundary' for more information."
`undo-auto--last-boundary-cause' for more information."
;; (Bug #23785) All commands should ensure that there is an undo
;; boundary whether they have changed the current buffer or not.
(when (eq cause 'command)

View file

@ -153,6 +153,15 @@ select_window (Lisp_Object window, Lisp_Object norecord)
Fselect_window (window, norecord);
}
/* Restore the selected window WINDOW. */
static void
restore_selected_window (Lisp_Object window)
{
/* FIXME: not sure what to do if WINDOW has been deleted. */
select_window (window, Qt);
}
/* Perform the text conversion operation specified in QUERY and return
the results.
@ -188,6 +197,7 @@ textconv_query (struct frame *f, struct textconv_callback_struct *query,
selected window. */
count = SPECPDL_INDEX ();
record_unwind_protect_excursion ();
record_unwind_protect (restore_selected_window, selected_window);
/* Inhibit quitting. */
specbind (Qinhibit_quit, Qt);
@ -586,15 +596,6 @@ detect_conversion_events (void)
return false;
}
/* Restore the selected window WINDOW. */
static void
restore_selected_window (Lisp_Object window)
{
/* FIXME: not sure what to do if WINDOW has been deleted. */
select_window (window, Qt);
}
/* Commit the given text in the composing region. If there is no
composing region, then insert the text after frame F's selected
window's last point instead, unless the mark is active. Finally,
@ -1138,6 +1139,10 @@ locate_and_save_position_in_field (struct frame *f, struct window *w,
/* Set the current buffer to W's. */
count = SPECPDL_INDEX ();
/* The current buffer must be saved, not merely the selected
window. */
record_unwind_protect_excursion ();
record_unwind_protect (restore_selected_window, selected_window);
XSETWINDOW (window, w);
select_window (window, Qt);
@ -2097,6 +2102,7 @@ get_extracted_text (struct frame *f, ptrdiff_t n,
selected window. */
count = SPECPDL_INDEX ();
record_unwind_protect_excursion ();
record_unwind_protect (restore_selected_window, selected_window);
/* Inhibit quitting. */
specbind (Qinhibit_quit, Qt);
@ -2219,6 +2225,7 @@ get_surrounding_text (struct frame *f, ptrdiff_t left,
selected window. */
count = SPECPDL_INDEX ();
record_unwind_protect_excursion ();
record_unwind_protect (restore_selected_window, selected_window);
/* Inhibit quitting. */
specbind (Qinhibit_quit, Qt);