When launching Doom via 'doom run', the child process inherits
bin/doom's environment. This change restricts this sub-environment to
the intended target: straight and its use of git.
Fix: #6320
I was discussing issues generating autoloads files from some packages
with someone on Discord, and they mentioned issues with
alphapapa/bufler.el, so I added doom-autoloads-excluded-files in
5d0f781062, and also added bufler to it by default. In hindsight, that
doesn't make much sense as a default when Doom and its modules don't
even install bufler (and even if they did, this shouldn't be done in
core).
Ref: 5d0f781062
So they don't interfere with straight in odd, unpredictable ways. If
you *really* know what you're doing, set DOOMGITCONFIG to the path of a
gitconfig file. This envvar may be renamed in the future, however.
Close: #5640
Co-authored-by: M. Yas. Davoodeh <Davoodeh@users.noreply.github.com>
- Simplify doom-info and doom/info.
- Remove doom/copy-buffer-contents (may be moved later, but atm not very
useful).
- Remove doom/am-i-secure (this will later be replaced with CLI
commands)
Reduce cases where native-comp procedures were executed in
non-native-comp contexts (somehow).
Also:
- Adds a NATIVECOMP constant for statically detecting the feature.
- Remove native-comp-* -> comp-* aliases (Emacs HEAD has long since
moved on from these).
- Add 'no-native-compile: t' to autoloads file.
The message simply test for the "not-a-version-yet" patch number and
displays an explanation to prepare users for raised error frequency and
having a backup version of Emacs if they do not want to deal with
issues.
This generalizes and cleans up the linter API so that it can be used in
other Doom projects (or CLI commands, like our WIP changelog generator).
Besides that, our git's commit conventions saw two changes:
- A new 'Amend' keyword, for indicating a commit corrects an earlier,
recent one. This should be used to omit (or merge) commits in the eyes
of the changelog generator.
- Trailers must now follow the 'KEY: VALUE' format, which is supported
OOTB by 'git interpret-trailers' and makes scraping them much eacher.
Before, omitting the colon was mandatory, this is no longer the case.
Other highlights:
- For linter rules: replaced :footer and :refs keys with :trailers (a
string->string alist). Invalid trailers will be left in BODY's tail.
- Added a linter for colon delimiters in commit trailers (along with
other formatting checks, like capitalization and one-per-line checks).
There weren't enough checks that we were truly in a native-comp build of
Emacs. Not the most elegant solution, but the CLI rewrite handles this
far better so it'll do for now.
Fix#5131
- Now counts and reports all commit references that aren't the correct
length, not just the first.
- Now reports all incorrect references, not just the first on each line.
- Linter wasn't failing on any invalid scopes due to logic error.
- Linter was failing to recognize module categories as valid
scopes (e.g. :lang, :ui, etc).
- Adds 'ci' and 'lib' as valid scopes.
This is more predictable, and is safe as a global default in CLI
sessions (but not in interactive ones). This indirectly fixes case
insensitivity in our commit linter rules.
- Conform commit linter to 50/72 rule
- Add linter rule for body line length; excludes the footer and lines
with long URLs.
- Add linter rule for validating scopes are in lexical order.
- Add linter rule for validating footer refs.
Footer references should reference one thing per line. That thing can
be one of:
- An URL.
- An issue or PR reference (local or remote).
- A 12-character commit hash (local or remote).
- Extend linter to detect new scopes for docs:
- Commits of type 'docs' can now use these additional scopes (in
addition to other possible scopes):
- docs(install) -> for changes to our installation guide(s). It is
expected for this to change so often that it has its own scope.
- docs(X) -> where X is the basename of any org file in docs/*.org.
e.g.
- docs(index): ...
- docs(modules): ...
- docs(faq): ...
- Modify the scope checker to consider *any* parenthetical scope given
for bump, revert, merge, module, or release commits to be invalid.
- Update bump commit linter for 12c hashes (see 3bedae38dd).
- Fix language in imperative ref linter warning.
Ref https://discourse.doomemacs.org/how2commit
Ref 3bedae38dd
- Was formerly processing the internal merge commit, which never conforms
to our conventions, but is also unrelated to the work at hand.
- Now lints the range of commits applicable to the event, and not just
the latest commit.