@AmandaCameron Trying to understand your question a bit better:
Currently, if you:
Have the magit-status window open as the only window in the frame, and in it you use
c c or other such start-commit commands, it splits, such that the magit-status window goes away replaced by the editable commit-message buffer, and the new window contains a newly-created diff to match what you are committing.
Already have two windows open, magit-status and “Buffer B”,
c c gives you the same result as No. 1 above: one window with editable commit message, other with the diff.
You’re saying that the No. 1 behavior is okay, but in the No. 2 case, you want the result to be three windows, with “Buffer B” still in the frame?
magit-.*-functionvariables you could
defadviceto do that (in this case, probably something like
magit-commit-create-function), but they were removed during a ~2018 rearchitecting of Magit because the functionality was split between Magit and magit-popup stuff. I’m not sure how you’d do this now
eqreturns nil, even though
magit-save-repository-buffersis set to
(debug)before the linked
(type-of magit-save-repository-buffers)says it is a
cons, where as doing the same in
(eq magit-save-repository-buffers 'dontask)is
Debugger entered--killing local value of magit-save-repository-buffers in buffer magit: ars: debug--implement-debug-watch(magit-save-repository-buffers nil makunbound #<buffer magit: ars>) kill-all-local-variables() special-mode() magit-section-mode() magit-mode() magit-status-mode()
Debugger entered--setting magit-save-repository-buffers in buffer magit: ars to 'dontask: debug--implement-debug-watch(magit-save-repository-buffers 'dontask set #<buffer magit: ars>) hack-one-local-variable(magit-save-repository-buffers 'dontask) hack-local-variables-apply() hack-dir-local-variables-non-file-buffer() magit-status-mode() magit-setup-buffer-internal(magit-status-mode nil ((magit-buffer-diff-args ("--no-ext-diff")) (magit-buffer-diff-files nil) (magit-buffer-log-args ("-n256" "--decorate")) (magit-buffer-log-files nil)))
(magit-save-repository-buffers . 'dontask)in there, and I guess the quote is wrong
Hi! Sorry for the repost, but I still haven't figured this out:
Quick question (hopefully): when global-magit-file-mode is t (the default), does one still need to
(require 'magit)in their init file in order to enable magit-file-mode bindings?
My .emacs does not
(require 'magit)ATM and
C-x gand other shortcuts do not seem to work until I manually call
M-x magit-statusonce. Adding
(require 'magit)in the init file fixes this. Is this expected?
The installation node in the manual explicitly says to
(require 'magit)when installing from the Git repository, but no such step is mentioned in "Installing from Melpa" nor in "Post-Installation Tasks".
(Tested with Emacs 28)
(My curiosity was renewed by Stefan's recent message on emacs-devel explaining why one shouldn't, in principle,
(require 'foo) in their init file)
For example, I'd like to add the diff stat to the current log with -s
Butting in without having read the rest; does
L -s g in a log buffer do what you want?