]> git.eshelyaron.com Git - emacs.git/commitdiff
Make `browse-url-of-buffer' work from zip files
authorLars Ingebrigtsen <larsi@gnus.org>
Sun, 18 Aug 2019 00:30:42 +0000 (17:30 -0700)
committerLars Ingebrigtsen <larsi@gnus.org>
Sun, 18 Aug 2019 00:30:47 +0000 (17:30 -0700)
* lisp/net/browse-url.el (browse-url-of-buffer): Make `C-c C-v'
work in HTML buffers visited from zip files and the like
(bug#10318).

lisp/net/browse-url.el

index 135f11f03c768e6ec53082ad2122651bc806bc96..3151dae0aa2173ed4146ca1d11c8fe6d358515bf 100644 (file)
@@ -714,16 +714,18 @@ narrowed."
           (and (not (buffer-narrowed-p))
                (or buffer-file-name
                    (and (boundp 'dired-directory) dired-directory)))))
-      (or file-name
-         (progn
-           (or browse-url-temp-file-name
-               (setq browse-url-temp-file-name
-                     (convert-standard-filename
-                      (make-temp-file
-                       (expand-file-name "burl" browse-url-temp-dir)
-                       nil ".html"))))
-           (setq file-name browse-url-temp-file-name)
-           (write-region (point-min) (point-max) file-name nil 'no-message)))
+      (when (or (not file-name)
+                ;; This can happen when we're looking at a file from a
+                ;; zip file buffer, for instance.
+                (not (file-exists-p file-name)))
+       (unless browse-url-temp-file-name
+         (setq browse-url-temp-file-name
+               (convert-standard-filename
+                (make-temp-file
+                 (expand-file-name "burl" browse-url-temp-dir)
+                 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))))
 
 (defun browse-url-delete-temp-file (&optional temp-file-name)