all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* bug#71985: Lexical directives at start of file
@ 2024-07-07 18:45 Heime via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2024-07-07 19:02 ` Eli Zaretskii
  0 siblings, 1 reply; 8+ messages in thread
From: Heime via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-07-07 18:45 UTC (permalink / raw)
  To: 71985

I was curious whether the -*- lexical-binding: t -*- directive is effective 
when there is an arbitrary number of comment characters before it.

For instance, in file.el:

;;; file.el -*- lexical-binding: t -*-

This is the first line from git-rebase.el in the Magit package:

;;; git-rebase.el --- Edit Git rebase files  -*- lexical-binding:t -*-

This suggests that some characters can precede the variable list. However,
it's unclear if the number of characters can be arbitrary. I couldn't find
a clear explanation in either the Emacs or Elisp manuals. The Emacs manual 
mentions that it can be placed on the second line of a shell script, but 
doesn't provide much detail on the format. The Elisp manual does not describe 
the appearance of this directive at all.



I was wondering whether the "-*- lexical-binding: t -*-" applies when 
there is an arbitrary number of comment characters. 

;;; file.el -*- lexical-binding: t -*-

This is the first line from `git-rebase.el` from magit.

;;; git-rebase.el --- Edit Git rebase files  -*- lexical-binding:t -*-

So one can have some characters in front of the actually var list.  But not 
sure if it's arbitrary.  I don't see it mentioned anywhere in both Emacs and 
Elisp manual.  In Emacs manual, it only mentions that it can be placed on the 
second line of a shell script.  Elisp manual doesn't even mention how it should
look like.





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

* bug#71985: Lexical directives at start of file
  2024-07-07 18:45 bug#71985: Lexical directives at start of file Heime via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2024-07-07 19:02 ` Eli Zaretskii
  2024-07-07 19:19   ` Heime via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 1 reply; 8+ messages in thread
From: Eli Zaretskii @ 2024-07-07 19:02 UTC (permalink / raw)
  To: Heime; +Cc: 71985

> Date: Sun, 07 Jul 2024 18:45:12 +0000
> From:  Heime via "Bug reports for GNU Emacs,
>  the Swiss army knife of text editors" <bug-gnu-emacs@gnu.org>
> 
> I was curious whether the -*- lexical-binding: t -*- directive is effective 
> when there is an arbitrary number of comment characters before it.

Why do you need to know this detail?

> For instance, in file.el:
> 
> ;;; file.el -*- lexical-binding: t -*-
> 
> This is the first line from git-rebase.el in the Magit package:
> 
> ;;; git-rebase.el --- Edit Git rebase files  -*- lexical-binding:t -*-
> 
> This suggests that some characters can precede the variable list. However,
> it's unclear if the number of characters can be arbitrary.

Above you mention "comment characters".  Here you are talking only
about "characters" in general.  I'm confused by what you are asking
about.

> I couldn't find
> a clear explanation in either the Emacs or Elisp manuals. The Emacs manual 
> mentions that it can be placed on the second line of a shell script, but 
> doesn't provide much detail on the format. The Elisp manual does not describe 
> the appearance of this directive at all.

The above is incorrect.  The ELisp manual shows how this line should
look in the nose "selecting Lisp Dialect".  I think that node answers
your questions.





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

* bug#71985: Lexical directives at start of file
  2024-07-07 19:02 ` Eli Zaretskii
@ 2024-07-07 19:19   ` Heime via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2024-07-08  2:27     ` Eli Zaretskii
  0 siblings, 1 reply; 8+ messages in thread
From: Heime via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-07-07 19:19 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 71985

On Sunday, July 7th, 2024 at 7:02 PM, Eli Zaretskii <eliz@gnu.org> wrote:

> > Date: Sun, 07 Jul 2024 18:45:12 +0000
> > From: Heime via "Bug reports for GNU Emacs,
> > the Swiss army knife of text editors" bug-gnu-emacs@gnu.org
> > 
> > I was curious whether the -- lexical-binding: t -- directive is effective
> > when there is an arbitrary number of comment characters before it.
> 
> 
> Why do you need to know this detail?

Because I use ;;; as highlight when using outlines.
 
> > For instance, in file.el:
> > 
> > ;;; file.el -- lexical-binding: t --
> > 
> > This is the first line from git-rebase.el in the Magit package:
> > 
> > ;;; git-rebase.el --- Edit Git rebase files -- lexical-binding:t --
> > 
> > This suggests that some characters can precede the variable list. However,
> > it's unclear if the number of characters can be arbitrary.
> 
> 
> Above you mention "comment characters". Here you are talking only
> about "characters" in general. I'm confused by what you are asking
> about.

Yes about the starting ;;;.  But then I have also seen additional non-directive
descriptions before the -*- lexical-binding:t -*- directive.

As the lexical definition will be around a while, it would be good to know what
would be valid.
 
> > I couldn't find
> > a clear explanation in either the Emacs or Elisp manuals. The Emacs manual
> > mentions that it can be placed on the second line of a shell script, but
> > doesn't provide much detail on the format. The Elisp manual does not describe
> > the appearance of this directive at all.
> 
> 
> The above is incorrect. The ELisp manual shows how this line should
> look in the nose "selecting Lisp Dialect". I think that node answers
> your questions.
>





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

* bug#71985: Lexical directives at start of file
  2024-07-07 19:19   ` Heime via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2024-07-08  2:27     ` Eli Zaretskii
  2024-07-08 12:44       ` Heime via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 1 reply; 8+ messages in thread
From: Eli Zaretskii @ 2024-07-08  2:27 UTC (permalink / raw)
  To: Heime; +Cc: 71985

> Date: Sun, 07 Jul 2024 19:19:41 +0000
> From: Heime <heimeborgia@protonmail.com>
> Cc: 71985@debbugs.gnu.org
> 
> On Sunday, July 7th, 2024 at 7:02 PM, Eli Zaretskii <eliz@gnu.org> wrote:
> 
> > > Date: Sun, 07 Jul 2024 18:45:12 +0000
> > > From: Heime via "Bug reports for GNU Emacs,
> > > the Swiss army knife of text editors" bug-gnu-emacs@gnu.org
> > > 
> > > I was curious whether the -- lexical-binding: t -- directive is effective
> > > when there is an arbitrary number of comment characters before it.
> > 
> > 
> > Why do you need to know this detail?
> 
> Because I use ;;; as highlight when using outlines.
>  
> > > For instance, in file.el:
> > > 
> > > ;;; file.el -- lexical-binding: t --
> > > 
> > > This is the first line from git-rebase.el in the Magit package:
> > > 
> > > ;;; git-rebase.el --- Edit Git rebase files -- lexical-binding:t --
> > > 
> > > This suggests that some characters can precede the variable list. However,
> > > it's unclear if the number of characters can be arbitrary.
> > 
> > 
> > Above you mention "comment characters". Here you are talking only
> > about "characters" in general. I'm confused by what you are asking
> > about.
> 
> Yes about the starting ;;;.  But then I have also seen additional non-directive
> descriptions before the -*- lexical-binding:t -*- directive.
> 
> As the lexical definition will be around a while, it would be good to know what
> would be valid.

Then the ELisp manual provides this information, I think.





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

* bug#71985: Lexical directives at start of file
  2024-07-08  2:27     ` Eli Zaretskii
@ 2024-07-08 12:44       ` Heime via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2024-07-08 13:21         ` Eli Zaretskii
  0 siblings, 1 reply; 8+ messages in thread
From: Heime via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-07-08 12:44 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 71985





On Monday, July 8th, 2024 at 2:27 AM, Eli Zaretskii <eliz@gnu.org> wrote:

> > Date: Sun, 07 Jul 2024 19:19:41 +0000
> > From: Heime heimeborgia@protonmail.com
> > Cc: 71985@debbugs.gnu.org
> >
> > On Sunday, July 7th, 2024 at 7:02 PM, Eli Zaretskii eliz@gnu.org wrote:
> >
> > > > Date: Sun, 07 Jul 2024 18:45:12 +0000
> > > > From: Heime via "Bug reports for GNU Emacs,
> > > > the Swiss army knife of text editors" bug-gnu-emacs@gnu.org
> > > >
> > > > I was curious whether the -- lexical-binding: t -- directive is effective
> > > > when there is an arbitrary number of comment characters before it.
> > >
> > > Why do you need to know this detail?
> >
> > Because I use ;;; as highlight when using outlines.
> >
> > > > For instance, in file.el:
> > > >
> > > > ;;; file.el -- lexical-binding: t --
> > > >
> > > > This is the first line from git-rebase.el in the Magit package:
> > > >
> > > > ;;; git-rebase.el --- Edit Git rebase files -- lexical-binding:t --
> > > >
> > > > This suggests that some characters can precede the variable list. However,
> > > > it's unclear if the number of characters can be arbitrary.
> > >
> > > Above you mention "comment characters". Here you are talking only
> > > about "characters" in general. I'm confused by what you are asking
> > > about.
> >
> > Yes about the starting ;;;. But then I have also seen additional non-directive
> > descriptions before the -- lexical-binding:t -- directive.
> >
> > As the lexical definition will be around a while, it would be good to know what
> > would be valid.
>
>
> Then the ELisp manual provides this information, I think.

It could be there.  But, where is it ?






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

* bug#71985: Lexical directives at start of file
  2024-07-08 12:44       ` Heime via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2024-07-08 13:21         ` Eli Zaretskii
  2024-07-08 13:36           ` Heime via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 1 reply; 8+ messages in thread
From: Eli Zaretskii @ 2024-07-08 13:21 UTC (permalink / raw)
  To: Heime; +Cc: 71985

> Date: Mon, 08 Jul 2024 12:44:26 +0000
> From: Heime <heimeborgia@protonmail.com>
> Cc: 71985@debbugs.gnu.org
> 
> > > Yes about the starting ;;;. But then I have also seen additional non-directive
> > > descriptions before the -- lexical-binding:t -- directive.
> > >
> > > As the lexical definition will be around a while, it would be good to know what
> > > would be valid.
> >
> >
> > Then the ELisp manual provides this information, I think.
> 
> It could be there.  But, where is it ?

I told you before: in the node called "Selecting Lisp Dialect".





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

* bug#71985: Lexical directives at start of file
  2024-07-08 13:21         ` Eli Zaretskii
@ 2024-07-08 13:36           ` Heime via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2024-07-08 14:16             ` Eli Zaretskii
  0 siblings, 1 reply; 8+ messages in thread
From: Heime via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-07-08 13:36 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 71985






Sent with Proton Mail secure email.

On Monday, July 8th, 2024 at 1:21 PM, Eli Zaretskii <eliz@gnu.org> wrote:

> > Date: Mon, 08 Jul 2024 12:44:26 +0000
> > From: Heime heimeborgia@protonmail.com
> > Cc: 71985@debbugs.gnu.org
> > 
> > > > Yes about the starting ;;;. But then I have also seen additional non-directive
> > > > descriptions before the -- lexical-binding:t -- directive.
> > > > 
> > > > As the lexical definition will be around a while, it would be good to know what
> > > > would be valid.
> > > 
> > > Then the ELisp manual provides this information, I think.
> > 
> > It could be there. But, where is it ?
> 
> 
> I told you before: in the node called "Selecting Lisp Dialect".

Have gone through the GNU Emacs Lisp Reference Manual corresponding to 
Emacs version 29.1.90.  There is no such node.





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

* bug#71985: Lexical directives at start of file
  2024-07-08 13:36           ` Heime via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2024-07-08 14:16             ` Eli Zaretskii
  0 siblings, 0 replies; 8+ messages in thread
From: Eli Zaretskii @ 2024-07-08 14:16 UTC (permalink / raw)
  To: Heime; +Cc: 71985

> Date: Mon, 08 Jul 2024 13:36:36 +0000
> From: Heime <heimeborgia@protonmail.com>
> Cc: 71985@debbugs.gnu.org
> 
> 
> 
> 
> 
> 
> Sent with Proton Mail secure email.
> 
> On Monday, July 8th, 2024 at 1:21 PM, Eli Zaretskii <eliz@gnu.org> wrote:
> 
> > > Date: Mon, 08 Jul 2024 12:44:26 +0000
> > > From: Heime heimeborgia@protonmail.com
> > > Cc: 71985@debbugs.gnu.org
> > > 
> > > > > Yes about the starting ;;;. But then I have also seen additional non-directive
> > > > > descriptions before the -- lexical-binding:t -- directive.
> > > > > 
> > > > > As the lexical definition will be around a while, it would be good to know what
> > > > > would be valid.
> > > > 
> > > > Then the ELisp manual provides this information, I think.
> > > 
> > > It could be there. But, where is it ?
> > 
> > 
> > I told you before: in the node called "Selecting Lisp Dialect".
> 
> Have gone through the GNU Emacs Lisp Reference Manual corresponding to 
> Emacs version 29.1.90.  There is no such node.

It was added in the current release branch, and will be in Emacs 30.1.
Meanwhile you can look at it here:

  https://git.savannah.gnu.org/cgit/emacs.git/tree/doc/lispref/variables.texi?h=emacs-30#n1287






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

end of thread, other threads:[~2024-07-08 14:16 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-07-07 18:45 bug#71985: Lexical directives at start of file Heime via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-07-07 19:02 ` Eli Zaretskii
2024-07-07 19:19   ` Heime via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-07-08  2:27     ` Eli Zaretskii
2024-07-08 12:44       ` Heime via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-07-08 13:21         ` Eli Zaretskii
2024-07-08 13:36           ` Heime via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-07-08 14:16             ` Eli Zaretskii

Code repositories for project(s) associated with this external index

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

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.