We don't need to be so judicious about what files are included in the
MRU list. If you open a file, any file, it'll be considered a recently
opened file.
Guessing the indentation can be awfully slow because it scans the whole
buffer. This PR overrides the guessing mechanism to scan at most 10000
points.
Signed-off-by: Rudi Grinberg <me@rgrinberg.com>
Some ivy/helm commands allow you to preview buffers, which is not an
appropriate time to (invisibly) revert them. The message could be missed
and expensive machinary could be triggered (e.g. updating git-gutter),
which could appear slow. Best to defer reverting until the user has
deliberately landed on the target, and is more likely to notice a revert
notification in the minibuffer.
Suggested by @flatwhatson
It would trigger set-auto-mode whenever files are written to (e.g. when
persp-mode writes its workspace/session files, which have unsafe local
variables, so the user is inundated with prompts to accept them).
Now, doom-guess-mode-h will only work on files with shebang lines.
Fixes an issue where pdfs (in pdf-view-mode) weren't been converted
correctly because the file was declared large while it was being read in
fundamental-mode.
Fixes an issue where dtrt-indent and/or nav-flash would hang Emacs when
opening large files, and disables all mode hooks for large
files (without using fundamental-mode so you can at least get syntax
highlighting).
Describes why we try to compress undo-tree history data. I'm aware that
undo-tree-auto-save-history is disabled, but that may change in the near
future.
Increase `undo-limit`, `undo-strong-limit` and `undo-outer-limit` by a
factor of ten, which should prevent emacs from prematurely truncating
the undo history and corrupting the tree.
Restore `undo-tree-auto-save-history` which was disabled to avoid
exacerbating the undo history truncation.
Change the `undo-tree` recipe to grab the latest version from the
maintainer's repostiory instead of the outdated ELPA version.
Restore `undo-tree-enable-undo-in-region` which should be fixed in the
latest version of `undo-tree`.
This isn't vital enough a package to be included in core. Emacs already
provides view-lossage, and there are other, better packages for
displaying your keybinds as you type.
Even one that I've been working on (with special evil support):
https://github.com/hlissner/doom-emacs-private/blob/master/lisp/keycast.el
This commit does two things:
- Renames def-advice! to defadvice!, in the spirit of naming convenience
macros after the function/macro they enhance or replace.
- Correct the names of advice functions to indicate visibility and
intent. A public advice function like doom-set-jump-a is meant to be
used elsewhere. A private one like +dired--cleanup-header-line-a
shouldn't -- it likely won't work anywhere but the function(s) it was
made to advise.
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.
- Remove core-os and move many of its settings out to other core
libraries, where they belong
- Significantly improve commenting & compartmentalization of many
settings
- Correct some mis-named public hooks (that were named as if they were
private)
- Move the vast majority of optimizations to "Optimizations" section in
core.el
- Don't activate xclip-mode or osx-clipboard-mode if we're accessing
Emacs through an SSH connection (does more bad than good there)
- Add fast-but-imprecise-scrolling = t
- Set bidi-display-reordering = 'left-to-right, at the recommendation of
an Emacs dev. Apparently setting it to nil is undefined, as Emacs is
designed to always assume it's set; setting it explicitly to
left-to-right will still do what was originally intended by turning it
off: to reduce line/text scans for bidirectional text, which gives us
a moderate boost in general runtime snappiness
- Set inhibit-compacting-fon-caches = t on windows (where it struggles
especially with icon fonts)
- Disables "literal" mode for very large files (because I will be
backporting so-long.el from Emacs 27 in the next commit)
This is second of three big naming convention changes. In this commit,
we change the naming conventions for hook functions and variable
functions:
1. Replace the bar | to indicate a hook function with a -h suffix, e.g.
doom|init-ui -> doom-init-ui-h
doom|run-local-var-hooks -> doom-run-local-var-hooks-h
2. And add a -fn suffix for functions meant to be set on variables,
e.g.
(setq magit-display-buffer-function #'+magit-display-buffer-fn)
See ccf327f8 for the reasoning behind these changes.