branch: externals/idlwave
commit 3ee283529b9d13e48c006f64b0292a04eb918c15
Author: JD Smith <[email protected]>
Commit: JD Smith <[email protected]>
Convenience functions for routine entries
---
idlw-routine.el | 28 ++++++++++++++++++++--------
1 file changed, 20 insertions(+), 8 deletions(-)
diff --git a/idlw-routine.el b/idlw-routine.el
index 550d830ccf..0f152378c7 100644
--- a/idlw-routine.el
+++ b/idlw-routine.el
@@ -3,7 +3,7 @@
;; Format for all routine info user catalog, library catalogs, etc.:
;;
;; ("ROUTINE" type class
-;; (system) | (lib pro_file dir "LIBNAME") | (user pro_file dir "USERLIB") |
+;; (system nil nil nil) | (lib pro_file dir "LIBNAME") | (user pro_file dir
"USERLIB") |
;; (buffer pro_file dir) | (compiled pro_file dir)
;; "calling_string" ("LINKFILE" (("KWD1" . anchorlink1) ...))
;; ("LINKFILE2" (("KWD2" . ancorlink2) ...)) ...)
@@ -16,6 +16,19 @@
;; (e.g. Graphics Keywords), there are multiple keyword link lists.
+;;----------------------------------------------------
+;; Convenience Routines for routine info lists
+
+(defun idlwave-routine-routine-name (x)
+ (car x))
+
+(defun idlwave-routine-class-name (x)
+ (nth 2 x))
+
+(defun idlwave-routine-first-link-file (x)
+ (car (nth 5 x)))
+
+
;;----------------------------------------------------
;; Routine Info
@@ -493,13 +506,12 @@ When TYPE is not specified, both procedures and functions
will be considered."
(idlwave-uniquify rtn))))
(defun idlwave-make-full-name (class &optional name)
- (let (class)
- (when (listp class)
- ;; a routine info or idlwave-what-module entry
- (setq name (car class)
- class (nth 2 class)))
- ;; Make a fully qualified module name including the class name
- (concat (if class (format "%s::" class) "") name)))
+ (when (and (listp class) (not (null class)))
+ ;; a routine info or idlwave-what-module entry
+ (setq name (car class)
+ class (nth 2 class)))
+ ;; Make a fully qualified module name including the class name
+ (concat (if class (format "%s::" class) "") name))
(defun idlwave-determine-class (cw-list type)
;; Determine the class of a routine call. CW-LIST is the `cw-list'