bug#3467: 23.0.94; let + make-local-variable => let value made global
Lennart Borgman <[email protected]>
| Newsgroups | gmane.emacs.bugs,gmane.emacs.pretest.bugs |
|---|---|
| Message-ID | <[email protected]> |
On Sat, Jun 6, 2009 at 12:48 AM, Lennart Borgman<[email protected]> wrote: > > Sigh, and my suggestion was of course unnecessary stupid. What is > needed is of course to record values and frame+buffer localness and > dito values and reset them. Nothing less than this will ever work > correctly, or? > > And does not this apply to all uses of specbind + unbind_to? > > Can it be sufficient to just change specbind and unbind_to? Is there > anything else that will be affected by changes in the specbind stack? > Since info about buffer+frame is alwas needed should specbinding be > changed to the below form? > > struct specbinding > { > Lisp_Object symbol; > Lisp_Object old_value; > Lisp_Object old_buffer_value; > Lisp_Object old_frame_value; > specbinding_func func; > Lisp_Object unused; /* Dividing by 16 is faster than by 12 */ > Lisp_Object unused; > Lisp_Object unused; > }; > > Is this structure used by other functions than specbind and unbind_to? ... and defvar ... but I do not think there are any more uses of specbinding's structure. Or does some allocation need to change?