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

@ -489,7 +489,7 @@ lines are selected, or the NxM dimensions of a block selection.")
`(:eval
(let ((sys (coding-system-plist buffer-file-coding-system))
(eol (coding-system-eol-type-mnemonic buffer-file-coding-system)))
(concat (unless (equal eol ,(if IS-WINDOWS "CRLF" "LF"))
(concat (unless (equal eol ,(if (featurep :system 'windows) "CRLF" "LF"))
(concat " " eol " "))
(if (memq (plist-get sys :category)
'(coding-category-undecided coding-category-utf-8))

View file

@ -24,9 +24,7 @@
;; than the current OSes preference
doom-modeline-buffer-encoding 'nondefault
doom-modeline-default-eol-type
(cond (IS-MAC 2)
(IS-WINDOWS 1)
(0)))
(pcase doom-system ('macos 2) ('windows 1) (_ 0)))
:config
;; Fix an issue where these two variables aren't defined in TTY Emacs on MacOS