Commit graph

138 commits

Author SHA1 Message Date
Henrik Lissner
9634500a3b fix(cli): update recipe repos (MELPA/ELPA/etc) earlier
If done before we collect our recipe lists, we (hopefully) dodge some
stale-recipe race conditions.
2021-11-22 16:49:43 +01:00
Henrik Lissner
fe2af3c344 fix(cli): don't regraft repo if no repo given
Otherwise you'll regraft $EMACSDIR, which could result in lost data for
contributors.
2021-11-22 16:49:17 +01:00
Henrik Lissner
cc3be7cb44 refactor: simplify native-comp detection
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.
2021-11-22 16:01:02 +01:00
Henrik Lissner
5678a837dd fix(cli): void-variable comp-native-version-dir
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
2021-10-05 02:01:15 +02:00
Henrik Lissner
ea404dfa45 fix(cli): rebuilding packages on every 'doom sync' 2021-10-03 19:24:46 +02:00
Henrik Lissner
328a145ffd fix(cli): void-variable comp-native-version-dir on 'doom purge'
This error would trigger on Emacs 28 (without native-comp).

Fix #5131
2021-10-03 12:08:42 +02:00
ErnestDong
8c3a83526b Filter directories when purging straight repos
in macOS there is always an annoying ".DS_Store" in straight/repos,
which breaks `doom purge`
2021-07-05 15:06:54 +08:00
Itai Y. Efrat
f9a1d80936 cli/packages: fix update output on unpinned packages
- don't print output of git command
- count commits and output log
2021-06-04 15:23:25 +03:00
Itai Y. Efrat
46c89d350e cli/packages: fix commit between pins counting
the commit counting introduced in a3df5bf prints `nil` instead of the
empty string when the repo moves from commit A to commit B where A isn't
reachable from B
2021-06-04 15:23:15 +03:00
Henrik Lissner
a3df5bfa3e cli/packages: count commits between pins 2021-05-29 13:01:52 -04:00
Henrik Lissner
3ba364ae10 Minor refactoring across the board 2021-05-23 22:09:07 -04:00
Henrik Lissner
13f316e645 Fix packages evading native-compilation
(featurep 'nativecomp) will never return t.
2021-05-23 21:49:02 -04:00
Henrik Lissner
4b5cf7d46f bin/doom: polish output
Reduces the amount of "noise" included in bin/doom's output.

Also fixes an issue where warnings during autoloads generation would
sneak into Doom's autoloads file, producing weird void-variable errors,
like

  (void-variable . rainbow-delimiters:)
  (void-variable . diredfl:)
  (void-variable . company:)
2021-05-23 21:49:02 -04:00
Henrik Lissner
b092d79d35 Fix reference to comp-deferred-compilation-deny-list 2021-05-12 00:50:17 -04:00
Henrik Lissner
62d2f27510 Fix references to comp-eln-load-path 2021-05-08 18:56:40 -04:00
Henrik Lissner
27e9c756ea Fix references to comp-async-cu-done-hook
Was renamed upstream to native-comp-async-cu-done-functions at some
point.
2021-05-08 14:57:42 -04:00
Ian Davids
4c212b7321 Fixing windows pathway to use latest straight API 2021-04-30 17:08:31 -07:00
Henrik Lissner
f60f576048 Bump :core
Fuco1/smartparens@63695c6 -> Fuco1/smartparens@25f4d6d
bbatsov/projectile@1528ed4 -> bbatsov/projectile@513228f
domtronn/all-the-icons.el@a8c8417 -> domtronn/all-the-icons.el@7a12258
emacs-straight/so-long@a5d445d -> emacs-straight/so-long@1da43ed
jscheid/dtrt-indent@37529fc -> jscheid/dtrt-indent@9714f2c
justbur/emacs-which-key@c632dbf -> justbur/emacs-which-key@5fb3030
raxod502/straight.el@0f9b828 -> raxod502/straight.el@253d7db

Fixes #4947 (needed raxod502/straight.el@0831f6b)

Also includes fixes due to straight changing its logging API.
2021-04-29 17:24:40 -04:00
Henrik Lissner
43623d7c5e Fix #4947: naive native-comp checks
Now, checking for the comp package is no longer sufficient to determine
if native-compilation is enabled.
2021-04-29 13:25:48 -04:00
Henrik Lissner
3a7be7bb4f Fix #4602, part 2! 2021-02-01 02:45:45 -05:00
Henrik Lissner
a61758523d Fix #4602: void-variable straight--build-default-steps 2021-02-01 02:31:22 -05:00
Henrik Lissner
7fcf2c2025 doom {build,purge}: reduce unnecessarily loud output
These lines don't add anything, and shouldn't be highlighted as
"success" messages.
2021-01-31 20:41:17 -05:00
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
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
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
affd076d53
Minor refactors & reformatting 2020-12-01 13:53:46 -05: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
a6959b75f3
Minor refactors & reformatting 2020-10-22 16:11:31 -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
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
Henrik Lissner
c84127069f
Fix #4036: improve 'doom sync -u' output 2020-10-06 14:19:36 -04:00
Henrik Lissner
0769b47cc8
Fix 'doom purge' not purging straight builds 2020-09-19 14:43:53 -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
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
29489aad34
Remove 'doom update'
This command is commonly mistaken for 'doom upgrade'. No longer!
2020-08-06 22:24:41 -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
Henrik Lissner
15a58d5b81
Prevent 'doom sync' rebuilding all packages, each time 2020-05-25 18:17:38 -04:00
Henrik Lissner
0bc3f8ea87
doom/purge: refactor & optimize
Reduce how much work it had to do.
2020-05-25 15:55:29 -04:00
Henrik Lissner
e6c88e4384
Refactor autoloads generator & reduce to one generated file
We no longer need two separate autoloads files, so I merged them and
optimized its generation logic.

Other changes
- Doom will refuse to start up (with a helpful error) if it's in an
  incomplete state. This should hopefully reduce the number of bug
  reports from folks that have done something weird, e.g.
  1. You've changed Emacs versions without running 'doom sync -b'.
  2. You've updated Doom outside of `doom upgrade` and didn't run `doom
     sync -u`.
  3. You've forgotten to run 'doom sync' in the first place!
  4. If a previous 'doom ...' command was aborted midway without running
     'doom sync' afterwards.
- 'doom sync' will emit reminders that you need to reload/restart Emacs
- Autoloads API now uses the `doom-autoloads-` prefix, intead of
  'doom-cli-autoloads-', as will be the new convention in the coming
  rewrite.
- Errors from within the package autoloads should be easier to invoke
  the debugger on.
- `doom-modules` is now stored in your autoloads file. Your module list
  will soon be frozen between calls to 'doom sync' to allow for our new,
  atomic CLI I'm working on. This will also means the `doom!` block
  won't cost anything in interactive sessions.
2020-05-25 15:55:29 -04:00
Henrik Lissner
3a38fc633c
Change doom-{interactive,debug}-mode suffix to -p
Because these are not really modes.

Also makes `doom-debug-mode` an actual (global) minor mode.
2020-05-25 03:43:40 -04:00
Henrik Lissner
6241ba2faa
Emit fetch output when updating recipe repos 2020-05-17 06:14:37 -04:00