comparison src/data.c @ 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 b46c89ccbed3
children 7be849cb8828
comparison
equal deleted inserted replaced
5083:88f955fa5a7f 5084:6afe991b8135
39 Lisp_Object Qlist_formation_error, Qstructure_formation_error; 39 Lisp_Object Qlist_formation_error, Qstructure_formation_error;
40 Lisp_Object Qmalformed_list, Qmalformed_property_list; 40 Lisp_Object Qmalformed_list, Qmalformed_property_list;
41 Lisp_Object Qcircular_list, Qcircular_property_list; 41 Lisp_Object Qcircular_list, Qcircular_property_list;
42 Lisp_Object Qinvalid_argument, Qinvalid_constant, Qwrong_type_argument; 42 Lisp_Object Qinvalid_argument, Qinvalid_constant, Qwrong_type_argument;
43 Lisp_Object Qargs_out_of_range; 43 Lisp_Object Qargs_out_of_range;
44 Lisp_Object Qwrong_number_of_arguments, Qinvalid_function, Qno_catch; 44 Lisp_Object Qwrong_number_of_arguments, Qinvalid_function;
45 Lisp_Object Qinvalid_keyword_argument, Qno_catch;
45 Lisp_Object Qinternal_error, Qinvalid_state, Qstack_overflow, Qout_of_memory; 46 Lisp_Object Qinternal_error, Qinvalid_state, Qstack_overflow, Qout_of_memory;
46 Lisp_Object Qvoid_variable, Qcyclic_variable_indirection; 47 Lisp_Object Qvoid_variable, Qcyclic_variable_indirection;
47 Lisp_Object Qvoid_function, Qcyclic_function_indirection; 48 Lisp_Object Qvoid_function, Qcyclic_function_indirection;
48 Lisp_Object Qinvalid_operation, Qinvalid_change, Qprinting_unreadable_object; 49 Lisp_Object Qinvalid_operation, Qinvalid_change, Qprinting_unreadable_object;
49 Lisp_Object Qsetting_constant; 50 Lisp_Object Qsetting_constant;
3470 DEFERROR_STANDARD (Qwrong_type_argument, Qinvalid_argument); 3471 DEFERROR_STANDARD (Qwrong_type_argument, Qinvalid_argument);
3471 DEFERROR_STANDARD (Qargs_out_of_range, Qinvalid_argument); 3472 DEFERROR_STANDARD (Qargs_out_of_range, Qinvalid_argument);
3472 DEFERROR_STANDARD (Qwrong_number_of_arguments, Qinvalid_argument); 3473 DEFERROR_STANDARD (Qwrong_number_of_arguments, Qinvalid_argument);
3473 DEFERROR_STANDARD (Qinvalid_function, Qinvalid_argument); 3474 DEFERROR_STANDARD (Qinvalid_function, Qinvalid_argument);
3474 DEFERROR_STANDARD (Qinvalid_constant, Qinvalid_argument); 3475 DEFERROR_STANDARD (Qinvalid_constant, Qinvalid_argument);
3476 DEFERROR_STANDARD (Qinvalid_keyword_argument, Qinvalid_argument);
3475 DEFERROR (Qno_catch, "No catch for tag", Qinvalid_argument); 3477 DEFERROR (Qno_catch, "No catch for tag", Qinvalid_argument);
3476 3478
3477 DEFERROR_STANDARD (Qinvalid_state, Qerror); 3479 DEFERROR_STANDARD (Qinvalid_state, Qerror);
3478 DEFERROR (Qvoid_function, "Symbol's function definition is void", 3480 DEFERROR (Qvoid_function, "Symbol's function definition is void",
3479 Qinvalid_state); 3481 Qinvalid_state);