aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorAndrea Corallo2019-06-22 17:12:35 +0200
committerAndrea Corallo2020-01-01 11:33:43 +0100
commita31a164ea0b75c6523346fb9cc05233e036596d3 (patch)
treed2a3fa95f2025af88a48d4aa480fe66d0891769d /src
parent8f0bb7d2647c0f5d4da5ec1af3ca1936ca42f221 (diff)
downloademacs-a31a164ea0b75c6523346fb9cc05233e036596d3.tar.gz
emacs-a31a164ea0b75c6523346fb9cc05233e036596d3.zip
imrpve macros
Diffstat (limited to 'src')
-rw-r--r--src/comp.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/comp.c b/src/comp.c
index 201ffa65597..c724f46a9b3 100644
--- a/src/comp.c
+++ b/src/comp.c
@@ -125,15 +125,17 @@ along with GNU Emacs. If not, see <https://www.gnu.org/licenses/>. */
125/* Pop from the meta-stack, emit the call and push the result */ 125/* Pop from the meta-stack, emit the call and push the result */
126 126
127#define EMIT_CALL_N(name, nargs) \ 127#define EMIT_CALL_N(name, nargs) \
128 POP##nargs; \ 128 do { \
129 res = emit_call (name, comp.lisp_obj_type, nargs, args); \ 129 POP##nargs; \
130 PUSH_RVAL (res); 130 res = emit_call (name, comp.lisp_obj_type, nargs, args); \
131 PUSH_RVAL (res); \
132 } while (0)
131 133
132/* Generate appropriate case and emit call to function. */ 134/* Generate appropriate case and emit call to function. */
133 135
134#define CASE_CALL_NARGS(name, nargs) \ 136#define CASE_CALL_NARGS(name, nargs) \
135 case B##name: \ 137 case B##name: \
136 EMIT_CALL_N (STR(F##name), nargs) \ 138 EMIT_CALL_N (STR(F##name), nargs); \
137 break 139 break
138 140
139/* Emit calls to functions with prototype (ptrdiff_t nargs, Lisp_Object *args) 141/* Emit calls to functions with prototype (ptrdiff_t nargs, Lisp_Object *args)