Received: (at 81709) by debbugs.gnu.org; 26 Aug 2026 11:19:54 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Wed Aug 26 07:19:53 2026 Received: from localhost ([127.0.0.1]:33207 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1wzBfd-0006Cx-3i for submit <at> debbugs.gnu.org; Wed, 26 Aug 2026 07:19:53 -0400 Received: from sonic303-21.consmr.mail.ne1.yahoo.com ([66.163.188.147]:43534) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from <luangruo@HIDDEN>) id 1wzBfZ-0006Bo-7S for 81709 <at> debbugs.gnu.org; Wed, 26 Aug 2026 07:19:51 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1787743182; bh=8WoLubeZQlfbpIbCOuHU3S6AFmj7uK97GAJwpPPkwC4=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From:Subject:Reply-To; b=bhe4z74UMERZgK0L6ow5O2GkH6LxlzCxH8ZZqeBjlrLgOcYVC1Q0BndU9n0l4gRXisGai9jkGdv3HECrPpYAMIGD4lZ0kcn3oX1K9PHv6hxgrPdonI34mmIH+gzI4HyM1hB956WdXemO4J48WlvpzHrnUW2Sq+K/8fovUytII3BGPGuO6UYE9JX7205iFISSOkRcGAUWMaucFOSj5zr+Hh+amiD6xT4kn1XBbCwLdyr4mA3dA5AP/X4aABUzC5bsOMX5l8Yyixk7ycerJ06cqzGIH3IERRKd8xFlzyqBPJvoOkgc01oVXT5HOHfBSvfv4bpz+EhOkdEdJIt8NoA7iA== X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1787743182; bh=IrhB5Vn2tIHkEnvrjslI/CT68gDiWZz4bqRKlxKVX8R=; h=X-Sonic-MF:From:To:Subject:Date:From:Subject; b=Btl7+txHsXvefLb5kwyZcwVIAKecIAoIj2CdxQo/U6kup3eUnknTJ53AD2fMdVHMZe9LYHtm9LpKHaiQa/H885N3QIO6DvKmy7uDkzVYr+0b6wbsC6Q/BXeLjMgpOKt5Hwh5j7KshKHik/lyKyBkcqL1DkZpymbaKiGAyD0cXHsCvRhRhlK69AVtiyta0qgNHBnDA8wJ9e/wJ03HIZhlwbIV5Ath4yU5B2bJ0c/GArPnpIRo+OGEHrJ2iX8FK9iQJPdnO9FHSs3YwSwHbqoj/XRaLVBeOFV8lSqS91dLyM0v3KzGDFZ6JPHwvY8TbdnkO4tSXCSW9tQa1R8daZbncg== X-YMail-OSG: 0X2ku8YVM1mhVwMJK52q5bgkGDUKSmGnaRKCcJjh59DN8YjE9bWUKC._YPfml1u 1__dnRrggWclB6wFpOITRWupehc8NDwExR_dr3hRsv6P3J0atRIPftDHFNPX4KZaEhOt3ZwrI5re 6Io3ebTMBDX9W.9ptFUZeVtJidbz2zUbBBTSd8Z8TBvA6WdAN1qllW64m4vyyo7hzuRoUDIVGiXi aagrfJ16OTpquVAbbkvpbsZWz70pfmQSNMfsCzygicwRX8qQeapZJ9joRUIlotgTGp_a8DSfkhFU qHu4z5VkGR6jylIMGGfhTo7_hjQBs6Saz2hElYlrDF.NqsTthAk7dI5zCgOenV3Pr0IqQL52C_zk 515RY.4yls7yi__mDtonW9vuoniDrZvaJWgQHuWSDQqlh0OwjHmB5D9SndgO.EbmVM3KGrHk8GNU _nhpvS0kmVucZzhBrjkhoKHP4j53L6OGqwOTrTTXA_Ufqqzuqq1XD7nNHBbDZggtffWuJZfm8yqO qG6ZJXnR.OV5PUgm1aEEoSoYpIeM4o583r2PLkZiVQ5McHjZ7.1ZOzVJ7l08Ii3UCVOffoqvs7rm d6VQeInyRmO26vWJ7fwu4pLGzzAkBqc9WBLrl92TYz.AtdQFFGIDkA1Scw2YASjvYVF0XRg_lLYv tfhx2Jy9lDjkzC7KNKn056C1D5xj.MU.N1VU773Vg7.7IOL56bmTWj3Qmne0MgH_pPcBY8uVaROY 313jYkiEbL1fszssiEUupxSHcqi_CmzYY01u4jd3d9jlrQ4vgplHbgIasnpwWfF9knjosX3cjnZC 5VSeg2sDJYW6ewDH_K9nmxaqgGTb7xxhjPXVAYCsR0lKcmOZq2pM2InSJG8YE9ZDPWlLOSBYjyla oLj0dmEecOYeqobT.Us7TBNvA6tXIi8Zr8NBT1spfBmF6HdSzfjq46gtgRYFnq0Vdv2TQq4g5KtA DP5cE55dDqh2tRIDFSO7KIVeCTSZRkj2KSxneKgwTwMpvOqN7NcoQ5kiQs4IQeOYH6QNYybXx3eU lY59ZE8mDHwlR0Ntpsvb7yqF4yzJpaSQ2Qqg2retY5g9K4FjihbsI21lxdQzFyGAvxEsisaOp5fD zmOGWJ67DjsGBT2L9WB_q8xVJWkPm33aVT.nEbWQYzKYIveGME.uG.djf6UrwVwG2e4Teu0k4Hen cgKUnCOqxV_ze5VEuUNcpRzwUpfj5pMhWx1NvlyFzVtX5HFL0Z7Yt8yCN35z226uV.wv22_0cok. aHa7jvLuAPlCtdzsOr2ELc78FCSEEXS9cih9XMukN94BoPf2m.bJPck_ZeOB23BpD3ooZIEU1kFi sI8SHpizTKBMkyILKgYfg7pOwmjRr.BSbgBUnPCY5sHitd6aXe4cExl1G5JgDA3tjXRJZ.By0Hnz rbiAkHAUXNLJ7po7WydKxnh67m0MAgjSc22WFqp5E72mtvKydbohH4qL8tEa02duT87PDSQXJZJT VcoHPjzlL8x1tgI4AGWHQ8kvAO4V23SQNdx.xFWhTd_USJEr1gpygnj9t5br5S9Ka6OrQitqr50q CAozYSjNs7A6A1j1c9TXKJIZlWEL.GkGZKepKdBmAAf0Vd2Ns2Qp5DgtiKLUlOlh0u_kAQFhO05g LwG9Y34sNf_83c1A4Lx2JuxAOmpW6CWVlg21racoqqMa2Npoe4quPWR7fE5F5TxZceGRFtslQYz6 lpfz8QP3NZbw.rNi1KbFsay5xmUjI0LGGRrbnECQJ3LCvLRqwzOKNpSAkE__aQ6L5TXzWMV0G4lH .okfuImCnrIL_2ob9YR7n5vBNNxT9Zlwkzgj5nfZskPoJyg9ldiER99pMBqgvKO0MVrlKnTaCrSh 1LpiWY7dfl9XX50y3Pdg7VQygkqlC317PM2riyAxORIfAGXscmYlCNF8MFdyUZCBA73XS2tqBqmL Rp248KxCb_pHc205nT4CZagNhVv7DJ9.qPPvg_GGQ5H_MEH_8cEab0_F.pZddX89A3F7.h6K1zFU QPED.Azs5YSULemv_LycqS3wQdMjnk6pL8VC5jMYVIKMRh8C6fhreGTWAbX69AUxwhYynU.w3va7 LfeZ1gARLBC0vMAJsjJmw2VODQliSdXoonECwiglzd8G6rzO8eSD6MydOsCCrLcsNRfKtQPuyV8T .d55F35qpPVRLxl9lsY4EiSxVXl1DZui3WnBY.EqEaW79VPGxHzxl9dsboGYZEhagWd.7050Bw_Y NeUDMIDvDszLaQr0QU7iONTK3vuyVH_9BJxbJKtohrxUauHNqboLTJG6NZSpd0hY- X-Sonic-MF: <luangruo@HIDDEN> X-Sonic-ID: f9ee41ad-75ec-4243-b7c2-0e65ac6035b6 Received: from sonic.gate.mail.ne1.yahoo.com by sonic303.consmr.mail.ne1.yahoo.com with HTTP; Wed, 26 Aug 2026 11:19:42 +0000 Received: by hermes--production-sg3-664647588b-pxvcr (Yahoo Inc. Hermes SMTP Server) with ESMTPA ID 04a03ac376f8fad7f034ec431d07413f; Wed, 26 Aug 2026 11:19:38 +0000 (UTC) From: Po Lu <luangruo@HIDDEN> To: =?utf-8?Q?Bj=C3=B6rn?= A. Lindqvist <bjourne@HIDDEN> Subject: Re: bug#81709: Function for converting file URLs to file paths In-Reply-To: <CALG+76d84g60eaLs1Tx+WMpsCsZOsEicvqEmAse2N=hFUu9P6w@HIDDEN> References: <CALG+76d84g60eaLs1Tx+WMpsCsZOsEicvqEmAse2N=hFUu9P6w@HIDDEN> Date: Wed, 26 Aug 2026 19:19:32 +0800 Message-ID: <87tsohgmd7.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Mailer: WebService/1.1.26380 mail.backend.jedi.jws.acl:role.jedi.acl.token.atz.jws.hermes.yahoo Content-Length: 2409 X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 81709 Cc: 81709 <at> debbugs.gnu.org X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) Bj=C3=B6rn A. Lindqvist <bjourne@HIDDEN> writes: > > +;;;###autoload > +(cl-defun url-to-file-pathx (maybe-url &key > + (decode-as 'utf-8) > + (include-host nil) > + (must-be-readable nil)) > + "Convert MAYBE-URL to a file path. > + > +If MAYBE-URL is a file URL, and DECODE-AS is non-nil, percent-decode the > +filename component (path and query) and decode the result using the > +given character encoding. If MAYBE-URL includes a host and INCLUDE-HOST > +is non-nil, prepend \"//host\" to the file path (useful for UNC > +paths). If MAYBE-URL is not a file URI it is assumed to be a file > +path. Return nil if MUST-BE-READABLE and the file path is not > +readable. Embedded Windows drive-letters are parsed correctly." > + (let* ((parse (url-generic-parse-url maybe-url)) > + (file-path (if (string=3D "file" (url-type parse)) > + (let* ((host (url-host parse)) > + (p0 (url-filename parse)) > + (p1 (if decode-as > + (decode-coding-string > + (url-unhex-string p0) > + decode-as) > + p0))) > + (if (and include-host (length> host 0)) > + (concat "//" host p1) > + p1)) > + maybe-url))) > + (when (or (not must-be-readable) > + (file-readable-p file-path)) > + file-path))) Besides Jim's remarks respecting the name of this function and our preference for "file name" as against "file path" or words to the same effect, the doc string should be punctuated with two spaces after each full stop, and on Android it might be advisable to convert "content://" URIs into references to "/content/by-authority". This is a virtual file system implemented by the Android port providing access to the contents of such URIs, which are specific to that system. A "content://" URI partakes of the following form: content://AUTHORITY/A/B/C[?QUERY] And may be converted into a file by the following name: /content/by-authority/AUTHORITY/A/B/C[?QUERY] Where each component after "AUTHORITY" is URL-encoded.
bug-gnu-emacs@HIDDEN:bug#81709; Package emacs.
Full text available.Received: (at 81709) by debbugs.gnu.org; 26 Aug 2026 09:30:46 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Wed Aug 26 05:30:46 2026 Received: from localhost ([127.0.0.1]:60242 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1wz9y2-000223-8l for submit <at> debbugs.gnu.org; Wed, 26 Aug 2026 05:30:46 -0400 Received: from mout.gmx.net ([212.227.17.21]:42383) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from <michael.albinus@HIDDEN>) id 1wz9xx-00020G-Rh for 81709 <at> debbugs.gnu.org; Wed, 26 Aug 2026 05:30:44 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmx.de; s=s31663417; t=1787736633; x=1788341433; i=michael.albinus@HIDDEN; bh=sHqzhxyDaLHbbVzXMH2Kt7cxogts6+PCTzOu7kvhzHo=; h=X-UI-Sender-Class:From:To:Cc:Subject:In-Reply-To:References:Date: Message-ID:MIME-Version:Content-Type:cc:content-transfer-encoding: content-type:date:from:message-id:mime-version:reply-to:subject: to; b=h8L+Tptx6uoY6PBjTufy55r9vUUM+9JbbO8cxsKHcKuHcjvvQrCn5830mDKlsF5N n967eFcCDUNcPcfCdLpgrBEGAlpAfUnnmITmjx77XlktLNJlt2j1NklYm7fsSpSpR mansqBKBjWXJilszO6gICmlG7+Sxlgd7jOJV3dtsVt0pP7I9HwGoawSklSPwUHHKD 40SlzvFrx2UtGFPo/dpPlkSEd/VasfEo2JSb5DUMPWJcAAym/e1nML1Ni0wWy2X0D FlEsVATC/n2g2EbSnbED4vXhylKIxX0td/v4t/z1IXBznH3NE0LYQPqXFrA8eFfqY wcK13PrOyGcQNh5Bjg== X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a Received: from client.hidden.invalid by mail.gmx.net (mrgmx105 [212.227.17.168]) with ESMTPSA (Nemesis) id 1MEFvp-1x76Zo14wH-007bga; Wed, 26 Aug 2026 11:30:33 +0200 From: Michael Albinus <michael.albinus@HIDDEN> To: Jim Porter <jporterbugs@HIDDEN> Subject: Re: bug#81709: Function for converting file URLs to file paths In-Reply-To: <0cd63a6f-9e2e-c55e-95e5-fbf877bf40dd@HIDDEN> References: <CALG+76d84g60eaLs1Tx+WMpsCsZOsEicvqEmAse2N=hFUu9P6w@HIDDEN> <0cd63a6f-9e2e-c55e-95e5-fbf877bf40dd@HIDDEN> Date: Wed, 26 Aug 2026 11:30:32 +0200 Message-ID: <87a4q9grev.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-Provags-ID: V03:K1:/NIj7gPmWTQjRkhp9c1L5RkQ6HaopMCh/Iam5on81MKb+xQ6TC9 XIacn25ZSiOCH51vIEMDb3t4euPrcQXNI+uapCCg4H6kpgCNy+IbYQtVJ/DPKZfrb3TRJ84 ZIHRix2SWQISSTEbFzTdhxiudigz6CDG6WrApzR44UnFuqrAo/DsLsOm1rmFjHbBtKlRkPX rErg2BW99q9iIXiv7IKkw== X-Spam-Flag: NO UI-OutboundReport: notjunk:1;M01:P0:SL/vgbyZWs4=;WB/QYtHx1RjUC9d22qLn3SsYfrs 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 BsyBFeBPeXEfQ2vwbAwA= X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 81709 Cc: 81709 <at> debbugs.gnu.org, "=?utf-8?Q?Bj=C3=B6rn?= A. Lindqvist" <bjourne@HIDDEN> X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.7 (-) Jim Porter <jporterbugs@HIDDEN> writes: Hi Jim, > I'm not sure what's going on here. Is this MS-Windows-specific? In > Emacs, it might be better to turn a file URL that includes a host into > a Tramp filename. Here's a snippet from my init files to show what I > mean: > > (setq filename (tramp-make-tramp-file-name > (make-tramp-file-name > :method tramp-default-method :user (url-user url) > :host host :localname filename))) What's wrong with url-tramp? It does it for you for free. And I don't recommend to use a host in file URLs (except "Localhost", as standardized by RFC 8089). Often, tramp-default-method isn't the best choice; we have also tramp-default-method-alist. Best regards, Michael.
bug-gnu-emacs@HIDDEN:bug#81709; Package emacs.
Full text available.Received: (at 81709) by debbugs.gnu.org; 26 Aug 2026 09:24:05 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Wed Aug 26 05:24:05 2026 Received: from localhost ([127.0.0.1]:60161 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1wz9rY-00011h-Nk for submit <at> debbugs.gnu.org; Wed, 26 Aug 2026 05:24:05 -0400 Received: from mout.gmx.net ([212.227.17.22]:44531) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from <michael.albinus@HIDDEN>) id 1wz9rW-00010i-1u for 81709 <at> debbugs.gnu.org; Wed, 26 Aug 2026 05:24:03 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmx.de; s=s31663417; t=1787736235; x=1788341035; i=michael.albinus@HIDDEN; bh=Yfgx1h4RoBg6qIQrPPQvjt0ETLIAAqPx/wnhLtlIc/0=; h=X-UI-Sender-Class:From:To:Cc:Subject:In-Reply-To:References:Date: Message-ID:MIME-Version:Content-Type:Content-Transfer-Encoding:cc: content-transfer-encoding:content-type:date:from:message-id: mime-version:reply-to:subject:to; b=JIbrh9E+JTbkMSwijXXZzCzDwP99Q/sQDOCqbwdMYOoOkOTnmTpvZTLpz8IcLt44 I83rj/6cqrEMbnAzMdfKu43okgcX82+3OCa2F6y6nWjp5Rc8W0GpC86JLMPR7eMIS uhJnZZugF5Jn8iLoaeopUnrRXGZM+YDBX+4STV8ERYCV1yT5vQ4VcUCwbammCplj/ Y8ma5GwOajryBGDcw66ige6TEx1mvo66cOLenPF25htr7b4tk5wrzjlszWTnlP5nc GJG29gVa8IkY/5NpVCU4W0/1Sfa6rtvCcyurluvC/iAXBqe06eio3Ic90keDYovSW VQuO3Doz7leuvLCS5w== X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a Received: from client.hidden.invalid by mail.gmx.net (mrgmx105 [212.227.17.168]) with ESMTPSA (Nemesis) id 1Mn2WF-1wXDgq24yV-00g7tA; Wed, 26 Aug 2026 11:23:55 +0200 From: Michael Albinus <michael.albinus@HIDDEN> To: =?utf-8?Q?Bj=C3=B6rn?= A. Lindqvist <bjourne@HIDDEN> Subject: Re: bug#81709: Function for converting file URLs to file paths In-Reply-To: <CALG+76d84g60eaLs1Tx+WMpsCsZOsEicvqEmAse2N=hFUu9P6w@HIDDEN> References: <CALG+76d84g60eaLs1Tx+WMpsCsZOsEicvqEmAse2N=hFUu9P6w@HIDDEN> Date: Wed, 26 Aug 2026 11:23:54 +0200 Message-ID: <87ecflgrpx.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Provags-ID: V03:K1:CiAQzn5HyH91r7mehsjvhl2ADzD+ARabgrhWU5IOdhDjYvydUWq qISc4VzniJfiiFAMXLVC+rZW1o1G0pBkuAnZhU6Jp11oFK+EC6nKvLPBq/qxGwA5Zqn/c6d KogjdRD+ot9iUVO8rvTtJ+YHPp+R0PQQALX8MBXLc3f0HHRptA2XBTTjiwzyjc4ztO6BNY6 +y+Sn7JW29NK/sYA7zIaA== X-Spam-Flag: NO UI-OutboundReport: notjunk:1;M01:P0:C7HJbfLSTxw=;O6gGXuvTPLFs1+bR5kVPBvDBb9b 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 JkRkcktrGSA= X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 81709 Cc: 81709 <at> debbugs.gnu.org X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.7 (-) Bj=C3=B6rn A. Lindqvist <bjourne@HIDDEN> writes: > Hello Emacs Developers! Hi Bj=C3=B6rn, > In bug #81675 I tried to improve Emacs desktop integration via > emacsclient. But that requires better file URL handling so I created > this bug (I hope you don't mind). Thanks for this! > The first patch adds a function url-to-file-path for when you want to > convert a string that may be a file URL to a file system path. Due to > the existence of character encodings and Winblows it is not totally > trivial. The second patch refactors dnd-get-local-file-name and > eglot-path-to-uri so that they call url-to-file-path. I recommend to follow RFC 8089 <https://datatracker.ietf.org/doc/html/rfc8089> for the implementation. For representing a *local* file, it allows either "file:///path/to/file" "file://localhost/path/to/file" "file:/path/to/file" "localhost" is used literally. We should implement this. Using UNC paths is allowed in the following ways: "file:////host.example.com/path/to/file" "file://///host.example.com/path/to/file" Implementing the host part of the URI as UNC file name, as you have specified, is not standardized. There are also rules how to specify drive letters. The following examples are given: "file:///c:/path/to/file" "file:c:/path/to/file" "file:///c|/path/to/file" "file:/c|/path/to/file" "file:c|/path/to/file" A host name in the URI different from "localhost", like "file://host.example.com/path/to/file", is allowed. However, RFC 8089 claims: --8<---------------cut here---------------start------------->8--- This specification neither defines nor forbids any set of operations that might be performed on a file identified by a non-local file URI. ... Treating a non-local file URI as local, or otherwise attempting to perform local operations on a non-local URI, can result in security problems. --8<---------------cut here---------------end--------------->8--- I'm not sure whether we shall alow non-local host names. We have already url-tramp, which allows URLs like "ssh://user@HIDDEN/path/to/file= ". > The patches cause no test suite errors and seem to work. Though I'm > not familiar with either dnd or eglot so there may be corner cases I > haven't considered. Really? There is a problem which let the eglot testsuite fail on the master branch these days. Have you tried it with master branch? Anyway, the patches on dnd.el and eglot.el shall be applied after confirmation of the respective maintainers: I don't comment them. Here are some comments on the code: > diff --git a/lisp/url/url-util.el b/lisp/url/url-util.el > index fb70d553768..15825392521 100644 > --- a/lisp/url/url-util.el > +++ b/lisp/url/url-util.el > @@ -616,6 +616,37 @@ url-domain > ) > (and found candidate))) > > +;;;###autoload > +(cl-defun url-to-file-pathx (maybe-url &key > + (decode-as 'utf-8) > + (include-host nil) > + (must-be-readable nil)) > + "Convert MAYBE-URL to a file path. > + > +If MAYBE-URL is a file URL, and DECODE-AS is non-nil, percent-decode the > +filename component (path and query) and decode the result using the > +given character encoding. If MAYBE-URL includes a host and INCLUDE-HOST > +is non-nil, prepend \"//host\" to the file path (useful for UNC > +paths). If MAYBE-URL is not a file URI it is assumed to be a file > +path. Return nil if MUST-BE-READABLE and the file path is not > +readable. Embedded Windows drive-letters are parsed correctly." Please refer to RFC 8089. Mention also the special case "localhost", and implement it. Implement the different variants of drive letters. I recommend not to use INCLUDE-HOST, but that's open to the discussion. > + (let* ((parse (url-generic-parse-url maybe-url)) > + (file-path (if (string=3D "file" (url-type parse)) > + (let* ((host (url-host parse)) > + (p0 (url-filename parse)) > + (p1 (if decode-as > + (decode-coding-string > + (url-unhex-string p0) > + decode-as) > + p0))) > + (if (and include-host (length> host 0)) > + (concat "//" host p1) > + p1)) > + maybe-url))) > + (when (or (not must-be-readable) > + (file-readable-p file-path)) > + file-path))) If we allow HOST to be a UNC host, it should be restricted to system-type windows-nt (and ms-dos?). > mvh/best regards Bj=C3=B6rn Lindqvist Best regards, Michael.
bug-gnu-emacs@HIDDEN:bug#81709; Package emacs.
Full text available.
Received: (at 81709) by debbugs.gnu.org; 26 Aug 2026 02:07:00 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Aug 25 22:07:00 2026
Received: from localhost ([127.0.0.1]:55850 helo=debbugs.gnu.org)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
id 1wz32a-0001KJ-D3
for submit <at> debbugs.gnu.org; Tue, 25 Aug 2026 22:07:00 -0400
Received: from mail-pj1-x1030.google.com ([2607:f8b0:4864:20::1030]:43085)
by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
(Exim 4.84_2) (envelope-from <jporterbugs@HIDDEN>)
id 1wz32Y-0001K0-5O
for 81709 <at> debbugs.gnu.org; Tue, 25 Aug 2026 22:06:58 -0400
Received: by mail-pj1-x1030.google.com with SMTP id
98e67ed59e1d1-39652a6e963so1297193a91.0
for <81709 <at> debbugs.gnu.org>; Tue, 25 Aug 2026 19:06:58 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20251104; t=1787710012; x=1788314812; darn=debbugs.gnu.org;
h=content-transfer-encoding:content-type:in-reply-to:from:references
:to:content-language:subject:mime-version:date:message-id:from:to:cc
:subject:date:message-id:reply-to:content-type;
bh=x6+xwT3YBw8Hy6mVujhJ4bHKwo5H3sFHJXuEf0jhmeQ=;
b=QZpXz1BkJop5jnMc3bK8ZnDx49Fqv+A1PjZrB82/Uj2Zx/ICZaU9gkBa4JoKESp+W7
gdw2Ya3zJxnP+l6K27wuRkOu8bFD2jkQLVjkYMGjymAbsZnVeZXE4q/FiA1HT6UNrGGD
8xFyNqdOOlF6nb07MuBNQ5D5xviprm3KK2NwpYLccdTwsuLgU2caM00xqOOPmnCq7qF4
Cw13N4qSMCWzt/4tSCcFzgCoDoZLQ8F85GOH79iI66nqBE1NBPrOa9rofvSWFQwv0rop
JiZmEQdM9Wl96swPzsqkPJkvrG13yg4Cna8Shl4RMPA4hQ+/70ngOOuu2VqLPU1QgR/f
nRQw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20251104; t=1787710012; x=1788314812;
h=content-transfer-encoding:content-type:in-reply-to:from:references
:to:content-language:subject:mime-version:date:message-id:x-gm-gg
:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to
:content-type;
bh=x6+xwT3YBw8Hy6mVujhJ4bHKwo5H3sFHJXuEf0jhmeQ=;
b=EQwdbo5wR9PZll9Q9IBslqjcDgyF9Rx4NNKjupwljhn/SiWgm8gD/C8/kvs8Ay5ypt
0+kq0qBtyG6Up1e3spEj8fpiX6lYNEQHg0f3saAd8qBlwrTDCpfPxz8vpP086Pc6LZwX
mdhYVcfcTHWzb8MildZIrzC2rneRSG4C85QPX3iW4890VwHprkI4ktv1uG71anUKWVdm
UcnC7z5F3947ebE80+5E3/5gpCidYuKE47dMi35RnsUD9jHd5SeDF3Qqm4cm6q1YJhB0
7ZnuyJv1iE5RKwDA1z9A3z9pA0Pe7YUCz8cfwAwN25ZqIEThhF6hjpfIKtIJRuuUq1vJ
+Wig==
X-Forwarded-Encrypted: i=1;
AHgh+Rrxf+odjauow0TulXo+j8OPGM9+nNjkZcOQU4gJLKXtHSaW/QhegUcxclS1OV6iTGUDAuW6tw==@debbugs.gnu.org
X-Gm-Message-State: AFuF++ldRyBRKMjXd5Lszn2w2WGvaThPIak4+SM/eZaM6cqcjWNHae9B
4aZbiJWObgUlhPeAnR3rO0aNcY6qRvQQ+YHvomlY+xYdcCqNKsnwB2Hd0LpiTg==
X-Gm-Gg: AR+sD13xVRsSbZlH5hX+u3zDNjxlEDTq3B8eCigRF2t6kMNP2E/ipLen4YYStK2zp6h
RkHwAbkmpcqUprsQSje9SzLYnNKAQULE5xehh8GL0sSjy9ooGuNraqayo76WUk8ev3jdwqlb5PN
AfjfsQCt5L7g5dYimaTnqozpPPjusmdj9GN8i+GC4xCAKXuH+UmzG+3UF/E7zPKoRbf21NlELNg
Kfsi0eK+bghFv6mVYO9Nm0uK6MHFkArMXsFxJEJ3NjQBOkDGiHhKdkmBGDQa1Td4I5+PR0mMsFo
pQCwV6JDqXUlSmxtBH8bkUd4HZw2YpPdrUoRQaWmQJuxSmxl1gQf+1k4kCcErCtTcPaWHyj4y9c
gntg6uVUg9D+kTG29jP2Js/nX6FvC8cvYlR7gnCELBvTNElG7BJpv5+1XEF+j48QcTiTYTOPS/8
Jx/k10Vf1A+pJA/yiX9i39/gW+G+AsvmRM9iemXaWt1jO3kM9jRzx5AY0zxxkLmCohSQCYihdZf
+k=
X-Received: by 2002:a17:90b:2712:b0:394:ed5c:ff9f with SMTP id
98e67ed59e1d1-39645b19ef1mr14976518a91.17.1787710011936;
Tue, 25 Aug 2026 19:06:51 -0700 (PDT)
Received: from [192.168.1.4] ([76.168.144.128])
by smtp.googlemail.com with ESMTPSA id
5a478bee46e88-3283d60c2b4sm4524758eec.5.2026.08.25.19.06.50
(version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
Tue, 25 Aug 2026 19:06:51 -0700 (PDT)
Message-ID: <0cd63a6f-9e2e-c55e-95e5-fbf877bf40dd@HIDDEN>
Date: Tue, 25 Aug 2026 19:06:50 -0700
MIME-Version: 1.0
Subject: Re: bug#81709: Function for converting file URLs to file paths
Content-Language: en-US
To: =?UTF-8?Q?Bj=c3=b6rn_A=2e_Lindqvist?= <bjourne@HIDDEN>,
81709 <at> debbugs.gnu.org
References: <CALG+76d84g60eaLs1Tx+WMpsCsZOsEicvqEmAse2N=hFUu9P6w@HIDDEN>
From: Jim Porter <jporterbugs@HIDDEN>
In-Reply-To: <CALG+76d84g60eaLs1Tx+WMpsCsZOsEicvqEmAse2N=hFUu9P6w@HIDDEN>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 81709
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>,
<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>,
<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)
On 8/25/2026 4:06 PM, Björn A. Lindqvist wrote:
> The first patch adds a function url-to-file-path for when you want to
> convert a string that may be a file URL to a file system path. Due to
> the existence of character encodings and Winblows it is not totally
> trivial. The second patch refactors dnd-get-local-file-name and
> eglot-path-to-uri so that they call url-to-file-path.
Thanks. Based on your second path, it does seem that a function like
this would reduce some code duplication.
I've actually written very similar code in my init files, so here are a
few drive-by comments based on my experience here:
> +;;;###autoload
> +(cl-defun url-to-file-pathx (maybe-url &key
Is the trailing "x" intentional? Also, GNU naming conventions generally
reserve the word "path" for a list of directories to search, as in
$PATH, $CPATH, etc. How about 'url-to-file-name'?
> +paths). If MAYBE-URL is not a file URI it is assumed to be a file
> +path. Return nil if MUST-BE-READABLE and the file path is not
> +readable. Embedded Windows drive-letters are parsed correctly."
I don't think this fallback behavior is something we'd want in all
cases. Probably better to have this return nil or signal an error, and
then have callers do something like '(or (url-to-file-path foo) foo)'.
Also, for MS-Windows absolute file names, the result of 'url-filename'
will be something like "/C:/foo/bar", and you may want to drop the
leading slash.
Finally, a small nitpick: Emacs prefers two spaces at the end of sentences.
> + (if (and include-host (length> host 0))
> + (concat "//" host p1)
I'm not sure what's going on here. Is this MS-Windows-specific? In
Emacs, it might be better to turn a file URL that includes a host into a
Tramp filename. Here's a snippet from my init files to show what I mean:
(setq filename (tramp-make-tramp-file-name
(make-tramp-file-name
:method tramp-default-method :user (url-user url)
:host host :localname filename)))
I didn't look at the second patch in any great detail yet, since I'd
have to spend a bit of time studying dnd.el to know just what's going on
there.
bug-gnu-emacs@HIDDEN:bug#81709; Package emacs.
Full text available.Received: (at submit) by debbugs.gnu.org; 25 Aug 2026 23:07:28 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Tue Aug 25 19:07:28 2026 Received: from localhost ([127.0.0.1]:55392 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1wz0Ep-00073t-7G for submit <at> debbugs.gnu.org; Tue, 25 Aug 2026 19:07:28 -0400 Received: from lists1p.gnu.org ([2001:470:142::17]:54604) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from <bjourne@HIDDEN>) id 1wz0El-00073K-GU for submit <at> debbugs.gnu.org; Tue, 25 Aug 2026 19:07:24 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <bjourne@HIDDEN>) id 1wz0Ef-0000he-TL for bug-gnu-emacs@HIDDEN; Tue, 25 Aug 2026 19:07:17 -0400 Received: from mail-yw1-x1130.google.com ([2607:f8b0:4864:20::1130]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from <bjourne@HIDDEN>) id 1wz0Ed-0006iT-A8 for bug-gnu-emacs@HIDDEN; Tue, 25 Aug 2026 19:07:17 -0400 Received: by mail-yw1-x1130.google.com with SMTP id 00721157ae682-8111c0c7561so3569157b3.3 for <bug-gnu-emacs@HIDDEN>; Tue, 25 Aug 2026 16:07:14 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1787699233; cv=none; d=google.com; s=arc-20260327; b=IstU0beUK1tNBJpWvAP29/7rqtAsJApAPKnMLhhw6k3naFWiQsOsafy7IGBM982gNF YWu8LpaEdzYYxTNLvisegqhcxjXZqYRCGzIdwTysiYCDDPIHi/P0LBFk2va8mol66xoe IfW52M8LmZIT29L9srEo+ISuKT4aljtIIJtxyUFm599rw2vfBfNNOE5cnysFhMpg5sUf X6+yV+5hvKE/EYiAUEWuFQGNr020HmN4Rx/kAOTiWSngvrXDW+Akh5oInnP3MEcIQKcC OAnURmO7CofHS/nswffY1GEnE0uZoZfYkeUpxBo+gF4g9QhjNJdQYv9yuJJ4PgzvH6sn nEKw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20260327; h=to:subject:message-id:date:from:mime-version:dkim-signature; bh=Boc0OU0pOkFpw3MnQy3mEOxBQR3hUEB1M+FLX2b3i5E=; fh=+R8aXOFVnuBbN1nRXJJI02Ia//JUQJmLW/Uk/VaA0ag=; b=mvf42hYGqALQMhpBWlj5bNBHyr1I2qFhiJvKgZc9F7q/2rFAujy4NgYMOuhqjTbLDf /kRLN6koMxP+Sr1iQRoP/BlUADn8iz8cOpjZOoQwA0Ueg7r2bIpC+lszMS99Dar+O6os 7NWhUyI4sEEhaQZg6npWNdNnso8aa9cstw+6mzs01xjJ1EYTdsWdl6GD/JWQQPNrUUQ2 1c7YqOBW2icgJO9Ip0vQfD0iacatPeKwRyn8EuvH3LFWnHlepvLmoXcAEJu+QuCXCW9N t8gaVautC+Z7HP5Fk1rFwlc/ZYjbca4o+9Q/NIaSfbtnsbcd8ZYny/SndhDO7o6YcYIP ye4g==; darn=gnu.org ARC-Authentication-Results: i=1; mx.google.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1787699233; x=1788304033; darn=gnu.org; h=content-type:to:subject:message-id:date:from:mime-version:from:to :cc:subject:date:message-id:reply-to:content-type; bh=Boc0OU0pOkFpw3MnQy3mEOxBQR3hUEB1M+FLX2b3i5E=; b=lbZg8Ul7LAcFs9Cgt+nuL81snWB/WpXEQvnvTD+7FEvrsu9X5XXkajh+a7MJc1/le6 pNZd3oOiQGJemEAQ7iyamGccwW4jq+uQEs+fuFPmUX3z3dWJLP61EuTGfz29LnQrQPTp rUMi2VP5L1GFWsy0SQQ2u9bMQOQ2vwRBsvPKDfnJyxQMOc2cL+P1UhrHR3rU7fA8CPio rrExQWM9LFZ4/bgs4Fg8GNmFv58HXbMkT0dEfzVplGm03kIIa4eXD+tkYY007118MY0f cgDs1hBRwB+smAC+mdfqtvQD8nrdgRJQ0kubadWSzYO1miEl6hAWguTeFO/n2F8UhQZv ImdA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787699233; x=1788304033; h=content-type:to:subject:message-id:date:from:mime-version:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=Boc0OU0pOkFpw3MnQy3mEOxBQR3hUEB1M+FLX2b3i5E=; b=pcG8skxynqWxk6UGwdEVC2gYyomJ7KbtPs9yQnKCwDRwg6WfkA+x48NE1No6VFWeqQ EnW1hVUTYhwEc2Ob/IO9CI4HDOKSihTpWWDZZKDGBrxNxLhRQy8+tjL58srKMkNC2qLl 7WLLd4+UMyW/SAuO0Zlel4rj53Junq5XtZVemE9lv2+ll3FsEYtsdPkb63tl4mqbqqU5 H24gUG8gUWG6i7EFaJimmPV+1dYSreyRAYfG6rwEBqQQQ8+Ff2IhmUvvbb41ZquspoxJ F7NlHzbxbwvVrQodrw2DoLIb6nqgKR8ZIPNTFWLVcCInWk9rdRPg3XD0X/zzz9QtEMGf w4Gg== X-Gm-Message-State: AFuF++kf07UnKN8AJapkafoVT3jHLuiu1e2WYVGaU00jwTG3JAUxWL1C PDrer6aDG6QE8d3u762aNio161E6y3KFFsw85VRDtUb+0BdeRu1KNbZQwgW2hybZQUIcYLwetbO YPrH8Y2eFo85k2wAZnA+THgoelczPLVzfpp0x2Hc= X-Gm-Gg: AR+sD135EN3w6MHxpPJoQOK4vFdtHUoUSWEKSuAeSHeqgbINUYGhQ0vtShdvqQW3T4R DBTAkWYs4YZAJNRTb4wpKj+ZF2ju364l5MG7+tEw5DFY8kHu75wyvikr6JLoNAeGsu/09nRRzHV AssN1qSq4H1jzNYBCrNS+xa2LlG3botIzB9vGrVXSGj+oOOOh/WYJPVW+QALQkEH2T8eDipTjdy NzbDtOkNZ8jyQMh7qee2fw4Tcx46B4I6MQbabiieULJB8jxNjkNKcdPXIoYkM8xI/aGCNaiogpd LTDHVAK+C0uKcXhC6HDejUsrRMXYvLnhbGhUMHeeKBhg6iYJPdmsEmal/0aHaWSo8YYkeae4/OU 2Q0eIFMlq7NZw41VFGkkAP8V2VvX2CiqiP6xI5mE40L+ZTXmKciaShmweqB/b+rIE/cc2HJgFaT KUIFKZ6ogoB63uAtMD1jc2djhONReMV5gWmMd21ee4ONA= X-Received: by 2002:a05:690c:650c:b0:826:8d41:897a with SMTP id 00721157ae682-8573cbc8038mr12615487b3.13.1787699232591; Tue, 25 Aug 2026 16:07:12 -0700 (PDT) MIME-Version: 1.0 From: =?UTF-8?Q?Bj=C3=B6rn_A=2E_Lindqvist?= <bjourne@HIDDEN> Date: Wed, 26 Aug 2026 01:06:35 +0200 X-Gm-Features: AcwNN1WY5XTY01fNLK_EfyVS1ueIuDUmTHLo0Z8QCzikmv4kKn4CmBsTmUM6XA4 Message-ID: <CALG+76d84g60eaLs1Tx+WMpsCsZOsEicvqEmAse2N=hFUu9P6w@HIDDEN> Subject: Function for converting file URLs to file paths To: bug-gnu-emacs@HIDDEN Content-Type: multipart/mixed; boundary="000000000000b9ee970659e72963" Received-SPF: pass client-ip=2607:f8b0:4864:20::1130; envelope-from=bjourne@HIDDEN; helo=mail-yw1-x1130.google.com X-Spam_score_int: -8 X-Spam_score: -0.9 X-Spam_bar: / X-Spam_report: (-0.9 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, NUMERIC_HTTP_ADDR=1.242, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: 2.0 (++) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: Hello Emacs Developers! In bug #81675 I tried to improve Emacs desktop integration via emacsclient. But that requires better file URL handling so I created this bug (I hope you don't mind). The first patch adds a function url-to-file-path for when you want to convert a string that may be a file URL to a file system path. Due to the existence of character encodings and Winblows it is not [...] Content analysis details: (2.0 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [2001:470:142:0:0:0:0:17 listed in] [list.dnswl.org] 1.0 FORGED_GMAIL_RCVD 'From' gmail.com does not match 'Received' headers 1.0 SPF_SOFTFAIL SPF: sender does not match SPF record (softfail) 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (bjourne[at]gmail.com) -0.0 SPF_HELO_PASS SPF: HELO matches SPF record 0.0 NUMERIC_HTTP_ADDR URI: Uses a numeric IP address in URL X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: 1.0 (+) --000000000000b9ee970659e72963 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Hello Emacs Developers! In bug #81675 I tried to improve Emacs desktop integration via emacsclient. But that requires better file URL handling so I created this bug (I hope you don't mind). The first patch adds a function url-to-file-path for when you want to convert a string that may be a file URL to a file system path. Due to the existence of character encodings and Winblows it is not totally trivial. The second patch refactors dnd-get-local-file-name and eglot-path-to-uri so that they call url-to-file-path. The patches cause no test suite errors and seem to work. Though I'm not familiar with either dnd or eglot so there may be corner cases I haven't considered. --=20 mvh/best regards Bj=C3=B6rn Lindqvist --000000000000b9ee970659e72963 Content-Type: text/x-patch; charset="UTF-8"; name="0001-Function-for-converting-file-URIs-to-local-file-syst.patch" Content-Disposition: attachment; filename="0001-Function-for-converting-file-URIs-to-local-file-syst.patch" Content-Transfer-Encoding: base64 Content-ID: <f_mt99vel70> X-Attachment-Id: f_mt99vel70 RnJvbSBhYWJkZTRkNDhmMjY4NzQ2MTU2MjNjMzQ0NGUwOTQ3ZTZjMWE2OWJmIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/Qmo9QzM9QjZybj0yMExpbmRxdmlzdD89IDxi am91cm5lQGdtYWlsLmNvbT4KRGF0ZTogTW9uLCAyNCBBdWcgMjAyNiAxNTowNTo0NyArMDIwMApT dWJqZWN0OiBbUEFUQ0ggMS8yXSBGdW5jdGlvbiBmb3IgY29udmVydGluZyBmaWxlIFVSSXMgdG8g bG9jYWwgZmlsZSBzeXN0ZW0KIHBhdGhzCgoqIGxpc3AvdXJsL3VybC11dGlsLmVsICh1cmwtdG8t ZmlsZS1wYXRoKTogbmV3IGZ1bmN0aW9uCiogdGVzdC9saXNwL3VybC91cmwtdXRpbC10ZXN0cy5l bCAodXJsLXRvLWZpbGUtcGF0aC10ZXN0cyk6IG5ldyB0ZXN0cwotLS0KIGxpc3AvdXJsL3VybC11 dGlsLmVsICAgICAgICAgICAgfCAzMSArKysrKysrKysrKysrKwogdGVzdC9saXNwL3VybC91cmwt dXRpbC10ZXN0cy5lbCB8IDcxICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogMiBm aWxlcyBjaGFuZ2VkLCAxMDIgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL2xpc3AvdXJsL3Vy bC11dGlsLmVsIGIvbGlzcC91cmwvdXJsLXV0aWwuZWwKaW5kZXggZmI3MGQ1NTM3NjguLjE1ODI1 MzkyNTIxIDEwMDY0NAotLS0gYS9saXNwL3VybC91cmwtdXRpbC5lbAorKysgYi9saXNwL3VybC91 cmwtdXRpbC5lbApAQCAtNjE2LDYgKzYxNiwzNyBAQCB1cmwtZG9tYWluCiAgICAgICApCiAgICAg KGFuZCBmb3VuZCBjYW5kaWRhdGUpKSkKCis7OzsjIyNhdXRvbG9hZAorKGNsLWRlZnVuIHVybC10 by1maWxlLXBhdGh4IChtYXliZS11cmwgJmtleQorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAoZGVjb2RlLWFzICd1dGYtOCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgKGluY2x1ZGUtaG9zdCBuaWwpCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIChtdXN0LWJlLXJlYWRhYmxlIG5pbCkpCisgICJDb252ZXJ0IE1BWUJFLVVS TCB0byBhIGZpbGUgcGF0aC4KKworSWYgTUFZQkUtVVJMIGlzIGEgZmlsZSBVUkwsIGFuZCBERUNP REUtQVMgaXMgbm9uLW5pbCwgcGVyY2VudC1kZWNvZGUgdGhlCitmaWxlbmFtZSBjb21wb25lbnQg KHBhdGggYW5kIHF1ZXJ5KSBhbmQgZGVjb2RlIHRoZSByZXN1bHQgdXNpbmcgdGhlCitnaXZlbiBj aGFyYWN0ZXIgZW5jb2RpbmcuIElmIE1BWUJFLVVSTCBpbmNsdWRlcyBhIGhvc3QgYW5kIElOQ0xV REUtSE9TVAoraXMgbm9uLW5pbCwgcHJlcGVuZCBcIi8vaG9zdFwiIHRvIHRoZSBmaWxlIHBhdGgg KHVzZWZ1bCBmb3IgVU5DCitwYXRocykuIElmIE1BWUJFLVVSTCBpcyBub3QgYSBmaWxlIFVSSSBp dCBpcyBhc3N1bWVkIHRvIGJlIGEgZmlsZQorcGF0aC4gUmV0dXJuIG5pbCBpZiBNVVNULUJFLVJF QURBQkxFIGFuZCB0aGUgZmlsZSBwYXRoIGlzIG5vdAorcmVhZGFibGUuIEVtYmVkZGVkIFdpbmRv d3MgZHJpdmUtbGV0dGVycyBhcmUgcGFyc2VkIGNvcnJlY3RseS4iCisgIChsZXQqICgocGFyc2Ug KHVybC1nZW5lcmljLXBhcnNlLXVybCBtYXliZS11cmwpKQorICAgICAgICAgKGZpbGUtcGF0aCAo aWYgKHN0cmluZz0gImZpbGUiICh1cmwtdHlwZSBwYXJzZSkpCisgICAgICAgICAgICAgICAgICAg ICAgICAobGV0KiAoKGhvc3QgKHVybC1ob3N0IHBhcnNlKSkKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAocDAgKHVybC1maWxlbmFtZSBwYXJzZSkpCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgKHAxIChpZiBkZWNvZGUtYXMKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIChkZWNvZGUtY29kaW5nLXN0cmluZworICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICh1cmwtdW5oZXgtc3RyaW5nIHAwKQorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGRlY29kZS1hcykKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBwMCkpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChp ZiAoYW5kIGluY2x1ZGUtaG9zdCAobGVuZ3RoPiBob3N0IDApKQorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgKGNvbmNhdCAiLy8iIGhvc3QgcDEpCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBwMSkpCisgICAgICAgICAgICAgICAgICAgICAgbWF5YmUtdXJs KSkpCisgICAgKHdoZW4gKG9yIChub3QgbXVzdC1iZS1yZWFkYWJsZSkKKyAgICAgICAgICAgICAg KGZpbGUtcmVhZGFibGUtcCBmaWxlLXBhdGgpKQorICAgICAgZmlsZS1wYXRoKSkpCisKIChwcm92 aWRlICd1cmwtdXRpbCkKCiA7OzsgdXJsLXV0aWwuZWwgZW5kcyBoZXJlCmRpZmYgLS1naXQgYS90 ZXN0L2xpc3AvdXJsL3VybC11dGlsLXRlc3RzLmVsIGIvdGVzdC9saXNwL3VybC91cmwtdXRpbC10 ZXN0cy5lbAppbmRleCA4NDM1YTJlOWUyYy4uODRiYjZlZmM1YTAgMTAwNjQ0Ci0tLSBhL3Rlc3Qv bGlzcC91cmwvdXJsLXV0aWwtdGVzdHMuZWwKKysrIGIvdGVzdC9saXNwL3VybC91cmwtdXRpbC10 ZXN0cy5lbApAQCAtODIsNiArODIsNzcgQEAgdXJsLWRvbWFpbi10ZXN0cwogICAoc2hvdWxkIChl cXVhbCAodXJsLWRvbWFpbiAodXJsLWdlbmVyaWMtcGFyc2UtdXJsICJodHRwOi8vMTkyLjE2OC4w LjEiKSkKICAgICAgICAgICAgICAgICAgbmlsKSkpCgorKGVydC1kZWZ0ZXN0IHVybC10by1maWxl LXBhdGgtdGVzdHMgKCkKKyAgOzsgQmFzaWMgdGVzdHMKKyAgKGxldCAoKHRlc3RzCisgICAgICAg ICAnKAorICAgICAgICAgICA7OyBXaW5kb3dzIGRyaXZlIGxldHRlcnMgYXJlIHNwZWNpYWwgY2Fz ZWQKKyAgICAgICAgICAgKCJmaWxlOi8vL1g6L2JsYWgudHh0IiAiWDovYmxhaC50eHQiKQorICAg ICAgICAgICAoImZpbGU6Ly8vYzpcXGJsYWgiICJjOlxcYmxhaCIpCisgICAgICAgICAgICgiZmls ZTovLy9DOi9Vc2Vycy9mb28iICJDOi9Vc2Vycy9mb28iKQorCisgICAgICAgICAgIDs7IDQtc2xh c2ggVU5DCisgICAgICAgICAgICgiZmlsZTovLy8vaG9zdC9wYXRoIiAiLy9ob3N0L3BhdGgiKQor CisgICAgICAgICAgIDs7IFBlcmNlbnQtZW5jb2RlZCBvY3RldHMgYXJlIHV0Zi04CisgICAgICAg ICAgICgiZmlsZTovLy8lYzMlYTVrZSIgIi/DpWtlIikKKyAgICAgICAgICAgKCJmaWxlOi8vLyVD MyVhNG5nbGEiICIvw6RuZ2xhIikKKyAgICAgICAgICAgKCJmaWxlOi8vLyVDMyVCNnJqYW4iICIv w7ZyamFuIikKKyAgICAgICAgICAgKCJmaWxlOi8vLyUyRiUyRiUyRmhtLnR4dCIgIi8vLy9obS50 eHQiKQorCisgICAgICAgICAgIDs7IE1hbGZvcm1lZCBVUkxzIHRoYXQgbGVnYWN5IHByb2dyYW1z IG1heSBwcm9kdWNlCisgICAgICAgICAgICgiZmlsZTpobSIgImhtIikKKyAgICAgICAgICAgKCJm aWxlOi9obSIgIi9obSIpCisKKyAgICAgICAgICAgOzsgRW1wdHkgcGF0aAorICAgICAgICAgICAo ImZpbGU6Ly9ob3N0IiAiIikKKworICAgICAgICAgICA7OyBPdGhlciBzY2hlbWVzIGFyZSBub3Qg cGFyc2VkCisgICAgICAgICAgICgiZnB0Oi8vaG9zdC90ZXN0LnR4dCIgImZwdDovL2hvc3QvdGVz dC50eHQiKQorCisgICAgICAgICAgIDs7IE5vdCBVUklzCisgICAgICAgICAgICgiXFxcXHJlbVxc c2hyXFxkaXJcXGZpbGUudHh0IiAiXFxcXHJlbVxcc2hyXFxkaXJcXGZpbGUudHh0IikKKyAgICAg ICAgICAgKCIvbm9ybWFsL3BhdGglQjZyamFuIiAiL25vcm1hbC9wYXRoJUI2cmphbiIpCisgICAg ICAgICAgICkpKQorICAgIChjbC1sb29wIGZvciAoaW4gb3V0KSBpbiB0ZXN0cworICAgICAgICAg ICAgIGRvIChzaG91bGQgKGVxdWFsICh1cmwtdG8tZmlsZS1wYXRoIGluKSBvdXQpKSkpCisgIDs7 IEJyaW5nIHlvdXIgb3duIGVuY29kaW5nCisgIChsZXQgKCh0ZXN0cworICAgICAgICAgJygKKyAg ICAgICAgICAgKCJmaWxlOi8vLyVDMyVCNnJqYW4iICIvJUMzJUI2cmphbiIgbmlsKQorICAgICAg ICAgICAoImZpbGU6Ly8vJUMzJUI2cmphbiIgIi/DtnJqYW4iIHV0Zi04KQorICAgICAgICAgICAo ImZpbGU6JTEyJTM0JTU2IiAiJTEyJTM0JTU2IiBuaWwpCisgICAgICAgICAgIDsgRG9uJ3QgZG8g dGhpcworICAgICAgICAgICAoImZpbGU6Ly8vJUMzJUI2cmphbiIgIi/Dg8K2cmphbiIgbGF0aW4t MSkKKyAgICAgICAgICAgKSkpCisgICAgKGNsLWxvb3AgZm9yIChpbiBvdXQgZGVjb2RlLWFzKSBp biB0ZXN0cworICAgICAgICAgICAgIGRvIChzaG91bGQgKGVxdWFsCisgICAgICAgICAgICAgICAg ICAgICAgICAgKHVybC10by1maWxlLXBhdGggaW4gOmRlY29kZS1hcyBkZWNvZGUtYXMpCisgICAg ICAgICAgICAgICAgICAgICAgICAgb3V0KSkpKQorCisgIDs7IEhvc3QgaW5jbHVzaW9uIGZvciBX aW5kb3dzIFVOQyBwYXRocworICAobGV0ICgodGVzdHMKKyAgICAgICAgICcoCisgICAgICAgICAg ICgiZmlsZTovL3RoZWhvc3QvcDEvcDIiICIvL3RoZWhvc3QvcDEvcDIiKQorICAgICAgICAgICAo ImZpbGU6Ly8vL2hvc3QvcGF0aCIgIi8vaG9zdC9wYXRoIikKKyAgICAgICAgICAgKCJmaWxlOi8v L2MxL2MyL2MzIiAiL2MxL2MyL2MzIikKKyAgICAgICAgICAgKSkpCisgICAgKGNsLWxvb3AgZm9y IChpbiBvdXQgZGVjb2RlLWFzKSBpbiB0ZXN0cworICAgICAgICAgICAgIGRvIChzaG91bGQgKGVx dWFsCisgICAgICAgICAgICAgICAgICAgICAgICAgKHVybC10by1maWxlLXBhdGggaW4gOmluY2x1 ZGUtaG9zdCB0KQorICAgICAgICAgICAgICAgICAgICAgICAgIG91dCkpKSkKKworICA7OyBSZXR1 cm4gbmlsIGlmIHBhdGggZG9lc24ndCBleGlzdAorICAobGV0ICgodGVzdHMKKyAgICAgICAgICco CisgICAgICAgICAgICgiL2RvZXMvbm90L2V4aXN0IiBuaWwpCisgICAgICAgICAgICgiZmlsZTov Ly9ldGMvbm90aGluZy9oZXJlIiBuaWwpCisgICAgICAgICAgICkpKQorICAgIChjbC1sb29wIGZv ciAoaW4gb3V0KSBpbiB0ZXN0cworICAgICAgICAgICAgIGRvIChzaG91bGQgKGVxdWFsCisgICAg ICAgICAgICAgICAgICAgICAgICAgKHVybC10by1maWxlLXBhdGggaW4gOm11c3QtYmUtcmVhZGFi bGUgdCkKKyAgICAgICAgICAgICAgICAgICAgICAgICBvdXQpKSkpKQorCiAocHJvdmlkZSAndXJs LXV0aWwtdGVzdHMpCgogOzs7IHVybC11dGlsLXRlc3RzLmVsIGVuZHMgaGVyZQotLQoyLjU1LjAK --000000000000b9ee970659e72963 Content-Type: text/x-patch; charset="US-ASCII"; name="0002-Outsource-file-URL-parsing-to-url-to-file-path-it-ne.patch" Content-Disposition: attachment; filename="0002-Outsource-file-URL-parsing-to-url-to-file-path-it-ne.patch" Content-Transfer-Encoding: base64 Content-ID: <f_mt99vl1n1> X-Attachment-Id: f_mt99vl1n1 RnJvbSA1ZmU3MDQ4NmYyODQzZDEyMWIyZjQwZWEwNTEzZWZkNzExODJhZGM5IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/Qmo9QzM9QjZybj0yMExpbmRxdmlzdD89IDxi am91cm5lQGdtYWlsLmNvbT4KRGF0ZTogVHVlLCAyNSBBdWcgMjAyNiAyMjoyNTozOSArMDIwMApT dWJqZWN0OiBbUEFUQ0ggMi8yXSBPdXRzb3VyY2UgZmlsZSBVUkwgcGFyc2luZyB0byB1cmwtdG8t ZmlsZS1wYXRoIC0tIGl0CiBuZWVkcyBjYWxsc2l0ZXMKCiogbGlzcC9kbmQuZWwgKGRuZC1nZXQt bG9jYWwtZmlsZS1uYW1lKTogdXNlIHVybC10by1maWxlLXBhdGgKKiBsaXNwL2VnbG90LmVsIChl Z2xvdC1wYXRoLXRvLXVyaSk6IGRpdG8KLS0tCiBsaXNwL2RuZC5lbCAgICAgICAgICAgICB8IDU3 ICsrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiBsaXNwL3Byb2dtb2Rl cy9lZ2xvdC5lbCB8IDQyICsrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLQogMiBmaWxlcyBj aGFuZ2VkLCAzNSBpbnNlcnRpb25zKCspLCA2NCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9s aXNwL2RuZC5lbCBiL2xpc3AvZG5kLmVsCmluZGV4IGVjZDM3YWRjMDU0Li5kZTc4ZGU0NTg0YyAx MDA2NDQKLS0tIGEvbGlzcC9kbmQuZWwKKysrIGIvbGlzcC9kbmQuZWwKQEAgLTMwMSw1MiArMzAx LDM1IEBAIGRuZC11bmVzY2FwZS1maWxlLXVyaXMKIEJpbmQgdGhpcyB0byBuaWwgd2hlbiBwcm92 aWRpbmcgYGRuZC1nZXQtbG9jYWwtZmlsZS1uYW1lJyB3aXRoIGEKIGZpbGUgbmFtZSB0aGF0IG1h eSBpbmNvcnBvcmF0ZSBVUkkgZXNjYXBlIHNlcXVlbmNlcy4iKQogCi0oZGVmdW4gZG5kLS11bmVz Y2FwZS11cmkgKHVyaSkKLSAgOzsgTWVyZ2Ugd2l0aCBjb3JyZXNwb25kaW5nIGNvZGUgaW4gVVJM IGxpYnJhcnkuCi0gIChyZXBsYWNlLXJlZ2V4cC1pbi1zdHJpbmcKLSAgICIlW1s6eGRpZ2l0Ol1d W1s6eGRpZ2l0Ol1dIgotICAgKGxhbWJkYSAoYXJnKQotICAgICAobGV0ICgoc3RyIChtYWtlLXN0 cmluZyAxIDApKSkKLSAgICAgICAoYXNldCBzdHIgMCAoc3RyaW5nLXRvLW51bWJlciAoc3Vic3Ry aW5nIGFyZyAxKSAxNikpCi0gICAgICAgc3RyKSkKLSAgIHVyaSB0IHQpKQotCiA7OyBodHRwczov L2xpc3RzLmdudS5vcmcvci9lbWFjcy1kZXZlbC8yMDA2LTA1L21zZzAxMDYwLmh0bWwKIChkZWZ1 biBkbmQtZ2V0LWxvY2FsLWZpbGUtbmFtZSAodXJpICZvcHRpb25hbCBtdXN0LWV4aXN0KQogICAi UmV0dXJuIGZpbGUgbmFtZSBjb252ZXJ0ZWQgZnJvbSBmaWxlOi8vLyBvciBmaWxlOiBzeW50YXgu Ci1VUkkgaXMgdGhlIHVyaSBmb3IgdGhlIGZpbGUuICBJZiBNVVNULUVYSVNUIGlzIGdpdmVuIGFu ZCBub24tbmlsLAotb25seSByZXR1cm4gbm9uLW5pbCBpZiB0aGUgZmlsZSBleGlzdHMuCi1SZXR1 cm4gbmlsIGlmIFVSSSBpcyBub3QgYSBsb2NhbCBmaWxlLiIKLSAgKGxldCAoKGYgKGNvbmQgKChz dHJpbmctbWF0Y2ggIl5maWxlOi8vLyIgdXJpKQk7IFhETkQgZm9ybWF0LgotCQkgIChzdWJzdHJp bmcgdXJpICgxLSAobWF0Y2gtZW5kIDApKSkpCi0JCSAoKHN0cmluZy1tYXRjaCAiXmZpbGU6IiB1 cmkpCQk7IE9sZCBLREUsIE1vdGlmLCBTdW4KLQkJICAoc3Vic3RyaW5nIHVyaSAobWF0Y2gtZW5k IDApKSkpKQotCShjb2RpbmcgKGlmIChlcXVhbCBzeXN0ZW0tdHlwZSAnd2luZG93cy1udCkKLQkJ ICAgIDs7IFczMiBwcmV0ZW5kcyB0aGF0IGZpbGUgbmFtZXMgYXJlIFVURi04IGVuY29kZWQuCi0J CSAgICAndXRmLTgKLQkJICAob3IgZmlsZS1uYW1lLWNvZGluZy1zeXN0ZW0KLQkJICAgICAgZGVm YXVsdC1maWxlLW5hbWUtY29kaW5nLXN5c3RlbSkpKSkKLSAgICAoYW5kIGYgKHNldHEgZiAoZGVj b2RlLWNvZGluZy1zdHJpbmcKLSAgICAgICAgICAgICAgICAgICAgKGlmIGRuZC11bmVzY2FwZS1m aWxlLXVyaXMKLSAgICAgICAgICAgICAgICAgICAgICAgIChkbmQtLXVuZXNjYXBlLXVyaSBmKSBm KQotICAgICAgICAgICAgICAgICAgICBjb2RpbmcpKSkKLSAgICAod2hlbiAoYW5kIGYgbXVzdC1l eGlzdCAobm90IChmaWxlLXJlYWRhYmxlLXAgZikpKQotICAgICAgKHNldHEgZiBuaWwpKQotICAg IGYpKQorVVJJIGlzIHRoZSB1cmkgZm9yIHRoZSBmaWxlLiAgSWYgTVVTVC1FWElTVCBpcyBub24t bmlsLCBvbmx5IHJldHVybgorbm9uLW5pbCBpZiB0aGUgZmlsZSBleGlzdHMuICBSZXR1cm4gbmls IGlmIFVSSSBpcyBub3QgYSBsb2NhbCBmaWxlLiIKKworICAobGV0ICgoZGVjb2RlLWFzICh3aGVu IGRuZC11bmVzY2FwZS1maWxlLXVyaXMKKyAgICAgICAgICAgICAgICAgICAgIDs7IFczMiBwcmV0 ZW5kcyB0aGF0IGZpbGUgbmFtZXMgYXJlIFVURi04IGVuY29kZWQuCisgICAgICAgICAgICAgICAg ICAgICAoaWYgKGVxdWFsIHN5c3RlbS10eXBlICd3aW5kb3dzLW50KQorICAgICAgICAgICAgICAg ICAgICAgICAgICd1dGYtOAorICAgICAgICAgICAgICAgICAgICAgICAob3IgZmlsZS1uYW1lLWNv ZGluZy1zeXN0ZW0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQtZmlsZS1uYW1l LWNvZGluZy1zeXN0ZW0pKSkpKQorICAgICh1cmwtdG8tZmlsZS1wYXRoIHVyaQorICAgICAgICAg ICAgICAgICAgICAgIDpkZWNvZGUtYXMgZGVjb2RlLWFzCisgICAgICAgICAgICAgICAgICAgICAg OmluY2x1ZGUtaG9zdCB0CisgICAgICAgICAgICAgICAgICAgICAgOm11c3QtYmUtcmVhZGFibGUg bXVzdC1leGlzdCkpKQogCiAoZGVmdW4gZG5kLW9wZW4tbG9jYWwtZmlsZSAodXJpIF9hY3Rpb24p CiAgICJPcGVuIGEgbG9jYWwgZmlsZS4KIFRoZSBmaWxlIGlzIG9wZW5lZCBpbiB0aGUgY3VycmVu dCB3aW5kb3csIG9yIGEgbmV3IHdpbmRvdyBpZgotYGRuZC1vcGVuLWZpbGUtb3RoZXItd2luZG93 JyBpcyBzZXQuICBVUkkgaXMgdGhlIHVybCBmb3IgdGhlIGZpbGUsCi1hbmQgbXVzdCBoYXZlIHRo ZSBmb3JtYXQgZmlsZTpmaWxlLW5hbWUgb3IgZmlsZTovLy9maWxlLW5hbWUuCi1UaGUgbGFzdCAv IGluIGZpbGU6Ly8vIGlzIHBhcnQgb2YgdGhlIGZpbGUgbmFtZS4gIElmIHRoZSBzeXN0ZW0KLW5h dGl2ZWx5IHN1cHBvcnRzIHVuYyBmaWxlIG5hbWVzLCB0aGVuIHJlbW90ZSB1cmxzIG9mIHRoZSBm b3JtCi1maWxlOi8vc2VydmVyLW5hbWUvZmlsZS1uYW1lIHdpbGwgYWxzbyBiZSBoYW5kbGVkIGJ5 IHRoaXMgZnVuY3Rpb24uCi1BbiBhbHRlcm5hdGl2ZSBmb3Igc3lzdGVtcyB0aGF0IGRvIG5vdCBz dXBwb3J0IHVuYyBmaWxlIG5hbWVzIGlzCi1gZG5kLW9wZW4tcmVtb3RlLXVybCcuICBBQ1RJT04g aXMgaWdub3JlZC4iCitgZG5kLW9wZW4tZmlsZS1vdGhlci13aW5kb3cnIGlzIHNldC4gIFVSSSBp cyB0aGUgdXJsIGZvciB0aGUgZmlsZSwgYW5kCittdXN0IGhhdmUgdGhlIGZvcm1hdCBmaWxlOmZp bGUtbmFtZSBvciBmaWxlOi8vL2ZpbGUtbmFtZS4gIFRoZSBsYXN0IC8gaW4KK2ZpbGU6Ly8vIGlz IHBhcnQgb2YgdGhlIGZpbGUgbmFtZS4gIFJlbW90ZSB1cmxzIG9mIHRoZSBmb3JtCitmaWxlOi8v c2VydmVyLW5hbWUvZmlsZS1uYW1lIGFyZSBoYW5kbGVkIGJ5IHRoaXMgZnVuY3Rpb24gaWYKK3Ro ZSBzeXN0ZW0gc3VwcG9ydHMgdGhlbS4gIEFuIGFsdGVybmF0aXZlIGZvciBzeXN0ZW1zIHRoYXQg ZG8gbm90CitzdXBwb3J0IHVuYyBmaWxlIG5hbWVzIGlzIGBkbmQtb3Blbi1yZW1vdGUtdXJsJy4g IEFDVElPTiBpcyBpZ25vcmVkLiIKIAogICAobGV0KiAoKGYgKGRuZC1nZXQtbG9jYWwtZmlsZS1u YW1lIHVyaSB0KSkpCi0gICAgKGlmIChhbmQgZiAoZmlsZS1yZWFkYWJsZS1wIGYpKQorICAgIChp ZiBmCiAJKHByb2duCiAJICAoaWYgZG5kLW9wZW4tZmlsZS1vdGhlci13aW5kb3cKIAkgICAgICAo ZmluZC1maWxlLW90aGVyLXdpbmRvdyBmKQpkaWZmIC0tZ2l0IGEvbGlzcC9wcm9nbW9kZXMvZWds b3QuZWwgYi9saXNwL3Byb2dtb2Rlcy9lZ2xvdC5lbAppbmRleCBmMmE5ZTM2OTg5Yy4uOTFhMDNh MGVmMmIgMTAwNjQ0Ci0tLSBhL2xpc3AvcHJvZ21vZGVzL2VnbG90LmVsCisrKyBiL2xpc3AvcHJv Z21vZGVzL2VnbG90LmVsCkBAIC0xMjU0LDM5ICsxMjU0LDI3IEBAIGVnbG90LWxzcC1zZXJ2ZXIK ICAgOmRvY3VtZW50YXRpb24KICAgIlJlcHJlc2VudHMgYSBzZXJ2ZXIuIFdyYXBzIGEgcHJvY2Vz cyBmb3IgTFNQIGNvbW11bmljYXRpb24uIikKIAotKGRlY2xhcmUtZnVuY3Rpb24gdzMyLWxvbmct ZmlsZS1uYW1lICJ3MzJwcm9jLmMiIChmbikpCiAoZGVmdW4gZWdsb3QtdXJpLXRvLXBhdGggKHVy aSkKICAgIkNvbnZlcnQgVVJJIHRvIGZpbGUgcGF0aCwgaGVscGVkIGJ5IGBlZ2xvdC1jdXJyZW50 LXNlcnZlcicuIgogICAod2hlbiAoa2V5d29yZHAgdXJpKSAoc2V0cSB1cmkgKHN1YnN0cmluZyAo c3ltYm9sLW5hbWUgdXJpKSAxKSkpCiAgIChsZXQqICgoc2VydmVyIChlZ2xvdC1jdXJyZW50LXNl cnZlcikpCi0gICAgICAgICAocmVtb3RlLXByZWZpeCAoYW5kIHNlcnZlciAoZWdsb3QtLXRyYW1w aXNoLXAgc2VydmVyKSkpCiAgICAgICAgICAocm9vdCAoYW5kIHNlcnZlciAocHJvamVjdC1yb290 IChlZ2xvdC0tcHJvamVjdCBzZXJ2ZXIpKSkpCisgICAgICAgICAocmVtb3RlLXByZWZpeCAoYW5k IHNlcnZlciAoZWdsb3QtLXRyYW1waXNoLXAgc2VydmVyKSkpCiAgICAgICAgICAodHJ1ZXJvb3Qg KGFuZCBzZXJ2ZXIgKGVnbG90LS10cnVlcm9vdCBzZXJ2ZXIpKSkKLSAgICAgICAgICh1cmwgKHVy bC1nZW5lcmljLXBhcnNlLXVybCB1cmkpKSkKLSAgICA7OyBPbmx5IHBhcnNlIGZpbGU6Ly8gVVJJ cywgbGVhdmUgb3RoZXIgVVJJIHVudG91Y2hlZCBhcwotICAgIDs7IGBmaWxlLW5hbWUtaGFuZGxl ci1hbGlzdCcgc2hvdWxkIGtub3cgaG93IHRvIGhhbmRsZSB0aGVtCi0gICAgOzsgKGJ1ZyM1ODc5 MCkuCi0gICAgKGlmIChzdHJpbmc9ICJmaWxlIiAodXJsLXR5cGUgdXJsKSkKLSAgICAgICAgKGxl dCogKCh1bmhleGVkIChkZWNvZGUtY29kaW5nLXN0cmluZwotICAgICAgICAgICAgICAgICAgICAg ICAgICh1cmwtdW5oZXgtc3RyaW5nICh1cmwtZmlsZW5hbWUgdXJsKSkgJ3V0Zi04LXVuaXgpKQot ICAgICAgICAgICAgICAgOzsgUmVtb3ZlIHRoZSBsZWFkaW5nICIvIiBmb3IgbG9jYWwgTVMgV2lu ZG93cy1zdHlsZSBwYXRocy4KLSAgICAgICAgICAgICAgIChub3JtIChpZiAoYW5kIChub3QgcmVt b3RlLXByZWZpeCkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChlcSBzeXN0 ZW0tdHlwZSAnd2luZG93cy1udCkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IChjbC1wbHVzcCAobGVuZ3RoIHVuaGV4ZWQpKQotICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgKGVxIChhcmVmIHVuaGV4ZWQgMCkgPy8pKQotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICh3MzItbG9uZy1maWxlLW5hbWUgKHN1YnN0cmluZyB1bmhleGVkIDEpKQotICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB1bmhleGVkKSkKLSAgICAgICAgICAgICAgIDs7IEV2 ZW4gdGhvdWdoIHdlIGV4Y2hhbmdlIHRydWVuYW1lIFVSSXMgd2l0aCB0aGUgc2VydmVyLAotICAg ICAgICAgICAgICAgOzsgZW5zdXJlIHBhdGhzIGV4Y2hhbmdlZCB3aXRoIEVtYWNzIGZhY2lsaXRp ZXMgc3VjaCBhcwotICAgICAgICAgICAgICAgOzsgWHJlZiBjb250YWlucyB0aGUgZmFtaWxpYXIg cm9vdCBhcyBmb3VuZCBieQotICAgICAgICAgICAgICAgOzsgJ3Byb2plY3QtY3VycmVudCcsIG5v dCBhIHBvdGVudGlhbGx5IG9ic2N1cmUKLSAgICAgICAgICAgICAgIDs7IGNhbm9uaWNhbGl6ZWQg dHJ1ZW5hbWUuCi0gICAgICAgICAgICAgICAobm9ybQotICAgICAgICAgICAgICAgIChpZiAoYW5k IHRydWVyb290IChzdHJpbmctcHJlZml4LXAgdHJ1ZXJvb3Qgbm9ybSkpCi0gICAgICAgICAgICAg ICAgICAgIChleHBhbmQtZmlsZS1uYW1lIChzdWJzdHJpbmcgbm9ybSAobGVuZ3RoIHRydWVyb290 KSkgcm9vdCkKLSAgICAgICAgICAgICAgICAgIG5vcm0pKSkKLSAgICAgICAgICAoY29uY2F0IHJl bW90ZS1wcmVmaXggbm9ybSkpCi0gICAgICB1cmkpKSkKKyAgICAgICAgIDs7IE9ubHkgcGFyc2Vz IGZpbGU6Ly8gVVJJcywgbGVhdmVzIG90aGVyIFVSSSB1bnRvdWNoZWQgYXMKKyAgICAgICAgIDs7 IGBmaWxlLW5hbWUtaGFuZGxlci1hbGlzdCcga25vd3MgaG93IHRvIGhhbmRsZSB0aGVtCisgICAg ICAgICA7OyAoYnVnIzU4NzkwKS4KKyAgICAgICAgIChwYXRoICh1cmwtdG8tZmlsZS1wYXRoIHVy aSkpCisgICAgICAgICA7OyBFdmVuIHRob3VnaCB3ZSBleGNoYW5nZSB0cnVlbmFtZSBVUklzIHdp dGggdGhlIHNlcnZlciwKKyAgICAgICAgIDs7IGVuc3VyZSBwYXRocyBleGNoYW5nZWQgd2l0aCBF bWFjcyBmYWNpbGl0aWVzIHN1Y2ggYXMgWHJlZgorICAgICAgICAgOzsgY29udGFpbnMgdGhlIGZh bWlsaWFyIHJvb3QgYXMgZm91bmQgYnkgJ3Byb2plY3QtY3VycmVudCcsCisgICAgICAgICA7OyBu b3QgYSBwb3RlbnRpYWxseSBvYnNjdXJlIGNhbm9uaWNhbGl6ZWQgdHJ1ZW5hbWUuCisgICAgICAg ICAobm9ybWVkLXBhdGggKGlmIChhbmQgdHJ1ZXJvb3QgKHN0cmluZy1wcmVmaXgtcCB0cnVlcm9v dCBwYXRoKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgKGV4cGFuZC1maWxlLW5hbWUKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgIChzdWJzdHJpbmcgcGF0aCAobGVuZ3RoIHRydWVyb290 KSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIHJvb3QpCisgICAgICAgICAgICAgICAgICAg ICAgICBwYXRoKSkpCisgICAgKGNvbmNhdCByZW1vdGUtcHJlZml4IG5vcm1lZC1wYXRoKSkpCiAK IChjbC1kZWZ1biBlZ2xvdC1wYXRoLXRvLXVyaSAocGF0aCAma2V5IHRydWVuYW1lcCkKICAgIkNv bnZlcnQgUEFUSCwgYSBmaWxlIG5hbWUsIHRvIExTUCBVUkkgc3RyaW5nIGFuZCByZXR1cm4gaXQu Ci0tIAoyLjU1LjAKCg== --000000000000b9ee970659e72963--
Björn A. Lindqvist <bjourne@HIDDEN>:bug-gnu-emacs@HIDDEN.
Full text available.bug-gnu-emacs@HIDDEN:bug#81709; Package emacs.
Full text available.
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997 nCipher Corporation Ltd,
1994-97 Ian Jackson.