Function: keymap--merge-bindings

keymap--merge-bindings is a byte-compiled function defined in subr.el.gz.

Signature

(keymap--merge-bindings VAL1 VAL2)

Documentation

Merge bindings VAL1 and VAL2.

Source Code

;; Defined in /usr/src/emacs/lisp/subr.el.gz
(defun keymap--merge-bindings (val1 val2)
  "Merge bindings VAL1 and VAL2."
  (let ((map1 (keymap--menu-item-binding val1))
        (map2 (keymap--menu-item-binding val2)))
    (if (not (and (keymapp map1) (keymapp map2)))
        ;; There's nothing to merge: val1 takes precedence.
        val1
      (let ((map (list 'keymap map1 map2))
            (item (if (keymapp val1) (if (keymapp val2) nil val2) val1)))
        (keymap--menu-item-with-binding item map)))))