emacs-diffs
[Top][All Lists]
Advanced

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

[Emacs-diffs] master bd9ad2e: Avoid using string-to-multibyte in ispell.


From: Reuben Thomas
Subject: [Emacs-diffs] master bd9ad2e: Avoid using string-to-multibyte in ispell.el
Date: Thu, 24 Aug 2017 13:54:51 -0400 (EDT)

branch: master
commit bd9ad2ea1051a73e30e720b90cf413ee93a977f7
Author: Reuben Thomas <address@hidden>
Commit: Reuben Thomas <address@hidden>

    Avoid using string-to-multibyte in ispell.el
    
    * lisp/textmodes/ispell.el (ispell-get-decoded-string): Use
    decode-coding-string instead. Note that decode-coding-string returns a
    string that satisfies multibyte-string-p even if its input is pure
    ASCII and the third argument is t, so the result of
    ispell-get-decoded-string is always a multibyte string.
---
 lisp/textmodes/ispell.el | 16 +++-------------
 1 file changed, 3 insertions(+), 13 deletions(-)

diff --git a/lisp/textmodes/ispell.el b/lisp/textmodes/ispell.el
index e67e603..87a3b7a 100644
--- a/lisp/textmodes/ispell.el
+++ b/lisp/textmodes/ispell.el
@@ -1485,25 +1485,15 @@ used as key in `ispell-local-dictionary-alist' and 
`ispell-dictionary-alist'.")
   "The name of the current personal dictionary, or nil for the default.
 This is passed to the Ispell process using the `-p' switch.")
 
-(defun ispell-decode-string (str)
-  "Decodes multibyte character strings."
-  (decode-coding-string str (ispell-get-coding-system)))
-
 ;; Return a string decoded from Nth element of the current dictionary.
 (defun ispell-get-decoded-string (n)
   "Get the decoded string in slot N of the descriptor of the current dict."
   (let* ((slot (or
                (assoc ispell-current-dictionary ispell-local-dictionary-alist)
                (assoc ispell-current-dictionary ispell-dictionary-alist)
-               (error "No data for dictionary \"%s\", neither in 
`ispell-local-dictionary-alist' nor in `ispell-dictionary-alist'"
-                      ispell-current-dictionary)))
-        (str (nth n slot)))
-    (when (and (> (length str) 0)
-              (not (multibyte-string-p str)))
-      (setq str (ispell-decode-string str))
-      (or (multibyte-string-p str)
-         (setq str (string-to-multibyte str))))
-    str))
+               (error "No data for dictionary \"%s\" in 
`ispell-local-dictionary-alist' or `ispell-dictionary-alist'"
+                      ispell-current-dictionary))))
+    (decode-coding-string (nth n slot) (ispell-get-coding-system) t)))
 
 (defun ispell-get-casechars ()
   (ispell-get-decoded-string 1))



reply via email to

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