]> git.eshelyaron.com Git - emacs.git/commitdiff
New :type natnum for defcustom
authorStefan Kangas <stefan@marxist.se>
Fri, 24 Sep 2021 23:15:49 +0000 (01:15 +0200)
committerStefan Kangas <stefan@marxist.se>
Sat, 25 Sep 2021 02:15:22 +0000 (04:15 +0200)
* lisp/wid-edit.el (natnum): New widget type.  (Bug#15809)
* doc/lispref/customize.texi (Simple Types): Document it.

doc/lispref/customize.texi
etc/NEWS
lisp/wid-edit.el

index bc35982c172c682c985fa0cfc48766fc41b372a4..b93b8bc015a977d4429771074eb8453cfbd90595 100644 (file)
@@ -594,6 +594,9 @@ want to take the time to work out a more specific type to use.
 @item integer
 The value must be an integer.
 
+@item natnum
+The value must be a nonnegative integer.
+
 @item number
 The value must be a number (floating point or integer).
 
index 31b09dad2424123d0976abe095fb82169bcb1b39..84a6b3f10a1f7b1259010c6850f73988b43255c8 100644 (file)
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -3737,6 +3737,11 @@ instead of only becoming available after doing (for instance)
 ---
 ** ':safe' settings in 'defcustom' are now propagated to the loaddefs files.
 
++++
+** New ':type' for 'defcustom' for nonnegative integers.
+The new 'natnum' type can be used for options that should be
+nonnegative integers.
+
 +++
 ** ERT can now output more verbose test failure reports.
 If the 'EMACS_TEST_VERBOSE' environment variable is set, failure
index ab358da7e3ff96642eab1a575f9588dc33baedc4..72353b91909999a817e4d7d99cc1689720181b6a 100644 (file)
@@ -3644,6 +3644,13 @@ match-alternatives: %S"
   :type-error "This field should contain an integer"
   :match-alternatives '(integerp))
 
+(define-widget 'natnum 'restricted-sexp
+  "A nonnegative integer."
+  :tag "Integer (positive)"
+  :value 0
+  :type-error "This field should contain a nonnegative integer"
+  :match-alternatives '(natnump))
+
 (define-widget 'number 'restricted-sexp
   "A number (floating point or integer)."
   :tag "Number"