comparison src/lisp.h @ 5322:df125a42c50c

Support up to nine keywords in the PARSE_KEYWORDS() macro. 2010-12-30 Aidan Kehoe <kehoea@parhasard.net> * lisp.h (DECLARE_N_KEYWORDS_8, DECLARE_N_KEYWORDS_9) (CHECK_N_KEYWORDS_8, CHECK_N_KEYWORDS_9): Support up to nine keywords in the PARSE_KEYWORDS() macro.
author Aidan Kehoe <kehoea@parhasard.net>
date Thu, 30 Dec 2010 01:04:38 +0000
parents 31be2a3d121d
children 8608eadee6ba 6506fcb40fcf
comparison
equal deleted inserted replaced
5321:57a64ab2ae45 5322:df125a42c50c
3639 DECLARE_N_KEYWORDS_4(a,b,c,d), e = Qnil 3639 DECLARE_N_KEYWORDS_4(a,b,c,d), e = Qnil
3640 #define DECLARE_N_KEYWORDS_6(a,b,c,d,e,f) \ 3640 #define DECLARE_N_KEYWORDS_6(a,b,c,d,e,f) \
3641 DECLARE_N_KEYWORDS_5(a,b,c,d,e), f = Qnil 3641 DECLARE_N_KEYWORDS_5(a,b,c,d,e), f = Qnil
3642 #define DECLARE_N_KEYWORDS_7(a,b,c,d,e,f,g) \ 3642 #define DECLARE_N_KEYWORDS_7(a,b,c,d,e,f,g) \
3643 DECLARE_N_KEYWORDS_6(a,b,c,d,e,f), g = Qnil 3643 DECLARE_N_KEYWORDS_6(a,b,c,d,e,f), g = Qnil
3644 #define DECLARE_N_KEYWORDS_8(a,b,c,d,e,f,g,h) \
3645 DECLARE_N_KEYWORDS_7(a,b,c,d,e,f,g), h = Qnil
3646 #define DECLARE_N_KEYWORDS_9(a,b,c,d,e,f,g,h,i) \
3647 DECLARE_N_KEYWORDS_8(a,b,c,d,e,f,g,h), i = Qnil
3644 3648
3645 #define CHECK_N_KEYWORDS_1(a) \ 3649 #define CHECK_N_KEYWORDS_1(a) \
3646 else if (EQ (pk_key, Q_##a)) { a = pk_value; } 3650 else if (EQ (pk_key, Q_##a)) { a = pk_value; }
3647 #define CHECK_N_KEYWORDS_2(a,b) CHECK_N_KEYWORDS_1(a) \ 3651 #define CHECK_N_KEYWORDS_2(a,b) CHECK_N_KEYWORDS_1(a) \
3648 else if (EQ (pk_key, Q_##b)) { b = pk_value; } 3652 else if (EQ (pk_key, Q_##b)) { b = pk_value; }
3654 else if (EQ (pk_key, Q_##e)) { e = pk_value; } 3658 else if (EQ (pk_key, Q_##e)) { e = pk_value; }
3655 #define CHECK_N_KEYWORDS_6(a,b,c,d,e,f) CHECK_N_KEYWORDS_5(a,b,c,d,e) \ 3659 #define CHECK_N_KEYWORDS_6(a,b,c,d,e,f) CHECK_N_KEYWORDS_5(a,b,c,d,e) \
3656 else if (EQ (pk_key, Q_##f)) { f = pk_value; } 3660 else if (EQ (pk_key, Q_##f)) { f = pk_value; }
3657 #define CHECK_N_KEYWORDS_7(a,b,c,d,e,f,g) CHECK_N_KEYWORDS_6(a,b,c,d,e,f) \ 3661 #define CHECK_N_KEYWORDS_7(a,b,c,d,e,f,g) CHECK_N_KEYWORDS_6(a,b,c,d,e,f) \
3658 else if (EQ (pk_key, Q_##g)) { g = pk_value; } 3662 else if (EQ (pk_key, Q_##g)) { g = pk_value; }
3663 #define CHECK_N_KEYWORDS_8(a,b,c,d,e,f,g,h) \
3664 CHECK_N_KEYWORDS_7(a,b,c,d,e,f,g) \
3665 else if (EQ (pk_key, Q_##h)) { h = pk_value; }
3666 #define CHECK_N_KEYWORDS_9(a,b,c,d,e,f,g,h,i) \
3667 CHECK_N_KEYWORDS_8(a,b,c,d,e,f,g,h) \
3668 else if (EQ (pk_key, Q_##i)) { i = pk_value; }
3659 3669
3660 Boolint non_nil_allow_other_keys_p (Elemcount offset, int nargs, 3670 Boolint non_nil_allow_other_keys_p (Elemcount offset, int nargs,
3661 Lisp_Object *args); 3671 Lisp_Object *args);
3662 3672
3663 3673