[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/transient 626d105ecf 274/366: transient--read-number-N:
From: |
Jonas Bernoulli |
Subject: |
[elpa] externals/transient 626d105ecf 274/366: transient--read-number-N: Return empty string instead of nil |
Date: |
Tue, 25 Jan 2022 18:54:47 -0500 (EST) |
branch: externals/transient
commit 626d105ecfb44ab9e1a4bf1fccb9340d6488b631
Author: Jonas Bernoulli <jonas@bernoul.li>
Commit: Jonas Bernoulli <jonas@bernoul.li>
transient--read-number-N: Return empty string instead of nil
This affects `transient-read-number-N+' and `transient-read-number-N',
which are only intended for use as `:reader' of infix commands and are
called by `transient-infix-read' which understand how to treat nil and
the empty string depending on the values of other slots.
For empty input return the empty string instead of nil, informing
`transient-infix-read' that what is being returned is the empty value
of the argument and not the instruction to altogether turn off the
argument. This makes it trivial to support options that can be off,
on, or have a numeric value:
(transient-define-argument magit-diff:-C ()
:description "Detect copies"
:class 'transient-option
:argument "-C"
+ :allow-empty t
:reader 'transient-read-number-N+)
---
lisp/transient.el | 13 ++++++-------
1 file changed, 6 insertions(+), 7 deletions(-)
diff --git a/lisp/transient.el b/lisp/transient.el
index 4984977d04..a9e026e77e 100644
--- a/lisp/transient.el
+++ b/lisp/transient.el
@@ -2606,13 +2606,12 @@ stand-alone command."
(cl-block nil
(while t
(let ((str (read-from-minibuffer prompt initial-input nil nil
history)))
- (cond ((string-equal str "")
- (cl-return nil))
- ((string-match-p (if include-zero
- "\\`\\(0\\|[1-9][0-9]*\\)\\'"
- "\\`[1-9][0-9]*\\'")
- str)
- (cl-return str))))
+ (when (or (string-equal str "")
+ (string-match-p (if include-zero
+ "\\`\\(0\\|[1-9][0-9]*\\)\\'"
+ "\\`[1-9][0-9]*\\'")
+ str))
+ (cl-return str)))
(message "Please enter a natural number (%s zero)."
(if include-zero "including" "excluding"))
(sit-for 1)))))
- [elpa] externals/transient 313eee0f1c 196/366: manual: Document more infix slots, (continued)
- [elpa] externals/transient 313eee0f1c 196/366: manual: Document more infix slots, Jonas Bernoulli, 2022/01/25
- [elpa] externals/transient 1b9929eca9 197/366: Add new `unsavable' infix slot, Jonas Bernoulli, 2022/01/25
- [elpa] externals/transient 8b22b52b83 211/366: Support defining a per-prefix fallback suffix description function, Jonas Bernoulli, 2022/01/25
- [elpa] externals/transient 7065e1ce86 229/366: manual: Various small improvements, Jonas Bernoulli, 2022/01/25
- [elpa] externals/transient 030d0fe56b 251/366: Rearrange library header, Jonas Bernoulli, 2022/01/25
- [elpa] externals/transient 779b847c20 252/366: make: Update path to ox-extra, Jonas Bernoulli, 2022/01/25
- [elpa] externals/transient eb28c513a8 253/366: Release version 0.3.3, Jonas Bernoulli, 2022/01/25
- [elpa] externals/transient 6e741ee2bd 260/366: Stop using oref-default to get default value of object-allocated slot, Jonas Bernoulli, 2022/01/25
- [elpa] externals/transient 90a0562200 265/366: transient-highlight-higher-levels: New option, Jonas Bernoulli, 2022/01/25
- [elpa] externals/transient 769219b5f5 272/366: Enable section movement, Jonas Bernoulli, 2022/01/25
- [elpa] externals/transient 626d105ecf 274/366: transient--read-number-N: Return empty string instead of nil,
Jonas Bernoulli <=
- [elpa] externals/transient 57942fe961 280/366: manual: No longer depend on the ox-extra package, Jonas Bernoulli, 2022/01/25
- [elpa] externals/transient badebdd1c1 288/366: Set local checkdoc-symbol-words, Jonas Bernoulli, 2022/01/25
- [elpa] externals/transient 7976562a3c 291/366: Sharp-quote functions, Jonas Bernoulli, 2022/01/25
- [elpa] externals/transient 74cba5a418 296/366: Release version 0.3.7, Jonas Bernoulli, 2022/01/25
- [elpa] externals/transient df1ba0f144 301/366: transient-show-help: Cosmetics, Jonas Bernoulli, 2022/01/25
- [elpa] externals/transient ea5ac99ffc 303/366: transient-show-help: Support per-object help functions, Jonas Bernoulli, 2022/01/25
- [elpa] externals/transient f4790969fe 312/366: make: Add stats target, Jonas Bernoulli, 2022/01/25
- [elpa] externals/transient 28491e1f8e 321/366: Properly deal with stealth undefined command, Jonas Bernoulli, 2022/01/25
- [elpa] externals/transient 143a13938c 323/366: transient-infix-read: Always enable-recursive-minibuffers, Jonas Bernoulli, 2022/01/25
- [elpa] externals/transient f2e0dfcc4b 330/366: transient--get-predicate-for: Ignore error in transient--suffix-symbol, Jonas Bernoulli, 2022/01/25