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/obsolete/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
	     (setq idlwave-system-routines (delq x idlwave-system-routines)))))