Skip to content
Snippets Groups Projects
Commit f35dcfa0 authored by Francois-Rene Rideau's avatar Francois-Rene Rideau
Browse files

Fix build.xcvb.

Be more lenient in list-as-tokens: accept symbols and pathnames as first sub-token.
Accept integers as simple-command-line-token's.
Remove duplicate defmethod print-object.
parent 2f285e1d
No related branches found
No related tags found
No related merge requests found
...@@ -10,7 +10,9 @@ XCVB provides a scalable system to build large software in Lisp, featuring ...@@ -10,7 +10,9 @@ XCVB provides a scalable system to build large software in Lisp, featuring
deterministic separate compilation and enforced locally-declared dependencies." deterministic separate compilation and enforced locally-declared dependencies."
:build-depends-on :build-depends-on
("/asdf" "/xcvb/driver" ("/asdf" "/xcvb/driver"
"/fare-utils" "/fare-matcher" "/fare-mop" "/fare-quasiquote-readtable" "/alexandria"
"/fare-utils" "/fare-mop"
"/fare-matcher" ;; includes "/fare-quasiquote-readtable"
"/cl-ppcre" "/lambda-reader") "/cl-ppcre" "/lambda-reader")
:depends-on :depends-on
("pkgdcl" "process-spec" "utilities" "macros" "host" "run") ("pkgdcl" "process-spec" "utilities" "macros" "host" "run")
......
...@@ -201,7 +201,7 @@ ...@@ -201,7 +201,7 @@
(* (*
(error "Invalid process spec ~S" spec))))) (error "Invalid process spec ~S" spec)))))
(deftype simple-command-line-token () '(or string pathname keyword symbol character)) (deftype simple-command-line-token () '(or string pathname keyword symbol character integer))
(defun token-string (x) (defun token-string (x)
(with-safe-io-syntax () (with-safe-io-syntax ()
...@@ -298,8 +298,6 @@ ...@@ -298,8 +298,6 @@
(e (token-string x))))) (e (token-string x)))))
(c (x) (c (x)
(match x (match x
(`(,(of-type string) ,@*) ;; recurse
(map () #'p x))
(`(+ ,@args) ;; recurse (explicit call) (`(+ ,@args) ;; recurse (explicit call)
(map () #'p args)) (map () #'p args))
(`(* ,@args) ;; splice (`(* ,@args) ;; splice
...@@ -308,6 +306,8 @@ ...@@ -308,6 +306,8 @@
(`(quote ,@args) ;; quote (`(quote ,@args) ;; quote
(e (xcvb-driver:escape-command (e (xcvb-driver:escape-command
(parse-command-spec-tokens args)))) (parse-command-spec-tokens args))))
(`(,(of-type simple-command-line-token) ,@*) ;; recurse
(map () #'p x))
(* (*
(error "Unrecognized command-spec token ~S" x))))) (error "Unrecognized command-spec token ~S" x)))))
(p x))) (p x)))
......
...@@ -2,11 +2,6 @@ ...@@ -2,11 +2,6 @@
(in-package :inferior-shell) (in-package :inferior-shell)
(defmethod print-object ((result result) stream)
(print-unreadable-object (result stream :type t)
(with-slots (process predicate rest) result
(format stream "~A ~A ~A" process predicate rest))))
(defmethod result-or ((r result)) (defmethod result-or ((r result))
(not (zerop (sb-ext:process-exit-code (result-process r))))) (not (zerop (sb-ext:process-exit-code (result-process r)))))
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment