summaryrefslogtreecommitdiff
path: root/lisp/emacs-lisp/lisp.el
diff options
context:
space:
mode:
authorStefan Monnier <monnier@iro.umontreal.ca>2014-04-07 12:08:46 -0400
committerStefan Monnier <monnier@iro.umontreal.ca>2014-04-07 12:08:46 -0400
commite3b838807bf9fbbbec9826de6c1e4efdf72acb78 (patch)
treeaf955b069b9dab5d52cfed618cf1f2f7cffa40f5 /lisp/emacs-lisp/lisp.el
parent190f899aed4eeb62286874bda47a92236d52ad4c (diff)
downloademacs-e3b838807bf9fbbbec9826de6c1e4efdf72acb78.tar.gz
* src/alloc.c: Keep track of symbols referenced from pure space (bug#17168).
(symbol_block_pinned): New var. (Fmake_symbol): Initialize `pinned'. (purecopy): New function, extracted from Fpurecopy. Mark symbols as pinned and signal an error for un-purifiable objects. (pure_cons): Use it. (Fpurecopy): Use it, except for objects that can't be purified. (mark_pinned_symbols): New function. (Fgarbage_collect): Use it. (gc_sweep): Remove hack made unnecessary. * src/lisp.h (struct Lisp_Symbol): New bitfield `pinned'.
Diffstat (limited to 'lisp/emacs-lisp/lisp.el')
0 files changed, 0 insertions, 0 deletions