aboutsummaryrefslogtreecommitdiff
path: root/src/property.lisp
diff options
context:
space:
mode:
authorSean Whitton <spwhitton@spwhitton.name>2021-03-19 19:05:19 -0700
committerSean Whitton <spwhitton@spwhitton.name>2021-03-19 19:07:10 -0700
commit04fa2803c85bb9f2309b83a11a1a9b20c8ea44f9 (patch)
tree55badcbcdcb5fdc4133d1983640489ae5357a5c6 /src/property.lisp
parentac7fb852767103578b5f16f9cfd204d10bc362a8 (diff)
downloadconsfigurator-04fa2803c85bb9f2309b83a11a1a9b20c8ea44f9.tar.gz
RECORD-KNOWN-PROPERTY: check whether already known
Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
Diffstat (limited to 'src/property.lisp')
-rw-r--r--src/property.lisp15
1 files changed, 8 insertions, 7 deletions
diff --git a/src/property.lisp b/src/property.lisp
index ec73d26..55ed83c 100644
--- a/src/property.lisp
+++ b/src/property.lisp
@@ -110,13 +110,14 @@ see MAP-PROPSPEC-PROPAPPS for how they are used.")
(defun record-known-property (psym)
(setf (get psym 'isprop) t)
- (push psym *known-properties*)
- (push `(,psym (&rest args)
- (let ((gensym (gensym)))
- (push (list* gensym ',psym args)
- *replaced-propapps*)
- gensym))
- *known-property-macrolets*))
+ (unless (member psym *known-properties* :test #'eq)
+ (push psym *known-properties*)
+ (push `(,psym (&rest args)
+ (let ((gensym (gensym)))
+ (push (list* gensym ',psym args)
+ *replaced-propapps*)
+ gensym))
+ *known-property-macrolets*)))
(defun dump-properties-for-emacs (from to)
(let ((put-forms