Common Lisp Package: COM.DVLSOFT.CLON

The Command-Line Options Nuker package.

README:

FUNCTION

Public

CMDLINE

Get the current application's command-line. This command-line is not supposed to contain any Lisp implementation specific option; only user-level ones. When a standalone executable is dumped, this is always the case. When used interactively, this depends on the underlying Lisp implementation. See appendix A.5 of the user manual for more information.

CMDLINE-OPTIONS-P (&KEY (CONTEXT *CONTEXT*))

Return T if CONTEXT has any unprocessed options left.

CMDLINE-P (&KEY (CONTEXT *CONTEXT*))

Return T if CONTEXT has anything on its command-line.

EXIT (&OPTIONAL (STATUS 0))

Quit the current application with STATUS.

GETOPT (&REST KEYS &KEY (CONTEXT *CONTEXT*) SHORT-NAME LONG-NAME OPTION)

Get an option's value in CONTEXT. The option can be specified either by SHORT-NAME, LONG-NAME, or directly via an OPTION object. Return two values: - the retrieved value, - the value's source.

GETOPT-CMDLINE (&KEY (CONTEXT *CONTEXT*))

Get the next command-line option in CONTEXT. When there is no next command-line option, return nil. Otherwise, return four values: - the option object, - the option's name used on the command-line, - the retrieved value, - the value source.

HELP (&KEY (CONTEXT *CONTEXT*) (ITEM (SYNOPSIS CONTEXT)) (OUTPUT-STREAM *STANDARD-OUTPUT*) (SEARCH-PATH (SEARCH-PATH CONTEXT)) (THEME (THEME CONTEXT)) (LINE-WIDTH (LINE-WIDTH CONTEXT)) (HIGHLIGHT (HIGHLIGHT CONTEXT)))

Print CONTEXT's help.

MAKE-CONTEXT (&REST KEYS &KEY SYNOPSIS CMDLINE (MAKE-CURRENT T))

Make a new context. - SYNOPSIS is the program synopsis to use in that context. It defaults to *SYNOPSIS*. - CMDLINE is the argument list (strings) to process. It defaults to a POSIX conformant argv. - If MAKE-CURRENT, make the new context current.

MAKE-ENUM (&REST KEYS &KEY SHORT-NAME LONG-NAME DESCRIPTION ARGUMENT-NAME ARGUMENT-TYPE ENUM ENV-VAR FALLBACK-VALUE DEFAULT-VALUE HIDDEN)

Make a new enum option. - SHORT-NAME is the option's short name (without the dash). It defaults to nil. - LONG-NAME is the option's long name (without the double-dash). It defaults to nil. - DESCRIPTION is the option's description appearing in help strings. It defaults to nil. - ARGUMENT-NAME is the option's argument name appearing in help strings. - ARGUMENT-TYPE is one of :required, :mandatory or :optional (:required and :mandatory are synonyms). It defaults to :optional. - ENUM is the set of possible values. - ENV-VAR is the option's associated environment variable. It defaults to nil. - FALLBACK-VALUE is the option's fallback value (for missing optional arguments), if any. - DEFAULT-VALUE is the option's default value, if any. - When HIDDEN, the option doesn't appear in help strings.

MAKE-FLAG (&REST KEYS &KEY SHORT-NAME LONG-NAME DESCRIPTION ENV-VAR HIDDEN)

Make a new flag. - SHORT-NAME is the option's short name (without the dash). It defaults to nil. - LONG-NAME is the option's long name (without the double-dash). It defaults to nil. - DESCRIPTION is the option's description appearing in help strings. It defaults to nil. - ENV-VAR is the flag's associated environment variable. It defaults to nil. - When HIDDEN, the option doesn't appear in help strings.

MAKE-GROUP (&REST KEYS &KEY HEADER ITEM HIDDEN)

Make a new group.

MAKE-LISPOBJ (&REST KEYS &KEY SHORT-NAME LONG-NAME DESCRIPTION ARGUMENT-NAME ARGUMENT-TYPE ENV-VAR TYPESPEC FALLBACK-VALUE DEFAULT-VALUE HIDDEN)

Make a new lispobj option. - SHORT-NAME is the option's short name (without the dash). It defaults to nil. - LONG-NAME is the option's long name (without the double-dash). It defaults to nil. - DESCRIPTION is the option's description appearing in help strings. It defaults to nil. - ARGUMENT-NAME is the option's argument name appearing in help strings. - ARGUMENT-TYPE is one of :required, :mandatory or :optional (:required and :mandatory are synonyms). It defaults to :optional. - ENV-VAR is the option's associated environment variable. It defaults to nil. - TYPESPEC is a type specifier the option's value should satisfy. - FALLBACK-VALUE is the option's fallback value (for missing optional arguments), if any. - DEFAULT-VALUE is the option's default value, if any. - When HIDDEN, the option doesn't appear in help strings.

MAKE-PATH (&REST KEYS &KEY SHORT-NAME LONG-NAME DESCRIPTION ARGUMENT-NAME ARGUMENT-TYPE ENV-VAR FALLBACK-VALUE DEFAULT-VALUE TYPE HIDDEN)

Make a new path option. - SHORT-NAME is the option's short name (without the dash). It defaults to nil. - LONG-NAME is the option's long name (without the double-dash). It defaults to nil. - DESCRIPTION is the option's description appearing in help strings. It defaults to nil. - ARGUMENT-NAME is the option's argument name appearing in help strings. - ARGUMENT-TYPE is one of :required, :mandatory or :optional (:required and :mandatory are synonyms). It defaults to :optional. - ENV-VAR is the option's associated environment variable. It defaults to nil. - FALLBACK-VALUE is the option's fallback value (for missing optional arguments), if any. - DEFAULT-VALUE is the option's default value, if any. - TYPE is the pathname type. It can be one of :file, :directory, :file-list, :directory-list or nil meaning that everything is allowed. - When HIDDEN, the option doesn't appear in help strings.

MAKE-STROPT (&REST KEYS &KEY SHORT-NAME LONG-NAME DESCRIPTION ARGUMENT-NAME ARGUMENT-TYPE ENV-VAR FALLBACK-VALUE DEFAULT-VALUE HIDDEN)

Make a new string option. - SHORT-NAME is the option's short name (without the dash). It defaults to nil. - LONG-NAME is the option's long name (without the double-dash). It defaults to nil. - DESCRIPTION is the option's description appearing in help strings. It defaults to nil. - ARGUMENT-NAME is the option's argument name appearing in help strings. - ARGUMENT-TYPE is one of :required, :mandatory or :optional (:required and :mandatory are synonyms). It defaults to :optional. - ENV-VAR is the option's associated environment variable. It defaults to nil. - FALLBACK-VALUE is the option's fallback value (for missing optional arguments), if any. - DEFAULT-VALUE is the option's default value, if any. - When HIDDEN, the option doesn't appear in help strings.

MAKE-SWITCH (&REST KEYS &KEY SHORT-NAME LONG-NAME DESCRIPTION ARGUMENT-STYLE ARGUMENT-TYPE ENV-VAR DEFAULT-VALUE HIDDEN)

Make a new switch. - SHORT-NAME is the switch's short name (without the dash). It defaults to nil. - LONG-NAME is the switch's long name (without the double-dash). It defaults to nil. - DESCRIPTION is the switch's description appearing in help strings. It defaults to nil. - ARGUMENT-STYLE is the switch's argument display style. It can be one of :yes/no, :on/off, :true/false, :yup/nope or :yeah/nah. It defaults to :yes/no. - ARGUMENT-TYPE is one of :required, :mandatory or :optional (:required and :mandatory are synonyms). It defaults to :optional. - ENV-VAR is the switch's associated environment variable. It defaults to nil. - DEFAULT-VALUE is the switch's default value, if any. - When HIDDEN, the option doesn't appear in help strings.

MAKE-SYNOPSIS (&REST KEYS &KEY POSTFIX ITEM (MAKE-DEFAULT T))

Make a new SYNOPSIS. - POSTFIX is a string to append to the program synopsis, in case it accepts a remainder. - If MAKE-DEFAULT, make the new synopsis the default one.

MAKE-TEXT (&REST KEYS &KEY CONTENTS HIDDEN)

Make a new text. - CONTENTS is the actual text to display. - When HIDDEN, the text doesn't appear in help strings.

MAKE-XSWITCH (&REST KEYS &KEY SHORT-NAME LONG-NAME DESCRIPTION ARGUMENT-NAME ARGUMENT-TYPE ENUM ENV-VAR DEFAULT-VALUE HIDDEN)

Make a new xswitch. - SHORT-NAME is the xswitch's short name (without the dash). It defaults to nil. - LONG-NAME is the xswitch's long name (without the double-dash). It defaults to nil. - DESCRIPTION is the xswitch's description appearing in help strings. It defaults to nil. - ARGUMENT-NAME is the option's argument name appearing in help strings. - ARGUMENT-TYPE is one of :required, :mandatory or :optional (:required and :mandatory are synonyms). It defaults to :optional. - ENUM is the set of possible non-boolean values. - ENV-VAR is the xswitch's associated environment variable. It defaults to nil. - DEFAULT-VALUE is the xswitch's default value, if any. - When HIDDEN, the option doesn't appear in help strings.

NICKNAME-PACKAGE (&OPTIONAL (NICKNAME CLON))

Add NICKNAME (:CLON by default) to the :COM.DVLSOFT.CLON package.

PROGNAME (&KEY (CONTEXT *CONTEXT*))

Return CONTEXT's program name.

REMAINDER (&KEY (CONTEXT *CONTEXT*))

Return CONTEXT's remainder.

VERSION (&OPTIONAL (TYPE NUMBER))

Return the current version of Clon. TYPE can be one of :number, :short or :long. A version number is computed as major*10000 + minor*100 + patchlevel, leaving two digits for each level. Alpha, beta and rc status are ignored in version numbers. A short version is something like 1.3{a,b,rc}4, or 1.3.4 for patchlevel. Alpha, beta or rc levels start at 1. Patchlevels start at 0 but are ignored in the output, so that 1.3.0 appears as just 1.3. A long version is something like 1.3 {alpha,beta,release candidate,patchlevel} 4 "Michael Brecker". As for the short version, a patchlevel of 0 is ignored in the output.

Private

ADD-SUBFACE (FACE SUBFACE)

Add SUBFACE to FACE's subfaces and return it.

ARGUMENT-POPABLE-P (CMDLINE)

Return true if the first CMDLINE item is an argument.

ATTACH-FACE-TREE (FACE FACE-TREE &AUX (NEW-TREE (COPY-INSTANCE FACE-TREE)))

Create a copy of FACE-TREE, attach it to FACE and return it. Apart from the parenting information, the copied faces share slot values with the original ones.

AVAILABLE-RIGHT-MARGIN (SHEET)

Return SHEET's available right margin. This margin is the first non-self margin specified by a frame. All inner self frames can potentially write until the available right margin.

BEGINNING-OF-STRING-P (BEGINNING STRING &OPTIONAL IGNORE-CASE &AUX (LENGTH (LENGTH BEGINNING)))

Check that STRING starts with BEGINNING. If IGNORE-CASE, well, ignore case.

CLINDENT (SYMBOL INDENT)

Set SYMBOL's indentation to INDENT in (X)Emacs. This function sets SYMBOL's common-lisp-indent-function property. If INDENT is a symbol, use its indentation definition. Otherwise, INDENT is considered as an indentation definition.

CLOSE-LINE (SHEET)

Close all frames on SHEET's current line and go to next line.

CLOSE-SFACE (SHEET)

Close SHEET's current sface.

CLOSEST-MATCH (MATCH LIST &KEY IGNORE-CASE (KEY #'IDENTITY) &AUX (MATCH-LENGTH (LENGTH MATCH)) (SHORTEST-DISTANCE MOST-POSITIVE-FIXNUM) CLOSEST-MATCH)

Return the LIST element closest to MATCH, or nil. If IGNORE-CASE, well, ignore case. KEY should provide a way to get a string from each LIST element.

CMDLINE-CONVERT (VALUED-OPTION CMDLINE-NAME CMDLINE-ARGUMENT)

Convert CMDLINE-ARGUMENT to VALUED-OPTION's value. This function is used when the conversion comes from a command-line usage of VALUED-OPTION, called by CMDLINE-NAME, and intercepts invalid-argument errors to raise the higher level invalid-cmdline-argument error instead.

CMDLINE-OPTION-NAME (INSTANCE)

@arg[extid]{A @class{extid}} @return[sytemid]{puri:uri or nil} Returns the System ID part of this External ID.

CMDLINE-OPTION-OPTION (INSTANCE)

@arg[extid]{A @class{extid}} @return[sytemid]{puri:uri or nil} Returns the System ID part of this External ID.

CMDLINE-OPTION-SOURCE (INSTANCE)

@arg[extid]{A @class{extid}} @return[sytemid]{puri:uri or nil} Returns the System ID part of this External ID.

CMDLINE-OPTION-VALUE (INSTANCE)

@arg[extid]{A @class{extid}} @return[sytemid]{puri:uri or nil} Returns the System ID part of this External ID.

COMPLETE-STRING (BEGINNING COMPLETE)

Complete BEGINNING with the rest of COMPLETE in parentheses. For instance, completing 'he' with 'help' will produce 'he(lp)'.

CONFIGURATION (KEY)

Return KEY's value in the current Clon configuration.

CURRENT-FRAME (SHEET)

Return SHEET's current frame.

CURRENT-LEFT-MARGIN (SHEET)

Return SHEET's current left margin.

CURRENT-RIGHT-MARGIN (SHEET)

Return SHEET's current right margin.

CURRENT-SFACE (SHEET)

Return SHEET's current sface or nil.

DIRECTORY-PATHNAME-P (PATHNAME)

Return true if PATHNAME denotes a directory.

ENVIRONMENT-CONVERT (VALUED-OPTION ENV-VAL)

Convert ENV-VAL to VALUED-OPTION's value. This function is used when the conversion comes from an environment variable associated with VALUED-OPTION, and intercepts invalid-argument errors to raise the higher level invalid-environment-value error instead.

EXIT-ABNORMALLY (ERROR)

Print ERROR on *ERROR-OUTPUT* and exit with status code 1.

FACE-HIGHLIGHT-PROPERTY-SET-P (FACE PROPERTY)

Return t if PROPERTY is set explicitely in FACE.

FACE-HIGHLIGHT-PROPERTY-VALUE (FACE PROPERTY)

Return PROPERTY's value in FACE. Since faces inherit highlight properties, the actual value might come from one of FACE's ancestors. if PROPERTY is not et, return nil.

FIND-SFACE (SFACE NAME &AUX (SIBLING (SEARCH-FACE (SIBLING SFACE) NAME ERROR-ME)) (SUB-SFACE (SEARCH-FACE SFACE NAME)))

Find an sface starting at SFACE named NAME. If the sface can't be found in SFACE's face tree, find one in SFACE's sibling instead, and make a copy of it.

FLUSH-SHEET (SHEET)

Flush SHEET.

FRAME-LEFT-MARGIN (INSTANCE)

@arg[extid]{A @class{extid}} @return[sytemid]{puri:uri or nil} Returns the System ID part of this External ID.

FRAME-RIGHT-MARGIN (INSTANCE)

@arg[extid]{A @class{extid}} @return[sytemid]{puri:uri or nil} Returns the System ID part of this External ID.

FRAME-SFACE (INSTANCE)

@arg[extid]{A @class{extid}} @return[sytemid]{puri:uri or nil} Returns the System ID part of this External ID.

GET-TOP-PADDING (SFACE ITEMS)

Return top padding of the next item in ITEMS that will print under SFACE.

GETENV (VARIABLE)

Get environment VARIABLE's value. VARIABLE may be null.

HELP-SPEC-ITEMS-WILL-PRINT (SFACE ITEMS)

Return t if at least one of ITEMS will print under SFACE.

HIGHLIGHT-FRAME-HIGHLIGHT-PROPERTY-INSTANCES (INSTANCE)

@arg[extid]{A @class{extid}} @return[sytemid]{puri:uri or nil} Returns the System ID part of this External ID.

HIGHLIGHT-FRAME-LEFT-MARGIN (INSTANCE)

@arg[extid]{A @class{extid}} @return[sytemid]{puri:uri or nil} Returns the System ID part of this External ID.

HIGHLIGHT-FRAME-RIGHT-MARGIN (INSTANCE)

@arg[extid]{A @class{extid}} @return[sytemid]{puri:uri or nil} Returns the System ID part of this External ID.

HIGHLIGHT-FRAME-SFACE (INSTANCE)

@arg[extid]{A @class{extid}} @return[sytemid]{puri:uri or nil} Returns the System ID part of this External ID.

HIGHLIGHT-PROPERTY-INSTANCE-ESCAPE-SEQUENCE (INSTANCE)

Return highlight property INSTANCE's escape sequence.

HIGHLIGHT-PROPERTY-INSTANCE-NAME (INSTANCE)

@arg[extid]{A @class{extid}} @return[sytemid]{puri:uri or nil} Returns the System ID part of this External ID.

HIGHLIGHT-PROPERTY-INSTANCE-VALUE (INSTANCE)

@arg[extid]{A @class{extid}} @return[sytemid]{puri:uri or nil} Returns the System ID part of this External ID.

HOME-DIRECTORY

Return user's home directory in canonical form.

I-READER (STREAM SUBCHAR ARG)

Read an argument list for the DEFINDENT macro.

LIST-TO-STRING (LIST &KEY (KEY #'IDENTITY) (SEPARATOR , ))

Return a SEPARATOR-separated string of all LIST elements. - KEY should provide a way to get a string from each LIST element. - SEPARATOR is the string to insert between elements.

MACOSP

Return t if running on Mac OS.

MAKE-INTERNAL-ENUM (LONG-NAME DESCRIPTION &REST KEYS &KEY ARGUMENT-NAME ARGUMENT-TYPE ENUM ENV-VAR FALLBACK-VALUE DEFAULT-VALUE HIDDEN)

Make a new internal (Clon-specific) enum option. - LONG-NAME is the option's long-name, sans the 'clon-' prefix. (Internal options don't have short names.) - DESCRIPTION is the options's description. - ARGUMENT-NAME is the option's argument name appearing in help strings. - ARGUMENT-TYPE is one of :required, :mandatory or :optional (:required and :mandatory are synonyms). It defaults to :optional. - ENUM is the set of possible values. - ENV-VAR is the option's associated environment variable, sans the 'CLON_' prefix. It defaults to nil. - FALLBACK-VALUE is the option's fallback value (for missing optional arguments), if any. - DEFAULT-VALUE is the option's default value, if any. - When HIDDEN, the option doesn't appear in help strings.

MAKE-INTERNAL-FLAG (LONG-NAME DESCRIPTION &REST KEYS &KEY ENV-VAR HIDDEN)

Make a new internal (Clon-specific) flag. - LONG-NAME is the flag's long-name, sans the 'clon-' prefix. (Internal options don't have short names.) - DESCRIPTION is the flag's description. - ENV-VAR is the flag's associated environment variable, sans the 'CLON_' prefix. It default to nil. - When HIDDEN, the option doesn't appear in help strings.

MAKE-INTERNAL-LISPOBJ (LONG-NAME DESCRIPTION &REST KEYS &KEY ARGUMENT-NAME ARGUMENT-TYPE ENV-VAR TYPESPEC FALLBACK-VALUE DEFAULT-VALUE HIDDEN)

Make a new internal (Clon-specific) string option. - LONG-NAME is the option's long-name, sans the 'clon-' prefix. (Internal options don't have short names.) - DESCRIPTION is the options's description. - ARGUMENT-NAME is the option's argument name appearing in help strings. - ARGUMENT-TYPE is one of :required, :mandatory or :optional (:required and :mandatory are synonyms). It defaults to :optional. - ENV-VAR is the option's associated environment variable, sans the 'CLON_' prefix. It defaults to nil. - TYPESPEC is a type specifier the option's value should satisfy. - FALLBACK-VALUE is the option's fallback value (for missing optional arguments), if any. - DEFAULT-VALUE is the option's default value, if any. - When HIDDEN, the option doesn't appear in help strings.

MAKE-INTERNAL-PATH (LONG-NAME DESCRIPTION &REST KEYS &KEY ARGUMENT-NAME ARGUMENT-TYPE ENV-VAR FALLBACK-VALUE DEFAULT-VALUE TYPE HIDDEN)

Make a new internal (Clon-specific) path option. - LONG-NAME is the option's long-name, sans the 'clon-' prefix. (Internal options don't have short names.) - DESCRIPTION is the options's description. - ARGUMENT-NAME is the option's argument name appearing in help strings. - ARGUMENT-TYPE is one of :required, :mandatory or :optional (:required and :mandatory are synonyms). It defaults to :optional. - ENV-VAR is the option's associated environment variable, sans the 'CLON_' prefix. It defaults to nil. - FALLBACK-VALUE is the option's fallback value (for missing optional arguments), if any. - DEFAULT-VALUE is the option's default value, if any. - TYPE is the pathname type. It can be one of :file, :directory, :file-list, :directory-list or nil meaning that everything is allowed. - When HIDDEN, the option doesn't appear in help strings.

MAKE-INTERNAL-STROPT (LONG-NAME DESCRIPTION &REST KEYS &KEY ARGUMENT-NAME ARGUMENT-TYPE ENV-VAR FALLBACK-VALUE DEFAULT-VALUE HIDDEN)

Make a new internal (Clon-specific) string option. - LONG-NAME is the option's long-name, sans the 'clon-' prefix. (Internal options don't have short names.) - DESCRIPTION is the options's description. - ARGUMENT-NAME is the option's argument name appearing in help strings. - ARGUMENT-TYPE is one of :required, :mandatory or :optional (:required and :mandatory are synonyms). It defaults to :optional. - ENV-VAR is the option's associated environment variable, sans the 'CLON_' prefix. It defaults to nil. - FALLBACK-VALUE is the option's fallback value (for missing optional arguments), if any. - DEFAULT-VALUE is the option's default value, if any. - When HIDDEN, the option doesn't appear in help strings.

MAKE-INTERNAL-SWITCH (LONG-NAME DESCRIPTION &REST KEYS &KEY ARGUMENT-STYLE ARGUMENT-TYPE ENV-VAR DEFAULT-VALUE HIDDEN)

Make a new internal (Clon-specific) switch. - LONG-NAME is the switch's long-name, sans the 'clon-' prefix. (Internal options don't have short names.) - DESCRIPTION is the switch's description. - ARGUMENT-STYLE is the switch's argument display style. It can be one of :yes/no, :on/off, :true/false, :yup/nope or :yeah/nah. It defaults to :yes/no. - ARGUMENT-TYPE is one of :required, :mandatory or :optional (:required and :mandatory are synonyms). It defaults to :optional. - ENV-VAR is the switch's associated environment variable, sans the 'CLON_' prefix. It defaults to nil. - DEFAULT-VALUE is the switch's default value, if any. - When HIDDEN, the option doesn't appear in help strings.

MAKE-INTERNAL-XSWITCH (LONG-NAME DESCRIPTION &REST KEYS &KEY ARGUMENT-NAME ARGUMENT-TYPE ENUM ENV-VAR DEFAULT-VALUE HIDDEN)

Make a new internal (Clon-specific) xswitch. - LONG-NAME is the xswitch's long-name, sans the 'clon-' prefix. (Internal options don't have short names.) - DESCRIPTION is the xswitch's description. - ARGUMENT-NAME is the option's argument name appearing in help strings. - ARGUMENT-TYPE is one of :required, :mandatory or :optional (:required and :mandatory are synonyms). It defaults to :optional. - ENUM is the set of possible non-boolean values. - ENV-VAR is the xswitch's associated environment variable, sans the 'CLON_' prefix. It defaults to nil. - DEFAULT-VALUE is the xswitch's default value, if any. - When HIDDEN, the option doesn't appear in help strings.

MAKE-RAW-FACE-TREE (&OPTIONAL (FACE-CLASS 'FACE))

Make a raw (boring yet functional) face tree.

MAKE-RAW-SFACE (SIBLING &AUX (SFACE (COPY-INSTANCE SIBLING 'SFACE)))

Return a new SFace based on SIBLING. This function does not consider SIBLING as a face tree: only face properties are copied; the face parent and children are set to nil.

MAKE-SHEET (&REST KEYS &KEY OUTPUT-STREAM SEARCH-PATH THEME LINE-WIDTH HIGHLIGHT)

Make a new SHEET.

MATCH-OPTION (OPTION &KEY SHORT-NAME LONG-NAME)

Try to match OPTION against SHORT-NAME, LONG-NAME. If OPTION matches, return the name that matched.

OPEN-LINE (SHEET)

Open all frames on SHEET's current line.

OPEN-NEXT-LINE (SHEET)

Close SHEET's current line and open the next one.

OPEN-SFACE (SHEET SFACE)

Create a frame for SFACE and open it.

OPTION-ABBREVIATION-DISTANCE (OPTION PARTIAL-NAME)

Return the distance between OPTION's long name and PARTIAL-NAME. If PARTIAL-NAME does not abbreviate OPTION's long name, return MOST-POSITIVE-FIXNUM.

OPTION-CALL-P (STR)

Return true if STR looks like an option call.

PARENT-GENERATION (FACE PARENT-NAME)

Return FACE's parent generation for PARENT-NAME. That is, 1 if PARENT-NAME names FACE's parent, 2 if it names its grand-parent etc. If PARENT-NAME does not name one of FACE's ancestors, trigger an error.

PATHNAME-COMPONENT-NULL-P (COMPONENT)

Return true if COMPONENT is either null or :unspecific.

POP-FRAME (SHEET)

Pop SHEET's current frame.

POTENTIAL-PACK-CHAR (OPTION &OPTIONAL AS-STRING)

Return OPTION's potential pack character, if any. If AS-STRING, return a string of that character.

PRINC-CHAR (SHEET CHAR)

Princ CHAR on SHEET's stream and increment the column position. The effect of printing CHAR must be exactly to move right by one column, so control characters, as well as newlines and tabs are forbidden here.

PRINC-HIGHLIGHT-PROPERTY-INSTANCES (SHEET INSTANCES)

Princ highlight proeprty INSTANCES on SHEET's stream.

PRINC-SPACES (SHEET NUMBER)

Princ NUMBER spaces to SHEET's stream and update the column position.

PRINC-STRING (SHEET STRING)

Princ STRING on SHEET's stream and update the column position. The effect of printing STRING must be exactly to move right by the corresponding string length, so control characters, as well as newlines and tabs are forbidden here.

PUSH-FRAME (SHEET FRAME)

Push a new frame to SHEET's frames.

PUTENV (VARIABLE VALUE)

Set environment VARIABLE to VALUE.

REACH-COLUMN (SHEET COLUMN)

Reach COLUMN on SHEET by princ'ing spaces.

READ-ARGUMENT

Read an option argument from standard input.

READ-CALL (&OPTIONAL NEGATED)

Read an option's call or pack from standard input. If NEGATED, read a negated call or pack. Otherwise, read a short call or pack.

READ-ENV-VAL (ENV-VAR)

Read ENV-VAR's new value from standard input.

READ-LONG-NAME

Read an option's long name from standard input.

READ-SFACE-TREE (PATHNAME)

Read an sface tree from PATHNAME.

READ-VALUE

Read an option value from standard input.

REMOVE-KEYS (KEYS &REST REMOVED)

Return a new property list from KEYS without REMOVED ones.

REPLACE-KEY (REPLACEMENT KEYS)

Return a new property list from KEYS with REPLACEMENT. REPLACEMENT can take the following forms: - :KEY The effect is to remove :KEY from KEYS, as per REMOVE-KEYS. - (:KEY :NEW-KEY) The effect is to replace :KEY with :NEW-KEY, leaving the values unchanged. - (:KEY :NEW-KEY (VAL-OR-VALS NEW-VAL)*), with VAL-OR-VALS being either a value or a list of values. The effect is to replace :KEY with :NEW-KEY and a value matching one of the VAL-OR-VALS with the corresponding NEW-VAL. Values not matching any VAL-OR-VALS remain unchanged. - (:KEY (VAL-OR-VALS :NEW-KEY NEW-VAL...)*), with VAL-OR-VALS as above. The effect is the same as above, but :NEW-KEY additionally depends on the matched value. If multiple :NEW-KEY NEW-VAL couples are provided, that many new keys are inserted along with their values. For values not matching any VAL-OR-VALS, :KEY and its value remain unchanged.

REPLACE-KEYS (KEYS &REST REPLACEMENTS &AUX (NEW-KEYS KEYS))

Return a new property list from KEYS with REPLACEMENTS. See REPLACE-KEY for more information on the replacement syntax.

RESTART-ON-ERROR (ERROR)

Print ERROR and offer available restarts on *QUERY-IO*.

RESTARTABLE-CHECK (VALUED-OPTION VALUE)

Restartably check that VALUE is valid for VALUED-OPTION. The only restart available, use-value, offers to try a different value from the one that was provided.

RESTARTABLE-CMDLINE-CONVERT (VALUED-OPTION CMDLINE-NAME CMDLINE-ARGUMENT)

Restartably convert CMDLINE-ARGUMENT to VALUED-OPTION's value. This function is used when the conversion comes from a command-line usage of VALUED-OPTION, called by CMDLINE-NAME. As well as conversion errors, this function might raise a missing-cmdline-argument error if CMDLINE-ARGUMENT is nil and an argument is required. Available restarts are (depending on the context): - use-fallback-value: return FALLBACK-VALUE, - use-default-value: return VALUED-OPTION's default value, - use-value: return another (already converted) value, - use-argument: return the conversion of another argument. Return two values: VALUED-OPTION's value and the actual value source. The value source may be :cmdline, :fallback or :default.

RESTARTABLE-CONVERT (VALUED-OPTION ARGUMENT)

Restartably convert ARGUMENT to VALUED-OPTION's value. Available restarts are: - use-default-value: return OPTION's default value, - use-value: return another (already converted) value, - use-argument: return the conversion of another argument.

RESTARTABLE-ENVIRONMENT-CONVERT (VALUED-OPTION ENV-VAL)

Restartably convert ENV-VAL to VALUED-OPTION's value. This function is used when the conversion comes from an environment variable associated with VALUED-OPTION. Available restarts are: - use-default-value: return VALUED-OPTION's default value, - use-value: return another (already converted) value, - use-argument: return the conversion of another argument, - modify-env: modify the environment variable's value.

SAFE-LEFT-MARGIN (SHEET MARGIN)

Return either MARGIN or a safe value instead. To be safe, margin must be greater than the current left margin and smaller than the currently available margin.

SAFE-RIGHT-MARGIN (SHEET LEFT-MARGIN MARGIN)

Return either MARGIN or a safe value instead. To be safe, margin must be greater than LEFT-MARGIN and smaller than the currently available right margin.

SEARCH-BRANCH (FACE NAMES)

Search for a branch of faces named NAMES starting at FACE. The branch is searched for as a direct subbranch of FACE, or as a direct subbranch of FACE's ancestors. If a branch is found, return its leaf face. Otherwise return nil.

SEARCH-FACE (FACE NAME &OPTIONAL ERROR-ME)

Search for a face named NAME starting at FACE. The face is looked for as a direct subface of FACE (in which case it is simply returned), or up in the hierarchy and by successive upper branches (in which case it is copied and attached to FACE). If ERROR-ME, trigger an error if no face is found; otherwise, return nil.

SEARCH-OPTION (CONTEXT &REST KEYS &KEY SHORT-NAME LONG-NAME PARTIAL-NAME)

Search for an option in CONTEXT. The search is done with SHORT-NAME, LONG-NAME, or PARTIAL-NAME. In case of a PARTIAL-NAME search, look for an option the long name of which begins with it. In case of multiple matches by PARTIAL-NAME, the longest match is selected. When such an option exists, return wo values: - the option itself, - the name used to find the option, possibly completed if partial.

SEARCH-OPTION-BY-ABBREVIATION (CONTEXT PARTIAL-NAME)

Search for option abbreviated with PARTIAL-NAME in CONTEXT. When such an option exists, return two values: - the option itself, - the completed name.

SEARCH-OPTION-BY-NAME (CONTEXT &REST KEYS &KEY SHORT-NAME LONG-NAME)

Search for option with either SHORT-NAME or LONG-NAME in CONTEXT. When such an option exists, return two values: - the option itself, - the name that matched.

SEARCH-STICKY-OPTION (CONTEXT NAMEARG)

Search for a sticky option in CONTEXT, matching NAMEARG. NAMEARG is the concatenation of the option's short name and its argument. In case of multiple matches, the option with the longest name is selected. When such an option exists, return two values: - the option itself, - the argument part of NAMEARG.

SELECT-KEYS (KEYS &REST SELECTED)

Return a new property list from KEYS with only SELECTED ones.

SPLIT-PATH (PATH)

Split PATH into a list of directories.

TILDE-READER (STREAM CHAR)

Read a series of ~"string" to be concatenated together.

TRY-READ-SFACE-TREE (PATHNAME)

Read an sface tree from PATHNAME if it exists or return nil.

TRY-READ-THEME (PATHNAME)

Read a theme from PATHNAME or PATHNAME.cth if it exists or return nil.

Undocumented

SETFCMDLINE-OPTION-NAME (NEW-VALUE INSTANCE)

SETFCMDLINE-OPTION-OPTION (NEW-VALUE INSTANCE)

CMDLINE-OPTION-P (OBJECT)

SETFCMDLINE-OPTION-SOURCE (NEW-VALUE INSTANCE)

SETFCMDLINE-OPTION-VALUE (NEW-VALUE INSTANCE)

COPY-CMDLINE-OPTION (INSTANCE)

COPY-FRAME (INSTANCE)

COPY-HIGHLIGHT-FRAME (INSTANCE)

COPY-HIGHLIGHT-PROPERTY-INSTANCE (INSTANCE)

SETFFRAME-LEFT-MARGIN (NEW-VALUE INSTANCE)

FRAME-P (OBJECT)

SETFFRAME-RIGHT-MARGIN (NEW-VALUE INSTANCE)

SETFFRAME-SFACE (NEW-VALUE INSTANCE)

SETFHIGHLIGHT-FRAME-HIGHLIGHT-PROPERTY-INSTANCES (NEW-VALUE INSTANCE)

SETFHIGHLIGHT-FRAME-LEFT-MARGIN (NEW-VALUE INSTANCE)

HIGHLIGHT-FRAME-P (OBJECT)

SETFHIGHLIGHT-FRAME-RIGHT-MARGIN (NEW-VALUE INSTANCE)

SETFHIGHLIGHT-FRAME-SFACE (NEW-VALUE INSTANCE)

SETFHIGHLIGHT-PROPERTY-INSTANCE-NAME (NEW-VALUE INSTANCE)

HIGHLIGHT-PROPERTY-INSTANCE-P (OBJECT)

SETFHIGHLIGHT-PROPERTY-INSTANCE-VALUE (NEW-VALUE INSTANCE)

MAKE-CMDLINE-OPTION (&KEY ((NAME DUM215) NIL) ((OPTION DUM216) NIL) ((VALUE DUM217) NIL) ((SOURCE DUM218) NIL))

MAKE-FRAME (&KEY ((SFACE DUM302) NIL) ((LEFT-MARGIN DUM303) NIL) ((RIGHT-MARGIN DUM304) NIL))

MAKE-HIGHLIGHT-FRAME (&KEY ((SFACE DUM380) NIL) ((LEFT-MARGIN DUM381) NIL) ((RIGHT-MARGIN DUM382) NIL) ((HIGHLIGHT-PROPERTY-INSTANCES DUM383) NIL))

MAKE-HIGHLIGHT-PROPERTY-INSTANCE (&KEY ((NAME DUM342) NIL) ((VALUE DUM343) NIL))

MAKE-INTERNAL-TEXT (&REST KEYS &KEY CONTENTS HIDDEN)

RESTARTABLE-CMDLINE-JUNK-ERROR (JUNK)

MACRO

Public

DEFGROUP ((&REST KEYS &KEY HEADER HIDDEN) &BODY FORMS)

Define a new group. KEYS are initargs to MAKE-GROUP (currently, only :header). Each form in FORMS will be treated as a new :item. The CAR of each form is the name of the operation to perform: TEXT, GROUP, or an option class name. The rest are the arguments to the MAKE-<OP> function or the DEFGROUP macro.

DEFSYNOPSIS ((&REST KEYS &KEY POSTFIX MAKE-DEFAULT) &BODY FORMS)

Define a new synopsis.

DO-CMDLINE-OPTIONS ((OPTION NAME VALUE SOURCE &KEY CONTEXT) &BODY BODY)

Evaluate BODY over all command-line options in CONTEXT. OPTION, NAME and VALUE are bound to each option's object, name used on the command-line and retrieved value.

DUMP (NAME FUNCTION &REST ARGS)

Dump a standalone executable named NAME starting with FUNCTION. ARGS may be any arguments understood by the underlying implementation's dumping facility. They will simply be passed along. Note that DUMP already passes some such arguments. Some of them are critical for the dumping facility (e.g. :executable) and cannot be overridden. Some others, however, will be if you provide them as well (e.g. :load-init-file). Since executable dumping is not available in all supported implementations, this function behaves differently in some cases, as described below. - ECL doesn't create executables by dumping a Lisp image, but relies on having toplevel code to execute instead, so this macro simply expands to a call to FUNCTION. This also means that ARGS is unused. - ABCL can't dump executables at all because of the underlying Java implementation, so this macro expands to just (PROGN) but creates a Java class file with a main function that creates an interpreter, loads the file in which this macro call appears and calls FUNCTION. This also means that ARGS is unused.

MULTIPLE-VALUE-GETOPT-CMDLINE ((OPTION NAME VALUE SOURCE &KEY CONTEXT) &BODY BODY)

Get the next command-line option in CONTEXT. and evaluate BODY. OPTION, NAME and VALUE are bound to the values returned by GETOPT-CMDLINE. BODY is executed only if there is a next command-line option.

WITH-CONTEXT (CONTEXT &BODY BODY)

Execute BODY with *context* bound to CONTEXT.

Private

%DEFGROUP (INTERNALP (&REST KEYS &KEY HEADER HIDDEN) &BODY FORMS)

Define a new group.

ACCUMULATE ((INITIAL-VALUE) &BODY BODY &AUX (PLACE (GENSYM place)) (INITIAL-PLACE (GENSYM initial-place)))

Accumulate BODY forms in a list beginning with INITIAL-VALUE. INITIAL-VALUE is not evaluated. BODY forms are accumulated only when their value is non-nil. If nothing to accumulate, then return nil instead of the list of INITIAL-VALUE.

DECLARE-VALID-SUPERCLASS (CLASS SUPERCLASS)

Validate SUPERCLASS classes for CLASS classes.

DEFABSTRACT (CLASS SUPER-CLASSES SLOTS &REST OPTIONS)

Like DEFCLASS, but define an abstract class.

DEFINDENT (SYMBOL INDENT)

Set SYMBOL's indentation to INDENT in (X)Emacs. SYMBOL and INDENT need not be quoted. See CLINDENT for more information.

DEFOPTION (CLASS SUPERCLASSES SLOTS &REST OPTIONS)

Create a new option CLASS and register it with Clon.

DO-OPTIONS ((OPT THERE) &BODY BODY)

Execute BODY with OPT bound to every option in THERE.

ECOND (&BODY CLAUSES)

Like COND, but signal an error if no clause evaluates to t.

ENDPUSH (OBJECT PLACE)

Like push, but at the end.

HIGHLIGHT-PROPERTY-ECASE (PROPERTY VALUE &BODY CLAUSES)

Create an ECASE form to extract PROPERTY's VALUE escape sequence. Each clause looks like: (PROPERTY-NAME (VALUE-OR-VALUE-LIST ESCAPE-SEQUENCE)*). The value-matching part will itself be enclosed in an ECASE expression. In addition, the special clause syntax (BOOLEAN <PROPERTY-NAME> <YES> <NO>) is a shortcut for: (PROPERTY-NAME ((on t) YES) ((off nil) NO)).

IN-READTABLE (NAME)

Set the current readtable to the value of NAME::*READTABLE*.

MAP-FRAMES (FUNCTION (SHEET &KEY REVERSE))

Map FUNCTION over SHEET's frames. If REVERSE, map in reverse order.

MAYBE-POP-ARGUMENT (CMDLINE OPTION CMDLINE-ARGUMENT)

Pop OPTION's argument from CMDLINE if needed. If so, store it in CMDLINE-ARGUMENT.

MAYBE-PUSH (OBJECT PLACE &AUX (THE-OBJECT (GENSYM object)))

Like push, but only if OBJECT is non-nil.

REPLACE-IN-KEYS ((KEY VAL) KEYS THE-KEY FORM)

Replace every occurrence of THE-KEY in KEYS with FORM. At every KEYS round, KEY and VAL are bound to the current key-value pair. FORM is evaluated each time and should return a key-value list.

RESTARTABLE-INVALID-NEGATED-SYNTAX-ERROR ((OPTION) &BODY BODY)

Restartably throw an invalid-negated-syntax error. The error relates to the command-line use of OPTION. BODY constitutes the body of the only restart available, use-short-call, and should act as if OPTION had been normally called by short name.

RESTARTABLE-SPURIOUS-CMDLINE-ARGUMENT-ERROR ((OPTION NAME ARGUMENT) &BODY BODY)

Restartably throw a spurious-cmdline-argument error. The error relates to the command-line use of OPTION called by NAME with ARGUMENT. BODY constitutes the body of the only restart available, discard-argument, and should act as if ARGUMENT had not been provided.

WITH-CONTEXT-ERROR-HANDLER (CONTEXT &BODY BODY)

Execute BODY with CONTEXT's error handler bound for CONDITION.

Undocumented

DEFINE-CONSTANT (NAME VALUE &OPTIONAL DOC)

GENERIC-FUNCTION

Private

CHECK (VALUED-OPTION VALUE)

Check that VALUE is valid for VALUED-OPTION. If VALUE is valid, return it. Otherwise, raise an invalid-value error.

CHECK-NAME-CLASH (ITEM1 ITEM2)

Check for name clash between ITEM1's options and ITEM2's options.

CLOSE-FRAME (SHEET FRAME)

Close FRAME on SHEET.

CONVERT (VALUED-OPTION ARGUMENT)

Convert ARGUMENT to VALUED-OPTION's value. If ARGUMENT is invalid, raise an invalid-argument error.

COPY-INSTANCE (INSTANCE &OPTIONAL SUBCLASS)

Return a copy of INSTANCE. Copy is either an object of INSTANCE's class, or INSTANCE's SUBCLASS if given.

GET-BOTTOM-PADDING (SFACE HELP-SPEC)

Get HELP-SPEC's bottom-padding under SFACE.

HELP-SPEC (ITEM &KEY UNHIDE PROGRAM &ALLOW-OTHER-KEYS)

Return ITEM's help specification.

HELP-SPEC-WILL-PRINT (SFACE HELP-SPEC)

Return t if HELP-SPEC will print under FACE.

MAKE-FACE-TREE (DEFINITION &OPTIONAL FACE-CLASS)

Make a FACE-CLASS face tree from DEFINITION.

MAPOPTIONS (FUNC THERE)

Map FUNC over all options in THERE.

NEGATED-PACK-CHAR (OPTION &OPTIONAL AS-STRING)

Return OPTION's negated pack character, if any. If AS-STRING, return a string of that character.

OPEN-FRAME (SHEET FRAME)

Open FRAME on SHEET.

OPTION-STICKY-DISTANCE (OPTION NAMEARG)

Try to match OPTION's short name with a sticky argument against NAMEARG. If OPTION matches, return the length of OPTION's short name; otherwise 0.

POTENTIAL-PACK-P (PACK THERE)

Return t if PACK is a potential pack in THERE.

RETRIEVE-FROM-ENVIRONMENT (OPTION ENV-VAL)

Retrieve OPTION's value from the environment. ENV-VAL is the value stored in the associated environment variable.

RETRIEVE-FROM-LONG-CALL (OPTION CMDLINE-NAME &OPTIONAL CMDLINE-ARGUMENT CMDLINE)

Retrieve OPTION's value from a long call. CMDLINE-NAME is the name used on the command-line. CMDLINE-ARGUMENT is a potentially already parsed cmdline argument. Otherwise, CMDLINE is where to find an argument. This function returns three values: - the retrieved value, - the value source, - the new command-line (possibly with the first item popped if the option requires an argument).

RETRIEVE-FROM-NEGATED-CALL (OPTION)

Retrieve OPTION's value from a negated call.

RETRIEVE-FROM-SHORT-CALL (OPTION &OPTIONAL CMDLINE-ARGUMENT CMDLINE)

Retrieve OPTION's value from a short call. CMDLINE-ARGUMENT is a potentially already parsed cmdline argument. Otherwise, CMDLINE is where to find an argument. This function returns three values: - the retrieved value, - the value source, - the new command-line (possibly with the first item popped if the option requires an argument).

SHORT-PACK-CHAR (OPTION &OPTIONAL AS-STRING)

Return OPTION's short pack character, if any. If AS-STRING, return a string of that character.

SHORT-SYNTAX-HELP-SPEC-PREFIX (OPTION)

Return the help specification prefix for OPTION's short call.

STRINGIFY (VALUED-OPTION VALUE)

Transform VALUED-OPTION's VALUE into an argument. This is the opposite of argument conversion.

SUBFACE (FACE name(s))

Return subface of FACE named NAME(S) or nil. If a list of names is provided instead of a single one, follow a subface branch matching those names to find the leaf face.

UNTRAVERSE (ITEM)

Reset ITEM's traversal state, and return ITEM.

Undocumented

ARGUMENT (CONDITION)

SETFCLASS-SLOTS (NEW-VALUE SLOT-CLASS)

COMMENT (CONDITION)

ENV-VAL (CONDITION)

ITEM (CONDITION)

JUNK (CONDITION)

NEGATED-CALL (CONDITION)

OPTION (CONDITION)

SHORT-CALL (CONDITION)

VALIDATE-SUPERCLASS (CLASS SUPERCLASS)

VALUE (CONDITION)

SLOT-ACCESSOR

Private

ARGUMENT-NAME (OBJECT)

The option's argument display name.

ARGUMENT-REQUIRED-P (OBJECT)

Whether the option's argument is required.

ARGUMENT-STYLE (OBJECT)

The selected argument style.

ARGUMENT-STYLES (OBJECT)

The possible argument styles. The position of every argument style in the list must correspond to the position of the associated strings in the yes-values and no-values slots.

SETFARGUMENT-STYLES (NEW-VALUE OBJECT)

The possible argument styles. The position of every argument style in the list must correspond to the position of the associated strings in the yes-values and no-values slots.

BACKGROUND (OBJECT)

The face background.

BOTTOM-PADDING (OBJECT)

The face bottom padding. This property can take the following forms: - nil: the next output can start right at the end of this face's, - 0: the next output should start on the next line, - N>0: there should be N empty lines before the next output.

CLON-OPTIONS-GROUP (OBJECT)

Return the Clon options group of CONTEXT's synopsis.

CMDLINE-OPTIONS (OBJECT)

The options from the command-line.

SETFCMDLINE-OPTIONS (NEW-VALUE OBJECT)

The options from the command-line.

COLUMN (OBJECT)

The sheet's current column.

SETFCOLUMN (NEW-VALUE OBJECT)

The sheet's current column.

CONCEALEDP (OBJECT)

The face's concealed status.

CONTENTS (OBJECT)

The actual text string.

CROSSED-OUT-P (OBJECT)

The face's crossed out status.

DEFAULT-VALUE (OBJECT)

The option's default value.

DESCRIPTION (OBJECT)

The option's description.

ENUM (OBJECT)

The set of possible values.

ENV-VAR (OBJECT)

The option's associated environment variable.

ERROR-HANDLER (OBJECT)

The behavior to adopt on option retrieval errors.

FALLBACK-VALUE (OBJECT)

The option's fallback value.

FOREGROUND (OBJECT)

The face foreground.

FRAMEDP (OBJECT)

The face's framed status.

FRAMES (OBJECT)

The stack of currently open frames.

SETFFRAMES (NEW-VALUE OBJECT)

The stack of currently open frames.

HIDDENP (OBJECT)

Whether the item is hidden in help strings.

HIGHLIGHT (OBJECT)

Clon's output highlight mode.

HIGHLIGHTP (OBJECT)

Whether to highlight SHEET's output.

INTENSITY (OBJECT)

The face intensity.

INVERSEP (OBJECT)

The face's inverse video status.

ITALICP (OBJECT)

The face's italic status.

ITEM-SEPARATOR (OBJECT)

The face item separator.

ITEMS (OBJECT)

The items in the container.

LEFT-PADDING (OBJECT)

The face left padding. This property can take the following forms: - <NUMBER>: the padding is relative to the enclosing face, - SELF: the padding is set to wherever the face happens to be opened, - (<NUMBER> ABSOLUTE): the padding is set in absolute value, - (<NUMBER> :RELATIVE-TO <FACE-NAME>): the padding is set relatively to a parent face named FACE-NAME.

LINE-WIDTH (OBJECT)

The line width for help display.

LONG-NAME (OBJECT)

The option's long name.

NAME (CONDITION)

The face name.

NEGATED-PACK (OBJECT)

Return the negated pack of CONTEXT's synopsis.

NO-VALUES (OBJECT)

The possible 'no' values.

SETFNO-VALUES (NEW-VALUE OBJECT)

The possible 'no' values.

OUTPUT-STREAM (OBJECT)

The sheet's output stream.

PARENT (OBJECT)

The face parent.

PATH-TYPE (OBJECT)

The path type.

POSTFIX (OBJECT)

Return the postfix of CONTEXT's synopsis.

POTENTIAL-PACK (OBJECT)

The potential pack string.

RIGHT-PADDING (OBJECT)

The face right padding. This property can take the following forms: - <NUMBER>: the padding is relative to the enclosing face, - SELF: the padding is set to wherever the face happens to be closed, - (<NUMBER> ABSOLUTE): the padding is set in absolute value, - (<NUMBER> :RELATIVE-TO <FACE-NAME>): the padding is set relatively to a parent face named FACE-NAME.

SEARCH-PATH (OBJECT)

The search path for Clon files.

SFACE-TREE (OBJECT)

The sheet's sface tree.

SHORT-NAME (OBJECT)

The option's short name.

SHORT-PACK (OBJECT)

Return the short pack of CONTEXT's synopsis.

SIBLING (OBJECT)

The SFace's raw sibling.

SUBFACES (OBJECT)

The face children.

SYNOPSIS (OBJECT)

The program synopsis.

THEME (OBJECT)

The theme filename.

TOP-PADDING (OBJECT)

The face top padding. This property can take the following forms: - nil: the output can start right away, - 0: the output should start on the next line, - N>0: there should be N empty lines before the output.

TRAVERSEDP (OBJECT)

The item's traversal state.

SETFTRAVERSEDP (NEW-VALUE OBJECT)

The item's traversal state.

TYPESPEC (OBJECT)

A type specifier the option's value should satisfy.

UNDERLINE (OBJECT)

The face's underline level.

VISIBLEP (OBJECT)

Whether the face is visible.

YES-VALUES (OBJECT)

The possible 'yes' values.

SETFYES-VALUES (NEW-VALUE OBJECT)

The possible 'yes' values.

Undocumented

CLASS-SLOTS (CLASS)

SLOT-DEFINITION-NAME (SLOT-DEFINITION)

SETFSLOT-DEFINITION-NAME (NEW-VALUE SLOT-DEFINITION)

VARIABLE

Public

*CONTEXT*

The current context.

*SYNOPSIS*

The current synopsis.

Private

*EXECUTABLEP*

Whether the current Lisp image is a standalone executable dumped by Clon. This information is needed in some implementations that treat their command-line differently in dumped images.

*ITEM-NAMES*

The list of defined item names.

*READTABLE*

The Clon readtable.

CLASS

Private

ABSTRACT-CLASS

The ABSTRACT-CLASS class. This is the meta-class for abstract classes.

CONTAINER

The CONTAINER class. This class is a mixin used in synopsis and groups to represent the program's command-line hierarchy.

CONTEXT

The CONTEXT class. This class represents the associatiion of a synopsis and a set of command-line options based on it.

ENUM (OBJECT)

The ENUM class. This class implements options whose values belong to a set of keywords.

ENUM-BASE

The ENUM-BASE abstract class. This class provides support for options including enumerated values.

FACE

The FACE class.

FLAG

The FLAG class. This class implements options that don't take any argument.

FRAME

The FRAME structure. This structure hold layout properties used for printing.

GROUP

The GROUP class. This class groups other groups, options or strings together, effectively implementing hierarchical program command-line.

HIGHLIGHT-FRAME

The HIGHLIGHT-FRAME structure. This structure holds both layout and highlight properties used for printing.

HIGHLIGHT-PROPERTY-INSTANCE

The HIGHLIGHT-PROEPRTY-INSTANCE structure.

ITEM (CONDITION)

The ITEM class. This class is the base class for all synopsis items.

LISPOBJ

The LISPOBJ class. This class implements read-from-string options.

NEGATABLE

The NEGATABLE Class. This class implements the negated syntax for the switch-based hierarchy.

OPTION (CONDITION)

The OPTION class. This is the base class for all options.

PATH

The PATH class. This class implements options whose values are (colon-separated lists of) pathnames.

SFACE

The SFACE class. An SFace is the association of a face and its raw sibling. The sibling is used to create subfaces which would be missing from the original, user defined one.

SHEET

The SHEET class. This class implements the notion of sheet for printing Clon help.

STROPT

The STROPT class. This class implements options the values of which are strings.

SWITCH

The SWITCH class. This class implements boolean options.

SWITCH-BASE

The SWITCH-BASE abstract class. This class provides support for options including boolean values.

SYNOPSIS (OBJECT)

The SYNOPSIS class. This class handles the description of the program's command-line options.

TEXT

The TEXT class. This class implements plain text objects appearing in a synopsis.

VALUED-OPTION

The VALUED-OPTION class. This is the base class for options accepting arguments.

XSWITCH

The XSWITCH class. This class merges the functionalities of switches and enumerations. As such, the negated syntax is available for extended xswitches.

Undocumented

CMDLINE-OPTION

CONDITION

Private

CMDLINE-ERROR

An error related to a command-line item.

CMDLINE-JUNK-ERROR

An error related to a command-line piece of junk.

CMDLINE-OPTION-ERROR

An error related to a command-line (known) option.

ENVIRONMENT-ERROR

An error related to an environment variable.

ENVIRONMENTAL-OPTION-ERROR

An error related to an option's environment variable.

INVALID-ARGUMENT

An invalid argument error.

INVALID-CMDLINE-ARGUMENT

An invalid command-line argument error.

INVALID-ENVIRONMENT-VALUE

An invalid environment variable's value error.

INVALID-NEGATED-EQUAL-SYNTAX

An error related to a negated-equal syntax.

INVALID-NEGATED-SYNTAX

An invalid negated syntax error.

INVALID-SHORT-EQUAL-SYNTAX

An error related to a short-equal syntax.

INVALID-VALUE

An invalid value error.

MISSING-CMDLINE-ARGUMENT

A missing command-line argument error.

OPTION-ERROR

An error related to an option.

SPURIOUS-CMDLINE-ARGUMENT

A spurious command-line argument error.

UNKNOWN-CMDLINE-OPTION-ERROR

An error related to an unknown command-line option.

UNRECOGNIZED-NEGATED-CALL-ERROR

An error related to an unrecognized negated call.

UNRECOGNIZED-SHORT-CALL-ERROR

An error related to an unrecognized short call.

CONSTANT

Public

+RELEASE-MAJOR-LEVEL+

The major level of this release.

+RELEASE-MINOR-LEVEL+

The minor level of this release.

+RELEASE-NAME+

The name of this release.

+RELEASE-STATUS+

The status of this release.

+RELEASE-STATUS-LEVEL+

The status level of this release.

Private

+HIGHLIGHT-PROPERTIES+

The highlight face properties.