]> git.eshelyaron.com Git - emacs.git/commitdiff
Avoid using string-to-multibyte in ispell.el
authorReuben Thomas <rrt@sc3d.org>
Tue, 22 Aug 2017 00:46:27 +0000 (01:46 +0100)
committerReuben Thomas <rrt@sc3d.org>
Thu, 24 Aug 2017 17:53:28 +0000 (18:53 +0100)
* 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

index e67e603e990e27aa956acc3c21087200bb42ec73..87a3b7aaa125a6d15f1df17dda7233399541786a 100644 (file)
@@ -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))