The problem is that at this point, flycheck-mode might not be active
yet. Calling flycheck-disable-checker always call (flycheck-buffer)
which would result in an error: (user-error "Flycheck mode disabled")
* Fix visit docs for Racket & support racket-xp
- Fix Racket's +lookup/documentation in the same way as
f20f477a44
- Support the +xp feature which enables racket-xp. When it's not
enabled, default handlers to the traditional racket-repl
(which requires users to run code first)
* PR feedback
* Replace add-hook! with add-hook
Also consolidates all REPLs (opened through the :tools eval module)
under one popup rule, which inhibits ESC from prematurely closing
them (#1944), and cleans up after their buffers *only* if their handlers
weren't specified to :persist, e.g.
(set-repl-handler! 'some-mode #'some-repl-handler :persist t)
Also standardized ESS's REPL commands.
Introduces a select few of the localleader keybind standards proposed in
issue #1270, corrects a few typos and introduces more localleader
keybinds in general.
Co-authored-by: yuhan0 <>
`racket-smart-open-bracket-enable` has been replaced by a function that
inserts the right type of bracket (see
669275b3a6),
which we need to bind to [.
This update may potentially break your usage of add-hook! if you pass
the :local or :append properties to it. This is how they used to work:
(add-hook! :append 'some-mode-hook #'do-something)
Thsoe properties must now follow the hooks, e.g.
(add-hook! 'some-mode-hook :append #'do-something)
Other changes:
- Various add-hook calls have been renamed to add-hook! because I
incorrectly assumed `defun` always returned its definition's symbol,
when in fact, its return value is "undefined" (so sayeth the
documentation). This should fix#1597.
- This update adds the ability to add multiple functions to hooks
without a list:
(add-hook! 'some-mode-hook
#'do-something
#'do-something-else)
- The indentation logic has been changed so that consecutive function
symbols at indented at the same level as the first argument, but forms
are indent like a defun.
(add-hook! 'some-mode-hook
#'do-something
#'do-something-else)
(add-hook! 'some-mode-hook
(message "Hello"))
Calling this pivotal macro "def-package!" has frequently been a source
of confusion. It is a thin wrapper around use-package, and it should be
obvious that it is so. For this reason, and to match the naming
convention used with other convenience macros/wrappers, it is now
use-package!.
Also changes def-package-hook! -> use-package-hook!
The old macros are now marked obsolete and will be removed when straight
integration is merged.
+ Uses alist variable to store config, rather than hooks
+ Added check for installed docsets in +lookup/documentation
+ Set docsets for various language modules (c-mode, c++-mode, css-mode,
scss-mode, sass-mode, web-mode, go-mode, racket-mode, emacs-lisp-mode,
js2-mode, rjsx-mode, typescript-mode, rust-mode, and php-mode)
+ Made *eww* popups for dash docsets larger
+ Renamed set-docset! => set-docsets! (set-docset! is aliased to
set-docsets!)
+ New +lookup/install-docset alias
Also adds doom|disable-delete-trailing-whitespace hook, which can be
used to disable this behavior on a per-buffer basis. If you want to turn
off this global behavior:
(remove-hook 'write-file-functions #'delete-trailing-whitespace)
+ Improve verbal mneumonics and enforce localleader conventions (e.g. h
= help, g = goto)
+ Remove keybinds that other features replace (like smartparens or
lookup handlers).
+ Alphabetize keybinds for easier skimming.
+ Removed highlight-quoted block because `highlight-quoted-mode` is already autoloaded by the package
+ Removed org-babel-do-load-languages because lang/org/+babel already has a built-in autoloader for ob-* packages.
+ Removed flycheck-mode from racket-mode hook because it is enabled globally in :feature syntax-checker
+ Removed highlight-numbers-mode from racket-mode-hook because it is enabled on prog-mode-hook in core-ui (as of #770)
+ Fix racket popup rule regexp
+ Remove popup rules that were redundant with the defaults
+ Remove racket-mode-specific company-frontends value, looks like personal preference, otherwise should be set in a separate hook function that is easily recognized and disabled, if the user desires.
+ Remove :interpreter and :mode properties because they are already registered by the racket-mode package.
+ Move racket-unicode-input-method-enable into :hook property (to defer the config)