Function: hash-merge-values
hash-merge-values is a byte-compiled function defined in hasht.el.
Signature
(hash-merge-values VALUE1 VALUE2)
Documentation
Return a list from merging VALUE1 and VALUE2 or creating a new list.
Nil values are thrown away.
This is suitable for use as a value of hash-merge-values-function.
Source Code
;; Defined in ~/.emacs.d/elpa/hyperbole-20261018.1143/hasht.el
(defun hash-merge-values (value1 value2)
"Return a list from merging VALUE1 and VALUE2 or creating a new list.
Nil values are thrown away.
This is suitable for use as a value of `hash-merge-values-function'."
;; Copy lists so that merged result does not share structure with the
;; hash tables being merged.
(when (sequencep value1) (setq value1 (copy-sequence value1)))
(when (sequencep value2) (setq value2 (copy-sequence value2)))
(cond ((null value1)
(if (listp value2) value2 (list value2)))
((null value2)
(if (listp value1) value1 (list value1)))
((and (sequencep value1) (sequencep value2))
(when (stringp value1) (setq value1 (list value1)))
(when (stringp value2) (setq value2 (list value2)))
;; Return a list of the union of the values elements
(seq-union value1 value2))
((listp value1)
(cons value2 value1))
((listp value2)
(cons value1 value2))
(t (if (equal value1 value2)
(list value1)
(list value1 value2)))))