branch: externals/idlwave commit f9fe85b7c87b9d2f78edcdc86e9b7993de0b79e9 Author: jdsmith <jdsmith> Commit: jdsmith <jdsmith>
- Support the new found-in property for supporting structure definitions found in the __define of another class; visit source or keyword there. --- idlw-help.el | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/idlw-help.el b/idlw-help.el index c54878f78e..1e42a3c599 100644 --- a/idlw-help.el +++ b/idlw-help.el @@ -408,17 +408,20 @@ It collects and prints the diagnostics messages." ;; A class structure tag (self.BLAH) -- only in-text help available (classtag (let ((tag (substring this-word (match-end 0))) - class-with) + class-with found-in) (when (setq class-with (idlwave-class-or-superclass-with-tag (nth 2 (idlwave-current-routine)) tag)) + (setq found-in (idlwave-class-found-in class-with)) (if (assq (idlwave-sintern-class class-with) idlwave-system-class-info) (error "No help available for system class tags")) (setq idlwave-help-do-class-struct-tag t) (setq mod1 (list nil - (concat class-with "__define") + (if found-in + (cons (concat found-in "__define") class-with) + (concat class-with "__define")) 'pro nil ; no class.... it's a procedure! tag))))) @@ -785,6 +788,8 @@ This function can be used as `idlwave-extra-help-function'." (let* ((class-struct-tag idlwave-help-do-class-struct-tag) (struct-tag idlwave-help-do-struct-tag) (case-fold-search t) + (real-class (if (consp name) (cdr name))) + (name (if (consp name) (car name) name)) (class-only (and (stringp class) (not (stringp name)))) file header-pos def-pos in-buf) (if class-only ;Help with class? Using "Init" as source. @@ -826,7 +831,8 @@ This function can be used as `idlwave-extra-help-function'." (setq def-pos ;; Find the class structure tag if that's what we're after (cond - ;; Class structure tags: find the class definition + ;; Class structure tags: find the class or named structure + ;; definition (class-struct-tag (save-excursion (setq class @@ -834,7 +840,7 @@ This function can be used as `idlwave-extra-help-function'." (substring name 0 (match-beginning 1)) idlwave-current-tags-class)) (and - (idlwave-find-class-definition class) + (idlwave-find-class-definition class nil real-class) (idlwave-find-struct-tag keyword)))) ;; Generic structure tags: the structure definition