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
This commit is contained in:
Henrik Lissner 2023-12-05 17:05:13 -05:00
parent d38787edf4
commit 659f7bfc71
No known key found for this signature in database
GPG key ID: B60957CA074D39A3
52 changed files with 150 additions and 120 deletions

View file

@ -379,7 +379,7 @@ Or to create aliases for functions that behave differently:
"C-x C-r" 'a-global-keybind
:g "C-x C-r" 'another-global-keybind ; same as above
(:when IS-MAC
(:when (featurep :system 'macos)
:n "M-s" 'some-fn
:i "M-o" (cmd! (message "Hi"))))
@ -604,7 +604,7 @@ These are side-by-side comparisons, showing how to bind keys with and without
;;helm
:tools
(:if IS-MAC macos)
(:if (featurep :system 'macos) macos)
docker
lsp
@ -617,7 +617,7 @@ These are side-by-side comparisons, showing how to bind keys with and without
((string= system-name "writing-pc")
(org +dragndrop)
ruby))
(:if IS-LINUX
(:if (featurep :system 'linux)
(web +lsp)
web)