bash-bear rename and a few improvements
[distro-setup] / unsaved-buffers
diff --git a/unsaved-buffers b/unsaved-buffers
new file mode 100644 (file)
index 0000000..095f3ad
--- /dev/null
@@ -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