Merge from savannah/emacs-30

7dcf9b71e6 ; Don't document package-x.el
a5fd518d52 ; Document spurious warnings on macOS 15
625ed68aea Fix the use of xref-window-local-history together with Xr...
8091772767 completing-read-multiple: Fix support for ":" as separator
38cc36a375 ; Improve docstring of cl-check-type
This commit is contained in:
Po Lu 2025-03-04 14:32:33 +08:00
commit 9daab9be34
5 changed files with 45 additions and 15 deletions

View file

@ -332,7 +332,7 @@ them using a cryptographic key. If you have generated a
private/public gpg key pair, you can use gpg to sign the package like
this:
@c FIXME EasyPG / package-x way to do this.
@c FIXME EasyPG way to do this.
@example
gpg -ba -o @var{file}.sig @var{file}
@end example

View file

@ -3484,6 +3484,22 @@ for further discussion.
* Runtime problems specific to macOS
** Spurious warnings on macOS 15.
When starting Emacs from the terminal, the following warnings are
displayed:
2024-09-20 14:24:58.583 emacs[23293:150402] +[IMKClient subclass]: chose IMKClient_Legacy
2024-09-20 14:24:58.583 emacs[23293:150402] +[IMKInputSession subclass]:chose IMKInputSession_Legacy
As far as we can tell, this is harmless, and affects other software too.
Our understanding is that this is a bug in macOS 15, and should be
reported to and fixed by Apple.
For more information, see:
https://discussions.apple.com/thread/255761734?sortBy=rank
** Error message about malicious software when opening Emacs on macOS
When opening Emacs, you may see an error message saying something like

View file

@ -3576,7 +3576,10 @@ Of course, we really can't know that for sure, so it's just a heuristic."
;;;###autoload
(defmacro cl-check-type (form type &optional string)
"Verify that FORM is of type TYPE; signal an error if not.
STRING is an optional description of the desired type."
STRING is an optional description of the desired type.
Hint: To check the type of an object, use `cl-type-of'.
To define new types, see `cl-deftype'."
(declare (debug (place cl-type-spec &optional stringp)))
(and (or (not (macroexp-compiling-p))
(< cl--optimize-speed 3) (= cl--optimize-safety 3))

View file

@ -269,7 +269,9 @@ with empty strings removed."
(setq-local completion-list-insert-choice-function
(lambda (_start _end choice)
(let* ((beg (save-excursion
(if (search-backward-regexp crm-separator nil t)
(if (search-backward-regexp crm-separator
(field-beginning)
t)
(1+ (point))
(minibuffer-prompt-end))))
(end (save-excursion

View file

@ -1521,31 +1521,40 @@ The meanings of both arguments are the same as documented in
xrefs
(setq xrefs 'called-already)))))))
(let ((cb (current-buffer))
(pt (point)))
(pt (point))
(win (selected-window)))
(prog1
(funcall xref-show-xrefs-function fetcher
`((window . ,(selected-window))
`((window . ,win)
(display-action . ,display-action)
(auto-jump . ,xref-auto-jump-to-first-xref)))
(xref--push-markers cb pt))))
(xref--push-markers cb pt win))))
(defun xref--show-defs (xrefs display-action)
(let ((cb (current-buffer))
(pt (point)))
(pt (point))
(win (selected-window)))
(prog1
(funcall xref-show-definitions-function xrefs
`((window . ,(selected-window))
`((window . ,win)
(display-action . ,display-action)
(auto-jump . ,xref-auto-jump-to-first-definition)))
(xref--push-markers cb pt))))
(xref--push-markers cb pt win))))
(defun xref--push-markers (buf pt)
(defun xref--push-markers (buf pt win)
(when (buffer-live-p buf)
(save-excursion
(with-no-warnings (set-buffer buf))
(goto-char pt)
(unless (region-active-p) (push-mark nil t))
(xref-push-marker-stack))))
;; This was we support the `xref-history-storage' getter which
;; depends on the selected window. This is getting pretty complex,
;; though. The alternative approach to try would be to push early
;; but undo the stack insertion and mark-pushing in error handler.
(save-window-excursion
(when (window-live-p win)
(select-window win))
(save-excursion
(with-no-warnings (set-buffer buf))
(goto-char pt)
(unless (region-active-p) (push-mark nil t))
(xref-push-marker-stack)))))
(defun xref--prompt-p (command)
(or (eq xref-prompt-for-identifier t)