aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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)))