From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Yuan Fu Newsgroups: gmane.emacs.bugs Subject: bug#55357: 29.0.50; [PATCH] Fix browse-url-emacs on file:// urls Date: Wed, 11 May 2022 00:05:50 -0700 Message-ID: Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3696.80.82.1.1\)) Content-Type: multipart/mixed; boundary="Apple-Mail=_EAC0D797-2FAB-4799-88E4-4937434036D8" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="15860"; mail-complaints-to="usenet@ciao.gmane.io" To: 55357@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Wed May 11 09:06:15 2022 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 1nogQJ-0003wU-L3 for geb-bug-gnu-emacs@m.gmane-mx.org; Wed, 11 May 2022 09:06:15 +0200 Original-Received: from localhost ([::1]:40066 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nogQI-0007dm-5m for geb-bug-gnu-emacs@m.gmane-mx.org; Wed, 11 May 2022 03:06:14 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:39446) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nogQ6-0007dc-QF for bug-gnu-emacs@gnu.org; Wed, 11 May 2022 03:06:02 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]:41915) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nogQ6-00020a-Hc for bug-gnu-emacs@gnu.org; Wed, 11 May 2022 03:06:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1nogQ6-0005Vx-Bf for bug-gnu-emacs@gnu.org; Wed, 11 May 2022 03:06:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Yuan Fu Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 11 May 2022 07:06:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 55357 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch X-Debbugs-Original-To: Bug Report Emacs Original-Received: via spool by submit@debbugs.gnu.org id=B.165225275921187 (code B ref -1); Wed, 11 May 2022 07:06:02 +0000 Original-Received: (at submit) by debbugs.gnu.org; 11 May 2022 07:05:59 +0000 Original-Received: from localhost ([127.0.0.1]:35812 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nogQ3-0005Vf-He for submit@debbugs.gnu.org; Wed, 11 May 2022 03:05:59 -0400 Original-Received: from lists.gnu.org ([209.51.188.17]:49144) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nogQ1-0005VX-Up for submit@debbugs.gnu.org; Wed, 11 May 2022 03:05:58 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:39414) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nogQ1-0007dJ-PS for bug-gnu-emacs@gnu.org; Wed, 11 May 2022 03:05:57 -0400 Original-Received: from mail-pl1-x62a.google.com ([2607:f8b0:4864:20::62a]:45779) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nogPz-0001xt-D7 for bug-gnu-emacs@gnu.org; Wed, 11 May 2022 03:05:57 -0400 Original-Received: by mail-pl1-x62a.google.com with SMTP id q18so989957pln.12 for ; Wed, 11 May 2022 00:05:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:mime-version:subject:message-id:date:to; bh=MorxrWTrGE0F1RytYHTULR/wjWMKdMdH287n8JKlqbk=; b=jUKgA715fbeP/yQm7MVATQC1oZ/U15L07Bxv2CrEN4K5zMWz4yCWuz2eHC/X9J8WkY hoPrfNPBkLz3uoX2/1sBP/Qj+FbVIe6W82Y/RaOLDCnogprWZff8eszwYzC5ju7sSl2w DYLJJHUoBjcww8KGPuNAVLLazd0W5j0aSM+5KX+O+WN8ZbAUQJcgJgLjFVZT/T6Vy9wf 0km4SMyJK7VLffVqQQmQdQ3zsI0f/3LYT0GGBGKqhfgKB75LDZJ2CBNnCYI/U5qA7Oja 5k5/G+N54lwqYuvcnSS1dNiwSD8vnLasUudCvUxKaXLg8Wzlqka6WM2uxxgMUDNx0UG7 Wf4g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:mime-version:subject:message-id:date:to; bh=MorxrWTrGE0F1RytYHTULR/wjWMKdMdH287n8JKlqbk=; b=s3L5FmmQCsGPDYyKB6nwxd/DdbxWbziPM7OjtcK7HlchwYTa1t73DKlMa69X2qykoQ KjyUaaCs36bH4JF2VOWEbTb6s/avPymXDhgeE35PBf8Gl1A9Yv7UkbSpZUbZRw1gHuVE i4GVAL5chAxgorJpBU9qPUKh85mFGErDOLOUyooyDz/W/DdMZZhXLqHVblWrF4gWigEw OcmZ44aCPwxwtjHj60IKVuE1WI/XZIptEphkqLybtZbM0Ogx0tXzTl9Z0vVjBGEjak5v tYbLr2ZcJYLHoCK3txQgE+POvMsFrGd5vt7dM6wmOn7Q5oSLHbpuAFkNeWexESzE3Rci xP3A== X-Gm-Message-State: AOAM531JmPJH0Wfflb77cUPj/oK4pItvLpnP1b+YUHc8Vb2QezzbrgwA R6lNO9FPbIC435up7pW02XvOiEZMqpo= X-Google-Smtp-Source: ABdhPJwZBQ80T0SIPg004jLCmjyP29KFwnteYno/ALGalavU2pOMZE/fIz8eh/sCCf46sVq+2QNyFw== X-Received: by 2002:a17:90b:1e05:b0:1dc:575e:6211 with SMTP id pg5-20020a17090b1e0500b001dc575e6211mr3839276pjb.120.1652252753589; Wed, 11 May 2022 00:05:53 -0700 (PDT) Original-Received: from smtpclient.apple ([2600:1700:2ec7:8c90:7cb3:8483:26c4:aa26]) by smtp.gmail.com with ESMTPSA id q1-20020a170902bd8100b0015e8d4eb28esm892553pls.216.2022.05.11.00.05.52 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 11 May 2022 00:05:53 -0700 (PDT) X-Mailer: Apple Mail (2.3696.80.82.1.1) Received-SPF: pass client-ip=2607:f8b0:4864:20::62a; envelope-from=casouri@gmail.com; helo=mail-pl1-x62a.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 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, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action 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" Xref: news.gmane.io gmane.emacs.bugs:231879 Archived-At: --Apple-Mail=_EAC0D797-2FAB-4799-88E4-4937434036D8 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=utf-8 If you call browse-url-emacs with a file:// url, Emacs does not open the = correct file: (browse-url-emacs "file://~/a/b") opens /a/b (browse-url-emacs "file://a/b") opens /b Basically unless the path is an absolute path, the first level is = chopped because url parses it as host and throws it away. This patch = concats the host back. If the path is absolute, host is empty string so = it=E2=80=99s ok. Yuan --Apple-Mail=_EAC0D797-2FAB-4799-88E4-4937434036D8 Content-Disposition: attachment; filename=file-url.patch Content-Type: application/octet-stream; x-unix-mode=0644; name="file-url.patch" Content-Transfer-Encoding: 7bit diff --git a/lisp/net/browse-url.el b/lisp/net/browse-url.el index 66898d7707..393ed76e8b 100644 --- a/lisp/net/browse-url.el +++ b/lisp/net/browse-url.el @@ -1250,7 +1250,9 @@ browse-url-emacs (func (if same-window 'find-file 'find-file-other-window))) (if (equal (url-type parsed) "file") ;; It's a file; just open it. - (let ((file (url-unhex-string (url-filename parsed)))) + (let ((file (url-unhex-string + (concat (url-host parsed) + (url-filename parsed))))) (when-let ((coding (browse-url--file-name-coding-system))) (setq file (decode-coding-string file 'utf-8))) (funcall func file)) --Apple-Mail=_EAC0D797-2FAB-4799-88E4-4937434036D8--