Mercurial > emacs
changeset 78620:ac3a937d0270
(browse-url-emacs): New function.
author | Stefan Monnier <monnier@iro.umontreal.ca> |
---|---|
date | Wed, 22 Aug 2007 18:52:59 +0000 |
parents | 606be2448f9e |
children | 1dbe2728aae4 |
files | etc/NEWS lisp/ChangeLog lisp/net/browse-url.el |
diffstat | 3 files changed, 25 insertions(+), 8 deletions(-) [+] |
line wrap: on
line diff
--- a/etc/NEWS Wed Aug 22 16:48:08 2007 +0000 +++ b/etc/NEWS Wed Aug 22 18:52:59 2007 +0000 @@ -41,6 +41,8 @@ * Changes in Emacs 22.2 +** `browse-url-emacs' loads a URL into an Emacs buffer. Handy for *.el URLs. + ** `bad-packages-alist' will warn about external packages that are known to cause problems in this version of Emacs.
--- a/lisp/ChangeLog Wed Aug 22 16:48:08 2007 +0000 +++ b/lisp/ChangeLog Wed Aug 22 18:52:59 2007 +0000 @@ -1,3 +1,7 @@ +2007-08-22 Johan Bockg,Ae(Brd <bojohan@dd.chalmers.se> + + * net/browse-url.el (browse-url-emacs): New function. + 2007-08-22 Stefan Monnier <monnier@iro.umontreal.ca> * emacs-lisp/bytecomp.el (byte-compile-from-buffer): Display a big fat @@ -938,7 +942,7 @@ * lpr.el (lpr-page-header-switches): Move %s to separate element for correct quoting. Doc fix. -2007-06-13 Johan Bockg,Ae(Brd <bojohan@dd.chalmers.se> (tiny change) +2007-06-13 Johan Bockg,Ae(Brd <bojohan@dd.chalmers.se> * term/xterm.el (terminal-init-xterm): Escape parens in character constants.
--- a/lisp/net/browse-url.el Wed Aug 22 16:48:08 2007 +0000 +++ b/lisp/net/browse-url.el Wed Aug 22 18:52:59 2007 +0000 @@ -669,8 +669,7 @@ (error "Current buffer has no file")) (let ((buf (get-file-buffer file))) (if buf - (save-excursion - (set-buffer buf) + (with-current-buffer buf (cond ((not (buffer-modified-p))) (browse-url-save-file (save-buffer)) (t (message "%s modified since last save" file)))))) @@ -1171,6 +1170,20 @@ (append browse-url-epiphany-startup-arguments (list url)))))) ;;;###autoload +(defun browse-url-emacs (url &optional new-window) + "Ask Emacs to load URL into a buffer and show it in another window." + (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))) + ;; Ignore `new-window': with all other browsers the URL is always shown + ;; in another window than the current Emacs one since it's shown in + ;; another application's window. + ;; (if new-window (find-file-other-window url) (find-file url)) + (find-file-other-window url))) + +;;;###autoload (defun browse-url-gnome-moz (url &optional new-window) "Ask Mozilla/Netscape to load URL via the GNOME program `gnome-moz-remote'. Default to the URL around or before point. The strings in variable @@ -1257,8 +1270,7 @@ variable `browse-url-grail'." (interactive (browse-url-interactive-arg "Grail URL: ")) (message "Sending URL to Grail...") - (save-excursion - (set-buffer (get-buffer-create " *Shell Command Output*")) + (with-current-buffer (get-buffer-create " *Shell Command Output*") (erase-buffer) ;; don't worry about this failing. (if (browse-url-maybe-new-window new-window) @@ -1428,8 +1440,7 @@ Default to the URL around or before point." (interactive (browse-url-interactive-arg "MMM URL: ")) (message "Sending URL to MMM...") - (save-excursion - (set-buffer (get-buffer-create " *Shell Command Output*")) + (with-current-buffer (get-buffer-create " *Shell Command Output*") (erase-buffer) ;; mmm_remote just SEGVs if the file isn't there... (if (or (file-exists-p (expand-file-name "~/.mmm_remote")) @@ -1507,5 +1518,5 @@ (provide 'browse-url) -;;; arch-tag: d2079573-5c06-4097-9598-f550fba19430 +;; arch-tag: d2079573-5c06-4097-9598-f550fba19430 ;;; browse-url.el ends here