Function: idlwave-routine-twins

idlwave-routine-twins is a byte-compiled function defined in idlwave.el.gz.

Signature

(idlwave-routine-twins ENTRY &optional LIST)

Documentation

Return all twin entries of ENTRY in LIST.

LIST defaults to idlwave-routines(var)/idlwave-routines(fun). Twin entries are those which have the same name, type, and class. ENTRY will also be returned, as the first item of this list.

Source Code

;; Defined in /usr/src/emacs/lisp/progmodes/idlwave.el.gz
(defun idlwave-routine-twins (entry &optional list)
  "Return all twin entries of ENTRY in LIST.
LIST defaults to `idlwave-routines'.
Twin entries are those which have the same name, type, and class.
ENTRY will also be returned, as the first item of this list."
  (let* ((name (car entry))
	 (type (nth 1 entry))
	 (class (nth 2 entry))
	 (candidates (idlwave-all-assq name (or list (idlwave-routines))))
	 twins candidate)
    (while (setq candidate (pop candidates))
      (if (and (not (eq candidate entry))
	       (eq type (nth 1 candidate))
	       (eq class (nth 2 candidate)))
	  (push candidate twins)))
    (if (setq candidate (idlwave-rinfo-assq name type class
					    idlwave-unresolved-routines))
	(push candidate twins))
    (cons entry (nreverse twins))))