Commit graph

70 commits

Author SHA1 Message Date
Henrik Lissner
6fdbe8c07d
refactor: remove <=27 compatibility fixes in modules
Doom's modules no longer support Emacs 27 and older, so remove the
various compatibility fixes/backports/hacks across several modules.

Doom's core, however, will continue to support 27.
2026-03-15 02:23:41 -04:00
Henrik Lissner
6c0881c684
nit: revise TODO/FIXME/HACK/REVIEW/etc in comments
Some were outdated, some were incorrectly labeled, others were already
completed, some were missing... Gotta fix them all.

Also, in :ui hl-todo, there are comments that describe how Doom uses
each of these annotations; those have been updated.
2026-03-02 19:45:09 -05:00
Henrik Lissner
10d0b60f5d
refactor(lib): deprecate pushnew!
In the spirit of 6f40ad5, I'm deprecating this macro because it doesn't
provide enough value to exist and serves only to complicate a casual
reader's understanding of Doom's modules.

Ref: 6f40ad55f5
2026-03-01 18:10:43 -05:00
Boris Verkhovskiy
1ee1f8f265
tweak(macos): ns-use-native-fullscreen = t
Reverts `ns-use-native-fullscreen` to default value.
2025-12-30 22:49:18 -05:00
Henrik Lissner
742993f47f
feat(macos): autoload +macos-{open-with,defaults} 2025-12-01 01:14:54 -05:00
Jens Neuhalfen
5b5b170f79
fix(macos): avoid calling nushell's open
Using `shell-command` risks calling any `open` commands defined by the user's
$SHELL.
2025-07-05 22:21:36 +02:00
Henrik Lissner
35c565f6ce
bump: :os
benotn/kkp@ad23d961c3 -> benotn/kkp@1a7b4f395a
2025-06-12 17:15:45 +02:00
Henrik Lissner
6d9484820a
fix(tty): s/tty-setup-hoom/tty-setup-hook
Amend: e25e684014
2025-05-16 10:55:03 +02:00
Henrik Lissner
e25e684014
feat(tty): add support for TTY child frames in 31+ 2025-05-16 08:53:00 +02:00
Henrik Lissner
2f54077c3e
perf(tty): move global-kkp-mode to tty-setup-hook
It isn't needed in non-TTY sessions, so spare GUI users the startup
cost.
2025-03-24 00:58:59 -04:00
Henrik Lissner
fd76545882
bump: :os
benjaminor/kkp@ed9214329f -> benjaminor/kkp@ad23d961c3
purcell/ns-auto-titlebar@60273e764b -> purcell/ns-auto-titlebar@1205ac67b7

Ref: benjaminor/kkp@4f7993a657
Ref: benjaminor/kkp@dd85d46dbb
2025-02-21 15:17:42 -05:00
Henrik Lissner
0a715cc3f2
refactor: (if|when)-let -> (if|when)-let*
With the former macros' future in the air (and likely to be targeted in
future, potentially breaking changes), I'll deal with this now than have
it bite me later.

Ref: https://lists.gnu.org/archive/html/emacs-devel/2024-10/msg00637.html
2025-01-08 19:33:37 -05:00
Henrik Lissner
138fa6c995
bump: :os
emacs-straight/xclip@e132bbff55 -> emacs-straight/xclip@9ab22517f3
2024-10-31 21:54:20 -04:00
Henrik Lissner
037b018cdd
feat: add .doommodule files
These optional dotfiles indicate the root of a module or module
group (:lang), and will later contain module metadata. They will also
serve as an alternative to packages.el and doctor.el, and will aide the
parts of the v3.0 module API concerned with resolving the current module
from a path (`doom-module-from-path`), which currently rely too heavily
on parsing path strings.

For now, however, they're simply placeholders.
2024-09-14 20:47:39 -04:00
Henrik Lissner
538ddf5e66
fix: C-i in KKP supported terminals
"C-i" and "TAB" are equivalent to Emacs. In GUI Emacs, we can bind to
[tab] instead of "TAB", permitted users to treat the two keys
differently. However, [tab] is unavailable in TTY frames, so there was
no avoiding sacrificing C-i keybinds there. With KKP support, though,
that's no longer the case.
2024-08-30 22:08:16 -04:00
Henrik Lissner
0a38eeef4c
fix(tty): meta keybinds in KKP supported terminals
In a KKP supported terminal, Emacs now receives a number of new input
events from the terminal, like [M-return] and [M-tab], but if they
aren't bound to, they don't fall through to bindings on "M-RET" and
"M-TAB", like [return], [tab], and others do, thus rendering those
keybinds inaccessible. Rather than play whack-a-mole with all the
keymaps out there, I just teach Emacs to let them fall through.

X->Y remappings on `local-function-key-map` do not apply if anything is
bound explicitly to X, so this change bows out if you (or packages, in
the future) do, for some reason, want to bind to them directly.
2024-08-30 21:26:11 -04:00
Henrik Lissner
f90f1c212e
refactor(tty): noop evil-terminal-cursor-changer if disabled 2024-08-23 17:48:33 -04:00
Henrik Lissner
07dff99184
feat(tty): add kitty keyboard protocol support 2024-08-23 17:48:33 -04:00
Henrik Lissner
5e2e886b35
nit: comment revision & reformatting 2024-08-15 23:18:47 -04:00
Henrik Lissner
db36c74bbb
refactor: minor refactors 2024-07-18 22:38:59 -04:00
Henrik Lissner
08fdcd2abf
docs(macos): doctor: mention auth-source-macos-keychain bug in <29.3
I'm not actually sure when this was fixed, but the bug report title
claims this was reported in 29.1, so I'll assume it was merged by 29.3.
Needs verifying.

The explanation could use some work, but this'll do for now. I'll
welcome PRs to expand it if I don't get to it first.

Ref: https://lists.gnu.org/archive/html/bug-gnu-emacs/2023-08/msg00560.html
2024-07-18 22:38:20 -04:00
Henrik Lissner
95b7fb1b75
bump: :os tty :input chinese
emacs-straight/xclip@2dfa5fa175 -> emacs-straight/xclip@e132bbff55
merrickluo/liberime@cc9eb9812f -> merrickluo/liberime@c5839f5417
tumashu/posframe@017deece88 -> tumashu/posframe@f4e9e509ba
tumashu/pyim@64067b20ce -> tumashu/pyim@f22c20f2e6
2024-06-29 13:48:24 -04:00
Sean Farley
85ce866953 feat(macos): osx-trash is only needed by emacs < 29 2024-03-14 06:13:38 -04:00
Henrik Lissner
36385091e8
bump: :os tty
7696122/evil-terminal-cursor-changer@12ea9c0438 -> 7696122/evil-terminal-cursor-changer@2358f3e27d
emacs-straight/xclip@a1ac607f75 -> emacs-straight/xclip@2dfa5fa175

- evil-terminal-cursor-changer added kitty support
2024-02-05 17:21:21 -05:00
Henrik Lissner
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
Henrik Lissner
88bb045388
docs(*): replace all-the-icons with nerd-icons
Also colorizes the leading icon in notices.
2023-09-16 20:19:11 +02:00
Henrik Lissner
65c5be00f7
bump: :os
emacs-straight/xclip@4772beb557 -> emacs-straight/xclip@a1ac607f75
emacsorphanage/osx-trash@af74a2055a -> emacsorphanage/osx-trash@90f0c99206
2023-02-18 15:27:49 -05:00
TEC
5ac2a5258b docs: change link format 2022-10-05 01:01:19 +02:00
Ellis Kenyő
f1e793405d fix(macos): only use trash on local hosts
Fix: #6804
2022-09-30 22:42:46 +02:00
Henrik Lissner
41051f4761
fix: disable UI elements earlier
Moves this from doom-ui to doom-start, since there is more savings to be
had if this is done early.

Also moves the menu-bar fix for macos out of the :os macos module into
doom-start, because it is a fix (and for a Doom optimization) and not a
feature, so it shouldn't be behind a module.
2022-09-16 01:14:23 +02:00
Henrik Lissner
6ddaed5cdd
nit: comment revision and formatting
For clarity, to enforce conventions, and explain the unexplained.
2022-09-16 01:14:22 +02:00
Henrik Lissner
ad6a3d0f33
refactor: deprecate featurep! for modulep!
featurep! will be renamed modulep! in the future, so it's been
deprecated. They have identical interfaces, and can be replaced without
issue.

featurep! was never quite the right name for this macro. It implied that
it had some connection to featurep, which it doesn't (only that it was
similar in purpose; still, Doom modules are not features). To undo such
implications and be consistent with its namespace (and since we're
heading into a storm of breaking changes with the v3 release anyway),
now was the best opportunity to begin the transition.
2022-08-14 20:43:35 +02:00
Henrik Lissner
1abcf913aa
revert: fix(docs): set mode in file-local vars
emacs-straight/org-mode@e22b4eb7aa introduced a breaking change that
made it impossible to rely on .dir-locals.el to change org-mode buffers
in $EMACSDIR to doom-docs-org-mode (without infinite recursion), so we
used file-local variables in 7e400ab.

emacs-straight/org-mode@215de6176b reverted that change, so we can use
.dir-locals.el again, and this is my preference, since it requires less
boilerplate across our hundreds of org files.

Ref: emacs-straight/org-mode@215de6176b
Ref: emacs-straight/org-mode@e22b4eb7aa
Revert: 7e400abdc0
2022-08-07 19:08:07 +02:00
Henrik Lissner
1f8bf7accb
merge: rewrite-docs
I've omitted docs/*.org from this merge, as there is still work left to
do there, but I am pushing the module docs early so folks can benefit
from the new docs sooner.
2022-08-03 03:27:50 +02:00
Henrik Lissner
7e400abdc0
fix(docs): set mode in file-local vars
Due to emacs-straight/org-mode@e22b4eb, a replacement major mode (for
org-mode) can no longer be specified from .dir-locals.el, as it spirals
into infinite recursion. Therefore, a mode: line is needed in all Doom
docs.

Ref: emacs-straight/org-mode@e22b4eb7aa
2022-08-03 02:46:33 +02:00
Henrik Lissner
1255315bfc
refactor(docs): replace nav menus with virtual one
Now that the header is dynamically generated (when doom-docs-mode is
active), a literal header is unnecessary.
2022-08-02 19:37:07 +02:00
Henrik Lissner
e77a45bc22
docs: use lowercase keywords
As per Org's new defaults, which we're adopting elsewhere, so may as
well adopt it here.
2022-08-02 16:23:43 +02:00
Henrik Lissner
9a3fab9572
bump: :os tty
emacs-straight/xclip@ef2ad92f31 -> emacs-straight/xclip@4772beb557
kisaragi-hiu/evil-terminal-cursor-changer@24755a18a3 -> 7696122/evil-terminal-cursor-changer@12ea9c0438

Fix: #6551
Close: #6565
Co-authored-by: basaran <basaran@users.noreply.github.com>
2022-07-23 16:42:18 +02:00
Álan Crístoffer
c2f8476c86
fix(macos): void-variable newwindow? error
Amend: ec2062f517
2022-06-29 18:12:43 +02:00
Henrik Lissner
ec2062f517
feat(macos): add 'open in new iTerm window' command
Plus keybinds on '<leader> o I'.

Close: #6318
Co-authored-by: brorbw <brorbw@users.noreply.github.com>
2022-06-21 18:46:25 +02:00
Henrik Lissner
47280132a1 nit(tty): revise comments
Minor corrections and a little more detail.
2022-02-10 21:07:20 +01:00
Henrik Lissner
99ecc264f7 fix(tty): xterm-set-window-title in GUI emacs
This was fixed in Emacs 28.0.91, but the advice will remain for 27
users. At least until we drop support for it.

Fix: #4977
Ref: emacs-mirror/emacs@89d02841ab
2022-02-10 21:07:20 +01:00
Henrik Lissner
7246db457c docs: replace doom-source with doom-repo links
I will later use "source" to refer to module sources, so better we avoid
the terminology for now.
2022-02-01 18:55:27 +01:00
Henrik Lissner
88844e9cec docs: simplify internal docs links
Fewer links means less confusion.

- Merge doom-issue and doom-commit links into doom-ref (for auto-linking
  Issue/PR/commit references).
- Merge doom-module-source and doom-docs-source links into doom-source.
- Rename doom-report-issue to doom-report.
- Use '!' as the icon for module issues link.
- Remove doom-repo (replaced with "doom:*" in :lang org module).
- Add doomdir and emacsdir links to :lang org module.
2021-11-21 20:04:28 +01:00
Henrik Lissner
f6335befb4 docs(:os): update READMEs to new format 2021-11-21 20:04:28 +01:00
Henrik Lissner
2bc67d8387 bump: :app :checkers :config :emacs :term :tools :ui
Alexander-Miller/treemacs@a6f9e9f1ce -> Alexander-Miller/treemacs@63e2bc207a
Silex/docker.el@9bcefbe54d -> Silex/docker.el@4fc69969b1
akermu/emacs-libvterm@2b1392cb2b -> akermu/emacs-libvterm@2681120b77
bdarcus/bibtex-actions@6e3a194c3a -> bdarcus/bibtex-actions@08c6ca0e5b
dash-docs-el/dash-docs@dafc8fc9f1 -> dash-docs-el/dash-docs@29848b6b34
dgutov/diff-hl@992559f98a -> dgutov/diff-hl@40c89a7b0d
dimitri/switch-window@2801d9b3a9 -> dimitri/switch-window@8d9fe251d8
editorconfig/editorconfig-emacs@e10fa22b13 -> editorconfig/editorconfig-emacs@2ab86dc9a8
ema2159/centaur-tabs@9c7c936e4e -> ema2159/centaur-tabs@8b4249c405
emacs-circe/circe@d6f1fa1864 -> emacs-circe/circe@77e16de3b9
emacs-lsp/lsp-treemacs@905cc74726 -> emacs-lsp/lsp-treemacs@d82df44d63
emacsorphanage/osx-trash@0f1dc052d0 -> emacsorphanage/osx-trash@af74a2055a
emacsorphanage/quickrun@35e91f4b6c -> emacsorphanage/quickrun@78317951cd
flycheck/flycheck@21d52264aa -> flycheck/flycheck@784f184cdd
hlissner/emacs-doom-themes@9e2680b918 -> hlissner/emacs-doom-themes@65fb964f36
https://git.savannah.gnu.org/git/emms.git@6e0aaaf4c559 -> https://git.savannah.gnu.org/git/emms.git@c42fab572846
ideasman42/emacs-spell-fu@1abcb5594e -> ideasman42/emacs-spell-fu@10823ae58f
ideasman42/emacs-undo-fu@e0ad06b5ef -> ideasman42/emacs-undo-fu@34b27c01da
joostkremers/writeroom-mode@b648b34017 -> joostkremers/writeroom-mode@7f4ec92404
kidd/org-gcal.el@4c2616a4f8 -> kidd/org-gcal.el@80e6f9501f
magnars/expand-region.el@4b8322774d -> magnars/expand-region.el@95a773bd8f
millejoh/emacs-ipython-notebook@09af85821e -> millejoh/emacs-ipython-notebook@0600c286bd
mohkale/consult-eglot@a6aeb6fa07 -> mohkale/consult-eglot@28a09cc839
noctuid/link-hint.el@09ba5727d8 -> noctuid/link-hint.el@d3c5bacc9c
rolandwalker/nav-flash@55786c9582 -> rolandwalker/nav-flash@2e31f32085
skeeto/elfeed@243add9e74 -> skeeto/elfeed@162d7d545e
szermatt/emacs-bash-completion@65e54c6f9c -> szermatt/emacs-bash-completion@c5eaeed156
tarsius/hl-todo@5ac0076cfe -> tarsius/hl-todo@42f744ffb5
tecosaur/emacs-everywhere@64ba2e3f30 -> tecosaur/emacs-everywhere@da88fa2d04
tkf/emacs-request@f3a5b4352e -> tkf/emacs-request@2b68b3ca54
tmalsburg/helm-bibtex@a0d32ab167 -> tmalsburg/helm-bibtex@b85662081d
yoshiki/yaml-mode@3a57058468 -> yoshiki/yaml-mode@63b637f846
yqrashawn/fd-dired@c223aee30a -> yqrashawn/fd-dired@458464771b
2021-09-15 17:47:17 +02:00
Henrik Lissner
044a1a5f2b Drop Emacs 26.x support
Emacs 27.x has been the stable version of Emacs for nearly a year, and
introduces a litany of bugfixes, performance, and quality-of-life
improvements that significantly reduce Doom's maintenance burden (like
XDG support, early-init.el, image manipulation without imagemagick, a
native JSON library, harfbuzz support, pdumper, and others).

With so many big changes on Doom's horizon, I like having one less (big)
thing to worry about.

Also reverts bb677cf7a (#5232) as it is no longer needed.
2021-07-06 02:31:52 -04:00
Henrik Lissner
52fba3fa60 Fix #4977: inhibit xterm-set-window-title in GUI emacs 2021-05-06 04:27:33 -04:00
Henrik Lissner
c9056ddb53 Fix #4819: auto-update xterm title 2021-04-17 00:26:07 -04:00
Henrik Lissner
ce65645fb8 Minor refactors & comment revision 2021-03-27 18:27:19 -04:00