From 181fea4507be10c80981ff7fd650f7d6b82de039 Mon Sep 17 00:00:00 2001 From: Stefan Kangas Date: Thu, 31 Oct 2019 02:39:20 +0100 Subject: [PATCH] Make dired-get-subdir-min obsolete * lisp/dired.el (dired-get-subdir-min): Redefine as obsolete function alias for 'cdr'. (Bug#11571) (dired-get-subdir, dired-get-subdir-max, dired-clear-alist) (dired-next-subdir, dired-current-directory): * lisp/dired-aux.el (dired-rename-subdir-2) (dired-alist-sort, dired-insert-subdir-del) (dired-insert-subdir-doupdate, dired-goto-subdir) (dired-hide-subdir, dired-hide-all): Use 'cdr' instead of the above obsolete function. (dired-subdir-alist): Doc fix. --- lisp/dired-aux.el | 18 +++++++++--------- lisp/dired.el | 20 +++++++++++--------- 2 files changed, 20 insertions(+), 18 deletions(-) diff --git a/lisp/dired-aux.el b/lisp/dired-aux.el index 722d036e3f..184b507e1d 100644 --- a/lisp/dired-aux.el +++ b/lisp/dired-aux.el @@ -1728,7 +1728,7 @@ dired-rename-subdir-2 (let ((regexp (regexp-quote (directory-file-name dir))) (newtext (directory-file-name to)) buffer-read-only) - (goto-char (dired-get-subdir-min elt)) + (goto-char (cdr elt)) ;; Update subdir headerline in buffer (if (not (looking-at dired-subdir-regexp)) (error "%s not found where expected - dired-subdir-alist broken?" @@ -2491,8 +2491,8 @@ dired-alist-sort (setq dired-subdir-alist (sort dired-subdir-alist (lambda (elt1 elt2) - (> (dired-get-subdir-min elt1) - (dired-get-subdir-min elt2)))))) + (> (cdr elt1) + (cdr elt2)))))) (defun dired-kill-tree (dirname &optional remember-marks kill-root) "Kill all proper subdirs of DIRNAME, excluding DIRNAME itself. @@ -2535,7 +2535,7 @@ dired-insert-subdir-newpos (defun dired-insert-subdir-del (element) ;; Erase an already present subdir (given by ELEMENT) from buffer. ;; Move to that buffer position. Return a mark-alist. - (let ((begin-marker (dired-get-subdir-min element))) + (let ((begin-marker (cdr element))) (goto-char begin-marker) ;; Are at beginning of subdir (and inside it!). Now determine its end: (goto-char (dired-subdir-max)) @@ -2566,7 +2566,7 @@ dired-insert-subdir-doupdate ;; BEG-END is the subdir-region (as list of begin and end). (if elt ; subdir was already present ;; update its position (should actually be unchanged) - (set-marker (dired-get-subdir-min elt) (point-marker)) + (set-marker (cdr elt) (point-marker)) (dired-alist-add dirname (point-marker))) ;; The hook may depend on the subdir-alist containing the just ;; inserted subdir, so run it after dired-alist-add: @@ -2680,7 +2680,7 @@ dired-goto-subdir (setq dir (file-name-as-directory dir)) (let ((elt (assoc dir dired-subdir-alist))) (and elt - (goto-char (dired-get-subdir-min elt)) + (goto-char (cdr elt)) ;; dired-subdir-hidden-p and dired-add-entry depend on point being ;; at \n after this function succeeds. (progn (end-of-line) @@ -2778,7 +2778,7 @@ dired-hide-subdir (end-pos (1- (dired-get-subdir-max elt))) buffer-read-only) ;; keep header line visible, hide rest - (goto-char (dired-get-subdir-min elt)) + (goto-char (cdr elt)) (end-of-line) (if hidden-p (dired--unhide (point) end-pos) @@ -2797,14 +2797,14 @@ dired-hide-all ;; hide (let ((pos (point-max))) ; pos of end of last directory (dolist (subdir dired-subdir-alist) - (let ((start (dired-get-subdir-min subdir)) ; pos of prev dir + (let ((start (cdr subdir)) ; pos of prev dir (end (save-excursion (goto-char pos) ; current dir ;; we're somewhere on current dir's line (forward-line -1) (point)))) (dired--hide start end)) - (setq pos (dired-get-subdir-min subdir))))))) ; prev dir gets current dir + (setq pos (cdr subdir))))))) ; prev dir gets current dir ;;;###end dired-ins.el diff --git a/lisp/dired.el b/lisp/dired.el index 05789a3516..8939ea2d88 100644 --- a/lisp/dired.el +++ b/lisp/dired.el @@ -354,8 +354,11 @@ dired-re-dot ;; The subdirectory names in the next two lists are expanded. (defvar dired-subdir-alist nil - "Association list of subdirectories and their buffer positions. -Each subdirectory has an element: (DIRNAME . STARTMARKER). + "Alist of listed subdirectories and their buffer positions. +Alist elements have the form (DIRNAME . STARTMARKER), where +DIRNAME is the absolute name of the directory and STARTMARKER is +a marker at the beginning of DIRNAME. + The order of elements is the reverse of the order in the buffer. In simple cases, this list contains one element.") @@ -2857,21 +2860,20 @@ dired-get-subdir (let ((cur-dir (dired-current-directory))) (beginning-of-line) ; alist stores b-o-l positions (and (zerop (- (point) - (dired-get-subdir-min (assoc cur-dir + (cdr (assoc cur-dir dired-subdir-alist)))) cur-dir)))) -;; can't use macro, must be redefinable for other alist format in dired-nstd. -(defalias 'dired-get-subdir-min 'cdr) +(define-obsolete-function-alias 'dired-get-subdir-min 'cdr "27.1") (defun dired-get-subdir-max (elt) (save-excursion - (goto-char (dired-get-subdir-min elt)) + (goto-char (cdr elt)) (dired-subdir-max))) (defun dired-clear-alist () (while dired-subdir-alist - (set-marker (dired-get-subdir-min (car dired-subdir-alist)) nil) + (set-marker (cdr (car dired-subdir-alist)) nil) (setq dired-subdir-alist (cdr dired-subdir-alist)))) (defun dired-subdir-index (dir) @@ -2895,7 +2897,7 @@ dired-next-subdir ;; nth with negative arg does not return nil but the first element (setq index (- (dired-subdir-index this-dir) arg)) (setq pos (if (>= index 0) - (dired-get-subdir-min (nth index dired-subdir-alist)))) + (cdr (nth index dired-subdir-alist)))) (if pos (progn (goto-char pos) @@ -3116,7 +3118,7 @@ dired-current-directory (setq elt (car alist) dir (car elt) ;; use `<=' (not `<') as subdir line is part of subdir - alist (if (<= (dired-get-subdir-min elt) here) + alist (if (<= (cdr elt) here) nil ; found (cdr alist)))) (if localp -- 2.20.1