unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: Eli Zaretskii <eliz@gnu.org>
To: "André A. Gomes" <andremegafone@gmail.com>
Cc: 52331@debbugs.gnu.org, pogonyshev@gmail.com
Subject: bug#52331: M-$ doesn't respect subword mode
Date: Mon, 06 Dec 2021 18:46:24 +0200	[thread overview]
Message-ID: <83h7bl1y1r.fsf@gnu.org> (raw)
In-Reply-To: <87sfv5y9ng.fsf@gmail.com> (message from André A. Gomes on Mon, 06 Dec 2021 16:34:43 +0000)

> From: André A. Gomes <andremegafone@gmail.com>
> Date: Mon, 06 Dec 2021 16:34:43 +0000
> Cc: 52331@debbugs.gnu.org
> 
> > $ emacs --batch --eval "(global-subword-mode)" --eval "(insert
> > \"getBanana\")" --eval "(ispell-word)"
> >
> > Expected output:
> > ...
> > BANANA is correct
> >
> > Expected output:
> > ...
> > Checking spelling of GETBANANA... 
> 
> Thank you for the bug report.
> 
> There's only one speller checker that handles camelCase (AFAIK), which
> is aspell since 0.60.8.  If you're using it, then you can add the
> following to your init file:
> 
> (setq ispell-extra-args '("--camel-case"))
> 
> However, and the Emacs maintainers will probably agree, the
> responsibility of sending the "right" word to the ispell sub-process
> should be on Emacs' side.  I.e., when subword-mode is on, there should
> be a call to word-at-point before sending it to the spell checker.

It's not that easy, unfortunately.  ispell.el has its own rules for
what is a word, and the rules aren't static, they are determined
dynamically by the definition of the dictionary. That's because of at
least 2 reasons: (1) the rules must match what the dictionary
considers a word, and (2) spell-checking is expected to work in
buffers that mix several languages, so the rules need to be sensitive
to the language of the dictionary and reject "words" whose letters are
not part of the language.

So perhaps a better approach is to teach subword-mode about the word
rules of ispell.el, not the other way around.  Patches welcome.





  reply	other threads:[~2021-12-06 16:46 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-12-06 15:09 bug#52331: M-$ doesn't respect subword mode Paul Pogonyshev
2021-12-06 16:34 ` André A. Gomes
2021-12-06 16:46   ` Eli Zaretskii [this message]
2021-12-06 17:21     ` André A. Gomes
2021-12-06 17:45       ` Eli Zaretskii

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

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=83h7bl1y1r.fsf@gnu.org \
    --to=eliz@gnu.org \
    --cc=52331@debbugs.gnu.org \
    --cc=andremegafone@gmail.com \
    --cc=pogonyshev@gmail.com \
    /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 public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).