aboutsummaryrefslogtreecommitdiffstats
path: root/src/lisp.h
diff options
context:
space:
mode:
authorJoakim Verona2015-01-25 21:19:27 +0100
committerJoakim Verona2015-01-25 21:19:27 +0100
commitd522fd8ca73e668bfafd0419bc5f71f2751cca24 (patch)
tree4b57a4d2d26e578035801f1c895dcfda5895e09d /src/lisp.h
parente5087278b9bcab5847ce63d80c0d74c27f50e719 (diff)
parenta3689d3c661fe36df971c875760f8d500b5ae994 (diff)
downloademacs-d522fd8ca73e668bfafd0419bc5f71f2751cca24.tar.gz
emacs-d522fd8ca73e668bfafd0419bc5f71f2751cca24.zip
Merge branch 'master' into xwidget
Diffstat (limited to 'src/lisp.h')
-rw-r--r--src/lisp.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/lisp.h b/src/lisp.h
index 76a9ed8f159..87bc3efd198 100644
--- a/src/lisp.h
+++ b/src/lisp.h
@@ -2803,6 +2803,15 @@ enum maxargs
2803 UNEVALLED = -1 2803 UNEVALLED = -1
2804 }; 2804 };
2805 2805
2806/* Call a function F that accepts many args, passing it ARRAY's elements. */
2807#define CALLMANY(f, array) (f) (ARRAYELTS (array), array)
2808
2809/* Call a function F that accepts many args, passing it the remaining args,
2810 E.g., 'return CALLN (Fformat, fmt, text);' is less error-prone than
2811 '{ Lisp_Object a[2]; a[0] = fmt; a[1] = text; return Fformat (2, a); }'.
2812 CALLN is overkill for simple usages like 'Finsert (1, &text);'. */
2813#define CALLN(f, ...) CALLMANY (f, ((Lisp_Object []) {__VA_ARGS__}))
2814
2806extern void defvar_lisp (struct Lisp_Objfwd *, const char *, Lisp_Object *); 2815extern void defvar_lisp (struct Lisp_Objfwd *, const char *, Lisp_Object *);
2807extern void defvar_lisp_nopro (struct Lisp_Objfwd *, const char *, Lisp_Object *); 2816extern void defvar_lisp_nopro (struct Lisp_Objfwd *, const char *, Lisp_Object *);
2808extern void defvar_bool (struct Lisp_Boolfwd *, const char *, bool *); 2817extern void defvar_bool (struct Lisp_Boolfwd *, const char *, bool *);