Commit graph

358 commits

Author SHA1 Message Date
Henrik Lissner
05aa13ea19 doom purge: make repo regrafting opt-out
Was originally opt-in.
2021-01-31 04:30:48 -05:00
Henrik Lissner
07f134b10e doom purge: delete old ELN directories 2021-01-31 04:30:48 -05:00
Henrik Lissner
1650e25794 doom doctor: warn about insertOf rules in gitconfig
Closes #2679
2021-01-31 04:30:48 -05:00
Henrik Lissner
75549f5743 Fix doom build skipping some packages 2021-01-31 04:30:48 -05:00
Henrik Lissner
2d718cc86f Remove eager native compilation of subr-trampolines
This was fixed upstream.
2021-01-27 03:37:55 -05:00
Henrik Lissner
47f222a61f Fix #4558: void-variable comp-native-version-dir
Occurs for non-gccemacs users due to aggressive negation if (car build)
== :not
2021-01-27 03:00:41 -05:00
Sheng Yang
181379c006 Fix typo 2021-01-27 01:08:47 -06:00
Henrik Lissner
3f2c4b80e9
Add Emacs 26.x warning to doctor checks
We'll be dropping support for it in the next few months.
2021-01-10 05:02:00 -05:00
Henrik Lissner
cfb8a866dc
Bump :core
Fuco1/smartparens@7f5825d -> Fuco1/smartparens@63695c6
bbatsov/projectile@d1cfad0 -> bbatsov/projectile@c31bd41
domtronn/all-the-icons.el@6917b08 -> domtronn/all-the-icons.el@9aa16ae
iqbalansari/restart-emacs@e570749 -> iqbalansari/restart-emacs@1607da2
jscheid/dtrt-indent@a7ade6d -> jscheid/dtrt-indent@854b9a1
justbur/emacs-which-key@ca268fd -> justbur/emacs-which-key@428aedf
jwiegley/use-package@caa92f1 -> jwiegley/use-package@365c73d
raxod502/straight.el@3277e1c -> raxod502/straight.el@a32c97c

+ Closes #4513
+ Fixes (wrong-number-of-arguments (3 . 4) 2) error for users on Emacs
  HEAD (see bbatsov/projectile#1635).
+ package! :build semantics have changed due to upstream changes. What
  was :build is now :pre-build. What was :no-build is now :build nil.
+ Now we must be careful not to auto-disable the "use-package" psuedo
  theme. It is used as a place to store :custom assignments without them
  being saved to custom.el.
2021-01-09 02:55:09 -05:00
Henrik Lissner
1f3530da6f
Remove gh from excluded packages for autoloads
Fixed upstream.
2020-12-23 15:34:15 -05:00
Henrik Lissner
8c397902bc
Fix #4432: comp-deferred-compilation-{black,deny}-list 2020-12-14 16:48:14 -05:00
Henrik Lissner
3c8a2a655f
Fix envvar file encoding for Windows users 2020-12-11 15:50:02 -05:00
Rudi Grinberg
9350beb544 Upgrade: remove leftover ref
The upgrade process leaves a left over ref:

```
$ git branch
..
  _upgrade_HEAD
..
```

This commit deletes that.

Signed-off-by: Rudi Grinberg <me@rgrinberg.com>
2020-12-01 15:06:15 -08:00
Kirill A. Korinsky
be923535fa
upgrade.el: force fetch
`doom-cli-upgrade` calls `git fetch` to fetch remote branch and tags and
check output code of this command to complain when it failed.

It fails when remote server isn't available that is good.

But it also fails when it can't to fast-forward a branch that will be
used to upgrade doom-emacs.

The last case created a loop and the only way to broke this loop is
remote a branch that should be used for upgrade.

Unfortunately user has no idea about branch name and can't do anything,
just enjoy crash with `Failed to fetch from upstream` message.

This commit added `--force` flag to `git fetch` that forces it to
overwrite branch that is used to upgrade that prevent such loop.

It also fixed https://github.com/hlissner/doom-emacs/issues/4346
2020-12-01 21:19:48 +01:00
Henrik Lissner
affd076d53
Minor refactors & reformatting 2020-12-01 13:53:46 -05:00
Rudi Grinberg
12b733b33e Unhardcode upstream repo in diff url
Use `doom-repo-url` in diff url to show diff.

Signed-off-by: Rudi Grinberg <me@rgrinberg.com>
2020-11-29 17:46:40 -08:00
Rudi Grinberg
bf50149ee3 Fix doom upgrade
Previously, `doom upgrade` would emit:

```
New revision: fatal: amb (fatal: ambiguous argument '_upgrade/HEAD': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions, like this:
```

It appears it's not possible to remote revisions with
`<remote>/<revision>`. Instead, we fetch the upgrade remote into a named
revision and then use it.

Signed-off-by: Rudi Grinberg <me@rgrinberg.com>
2020-11-29 15:54:26 -08:00
Rudi Grinberg
0b78fe3fbb Improve byte compilation message
When compiling standalone files such as `init.el`, instead of saying
that it belongs to module `nil nil`, say that these files are
standalone.

Signed-off-by: Rudi Grinberg <me@rgrinberg.com>
2020-11-28 21:44:46 -08:00
Andrew Whatson
d3e08c5d0b Update for the latest native-compile-async API
Renamed `comp-deferred-compilation-black-list` to
`comp-deferred-compilation-deny-list`.

Removed the `late` load flag which is no longer required.

Added a check against the deny list when compiling all Elisp on the
load-path, so we don't inadvertently compile something we shouldn't.

Added compatibility shims to ease transition from older builds of
native-comp.
2020-11-25 14:17:01 +10:00
Andrew Whatson
196bb04088 Bootstrap trampolines to prevent doom build hang
This is a workaround for 'doom build' hanging on native-comp Emacs when
run with an empty cache.  We're effectively automating the process of
killing 'doom build' and trying again.
2020-11-16 14:07:34 +10:00
Henrik Lissner
dbeaa8e238
Remove emacs-version check in autoloads file
Now that the autoload file's path is namespaced by version, this check
is no longer necessary.
2020-10-29 02:36:59 -04:00
Henrik Lissner
a6959b75f3
Minor refactors & reformatting 2020-10-22 16:11:31 -04:00
Henrik Lissner
9b4fd806bb
Simplify doom/info output 2020-10-20 23:21:11 -04:00
George Xanthakis
4d24d7548a
Print diff url in terminal in case emacs is in a remote server (#4105)
* Print diff url in terminal in case emacs is in a remote server

Closes #2936

* Correct print! call

Co-authored-by: Henrik Lissner <henrik@lissner.net>
2020-10-18 19:17:39 -04:00
Henrik Lissner
6778c1239c
Include package name in 'checked out...' message 2020-10-18 19:08:07 -04:00
Henrik Lissner
033cb48006
Fix void-variable comp-eln-load-path 2020-10-11 15:53:37 -04:00
Henrik Lissner
9d4951d8b8
Merge pull request #4047 from flatwhatson/deferred-aot
Improvements to native-comp support
2020-10-11 15:43:37 -04:00
Andrew Whatson
2e07a85590 Native-compile everything on load-path
Add an extra pass to `doom build` to queue native compilation of all
packages on `load-path`. This ensures that all core and site Elisp
packages are actually native-compiled, even on "fast boot" builds.

Add `.local/autolads.el` to the blacklist as native-compiling this file
succeeds, but prevents emacs from starting up.

Revise the evil-collection-vterm blacklist entry to use a more efficient
regex.

Fix a bug where an updated .error file wasn't always written, causing
spurious rebuilds.
2020-10-09 09:34:34 +10:00
Andrew Whatson
30140021de Export comp-deferred-compilation-black-list via autoloads
The latest straight.el adds `:no-native-compile` packages to the
compilation blacklist. We export the build-time blacklist via autoloads
so that it works as expected to prevent native compilation at runtime.
2020-10-09 09:34:23 +10:00
Henrik Lissner
86cd497bb5
Don't print ignored/whitelisted envvars on doom env
Except in debug mode.
2020-10-08 17:07:36 -04:00
Henrik Lissner
1255ebdbd7
Add XDG detection to 'doom install' #4040
Create ~/.config/doom instead of ~/.doom.d if your emacs config lives in
~/.config/emacs.
2020-10-06 14:19:37 -04:00
Henrik Lissner
c84127069f
Fix #4036: improve 'doom sync -u' output 2020-10-06 14:19:36 -04:00
Henrik Lissner
e4864adfbe
Update 'doom help upgrade' doctring 2020-10-05 17:21:17 -04:00
Henrik Lissner
0769b47cc8
Fix 'doom purge' not purging straight builds 2020-09-19 14:43:53 -04:00
Henrik Lissner
ce9162647d
cli/env: blacklist SHLVL & comment default blacklist 2020-09-10 18:03:32 -04:00
yuhan0
15779e7a16 Filter directories when rebuilding straight repos
Prevents auto-generated files like .DS_Store on macOS from causing an
error.
2020-08-27 23:22:24 +08:00
Henrik Lissner
c7588bacdf
cli/upgrade: don't reload if Doom's up-to-date 2020-08-26 15:11:47 -04:00
Henrik Lissner
63a03848a3
Fix literate tangling on 'doom sync'
Relevant to #3746
2020-08-25 06:01:35 -04:00
Henrik Lissner
6e22a15e43
Fix 'doom help'
doom-cli-internal-p was accidentally removed in e632871a1, and the
psuedo CLI command :main was renamed to :doom.
2020-08-24 23:36:11 -04:00
Henrik Lissner
0dfee56e35
Fix string type error on 'doom upgrade' 2020-08-24 23:22:57 -04:00
Henrik Lissner
e632871a11
core-cli: backport more refactors from rewrite
Still a long way to go, but this introduces a few niceties for
debugging CLI failures:

+ The (extended) output of the last bin/doom command is now logged to
  ~/.emacs.d/.local/doom.log
+ If an error occurs, short backtraces are displayed whether or not you
  have debug mode on. The full backtrace is written to
  ~/.emacs.d/.local/doom.error.log.
+ bin/doom now aborts with a warning if:
  - The script itself or its parent directory is a symlink. It's fine if
    ~/.emacs.d is symlinked though.
  - Running bin/doom as root when your DOOMDIR isn't in /root/.
  - If you're sporting Emacs 26.1 (now handled in the elisp side rather
    than the /bin/sh shebang preamble).
+ If a 'doom sync' was aborted prematurely, you'll be warned that Doom
  was left in an inconsistent state and that you must run `doom sync`
  again.

May address #3746
2020-08-24 23:00:32 -04:00
Henrik Lissner
295f8066be
Update gccemacs support
To add support for "update 11", see:
http://akrl.sdf.org/gccemacs.html#org4b11ea1

Also:
+ Move eln files to ~/.emacs.d/.local/cache/eln
+ Disable comp-deferred-compilation by default (now that it is
  enabled-by-default upstream).
2020-08-17 21:24:14 -04:00
Henrik Lissner
8bb47f96d8
cli/doctor: fix native json detection 2020-08-12 16:01:33 -04:00
Henrik Lissner
11be796c9b
cli/doctor: warn if native JSON library is missing 2020-08-12 15:17:15 -04:00
Henrik Lissner
29489aad34
Remove 'doom update'
This command is commonly mistaken for 'doom upgrade'. No longer!
2020-08-06 22:24:41 -04:00
Henrik Lissner
7dab38deea
Add -A/-R switches to 'doom env'
Two new convenience switches for generating envvar files:

  doom env -A x
  doom env -R x

Is equivalent to

  doom env -a x -r .
  doom env -r x -a .
2020-08-01 15:23:10 -04:00
Henrik Lissner
57c0863854
Fix aggressive native recompilation of packages
On `doom sync`
2020-07-28 01:48:09 -04:00
Henrik Lissner
b9b987e1ab
Optimize straight build step
Constant `(require 'comp nil t)` checks are quite slow on systems where the library isn't available, so only do it once.
2020-07-28 01:34:33 -04:00
Andrew Whatson
d8af5c3cad Support native compilation of packages 2020-07-28 15:25:34 +10:00
Henrik Lissner
9ec5428441
Set core.autocrlf = true in repos on Windows #2637
Line encoding issues can plague repos with dirty worktree prompts
updating packages or "Local variables entry is missing the suffix"
errors when installing them.
2020-07-24 01:49:59 -04:00