(if (consp spec) spec (list spec)))
(dolist (spec (cdr item))
(destructuring-bind (label
- &key
- (name (string-downcase label))
- compat
- (taggedp taggedp))
+ &key (name (string-downcase label))
+ compat (taggedp taggedp))
(if (consp spec) spec (list spec))
(let ((ds (make-instance 'declspec
:label label
;;; Support stuff for help and usage messages.
(defun print-text (string
- &optional
- (stream *standard-output*)
- &key
- (start 0)
- (end nil))
+ &optional (stream *standard-output*)
+ &key (start 0) (end nil))
"Prints STRING to a pretty-printed STREAM, breaking it at whitespace and
newlines in the obvious way. Stuff between square brackets is not broken:
this makes usage messages work better."
file-location-filename file-location-line file-location-column))
(defstruct (file-location
(:constructor make-file-location
- (%filename &optional line column
- &aux (filename
- (etypecase %filename
- ((or string null) %filename)
- (pathname (namestring %filename)))))))
+ (%filename
+ &optional line column
+ &aux (filename (etypecase %filename
+ ((or string null) %filename)
+ (pathname (namestring %filename)))))))
"A simple structure containing file location information.
Construct using `make-file-location'; the main useful function is
(defstruct (charbuf-slice
(:constructor make-charbuf-slice
- (buf &optional (start 0) %end
- &aux (end (or %end (length buf))))))
+ (buf
+ &optional (start 0) %end
+ &aux (end (or %end (length buf))))))
(buf nil :type (or charbuf (eql :eof)) :read-only t)
(start 0 :type (and fixnum unsigned-byte) :read-only t)
(end 0 :type (and fixnum unsigned-byte) :read-only t))
(export '(string-scanner make-string-scanner string-scanner-p))
(defstruct (string-scanner
(:constructor make-string-scanner
- (string &key (start 0) end filename
+ (string
+ &key (start 0) end filename
&aux (%string string)
(index start)
(limit (or end (length string))))))
(:predicate propertyp)
(:conc-name p-)
(:constructor %make-property
- (name value
- &key type location seenp
- &aux (key (property-key name)) (%type type))))
+ (name value
+ &key type location seenp
+ &aux (key (property-key name)) (%type type))))
"A simple structure for holding a property in a property set.
The main useful feature is the ability to tick off properties which have