Stefan Kangas <stefankangas@HIDDEN>
to control <at> debbugs.gnu.org.
Full text available.Received: (at 69098) by debbugs.gnu.org; 18 Feb 2024 12:36:33 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Sun Feb 18 07:36:33 2024 Received: from localhost ([127.0.0.1]:34242 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1rbgPI-0005Zv-UD for submit <at> debbugs.gnu.org; Sun, 18 Feb 2024 07:36:33 -0500 Received: from mout01.posteo.de ([185.67.36.65]:57793) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <philipk@HIDDEN>) id 1rbgPE-0005Zf-CV for 69098 <at> debbugs.gnu.org; Sun, 18 Feb 2024 07:36:31 -0500 Received: from submission (posteo.de [185.67.36.169]) by mout01.posteo.de (Postfix) with ESMTPS id 91007240028 for <69098 <at> debbugs.gnu.org>; Sun, 18 Feb 2024 13:36:01 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017; t=1708259761; bh=Exvjs5lKR71B1a9LJQJFcLKyTSC80ttPFHhJWMglc68=; h=From:To:Cc:Subject:Autocrypt:Date:Message-ID:MIME-Version: Content-Type:From; b=gH4FJ788/2iUONldEj30TKXrHNLpWQWuWDQwYGI7qRiwTO+XkSYO1wt/92jjBXiDy bfOqwuGz8BM8XgWZF38sRG3ihxVv3OwQmM8YQgThdbJ1tX6t+b6TX6olA1wEgnNkRE S+WdD9PEkUxr/ZGs5FZeqPMsgUoB/P/4JNM8bmvvvJ6+3JK0sNd2+6LQtYDUItsZp1 dTmwEORF6EbQ93iKy4//XlV2epoc09Gyw8lNeuw4WM6sn++hqO9gZKRfNSg7tM4MTA RN/0EXGfFeOxIDu4noioRVH5sAUaQ+AuPRUKiRJbJbOsKbGZruU3tiQCzoFxtVFxQL m3PXY/AVVpb+A== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4Td4sF1L1Pz9rxM; Sun, 18 Feb 2024 13:36:01 +0100 (CET) From: Philip Kaludercic <philipk@HIDDEN> To: Felician Nemeth <felician.nemeth@HIDDEN> Subject: Re: bug#69098: [PATCH] Add new command 'browse-url-here' In-Reply-To: <87a5nynp04.fsf@HIDDEN> (Felician Nemeth's message of "Sun, 18 Feb 2024 09:41:15 +0100") References: <87ttmc7k0h.fsf@HIDDEN> <877cj8d1a2.fsf@HIDDEN> <875xyrged4.fsf@HIDDEN> <87a5nynp04.fsf@HIDDEN> X-Hashcash: 1:20:240218:felician.nemeth@HIDDEN::/ZJOwd+yv8JKZO5V:0C+T X-Hashcash: 1:20:240218:69098 <at> debbugs.gnu.org::iMv5asD1Qv/9CE28:1yLH Autocrypt: addr=philipk@HIDDEN; keydata= mDMEZBBQQhYJKwYBBAHaRw8BAQdAHJuofBrfqFh12uQu0Yi7mrl525F28eTmwUDflFNmdui0QlBo aWxpcCBLYWx1ZGVyY2ljIChnZW5lcmF0ZWQgYnkgYXV0b2NyeXB0LmVsKSA8cGhpbGlwa0Bwb3N0 ZW8ubmV0PoiWBBMWCAA+FiEEDg7HY17ghYlni8XN8xYDWXahwukFAmQQUEICGwMFCQHhM4AFCwkI BwIGFQoJCAsCBBYCAwECHgECF4AACgkQ8xYDWXahwulikAEA77hloUiSrXgFkUVJhlKBpLCHUjA0 mWZ9j9w5d08+jVwBAK6c4iGP7j+/PhbkxaEKa4V3MzIl7zJkcNNjHCXmvFcEuDgEZBBQQhIKKwYB BAGXVQEFAQEHQI5NLiLRjZy3OfSt1dhCmFyn+fN/QKELUYQetiaoe+MMAwEIB4h+BBgWCAAmFiEE Dg7HY17ghYlni8XN8xYDWXahwukFAmQQUEICGwwFCQHhM4AACgkQ8xYDWXahwukm+wEA8cml4JpK NeAu65rg+auKrPOP6TP/4YWRCTIvuYDm0joBALw98AMz7/qMHvSCeU/hw9PL6u6R2EScxtpKnWof z4oM Date: Sun, 18 Feb 2024 12:36:00 +0000 Message-ID: <87ttm6t0en.fsf@HIDDEN> MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -4.2 (----) X-Debbugs-Envelope-To: 69098 Cc: 69098 <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: -5.2 (-----) Felician Nemeth <felician.nemeth@HIDDEN> writes: >>> Philip Kaludercic <philipk@HIDDEN> writes: >>> >>>> The idea is to have a command that can be used to open a file or >>>> directory using something outside Emacs. >>>> >>>> I find this useful, but it might be that there are edge-cases that I am >>>> not considering that don't pop up on my system. > > Now I think the attached patch is more inline with the philosophy of > browse-url than the previous patches of this thread. > > However, this patch might not be necessary. You can open a file with > C-x C-j W or in the secondary browser with C-x C-j C-u W. This seems > cumbersome, but C-x C-j (dired-jump) quickly becomes second nature. And > to open the directory of file: C-x C-j C-x C-j C-u W, which once again > seems frightening, but can be entered quickly without thinking. > > From a5227603c87ae899a6ccf7e581b80a0f6b816946 Mon Sep 17 00:00:00 2001 > From: =?UTF-8?q?Felici=C3=A1n=20N=C3=A9meth?= <felician.nemeth@HIDDEN> > Date: Sun, 18 Feb 2024 09:22:30 +0100 > Subject: [PATCH] Allow browse-url commands to invoke secondary browser > > * lisp/net/browse-url.el (browse-url-of-file) > (browse-url-of-buffer): Use 'browse-url-secondary-browser-function' > if the new argument 'secondary' is non-nil or when invoked with a > prefix arg. > --- > lisp/net/browse-url.el | 25 +++++++++++++++++-------- > 1 file changed, 17 insertions(+), 8 deletions(-) > > diff --git a/lisp/net/browse-url.el b/lisp/net/browse-url.el > index 74740af3bd6..4c4c79a80da 100644 > --- a/lisp/net/browse-url.el > +++ b/lisp/net/browse-url.el > @@ -728,13 +728,16 @@ browse-url-maybe-new-window > ;; Browse current buffer > > ;;;###autoload > -(defun browse-url-of-file (&optional file) > +(defun browse-url-of-file (&optional file secondary) > "Use a web browser to display FILE. > Display the current buffer's file if FILE is nil or if called > interactively. Turn the filename into a URL with function > `browse-url-file-url'. Pass the URL to a browser using the > -`browse-url' function then run `browse-url-of-file-hook'." > - (interactive) > +`browse-url' function then run `browse-url-of-file-hook'. > + > +With a prefix argument, or when SECONDARY is non-nil, use > +`browse-url-secondary-browser-function' instead." > + (interactive (list nil current-prefix-arg)) This would lack the convince feature of being able to also quickly open the current directory, which is what I used the prefix argument for. > (or file > (setq file (buffer-file-name)) > (error "Current buffer has no file")) > @@ -748,7 +751,10 @@ browse-url-of-file > (not browse-url-temp-file-name)) > (setq browse-url-temp-file-name (file-local-copy file) > file browse-url-temp-file-name)) > - (browse-url (browse-url-file-url file)) > + (let ((url (browse-url-file-url file))) > + (if secondary > + (funcall browse-url-secondary-browser-function url) > + (browse-url url))) > (run-hooks 'browse-url-of-file-hook)) > > (defun browse-url--file-name-coding-system () > @@ -789,14 +795,17 @@ browse-url-file-url > file) > > ;;;###autoload > -(defun browse-url-of-buffer (&optional buffer) > +(defun browse-url-of-buffer (&optional buffer secondary) > "Use a web browser to display BUFFER. > See `browse-url' for details. > > Display the current buffer if BUFFER is nil. Display only the > currently visible part of BUFFER (from a temporary file) if buffer is > -narrowed." > - (interactive) > +narrowed. > + > +With a prefix argument, or when SECONDARY is non-nil, use > +`browse-url-secondary-browser-function' instead." > + (interactive (list nil current-prefix-arg)) > (save-excursion > (and buffer (set-buffer buffer)) > (let ((file-name > @@ -816,7 +825,7 @@ browse-url-of-buffer > nil ".html")))) > (setq file-name browse-url-temp-file-name) > (write-region (point-min) (point-max) file-name nil 'no-message)) > - (browse-url-of-file file-name)))) > + (browse-url-of-file file-name secondary)))) > > (defun browse-url-delete-temp-file (&optional temp-file-name) > "Delete `browse-url-temp-file-name' from the file system. -- Philip Kaludercic
bug-gnu-emacs@HIDDEN:bug#69098; Package emacs.
Full text available.
Received: (at 69098) by debbugs.gnu.org; 18 Feb 2024 08:42:47 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun Feb 18 03:42:47 2024
Received: from localhost ([127.0.0.1]:34136 helo=debbugs.gnu.org)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
id 1rbcl4-0005Qx-EL
for submit <at> debbugs.gnu.org; Sun, 18 Feb 2024 03:42:47 -0500
Received: from mail-ej1-f41.google.com ([209.85.218.41]:44436)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from <felician.nemeth@HIDDEN>) id 1rbcl2-0005QY-6u
for 69098 <at> debbugs.gnu.org; Sun, 18 Feb 2024 03:42:45 -0500
Received: by mail-ej1-f41.google.com with SMTP id
a640c23a62f3a-a3e7ce7dac9so12381866b.1
for <69098 <at> debbugs.gnu.org>; Sun, 18 Feb 2024 00:42:23 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20230601; t=1708245677; x=1708850477; darn=debbugs.gnu.org;
h=mime-version:face:user-agent:message-id:in-reply-to:date:references
:subject:cc:to:from:from:to:cc:subject:date:message-id:reply-to;
bh=KI3fhPfEvvZs9IaAeBuR72ijU2Q7E9vLjZ3gIwyDqtc=;
b=LWyORp5YBOhRv4yFhgf+rsFacVDEpOgnFwTiPMWvcWGH8b8nFyO99ZWOywxls9tbjx
VgqSdzmjwfm1Py2GupIXIosVof32ceZalEqWHvZN9s/j3QDRSUiFb6ysYkKcnPBNJ9A/
Z3tcWfTXg6CbuZ4/Qp/i53mgU5ytyYYIug6I4iwJ8UVVQDvTDd68Zk6PFH0jtgvHsP/Z
VFWw1B5fzpf6rl0NI2uuegF5Ef+JvNvMBn/TkZE8e2ME82QcJTB+4vsEpwWgaTRoKb6m
bLM6KgJiTVez0AX6FaLs6phYdmSyD3AHdUOZfeh/Z0ykjwl4RX7CrXKV5b+In9A/vVwZ
LcxQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1708245677; x=1708850477;
h=mime-version:face:user-agent:message-id:in-reply-to:date:references
:subject:cc:to:from:x-gm-message-state:from:to:cc:subject:date
:message-id:reply-to;
bh=KI3fhPfEvvZs9IaAeBuR72ijU2Q7E9vLjZ3gIwyDqtc=;
b=hVx18zj+3qsH54Jl/JnSKgemUh9uPPNCbm/zEAG3EFtRKJqcpVDFVIf/pYO/L6LEdP
u3ouCSZyP6gfxlry1UQSCNzL50d8DT72JPbBtWxP/7hgByg2DW85SY2R40yjRnaJAgfQ
P4ggMbLXZVwAAmQ/H6WC3JpJcqVtNbxAY8c2uxTFOzivCI0aIwckQ3s3Vy2OHecM9jlp
X3zN777fsuZIg5vgqaHit4htTlWLQ7yjd2hMZSHeicOnSjRxFeCK3ZtH7/fb4QAw3kjN
X1Yge/UZCvdLSCSy6wOZ0cSoulKZoGj2/ozk5OawXJ73VvEBk7VEuHNeKQCiKCn1kz+Y
KN7w==
X-Gm-Message-State: AOJu0YzCgiRYeqYXhGoSau1qdyZbWqfi1ds7Fp5LiMkmZkoJRYOs5dh8
Hff7f/NhUjY3JFNhOGTuQc1dck3dGAqQ4SyfKMt9z2ldWq6wDEX7OCkttlCo
X-Google-Smtp-Source: AGHT+IHkfhOHAKMhgT3dH5JqThTlMyMOvVoU/Rh/xHw3nMyuSiyJHChu77ogVO4mxVBjouNUF+Ct3w==
X-Received: by 2002:a17:906:d9d1:b0:a3e:4813:d4d8 with SMTP id
qk17-20020a170906d9d100b00a3e4813d4d8mr1890279ejb.46.1708245677059;
Sun, 18 Feb 2024 00:41:17 -0800 (PST)
Received: from betli.gmail.com (catv-213-222-160-137.catv.fixed.vodafone.hu.
[213.222.160.137]) by smtp.gmail.com with ESMTPSA id
cu15-20020a170906ba8f00b00a3e29652a3csm1255491ejd.194.2024.02.18.00.41.15
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Sun, 18 Feb 2024 00:41:16 -0800 (PST)
From: Felician Nemeth <felician.nemeth@HIDDEN>
To: Philip Kaludercic <philipk@HIDDEN>
Subject: Re: bug#69098: [PATCH] Add new command 'browse-url-here'
References: <87ttmc7k0h.fsf@HIDDEN> <877cj8d1a2.fsf@HIDDEN>
<875xyrged4.fsf@HIDDEN>
Date: Sun, 18 Feb 2024 09:41:15 +0100
In-Reply-To: <875xyrged4.fsf@HIDDEN> (Philip Kaludercic's message of "Wed,
14 Feb 2024 17:11:35 +0000")
Message-ID: <87a5nynp04.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.2 (gnu/linux)
Face: iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAAFVBMVEUMBwgHAgMFAAGPjY7/
//80MDHq6eqJt3pKAAABr0lEQVQ4jX2UzZKDIAzHqR177q7TPbtx2HMr6guQcrbY9txZ0fd/hA0f
onXazcEJ/CD8E4Js8/HS9mwjXtqeMRxHXJkakTEm4b4GPVQW8PU8ov4fQCqeThlF60MBWdo1IXzd
2nEEZE7CEAZLwI0N/gJAhTj7ESQAX4gPgO8lyI+cvgViSVPlNomAj2M9gW40eg7VWY3cATjUcyiO
Z+i03cFruGLYoUR7VyU3HihdmCEVhoDN65FXkpbSxkomOzsTQN/gySaodGb9Gdi1oSRXP46gdBWh
LcUKJNdeGCWac74GKakmne0aHCFvyqJPYLsCFAVlhRTvGdzMdLHqtgRyUulyXIAH7CYQ3AB0Nody
JQhAkq/qtOnbjhxdzYDkXPxlH5y4WdUAeUcX1NVJ6GR7UQEYPGWoAnA36OQNn5lRRp38vHTAp9Br
LoTmvlPPDoRCKzpjG1SXT89AaT5l456BamJuMcs+NIOMzJ/s5dI6yUVcrARlruwOebfdv6gunTn4
ww3+QjGBEn5suVyLHoSGvAqREuDLN+iqZ+VcFg+HBbsJUU9+FZthbez9T+bdb+kPv2Ls6ct3hTkA
AAAASUVORK5CYII=
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="=-=-="
X-Spam-Score: -1.9 (-)
X-Debbugs-Envelope-To: 69098
Cc: 69098 <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: -2.9 (--)
--=-=-=
Content-Type: text/plain
>> Philip Kaludercic <philipk@HIDDEN> writes:
>>
>>> The idea is to have a command that can be used to open a file or
>>> directory using something outside Emacs.
>>>
>>> I find this useful, but it might be that there are edge-cases that I am
>>> not considering that don't pop up on my system.
Now I think the attached patch is more inline with the philosophy of
browse-url than the previous patches of this thread.
However, this patch might not be necessary. You can open a file with
C-x C-j W or in the secondary browser with C-x C-j C-u W. This seems
cumbersome, but C-x C-j (dired-jump) quickly becomes second nature. And
to open the directory of file: C-x C-j C-x C-j C-u W, which once again
seems frightening, but can be entered quickly without thinking.
--=-=-=
Content-Type: text/x-diff
Content-Disposition: attachment;
filename=0001-Allow-browse-url-commands-to-invoke-secondary-browse.patch
From a5227603c87ae899a6ccf7e581b80a0f6b816946 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Felici=C3=A1n=20N=C3=A9meth?= <felician.nemeth@HIDDEN>
Date: Sun, 18 Feb 2024 09:22:30 +0100
Subject: [PATCH] Allow browse-url commands to invoke secondary browser
* lisp/net/browse-url.el (browse-url-of-file)
(browse-url-of-buffer): Use 'browse-url-secondary-browser-function'
if the new argument 'secondary' is non-nil or when invoked with a
prefix arg.
---
lisp/net/browse-url.el | 25 +++++++++++++++++--------
1 file changed, 17 insertions(+), 8 deletions(-)
diff --git a/lisp/net/browse-url.el b/lisp/net/browse-url.el
index 74740af3bd6..4c4c79a80da 100644
--- a/lisp/net/browse-url.el
+++ b/lisp/net/browse-url.el
@@ -728,13 +728,16 @@ browse-url-maybe-new-window
;; Browse current buffer
;;;###autoload
-(defun browse-url-of-file (&optional file)
+(defun browse-url-of-file (&optional file secondary)
"Use a web browser to display FILE.
Display the current buffer's file if FILE is nil or if called
interactively. Turn the filename into a URL with function
`browse-url-file-url'. Pass the URL to a browser using the
-`browse-url' function then run `browse-url-of-file-hook'."
- (interactive)
+`browse-url' function then run `browse-url-of-file-hook'.
+
+With a prefix argument, or when SECONDARY is non-nil, use
+`browse-url-secondary-browser-function' instead."
+ (interactive (list nil current-prefix-arg))
(or file
(setq file (buffer-file-name))
(error "Current buffer has no file"))
@@ -748,7 +751,10 @@ browse-url-of-file
(not browse-url-temp-file-name))
(setq browse-url-temp-file-name (file-local-copy file)
file browse-url-temp-file-name))
- (browse-url (browse-url-file-url file))
+ (let ((url (browse-url-file-url file)))
+ (if secondary
+ (funcall browse-url-secondary-browser-function url)
+ (browse-url url)))
(run-hooks 'browse-url-of-file-hook))
(defun browse-url--file-name-coding-system ()
@@ -789,14 +795,17 @@ browse-url-file-url
file)
;;;###autoload
-(defun browse-url-of-buffer (&optional buffer)
+(defun browse-url-of-buffer (&optional buffer secondary)
"Use a web browser to display BUFFER.
See `browse-url' for details.
Display the current buffer if BUFFER is nil. Display only the
currently visible part of BUFFER (from a temporary file) if buffer is
-narrowed."
- (interactive)
+narrowed.
+
+With a prefix argument, or when SECONDARY is non-nil, use
+`browse-url-secondary-browser-function' instead."
+ (interactive (list nil current-prefix-arg))
(save-excursion
(and buffer (set-buffer buffer))
(let ((file-name
@@ -816,7 +825,7 @@ browse-url-of-buffer
nil ".html"))))
(setq file-name browse-url-temp-file-name)
(write-region (point-min) (point-max) file-name nil 'no-message))
- (browse-url-of-file file-name))))
+ (browse-url-of-file file-name secondary))))
(defun browse-url-delete-temp-file (&optional temp-file-name)
"Delete `browse-url-temp-file-name' from the file system.
--
2.39.2
--=-=-=--
bug-gnu-emacs@HIDDEN:bug#69098; Package emacs.
Full text available.
Received: (at 69098) by debbugs.gnu.org; 14 Feb 2024 17:12:04 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Feb 14 12:12:04 2024
Received: from localhost ([127.0.0.1]:52971 helo=debbugs.gnu.org)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
id 1raInj-0005ux-UM
for submit <at> debbugs.gnu.org; Wed, 14 Feb 2024 12:12:04 -0500
Received: from mout01.posteo.de ([185.67.36.65]:40401)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from <philipk@HIDDEN>) id 1raInh-0005uR-9J
for 69098 <at> debbugs.gnu.org; Wed, 14 Feb 2024 12:12:02 -0500
Received: from submission (posteo.de [185.67.36.169])
by mout01.posteo.de (Postfix) with ESMTPS id BD203240029
for <69098 <at> debbugs.gnu.org>; Wed, 14 Feb 2024 18:11:36 +0100 (CET)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017;
t=1707930696; bh=BKsC0aQIGCRmhgLhiIan3md8bf3KiXp6DHc4so7sGMw=;
h=From:To:Cc:Subject:OpenPGP:Date:Message-ID:MIME-Version:
Content-Type:From;
b=qbp/+3TGhqsUqL+UlS7FZn1uByXUN4S3AsRmWEtEkxGdpnxBbgNIn72MEnZpVPfS9
FzZwfxyLobNwN/DfiAdcKO/4o3G3Sy5HTtbM0kSOkxPVdyIaIbOd6LEX13246Lp1lK
++LwElwWzTe12gJDJoKbCvYxYcvTP1c1zYA9e8Yzn18VEFHep2UARoBc4ihd7MwsCV
pTYr7/XvWzqSMDEQyIU6gCA49m597GP3Z8+zZbCX4NLp2WXx4OfHB41OA0P884rROF
VA730aVFrLwcBhCJxlE0QbQIj1oJDKzSUVmOKYvNPGIDdqMBrLjaG9wKTzaby7qB7l
m3lZ4IPCj9Lrw==
Received: from customer (localhost [127.0.0.1])
by submission (posteo.de) with ESMTPSA id 4TZl941RDHz9rxb;
Wed, 14 Feb 2024 18:11:36 +0100 (CET)
From: Philip Kaludercic <philipk@HIDDEN>
To: Felician Nemeth <felician.nemeth@HIDDEN>
Subject: Re: bug#69098: [PATCH] Add new command 'browse-url-here'
In-Reply-To: <877cj8d1a2.fsf@HIDDEN> (Felician Nemeth's message of
"Tue, 13 Feb 2024 12:57:57 +0100")
References: <87ttmc7k0h.fsf@HIDDEN> <877cj8d1a2.fsf@HIDDEN>
OpenPGP: id=7126E1DE2F0CE35C770BED01F2C3CC513DB89F66;
url="https://keys.openpgp.org/vks/v1/by-fingerprint/7126E1DE2F0CE35C770BED01F2C3CC513DB89F66";
preference=signencrypt
Date: Wed, 14 Feb 2024 17:11:35 +0000
Message-ID: <875xyrged4.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="=-=-="
X-Spam-Score: -4.2 (----)
X-Debbugs-Envelope-To: 69098
Cc: 69098 <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: -5.2 (-----)
--=-=-=
Content-Type: text/plain
Felician Nemeth <felician.nemeth@HIDDEN> writes:
> Philip Kaludercic <philipk@HIDDEN> writes:
>
>> The idea is to have a command that can be used to open a file or
>> directory using something outside Emacs.
>>
>> I find this useful, but it might be that there are edge-cases that I am
>> not considering that don't pop up on my system.
>
> Shouldn't it do something when the buffer is modified?
A warning is generated by `browse-url-of-file'.
>> +(defun browse-url-here (arg)
>
> Since browse-url-of-buffer does something similar, the name could be
> more descriptive. Maybe browse-url-of-buffer-external?
I like that name, used it.
>> + "Open current file or directory with external tools.
>> +With prefix argument ARG, open the current `default-directory' instead
>> +of the buffer of the current file."
>
> "the file of the current buffer."
Done, thanks.
>> + (interactive "P")
>> + (let ((browse-url-default-handlers '()))
>
> This is strange. There are other ways to use an external browser-kind.
> Maybe you could use browse-url-secondary-browser-function, which is
> "usually an external browser".
The thing is if `browse-url-default-handlers' includes
(browse-url--non-html-file-url-p . browse-url-emacs)
then this catches all the requests and the file is always opened in
Emacs. In this patch I try to only filter out these entries that would
open the file in Emacs:
--=-=-=
Content-Type: text/x-patch
Content-Disposition: attachment;
filename=0001-Add-new-command-browse-url-of-buffer-external.patch
From 58cc4a8a3fc8d5ae87c1a443d02715d65c776675 Mon Sep 17 00:00:00 2001
From: Philip Kaludercic <philipk@HIDDEN>
Date: Tue, 13 Feb 2024 11:08:09 +0100
Subject: [PATCH] Add new command 'browse-url-of-buffer-external'
* lisp/net/browse-url.el (browse-url-of-buffer-external): Add it.
* etc/NEWS: Document it.
---
etc/NEWS | 4 +
etc/package-autosuggest.eld | 11 +++
lisp/net/browse-url.el | 20 +++++
lisp/textmodes/markdown-ts-mode.el | 135 +++++++++++++++++++++++++++++
4 files changed, 170 insertions(+)
create mode 100644 etc/package-autosuggest.eld
create mode 100644 lisp/textmodes/markdown-ts-mode.el
diff --git a/etc/NEWS b/etc/NEWS
index a2b5e0d1a9a..b7c9fc9aa81 100644
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -324,6 +324,10 @@ Previously, it was set to t but this broke remote file name detection.
** Multi-character key echo now ends with a suggestion to use Help.
Customize 'echo-keystrokes-help' to nil to prevent that.
+** New command 'browse-url-of-buffer-external'.
+This command opens the current file or directory using an external tool,
+as defined by 'browse-url-secondary-browser-function'.
+
* Editing Changes in Emacs 30.1
diff --git a/etc/package-autosuggest.eld b/etc/package-autosuggest.eld
new file mode 100644
index 00000000000..87c7e382026
--- /dev/null
+++ b/etc/package-autosuggest.eld
@@ -0,0 +1,11 @@
+((sml-mode auto-mode-alist "\\.sml\\'")
+ (lua-mode auto-mode-alist "\\.lua\\'" )
+ (ada-mode auto-mode-alist "\\.ada\\'")
+ ;; ...
+ ;;
+ ;; this is just for testing, in practice I think this data should
+ ;; be generated and bundled with Emacs, and would ideally be
+ ;; loaded in at compile-time. When the "archive-contents" file
+ ;; format is updated, we can include more information in there
+ ;; that would be added to this database.
+ )
diff --git a/lisp/net/browse-url.el b/lisp/net/browse-url.el
index bc2a7db9a8b..e017d679d84 100644
--- a/lisp/net/browse-url.el
+++ b/lisp/net/browse-url.el
@@ -943,6 +943,26 @@ browse-url-at-point
browse-url-new-window-flag))
(error "No URL found"))))
+(defun browse-url-of-buffer-external (arg)
+ "Open current file or directory with external tools.
+With prefix argument ARG, open the current `default-directory' instead
+of the file of the current buffer."
+ (interactive "P")
+ (let ((browse-url-browser-function
+ browse-url-secondary-browser-function)
+ (browse-url-default-handlers
+ (seq-filter
+ (lambda (ent) (eq (cdr ent) 'browse-url-emacs))
+ browse-url-default-handlers)))
+ (browse-url-of-file
+ (expand-file-name
+ (cond
+ (arg ".")
+ ((derived-mode-p 'dired-mode)
+ (dired-get-filename))
+ (buffer-file-name)
+ ((user-error "No associated file found")))))))
+
;;;###autoload
(defun browse-url-with-browser-kind (kind url &optional arg)
"Browse URL with a browser of the given browser KIND.
diff --git a/lisp/textmodes/markdown-ts-mode.el b/lisp/textmodes/markdown-ts-mode.el
new file mode 100644
index 00000000000..60321d789eb
--- /dev/null
+++ b/lisp/textmodes/markdown-ts-mode.el
@@ -0,0 +1,135 @@
+;;; markdown-ts-mode.el --- Markdown editing mode -*- lexical-binding: t; -*-
+
+;; Copyright (C) 2023 Free Software Foundation, Inc.
+
+;; Author: Philip Kaludercic <philipk@HIDDEN>
+;; Keywords: languages
+
+;; This file is part of GNU Emacs.
+
+;; GNU Emacs is free software: you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation, either version 3 of the License, or
+;; (at your option) any later version.
+
+;; GNU Emacs is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with GNU Emacs. If not, see <https://www.gnu.org/licenses/>.
+
+;;; Commentary:
+
+;; Major mode for Markdown. The syntax highlighting has been
+;; implemented using Tree Sitter.
+
+;;; Code:
+
+(eval-when-compile (require 'pcase))
+(require 'treesit)
+
+(defgroup markdown-ts-mode '()
+ "Markdown support."
+ :prefix "markdown-ts-"
+ :group 'text)
+
+(defcustom markdown-ts-mode-executable
+ (seq-find #'executable-find '("cmark" "pandoc" "markdown"))
+ "Name of the executable used to render Markdown.
+It should read the Markdown text via stdin, and render HTML via
+the standard output."
+ :type 'string)
+
+(defconst markdown-ts-mode-font-lock-rules
+ (treesit-font-lock-rules
+ :language 'markdown
+ :feature 'bracket
+ '((["[" "]" "{" "}"]) @font-lock-bracket-face)
+ ;; TODO
+ )
+ "Markdown settings suitable for `treesit-font-lock-settings'.")
+
+(defun markdown-ts-mode-insert-markup (left right)
+ "Generate a new command for inserting markup.
+Insert LEFT and RIGHT into the current buffer.
+Both arguments are strings that are inserted LEFT and RIGHT of
+the active region, or if not present the current point. This
+function is meant to be invoked by other commands that specialise
+on a specific kind of formatting."
+ (lambda ()
+ (interactive)
+ (if (use-region-p)
+ (save-mark-and-excursion
+ (goto-char (region-end))
+ (insert right)
+ (goto-char (region-beginning))
+ (insert left))
+ (insert left)
+ (save-excursion (insert right)))))
+
+(defalias 'markdown-ts-mode-insert-bold
+ (markdown-ts-mode-insert-markup "**" "**")
+ "Insert bold markup.")
+
+(defalias 'markdown-ts-mode-insert-italics
+ (markdown-ts-mode-insert-markup "_" "_")
+ "Insert italic markup.")
+
+;; (defalias 'markdown-ts-mode-insert-link (uri)
+;; (markdown-ts-mode-insert-markup
+;; "[" (format "](%s)" uri))
+;; "Insert a link to a URI."
+;; (interactive "MURI: ")
+;; )
+
+(defun markdown-ts-mode-render ()
+ "Render the current buffer using EWW."
+ (interactive)
+ (unless markdown-ts-mode-executable
+ (user-error "No markdown available"))
+ (let ((bounds (bounds-of-thing-at-point (if (use-region-p)
+ 'region
+ 'buffer)))
+ (file (make-temp-file "markdown" nil ".html")))
+ (call-process-region (car bounds) (cdr bounds)
+ markdown-ts-mode-executable
+ nil (list :file file))
+ (eww-open-file file)))
+
+(defvar-keymap markdown-ts-mode-map
+ "C-c C-f C-b" #'markdown-ts-mode-insert-bold
+ "C-c C-f C-i" #'markdown-ts-mode-insert-italics
+ ;; "C-c C-l" #'markdown-ts-mode-insert-link
+ "C-c C-c" #'markdown-ts-mode-render)
+
+;;;###autoload
+(define-derived-mode markdown-ts-mode text-mode "MD"
+ "Major mode for editing Markdown files.
+This implementation makes use of Tree Sitter (see the Info
+Node `(elisp) Tree-sitter Major Modes'), and relies on external
+support for rendering. Using `treesit-install-language-grammar'
+you can install a grammar."
+ (unless (treesit-ready-p 'markdown)
+ (user-error "Tree Sitter support is not available"))
+ (treesit-parser-create 'markdown)
+ (setq-local treesit-font-lock-settings
+ markdown-ts-mode-font-lock-rules
+ treesit-font-lock-feature-list
+ '((constant escape-sequence number property)
+ (bracket delimiter error misc-punctuation)
+ (string type)
+ (comment))
+ comment-start "# ")
+ (treesit-major-mode-setup))
+
+(when (treesit-ready-p 'markdown)
+ (add-to-list 'auto-mode-alist '("\\.md\\'" . markdown-ts-mode)))
+
+(add-to-list
+ 'treesit-language-source-alist
+ '(markdown "https://github.com/ikatyang/tree-sitter-markdown" "v0.7.1"))
+
+;;; markdown-ts-mode.el ends here
+(provide 'markdown-ts-mode)
--
2.43.0
--=-=-=--
bug-gnu-emacs@HIDDEN:bug#69098; Package emacs.
Full text available.Received: (at 69098) by debbugs.gnu.org; 13 Feb 2024 11:59:25 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Tue Feb 13 06:59:25 2024 Received: from localhost ([127.0.0.1]:42405 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1rZrRd-0000O5-4T for submit <at> debbugs.gnu.org; Tue, 13 Feb 2024 06:59:25 -0500 Received: from mail-ed1-f48.google.com ([209.85.208.48]:58575) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <felician.nemeth@HIDDEN>) id 1rZrRa-0000NY-Fw for 69098 <at> debbugs.gnu.org; Tue, 13 Feb 2024 06:59:23 -0500 Received: by mail-ed1-f48.google.com with SMTP id 4fb4d7f45d1cf-55a90a0a1a1so5929178a12.0 for <69098 <at> debbugs.gnu.org>; Tue, 13 Feb 2024 03:59:04 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1707825478; x=1708430278; darn=debbugs.gnu.org; h=mime-version:face:user-agent:message-id:in-reply-to:date:references :subject:cc:to:from:from:to:cc:subject:date:message-id:reply-to; bh=eq17LIdPv8/mZFB7BfxvuQxQmWYadJu13KGBW6bmwV0=; b=JGqwMApCRErD4NXa7phdhPWO7JLmXK0/qUNG4rQeqhxz/mCcFEyQ7bAP/aLSJ9rxyp TeeD9jf2Wr/k4DLmXdCkcxDM7kA3NYWsjwjs+wHMq/R+L5Gp6v0GloDobYXQrs8hN+rz kSKiQIOU9BTTe6Zodc1LAa3ZrctzZHOMe9DoqDf/JeltaFU3pZ8VUTjc0cSzsJKz6Twn ixyeqeuu5bqLVlpAhVXcC+ZhNjL0DGVnwEqfwZd0C4xPYBiAgCi2mCBajYHgVzIbdfeJ 3gTIfil/YL5/+vzYDg15MG2O2bLUPqbSRz95CedM2EcEXwAU7ZJfW8es0qwj0IzCNZMz IgUQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1707825478; x=1708430278; h=mime-version:face:user-agent:message-id:in-reply-to:date:references :subject:cc:to:from:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=eq17LIdPv8/mZFB7BfxvuQxQmWYadJu13KGBW6bmwV0=; b=YuubfL7UFVgZkmCzWJxcfsGDgLM5P6NsOK2b6eaH/rakM2qcMskxOk8rji7HTT2wPf G9ODzIP98cn4TUnBtuig5h3E17qzkm2i7VyL/ucCJd2XAqb9WxX2DcIdIKNdkqgcovEz 6Cig0EBbT36XckZgagl4GPAxiIwmOJSuucihv4X/YU/c4D8I3x2JSVPprNf/a29C3tZZ IJykB6kYAKtZguR1S0tcAmHKnE9nwCgSwjFa/98zHqx2+TNmXal/NkXPR9IkTdm/iTjg e0bt7uP0h8Ftg3qrHdNJGIODGEkWUXjDQwCDNISWTOOwePoFI03oto96gtAS/KFnxHWf eWHg== X-Gm-Message-State: AOJu0YyGeTFiXIYKaS/0bUmibD4e7HJ6tn3YeUH/XlLUEkTOvcT9TxDL lyHtQMIisDVHuf24hV0eL9s/Y3ouZPJIUI+oDcQXanv0jHZSgYioiPbyBPdM X-Google-Smtp-Source: AGHT+IEubaGZJ7pmb9JQkpQS3CLFGZkofTrvgd1Xg155emL2nZR8SlZf7OLhjA7Yzl5tGEiKm3gPRQ== X-Received: by 2002:aa7:d6d7:0:b0:55f:4464:d044 with SMTP id x23-20020aa7d6d7000000b0055f4464d044mr7740778edr.6.1707825478458; Tue, 13 Feb 2024 03:57:58 -0800 (PST) Received: from betli.gmail.com (catv-213-222-160-137.catv.fixed.vodafone.hu. [213.222.160.137]) by smtp.gmail.com with ESMTPSA id fd9-20020a056402388900b005607f899175sm3694005edb.70.2024.02.13.03.57.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 13 Feb 2024 03:57:58 -0800 (PST) From: Felician Nemeth <felician.nemeth@HIDDEN> To: Philip Kaludercic <philipk@HIDDEN> Subject: Re: bug#69098: [PATCH] Add new command 'browse-url-here' References: <87ttmc7k0h.fsf@HIDDEN> Date: Tue, 13 Feb 2024 12:57:57 +0100 In-Reply-To: <87ttmc7k0h.fsf@HIDDEN> (Philip Kaludercic's message of "Tue, 13 Feb 2024 10:09:50 +0000") Message-ID: <877cj8d1a2.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.2 (gnu/linux) Face: iVBORw0KGgoAAAANSUhEUgAAADAAAAAwAgMAAAAqbBEUAAAABGdBTUEAALGPC/xhBQAAACBj SFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAADFBMVEX5+fmhoaEwMDD/ ///TMNVWAAAAAWJLR0QDEQxM8gAAAAlwSFlzAAAPEgAADxIBIZvyMwAAAAd0SU1FB+AICBUfHgLs gGoAAAGXSURBVCjPRdK/b5tAFAfw753gBEwM2ApMbuVIqf+Ko0qiyhOu4sj2xJBYMn/FUdX7UUUZ OjHgyvf+yj6IcW6Bjx53934ADEvs8bmEr8UVoTYTOyJO9KoYsVofN8kILdbeJ8Li6YpZWop4xOK0 VdfIoXmkHn5/5D7/Ts/8THacSqnkKTcMTxgUkVzFnEIRTKwwYYSCvzfg16f0i8YApW/XG/Pm8R49 dXjxKmRnxv3OwooQWcv4RUYem1fsNe/WU63uk7AmYxk78y32/ee2tZB4fO+WcZ7lnIGEolXW1EGw LfkSuQ0XTgRefgNlfNwRNV6QhBxJ8JNxTMUPyBqTd0bjaAP5G7NJRU39z80hLOZTjqB7K3tEEFSj aEsuQew6qBxxyhHjVUR7H7NpC9iHJZGLMCEuweqAqE1BHbfK2oRIz9EHYA/+wiFWru9smeVfuWNZ 2+NFtX80UA1TvJNdytM4DwO4kY7bJz8Qcd0G0ceslZGkkeoBsjUHwF1+jjM3XHaXEZ7mGLfwPFO+ RV9QLY2iEdmDo78D/gNPaXVYqd+pyQAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAxNi0wOC0wOFQyMzoz MDoyOCswMjowMGy/yHYAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMTYtMDgtMDhUMjM6MzA6MjgrMDI6 MDAd4nDKAAAAAElFTkSuQmCC MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 69098 Cc: 69098 <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 (-) Philip Kaludercic <philipk@HIDDEN> writes: > The idea is to have a command that can be used to open a file or > directory using something outside Emacs. > > I find this useful, but it might be that there are edge-cases that I am > not considering that don't pop up on my system. Shouldn't it do something when the buffer is modified? > +(defun browse-url-here (arg) Since browse-url-of-buffer does something similar, the name could be more descriptive. Maybe browse-url-of-buffer-external? > + "Open current file or directory with external tools. > +With prefix argument ARG, open the current `default-directory' instead > +of the buffer of the current file." "the file of the current buffer." > + (interactive "P") > + (let ((browse-url-default-handlers '())) This is strange. There are other ways to use an external browser-kind. Maybe you could use browse-url-secondary-browser-function, which is "usually an external browser". > + (browse-url-of-file > + (expand-file-name > + (or (and arg ".") > + (and (derived-mode-p 'dired-mode) > + (dired-get-filename)) > + buffer-file-name ".")))))
bug-gnu-emacs@HIDDEN:bug#69098; Package emacs.
Full text available.
Received: (at submit) by debbugs.gnu.org; 13 Feb 2024 10:10:17 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Feb 13 05:10:17 2024
Received: from localhost ([127.0.0.1]:41744 helo=debbugs.gnu.org)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
id 1rZpk0-0004fJ-RH
for submit <at> debbugs.gnu.org; Tue, 13 Feb 2024 05:10:17 -0500
Received: from lists.gnu.org ([209.51.188.17]:36558)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from <philipk@HIDDEN>) id 1rZpjy-0004f7-HY
for submit <at> debbugs.gnu.org; Tue, 13 Feb 2024 05:10:15 -0500
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 <philipk@HIDDEN>)
id 1rZpjg-00040O-JY
for bug-gnu-emacs@HIDDEN; Tue, 13 Feb 2024 05:09:56 -0500
Received: from mout01.posteo.de ([185.67.36.65])
by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
(Exim 4.90_1) (envelope-from <philipk@HIDDEN>)
id 1rZpje-0005MP-TO
for bug-gnu-emacs@HIDDEN; Tue, 13 Feb 2024 05:09:56 -0500
Received: from submission (posteo.de [185.67.36.169])
by mout01.posteo.de (Postfix) with ESMTPS id 185FD240027
for <bug-gnu-emacs@HIDDEN>; Tue, 13 Feb 2024 11:09:51 +0100 (CET)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017;
t=1707818992; bh=Y14+DKCis+wQm6S+v7VBRuWDxbRP7Nf2Xsr714mVOHk=;
h=From:To:Subject:OpenPGP:Date:Message-ID:MIME-Version:Content-Type:
From;
b=o0Gq0xBZ5LS3+EK0eg4UylFSDCQAyzrLDYCsPSG1LxaGW5fr8cRyrBCXmtb+wf7Z9
HkQJl9NjA6knxPZPiwx1HCwatxwu5Xa6XqDGY3GifE7SZLuGISaSYvL/rvZKqHT2gV
qFvvJRFGE3SX2hGuluRdEUpKfschCVevZXiiwXsGCylgJAqNrNiP9LoW9PMT31rO23
EcnHtLKxi/9aeiOratJS7lCLkUHoN0Rup3/bLmYtEjkNq9ARzF8uZIt71YvKrmfv8S
hEKmNsqpaMQJHBpbrJghSvsUDvfu2UwX6O6NAL2oKwaNGpykFmhaLfIZaERaEKK5+t
0H+G1G6GJvb+g==
Received: from customer (localhost [127.0.0.1])
by submission (posteo.de) with ESMTPSA id 4TYxrv3bwDz6tvq
for <bug-gnu-emacs@HIDDEN>; Tue, 13 Feb 2024 11:09:51 +0100 (CET)
From: Philip Kaludercic <philipk@HIDDEN>
To: bug-gnu-emacs@HIDDEN
Subject: [PATCH] Add new command 'browse-url-here'
OpenPGP: id=7126E1DE2F0CE35C770BED01F2C3CC513DB89F66;
url="https://keys.openpgp.org/vks/v1/by-fingerprint/7126E1DE2F0CE35C770BED01F2C3CC513DB89F66";
preference=signencrypt
Date: Tue, 13 Feb 2024 10:09:50 +0000
Message-ID: <87ttmc7k0h.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="=-=-="
Received-SPF: pass client-ip=185.67.36.65; envelope-from=philipk@HIDDEN;
helo=mout01.posteo.de
X-Spam_score_int: -43
X-Spam_score: -4.4
X-Spam_bar: ----
X-Spam_report: (-4.4 / 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,
RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001,
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-Spam-Score: -1.3 (-)
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: -2.3 (--)
--=-=-=
Content-Type: text/plain
The idea is to have a command that can be used to open a file or
directory using something outside Emacs.
I find this useful, but it might be that there are edge-cases that I am
not considering that don't pop up on my system.
--=-=-=
Content-Type: text/x-patch
Content-Disposition: attachment;
filename=0001-Add-new-command-'browse-url-here'.patch
Content-Description: [PATCH] Add new command 'browse-url-here'
From 1f25f653ba35cb2c63a481522ffbf727bc2f5dd3 Mon Sep 17 00:00:00 2001
From: Philip Kaludercic <philipk@HIDDEN>
Date: Tue, 13 Feb 2024 11:08:09 +0100
Subject: [PATCH] Add new command 'browse-url-here'
* lisp/net/browse-url.el (browse-url-here): Add it.
* etc/NEWS: Document it.
---
etc/NEWS | 4 ++++
lisp/net/browse-url.el | 13 +++++++++++++
2 files changed, 17 insertions(+)
diff --git a/etc/NEWS b/etc/NEWS
index e7e516d61a1..ea7cd1fc517 100644
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -317,6 +317,10 @@ Previously, it was set to t but this broke remote file name detection.
** Multi-character key echo now ends with a suggestion to use Help.
Customize 'echo-keystrokes-help' to nil to prevent that.
+** New command 'browse-url-here'.
+This command opens the current file or directory using an external tool,
+as defined by 'browse-url-of-file'.
+
* Editing Changes in Emacs 30.1
diff --git a/lisp/net/browse-url.el b/lisp/net/browse-url.el
index bc2a7db9a8b..abc1e9e5829 100644
--- a/lisp/net/browse-url.el
+++ b/lisp/net/browse-url.el
@@ -943,6 +943,19 @@ browse-url-at-point
browse-url-new-window-flag))
(error "No URL found"))))
+(defun browse-url-here (arg)
+ "Open current file or directory with external tools.
+With prefix argument ARG, open the current `default-directory' instead
+of the buffer of the current file."
+ (interactive "P")
+ (let ((browse-url-default-handlers '()))
+ (browse-url-of-file
+ (expand-file-name
+ (or (and arg ".")
+ (and (derived-mode-p 'dired-mode)
+ (dired-get-filename))
+ buffer-file-name ".")))))
+
;;;###autoload
(defun browse-url-with-browser-kind (kind url &optional arg)
"Browse URL with a browser of the given browser KIND.
--
2.43.0
--=-=-=--
Philip Kaludercic <philipk@HIDDEN>:bug-gnu-emacs@HIDDEN.
Full text available.bug-gnu-emacs@HIDDEN:bug#69098; Package emacs.
Full text available.
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997 nCipher Corporation Ltd,
1994-97 Ian Jackson.