mirror of
git://git.sv.gnu.org/emacs.git
synced 2026-03-03 12:31:32 -08:00
imrpve macros
This commit is contained in:
parent
8f0bb7d264
commit
a31a164ea0
1 changed files with 6 additions and 4 deletions
10
src/comp.c
10
src/comp.c
|
|
@ -125,15 +125,17 @@ along with GNU Emacs. If not, see <https://www.gnu.org/licenses/>. */
|
|||
/* Pop from the meta-stack, emit the call and push the result */
|
||||
|
||||
#define EMIT_CALL_N(name, nargs) \
|
||||
POP##nargs; \
|
||||
res = emit_call (name, comp.lisp_obj_type, nargs, args); \
|
||||
PUSH_RVAL (res);
|
||||
do { \
|
||||
POP##nargs; \
|
||||
res = emit_call (name, comp.lisp_obj_type, nargs, args); \
|
||||
PUSH_RVAL (res); \
|
||||
} while (0)
|
||||
|
||||
/* Generate appropriate case and emit call to function. */
|
||||
|
||||
#define CASE_CALL_NARGS(name, nargs) \
|
||||
case B##name: \
|
||||
EMIT_CALL_N (STR(F##name), nargs) \
|
||||
EMIT_CALL_N (STR(F##name), nargs); \
|
||||
break
|
||||
|
||||
/* Emit calls to functions with prototype (ptrdiff_t nargs, Lisp_Object *args)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue