diff options
| author | Po Lu | 2025-03-04 14:32:33 +0800 |
|---|---|---|
| committer | Po Lu | 2025-03-04 14:32:33 +0800 |
| commit | 9daab9be343f930c8db4c33881abc96e65c01bd7 (patch) | |
| tree | 3274add08d7cbee7a34d91091c0ce71b1167216e | |
| parent | 9415941a9c65b72a3bc20ae0ec1765f3c0ed657d (diff) | |
| parent | 7dcf9b71e6ffc0cc92d2d504b1428c3ab432a028 (diff) | |
| download | emacs-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.texi | 2 | ||||
| -rw-r--r-- | etc/PROBLEMS | 16 | ||||
| -rw-r--r-- | lisp/emacs-lisp/cl-macs.el | 5 | ||||
| -rw-r--r-- | lisp/emacs-lisp/crm.el | 4 | ||||
| -rw-r--r-- | lisp/progmodes/xref.el | 33 |
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 | |||
| 332 | private/public gpg key pair, you can use gpg to sign the package like | 332 | private/public gpg key pair, you can use gpg to sign the package like |
| 333 | this: | 333 | this: |
| 334 | 334 | ||
| 335 | @c FIXME EasyPG / package-x way to do this. | 335 | @c FIXME EasyPG way to do this. |
| 336 | @example | 336 | @example |
| 337 | gpg -ba -o @var{file}.sig @var{file} | 337 | gpg -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 | |||
| 3489 | When starting Emacs from the terminal, the following warnings are | ||
| 3490 | displayed: | ||
| 3491 | |||
| 3492 | 2024-09-20 14:24:58.583 emacs[23293:150402] +[IMKClient subclass]: chose IMKClient_Legacy | ||
| 3493 | 2024-09-20 14:24:58.583 emacs[23293:150402] +[IMKInputSession subclass]:chose IMKInputSession_Legacy | ||
| 3494 | |||
| 3495 | As far as we can tell, this is harmless, and affects other software too. | ||
| 3496 | Our understanding is that this is a bug in macOS 15, and should be | ||
| 3497 | reported to and fixed by Apple. | ||
| 3498 | |||
| 3499 | For more information, see: | ||
| 3500 | https://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 | ||
| 3489 | When opening Emacs, you may see an error message saying something like | 3505 | When 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. |
| 3579 | STRING is an optional description of the desired type." | 3579 | STRING is an optional description of the desired type. |
| 3580 | |||
| 3581 | Hint: To check the type of an object, use `cl-type-of'. | ||
| 3582 | To 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) |