Version 1.2 of package Jinx has just been released in GNU ELPA. You can now find it in M-x list-packages RET.
Jinx describes itself as: ======================= Enchanted Spell Checker ======================= More at https://elpa.gnu.org/packages/jinx.html ## Summary: ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ JINX.EL - ENCHANTED SPELL CHECKER ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Jinx is a fast just-in-time spell-checker for Emacs. Jinx highlights misspelled words in the text of the visible portion of the buffer. For efficiency, Jinx highlights misspellings lazily, recognizes window boundaries and text folding, if any. For example, when unfolding or scrolling, only the newly visible part of the text is checked if it has not been checked before. Each misspelling can be corrected from a list of dictionary words presented as a completion menu. ## Recent NEWS: ━━━━━━━━━━━━━━━━━━━━━ JINX.EL - CHANGELOG ━━━━━━━━━━━━━━━━━━━━━ 1 Version 1.2 (2024-01-22) ══════════════════════════ • Fix deadlock on MacOS during Jinx startup. • Timer optimizations. 2 Version 1.1 (2023-12-27) ══════════════════════════ • Add mouse context menu to correct misspellings. The menu is triggered by a right click on a misspelling. 3 Version 1.0 (2023-12-01) ══════════════════════════ • Allow capitalized form of a word if non-capitalized word is stored in the session word list. • Replace `jinx-excluded-modes' with `global-jinx-modes', the Emacs 28 convention for globalized minor modes. • `jinx-correct': Offer session words as suggestions. • Add `jinx-correct-nearest', `jinx-correct-all' and `jinx-correct-word' commands. The command `jinx-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. 4 Version 0.9 (2023-07-02) ══════════════════════════ • 🪄 Make sure that Emojis are not marked as misspelled 🧙🏼♀️. • Rename `jinx-correct-next/previous' to `jinx-next/previous'. The commands can be used outside the minibuffer. • Bind `M-n' and `M-p' to `jinx-next/previous' in `jinx-overlay-map'. • Bind `M-$' to `jinx-correct' in the `jinx-overlay-map'. • Add `jinx-repeat-map'. • Rename category of Jinx overlays to `jinx-overlay'. • Rename `jinx-misspelled-map' to `jinx-overlay-map'. • Add many more language modes to `jinx-camel-modes'. 5 Version 0.8 (2023-04-28) ══════════════════════════ • `jinx-correct': Consistently move backward to the previous misspelling. In order to move backward further, press `M-$' again (or `M-p'). Move forward with `M-n'. • `jinx-correct-select': Support more than 10 quick keys. • `jinx-languages': New argument `LANGS'. • Add `jinx-faces' customization group. • Add configurable save actions via `jinx--save-keys'. • Detect C compiler via $CC or `executable-find'. 6 Version 0.7 (2023-04-21) ══════════════════════════ • 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 the `jinx-correct' minibuffer. • Add navigation keys to correction UI. The commands `jinx-correct-next' and `jinx-correct-previous' are bound to the keys `M-n' and `M-p' in the `jinx-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 keys `1' to `9' in the `jinx-correct-map'. • Try to locate the native module `jinx-mod.so' first on the `load-path' before attempting to compile it. This is useful if the module is packed and installed separately. 7 Version 0.6 (2023-04-17) ══════════════════════════ • 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 to `jinx-local-words' by pressing `*'. • Add a lighter and a minor mode menu. • Avoid scheduling the idle timer while typing a word. 8 Version 0.5 (2023-04-05) ══════════════════════════ • Add `jinx-languages' command to switch languages locally or globally. • `jinx-correct': When checking the whole buffer via `C-u M-$', don't restore original point position upon `C-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 if `jinx-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. … …