bug-gnu-emacs
[Top][All Lists]
Advanced

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

bug#9660: 24.0.90; completion-category-overrides defcustom


From: Stephen Berman
Subject: bug#9660: 24.0.90; completion-category-overrides defcustom
Date: Mon, 03 Oct 2011 13:22:35 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.0.90 (gnu/linux)

In GNU Emacs 24.0.90.2 (i686-suse-linux-gnu, GTK+ Version 2.22.1) of
 2011-10-03 on escher
Windowing system distributor `The X.Org Foundation', version 11.0.10903000
configured using `configure  '--without-toolkit-scroll-bars' 'CFLAGS=-g''

1. emacs -Q
2. M-x customize-option RET completion-category-overrides RET
=> The state says: "STANDARD. (mismatch)".  In addition, the only widget
is an editable field, containing the default value as a Lisp sexp; but
according to the defcustom code there should be an alist widget
containing various other widgets to support customization.

These problems are due to a typo and an oversight, corrected in the
patches below.

Aside from the bugs, I think the Customize interface here can be
improved from the point of view of a user ignorant of Lisp by using
helpful tags instead of the default widget labels "Set", "Cons-cell" and
so on.  The second patch below is an attempt to do this.  (This patch
also incorporates the fixes of the first patch, so if you like the tags,
only this patch should be applied, and if you don't, only the first
patch.)

Here's the straight bugfix:

*** /data/steve/bzr/emacs/trunk/lisp/minibuffer.el      2011-09-30 
20:41:50.000000000 +0200
--- /data/steve/bzr/emacs/quickfixes/lisp/minibuffer.el 2011-10-03 
12:38:27.000000000 +0200
***************
*** 503,511 ****
                                    symbol)
            :value-type
            (set
!            (cons (const style)
!                  (repeat ,@(mapcar (lambda (x) (list 'const (car x)))
!                                    completion-styles-alist)))
             (cons (const cycle)
                   (choice (const :tag "No cycling" nil)
                           (const :tag "Always cycle" t)
--- 503,511 ----
                                    symbol)
            :value-type
            (set
!            (cons (const styles)
!                  (repeat (choice ,@(mapcar (lambda (x) (list 'const (car x)))
!                                          completion-styles-alist))))
             (cons (const cycle)
                   (choice (const :tag "No cycling" nil)
                           (const :tag "Always cycle" t)

And here's the alternative patch with bugfixes + tags:

*** /data/steve/bzr/emacs/trunk/lisp/minibuffer.el      2011-09-30 
20:41:50.000000000 +0200
--- /data/steve/bzr/emacs/quickfixes/lisp/minibuffer.el 2011-10-03 
12:46:59.000000000 +0200
***************
*** 498,512 ****
  an association list that can specify properties such as:
  - `styles': the list of `completion-styles' to use for that category.
  - `cycle': the `completion-cycle-threshold' to use for that category."
!   :type `(alist :key-type (choice (const buffer)
                                    (const file)
                                    symbol)
            :value-type
!           (set
!            (cons (const style)
!                  (repeat ,@(mapcar (lambda (x) (list 'const (car x)))
!                                    completion-styles-alist)))
!            (cons (const cycle)
                   (choice (const :tag "No cycling" nil)
                           (const :tag "Always cycle" t)
                           (integer :tag "Threshold"))))))
--- 498,516 ----
  an association list that can specify properties such as:
  - `styles': the list of `completion-styles' to use for that category.
  - `cycle': the `completion-cycle-threshold' to use for that category."
!   :type `(alist :key-type (choice :tag "Category"
!                                 (const buffer)
                                    (const file)
                                    symbol)
            :value-type
!           (set :tag "Properties to override"
!          (cons :tag "Completion Styles"
!                (const :tag "Select a style from the menu;" styles)
!                (repeat :tag "insert a new menu to add more styles"
!                        (choice ,@(mapcar (lambda (x) (list 'const (car x)))
!                                          completion-styles-alist))))
!            (cons :tag "Completion Cycling"
!                (const :tag "Select one value from the menu." cycle)
                   (choice (const :tag "No cycling" nil)
                           (const :tag "Always cycle" t)
                           (integer :tag "Threshold"))))))




reply via email to

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