Stop Emacs from invoking a browser
After upgrading my OS (in this case, to Debian sid), I noticed that my browser window kept being replaced with an HTML file I was editing in emacs. I'd hit Back or close the tab, and the next time I checked, there it was again, my HTML source.
I'm sure it's a nice feature that emacs can show me my HTML in
a browser. But it's not cool to be replacing my current page without
asking. How do I turn it off? A little searching revealed that this
was html-autoview-mode, which apparently at some point started
defaulting to ON instead of OFF. Running M-x html-autoview-mode
toggles it back off for the current session -- but that's no help if I
want it off every time I start emacs.
I couldn't find any documentation for this, and the obvious (html-autoview-mode nil) in .emacs didn't work -- first, it gives a syntax error because the function isn't defined until after you've loaded html-mode, but even if you put it in your html-mode hook, it still doesn't work.
I had to read the source of
sgml-mode.el.
(M-x describe-function html-autoview-mode
also would have
told me, if I had already loaded html-mode, but I didn't realize that
until later.)
Turns out html-autoview-mode turns off if its argument is negative,
not nil. So I added it to my html derived mode:
(define-derived-mode html-wrap-mode html-mode "HTML wrap mode" (auto-fill-mode) ;; Don't call an external browser every time you save an html file: (html-autoview-mode -1) )
[ 22:48 Jun 05, 2013 More linux/editors | permalink to this entry | ]