Function: semantic--tag-put-property-no-side-effect

semantic--tag-put-property-no-side-effect is a byte-compiled function defined in tag.el.gz.

Signature

(semantic--tag-put-property-no-side-effect TAG PROPERTY VALUE)

Documentation

Change value in TAG of PROPERTY to VALUE without side effects.

All cons cells in the property list are replicated so that there are no side effects if TAG is in shared lists. If PROPERTY already exists, its value is set to VALUE, otherwise the new PROPERTY VALUE pair is added. Return TAG. That function is for internal use only.

Source Code

;; Defined in /usr/src/emacs/lisp/cedet/semantic/tag.el.gz
(defun semantic--tag-put-property-no-side-effect (tag property value)
  "Change value in TAG of PROPERTY to VALUE without side effects.
All cons cells in the property list are replicated so that there
are no side effects if TAG is in shared lists.
If PROPERTY already exists, its value is set to VALUE, otherwise the
new PROPERTY VALUE pair is added.
Return TAG.
That function is for internal use only."
  (let* ((plist-cdr (semantic--tag-properties-cdr tag)))
    (when (consp plist-cdr)
      (setcar plist-cdr
              (semantic-tag-make-plist
               (plist-put (copy-sequence (car plist-cdr))
                          property value))))
    tag))