refactor: deprecate EMACS2[89]+, NATIVECOMP, MODULES
To reduce redundancy, remove the maintenance hassle that version constants would impose later on, and rely on built-in facilities (featurep) more over global variables or doomisms, these global constants have been deprecated in favor of Emacs "features": - EMACS28+ -- replace with (> emacs-major-version 27) - EMACS29+ -- replace with (> emacs-major-version 28) - NATIVECOMP -- replace with (featurep 'native-compile) - MODULES -- replace with (featurep 'dynamic-modules) (These constants will be formally removed when v3 is released. The IS-* constants are likely next, but I haven't decided on their substitutes yet) I also decided to follow native-compile's example and provide features for Emacs' system features (since system-configuration-features' docs outs itself as a poor method to detect features): - dynamic-modules - jansson - native-compile -- this one already exists, but will instead be removed if it's non-functional; i.e. (native-comp-available-p) returns nil. These are now detectable using featurep, which is fast and built-in.
This commit is contained in:
parent
c540f1b515
commit
0407621aff
12 changed files with 54 additions and 35 deletions
|
@ -1,5 +1,5 @@
|
|||
;;; term/eshell/autoload/mode.el -*- lexical-binding: t; -*-
|
||||
;;;###if (not EMACS28+)
|
||||
;;;###if (< emacs-major-version 28)
|
||||
|
||||
;; DEPRECATED Remove this when we drop Emacs 27 support.
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
;;; term/vterm/config.el -*- lexical-binding: t; -*-
|
||||
|
||||
(use-package! vterm
|
||||
:when (bound-and-true-p module-file-suffix)
|
||||
:when (featurep 'dynamic-modules)
|
||||
:commands vterm-mode
|
||||
:hook (vterm-mode . doom-mark-buffer-as-real-h)
|
||||
:hook (vterm-mode . hide-mode-line-mode) ; modeline serves no purpose in vterm
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue