* lisp/international/mule-cmds.el (read-char-by-name): Move let-binding
authorJuri Linkov <juri@jurta.org>
Wed, 9 Jan 2013 00:20:02 +0000 (02:20 +0200)
committerJuri Linkov <juri@jurta.org>
Wed, 9 Jan 2013 00:20:02 +0000 (02:20 +0200)
of completion-ignore-case around completing-read to fix regression
exhibited by the test case `C-x 8 RET *acc TAB' and caused by
`string-match-p' using the nil value of `case-fold-search' and
`completion-ignore-case' in `completion-pcm--all-completions'..

Fixes: debbugs:12615

lisp/ChangeLog
lisp/international/mule-cmds.el

index 1d04542..ee55ef0 100644 (file)
@@ -1,3 +1,12 @@
+2013-01-09  Juri Linkov  <juri@jurta.org>
+
+       * international/mule-cmds.el (read-char-by-name): Move let-binding
+       of completion-ignore-case around completing-read to fix regression
+       exhibited by the test case `C-x 8 RET *acc TAB' and caused by
+       `string-match-p' using the nil value of `case-fold-search' and
+       `completion-ignore-case' in `completion-pcm--all-completions'.
+       (Bug#12615).
+
 2013-01-07  Glenn Morris  <rgm@gnu.org>
 
        * progmodes/compile.el (compilation-parse-errors):
index 57fd95a..f51daa0 100644 (file)
@@ -2945,14 +2945,13 @@ at the beginning of the name.
 This function also accepts a hexadecimal number of Unicode code
 point or a number in hash notation, e.g. #o21430 for octal,
 #x2318 for hex, or #10r8984 for decimal."
-  (let ((input
-         (completing-read
-          prompt
-          (lambda (string pred action)
-            (let ((completion-ignore-case t))
-              (if (eq action 'metadata)
-                  '(metadata (category . unicode-name))
-                (complete-with-action action (ucs-names) string pred)))))))
+  (let* ((completion-ignore-case t)
+        (input (completing-read
+                 prompt
+                 (lambda (string pred action)
+                   (if (eq action 'metadata)
+                       '(metadata (category . unicode-name))
+                     (complete-with-action action (ucs-names) string pred))))))
     (cond
      ((string-match-p "\\`[0-9a-fA-F]+\\'" input)
       (string-to-number input 16))