[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
master ea47bcc 2/2: Fix `browse-url-of-dired'
From: |
Lars Ingebrigtsen |
Subject: |
master ea47bcc 2/2: Fix `browse-url-of-dired' |
Date: |
Sat, 17 Oct 2020 05:24:14 -0400 (EDT) |
branch: master
commit ea47bcc431ee7e3fbb545ad05b12ed921923c468
Author: Lars Ingebrigtsen <larsi@gnus.org>
Commit: Lars Ingebrigtsen <larsi@gnus.org>
Fix `browse-url-of-dired'
* lisp/net/browse-url.el (browse-url-emacs): Make the
`browse-url-of-dired' command work again after the browse-emacs
changes (bug#42429).
---
lisp/net/browse-url.el | 16 ++++++++++++----
1 file changed, 12 insertions(+), 4 deletions(-)
diff --git a/lisp/net/browse-url.el b/lisp/net/browse-url.el
index e7dad48..8b245b0 100644
--- a/lisp/net/browse-url.el
+++ b/lisp/net/browse-url.el
@@ -134,6 +134,8 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;; Code:
+(require 'url)
+
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Variables
@@ -1374,10 +1376,16 @@ Optional argument SAME-WINDOW non-nil means show the
URL in the
currently selected window instead."
(interactive (browse-url-interactive-arg "URL: "))
(require 'url-handlers)
- (let ((file-name-handler-alist
- (cons (cons url-handler-regexp 'url-file-handler)
- file-name-handler-alist)))
- (if same-window (find-file url) (find-file-other-window url))))
+ (let ((parsed (url-generic-parse-url url))
+ (func (if same-window 'find-file 'find-file-other-window)))
+ (if (and (equal (url-type parsed) "file")
+ (file-directory-p (url-filename parsed)))
+ ;; It's a directory; just open it.
+ (funcall func (url-filename parsed))
+ (let ((file-name-handler-alist
+ (cons (cons url-handler-regexp 'url-file-handler)
+ file-name-handler-alist)))
+ (funcall func url)))))
(function-put 'browse-url-emacs 'browse-url-browser-kind 'internal)