X-Git-Url: https://iankelling.org/git/?a=blobdiff_plain;f=unsaved-buffers;fp=unsaved-buffers;h=095f3ad94492c2c42cb809e25482e2d90c0bbddf;hb=0f9a999aa601cd77343a3e08cf0c6c4f9f943813;hp=0000000000000000000000000000000000000000;hpb=51c8b40fd2aac71d29dc9298ca65425725ad1edd;p=distro-setup diff --git a/unsaved-buffers b/unsaved-buffers new file mode 100644 index 0000000..095f3ad --- /dev/null +++ b/unsaved-buffers @@ -0,0 +1,13 @@ +#!/bin/bash +shopt -s inherit_errexit 2>/dev/null ||: # ignore fail in bash < 4.4 +set -eE -o pipefail +trap 'echo "$0:$LINENO:error: \"$BASH_COMMAND\" returned $?" >&2' ERR +if pgrep -G iank -u iank -f '^emacs --daemon$' &>/dev/null; then + elisp=$(cat /usr/local/bin/unsaved-buffers.el) + emacsout=$(sudo -u iank env XDG_RUNTIME_DIR=/run/user/1000 emacsclient --eval "$elisp") + bufs=$(printf "%s\n" "$emacsout"|sed '/^"nil"$/d;s/^"(/E: /;s/)"$//') + if [[ $bufs ]]; then + echo "error: on $HOSTNAME, unsaved emacs files: $bufs" >&2 + exit 1 + fi +fi