Yet more material to confirm my existing bias that environment variables lead to trouble.
See, if all state passing to subprocesses were explicit (perhaps not for interactive use, but at least in the sense that programmatic invocation needed to opt in to each variable), then it wouldn’t be necessary for Perl to sanitize its environment. Then its behavior wouldn’t have wound up changing based on a noisy heuristic…
Plus this was like a perfect storm of troublemaking. You have a script in the global profile setting TMPDIR environment variable, you have emacs being invoked via multiple tools instead of being invoked directly, and you have escalated privileges on one of those tools.
I guess - but every software failure is a coincidence of similar apparent absurdity. :) And none of those things are that rare, except maybe the capabilities part.
Yet more material to confirm my existing bias that environment variables lead to trouble.
See, if all state passing to subprocesses were explicit (perhaps not for interactive use, but at least in the sense that programmatic invocation needed to opt in to each variable), then it wouldn’t be necessary for Perl to sanitize its environment. Then its behavior wouldn’t have wound up changing based on a noisy heuristic…
Oh well. :)
Plus this was like a perfect storm of troublemaking. You have a script in the global profile setting TMPDIR environment variable, you have emacs being invoked via multiple tools instead of being invoked directly, and you have escalated privileges on one of those tools.
I guess - but every software failure is a coincidence of similar apparent absurdity. :) And none of those things are that rare, except maybe the capabilities part.
zip…
…recruiter!
You laugh, but most recruiters can be compressed really effectively.
vim -o $(grep -rIl "pattern" directory)No menu, but this accomplishes the same thing using
vimandgrep.