Function: ghostel--merge-integration-plists

ghostel--merge-integration-plists is a natively compiled function defined in ghostel-shell.el.

Signature

(ghostel--merge-integration-plists BASE EXTRA)

Documentation

Merge EXTRA into BASE plist, appending list values for shared keys.

Used to fold the terminfo-push plist into a shell-rc plist so the caller sees one combined :env / :temp-dirs / :temp-files.

Source Code

;; Defined in /nix/store/1252krff0gb2kisjcpp45m50cpdskfrl-emacs-packages-deps/share/emacs/site-lisp/ghostel-shell.el
(defun ghostel--merge-integration-plists (base extra)
  "Merge EXTRA into BASE plist, appending list values for shared keys.
Used to fold the terminfo-push plist into a shell-rc plist so the
caller sees one combined :env / :temp-dirs / :temp-files."
  (let ((out (copy-sequence base)))
    (dolist (key '(:env :temp-files :temp-dirs))
      (let ((b (plist-get base key))
            (e (plist-get extra key)))
        (when (or b e)
          (setq out (plist-put out key (append b e))))))
    out))