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. If both arguments are lists, their elements are assumed to be strings and the result is a set of ordered strings.
This is suitable for use as a value of hash-merge-values-function.
Source Code
;; Defined in ~/.emacs.d/elpa/hyperbole-20260414.325/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. If both arguments are lists, their elements are
assumed to be strings and the result is a set of ordered strings.
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.
(if (listp value1) (setq value1 (copy-sequence value1)))
(if (listp value2) (setq value2 (copy-sequence value2)))
(cond ((and (listp value1) (listp value2))
;; Assume desired result is a set of strings.
(hash-set-of-strings (sort (append value1 value2) 'string-lessp)))
((null value1)
value2)
((null value2)
value1)
((listp value1)
(cons value2 value1))
((listp value2)
(cons value1 value2))
(t (list value1 value2))))