aboutsummaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorArtur Malabarba2015-11-07 11:25:31 +0000
committerArtur Malabarba2015-11-07 13:55:16 +0000
commitb74c8847e86a9fc2abfe3a80e75cd361ce2d53af (patch)
tree6b87fa907b5b491fdd17ed3476ff5ae62738df39 /test
parente21e3b6ba9a33fde2ba951f7b7e38da387186ae5 (diff)
downloademacs-b74c8847e86a9fc2abfe3a80e75cd361ce2d53af.tar.gz
emacs-b74c8847e86a9fc2abfe3a80e75cd361ce2d53af.zip
* lisp/emacs-lisp/cl-macs.el (cl-defstruct): Fix a bug
The defsubst was being created as: (cl-defsubst name (args) ("DOC") ...) * test/automated/cl-lib-tests.el (cl-lib-struct-constructors): Add test
Diffstat (limited to 'test')
-rw-r--r--test/automated/cl-lib-tests.el8
1 files changed, 7 insertions, 1 deletions
diff --git a/test/automated/cl-lib-tests.el b/test/automated/cl-lib-tests.el
index 1bdc6d7ca09..b31622fdc33 100644
--- a/test/automated/cl-lib-tests.el
+++ b/test/automated/cl-lib-tests.el
@@ -206,7 +206,8 @@
206 206
207(cl-defstruct (mystruct 207(cl-defstruct (mystruct
208 (:constructor cl-lib--con-1 (&aux (abc 1))) 208 (:constructor cl-lib--con-1 (&aux (abc 1)))
209 (:constructor cl-lib--con-2 (&optional def))) 209 (:constructor cl-lib--con-2 (&optional def) "Constructor docstring."))
210 "General docstring."
210 (abc 5 :readonly t) (def nil)) 211 (abc 5 :readonly t) (def nil))
211(ert-deftest cl-lib-struct-accessors () 212(ert-deftest cl-lib-struct-accessors ()
212 (let ((x (make-mystruct :abc 1 :def 2))) 213 (let ((x (make-mystruct :abc 1 :def 2)))
@@ -220,6 +221,11 @@
220 (`((cl-tag-slot) (abc 5 :readonly t) 221 (`((cl-tag-slot) (abc 5 :readonly t)
221 (def . ,(or `nil `(nil)))) 222 (def . ,(or `nil `(nil))))
222 t))))) 223 t)))))
224(ert-deftest cl-lib-struct-constructors ()
225 (should (equal (documentation 'cl-lib--con-2 t)
226 "Constructor docstring."))
227 (should (mystruct-p (cl-lib--con-1)))
228 (should (mystruct-p (cl-lib--con-2))))
223 229
224(ert-deftest cl-lib-arglist-performance () 230(ert-deftest cl-lib-arglist-performance ()
225 ;; An `&aux' should not cause lambda's arglist to be turned into an &rest 231 ;; An `&aux' should not cause lambda's arglist to be turned into an &rest