From 044a1a5f2b30476357548d025f7d13b42876467e Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Tue, 6 Jul 2021 01:54:32 -0400 Subject: [PATCH] Drop Emacs 26.x support Emacs 27.x has been the stable version of Emacs for nearly a year, and introduces a litany of bugfixes, performance, and quality-of-life improvements that significantly reduce Doom's maintenance burden (like XDG support, early-init.el, image manipulation without imagemagick, a native JSON library, harfbuzz support, pdumper, and others). With so many big changes on Doom's horizon, I like having one less (big) thing to worry about. Also reverts bb677cf7a (#5232) as it is no longer needed. --- README.md | 4 +- bin/doom | 6 +- core/autoload/themes.el | 4 +- core/cli/doctor.el | 8 +-- core/core-lib.el | 67 +--------------------- core/core-ui.el | 31 +++------- core/core.el | 1 - core/packages.el | 2 - docs/getting_started.org | 36 ++++++------ docs/modules.org | 1 - init.example.el | 1 - modules/lang/org/config.el | 11 +--- modules/os/tty/README.org | 56 ++---------------- modules/tools/direnv/config.el | 33 +++++------ modules/tools/lsp/+lsp.el | 6 +- modules/tools/pdf/config.el | 4 +- modules/ui/fill-column/README.org | 92 ------------------------------ modules/ui/fill-column/autoload.el | 15 ----- modules/ui/fill-column/packages.el | 6 -- 19 files changed, 58 insertions(+), 326 deletions(-) delete mode 100644 modules/ui/fill-column/README.org delete mode 100644 modules/ui/fill-column/autoload.el delete mode 100644 modules/ui/fill-column/packages.el diff --git a/README.md b/README.md index 910c23e0b..e397e670a 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,7 @@ [Install](#install) • [Documentation] • [FAQ] • [Screenshots] • [Contribute](#contribute) ![Made with Doom Emacs](https://img.shields.io/github/tag/hlissner/doom-emacs.svg?style=flat-square&label=release&color=58839b) -![Minimum Emacs version supported: 26.3](https://img.shields.io/badge/Emacs-26.3+-blueviolet.svg?style=flat-square&logo=GNU%20Emacs&logoColor=white) +![Minimum Emacs version supported: 27.1](https://img.shields.io/badge/Emacs-27.1+-blueviolet.svg?style=flat-square&logo=GNU%20Emacs&logoColor=white) ![Latest commit](https://img.shields.io/github/last-commit/hlissner/doom-emacs/develop?style=flat-square) ![Build status: develop](https://img.shields.io/github/workflow/status/hlissner/doom-emacs/CI/develop?style=flat-square) [![Discord Server](https://img.shields.io/discord/406534637242810369?color=738adb&label=Discord&logo=discord&logoColor=white&style=flat-square)][Discord] @@ -99,7 +99,7 @@ Check out [the FAQ][FAQ] for answers to common questions about the project. # Prerequisites + Git 2.23+ -+ Emacs 26.3+ (*27.2 is recommended*, or [native-comp](https://www.emacswiki.org/emacs/GccEmacs)). ++ Emacs 27.1+ (*27.2 is recommended*, or [native-comp](https://www.emacswiki.org/emacs/GccEmacs)). + [ripgrep] 11.0+ + GNU `find` + *OPTIONAL:* [fd] 7.3.0+ (improves file indexing performance for some commands) diff --git a/bin/doom b/bin/doom index f3db7ff5d..00f6e8904 100755 --- a/bin/doom +++ b/bin/doom @@ -27,11 +27,11 @@ ;; ;;; Sanity checks -(when (version< emacs-version "26.3") +(when (version< emacs-version "27.1") (error (concat "Detected Emacs " emacs-version " (at " (car command-line-args) ").\n\n" - "Doom only supports Emacs 26.3 and newer. 27.1 is highly recommended. A guide\n" - "to install a newer version of Emacs can be found at:\n\n " + "Doom only supports Emacs 27.1 and newer. A guide to install a newer version\n" + "of Emacs can be found at:\n\n " (format "https://doomemacs.org/docs/getting_started.org#%s" (cond ((eq system-type 'darwin) "on-macos") ((memq system-type '(cygwin windows-nt ms-dos)) "on-windows") diff --git a/core/autoload/themes.el b/core/autoload/themes.el index 2f890b364..dd5abac85 100644 --- a/core/autoload/themes.el +++ b/core/autoload/themes.el @@ -40,9 +40,7 @@ all themes. It will apply to all themes once they are loaded." (when (or (get 'doom-theme 'previous-themes) (null doom-theme)) (funcall #',fn)) - ;; TODO Append to `doom-load-theme-hook' with DEPTH instead when Emacs - ;; 26.x support is dropped. - (add-hook 'doom-customize-theme-hook #',fn 'append)))) + (add-hook 'doom-customize-theme-hook #',fn 100)))) ;;;###autoload (defmacro custom-set-faces! (&rest specs) diff --git a/core/cli/doctor.el b/core/cli/doctor.el index 7cb3085a4..90740ec15 100644 --- a/core/cli/doctor.el +++ b/core/cli/doctor.el @@ -54,11 +54,9 @@ in." (warn! "Emacs %s detected" emacs-version) (explain! "Doom supports this version, but you are living on the edge! " "Be prepared for breakages in future versions of Emacs.")) - ((= emacs-major-version 26) - (warn! "Emacs %s detected" emacs-version) - (explain! "Doom is dropping Emacs 26.x support in June 2021. Consider " - "upgrading to Emacs 27.1 (or better: 27.2) soon!" - emacs-version)))) + ((< emacs-major-version 27) + (error! "Emacs %s detected, Doom only supports 27.1 and newer" + emacs-version)))) (print! (start "Checking for Doom's prerequisites...")) (print-group! diff --git a/core/core-lib.el b/core/core-lib.el index 823836bbe..c1309672d 100644 --- a/core/core-lib.el +++ b/core/core-lib.el @@ -625,72 +625,7 @@ testing advice (when combined with `rotate-text'). ;; ;;; Backports -(eval-when! (version< emacs-version "27.0.90") - ;; DEPRECATED Backported from Emacs 27 - (defmacro setq-local (&rest pairs) - "Make variables in PAIRS buffer-local and assign them the corresponding values. - -PAIRS is a list of variable/value pairs. For each variable, make -it buffer-local and assign it the corresponding value. The -variables are literal symbols and should not be quoted. - -The second VALUE is not computed until after the first VARIABLE -is set, and so on; each VALUE can use the new value of variables -set earlier in the ‘setq-local’. The return value of the -‘setq-local’ form is the value of the last VALUE. - -\(fn [VARIABLE VALUE]...)" - (declare (debug setq)) - (unless (zerop (mod (length pairs) 2)) - (error "PAIRS must have an even number of variable/value members")) - (let ((expr nil)) - (while pairs - (unless (symbolp (car pairs)) - (error "Attempting to set a non-symbol: %s" (car pairs))) - ;; Can't use backquote here, it's too early in the bootstrap. - (setq expr - (cons - (list 'set - (list 'make-local-variable (list 'quote (car pairs))) - (car (cdr pairs))) - expr)) - (setq pairs (cdr (cdr pairs)))) - (macroexp-progn (nreverse expr))))) - -(eval-when! (version< emacs-version "27.1") - ;; DEPRECATED Backported from Emacs 27. Remove when 26.x support is dropped. - (defun executable-find (command &optional remote) - "Search for COMMAND in `exec-path' and return the absolute file name. -Return nil if COMMAND is not found anywhere in `exec-path'. If -REMOTE is non-nil, search on the remote host indicated by -`default-directory' instead." - (if (and remote (file-remote-p default-directory)) - (let ((res (locate-file - command - (mapcar - (lambda (x) (concat (file-remote-p default-directory) x)) - (exec-path)) - exec-suffixes 'file-executable-p))) - (when (stringp res) (file-local-name res))) - ;; Use 1 rather than file-executable-p to better match the - ;; behavior of call-process. - (let ((default-directory - (let (file-name-handler-alist) - (file-name-quote default-directory)))) - (locate-file command exec-path exec-suffixes 1))))) - -(eval-when! (not (fboundp 'exec-path)) - ;; DEPRECATED Backported from Emacs 27.1. Remove when 26.x support is dropped. - (defun exec-path () - "Return list of directories to search programs to run in remote subprocesses. -The remote host is identified by `default-directory'. For remote -hosts that do not support subprocesses, this returns `nil'. -If `default-directory' is a local directory, this function returns -the value of the variable `exec-path'." - (let ((handler (find-file-name-handler default-directory 'exec-path))) - (if handler - (funcall handler 'exec-path) - exec-path)))) +;; None at the moment! (provide 'core-lib) ;;; core-lib.el ends here diff --git a/core/core-ui.el b/core/core-ui.el index 5fda13a4d..3aa3a13d3 100644 --- a/core/core-ui.el +++ b/core/core-ui.el @@ -667,16 +667,17 @@ windows, switch to `doom-fallback-buffer'. Otherwise, delegate to original (dolist (fn '(switch-to-buffer display-buffer)) (advice-add fn :around #'doom-run-switch-buffer-hooks-a))) +;; Apply `doom-font' et co +(add-hook 'doom-after-init-modules-hook #'doom-init-fonts-h -100) + ;; Apply `doom-theme' (add-hook (if (daemonp) 'after-make-frame-functions 'doom-after-init-modules-hook) - #'doom-init-theme-h) + #'doom-init-theme-h + -90) -;; Apply `doom-font' et co -(add-hook 'doom-after-init-modules-hook #'doom-init-fonts-h) - -(add-hook 'window-setup-hook #'doom-init-ui-h 'append) +(add-hook 'window-setup-hook #'doom-init-ui-h 100) ;; @@ -702,25 +703,11 @@ windows, switch to `doom-fallback-buffer'. Otherwise, delegate to original (fset 'define-fringe-bitmap #'ignore)) (after! whitespace - (defun doom-disable-whitespace-mode-in-childframes-a (orig-fn) + (defun doom-is-childframes-p () "`whitespace-mode' inundates child frames with whitespace markers, so disable it to fix all that visual noise." - (unless (frame-parameter nil 'parent-frame) - (funcall orig-fn))) - (add-function :around whitespace-enable-predicate #'doom-disable-whitespace-mode-in-childframes-a)) - -;; Don't display messages in the minibuffer when using the minibuffer -;; DEPRECATED Remove when Emacs 26.x support is dropped. -(eval-when! (not EMACS27+) - (defmacro doom-silence-motion-key (command key) - (let ((key-command (intern (format "doom/silent-%s" command)))) - `(progn - (defun ,key-command () - (interactive) - (ignore-errors (call-interactively ',command))) - (define-key minibuffer-local-map (kbd ,key) #',key-command)))) - (doom-silence-motion-key backward-delete-char "") - (doom-silence-motion-key delete-char "")) + (frame-parameter nil 'parent-frame)) + (add-function :before-while whitespace-enable-predicate #'doom-is-childframes-p)) (provide 'core-ui) ;;; core-ui.el ends here diff --git a/core/core.el b/core/core.el index 466095cf6..3432b33a8 100644 --- a/core/core.el +++ b/core/core.el @@ -355,7 +355,6 @@ config.el instead." (when (boundp 'libgnutls-version) (concat "SECURE128:+SECURE192:-VERS-ALL" (if (and (not IS-WINDOWS) - (not (version< emacs-version "26.3")) (>= libgnutls-version 30605)) ":+VERS-TLS1.3") ":+VERS-TLS1.2")) diff --git a/core/packages.el b/core/packages.el index 39995500a..82a529d18 100644 --- a/core/packages.el +++ b/core/packages.el @@ -37,8 +37,6 @@ (package! helpful :pin "7e4b1f0d5572a4e2b8ee7a9b084ef863d0315a73") (package! pcre2el :pin "0b5b2a2c173aab3fd14aac6cf5e90ad3bf58fa7d") (package! smartparens :pin "911cc896a0f2eb8b5fbdd6fc8331523ad9889a3a") -;; DEPRECATED Built into Emacs 27+; remove when we drop 26 support -(package! so-long :built-in 'prefer :pin "1da43ed63b5f9a8188eb8107bbad842d10831537") (package! ws-butler ;; Use my fork of ws-butler, which has a few choice improvements and ;; optimizations (the original has been abandoned). diff --git a/docs/getting_started.org b/docs/getting_started.org index 1d476212a..84dcef48a 100644 --- a/docs/getting_started.org +++ b/docs/getting_started.org @@ -97,7 +97,7 @@ us know! This is what you'll have installed by the end of this section: - Git 2.23+ -- Emacs 26.3+ *(27.2 is recommended, or [[https://www.emacswiki.org/emacs/GccEmacs][native-comp]])* +- Emacs 27.1+ *(27.2 is recommended, or [[https://www.emacswiki.org/emacs/GccEmacs][native-comp]])* - [[https://github.com/BurntSushi/ripgrep][ripgrep]] 11.0+ - GNU Find - (Optional) [[https://github.com/sharkdp/fd][fd]] 7.3.0+ (known as ~fd-find~ on Debian, Ubuntu & derivatives) -- @@ -107,20 +107,15 @@ These packages ought to be available through the package managers of your operating system; i.e. homebrew & macports on macOS, scoop/chocolatey on Windows, or pacman/aptitude/etc on the various Linux distributions. -#+begin_quote -While Doom does claim to support 26.x, 27.x is recommended because it is faster, -especially for LSP users. The installation guides below will touch on installing -27 if there is a simple way to do so on that particular operating system. -#+end_quote - ** Emacs & dependencies *** On Linux -In the unusual case that Emacs 26.x is unavailable through your package manager, -you'll have to [[https://www.gnu.org/software/emacs/manual/html_node/efaq/Installing-Emacs.html][build it from source]], but here are installation instructions for many popular Linux distributions: +Installation instructions for Emacs 27.1+ are listed below for many popular +Linux distributions. In the unusual case that 27.1 or newer is unavailable on +your system, you'll have to [[https://www.gnu.org/software/emacs/manual/html_node/efaq/Installing-Emacs.html][build it from source]] instead. **** Ubuntu -Emacs 27.x is not available through Ubuntu's package manager out-of-the-box. To -get around this you'll need to install Emacs through a PPA: +Emacs 27.x is not available through Ubuntu's package manager out-of-the-box, but +is available through a PPA: #+BEGIN_SRC bash add-apt-repository ppa:kelleyk/emacs @@ -164,8 +159,9 @@ pacman -S fd The above installs Emacs 27 (at the time of writing). **** NixOS -On NixOS Emacs 26.3 can be installed via ~nix-env -Ai nixos.emacs~, or +On NixOS Emacs 27.2 can be installed via ~nix-env -Ai nixos.emacs~, or permanently with the following added to ~etc/nixos/configuration.nix~: + #+BEGIN_SRC nix environment.systemPackages = with pkgs; [ # required dependencies @@ -191,7 +187,7 @@ environment.systemPackages = [ #+END_SRC **** openSUSE -***** Emacs 26.3 +***** Emacs 27.1 Emacs can be installed from the [[https://software.opensuse.org/download.html?project=editors&package=emacs][package list]], or manually via zypper. For example, to install on openSUSE Leap 15.1 (requires root): @@ -202,7 +198,7 @@ zypper install emacs #+END_SRC If you already have an older version of Emacs installed, you will be prompted to -install the update candidate (Emacs 26.3). +install the update candidate (Emacs 27.1). ***** ripgrep Download ripgrep 11.0.2 from [[https://software.opensuse.org/download/package?package=ripgrep&project=openSUSE%3AFactory][the package list]] or installed manually (requires @@ -305,16 +301,16 @@ Or by replacing ~/usr/local/bin/emacs~ with a shim script containing: There are some suggestions on how to speed it up later in this section. #+end_quote -There are three methods for installing Emacs 26.x on Windows, each with their +There are three methods for installing Emacs 27.x on Windows, each with their pros and cons: + With chocolatey/scoop + With a precompiled binary + Git Bash -+ With WSL + Ubuntu ++ With WSL2 + Ubuntu -If you don't know which to choose, I recommend WSL; it produces the fastest and -most stable environment of the three, but has the most complex installation -process. +If you don't know which to choose, I highly recommend WSL; it produces the +fastest and most stable environment of the three, but has the most complex +installation process. Before moving on to installing Emacs et co, a few steps to prepare Windows for Emacs are necessary: @@ -405,7 +401,7 @@ bin/doom command. #+BEGIN_SRC sh sudo add-apt-repository ppa:kelleyk/emacs sudo apt update - sudo apt install emacs26 + sudo apt install emacs27 #+END_SRC 7. Then Doom's dependencies: #+BEGIN_SRC sh diff --git a/docs/modules.org b/docs/modules.org index aa01b5a3d..fb3b50274 100644 --- a/docs/modules.org +++ b/docs/modules.org @@ -203,7 +203,6 @@ Aesthetic modules that affect the Emacs interface or user experience. + [[file:../modules/ui/doom-dashboard/README.org][doom-dashboard]] - TODO + [[file:../modules/ui/doom-quit/README.org][doom-quit]] - TODO + [[file:../modules/ui/emoji/README.org][emoji]] =+ascii +github +unicode= - Adds emoji support to Emacs -+ [[file:../modules/ui/fill-column/README.org][fill-column]] - TODO + [[file:../modules/ui/hl-todo/README.org][hl-todo]] - TODO + [[file:../modules/ui/hydra/README.org][hydra]] - TODO + indent-guides - TODO diff --git a/init.example.el b/init.example.el index db540a956..3a0fae37e 100644 --- a/init.example.el +++ b/init.example.el @@ -31,7 +31,6 @@ doom-dashboard ; a nifty splash screen for Emacs doom-quit ; DOOM quit-message prompts when you quit Emacs ;;(emoji +unicode) ; 🙂 - ;;fill-column ; a `fill-column' indicator hl-todo ; highlight TODO/FIXME/NOTE/DEPRECATED/HACK/REVIEW ;;hydra ;;indent-guides ; highlighted indent columns diff --git a/modules/lang/org/config.el b/modules/lang/org/config.el index d1be26089..8c43f2d62 100644 --- a/modules/lang/org/config.el +++ b/modules/lang/org/config.el @@ -274,16 +274,7 @@ Also adds support for a `:sync' parameter to override `:async'." ;; TODO Should be fixed upstream (let ((default-directory (org-find-library-dir "org-contribdir"))) (setq org-ditaa-jar-path (expand-file-name "scripts/ditaa.jar") - org-ditaa-eps-jar-path (expand-file-name "scripts/DitaaEps.jar")))) - - ;; NOTE Backported from Emacs 27.1 - ;; DEPRECATED Remove when 26.x support is dropped - (unless EMACS27+ - (defadvice! +org--dont-suppress-window-changes-a (orig-fn &rest args) - :around #'org-babel-execute:emacs-lisp - (letf! ((#'current-window-configuration #'ignore) - (#'set-window-configuration #'ignore)) - (apply orig-fn args))))) + org-ditaa-eps-jar-path (expand-file-name "scripts/DitaaEps.jar"))))) (defun +org-init-babel-lazy-loader-h () diff --git a/modules/os/tty/README.org b/modules/os/tty/README.org index 11d8cce00..b18ce9434 100644 --- a/modules/os/tty/README.org +++ b/modules/os/tty/README.org @@ -56,59 +56,11 @@ need: * Configuration ** True-color and italic support -#+begin_quote -This advice only applies to Emacs 26.x. True color support is [[https://github.com/emacs-mirror/emacs/commit/7f6153d9563cfe7753083996f59eacc9f4c694df][built into 27.1+ -and newer]]. -#+end_quote +Emacs 26.3 users should consult [[https://github.com/syl20bnr/spacemacs/wiki/Terminal][the spacemacs wiki]] for details on achieving true +color support in terminal Emacs. -(credit goes to [[https://github.com/syl20bnr/spacemacs/wiki/Terminal][the spacemacs wiki]] for this information) - -Create a =xterm-24bit.terminfo= file with the following contents: - -#+BEGIN_SRC text -xterm-24bit|xterm with 24-bit direct color mode, - use=xterm-256color, - sitm=\E[3m, - ritm=\E[23m, - setb24=\E[48;2;%p1%{65536}%/%d;%p1%{256}%/%{255}%&%d;%p1%{255}%&%dm, - setf24=\E[38;2;%p1%{65536}%/%d;%p1%{256}%/%{255}%&%d;%p1%{255}%&%dm, -#+END_SRC - -#+begin_quote -WARNING: Make sure you have a newline at end of file otherwise you will get -errors! -#+end_quote - -Execute the following command on the command line: -#+BEGIN_SRC sh -tic -x -o ~/.terminfo xterm-24bit.terminfo -#+END_SRC - -Now set your ~$TERM~ variable to ~xterm-24bit~: -#+BEGIN_SRC sh -export TERM=xterm-24bit -#+END_SRC - -SSH might break if your remote machine does not have the same setup, you can -work around this with the following alias. -#+BEGIN_SRC sh -alias ssh="TERM=xterm-256color ssh" -#+END_SRC - -If you use tmux, you need to make sure you installed a version with truecolor -support, then add the following lines to your `.tmux.conf`: -#+BEGIN_SRC conf -set -g default-terminal "xterm-24bit" -set -g terminal-overrides ',xterm-24bit:Tc' -#+END_SRC - -Also, make sure you have utf8 language variables if you want all characters to -display correctly. For example: -#+BEGIN_SRC bash -export LC_ALL=en_US.UTF-8 -export LANG=en_US.UTF-8 -export LANGUAGE=en_US.UTF-8 -#+END_SRC +Emacs 27.x users don't need todo anything, as true color support is [[https://github.com/emacs-mirror/emacs/commit/7f6153d9563cfe7753083996f59eacc9f4c694df][built into +27.1+ and newer]]. * Troubleshooting # Common issues and their solution, or places to look for help. diff --git a/modules/tools/direnv/config.el b/modules/tools/direnv/config.el index e3e4a0753..0579dd606 100644 --- a/modules/tools/direnv/config.el +++ b/modules/tools/direnv/config.el @@ -8,25 +8,20 @@ (set-popup-rule! "^\\*envrc\\*" :quit t :ttl 0) - ;; I'm avoiding `global-envrc-mode' intentionally, because it has the - ;; potential to run too late in the mode startup process (and after, say, - ;; server hooks that may rely on that local direnv environment). - (add-hook! 'change-major-mode-after-body-hook - (defun +direnv-init-h () - (unless (or envrc-mode - (minibufferp) - (file-remote-p default-directory)) - (condition-case _ - (envrc-mode 1) - (quit))))) - - ;; Ensure these local variables survive major mode changes, so envrc-mode is - ;; only "activated" once per buffer. - (put 'envrc-mode 'permanent-local t) - (put 'envrc--status 'permanent-local t) - (put 'process-environment 'permanent-local t) - (put 'exec-path 'permanent-local t) - (put 'eshell-path-env 'permanent-local t) + ;; A globalized minor mode triggers on `after-change-major-mode-hook' + ;; normally, which runs after a major mode's body and hooks. If those hooks do + ;; any initialization work that's sensitive to environmental state set up by + ;; direnv, then you're gonna have a bad time, so I move the trigger to + ;; `change-major-mode-after-body-hook' instead. This runs before said hooks + ;; (but not the body; fingers crossed that no major mode does important env + ;; initialization there). + (add-hook! 'envrc-global-mode-hook + (defun +direnv-init-global-mode-earlier-h () + (let ((fn #'envrc-global-mode-enable-in-buffers)) + (if (not envrc-global-mode) + (remove-hook 'change-major-mode-after-body-hook fn) + (remove-hook 'after-change-major-mode-hook fn) + (add-hook 'change-major-mode-after-body-hook fn 100))))) (defadvice! +direnv--fail-gracefully-a (&rest _) "Don't try to use direnv if the executable isn't present." diff --git a/modules/tools/lsp/+lsp.el b/modules/tools/lsp/+lsp.el index c16b89645..afbb56143 100644 --- a/modules/tools/lsp/+lsp.el +++ b/modules/tools/lsp/+lsp.el @@ -183,9 +183,9 @@ instead is more sensible." ;; and there is a bug preventing Flycheck errors from being shown (the ;; errors flash briefly and then disappear). lsp-ui-sideline-show-hover nil - ;; Some icons don't scale correctly on Emacs 26, so disable them there. - lsp-ui-sideline-actions-icon ; DEPRECATED Remove later - (if EMACS27+ lsp-ui-sideline-actions-icon-default) + ;; Re-enable icon scaling (it's disabled by default upstream for Emacs + ;; 26.x compatibility; see emacs-lsp/lsp-ui#573) + lsp-ui-sideline-actions-icon t ;; REVIEW Temporarily disabled, due to immense slowness on every ;; keypress. See emacs-lsp/lsp-ui#613 lsp-ui-doc-enable nil) diff --git a/modules/tools/pdf/config.el b/modules/tools/pdf/config.el index b61dd7dcf..002aa7256 100644 --- a/modules/tools/pdf/config.el +++ b/modules/tools/pdf/config.el @@ -126,9 +126,7 @@ (defadvice! +pdf-suppress-large-file-prompts-a (orig-fn size op-type filename &optional offer-raw) :around #'abort-if-file-too-large (unless (string-match-p "\\.pdf\\'" filename) - (if offer-raw - (funcall orig-fn size op-type filename offer-raw) - (funcall orig-fn size op-type filename))))) + (funcall orig-fn size op-type filename offer-raw)))) (use-package! saveplace-pdf-view diff --git a/modules/ui/fill-column/README.org b/modules/ui/fill-column/README.org deleted file mode 100644 index f58c8abcc..000000000 --- a/modules/ui/fill-column/README.org +++ /dev/null @@ -1,92 +0,0 @@ -#+TITLE: ui/fill-column -#+DATE: August 23, 2020 -#+SINCE: 2.0.9 -#+STARTUP: inlineimages nofold - -* Table of Contents :TOC_3:noexport: -- [[#description][Description]] - - [[#maintainers][Maintainers]] - - [[#module-flags][Module Flags]] - - [[#plugins][Plugins]] -- [[#prerequisites][Prerequisites]] -- [[#features][Features]] -- [[#configuration][Configuration]] - - [[#setting-fill-column-globally][Setting fill-column globally]] - - [[#setting-fill-column-for-the-current-buffer-or-mode][Setting fill-column for the current buffer or mode]] - - [[#hl-fill-column-only-configuring-the-look-of-the-indicator][(hl-fill-column only) Configuring the look of the indicator]] -- [[#troubleshooting][Troubleshooting]] - -* Description -This module provides a fill column indicator to make it obvious when a line -reaches or surpasses the 80th column. This serves as a reminder to keep lines -short for accessibility and/or convenience. [[https://www.emacswiki.org/emacs/EightyColumnRule][Read more about this on the Emacs -Wiki page]]. - -#+begin_quote -This module is deprecated and will be removed once Doom drops Emacs 26.x -support. This is because the built-in ~display-fill-column-indicator-mode~ (in -27 and newer) replaces it, and enabling it is a trivial one-liner, which doesn't -warrant a module: ~(global-display-fill-column-indicator-mode +1)~ -#+end_quote - -** Maintainers -This module has no dedicated maintainers. - -** Module Flags -This module provides no flags. - -** Plugins -+ [[https://github.com/laishulu/hl-fill-column][hl-fill-column]]* (unless Emacs >=27) - -* Prerequisites -This module has no prerequisites. - -* Features -The behavior of this module varies slightly depending on your version of Emacs: - -+ In Emacs 26.x, text beyond ~fill-column~ will be highlighted. -+ In Emacs 27 and newer, a line is drawn down the right side at column 80. - -* Configuration -** Setting fill-column globally -This column limit is controlled by the ~fill-column~ variable (default: ~80~). - -This variable is buffer-local, therefore, to change this globally, you must use -~setq-default~: - -#+BEGIN_SRC emacs-lisp -(setq-default fill-column 100) -#+END_SRC - -~hl-fill-column-mode~ (or ~display-fill-column-indicator-mode~ on Emacs 27+) -must be restarted to see the change. - -** Setting fill-column for the current buffer or mode -The ~setq-hook!~ convenience macro makes settings ~fill-column~ for a particular -mode (or modes) easy: - -#+BEGIN_SRC emacs-lisp -(setq-hook! 'org-mode-hook fill-column 100) -(setq-hook! 'python-mode-hook fill-column 72) -(setq-hook! js2-mode fill-column 72) -(setq-hook! '(ruby-mode rustic-mode python-mode-hook) fill-column 80) -#+END_SRC - -Any open buffers in these modes must be restarted to see the change. - -** (hl-fill-column only) Configuring the look of the indicator -To change the appears of hl-fill-column's highlight, change the -~hl-fill-column-face~ face. Doom provides the ~custom-set-faces!~ macro to help -you do this: - -#+BEGIN_SRC emacs-lisp -(custom-set-faces! - '(hl-fill-column-face :background "red" - :foreground "blue" - :inverse-video t)) -#+END_SRC - -See =M-x helpful-function RET custom-set-faces\!= for demos and documentation -for this macro. - -* TODO Troubleshooting diff --git a/modules/ui/fill-column/autoload.el b/modules/ui/fill-column/autoload.el deleted file mode 100644 index a5cc28861..000000000 --- a/modules/ui/fill-column/autoload.el +++ /dev/null @@ -1,15 +0,0 @@ -;;; ui/fill-column/autoload.el -*- lexical-binding: t; -*- - -;;;###autoload -(defalias '+fill-column/toggle - (if (fboundp 'display-fill-column-indicator-mode) - #'display-fill-column-indicator-mode ; Emacs 27 only - (autoload 'hl-fill-column-mode "hl-fill-column" nil t) - #'hl-fill-column-mode)) - -;;;###autoload -(defalias '+fill-column-enable-h #'+fill-column/toggle) - -;;;###autoload -(add-hook! '(text-mode-hook prog-mode-hook conf-mode-hook) - #'+fill-column-enable-h) diff --git a/modules/ui/fill-column/packages.el b/modules/ui/fill-column/packages.el deleted file mode 100644 index 12420f96a..000000000 --- a/modules/ui/fill-column/packages.el +++ /dev/null @@ -1,6 +0,0 @@ -;; -*- no-byte-compile: t; -*- -;;; ui/fill-column/packages.el - -;; `hl-fill-column' is only used on Emacs versions before 27 -(unless (fboundp 'display-fill-column-indicator-mode) - (package! hl-fill-column :pin "5782a91ba0182c4e562fa0db6379ff9dd472856b"))