1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2024-12-14 09:39:42 +00:00
emacs/lisp/emacs-lisp
Andrea Corallo 44b0ce6e38 Add anonymous lambdas reload mechanism
* src/pdumper.c (dump_do_dump_relocation): Initialize
	'lambda_gc_guard' while resurrecting.
	(dump_do_dump_relocation): Revive lambdas and fixup them.

	* src/comp.h (struct Lisp_Native_Comp_Unit): Define new
	'lambda_gc_guard' 'lambda_c_name_idx_h' 'data_imp_relocs'
	'loaded_once' fields.

	* src/comp.c (load_comp_unit): Use compilaiton unit 'loaded_once'
	field.
	(make_subr, Fcomp__register_lambda): New functions.
	(Fcomp__register_subr): Make use of 'make_subr'.
	(Fnative_elisp_load): Indent.
	(Fnative_elisp_load): Initialize 'lambda_gc_guard'
	'lambda_c_name_idx_h' fields.
	(syms_of_comp): Add Scomp__register_lambda.

	* lisp/emacs-lisp/comp.el (comp-ctxt): Change
	'byte-func-to-func-h' hash key test.
	(comp-ctxt): Add 'lambda-fixups-h' slot.
	(comp-emit-lambda-for-top-level): New function.
	(comp-finalize-relocs): Never emit lambdas in pure space.
	(comp-finalize-relocs): Fixup relocation indexes.
2020-05-15 20:06:49 +01:00
..
advice.el
autoload.el Merge remote-tracking branch 'savannah/master' into HEAD 2020-04-16 17:35:35 +01:00
avl-tree.el
backquote.el
backtrace.el
benchmark.el
bindat.el Add new tests to bindat-tests.el 2020-04-29 09:52:34 +02:00
byte-opt.el Generate 'substring' byte op (bug#39709) 2020-02-25 16:40:11 +01:00
byte-run.el Merge from origin/emacs-27 2020-05-09 10:03:21 -07:00
bytecomp.el Update spill LAP machinery and compile anonymous lambdas 2020-05-14 21:50:31 +01:00
cconv.el Remove generation of old bytecodes for catch/unwind 2020-01-05 11:19:52 +01:00
chart.el
check-declare.el Use lexical-binding in check-declare.el and add tests 2020-05-03 19:50:57 +02:00
checkdoc.el Merge from origin/emacs-27 2020-04-20 07:50:19 -07:00
cl-extra.el Make cl-concatenate an alias of seq-concatenate 2020-03-23 18:58:21 -04:00
cl-generic.el
cl-indent.el Remove redundant :groups args missed in last commit 2020-05-03 16:21:51 +02:00
cl-lib.el
cl-macs.el Don't increment array index in cl-loop twice (Bug#40727) 2020-05-07 08:23:56 -04:00
cl-preloaded.el
cl-print.el
cl-seq.el
comp.el Add anonymous lambdas reload mechanism 2020-05-15 20:06:49 +01:00
copyright.el
crm.el
cursor-sensor.el * lisp/emacs-lisp/cursor-sensor.el (cursor-sensor--detect): Change last fix 2020-02-24 09:55:09 -05:00
debug.el * lisp/emacs-lisp/debug.el (debug): Merge the non-interactive cases 2020-01-31 16:09:42 +02:00
derived.el
disass.el set disassemble buffer in read only 2020-01-01 11:38:17 +01:00
easy-mmode.el
easymenu.el
edebug.el Fix bug #40992 whilst still allowing breakpoint highlights in edebug 2020-05-11 20:05:54 +00:00
eieio-base.el Revert "Inhibit modification hooks when saving eieio-persistent's" 2020-05-12 21:06:22 +02:00
eieio-compat.el
eieio-core.el
eieio-custom.el
eieio-datadebug.el
eieio-opt.el Replace add-hook load-hook with with-eval-after-load 2020-01-16 21:21:29 -08:00
eieio-speedbar.el Replace add-hook load-hook with with-eval-after-load 2020-01-16 21:21:29 -08:00
eieio.el * lisp/emacs-lisp/eieio.el (eieio pcase macro): Fix last-minute typo 2020-05-10 16:17:16 -04:00
eldoc.el Turn Eldoc, Xref and Project into GNU ELPA :core packages 2020-05-13 11:31:35 +01:00
elint.el
elp.el ; Fix some typos and doc issues (bug#40695) 2020-04-18 17:10:02 +02:00
ert-x.el
ert.el
ewoc.el
faceup.el
find-func.el Merge remote-tracking branch 'savannah/master' into HEAD 2020-04-03 19:06:57 +01:00
float-sup.el Use lexical-binding in float-sup.el and add tests 2020-04-29 09:25:02 +02:00
generator.el Merge from origin/emacs-27 2020-04-20 07:50:19 -07:00
generic.el
gv.el Merge from origin/emacs-27 2020-04-20 07:50:19 -07:00
helper.el
inline.el
let-alist.el
lisp-mnt.el Globally sanitize single-file package long descriptions (Bug#37548) 2020-01-23 22:57:23 +01:00
lisp-mode.el Add lisp-data-mode for editing non-code Lisp data 2020-05-01 12:11:10 +01:00
lisp.el
macroexp.el
map-ynp.el
map.el * lisp/emacs-lisp/map.el: Add keyword-only pattern abbreviation 2020-02-04 12:30:31 -05:00
nadvice.el
package-x.el
package.el Merge remote-tracking branch 'savannah/master' into HEAD 2020-05-09 20:04:41 +01:00
pcase.el * lisp/emacs-lisp/pcase.el (pcase--fgrep): Look inside vectors 2020-05-11 09:53:37 -04:00
pp.el
radix-tree.el
re-builder.el Fix void-variable n-reb in re-builder (Bug#40409) 2020-04-04 20:06:54 -04:00
regexp-opt.el Remove the optional KEEP-ORDER argument to regexp-opt 2020-02-13 20:43:42 +01:00
regi.el
ring.el
rmc.el
rx.el Fix rx error with ? and ?? 2020-03-05 12:55:54 +01:00
seq.el ; lisp/emacs-lisp/seq.el: Explain why we don't use cl-lib here 2020-03-07 18:45:23 -05:00
shadow.el Fix edge case errors in filename-matching regexps 2020-04-14 12:25:16 +02:00
smie.el
subr-x.el gnus-shorten-url: Improve and avoid args-out-of-range error 2020-04-13 12:12:00 +02:00
syntax.el * lisp/emacs-lisp/syntax.el: Fix bug#41195 2020-05-12 16:52:11 -04:00
tabulated-list.el Move “Fix some broken conditional forms” to master 2020-01-05 11:50:31 -08:00
tcover-ses.el
tcover-unsafep.el
testcover.el
text-property-search.el
thunk.el
timer-list.el Support sorting timer-list-mode by column (Bug#40854) 2020-05-12 19:10:20 +02:00
timer.el Simplify run-at-time 2020-03-08 00:25:38 -08:00
tq.el
trace.el Clarify semantics of trace-function CONTEXT argument 2020-04-25 09:55:37 -04:00
unsafep.el
warnings.el