From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Tim X Newsgroups: gmane.emacs.help Subject: Re: Open Hypspec with w3m Date: Sat, 29 Jan 2011 10:00:59 +1100 Organization: Unlimited download news at news.astraweb.com Message-ID: <87d3ng1vmc.fsf@puma.rapttech.com.au> References: <87bp30bzdg.fsf@notengoamigos.org> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: dough.gmane.org 1296259028 25480 80.91.229.12 (28 Jan 2011 23:57:08 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Fri, 28 Jan 2011 23:57:08 +0000 (UTC) To: help-gnu-emacs@gnu.org Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Sat Jan 29 00:57:04 2011 Return-path: Envelope-to: geh-help-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1PiyBZ-0004zm-Ha for geh-help-gnu-emacs@m.gmane.org; Sat, 29 Jan 2011 00:57:01 +0100 Original-Received: from localhost ([127.0.0.1]:39602 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1PixwL-000481-UI for geh-help-gnu-emacs@m.gmane.org; Fri, 28 Jan 2011 18:41:18 -0500 Original-Path: usenet.stanford.edu!news.glorb.com!news2.glorb.com!border6.newsrouter.astraweb.com!news.astraweb.com!border2.newsrouter.astraweb.com!not-for-mail Original-Newsgroups: gnu.emacs.help User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.0.50 (gnu/linux) Cancel-Lock: sha1:uN0geAX07TbJCQFzXRRFq8j0+dE= Original-Lines: 54 Original-NNTP-Posting-Host: fc6aa1d2.news.astraweb.com Original-X-Trace: DXC=S_NagR31:KL?0kYOcDh@:7^o:UA4R?c5NUD]k]; EK]>]G; 2>V^?kW348NP]Hm4n:90W?b9JFR:o5ibMNRmS>JL2 Original-Xref: usenet.stanford.edu gnu.emacs.help:184659 X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Users list for the GNU Emacs text editor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Errors-To: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.help:78816 Archived-At: Jason Earl writes: > I have been spending a bit of my free time learning Common Lisp (and > enjoying it). Part of learning Common Lisp is getting to know the > HyperSpec. The fact that Emacs includes a function 'hyperspec-lookup > that makes this a matter of a few keystrokes is very helpful. However, > by default this opens up the page in Firefox, and I would pretty much > always like to open the HyperSpec in w3m. I would change the default > browse-url-browser-function, but I generally want to open URLs with > Firefox. > > For Common Lisp buffers I make 'browse-url-browser-function a local > variable and set it to 'w3m-browse-url. > > (add-hook 'lisp-mode-hook 'jadoea-lispstuff) > > ;; my python configuration > (defun jadoea-lispstuff () > "Custom Lisp Configurator. > > Turn on flyspell-prog-mode. Clean up whitespace on save (leave > tabs). Make browse-url-browser-function buffer-local and set it > to browse-url-w3m." > (flyspell-prog-mode) > (add-hook 'before-save-hook > (lambda () > (jadoea-clean-whitespace t nil)) nil t) > (make-local-variable 'browse-url-browser-function) > (setq browse-url-browser-function 'w3m-browse-url)) > > This works great as long as I am in a Common Lisp buffer, but I find > myself constant wanting to look up stuff from the HyperSpec while in a > Slime REPL, or some other type of buffer. > > So is there a way to override 'hyperspec-lookup so that it always > behaves as if browse-url-browser-function was 'w3m-browse-url? > > I build Emacs from source, and I maintain my own branch so that I can > easily deploy Emacs on various machines. So I considered simply hacking > common-lisp-hyperspec to do what I wanted. However, that hardly seems > like the cleanest way to do this sort of thing. > > Any suggestions? > You could try using defadvice and advise hyperspec-lookup. In the advice, locally bind browse-url-browser-function to use w3m. I guess you would need either 'before or 'around form of defadvice. Tim -- tcross (at) rapttech dot com dot au