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