diff options
| author | Andrea Corallo | 2020-12-28 12:59:12 +0100 |
|---|---|---|
| committer | Andrea Corallo | 2020-12-28 16:13:31 +0100 |
| commit | 5a8622ba2c623c60fab5b2784d5f15eeebcf46f2 (patch) | |
| tree | 30ae25b35f763f50126f2e86283646c73cfe5b18 /src | |
| parent | eafcc8eda0a78e78d1a53b30dafb22786dd60591 (diff) | |
| download | emacs-5a8622ba2c623c60fab5b2784d5f15eeebcf46f2.tar.gz emacs-5a8622ba2c623c60fab5b2784d5f15eeebcf46f2.zip | |
Reorder subr register function arguments to make some room
* src/comp.c (Fcomp__register_lambda, Fcomp__register_subr)
(Fcomp__late_register_subr): Use a rest arg to pass 'doc_idx' and
'intspec' parameters.
* lisp/emacs-lisp/comp.el (comp-emit-for-top-level)
(comp-emit-lambda-for-top-level): Update.
Diffstat (limited to 'src')
| -rw-r--r-- | src/comp.c | 27 |
1 files changed, 14 insertions, 13 deletions
diff --git a/src/comp.c b/src/comp.c index 52ebf92c500..ee8ae98e2ac 100644 --- a/src/comp.c +++ b/src/comp.c | |||
| @@ -4925,13 +4925,14 @@ make_subr (Lisp_Object symbol_name, Lisp_Object minarg, Lisp_Object maxarg, | |||
| 4925 | } | 4925 | } |
| 4926 | 4926 | ||
| 4927 | DEFUN ("comp--register-lambda", Fcomp__register_lambda, Scomp__register_lambda, | 4927 | DEFUN ("comp--register-lambda", Fcomp__register_lambda, Scomp__register_lambda, |
| 4928 | 7, 7, 0, | 4928 | 6, 6, 0, |
| 4929 | doc: /* Register anonymous lambda. | 4929 | doc: /* Register anonymous lambda. |
| 4930 | This gets called by top_level_run during the load phase. */) | 4930 | This gets called by top_level_run during the load phase. */) |
| 4931 | (Lisp_Object reloc_idx, Lisp_Object minarg, Lisp_Object maxarg, | 4931 | (Lisp_Object reloc_idx, Lisp_Object c_name, Lisp_Object minarg, |
| 4932 | Lisp_Object c_name, Lisp_Object doc_idx, Lisp_Object intspec, | 4932 | Lisp_Object maxarg, Lisp_Object rest, Lisp_Object comp_u) |
| 4933 | Lisp_Object comp_u) | ||
| 4934 | { | 4933 | { |
| 4934 | Lisp_Object doc_idx = FIRST (rest); | ||
| 4935 | Lisp_Object intspec = SECOND (rest); | ||
| 4935 | struct Lisp_Native_Comp_Unit *cu = XNATIVE_COMP_UNIT (comp_u); | 4936 | struct Lisp_Native_Comp_Unit *cu = XNATIVE_COMP_UNIT (comp_u); |
| 4936 | if (cu->loaded_once) | 4937 | if (cu->loaded_once) |
| 4937 | return Qnil; | 4938 | return Qnil; |
| @@ -4953,13 +4954,14 @@ This gets called by top_level_run during the load phase. */) | |||
| 4953 | } | 4954 | } |
| 4954 | 4955 | ||
| 4955 | DEFUN ("comp--register-subr", Fcomp__register_subr, Scomp__register_subr, | 4956 | DEFUN ("comp--register-subr", Fcomp__register_subr, Scomp__register_subr, |
| 4956 | 7, 7, 0, | 4957 | 6, 6, 0, |
| 4957 | doc: /* Register exported subr. | 4958 | doc: /* Register exported subr. |
| 4958 | This gets called by top_level_run during the load phase. */) | 4959 | This gets called by top_level_run during the load phase. */) |
| 4959 | (Lisp_Object name, Lisp_Object minarg, Lisp_Object maxarg, | 4960 | (Lisp_Object name, Lisp_Object c_name, Lisp_Object minarg, |
| 4960 | Lisp_Object c_name, Lisp_Object doc_idx, Lisp_Object intspec, | 4961 | Lisp_Object maxarg, Lisp_Object rest, Lisp_Object comp_u) |
| 4961 | Lisp_Object comp_u) | ||
| 4962 | { | 4962 | { |
| 4963 | Lisp_Object doc_idx = FIRST (rest); | ||
| 4964 | Lisp_Object intspec = SECOND (rest); | ||
| 4963 | Lisp_Object tem = | 4965 | Lisp_Object tem = |
| 4964 | make_subr (SYMBOL_NAME (name), minarg, maxarg, c_name, doc_idx, intspec, | 4966 | make_subr (SYMBOL_NAME (name), minarg, maxarg, c_name, doc_idx, intspec, |
| 4965 | comp_u); | 4967 | comp_u); |
| @@ -4982,16 +4984,15 @@ This gets called by top_level_run during the load phase. */) | |||
| 4982 | } | 4984 | } |
| 4983 | 4985 | ||
| 4984 | DEFUN ("comp--late-register-subr", Fcomp__late_register_subr, | 4986 | DEFUN ("comp--late-register-subr", Fcomp__late_register_subr, |
| 4985 | Scomp__late_register_subr, 7, 7, 0, | 4987 | Scomp__late_register_subr, 6, 6, 0, |
| 4986 | doc: /* Register exported subr. | 4988 | doc: /* Register exported subr. |
| 4987 | This gets called by late_top_level_run during the load phase. */) | 4989 | This gets called by late_top_level_run during the load phase. */) |
| 4988 | (Lisp_Object name, Lisp_Object minarg, Lisp_Object maxarg, | 4990 | (Lisp_Object name, Lisp_Object c_name, Lisp_Object minarg, |
| 4989 | Lisp_Object c_name, Lisp_Object doc, Lisp_Object intspec, | 4991 | Lisp_Object maxarg, Lisp_Object rest, Lisp_Object comp_u) |
| 4990 | Lisp_Object comp_u) | ||
| 4991 | { | 4992 | { |
| 4992 | if (!NILP (Fequal (Fsymbol_function (name), | 4993 | if (!NILP (Fequal (Fsymbol_function (name), |
| 4993 | Fgethash (name, Vcomp_deferred_pending_h, Qnil)))) | 4994 | Fgethash (name, Vcomp_deferred_pending_h, Qnil)))) |
| 4994 | Fcomp__register_subr (name, minarg, maxarg, c_name, doc, intspec, comp_u); | 4995 | Fcomp__register_subr (name, c_name, minarg, maxarg, type, rest, comp_u); |
| 4995 | Fremhash (name, Vcomp_deferred_pending_h); | 4996 | Fremhash (name, Vcomp_deferred_pending_h); |
| 4996 | return Qnil; | 4997 | return Qnil; |
| 4997 | } | 4998 | } |