diff options
author | Ken Raeburn <raeburn@raeburn.org> | 2016-10-30 09:05:46 -0400 |
---|---|---|
committer | Ken Raeburn <raeburn@raeburn.org> | 2017-06-21 22:34:33 -0400 |
commit | b91455633b03add918af3eb166ac797fd6c95722 (patch) | |
tree | 8291ac7adfcf7f60d3fe7560db0d90175122c8a4 /lisp/org/ob-gnuplot.el | |
parent | efe200c10da02db68c6eeadc3cd82a8cc3108c96 (diff) | |
download | emacs-b91455633b03add918af3eb166ac797fd6c95722.tar.gz emacs-b91455633b03add918af3eb166ac797fd6c95722.tar.bz2 emacs-b91455633b03add918af3eb166ac797fd6c95722.zip |
Replace read_objects assoc list with two hash tables.
For larger input files with lots of shared data structures, an
association list is too slow.
* src/lread.c (read_objects_map, read_objects_completed): New
variables, replacing read_objects.
(readevalloop): Initialize them with hash tables before starting a
top-level read, if they're not already empty hash tables, and reset
them to Qnil afterwards if something was added to the hash tables.
(read_internal_start): Likewise.
(read1): Store first the placeholder and later the newly read object
into read_objects_map under the specified object number. If the new
object can contain a reference to itself, store it in
read_objects_completed.
(substitute_objects_recurse): Check read_objects_completed instead of
read_objects for the known possibly-recursive objects.
(syms_of_lread): Update initializations.
Diffstat (limited to 'lisp/org/ob-gnuplot.el')
0 files changed, 0 insertions, 0 deletions