Ihor Radchenko <yanta...@posteo.net> writes:

> Ruijie Yu via "General discussions about Org-mode."
> <emacs-orgmode@gnu.org> writes:
>
>> What is the expected major mode for orgweb/publish.sh?  When I open it,
>> I see it is in `shell-script-mode'.  This is what I see in
>> orgweb/publish.sh:
>>
>> --8<---------------cut here---------------start------------->8---
>> #!/usr/bin/env sh
>>
>> ":" ; exec emacs --quick --script "$0" -- "$@" # -*- mode: emacs-lisp; 
>> lexical-binding: t; -*-
>> ...
>
> The mode is technically shell-script. The file is using shell script
> magic to write foreign language (Elisp) script inline.
>
>> When I remove the empty line 2 and run `normal-mode', the file now opens
>> in `emacs-lisp-mode'.  I have a sneaking suspicion that
>> `emacs-lisp-mode' is the expected major mode for this file, because
>> there is also the `lexical-binding' variable declaration on the property
>> line, which has no effects when the major mode is shell.
>
> You can do either way, depending on which part of the script you want to edit.

I tried to actually compare the two versions, and found out that the
lexical-binding does nothing at all during the script execution,
regardless of whether there is an empty line or not.  Is this a bug or
an expected behavior?

FTR, when opening the file in a buffer, the property line in a file
without empty line is properly recognized, whereas in the file with
empty line it is not recognized.

-- 
Best,


RY

Reply via email to