[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

master 0154e41: Make dired-get-subdir-min obsolete

From: Stefan Kangas
Subject: master 0154e41: Make dired-get-subdir-min obsolete
Date: Sun, 10 Nov 2019 16:16:28 -0500 (EST)

branch: master
commit 0154e41b184a0b9938fafd9eca15399b4d5e477f
Author: Stefan Kangas <address@hidden>
Commit: Stefan Kangas <address@hidden>

    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.
    Co-authored-by: Drew Adams <address@hidden>
 lisp/dired-aux.el | 18 +++++++++---------
 lisp/dired.el     | 23 +++++++++++++----------
 2 files changed, 22 insertions(+), 19 deletions(-)

diff --git a/lisp/dired-aux.el b/lisp/dired-aux.el
index 722d036..184b507 100644
--- a/lisp/dired-aux.el
+++ b/lisp/dired-aux.el
@@ -1728,7 +1728,7 @@ rename them using `vc-rename-file'."
     (let ((regexp (regexp-quote (directory-file-name dir)))
          (newtext (directory-file-name to))
-      (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 @@ This function takes some pains to conform to `ls -lR' 
   (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 @@ of marked files.  If KILL-ROOT is non-nil, kill DIRNAME 
as well."
 (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 @@ of marked files.  If KILL-ROOT is non-nil, kill DIRNAME 
as well."
   ;; 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 @@ The next char is \\n."
   (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 @@ Use \\[dired-hide-all] to (un)hide all directories."
             (end-pos (1- (dired-get-subdir-max elt)))
        ;; keep header line visible, hide rest
-       (goto-char (dired-get-subdir-min elt))
+       (goto-char (cdr elt))
        (if hidden-p
            (dired--unhide (point) end-pos)
@@ -2797,14 +2797,14 @@ Use \\[dired-hide-subdir] to (un)hide a particular 
       ;; 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)
             (dired--hide start end))
-         (setq pos (dired-get-subdir-min subdir))))))) ; prev dir gets current 
+          (setq pos (cdr subdir))))))) ; prev dir gets current dir
 ;;;###end dired-ins.el
diff --git a/lisp/dired.el b/lisp/dired.el
index 05789a3..35d883a 100644
--- a/lisp/dired.el
+++ b/lisp/dired.el
@@ -354,10 +354,14 @@ The directory name must be absolute, but need not be 
fully expanded.")
 ;; 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 directories 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.")
+If no subdirectories are listed then the alist contains only one
+element, for the listed directory.")
 (defvar-local dired-switches-alist nil
   "Keeps track of which switches to use for inserted subdirectories.
@@ -2857,21 +2861,20 @@ You can then feed the file name(s) to other commands 
with \\[yank]."
     (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
-;; 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)
-    (goto-char (dired-get-subdir-min elt))
+    (goto-char (cdr elt))
 (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 +2898,7 @@ You can then feed the file name(s) to other commands with 
     ;; 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
          (goto-char pos)
@@ -3116,7 +3119,7 @@ is the directory where the file on this line resides."
       (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

reply via email to

[Prev in Thread] Current Thread [Next in Thread]