From 6b479f201cf681c3a04f5f6105b6b09a4ec8d479 Mon Sep 17 00:00:00 2001 From: Stephen Berman Date: Mon, 13 Apr 2026 20:21:13 +0200 Subject: [PATCH] ; Another fix for recent 'dired-readin-insert' change * lisp/dired.el (dired-readin-insert): Restore point after searching for Dired buffer entry of 'ls' error file (bug#80499). --- lisp/dired.el | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/lisp/dired.el b/lisp/dired.el index 3a5a9a3a525..9b7b1271e66 100644 --- a/lisp/dired.el +++ b/lisp/dired.el @@ -1628,14 +1628,17 @@ wildcards, erases the buffer, and builds the subdir-alist anew (let ((tmpbuf (dired-find-buffer-nocreate temporary-file-directory))) (when tmpbuf (with-current-buffer tmpbuf - (widen) - (goto-char (point-min)) - (when (search-forward (file-name-base dired--ls-error-file) nil t) - ;; The call chain of `dired-remove-entry' requires non-nil - ;; `dired-subdir-alist', but here it is nil, so we set it. - (let ((dired-subdir-alist `((,temporary-file-directory - . ,(point-min-marker))))) - (dired-remove-entry dired--ls-error-file))))))))) + (save-excursion + (without-restriction + (goto-char (point-min)) + (when (search-forward + (file-name-base dired--ls-error-file) nil t) + ;; The call chain of `dired-remove-entry' requires + ;; non-nil `dired-subdir-alist', but here it is nil, + ;; so we set it. + (let ((dired-subdir-alist `((,temporary-file-directory + . ,(point-min-marker))))) + (dired-remove-entry dired--ls-error-file))))))))))) (defun dired-align-file (beg end) "Align the fields of a file to the ones of surrounding lines.