GNU bug report logs - #17064
24.3.50; Enhancement request: dired: fontification of symlinks

Previous Next

Package: emacs;

Reported by: Michael Heerdegen <michael_heerdegen <at> web.de>

Date: Fri, 21 Mar 2014 23:35:02 UTC

Severity: wishlist

Tags: fixed

Found in version 24.3.50

Fixed in version 27.1

Done: Lars Ingebrigtsen <larsi <at> gnus.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Lars Ingebrigtsen <larsi <at> gnus.org>
To: Michael Heerdegen <michael_heerdegen <at> web.de>
Cc: 17064 <at> debbugs.gnu.org
Subject: bug#17064: 24.3.50; Enhancement request: dired: fontification of symlinks
Date: Thu, 31 Oct 2019 00:33:02 +0100
Michael Heerdegen <michael_heerdegen <at> web.de> writes:

> in dired, symlinks look like
>
>   symlink -> target
>
> where the whole thing is fontified with dired-symlink-face.  But I
> already know from the -> that I have a symlink, it would be more useful
> to know whether TARGET is a directory, which is what I normally see for
> non symlink files in dired by fontification with dired-directory-face.
>
> My proposal: fontify only the first part "symlink ->" with
> dired-symlink-face.  Fontify "target" according to its truename type.

Sounds good to me.

> (cl-callf nconc dired-font-lock-keywords
>   `((,dired-re-sym
>      ((lambda (end) (when (let ((file (dired-file-name-at-point)))
> 		       (file-directory-p (file-truename file)))
> 		 (search-forward-regexp "\\(.+-> ?\\)\\(.+\\)" end t)))
>       (dired-move-to-filename)
>       nil
>       (1 dired-symlink-face)
>       (2 dired-directory-face)))

[...]

> Or could this have any bad side effects?  Is it maybe too heavy to call
> `file-truename'?

Normally, there aren't many symlinks in a buffer, so I think the
performance impact would be negligible.

I've added a modified version of your code to Emacs 27 -- more error
checking was necessary, because symlinks may be circular etc.

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no




This bug report was last modified 5 years and 201 days ago.

Previous Next


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