Function: idlwave-struct-tags

idlwave-struct-tags is a byte-compiled function defined in idlwave.el.gz.

Signature

(idlwave-struct-tags)

Documentation

Return a list of all tags in the structure defined at point.

Point is expected just before the opening { of the struct definition.

Source Code

;; Defined in /usr/src/emacs/lisp/progmodes/idlwave.el.gz
(defun idlwave-struct-tags ()
  "Return a list of all tags in the structure defined at point.
Point is expected just before the opening `{' of the struct definition."
  (save-excursion
    (let* ((borders (idlwave-struct-borders))
	   (beg (car borders))
	   (end (cdr borders))
	   tags)
      (goto-char beg)
      (save-restriction
	(narrow-to-region beg end)
	(while (re-search-forward idlwave-struct-tag-regexp end t)
	  ;; Check if we are still on the top level of the structure.
	  (if (and (condition-case nil (progn (up-list -1) t) (error nil))
		   (= (point) beg))
	      (push (match-string-no-properties 5) tags))
	  (goto-char (match-end 0))))
	(nreverse tags))))