From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Emanuel Berg Newsgroups: gmane.emacs.help Subject: Re: Function to find symlink target Date: Thu, 26 May 2022 00:33:49 +0200 Message-ID: <87v8ttb5te.fsf@dataswamp.org> References: <87wneixx7x.fsf@dataswamp.org> <875ylxe98k.fsf@dataswamp.org> <878rqsyo1x.fsf@dataswamp.org> <87wneb690a.fsf@dataswamp.org> <871qwjzqg5.fsf@web.de> <87o7zn65jp.fsf@dataswamp.org> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="18254"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (gnu/linux) To: help-gnu-emacs@gnu.org Cancel-Lock: sha1:aRa5f81cXiNzSGRBW/V1jR/ho38= Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane-mx.org@gnu.org Thu May 26 00:35:00 2022 Return-path: Envelope-to: geh-help-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1ntzam-0004Vr-4R for geh-help-gnu-emacs@m.gmane-mx.org; Thu, 26 May 2022 00:35:00 +0200 Original-Received: from localhost ([::1]:49826 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ntzak-0007uN-Mk for geh-help-gnu-emacs@m.gmane-mx.org; Wed, 25 May 2022 18:34:58 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:47500) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ntzZp-0007uD-6Z for help-gnu-emacs@gnu.org; Wed, 25 May 2022 18:34:01 -0400 Original-Received: from ciao.gmane.io ([116.202.254.214]:44062) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ntzZn-0005lA-GZ for help-gnu-emacs@gnu.org; Wed, 25 May 2022 18:34:00 -0400 Original-Received: from list by ciao.gmane.io with local (Exim 4.92) (envelope-from ) id 1ntzZl-00030F-8Z for help-gnu-emacs@gnu.org; Thu, 26 May 2022 00:33:57 +0200 X-Injected-Via-Gmane: http://gmane.org/ Mail-Followup-To: help-gnu-emacs@gnu.org Mail-Copies-To: never Received-SPF: pass client-ip=116.202.254.214; envelope-from=geh-help-gnu-emacs@m.gmane-mx.org; helo=ciao.gmane.io X-Spam_score_int: -16 X-Spam_score: -1.7 X-Spam_bar: - X-Spam_report: (-1.7 / 5.0 requ) BAYES_00=-1.9, HEADER_FROM_DIFFERENT_DOMAINS=0.249, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Users list for the GNU Emacs text editor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: "help-gnu-emacs" Xref: news.gmane.io gmane.emacs.help:137406 Archived-At: Jean Louis wrote: > Thank you for `dired-jump' as that is what I needed, it > works well now, I can find target of a symlink easily. > > (defun rcd-dired-show-symlink-target () > "Show target of a symlink." > (interactive) > (let ((file (car (dired-get-marked-files)))) > (if (and file (file-symlink-p file)) > (let* ((target (file-truename file)) > (target-exists (file-exists-p target)) > (directory (file-name-directory target))) > (if target-exists > (progn > (find-file directory) > (dired-jump nil target)) > (message "Target does not exist: %s" target))) > (message "Not a symlink: %s" file)))) Yes, that works. You can add an optional FILE argument and only when that's not provided look for the first marked file or even the file at point which is perhaps more intuitive since it's only one file ... -- underground experts united https://dataswamp.org/~incal