Next: , Previous: , Up: Internals   [Contents][Index]


6.2.3 Ordinary functions

Function: %deffn (x category name lambda-list &optional qualifiers)

Render a @deffn[x] {CATEGORY} {NAME} [QUALIFIERS] LAMBDA-LIST line. Rendering is done on *standard-output*. CATEGORY, NAME, QUALIFIERS, and LAMBDA-LIST are escaped for Texinfo prior to rendering. LAMBDA-LIST should be provided by ‘safe-lambda-list’ or ‘safe-specializers’, which see.

Package

net.didierverna.declt.

Source

texi.lisp.

Function: %version (type major minor status level name)
Package

net.didierverna.declt.setup.

Source

version.lisp.

Function: @anchor (anchor)

Render ANCHOR as an @anchor on a standalone line. ANCHOR is escaped for Texinfo prior to rendering. Rendering is done on *standard-output*.

Package

net.didierverna.declt.

Source

texi.lisp.

Function: @deffn (category name lambda-list &optional qualifiers)

Render a @deffn {CATEGORY} {NAME} [QUALIFIERS] LAMBDA-LIST line. Rendering is done on *standard-output*. CATEGORY, NAME, QUALIFIERS, and LAMBDA-LIST are escaped for Texinfo prior to rendering. LAMBDA-LIST should be provided by ‘safe-lambda-list’ or ‘safe-specializers’, which see.

Package

net.didierverna.declt.

Source

texi.lisp.

Function: @deffnx (category name lambda-list &optional qualifiers)

Render a @deffnx {CATEGORY} {NAME} [QUALIFIERS] LAMBDA-LIST line. Rendering is done on *standard-output*. CATEGORY, NAME, QUALIFIERS, and LAMBDA-LIST are escaped for Texinfo prior to rendering. LAMBDA-LIST should be provided by ‘safe-lambda-list’ or ‘safe-specializers’, which see.

Package

net.didierverna.declt.

Source

texi.lisp.

Function: @deftp (category name &optional lambda-list)

Render a @deftp {CATEGORY} {NAME} [LAMBDA-LIST] line on *standard-output*. CATEGORY, NAME, and LAMBDA-LIST are escaped for Texinfo prior to rendering. LAMBDA-LIST should be provided by ‘safe-lambda-list’, which see.

Package

net.didierverna.declt.

Source

texi.lisp.

Function: @defvr (category name)

Render a @defvr {CATEGORY} {NAME} line on *standard-output*. CATEGORY and NAME are escaped for Texinfo prior to rendering.

Package

net.didierverna.declt.

Source

texi.lisp.

Function: @end (environment)

Render and @end ENVIRONMENT line on *standard-output*. ENVIRONMENT should be a string designator.

Package

net.didierverna.declt.

Source

texi.lisp.

Function: @item (&optional title)

Render an @item [TITLE] line on *standard-output*.

Package

net.didierverna.declt.

Source

texi.lisp.

Function: @itemize (&optional kind)

Render an @itemize KIND line on *standard-output*.
KIND should be a string designator. It defaults to @bullet.

Package

net.didierverna.declt.

Source

texi.lisp.

Function: @multitable (&rest fractions)

Render a @multitable @columnFRACTIONS line on *standard-output*.

Package

net.didierverna.declt.

Source

texi.lisp.

Function: @ref (anchor label)

Render ANCHOR as an @ref with online and printed LABEL.
Both ANCHOR and LABEL are escaped for Texinfo prior to rendering. LABEL is rendered in teletype.
Rendering is done on *standard-output*.

Package

net.didierverna.declt.

Source

texi.lisp.

Function: @table (&optional kind)

Render a @table KIND line on *standard-output*.
KIND should be a string designator. It defaults to @strong.

Package

net.didierverna.declt.

Source

texi.lisp.

Function: add-categories-node (parent context status definitions)

Add the STATUS DEFINITIONS categories nodes to PARENT in CONTEXT.

Package

net.didierverna.declt.

Source

symbol.lisp.

Function: add-category-node (parent context status category definitions)

Add the STATUS CATEGORY node to PARENT for DEFINITIONS in CONTEXT.

Package

net.didierverna.declt.

Source

symbol.lisp.

Function: add-child (parent child)

Add CHILD node to PARENT node and return CHILD.

Package

net.didierverna.declt.

Source

texi.lisp.

Function: add-definitions-node (parent report context)

Add REPORT’s definitions node to PARENT in CONTEXT.

Package

net.didierverna.declt.

Source

symbol.lisp.

Function: add-files-node (parent report context)

Add REPORT’s files node to PARENT in CONTEXT.

Package

net.didierverna.declt.

Source

asdf.lisp.

Function: add-modules-node (parent report context)

Add REPORT’s modules node to PARENT in CONTEXT.

Package

net.didierverna.declt.

Source

asdf.lisp.

Function: add-packages-node (parent report context)

Add REPORT’s packages node to PARENT in CONTEXT.

Package

net.didierverna.declt.

Source

package.lisp.

Function: add-systems-node (parent report context)

Add REPORT’s systems node to PARENT in CONTEXT.

Package

net.didierverna.declt.

Source

asdf.lisp.

Function: anchor (definition)

Render DEFINITION’s anchoring command on *STANDARD-OUTPUT*.

Package

net.didierverna.declt.

Source

doc.lisp.

Function: anchor-and-index (definition)

Render DEFINITION’s anchoring and indexing commands on *STANDARD-OUTPUT*.

Package

net.didierverna.declt.

Source

doc.lisp.

Function: anchor-name (definition)

Return DEFINITION’s anchor name, that is, "(<UID>)".

Package

net.didierverna.declt.

Source

doc.lisp.

Function: clindent (symbol indent)

Send SYMBOL’s INDENTation information to Emacs.
Emacs will set the ’common-lisp-indent-function property.
If INDENT is a symbol, use its indentation definition. Otherwise, INDENT is considered as an indentation definition.

Package

net.didierverna.declt.setup.

Source

readtable.lisp.

Function: components (module type)

Return the list of all (sub)TYPE components found in MODULE’s tree.

Package

net.didierverna.declt.assess.

Source

assess.lisp.

Function: copy-node (instance)
Package

net.didierverna.declt.

Source

texi.lisp.

Function: current-time-string ()

Return the current time as a string.

Package

net.didierverna.declt.

Source

misc.lisp.

Function: declt-1 (report &rest keys &key locations default-values foreign-definitions declt-notice output-directory file-name info-name info-category)
Package

net.didierverna.declt.

Source

declt.lisp.

Function: definition-source-by-name (definition type)

Return DEFINITION’s source for TYPE.

Package

net.didierverna.declt.assess.

Source

symbol.lisp.

Function: domesticp (symbol pathname packages pathnames)

Return T if a definition for SYMBOL originating in PATHNAME is domestic.
A definition is considered domestic under the following conditions:
- its originating PATHNAME is known (non NIL) and one of domestic PATHNAMES, - its originating PATHNAME is unknown, but the SYMBOL’s home package is one of domestic PACKAGES.
Note that a definition for a domestic symbol, but originating in a foreign source file is considered foreign.

Package

net.didierverna.declt.assess.

Source

definition.lisp.

Function: escape (string)

When STRING, escape it for Texinfo.

Package

net.didierverna.declt.

Source

texi.lisp.

Function: escape-anchor (string)

Escape STRING for use as a Texinfo anchor name.
In addition to regular escaping, periods, commas, colons, and parenthesis are replaced with alternative Unicode characters.

Package

net.didierverna.declt.

Source

texi.lisp.

Function: escape-label (string)

Escape STRING for use as a Texinfo anchor label.
In addition to regular escaping, colons are replaced with alternative Unicode characters.

Package

net.didierverna.declt.

Source

texi.lisp.

Function: escape-lambda-list (lambda-list)

Escape safe LAMBDA-LIST for Texinfo.
This function expects a value from ‘safe-lambda-list’, which see. It returns a string properly escaped for Texinfo, apart from &-constructs which retain their original form, and @ref’s and @t’s which are already properly set.

Package

net.didierverna.declt.

Source

texi.lisp.

Function: file-components (module)

Return the list of all file components found in MODULE’s tree.

Package

net.didierverna.declt.assess.

Source

assess.lisp.

Function: file-node (definition context)

Create and return a file DEFINITION node in CONTEXT.

Package

net.didierverna.declt.

Source

asdf.lisp.

Function: finalize (definitions packages pathnames)

Finalize DEFINITIONS in domestic PACKAGES and PATHNAMES. For more information, see ‘stabilize’ and ‘freeze’.

Package

net.didierverna.declt.assess.

Source

finalize.lisp.

Function: find-definition (object definitions)

Find a definition for OBJECT in DEFINITIONS.

Package

net.didierverna.declt.assess.

Source

definition.lisp.

Function: first-word-length (string)

Return the length of the first word in STRING. Initial whitespace characters are skipped.

Package

net.didierverna.declt.

Source

texi.lisp.

Function: freeze (definitions)

Freeze DEFINITIONS.
Currently, this means:
- computing the definitions UIDs,
- potentially upgrading generic definitions to reader or writer definitions.

Package

net.didierverna.declt.assess.

Source

finalize.lisp.

Function: funcoid-name (funcoid)

Return FUNCOID’s name, or NIL.
FUNCOID may be a function, a macro function, or a compiler macro function. Lambda expression are not considered as proper names, so NIL is returned.

Package

net.didierverna.declt.assess.

Source

assess.lisp.

Function: i-reader (stream subchar arg)

Construct a call to ‘defindent’ by reading an argument list from STREAM. This dispatch macro character function is installed on #i in the NET.DIDIERVERNA.DECLT named readtable.

Package

net.didierverna.declt.setup.

Source

readtable.lisp.

Function: index (definition)

Render DEFINITION’s indexing command on *STANDARD-OUTPUT*.

Package

net.didierverna.declt.

Source

doc.lisp.

Function: itemize-list (list &key renderer kind format key)

Render a LIST of items as part of an @itemize KIND environment.
KIND should be a string designator. It defaults to @bullet.
If RENDERER is non-nil, it must be a function of one argument (every LIST element) that performs the rendering on *standard-output* directly.

Otherwise, the rendering is done by calling format, as explained below. - FORMAT is the format string to use for every LIST element. It defaults to "~A".
- KEY is a function of one argument (every LIST element) used to provide the necessary arguments to the FORMAT string. If multiple arguments are needed, they should be returned by KEY as multiple values.

Package

net.didierverna.declt.

Source

texi.lisp.

Function: load-system (system-name)

Load ASDF SYSTEM-NAME in a manner suitable to extract documentation. Return the corresponding ASDF system.
SYSTEM-NAME is an ASDF system designator.

Package

net.didierverna.declt.assess.

Source

assess.lisp.

Function: long-title (definition)

Return a long title for DEFINITION.
It is of the form "The <qualified safe name> <type name>".

Package

net.didierverna.declt.

Source

doc.lisp.

Function: make-all-file-definitions (definitions)

Return a list of all file definitions for system DEFINITIONS.

Package

net.didierverna.declt.assess.

Source

assess.lisp.

Function: make-all-module-definitions (definitions)

Return a list of all module definitions for system DEFINITIONS.

Package

net.didierverna.declt.assess.

Source

assess.lisp.

Function: make-all-package-definitions (file-definitions system-definitions)

Return a list of all package definitions for FILE- and SYSTEM-DEFINITIONS. This list contains definitions for packages defined in the corresponding files, or for which the source is not found, but the name is of the form SYSTEM/... (case insensitive) for one of the corresponding systems.

Package

net.didierverna.declt.assess.

Source

assess.lisp.

Function: make-all-symbol-definitions (packages pathnames all-symbols-p)

Return a list of all domestic symbol definitions.
If ALL-SYMBOLS-P, introspect all accessible symbols in the current Lisp environment. Otherwise (the default), limit introspection to the symbols from domestic PACKAGES.
Domesticity is defined in relation to domestic PACKAGES and PATHNAMES; see ‘domesticp’.

Package

net.didierverna.declt.assess.

Source

assess.lisp.

Function: make-all-system-definitions (system)

Return a list of all system definitions for SYSTEM.
The only guarantee is that the definition for SYSTEM comes first. The other considered systems are those found recursively in SYSTEM’s dependencies, and located under SYSTEM’s directory.
See ‘subsystems’ for more information.

Package

net.didierverna.declt.assess.

Source

assess.lisp.

Function: make-classoid-definition (symbol classoid packages pathnames)

Make a new CLASSOID definition for SYMBOL.
Also create all slots definitions. The foreign status of the new classoid and its slots is computed from domestic PACKAGES and PATHNAMES.
The concrete class of the new definition (structure, class, or condition) depends on the kind of CLASSOID.

Package

net.didierverna.declt.assess.

Source

symbol.lisp.

Function: make-clos-slot-definition (slot &optional foreign)

Make a new CLOS SLOT definition, possibly FOREIGN.

Package

net.didierverna.declt.assess.

Source

symbol.lisp.

Function: make-combination-definition (symbol combination &optional foreign)

Make a new method COMBINATION definition for SYMBOL, possibly FOREIGN. The concrete class of the new definition depends on the COMBINATION type.

Package

net.didierverna.declt.assess.

Source

symbol.lisp.

Function: make-compiler-macro-alias-definition (symbol &optional setf)

Make a new compiler macro alias definition for (possibly SETF) SYMBOL.

Package

net.didierverna.declt.assess.

Source

symbol.lisp.

Function: make-compiler-macro-definition (symbol compiler-macro &rest keys &key setf foreign)

Make a new COMPILER-MACRO definition for SYMBOL.

Package

net.didierverna.declt.assess.

Source

symbol.lisp.

Function: make-constant-definition (symbol)

Make a new constant definition for SYMBOL.

Package

net.didierverna.declt.assess.

Source

symbol.lisp.

Function: make-context (&rest keys &key locations default-values foreign-definitions declt-notice)

Make a new rendering context.
The following keys are available.
- LOCATIONS: whether to hyperlink definitions to their locations. Currently supported values are NIL (the default), and :file-system. - DEFAULT-VALUES: whether to render default / standard values. Defaults to NIL.
- FOREIGN-DEFINITIONS: whether to render foreign definitions. Defaults to NIL.
- DECLT-NOTICE: whether to add a small credit paragraph to Declt. Possible values are NIL, :short, or :long (the default).

Package

net.didierverna.declt.

Source

doc.lisp.

Function: make-expander-definition (symbol expander &optional foreign)

Make a new setf EXPANDER definition for SYMBOL, possibly foreign.

Package

net.didierverna.declt.assess.

Source

symbol.lisp.

Function: make-file-definition (file &optional foreign)

Make a new FILE definition.
The concrete class of the new definition depends on the kind of FILE.

Package

net.didierverna.declt.assess.

Source

asdf.lisp.

Function: make-function-alias-definition (symbol &optional setf)

make a new function alias definition for (possibly SETF) SYMBOL.

Package

net.didierverna.declt.assess.

Source

symbol.lisp.

Function: make-generic-function-definition (symbol generic &rest keys &key setf foreign)

Make a new GENERIC function definition for (SETF) SYMBOL, possibly FOREIGN.

Package

net.didierverna.declt.assess.

Source

symbol.lisp.

Function: make-macro-alias-definition (symbol)

Make a new macro alias definition for SYMBOL.

Package

net.didierverna.declt.assess.

Source

symbol.lisp.

Function: make-macro-definition (symbol macro &optional foreign)

Make a new MACRO definition for SYMBOL.

Package

net.didierverna.declt.assess.

Source

symbol.lisp.

Function: make-method-definition (method &optional foreign)

Make a new METHOD definition, possibly FOREIGN.

Package

net.didierverna.declt.assess.

Source

symbol.lisp.

Function: make-module-definition (module &optional foreign)

Make a new MODULE definition.

Package

net.didierverna.declt.assess.

Source

asdf.lisp.

Function: make-node (&key name synopsis section-type section-name next previous up children before-menu-contents after-menu-contents)
Package

net.didierverna.declt.

Source

texi.lisp.

Function: make-ordinary-function-definition (symbol function &rest keys &key setf foreign)

Make a new ordinary FUNCTION definition for (SETF) SYMBOL, possibly FOREIGN.

Package

net.didierverna.declt.assess.

Source

symbol.lisp.

Function: make-package-definition (package &optional foreign)

Make a new PACKAGE definition, possibly FOREIGN.

Package

net.didierverna.declt.assess.

Source

package.lisp.

Function: make-report ()

Make a new report.

Package

net.didierverna.declt.assess.

Source

assess.lisp.

Function: make-special-definition (symbol)

Make a new special variable definition for SYMBOL.

Package

net.didierverna.declt.assess.

Source

symbol.lisp.

Function: make-symbol-definitions (symbol packages pathnames)

Make and return a list of all existing domestic definitions for SYMBOL. Domesticity is defined in relation to domestic PACKAGES and PATHNAMES; see ‘domesticp’.

Package

net.didierverna.declt.assess.

Source

assess.lisp.

Function: make-symbol-macro-definition (symbol)

Make a new symbol macro definition for SYMBOL.

Package

net.didierverna.declt.assess.

Source

symbol.lisp.

Function: make-system-definition (system &optional foreign)

Make a new SYSTEM definition.

Package

net.didierverna.declt.assess.

Source

asdf.lisp.

Function: make-system-file-definition (system)

Make a new system file definition for SYSTEM.

Package

net.didierverna.declt.assess.

Source

asdf.lisp.

Function: make-system-file-definitions (systems)

Make a list of system file definitions for SYSTEMS.
Multiple systems may be defined in the same file. There is however only one definition for each file.

Package

net.didierverna.declt.assess.

Source

asdf.lisp.

Function: make-type-definition (symbol expander)

Make a new type definition for SYMBOL.

Package

net.didierverna.declt.assess.

Source

symbol.lisp.

Function: make-typed-structure-slot-definition (slot &optional foreign)

Make a new typed structure SLOT definition, possibly FOREIGN.

Package

net.didierverna.declt.assess.

Source

symbol.lisp.

Function: merge-expander-p (definition expander)

Return T if function DEFINITION and setf EXPANDER can be documented jointly.

Package

net.didierverna.declt.

Source

symbol.lisp.

Function: merge-generic-writer (reader writer)

Check if WRITER generic definition can be documented jointly with READER. If so, return the generalized Boolean value of ‘merge-methods’, which see.

Merging is only attempted on generic functions defined exclusively via slot :accessor keywords. For merging to actually occur, there must not exist any property specific to only one definition, or different between the two (no related expander information, same method combination, same docstring, etc.). The only exception is their lambda lists.

The same conditions apply to methods, which definitions are also merged. Only unqualified methods must exist. Standalone reader and writer methods are still permitted.

Package

net.didierverna.declt.

Source

symbol.lisp.

Function: merge-methods (reader writer)

Attempt to merge READER and WRITER generic definitions methods. See ‘merge-generic-writer’ for the exact conditions under which merging may occur. If merging is possible, return a list of three values:
1. a list of the form ((READER-METHOD . WRITER-METHOD) ...) for associated reader and writer methods,
2. a list of standalone readers,
3. a list of standalone writers,
Otherwise, return NIL.

Package

net.didierverna.declt.

Source

symbol.lisp.

Function: merge-ordinary-writer (reader writer)

Return WRITER if it can be documented jointly with READER.

Package

net.didierverna.declt.

Source

symbol.lisp.

Function: method-name (method)

Return METHOD’s canonical name.
Return a second value of T if METHOD is in fact a SETF one.

Package

net.didierverna.declt.assess.

Source

symbol.lisp.

Function: module-components (module)

Return the list of all module components found in MODULE’s tree.

Package

net.didierverna.declt.assess.

Source

assess.lisp.

Function: new-funcoid-definition (name packages pathnames)

Return a new macro or function definition for NAME, or NIL. PACKAGES and PATHNAMES are used to determine domesticity.

Package

net.didierverna.declt.assess.

Source

finalize.lisp.

Function: new-generic-definition (generic packages pathnames)

Make a new foreign GENERIC function definition. PACKAGES and PATHNAMES are used to determine domesticity.

Package

net.didierverna.declt.assess.

Source

finalize.lisp.

Reader: node-after-menu-contents (instance)
Writer: (setf node-after-menu-contents) (instance)
Package

net.didierverna.declt.

Source

texi.lisp.

Target Slot

after-menu-contents.

Reader: node-before-menu-contents (instance)
Writer: (setf node-before-menu-contents) (instance)
Package

net.didierverna.declt.

Source

texi.lisp.

Target Slot

before-menu-contents.

Reader: node-children (instance)
Writer: (setf node-children) (instance)
Package

net.didierverna.declt.

Source

texi.lisp.

Target Slot

children.

Reader: node-name (instance)
Writer: (setf node-name) (instance)
Package

net.didierverna.declt.

Source

texi.lisp.

Target Slot

name.

Reader: node-next (instance)
Writer: (setf node-next) (instance)
Package

net.didierverna.declt.

Source

texi.lisp.

Target Slot

next.

Function: node-p (object)
Package

net.didierverna.declt.

Source

texi.lisp.

Reader: node-previous (instance)
Writer: (setf node-previous) (instance)
Package

net.didierverna.declt.

Source

texi.lisp.

Target Slot

previous.

Reader: node-section-name (instance)
Writer: (setf node-section-name) (instance)
Package

net.didierverna.declt.

Source

texi.lisp.

Target Slot

section-name.

Reader: node-section-type (instance)
Writer: (setf node-section-type) (instance)
Package

net.didierverna.declt.

Source

texi.lisp.

Target Slot

section-type.

Reader: node-synopsis (instance)
Writer: (setf node-synopsis) (instance)
Package

net.didierverna.declt.

Source

texi.lisp.

Target Slot

synopsis.

Reader: node-up (instance)
Writer: (setf node-up) (instance)
Package

net.didierverna.declt.

Source

texi.lisp.

Target Slot

up.

Function: one-liner-p (string)

Return T if STRING is non empty and does not span multiple lines.

Package

net.didierverna.declt.assess.

Source

util.lisp.

Function: package-external-symbols (package)

Return the list of PACKAGE’s external symbols.

Package

net.didierverna.declt.assess.

Source

package.lisp.

Function: package-internal-symbols (package)

Return the lists of PACKAGE’s internal and external symbols as two values.

Package

net.didierverna.declt.assess.

Source

package.lisp.

Function: package-symbols (package)

Return the list of symbols from home PACKAGE.

Package

net.didierverna.declt.assess.

Source

assess.lisp.

Function: parse-contact(s) (contact(s))

Parse CONTACT(S) as either a contact string, or a list of such. Return a list of parsed contacts. See ‘parse-contact-string’ for more information.

Package

net.didierverna.declt.assess.

Source

util.lisp.

Function: parse-contact-string (string)

Parse STRING of the form "My Name <my@address>".
Both name and address are optional. If only an address is provided, the angle brackets may be omitted.
If neither a name nor an address can be extracted, return NIL. Otherwise, return the list ("My Name" . "my@address"). In such a case, either the CAR or the CDR may be null, but not both.

Package

net.didierverna.declt.assess.

Source

util.lisp.

Function: read-next-line (stream)

Read one line from STREAM.
Return a list of two values:
- the line itself, or STREAM,
- whether a newline character is missing at the end of the line.

Package

net.didierverna.declt.

Source

texi.lisp.

Function: reference (definition context &optional short punctuation)

Render a possibly SHORT DEFINITION’s reference in CONTEXT.
Rendering is done on *STANDARD-OUTPUT*.
When DEFINITION is foreign and CONTEXT disables their rendering, the produced reference is just text. Otherwise, an actual link is created.
Unless SHORT, the DEFINITION type is advertised after the reference itself. When SHORT, the reference is followed by a PUNCTUATION character (a dot by default) or NIL.

Package

net.didierverna.declt.

Source

doc.lisp.

Function: release-status-number (release-status)
Package

net.didierverna.declt.setup.

Source

version.lisp.

Function: render-definition-core (definition context)

Render DEFINITION’s documentation core in CONTEXT.
More specifically, render DEFINITION’s package and source file references.

Package

net.didierverna.declt.

Source

symbol.lisp.

Function: render-dependencies (dependencies context &optional prefix)

Render COMPONENT’s DEPENDENCIES in CONTEXT, optionally PREFIXing the title.

Package

net.didierverna.declt.

Source

asdf.lisp.

Function: render-dependency (dependency context)

Render a resolved DEPENDENCY specification in CONTEXT. See ‘resolve-dependency-specification’ for more information.

Package

net.didierverna.declt.

Source

asdf.lisp.

Function: render-docstring (item)

Render ITEM’s documentation string. Rendering is done on *standard-output*.

Package

net.didierverna.declt.

Source

doc.lisp.

Function: render-header (report file-name info-name info-category declt-notice current-time-string)

Render the header of the Texinfo file.

Package

net.didierverna.declt.

Source

declt.lisp.

Function: render-headline (definition)

Render a headline for DEFINITION. Also anchor and index it.

Package

net.didierverna.declt.

Source

symbol.lisp.

Function: render-node (node level)

Render NODE at LEVEL and all its children at LEVEL+1.

Package

net.didierverna.declt.

Source

texi.lisp.

Function: render-package-reference (definition context &optional force)

Render a reference to DEFINITION’s home package definition in CONTEXT. When FORCE, render a reference to the Common Lisp package, even if CONTEXT says otherwise.
Possibly render an "uninterned" mention instead of an actual reference, when there is no home package to reference.

Package

net.didierverna.declt.

Source

symbol.lisp.

Function: render-references (title definitions context &optional short)

Render an enTITLEd list of [SHORT] references to DEFINITIONS in CONTEXT. See ‘reference’ for the meaning of SHORT. The list is rendered in an itemized table item, unless there is only one definition in which case it appears directly as the table item’s contents.
Rendering is done on *standard-output*.

Package

net.didierverna.declt.

Source

doc.lisp.

Function: render-text (text)

Render TEXT for Texinfo.
Rendering is done on *standard-output*.
The rendering takes care of escaping the text for Texinfo, and attempts to embellish the output by detecting potential paragraphs from standalone lines.

Package

net.didierverna.declt.

Source

texi.lisp.

Function: render-top-node (node)

Render the whole nodes hierarchy starting at toplevel NODE.

Package

net.didierverna.declt.

Source

texi.lisp.

Function: reorder-dependency-def (dependency-def)

Reorder information in DEPENDENCY-DEF so that the system is always first. More specifically:
- simple component names are returned as-is,
- :version expressions are returned as (system :version version-specifier), - :feature expressions are returned as (... :feature feature-expression), - :require expressions are returned as (system :require).

Note that because a feature expression is defined recursively, the first element in the reordered list may be another reordered sub-list rather than a simple component name directly. In any case, the system name will always be in the deepest first position.

Package

net.didierverna.declt.assess.

Source

util.lisp.

Function: reordered-dependency-def-system (reordered-dependency-def)

Extract the system name from REORDERED-DEPENDENCY-DEF. See ‘reorder-dependency-def’ for more information.

Package

net.didierverna.declt.assess.

Source

util.lisp.

Function: resolve-dependency-specification (specification component definitions foreign)

Resolve dependency SPECIFICATION for (FOREIGN) COMPONENT in DEFINITIONS. SPECIFICATION must already be reordered (see ‘reorder-dependency-def’ for more information). The specification’s component name is replaced with its corresponding definition. A foreign definition may be created in the process.

If such a definition is neither found, nor created, return NIL. Otherwise, return a list of the updated specification (suitable to MAPCAN).

Package

net.didierverna.declt.assess.

Source

finalize.lisp.

Function: reveal (string)

Return a copy of STRING with blanks revealed.
If STRING is empty or null, use the empty set symbol. Otherwise, each blank character is replaced with a visible Unicode representation. See ‘*blanks*’ for more information.

Package

net.didierverna.declt.

Source

doc.lisp.

Function: safe-lambda-list (lambda-list &optional safe-specializers)

Return a safe LAMBDA-LIST, suitable to pass to Texinfo.
The original lambda-list’s structure is preserved, but all symbols are converted to revealed strings, and initform / supplied-p data is removed. &whole, &environment, and &aux parts are removed as they don’t provide any information on the funcoid’s usage. SAFE-SPECIALIZERS is provided for method LAMBDA-LISTs. See ‘safe-specializers’ for more information. Mandatory arguments associated with a non-nil safe specializer are listed together.

Package

net.didierverna.declt.

Source

symbol.lisp.

Function: safe-specializers (definition context)

Return a list of safe specializers for method DEFINITION in CONTEXT.
A safe specializer is the printed form of either a reference to a class definition, or an EQL specializer’s type name.

Unless the CONTEXT specifies otherwise, T specializers are replaced by NIL to indicate that they are not to be advertized.

For setf and writer definitions, only the specializers rest is used, as these methods get the new value as their first argument.

Package

net.didierverna.declt.

Source

symbol.lisp.

Function: select-keys (keys &rest selected)

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

Package

net.didierverna.declt.

Source

declt.lisp.

Function: source-by-name (name type)

Return source pathname for NAMEd object of TYPE.

Package

net.didierverna.declt.assess.

Source

util.lisp.

Function: source-by-object (object)

Return OBJECT’s source pathname.

Package

net.didierverna.declt.assess.

Source

util.lisp.

Function: stabilize-clos-classoid-slot (definition definitions packages pathnames)

Compute CLOS classoid slot DEFINITION’s reader and writer definitions. This function is used for regular class and condition slots.

Package

net.didierverna.declt.assess.

Source

finalize.lisp.

Function: stabilize-clos-structure-slot (definition definitions packages pathnames)

Compute CLOS structure slot DEFINITION’s reader and writer definitions.

Package

net.didierverna.declt.assess.

Source

finalize.lisp.

Function: sub-component-p (component directory)

Return T if COMPONENT can be found under DIRECTORY.

Package

net.didierverna.declt.assess.

Source

assess.lisp.

Function: subsystem (name system directory)

Return NAME’d SYSTEM dependency if found under DIRECTORY, or nil.

Package

net.didierverna.declt.assess.

Source

assess.lisp.

Function: subsystems (system directory)

Return the list of SYSTEM and all its dependencies found under DIRECTORY. All dependencies are descended recursively. Both :defsystem-depends-on and :depends-on are included. Potential duplicates are removed.

Package

net.didierverna.declt.assess.

Source

assess.lisp.

Function: system-dependencies (system)

Return all system names from SYSTEM dependencies. This includes both :defsystem-depends-on and :depends-on.

Package

net.didierverna.declt.assess.

Source

assess.lisp.

Function: validate-email (string)

Check that STRING is of the form nonblank@nonblank, after trimming. Return that string, or issue a warning and return NIL.

Package

net.didierverna.declt.assess.

Source

util.lisp.


Next: Generic functions, Previous: Macros, Up: Internals   [Contents][Index]