Function: semantic-decorate-add-decorations

semantic-decorate-add-decorations is a byte-compiled function defined in mode.el.gz.

Signature

(semantic-decorate-add-decorations TAG-LIST)

Documentation

Add decorations to tags in TAG-LIST.

Also make sure old decorations in the area are completely flushed.

Source Code

;; Defined in /usr/src/emacs/lisp/cedet/semantic/decorate/mode.el.gz
(defun semantic-decorate-add-decorations (tag-list)
  "Add decorations to tags in TAG-LIST.
Also make sure old decorations in the area are completely flushed."
  (dolist (tag tag-list)
    ;; Cleanup old decorations.
    (when (semantic-decorate-tag-decoration tag)
      ;; Note on below comment.   This happens more as decorations are refreshed
      ;; mid-way through their use.  Remove the message.

      ;; It would be nice if this never happened, but it still does
      ;; once in a while.  Print a message to help flush these
      ;; situations
      ;;(message "Decorations still on %s" (semantic-format-tag-name tag))
      (semantic-decorate-clear-tag tag))
    ;; Add new decorations.
    (dolist (style semantic-decoration-styles)
      (let ((pred (semantic-decorate-style-predicate   (car style)))
	    (high (semantic-decorate-style-highlighter (car style))))
	(and (cdr style)
	     (fboundp pred)
	     (funcall pred tag)
	     (fboundp high)
	     (funcall high tag))))
    ;; Recurse on the children of all tags
    (semantic-decorate-add-decorations
     (semantic-tag-components-with-overlays tag))))