This is how to properly enforce precedence

This commit is contained in:
Benson Chu 2024-10-08 14:13:03 -05:00
parent 4fc034318a
commit a584410654

View file

@ -96,21 +96,24 @@
(list ,@body) (list ,@body)
;; TODO: Should be strict about this, don't let this implicitly happen ;; TODO: Should be strict about this, don't let this implicitly happen
(flatten-list it) (flatten-list it)
(string-join it " && "))) (string-join it " && ")
(format "{ %s; }" it)))
(defmacro shell-or (&rest body) (defmacro shell-or (&rest body)
`(--> `(-->
(list ,@body) (list ,@body)
;; TODO: Should be strict about this, don't let this implicitly happen ;; TODO: Should be strict about this, don't let this implicitly happen
(flatten-list it) (flatten-list it)
(string-join it " || "))) (string-join it " || ")
(format "{ %s; }" it)))
(defmacro shell-then (&rest body) (defmacro shell-then (&rest body)
`(--> `(-->
(list ,@body) (list ,@body)
;; TODO: Should be strict about this, don't let this implicitly happen ;; TODO: Should be strict about this, don't let this implicitly happen
(flatten-list it) (flatten-list it)
(string-join it " ; "))) (string-join it " ; ")
(format "{ %s; }" it)))
(defmacro shell-let* (let-clauses &rest body) (defmacro shell-let* (let-clauses &rest body)
(declare (indent 1)) (declare (indent 1))