Elisp: Do shallow copies in with-meta
authorVasilij Schneidermann <mail@vasilij.de>
Mon, 9 Oct 2017 19:46:50 +0000 (21:46 +0200)
committerVasilij Schneidermann <mail@vasilij.de>
Mon, 9 Oct 2017 19:46:50 +0000 (21:46 +0200)
elisp/core.el

index 28b8e85..a684e3f 100644 (file)
 
     (meta . ,(mal-fn (lambda (mal-object) (or (mal-meta mal-object) mal-nil))))
     (with-meta . ,(mal-fn (lambda (mal-object meta)
-                            ;; TODO: doesn't work on hashtables
-                            (let ((mal-object* (copy-tree mal-object t)))
+                            (let ((mal-object* (copy-sequence mal-object)))
                               (setf (aref mal-object* 2) meta)
                               mal-object*))))