GNU bug report logs - #43028
28.0.50; Add dired commands to navigate symbolic links

Previous Next

Package: emacs;

Reported by: Tino Calancha <tino.calancha <at> gmail.com>

Date: Mon, 24 Aug 2020 19:13:01 UTC

Severity: normal

Tags: patch, wontfix

Found in version 28.0.50

Done: Tino Calancha <tino.calancha <at> gmail.com>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: help-debbugs <at> gnu.org (GNU bug Tracking System)
To: Tino Calancha <tino.calancha <at> gmail.com>
Subject: bug#43028: closed (Re: bug#43028: 28.0.50; Add dired commands to
 navigate symbolic links)
Date: Thu, 27 Aug 2020 08:19:02 +0000
[Message part 1 (text/plain, inline)]
Your bug report

#43028: 28.0.50; Add dired commands to navigate symbolic links

which was filed against the emacs package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to 43028 <at> debbugs.gnu.org.

-- 
43028: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=43028
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: Tino Calancha <tino.calancha <at> gmail.com>
To: 43028-done <at> debbugs.gnu.org
Subject: Re: bug#43028: 28.0.50; Add dired commands to navigate symbolic links
Date: Thu, 27 Aug 2020 10:17:52 +0200
It is not clear that the proposed key bindings are useful
for a broader audience.  Closing the issue as wontfix.



[Message part 3 (message/rfc822, inline)]
From: Tino Calancha <tino.calancha <at> gmail.com>
To: bug-gnu-emacs <at> gnu.org
Subject: 28.0.50; Add dired commands to navigate symbolic links
Date: Mon, 24 Aug 2020 21:12:25 +0200
X-Debbugs-Cc: uyennhi.qm <at> gmail.com, jidanni <at> jidanni.org,
drew.adams <at> oracle.com, michael_heerdegen <at> web.de, larsi <at> gnus.org
Severity: wishlist

How do you feel about adding these new navigators and bind them to
'{' '}' ?


--8<-----------------------------cut here---------------start------------->8---
commit 98e474b5b3be644d6cdff8aaf3b2d917ca4cea56
Author: Tino Calancha <ccalancha <at> suse.com>
Date:   Mon Aug 24 20:56:27 2020 +0200

    New dired commands to navigate symbolic links
    
    Like dired-prev-dirline and dired-next-dirline
    but for symbolic links.
    
    * lisp/dired.el (dired-prev-symlinkline, dired-next-symlinkline):
    New commands.
    (dired-mode-map): Bind them to '{' and '}'.  Add menu entries for them.
    
    * doc/emacs/dired.texi (Dired Navigation): Document them.
    
    * etc/NEWS (Changes in Specialized Modes and Packages in Emacs 28.1):
    Announce them.

diff --git a/doc/emacs/dired.texi b/doc/emacs/dired.texi
index 19aaca962d..92c1214cb4 100644
--- a/doc/emacs/dired.texi
+++ b/doc/emacs/dired.texi
@@ -177,6 +177,16 @@ Dired Navigation
 minibuffer, and moves point to the line in the Dired buffer describing
 that file.
 
+@findex dired-prev-symlinkline
+@kindex @{ @r{(Dired)}
+  @kbd{@{} (@code{dired-prev-symlinkline}) jumps to the previous
+  symbolic link in the Dired buffer.
+
+@findex dired-next-symlinkline
+@kindex @} @r{(Dired)}
+  @kbd{@}} (@code{dired-next-symlinkline}) jumps to the next
+  symbolic link in the Dired buffer.
+
 @cindex searching Dired buffers
 @findex dired-isearch-filenames
 @vindex dired-isearch-filenames
diff --git a/etc/NEWS b/etc/NEWS
index a65852fcd0..5785cdc1e5 100644
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -235,6 +235,10 @@ time zones will use a form like "+0100" instead of "CET".
 
 ** Dired
 
++++
+*** New commands 'dired-prev-symlinkline', 'dired-next-symlinkline' to visit
+symbolic links in the current dired buffer, bound respectively to '{' '}'.
+
 +++
 *** New user option 'dired-maybe-use-globstar'.
 If set, enables globstar (recursive globbing) in shells that support
diff --git a/lisp/dired.el b/lisp/dired.el
index 94d3befda8..273e787af0 100644
--- a/lisp/dired.el
+++ b/lisp/dired.el
@@ -1898,6 +1898,8 @@ dired-mode-map
     ;; moving
     (define-key map "<" 'dired-prev-dirline)
     (define-key map ">" 'dired-next-dirline)
+    (define-key map "}" 'dired-next-symlinkline)
+    (define-key map "{" 'dired-prev-symlinkline)
     (define-key map "^" 'dired-up-directory)
     (define-key map " " 'dired-next-line)
     (define-key map [?\S-\ ] 'dired-previous-line)
@@ -2039,6 +2041,12 @@ dired-mode-map
     (define-key map [menu-bar immediate find-file]
       '(menu-item "Find This File" dired-find-file
 		  :help "Edit file at cursor"))
+    (define-key map [menu-bar immediate prev-symlink]
+      '(menu-item "Prev Symlink" dired-prev-symlinkline
+		  :help "Move to next symbolic link line"))
+    (define-key map [menu-bar immediate next-symlink]
+      '(menu-item "Next Symlink" dired-next-symlinkline
+		  :help "Move to previous symbolic link line"))
     (define-key map [menu-bar immediate create-directory]
       '(menu-item "Create Directory..." dired-create-directory
 		  :help "Create a directory"))
@@ -2431,6 +2439,23 @@ dired-prev-dirline
   (interactive "p")
   (dired-next-dirline (- arg)))
 
+(defun dired-next-symlinkline (arg &optional opoint)
+  "Goto ARGth next symbolic link file line."
+  (interactive "p")
+  (or opoint (setq opoint (point)))
+  (if (if (> arg 0)
+	  (re-search-forward dired-re-sym nil t arg)
+	(beginning-of-line)
+	(re-search-backward dired-re-sym nil t (- arg)))
+      (dired-move-to-filename)		; user may type `i' or `f'
+    (goto-char opoint)
+    (error "No more symlinks")))
+
+(defun dired-prev-symlinkline (arg)
+  "Goto ARGth previous symbolic link file line."
+  (interactive "p")
+  (dired-next-symlinkline (- arg)))
+
 (defun dired-up-directory (&optional other-window)
   "Run Dired on parent directory of current directory.
 Find the parent directory either in this buffer or another buffer.

--8<-----------------------------cut here---------------end--------------->8---

In GNU Emacs 28.0.50 (build 1, x86_64-pc-linux-gnu, X toolkit, cairo version 1.16.0, Xaw scroll bars)
 of 2020-08-19 built on localhost.example.com
Repository revision: 88795c52ff13203dda5940ed5defc26ce2c20e5e
Repository branch: master
Windowing system distributor 'The X.Org Foundation', version 11.0.12008000
System Description: openSUSE Tumbleweed



This bug report was last modified 4 years and 355 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.