From: Emanuel Berg <incal@dataswamp.org>
To: emacs-devel@gnu.org
Subject: Re: jinx
Date: Sat, 01 Apr 2023 10:25:27 +0200 [thread overview]
Message-ID: <87edp42emg.fsf@dataswamp.org> (raw)
In-Reply-To: 83sfdl2z26.fsf@gnu.org
Eli Zaretskii wrote:
> We cannot assume that "jinx is always available", since it
> requires Emacs to be linked against the enchant library.
>
> Anyway, after looking at jinx, I must say that I don't see
> why we should replace ispell and flyspell with jinx. From my
> POV, ispell and flyspell provide all the required
> spell-checking functionalities:
>
> . spell-check a word
> . spell-check a region
> . spell-check the entire buffer
> . spell-check comments and strings in a prog-mode buffer
> . spell-check as you type
Had to do some work on some of that back when I set it up,
don't know if that has since then been moved into vanilla
Emacs - here is the file anyway
;;; -*- lexical-binding: t -*-
;;
;; this file:
;; https://dataswamp.org/~incal/emacs-init/spell.el
;;
;; Debian bug:
;; ispell-init-process: Illegal format hash table
;; /usr/lib/ispell/svenska.hash - expected magic2 0x9602, got 0x414c
;; $ sudo buildhash /usr/share/dict/svenska /usr/lib/ispell/svenska.aff /usr/lib/ispell/svenska.hash
(require 'ispell)
(when (eq system-type 'gnu/linux)
(load-file "/usr/share/dictionaries-common/site-elisp/debian-ispell.el")
(load-file "/var/cache/dictionaries-common/emacsen-ispell-dicts.el") )
(setq ispell-program-name "ispell")
(setq ispell-silently-savep t)
;; single word
(defun spell-word (word)
(with-temp-buffer
(save-excursion
(insert word) )
(condition-case nil
(not (ispell-word))
(error nil) )))
;; (spell-word "length") ; t
;; (spell-word "lenght") ; nil
(defun spell-this-word (dict)
"`ispell-word' the preceding word with DICT."
(ispell-change-dictionary dict)
(ispell-word) )
(let ((eng-dict "american-insane"))
(defun spell-english ()
(interactive)
(spell eng-dict) )
(defun word ()
(interactive)
(spell-this-word eng-dict) ))
;; test: hello / hxllo
(let ((swe-dict "svenska"))
(defun spell-swedish ()
(interactive)
(spell swe-dict) )
(defun ord ()
(interactive)
(spell-this-word swe-dict) ))
;; test: hej / hxj
;; buffer / whole / dwim
(defun is-code ()
(member major-mode '(c++-mode
c-mode
emacs-lisp-mode
prolog-mode
python-mode
sh-mode
Shell-script-mode) )) ; add more ...
(defun is-message ()
(eq major-mode 'message-mode) )
(defun spell (dict)
"Spell with DICT.
If region is active, use `ispell-region';
if editing code, `ispell-comments-and-strings';
if writing a message, `ispell-message';
else, `ispell-buffer'"
(ispell-change-dictionary dict)
(save-window-excursion
(save-excursion
(cond
((use-region-p) (ispell-region (region-beginning) (region-end)))
((is-message) (ispell-message))
((is-code) (ispell-comments-and-strings))
(t (ispell-buffer)) ))))
--
underground experts united
https://dataswamp.org/~incal
next prev parent reply other threads:[~2023-04-01 8:25 UTC|newest]
Thread overview: 101+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-03-29 3:00 jinx Richard Stallman
2023-03-29 9:02 ` jinx Philip Kaludercic
2023-03-31 4:29 ` jinx Richard Stallman
2023-03-31 7:15 ` jinx Philip Kaludercic
2023-04-01 3:11 ` jinx Richard Stallman
2023-04-01 6:01 ` jinx Eli Zaretskii
2023-04-01 12:43 ` jinx Peter Oliver
2023-04-01 13:02 ` jinx Eli Zaretskii
2023-04-01 13:21 ` jinx Peter Oliver
2023-04-01 8:54 ` jinx Augusto Stoffel
2023-03-29 22:46 ` jinx Michael Eliachevitch
2023-03-30 1:02 ` jinx João Pedro
2023-03-30 5:23 ` jinx Eli Zaretskii
2023-03-31 4:29 ` jinx Richard Stallman
2023-03-31 6:51 ` jinx Eli Zaretskii
2023-03-31 7:10 ` jinx Gregory Heytings
2023-03-31 7:15 ` Grammar checking (was: jinx) Eli Zaretskii
2023-03-31 7:47 ` Grammar checking Philip Kaludercic
2023-03-31 8:09 ` Gregory Heytings
2023-03-31 8:38 ` Philip Kaludercic
2023-03-31 9:02 ` Gregory Heytings
2023-03-31 11:37 ` Lynn Winebarger
2023-03-31 12:01 ` Gregory Heytings
2023-03-31 12:45 ` Peter Oliver
2023-03-31 15:29 ` Philip Kaludercic
2023-03-31 17:00 ` Peter Oliver
2023-03-31 12:54 ` Peter Oliver
2023-03-31 13:09 ` Gregory Heytings
2023-03-31 11:23 ` Eli Zaretskii
2023-03-31 12:12 ` Peter Oliver
2023-03-31 15:25 ` Philip Kaludercic
2023-03-31 8:40 ` Nasser Alkmim
2023-03-31 8:45 ` Michael Eliachevitch
2023-03-31 13:44 ` Felician Nemeth
2023-03-31 16:03 ` Peter Oliver
2023-03-31 8:48 ` Gregory Heytings
2023-04-01 12:59 ` Lynn Winebarger
2023-04-01 13:18 ` Gregory Heytings
2023-04-01 13:37 ` Eli Zaretskii
2023-04-01 17:30 ` Lynn Winebarger
2023-04-01 17:35 ` Eli Zaretskii
2023-04-02 3:12 ` Richard Stallman
2023-04-02 15:24 ` Lynn Winebarger
2023-04-03 3:05 ` Richard Stallman
2023-04-03 3:05 ` Richard Stallman
2023-04-06 12:29 ` Lynn Winebarger
2023-04-08 3:28 ` Richard Stallman
2023-04-08 13:33 ` Lynn Winebarger
2023-04-08 13:23 ` Eli Zaretskii
2023-04-08 3:28 ` Richard Stallman
2023-04-08 15:20 ` Lynn Winebarger
2023-04-19 5:13 ` Richard Stallman
2023-04-09 9:02 ` Philip Kaludercic
2023-04-09 12:31 ` Lynn Winebarger
2023-04-22 2:22 ` Richard Stallman
2023-04-23 2:25 ` Richard Stallman
2023-04-23 14:14 ` Lynn Winebarger
2023-04-08 3:28 ` Richard Stallman
2023-04-08 14:23 ` Lynn Winebarger
2023-03-31 10:59 ` Eli Zaretskii
2023-04-02 3:11 ` Richard Stallman
2023-04-02 3:40 ` Emanuel Berg
2023-03-31 16:20 ` Grammar checking (was: jinx) João Távora
2023-04-05 13:05 ` jinx Rudolf Adamkovič
2023-04-05 18:37 ` jinx Philip Kaludercic
2023-03-31 18:33 ` jinx Arash Esbati
2023-03-31 19:11 ` jinx Eli Zaretskii
2023-03-31 19:35 ` jinx Arash Esbati
2023-04-01 7:20 ` jinx Eli Zaretskii
2023-04-01 7:42 ` jinx Arash Esbati
2023-04-01 8:13 ` jinx Eli Zaretskii
2023-04-02 11:29 ` jinx Arash Esbati
2023-04-03 12:32 ` jinx Michael Heerdegen
2023-04-03 13:51 ` jinx Michael Eliachevitch
2023-04-03 14:26 ` jinx Eli Zaretskii
2023-04-03 15:13 ` jinx Michael Eliachevitch
2023-04-04 2:56 ` jinx Richard Stallman
2023-04-04 12:27 ` jinx Michael Heerdegen
2023-04-05 2:35 ` jinx Richard Stallman
2023-04-05 9:02 ` jinx Philip Kaludercic
2023-04-05 10:51 ` jinx Michael Heerdegen
2023-04-05 11:25 ` jinx Michael Heerdegen
2023-04-05 11:55 ` jinx Eli Zaretskii
2023-04-05 13:17 ` jinx Michael Heerdegen
2023-04-05 2:34 ` jinx Richard Stallman
2023-04-05 7:58 ` jinx Po Lu
2023-04-05 8:01 ` jinx Arash Esbati
2023-04-05 8:15 ` jinx Emanuel Berg
2023-04-01 13:11 ` jinx Lynn Winebarger
2023-04-01 8:32 ` jinx Augusto Stoffel
2023-04-01 8:29 ` jinx Augusto Stoffel
2023-04-01 11:21 ` jinx Eli Zaretskii
2023-04-01 11:39 ` jinx Augusto Stoffel
2023-04-01 11:54 ` jinx Eli Zaretskii
2023-04-01 12:32 ` jinx Augusto Stoffel
2023-04-01 12:57 ` jinx Eli Zaretskii
2023-04-01 3:11 ` jinx Richard Stallman
2023-04-01 5:56 ` jinx Eli Zaretskii
2023-04-01 8:35 ` jinx Augusto Stoffel
2023-04-01 8:25 ` Emanuel Berg [this message]
-- strict thread matches above, loose matches on Subject: below --
2023-04-19 22:09 jinx Gustavo Barros
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87edp42emg.fsf@dataswamp.org \
--to=incal@dataswamp.org \
--cc=emacs-devel@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.