From: Jens Schmidt <jschmidt4gnu@vodafonemail.de>
To: Greg Minshall <minshall@umich.edu>
Cc: Sebastian Miele <iota@whxvd.name>, emacs-devel@gnu.org
Subject: Re: Emacs script options
Date: Tue, 21 Nov 2023 22:13:22 +0100 [thread overview]
Message-ID: <5eac9978-270e-40b2-8272-dabb29ec5daa@vodafonemail.de> (raw)
In-Reply-To: <58266.1700443175@archlinux>
On 2023-11-20 02:19, Greg Minshall wrote:
> no way, NO way near hack'y enough. :)
I couldn't stand the fact that my hack was taken already plus
that it is flawed, so I set off to extend it with a work-around
for the lexical-binding issue.
While there are surely other methods to achieve what below code
does, supposedly also more stable ones, I wanted to go for
brevity to keep the non-script overhead small:
------------------------- escript -------------------------
#!/bin/sh
: ; exec emacs --script "$0" -- "$@" #; -*- lexical-binding: t -*-
;; Work around `eval-buffer' not recognizing the lexical-binding
;; stanza when the comment containing it does not start at first
;; column (bug#67321).
(unless (ignore-errors (funcall (let ((v t)) (lambda () v))))
(with-current-buffer (car eval-buffer-list)
(goto-char (point-min)) (search-forward "; -*-")
(delete-region (point-min) (match-beginning 0))
(eval-buffer)))
;; Script payload.
(message "%S:%S" lexical-binding command-line-args-left)
;; Explicitly exit Emacs to not return from the second-level
;; `eval-buffer'.
(kill-emacs 0)
;;; Local Variables:
;;; mode: emacs-lisp
;;; End:
------------------------- escript -------------------------
(Thanks to Sebastian for opening the bug, BTW. When looking at
the previous, now merged bug, it seems that this won't be
something easy to get through.)
next prev parent reply other threads:[~2023-11-21 21:13 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-11-18 3:13 (unknown) Greg Minshall
2023-11-18 7:05 ` (unknown) Jim Porter
2023-11-18 14:10 ` (unknown) -x behavior change Greg Minshall
2023-11-18 7:36 ` Emacs script options Eli Zaretskii
2023-11-18 14:38 ` Greg Minshall
2023-11-18 16:20 ` Eli Zaretskii
2023-11-18 19:36 ` Greg Minshall
2023-11-19 5:55 ` Eli Zaretskii
2023-11-27 3:29 ` Greg Minshall
2023-11-27 12:59 ` Eli Zaretskii
2023-11-27 19:32 ` Greg Minshall
2023-11-18 19:18 ` Sebastian Miele
2023-11-18 19:49 ` Greg Minshall
2023-11-19 21:39 ` Jens Schmidt
2023-11-19 21:47 ` Jens Schmidt
2023-11-20 1:19 ` Greg Minshall
2023-11-21 21:13 ` Jens Schmidt [this message]
2023-11-22 18:17 ` Sebastian Miele
2023-11-22 20:18 ` Jens Schmidt
2023-11-24 4:22 ` Greg Minshall
2023-11-26 18:07 ` Jens Schmidt
2023-11-20 6:10 ` Sebastian Miele
2023-11-20 20:10 ` Jens Schmidt
2023-11-21 8:51 ` Sebastian Miele
2023-11-19 5:04 ` Bob Rogers
2023-11-19 6:21 ` Eli Zaretskii
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=5eac9978-270e-40b2-8272-dabb29ec5daa@vodafonemail.de \
--to=jschmidt4gnu@vodafonemail.de \
--cc=emacs-devel@gnu.org \
--cc=iota@whxvd.name \
--cc=minshall@umich.edu \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).