From: Aaron Ecay <aaronecay@gmail.com>
To: "Thomas S. Dye" <tsd@tsdye.com>
Cc: orgmode <emacs-orgmode@gnu.org>
Subject: Re: [RFC] [PATCH] allow bind keywords to set safe values
Date: Sat, 07 Nov 2015 12:40:06 +0000 [thread overview]
Message-ID: <87lhaat23d.fsf@gmail.com> (raw)
In-Reply-To: <m2oaf6dgxo.fsf@tsdye.com>
Hi Thomas,
2015ko azaroak 6an, "Thomas S. Dye"-ek idatzi zuen:
>
> Aloha Aaron,
>
> Aaron Ecay <aaronecay@gmail.com> writes:
>
>> Hello all,
>>
>> BIND keywords should be used for controlling export, rather than the
>> usual emacs method of setting file local variables
>> <http://mid.gmane.org/87eglcbv7g.fsf@selenimh.access.network>. But,
>> BIND keywords are currently disabled by default. We can’t turn these on
>> by default, as maliciously crafted documents could do nasty things to a
>> user’s emacs. The attached patch permits many interesting usages of
>> BIND keywords by allowing them to set variables by default, as long as
>> the value thus set is safe (as implemented by emacs’s default file local
>> variable code).
>
> The prescription that BIND keywords should be used over local variables
> caught me by surprise. Nicolas' post about a vague recollection that
> some local variables might not be picked up during export seems an odd
> motivation for the prescription. I've used local variables to control
> export for a long time without running into this problem.
>
> I'm not complaining, just commenting on an unusual sequence of events on
> the mailing list.
>
> I'm happy to migrate my local variables to BIND if that is what I should
> do.
The export process is complicated, involving at least one clone being
made of the org buffer. If it’s async export, the clone is made in
another emacs process.
There’s a concern that some time in this process, local variable lines
could be lost. This could happen because:
- hack-local-variables doesn’t get called when it should
- the lines themselves are deleted (because of being in a COMMENT or
noexport subtree)
BIND keywords don’t rely on hack-local-variables, and would typically be
located in the preamble of the document. So they should be immune to
these factors. There’s also an issue with #+INCLUDE keywords, which
will bring in BINDs from the included file, but (AFAICS) not local
variable lines.
I tried to take a look at the export code. I’m 99% certain that any
local variables with the org- prefix will be successfully maintained at
all relevant steps of the export process. But the code is complex, and
I couldn’t reach 100% certainty. It would be better (more reassuring)
if someone could reach that level of certainty. Then we could tell
people that it doesn’t matter whether they use BIND or a local variable
(which is what I wish I could say to you now).
If you’ve used local variables and are happy with how they have worked I
think nothing bad will happen if you leave them as is. But that’s just,
like, my opinion man.
>
> That said, it would be great if one could use EXPORT_BIND to control
> export at the subtree export level. I'm keeping separate HTML and LaTeX
> export projects in the same file fairly often now and it can be
> difficult (for me) to structure the whole file properly so both exports
> work as expected.
This is an excellent idea IMO.
>
> BTW, many thanks for your recent interest in and work on Babel. It is
> an important part of my work flow and I've been uneasy since Eric
> orphaned the project a while back. I hope you find the work there
> rewarding enough to keep up.
I’ll do my best! Thanks for the kind words.
--
Aaron Ecay
next prev parent reply other threads:[~2015-11-07 12:40 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-11-06 18:09 [RFC] [PATCH] allow bind keywords to set safe values Aaron Ecay
2015-11-06 20:13 ` Thomas S. Dye
2015-11-07 12:40 ` Aaron Ecay [this message]
2015-11-06 20:36 ` Nicolas Goaziou
2015-11-07 12:19 ` Aaron Ecay
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.orgmode.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87lhaat23d.fsf@gmail.com \
--to=aaronecay@gmail.com \
--cc=emacs-orgmode@gnu.org \
--cc=tsd@tsdye.com \
/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/org-mode.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).