aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEli Zaretskii2024-07-13 08:44:49 -0400
committerEli Zaretskii2024-07-13 08:44:49 -0400
commit44ae4868d38acf7d8173be39c052b7fc9a7aaefa (patch)
treead05d0568f40b8c775c0e46f9309e7eea03aba8d
parent3a26a51c69b064546fd4647a94cdfc2656b201ec (diff)
parenta6c78ccf5f297e612ff0f2159a7bed3a70637168 (diff)
downloademacs-44ae4868d38acf7d8173be39c052b7fc9a7aaefa.tar.gz
emacs-44ae4868d38acf7d8173be39c052b7fc9a7aaefa.zip
Merge from origin/emacs-30
a6c78ccf5f2 ; * src/w32fns.c (Fw32_notification_close): Fix typo (bug... febafe37884 * test/lisp/wdired-tests.el (wdired-test-bug34915): Fix f... 846b79b6d02 Fix 'wdired-test-unfinished-edit-01' bc154cba130 ; * src/search.c (Fre_search_forward): Clarify doc string... 53291e3d46e Fontify destructor in c++-ts-mode d77f8a34750 Fix invalid defcustom type for erc-buffers option d68a4ea3ec6 ; Fix 'ibuffer-do-isearch{-regexp}' 8b1a0f8695a Fix infloop in 'shell-resync-dirs' ce13eee5ab7 ; * src/image.c (free_image_cache): Add assertion. (Bug#...
-rw-r--r--lisp/erc/erc.el3
-rw-r--r--lisp/ibuf-ext.el18
-rw-r--r--lisp/progmodes/c-ts-mode.el4
-rw-r--r--lisp/shell.el12
-rw-r--r--src/image.c3
-rw-r--r--src/search.c2
-rw-r--r--src/w32fns.c2
-rw-r--r--test/lisp/wdired-tests.el18
8 files changed, 35 insertions, 27 deletions
diff --git a/lisp/erc/erc.el b/lisp/erc/erc.el
index e9a7aef0ba8..118adb803c9 100644
--- a/lisp/erc/erc.el
+++ b/lisp/erc/erc.el
@@ -6033,8 +6033,7 @@ manner implied above, which was lost sometime before ERC 5.4."
6033 :group 'erc-buffers 6033 :group 'erc-buffers
6034 :group 'erc-query 6034 :group 'erc-query
6035 :type '(choice boolean 6035 :type '(choice boolean
6036 (choice :tag "Create pseudo queries for STATUSMSGs" 6036 (const :tag "Create pseudo queries for STATUSMSGs" status)))
6037 status)))
6038 6037
6039(defcustom erc-format-query-as-channel-p t 6038(defcustom erc-format-query-as-channel-p t
6040 "If non-nil, format text from others in a query buffer like in a channel. 6039 "If non-nil, format text from others in a query buffer like in a channel.
diff --git a/lisp/ibuf-ext.el b/lisp/ibuf-ext.el
index 95ff014aa5b..33b68b96ff2 100644
--- a/lisp/ibuf-ext.el
+++ b/lisp/ibuf-ext.el
@@ -594,22 +594,16 @@ To evaluate a form without viewing the buffer, see `ibuffer-do-eval'."
594 :modifier-p :maybe) 594 :modifier-p :maybe)
595 (revert-buffer t t)) 595 (revert-buffer t t))
596 596
597;;;###autoload (autoload 'ibuffer-do-isearch "ibuf-ext") 597;;;###autoload
598(define-ibuffer-op ibuffer-do-isearch () 598(defun ibuffer-do-isearch ()
599 "Perform a `isearch-forward' in marked buffers." 599 "Perform a `isearch-forward' in marked buffers."
600 (:interactive () 600 (interactive "" ibuffer-mode)
601 :opstring "searched in"
602 :complex t
603 :modifier-p :maybe)
604 (multi-isearch-buffers (ibuffer-get-marked-buffers))) 601 (multi-isearch-buffers (ibuffer-get-marked-buffers)))
605 602
606;;;###autoload (autoload 'ibuffer-do-isearch-regexp "ibuf-ext") 603;;;###autoload
607(define-ibuffer-op ibuffer-do-isearch-regexp () 604(defun ibuffer-do-isearch-regexp ()
608 "Perform a `isearch-forward-regexp' in marked buffers." 605 "Perform a `isearch-forward-regexp' in marked buffers."
609 (:interactive () 606 (interactive "" ibuffer-mode)
610 :opstring "searched regexp in"
611 :complex t
612 :modifier-p :maybe)
613 (multi-isearch-buffers-regexp (ibuffer-get-marked-buffers))) 607 (multi-isearch-buffers-regexp (ibuffer-get-marked-buffers)))
614 608
615;;;###autoload (autoload 'ibuffer-do-replace-regexp "ibuf-ext") 609;;;###autoload (autoload 'ibuffer-do-replace-regexp "ibuf-ext")
diff --git a/lisp/progmodes/c-ts-mode.el b/lisp/progmodes/c-ts-mode.el
index 31dd49dd00c..abc5f19c849 100644
--- a/lisp/progmodes/c-ts-mode.el
+++ b/lisp/progmodes/c-ts-mode.el
@@ -681,7 +681,9 @@ MODE is either `c' or `cpp'."
681 :language mode 681 :language mode
682 :feature 'definition 682 :feature 'definition
683 ;; Highlights identifiers in declarations. 683 ;; Highlights identifiers in declarations.
684 `((declaration 684 `(,@(when (eq mode 'cpp)
685 '((destructor_name (identifier) @font-lock-function-name-face)))
686 (declaration
685 declarator: (_) @c-ts-mode--fontify-declarator) 687 declarator: (_) @c-ts-mode--fontify-declarator)
686 688
687 (field_declaration 689 (field_declaration
diff --git a/lisp/shell.el b/lisp/shell.el
index e1936ff1119..4d92fe71df4 100644
--- a/lisp/shell.el
+++ b/lisp/shell.el
@@ -1255,7 +1255,7 @@ line output and parses it to form the new directory stack."
1255 (while dlsl 1255 (while dlsl
1256 (let ((newelt "") 1256 (let ((newelt "")
1257 tem1 tem2) 1257 tem1 tem2)
1258 (while newelt 1258 (while (and dlsl newelt)
1259 ;; We need tem1 because we don't want to prepend 1259 ;; We need tem1 because we don't want to prepend
1260 ;; `comint-file-name-prefix' repeatedly into newelt via tem2. 1260 ;; `comint-file-name-prefix' repeatedly into newelt via tem2.
1261 (setq tem1 (pop dlsl) 1261 (setq tem1 (pop dlsl)
@@ -1629,10 +1629,14 @@ Returns t if successful."
1629 ;; a newline). This is far from fool-proof -- if something 1629 ;; a newline). This is far from fool-proof -- if something
1630 ;; outputs incomplete data and then sleeps, we'll think 1630 ;; outputs incomplete data and then sleeps, we'll think
1631 ;; we've received the prompt. 1631 ;; we've received the prompt.
1632 (while (not (let* ((lines (string-lines result)) 1632 (while (not (let* ((lines (string-lines result nil t))
1633 (last (car (last lines)))) 1633 (last (car (last lines)))
1634 (last-end (if (equal last "")
1635 last
1636 (substring last -1))))
1634 (and (length> lines 0) 1637 (and (length> lines 0)
1635 (not (equal last "")) 1638 (not (member last '("" "\n")))
1639 (not (equal last-end "\n"))
1636 (or (not prev) 1640 (or (not prev)
1637 (not (equal last prev))) 1641 (not (equal last prev)))
1638 (setq prev last)))) 1642 (setq prev last))))
diff --git a/src/image.c b/src/image.c
index 2ee2f3245be..3d761bd48be 100644
--- a/src/image.c
+++ b/src/image.c
@@ -2306,6 +2306,9 @@ free_image_cache (struct frame *f)
2306 struct image_cache *c = FRAME_IMAGE_CACHE (f); 2306 struct image_cache *c = FRAME_IMAGE_CACHE (f);
2307 ptrdiff_t i; 2307 ptrdiff_t i;
2308 2308
2309 /* This function assumes the caller already verified that the frame's
2310 image cache is non-NULL. */
2311 eassert (c);
2309 /* Cache should not be referenced by any frame when freed. */ 2312 /* Cache should not be referenced by any frame when freed. */
2310 eassert (c->refcount == 0); 2313 eassert (c->refcount == 0);
2311 2314
diff --git a/src/search.c b/src/search.c
index dd813eda913..2ff8b0599c4 100644
--- a/src/search.c
+++ b/src/search.c
@@ -2279,7 +2279,7 @@ The optional second argument BOUND is a buffer position that bounds
2279 value of nil means search to the end of the accessible portion of 2279 value of nil means search to the end of the accessible portion of
2280 the buffer. 2280 the buffer.
2281The optional third argument NOERROR indicates how errors are handled 2281The optional third argument NOERROR indicates how errors are handled
2282 when the search fails. If it is nil or omitted, emit an error; if 2282 when the search fails: if it is nil or omitted, emit an error; if
2283 it is t, simply return nil and do nothing; if it is neither nil nor 2283 it is t, simply return nil and do nothing; if it is neither nil nor
2284 t, move to the limit of search and return nil. 2284 t, move to the limit of search and return nil.
2285The optional fourth argument COUNT is a number that indicates the 2285The optional fourth argument COUNT is a number that indicates the
diff --git a/src/w32fns.c b/src/w32fns.c
index 7fc2f598b3e..e5798fdd84f 100644
--- a/src/w32fns.c
+++ b/src/w32fns.c
@@ -10472,7 +10472,7 @@ DEFUN ("w32-notification-close",
10472{ 10472{
10473 struct frame *f = SELECTED_FRAME (); 10473 struct frame *f = SELECTED_FRAME ();
10474 10474
10475 if (FIXNUMP (id) && !pfnShell_NotifyIconW) 10475 if (FIXNUMP (id) && pfnShell_NotifyIconW)
10476 delete_tray_notification (f, XFIXNUM (id)); 10476 delete_tray_notification (f, XFIXNUM (id));
10477 10477
10478 return Qnil; 10478 return Qnil;
diff --git a/test/lisp/wdired-tests.el b/test/lisp/wdired-tests.el
index f7bff743058..7c7026354b8 100644
--- a/test/lisp/wdired-tests.el
+++ b/test/lisp/wdired-tests.el
@@ -114,7 +114,7 @@ wdired-mode."
114 (setq test-dir (file-truename test-dir)) 114 (setq test-dir (file-truename test-dir))
115 (let* ((test-file (concat (file-name-as-directory test-dir) "foo.c")) 115 (let* ((test-file (concat (file-name-as-directory test-dir) "foo.c"))
116 (replace "bar") 116 (replace "bar")
117 (new-file (string-replace "foo" replace test-file))) 117 (new-file (string-replace "/foo" (concat "/" replace) test-file)))
118 (write-region "" nil test-file nil 'silent) 118 (write-region "" nil test-file nil 'silent)
119 (let ((buf (find-file-noselect test-dir))) 119 (let ((buf (find-file-noselect test-dir)))
120 (unwind-protect 120 (unwind-protect
@@ -141,21 +141,27 @@ wdired-get-filename before and after editing."
141 ;; FIXME: Add a test for a door (indicator ">") only under Solaris? 141 ;; FIXME: Add a test for a door (indicator ">") only under Solaris?
142 (ert-with-temp-directory test-dir 142 (ert-with-temp-directory test-dir
143 (let* ((dired-listing-switches "-Fl") 143 (let* ((dired-listing-switches "-Fl")
144 (dired-ls-F-marks-symlinks (eq system-type 'darwin)) 144 (dired-ls-F-marks-symlinks
145 (or (eq system-type 'darwin)
146 (featurep 'ls-lisp)))
145 (buf (find-file-noselect test-dir)) 147 (buf (find-file-noselect test-dir))
146 proc) 148 proc)
147 (unwind-protect 149 (unwind-protect
148 (progn 150 (progn
149 (with-current-buffer buf 151 (with-current-buffer buf
150 (dired-create-empty-file "foo") 152 ;; Create a .bat file so that MS-Windows, where the 'x'
151 (set-file-modes "foo" (file-modes-symbolic-to-number "+x")) 153 ;; bit is not recorded in the filesystem, considers it an
154 ;; executable.
155 (dired-create-empty-file "foo.bat")
156 (set-file-modes "foo.bat" (file-modes-symbolic-to-number "+x"))
152 (skip-unless 157 (skip-unless
153 ;; This check is for wdired, not symbolic links, so skip 158 ;; This check is for wdired, not symbolic links, so skip
154 ;; it when make-symbolic-link fails for any reason (like 159 ;; it when make-symbolic-link fails for any reason (like
155 ;; insufficient privileges). 160 ;; insufficient privileges).
156 (ignore-errors (make-symbolic-link "foo" "bar") t)) 161 (ignore-errors (make-symbolic-link "foo.bat" "bar") t))
157 (make-directory "foodir") 162 (make-directory "foodir")
158 (dired-smart-shell-command "mkfifo foopipe") 163 (unless (memq system-type '(windows-nt ms-dos))
164 (dired-smart-shell-command "mkfifo foopipe"))
159 (when (featurep 'make-network-process '(:family local)) 165 (when (featurep 'make-network-process '(:family local))
160 (setq proc (make-network-process 166 (setq proc (make-network-process
161 :name "foo" 167 :name "foo"