doomemacs/lisp
Henrik Lissner 0407621aff
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.
2022-08-14 20:43:35 +02:00
..
cli refactor: deprecate EMACS2[89]+, NATIVECOMP, MODULES 2022-08-14 20:43:35 +02:00
lib perf(lib): memoize doom-system-* functions 2022-08-14 20:43:35 +02:00
doom-cli-lib.el refactor(cli): set __DOOMCONTEXT at runtime 2022-08-10 14:10:08 +02:00
doom-cli.el refactor(cli): load cli libs from doom.el 2022-08-07 19:43:28 +02:00
doom-editor.el refactor: deprecate EMACS2[89]+, NATIVECOMP, MODULES 2022-08-14 20:43:35 +02:00
doom-keybinds.el refactor: replace doom-enlist with ensure-list 2022-08-07 19:43:13 +02:00
doom-lib.el fix: file-name-handler-alist ignoring user changes 2022-08-08 22:20:11 +02:00
doom-modules.el refactor!: restructure Doom core 2022-07-30 22:41:13 +02:00
doom-packages.el refactor: deprecate EMACS2[89]+, NATIVECOMP, MODULES 2022-08-14 20:43:35 +02:00
doom-projects.el fix: use --strip-cwd-prefix only if fd >=8.3.0 2022-08-08 18:23:46 +02:00
doom-start.el feat!(cli): load project .doomrc instead of ci.el 2022-08-07 19:43:28 +02:00
doom-ui.el refactor: deprecate EMACS2[89]+, NATIVECOMP, MODULES 2022-08-14 20:43:35 +02:00
doom.el refactor: deprecate EMACS2[89]+, NATIVECOMP, MODULES 2022-08-14 20:43:35 +02:00
packages.el refactor!: restructure Doom core 2022-07-30 22:41:13 +02:00