Function: semantic-tag-put-attribute-no-side-effect
semantic-tag-put-attribute-no-side-effect is a byte-compiled function
defined in tag.el.gz.
Signature
(semantic-tag-put-attribute-no-side-effect TAG ATTRIBUTE VALUE)
Documentation
Change value in TAG of ATTRIBUTE to VALUE without side effects.
All cons cells in the attribute list are replicated so that there are no side effects if TAG is in shared lists. If ATTRIBUTE already exists, its value is set to VALUE, otherwise the new ATTRIBUTE VALUE pair is added. Return TAG.
Source Code
;; Defined in /usr/src/emacs/lisp/cedet/semantic/tag.el.gz
(defun semantic-tag-put-attribute-no-side-effect (tag attribute value)
"Change value in TAG of ATTRIBUTE to VALUE without side effects.
All cons cells in the attribute list are replicated so that there
are no side effects if TAG is in shared lists.
If ATTRIBUTE already exists, its value is set to VALUE, otherwise the
new ATTRIBUTE VALUE pair is added.
Return TAG."
(let* ((plist-cdr (semantic--tag-attributes-cdr tag)))
(when (consp plist-cdr)
(setcar plist-cdr
(semantic-tag-make-plist
(plist-put (copy-sequence (car plist-cdr))
attribute value))))
tag))