[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: jde + emacs-w3m problem
JC> If I remember correctly, integration was pretty much a snap. After
JC> installing emacs-w3m-1.3.4, and w3m 0.4.1, I needed to modify
JC> jde-file-to-url because there seemed to be some discrepancy in how jdee and
JC> w3m handle URL file notation. (see previous email). I also added:
JC>
JC> (setq browse-url-browser-function 'w3m-browse-url)
JC>
JC> to my .emacs.
I integrated w3m javadoc browsing at our site in May and most users
enjoy it. To avoid pissing off my users, however, I use w3m _only_
for javadoc. Here is the code I wrote (probably there is a much
easier way, but this was the first thing I tried). Also, this code
works for both NT Emacs and Cygwin Emacs:
(defun fixup-localhost-browse-url (url &optional new-window)
(if (string-match "file://localhost/\\(.\\)|\\(/.*jde_meta.html\\)" url)
(let* ((file (replace-match (if (eq system-type 'cygwin)
"/\\1\\2"
"\\1:\\2") t nil url nil)))
(with-temp-buffer
(insert-file-contents file)
(if (re-search-forward
"^.*file://localhost/\\([a-z]\\)|\\(.*\\.html.*\\)\".*$" (point-max) t nil)
(let (string name new-buffer-name existing-buffer)
(replace-match "file:///\\1\\2" t)
(setq string (buffer-substring
(save-excursion
(beginning-of-line)
(point))
(point)))
(string-match ".*/\\(.*\\).html.*" string)
(setq new-buffer-name (concat "*JavaDoc " (match-string 1 string) "*"))
(setq existing-buffer (get-buffer new-buffer-name))
(if existing-buffer
(progn
(pop-to-buffer new-buffer-name)
(w3m-goto-url string))
(progn
(w3m-goto-url-new-session string)
(rename-buffer new-buffer-name t)))))))
(browse-url-default-windows-browser url new-window)))
(setq browse-url-browser-function 'fixup-localhost-browse-url)
--
Robert