emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] /srv/bzr/emacs/emacs-24 r107922: ispell.el (ispell-set-spe


From: Agustin Martin
Subject: [Emacs-diffs] /srv/bzr/emacs/emacs-24 r107922: ispell.el (ispell-set-spellchecker-params): Make dicts use [:alpha:] if
Date: Fri, 02 Nov 2012 02:21:28 -0000
User-agent: Bazaar (2.5.0)

------------------------------------------------------------
revno: 107922
fixes bug: http://debbugs.gnu.org/11200
committer: Agustin Martin <address@hidden>
branch nick: trunk
timestamp: Mon 2012-04-16 11:49:51 +0200
message:
  ispell.el (ispell-set-spellchecker-params): Make dicts use [:alpha:] if
  possible.
  
  If Emacs flavour supports [:alpha:] regexps, use it for Casechars
  and Not-Casechars. This currently means use it unless flavour is
  XEmacs.
modified:
  lisp/ChangeLog
  lisp/textmodes/ispell.el
=== modified file 'lisp/ChangeLog'
--- a/lisp/ChangeLog    2012-04-16 03:47:43 +0000
+++ b/lisp/ChangeLog    2012-04-16 09:49:51 +0000
@@ -1,3 +1,8 @@
+2012-04-12  Agustín Martín Domingo  <address@hidden>
+
+       * ispell.el (ispell-set-spellchecker-params): Post-process
+       `ispell-dictionary-alist' to use [:alpha:] if possible.
+
 2012-04-16  Chong Yidong  <address@hidden>
 
        * image.el (imagemagick--extension-regexp): New variable.

=== modified file 'lisp/textmodes/ispell.el'
--- a/lisp/textmodes/ispell.el  2012-04-14 01:46:06 +0000
+++ b/lisp/textmodes/ispell.el  2012-04-16 09:49:51 +0000
@@ -767,6 +767,12 @@
 (make-obsolete-variable 'ispell-aspell-supports-utf8
                         'ispell-encoding8-command "23.1")
 
+(defvar ispell-emacs-alpha-regexp
+  (if (string-match "^[[:alpha:]]+$" "abcde")
+      "[[:alpha:]]"
+    nil)
+  "[[:alpha:]] if Emacs supports [:alpha:] regexp, nil
+otherwise (current XEmacs does not support it).")
 
 ;;; **********************************************************************
 ;;; The following are used by ispell, and should not be changed.
@@ -1092,8 +1098,7 @@
               (error nil))
             ispell-really-aspell
             ispell-encoding8-command
-            ;; XEmacs does not like [:alpha:] regexps.
-            (string-match "^[[:alpha:]]+$" "abcde"))
+            ispell-emacs-alpha-regexp)
        (unless ispell-aspell-dictionary-alist
          (ispell-find-aspell-dictionaries)))
 
@@ -1117,8 +1122,27 @@
                            ispell-dictionary-base-alist))
        (unless (assoc (car dict) all-dicts-alist)
          (add-to-list 'all-dicts-alist dict)))
-      (setq ispell-dictionary-alist all-dicts-alist))))
+      (setq ispell-dictionary-alist all-dicts-alist))
 
+    ;; If Emacs flavor supports [:alpha:] use it for global dicts.  If
+    ;; spellchecker also supports UTF-8 via command-line option use it
+    ;; in communication.  This does not affect definitions in ~/.emacs.
+    (if ispell-emacs-alpha-regexp
+       (let (tmp-dicts-alist)
+         (dolist (adict ispell-dictionary-alist)
+           (add-to-list 'tmp-dicts-alist
+                        (list
+                         (nth 0 adict)  ; dict name
+                         "[[:alpha:]]"  ; casechars
+                         "[^[:alpha:]]" ; not-casechars
+                         (nth 3 adict)  ; otherchars
+                         (nth 4 adict)  ; many-otherchars-p
+                         (nth 5 adict)  ; ispell-args
+                         (nth 6 adict)  ; extended-character-mode
+                         (if ispell-encoding8-command
+                             'utf-8
+                           (nth 7 adict)))))
+         (setq ispell-dictionary-alist tmp-dicts-alist)))))
 
 (defun ispell-valid-dictionary-list ()
   "Return a list of valid dictionaries.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]