all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Matthew Leach <matthew@mattleach.net>
To: Eli Zaretskii <eliz@gnu.org>
Cc: 19092@debbugs.gnu.org
Subject: bug#19092: 25.0.50; [PATCH] ispell-message spell checks marked parts of messages
Date: Tue, 18 Nov 2014 19:53:51 +0000	[thread overview]
Message-ID: <8761ecjne8.fsf@loki.home> (raw)
In-Reply-To: <83r3x0a4id.fsf@gnu.org> (Eli Zaretskii's message of "Tue, 18 Nov 2014 17:54:18 +0200")

[-- Attachment #1: Type: text/plain, Size: 1756 bytes --]

Hi Eli,

Eli Zaretskii <eliz@gnu.org> writes:

>> From: Matthew Leach <matthew@mattleach.net>
>> Date: Tue, 18 Nov 2014 10:55:45 +0000
>> 
>> emacs -Q
>> 
>> C-x m
>> C-c C-b
>> some wrong spelllling. <RET>
>> C-<SPC>
>> C-p
>> C-c M-m
>> M-x ispell-message
>> 
>> you should now be prompted to spell check the word spelllling.  Since
>> text in the marked parts of messages is usually quoted -- be it text,
>> code or otherwise -- I propose that we skip spell checking on these
>> parts of messages.  It can be a real hassle when quoting a large body
>> of code or text.
>> 
>> Attached is a patch to implement this.  Any comments welcome.
>
> This changes behavior, so I think we should have a defcustom that
> could be used to get the old behavior back.  (And the NEWS entry
> should describe that.)

Ah, yes sorry about that.  The revised patch fixes that.

>
>
>
>> 2014-11-18  Matthew Leach  <matthew@mattleach.net>
>> 
>> 	* textmodes/ispell.el (ispell-message): add regexp versions of
>> 	`message-mark-insert-begin' and `message-mark-insert-end' to
>> 	`ispell-skip-region-alist' to skip marked message parts.
>
> ChangeLog entries should start with a capital letter (as any English
> sentence).

Ah, missed that one, sorry.  Revised ChangeLogs below.

Thanks,
Matt

lisp/ChangeLog:
2014-11-18  Matthew Leach  <matthew@mattleach.net>

	* textmodes/ispell.el (ispell-message-check-marked-regions): New.
	(ispell-message): Add regexp versions of
	`message-mark-insert-begin' and `message-mark-insert-end' to
	`ispell-skip-region-alist' to skip marked message parts.

etc/ChangeLog:
2014-11-18  Matthew Leach  <matthew@mattleach.net>

	* NEWS: Mention ispell-message now skips marked message parts when
	`ispell-message-check-marked-regions' is nil.

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: ispell-skip-maked-message-part.patch --]
[-- Type: text/x-diff, Size: 2413 bytes --]

diff --git a/etc/NEWS b/etc/NEWS
index 05210df..2823f91 100644
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -161,6 +161,11 @@ buffers you want to keep separate.
 *** text/html messages that contain inline image parts will be
 transformed into multipart/related messages before sending.
 
+---
+*** Marked parts of messages (created with C-c M-m) are no longer
+spell checked.  To revert to the original behaviour set
+`ispell-message-check-marked-regions' to t.
+
 ** pcase
 *** New UPatterns `quote' and `app'.
 *** New UPatterns can be defined with `pcase-defmacro'.
diff --git a/lisp/textmodes/ispell.el b/lisp/textmodes/ispell.el
index 0fc6b4a..36eb3d9 100644
--- a/lisp/textmodes/ispell.el
+++ b/lisp/textmodes/ispell.el
@@ -400,6 +400,16 @@ Always stores Fcc copy of message when nil."
   :type '(choice integer (const :tag "off" nil))
   :group 'ispell)
 
+(defcustom ispell-message-check-marked-regions nil
+  "When nil ispell-message will skip makred regions that are
+enclosed with `message-mark-insert-begin' and
+`message-mark-insert-end'.
+
+When non-nil, ispell-message will check the spelling inside these
+regions."
+  :type '(choice (const :tag "Check spelling" t)
+                 (const :tag "Don't check spellng" nil))
+  :group 'ispell)
 
 (defcustom ispell-grep-command
   ;; MS-Windows/MS-DOS have `egrep' as a Unix shell script, so they
@@ -4095,10 +4105,17 @@ You can bind this to the key C-c i in GNUS or mail by adding to
 	      (concat "[^,;&+=\n]+ writes:" "\\|"
 		      (ispell-non-empty-string vm-included-text-prefix)))
 	     (t default-prefix)))
+           (message-mark-insert-begin-regexp
+            (concat "^" (regexp-quote message-mark-insert-begin)))
+           (message-mark-insert-end-regexp
+            (concat "^" (regexp-quote message-mark-insert-end)))
 	   (ispell-skip-region-alist
-	    (cons (list (concat "^\\(" cite-regexp "\\)")
-			(function forward-line))
-		  ispell-skip-region-alist))
+            `(,@(unless ispell-message-check-marked-regions
+                  (list (cons 'message-mark-insert-begin-regexp
+                              'message-mark-insert-end-regexp)))
+              ,(list (concat "^\\(" cite-regexp "\\)")
+                     (function forward-line))
+              ,@ispell-skip-region-alist))
 	   (old-case-fold-search case-fold-search)
 	   (dictionary-alist ispell-message-dictionary-alist)
 	   (ispell-checking-message t))

  reply	other threads:[~2014-11-18 19:53 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-11-18 10:55 bug#19092: 25.0.50; [PATCH] ispell-message spell checks marked parts of messages Matthew Leach
2014-11-18 15:54 ` Eli Zaretskii
2014-11-18 19:53   ` Matthew Leach [this message]
2016-02-23 11:57     ` Lars Ingebrigtsen
2019-06-25 21:10       ` Lars Ingebrigtsen

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=8761ecjne8.fsf@loki.home \
    --to=matthew@mattleach.net \
    --cc=19092@debbugs.gnu.org \
    --cc=eliz@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.