#!@bash@ m4_include(common.sh) usage() { print 'Usage: %q [OPTIONS] MAILTO_URL' "$0" print 'Use Emacs to open RFC 2368 "mailto:" URLs' echo print 'Yes, I know that RFC 2368 is obsoleted by RFC 6068.' print 'emacs-devel@gnu.org would *love* a patch to browse-url.el' echo print 'The following OPTIONS are accepted:' emacs_usage } main() { declare -a flags=() declare error=false declare mode=normal declare args= emacs_getopt '' '' "$@" || error=true eval set -- "$args" while true; do case "$1" in -V|--version) shift; mode=version;; -H|--help) shift; mode=usage;; --) shift; break;; *) if [[ $1 =~ $emacs_getopt_2 ]]; then flags+=("$1" "$2"); shift 2 else flags+=("$1"); shift 1 fi ;; esac done urls=("$@") if [[ $mode == normal ]]; then [[ ${#urls[@]} = 1 ]] || error=true fi if $error; then usage >&2 return 1 fi case "$mode" in usage) usage; return 0;; version) version; return 0;; esac emacsclient "${flags[@]}" --eval \ '(select-frame (make-frame))' \ "(browse-url-mail $(emacs_quote "${urls[@]}"))" } main "$@"