diff tests/automated/lisp-tests.el @ 4795:084056f46755

#'functionp gives nil for special forms, as in CL and GNU Emacs 23. src/ChangeLog addition: 2009-12-31 Aidan Kehoe <kehoea@parhasard.net> * eval.c (Ffunctionp): Special forms no longer give t in this function, in accordance with recent GNU Emacs and with Common Lisp. tests/ChangeLog addition: 2010-01-01 Aidan Kehoe <kehoea@parhasard.net> * automated/lisp-tests.el: Test #'functionp, making sure it gives nil for special forms.
author Aidan Kehoe <kehoea@parhasard.net>
date Fri, 01 Jan 2010 00:21:07 +0000
parents 95b04754ea8c
children 189fb67ca31a
line wrap: on
line diff
--- a/tests/automated/lisp-tests.el	Thu Dec 31 15:47:03 2009 +0000
+++ b/tests/automated/lisp-tests.el	Fri Jan 01 00:21:07 2010 +0000
@@ -2162,4 +2162,23 @@
 ;; development on equalp should still run them, though. Aidan Kehoe, Thu Dec
 ;; 31 14:53:52 GMT 2009. 
 
+(loop
+  for special-form in '(multiple-value-call setq-default quote throw
+			save-current-buffer and or)
+  with not-special-form = nil
+  do
+  (Assert (special-form-p special-form)
+	  (format "checking %S is a special operator" special-form))
+  (setq not-special-form 
+	(intern (format "%s-gMAu" (symbol-name special-form))))
+  (Assert (not (special-form-p not-special-form))
+	  (format "checking %S is a special operator" special-form))
+  (Assert (not (functionp special-form))
+	  (format "checking %S is not a function" special-form)))
+
+(loop
+  for real-function in '(find-file quote-maybe + - find-file-read-only)
+  do (Assert (functionp real-function)
+	     (format "checking %S is a function" real-function)))
+
 ;;; end of lisp-tests.el