Commit Graph

99 Commits

Author SHA1 Message Date
871efdce08 refactor: windows: move doom dirs to %LOCALAPPDATA%
More appropriate location for these files on Windows than %APPDATA%.
2024-09-07 19:04:37 -04:00
f644c4fa6c feat: add basic android support 2024-09-07 01:06:33 -04:00
8475d29f3c refactor: remove redundant set-default-toplevel-value call 2024-09-01 14:45:52 -04:00
515f61295b nit(cli): revise comments wrt site-run-file loading 2024-09-01 14:45:52 -04:00
086aed32b2 release(modules): 24.10.0-dev
Ref: 2b39e41368
2024-08-31 22:08:56 -04:00
a8ba8feecb refactor(lib): doom/{reload,upgrade}: customizable commands
Ref: #8024
2024-08-25 17:44:28 -04:00
9913acbdc4 fix: opening tramp paths from command line args
Eventually, Emacs will process any files passed to it via the command
line, and will do so *really* early in the startup process. These might
contain special file paths like TRAMP paths (e.g.
/sudo://etc/ssh/ssh_config), so restore `file-name-handler-alist' just
for this small portion of startup.
2024-08-18 16:12:42 -04:00
1912571c9c docs: minor revisions of docstrings across core+cli 2024-08-15 23:24:56 -04:00
5e2e886b35 nit: comment revision & reformatting 2024-08-15 23:18:47 -04:00
dc035a652f fix: reset inhibit-* vars a mote more aggressively
There are still a few edge cases where inhibit-redisplay is never
reset (usually involving errors at startup), leaving Emacs as a blank
screen until the user performs an action that forces it to redraw (e.g.
pressing M-x). This tries to address more of those.
2024-08-15 15:45:53 -04:00
cf7098528d release(modules): 24.09.0-dev
Ref: 2b39e41368
2024-07-30 17:40:22 -04:00
8ab42fa774 nit: revise site-lisp comments
The motivations for delaying the site-lisp files are different between
interactive and non-interactive sessions. I've revised these comments to
reflect that.
2024-07-13 19:38:16 -04:00
d75f9be0d4 release(modules): 24.08.0-dev
Ref: 2b39e41368
2024-06-30 16:18:07 -04:00
c4ee986818 docs: fix badges & update 29.3->29.4
29.4 (an emergency maintenance release) was released on June 22, 2024.

Fix: #7910
2024-06-28 17:00:58 -04:00
9116ec2ec7 release(modules): 24.07.0-dev
Ref: 2b39e41368
2024-06-20 18:29:15 -04:00
04057003c2 docs: update supported Emacs version in version check 2024-06-20 18:28:12 -04:00
e18a509f71 fix: suppress lexical-binding warnings on 30+
These checks and warnings were added on some recent commit of Emacs.
They're annoying to deal with and the end-user typically can't do much
about them (e.g. old packages), so I suppress them across the board.

That said, there are a few we cannot catch in non-interactive
sessions (where they aren't delayed), and those early warnings don't
respect delayed-warnings-list. This ought to be considered a bug
upstream.
2024-06-03 16:22:09 -04:00
d166d754d6 release(modules): 24.04.0-dev
Ref: 2b39e41368
2024-04-04 00:23:20 -04:00
869ad10f34 refactor: startup optimizations
I revisit all our startup optimizations to see how they fair in Emacs
29.x and 30.x. Most of them still hold up. I've revised and updated most
of the accompanying comments to better explain them, given what I know
now compared to when I first wrote them.
2024-04-04 00:17:02 -04:00
f71689304e tweak: enable startup optimizations in debug mode
Before this, startup optimizations were disabled in debug mode, but more
often than not, this just made it difficult to reproduce some errors at
startup.
2024-03-19 21:42:09 -04:00
1d99d1f191 refactor: consolidate startup--load-user-init-file advice
Splitting up all this advice was unnecessary noise.
2024-03-19 20:47:21 -04:00
1d9b102181 fix: shut up site-lisp
One various OSes, Emacs ships with site-lisp files that load
OS/architecture-specific config (like native-comp config), or load-lines
for Emacs packages installed via your OS package manager (like mu4e).
Output from these are rarely suppressed, for some reason, which causes
noise in *Messages* at startup, which triggers a redraw, which can be
very expensive during startup, depending on your window system.
2024-03-19 20:47:21 -04:00
5e7c769315 fix: ensure inhibit-* is reset on startup error 2024-03-19 20:47:20 -04:00
b382255704 release(modules): 24.03.0-dev
Ref: 2b39e41368
2024-03-11 03:59:38 -04:00
c6063de439 nit: revise and reformat comments 2024-03-11 00:53:44 -04:00
51dcb4dc99 nit: fix s/make/bake typo 2024-02-04 17:59:31 -05:00
659f7bfc71 refactor!: deprecate IS-* OS constants
BREAKING CHANGE: This deprecates the IS-(MAC|WINDOWS|LINUX|BSD) family
of global constants in favor of a native `featurep` check:

  IS-MAC      ->  (featurep :system 'macos)
  IS-WINDOWS  ->  (featurep :system 'windows)
  IS-LINUX    ->  (featurep :system 'linux)
  IS-BSD      ->  (featurep :system 'bsd)

The constants will stick around until the v3 release so folks can still
use it -- and there are still some modules that use it, but I'll phase
those uses out gradually.

Fix: #7479
2024-02-04 17:54:29 -05:00
180ffd3fa8 release(modules): 24.02.0-dev
Ref: 2b39e41368
2024-02-02 03:33:53 -05:00
fcd95a09d0 nit: minor comment revision, reformatting, & internal refactor 2024-01-24 12:40:05 -05:00
a5ffbd8550 fix: ensure top-level file-name-handler-alist is affected
Ensures that lexical contexts are never taken into account, in the case
where Doom's core is loaded in an isolated environment (e.g. the
sandbox). Also improves my startup time by 10%? I'll take it.
2024-01-24 12:39:35 -05:00
8352562b2c fix(lib): appease byte-compiler-sama
Silences some byte-compiler warnings about:

- 'nreverse on constant list' on add-hook! calls.
- inhibit-changing-match-data deprecation warning.
- unescaped quotes in docstring in some doom-*-dir variables.
- Variable non-essential should be quoted (though it isn't referring to
  a variable).
- CONTEXT -> CONTEXTS to match argument name.
2024-01-24 12:38:41 -05:00
4d072ce888 release(modules): 23.12.0-dev
This version bumps comes 3 months due to a short hiatus from moving back
from Denmark to Toronto and all the ensuing catch-up.

Ref: 2b39e41368
2023-12-02 13:57:53 -05:00
b1d8d1cd9f nit: reformatting, comment, and markup revision 2023-12-02 11:34:10 -05:00
0d8479ae9b tweak: emit feedback when started in daemon mode 2023-12-02 11:34:10 -05:00
a7123bf65f fix: write native-comp cache to $EMACSLOCALDIR
Otherwise, it writes them to /tmp. This way, the CLI can clean them up
along with other package state in the future.
2023-09-11 23:53:35 +02:00
56d396c5f6 release(modules): 23.09.0-dev
Ref: 2b39e41368
2023-09-10 00:00:53 +02:00
ea7d6ef1cc release(modules): 23.08.0-dev
This one comes quite late due to a personal hiatus over the past few
months.

Ref: 2b39e41368
2023-08-18 18:27:15 +02:00
1cd2a287f5 nit: comment revision, spellcheck, & reformatting
Close: #7262
Co-authored-by: emergenz <emergenz@users.noreply.github.com>
2023-07-22 19:01:35 +02:00
3e81655b0e feat: add 'harfbuzz to features 2023-07-22 17:57:25 +02:00
63586423da release(modules): 23.03.0-dev
Ref: 2b39e41368
2023-03-11 20:25:45 -05:00
225e159b04 release(modules): 23.02.0-dev
Ref: 2b39e41368
2023-02-23 04:18:11 -05:00
357d10f5a7 feat: add doctor context
Ref: f9201eb218
2023-02-23 01:34:55 -05:00
b0f91f6403 fix: void-variable native-comp-deferred-compilation-deny-list
In later versions of Emacs 29, this variable has been renamed without a
deprecation alias, causing void-variable errors wherever it is used.
Since it could potentially be used outside of Doom, I'll use a variable
alias until we formally drop 28 support (not for a long time).

Close: #7090
Co-authored-by: AdoPi <AdoPi@users.noreply.github.com>
2023-02-20 19:00:45 -05:00
aac3c15cde fix: change warning-suppress-types to list of lists
warning-suppress-types' pre-29 documentation suggests that it accepts a
list of symbols, but a recent, upstream correction changes this.

Ref: emacs-mirror/emacs@d5ee49c25c
Amend: 8c442d84b9
2022-10-05 15:14:12 +02:00
ba35f12be4 release(modules): 22.10.0-dev
Ref: 2b39e41368
2022-10-02 19:13:58 +02:00
6eab48641f fix: disable non-essential startup optimizations in debug-mode
As to not interfere with debugging.
2022-10-02 18:46:37 +02:00
9f512a60bf nit: mention test env for startup optimizations
And remove "debug-mode" clause because of c20ba77.

Ref: c20ba77ff7
2022-09-29 17:35:56 +02:00
71f7e4b5b8 perf: defer resetting inhibit vars further 2022-09-26 12:41:00 +02:00
fbe94ba9f2 perf: inhibit display-startup-screen 2022-09-26 12:39:10 +02:00
8bf308f9b1 fix: failure to recognize X switches in PGTK builds
This is a regression introduced in 1c4217a.

Doom unsets command-line-x-option-alist when it reasonably suspects it's
not running in an X environment. The heuristic for that is checking when
`initial-window-system` is set to `x`, but as it turns out, PGTK builds
of Emacs set this to `pgtk`, so PGTK users were deprived of Emacs' X
switches, like --geometry, --foreground, --font, etc (they'd throw an
"Unknown option" error at startup). This was fixed.

However, this heuristic isn't perfect. Not all PGTK users are on X (I'd
hazard to guess most of them aren't). So a more reliable check is
needed (and it's too early in the startup process for us to call
display-graphic-p on any frame). The `(not IS-LINUX)` or `(or IS-MAC
IS-WINDOWS)` I had previously used (before 1c4217a) wasn't enough
either, because users can (and do) install X on these
systems (especially where WSL is involved). Still, until I've found a
better one, this is an acceptable workaround.

Amend: 1c4217aa27
2022-09-25 11:35:48 +02:00