master 02a92e481f7: Merge from origin/emacs-31
Eli Zaretskii <[email protected]> Sat, 11 Jul 2026 06:34:11 -0400 (EDT)
| Newsgroups | gmane.emacs.diffs |
|---|---|
| Message-ID | <[email protected]> |
branch: master commit 02a92e481f720c34fb40ee5f8cccd32e0afe3455 Merge: b22a3beb593 1e986295f4d Author: Eli Zaretskii <[email protected]> Commit: Eli Zaretskii <[email protected]> Merge from origin/emacs-31 1e986295f4d ; * etc/PROBLEMS (Android): Document problems with Leim (... af7f189e0ae ; Clarify documentation of 'define-globalized-minor-mode' 9ebc5b9d933 Ensure the correct current buffer in completions--backgro... --- doc/lispref/modes.texi | 5 +++++ etc/PROBLEMS | 12 ++++++++++++ lisp/minibuffer.el | 27 +++++++++++++++------------ 3 files changed, 32 insertions(+), 12 deletions(-) diff --git a/doc/lispref/modes.texi b/doc/lispref/modes.texi index a2cc2198108..28c12e35207 100644 --- a/doc/lispref/modes.texi +++ b/doc/lispref/modes.texi @@ -2004,6 +2004,11 @@ turn on the minor mode in a buffer, it uses the function function so it could determine whether to enable the minor mode or not when it is not a priori clear that it should always be enabled.) +Note that this is different from using @code{define-minor-mode} with the +@code{:global} keyword non-@code{nil}, in that the mode defined by this +macro is still buffer-local, it is just enabled in all (or some) +buffers. + Globally enabling the mode affects only those buffers subsequently created that use a major mode which follows the convention to run @code{run-mode-hooks}. The minor mode will not be enabled in those diff --git a/etc/PROBLEMS b/etc/PROBLEMS index 19172a8b211..8c88c9e391a 100644 --- a/etc/PROBLEMS +++ b/etc/PROBLEMS @@ -3930,6 +3930,18 @@ The organization of the Settings app might disagree with that illustrated above, which if true you should consult the documentation or any search mechanism for it. +** Emacs Input Methods don't work. + +When using the Android touchscreen keyboard, Emacs input methods set by +'C-\' don't work. This is because Android's virtual input methods +function by applying editing commands directly to Emacs buffers, which +circumvents and is not compatible with Emacs's character-centric input +methods. You can disable what the virtual input methods do by setting +'overriding-text-conversion-style' to nil rather than 'lambda', at the +cost of your virtual input method's own text editing aids, or (in some +cases) the ability to perform character composition or input CJK or +non-Latin scripts. + ** Emacs is not compatible with the "Microsoft SwiftKey" input method. When enabled, windows are repeatedly recentered around earlier buffer diff --git a/lisp/minibuffer.el b/lisp/minibuffer.el index 0ef28bd2558..74c7cd9baa2 100644 --- a/lisp/minibuffer.el +++ b/lisp/minibuffer.el @@ -2769,22 +2769,24 @@ is always true." (defvar completions--background-update-timer nil) -(defun completions--background-update (force-eager-update) +(defun completions--background-update (force-eager-update buffer) "Try to update *Completions* without blocking input. This function uses `while-no-input' and sets `non-essential' to t so that the update is less likely to interfere with user typing." (setq completions--background-update-timer nil) - (when (while-no-input - (let ((non-essential t)) - (redisplay) - (cond - (completion-in-region-mode (completion-help-at-point t)) - ((completions--should-show-p - (completion--field-metadata (minibuffer-prompt-end)) - force-eager-update) - (minibuffer-completion-help)))) - nil) + (when (and + (eq buffer (current-buffer)) + (while-no-input + (let ((non-essential t)) + (redisplay) + (cond + (completion-in-region-mode (completion-help-at-point t)) + ((completions--should-show-p + (completion--field-metadata (minibuffer-prompt-end)) + force-eager-update) + (minibuffer-completion-help)))) + nil)) ;; If we got interrupted, try again the next time the user is idle. (completions--start-background-update force-eager-update))) @@ -2802,7 +2804,8 @@ If FORCE-EAGER-UPDATE is non-nil, we only check eager-display." (unless completions--background-update-timer (setq completions--background-update-timer (run-with-idle-timer - 0 nil #'completions--background-update force-eager-update)))) + 0 nil #'completions--background-update + force-eager-update (current-buffer))))) (defun completions--start-eager-display () "Maybe display the *Completions* buffer when the user is next idle.