#!@bash@ # Copyright (C) 2014, 2016 Luke Shumaker # # This file is not considered part of GNU Emacs. # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . m4_include(common.sh.in) 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 mode=normal emacs_getopt_init declare args if ! args="$(emacs_getopt '' '' "$@")"; then mode=error else 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 case ${#urls[@]} in 0) urls=('mailto:');; 1) :;; *) mode=error;; esac fi fi next "$mode" \ emacsclient "${flags[@]}" --eval \ "(browse-url-mail $(emacs_quote "${urls[@]}"))" } main "$@"