| Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
Most importantly depend on a snapshot of `dash', because *any* snapshot
is larger than 2.MM.S but we really do need v2.8 at the very least (for
`-let'). Actually depend on a snapshot corresponding to v2.12.1 because
that fixes magnars/dash.el#130.
|
|
|
|
Rely on the output from mount to tell us how to map cygwin paths into
native Windows paths.
This is also needed in git-commit; avoid a hard dependency on magit by
only loading magit-git in the case where we receive a bad path to
foo_EDITMSG (and falling back to the standard "/cygdrive" prefix if we
fail to load).
|
|
Cygwin git passes paths like /cygdrive/c/foo/.git/COMMIT_EDITMSG which
causes windows-nt Emacs to look for the non-existent
c:/cygdrive/c/foo/.git/COMMIT_EDITMSG. We now attempt to switch to
c:/foo/.git/COMMIT_EDITMSG in thise case.
Re https://github.com/magit/magit/issues/2284#issuecomment-143927798
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
The previous implementation sometimes did not succeed in keeping
flyspell from checking certain parts of the instructions comment.
|
|
The latter does not actually refresh the buffer.
|
|
When `package.el' is used to update a package whose libraries have
already been loaded in the current session, then parts of the loaded
version can leak into the new version during byte-compilation.
This can be avoided by compiling the libraries in a separate Emacs
instance. The library `async-bytecomp', which is part of the package
`async', does just that by advising the function `package--compile'.
So add `async' as an Elpa dependency, soft-require `async-bytecomp', and
if that succeeds, then turn on `async-bytecomp-package-mode' to activate
the advice. Because it is undefined which package is updated first, and
which library is loaded first, we have to this in both possible
candidates `with-editor' and `magit-popup'.
Users may update `magit' without updating the dependencies, so we have
to further force the updates of all the Elpa packages that are build
from the Melpa repository. To do so we depend on "20150808" snapshot
versions instead of "2.2.0".
When installing Magit manually, then `async-bytecomp' is not required,
because Magit is then compiled using the Makefile which already uses a
separate, untainted Emacs instance.
|
|
|
|
Users are allowed to use `add-hook' et al. to add hook functions to hook
variables which have not yet been declared. That means that the default
value of hook variables should not be set inside `defvar' and defcustom'
forms, because those definitions are only evaluated if the variable has
no value yet (in case of `defcustom' it would be used to get the default
value though). When the user used `add-hook' earlier, then it obviously
has a value. So we are supposed to set the default value outside of the
declaration form, using `add-hook'. But that has a few downsides too.
If we set the default value outside of `defcustom', then Custom would
think that the default value is `nil' (and would be right about that)
and tell the user about it, which could confuse her a lot.
So we set the default value inside `defcustom' *and* outside using
`add-hook'. Sight. That's still not good enough though. Re-evaluating
the file or buffer containing these `add-hook' forms would override all
user customization.
So we place the calls to `add-hook' before that to `defcustom' and
additionally wrap the calls to `add-hook' to make sure they are only
ever run once. Sight.
(unless (find-lisp-object-file-name 'HOOK-VARIABLE 'defvar) ...)
(add-hook 'HOOK-VARIABLE ...) ...)
(defcustom HOOK-VARIABLE '(...)
:options '(...)
...)
Double sight.
We *don't* do the above for section hooks, which users are supposed to
modify using `magit-add-section-hook'. Instead we teach that function
to raise an error when the user attempts to add a hook function to a
hook variable which has not been defined yet.
Re #2004.
|
|
It's available starting with Emacs v25.1.
|
|
Starting with Emacs v25.1 `looking-back' requires two arguments.
But the second argument LIMIT may still be nil.
|
|
|
|
To many faces were renamed for these few backward-compatibility
definitions to make much of difference. Rip off the bandage.
|
|
|
|
|
|
Improve the library summaries of the libraries that are distributed as
separate packages, as well as the summary and commentary of `magit.el'.
|
|
Note that emacs-24.4 implies cl-lib.
|
|
At the beginning of library headers use
;; Copyright (C) YEARS The Magit Project Contributors
instead of
;; Copyright (C) YEARS The Magit Project Developers
"Developers" might be read as to imply that only the core team hold the
copyright. But that is not the case, since nobody assigned their rights
to us. Everyone who ever contributed holds the copyright for their
contribution(s).
|
|
and move AUTHORS.md to the Documentation/ subdirectory. This also
requires extensive changes to the Makefiles and some libraries.
|