chiark / gitweb /
An actual running implementation, which makes code that compiles.
[sod] / src / optparse.lisp
index 38a3ae4689f58bcb13d34222278dbd268dc9bf44..fc46ba457f3e47f12059e50839deb7f1ade15e7f 100644 (file)
@@ -684,7 +684,7 @@ (defopthandler inc (var) (&optional max (step 1))
   "Increments VAR by STEP (defaults to 1), but not greater than MAX (default
    nil for no maximum).  No errors are signalled."
   (incf var step)
-  (when (>= var max)
+  (when (and max (>= var max))
     (setf var max)))
 
 (export 'dec)
@@ -692,7 +692,7 @@ (defopthandler dec (var) (&optional min (step 1))
   "Decrements VAR by STEP (defaults to 1), but not less than MIN (default nil
    for no maximum).  No errors are signalled."
   (decf var step)
-  (when (<= var min)
+  (when (and min (<= var min))
     (setf var min)))
 
 (export 'read)
@@ -1106,6 +1106,7 @@ (defun sanity-check-option-list (opts)
 ;;;--------------------------------------------------------------------------
 ;;; Full program descriptions.
 
+(export '(*help* *version* *usage*))
 (defvar *help* nil "Help text describing the program.")
 (defvar *version* "<unreleased>" "The program's version number.")
 (defvar *usage* nil "A usage summary string")