Function: majutsu-setup-buffer-internal
majutsu-setup-buffer-internal is a natively compiled function defined
in majutsu-mode.el.
Signature
(majutsu-setup-buffer-internal MODE LOCKED BINDINGS &key BUFFER DIRECTORY INITIAL-SECTION SELECT-SECTION)
Source Code
;; Defined in /nix/store/jagqw3nms546pad0gxi5f3wsckk6pji7-emacs-packages-deps/share/emacs/site-lisp/majutsu-mode.el
(cl-defun majutsu-setup-buffer-internal
(mode locked bindings
&key buffer directory initial-section select-section)
(let* ((topdir (majutsu--toplevel-safe directory))
(value (and locked
(with-temp-buffer
(pcase-dolist (`(,var ,val) bindings)
(set (make-local-variable var) val))
(let ((major-mode mode)
(default-directory topdir))
(majutsu-buffer-value)))))
(buffer (if buffer
(get-buffer-create buffer)
(majutsu-get-mode-buffer mode value topdir)))
(section (and buffer (magit-current-section)))
(created (not buffer)))
(unless buffer
(setq buffer (majutsu-generate-new-buffer mode value topdir)))
(with-current-buffer buffer
(setq majutsu-previous-section section)
(setq majutsu--default-directory topdir)
(setq default-directory topdir)
(funcall mode)
(pcase-dolist (`(,var ,val) bindings)
(set (make-local-variable var) val))
(when created
(run-hooks 'majutsu-create-buffer-hook)))
(majutsu-display-buffer buffer)
(with-current-buffer buffer
(run-hooks 'majutsu-setup-buffer-hook)
(majutsu-refresh-buffer-internal created
:initial-section initial-section
:select-section select-section)
(when created
(run-hooks 'majutsu-post-create-buffer-hook)))
buffer))