aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPo Lu2025-03-04 14:32:33 +0800
committerPo Lu2025-03-04 14:32:33 +0800
commit9daab9be343f930c8db4c33881abc96e65c01bd7 (patch)
tree3274add08d7cbee7a34d91091c0ce71b1167216e
parent9415941a9c65b72a3bc20ae0ec1765f3c0ed657d (diff)
parent7dcf9b71e6ffc0cc92d2d504b1428c3ab432a028 (diff)
downloademacs-9daab9be343f930c8db4c33881abc96e65c01bd7.tar.gz
emacs-9daab9be343f930c8db4c33881abc96e65c01bd7.zip
Merge from savannah/emacs-30
7dcf9b71e6f ; Don't document package-x.el a5fd518d524 ; Document spurious warnings on macOS 15 625ed68aeaa Fix the use of xref-window-local-history together with Xr... 80917727676 completing-read-multiple: Fix support for ":" as separator 38cc36a3753 ; Improve docstring of cl-check-type
-rw-r--r--doc/lispref/package.texi2
-rw-r--r--etc/PROBLEMS16
-rw-r--r--lisp/emacs-lisp/cl-macs.el5
-rw-r--r--lisp/emacs-lisp/crm.el4
-rw-r--r--lisp/progmodes/xref.el33
5 files changed, 45 insertions, 15 deletions
diff --git a/doc/lispref/package.texi b/doc/lispref/package.texi
index 8fc1572fae8..c96c2f5d234 100644
--- a/doc/lispref/package.texi
+++ b/doc/lispref/package.texi
@@ -332,7 +332,7 @@ them using a cryptographic key. If you have generated a
332private/public gpg key pair, you can use gpg to sign the package like 332private/public gpg key pair, you can use gpg to sign the package like
333this: 333this:
334 334
335@c FIXME EasyPG / package-x way to do this. 335@c FIXME EasyPG way to do this.
336@example 336@example
337gpg -ba -o @var{file}.sig @var{file} 337gpg -ba -o @var{file}.sig @var{file}
338@end example 338@end example
diff --git a/etc/PROBLEMS b/etc/PROBLEMS
index 5fdb4bd95db..b8d00b7679e 100644
--- a/etc/PROBLEMS
+++ b/etc/PROBLEMS
@@ -3484,6 +3484,22 @@ for further discussion.
3484 3484
3485* Runtime problems specific to macOS 3485* Runtime problems specific to macOS
3486 3486
3487** Spurious warnings on macOS 15.
3488
3489When starting Emacs from the terminal, the following warnings are
3490displayed:
3491
34922024-09-20 14:24:58.583 emacs[23293:150402] +[IMKClient subclass]: chose IMKClient_Legacy
34932024-09-20 14:24:58.583 emacs[23293:150402] +[IMKInputSession subclass]:chose IMKInputSession_Legacy
3494
3495As far as we can tell, this is harmless, and affects other software too.
3496Our understanding is that this is a bug in macOS 15, and should be
3497reported to and fixed by Apple.
3498
3499For more information, see:
3500https://discussions.apple.com/thread/255761734?sortBy=rank
3501
3502
3487** Error message about malicious software when opening Emacs on macOS 3503** Error message about malicious software when opening Emacs on macOS
3488 3504
3489When opening Emacs, you may see an error message saying something like 3505When opening Emacs, you may see an error message saying something like
diff --git a/lisp/emacs-lisp/cl-macs.el b/lisp/emacs-lisp/cl-macs.el
index 8673b360319..d3d4524028d 100644
--- a/lisp/emacs-lisp/cl-macs.el
+++ b/lisp/emacs-lisp/cl-macs.el
@@ -3576,7 +3576,10 @@ Of course, we really can't know that for sure, so it's just a heuristic."
3576;;;###autoload 3576;;;###autoload
3577(defmacro cl-check-type (form type &optional string) 3577(defmacro cl-check-type (form type &optional string)
3578 "Verify that FORM is of type TYPE; signal an error if not. 3578 "Verify that FORM is of type TYPE; signal an error if not.
3579STRING is an optional description of the desired type." 3579STRING is an optional description of the desired type.
3580
3581Hint: To check the type of an object, use `cl-type-of'.
3582To define new types, see `cl-deftype'."
3580 (declare (debug (place cl-type-spec &optional stringp))) 3583 (declare (debug (place cl-type-spec &optional stringp)))
3581 (and (or (not (macroexp-compiling-p)) 3584 (and (or (not (macroexp-compiling-p))
3582 (< cl--optimize-speed 3) (= cl--optimize-safety 3)) 3585 (< cl--optimize-speed 3) (= cl--optimize-safety 3))
diff --git a/lisp/emacs-lisp/crm.el b/lisp/emacs-lisp/crm.el
index 676252ae126..a75ccd46f50 100644
--- a/lisp/emacs-lisp/crm.el
+++ b/lisp/emacs-lisp/crm.el
@@ -269,7 +269,9 @@ with empty strings removed."
269 (setq-local completion-list-insert-choice-function 269 (setq-local completion-list-insert-choice-function
270 (lambda (_start _end choice) 270 (lambda (_start _end choice)
271 (let* ((beg (save-excursion 271 (let* ((beg (save-excursion
272 (if (search-backward-regexp crm-separator nil t) 272 (if (search-backward-regexp crm-separator
273 (field-beginning)
274 t)
273 (1+ (point)) 275 (1+ (point))
274 (minibuffer-prompt-end)))) 276 (minibuffer-prompt-end))))
275 (end (save-excursion 277 (end (save-excursion
diff --git a/lisp/progmodes/xref.el b/lisp/progmodes/xref.el
index a318d3393ed..f37053a6327 100644
--- a/lisp/progmodes/xref.el
+++ b/lisp/progmodes/xref.el
@@ -1521,31 +1521,40 @@ The meanings of both arguments are the same as documented in
1521 xrefs 1521 xrefs
1522 (setq xrefs 'called-already))))))) 1522 (setq xrefs 'called-already)))))))
1523 (let ((cb (current-buffer)) 1523 (let ((cb (current-buffer))
1524 (pt (point))) 1524 (pt (point))
1525 (win (selected-window)))
1525 (prog1 1526 (prog1
1526 (funcall xref-show-xrefs-function fetcher 1527 (funcall xref-show-xrefs-function fetcher
1527 `((window . ,(selected-window)) 1528 `((window . ,win)
1528 (display-action . ,display-action) 1529 (display-action . ,display-action)
1529 (auto-jump . ,xref-auto-jump-to-first-xref))) 1530 (auto-jump . ,xref-auto-jump-to-first-xref)))
1530 (xref--push-markers cb pt)))) 1531 (xref--push-markers cb pt win))))
1531 1532
1532(defun xref--show-defs (xrefs display-action) 1533(defun xref--show-defs (xrefs display-action)
1533 (let ((cb (current-buffer)) 1534 (let ((cb (current-buffer))
1534 (pt (point))) 1535 (pt (point))
1536 (win (selected-window)))
1535 (prog1 1537 (prog1
1536 (funcall xref-show-definitions-function xrefs 1538 (funcall xref-show-definitions-function xrefs
1537 `((window . ,(selected-window)) 1539 `((window . ,win)
1538 (display-action . ,display-action) 1540 (display-action . ,display-action)
1539 (auto-jump . ,xref-auto-jump-to-first-definition))) 1541 (auto-jump . ,xref-auto-jump-to-first-definition)))
1540 (xref--push-markers cb pt)))) 1542 (xref--push-markers cb pt win))))
1541 1543
1542(defun xref--push-markers (buf pt) 1544(defun xref--push-markers (buf pt win)
1543 (when (buffer-live-p buf) 1545 (when (buffer-live-p buf)
1544 (save-excursion 1546 ;; This was we support the `xref-history-storage' getter which
1545 (with-no-warnings (set-buffer buf)) 1547 ;; depends on the selected window. This is getting pretty complex,
1546 (goto-char pt) 1548 ;; though. The alternative approach to try would be to push early
1547 (unless (region-active-p) (push-mark nil t)) 1549 ;; but undo the stack insertion and mark-pushing in error handler.
1548 (xref-push-marker-stack)))) 1550 (save-window-excursion
1551 (when (window-live-p win)
1552 (select-window win))
1553 (save-excursion
1554 (with-no-warnings (set-buffer buf))
1555 (goto-char pt)
1556 (unless (region-active-p) (push-mark nil t))
1557 (xref-push-marker-stack)))))
1549 1558
1550(defun xref--prompt-p (command) 1559(defun xref--prompt-p (command)
1551 (or (eq xref-prompt-for-identifier t) 1560 (or (eq xref-prompt-for-identifier t)