Mercurial > hg > xemacs-beta
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 |