branch: externals/idlwave
commit 7d07b1947c491b5c3813dbdc9a4229fc9c7f06f3
Author: JD Smith <jdtsm...@gmail.com>
Commit: JD Smith <jdtsm...@gmail.com>

    Implement new "idl.htm#path/to/file" method of linking
---
 idlw-help.el | 18 +++++++++++-------
 1 file changed, 11 insertions(+), 7 deletions(-)

diff --git a/idlw-help.el b/idlw-help.el
index 29b1ab6cdb..061767b11f 100644
--- a/idlw-help.el
+++ b/idlw-help.el
@@ -568,19 +568,23 @@ see if a link is set for it.  Try extra help functions if 
necessary."
 
 (defun idlwave-help-html-link (link)
   "Get html help on a given LINK."
-  (let ((browse-url-browser-function idlwave-help-browser-function)
-       (browse-url-generic-program idlwave-help-browser-generic-program)
-       ;(browse-url-generic-args idlwave-help-browser-generic-args)
-       (help-loc (idlwave-html-help-location))
-       full-link)
-    
+  (let* ((browse-url-browser-function idlwave-help-browser-function)
+        (browse-url-generic-program idlwave-help-browser-generic-program)
+        (help-loc (idlwave-html-help-location))
+        (alternate (expand-file-name "idl.htm" (file-name-directory help-loc)))
+        full-link)
+
     ;; Just a regular file name (+ anchor name)
     (unless (or idlwave-help-use-eclipse-help
                (and (stringp help-loc)
                     (file-directory-p help-loc)))
       (error "Invalid help request"))
     
-    (setq full-link (browse-url-file-url (expand-file-name link help-loc)))
+    ;; If possible, subsume as anchor under idl.htm
+    (if (file-exists-p alternate)
+       (setq help-loc (concat alternate "#")))
+
+    (setq full-link (browse-url-file-url (concat help-loc link)))
 
     ;; Select the browser
     (cond

Reply via email to