From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Michael Albinus Newsgroups: gmane.emacs.bugs Subject: bug#60943: 28.2; =?UTF-8?Q?=E2=80=98tramp-handle-file-regular-p=E2=80=99?= misses symlinks Date: Fri, 20 Jan 2023 11:56:07 +0100 Message-ID: <877cxhv5iw.fsf@gmx.de> References: <87fsc6llc7.fsf@gmx.de> <8B66E6A4-13D0-49B1-B2B5-52A561960C39@technomadic.org> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="10872"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Cc: 60943@debbugs.gnu.org To: Greg Pfeil Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Fri Jan 20 11:57:22 2023 Return-path: Envelope-to: geb-bug-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 1pIp5G-0002d7-K0 for geb-bug-gnu-emacs@m.gmane-mx.org; Fri, 20 Jan 2023 11:57:22 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pIp4z-0000dJ-Cb; Fri, 20 Jan 2023 05:57:05 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pIp4x-0000d9-Dy for bug-gnu-emacs@gnu.org; Fri, 20 Jan 2023 05:57:03 -0500 Original-Received: from debbugs.gnu.org ([209.51.188.43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pIp4w-0006XH-F5 for bug-gnu-emacs@gnu.org; Fri, 20 Jan 2023 05:57:03 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1pIp4w-0001xO-B2 for bug-gnu-emacs@gnu.org; Fri, 20 Jan 2023 05:57:02 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Michael Albinus Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 20 Jan 2023 10:57:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 60943 X-GNU-PR-Package: emacs Original-Received: via spool by 60943-submit@debbugs.gnu.org id=B60943.16742121827470 (code B ref 60943); Fri, 20 Jan 2023 10:57:02 +0000 Original-Received: (at 60943) by debbugs.gnu.org; 20 Jan 2023 10:56:22 +0000 Original-Received: from localhost ([127.0.0.1]:45717 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pIp4I-0001wP-6z for submit@debbugs.gnu.org; Fri, 20 Jan 2023 05:56:22 -0500 Original-Received: from mout.gmx.net ([212.227.17.21]:43777) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pIp4F-0001w9-3B for 60943@debbugs.gnu.org; Fri, 20 Jan 2023 05:56:21 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.de; s=s31663417; t=1674212168; bh=OJLefMXN/mzmtR5u6gtoyZlH1E43Vhi8ZTd/PNVte2s=; h=X-UI-Sender-Class:From:To:Cc:Subject:In-Reply-To:References:Date; b=j+P7kCA6N0tXSP2CrWNp8LFtbfWvmO9D1siYI+6kHzmkGzvn4kgfMApuwQwoRk1pE SmE9XGV/YUyOPMRxz13BSDRYSiPVBhSg7bWIA3bJQxJBp4o65Rawh6qOpL3hLsUlq1 Eoo7IoBbJSPNhz754J+ylrehifrFq1VFLCCg2/WVvhg8pkGmCvFI8wr6yEElFTBkqh kUO4EqKjQn02H36gpRySdXxnV6Cf72DsyQ6mxXvQBspXutZdqs25bTYj98P/wSxYB5 IyZwxIdAxKDwLJjKFrUliGu09aB68bKmZOJ4mds9Jl1HPY/uf3spDEvMlgqoO/QweG eekMpdH3EAt+A== X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a Original-Received: from gandalf.gmx.de ([185.89.37.45]) by mail.gmx.net (mrgmx104 [212.227.17.168]) with ESMTPSA (Nemesis) id 1MZCfJ-1pEZnl2WKf-00V9jZ; Fri, 20 Jan 2023 11:56:08 +0100 In-Reply-To: <8B66E6A4-13D0-49B1-B2B5-52A561960C39@technomadic.org> (Greg Pfeil's message of "Thu, 19 Jan 2023 10:55:45 -0700") X-Provags-ID: V03:K1:4DWGugPslCXkNepTFEtp/Xg6ftX4KM1e+h7zqWp3lL5yGeYDmHU sMZ9GN4JmxBZVzNh/93nRBAYc/xpaewaeJAOgM4ooIYPu8rAiPsEH+H1euCq9mh2V1Dw5EC fyS0yYzs9crrOexi7bBEz0tVXQlAJs9eqGE0oQsZ0hBEiamQBtpJVa77GbFbDk4wCO/IpGx lujmevAYws3FTilrrefJQ== UI-OutboundReport: notjunk:1;M01:P0:G3shOv+i8vM=;3tzO+/iMCPQRofiyU/oS9xTUq/b v4Pu/inUNHkWfqMADmytnTYG3f/j0PDuj23xQv06ZyWeHL5tqISogzqOrYZlV3FN4Kx8JwWMc /6IHnvAA1rfDAys+RabTdOMdknxE2CCnCBvItXnjiJ1Z8AvLOZCOE3DvXCguCXa5ZoDEzUVib 4CKPF8dTvUP2g4/5FNtfeN8AWMkLrlYnuGh4SrbM15648tlIunsl1HmZyTgjVONF65FuWbeqV 1acppDsB/chZ7LdwwZZ7ir0YNqDj58+Xlq6M+AbPZ5yKbbL8tOYObUfcbWTNZAAVsyTwfrNmZ olwYYnJtQkixFH9eUW+/Phtt4QOfNFZIGgbccSTSvMilVliEK6Ypq+0t/M08MpmvKo4KCY+d4 d3ckUxA21Wa0rjNpu1FdI1/jOUUfCBsWkqRSV/Xa1lvE+U4kVVxSq+AbMCodgy14qM1WzAK1i UmtvJXSfVTDQlMgzKjSXBc6bCIlWgsqxCe96AMiAgOpcDTbW2tD34Eu8/0ButYyLrYoy5sHIq 9IzzbSNB4luqwBccCzdwVnqGeIJgXZ7eLogOS6zDJTVv+oSDZgq1rJNLPx6nJuF0ZHwGlOL9o Rz1nDwI0lpjtptGYX2jrLl7JkM68xOR9gTj1ebgBwr/CtIR6fYwxlp6ksUyDRJH5eyVtaDVBh FRCUpWKFv1S87VJOdNMyvvJ1Nkv4MiNskBKci8bxcmcvXrDyzuC9FMthaZQFF4SabPEnrEBpz 2a5Mfg6uIF7TNXYoDVM60Bf8l1yxx6mJJrlq0teQZw5RYhiezLaRwc4DJeYr4ZaHWuTpPsG/ X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.bugs:253765 Archived-At: Greg Pfeil writes: Hi Greg, > I think sockets (where the 0th char is ?s) are also considered regular > files. Also, I think that patch checks whether the truename is a > regular file, but I believe /all/ symlinks are considered regular. No, neither sockets nor symlinks to directories count as regular files. See the Elisp manual (info "(elisp) Kinds of Files") A socket is an "other I/O device" according to the description. And symlinks are regular files only, if they point to a regular file. > It just changes the equality check to check for the set of valid > values. If we had the mode as a number, we could just check the one > bit for regular files (which I think is what =E2=80=98file-regular-p=E2= =80=99 does). You can always check yourself in Emacs with a local file. For example, if you have a socket like "/run/user/1000/bus": --8<---------------cut here---------------start------------->8--- (file-exists-p (concat (getenv "XDG_RUNTIME_DIR") "/bus")) =3D> t (file-attribute-modes (file-attributes (concat (getenv "XDG_RUNTIME_DIR") "= /bus"))) =3D> "srw-rw-rw-" (file-regular-p (concat (getenv "XDG_RUNTIME_DIR") "/bus")) =3D> nil --8<---------------cut here---------------end--------------->8--- Or --8<---------------cut here---------------start------------->8--- (make-directory "/tmp/foo") (file-attribute-modes (file-attributes "/tmp/foo")) =3D> "drwxr-xr-x" (make-symbolic-link "/tmp/foo" "/tmp/bar") (file-attribute-modes (file-attributes "/tmp/bar")) =3D> "lrwxrwxrwx" (file-regular-p "/tmp/bar") =3D> nil --8<---------------cut here---------------end--------------->8--- for symbolic links. Best regards, Michael.