It's standard Common Lisp, but was unaccountably left out of the
documentation.
PARAMS ::= PARAM [`,' PARAMS]
PARAMS ::= PARAM [`,' PARAMS]
- PARAM ::= EMPTY | INT | `'' CHAR | `v' | `!' ARG
+ PARAM ::= EMPTY | INT | `#' | `'' CHAR | `v' | `!' ARG
FLAGS ::= [[ `@' | `:' ]]*
FLAGS ::= [[ `@' | `:' ]]*
items drawn from the listed alternatives, each appearing at most once. See
the function `parse_arg' for the syntax of ARG.)
items drawn from the listed alternatives, each appearing at most once. See
the function `parse_arg' for the syntax of ARG.)
- An empty PARAM is equivalent to omitting the parameter; `!ARG' reads the
- parameter value from the argument; `v' is equivalent to `!+', as a
- convenient abbreviation and for Common Lisp compatibility. The `=ARG'
- notation indicates which argument(s) should be processed by the operation:
- the default is `=+'.
+ An empty PARAM is equivalent to omitting the parameter; `#' is the number
+ of remaining positional arguments; `!ARG' reads the parameter value from
+ the argument; `v' is equivalent to `!+', as a convenient abbreviation and
+ for Common Lisp compatibility. The `=ARG' notation indicates which
+ argument(s) should be processed by the operation: the default is `=+'
"""
if not isinstance(control, basestring): return control
pp = []
"""
if not isinstance(control, basestring): return control
pp = []