emacs-diffs
[Top][All Lists]
Advanced

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

[Emacs-diffs] emacs-25 0fac75f: Improve the custom type of some user opt


From: Glenn Morris
Subject: [Emacs-diffs] emacs-25 0fac75f: Improve the custom type of some user options.
Date: Sat, 30 Jan 2016 19:51:28 +0000

branch: emacs-25
commit 0fac75fed1c7d61858bef15e951bf9a0835d5bac
Author: Glenn Morris <address@hidden>
Commit: Glenn Morris <address@hidden>

    Improve the custom type of some user options.
    
    * lisp/desktop.el (desktop-minor-mode-table):
    * lisp/man.el (Man-frame-parameters):
    * lisp/midnight.el (midnight-delay):
    * lisp/speedbar.el (speedbar-select-frame-method):
    * lisp/tooltip.el (tooltip-frame-parameters):
    * lisp/tree-widget.el (tree-widget-space-width):
    * lisp/type-break.el (type-break-keystroke-threshold):
    * lisp/woman.el (woman-imenu-generic-expression):
    * lisp/cedet/ede.el (ede-debug-program-function):
    * lisp/cedet/ede/project-am.el (project-am-debug-target-function):
    * lisp/emulation/viper-keym.el (viper-toggle-key):
    * lisp/erc/erc-networks.el (erc-server-alist):
    * lisp/gnus/message.el (message-deletable-headers, message-signature):
    * lisp/mail/mailalias.el (mail-directory-stream):
    * lisp/play/tetris.el (tetris-x-colors):
    * lisp/progmodes/gud.el (gud-tooltip-modes): Improve custom type.
---
 lisp/cedet/ede.el            |    2 +-
 lisp/cedet/ede/project-am.el |    2 +-
 lisp/desktop.el              |    4 +++-
 lisp/emulation/viper-keym.el |    6 ++----
 lisp/erc/erc-networks.el     |   10 +++++++++-
 lisp/gnus/message.el         |    8 +++++---
 lisp/mail/mailalias.el       |    7 ++++++-
 lisp/man.el                  |    4 +++-
 lisp/midnight.el             |    2 +-
 lisp/play/tetris.el          |   10 ++++++++--
 lisp/progmodes/gud.el        |    2 +-
 lisp/speedbar.el             |    8 ++++----
 lisp/tooltip.el              |    4 +++-
 lisp/tree-widget.el          |    6 ++++--
 lisp/type-break.el           |    2 +-
 lisp/woman.el                |    5 ++++-
 16 files changed, 56 insertions(+), 26 deletions(-)

diff --git a/lisp/cedet/ede.el b/lisp/cedet/ede.el
index 41d6c89..f013d43 100644
--- a/lisp/cedet/ede.el
+++ b/lisp/cedet/ede.el
@@ -96,7 +96,7 @@ target willing to take the file.  `never' means never perform 
the check."
 (defcustom ede-debug-program-function 'gdb
   "Default Emacs command used to debug a target."
   :group 'ede
-  :type 'sexp) ; make this be a list of options some day
+  :type 'function) ; make this be a list of options some day
 
 (defcustom ede-project-directories nil
   "Directories in which EDE may search for project files.
diff --git a/lisp/cedet/ede/project-am.el b/lisp/cedet/ede/project-am.el
index e1b0c3d..715f3cf 100644
--- a/lisp/cedet/ede/project-am.el
+++ b/lisp/cedet/ede/project-am.el
@@ -65,7 +65,7 @@
 (defcustom project-am-debug-target-function 'gdb
   "*Default Emacs command used to debug a target."
   :group 'project-am
-  :type 'sexp) ; make this be a list some day
+  :type 'function) ; make this be a list some day
 
 (defconst project-am-type-alist
   '(("bin" project-am-program "bin_PROGRAMS" t)
diff --git a/lisp/desktop.el b/lisp/desktop.el
index e795d9c..822db05 100644
--- a/lisp/desktop.el
+++ b/lisp/desktop.el
@@ -554,7 +554,9 @@ RESTORE-FUNCTION nil means don't try to restore the minor 
mode.
 Only minor modes for which the name of the buffer-local variable
 and the name of the minor mode function are different have to be added to
 this table.  See also `desktop-minor-mode-handlers'."
-  :type 'sexp
+  :type '(alist :key-type (symbol :tag "Minor mode")
+                :value-type (list :tag "Restore function"
+                                  (choice (const nil) function)))
   :group 'desktop)
 
 ;;;###autoload
diff --git a/lisp/emulation/viper-keym.el b/lisp/emulation/viper-keym.el
index 998f850..f5bb32f 100644
--- a/lisp/emulation/viper-keym.el
+++ b/lisp/emulation/viper-keym.el
@@ -154,10 +154,8 @@ viper-insert-basic-map.  Not recommended, except for 
novice users.")
 ;; Some important keys used in viper
 (defcustom viper-toggle-key [(control ?z)]  ; "\C-z"
   "The key used to change states from Emacs to Vi and back.
-In insert mode, this key also functions as Meta.
-
-Enter as a sexp.  Examples: \"\\C-z\", [(control ?z)]."
-  :type 'sexp
+In insert mode, this key also functions as Meta."
+  :type 'key-sequence
   :group 'viper
   :set (lambda (symbol value)
         (let ((old-value (if (boundp 'viper-toggle-key)
diff --git a/lisp/erc/erc-networks.el b/lisp/erc/erc-networks.el
index c859a48..f911d64 100644
--- a/lisp/erc/erc-networks.el
+++ b/lisp/erc/erc-networks.el
@@ -443,7 +443,15 @@ NET is a symbol indicating to which network from 
`erc-networks-alist' this
 HOST is the servers hostname and
 PORTS is either a number, a list of numbers, or a list of port ranges."
   :group 'erc-networks
-  :type 'sexp)
+  :type '(alist :key-type (string :tag "Name")
+               :value-type
+               (group symbol (string :tag "Hostname")
+                      (choice :tag "Ports"
+                              (integer :tag "Port number")
+                              (repeat :tag "List of ports or ranges"
+                                      (choice (integer :tag "Port number")
+                                              (list :tag "Port range"
+                                                    integer integer)))))))
 
 (defcustom erc-networks-alist
   '((4-irc "4-irc.com")
diff --git a/lisp/gnus/message.el b/lisp/gnus/message.el
index f175036..27cae74 100644
--- a/lisp/gnus/message.el
+++ b/lisp/gnus/message.el
@@ -256,10 +256,10 @@ This is a list of regexps and regexp matches."
   :type '(repeat regexp))
 
 (defcustom message-deletable-headers '(Message-ID Date Lines)
-  "Headers to be deleted if they already exist and were generated by message 
previously."
+  "Headers to delete if present and previously generated by message."
   :group 'message-headers
   :link '(custom-manual "(message)Message Headers")
-  :type 'sexp)
+  :type '(repeat (symbol :tag "Header")))
 
 (defcustom message-ignored-news-headers
   
"^NNTP-Posting-Host:\\|^Xref:\\|^[BGF]cc:\\|^Resent-Fcc:\\|^X-Draft-From:\\|^X-Gnus-Agent-Meta-Information:\\|^X-Message-SMTP-Method:\\|^X-Gnus-Delayed:"
@@ -1072,7 +1072,9 @@ If t, the `message-signature-file' file will be inserted 
instead.
 If a function, the result from the function will be used instead.
 If a form, the result from the form will be used instead."
   :version "23.2"
-  :type 'sexp
+  :type '(choice string (const :tag "Contents of signature file" t)
+                function
+                sexp)
   :risky t
   :link '(custom-manual "(message)Insertion Variables")
   :group 'message-insertion)
diff --git a/lisp/mail/mailalias.el b/lisp/mail/mailalias.el
index 35528af..59670a7 100644
--- a/lisp/mail/mailalias.el
+++ b/lisp/mail/mailalias.el
@@ -130,7 +130,12 @@ or like this:
 
 (defcustom mail-directory-stream nil
   "List of (HOST SERVICE) for stream connection to mail directory."
-  :type 'sexp
+  :type '(choice (const nil)
+                 (list (string :tag "Host name or ip address")
+                       (choice (integer :tag "Service port number")
+                               (string :tag "Service name"))
+                       (plist :inline t
+                              :tag "Additional open-network-stream 
parameters")))
   :group 'mailalias)
 (put 'mail-directory-stream 'risky-local-variable t)
 
diff --git a/lisp/man.el b/lisp/man.el
index 04a7fc3..b483dd1 100644
--- a/lisp/man.el
+++ b/lisp/man.el
@@ -184,7 +184,9 @@ The value also can be a positive integer for a fixed width."
 
 (defcustom Man-frame-parameters nil
   "Frame parameter list for creating a new frame for a manual page."
-  :type 'sexp
+  :type '(repeat (cons :format "%v"
+                      (symbol :tag "Parameter")
+                      (sexp :tag "Value")))
   :group 'man)
 
 (defcustom Man-downcase-section-letters-flag t
diff --git a/lisp/midnight.el b/lisp/midnight.el
index a9eedd7..0e68eb9 100644
--- a/lisp/midnight.el
+++ b/lisp/midnight.el
@@ -217,7 +217,7 @@ You should set this variable before loading midnight.el, or
 set it by calling `midnight-delay-set', or use `custom'.
 If you wish, you can use a string instead, it will be passed as the
 first argument to `run-at-time'."
-  :type 'sexp
+  :type '(choice integer string)
   :set #'midnight-delay-set)
 
 (provide 'midnight)
diff --git a/lisp/play/tetris.el b/lisp/play/tetris.el
index b68b541..d4ab668 100644
--- a/lisp/play/tetris.el
+++ b/lisp/play/tetris.el
@@ -87,9 +87,15 @@ If the return value is a number, it is used as the timer 
period."
 
 (defcustom tetris-x-colors
   [[0 0 1] [0.7 0 1] [1 1 0] [1 0 1] [0 1 1] [0 1 0] [1 0 0]]
-  "Vector of colors of the various shapes."
+  "Vector of RGB colors of the various shapes."
   :group 'tetris
-  :type 'sexp)
+  :type '(vector (vector :tag "Shape 1" number number number)
+                 (vector :tag "Shape 2" number number number)
+                 (vector :tag "Shape 3" number number number)
+                 (vector :tag "Shape 4" number number number)
+                 (vector :tag "Shape 5" number number number)
+                 (vector :tag "Shape 6" number number number)
+                 (vector :tag "Shape 7" number number number)))
 
 (defcustom tetris-buffer-name "*Tetris*"
   "Name used for Tetris buffer."
diff --git a/lisp/progmodes/gud.el b/lisp/progmodes/gud.el
index 7843efd..356cd3e 100644
--- a/lisp/progmodes/gud.el
+++ b/lisp/progmodes/gud.el
@@ -3406,7 +3406,7 @@ it if ARG is omitted or nil."
 (defcustom gud-tooltip-modes '(gud-mode c-mode c++-mode fortran-mode
                                        python-mode)
   "List of modes for which to enable GUD tooltips."
-  :type 'sexp
+  :type '(repeat (symbol :tag "Major mode"))
   :group 'gud
   :group 'tooltip)
 
diff --git a/lisp/speedbar.el b/lisp/speedbar.el
index f469873..4ed00ae 100644
--- a/lisp/speedbar.el
+++ b/lisp/speedbar.el
@@ -3469,11 +3469,11 @@ TOKEN will be the list, and INDENT is the current 
indentation level."
 ;;
 (defcustom speedbar-select-frame-method 'attached
   "Specify how to select a frame for displaying a file.
-A value of `attached' means to use the attached frame (the frame
-that speedbar was started from.)  A number such as 1 or -1 means to
-pass that number to `other-frame' while selecting a frame from speedbar."
+A number such as 1 or -1 means to pass that number to `other-frame'
+while selecting a frame from speedbar.  Any other value means to use
+the attached frame (the frame that speedbar was started from)."
   :group 'speedbar
-  :type 'sexp)
+  :type '(choice integer (other :tag "attached" attached)))
 
 (defun speedbar-find-file-in-frame (file)
   "This will load FILE into the speedbar attached frame.
diff --git a/lisp/tooltip.el b/lisp/tooltip.el
index ce190e9..60eabec 100644
--- a/lisp/tooltip.el
+++ b/lisp/tooltip.el
@@ -127,7 +127,9 @@ position to pop up the tooltip.
 
 Note that font and color parameters are ignored, and the attributes
 of the `tooltip' face are used instead."
-  :type 'sexp
+  :type '(repeat (cons :format "%v"
+                      (symbol :tag "Parameter")
+                      (sexp :tag "Value")))
   :group 'tooltip)
 
 (defface tooltip
diff --git a/lisp/tree-widget.el b/lisp/tree-widget.el
index fd502dd..0ffb8dc 100644
--- a/lisp/tree-widget.el
+++ b/lisp/tree-widget.el
@@ -208,9 +208,11 @@ icon widgets used to draw the tree.  By default these 
images are used:
 
 (defcustom tree-widget-space-width 0.5
   "Amount of space between an icon image and a node widget.
-Must be a valid space :width display property."
+Must be a valid space :width display property.
+See Info node `(elisp)Specified Space'."
   :group 'tree-widget
-  :type 'sexp)
+  :type '(choice (number :tag "Multiple of normal character width")
+                 sexp))
 
 ;;; Image support
 ;;
diff --git a/lisp/type-break.el b/lisp/type-break.el
index ba708b2..0b3ee75 100644
--- a/lisp/type-break.el
+++ b/lisp/type-break.el
@@ -133,7 +133,7 @@ keystroke even though they really require multiple keys to 
generate them.
 The command `type-break-guesstimate-keystroke-threshold' can be used to
 guess a reasonably good pair of values for this variable."
   :set-after '(type-break-interval)
-  :type 'sexp
+  :type '(cons (choice integer (const nil)) (choice integer (const nil)))
   :group 'type-break)
 
 (defcustom type-break-query-function 'yes-or-no-p
diff --git a/lisp/woman.el b/lisp/woman.el
index 4ca7dbe..28a4798 100644
--- a/lisp/woman.el
+++ b/lisp/woman.el
@@ -752,7 +752,10 @@ Default is t."
   "Imenu support for Sections and Subsections.
 An alist with elements of the form (MENU-TITLE REGEXP INDEX) --
 see the documentation for `imenu-generic-expression'."
-  :type 'sexp
+  :type '(alist :key-type (choice :tag "Title" (const nil) string)
+                :value-type (group (choice (string :tag "Regexp")
+                                           function)
+                                   integer))
   :group 'woman-interface)
 
 (defcustom woman-imenu nil



reply via email to

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