| Age | Commit message (Collapse) | Author |
|
Closes #5556.
|
|
Our wrapper function backports a bugfix from debbug#80645 /
a7d05207214. It isn't needed for recent 31.0.50 builds.
Closes #5551.
|
|
`magit-diff--modified-defuns' looks for a diff in the current buffer,
but if "git commit" was called without "--verbose" then there is none.
It also only support plain diffs, not the magit-section representation.
This new function uses the in-buffer diff if any, else it inserts the
diff into a temporary buffer and uses that.
|
|
|
|
|
|
When using a package such as `company', which automatically performs
completion, it isn't guaranteed that `dabbrev--reset-global-variables'
has been called at least once, resulting in type error. So we have to
take care of the initialization.
Closes #5545.
|
|
|
|
|
|
`org-mode' and `markdown-mode' use font-lock to control the
`invisible' property, causing our text-property to be discarded.
Work around that by using an overlay.
Re https://github.com/magit/magit/commit/e36e64dbd50060fc6f67ad.
Suggested-by: Daniel Fleischer <danflscr@gmail.com>
|
|
Users only encounter these if they look at the hooks to which we add
them, in which case it would be nice to know what they do, so add
basic docstrings.
|
|
These hook functions specifically don't just enable the respective
mode, else they would not exist, instead the mode functions would
be used directly.
|
|
|
|
|
|
|
|
When activating the button using the mouse, that results in a visibility
change that can be observed with the human eye. When the same action is
invoked using a key event, that is not so. Calling `redisplay' does not
help. This silly dance does.
This kludge is unnecessary if "buffer.el" is loaded uncompiled.
|
|
Because the diff is also disabled in a separate buffer, with full Magit
functionality, at the inline diff is all that useful as something for
the user to look at. It is still useful for other purposes, see next
few commits. Inserting but hiding is a good compromise.
|
|
Closes #5526.
|
|
Emacs 31.1 adds variable `lisp-indent-local-overrides'.
|
|
Emacs 31.1 adds variable `lisp-indent-local-overrides'.
|
|
|
|
The goal is to (at least semi-) deprecate this eventually,
which is why I want it out of the way.
|
|
Closes #5483.
|
|
|
|
I've only recently implemented these forms, but before that I have
been hoping they would be added to Emacs for a decade or so. Even
so, I do not yet have any practice using them, and so my sense of
when to use them, and when not, has yet to evolve.
|
|
Cond-Let's `if-let', `if-let*', `when-let', `when-let*' and `and-let*'
implementations behave differently from the built-in implementations,
but because I have been careful not to depend on the idiosyncrasies,
switching over should be mostly safe.
Also add shorthands for the other `cond-let--...' macros. We will
start using those (and `cond-let' and `cond-let*') in later commits.
|
|
This was not done until now because doing so resulted in a warning
because the macro expansion did not actually leave any variables
unused. This was fixed in Emacs 30.1 and I've added a backport to
Transient, which this package can also take advantage of.
Without consistently using `_' one would always have to count parens
to be sure whether a member of the varlist does or does not bind a
variable. It is very easy to make mistake when writing or reading
such forms, if `_' is not consistently used in the non-binding cases.
|
|
|
|
Almost always would it be better to use `match-string-no-properties'
instead of `match-string', but because the name of the former is
excruciatingly long for a function that one often wants to use in
tight spaces and because it usually "does not really matter", I
usually went for the latter.
The problem is, it does matter. For example, even strings that are
usually only used by code may end up obfuscating debug statements.
So let's start doing the right thing, even though there surely will
be people frowning at the use of a shorthand.
The fake ("match-string" "match-string") shorthand is necessary to
protect literal `match-string' and `match-string-no-properties' from
being corrupted by interpreted as shorthand for the non-existent
`match-stringing' and `match-string-no-propertiesing'.
Unfortunately the shorthands have to be specified in each library
individually. Using "dir-locals.el" only works if the libraries
are compiled. At least this additional noise is neatly tucked away
at the end of the files.
It might turn out that out of the more than two hundred instances
where this replaces `match-string' with `match-string-no-properties'
we should have stuck with the former in an instance or two. That's
the price of progress and can be fixed once such regressions are
reported.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
For now only `turn-on-flyspell' is obsolete in Emacs 31.1.
Get it over with and stop using `turn-on-auto-fill' as well.
|
|
Suggested-by: Stefan Kangas <stefankangas@gmail.com>
|
|
|
|
The `git-commit--trailer-regexp' regex is written so that either groups
1 and 2 will match or groups 3 and 4 will match, but it is impossible
for all 4 groups to match.
This patch updates the font-lock regex checker to be lax about whether
or not the group matched. Without this patch we have errors like:
Error during redisplay: (jit-lock-function 77) signaled
(error "No match 3 in highlight (3 'git-commit-trailer-token)")
Signed-off-by: Curt Brune <curt@brune.net>
Make-it-so: Jonas Bernoulli <jonas@bernoul.li>
|
|
The sequel. Part 1 was [1: 7f47299581].
1: 2025-01-05 7f47299581abb6f77870cb5abdae159fcd35b3d5
Let the byte-compiler check more function references
|
|
There is a circular dependency between `magit-git' and `magit-process',
which we break by declaring some functions from the latter in the
former. This usually works out fine because loading `magit' loads both
libraries.
However, when someone only loads `git-commit', then this broke and to
fix it we have to explicitly require `magit-process' in that library
as well.
Also explicitly require `magit-git', even though that isn't strictly
necessary because `magit-mode' requires `magit-git'. Finally also
update the dependency declaration in "lisp/Makefile".
Closes #5280.
|
|
We already did that, just not consistently.
|
|
|
|
This version was released more than four years ago and Emacs 30.1 is
around the corner. This is the release available on Debian Bullseye
(oldstable).
|
|
|
|
|
|
Now that "git-commit.el" is part of the `magit' package, we can add
all the bindings up front. But we cannot #'quote. Well, we could,
but then we would also have to `declare-function' and wouldn't that
just be silly?
|
|
|
|
|
|
|