Function: idlwave-xml-create-sysvar-alist

idlwave-xml-create-sysvar-alist is a byte-compiled function defined in idlwave.el.gz.

Signature

(idlwave-xml-create-sysvar-alist XML-ENTRY)

Source Code

;; Defined in /usr/src/emacs/lisp/progmodes/idlwave.el.gz
(defun idlwave-xml-create-sysvar-alist (xml-entry)
  ;; Create a sysvar list entry from the xml parsed list.
  (let* ((nameblock (nth 1 xml-entry))
	 (name (cdr (assq 'name nameblock)))
	 (sysvar (substring name (progn (string-match "^ *!" name)
					(match-end 0))))
	 (link (cdr (assq 'link nameblock)))
	 (params (cddr xml-entry))
	 (case-fold-search t)
	 pelem ptype props tags)
    (while params
      (setq pelem (car params))
      (when (listp pelem)
	(setq ptype (car pelem)
	      props (car (cdr pelem)))
	(cond
	 ((eq ptype 'FIELD)
	  (push (cons (cdr (assq 'name props))
		      (cdr
		       (idlwave-split-link-target (cdr (assq 'link props)))))
		tags))))
	(setq params (cdr params)))
    (delq nil
	  (list sysvar (if tags (cons 'tags tags)) (list 'link link)))))