Add default to option argument
[opera] / src / main / opera.lisp
index 0d70f9f0c5a6a793dcc8a855fac0cc2d20654bf8..173ea488ac4b99d8d2810562003bf31da3dde530 100644 (file)
@@ -87,7 +87,8 @@
    ((process-options (remaining-options &optional current-strings)
      (if (not remaining-options)
       (format nil
-       (format nil "~~A~~{~~,,~A~~A~~}" command-width)
+       ; Then 1+ is for the space after the command
+       (format nil "~~A~~{~~%~~,,~A@A~~}" (1+ command-width))
        (car (reverse current-strings))
        (cdr (reverse current-strings)))
       (let*
 (defun option-present (option-name parsed-options)
  (find option-name parsed-options :key #'car))
 
-(defun option-argument (option-name parsed-options)
- (cadr (assoc option-name parsed-options)))
+(defun option-argument (option-name parsed-options &optional default)
+ (if
+  (option-present option-name parsed-options)
+  (cadr (assoc option-name parsed-options))
+  default))
 
 (defun option-arguments (option-name parsed-options)
  (mapcar #'cadr (remove option-name parsed-options :key #'car :test-not #'eql)))