* `ispell-message' don't spell the subject line if it starts with a square bracket @ 2024-05-09 16:00 Emanuel Berg 2024-05-09 17:48 ` Eli Zaretskii 0 siblings, 1 reply; 7+ messages in thread From: Emanuel Berg @ 2024-05-09 16:00 UTC (permalink / raw) To: emacs-devel Start with -Q, then do `compose-mail', write something which is incorrectly spelled in the Subject header line, then do `ispell-message'. It works but if you start the subject line with a left square bracket, [, spelling the subject line doesn't happen. If you remove it, the subject line gets spell-checked as well as the body. You cannot prevent the body from being spelled with this method. Probably a bug, right? So to exemplify how it looks to me To: Subject: [this will prevent spelling] spel1 th1s From: Emanuel Berg <incal@ebc.mail-host-address-is-not-set> --text follows this line-- spel1 th1s -- hello -- underground experts united https://dataswamp.org/~incal ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: `ispell-message' don't spell the subject line if it starts with a square bracket 2024-05-09 16:00 `ispell-message' don't spell the subject line if it starts with a square bracket Emanuel Berg @ 2024-05-09 17:48 ` Eli Zaretskii 2024-05-09 18:05 ` [SOLV3D] " Emanuel Berg 0 siblings, 1 reply; 7+ messages in thread From: Eli Zaretskii @ 2024-05-09 17:48 UTC (permalink / raw) To: Emanuel Berg; +Cc: emacs-devel > From: Emanuel Berg <incal@dataswamp.org> > Date: Thu, 09 May 2024 18:00:57 +0200 > > Start with -Q, then do `compose-mail', write something which > is incorrectly spelled in the Subject header line, then do > `ispell-message'. > > It works but if you start the subject line with a left square > bracket, [, spelling the subject line doesn't happen. If you > remove it, the subject line gets spell-checked as well as > the body. > > You cannot prevent the body from being spelled with > this method. > > Probably a bug, right? No, it's a feature. ispell-message spell-checks only the text written by the user who composed the message. So it doesn't spell-check parts that are quotations from someone else message (the one to which this one replies), and it doesn't spell-check Subject if it comes from another message: if it starts with "Re:" (which indicates the Subject comes from the message to which you reply), or if it starts with "[", which indicates a forwarded message (so the Subject comes from the message you are forwarding). ^ permalink raw reply [flat|nested] 7+ messages in thread
* [SOLV3D] Re: `ispell-message' don't spell the subject line if it starts with a square bracket 2024-05-09 17:48 ` Eli Zaretskii @ 2024-05-09 18:05 ` Emanuel Berg 2024-05-10 0:23 ` Karl Fogel 0 siblings, 1 reply; 7+ messages in thread From: Emanuel Berg @ 2024-05-09 18:05 UTC (permalink / raw) To: emacs-devel Eli Zaretskii wrote: > No, it's a feature [...] it doesn't spell-check Subject if > it comes from another message: if it starts with "Re:" > (which indicates the Subject comes from the message to which > you reply), or if it starts with "[", which indicates > a forwarded message I think "Fwd:" is the convention for forwarded messages, but you are right, people add such little notes sometimes, like [SOLVED], [OFF LIST] and so on and then most often the subject line shouldn't be spell-checked except for within the square brackets maybe :) -- underground experts united https://dataswamp.org/~incal ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [SOLV3D] Re: `ispell-message' don't spell the subject line if it starts with a square bracket 2024-05-09 18:05 ` [SOLV3D] " Emanuel Berg @ 2024-05-10 0:23 ` Karl Fogel 2024-05-10 0:41 ` Emanuel Berg ` (2 more replies) 0 siblings, 3 replies; 7+ messages in thread From: Karl Fogel @ 2024-05-10 0:23 UTC (permalink / raw) To: emacs-devel [-- Attachment #1: Type: text/plain, Size: 1007 bytes --] On 09 May 2024, Emanuel Berg wrote: >Eli Zaretskii wrote: > >> No, it's a feature [...] it doesn't spell-check Subject if >> it comes from another message: if it starts with "Re:" >> (which indicates the Subject comes from the message to which >> you reply), or if it starts with "[", which indicates >> a forwarded message > >I think "Fwd:" is the convention for forwarded messages, but >you are right, people add such little notes sometimes, like >[SOLVED], [OFF LIST] and so on and then most often the subject >line shouldn't be spell-checked except for within the square >brackets maybe :) Yes: I've seen "Fwd:" used, and also "[FWD]". But there are other little things that people put in square brackets that probably *shouldn't* block spell-check. For example, "[PATCH]" and "[PROPOSAL]". I haven't tested the attached patch, but if there is consensus on this general direction of fix, I would be happy to finalize it (updating it based on suggestions here) and test it. Best regards, -Karl [-- Attachment #2: ispell-subject-check-narrow-exclusion.diff --] [-- Type: text/plain, Size: 557 bytes --] diff --git lisp/textmodes/ispell.el lisp/textmodes/ispell.el index 17af1f1d926..bd4c8d3de7c 100644 --- lisp/textmodes/ispell.el +++ lisp/textmodes/ispell.el @@ -4060,7 +4060,10 @@ ispell-message (progn (goto-char (match-end 0)) (if (and (not (looking-at ".*\\<Re\\>")) - (not (looking-at "\\["))) + (not (looking-at "Fwd:")) + (not (looking-at "\\[FWD")) + (not (looking-at "\\[SOLVED")) + (not (looking-at "\\[OFF[ -]LIST"))) (progn (setq case-fold-search old-case-fold-search) (ispell-region (point) ^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [SOLV3D] Re: `ispell-message' don't spell the subject line if it starts with a square bracket 2024-05-10 0:23 ` Karl Fogel @ 2024-05-10 0:41 ` Emanuel Berg 2024-05-10 1:20 ` Emanuel Berg 2024-05-10 6:58 ` Eli Zaretskii 2 siblings, 0 replies; 7+ messages in thread From: Emanuel Berg @ 2024-05-10 0:41 UTC (permalink / raw) To: emacs-devel Karl Fogel wrote: >> I think "Fwd:" is the convention for forwarded messages, >> but you are right, people add such little notes sometimes, >> like [SOLVED], [OFF LIST] and so on and then most often the >> subject line shouldn't be spell-checked except for within >> the square brackets maybe :) > > Yes: I've seen "Fwd:" used, and also "[FWD]". > > But there are other little things that people put in square > brackets that probably *shouldn't* block spell-check. > For example, "[PATCH]" and "[PROPOSAL]". With [SOLVED] and [OFF LIST] there should already be a "Re:" and with [FWD] there is a "Fwd:" only in a different form. There is also a "was:". I think it would be enough too look for those three including variations and after any one occur, don't spell. -- underground experts united https://dataswamp.org/~incal ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [SOLV3D] Re: `ispell-message' don't spell the subject line if it starts with a square bracket 2024-05-10 0:23 ` Karl Fogel 2024-05-10 0:41 ` Emanuel Berg @ 2024-05-10 1:20 ` Emanuel Berg 2024-05-10 6:58 ` Eli Zaretskii 2 siblings, 0 replies; 7+ messages in thread From: Emanuel Berg @ 2024-05-10 1:20 UTC (permalink / raw) To: emacs-devel Karl Fogel wrote: >>> No, it's a feature [...] it doesn't spell-check Subject if >>> it comes from another message: if it starts with "Re:" >>> (which indicates the Subject comes from the message to >>> which you reply), or if it starts with "[", which >>> indicates a forwarded message >> >> I think "Fwd:" is the convention for forwarded messages, >> but you are right, people add such little notes sometimes, >> like [SOLVED], [OFF LIST] and so on and then most often the >> subject line shouldn't be spell-checked except for within >> the square brackets maybe :) > > Yes: I've seen "Fwd:" used, and also "[FWD]". > > But there are other little things that people put in square > brackets that probably *shouldn't* block spell-check. > For example, "[PATCH]" and "[PROPOSAL]". Another way to approach the thing is to determine in some other way if the message is a first-in-a-thread on, the initial mail or post, and if it is, spell the subject, if not, don't. But one would still look for headers and header data, maybe cleaner and more robust than parsing the subject line. (I would not recommend adding individual hard-coded [CASES] to the source except for the very common "Re:" etc, they are already in the Gnus source BTW as regexps and can be reused for this, likely.) -- underground experts united https://dataswamp.org/~incal ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [SOLV3D] Re: `ispell-message' don't spell the subject line if it starts with a square bracket 2024-05-10 0:23 ` Karl Fogel 2024-05-10 0:41 ` Emanuel Berg 2024-05-10 1:20 ` Emanuel Berg @ 2024-05-10 6:58 ` Eli Zaretskii 2 siblings, 0 replies; 7+ messages in thread From: Eli Zaretskii @ 2024-05-10 6:58 UTC (permalink / raw) To: Karl Fogel; +Cc: emacs-devel > From: Karl Fogel <kfogel@red-bean.com> > Date: Thu, 09 May 2024 19:23:12 -0500 > > On 09 May 2024, Emanuel Berg wrote: > >Eli Zaretskii wrote: > > > >> No, it's a feature [...] it doesn't spell-check Subject if > >> it comes from another message: if it starts with "Re:" > >> (which indicates the Subject comes from the message to which > >> you reply), or if it starts with "[", which indicates > >> a forwarded message > > > >I think "Fwd:" is the convention for forwarded messages, but > >you are right, people add such little notes sometimes, like > >[SOLVED], [OFF LIST] and so on and then most often the subject > >line shouldn't be spell-checked except for within the square > >brackets maybe :) > > Yes: I've seen "Fwd:" used, and also "[FWD]". > > But there are other little things that people put in square > brackets that probably *shouldn't* block spell-check. For > example, "[PATCH]" and "[PROPOSAL]". > > I haven't tested the attached patch, but if there is consensus on > this general direction of fix, I would be happy to finalize it > (updating it based on suggestions here) and test it. I agree to the general direction, but the actual implementation you propose is IMO wrong. Try forwarding a message from Rmail or Gnus with the default settings, and you will see that "[" is not followed by any telltale string; the very fact that the subject is in "[...]" _is_ the only indication of the fact that the message is being forwarded. So removing the "\\[" match is not TRT here. AFAICT, MH-E uses yet another format for forwarded messages. And I don't know what other Emacs-based MUAs do with subject of forwarded and replied messages. OTOH, just having the "Fwd: " prefix doesn't avoid spell-checking the Subject, which is a bug of an opposite kind (false negative). So I think we should leave the "\\[" pattern alone, and instead override the no-spell-checking decision if only part of the subject is in brackets. If we also want not to spell-check the part inside the brackets, we could instead skip the bracketed part. (If the entire Subject is bracketed, as in the default-formatted forwarded messages, that would avoid spell-checking all of it.) Not sure how important that is, since the text inside the brackets is usually auto-generated and thus correct (see the examples you posted). There's a more general issue here: ispell-message currently doesn't know about all the localized variants of "Re:" and "Fwd:", although the MUAs generally do: see, for example, rmail-re-abbrevs. So bonus points for detecting replied and forwarded Subject lines using these patterns. P.S. It's too bad this discussion is here and not on the bug tracker. Bugs, even potential bugs, should _always_ be reported using "M-x report-emacs-bug". ^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2024-05-10 6:58 UTC | newest] Thread overview: 7+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2024-05-09 16:00 `ispell-message' don't spell the subject line if it starts with a square bracket Emanuel Berg 2024-05-09 17:48 ` Eli Zaretskii 2024-05-09 18:05 ` [SOLV3D] " Emanuel Berg 2024-05-10 0:23 ` Karl Fogel 2024-05-10 0:41 ` Emanuel Berg 2024-05-10 1:20 ` Emanuel Berg 2024-05-10 6:58 ` Eli Zaretskii
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).