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

@ -29,7 +29,7 @@
(set-evil-initial-state! 'image-dired-display-image-mode 'emacs)
(let ((args (list "-ahl" "-v" "--group-directories-first")))
(when IS-BSD
(when (featurep :system 'bsd)
;; Use GNU ls as `gls' from `coreutils' if available. Add `(setq
;; dired-use-ls-dired nil)' to your config to suppress the Dired warning
;; when not using GNU ls.
@ -188,9 +188,9 @@ we have to clean it up ourselves."
;; deleted directory. Of course I do!
(setq dired-clean-confirm-killing-deleted-buffers nil)
;; Let OS decide how to open certain files
(when-let (cmd (cond (IS-MAC "open")
(IS-LINUX "xdg-open")
(IS-WINDOWS "start")))
(when-let (cmd (cond ((featurep :system 'macos) "open")
((featurep :system 'linux) "xdg-open")
((featurep :system 'windows) "start")))
(setq dired-guess-shell-alist-user
`(("\\.\\(?:docx\\|pdf\\|djvu\\|eps\\)\\'" ,cmd)
("\\.\\(?:jpe?g\\|png\\|gif\\|xpm\\)\\'" ,cmd)

View file

@ -1,4 +1,4 @@
;;; emacs/dired/doctor.el -*- lexical-binding: t; -*-
(when (and IS-BSD (not (executable-find "gls")))
(when (and (featurep :system 'bsd) (not (executable-find "gls")))
(warn! "Cannot find gls (GNU ls). This may cause issues with dired"))

View file

@ -5,7 +5,7 @@
;; 2021, amirite?
(setq-default vc-handled-backends '(SVN Git Hg))
(when IS-WINDOWS
(when (featurep :system 'windows)
(setenv "GIT_ASKPASS" "git-gui--askpass"))
;; In case the user is using `bug-reference-mode'