1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-31 17:30:54 -08:00
emacs/test/lisp/eshell
Jim Porter 43d5b7a04c Lazily convert numeric strings to Lisp numbers in Eshell
This should reduce the number of issues with Eshell converting strings
to numbers too aggressively and losing information (e.g. "001" -> 1)
while still allowing almost all of the beneficial uses, like summing a
list of numeric strings with '+'.

* lisp/eshell/esh-util.el (eshell--do-mark-numeric-string): New
function.
(eshell-convert-to-number): Make obsolete in favor of...
(eshell-mark-numeric-string): ... this.  Update callers.

* lisp/eshell/esh-arg.el (eshell--numberlike-p): New function...
(eshell-concat-1): ... use it.

* test/lisp/eshell/esh-util-tests.el:  Reimplement type conversion tests
to use 'eshell-convertible-to-number-p' instead.

* test/lisp/eshell/esh-var-tests.el
(esh-var-test/interp-var-splice-concat, esh-var-test/interp-concat-cmd)
(esh-var-test/interp-convert-var-split-indices)
(esh-var-test/interp-convert-quoted-var-split-indices)
(esh-var-test/interp-convert-cmd-multiline)
(esh-var-test/interp-convert-cmd-split-indices): Adjust tests to check
the new behavior.

* doc/misc/eshell.texi (Type Conversion): New section.
(Expansion): Clarify concatenation behavior.
2024-10-19 12:01:10 -07:00
..
em-alias-tests.el Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
em-basic-tests.el Support setting umask symbolically in Eshell 2024-01-27 22:21:23 -08:00
em-cmpl-tests.el ; Fix test failures from the fix for bug#67661 2024-01-17 09:32:18 -08:00
em-dirs-tests.el In Eshell, don't expand quoted tildes into a user's home directory 2024-01-28 16:02:05 -08:00
em-extpipe-tests.el Improve handling of deferrable Eshell commands 2024-07-18 11:10:04 -07:00
em-glob-tests.el Add new Eshell built-in command 'funcall' 2024-05-16 20:33:18 -07:00
em-hist-tests.el Erase existing duplicates in eshell-history-ring 2024-05-24 19:29:20 -07:00
em-ls-tests.el ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
em-pred-tests.el ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
em-prompt-tests.el Ensure navigating by paragraphs in Eshell stops at prompts and paragraphs 2024-06-20 19:01:20 -07:00
em-script-tests.el Fix redirecting Eshell output to symbols in some places 2024-08-29 21:51:25 -07:00
em-tramp-tests.el Use 'unwind-protect' to ensure that Eshell always closes I/O handles 2024-07-27 13:57:17 -07:00
em-unix-tests.el Improve correctness of 'eshell-quote-argument' 2024-06-09 15:28:40 -07:00
esh-arg-tests.el Improve correctness of Eshell sub-forms 2024-10-16 21:48:35 -07:00
esh-cmd-tests.el Add support for chaining conditionals in Eshell 2024-10-16 21:48:36 -07:00
esh-ext-tests.el Use "/local:" prefix in Eshell to run local commands when cwd is remote 2024-05-15 18:50:54 -07:00
esh-io-tests.el Fix redirecting Eshell output to symbols in some places 2024-08-29 21:51:25 -07:00
esh-mode-tests.el Improve implementations of some Eshell output filter functions 2024-06-08 12:29:29 -07:00
esh-opt-tests.el ; Compute the list of symbols for 'eshell-eval-using-options' once 2024-02-13 12:27:38 -08:00
esh-proc-tests.el Don't set exit info in Eshell if the command is being piped elsewhere 2024-07-19 11:22:34 -07:00
esh-util-tests.el Lazily convert numeric strings to Lisp numbers in Eshell 2024-10-19 12:01:10 -07:00
esh-var-tests.el Lazily convert numeric strings to Lisp numbers in Eshell 2024-10-19 12:01:10 -07:00
eshell-tests-helpers.el Fix redirecting Eshell output to symbols in some places 2024-08-29 21:51:25 -07:00
eshell-tests-unload.el Consolidate Eshell module loading/unloading code 2024-05-29 12:09:05 -07:00
eshell-tests.el Support "/dev/null" as a target when creating Eshell handles 2024-08-28 19:14:30 -07:00