emacs: support BSD mktemp in emacsclient.sh (#8351)

Piping stdin to emacs alias on MacOS was breaking (--tmpdir is not
supported in BSD flavored mktemp).

Tested in MacOS 10.14 and debian:buster to confirm it still works in
linux.
This commit is contained in:
Eric Dobbs 2019-11-06 12:25:36 -07:00 committed by Marc Cornellà
parent 1546e1226a
commit fc99e6db3e

View file

@ -20,7 +20,8 @@ _emacsfun()
# tempfile. (first argument will be `--no-wait` passed in by the plugin.zsh) # tempfile. (first argument will be `--no-wait` passed in by the plugin.zsh)
if [ "$#" -ge "2" -a "$2" = "-" ] if [ "$#" -ge "2" -a "$2" = "-" ]
then then
tempfile="$(mktemp emacs-stdin-$USER.XXXXXXX --tmpdir)" tempfile="$(mktemp --tmpdir emacs-stdin-$USER.XXXXXXX 2>/dev/null \
|| mktemp -t emacs-stdin-$USER)" # support BSD mktemp
cat - > "$tempfile" cat - > "$tempfile"
_emacsfun --no-wait $tempfile _emacsfun --no-wait $tempfile
else else