Merge from origin/emacs-30

a6c78ccf5f ; * src/w32fns.c (Fw32_notification_close): Fix typo (bug...
febafe3788 * test/lisp/wdired-tests.el (wdired-test-bug34915): Fix f...
846b79b6d0 Fix 'wdired-test-unfinished-edit-01'
bc154cba13 ; * src/search.c (Fre_search_forward): Clarify doc string...
53291e3d46 Fontify destructor in c++-ts-mode
d77f8a3475 Fix invalid defcustom type for erc-buffers option
d68a4ea3ec ; Fix 'ibuffer-do-isearch{-regexp}'
8b1a0f8695 Fix infloop in 'shell-resync-dirs'
ce13eee5ab ; * src/image.c (free_image_cache): Add assertion.  (Bug#...
This commit is contained in:
Eli Zaretskii 2024-07-13 08:44:49 -04:00
commit 44ae4868d3
8 changed files with 35 additions and 27 deletions

View file

@ -6033,8 +6033,7 @@ manner implied above, which was lost sometime before ERC 5.4."
:group 'erc-buffers
:group 'erc-query
:type '(choice boolean
(choice :tag "Create pseudo queries for STATUSMSGs"
status)))
(const :tag "Create pseudo queries for STATUSMSGs" status)))
(defcustom erc-format-query-as-channel-p t
"If non-nil, format text from others in a query buffer like in a channel.

View file

@ -594,22 +594,16 @@ To evaluate a form without viewing the buffer, see `ibuffer-do-eval'."
:modifier-p :maybe)
(revert-buffer t t))
;;;###autoload (autoload 'ibuffer-do-isearch "ibuf-ext")
(define-ibuffer-op ibuffer-do-isearch ()
;;;###autoload
(defun ibuffer-do-isearch ()
"Perform a `isearch-forward' in marked buffers."
(:interactive ()
:opstring "searched in"
:complex t
:modifier-p :maybe)
(interactive "" ibuffer-mode)
(multi-isearch-buffers (ibuffer-get-marked-buffers)))
;;;###autoload (autoload 'ibuffer-do-isearch-regexp "ibuf-ext")
(define-ibuffer-op ibuffer-do-isearch-regexp ()
;;;###autoload
(defun ibuffer-do-isearch-regexp ()
"Perform a `isearch-forward-regexp' in marked buffers."
(:interactive ()
:opstring "searched regexp in"
:complex t
:modifier-p :maybe)
(interactive "" ibuffer-mode)
(multi-isearch-buffers-regexp (ibuffer-get-marked-buffers)))
;;;###autoload (autoload 'ibuffer-do-replace-regexp "ibuf-ext")

View file

@ -681,7 +681,9 @@ MODE is either `c' or `cpp'."
:language mode
:feature 'definition
;; Highlights identifiers in declarations.
`((declaration
`(,@(when (eq mode 'cpp)
'((destructor_name (identifier) @font-lock-function-name-face)))
(declaration
declarator: (_) @c-ts-mode--fontify-declarator)
(field_declaration

View file

@ -1255,7 +1255,7 @@ line output and parses it to form the new directory stack."
(while dlsl
(let ((newelt "")
tem1 tem2)
(while newelt
(while (and dlsl newelt)
;; We need tem1 because we don't want to prepend
;; `comint-file-name-prefix' repeatedly into newelt via tem2.
(setq tem1 (pop dlsl)
@ -1629,10 +1629,14 @@ Returns t if successful."
;; a newline). This is far from fool-proof -- if something
;; outputs incomplete data and then sleeps, we'll think
;; we've received the prompt.
(while (not (let* ((lines (string-lines result))
(last (car (last lines))))
(while (not (let* ((lines (string-lines result nil t))
(last (car (last lines)))
(last-end (if (equal last "")
last
(substring last -1))))
(and (length> lines 0)
(not (equal last ""))
(not (member last '("" "\n")))
(not (equal last-end "\n"))
(or (not prev)
(not (equal last prev)))
(setq prev last))))

View file

@ -2306,6 +2306,9 @@ free_image_cache (struct frame *f)
struct image_cache *c = FRAME_IMAGE_CACHE (f);
ptrdiff_t i;
/* This function assumes the caller already verified that the frame's
image cache is non-NULL. */
eassert (c);
/* Cache should not be referenced by any frame when freed. */
eassert (c->refcount == 0);

View file

@ -2279,7 +2279,7 @@ The optional second argument BOUND is a buffer position that bounds
value of nil means search to the end of the accessible portion of
the buffer.
The optional third argument NOERROR indicates how errors are handled
when the search fails. If it is nil or omitted, emit an error; if
when the search fails: if it is nil or omitted, emit an error; if
it is t, simply return nil and do nothing; if it is neither nil nor
t, move to the limit of search and return nil.
The optional fourth argument COUNT is a number that indicates the

View file

@ -10472,7 +10472,7 @@ DEFUN ("w32-notification-close",
{
struct frame *f = SELECTED_FRAME ();
if (FIXNUMP (id) && !pfnShell_NotifyIconW)
if (FIXNUMP (id) && pfnShell_NotifyIconW)
delete_tray_notification (f, XFIXNUM (id));
return Qnil;

View file

@ -114,7 +114,7 @@ wdired-mode."
(setq test-dir (file-truename test-dir))
(let* ((test-file (concat (file-name-as-directory test-dir) "foo.c"))
(replace "bar")
(new-file (string-replace "foo" replace test-file)))
(new-file (string-replace "/foo" (concat "/" replace) test-file)))
(write-region "" nil test-file nil 'silent)
(let ((buf (find-file-noselect test-dir)))
(unwind-protect
@ -141,21 +141,27 @@ wdired-get-filename before and after editing."
;; FIXME: Add a test for a door (indicator ">") only under Solaris?
(ert-with-temp-directory test-dir
(let* ((dired-listing-switches "-Fl")
(dired-ls-F-marks-symlinks (eq system-type 'darwin))
(dired-ls-F-marks-symlinks
(or (eq system-type 'darwin)
(featurep 'ls-lisp)))
(buf (find-file-noselect test-dir))
proc)
(unwind-protect
(progn
(with-current-buffer buf
(dired-create-empty-file "foo")
(set-file-modes "foo" (file-modes-symbolic-to-number "+x"))
;; Create a .bat file so that MS-Windows, where the 'x'
;; bit is not recorded in the filesystem, considers it an
;; executable.
(dired-create-empty-file "foo.bat")
(set-file-modes "foo.bat" (file-modes-symbolic-to-number "+x"))
(skip-unless
;; This check is for wdired, not symbolic links, so skip
;; it when make-symbolic-link fails for any reason (like
;; insufficient privileges).
(ignore-errors (make-symbolic-link "foo" "bar") t))
(ignore-errors (make-symbolic-link "foo.bat" "bar") t))
(make-directory "foodir")
(dired-smart-shell-command "mkfifo foopipe")
(unless (memq system-type '(windows-nt ms-dos))
(dired-smart-shell-command "mkfifo foopipe"))
(when (featurep 'make-network-process '(:family local))
(setq proc (make-network-process
:name "foo"