diff lisp/cl-seq.el @ 5084:6afe991b8135

Add a PARSE_KEYWORDS macro, use it in #'make-hash-table. lisp/ChangeLog addition: 2010-03-01 Aidan Kehoe <kehoea@parhasard.net> * cl-seq.el (cl-parsing-keywords): * cl-macs.el (cl-do-arglist): Use the new invalid-keyword-argument error here. src/ChangeLog addition: 2010-03-01 Aidan Kehoe <kehoea@parhasard.net> * lisp.h (PARSE_KEYWORDS): New macro, for parsing keyword arguments from C subrs. * elhash.c (Fmake_hash_table): Use it. * general-slots.h (Q_allow_other_keys): Add this symbol. * eval.c (non_nil_allow_other_keys_p): (invalid_keyword_argument): New functions, called from the keyword argument parsing code. * data.c (init_errors_once_early): Add the new invalid-keyword-argument error here.
author Aidan Kehoe <kehoea@parhasard.net>
date Mon, 01 Mar 2010 21:05:33 +0000
parents 7d7ae8db0341
children 2e528066e2fc
line wrap: on
line diff
--- a/lisp/cl-seq.el	Fri Feb 26 15:52:24 2010 +0000
+++ b/lisp/cl-seq.el	Mon Mar 01 21:05:33 2010 +0000
@@ -107,7 +107,7 @@
 							   other-keys))))
 				  '(car (cdr (memq (quote :allow-other-keys)
 						   cl-keys)))
-				  '(error "Bad keyword argument %s"
+				  '(error 'invalid-keyword-argument
 					  (car cl-keys-temp)))
 			    '(setq cl-keys-temp (cdr (cdr cl-keys-temp)))))))
 	  body))))