The mgl-pax Reference Manual

This is the mgl-pax Reference Manual, version 0.3.0, generated automatically by Declt version 4.0 beta 2 "William Riker" on Mon Feb 26 17:20:08 2024 GMT+0.

Table of Contents


1 Introduction


2 Systems

The main system appears first, followed by any subsystem dependency.


2.1 mgl-pax

Documentation system, browser, generator.

Author

Gábor Melis

Contact

Home Page

http://melisgl.github.io/mgl-pax

Source Control

(GIT https://github.com/melisgl/mgl-pax.git)

Bug Tracker

https://github.com/melisgl/mgl-pax/issues

License

MIT, see COPYING.

Long Description

The set of dependencies of the MGL-PAX system is
kept light, and its heavier dependencies are autoloaded via ASDF when the relevant functionality is accessed. See the MGL-PAX/NAVIGATE, MGL-PAX/DOCUMENT, MGL-PAX/TRANSCRIBE and MGL-PAX/FULL systems. To keep deployed code small, client systems should declare an ASDF dependency on this system, never on the others, which are intended for autoloading and interactive use.

Version

0.3.0

Defsystem Dependency

mgl-pax.asdf (system).

Dependencies
Source

mgl-pax.asd.

Child Component

src/base/ (module).


2.2 mgl-pax.asdf

Source

mgl-pax.asdf.asd.

Child Component

asdf.lisp (file).


2.3 mgl-pax-bootstrap

Not for public use. This is solely for systems on which PAX depends but which also use PAX.

Author

Gábor Melis

Contact

License

MIT, see COPYING.

Defsystem Dependency

mgl-pax.asdf (system).

Source

mgl-pax-bootstrap.asd.

Child Component

src/bootstrap/ (module).


2.4 dref

Reify definitions, provide portable access to
docstrings and source locations in an extensible framework.

Author

Gábor Melis

Contact

Home Page

http://melisgl.github.io/mgl-pax

Source Control

(GIT https://github.com/melisgl/mgl-pax.git)

Bug Tracker

https://github.com/melisgl/mgl-pax/issues

License

MIT, see COPYING.

Long Description

DEFUN defines a first-class object: a FUNCTION.
DEFVAR does not. This library provides a way to refer to all definitions and smooths over the differences between implementations. This system has minimal dependencies. It autoloads the ‘DREF/FULL‘ ASDF:SYSTEM, which depends Alexandria and Swank.

Version

0.0.1

Defsystem Dependency

mgl-pax.asdf (system).

Dependencies
  • mgl-pax-bootstrap (system).
  • named-readtables (system).
  • pythonic-string-reader (system).
Source

dref.asd.

Child Component

src/base/ (module).


3 Modules

Modules are listed depth-first from the system components tree.


3.1 mgl-pax/src/base/

Source

mgl-pax.asd.

Parent Component

mgl-pax (system).

Child Components

3.2 mgl-pax-bootstrap/src/bootstrap/

Source

mgl-pax-bootstrap.asd.

Parent Component

mgl-pax-bootstrap (system).

Child Components

3.3 dref/src/base/

Source

dref.asd.

Parent Component

dref (system).

Child Components

4 Files

Files are sorted by type and then listed depth-first from the systems components trees.


4.1 Lisp


4.1.1 mgl-pax/mgl-pax.asd

Source

mgl-pax.asd.

Parent Component

mgl-pax (system).

ASDF Systems

mgl-pax.


4.1.2 mgl-pax.asdf/mgl-pax.asdf.asd

Source

mgl-pax.asdf.asd.

Parent Component

mgl-pax.asdf (system).

ASDF Systems

mgl-pax.asdf.


4.1.3 mgl-pax-bootstrap/mgl-pax-bootstrap.asd

Source

mgl-pax-bootstrap.asd.

Parent Component

mgl-pax-bootstrap (system).

ASDF Systems

mgl-pax-bootstrap.


4.1.4 dref/dref.asd

Source

dref.asd.

Parent Component

dref (system).

ASDF Systems

dref.


4.1.5 mgl-pax/src/base//autoload.lisp

Source

mgl-pax.asd.

Parent Component

src/base/ (module).

Internals

4.1.6 mgl-pax/src/base//pax.lisp

Dependency

autoload.lisp (file).

Source

mgl-pax.asd.

Parent Component

src/base/ (module).

Public Interface
Internals

4.1.7 mgl-pax/src/base//extension-api.lisp

Dependency

pax.lisp (file).

Source

mgl-pax.asd.

Parent Component

src/base/ (module).

Public Interface
Internals

4.1.8 mgl-pax/src/base//navigate-early.lisp

Dependency

extension-api.lisp (file).

Source

mgl-pax.asd.

Parent Component

src/base/ (module).

Internals

4.1.9 mgl-pax/src/base//document-early.lisp

Dependency

navigate-early.lisp (file).

Source

mgl-pax.asd.

Parent Component

src/base/ (module).

Public Interface
Internals

4.1.10 mgl-pax/src/base//web-early.lisp

Dependency

document-early.lisp (file).

Source

mgl-pax.asd.

Parent Component

src/base/ (module).

Internals

ensure-web-server (function).


4.1.11 mgl-pax/src/base//transcribe-early.lisp

Dependency

web-early.lisp (file).

Source

mgl-pax.asd.

Parent Component

src/base/ (module).

Public Interface
Internals

4.1.12 mgl-pax/src/base//locatives-early.lisp

Dependency

transcribe-early.lisp (file).

Source

mgl-pax.asd.

Parent Component

src/base/ (module).

Internals

@pax-locatives (special variable).


4.1.13 mgl-pax.asdf/asdf.lisp

Source

mgl-pax.asdf.asd.

Parent Component

mgl-pax.asdf (system).

Packages

mgl-pax.asdf.

Public Interface
Internals

compile-without-some-warnings (function).


4.1.14 mgl-pax-bootstrap/src/bootstrap//package.lisp

Source

mgl-pax-bootstrap.asd.

Parent Component

src/bootstrap/ (module).

Packages

mgl-pax.


4.1.15 mgl-pax-bootstrap/src/bootstrap//basics.lisp

Dependency

package.lisp (file).

Source

mgl-pax-bootstrap.asd.

Parent Component

src/bootstrap/ (module).

Public Interface
Internals

4.1.16 mgl-pax-bootstrap/src/bootstrap//pax-world.lisp

Dependency

basics.lisp (file).

Source

mgl-pax-bootstrap.asd.

Parent Component

src/bootstrap/ (module).

Public Interface

register-doc-in-pax-world (function).

Internals

4.1.17 dref/src/base//package.lisp

Source

dref.asd.

Parent Component

src/base/ (module).

Packages
Internals

4.1.18 dref/src/base//autoload.lisp

Dependency

package.lisp (file).

Source

dref.asd.

Parent Component

src/base/ (module).

Internals

4.1.19 dref/src/base//util.lisp

Dependency

autoload.lisp (file).

Source

dref.asd.

Parent Component

src/base/ (module).

Internals

4.1.20 dref/src/base//dref.lisp

Dependency

util.lisp (file).

Source

dref.asd.

Parent Component

src/base/ (module).

Public Interface
Internals

4.1.21 dref/src/base//extension-api.lisp

Dependency

dref.lisp (file).

Source

dref.asd.

Parent Component

src/base/ (module).

Public Interface
Internals

4.1.22 dref/src/base//early.lisp

Dependency

extension-api.lisp (file).

Source

dref.asd.

Parent Component

src/base/ (module).

Public Interface
Internals

locative-type-lambda-list (method).


5 Packages

Packages are listed by definition order.


5.1 mgl-pax

See MGL-PAX::@PAX-MANUAL.

Source

package.lisp.

Nickname

pax

Use List
  • common-lisp.
  • dref.
  • dref-ext.
  • editor-hints.named-readtables.
  • pythonic-string-reader.
Used By List
Public Interface
Internals

5.2 dref

See DREF::@DREF-MANUAL.

Source

package.lisp.

Use List
  • common-lisp.
  • dref-ext.
  • editor-hints.named-readtables.
  • mgl-pax.
  • pythonic-string-reader.
Used By List

mgl-pax.

Public Interface
Internals

5.3 mgl-pax.asdf

Source

asdf.lisp.

Use List

common-lisp.

Public Interface
Internals

compile-without-some-warnings (function).


5.4 dref-ext

See DREF-EXT::@EXTENDING-DREF.

Source

package.lisp.

Use List
  • common-lisp.
  • editor-hints.named-readtables.
  • mgl-pax.
  • pythonic-string-reader.
Used By List
Public Interface
Internals

6 Definitions

Definitions are sorted by export status, category, package, and then by lexicographic order.


6.1 Public Interface


6.1.1 Special variables

Special Variable: *browse-html-style*
Package

mgl-pax.

Source

document-early.lisp.

Special Variable: *discard-documentation-p*

The default value of DEFSECTION’s DISCARD-DOCUMENTATION-P argument. One may want to set *DISCARD-DOCUMENTATION-P* to true before building a binary application.

Package

mgl-pax.

Source

basics.lisp.

Special Variable: *document-base-url*
Package

mgl-pax.

Source

document-early.lisp.

Special Variable: *document-downcase-uppercase-code*
Package

mgl-pax.

Source

document-early.lisp.

Special Variable: *document-fancy-html-navigation*
Package

mgl-pax.

Source

document-early.lisp.

Package

mgl-pax.

Source

document-early.lisp.

Special Variable: *document-html-default-style*
Package

mgl-pax.

Source

document-early.lisp.

Special Variable: *document-html-head*
Package

mgl-pax.

Source

document-early.lisp.

Special Variable: *document-html-max-navigation-table-of-contents-level*
Package

mgl-pax.

Source

document-early.lisp.

Special Variable: *document-html-sidebar*
Package

mgl-pax.

Source

document-early.lisp.

Package

mgl-pax.

Source

document-early.lisp.

Special Variable: *document-hyperspec-root*
Package

mgl-pax.

Source

document-early.lisp.

Package

mgl-pax.

Source

document-early.lisp.

Package

mgl-pax.

Source

document-early.lisp.

Package

mgl-pax.

Source

document-early.lisp.

Special Variable: *document-mark-up-signatures*
Package

mgl-pax.

Source

document-early.lisp.

Special Variable: *document-max-numbering-level*
Package

mgl-pax.

Source

document-early.lisp.

Special Variable: *document-max-table-of-contents-level*
Package

mgl-pax.

Source

document-early.lisp.

Package

mgl-pax.

Source

document-early.lisp.

Special Variable: *document-normalize-packages*
Package

mgl-pax.

Source

document-early.lisp.

Special Variable: *document-text-navigation*
Package

mgl-pax.

Source

document-early.lisp.

Special Variable: *document-uppercase-is-code*
Package

mgl-pax.

Source

document-early.lisp.

Special Variable: *document-url-versions*
Package

mgl-pax.

Source

document-early.lisp.

Special Variable: *format*

Bound by DOCUMENT to its FORMAT argument, this allows markdown output to depend on the output format.

Package

mgl-pax.

Source

document-early.lisp.

Special Variable: *transcribe-check-consistency*
Package

mgl-pax.

Source

transcribe-early.lisp.

Special Variable: *transcribe-syntaxes*
Package

mgl-pax.

Source

transcribe-early.lisp.


6.1.2 Macros

Macro: check-locative-args (locative-type locative-args)

Signal a LOCATE-ERROR condition if LOCATIVE-ARGS do not match the LAMBDA-LIST argument of LOCATIVE-TYPE (not evaluated).

Package

dref-ext.

Source

extension-api.lisp.

Macro: define-definer-for-symbol-locative-type (name locative-type &body docstring)

Define a macro with NAME that can be used to attach a lambda list, documentation, and source location to a symbol in the context of LOCATIVE-TYPE. The defined macro’s arglist is ‘(SYMBOL LAMBDA-LIST &OPTIONAL DOCSTRING)‘. LOCATIVE-TYPE is assumed to have been defined with DEFINE-SYMBOL-LOCATIVE-TYPE.

Package

dref-ext.

Source

extension-api.lisp.

Macro: define-definition-class (locative-type class-name &optional superclasses &body body)

Define a subclass of DREF. All definitions with LOCATIVE-TYPE
must be of this type. If non-NIL, BODY is DEFCLASS’ slot definitions and other options.

Package

dref-ext.

Source

extension-api.lisp.

Macro: define-glossary-term (name (&key title url discard-documentation-p) &optional docstring)

Define a global variable with NAME, and set it to a [GLOSSARY-TERM] [class] object. TITLE, URL and DOCSTRING are markdown strings or NIL. Glossary terms are DOCUMENTed in the lightweight bullet + locative + name/title style. See the glossary entry @NAME for an example.

When a glossary term is linked to in documentation, its TITLE will be the link text instead of the name of the symbol (as with SECTIONs).

Glossary entries with a non-NIL URL are like external links: they are linked to their URL in the generated documentation. These offer a more reliable alternative to using markdown reference links and are usually not included in SECTIONs.

When DISCARD-DOCUMENTATION-P (defaults to *DISCARD-DOCUMENTATION-P*) is true, DOCSTRING will not be recorded to save memory.

Package

mgl-pax.

Source

basics.lisp.

Macro: define-locative-alias (alias locative-type &body docstring)

Define ALIAS as a locative equivalent to LOCATIVE-TYPE (both SYMBOLs). LOCATIVE-TYPE must exist (i.e. be among LOCATIVE-TYPES). For example, let’s define OBJECT as an alias of the CLASS locative:

“‘cl-transcript
(define-locative-alias object class)
“‘

Then, LOCATEing with OBJECT will find the CLASS:

“‘cl-transcript
(dref ’xref ’object)
==> #<DREF XREF CLASS>
“‘

The LOCATIVE-ARGS of OBJECT (none in the above) are passed on to CLASS.

“‘cl-transcript
(arglist (dref ’object ’locative))
=> (&REST ARGS)
=> :DESTRUCTURING
“‘

Also, see PAX::@LOCATIVE-ALIASES in PAX.

Package

dref-ext.

Source

extension-api.lisp.

Macro: define-locative-type (locative-type lambda-list &body docstring)

Declare LOCATIVE-TYPE as a [LOCATIVE][locative], which is the first step in DREF-EXT::@EXTENDING-DREF.

LAMBDA-LIST is a [destructuring lambda list][clhs]. The LOCATIVE-ARGS of [DREF][class]s with @LOCATIVE-TYPE LOCATIVE-TYPE (the argument given to this macro) always conform to this lambda list. See CHECK-LOCATIVE-ARGS.

For example, if have:

“‘
(define-locative-type dummy (x &key y)
"Dummy docstring.")
“‘

then ‘(LOCATE ’DUMMY ’LOCATIVE)‘ refers to this definition. That is, ARGLIST, [DOCSTRING][function] and SOURCE-LOCATION all work on it.

Locative types defined with DEFINE-LOCATIVE-TYPE can be listed with LISP-LOCATIVE-TYPES.

Package

dref-ext.

Source

extension-api.lisp.

Macro: define-package (package &rest options)

This is like CL:DEFPACKAGE but silences warnings and errors signalled when the redefined package is at variance with the current state of the package. Typically this situation occurs when symbols are exported by calling EXPORT (as is the case with DEFSECTION) as opposed to adding :EXPORT forms to the DEFPACKAGE form and the package definition is subsequently reevaluated. See the section on [package variance](http://www.sbcl.org/manual/#Package-Variance) in the SBCL manual.

The bottom line is that if you rely on DEFSECTION to do the exporting, then you’d better use DEFINE-PACKAGE.

Package

mgl-pax.

Source

basics.lisp.

Macro: define-pseudo-locative-type (locative-type lambda-list &body docstring)

Like DEFINE-LOCATIVE-TYPE, but declare that LOCATIVE-TYPE does not correspond to definitions in the Lisp system. Definitions with pseduo locatives are not listed by default by DEFINITIONS.

Locative types defined with DEFINE-PSEUDO-LOCATIVE-TYPE can be listed with PSEUDO-LOCATIVE-TYPES.

Package

dref-ext.

Source

extension-api.lisp.

Macro: define-restart (symbol lambda-list &body docstring)

Associate a definition with the name of a restart, which must be a symbol. LAMBDA-LIST should be what calls like ‘(INVOKE-RESTART ’<SYMBOL> ...)‘ must conform to, but this not enforced.

PAX "defines" standard CL restarts such as USE-VALUE with DEFINE-RESTART:

“‘cl-transcript (:dynenv dref-std-env)
(first-line (source-location-snippet
(source-location (dref ’use-value ’restart))))
=> "(define-restart use-value (value)"
“‘

Note that while there is a CL:RESTART class, its instances have no docstring or source location.

Package

dref.

Source

early.lisp.

Macro: define-symbol-locative-type (locative-type lambda-list &body docstring)

Similar to DEFINE-LOCATIVE-TYPE, but it assumes that all things LOCATEable with LOCATIVE-TYPE are going to be symbols defined with a definer defined with DEFINE-DEFINER-FOR-SYMBOL-LOCATIVE-TYPE. Symbol locatives are for attaching a definition (along with arglist, documentation and source location) to a symbol in a particular context. An example will make everything clear:

“‘
(define-symbol-locative-type direction ()
"A direction is a symbol.")

(define-definer-for-symbol-locative-type define-direction direction "With DEFINE-DIRECTION, one can document what a symbol means when interpreted as a DIRECTION.")

(define-direction up ()
"UP is equivalent to a coordinate delta of (0, -1).")
“‘

After all this, ‘(DREF ’UP ’DIRECTION)‘ refers to the ‘DEFINE-DIRECTION‘ form above.

Package

dref-ext.

Source

extension-api.lisp.

Macro: defsection (name (&key package readtable export title link-title-to discard-documentation-p) &body entries)

Define a documentation section and maybe export referenced symbols. A bit behind the scenes, a global variable with NAME is defined and is bound to a [SECTION][class] object. By convention, section names start with the character ‘@‘. See @INTRODUCTION for an example.

**Entries**

ENTRIES consists of docstrings and references in any order. Docstrings are arbitrary strings in markdown format.

References are [XREF][class]s given in the form ‘(NAME LOCATIVE)‘. For example, ‘(FOO FUNCTION)‘ refers to the function ‘FOO‘, ‘(@BAR SECTION)‘ says that ‘@BAR‘ is a subsection of this
one. ‘(BAZ (METHOD () (T T T)))‘ refers to the default method of the three argument generic function ‘BAZ‘. ‘(FOO FUNCTION)‘ is equivalent to ‘(FOO (FUNCTION))‘. See the DRef DREF::@INTRODUCTION for more.

The same name may occur in multiple references, typically with different locatives, but this is not required.

The references are not LOCATEd until documentation is generated, so they may refer to things yet to be defined.

**Exporting**

If EXPORT is true (the default), NAME and the @NAMEs of references among ENTRIES which are SYMBOLs are candidates for exporting. A candidate symbol is exported if

- it is [accessible][find-symbol] in PACKAGE, and

- there is a reference to it in the section being defined which is approved by EXPORTABLE-REFERENCE-P.

See DEFINE-PACKAGE if you use the export feature. The idea with confounding documentation and exporting is to force documentation of all exported symbols.

**Misc**

TITLE is a string containing markdown or NIL. If non-NIL, it determines the text of the heading in the generated output. LINK-TITLE-TO is a reference given as an ‘(NAME LOCATIVE)‘ pair or NIL, to which the heading will link when generating HTML. If not specified, the heading will link to its own anchor.

When DISCARD-DOCUMENTATION-P (defaults to *DISCARD-DOCUMENTATION-P*) is true, ENTRIES will not be recorded to save memory.

Package

mgl-pax.

Source

basics.lisp.

Macro: documenting-reference ((stream &key reference name package readtable arglist) &body body)

Write REFERENCE to STREAM as described in *DOCUMENT-MARK-UP-SIGNATURES*, and establish REFERENCE as a [local reference][@LOCAL-REFERENCES] for the processing of BODY.

- REFERENCE defaults to the reference being DOCUMENTed.

- NAME defaults to ‘(XREF-NAME REFERENCE)‘ and is printed after the LOCATIVE-TYPE.

- *PACKAGE* and *READTABLE* are bound to PACKAGE and READTABLE for the duration of printing the ARGLIST and the processing of BODY. If either is NIL, then a default value is computed as described in @PACKAGE-AND-READTABLE.

- If ARGLIST is NIL, then it is not printed.

- If ARGLIST is a list, then it is must be a [lambda list][clhs] and is printed without the outermost parens and with the package names removed from the argument names.

- If ARGLIST is a string, then it must be valid markdown.

- It is not allowed to have WITH-HEADING within the [dynamic extent][clhs] of BODY.

Package

mgl-pax.

Source

document-early.lisp.

Macro: with-dislocated-names (names &body body)

For each name in NAMES, establish a [local reference][@local-references] with the DISLOCATED locative, which [prevents autolinking][@preventing-autolinking].

Package

mgl-pax.

Source

document-early.lisp.

Macro: with-heading ((stream object title &key link-title-to) &body body)

Write a markdown heading with TITLE to STREAM. Nested WITH-HEADINGs produce nested headings. If *DOCUMENT-LINK-SECTIONS*, generate anchors based on the [definition of][locate] OBJECT. LINK-TITLE-TO behaves like the LINK-TITLE-TO argument of DEFSECTION.

Package

mgl-pax.

Source

document-early.lisp.


6.1.3 Ordinary functions

Function: add-dref-actualizer (name)

Add the global function denoted by the symbol NAME to the list
of actualizers. Actualizers are functions of a single [DREF][class] argument. They are called within LOCATE when LOCATE* returns a DREF. Their job is to make the DREF more specific.

Package

dref-ext.

Source

extension-api.lisp.

Function: arglist (object)

Return the arglist of the definition of OBJECT or NIL if the arglist cannot be determined.

The second return value indicates whether the arglist has been found. Furthermore, :ORDINARY indicates an [ordinary lambda list][clhs], :MACRO a [macro lambda list][clhs], :DEFTYPE a [deftype lambda list][clhs], and :DESTRUCTURING a [destructuring lambda list][clhs]. Other non-NIL values are also allowed.

“‘cl-transcript (:dynenv dref-std-env)
(arglist #’arglist)
=> (OBJECT)
=> :ORDINARY
“‘
“‘cl-transcript (:dynenv dref-std-env)
(arglist (dref ’define-locative-type ’macro))
=> (LOCATIVE-TYPE LAMBDA-LIST &BODY DOCSTRING)
=> :MACRO
“‘
“‘cl-transcript (:dynenv dref-std-env)
(arglist (dref ’method ’locative))
=> (METHOD-QUALIFIERS METHOD-SPECIALIZERS)
=> :DESTRUCTURING
“‘

This function supports MACROs, COMPILER-MACROs, SETF functions, FUNCTIONs, GENERIC-FUNCTIONs, METHODs, TYPES, LOCATIVEs. Note that ARGLIST depends on the quality of SWANK-BACKEND:ARGLIST. With the exception of SBCL, which has perfect support, all Lisp implementations have minor omissions:

- DEFTYPE lambda lists on ABCL, AllegroCL, CLISP, CCL, CMUCL, ECL; - default values in MACRO lambda lists on AllegroCL; various edge - cases involving traced functions.

Can be extended via ARGLIST*

Package

dref.

Source

dref.lisp.

Function: call-with-wrappers (wrappers fn)
Package

mgl-pax.asdf.

Source

asdf.lisp.

Function: compile-pax (continuation)
Package

mgl-pax.asdf.

Source

asdf.lisp.

Function: compile-per-file (continuation)
Package

mgl-pax.asdf.

Source

asdf.lisp.

Function: compile-with-source-info (continuation)
Package

mgl-pax.asdf.

Source

asdf.lisp.

Function: compose-wrappers (wrappers)
Package

mgl-pax.asdf.

Source

asdf.lisp.

Function: definitions (&rest args)
Package

dref.

Source

early.lisp.

Function: delete-comments (&rest args)
Package

mgl-pax.

Source

transcribe-early.lisp.

Function: delete-trailing-whitespace (&rest args)
Package

mgl-pax.

Source

transcribe-early.lisp.

Function: docstring (object)

Return the docstring from the definition of OBJECT.
As the second value, return the *PACKAGE* that was in effect when the docstring was installed or NIL if it cannot be determined (this is used by PAX:DOCUMENT when PAX::@PARSING the docstring). This function is similar in purpose to CL:DOCUMENTATION.

Note that some locative types such as ASDF:SYSTEMS and DECLARATIONs have no docstrings, and some Lisp implementations do not record all docstrings. The following are known to be missing:

- COMPILER-MACRO docstrings on ABCL, AllegroCL, CCL, ECL;
- METHOD-COMBINATION docstrings on ABCL, AllegroCL.

Can be extended via DOCSTRING*.

Package

mgl-pax.

Source

dref.lisp.

Function: document (&rest args)
Package

mgl-pax.

Source

document-early.lisp.

Function: document-docstring (&rest args)
Package

mgl-pax.

Source

document-early.lisp.

Function: dref (name locative &optional errorp)

Shorthand for ‘(LOCATE (XREF NAME LOCATIVE) ERRORP)‘.

Package

dref.

Source

dref.lisp.

Function: dref-apropos (&rest args)
Package

dref.

Source

early.lisp.

Function: dref-locative-args (dref)
Package

dref-ext.

Source

dref.lisp.

Function: dref-locative-type (dref)
Package

dref-ext.

Source

dref.lisp.

Function: ensure-navigate-loaded (&rest args)
Package

mgl-pax.

Source

extension-api.lisp.

Function: escape-markdown (&rest args)
Package

mgl-pax.

Source

document-early.lisp.

Function: install-pax-elisp (target-dir)

Copy ‘mgl-pax.el‘ distributed with this package to TARGET-DIR.

Package

mgl-pax.

Source

pax.lisp.

Function: lisp-locative-types ()

Return the locative types that correspond to Lisp definitions except UNKNOWN. These are the ones defined with DEFINE-LOCATIVE-TYPE.

Package

dref.

Source

dref.lisp.

Function: locate (object &optional errorp)

Return a [DREF][class] representing the definition given by the arguments. In the same [dynamic environment][clhs], two DREFs denote the same thing if and only if they are XREF=.

OBJECT must be a supported first-class object, a DREF, or an [XREF][class]:

“‘cl-transcript (:dynenv dref-std-env)
(locate #’print)
==> #<DREF PRINT FUNCTION>
“‘
“‘cl-transcript (:dynenv dref-std-env)
(locate (locate #’print))
==> #<DREF PRINT FUNCTION>
“‘
“‘cl-transcript (:dynenv dref-std-env)
(locate (xref ’print ’function))
==> #<DREF PRINT FUNCTION>
“‘

LOCATE-ERROR is signalled if OBJECT is an XREF with malformed LOCATIVE-ARGS, or if no corresponding definition is found. If ERRORP is NIL, then NIL and the LOCATE-ERROR condition are returned instead.

“‘cl-transcript (:dynenv dref-std-env)
(locate (xref ’no-such-function ’function))
.. debugger invoked on LOCATE-ERROR:
.. Could not locate NO-SUCH-FUNCTION FUNCTION.
.. NO-SUCH-FUNCTION is not a symbol naming a function.
“‘
“‘cl-transcript (:dynenv dref-std-env)
(locate (xref ’print ’(function xxx)))
.. debugger invoked on LOCATE-ERROR:
.. Could not locate PRINT #’XXX.
.. Bad arguments (XXX) for locative FUNCTION with lambda list NIL. “‘
“‘cl-transcript (:dynenv dref-std-env)
(locate "xxx")
.. debugger invoked on LOCATE-ERROR:
.. Could not locate "xxx".
“‘

Use the low-level XREF to construct an XREF without error checking.

Can be extended via LOCATE*.

Package

dref.

Source

dref.lisp.

Function: locate-error (&rest format-and-args)

Call this function to signal a LOCATE-ERROR condition from the [dynamic extent][clhs] of a LOCATE* method (which includes DREF*). It is an error to call LOCATE-ERROR elsewhere.

FORMAT-AND-ARGS, if non-NIL, is a format string and arguments suitable for FORMAT.

Package

dref-ext.

Source

extension-api.lisp.

Function: locative-aliases ()

Return the list of locatives aliases, defined with DEFINE-LOCATIVE-ALIAS.

Package

dref.

Source

dref.lisp.

Function: locative-args (locative)

Return the REST of LOCATIVE (which may be from XREF-LOCATIVE)
if it’s a list. If it’s a symbol, then return NIL. The locative args should match the LAMBDA-LIST of the LOCATIVE-TYPE’s [definition][define-locative-type], but this is guaranteed only for locatives of [DREF][class]s and is not checked for plain [XREF][class]s.

Package

dref-ext.

Source

dref.lisp.

Function: locative-type (locative)

Return @LOCATIVE-TYPE of LOCATIVE (which may be from XREF-LOCATIVE). This is the first element of LOCATIVE if it’s a list. If it’s a symbol, it’s that symbol itself.

Package

dref-ext.

Source

dref.lisp.

Function: locative-types ()

Return a list of non-[alias][locative-aliases] locative types. This is the UNION of LISP-LOCATIVE-TYPES and PSEUDO-LOCATIVE-TYPES.

Package

dref.

Source

dref.lisp.

Function: make-git-source-uri-fn (asdf-system git-forge-uri &key git-version uri-format-string)

Return a function suitable as :SOURCE-URI-FN of a page spec (see
the PAGES argument of DOCUMENT). The function looks at the source location of the object passed to it, and if the location is found, the path is made relative to the toplevel directory of the git checkout containing the file of the ASDF-SYSTEM and finally an \URI pointing to your git forge (such as github) is returned. A warning
is signalled whenever the source location lookup fails or if the source location points to a directory not below the directory of ASDF-SYSTEM.

If GIT-FORGE-URI is ‘"https://github.com/melisgl/mgl-pax/"‘ and GIT-VERSION is ‘"master"‘, then the returned \URI may look like this:

https://github.com/melisgl/mgl-pax/blob/master/src/pax-early.lisp#L12

If GIT-VERSION is NIL, then an attempt is made to determine to current commit id from the ‘.git‘ in the directory holding ASDF-SYSTEM. If no ‘.git‘ directory is found, then no links to
the git forge will be generated.

URI-FORMAT-STRING is a CL:FORMAT control string for four arguments:

- GIT-FORGE-URI,
- GIT-VERSION,
- the relative path to the file of the source location of the reference, - and the line number.

The default value of URI-FORMAT-STRING is for github. If using a non-standard git forge, such as Sourcehut or Gitlab, simply pass a suitable URI-FORMAT-STRING matching the \URI scheme of your forge.

Package

mgl-pax.

Source

document-early.lisp.

Function: make-github-source-uri-fn (asdf-system github-uri &key git-version)

This function is a backward-compatibility wrapper around MAKE-GIT-SOURCE-URI-FN, which supersedes MAKE-GITHUB-SOURCE-URI-FN. All arguments are passed on to MAKE-GIT-SOURCE-URI-FN, leaving URI-FORMAT-STRING at its default, which is suitable for github.

Package

mgl-pax.

Source

document-early.lisp.

Function: make-source-location (&rest args)
Package

dref-ext.

Source

early.lisp.

Function: prin1-to-markdown (&rest args)
Package

mgl-pax.

Source

document-early.lisp.

Function: pseudo-locative-types ()

Return the locative types that correspond to non-Lisp definitions plus UNKNOWN. These are the ones defined with DEFINE-PSEUDO-LOCATIVE-TYPE.

Package

dref.

Source

dref.lisp.

Function: register-doc-in-pax-world (name sections page-specs)

Register SECTIONS and PAGE-SPECS under NAME (a symbol) in PAX World. By default, UPDATE-PAX-WORLD generates documentation for all of these. SECTIONS and PAGE-SPECS must be lists of SECTIONs and PAGE-SPECs (SEE DOCUMENT) or designators of function of no arguments that return such lists.

Package

mgl-pax.

Source

pax-world.lisp.

Function: remove-dref-actualizer (name)

Remove the global function denoted by the symbol NAME from the list of actualizers.

Package

dref-ext.

Source

extension-api.lisp.

Function: resolve (object &optional errorp)

If OBJECT is an [XREF][class], then return the first-class object associated with its definition if any. Return OBJECT if it’s not an XREF. Thus, the value returned is never an XREF.

“‘cl-transcript (:dynenv dref-std-env)
(resolve (dref ’print ’function))
==> #<FUNCTION PRINT>
“‘
“‘cl-transcript (:dynenv dref-std-env)
(resolve #’print)
==> #<FUNCTION PRINT>
“‘

If OBJECT is an XREF, and the definition for it cannot be LOCATEd, then signal a LOCATE-ERROR condition.

“‘cl-transcript (:dynenv dref-std-env)
(resolve (xref ’undefined ’variable))
.. debugger invoked on LOCATE-ERROR:
.. Could not locate UNDEFINED VARIABLE.
“‘

If there is a definition, but there is no first-class object corresponding to it, then signal a RESOLVE-ERROR condition or return NIL depending on ERRORP:

“‘cl-transcript (:dynenv dref-std-env)
(resolve (dref ’*print-length* ’variable))
.. debugger invoked on RESOLVE-ERROR:
.. Could not resolve *PRINT-LENGTH* VARIABLE.
“‘
“‘cl-transcript (:dynenv dref-std-env)
(resolve (dref ’*print-length* ’variable) nil)
=> NIL
“‘

RESOLVE is a partial inverse of LOCATE: if a [DREF][class] is RESOLVEable, then LOCATEing the object it resolves to recovers the DREF equivalent to the original (XREF= and of the same type but not EQ).

Can be extended via RESOLVE*.

Package

dref.

Source

dref.lisp.

Function: resolve-error (&rest format-and-args)

Call this function to signal a RESOLVE-ERROR condition from the [dynamic extent][clhs] of a RESOLVE* method. It is an error to call RESOLVE-ERROR elsewhere.

FORMAT-AND-ARGS, if non-NIL, is a format string and arguments suitable for FORMAT.

Package

dref.

Source

extension-api.lisp.

Function: section-entries (section)

A list of markdown docstrings and [XREF][class]s in the order they occurred in DEFSECTION.

Package

mgl-pax.

Source

pax.lisp.

Package

mgl-pax.

Source

pax.lisp.

Function: source-location (object &key errorp)

Return the Swank source location for the [defining form][clhs] of OBJECT. If no source location was found, then either an ERROR condition is signalled if ERRORP else the [ERROR][condition] is returned as the second value (with the first being NIL). The returned Swank location object is to be accessed only through the DREF-EXT::@SOURCE-LOCATIONS API or to be passed to e.g Slime’s ‘slime-goto-source-location‘.

Note that the availability of source location information varies greatly across Lisp implementations.

Can be extended via SOURCE-LOCATION*.

Package

dref.

Source

dref.lisp.

Function: source-location-adjusted-file-position (&rest args)
Package

dref-ext.

Source

early.lisp.

Function: source-location-buffer (&rest args)
Package

dref-ext.

Source

early.lisp.

Function: source-location-buffer-position (&rest args)
Package

dref-ext.

Source

early.lisp.

Function: source-location-file (&rest args)
Package

dref-ext.

Source

early.lisp.

Function: source-location-file-position (&rest args)
Package

dref-ext.

Source

early.lisp.

Function: source-location-p (&rest args)
Package

dref-ext.

Source

early.lisp.

Function: source-location-snippet (&rest args)
Package

dref-ext.

Source

early.lisp.

Function: squeeze-whitespace (&rest args)
Package

mgl-pax.

Source

transcribe-early.lisp.

Function: transcribe (&rest args)
Package

mgl-pax.

Source

transcribe-early.lisp.

Function: update-asdf-system-html-docs (&rest args)
Package

mgl-pax.

Source

document-early.lisp.

Function: update-asdf-system-readmes (&rest args)
Package

mgl-pax.

Source

document-early.lisp.

Function: update-pax-world (&rest args)
Package

mgl-pax.

Source

document-early.lisp.

Function: xref (name locative)

A shorthand for ‘(MAKE-INSTANCE ’XREF :NAME NAME :LOCATIVE LOCATIVE)‘. It does no error checking: the LOCATIVE-TYPE of LOCATIVE-TYPE need not be defined, and the LOCATIVE-ARGS need not be valid. Use LOCATE or the DREF function to create [DREF][class] objects.

Package

dref.

Source

dref.lisp.

Function: xref-locative-args (xref)
Package

dref-ext.

Source

dref.lisp.

Function: xref-locative-type (xref)
Package

dref-ext.

Source

dref.lisp.

Function: xref= (xref1 xref2)

See if XREF1 and XREF2 have the same XREF-NAME and XREF-LOCATIVE under EQUAL. Comparing like this makes most sense for [DREF][class]s. However, two [XREF][class]s different under XREF= may denote the same [DREF][class]s.

Package

dref.

Source

dref.lisp.


6.1.4 Generic functions

Generic Function: arglist* (object)

To extend ARGLIST, specialize this on a subclass of
[DREF][class] if that subclass is not RESOLVEable, else on the type of object it resolves to. This function is for extension only. Do not call it directly.

Package

dref-ext.

Source

extension-api.lisp.

Methods
Method: arglist* ((dref dref))
Method: arglist* (object)
Generic Function: docstring* (dref)

To extend DOCSTRING, specialize this on a subclass
of [DREF][class] if that subclass is not RESOLVEable, else on the type of object it resolves to. This function is for extension only. Do not call it directly.

Package

dref-ext.

Source

extension-api.lisp.

Methods
Method: docstring* ((dref dref))
Method: docstring* (object)
Generic Function: document-object* (object stream)

Write OBJECT in *FORMAT* to STREAM.
Specialize this on a subclass of [DREF][class] if that subclass is not RESOLVEable, else on the type of object it resolves to. This function is for extension only. Don’t call it directly.

Package

mgl-pax.

Source

extension-api.lisp.

Methods
Method: document-object* (object stream)
Generic Function: dref* (name locative-type locative-args)

LOCATE* calls this for [XREF][class]s which are not [DREF][class]s.

An EQL-specialized method must be defined for all new locative types. This function is for extending LOCATE. Do not call it directly.

Package

dref-ext.

Source

extension-api.lisp.

Methods
Method: dref* (symbol (locative-type (eql restart)) locative-args)
Source

early.lisp.

Method: dref* :around (name locative-type locative-args)
Method: dref* (name locative-type locative-args)
Generic Reader: dref-locative (object)
Package

dref-ext.

Methods
Reader Method: dref-locative ((dref dref))

The same as XREF-LOCATIVE, but only works on [DREF][class]s. Use it as a statement of intent.

Source

dref.lisp.

Target Slot

locative.

Generic Reader: dref-name (object)
Package

dref-ext.

Methods
Reader Method: dref-name ((dref dref))

The same as XREF-NAME, but only works on [DREF][class]s. Use it as a statement of intent.

Source

dref.lisp.

Target Slot

name.

Generic Reader: dref-origin (object)
Package

dref-ext.

Methods
Reader Method: dref-origin ((dref dref))

The object from which LOCATE constructed this
[DREF][class]. This is an [XREF][class] when the LOCATIVE argument to LOCATE was non-NIL and the value NAME-OR-OBJECT argument otherwise. DREF-ORIGIN may have @PRESENTATION arguments, which are not included in LOCATIVE-ARGS as is the case with INITFORM argument of the VARIABLE locative:

“‘cl-transcript (:dynenv dref-std-env)
(dref ’*standard-output* ’(variable "see-below"))
==> #<DREF *STANDARD-OUTPUT* VARIABLE>
“‘

“‘cl-transcript (:dynenv dref-std-env)
(dref-origin (dref ’*standard-output* ’(variable "see-below"))) ==> #<XREF *STANDARD-OUTPUT* (VARIABLE "see-below")>
“‘

The INITFORM argument overrides the global binding of *STANDARD-OUTPUT* when it’s PAX:DOCUMENTed:

“‘cl-transcript (:dynenv dref-std-env)
(first-line
(pax:document (dref ’*standard-output* ’(variable "see-below")) :stream nil))
=> "- [variable] *STANDARD-OUTPUT* \"see-below\""
“‘

Source

dref.lisp.

Target Slot

origin.

Generic Function: exportable-locative-type-p (locative-type)

Return true iff symbols in references with
LOCATIVE-TYPE are to be exported by default when they occur in a DEFSECTION. The default method returns T, while the methods for SECTION, GLOSSARY-TERM, PACKAGE, ASDF:SYSTEM, METHOD and INCLUDE return NIL.

This function is called by the default method of EXPORTABLE-REFERENCE-P to decide what symbols DEFSECTION shall export when its EXPORT argument is true.

Package

mgl-pax.

Source

basics.lisp.

Methods
Method: exportable-locative-type-p ((locative-type (eql mgl-pax:include)))
Method: exportable-locative-type-p ((locative-type (eql method)))
Method: exportable-locative-type-p ((locative-type (eql package)))
Method: exportable-locative-type-p ((locative-type (eql asdf/system:system)))
Method: exportable-locative-type-p (locative-type)
Generic Function: exportable-reference-p (package symbol locative-type locative-args)

Return true iff SYMBOL is to be exported from
PACKAGE when it occurs in a DEFSECTION in a reference with LOCATIVE-TYPE and LOCATIVE-ARGS. SYMBOL is [accessible][find-symbol] in PACKAGE.

The default method calls EXPORTABLE-LOCATIVE-TYPE-P with
LOCATIVE-TYPE and ignores the other arguments.

By default, SECTIONs and GLOSSARY-TERMs are not exported although
they are EXPORTABLE-LOCATIVE-TYPE-P. To export symbols naming
sections from MGL-PAX, the following method could be added:

“‘
(defmethod exportable-reference-p ((package (eql (find-package ’mgl-pax))) symbol (locative-type (eql ’section)) locative-args)
t)
“‘

Package

mgl-pax.

Source

basics.lisp.

Methods
Method: exportable-reference-p (package symbol (locative-type (eql mgl-pax:glossary-term)) locative-args)
Method: exportable-reference-p (package symbol (locative-type (eql mgl-pax:section)) locative-args)
Method: exportable-reference-p (package symbol locative-type locative-args)
Generic Reader: glossary-term-name (object)
Package

mgl-pax.

Methods
Reader Method: glossary-term-name ((glossary-term glossary-term))

The name of the global variable whose value is this GLOSSARY-TERM object.

Source

basics.lisp.

Target Slot

name.

Generic Reader: glossary-term-title (object)
Package

mgl-pax.

Methods
Reader Method: glossary-term-title ((glossary-term glossary-term))

A markdown string or NIL. Used in generated documentation (see @OUTPUT-DETAILS).

Source

basics.lisp.

Target Slot

title.

Generic Reader: glossary-term-url (object)
Package

mgl-pax.

Methods
Reader Method: glossary-term-url ((glossary-term glossary-term))

A string or NIL.

Source

basics.lisp.

Target Slot

url.

Generic Function: locate* (object)

Return a definition of OBJECT as a [DREF][class],
without [actualizing it][ADD-DREF-ACTUALIZER]. If OBJECT is a DREF already, then this function simply returns it. If no definition is found for OBJECT, then LOCATE-ERROR is signalled.

This function is for extending LOCATE. Do not call it directly.

Package

dref-ext.

Source

extension-api.lisp.

Methods
Method: locate* :around (object)
Method: locate* (object)
Method: locate* ((xref xref))
Method: locate* ((dref dref))
Generic Function: resolve* (dref)

Return the object defined by the definition DREF
refers to. Signal a RESOLVE-ERROR condition by calling the RESOLVE-ERROR function if the lookup fails.

To keep RESOLVE a partial inverse of LOCATE, a specialized LOCATE* method or an [actualizer][ add-dref-actualizer] must be defined for RESOLVEable definitions. This function is for extending RESOLVE. Do not call it directly.

It is an error for methods of this generic function to return an [XREF][class].

Package

dref-ext.

Source

extension-api.lisp.

Methods
Method: resolve* :around ((dref dref))
Method: resolve* ((dref dref))
Generic Reader: section-name (object)
Package

mgl-pax.

Methods
Reader Method: section-name ((section section))

The name of the global variable whose value is this SECTION object.

Source

basics.lisp.

Target Slot

name.

Generic Reader: section-package (object)
Package

mgl-pax.

Methods
Reader Method: section-package ((section section))

*PACKAGE* will be bound to this package when generating documentation for this section.

Source

basics.lisp.

Target Slot

package.

Generic Reader: section-readtable (object)
Package

mgl-pax.

Methods
Reader Method: section-readtable ((section section))

*READTABLE* will be bound to this when generating documentation for this section.

Source

basics.lisp.

Target Slot

readtable.

Generic Reader: section-title (object)
Package

mgl-pax.

Methods
Reader Method: section-title ((section section))

A markdown string or NIL. Used in generated documentation.

Source

basics.lisp.

Target Slot

title.

Generic Function: source-location* (dref)

To extend SOURCE-LOCATION, specialize this on a
subclass of [DREF][class] if that subclass is not RESOLVEable, else on the type of object it resolves to. This function is for extension only. Do not call it directly.

Package

dref-ext.

Source

extension-api.lisp.

Methods
Method: source-location* ((dref dref))
Method: source-location* (object)
Generic Reader: xref-locative (object)
Package

dref-ext.

Methods
Reader Method: xref-locative ((xref xref))

The @LOCATIVE of the reference.

The locative is normalized by replacing single-element lists with their only element:

“‘cl-transcript (:dynenv dref-std-env)
(xref ’print ’function)
==> #<XREF PRINT FUNCTION>
“‘
“‘cl-transcript (:dynenv dref-std-env)
(xref ’print ’(function))
==> #<XREF PRINT FUNCTION>
“‘

Source

dref.lisp.

Target Slot

locative.

Generic Reader: xref-name (object)
Package

dref-ext.

Methods
Reader Method: xref-name ((xref xref))

The @NAME of the reference.

Source

dref.lisp.

Target Slot

name.


6.1.5 Standalone methods

Method: initialize-instance :after ((xref xref) &key &allow-other-keys)
Source

dref.lisp.

Method: print-object ((section section) stream)
Source

basics.lisp.

Method: print-object ((xref xref) stream)
Source

dref.lisp.


6.1.6 Conditions

Condition: locate-error

Signalled by LOCATE when the definition cannot be found, and ERRORP is true.

Package

dref-ext.

Source

dref.lisp.

Direct superclasses

error.

Direct methods
Direct slots
Slot: object
Package

dref.

Initargs

:object

Readers

locate-error-object.

Writers

This slot is read-only.

Slot: message
Package

dref.

Initargs

:message

Readers

locate-error-message.

Writers

This slot is read-only.

Condition: resolve-error

Signalled by RESOLVE when the object defined cannot be returned, and ERRORP is true.

Package

dref.

Source

dref.lisp.

Direct superclasses

error.

Direct methods
Direct slots
Slot: dref
Initargs

:dref

Readers

resolve-error-dref.

Writers

This slot is read-only.

Slot: message
Initargs

:message

Readers

resolve-error-message.

Writers

This slot is read-only.

Condition: transcription-consistency-error
Package

mgl-pax.

Source

transcribe-early.lisp.

Direct superclasses

transcription-error.

Condition: transcription-error
Package

mgl-pax.

Source

transcribe-early.lisp.

Direct superclasses

error.

Direct subclasses

transcription-consistency-error.

Package

mgl-pax.

Source

document-early.lisp.

Direct superclasses

warning.


6.1.7 Classes

Class: dref

[DREF][class]s can be thought of as referring to
definitions that actually exist, although changes in the system can invalidate them (for example, a DREF to a function definition can be invalidated by FMAKUNBOUND).

DREFs must be created with LOCATE, and their purpose is to allow easy specialization of other generic functions (see DREF-EXT::@EXTENDING-DREF) and to confine locative validation to LOCATE.

Package

dref.

Source

dref.lisp.

Direct superclasses

xref.

Direct subclasses

symbol-locative-dref.

Direct methods
Direct slots
Slot: name

The same as XREF-NAME, but only works on [DREF][class]s. Use it as a statement of intent.

Readers

dref-name.

Writers

This slot is read-only.

Slot: locative

The same as XREF-LOCATIVE, but only works on [DREF][class]s. Use it as a statement of intent.

Package

mgl-pax.

Readers

dref-locative.

Writers

This slot is read-only.

Slot: origin

The object from which LOCATE constructed this
[DREF][class]. This is an [XREF][class] when the LOCATIVE argument to LOCATE was non-NIL and the value NAME-OR-OBJECT argument otherwise. DREF-ORIGIN may have @PRESENTATION arguments, which are not included in LOCATIVE-ARGS as is the case with INITFORM argument of the VARIABLE locative:

“‘cl-transcript (:dynenv dref-std-env)
(dref ’*standard-output* ’(variable "see-below"))
==> #<DREF *STANDARD-OUTPUT* VARIABLE>
“‘

“‘cl-transcript (:dynenv dref-std-env)
(dref-origin (dref ’*standard-output* ’(variable "see-below"))) ==> #<XREF *STANDARD-OUTPUT* (VARIABLE "see-below")>
“‘

The INITFORM argument overrides the global binding of *STANDARD-OUTPUT* when it’s PAX:DOCUMENTed:

“‘cl-transcript (:dynenv dref-std-env)
(first-line
(pax:document (dref ’*standard-output* ’(variable "see-below")) :stream nil))
=> "- [variable] *STANDARD-OUTPUT* \"see-below\""
“‘

Readers

dref-origin.

Writers

This slot is read-only.

Class: glossary-term

See DEFINE-GLOSSARY-TERM.

Package

mgl-pax.

Source

basics.lisp.

Direct methods
Direct slots
Slot: name

The name of the global variable whose value is this GLOSSARY-TERM object.

Initargs

:name

Readers

glossary-term-name.

Writers

This slot is read-only.

Slot: title

A markdown string or NIL. Used in generated documentation (see @OUTPUT-DETAILS).

Initargs

:title

Readers

glossary-term-title.

Writers

This slot is read-only.

Slot: url

A string or NIL.

Initargs

:url

Readers

glossary-term-url.

Writers

This slot is read-only.

Slot: docstring
Initargs

:docstring

Readers

glossary-term-docstring.

Writers

This slot is read-only.

Class: restart-dref
Package

dref-ext.

Source

early.lisp.

Direct superclasses

symbol-locative-dref.

Class: section

DEFSECTION stores its NAME, TITLE, [PACKAGE][type], [READTABLE][type] and ENTRIES arguments in [SECTION][class] objects.

Package

mgl-pax.

Source

basics.lisp.

Direct methods
Direct slots
Slot: name

The name of the global variable whose value is this SECTION object.

Initargs

:name

Readers

section-name.

Writers

This slot is read-only.

Slot: package

*PACKAGE* will be bound to this package when generating documentation for this section.

Package

common-lisp.

Initargs

:package

Readers

section-package.

Writers

This slot is read-only.

Slot: readtable

*READTABLE* will be bound to this when generating documentation for this section.

Package

common-lisp.

Initargs

:readtable

Readers

section-readtable.

Writers

This slot is read-only.

Slot: title

A markdown string or NIL. Used in generated documentation.

Initargs

:title

Readers

section-title.

Writers

This slot is read-only.

Initargs

:link-title-to

Slot: %entries
Initargs

:entries

Class: symbol-locative-dref
Package

dref-ext.

Source

extension-api.lisp.

Direct superclasses

dref.

Direct subclasses

restart-dref.

Class: xref

An XREF (cross-reference) may represent some
kind of definition of its @NAME in the context given by its @LOCATIVE. The definition may not exist and the locative may be [malformed] [define-locative-type]. The subclass [DREF][class] represents definitions that exist.

Package

dref.

Source

dref.lisp.

Direct subclasses

dref.

Direct methods
Direct slots
Slot: name

The @NAME of the reference.

Initargs

:name

Readers

xref-name.

Writers

This slot is read-only.

Slot: locative

The @LOCATIVE of the reference.

The locative is normalized by replacing single-element lists with their only element:

“‘cl-transcript (:dynenv dref-std-env)
(xref ’print ’function)
==> #<XREF PRINT FUNCTION>
“‘
“‘cl-transcript (:dynenv dref-std-env)
(xref ’print ’(function))
==> #<XREF PRINT FUNCTION>
“‘

Package

mgl-pax.

Initargs

:locative

Readers

xref-locative.

Writers

This slot is read-only.


6.2 Internals


6.2.1 Special variables

Special Variable: *document-do-not-follow-references*
Package

mgl-pax.

Special Variable: *document-open-linking*
Package

mgl-pax.

Special Variable: *documenting-reference*
Package

mgl-pax.

Source

document-early.lisp.

Special Variable: *dref-actualizers*
Package

dref.

Source

extension-api.lisp.

Special Variable: *first-pass*
Package

mgl-pax.

Special Variable: *html-subformat*
Package

mgl-pax.

Special Variable: *lisp-locative-types*
Package

dref.

Source

dref.lisp.

Special Variable: *local-references*
Package

mgl-pax.

Special Variable: *locating-object*
Package

dref.

Source

extension-api.lisp.

Special Variable: *locative-aliases*
Package

dref.

Source

dref.lisp.

Special Variable: *locative-types*
Package

dref.

Source

dref.lisp.

Special Variable: *pseudo-locative-types*
Package

dref.

Source

dref.lisp.

Special Variable: *registered-pax-world-docs*
Package

mgl-pax.

Source

pax-world.lisp.

Special Variable: *resolving-dref*
Package

dref.

Source

extension-api.lisp.

Special Variable: @adding-new-locatives
Package

mgl-pax.

Source

extension-api.lisp.

Special Variable: @adding-new-locatives
Package

dref-ext.

Source

extension-api.lisp.

Special Variable: @background
Package

mgl-pax.

Source

pax.lisp.

Special Variable: @basics
Package

mgl-pax.

Source

pax.lisp.

Special Variable: @condition-system-locatives
Package

dref.

Source

package.lisp.

Special Variable: @dref-locatives
Package

dref.

Source

package.lisp.

Special Variable: @dref-manual
Package

dref.

Source

dref.lisp.

Special Variable: @dref-subclasses
Package

dref-ext.

Source

package.lisp.

Special Variable: @emacs-setup
Package

mgl-pax.

Source

pax.lisp.

Special Variable: @extending-document
Package

mgl-pax.

Source

document-early.lisp.

Special Variable: @extending-dref
Package

dref-ext.

Source

package.lisp.

Special Variable: @extension-api
Package

mgl-pax.

Source

extension-api.lisp.

Special Variable: @functionlike-locatives
Package

dref.

Source

package.lisp.

Special Variable: @github-workflow
Package

mgl-pax.

Source

document-early.lisp.

Special Variable: @glossary
Package

dref.

Source

dref.lisp.

Special Variable: @glossary-terms
Package

mgl-pax.

Source

extension-api.lisp.

Special Variable: @introduction
Package

mgl-pax.

Source

pax.lisp.

Special Variable: @introduction
Package

dref.

Source

dref.lisp.

Package

mgl-pax.

Source

pax.lisp.

Special Variable: @listing-definitions
Package

dref.

Source

dref.lisp.

Special Variable: @locative
Package

dref.

Source

dref.lisp.

Special Variable: @locative-aliases
Package

mgl-pax.

Source

extension-api.lisp.

Special Variable: @locative-type
Package

dref.

Source

dref.lisp.

Special Variable: @locative-types
Package

dref.

Source

package.lisp.

Special Variable: @locatives-and-references
Package

dref.

Source

dref.lisp.

Special Variable: @m-.
Package

mgl-pax.

Source

pax.lisp.

Special Variable: @macrolike-locatives
Package

dref.

Source

package.lisp.

Special Variable: @markdown
Package

mgl-pax.

Source

pax.lisp.

Special Variable: @name
Package

dref.

Source

dref.lisp.

Special Variable: @oaoo
Package

mgl-pax.

Source

pax.lisp.

Special Variable: @operations
Package

dref.

Source

dref.lisp.

Special Variable: @packagelike-locatives
Package

dref.

Source

package.lisp.

Special Variable: @pax-locatives
Package

mgl-pax.

Source

locatives-early.lisp.

Special Variable: @pax-manual
Package

mgl-pax.

Source

pax.lisp.

Special Variable: @pax-world
Package

mgl-pax.

Source

pax-world.lisp.

Special Variable: @presentation
Package

dref.

Source

dref.lisp.

Special Variable: @reference
Package

dref.

Source

dref.lisp.

Special Variable: @references
Package

dref-ext.

Source

package.lisp.

Special Variable: @sections
Package

mgl-pax.

Source

extension-api.lisp.

Special Variable: @slime
Package

mgl-pax.

Source

pax.lisp.

Special Variable: @source-locations
Package

dref-ext.

Source

package.lisp.

Special Variable: @symbol-locatives
Package

dref.

Source

extension-api.lisp.

Special Variable: @symbol-locatives
Package

dref-ext.

Source

package.lisp.

Special Variable: @transcripts
Package

mgl-pax.

Source

transcribe-early.lisp.

Special Variable: @typelike-locatives
Package

dref.

Source

package.lisp.

Special Variable: @variablelike-locatives
Package

dref.

Source

package.lisp.

Special Variable: end-of-register-doc-example
Package

mgl-pax.

Source

document-early.lisp.


6.2.2 Macros

Macro: %make-dref (class-name name locative &rest args)
Package

dref.

Source

extension-api.lisp.

Macro: autoload (name asdf-system-name &key export)
Package

mgl-pax.

Source

autoload.lisp.

Macro: autoload (name asdf-system-name &key export)
Package

dref.

Source

autoload.lisp.

Macro: defun/autoloaded (name lambda-list &body body)
Package

mgl-pax.

Source

autoload.lisp.

Macro: defun/autoloaded (name lambda-list &body body)
Package

dref.

Source

autoload.lisp.

Macro: symbol-lambda-list-method (symbol locative-type)
Package

dref.

Source

extension-api.lisp.

Macro: the-dref (form)
Package

dref.

Source

extension-api.lisp.

Macro: with-local-references (refs &body body)
Package

mgl-pax.

Source

document-early.lisp.

Macro: without-redefinition-warnings (&body body)
Package

mgl-pax.

Source

autoload.lisp.

Macro: without-redefinition-warnings (&body body)
Package

dref.

Source

autoload.lisp.


6.2.3 Ordinary functions

Function: actualize-dref (dref)
Package

dref.

Source

extension-api.lisp.

Function: asdf-system-git-root-and-version (system &key default-version)
Package

mgl-pax.

Source

document-early.lisp.

Function: call-with-heading (&rest args)
Package

mgl-pax.

Source

document-early.lisp.

Function: check-body-docstring (docstring)
Package

dref.

Source

extension-api.lisp.

Function: check-docstring-only-body (body)
Package

dref.

Source

extension-api.lisp.

Package

mgl-pax.

Source

basics.lisp.

Function: check-pax-elisp-version (version)
Package

mgl-pax.

Source

pax.lisp.

Function: check-section-entries (entries section-name)
Package

mgl-pax.

Source

basics.lisp.

Function: compile-without-some-warnings (continuation)
Package

mgl-pax.asdf.

Source

asdf.lisp.

Function: convert-source-location (source-location git-dir object line-file-position-cache)
Package

mgl-pax.

Source

document-early.lisp.

Function: current-definition-pax-url-for-emacs (&rest args)
Package

mgl-pax.

Source

document-early.lisp.

Function: declare-locative-alias (locative-type)
Package

dref.

Source

dref.lisp.

Function: declare-locative-type (locative-type)
Package

dref.

Source

dref.lisp.

Function: declare-pseudo-locative-type (locative-type)
Package

dref.

Source

dref.lisp.

Function: document-for-emacs (&rest args)
Package

mgl-pax.

Source

document-early.lisp.

Function: downcasingp (&rest args)
Package

mgl-pax.

Source

document-early.lisp.

Function: dref-std-env (fn)
Package

dref-ext.

Source

package.lisp.

Function: ensure-dref-loaded (&rest args)
Package

dref.

Source

dref.lisp.

Function: ensure-list (object)
Package

mgl-pax.

Source

document-early.lisp.

Function: ensure-transcribe-loaded (&rest args)
Package

mgl-pax.

Source

transcribe-early.lisp.

Function: ensure-web-server (&rest args)
Package

mgl-pax.

Source

web-early.lisp.

Function: expand-define-definer-for-symbol-as-locative-definer-body (symbol locative-type lambda-list docstring)
Package

dref.

Source

extension-api.lisp.

Function: export-some-symbols (name entries package)
Package

mgl-pax.

Source

basics.lisp.

Function: exportablep (package symbol locative)
Package

mgl-pax.

Source

basics.lisp.

Function: file-position-to-line-number (filename file-position cache)
Package

mgl-pax.

Source

document-early.lisp.

Function: find-hyperspec-definition-url (&rest args)
Package

mgl-pax.

Source

document-early.lisp.

Function: find-hyperspec-glossary-entry-id (&rest args)
Package

mgl-pax.

Source

document-early.lisp.

Function: find-hyperspec-glossary-entry-url (&rest args)
Package

mgl-pax.

Source

document-early.lisp.

Function: find-hyperspec-issue-id (&rest args)
Package

mgl-pax.

Source

document-early.lisp.

Function: find-hyperspec-issue-url (&rest args)
Package

mgl-pax.

Source

document-early.lisp.

Function: find-hyperspec-section-id (&rest args)
Package

mgl-pax.

Source

document-early.lisp.

Function: find-hyperspec-section-url (&rest args)
Package

mgl-pax.

Source

document-early.lisp.

Function: find-parent-section-for-emacs (&rest args)
Package

mgl-pax.

Source

navigate-early.lisp.

Function: format-format-and-args (format-and-args)
Package

dref.

Source

dref.lisp.

Function: git-root (pathname)
Package

mgl-pax.

Source

document-early.lisp.

Function: git-version (pathname)
Package

mgl-pax.

Source

document-early.lisp.

Function: hash-table-keys (hash-table)
Package

dref.

Source

util.lisp.

Function: in-git-p (pathname)
Package

mgl-pax.

Source

document-early.lisp.

Function: line-file-positions (filename)
Package

mgl-pax.

Source

document-early.lisp.

Function: list-designator (x)
Package

mgl-pax.

Source

pax-world.lisp.

Function: locate-definitions-for-emacs (&rest args)
Package

mgl-pax.

Source

navigate-early.lisp.

Function: locate-pax-url-for-emacs (&rest args)
Package

mgl-pax.

Source

document-early.lisp.

Function: locatives-for-name-for-emacs (&rest args)
Package

mgl-pax.

Source

document-early.lisp.

Function: macro-arg-names (arglist)
Package

dref.

Source

util.lisp.

Function: malformed-ref-list-in-section-error (what ref-list section-name)
Package

mgl-pax.

Source

basics.lisp.

Function: normalize-locative (locative)
Package

dref.

Source

dref.lisp.

Function: pathname-as-directory (pathname)
Package

mgl-pax.

Source

document-early.lisp.

Function: pax-pages ()
Package

mgl-pax.

Source

document-early.lisp.

Function: pax-sections ()
Package

mgl-pax.

Source

document-early.lisp.

Function: prin1-to-string/fully-qualified (object)
Package

mgl-pax.

Source

basics.lisp.

Function: print-reference-bullet (&rest args)
Package

mgl-pax.

Source

document-early.lisp.

Function: redocument-for-emacs (&rest args)
Package

mgl-pax.

Source

document-early.lisp.

Function: ref-list-p (obj)
Package

mgl-pax.

Source

basics.lisp.

Function: section-entry-to-xref (entry)
Package

mgl-pax.

Source

pax.lisp.

Function: symbol-accessible-in-package-p (symbol package)
Package

mgl-pax.

Source

basics.lisp.

Function: transcribe-for-emacs (&rest args)
Package

mgl-pax.

Source

transcribe-early.lisp.

Function: version<= (version1 version2)
Package

mgl-pax.

Source

pax.lisp.

Function: xref-name= (name xref)
Package

dref.

Source

dref.lisp.


6.2.4 Generic functions

Generic Reader: glossary-term-docstring (object)
Package

mgl-pax.

Methods
Reader Method: glossary-term-docstring ((glossary-term glossary-term))

automatically generated reader method

Source

basics.lisp.

Target Slot

docstring.

Generic Reader: locate-error-message (condition)
Package

dref.

Methods
Reader Method: locate-error-message ((condition locate-error))
Source

dref.lisp.

Target Slot

message.

Generic Reader: locate-error-object (condition)
Package

dref.

Methods
Reader Method: locate-error-object ((condition locate-error))
Source

dref.lisp.

Target Slot

object.

Generic Function: locative-type-lambda-list (symbol)
Package

dref.

Source

extension-api.lisp.

Methods
Method: locative-type-lambda-list ((symbol (eql restart)))
Source

early.lisp.

Generic Function: map-definitions (fn name locative-type)

Call FN with [DREF][class]s which have the given
NAME and LOCATIVE-TYPE. For most locative types, there is at most one definition, but for METHOD, for example, there may be many. The default method simply does ‘(DREF NAME LOCATIVE-TYPE NIL)‘ and calls FN with result if [DREF][function] succeeds.

This function is for extending DEFINITIONS. Do not call it directly.

Package

dref.

Source

extension-api.lisp.

Methods
Method: map-definitions (fn name locative-type)
Generic Function: map-names (fn locative-type)

Call FN with @NAMEs that form a [DREF][class] with
some locative with LOCATIVE-TYPE. The default method tries to form DREFs by combining each interned symbol with LOCATIVE-TYPE and no LOCATIVE-ARGS.

This function is for extending DREF-APROPOS. Do not call it directly.

Package

dref.

Source

extension-api.lisp.

Methods
Method: map-names (fn locative-type)
Generic Reader: resolve-error-dref (condition)
Package

dref.

Methods
Reader Method: resolve-error-dref ((condition resolve-error))
Source

dref.lisp.

Target Slot

dref.

Generic Reader: resolve-error-message (condition)
Package

dref.

Methods
Reader Method: resolve-error-message ((condition resolve-error))
Source

dref.lisp.

Target Slot

message.

Generic Function: symbol-lambda-list (symbol locative-type)
Package

dref.

Source

extension-api.lisp.


Appendix A Indexes


A.1 Concepts


A.2 Functions

Jump to:   %  
A   C   D   E   F   G   H   I   L   M   N   P   R   S   T   U   V   W   X  
Index Entry  Section

%
%make-dref: Private macros

A
actualize-dref: Private ordinary functions
add-dref-actualizer: Public ordinary functions
arglist: Public ordinary functions
arglist*: Public generic functions
arglist*: Public generic functions
arglist*: Public generic functions
asdf-system-git-root-and-version: Private ordinary functions
autoload: Private macros
autoload: Private macros

C
call-with-heading: Private ordinary functions
call-with-wrappers: Public ordinary functions
check-body-docstring: Private ordinary functions
check-docstring-only-body: Private ordinary functions
check-link-title-to: Private ordinary functions
check-locative-args: Public macros
check-pax-elisp-version: Private ordinary functions
check-section-entries: Private ordinary functions
compile-pax: Public ordinary functions
compile-per-file: Public ordinary functions
compile-with-source-info: Public ordinary functions
compile-without-some-warnings: Private ordinary functions
compose-wrappers: Public ordinary functions
convert-source-location: Private ordinary functions
current-definition-pax-url-for-emacs: Private ordinary functions

D
declare-locative-alias: Private ordinary functions
declare-locative-type: Private ordinary functions
declare-pseudo-locative-type: Private ordinary functions
define-definer-for-symbol-locative-type: Public macros
define-definition-class: Public macros
define-glossary-term: Public macros
define-locative-alias: Public macros
define-locative-type: Public macros
define-package: Public macros
define-pseudo-locative-type: Public macros
define-restart: Public macros
define-symbol-locative-type: Public macros
definitions: Public ordinary functions
defsection: Public macros
defun/autoloaded: Private macros
defun/autoloaded: Private macros
delete-comments: Public ordinary functions
delete-trailing-whitespace: Public ordinary functions
docstring: Public ordinary functions
docstring*: Public generic functions
docstring*: Public generic functions
docstring*: Public generic functions
document: Public ordinary functions
document-docstring: Public ordinary functions
document-for-emacs: Private ordinary functions
document-object*: Public generic functions
document-object*: Public generic functions
documenting-reference: Public macros
downcasingp: Private ordinary functions
dref: Public ordinary functions
dref*: Public generic functions
dref*: Public generic functions
dref*: Public generic functions
dref*: Public generic functions
dref-apropos: Public ordinary functions
dref-locative: Public generic functions
dref-locative: Public generic functions
dref-locative-args: Public ordinary functions
dref-locative-type: Public ordinary functions
dref-name: Public generic functions
dref-name: Public generic functions
dref-origin: Public generic functions
dref-origin: Public generic functions
dref-std-env: Private ordinary functions

E
ensure-dref-loaded: Private ordinary functions
ensure-list: Private ordinary functions
ensure-navigate-loaded: Public ordinary functions
ensure-transcribe-loaded: Private ordinary functions
ensure-web-server: Private ordinary functions
escape-markdown: Public ordinary functions
expand-define-definer-for-symbol-as-locative-definer-body: Private ordinary functions
export-some-symbols: Private ordinary functions
exportable-locative-type-p: Public generic functions
exportable-locative-type-p: Public generic functions
exportable-locative-type-p: Public generic functions
exportable-locative-type-p: Public generic functions
exportable-locative-type-p: Public generic functions
exportable-locative-type-p: Public generic functions
exportable-reference-p: Public generic functions
exportable-reference-p: Public generic functions
exportable-reference-p: Public generic functions
exportable-reference-p: Public generic functions
exportablep: Private ordinary functions

F
file-position-to-line-number: Private ordinary functions
find-hyperspec-definition-url: Private ordinary functions
find-hyperspec-glossary-entry-id: Private ordinary functions
find-hyperspec-glossary-entry-url: Private ordinary functions
find-hyperspec-issue-id: Private ordinary functions
find-hyperspec-issue-url: Private ordinary functions
find-hyperspec-section-id: Private ordinary functions
find-hyperspec-section-url: Private ordinary functions
find-parent-section-for-emacs: Private ordinary functions
format-format-and-args: Private ordinary functions
Function, actualize-dref: Private ordinary functions
Function, add-dref-actualizer: Public ordinary functions
Function, arglist: Public ordinary functions
Function, asdf-system-git-root-and-version: Private ordinary functions
Function, call-with-heading: Private ordinary functions
Function, call-with-wrappers: Public ordinary functions
Function, check-body-docstring: Private ordinary functions
Function, check-docstring-only-body: Private ordinary functions
Function, check-link-title-to: Private ordinary functions
Function, check-pax-elisp-version: Private ordinary functions
Function, check-section-entries: Private ordinary functions
Function, compile-pax: Public ordinary functions
Function, compile-per-file: Public ordinary functions
Function, compile-with-source-info: Public ordinary functions
Function, compile-without-some-warnings: Private ordinary functions
Function, compose-wrappers: Public ordinary functions
Function, convert-source-location: Private ordinary functions
Function, current-definition-pax-url-for-emacs: Private ordinary functions
Function, declare-locative-alias: Private ordinary functions
Function, declare-locative-type: Private ordinary functions
Function, declare-pseudo-locative-type: Private ordinary functions
Function, definitions: Public ordinary functions
Function, delete-comments: Public ordinary functions
Function, delete-trailing-whitespace: Public ordinary functions
Function, docstring: Public ordinary functions
Function, document: Public ordinary functions
Function, document-docstring: Public ordinary functions
Function, document-for-emacs: Private ordinary functions
Function, downcasingp: Private ordinary functions
Function, dref: Public ordinary functions
Function, dref-apropos: Public ordinary functions
Function, dref-locative-args: Public ordinary functions
Function, dref-locative-type: Public ordinary functions
Function, dref-std-env: Private ordinary functions
Function, ensure-dref-loaded: Private ordinary functions
Function, ensure-list: Private ordinary functions
Function, ensure-navigate-loaded: Public ordinary functions
Function, ensure-transcribe-loaded: Private ordinary functions
Function, ensure-web-server: Private ordinary functions
Function, escape-markdown: Public ordinary functions
Function, expand-define-definer-for-symbol-as-locative-definer-body: Private ordinary functions
Function, export-some-symbols: Private ordinary functions
Function, exportablep: Private ordinary functions
Function, file-position-to-line-number: Private ordinary functions
Function, find-hyperspec-definition-url: Private ordinary functions
Function, find-hyperspec-glossary-entry-id: Private ordinary functions
Function, find-hyperspec-glossary-entry-url: Private ordinary functions
Function, find-hyperspec-issue-id: Private ordinary functions
Function, find-hyperspec-issue-url: Private ordinary functions
Function, find-hyperspec-section-id: Private ordinary functions
Function, find-hyperspec-section-url: Private ordinary functions
Function, find-parent-section-for-emacs: Private ordinary functions
Function, format-format-and-args: Private ordinary functions
Function, git-root: Private ordinary functions
Function, git-version: Private ordinary functions
Function, hash-table-keys: Private ordinary functions
Function, in-git-p: Private ordinary functions
Function, install-pax-elisp: Public ordinary functions
Function, line-file-positions: Private ordinary functions
Function, lisp-locative-types: Public ordinary functions
Function, list-designator: Private ordinary functions
Function, locate: Public ordinary functions
Function, locate-definitions-for-emacs: Private ordinary functions
Function, locate-error: Public ordinary functions
Function, locate-pax-url-for-emacs: Private ordinary functions
Function, locative-aliases: Public ordinary functions
Function, locative-args: Public ordinary functions
Function, locative-type: Public ordinary functions
Function, locative-types: Public ordinary functions
Function, locatives-for-name-for-emacs: Private ordinary functions
Function, macro-arg-names: Private ordinary functions
Function, make-git-source-uri-fn: Public ordinary functions
Function, make-github-source-uri-fn: Public ordinary functions
Function, make-source-location: Public ordinary functions
Function, malformed-ref-list-in-section-error: Private ordinary functions
Function, normalize-locative: Private ordinary functions
Function, pathname-as-directory: Private ordinary functions
Function, pax-pages: Private ordinary functions
Function, pax-sections: Private ordinary functions
Function, prin1-to-markdown: Public ordinary functions
Function, prin1-to-string/fully-qualified: Private ordinary functions
Function, print-reference-bullet: Private ordinary functions
Function, pseudo-locative-types: Public ordinary functions
Function, redocument-for-emacs: Private ordinary functions
Function, ref-list-p: Private ordinary functions
Function, register-doc-in-pax-world: Public ordinary functions
Function, remove-dref-actualizer: Public ordinary functions
Function, resolve: Public ordinary functions
Function, resolve-error: Public ordinary functions
Function, section-entries: Public ordinary functions
Function, section-entry-to-xref: Private ordinary functions
Function, section-link-title-to: Public ordinary functions
Function, source-location: Public ordinary functions
Function, source-location-adjusted-file-position: Public ordinary functions
Function, source-location-buffer: Public ordinary functions
Function, source-location-buffer-position: Public ordinary functions
Function, source-location-file: Public ordinary functions
Function, source-location-file-position: Public ordinary functions
Function, source-location-p: Public ordinary functions
Function, source-location-snippet: Public ordinary functions
Function, squeeze-whitespace: Public ordinary functions
Function, symbol-accessible-in-package-p: Private ordinary functions
Function, transcribe: Public ordinary functions
Function, transcribe-for-emacs: Private ordinary functions
Function, update-asdf-system-html-docs: Public ordinary functions
Function, update-asdf-system-readmes: Public ordinary functions
Function, update-pax-world: Public ordinary functions
Function, version<=: Private ordinary functions
Function, xref: Public ordinary functions
Function, xref-locative-args: Public ordinary functions
Function, xref-locative-type: Public ordinary functions
Function, xref-name=: Private ordinary functions
Function, xref=: Public ordinary functions

G
Generic Function, arglist*: Public generic functions
Generic Function, docstring*: Public generic functions
Generic Function, document-object*: Public generic functions
Generic Function, dref*: Public generic functions
Generic Function, dref-locative: Public generic functions
Generic Function, dref-name: Public generic functions
Generic Function, dref-origin: Public generic functions
Generic Function, exportable-locative-type-p: Public generic functions
Generic Function, exportable-reference-p: Public generic functions
Generic Function, glossary-term-docstring: Private generic functions
Generic Function, glossary-term-name: Public generic functions
Generic Function, glossary-term-title: Public generic functions
Generic Function, glossary-term-url: Public generic functions
Generic Function, locate*: Public generic functions
Generic Function, locate-error-message: Private generic functions
Generic Function, locate-error-object: Private generic functions
Generic Function, locative-type-lambda-list: Private generic functions
Generic Function, map-definitions: Private generic functions
Generic Function, map-names: Private generic functions
Generic Function, resolve*: Public generic functions
Generic Function, resolve-error-dref: Private generic functions
Generic Function, resolve-error-message: Private generic functions
Generic Function, section-name: Public generic functions
Generic Function, section-package: Public generic functions
Generic Function, section-readtable: Public generic functions
Generic Function, section-title: Public generic functions
Generic Function, source-location*: Public generic functions
Generic Function, symbol-lambda-list: Private generic functions
Generic Function, xref-locative: Public generic functions
Generic Function, xref-name: Public generic functions
git-root: Private ordinary functions
git-version: Private ordinary functions
glossary-term-docstring: Private generic functions
glossary-term-docstring: Private generic functions
glossary-term-name: Public generic functions
glossary-term-name: Public generic functions
glossary-term-title: Public generic functions
glossary-term-title: Public generic functions
glossary-term-url: Public generic functions
glossary-term-url: Public generic functions

H
hash-table-keys: Private ordinary functions

I
in-git-p: Private ordinary functions
initialize-instance: Public standalone methods
install-pax-elisp: Public ordinary functions

L
line-file-positions: Private ordinary functions
lisp-locative-types: Public ordinary functions
list-designator: Private ordinary functions
locate: Public ordinary functions
locate*: Public generic functions
locate*: Public generic functions
locate*: Public generic functions
locate*: Public generic functions
locate*: Public generic functions
locate-definitions-for-emacs: Private ordinary functions
locate-error: Public ordinary functions
locate-error-message: Private generic functions
locate-error-message: Private generic functions
locate-error-object: Private generic functions
locate-error-object: Private generic functions
locate-pax-url-for-emacs: Private ordinary functions
locative-aliases: Public ordinary functions
locative-args: Public ordinary functions
locative-type: Public ordinary functions
locative-type-lambda-list: Private generic functions
locative-type-lambda-list: Private generic functions
locative-types: Public ordinary functions
locatives-for-name-for-emacs: Private ordinary functions

M
Macro, %make-dref: Private macros
Macro, autoload: Private macros
Macro, autoload: Private macros
Macro, check-locative-args: Public macros
Macro, define-definer-for-symbol-locative-type: Public macros
Macro, define-definition-class: Public macros
Macro, define-glossary-term: Public macros
Macro, define-locative-alias: Public macros
Macro, define-locative-type: Public macros
Macro, define-package: Public macros
Macro, define-pseudo-locative-type: Public macros
Macro, define-restart: Public macros
Macro, define-symbol-locative-type: Public macros
Macro, defsection: Public macros
Macro, defun/autoloaded: Private macros
Macro, defun/autoloaded: Private macros
Macro, documenting-reference: Public macros
Macro, symbol-lambda-list-method: Private macros
Macro, the-dref: Private macros
Macro, with-dislocated-names: Public macros
Macro, with-heading: Public macros
Macro, with-local-references: Private macros
Macro, without-redefinition-warnings: Private macros
Macro, without-redefinition-warnings: Private macros
macro-arg-names: Private ordinary functions
make-git-source-uri-fn: Public ordinary functions
make-github-source-uri-fn: Public ordinary functions
make-source-location: Public ordinary functions
malformed-ref-list-in-section-error: Private ordinary functions
map-definitions: Private generic functions
map-definitions: Private generic functions
map-names: Private generic functions
map-names: Private generic functions
Method, arglist*: Public generic functions
Method, arglist*: Public generic functions
Method, docstring*: Public generic functions
Method, docstring*: Public generic functions
Method, document-object*: Public generic functions
Method, dref*: Public generic functions
Method, dref*: Public generic functions
Method, dref*: Public generic functions
Method, dref-locative: Public generic functions
Method, dref-name: Public generic functions
Method, dref-origin: Public generic functions
Method, exportable-locative-type-p: Public generic functions
Method, exportable-locative-type-p: Public generic functions
Method, exportable-locative-type-p: Public generic functions
Method, exportable-locative-type-p: Public generic functions
Method, exportable-locative-type-p: Public generic functions
Method, exportable-reference-p: Public generic functions
Method, exportable-reference-p: Public generic functions
Method, exportable-reference-p: Public generic functions
Method, glossary-term-docstring: Private generic functions
Method, glossary-term-name: Public generic functions
Method, glossary-term-title: Public generic functions
Method, glossary-term-url: Public generic functions
Method, initialize-instance: Public standalone methods
Method, locate*: Public generic functions
Method, locate*: Public generic functions
Method, locate*: Public generic functions
Method, locate*: Public generic functions
Method, locate-error-message: Private generic functions
Method, locate-error-object: Private generic functions
Method, locative-type-lambda-list: Private generic functions
Method, map-definitions: Private generic functions
Method, map-names: Private generic functions
Method, print-object: Public standalone methods
Method, print-object: Public standalone methods
Method, resolve*: Public generic functions
Method, resolve*: Public generic functions
Method, resolve-error-dref: Private generic functions
Method, resolve-error-message: Private generic functions
Method, section-name: Public generic functions
Method, section-package: Public generic functions
Method, section-readtable: Public generic functions
Method, section-title: Public generic functions
Method, source-location*: Public generic functions
Method, source-location*: Public generic functions
Method, xref-locative: Public generic functions
Method, xref-name: Public generic functions

N
normalize-locative: Private ordinary functions

P
pathname-as-directory: Private ordinary functions
pax-pages: Private ordinary functions
pax-sections: Private ordinary functions
prin1-to-markdown: Public ordinary functions
prin1-to-string/fully-qualified: Private ordinary functions
print-object: Public standalone methods
print-object: Public standalone methods
print-reference-bullet: Private ordinary functions
pseudo-locative-types: Public ordinary functions

R
redocument-for-emacs: Private ordinary functions
ref-list-p: Private ordinary functions
register-doc-in-pax-world: Public ordinary functions
remove-dref-actualizer: Public ordinary functions
resolve: Public ordinary functions
resolve*: Public generic functions
resolve*: Public generic functions
resolve*: Public generic functions
resolve-error: Public ordinary functions
resolve-error-dref: Private generic functions
resolve-error-dref: Private generic functions
resolve-error-message: Private generic functions
resolve-error-message: Private generic functions

S
section-entries: Public ordinary functions
section-entry-to-xref: Private ordinary functions
section-link-title-to: Public ordinary functions
section-name: Public generic functions
section-name: Public generic functions
section-package: Public generic functions
section-package: Public generic functions
section-readtable: Public generic functions
section-readtable: Public generic functions
section-title: Public generic functions
section-title: Public generic functions
source-location: Public ordinary functions
source-location*: Public generic functions
source-location*: Public generic functions
source-location*: Public generic functions
source-location-adjusted-file-position: Public ordinary functions
source-location-buffer: Public ordinary functions
source-location-buffer-position: Public ordinary functions
source-location-file: Public ordinary functions
source-location-file-position: Public ordinary functions
source-location-p: Public ordinary functions
source-location-snippet: Public ordinary functions
squeeze-whitespace: Public ordinary functions
symbol-accessible-in-package-p: Private ordinary functions
symbol-lambda-list: Private generic functions
symbol-lambda-list-method: Private macros

T
the-dref: Private macros
transcribe: Public ordinary functions
transcribe-for-emacs: Private ordinary functions

U
update-asdf-system-html-docs: Public ordinary functions
update-asdf-system-readmes: Public ordinary functions
update-pax-world: Public ordinary functions

V
version<=: Private ordinary functions

W
with-dislocated-names: Public macros
with-heading: Public macros
with-local-references: Private macros
without-redefinition-warnings: Private macros
without-redefinition-warnings: Private macros

X
xref: Public ordinary functions
xref-locative: Public generic functions
xref-locative: Public generic functions
xref-locative-args: Public ordinary functions
xref-locative-type: Public ordinary functions
xref-name: Public generic functions
xref-name: Public generic functions
xref-name=: Private ordinary functions
xref=: Public ordinary functions


A.3 Variables

Jump to:   %   *   @  
D   E   L   M   N   O   P   R   S   T   U  
Index Entry  Section

%
%entries: Public classes
%link-title-to: Public classes

*
*browse-html-style*: Public special variables
*discard-documentation-p*: Public special variables
*document-base-url*: Public special variables
*document-do-not-follow-references*: Private special variables
*document-downcase-uppercase-code*: Public special variables
*document-fancy-html-navigation*: Public special variables
*document-html-bottom-blocks-of-links*: Public special variables
*document-html-default-style*: Public special variables
*document-html-head*: Public special variables
*document-html-max-navigation-table-of-contents-level*: Public special variables
*document-html-sidebar*: Public special variables
*document-html-top-blocks-of-links*: Public special variables
*document-hyperspec-root*: Public special variables
*document-link-code*: Public special variables
*document-link-sections*: Public special variables
*document-link-to-hyperspec*: Public special variables
*document-mark-up-signatures*: Public special variables
*document-max-numbering-level*: Public special variables
*document-max-table-of-contents-level*: Public special variables
*document-min-link-hash-length*: Public special variables
*document-normalize-packages*: Public special variables
*document-open-linking*: Private special variables
*document-text-navigation*: Public special variables
*document-uppercase-is-code*: Public special variables
*document-url-versions*: Public special variables
*documenting-reference*: Private special variables
*dref-actualizers*: Private special variables
*first-pass*: Private special variables
*format*: Public special variables
*html-subformat*: Private special variables
*lisp-locative-types*: Private special variables
*local-references*: Private special variables
*locating-object*: Private special variables
*locative-aliases*: Private special variables
*locative-types*: Private special variables
*pseudo-locative-types*: Private special variables
*registered-pax-world-docs*: Private special variables
*resolving-dref*: Private special variables
*transcribe-check-consistency*: Public special variables
*transcribe-syntaxes*: Public special variables

@
@adding-new-locatives: Private special variables
@adding-new-locatives: Private special variables
@background: Private special variables
@basics: Private special variables
@condition-system-locatives: Private special variables
@dref-locatives: Private special variables
@dref-manual: Private special variables
@dref-subclasses: Private special variables
@emacs-setup: Private special variables
@extending-document: Private special variables
@extending-dref: Private special variables
@extension-api: Private special variables
@functionlike-locatives: Private special variables
@github-workflow: Private special variables
@glossary: Private special variables
@glossary-terms: Private special variables
@introduction: Private special variables
@introduction: Private special variables
@links: Private special variables
@listing-definitions: Private special variables
@locative: Private special variables
@locative-aliases: Private special variables
@locative-type: Private special variables
@locative-types: Private special variables
@locatives-and-references: Private special variables
@m-.: Private special variables
@macrolike-locatives: Private special variables
@markdown: Private special variables
@name: Private special variables
@oaoo: Private special variables
@operations: Private special variables
@packagelike-locatives: Private special variables
@pax-locatives: Private special variables
@pax-manual: Private special variables
@pax-world: Private special variables
@presentation: Private special variables
@reference: Private special variables
@references: Private special variables
@sections: Private special variables
@slime: Private special variables
@source-locations: Private special variables
@symbol-locatives: Private special variables
@symbol-locatives: Private special variables
@transcripts: Private special variables
@typelike-locatives: Private special variables
@variablelike-locatives: Private special variables

D
docstring: Public classes
dref: Public conditions

E
end-of-register-doc-example: Private special variables

L
locative: Public classes
locative: Public classes

M
message: Public conditions
message: Public conditions

N
name: Public classes
name: Public classes
name: Public classes
name: Public classes

O
object: Public conditions
origin: Public classes

P
package: Public classes

R
readtable: Public classes

S
Slot, %entries: Public classes
Slot, %link-title-to: Public classes
Slot, docstring: Public classes
Slot, dref: Public conditions
Slot, locative: Public classes
Slot, locative: Public classes
Slot, message: Public conditions
Slot, message: Public conditions
Slot, name: Public classes
Slot, name: Public classes
Slot, name: Public classes
Slot, name: Public classes
Slot, object: Public conditions
Slot, origin: Public classes
Slot, package: Public classes
Slot, readtable: Public classes
Slot, title: Public classes
Slot, title: Public classes
Slot, url: Public classes
Special Variable, *browse-html-style*: Public special variables
Special Variable, *discard-documentation-p*: Public special variables
Special Variable, *document-base-url*: Public special variables
Special Variable, *document-do-not-follow-references*: Private special variables
Special Variable, *document-downcase-uppercase-code*: Public special variables
Special Variable, *document-fancy-html-navigation*: Public special variables
Special Variable, *document-html-bottom-blocks-of-links*: Public special variables
Special Variable, *document-html-default-style*: Public special variables
Special Variable, *document-html-head*: Public special variables
Special Variable, *document-html-max-navigation-table-of-contents-level*: Public special variables
Special Variable, *document-html-sidebar*: Public special variables
Special Variable, *document-html-top-blocks-of-links*: Public special variables
Special Variable, *document-hyperspec-root*: Public special variables
Special Variable, *document-link-code*: Public special variables
Special Variable, *document-link-sections*: Public special variables
Special Variable, *document-link-to-hyperspec*: Public special variables
Special Variable, *document-mark-up-signatures*: Public special variables
Special Variable, *document-max-numbering-level*: Public special variables
Special Variable, *document-max-table-of-contents-level*: Public special variables
Special Variable, *document-min-link-hash-length*: Public special variables
Special Variable, *document-normalize-packages*: Public special variables
Special Variable, *document-open-linking*: Private special variables
Special Variable, *document-text-navigation*: Public special variables
Special Variable, *document-uppercase-is-code*: Public special variables
Special Variable, *document-url-versions*: Public special variables
Special Variable, *documenting-reference*: Private special variables
Special Variable, *dref-actualizers*: Private special variables
Special Variable, *first-pass*: Private special variables
Special Variable, *format*: Public special variables
Special Variable, *html-subformat*: Private special variables
Special Variable, *lisp-locative-types*: Private special variables
Special Variable, *local-references*: Private special variables
Special Variable, *locating-object*: Private special variables
Special Variable, *locative-aliases*: Private special variables
Special Variable, *locative-types*: Private special variables
Special Variable, *pseudo-locative-types*: Private special variables
Special Variable, *registered-pax-world-docs*: Private special variables
Special Variable, *resolving-dref*: Private special variables
Special Variable, *transcribe-check-consistency*: Public special variables
Special Variable, *transcribe-syntaxes*: Public special variables
Special Variable, @adding-new-locatives: Private special variables
Special Variable, @adding-new-locatives: Private special variables
Special Variable, @background: Private special variables
Special Variable, @basics: Private special variables
Special Variable, @condition-system-locatives: Private special variables
Special Variable, @dref-locatives: Private special variables
Special Variable, @dref-manual: Private special variables
Special Variable, @dref-subclasses: Private special variables
Special Variable, @emacs-setup: Private special variables
Special Variable, @extending-document: Private special variables
Special Variable, @extending-dref: Private special variables
Special Variable, @extension-api: Private special variables
Special Variable, @functionlike-locatives: Private special variables
Special Variable, @github-workflow: Private special variables
Special Variable, @glossary: Private special variables
Special Variable, @glossary-terms: Private special variables
Special Variable, @introduction: Private special variables
Special Variable, @introduction: Private special variables
Special Variable, @links: Private special variables
Special Variable, @listing-definitions: Private special variables
Special Variable, @locative: Private special variables
Special Variable, @locative-aliases: Private special variables
Special Variable, @locative-type: Private special variables
Special Variable, @locative-types: Private special variables
Special Variable, @locatives-and-references: Private special variables
Special Variable, @m-.: Private special variables
Special Variable, @macrolike-locatives: Private special variables
Special Variable, @markdown: Private special variables
Special Variable, @name: Private special variables
Special Variable, @oaoo: Private special variables
Special Variable, @operations: Private special variables
Special Variable, @packagelike-locatives: Private special variables
Special Variable, @pax-locatives: Private special variables
Special Variable, @pax-manual: Private special variables
Special Variable, @pax-world: Private special variables
Special Variable, @presentation: Private special variables
Special Variable, @reference: Private special variables
Special Variable, @references: Private special variables
Special Variable, @sections: Private special variables
Special Variable, @slime: Private special variables
Special Variable, @source-locations: Private special variables
Special Variable, @symbol-locatives: Private special variables
Special Variable, @symbol-locatives: Private special variables
Special Variable, @transcripts: Private special variables
Special Variable, @typelike-locatives: Private special variables
Special Variable, @variablelike-locatives: Private special variables
Special Variable, end-of-register-doc-example: Private special variables

T
title: Public classes
title: Public classes

U
url: Public classes


A.4 Data types

Jump to:   A   B   C   D   E   F   G   L   M   N   P   R   S   T   U   W   X  
Index Entry  Section

A
asdf.lisp: The mgl-pax․asdf/asdf․lisp file
autoload.lisp: The mgl-pax/src/base//autoload․lisp file
autoload.lisp: The dref/src/base//autoload․lisp file

B
basics.lisp: The mgl-pax-bootstrap/src/bootstrap//basics․lisp file

C
Class, dref: Public classes
Class, glossary-term: Public classes
Class, restart-dref: Public classes
Class, section: Public classes
Class, symbol-locative-dref: Public classes
Class, xref: Public classes
Condition, locate-error: Public conditions
Condition, resolve-error: Public conditions
Condition, transcription-consistency-error: Public conditions
Condition, transcription-error: Public conditions
Condition, unresolvable-reflink: Public conditions

D
document-early.lisp: The mgl-pax/src/base//document-early․lisp file
dref: The dref system
dref: The dref package
dref: Public classes
dref-ext: The dref-ext package
dref.asd: The dref/dref․asd file
dref.lisp: The dref/src/base//dref․lisp file

E
early.lisp: The dref/src/base//early․lisp file
extension-api.lisp: The mgl-pax/src/base//extension-api․lisp file
extension-api.lisp: The dref/src/base//extension-api․lisp file

F
File, asdf.lisp: The mgl-pax․asdf/asdf․lisp file
File, autoload.lisp: The mgl-pax/src/base//autoload․lisp file
File, autoload.lisp: The dref/src/base//autoload․lisp file
File, basics.lisp: The mgl-pax-bootstrap/src/bootstrap//basics․lisp file
File, document-early.lisp: The mgl-pax/src/base//document-early․lisp file
File, dref.asd: The dref/dref․asd file
File, dref.lisp: The dref/src/base//dref․lisp file
File, early.lisp: The dref/src/base//early․lisp file
File, extension-api.lisp: The mgl-pax/src/base//extension-api․lisp file
File, extension-api.lisp: The dref/src/base//extension-api․lisp file
File, locatives-early.lisp: The mgl-pax/src/base//locatives-early․lisp file
File, mgl-pax-bootstrap.asd: The mgl-pax-bootstrap/mgl-pax-bootstrap․asd file
File, mgl-pax.asd: The mgl-pax/mgl-pax․asd file
File, mgl-pax.asdf.asd: The mgl-pax․asdf/mgl-pax․asdf․asd file
File, navigate-early.lisp: The mgl-pax/src/base//navigate-early․lisp file
File, package.lisp: The mgl-pax-bootstrap/src/bootstrap//package․lisp file
File, package.lisp: The dref/src/base//package․lisp file
File, pax-world.lisp: The mgl-pax-bootstrap/src/bootstrap//pax-world․lisp file
File, pax.lisp: The mgl-pax/src/base//pax․lisp file
File, transcribe-early.lisp: The mgl-pax/src/base//transcribe-early․lisp file
File, util.lisp: The dref/src/base//util․lisp file
File, web-early.lisp: The mgl-pax/src/base//web-early․lisp file

G
glossary-term: Public classes

L
locate-error: Public conditions
locatives-early.lisp: The mgl-pax/src/base//locatives-early․lisp file

M
mgl-pax: The mgl-pax system
mgl-pax: The mgl-pax package
mgl-pax-bootstrap: The mgl-pax-bootstrap system
mgl-pax-bootstrap.asd: The mgl-pax-bootstrap/mgl-pax-bootstrap․asd file
mgl-pax.asd: The mgl-pax/mgl-pax․asd file
mgl-pax.asdf: The mgl-pax․asdf system
mgl-pax.asdf: The mgl-pax․asdf package
mgl-pax.asdf.asd: The mgl-pax․asdf/mgl-pax․asdf․asd file
Module, src/base/: The mgl-pax/src/base/ module
Module, src/base/: The dref/src/base/ module
Module, src/bootstrap/: The mgl-pax-bootstrap/src/bootstrap/ module

N
navigate-early.lisp: The mgl-pax/src/base//navigate-early․lisp file

P
Package, dref: The dref package
Package, dref-ext: The dref-ext package
Package, mgl-pax: The mgl-pax package
Package, mgl-pax.asdf: The mgl-pax․asdf package
package.lisp: The mgl-pax-bootstrap/src/bootstrap//package․lisp file
package.lisp: The dref/src/base//package․lisp file
pax-world.lisp: The mgl-pax-bootstrap/src/bootstrap//pax-world․lisp file
pax.lisp: The mgl-pax/src/base//pax․lisp file

R
resolve-error: Public conditions
restart-dref: Public classes

S
section: Public classes
src/base/: The mgl-pax/src/base/ module
src/base/: The dref/src/base/ module
src/bootstrap/: The mgl-pax-bootstrap/src/bootstrap/ module
symbol-locative-dref: Public classes
System, dref: The dref system
System, mgl-pax: The mgl-pax system
System, mgl-pax-bootstrap: The mgl-pax-bootstrap system
System, mgl-pax.asdf: The mgl-pax․asdf system

T
transcribe-early.lisp: The mgl-pax/src/base//transcribe-early․lisp file
transcription-consistency-error: Public conditions
transcription-error: Public conditions

U
unresolvable-reflink: Public conditions
util.lisp: The dref/src/base//util․lisp file

W
web-early.lisp: The mgl-pax/src/base//web-early․lisp file

X
xref: Public classes