comparison 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
comparison
equal deleted inserted replaced
4794:8484c6c76837 4795:084056f46755
2160 ;; several requests for information on who owned the copyright for the 2160 ;; several requests for information on who owned the copyright for the
2161 ;; files, so I haven't included the tests with XEmacs. Anyone doing XEmacs 2161 ;; files, so I haven't included the tests with XEmacs. Anyone doing XEmacs
2162 ;; development on equalp should still run them, though. Aidan Kehoe, Thu Dec 2162 ;; development on equalp should still run them, though. Aidan Kehoe, Thu Dec
2163 ;; 31 14:53:52 GMT 2009. 2163 ;; 31 14:53:52 GMT 2009.
2164 2164
2165 (loop
2166 for special-form in '(multiple-value-call setq-default quote throw
2167 save-current-buffer and or)
2168 with not-special-form = nil
2169 do
2170 (Assert (special-form-p special-form)
2171 (format "checking %S is a special operator" special-form))
2172 (setq not-special-form
2173 (intern (format "%s-gMAu" (symbol-name special-form))))
2174 (Assert (not (special-form-p not-special-form))
2175 (format "checking %S is a special operator" special-form))
2176 (Assert (not (functionp special-form))
2177 (format "checking %S is not a function" special-form)))
2178
2179 (loop
2180 for real-function in '(find-file quote-maybe + - find-file-read-only)
2181 do (Assert (functionp real-function)
2182 (format "checking %S is a function" real-function)))
2183
2165 ;;; end of lisp-tests.el 2184 ;;; end of lisp-tests.el