aboutsummaryrefslogtreecommitdiff
path: root/src/propspec.lisp
diff options
context:
space:
mode:
authorSean Whitton <spwhitton@spwhitton.name>2021-03-21 17:36:50 -0700
committerSean Whitton <spwhitton@spwhitton.name>2021-03-21 17:36:50 -0700
commitdbebd8a7fbe36dd91ea887d8b686af3405fc80a9 (patch)
treee83c8f5964d87c17af5edd83147bb6a330e9c39a /src/propspec.lisp
parent525d0410cc76624422a6d83b011c8b8c097a0296 (diff)
downloadconsfigurator-dbebd8a7fbe36dd91ea887d8b686af3405fc80a9.tar.gz
APPEND-PROPSPECS: better handle case where one side of union is nil
Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
Diffstat (limited to 'src/propspec.lisp')
-rw-r--r--src/propspec.lisp7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/propspec.lisp b/src/propspec.lisp
index 39b9d48..00e76f2 100644
--- a/src/propspec.lisp
+++ b/src/propspec.lisp
@@ -231,8 +231,11 @@ systems."
((first unpreprocessed-propspec) (second unpreprocessed-propspec))
(make-propspec :systems (union (propspec-systems first)
(propspec-systems second))
- :propspec `(silent-seqprops ,(propspec-props first)
- ,(propspec-props second))))
+ :propspec (let ((firstp (propspec-props first))
+ (secondp (propspec-props second)))
+ (if (and firstp secondp)
+ `(silent-seqprops ,firstp ,secondp)
+ (or firstp secondp)))))
(defmethod eval-propspec ((propspec preprocessed-propspec))
(eval (slot-value propspec 'preprocessed-propspec-expression)))