emacs-diffs
[Top][All Lists]
Advanced

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

[Emacs-diffs] /srv/bzr/emacs/trunk r105989: * lisp/international/mule-cm


From: Stefan Monnier
Subject: [Emacs-diffs] /srv/bzr/emacs/trunk r105989: * lisp/international/mule-cmds.el: Fix abuses of apply-partially.
Date: Mon, 03 Oct 2011 10:18:42 -0400
User-agent: Bazaar (2.3.1)

------------------------------------------------------------
revno: 105989
fixes bug(s): http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9661
committer: Stefan Monnier <address@hidden>
branch nick: trunk
timestamp: Mon 2011-10-03 10:18:42 -0400
message:
  * lisp/international/mule-cmds.el: Fix abuses of apply-partially.
  (mule-input-method-string): New widget.
  (default-input-method, language-info-custom-alist): Use it.
modified:
  lisp/ChangeLog
  lisp/international/mule-cmds.el
=== modified file 'lisp/ChangeLog'
--- a/lisp/ChangeLog    2011-10-02 23:53:59 +0000
+++ b/lisp/ChangeLog    2011-10-03 14:18:42 +0000
@@ -1,3 +1,9 @@
+2011-10-03  Stefan Monnier  <address@hidden>
+
+       * international/mule-cmds.el: Fix abuses of apply-partially (bug#9661).
+       (mule-input-method-string): New widget.
+       (default-input-method, language-info-custom-alist): Use it.
+
 2011-10-02  Stefan Monnier  <address@hidden>
 
        * pcomplete.el: Require comint.

=== modified file 'lisp/international/mule-cmds.el'
--- a/lisp/international/mule-cmds.el   2011-09-12 02:18:23 +0000
+++ b/lisp/international/mule-cmds.el   2011-10-03 14:18:42 +0000
@@ -1306,17 +1306,22 @@
 (make-variable-buffer-local 'current-input-method-title)
 (put 'current-input-method-title 'permanent-local t)
 
+(define-widget 'mule-input-method-string 'string
+  "String widget with completion for input method."
+  :completions
+  (lambda (string pred action)
+    (let ((completion-ignore-case t))
+      (complete-with-action action input-method-alist string pred)))
+  :prompt-history 'input-method-history)
+
 (defcustom default-input-method nil
   "Default input method for multilingual text (a string).
 This is the input method activated automatically by the command
 `toggle-input-method' (\\[toggle-input-method])."
   :link  '(custom-manual "(emacs)Input Methods")
   :group 'mule
-  :type '(choice (const nil)
-          (string
-           :completions (apply-partially
-                         #'completion-table-case-fold input-method-alist)
-           :prompt-history input-method-history))
+  :type `(choice (const nil)
+                 mule-input-method-string)
   :set-after '(current-language-environment))
 
 (put 'input-method-function 'permanent-local t)
@@ -1879,10 +1884,11 @@
 (define-widget 'charset 'symbol
   "An Emacs charset."
   :tag "Charset"
-  :completions (apply-partially #'completion-table-with-predicate
-                                (apply-partially #'completion-table-case-fold
-                                                 obarray)
-                                #'charsetp 'strict)
+  :completions
+  (lambda (string pred action)
+    (let ((completion-ignore-case t))
+      (completion-table-with-predicate
+       obarray #'charsetp 'strict string pred action)))
   :value 'ascii
   :validate (lambda (widget)
              (unless (charsetp (widget-value widget))
@@ -1917,8 +1923,10 @@
   :type `(alist
          :key-type (string :tag "Language environment"
                            :completions
-                            (apply-partially #'completion-table-case-fold
-                                             language-info-alist))
+                            (lambda (string pred action)
+                              (let ((completion-ignore-case t))
+                                (complete-with-action
+                                 action language-info-alist string pred))))
          :value-type
          (alist :key-type symbol
                 :options ((documentation string)
@@ -1929,12 +1937,7 @@
                           (coding-system (repeat coding-system))
                           (coding-priority (repeat coding-system))
                           (nonascii-translation charset)
-                          (input-method
-                           (string
-                            :completions
-                             (apply-partially #'completion-table-case-fold
-                                              input-method-alist)
-                            :prompt-history input-method-history))
+                          (input-method mule-input-method-string)
                           (features (repeat symbol))
                           (unibyte-display coding-system)))))
 


reply via email to

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