- Require Emacs 28.1.
- Remove special
org-fold
code. Setorg-fold-core-style
tooverlays
if unfolding in Org files does not work for you. jinx-languages
: Group dictionaries by dictionary provider.
- Bump Compat dependency to Compat 30.
- Add include and linkpaths from FreeBSD for compilation.
- Add
jinx--syntax-overrides
to override syntax table.
- Bugfix: In some rare scenarios, Jinx could hang when checking pending regions.
jinx-correct-all
: AddONLY-CHECK
prefix argument.
- Bugfix in
jinx-correct
: Fixwrong-type-argument
error if no Enchant dictionaries are found.
jinx--word-valid-p
: Do not error on invalid characters.jinx-save-languages
: New custom variable.
- Bugfix (again): Ensure that directory local variables work correctly with Jinx. It is possible to turn Jinx on or off via dir-locals, and also configure the language and local words.
- Bugfix: Ensure that
jinx-next
unfolds hidden misspellings. - Bugfix: Ensure that directory local variable enabling
jinx-mode
works.
- Bugfix: Ensure that
jinx-correct
saves words without text properties in the file-local variablejinx-local-words
. - Bugfix: Ensure that
eval
local variable enablingjinx-mode
works. jinx-correct
: If a region is marked, calljinx-correct-all
and restrict corrections to the marked region.jinx-exclude-faces
,jinx-include-faces
,jinx-exclude-regexps
: Support mode aliases.
- Fix interaction bug with the newest version of AUCTeX, where the major mode got changed unexpectedly.
- Fix deadlock on MacOS during Jinx startup.
- Timer optimizations.
- Add mouse context menu to correct misspellings. The menu is triggered by a right click on a misspelling.
- Allow capitalized form of a word if non-capitalized word is stored in the session word list.
- Replace
jinx-excluded-modes
withglobal-jinx-modes
, the Emacs 28 convention for globalized minor modes. jinx-correct
: Offer session words as suggestions.- Add
jinx-correct-nearest
,jinx-correct-all
andjinx-correct-word
commands. The commandjinx-correct
dispatches to one of those commands depending on the prefix argument. - Recommend libenchant 2.3.1 or newer. Print a message if Enchant is outdated.
- Support $LANG=C and $LANG=POSIX environment variable settings.
- 🪄 Make sure that Emojis are not marked as misspelled 🧙🏼♀️.
- Rename
jinx-correct-next/previous
tojinx-next/previous
. The commands can be used outside the minibuffer. - Bind
M-n
andM-p
tojinx-next/previous
injinx-overlay-map
. - Bind
M-$
tojinx-correct
in thejinx-overlay-map
. - Add
jinx-repeat-map
. - Rename category of Jinx overlays to
jinx-overlay
. - Rename
jinx-misspelled-map
tojinx-overlay-map
. - Add many more language modes to
jinx-camel-modes
.
jinx-correct
: Consistently move backward to the previous misspelling. In order to move backward further, pressM-$
again (orM-p
). Move forward withM-n
.jinx-correct-select
: Support more than 10 quick keys.jinx-languages
: New argumentLANGS
.- Add
jinx-faces
customization group. - Add configurable save actions via
jinx--save-keys
. - Detect C compiler via $CC or
executable-find
.
- Bugfixes
jinx-languages
: Only ask in file-backed buffers if file-local variable should be saved.- Push
undo-boundary
before correcting a word, such that corrections are not undone in a single step. jinx-correct
: Use+
as prefix to add word to the current session.- Add
jinx-correct-map
bound in thejinx-correct
minibuffer. - Add navigation keys to correction UI. The commands
jinx-correct-next
andjinx-correct-previous
are bound to the keysM-n
andM-p
in thejinx-correct-map
respectively. The commands accept prefix arguments to skip over a number of misspellings. - Add quick selection keys to correction UI. The command
jinx-correct-select
is bound to the keys1
to9
in thejinx-correct-map
. - Try to locate the native module
jinx-mod.so
first on theload-path
before attempting to compile it. This is useful if the module is packed and installed separately.
- Fix the type of a few characters:
.
punctuation character,'
word character,%
and$
identifier characters. - Abandon
flyspell-mode-predicate
completely. Rely on faces only. jinx-languages
: The value must be a string now. Multiple language codes can be separated by space.jinx-languages
: Ask if the file-local variable should be saved when changing the language.- Add
jinx-local-words
to save file-local words.jinx-correct
supports saving tojinx-local-words
by pressing*
. - Add a lighter and a minor mode menu.
- Avoid scheduling the idle timer while typing a word.
- Add
jinx-languages
command to switch languages locally or globally. jinx-correct
: When checking the whole buffer viaC-u M-$
, don’t restore original point position uponC-g
to ease cursory edits. Instead push a mark which can be used to go back to the original position.- Add
jinx-mode-map
to make it easy to bind keys ifjinx-mode
is enabled. The map is empty by default. - Ignore single quotes and apostrophes at the beginning and end of words. Please provide feedback if this is a reasonable approach.
- Support spell checking of camelCased words via the
jinx-camel-modes
variable.
jinx-languages
: Fall back to$LANG
environment variable, sincecurrent-locale-environment
is an Emacs 29 addition.jinx--mod-wordchars
: Handle non-UTF8 return values gracefully.jinx-correct
: Always start from nearest overlay.jinx-misspelled
: Use less obtrusive color for the underlining.
- Add
jinx-misspelled-map
. jinx-correct
: Unfold invisible line when correcting misspellings.jinx-correct
: Show number of misspellings.- Add
emacs-module.h
to avoid compilation problems. jinx-languages
: Usecurrent-locale-environment
by default.
- Start of changelog.