help-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Open Hypspec with w3m


From: Jason Earl
Subject: Re: Open Hypspec with w3m
Date: Fri, 28 Jan 2011 16:33:15 -0700
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.0.50 (gnu/linux)

On Fri, Jan 28 2011, Tim X wrote:

> Jason Earl <jearl@notengoamigos.org> 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.

That looks like what I need.  Thank you very much.  I will do a little
bit of experimenting and post a solution.

Jason


reply via email to

[Prev in Thread] Current Thread [Next in Thread]