(defun ls-read-from-string (string &optional (eof-error-p t) eof-value)
(ls-read (make-string-stream string) eof-error-p eof-value))
+
+#+jscl
+(defun read-from-string (string &optional (eof-errorp t) eof-value)
+ (ls-read-from-string string eof-errorp eof-value))
nconc nil not nreconc nth nthcdr null numberp or
package-name package-use-list packagep parse-integer plusp
prin1-to-string print proclaim prog1 prog2 progn psetq push
- quote remove remove-if remove-if-not return return-from
- revappend reverse rplaca rplacd second set setf setq some
- string string-upcase string= stringp subseq symbol-function
- symbol-name symbol-package symbol-plist symbol-value symbolp
- t tagbody third throw truncate unless unwind-protect values
- values-list variable warn when write-line write-string zerop))
+ quote read-from-string remove remove-if remove-if-not return
+ return-from revappend reverse rplaca rplacd second set setf
+ setq some string string-upcase string= stringp subseq
+ symbol-function symbol-name symbol-package symbol-plist
+ symbol-value symbolp t tagbody third throw truncate unless
+ unwind-protect values values-list variable warn when write-line
+ write-string zerop))
(setq *package* *user-package*)
--- /dev/null
+;; TODO: Uncomment when either read-from-string supports all these parameters
+;; or when test macro supports error handling, whichever comes first
+;; (test (equal (read-from-string " 1 3 5" t nil :start 2) (values 3 5)))
+(test (equal (read-from-string "(a b c)") (values '(A B C) 7)))