Toplevel commands ignore strings
I'm defining lots of toplevel commands in my setup, using system::*tpl-commands*
list.
Some of the commands are parsing the :string
type command arguments with read
.
The problem is: :string
commands parse strings without quotes, thus breaking the read
on otherwise normal input.
(defun test-handler (&rest args) (print args))
(push
`((:t :test)
test-handler :string
""
"")
(rest (find "Top level commands" system::*tpl-commands*
:key #'first
:test #'string-equal)))
:test hello "hello"
;; => ("hello" "hello")
I expected string to be preserved, i.e. the second result to be "\"hello\""
.
Any reason for this behavior?
ECL built with Guix from 23.9.9
tag.
VERSION "23.9.9"
VCS-ID "UNKNOWN"
OS "Linux"
OS-VERSION "6.6.10"
MACHINE-TYPE "x86_64"
FEATURES (:PACKAGE-LOCKS :QUICKLISP :ASDF3.3 :ASDF3.2 :ASDF3.1 :ASDF3 :ASDF2 :ASDF :OS-UNIX :NON-BASE-CHARS-EXIST-P :ASDF-UNICODE
:WALKER :CDR-6 :CDR-1 :CDR-5 :LINUX :FORMATTER :CDR-7 :ECL-WEAK-HASH :LITTLE-ENDIAN :ECL-READ-WRITE-LOCK :LONG-LONG
:UINT64-T :UINT32-T :UINT16-T :COMPLEX-FLOAT :LONG-FLOAT :UNICODE :DFFI :CLOS-STREAMS :CMU-FORMAT :UNIX :ECL-PDE :DLOPEN
:CLOS :THREADS :BOEHM-GC :ANSI-CL :COMMON-LISP :FLOATING-POINT-EXCEPTIONS :IEEE-FLOATING-POINT :PACKAGE-LOCAL-NICKNAMES
:CDR-14 :PREFIXED-API :FFI :X86_64 :COMMON :ECL)
Some additional notes.
Edited by Artyom Bologov