[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/idlwave 164b56ace2 284/360: Add link path information.
From: |
ELPA Syncer |
Subject: |
[elpa] externals/idlwave 164b56ace2 284/360: Add link path information. |
Date: |
Sun, 28 Apr 2024 00:59:34 -0400 (EDT) |
branch: externals/idlwave
commit 164b56ace247a3b838cf3f78df2b6ee3fbed4f7d
Author: JD Smith <jdtsmith@gmail.com>
Commit: JD Smith <jdtsmith@gmail.com>
Add link path information.
IDL 8 neglects to include the full path in the XML catalog file, but does
include
some of it in an Alias.xml, which we parse and use to update the original
dataset.
---
idlwave.el | 28 ++++++++++++++++++++++++++++
1 file changed, 28 insertions(+)
diff --git a/idlwave.el b/idlwave.el
index 9bbbee13e4..90a8318710 100644
--- a/idlwave.el
+++ b/idlwave.el
@@ -4831,6 +4831,33 @@ Gets set in cached XML rinfo, or `idlw-rinfo.el'.")
(while (string-match " +or +" (setq syntax (nth 4 entry)))
(setf (nth 4 entry) (replace-match ", " t t syntax)))))))
+(defun idlwave-convert-xml-add-link-path-information ()
+ ;; Add path information missing from idl_catalog.xml since IDL 8
+ (let* ((alias-file (expand-file-name "help/online_help/IDL/Data/Alias.xml"
+ (idlwave-sys-dir))))
+ (if (file-exists-p alias-file)
+ (let ((aliases (cdar (xml-parse-file alias-file))) elem alias-list)
+ (while aliases
+ (setq elem (car aliases)
+ aliases (cdr aliases))
+ (when (and (listp elem) (eq (car elem) 'Map))
+ (setq elem (cadr elem))
+ (let* ((link (cdr (assoc 'Link elem)))
+ (file (file-name-nondirectory link)))
+ (push (cons file link) alias-list))))
+ ;; Change the links appropriately
+ (mapc
+ (lambda (x)
+ (let ((kwd_blocks (nthcdr 5 x)) link)
+ (while kwd_blocks
+ (setq link (car kwd_blocks)
+ kwd_blocks (cdr kwd_blocks))
+ (let* ((linkfile (car link))
+ (alias (assoc linkfile alias-list)))
+ (if alias
+ (setcar link (cdr alias)))))))
+ idlwave-system-routines)))))
+
(defun idlwave-convert-xml-clean-routine-aliases (aliases)
;; Duplicate and trim original routine aliases from rinfo list
;; This if for, e.g. OPENR/OPENW/OPENU
@@ -5018,6 +5045,7 @@ Cache to disk for quick recovery."
(push (idlwave-xml-create-sysvar-alist elem)
idlwave-system-variables-alist)))
(t))))
+ (idlwave-convert-xml-add-link-path-information)
(idlwave-convert-xml-clean-routine-aliases routine-aliases)
(idlwave-convert-xml-clean-statement-aliases statement-aliases)
(idlwave-convert-xml-clean-sysvar-aliases sysvar-aliases)
- [elpa] externals/idlwave cba1950d51 216/360: Add structure tag completion by default (configurable)., (continued)
- [elpa] externals/idlwave cba1950d51 216/360: Add structure tag completion by default (configurable)., ELPA Syncer, 2024/04/28
- [elpa] externals/idlwave e27fc1ee3d 251/360: Doc cleanup., ELPA Syncer, 2024/04/28
- [elpa] externals/idlwave f334f5294e 247/360: Re-organize/simplify key man binding code., ELPA Syncer, 2024/04/28
- [elpa] externals/idlwave 7340631fc7 159/360: - IDLWAVE 6.0, ELPA Syncer, 2024/04/28
- [elpa] externals/idlwave ecfa158b87 211/360: Added gitignore, ELPA Syncer, 2024/04/28
- [elpa] externals/idlwave 3c7ea0dcf9 200/360: Email cleanup, ELPA Syncer, 2024/04/28
- [elpa] externals/idlwave def98bda5e 208/360: start-of-substatement: Skip blank/comment lines as well., ELPA Syncer, 2024/04/28
- [elpa] externals/idlwave f0a5d18574 186/360: Better current module name, ELPA Syncer, 2024/04/28
- [elpa] externals/idlwave a187552ac8 282/360: Comments/documentation, ELPA Syncer, 2024/04/28
- [elpa] externals/idlwave 6adfc1a3a1 299/360: Clean comments and definitions, ELPA Syncer, 2024/04/28
- [elpa] externals/idlwave 164b56ace2 284/360: Add link path information.,
ELPA Syncer <=
- [elpa] externals/idlwave a6a54081e6 265/360: Handle pesky random C-M's by removing., ELPA Syncer, 2024/04/28
- [elpa] externals/idlwave d0e0533459 271/360: Fix filename completion for exec commands, ELPA Syncer, 2024/04/28
- [elpa] externals/idlwave ed971097c2 286/360: Handle missing "type" elements in the XML catalog, ELPA Syncer, 2024/04/28
- [elpa] externals/idlwave 76d58ec21a 300/360: Ensure a link file is set before normalizing, ELPA Syncer, 2024/04/28
- [elpa] externals/idlwave 687c9f07d8 312/360: Correct help-with-topic topics, ELPA Syncer, 2024/04/28
- [elpa] externals/idlwave 0451b524ff 306/360: Comments, ELPA Syncer, 2024/04/28
- [elpa] externals/idlwave 41145897f6 115/360: *** empty log message ***, ELPA Syncer, 2024/04/28
- [elpa] externals/idlwave 5fddc5cd81 181/360: Leave paragraphs start/sep as default, ELPA Syncer, 2024/04/28
- [elpa] externals/idlwave 8b462f73d9 256/360: Let arrows work correctly if no process in *idl*, ELPA Syncer, 2024/04/28
- [elpa] externals/idlwave aa0d37c454 244/360: Don't require unnecessary things., ELPA Syncer, 2024/04/28