;;; along with this program; if not, write to the Free Software Foundation,
;;; Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+;;;--------------------------------------------------------------------------
+;;; Packages.
+
(defpackage #:mdw.optparse
(:use #:common-lisp #:mdw.base #:mdw.sys-base #:mdw.str)
(:export #:exit #:*program-name* #:*command-line-strings*
(in-package #:mdw.optparse)
+;;;--------------------------------------------------------------------------
;;; Standard error-reporting functions.
(defun moan (msg &rest args)
(apply #'moan args)
(exit 1))
+;;;--------------------------------------------------------------------------
;;; The main option parser.
(defstruct (option (:predicate optionp)
(error (,cond)
(die "~A" ,cond)))))
+;;;--------------------------------------------------------------------------
;;; Standard option handlers.
(defmacro defopthandler (name (var &optional (arg (gensym)))
(parse-option-form form)))
optlist)))
+;;;--------------------------------------------------------------------------
;;; Support stuff for help and usage messages
(defun print-text (string