Function: idlwave-convert-xml-clean-routine-aliases
idlwave-convert-xml-clean-routine-aliases is a byte-compiled function
defined in idlwave.el.gz.
Signature
(idlwave-convert-xml-clean-routine-aliases ALIASES)
Source Code
;; Defined in /usr/src/emacs/lisp/progmodes/idlwave.el.gz
(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
(let (alias remove-list new parts all-parts)
(cl-loop for x in aliases do
(when (setq parts (split-string (cdr x) "/"))
(setq new (assoc (cdr x) all-parts))
(unless new
(setq new (cons (cdr x) parts))
(push new all-parts))
(setcdr new (delete (car x) (cdr new)))))
;; Add any missing aliases (separate by slashes)
(cl-loop for x in all-parts do
(if (cdr x)
(push (cons (nth 1 x) (car x)) aliases)))
(cl-loop for x in aliases do
(when (setq alias (assoc (cdr x) idlwave-system-routines))
(unless (memq alias remove-list) (push alias remove-list))
(setq alias (copy-sequence alias))
(setcar alias (car x))
(push alias idlwave-system-routines)))
(cl-loop for x in remove-list do
(delq x idlwave-system-routines))))