unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* Re: [Emacs-diffs] scratch/raeburn-startup a4231c3 4/5: Don't dump artifacts of the dump process.
       [not found] ` <20170410155913.053F720447@vcs0.savannah.gnu.org>
@ 2017-04-10 18:13   ` Stefan Monnier
  2017-04-12  4:08     ` Ken Raeburn
  0 siblings, 1 reply; 5+ messages in thread
From: Stefan Monnier @ 2017-04-10 18:13 UTC (permalink / raw)
  To: emacs-devel; +Cc: Ken Raeburn

> +                                     ;; Any let-bound variables during
> +                                     ;; dump process will be useless.
> +                                     faces coding-systems coding-system-aliases
> +                                     charsets charset-aliases unified-charsets
> +                                     abbrev-tables abbrev-counter
> +                                     abbrev-make-cmds abbrev-assign-cmds
> +                                     cmds))))

Converting to lexical-binding would solve these more cleanly, I think.


        Stefan



^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [Emacs-diffs] scratch/raeburn-startup a4231c3 4/5: Don't dump artifacts of the dump process.
  2017-04-10 18:13   ` [Emacs-diffs] scratch/raeburn-startup a4231c3 4/5: Don't dump artifacts of the dump process Stefan Monnier
@ 2017-04-12  4:08     ` Ken Raeburn
  2017-04-12 11:46       ` Stefan Monnier
  0 siblings, 1 reply; 5+ messages in thread
From: Ken Raeburn @ 2017-04-12  4:08 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: emacs-devel


On Apr 10, 2017, at 14:13, Stefan Monnier <monnier@iro.umontreal.ca> wrote:

>> +                                     ;; Any let-bound variables during
>> +                                     ;; dump process will be useless.
>> +                                     faces coding-systems coding-system-aliases
>> +                                     charsets charset-aliases unified-charsets
>> +                                     abbrev-tables abbrev-counter
>> +                                     abbrev-make-cmds abbrev-assign-cmds
>> +                                     cmds))))
> 
> Converting to lexical-binding would solve these more cleanly, I think.
> 
> 
>        Stefan

We do have “lexical-binding:t” at the top of the file, but still the let-bound variables’ local bindings are showing up in the output.

Ken


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [Emacs-diffs] scratch/raeburn-startup a4231c3 4/5: Don't dump artifacts of the dump process.
  2017-04-12  4:08     ` Ken Raeburn
@ 2017-04-12 11:46       ` Stefan Monnier
  2017-04-17  3:48         ` Ken Raeburn
  0 siblings, 1 reply; 5+ messages in thread
From: Stefan Monnier @ 2017-04-12 11:46 UTC (permalink / raw)
  To: emacs-devel

> We do have “lexical-binding:t” at the top of the file, but still the
> let-bound variables’ local bindings are showing up in the output.

Oh, right, because the lexical-binding:t cookie doesn't take effect
since we haven't yet loaded the Elisp code which pays attention to it.


        Stefan




^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [Emacs-diffs] scratch/raeburn-startup a4231c3 4/5: Don't dump artifacts of the dump process.
  2017-04-12 11:46       ` Stefan Monnier
@ 2017-04-17  3:48         ` Ken Raeburn
  2017-04-17 12:26           ` Stefan Monnier
  0 siblings, 1 reply; 5+ messages in thread
From: Ken Raeburn @ 2017-04-17  3:48 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: emacs-devel


On Apr 12, 2017, at 07:46, Stefan Monnier <monnier@iro.umontreal.ca> wrote:

>> We do have “lexical-binding:t” at the top of the file, but still the
>> let-bound variables’ local bindings are showing up in the output.
> 
> Oh, right, because the lexical-binding:t cookie doesn't take effect
> since we haven't yet loaded the Elisp code which pays attention to it.

This is probably going to make my brain hurt, but… how does that work?  At the point where we do the “let” we’ve already loaded the Lisp code we’re going to dump.  Or is it something that needs to be in effect when we start loading the file?  Maybe something we can explicitly enable after loading the necessary Lisp bits?  If we can’t use lexical binding in loadup.el, maybe we should change the file header to not appear as though we’re enabling it.

Also, does this issue affect Lisp code loaded as .el source from loadup while bootstrapping?

Ken


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [Emacs-diffs] scratch/raeburn-startup a4231c3 4/5: Don't dump artifacts of the dump process.
  2017-04-17  3:48         ` Ken Raeburn
@ 2017-04-17 12:26           ` Stefan Monnier
  0 siblings, 0 replies; 5+ messages in thread
From: Stefan Monnier @ 2017-04-17 12:26 UTC (permalink / raw)
  To: emacs-devel

> This is probably going to make my brain hurt, but… how does that work?

I can't remember exactly.  Actually, I think it is supposed to work
correctly, thanks to some C code in lread.c (see
lisp_file_lexically_bound_p), but apparently it doesn't work here.
Not sure why.

> going to dump.  Or is it something that needs to be in effect when we start
> loading the file?

Yes.

> Maybe something we can explicitly enable after loading
> the necessary Lisp bits?

We could, but it's delicate.

> If we can’t use lexical binding in loadup.el,
> maybe we should change the file header to not appear as though we’re
> enabling it.

Indeed, tho hopefully we can make it work.


        Stefan




^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2017-04-17 12:26 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <20170410155910.29409.32595@vcs0.savannah.gnu.org>
     [not found] ` <20170410155913.053F720447@vcs0.savannah.gnu.org>
2017-04-10 18:13   ` [Emacs-diffs] scratch/raeburn-startup a4231c3 4/5: Don't dump artifacts of the dump process Stefan Monnier
2017-04-12  4:08     ` Ken Raeburn
2017-04-12 11:46       ` Stefan Monnier
2017-04-17  3:48         ` Ken Raeburn
2017-04-17 12:26           ` Stefan Monnier

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).