From bdf9a71ab7baa2b1de9abcfd5df1a9107a55d141 Mon Sep 17 00:00:00 2001 From: Jack Jamison Date: Sun, 5 Jul 2026 01:19:30 -0400 Subject: add a bunch of emacs packages HELP --- .config/emacs/lisp/magit/docs/RelNotes/2.9.0.txt | 437 +++++++++++++++++++++++ 1 file changed, 437 insertions(+) create mode 100644 .config/emacs/lisp/magit/docs/RelNotes/2.9.0.txt (limited to '.config/emacs/lisp/magit/docs/RelNotes/2.9.0.txt') diff --git a/.config/emacs/lisp/magit/docs/RelNotes/2.9.0.txt b/.config/emacs/lisp/magit/docs/RelNotes/2.9.0.txt new file mode 100644 index 0000000..d7fa73c --- /dev/null +++ b/.config/emacs/lisp/magit/docs/RelNotes/2.9.0.txt @@ -0,0 +1,437 @@ +Magit v2.9.0 Release Notes +========================== + +Released 7 December 2016 by Jonas Bernoulli. + +We are pleased to announce the release of Magit version 2.9.0, +representing 250 commits by 18 people over 15 weeks. + +Also see https://emacsair.me/2016/12/07/magit-2.9. + +Breaking changes since v2.8.0 +----------------------------- + +* For historic reasons "RET" behaved differently in `magit-refs-mode' + than anywhere else. "RET" is one of Magit's most essential key + bindings and users quickly learn that regardless of what is actually + at point, it always shows more information about that thing in + another buffer. It can be very confusing if the references buffer + breaks this convention. + + Now `magit-visit-ref' behaves just like `magit-show-commit' even in + `magit-refs-mode' buffers. By default at least; you can easily + revert this change using: + + (setq magit-visit-ref-behavior '(checkout-any focus-on-ref)) + + However we recommend that you instead press "b b RET" to checkout + the reference at point, just like you always had to do in other + buffers. And "C-u y o RET" to make commit counts and lists of + cherries commits relative to the reference at point. + + Furthermore the option `magit-visit-ref-create' was removed. If you + previously had that set to `t', then you can achieve the same using: + + (add-to-list 'magit-visit-ref-behavior 'create-branch) + + However we recommend that you instead press "b c RET RET", just like + you always had to do in other buffers. #2868 + +* The option `magit-popup-show-common-commands' now defaults to `nil'. + + This was done to make popups less noisy but increases the odds + that some users will never become aware of the common commands. + To counter that, the usage instructions displayed in the echo area + now also mention the key that can be used to show these commands + temporarily. #2868 + + You can easily revert this change using: + + (setq magit-popup-show-common-commands t) + +* The option `magit-popup-use-prefix-argument' defaults to `default' + now, meaning that the use of a prefix argument causes the popup's + default action to be invoked directly without the popup being shown + first. + + Previously the use of a prefix argument did not invoke the popup + or its default action, and instead informed users that they had to + choose what behavior they wanted and that they had to set the option + accordingly. Doing that was necessary three years ago, when the + default behavior changed when "magit-key-mode.el" was replaced with + "magit-popup.el". Now we don't need that safety net anymore. #2868 + +* If, and only if, point is on a removed line in a diff, then "RET" + now jumps to the last commit which still had that line, not the + commit which removed that line. Staged changes are excluded from + this new behavior because in that case it seems favorable to always + visit the file in the working tree to make further changes. #2755 + + You can easily revert this change using: + + (setq magit-diff-visit-previous-blob nil) + +* The margin that by default is displayed in pure log buffers and + optionally in some other buffers that contain logs is now more + flexible and easier to customize and to change on the fly. + + The popup that "L" is bound to now features three commands that + for changing the appearance of the margin: `magit-toggle-margin', + `magit-toggle-margin-details' and `magit-cycle-margin-style'. + + The binding for `magit-toggle-margin' has changed from "L t" to the + simpler "L L". You can easily revert this change using: + + (magit-change-popup-key 'magit-log-refresh-popup :action ?L ?t) + (magit-change-popup-key 'magit-margin-popup :action ?L ?t) + + For each mode that supports the margin there now exists a dedicated + option named `magit-*-margin', which controls whether the margin is + shown initially, whether the author name is displayed in addition + to the committer date, and how that committer date is formatted. + All of these options can be found in the new `magit-margin' Custom + group. + + It is now possible to show the actual committer date, using a time + format of your choosing. Previously the only option was to display + the age of the commit. + + The old options that were previously used to configure the margin + have been removed. If you have customized `magit-log-show-margin', + `magit-reflog-show-margin' and/or `magit-refs-show-margin', then you + now have to customize the respective new variable whose names do not + contain "-show". The same applies if you have previously changed + the value of `magit-log-margin-spec'. Unfortunately this cannot be + automated because the format of the values has changed and because + the old customizations do not unambiguously map to the new options. + + You might also want to customize the options `magit-status-margin', + `magit-stashes-margin' and `magit-log-select-margin', for all of + which no corresponding `magit-*-show-margin' used to exist. Another + new option is `magit-refs-margin-for-tags'. + + If you choose to display the commit dates instead of the commit + ages in all supported modes, then you should set `magit-log-margin' + before loading `magit'. If you do that then the default values of + the other `magit-*-margin' options will use the same commit date + style without you having to customize each option individually. + #2885, #2792 + +* By default Git-Commit no longer complains about a summary line that + is too long by some standards. You can easily revert this change + using: 2f115d51 + + (add-to-list 'git-commit-style-convention-checks + 'overlong-summary-line) + +* In buffers used to write commit messages `fill-column' is no longer + set to 72. Instead the default value 70 is used (or whatever local + or global value is set up through other means). You can easily + revert this change using: #2848, #2852 + + (setq git-commit-fill-column 72) + +* When it takes too long to parse diffs, then Magit used to stop + expanding diff sections after one second. This was a constant + source of confusion and one second is a very long time anyway, so + this did not really help hiding the slowness, so this kludge was + effectively dropped. You can easily revert this change using: + + (setq magit-diff-expansion-threshold 1.0) + + By the way, improving performance will soon be a priority again. + #2886 + +Changes since v2.8.0 +-------------------- + +* Magit has a new shiny logo! It was created by Dmitriy A. from + Prospect One. Thanks a lot! https://prospectone.io/portfolio/magit + +* The new option `magit-branch-adjust-remote-upstream-alist' can be + used to configure what branch to use as upstream when branching a + remote branch. Without setting this option the upstream ends up + being the same branch as the one referred to by the push-remote. + 85c3053d + +* The per-refresh cache, which is used to save calls to git because + that is surprisingly slow on Windows, has been improved for calls to + `git config'. Instead of just avoiding identical calls to `git + config' as for other sub-commands, we now call `git config --list' + only once per refresh to obtain a list of all variables and their + values. #2743 + +* When visiting a file or blob buffer by pressing "RET" while point is + inside a diff, then the position this jumps to is now accurate (even + when jumping to the file in the working tree from a diff that wasn't + about changes in the working tree). #2828 + +* When visiting a file or blob buffer by pressing "RET" while point is + inside a diff, then the buffer may be widened but only if necessary. + If it isn't necessary to widen the buffer to jump to the appropriate + location, because that position falls into the narrowed region, then + that the buffer isn't widened. #2804, #2818 + +* Hunk refinement is now faster. Users who previously set + `magit-diff-refine-hunk' to `nil' due to performance issues may + find that it now works well even when set to `all'. #2834 + +* The new options `magit-diff-highlight-hunk-region-functions' and + `magit-diff-unmarked-lines-keep-foreground' (which was previously + defined as an undocumented variable) allow tuning the appearance + of the hunk-internal region. + + The new function `magit-diff-highlight-hunk-region-using-face', + provides a new style; it makes the hunk-internal region bold (or + italic). I recommend you customize the above option to use this + function instead of one of the functions mentioned below. + + The new functions `magit-diff-highlight-hunk-region-using-overlays' + and `magit-diff-highlight-hunk-region-using-underline' draw one-pixel + lines before and after the hunk-internal region. Both of these + functions have (different) glitches and due to limitations of Emacs' + display engine it is not possible to fix those. #2293, #2758, #2791 + +* Added command `magit-find-git-config-file' and variants to make it + easier to open a file located in the git directory when ".git" is + a regular file whose contents describe the location of the real git + directory. 8664223c + +* Added command `magit-emacs-Q-command' to make troubleshooting and + bug reporting easier for users not installing from the git + repository. #2856 + +* The command `magit-branch-spinoff' learned to remove only a subset + of commits from the previously current branch, instead of resetting + it to its upstream, when the region selects commits reachable from + HEAD. 1e652b87 + +* The command `magit-branch-delete' now falls back to deleting the + tracking branch when the user attempts to delete a remote branch + which does not actually exist on the remote anymore. #2778 + +* The command `magit-diff-dwim' learned about additional cases. On + a non-current branch it now shows the diff for "CURRENT...BRANCH" + (instead of "BRANCH..CURRENT") and inside a stash buffer it shows + the diff for the commit at point. #2812 + +* The command `magit-push', which "o" is bound to in the push popup, + now offers the push-branch as default choice. Only if that is not + set does it default to the upstream as before. And when pushing a + commit that is reachable from HEAD, then it offers to push to the + push-branch or upstream of the current branch (which still has to + be forced explicitly). #2820 + +* Log commands now support completion of refs in the "refs/tags" and + "refs/pull" namespaces. #2878 + +* Added option `magit-no-confirm-default' to allow specifying commands + which should just use the default choice instead of having the user + confirm that by pressing RET. I recommend you don't use this, but + if you think that the defaults are so good that you always want to + use them, then this might make it a bit easier for you. #2741 + +* Added option `magit-slow-confirm' for users who are afraid they + would answer `y-or-n-p' questions to quickly. One action, deleting + all stashes, now defaults to having to be confirmed with "yes RET". + #2752 + +* Added option `magit-view-git-manual-method' to allow following links + to the Git Info manual by visiting the respective manpage instead. + de38266a + +* The option `magit-branch-prefer-remote-upstream' now also supports + regexps as members instead of only complete branch names. #2823 + +* The option `magit-branch-read-upstream-first' used to be a boolean. + Now it supports a third value `fallback', which means to read the + upstream first like `t', but if the value provided by the user does + not reference an existing revision, then it is treated as the name of + the new branch and the upstream is read using the second prompt, as + if the value of this option were `nil'. #2741 + +* When deleting a stash, the hash is now logged to the process log + buffer in addition to *Messages*, making it more likely that a + user who accidentally deleted a stash would find the information + required to undo that. #2746 + +* The environment variable `INSIDE_EMACS' is now set when calling git. + #2789 + +* `magit-define-popup' now allows specifying `:max-action-columns' per + section by using a function that returns a different value based on + the heading, which is passed as argument. 964fcbe0 + +* Added support for new gpg status letters X, Y, R, and E. #2845 + +* Added `hl-line-mode' to `magit-repolist-hook' and + `magit-submodule-list-hook' and defined those hooks explicitly. + 9f806732 + +* Added the `--gpg-sign=' option to the revert popup. 916e4599 + +* Added the `--sort=' option to the show-refs popup. (Use "C-u y" to + show the popup instead of invoking its default action as "y" does.) + 8ab81f06 + +* Added new faces `git-rebase-comment-heading' + and `git-rebase-comment-hash'. #2769 + +* `whitespace-mode' is not compatible with Magit buffers, where it is + now actively prevented from being turned on by the user. #2821 + +Fixes since v2.8.0 +------------------ + +* The command `magit-list-repositories' failed on empty repositories. + 09fac022 + +* The Git variable `pull.rebase' was ignored when determining whether + the current branch is being rebased onto its upstream in order to + display that information in the status buffer. 9c946ee3 + +* On 32-bit systems `magit-format-log-margin' failed because it tried + to truncate a time float that was too large for that. #2765 + +* On Emacs v25.1 the hunk-internal region flashed briefly on + mouse-down-1 events and the delimiting horizontal lines could end + up having the height of a regular line instead of just a single + pixel. #2758 + +* On Windows, when using a `windows-nt' Emacs together with a cygwin + Git, we failed to instruct Emacs to not use dos shell quoting when + calling git. And if Git wasn't available, then that caused an + error, which prevented Magit from being loaded. #2842 + +* The encoding of commit messages is controlled by the Git variable + `i18n.logOutputEncoding' but we failed to take that into account. + Fixes by setting `i18n.logOutputEncoding' to UTF-8, but only inside + Magit and only for `window-nt'. #2738, #2813 + +* It wasn't taken into account, until a few days after the release, + that as of Git v2.11, the default abbreviation size is no longer + hardcoded as 7 but instead scales with the repository size. #2880 + +* File and directory local variables were not honored in the buffers + used to write commit messages. #2852 + +* The caching mechanism that is supposed to ensure that sections of + unpulled and unpushed commits remain collapsed even when they + disappear was broken for a while. 0ad041c4 + +* Process sentinels did not in all cases ensure that the correct + buffer was current before doing something that assumes that this is + the case. Almost always that did not matter because it was the case + anyway, but if other timers are running then it is possible that + those make the wrong buffer current. #2836 + +* Process sentinels and filters used when blaming assumed that the + `exit' process status indicates success. #2836 + +* The commands `magit-clone' and `magit-init' did not work over Tramp. + #2806, #2807 + +* The commands `magit-worktree-checkout' and `magit-worktree-branch' + did not expand the path they pass to git, which is necessary because + git does not know the meaning of "~/". #2796 + +* The commands which create fixup/squash commands and then immediately + squash them into the target commit did not remove `--gpg-sign' or + add `--no-gpg-sign'. Signing such commits is not only unnecessary; + unless the passphrase was cached earlier, trying to sign resulted in + the process indefinitely waiting for the passphrase to arrive with + no way for the user to actually provide it. #2799 + +* Depending on the value of `magit-save-repository-buffers' the user + might have been asked whether s/he wants to save "git-rebase-todo", + which is never necessary and just a distraction. #2770, #2771 + +* The function `magit-save-repository-buffers' did not follow symlinks. + #2843 + +* Directories whose names begin with a period were filtered out when + using `magit-repository-directories' to calculate a list of repos. + #2830 + +* The user name and email, which are displayed when reading a gpg key + from the user, were not stripped from the chosen value before being + handed off to git. #2761 + +* When the upstream of the current branch is a remote whose url isn't + configured then that caused an error when refreshing the status + buffer. #2858 + +* Buffers visiting a blob used the file's `default-directory' + even when that directory did not exist in the working tree. The + top-level directory is now used as `default-directory' when the + subdirectory does not exist. cfe46766 + +* When visiting a directory by displaying a Dired buffer, we used to + display a buffer for the parent of the directory in question and + placed point on the name of the directory. But the intention always + was to show the Dired buffer for the directory itself. 5665ba94 + +* Visiting or deleting a submodule listed inside "Modules" failed. + The latter is now done by de-initalizing the module. c26b746e + +* In the list of commits that are being rebased in the status buffer, + HEAD was sometimes prefixed with "same" when "stop" would have been + correct. #2877 + +* The highlighting of a non-empty second line in a commit message was + not automatically updated. #2777 + +* When `--force-with-lease' was added to the `magit-push-popup', + `--force' was removed, but sometimes the former just isn't enough. + be39a9ba + +* The face `magit-diff-file-heading-highlight' used to inherit from + `magit-diff-file-heading', which by default makes text bold. That + resulted in the complete current heading to be bold, but only the + file-name part is supposed to be bold. a4b52516 + +* The manual stated that "DEL" in Git Rebase mode was bound to + `magit-diff-show-or-scroll-down', which was not the case. A new + command `git-rebase-show-or-scroll-down` has been added and bound + to "DEL" to provide this functionality. #2863 + +* The function `magit-repolist-status' did not expand the filename + which may be necessary when listing submodules. cc8c1385 + +* The macro `magit-with-temp-index' did honor the refresh cache, even + though its BODY may contain calls to git that are identical to + outside calls during the same refresh, but which are expected to + return a different value due to the use of a different index. #2883 + +* The log margin did not show the author of stashes. #2846 + +* The status header about the upstream did not take + `branch.NAME.rebase' into account. e65f15d0 + +* Highlighting overlays could not be garbage collected until after a + refresh. #2888 + +This release also contains typofixes, documentation updates, +code clean-ups, and other small bug fixes and improvements. + +Authors +------- + + 196 Jonas Bernoulli + 21 Kyle Meyer + 12 Noam Postavsky + 4 Alexander Gramiak + 2 Adam Porter + 2 Marco Wahl + 2 Sean Allred + 1 Allen + 1 Basil L. Contovounesios + 1 Chillar Anand + 1 Graham Dobbins + 1 Joakim Jalap + 1 Josiah Schwab + 1 Keshav Kini + 1 Marian Schubert + 1 Philipp Stephani + 1 Tunc Uzlu + 1 York Zhao -- cgit v1.2.3