chiark
/
gitweb
/
~mdw
/
sod
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
doc/syntax.tex: Delete (wrong) duplicate rule for <argument-declarator>.
[sod]
/
src
/
optparse.lisp
diff --git
a/src/optparse.lisp
b/src/optparse.lisp
index 74df161337a5163fca440528fc10ca259c5e56a0..22345951af7fe1d56410174cdbd80cd3702fa722 100644
(file)
--- a/
src/optparse.lisp
+++ b/
src/optparse.lisp
@@
-85,7
+85,7
@@
(defun set-command-line-arguments ()
collect (ext:argv i))))
(error "Unsupported Lisp."))))))
collect (ext:argv i))))
(error "Unsupported Lisp."))))))
-
*program-name* (pathname-name (car *command-line*))))
+ *program-name* (pathname-name (car *command-line*))))
;;;--------------------------------------------------------------------------
;;; Fancy conditionals.
;;;--------------------------------------------------------------------------
;;; Fancy conditionals.
@@
-165,15
+165,19
@@
(defstruct (option
(opt-long-name o)
(opt-arg-optional-p o)
(opt-arg-name o)
(opt-long-name o)
(opt-arg-optional-p o)
(opt-arg-name o)
- (opt-documentation o)))))
- (:constructor %make-option)
+ (opt-%documentation o)))))
+ (:constructor %make-option
+ (&key long-name tag negated-tag short-name
+ arg-name arg-optional-p documentation
+ &aux (%documentation documentation)))
(:constructor make-option
(long-name short-name
&optional arg-name
&key (tag (intern (string-upcase long-name) :keyword))
negated-tag
arg-optional-p
(:constructor make-option
(long-name short-name
&optional arg-name
&key (tag (intern (string-upcase long-name) :keyword))
negated-tag
arg-optional-p
- doc (documentation doc))))
+ doc (documentation doc)
+ &aux (%documentation documentation))))
"Describes a command-line option. Slots:
LONG-NAME The option's long name. If this is null, the `option' is
"Describes a command-line option. Slots:
LONG-NAME The option's long name. If this is null, the `option' is
@@
-210,7
+214,8
@@
(defstruct (option
(short-name nil :type (or null character))
(arg-name nil :type (or null string))
(arg-optional-p nil :type t)
(short-name nil :type (or null character))
(arg-name nil :type (or null string))
(arg-optional-p nil :type t)
- (documentation nil :type (or null string)))
+ (%documentation nil :type (or null string)))
+(define-access-wrapper opt-documentation opt-%documentation)
(export '(option-parser option-parser-p make-option-parser
op-options op-non-option op-long-only-p op-numeric-p
(export '(option-parser option-parser-p make-option-parser
op-options op-non-option op-long-only-p op-numeric-p
@@
-225,6
+230,7
@@
(defstruct (option-parser
negated-numeric-p
long-only-p
&aux (args (cons nil argstmp))
negated-numeric-p
long-only-p
&aux (args (cons nil argstmp))
+ (%options options)
(next args)
(negated-p (or negated-numeric-p
(some #'opt-negated-tag
(next args)
(negated-p (or negated-numeric-p
(some #'opt-negated-tag
@@
-258,7
+264,7
@@
(defstruct (option-parser
still allowed, and may be cuddled as usual. The default is
nil."
(args nil :type list)
still allowed, and may be cuddled as usual. The default is
nil."
(args nil :type list)
- (options nil :type list)
+ (
%
options nil :type list)
(non-option :skip :type (or function (member :skip :stop :return)))
(next nil :type list)
(short-opt nil :type (or null string))
(non-option :skip :type (or function (member :skip :stop :return)))
(next nil :type list)
(short-opt nil :type (or null string))
@@
-268,6
+274,7
@@
(defstruct (option-parser
(numeric-p nil :type t)
(negated-numeric-p nil :type t)
(negated-p nil :type t))
(numeric-p nil :type t)
(negated-numeric-p nil :type t)
(negated-p nil :type t))
+(define-access-wrapper op-options op-%options)
(export 'option-parse-error)
(define-condition option-parse-error (error simple-condition)
(export 'option-parse-error)
(define-condition option-parse-error (error simple-condition)