The slynk Reference Manual

This is the slynk Reference Manual, generated automatically by Declt version 4.0 beta 2 "William Riker" on Mon Feb 26 17:54:32 2024 GMT+0.

Table of Contents


1 Introduction


2 Systems

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


2.1 slynk

Source

slynk.asd.

Child Components

3 Modules

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


3.1 slynk/backend

Dependency

slynk-source-file-cache.lisp (file).

Source

slynk.asd.

Parent Component

slynk (system).

Child Component

sbcl.lisp (file).


4 Files

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


4.1 Lisp


4.1.1 slynk/slynk.asd

Source

slynk.asd.

Parent Component

slynk (system).

ASDF Systems

slynk.


4.1.2 slynk/slynk-match.lisp

Source

slynk.asd.

Parent Component

slynk (system).

Packages

slynk-match.

Public Interface

match (macro).

Internals

4.1.3 slynk/slynk-backend.lisp

Dependency

slynk-match.lisp (file).

Source

slynk.asd.

Parent Component

slynk (system).

Packages
Public Interface
Internals

4.1.4 slynk/slynk-source-path-parser.lisp

Dependency

slynk-backend.lisp (file).

Source

slynk.asd.

Parent Component

slynk (system).

Packages

slynk-source-path-parser.

Public Interface
Internals

4.1.5 slynk/slynk-source-file-cache.lisp

Dependency

slynk-source-path-parser.lisp (file).

Source

slynk.asd.

Parent Component

slynk (system).

Packages

slynk-source-file-cache.

Public Interface
Internals

4.1.6 slynk/backend/sbcl.lisp

Source

slynk.asd.

Parent Component

backend (module).

Packages

slynk-sbcl.

Public Interface
Internals

4.1.7 slynk/slynk-gray.lisp

Dependency

backend (module).

Source

slynk.asd.

Parent Component

slynk (system).

Packages

slynk-gray.

Public Interface
Internals

4.1.8 slynk/slynk-rpc.lisp

Dependency

slynk-gray.lisp (file).

Source

slynk.asd.

Parent Component

slynk (system).

Packages

slynk-rpc.

Public Interface
Internals

4.1.9 slynk/slynk.lisp

Dependency

slynk-rpc.lisp (file).

Source

slynk.asd.

Parent Component

slynk (system).

Packages
Public Interface
Internals

4.1.10 slynk/slynk-completion.lisp

Dependency

slynk.lisp (file).

Source

slynk.asd.

Parent Component

slynk (system).

Packages
Public Interface
Internals

4.1.11 slynk/slynk-apropos.lisp

Dependency

slynk-completion.lisp (file).

Source

slynk.asd.

Parent Component

slynk (system).

Packages

slynk-apropos.

Public Interface
Internals

5 Packages

Packages are listed by definition order.


5.1 slynk-sbcl

Source

sbcl.lisp.

Use List
Public Interface

with-sbcl-version>= (macro).

Internals

5.2 slynk-completion-local-nicknames-test

Source

slynk-completion.lisp.

Use List

common-lisp.


5.3 slynk-match

Source

slynk-match.lisp.

Use List

common-lisp.

Used By List

slynk.

Public Interface

match (macro).

Internals

5.4 slynk-backend

Source

slynk-backend.lisp.

Use List

common-lisp.

Used By List
Public Interface
Internals

5.5 slynk-mop

Source

slynk-backend.lisp.

Public Interface

slot-definition-documentation (function).


5.6 slynk-source-file-cache

Source

slynk-source-file-cache.lisp.

Use List
Used By List

slynk-sbcl.

Public Interface
Internals

5.7 slynk-gray

Source

slynk-gray.lisp.

Use List
Internals

5.8 slynk-rpc

Source

slynk-rpc.lisp.

Use List

common-lisp.

Used By List

slynk.

Public Interface
Internals

5.9 slynk-api

Source

slynk.lisp.

Used By List

5.10 slynk-completion

Source

slynk-completion.lisp.

Use List
Public Interface
Internals

5.11 slynk

Source

slynk.lisp.

Use List
Public Interface
Internals

5.12 slynk-source-path-parser

Source

slynk-source-path-parser.lisp.

Use List

common-lisp.

Used By List

slynk-sbcl.

Public Interface
Internals

5.13 slynk-apropos

Source

slynk-apropos.lisp.

Use 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: *after-toggle-trace-hook*

Hook called whenever a SPEC is traced or untraced.

If non-nil, called with two arguments SPEC and TRACED-P.

Package

slynk.

Source

slynk.lisp.

Special Variable: *auto-flush-interval*
Package

slynk-backend.

Source

slynk-backend.lisp.

Special Variable: *backtrace-printer-bindings*

Pretter settings for printing backtraces.

Package

slynk.

Source

slynk.lisp.

Special Variable: *buffer-readtable*

Readtable associated with the current buffer

Package

slynk.

Source

slynk.lisp.

Special Variable: *communication-style*
Package

slynk.

Source

slynk.lisp.

Special Variable: *configure-emacs-indentation*

When true, automatically send indentation information to Emacs after each command.

Package

slynk.

Source

slynk.lisp.

Special Variable: *debug-slynk-backend*

If this is true, backends should not catch errors but enter the debugger where appropriate. Also, they should not perform backtrace magic but really show every frame including SLYNK related ones.

Package

slynk-backend.

Source

slynk-backend.lisp.

Special Variable: *debugger-extra-options*

A property list of extra options describing a condition. This works much like the CONDITION-EXTRAS interface, but can be dynamically bound by contribs when invoking the debugger.

Package

slynk.

Source

slynk.lisp.

Special Variable: *default-worker-thread-bindings*

An alist to initialize dynamic variables in worker threads.
The list has the form ((VAR . VALUE) ...). Each variable VAR will be bound to the corresponding VALUE.

Package

slynk.

Source

slynk.lisp.

Special Variable: *dont-close*

Default value of :dont-close argument to start-server and create-server.

Package

slynk.

Source

slynk.lisp.

Special Variable: *echo-number-alist*

Alist of functions used for presenting numbers in the echo area.

Each element takes the form (TYPE . FUNCTIONS), where TYPE is a type designator and FUNCTIONS is a list of function designators for displaying that number in SLY. Each function takes the number as a single argument and returns a string, or nil, if that particular representation is to be disregarded.

Additionally if a given function chooses to return t as its optional second value, then all the remaining functions following it in the list are disregarded.

Package

slynk.

Source

slynk.lisp.

Special Variable: *eval-for-emacs-wrappers*

List of functions for fine-grained control over form evaluation. Each element must be a function taking an arbitrary number of arguments, the first of which is a function of no arguments, call it IN-FUNCTION, while the remaining are bound to the EXTRA-REX-OPTIONS parameter of EVAL-FOR-EMACS. Every function *must* return another function of no arguments, call it OUT-FUNCTION, that, when called, *must* call IN-FUNCTION in whatever dynamic environment it sees fit.

Slynk will go through the elements of this variable in order, passing a function that evaluates the form coming from Emacs to the first element until it collects the result of the last, which is finally called with no arguments.

Be careful when changing this variable since you may mess very basic functionality of your Slynk, including the ability to correct any errors you make.

Package

slynk.

Source

slynk.lisp.

Special Variable: *fasl-pathname-function*

In non-nil, use this function to compute the name for fasl-files.

Package

slynk.

Source

slynk.lisp.

Special Variable: *find-definitions-left-trim*
Package

slynk.

Source

slynk.lisp.

Special Variable: *find-definitions-right-trim*
Package

slynk.

Source

slynk.lisp.

Special Variable: *global-debugger*

Non-nil means the Slynk debugger hook will be installed globally.

Package

slynk.

Source

slynk.lisp.

Special Variable: *interrupt-queued-handler*

Function to call on queued interrupts.
Interrupts get queued when an interrupt occurs while interrupt handling is disabled.

Backends can use this function to abort slow operations.

Package

slynk-backend.

Source

slynk-backend.lisp.

Special Variable: *log-events*
Package

slynk.

Source

slynk.lisp.

Special Variable: *log-output*
Package

slynk.

Source

slynk.lisp.

Special Variable: *loopback-interface*
Package

slynk.

Source

slynk.lisp.

Special Variable: *macroexpand-printer-bindings*

Pretty-pretty bindings to use when expanding macros

Package

slynk.

Source

slynk.lisp.

Special Variable: *pending-sly-interrupts*
Package

slynk-backend.

Source

slynk-backend.lisp.

Special Variable: *preferred-apropos-matcher*

Preferred matcher for apropos searches.
Value is a function of three arguments , PATTERN, CASE-SENSITIVE and SYMBOL-NAME-FN that should return a function, called MATCHER of one argument, a SYMBOL. MATCHER should return non-nil if PATTERN somehow matches the result of applying SYMBOL-NAME-FN to SYMBOL, according to CASE-SENSITIVE. The non-nil return value can be a list of integer or a list of lists of integers.

Package

slynk-apropos.

Source

slynk-apropos.lisp.

Special Variable: *present-number-alist*

Alist of functions used for presenting numbers the REPL.

This is an "override". If nil the (the alist is empty) the value of *ECHO-NUMBER-ALIST* is used, otherwise the structure is exactly the same as that variable.

Package

slynk.

Source

slynk.lisp.

Special Variable: *readtable-alist*

An alist mapping package names to readtables.

Package

slynk.

Source

slynk.lisp.

Special Variable: *sly-db-quit-restart*

The restart that will be invoked when the user calls sly-db-quit.

Package

slynk.

Source

slynk.lisp.

Special Variable: *slynk-pprint-bindings*

A list of variables bindings during pretty printing. Used by pprint-eval.

Package

slynk.

Source

slynk.lisp.

Special Variable: *source-snippet-size*

Maximum number of characters in a snippet of source code. Snippets at the beginning of definitions are used to tell Emacs what the definitions looks like, so that it can accurately find them by text search.

Package

slynk-source-file-cache.

Source

slynk-source-file-cache.lisp.

Special Variable: *string-elision-length*

Maximum length of a sring before elision by SLYNK-PPRINT.

Package

slynk.

Source

slynk.lisp.

Special Variable: *translating-swank-to-slynk*

Set to true to ensure SWANK*::SYMBOL is interned SLYNK*::SYMBOL. Set by default to T to ensure that bootstrapping can occur from clients sending strings like this on the wire.

(:EMACS-REX (SWANK:CONNECTION-INFO) NIL T 1)

*before* the slynk-retro.lisp contrib kicks in and renames SLYNK* packages to SWANK*. After this happens, this variable is set to NIL, since the translation is no longer necessary.

The user that is completely sure that Slynk will always be contacted by SLY clients **without** the sly-retro.el contrib, can also set this to NIL in her ~/.swankrc. Generally best left alone.

Package

slynk-rpc.

Source

slynk-rpc.lisp.


6.1.2 Macros

Macro: converting-errors-to-error-location (&body body)

Catches errors during BODY and converts them to an error location.

Package

slynk-backend.

Source

slynk-backend.lisp.

Macro: defimplementation (name args &body body)
Package

slynk-backend.

Source

slynk-backend.lisp.

Macro: definterface (name args documentation &rest default-body)

Define an interface function for the backend to implement.
A function is defined with NAME, ARGS, and DOCUMENTATION. This function first looks for a function to call in NAME’s property list that is indicated by ’IMPLEMENTATION; failing that, it looks for a function indicated by ’DEFAULT. If neither is present, an error is signaled.

If a DEFAULT-BODY is supplied, then a function with the same body and ARGS will be added to NAME’s property list as the property indicated by ’DEFAULT.

Backends implement these functions using DEFIMPLEMENTATION.

Package

slynk-backend.

Source

slynk-backend.lisp.

Macro: label-value-line* (&rest label-values)
Package

slynk-backend.

Source

slynk-backend.lisp.

Macro: match (expression &body patterns)
Package

slynk-match.

Source

slynk-match.lisp.

Macro: when-let ((var value) &body body)
Package

slynk-backend.

Source

slynk-backend.lisp.

Macro: with-compilation-hooks ((&rest ignore) &body body)

Execute BODY as in CALL-WITH-COMPILATION-HOOKS.

Package

slynk-backend.

Source

slynk-backend.lisp.

Macro: with-sbcl-version>= (&rest subversions)
Package

slynk-sbcl.

Source

sbcl.lisp.

Macro: with-struct ((conc-name &rest names) obj &body body)

Like with-slots but works only for structs.

Package

slynk-backend.

Source

slynk-backend.lisp.


6.1.3 Ordinary functions

Function: accept-connection (socket &key external-format buffering timeout)

Accept a client connection on the listening socket SOCKET. Return a stream for the new connection.
If EXTERNAL-FORMAT is nil return a binary stream otherwise create a character stream.
BUFFERING can be one of:
nil ... no buffering
t ... enable buffering
:line ... enable buffering with automatic flushing on eol.

Package

slynk-backend.

Source

slynk-backend.lisp.

Function: activate-stepping (frame-number)

Prepare the frame FRAME-NUMBER for stepping.

Package

slynk-backend.

Source

slynk-backend.lisp.

Function: add-fd-handler (socket fn)

Call FN when Lisp is waiting for input and SOCKET is readable.

Package

slynk-backend.

Source

slynk-backend.lisp.

Function: add-sigio-handler (socket fn)

Call FN whenever SOCKET is readable.

Package

slynk-backend.

Source

slynk-backend.lisp.

Function: all-threads ()

Return a fresh list of all threads.

Package

slynk-backend.

Source

slynk-backend.lisp.

Function: apropos-list-for-emacs (pattern &optional external-only case-sensitive package)

Make an apropos search for Emacs. The result is a list of property lists.

Package

slynk-apropos.

Source

slynk-apropos.lisp.

Function: arglist (name)

Return the lambda list for the symbol NAME. NAME can also be a lisp function object, on lisps which support this.

The result can be a list or the :not-available keyword if the arglist cannot be determined.

Package

slynk-backend.

Source

slynk-backend.lisp.

Function: authenticate-client (stream)
Package

slynk.

Source

slynk.lisp.

Function: auto-flush-loop (stream interval &optional receive)
Package

slynk-backend.

Source

slynk-backend.lisp.

Function: background-save-image (filename &key restart-function completion-function)

Request saving a heap image to the file FILENAME.
RESTART-FUNCTION, if non-nil, should be called when the image is loaded. COMPLETION-FUNCTION, if non-nil, should be called after saving the image.

Package

slynk-backend.

Source

slynk-backend.lisp.

Function: backtrace (start end)

Return a list ((I FRAME PLIST) ...) of frames from START to END.

I is an integer, and can be used to reference the corresponding frame from Emacs; FRAME is a string representation of an implementation’s frame.

Package

slynk.

Source

slynk.lisp.

Function: boolean-to-feature-expression (value)

Converts a boolean VALUE to a form suitable for testing with #+.

Package

slynk-backend.

Source

slynk-backend.lisp.

Function: buffer-first-change (filename)

Called for effect the first time FILENAME’s buffer is modified. CMUCL/SBCL use this to cache the unmodified file and use the unmodified text to improve the precision of source locations.

Package

slynk-backend.

Source

slynk-backend.lisp.

Function: call-with-compilation-hooks (func)

Call FUNC with hooks to record compiler conditions.

Package

slynk-backend.

Source

slynk-backend.lisp.

Function: call-with-debugger-hook (hook fun)

Call FUN and use HOOK as debugger hook. HOOK can be NIL.

HOOK should be called for both BREAK and INVOKE-DEBUGGER.

Package

slynk-backend.

Source

slynk-backend.lisp.

Function: call-with-debugging-environment (debugger-loop-fn)

Call DEBUGGER-LOOP-FN in a suitable debugging environment.

This function is called recursively at each debug level to invoke the debugger loop. The purpose is to setup any necessary environment for other debugger callbacks that will be called within the debugger loop.

For example, this is a reasonable place to compute a backtrace, switch to safe reader/printer settings, and so on.

Package

slynk-backend.

Source

slynk-backend.lisp.

Function: call-with-lock-held (lock function)

Call FUNCTION with LOCK held, queueing if necessary.

Package

slynk-backend.

Source

slynk-backend.lisp.

Function: call-with-syntax-hooks (fn)

Call FN with hooks to handle special syntax.

Package

slynk-backend.

Source

slynk-backend.lisp.

Function: call-with-user-break-handler (handler function)

Install the break handler HANDLER while executing FUNCTION.

Package

slynk-backend.

Source

slynk-backend.lisp.

Function: calls-who (function-name)

Return the list of functions called by FUNCTION-NAME (a symbol). The results is a list ((DSPEC LOCATION) ...).

Package

slynk-backend.

Source

slynk-backend.lisp.

Function: character-completion-set (prefix matchp)

Return a list of names of characters that match PREFIX.

Package

slynk-backend.

Source

slynk-backend.lisp.

Function: check-sly-interrupts ()

Execute pending interrupts if any.
This should be called periodically in operations which
can take a long time to complete.
Return a boolean indicating whether any interrupts was processed.

Package

slynk-backend.

Source

slynk-backend.lisp.

Function: choose-symbol (package name alt-package alt-name)

If symbol package:name exists return that symbol, otherwise alt-package:alt-name. Suitable for use with #.

Package

slynk-backend.

Source

slynk-backend.lisp.

Function: close-socket (socket)

Close the socket SOCKET.

Package

slynk-backend.

Source

slynk-backend.lisp.

Function: codepoint-length (string)

Return the number of codepoints in STRING.
With some Lisps, like cmucl, LENGTH returns the number of UTF-16 code units, but other Lisps return the number of codepoints. The sly protocol wants string lengths in terms of codepoints.

Package

slynk-backend.

Source

slynk-backend.lisp.

Function: command-line-args ()

Return a list of strings as passed by the OS.

Package

slynk-backend.

Source

slynk-backend.lisp.

Function: commit-edited-value (form value)

Set the value of a setf’able FORM to VALUE. FORM and VALUE are both strings from Emacs.

Package

slynk.

Source

slynk.lisp.

Function: compile-file-for-emacs (filename load-p &rest options)

Compile FILENAME and, when LOAD-P, load the result. Record compiler notes signalled as ‘compiler-condition’s.

Package

slynk.

Source

slynk.lisp.

Function: compile-file-if-needed (filename loadp)
Package

slynk.

Source

slynk.lisp.

Function: compile-multiple-strings-for-emacs (strings policy)

Compile STRINGS (exerpted from BUFFER at POSITION). Record compiler notes signalled as ‘compiler-condition’s.

Package

slynk.

Source

slynk.lisp.

Function: compile-string-for-emacs (string buffer position filename policy)

Compile STRING (exerpted from BUFFER at POSITION). Record compiler notes signalled as ‘compiler-condition’s.

Package

slynk.

Source

slynk.lisp.

Function: compiler-macroexpand (form &optional env)

Repetitively call ‘compiler-macroexpand-1’.

Package

slynk-backend.

Source

slynk-backend.lisp.

Function: compiler-macroexpand-1 (form &optional env)

Call the compiler-macro for form.
If FORM is a function call for which a compiler-macro has been defined, invoke the expander function using *macroexpand-hook* and return the results and T. Otherwise, return the original form and NIL.

Package

slynk-backend.

Source

slynk-backend.lisp.

Function: compute-backtrace (start end)

Returns a backtrace of the condition currently being debugged, that is an ordered list consisting of frames. “Ordered list” means that an integer I can be mapped back to the i-th frame of this backtrace.

START and END are zero-based indices constraining the number of frames returned. Frame zero is defined as the frame which invoked the debugger. If END is nil, return the frames from START to the end of the stack.

Package

slynk-backend.

Source

slynk-backend.lisp.

Function: condition-extras (condition)

Return a list of extra for the debugger. The allowed elements are of the form: (:SHOW-FRAME-SOURCE frame-number) (:REFERENCES &rest refs)

Package

slynk-backend.

Source

slynk-backend.lisp.

Function: connection-info ()

Return a key-value list of the form:
(&key PID STYLE LISP-IMPLEMENTATION MACHINE FEATURES PACKAGE VERSION) PID: is the process-id of Lisp process (or nil, depending on the STYLE) STYLE: the communication style
LISP-IMPLEMENTATION: a list (&key TYPE NAME VERSION PROGRAM) FEATURES: a list of keywords
PACKAGE: a list (&key NAME PROMPT)
VERSION: the protocol version

Package

slynk.

Source

slynk.lisp.

Function: create-server (&key port style dont-close interface backlog)

Start a SLYNK server on PORT running in STYLE.
If DONT-CLOSE is true then the listen socket will accept multiple connections, otherwise it will be closed after the first.

Optionally, an INTERFACE could be specified and swank will bind the PORT on this interface. By default, interface is "localhost".

Package

slynk.

Source

slynk.lisp.

Function: create-socket (host port &key backlog)

Create a listening TCP socket on interface HOST and port PORT. BACKLOG queue length for incoming connections.

Package

slynk-backend.

Source

slynk-backend.lisp.

Function: current-thread ()

Return the currently executing thread.

Package

slynk-backend.

Source

slynk-backend.lisp.

Function: debug-nth-thread (index)
Package

slynk.

Source

slynk.lisp.

Function: debug-on-slynk-error ()
Package

slynk.

Source

slynk.lisp.

Function: (setf debug-on-slynk-error) ()
Package

slynk.

Source

slynk.lisp.

Function: debugger-info-for-emacs (start end)

Return debugger state, with stack frames from START to END.
The result is a list:
(condition ({restart}*) ({stack-frame}*) (cont*))
where
condition ::= (description type [extra])
restart ::= (name description)
stack-frame ::= (number description [plist])
extra ::= (:references and other random things)
cont ::= continuation
plist ::= (:restartable {nil | t | :unknown})

condition—a pair of strings: message, and type. If show-source is not nil it is a frame number for which the source should be displayed.

restart—a pair of strings: restart name, and description.

stack-frame—a number from zero (the top), and a printed representation of the frame’s call.

continuation—the id of a pending Emacs continuation.

Below is an example return value. In this case the condition was a division by zero (multi-line description), and only one frame is being fetched (start=0, end=1).

(("Arithmetic error DIVISION-BY-ZERO signalled.
Operation was KERNEL::DIVISION, operands (1 0)."
"[Condition of type DIVISION-BY-ZERO]")
(("ABORT" "Return to Sly toplevel.")
("ABORT" "Return to Top-Level."))
((0 "(KERNEL::INTEGER-/-INTEGER 1 0)" (:restartable nil))) (4))

Package

slynk.

Source

slynk.lisp.

Function: default-directory ()

Return the default directory.

Package

slynk-backend.

Source

slynk-backend.lisp.

Function: default-readtable-alist ()

Return a suitable initial value for SLYNK:*READTABLE-ALIST*.

Package

slynk-backend.

Source

slynk-backend.lisp.

Function: deinit-log-output ()
Package

slynk-backend.

Source

slynk-backend.lisp.

Function: describe-definition (name type)

Describe the definition NAME of TYPE.
TYPE can be any value returned by DESCRIBE-SYMBOL-FOR-EMACS.

Return a documentation string, or NIL if none is available.

Package

slynk-backend.

Source

slynk-backend.lisp.

Function: describe-definition-for-emacs (name kind)
Package

slynk.

Source

slynk.lisp.

Function: describe-frame-var (frame var)
Package

slynk.

Source

slynk.lisp.

Function: describe-function (name)
Package

slynk.

Source

slynk.lisp.

Function: describe-inspectee ()

Describe the currently inspected object.

Package

slynk.

Source

slynk.lisp.

Function: describe-inspector-part (index)

Describe part INDEX of the currently inspected object.

Package

slynk.

Source

slynk.lisp.

Function: describe-primitive-type (object)

Return a string describing the primitive type of object.

Package

slynk-backend.

Source

slynk-backend.lisp.

Function: describe-symbol (symbol-name)
Package

slynk.

Source

slynk.lisp.

Function: describe-symbol-for-emacs (symbol)

Return a property list describing SYMBOL.

The property list has an entry for each interesting aspect of the symbol. The recognised keys are:

:VARIABLE :FUNCTION :SETF :SPECIAL-OPERATOR :MACRO :COMPILER-MACRO :TYPE :CLASS :ALIEN-TYPE :ALIEN-STRUCT :ALIEN-UNION :ALIEN-ENUM

The value of each property is the corresponding documentation string, or NIL (or the obsolete :NOT-DOCUMENTED). It is legal to include keys not listed here (but sly-print-apropos in Emacs must know about them).

Properties should be included if and only if they are applicable to the symbol. For example, only (and all) fbound symbols should include the :FUNCTION property.

Example:
(describe-symbol-for-emacs ’vector)
=> (:CLASS :NOT-DOCUMENTED
:TYPE :NOT-DOCUMENTED
:FUNCTION "Constructs a simple-vector from the given objects.")

Package

slynk-backend.

Source

slynk-backend.lisp.

Function: disassemble-form (form)
Package

slynk.

Source

slynk.lisp.

Function: disassemble-frame (frame-number)

Disassemble the code for the FRAME-NUMBER. The output should be written to standard output. FRAME-NUMBER is a non-negative integer.

Package

slynk-backend.

Source

slynk-backend.lisp.

Function: documentation-symbol (symbol-name)
Package

slynk.

Source

slynk.lisp.

Function: dup (fd)

Duplicate a file descriptor.
If the syscall fails, signal a condition. See dup(2).

Package

slynk-backend.

Source

slynk-backend.lisp.

Function: ed-in-emacs (&optional what)

Edit WHAT in Emacs.

WHAT can be:
A pathname or a string,
A list (PATHNAME-OR-STRING &key LINE COLUMN POSITION), A function name (symbol or cons),
NIL.

Package

slynk.

Source

slynk.lisp.

Function: emacs-connected ()

Hook called when the first connection from Emacs is established. Called from the INIT-FN of the socket server that accepts the connection.

This is intended for setting up extra context, e.g. to discover that the calling thread is the one that interacts with Emacs.

Package

slynk-backend.

Source

slynk-backend.lisp.

Function: eval-and-grab-output (string)
Package

slynk.

Source

slynk.lisp.

Function: eval-context (object)

Return a list of bindings corresponding to OBJECT’s slots.

Package

slynk-backend.

Source

slynk-backend.lisp.

Function: eval-for-emacs (form buffer-package id &rest extra-rex-options)

Bind *BUFFER-PACKAGE* to BUFFER-PACKAGE and evaluate FORM.
Return the result to the continuation ID. Errors are trapped and invoke our debugger. EXTRA-REX-OPTIONS are passed to the functions of *EVAL-FOR-EMACS-WRAPPERS*, which see.

Package

slynk.

Source

slynk.lisp.

Function: eval-for-inspector (current target slave-slyfun &rest args)

Call SLAVE-SLYFUN with ARGS in CURRENT inspector, open in TARGET.

Package

slynk.

Source

slynk.lisp.

Function: eval-in-emacs (form &optional nowait)

Eval FORM in Emacs.
‘sly-enable-evaluate-in-emacs’ should be set to T on the Emacs side.

Package

slynk.

Source

slynk.lisp.

Function: eval-in-frame (form frame-number)

Evaluate a Lisp form in the lexical context of a stack frame in the debugger.

FRAME-NUMBER must be a positive integer with 0 indicating the frame which invoked the debugger.

The return value is the result of evaulating FORM in the appropriate context.

Package

slynk-backend.

Source

slynk-backend.lisp.

Function: eval-string-in-frame (string frame package)
Package

slynk.

Source

slynk.lisp.

Function: exec-image (image-file args)

Replace the current process with a new process image. The new image is created by loading the previously dumped core file IMAGE-FILE.
ARGS is a list of strings passed as arguments to
the new image.
This is thin wrapper around exec(3).

Package

slynk-backend.

Source

slynk-backend.lisp.

Function: filename-to-pathname (filename)

Return a pathname for FILENAME.
A filename in Emacs may for example contain asterisks which should not be translated to wildcards.

Package

slynk-backend.

Source

slynk-backend.lisp.

Function: find-definition-for-thing (thing)
Package

slynk.

Source

slynk.lisp.

Function: find-definitions (name)

Return a list ((DSPEC LOCATION) ...) for NAME’s definitions.

NAME is a "definition specifier".

DSPEC is a "definition specifier" describing the definition, e.g., FOO or (METHOD FOO (STRING NUMBER)) or (DEFVAR FOO).

LOCATION is the source location for the definition.

Package

slynk-backend.

Source

slynk-backend.lisp.

Function: find-definitions-for-emacs (name)

Return a list ((DSPEC LOCATION) ...) of definitions for NAME. DSPEC is a string and LOCATION a source location. NAME is a string.

Package

slynk.

Source

slynk.lisp.

Function: find-external-format (coding-system)

Return a "external file format designator" for CODING-SYSTEM. CODING-SYSTEM is Emacs-style coding system name (a string), e.g. "latin-1-unix".

Package

slynk-backend.

Source

slynk-backend.lisp.

Function: find-locally-nicknamed-package (name base-package)

Return the package whose local nickname in BASE-PACKAGE matches NAME. Return NIL if local nicknames are not implemented or if there is no such package.

Package

slynk-backend.

Source

slynk-backend.lisp.

Function: find-registered (name)

Find the thread that was registered for the symbol NAME. Return nil if the no thread was registred or if the tread is dead.

Package

slynk-backend.

Source

slynk-backend.lisp.

Function: find-source-location (object)

Returns the source location of OBJECT, or NIL.

That is the source location of the underlying datastructure of OBJECT. E.g. on a STANDARD-OBJECT, the source location of the respective DEFCLASS definition is returned, on a STRUCTURE-CLASS the respective DEFSTRUCT definition, and so on.

Package

slynk-backend.

Source

slynk-backend.lisp.

Function: find-source-location-for-emacs (spec)
Package

slynk.

Source

slynk.lisp.

Function: find-symbol2 (name)
Package

slynk-backend.

Source

slynk-backend.lisp.

Function: find-thread (id)

Return the thread for ID.
ID should be an id previously obtained with THREAD-ID. Can return nil if the thread no longer exists.

Package

slynk-backend.

Source

slynk-backend.lisp.

Function: flex-completions (pattern package-name &key limit)

Compute "flex" completions for PATTERN given current PACKAGE-NAME. Returns a list of (COMPLETIONS NIL). COMPLETIONS is a list of (STRING SCORE CHUNKS CLASSIFICATION-STRING).

Package

slynk-completion.

Source

slynk-completion.lisp.

Function: flex-matches (pattern string char-test)

Return non-NIL if PATTERN flex-matches STRING.
In case of a match, return two values:

A list of non-negative integers which are the indexes of the characters in PATTERN as found consecutively in STRING. This list measures in length the number of characters in PATTERN.

A floating-point score. Higher scores for better matches.

Package

slynk-completion.

Source

slynk-completion.lisp.

Function: float-infinity-p (float)

Return true if FLOAT is positive or negative infinity.

Package

slynk-backend.

Source

slynk-backend.lisp.

Function: float-nan-p (float)

Return true if FLOAT is a NaN value (Not a Number).

Package

slynk-backend.

Source

slynk-backend.lisp.

Function: flow-control-test (n delay)
Package

slynk.

Source

slynk.lisp.

Function: format-string-expand (control-string)

Expand the format string CONTROL-STRING.

Package

slynk-backend.

Source

slynk-backend.lisp.

Function: frame-arguments (frame-number)

Return the arguments passed to frame at FRAME-NUMBER as a values list. Default values of optional arguments not passed in by the user may or may not be returned.

Package

slynk-backend.

Source

slynk-backend.lisp.

Function: frame-catch-tags (frame-number)

Return a list of catch tags for being printed in a debugger stack frame.

Package

slynk-backend.

Source

slynk-backend.lisp.

Function: frame-locals (frame-number)

Return a list of ((&key NAME ID VALUE) ...) where each element of the list represents a local variable in the stack frame associated to FRAME-NUMBER.

NAME, a symbol; the name of the local variable.

ID, an integer; used as primary key for the local variable, unique relatively to the frame under operation.

value, an object; the value of the local variable.

Package

slynk-backend.

Source

slynk-backend.lisp.

Function: frame-locals-and-catch-tags (index)

Return a list (LOCALS TAGS) for vars and catch tags in the frame INDEX. LOCALS is a list of the form ((&key NAME ID VALUE) ...).
TAGS has is a list of strings.

Package

slynk.

Source

slynk.lisp.

Function: frame-package (frame-number)

Return the package corresponding to the frame at FRAME-NUMBER. Return nil if the backend can’t figure it out.

Package

slynk-backend.

Source

slynk-backend.lisp.

Function: frame-package-name (frame)
Package

slynk.

Source

slynk.lisp.

Function: frame-restartable-p (frame)

Is the frame FRAME restartable?.
Return T if ‘restart-frame’ can safely be called on the frame.

Package

slynk-backend.

Source

slynk-backend.lisp.

Function: frame-source-location (frame-number)

Return the source location for the frame associated to FRAME-NUMBER.

Package

slynk-backend.

Source

slynk-backend.lisp.

Function: frame-var-value (frame-number var-id)

Return the value of the local variable associated to VAR-ID relatively to the frame associated to FRAME-NUMBER.

Package

slynk-backend.

Source

slynk-backend.lisp.

Function: function-name (function)

Return the name of the function object FUNCTION.

The result is either a symbol, a list, or NIL if no function name is available.

Package

slynk-backend.

Source

slynk-backend.lisp.

Function: gdb-initial-commands ()

List of gdb commands supposed to be executed first for the ATTACH-GDB restart.

Package

slynk-backend.

Source

slynk-backend.lisp.

Function: generic-method-specs (generic-name)

Compute ((QUALIFIERS SPECIALIZERS)...) for methods of GENERIC-NAME’s gf. QUALIFIERS and SPECIALIZERS are lists of strings.

Package

slynk.

Source

slynk.lisp.

Function: get-source-code (filename code-date)

Return the source code for FILENAME as written on DATE in a string.
If the exact version cannot be found then return the current one from disk.

Package

slynk-source-file-cache.

Source

slynk-source-file-cache.lisp.

Function: getpid ()

Return the (Unix) process ID of this superior Lisp.

Package

slynk-backend.

Source

slynk-backend.lisp.

Function: gray-package-name ()

Return a package-name that contains the Gray stream symbols. This will be used like so:
(defpackage foo
(:import-from #.(gray-package-name) . #.*gray-stream-symbols*)

Package

slynk-backend.

Source

slynk-backend.lisp.

Function: guess-external-format (pathname)

Detect the external format for the file with name pathname. Return nil if the file contains no special markers.

Package

slynk-backend.

Source

slynk-backend.lisp.

Function: hash-table-weakness (hashtable)

Return nil or one of :key :value :key-or-value :key-and-value

Package

slynk-backend.

Source

slynk-backend.lisp.

Function: import-slynk-mop-symbols (package except)

Import the mop symbols from PACKAGE to SLYNK-MOP. EXCEPT is a list of symbol names which should be ignored.

Package

slynk-backend.

Source

slynk-backend.lisp.

Function: import-to-slynk-mop (symbol-list)
Package

slynk-backend.

Source

slynk-backend.lisp.

Function: init-inspector (string)
Package

slynk.

Source

slynk.lisp.

Function: initialize-multiprocessing (continuation)

Initialize multiprocessing, if necessary and then invoke CONTINUATION.

Depending on the impleimentaion, this function may never return.

Package

slynk-backend.

Source

slynk-backend.lisp.

Function: inspect-current-condition ()
Package

slynk.

Source

slynk.lisp.

Function: inspect-frame-var (frame var)
Package

slynk.

Source

slynk.lisp.

Function: inspect-in-emacs (what &key wait)

Inspect WHAT in Emacs. If WAIT is true (default NIL) blocks until the inspector has been closed in Emacs.

Package

slynk.

Source

slynk.lisp.

Function: inspect-in-frame (string index)
Package

slynk.

Source

slynk.lisp.

Function: inspect-nth-part (index)
Package

slynk.

Source

slynk.lisp.

Function: inspector-call-nth-action (index &rest args)
Package

slynk.

Source

slynk.lisp.

Function: inspector-eval (string)
Package

slynk.

Source

slynk.lisp.

Function: inspector-history ()
Package

slynk.

Source

slynk.lisp.

Function: inspector-next ()

Inspect the next element in the history of inspected objects..

Package

slynk.

Source

slynk.lisp.

Function: inspector-nth-part (index)

Return the current inspector’s INDEXth part.
The second value indicates if that part exists at all.

Package

slynk.

Source

slynk.lisp.

Function: inspector-nth-part-or-lose (index)

Return the current inspector’s INDEXth part.
The second value indicates if that part exists at all.

Package

slynk.

Source

slynk.lisp.

Function: inspector-pop ()

Inspect the previous object.
Return nil if there’s no previous object.

Package

slynk.

Source

slynk.lisp.

Function: inspector-range (from to)
Package

slynk.

Source

slynk.lisp.

Function: inspector-reinspect ()
Package

slynk.

Source

slynk.lisp.

Function: inspector-toggle-verbose ()

Toggle verbosity of inspected object.

Package

slynk.

Source

slynk.lisp.

Function: install-debugger-globally (function)

Install FUNCTION as the debugger for all threads/processes. This usually involves setting *DEBUGGER-HOOK* and, if the implementation permits, hooking into BREAK as well.

Package

slynk-backend.

Source

slynk-backend.lisp.

Function: install-sigint-handler (function)

Call FUNCTION on SIGINT (instead of invoking the debugger). Return old signal handler.

Package

slynk-backend.

Source

slynk-backend.lisp.

Function: interactive-eval (string)
Package

slynk.

Source

slynk.lisp.

Function: interactive-eval-region (string)
Package

slynk.

Source

slynk.lisp.

Function: interrupt-thread (thread fn)

Cause THREAD to execute FN.

Package

slynk-backend.

Source

slynk-backend.lisp.

Function: invoke-nth-restart (index)
Package

slynk.

Source

slynk.lisp.

Function: invoke-nth-restart-for-emacs (sly-db-level n)

Invoke the Nth available restart.
SLY-DB-LEVEL is the debug level when the request was made. If this has changed, ignore the request.

Package

slynk.

Source

slynk.lisp.

Function: invoke-sly-debugger (condition)

Sends a message to Emacs declaring that the debugger has been entered, then waits to handle further requests from Emacs. Eventually returns after Emacs causes a restart to be invoked.

Package

slynk.

Source

slynk.lisp.

Function: io-speed-test (&optional n m)
Package

slynk.

Source

slynk.lisp.

Function: kill-nth-thread (index)
Package

slynk.

Source

slynk.lisp.

Function: kill-thread (thread)

Terminate THREAD immediately.
Don’t execute unwind-protected sections, don’t raise conditions. (Do not pass go, do not collect $200.)

Package

slynk-backend.

Source

slynk-backend.lisp.

Function: label-value-line (label value &key newline)

Create a control list which prints "LABEL: VALUE" in the inspector. If NEWLINE is non-NIL a ‘(:newline)’ is added to the result.

Package

slynk-backend.

Source

slynk-backend.lisp.

Function: lisp-implementation-program ()

Return the argv[0] of the running Lisp process, or NIL.

Package

slynk-backend.

Source

slynk-backend.lisp.

Function: lisp-implementation-type-name ()

Return a short name for the Lisp implementation.

Package

slynk-backend.

Source

slynk-backend.lisp.

Function: list-all-package-names (&optional nicknames)

Return a list of all package names. Include the nicknames if NICKNAMES is true.

Package

slynk.

Source

slynk.lisp.

Function: list-callees (function-name)

List the functions called by FUNCTION-NAME.
See LIST-CALLERS for a description of the return value.

Package

slynk-backend.

Source

slynk-backend.lisp.

Function: list-callers (function-name)

List the callers of FUNCTION-NAME.
This function is like WHO-CALLS except that it is expected to use lower-level means. Whereas WHO-CALLS is usually implemented with special compiler support, LIST-CALLERS is usually implemented by groveling for constants in function objects throughout the heap.

The return value is as for WHO-CALLS.

Package

slynk-backend.

Source

slynk-backend.lisp.

Function: list-threads ()

Return a list (LABELS (ID NAME STATUS ATTRS ...) ...).
LABELS is a list of attribute names and the remaining lists are the corresponding attribute values per thread.
Example:
((:id :name :status :priority)
(6 "slynk-indentation-cache-thread" "Semaphore timed wait" 0) (5 "reader-thread" "Active" 0)
(4 "control-thread" "Semaphore timed wait" 0)
(2 "Slynk Sentinel" "Semaphore timed wait" 0)
(1 "listener" "Active" 0)
(0 "Initial" "Sleep" 0))

Package

slynk.

Source

slynk.lisp.

Function: load-file (filename)
Package

slynk.

Source

slynk.lisp.

Function: local-port (socket)

Return the local port number of SOCKET.

Package

slynk-backend.

Source

slynk-backend.lisp.

Function: location-buffer (structure)
Package

slynk-backend.

Source

slynk-backend.lisp.

Function: (setf location-buffer) (structure)
Package

slynk-backend.

Source

slynk-backend.lisp.

Function: location-hints (structure)
Package

slynk-backend.

Source

slynk-backend.lisp.

Function: (setf location-hints) (structure)
Package

slynk-backend.

Source

slynk-backend.lisp.

Function: location-position (structure)
Package

slynk-backend.

Source

slynk-backend.lisp.

Function: (setf location-position) (structure)
Package

slynk-backend.

Source

slynk-backend.lisp.

Function: macroexpand-all (form &optional env)

Recursively expand all macros in FORM. Return the resulting form.

Package

slynk-backend.

Source

slynk-backend.lisp.

Function: make-apropos-matcher (pattern symbol-name-fn &optional case-sensitive)

Produce unary function that looks for PATTERN in symbol names. SYMBOL-NAME-FN must be applied to symbol-names to produce the string where PATTERN should be searched for. CASE-SENSITIVE indicates case-sensitivity. On a positive match, the function returned must return non-nil values, which may be pairs of indexes to highlight in the symbol designation’s string.

Package

slynk-backend.

Source

slynk-backend.lisp.

Function: make-auto-flush-thread (stream)

Make an auto-flush thread

Package

slynk-backend.

Source

slynk-backend.lisp.

Function: make-error-location (datum &rest args)
Package

slynk-backend.

Source

slynk-backend.lisp.

Function: make-fd-stream (fd external-format)

Create a character stream for the file descriptor FD.

Package

slynk-backend.

Source

slynk-backend.lisp.

Function: make-input-stream (read-string)

Return a new character input stream.
The stream calls READ-STRING when input is needed.

Package

slynk-backend.

Source

slynk-backend.lisp.

Function: make-location (buffer position &optional hints)
Package

slynk-backend.

Source

slynk-backend.lisp.

Function: make-lock (&key name)

Make a lock for thread synchronization.
Only one thread may hold the lock (via CALL-WITH-LOCK-HELD) at a time but that thread may hold it more than once.

Package

slynk-backend.

Source

slynk-backend.lisp.

Function: make-output-stream (write-string)

Return a new character output stream.
The stream calls WRITE-STRING when output is ready.

Package

slynk-backend.

Source

slynk-backend.lisp.

Function: make-weak-key-hash-table (&rest args)

Like MAKE-HASH-TABLE, but weak w.r.t. the keys.

Package

slynk-backend.

Source

slynk-backend.lisp.

Function: make-weak-value-hash-table (&rest args)

Like MAKE-HASH-TABLE, but weak w.r.t. the values.

Package

slynk-backend.

Source

slynk-backend.lisp.

Function: mop (type symbol-name)

Return info about classes using mop.

When type is:
:subclasses - return the list of subclasses of class. :superclasses - return the list of superclasses of class.

Package

slynk.

Source

slynk.lisp.

Function: operator-arglist (name package)
Package

slynk.

Source

slynk.lisp.

Function: package-local-nicknames (package)

Returns an alist of (local-nickname . actual-package) describing the nicknames local to the designated package.

Package

slynk-backend.

Source

slynk-backend.lisp.

Function: pathname-to-filename (pathname)

Return the filename for PATHNAME.

Package

slynk-backend.

Source

slynk-backend.lisp.

Function: ping (tag)
Package

slynk.

Source

slynk.lisp.

Function: pprint-eval (string)
Package

slynk.

Source

slynk.lisp.

Function: pprint-eval-string-in-frame (string frame package)
Package

slynk.

Source

slynk.lisp.

Function: pprint-frame-var (frame var)
Package

slynk.

Source

slynk.lisp.

Function: pprint-inspector-part (index)

Pretty-print part INDEX of the currently inspected object.

Package

slynk.

Source

slynk.lisp.

Function: preferred-communication-style ()

Return one of the symbols :spawn, :sigio, :fd-handler, or NIL.

Package

slynk-backend.

Source

slynk-backend.lisp.

Function: print-condition (condition stream)

Print a condition for display in SLY-DB.

Package

slynk-backend.

Source

slynk-backend.lisp.

Function: print-frame (frame stream)

Print frame to stream.

Package

slynk-backend.

Source

slynk-backend.lisp.

Function: print-indentation-lossage (&optional stream)

Return the list of symbols whose indentation styles collide incompatibly. Collisions are caused because package information is ignored.

Package

slynk.

Source

slynk.lisp.

Function: process-requests (timeout)

Read and process requests from Emacs.
TIMEOUT has the same meaning as in WAIT-FOR-EVENT.

Package

slynk.

Source

slynk.lisp.

Function: profile (fname)

Marks symbol FNAME for profiling.

Package

slynk-backend.

Source

slynk-backend.lisp.

Function: profile-package (package callers-p methods)

Wrap profiling code around all functions in PACKAGE. If a function is already profiled, then unprofile and reprofile (useful to notice function redefinition.)

If CALLERS-P is T names have counts of the most common calling functions recorded.

When called with arguments :METHODS T, profile all methods of all generic functions having names in the given package. Generic functions themselves, that is, their dispatch functions, are left alone.

Package

slynk-backend.

Source

slynk-backend.lisp.

Function: profile-report ()

Prints profile report.

Package

slynk-backend.

Source

slynk-backend.lisp.

Function: profile-reset ()

Resets profile counters.

Package

slynk-backend.

Source

slynk-backend.lisp.

Function: profiled-functions ()

Returns a list of profiled functions.

Package

slynk-backend.

Source

slynk-backend.lisp.

Function: quit-inspector ()
Package

slynk.

Source

slynk.lisp.

Function: quit-lisp ()

Exit the current lisp image.

Package

slynk-backend.

Source

slynk-backend.lisp.

Function: quit-thread-browser ()
Package

slynk.

Source

slynk.lisp.

Function: re-evaluate-defvar (form)
Package

slynk.

Source

slynk.lisp.

Function: read-message (stream package)
Package

slynk-rpc.

Source

slynk-rpc.lisp.

Function: read-packet (stream)
Package

slynk-rpc.

Source

slynk-rpc.lisp.

Function: read-snippet (stream &optional position)

Read a string of upto *SOURCE-SNIPPET-SIZE* characters from STREAM. If POSITION is given, set the STREAM’s file position first.

Package

slynk-source-file-cache.

Source

slynk-source-file-cache.lisp.

Function: read-snippet-from-string (string &optional position)
Package

slynk-source-file-cache.

Source

slynk-source-file-cache.lisp.

Function: read-source-form (n stream)

Read the Nth toplevel form number with source location recording. Return the form and the source-map.

Package

slynk-source-path-parser.

Source

slynk-source-path-parser.lisp.

Function: receive (&optional timeout)

Return the next message from current thread’s mailbox.

Package

slynk-backend.

Source

slynk-backend.lisp.

Function: receive-if (predicate &optional timeout)

Return the first message satisfiying PREDICATE.

Package

slynk-backend.

Source

slynk-backend.lisp.

Function: register-thread (name thread)

Associate the thread THREAD with the symbol NAME. The thread can then be retrieved with ‘find-registered’. If THREAD is nil delete the association.

Package

slynk-backend.

Source

slynk-backend.lisp.

Function: remove-fd-handlers (socket)

Remove all fd-handlers for SOCKET.

Package

slynk-backend.

Source

slynk-backend.lisp.

Function: remove-method-by-name (generic-name qualifiers specializers)

Remove GENERIC-NAME’s method with QUALIFIERS and SPECIALIZERS.

Package

slynk.

Source

slynk.lisp.

Function: remove-sigio-handlers (socket)

Remove all sigio handlers for SOCKET.

Package

slynk-backend.

Source

slynk-backend.lisp.

Function: restart-frame (frame-number)

Restart execution of the frame FRAME-NUMBER with the same arguments as it was called originally.

Package

slynk-backend.

Source

slynk-backend.lisp.

Function: restart-server (&key port style dont-close)

Stop the server listening on PORT, then start a new SLYNK server
on PORT running in STYLE. If DONT-CLOSE is true then the listen socket will accept multiple connections, otherwise it will be closed after the first.

Package

slynk.

Source

slynk.lisp.

Function: return-from-frame (frame-number form)

Unwind the stack to the frame FRAME-NUMBER and return the value(s) produced by evaluating FORM in the frame context to its caller.

Execute any clean-up code from unwind-protect forms above the frame during unwinding.

Return a string describing the error if it’s not possible to return from the frame.

Package

slynk-backend.

Source

slynk-backend.lisp.

Function: save-image (filename &optional restart-function)

Save a heap image to the file FILENAME.
RESTART-FUNCTION, if non-nil, should be called when the image is loaded.

Package

slynk-backend.

Source

slynk-backend.lisp.

Function: sdlb-print-condition ()
Package

slynk.

Source

slynk.lisp.

Function: send (thread object)

Send OBJECT to thread THREAD.

Package

slynk-backend.

Source

slynk-backend.lisp.

Function: set-default-directory (directory)

Set the default directory.
This is used to resolve filenames without directory component.

Package

slynk-backend.

Source

slynk-backend.lisp.

Function: set-default-initial-binding (var form)

Initialize special variable VAR by default with FORM.

Some implementations initialize certain variables in each newly created thread. This function sets the form which is used to produce the initial value.

Package

slynk-backend.

Source

slynk-backend.lisp.

Function: set-package (name)

Set *package* to the package named NAME.
Return the full package-name and the string to use in the prompt.

Package

slynk.

Source

slynk.lisp.

Function: set-stream-timeout (stream timeout)

Set the ’stream ’timeout. The timeout is either the real number specifying the timeout in seconds or ’nil for no timeout.

Package

slynk-backend.

Source

slynk-backend.lisp.

Function: simple-break (&optional datum &rest args)
Package

slynk.

Source

slynk.lisp.

Function: simple-completions (prefix package)

Return a list of completions for the string PREFIX.

Package

slynk-completion.

Source

slynk-completion.lisp.

Function: slot-definition-documentation (slot)
Package

slynk-mop.

Source

sbcl.lisp.

Function: sly-db-abort ()
Package

slynk.

Source

slynk.lisp.

Function: sly-db-break (name)
Package

slynk.

Source

slynk.lisp.

Function: sly-db-break-at-start (symbol)

Set a breakpoint on the beginning of the function for SYMBOL.

Package

slynk-backend.

Source

slynk-backend.lisp.

Function: sly-db-break-on-return (frame-number)

Set a breakpoint in the frame FRAME-NUMBER.

Package

slynk-backend.

Source

slynk-backend.lisp.

Function: sly-db-break-with-default-debugger (dont-unwind)

Invoke the default debugger.

Package

slynk.

Source

slynk.lisp.

Function: sly-db-continue ()
Package

slynk.

Source

slynk.lisp.

Function: sly-db-disassemble (index)
Package

slynk.

Source

slynk.lisp.

Function: sly-db-next (frame)
Package

slynk.

Source

slynk.lisp.

Function: sly-db-out (frame)
Package

slynk.

Source

slynk.lisp.

Function: sly-db-return-from-frame (index string)
Package

slynk.

Source

slynk.lisp.

Function: sly-db-step (frame)
Package

slynk.

Source

slynk.lisp.

Function: sly-db-step-into ()

Step into the current single-stepper form.

Package

slynk-backend.

Source

slynk-backend.lisp.

Function: sly-db-step-next ()

Step to the next form in the current function.

Package

slynk-backend.

Source

slynk-backend.lisp.

Function: sly-db-step-out ()

Stop single-stepping temporarily, but resume it once the current function returns.

Package

slynk-backend.

Source

slynk-backend.lisp.

Function: sly-db-stepper-condition-p (condition)

Return true if SLY-DB was invoked due to a single-stepping condition, false otherwise.

Package

slynk-backend.

Source

slynk-backend.lisp.

Function: slynk-add-load-paths (paths)
Package

slynk.

Source

slynk.lisp.

Function: slynk-compile-file (input-file output-file load-p external-format &key policy)

Compile INPUT-FILE signalling COMPILE-CONDITIONs.
If LOAD-P is true, load the file after compilation. EXTERNAL-FORMAT is a value returned by find-external-format or :default.

If POLICY is supplied, and non-NIL, it may be used by certain implementations to compile with optimization qualities of its value.

Should return OUTPUT-TRUENAME, WARNINGS-P and FAILURE-p like ‘compile-file’

Package

slynk-backend.

Source

slynk-backend.lisp.

Function: slynk-compile-string (string &key buffer position filename line column policy)

Compile source from STRING.
During compilation, compiler conditions must be trapped and resignalled as COMPILER-CONDITIONs.

If supplied, BUFFER and POSITION specify the source location in Emacs.

Additionally, if POSITION is supplied, it must be added to source positions reported in compiler conditions.

If FILENAME is specified it may be used by certain implementations to rebind *DEFAULT-PATHNAME-DEFAULTS* which may improve the recording of source information.

If POLICY is supplied, and non-NIL, it may be used by certain implementations to compile with optimization qualities of its value.

If LINE and COLUMN are supplied, and non-NIL, they may be used by certain implementations (presumably instead of POSITION) as the line and column of the start of the string in FILENAME. Both LINE and COLUMN are 1-based.

Should return T on successful compilation, NIL otherwise.

Package

slynk-backend.

Source

slynk-backend.lisp.

Function: slynk-compiler-macroexpand (string)
Package

slynk.

Source

slynk.lisp.

Function: slynk-compiler-macroexpand-1 (string)
Package

slynk.

Source

slynk.lisp.

Function: slynk-debugger-hook (condition hook)

Debugger function for binding *DEBUGGER-HOOK*.

Package

slynk.

Source

slynk.lisp.

Function: slynk-delete-package (package-name)
Package

slynk.

Source

slynk.lisp.

Function: slynk-expand (string)
Package

slynk.

Source

slynk.lisp.

Function: slynk-expand-1 (string)
Package

slynk.

Source

slynk.lisp.

Function: slynk-format-string-expand (string)
Package

slynk.

Source

slynk.lisp.

Function: slynk-macroexpand (string)
Package

slynk.

Source

slynk.lisp.

Function: slynk-macroexpand-1 (string)
Package

slynk.

Source

slynk.lisp.

Function: slynk-macroexpand-all (string)
Package

slynk.

Source

slynk.lisp.

Function: slynk-require (modules)

Load each module in MODULES.

MODULES is a list of strings designators or a single string designator. Returns a list of all modules available.

Package

slynk.

Source

slynk.lisp.

Function: slynk-toggle-trace (spec-string)
Package

slynk.

Source

slynk.lisp.

Function: socket-fd (socket-stream)

Return the file descriptor for SOCKET-STREAM.

Package

slynk-backend.

Source

slynk-backend.lisp.

Function: source-cache-get (filename date)

Return the source code for FILENAME as written on DATE in a string. Return NIL if the right version cannot be found.

Package

slynk-source-file-cache.

Source

slynk-source-file-cache.lisp.

Function: source-path-file-position (path filename)
Package

slynk-source-path-parser.

Source

slynk-source-path-parser.lisp.

Function: source-path-source-position (path form source-map)

Return the start position of PATH from FORM and SOURCE-MAP. All subforms along the path are considered and the start and end position of the deepest (i.e. smallest) possible form is returned.

Package

slynk-source-path-parser.

Source

slynk-source-path-parser.lisp.

Function: source-path-string-position (path string)
Package

slynk-source-path-parser.

Source

slynk-source-path-parser.lisp.

Function: spawn (fn &key name)

Create a new thread to call FN.

Package

slynk-backend.

Source

slynk-backend.lisp.

Function: start-server (port-file &key style dont-close)

Start the server and write the listen port number to PORT-FILE. This is the entry point for Emacs.

Package

slynk.

Source

slynk.lisp.

Function: start-slynk-server-in-thread (index port-file-name)

Interrupt the INDEXth thread and make it start a slynk server. The server port is written to PORT-FILE-NAME.

Package

slynk.

Source

slynk.lisp.

Function: stop-server (port)

Stop server running on PORT.

Package

slynk.

Source

slynk.lisp.

Function: string-to-utf8 (string)

Convert the string STRING to a (simple-array (unsigned-byte 8))

Package

slynk-backend.

Source

slynk-backend.lisp.

Function: thread-alive-p (thread)

Test if THREAD is termintated.

Package

slynk-backend.

Source

slynk-backend.lisp.

Function: thread-attributes (thread)

Return a plist of implementation-dependent attributes for THREAD

Package

slynk-backend.

Source

slynk-backend.lisp.

Function: thread-id (thread)

Return an Emacs-parsable object to identify THREAD.

Ids should be comparable with equal, i.e.:
(equal (thread-id <t1>) (thread-id <t2>)) <==> (eq <t1> <t2>)

Package

slynk-backend.

Source

slynk-backend.lisp.

Function: thread-name (thread)

Return the name of THREAD.
Thread names are short strings meaningful to the user. They do not have to be unique.

Package

slynk-backend.

Source

slynk-backend.lisp.

Function: thread-status (thread)

Return a string describing THREAD’s state.

Package

slynk-backend.

Source

slynk-backend.lisp.

Function: throw-to-toplevel ()

Invoke the ABORT-REQUEST restart abort an RPC from Emacs. If we are not evaluating an RPC then ABORT instead.

Package

slynk.

Source

slynk.lisp.

Function: toggle-break-on-signals ()
Package

slynk.

Source

slynk.lisp.

Function: toggle-debug-on-slynk-error ()
Package

slynk.

Source

slynk.lisp.

Function: toggle-trace (spec)

Toggle tracing of the function(s) given with SPEC.
SPEC can be:
(setf NAME) ; a setf function
(:defmethod NAME QUALIFIER... (SPECIALIZER...)) ; a specific method (:defgeneric NAME) ; a generic function with all methods (:call CALLER CALLEE) ; trace calls from CALLER to CALLEE. (:labels TOPLEVEL LOCAL)
(:flet TOPLEVEL LOCAL)

Package

slynk-backend.

Source

slynk-backend.lisp.

Function: type-specifier-p (symbol)

Determine if SYMBOL is a type-specifier.

Package

slynk-backend.

Source

slynk-backend.lisp.

Function: undefine-function (fname-string)
Package

slynk.

Source

slynk.lisp.

Function: unintern-symbol (name package)
Package

slynk.

Source

slynk.lisp.

Function: unprofile (fname)

Marks symbol FNAME as not profiled.

Package

slynk-backend.

Source

slynk-backend.lisp.

Function: unprofile-all ()

Marks all currently profiled functions as not profiled.

Package

slynk-backend.

Source

slynk-backend.lisp.

Function: untrace-all ()
Package

slynk.

Source

slynk.lisp.

Function: unwrap (spec indicator)

Remove from SPEC any wrappings tagged with INDICATOR.

Package

slynk-backend.

Source

slynk-backend.lisp.

Function: update-indentation-information ()
Package

slynk.

Source

slynk.lisp.

Function: utf8-to-string (octets)

Convert the (simple-array (unsigned-byte 8)) OCTETS to a string.

Package

slynk-backend.

Source

slynk-backend.lisp.

Function: valid-function-name-p (form)

Is FORM syntactically valid to name a function?
If true, FBOUNDP should not signal a type-error for FORM.

Package

slynk-backend.

Source

slynk-backend.lisp.

Function: value-for-editing (form)

Return a readable value of FORM for editing in Emacs. FORM is expected, but not required, to be SETF’able.

Package

slynk.

Source

slynk.lisp.

Function: wait-for-input (streams &optional timeout)

Wait for input on a list of streams. Return those that are ready. STREAMS is a list of streams
TIMEOUT nil, t, or real number. If TIMEOUT is t, return those streams which are ready (or have reached end-of-file) without waiting.
If TIMEOUT is a number and no streams is ready after TIMEOUT seconds, return nil.

Return :interrupt if an interrupt occurs while waiting.

Package

slynk-backend.

Source

slynk-backend.lisp.

Function: wake-thread (thread)

Trigger a call to CHECK-SLIME-INTERRUPTS in THREAD without using asynchronous interrupts.

Package

slynk-backend.

Source

slynk-backend.lisp.

Function: who-binds (variable-name)

Return the locations where VARIABLE-NAME (a symbol) is bound. See WHO-CALLS for a description of the return value.

Package

slynk-backend.

Source

slynk-backend.lisp.

Function: who-calls (function-name)

Return the call sites of FUNCTION-NAME (a symbol). The results is a list ((DSPEC LOCATION) ...).

Package

slynk-backend.

Source

slynk-backend.lisp.

Function: who-macroexpands (macro-name)

Return the locations where MACRO-NAME (a symbol) is expanded. See WHO-CALLS for a description of the return value.

Package

slynk-backend.

Source

slynk-backend.lisp.

Function: who-references (variable-name)

Return the locations where VARIABLE-NAME (a symbol) is referenced. See WHO-CALLS for a description of the return value.

Package

slynk-backend.

Source

slynk-backend.lisp.

Function: who-sets (variable-name)

Return the locations where VARIABLE-NAME (a symbol) is set. See WHO-CALLS for a description of the return value.

Package

slynk-backend.

Source

slynk-backend.lisp.

Function: who-specializes (class-name)

Return the locations where CLASS-NAME (a symbol) is specialized. See WHO-CALLS for a description of the return value.

Package

slynk-backend.

Source

slynk-backend.lisp.

Function: with-symbol (name package)

Check if a symbol with a given NAME exists in PACKAGE and returns a form suitable for testing with #+.

Package

slynk-backend.

Source

slynk-backend.lisp.

Function: wrap (spec indicator &key before after replace)

Intercept future calls to SPEC and surround them in callbacks.

INDICATOR is a symbol identifying a particular wrapping, and is used to differentiate between multiple wrappings.

Implementations intercept calls to SPEC and call, in this order:

* the BEFORE callback, if it’s provided, with a single argument set to the list of arguments passed to the intercepted call;

* the original definition of SPEC recursively honouring any wrappings previously established under different values of INDICATOR. If the compatible function REPLACE is provided, call that instead.

* the AFTER callback, if it’s provided, with a single set to the list of values returned by the previous call, or, if that call exited non-locally, a single descriptive symbol, like :EXITED-NON-LOCALLY.

The return value of implementation should be the implementation-specific function object that SPEC describes, suitable to be passed to the FIND-SOURCE-LOCATION interface.

Package

slynk-backend.

Source

slynk-backend.lisp.

Function: wrapped-p (spec indicator)

Returns true if SPEC is wrapped with INDICATOR.

Package

slynk-backend.

Source

slynk-backend.lisp.

Function: write-message (message package stream)
Package

slynk-rpc.

Source

slynk-rpc.lisp.

Function: xref (type name)
Package

slynk.

Source

slynk.lisp.

Function: xrefs (types name)
Package

slynk.

Source

slynk.lisp.

Function: y-or-n-p-in-emacs (format-string &rest arguments)

Like y-or-n-p, but ask in the Emacs minibuffer.

Package

slynk.

Source

slynk.lisp.


6.1.4 Generic functions

Generic Function: declaration-arglist (decl-identifier)

Return the argument list of the declaration specifier belonging to the declaration identifier DECL-IDENTIFIER. If the arglist cannot be determined, the keyword :NOT-AVAILABLE is returned.

The different SLYNK backends can specialize this generic function to include implementation-dependend declaration specifiers, or to provide additional information on the specifiers defined in ANSI Common Lisp.

Package

slynk-backend.

Source

slynk-backend.lisp.

Methods
Method: declaration-arglist ((decl-identifier (eql optimize)))
Source

sbcl.lisp.

Method: declaration-arglist (decl-identifier)
Generic Function: emacs-inspect (object)

Explain to Emacs how to inspect OBJECT.

Returns a list specifying how to render the object for inspection.

Every element of the list must be either a string, which will be inserted into the buffer as is, or a list of the form:

(:value object &optional format) - Render an inspectable object. If format is provided it must be a string and will be rendered in place of the value, otherwise use princ-to-string.

(:newline) - Render a \n

(:action label lambda &key (refresh t)) - Render LABEL (a text string) which when clicked will call LAMBDA. If REFRESH is non-NIL the currently inspected object will be re-inspected after calling the lambda.

Package

slynk-backend.

Source

slynk-backend.lisp.

Methods
Method: emacs-inspect ((char character))
Source

slynk.lisp.

Method: emacs-inspect :around (object)
Source

slynk.lisp.

Method: emacs-inspect ((array array))
Source

slynk.lisp.

Method: emacs-inspect ((ht hash-table))
Source

slynk.lisp.

Method: emacs-inspect ((o cons))
Source

slynk.lisp.

Method: emacs-inspect :around ((o generic-function))
Source

sbcl.lisp.

Method: emacs-inspect ((o fdefn))
Source

sbcl.lisp.

Method: emacs-inspect ((o weak-pointer))
Source

sbcl.lisp.

Method: emacs-inspect ((o code-component))
Source

sbcl.lisp.

Method: emacs-inspect ((o function))
Source

sbcl.lisp.

Method: emacs-inspect (o)
Source

sbcl.lisp.

Generic Reader: location (condition)
Generic Writer: (setf location) (condition)
Package

slynk-backend.

Methods
Reader Method: location ((condition compiler-condition))
Writer Method: (setf location) ((condition compiler-condition))
Source

slynk-backend.lisp.

Target Slot

location.

Generic Reader: message (condition)
Generic Writer: (setf message) (condition)
Package

slynk-backend.

Methods
Reader Method: message ((condition compiler-condition))
Writer Method: (setf message) ((condition compiler-condition))
Source

slynk-backend.lisp.

Target Slot

message.

Generic Reader: original-condition (condition)
Generic Writer: (setf original-condition) (condition)
Package

slynk-backend.

Methods
Reader Method: original-condition ((condition sly-db-condition))
Writer Method: (setf original-condition) ((condition sly-db-condition))
Source

slynk-backend.lisp.

Target Slot

original-condition.

Reader Method: original-condition ((condition compiler-condition))
Writer Method: (setf original-condition) ((condition compiler-condition))
Source

slynk-backend.lisp.

Target Slot

original-condition.

Generic Reader: references (condition)
Generic Writer: (setf references) (condition)
Package

slynk-backend.

Methods
Reader Method: references ((condition compiler-condition))
Writer Method: (setf references) ((condition compiler-condition))
Source

slynk-backend.lisp.

Target Slot

references.

Generic Reader: severity (condition)
Generic Writer: (setf severity) (condition)
Package

slynk-backend.

Methods
Reader Method: severity ((condition compiler-condition))
Writer Method: (setf severity) ((condition compiler-condition))
Source

slynk-backend.lisp.

Target Slot

severity.

Generic Function: sexp-in-bounds-p (sexp i)
Package

slynk-source-path-parser.

Source

slynk-source-path-parser.lisp.

Methods
Method: sexp-in-bounds-p ((s comma) i)
Source

sbcl.lisp.

Method: sexp-in-bounds-p ((list list) i)
Method: sexp-in-bounds-p (sexp i)
Generic Function: sexp-ref (sexp i)
Package

slynk-source-path-parser.

Source

slynk-source-path-parser.lisp.

Methods
Method: sexp-ref ((s comma) i)
Source

sbcl.lisp.

Method: sexp-ref ((s list) i)
Generic Reader: slynk-reader-error.cause (condition)
Package

slynk-rpc.

Methods
Reader Method: slynk-reader-error.cause ((condition slynk-reader-error))
Source

slynk-rpc.lisp.

Target Slot

cause.

Generic Reader: slynk-reader-error.packet (condition)
Package

slynk-rpc.

Methods
Reader Method: slynk-reader-error.packet ((condition slynk-reader-error))
Source

slynk-rpc.lisp.

Target Slot

packet.

Generic Reader: source-context (condition)
Generic Writer: (setf source-context) (condition)
Package

slynk-backend.

Methods
Reader Method: source-context ((condition compiler-condition))
Writer Method: (setf source-context) ((condition compiler-condition))
Source

slynk-backend.lisp.

Target Slot

source-context.

Generic Function: type-specifier-arglist (typespec-operator)

Return the argument list of the type specifier belonging to TYPESPEC-OPERATOR.. If the arglist cannot be determined, the keyword :NOT-AVAILABLE is returned.

The different SLYNK backends can specialize this generic function to include implementation-dependend declaration specifiers, or to provide additional information on the specifiers defined in ANSI Common Lisp.

Package

slynk-backend.

Source

slynk-backend.lisp.

Methods
Method: type-specifier-arglist :around (typespec-operator)
Source

sbcl.lisp.

Method: type-specifier-arglist (typespec-operator)

6.1.5 Standalone methods

Method: initialize-instance :after ((ch channel) &key)
Source

slynk.lisp.

Method: initialize-instance :after ((l listener) &key initial-env)
Source

slynk.lisp.

Method: initialize-instance :after ((i inspector) &key name)
Source

slynk.lisp.

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

slynk.lisp.

Method: print-object ((c channel) stream)
Source

slynk.lisp.

Method: print-object ((i inspector) s)
Source

slynk.lisp.

Method: stream-clear-input ((s sly-input-stream))
Package

sb-gray.

Source

slynk-gray.lisp.

Method: stream-finish-output ((stream sly-output-stream))
Package

sb-gray.

Source

slynk-gray.lisp.

Method: stream-force-output ((stream sly-output-stream))
Package

sb-gray.

Source

slynk-gray.lisp.

Method: stream-force-output :around ((stream sly-output-stream))
Package

sb-gray.

Source

slynk-gray.lisp.

Method: stream-fresh-line ((stream sly-output-stream))
Package

sb-gray.

Source

slynk-gray.lisp.

Method: stream-line-column ((s sly-input-stream))
Package

sb-gray.

Source

slynk-gray.lisp.

Method: stream-line-column ((stream sly-output-stream))
Package

sb-gray.

Source

slynk-gray.lisp.

Method: stream-listen ((s sly-input-stream))
Package

sb-gray.

Source

slynk-gray.lisp.

Method: stream-read-char ((s sly-input-stream))
Package

sb-gray.

Source

slynk-gray.lisp.

Method: stream-read-char-no-hang ((s sly-input-stream))
Package

sb-gray.

Source

slynk-gray.lisp.

Method: stream-unread-char ((s sly-input-stream) char)
Package

sb-gray.

Source

slynk-gray.lisp.

Method: stream-write-char ((stream sly-output-stream) char)
Package

sb-gray.

Source

slynk-gray.lisp.

Method: stream-write-string ((stream sly-output-stream) string &optional start end)
Package

sb-gray.

Source

slynk-gray.lisp.


6.1.6 Conditions

Condition: compiler-condition
Package

slynk-backend.

Source

slynk-backend.lisp.

Direct superclasses

condition.

Direct methods
Direct slots
Slot: original-condition
Initargs

:original-condition

Readers

original-condition.

Writers

(setf original-condition).

Slot: severity
Initargs

:severity

Readers

severity.

Writers

(setf severity).

Slot: message
Initargs

:message

Readers

message.

Writers

(setf message).

Slot: source-context
Initform

(quote nil)

Initargs

:source-context

Readers

source-context.

Writers

(setf source-context).

Slot: references
Initform

(quote nil)

Initargs

:references

Readers

references.

Writers

(setf references).

Slot: location
Initargs

:location

Readers

location.

Writers

(setf location).

Condition: sly-db-condition

Wrapper for conditions that should not be debugged.

When a condition arises from the internals of the debugger, it is not desirable to debug it – we’d risk entering an endless loop trying to debug the debugger! Instead, such conditions can be reported to the user without (re)entering the debugger by wrapping them as ‘sly-db-condition’s.

Package

slynk-backend.

Source

slynk-backend.lisp.

Direct superclasses

condition.

Direct methods
Direct slots
Slot: original-condition
Initargs

:original-condition

Readers

original-condition.

Writers

(setf original-condition).

Condition: slynk-reader-error
Package

slynk-rpc.

Source

slynk-rpc.lisp.

Direct superclasses

reader-error.

Direct methods
Direct slots
Slot: packet
Initargs

:packet

Readers

slynk-reader-error.packet.

Writers

This slot is read-only.

Slot: cause
Initargs

:cause

Readers

slynk-reader-error.cause.

Writers

This slot is read-only.


6.1.7 Types

Type: severity ()
Package

slynk-backend.

Source

slynk-backend.lisp.


6.2 Internals


6.2.1 Constants

Constant: +keyword-package+

The KEYWORD package.

Package

slynk.

Source

slynk.lisp.

Constant: +sigint+
Package

slynk-backend.

Source

slynk-backend.lisp.

Constant: cl-package

The COMMON-LISP package.

Package

slynk.

Source

slynk.lisp.

Constant: default-server-port

The default TCP port for the server (when started manually).

Package

slynk.

Source

slynk.lisp.

Constant: send-counter-limit
Package

slynk.

Source

slynk.lisp.


6.2.2 Special variables

Special Variable: *after-init-hook*

Hook run after user init files are loaded.

Package

slynk.

Source

slynk.lisp.

Special Variable: *asdf-load-in-progress*

Set to t if inside a "ASDF:LOAD-SYSTEM" operation.
Introduced to prevent problematic recursive ASDF loads, but going away soon once non-ASDF loading is removed. (see github#134)

Package

slynk.

Source

slynk.lisp.

Special Variable: *auto-abbreviate-dotted-packages*

Abbreviate dotted package names to their last component if T.

Package

slynk.

Source

slynk.lisp.

Special Variable: *backtrace-pprint-dispatch-table*
Package

slynk.

Source

slynk.lisp.

Special Variable: *buffer-name*
Package

slynk-sbcl.

Source

sbcl.lisp.

Special Variable: *buffer-offset*
Package

slynk-sbcl.

Source

sbcl.lisp.

Special Variable: *buffer-package*

Package corresponding to sly-buffer-package.

EVAL-FOR-EMACS binds *buffer-package*. Strings originating from a sly buffer are best read in this package. See also FROM-STRING and TO-STRING.

Package

slynk.

Source

slynk.lisp.

Special Variable: *buffer-substring*
Package

slynk-sbcl.

Source

sbcl.lisp.

Special Variable: *buffer-tmpfile*
Package

slynk-sbcl.

Source

sbcl.lisp.

Special Variable: *cache-sourcecode*

When true complete source files are cached.
The cache is used to keep known good copies of the source text which correspond to the loaded code. Finding definitions is much more reliable when the exact source is available, so we cache it in case it gets edited on disk later.

Package

slynk-source-file-cache.

Source

slynk-source-file-cache.lisp.

Special Variable: *canonical-package-nicknames*

Canonical package names to use instead of shortest name/nickname.

Package

slynk.

Source

slynk.lisp.

Special Variable: *channel*

Current CHANNEL instance used by :EMACS-CHANNEL-SEND messages.

Package

slynk.

Source

slynk.lisp.

Special Variable: *compile-file-for-emacs-hook*
Package

slynk.

Source

slynk.lisp.

Special Variable: *connection-closed-hook*

This hook is run when a connection is closed.
The connection as passed as an argument.
Backend code should treat the connection structure as opaque.

Package

slynk.

Source

slynk.lisp.

Special Variable: *connections*

List of all active connections, with the most recent at the front.

Package

slynk.

Source

slynk.lisp.

Special Variable: *current-inspector*

Current inspector, bound by EVAL-FOR-INSPECTOR, maybe to nil.

Package

slynk.

Source

slynk.lisp.

Special Variable: *debootstrap-packages*
Package

slynk-sbcl.

Source

sbcl.lisp.

Special Variable: *debug-on-slynk-protocol-error*

When non-nil invoke the system debugger on errors that were signalled during decoding/encoding the wire protocol. Do not set this to T unless you want to debug slynk internals.

Package

slynk.

Source

slynk.lisp.

Special Variable: *definition-types*

Map SB-INTROSPECT definition type names to SLY-friendly forms

Package

slynk-sbcl.

Source

sbcl.lisp.

Special Variable: *emacs-connection*

The connection to Emacs currently in use.

Package

slynk.

Source

slynk.lisp.

Special Variable: *enable-event-history*
Package

slynk.

Source

slynk.lisp.

Special Variable: *event-history*

A ring buffer to record events for better error messages.

Package

slynk.

Source

slynk.lisp.

Special Variable: *event-history-index*
Package

slynk.

Source

slynk.lisp.

Special Variable: *external-format-to-coding-system*
Package

slynk-sbcl.

Source

sbcl.lisp.

Special Variable: *flex-score-falloff*

The larger the value, the more big index distances are penalized.

Package

slynk-completion.

Source

slynk-completion.lisp.

Special Variable: *inspector-printer-bindings*
Package

slynk.

Source

slynk.lisp.

Special Variable: *inspector-verbose-printer-bindings*
Package

slynk.

Source

slynk.lisp.

Special Variable: *interface-functions*

The names of all interface functions.

Package

slynk-backend.

Source

slynk-backend.lisp.

Special Variable: *io-interupt-level*
Package

slynk.

Source

slynk.lisp.

Special Variable: *keep-non-valid-locals*
Package

slynk-sbcl.

Source

sbcl.lisp.

Special Variable: *loaded-user-init-file*

User init file actually loaded from user’s home, if any.

Package

slynk.

Source

slynk.lisp.

Special Variable: *m-x-sly-from-emacs*

Bound to non-nil in START-SERVER.

Package

slynk.

Source

slynk.lisp.

Special Variable: *mailbox-lock*
Package

slynk-sbcl.

Source

sbcl.lisp.

Special Variable: *mailboxes*
Package

slynk-sbcl.

Source

sbcl.lisp.

Special Variable: *module-loading-method*

Keyword naming the module-loading method.

SLY’s own ‘slynk-loader.lisp’ is tried first, then ASDF

Package

slynk.

Source

slynk.lisp.

Special Variable: *more-qualified-matches*

If non-nil, "foo" more likely completes to "bar:foo". Specifically this assigns a "foo" on "bar:foo" a higher-than-usual score, as if the package qualifier "bar" was shorter.

Package

slynk-completion.

Source

slynk-completion.lisp.

Special Variable: *new-connection-hook*

This hook is run each time a connection is established. The connection structure is given as the argument. Backend code should treat the connection structure as opaque.

Package

slynk.

Source

slynk.lisp.

Special Variable: *pending-continuations*

List of continuations for Emacs. (thread local)

Package

slynk.

Source

slynk.lisp.

Special Variable: *physical-pathname-host*
Package

slynk-sbcl.

Source

sbcl.lisp.

Special Variable: *pre-reply-hook*

Hook run (without arguments) immediately before replying to an RPC.

Package

slynk.

Source

slynk.lisp.

Special Variable: *previous-compiler-condition*

Used to detect duplicates.

Package

slynk-sbcl.

Source

sbcl.lisp.

Special Variable: *send-counter*
Package

slynk.

Source

slynk.lisp.

Special Variable: *servers*

A list ((server-socket port thread) ...) describing the listening sockets. Used to close sockets on server shutdown or restart.

Package

slynk.

Source

slynk.lisp.

Special Variable: *shebang-readtable*
Package

slynk-sbcl.

Source

sbcl.lisp.

Special Variable: *sigio-handlers*

List of (key . fn) pairs to be called on SIGIO.

Package

slynk-sbcl.

Source

sbcl.lisp.

Special Variable: *sly-db-condition-printer*

Function called to print a condition to an SLY-DB buffer.

Package

slynk.

Source

slynk.lisp.

Special Variable: *sly-db-initial-frames*

The initial number of backtrace frames to send to Emacs.

Package

slynk.

Source

slynk.lisp.

Special Variable: *sly-db-level*

The current level of recursive debugging.

Package

slynk.

Source

slynk.lisp.

Special Variable: *sly-db-restarts*

The list of currenlty active restarts.

Package

slynk.

Source

slynk.lisp.

Special Variable: *sly-db-stack-top*
Package

slynk-sbcl.

Source

sbcl.lisp.

Special Variable: *sly-db-stepping-p*

True during execution of a step command.

Package

slynk.

Source

slynk.lisp.

Special Variable: *sly-features*

The feature list that has been sent to Emacs.

Package

slynk.

Source

slynk.lisp.

Special Variable: *sly-interrupts-enabled*
Package

slynk.

Source

slynk.lisp.

Special Variable: *slyfuns*

A map of Sly functions.

Package

slynk.

Source

slynk.lisp.

Special Variable: *slynk-debug-p*

When true, print extra debugging information.

Package

slynk.

Source

slynk.lisp.

Special Variable: *slynk-debugger-condition*

The condition being debugged.

Package

slynk.

Source

slynk.lisp.

Special Variable: *slynk-io-package*
Package

slynk.

Source

slynk.lisp.

Special Variable: *slynk-require-hook*

Functions run after SLYNK-REQUIRE. Called with new modules.

Package

slynk.

Source

slynk.lisp.

Special Variable: *slynk-wire-protocol-version*

The version of the slynk/sly communication protocol.

Package

slynk.

Source

slynk.lisp.

Special Variable: *source-file-cache*

Cache of source file contents.
Maps from truename to source-cache-entry structure.

Package

slynk-source-file-cache.

Source

slynk-source-file-cache.lisp.

Special Variable: *tag-counter*
Package

slynk.

Source

slynk.lisp.

Special Variable: *target-inspector*

Target inspector, bound by EVAL-FOR-INSPECTOR, maybe to nil.

Package

slynk.

Source

slynk.lisp.

Special Variable: *thread-id-counter*
Package

slynk-sbcl.

Source

sbcl.lisp.

Special Variable: *thread-id-counter-lock*
Package

slynk-sbcl.

Source

sbcl.lisp.

Special Variable: *thread-id-map*
Package

slynk-sbcl.

Source

sbcl.lisp.

Special Variable: *thread-id-map-lock*
Package

slynk-sbcl.

Source

sbcl.lisp.

Special Variable: *thread-list*

List of threads displayed in Emacs. We don’t care a about synchronization issues (yet). There can only be one thread listing at a time.

Package

slynk.

Source

slynk.lisp.

Special Variable: *trap-load-time-warnings*
Package

slynk-sbcl.

Source

sbcl.lisp.

Special Variable: *type-specifier-arglists*
Package

slynk-backend.

Source

slynk-backend.lisp.

Special Variable: *unimplemented-interfaces*

List of interface functions that are not implemented. DEFINTERFACE adds to this list and DEFIMPLEMENTATION removes.

Package

slynk-backend.

Source

slynk-backend.lisp.

Special Variable: *wait-for-input-called*
Package

slynk-sbcl.

Source

sbcl.lisp.


6.2.3 Macros

Macro: add-hook (place function)

Add FUNCTION to the list of values on PLACE.

Package

slynk.

Source

slynk.lisp.

Macro: channel-counter ()
Package

slynk.

Source

slynk.lisp.

Macro: channels ()
Package

slynk.

Source

slynk.lisp.

Macro: collecting ((&rest collectors) &body body)

COLLECTORS should be a list of names for collections. A collector defines a function that, when applied to an argument inside BODY, will add its argument to the corresponding collection. Returns multiple values, a list for each collection, in order.
E.g.,
(collecting (foo bar)
(dolist (x ’((a 1) (b 2) (c 3)))
(foo (first x))
(bar (second x))))
Returns two values: (A B C) and (1 2 3).

Package

slynk-completion.

Source

slynk-completion.lisp.

Macro: define-channel-method (selector (channel &rest args) &body body)
Package

slynk.

Source

slynk.lisp.

Macro: define-stepper-function (name backend-function-name)
Package

slynk.

Source

slynk.lisp.

Macro: defslyfun (name arglist &body rest)

A DEFUN for functions that Emacs can call by RPC.

Package

slynk.

Source

slynk.lisp.

Macro: defvar-unbound (name &optional doc-string)

Convenience macro to declare unbound special variables with a documentation string.

Package

slynk.

Source

slynk.lisp.

Macro: defxref (name &optional fn-name)
Package

slynk-sbcl.

Source

sbcl.lisp.

Macro: destructure-case (value &body patterns)

Dispatch VALUE to one of PATTERNS.
A cross between ‘case’ and ‘destructuring-bind’.
The pattern syntax is:
((HEAD . ARGS) . BODY)
The list of patterns is searched for a HEAD ‘eq’ to the car of VALUE. If one is found, the BODY is executed with ARGS bound to the corresponding values in the CDR of VALUE.

Package

slynk.

Source

slynk.lisp.

Macro: lcons (car cdr)
Package

slynk.

Source

slynk.lisp.

Macro: lcons* (car cdr &rest more)
Package

slynk.

Source

slynk.lisp.

Macro: listeners ()
Package

slynk.

Source

slynk.lisp.

Macro: restart-loop (form &body clauses)

Executes FORM, with restart-case CLAUSES which have a chance to modify FORM’s environment before trying again (by returning normally) or giving up (through an explicit transfer of control), all within an implicit block named nil.
e.g.: (restart-loop (http-request url) (use-value (new) (setq url new)))

Package

slynk.

Source

slynk.lisp.

Macro: saving-listener-bindings (listener &body body)

Execute BODY inside LISTENER’s environment, update it afterwards.

Package

slynk.

Source

slynk.lisp.

Macro: select-match (expression &rest patterns)
Package

slynk-match.

Source

slynk-match.lisp.

Macro: utf8-encode-aux (code buffer start end n)
Package

slynk-backend.

Source

slynk-backend.lisp.

Macro: with-bindings (alist &body body)

See ‘call-with-bindings’.
Bindings appearing earlier in the list take priority

Package

slynk.

Source

slynk.lisp.

Macro: with-buffer-syntax ((&optional package-designator readtable) &body body)

Conceptually execute BODY inside a SLY Lisp buffer.

Execute BODY with appropriate *PACKAGE* and *READTABLE* bindings.

PACKAGE-DESIGNATOR, if non-NIL, is anything remotely designating a package. READTABLE, if non-NIL, must verify CL:READTABLEP.

READTABLE defaults to *BUFFER-READTABLE* as set by GUESS-BUFFER-READTABLE, which in turn uses a mapping in *READTABLE-ALIST* as indexed by *BUFFER-PACKAGE*, and *not* PACKAGE-DESIGNATOR.

This should be used for code that is conceptionally executed in an Emacs buffer.

Package

slynk.

Source

slynk.lisp.

Macro: with-compiler-policy (policy &body body)
Package

slynk-sbcl.

Source

sbcl.lisp.

Macro: with-connection ((connection) &body body)

Execute BODY in the context of CONNECTION.

Package

slynk.

Source

slynk.lisp.

Macro: with-debootstrapping (&body body)
Package

slynk-sbcl.

Source

sbcl.lisp.

Macro: with-default-listener ((connection) &body body)

Execute BODY with in CONNECTION’s default listener.

Package

slynk.

Source

slynk.lisp.

Macro: with-definition-source ((&rest names) obj &body body)

Like with-slots but works only for structs.

Package

slynk-sbcl.

Source

sbcl.lisp.

Macro: with-describe-settings ((&rest _) &body body)
Package

slynk.

Source

slynk.lisp.

Macro: with-interrupts-enabled% (flag body)
Package

slynk.

Source

slynk.lisp.

Macro: with-listener-bindings (listener &body body)

Execute BODY inside LISTENER’s environment

Package

slynk.

Source

slynk.lisp.

Macro: with-panic-handler ((connection) &body body)

Close the connection on unhandled ‘serious-condition’s.

Package

slynk.

Source

slynk.lisp.

Macro: with-retry-restart ((&key msg) &body body)
Package

slynk.

Source

slynk.lisp.

Macro: with-sly-interrupts (&body body)
Package

slynk.

Source

slynk.lisp.

Macro: with-sly-output-stream (stream &body body)
Package

slynk-gray.

Source

slynk-gray.lisp.

Macro: with-slynk-error-handler ((connection) &body body)

Close the connection on internal ‘slynk-error’s.

Package

slynk.

Source

slynk.lisp.

Macro: with-string-stream ((var &key length bindings) &body body)
Package

slynk.

Source

slynk.lisp.

Macro: with-top-level-restart ((connection k) &body body)
Package

slynk.

Source

slynk.lisp.

Macro: without-printing-errors ((&key object stream msg) &body body)

Catches errors during evaluation of BODY and prints MSG instead.

Package

slynk.

Source

slynk.lisp.

Macro: without-sly-interrupts (&body body)
Package

slynk.

Source

slynk.lisp.


6.2.4 Ordinary functions

Function: %%condition-message (condition)
Package

slynk.

Source

slynk.lisp.

Function: %condition-message (condition)
Package

slynk.

Source

slynk.lisp.

Function: %lcons (car %cdr)
Package

slynk.

Source

slynk.lisp.

Function: %make-connection (&key socket socket-io channel-counter channels listeners inspectors indentation-cache indentation-cache-packages communication-style)
Package

slynk.

Source

slynk.lisp.

Function: %search-coding (str start end)
Package

slynk-backend.

Source

slynk-backend.lisp.

Function: %utf8-encode (code buffer start end)
Package

slynk-backend.

Source

slynk-backend.lisp.

Function: accept (socket)

Like socket-accept, but retry on EAGAIN.

Package

slynk-sbcl.

Source

sbcl.lisp.

Function: accept-connections (socket style dont-close)
Package

slynk.

Source

slynk.lisp.

Function: accessible-matching (pattern package)

Find symbols flex-matching PATTERN accessible without package-qualification. Return an unsorted list of matches.

Matches are produced by COLLECT-IF-MATCHES (which see).

Package

slynk-completion.

Source

slynk-completion.lisp.

Function: action-part (label lambda refreshp actions)
Package

slynk.

Source

slynk.lisp.

Function: add-active-thread (connection thread)
Package

slynk.

Source

slynk.lisp.

Function: add-to-load-path-1 (path load-path-var)
Package

slynk.

Source

slynk.lisp.

Function: all-simple-completions (prefix package)
Package

slynk-completion.

Source

slynk-completion.lisp.

Function: announce-server-port (file port)
Package

slynk.

Source

slynk.lisp.

Function: apply-macro-expander (expander string)
Package

slynk.

Source

slynk.lisp.

Function: ascii-char-p (c)
Package

slynk.

Source

slynk.lisp.

Function: ascii-string-p (o)
Package

slynk.

Source

slynk.lisp.

Function: asciify (packet)
Package

slynk-rpc.

Source

slynk-rpc.lisp.

Function: assign-index (object vector)
Package

slynk.

Source

slynk.lisp.

Function: auto-abbreviated-package-name (package)

Return an abbreviated ’name’ for PACKAGE.

N.B. this is not an actual package name or nickname.

Package

slynk.

Source

slynk.lisp.

Function: background-message (format-string &rest args)

Display a message in Emacs’ echo area.

Use this function for informative messages only. The message may even be dropped if we are too busy with other things.

Package

slynk.

Source

slynk.lisp.

Function: brief-compiler-message-for-emacs (condition)

Briefly describe a compiler error for Emacs.
When Emacs presents the message it already has the source popped up and the source form highlighted. This makes much of the information in the error-context redundant.

Package

slynk-sbcl.

Source

sbcl.lisp.

Function: briefly-describe-symbol-for-emacs (symbol external-p)

Return a property list describing SYMBOL.
Like ‘describe-symbol-for-emacs’ but with at most one line per item.

Package

slynk-apropos.

Source

slynk-apropos.lisp.

Function: call-with-bindings (alist fun)

Call FUN with variables bound according to ALIST. ALIST is a list of the form ((VAR . VAL) ...).

Package

slynk.

Source

slynk.lisp.

Function: call-with-break-hook (hook continuation)
Package

slynk-sbcl.

Source

sbcl.lisp.

Function: call-with-buffer-syntax (package readtable fun)
Package

slynk.

Source

slynk.lisp.

Function: call-with-debootstrapping (fun)
Package

slynk-sbcl.

Source

sbcl.lisp.

Function: call-with-describe-settings (fn)
Package

slynk.

Source

slynk.lisp.

Function: call-with-listener (listener fn &optional saving)
Package

slynk.

Source

slynk.lisp.

Function: call-with-retry-restart (msg thunk)
Package

slynk.

Source

slynk.lisp.

Function: call/truncated-output-to-string (length function &optional ellipsis)

Call FUNCTION with a new stream, return the output written to the stream. If FUNCTION tries to write more than LENGTH characters, it will be aborted and return immediately with the output written so far.

Package

slynk.

Source

slynk.lisp.

Function: canonical-package-nickname (package)

Return the canonical package nickname, if any, of PACKAGE.

Package

slynk.

Source

slynk.lisp.

Function: cat (&rest strings)

Concatenate all arguments and make the result a string.

Package

slynk.

Source

slynk.lisp.

Function: categorize-definition-source (definition-source)
Package

slynk-sbcl.

Source

sbcl.lisp.

Function: channel-thread-id (channel)
Package

slynk.

Source

slynk.lisp.

Function: char-casifier (string)

Return a function which converts characters in STRING according to ‘readtable-case’.

Package

slynk.

Source

slynk.lisp.

Function: check-source-path (path)
Package

slynk-source-path-parser.

Source

slynk-source-path-parser.lisp.

Function: cl-symbol-p (symbol)

Is SYMBOL a symbol in the COMMON-LISP package?

Package

slynk.

Source

slynk.lisp.

Function: classify-symbol (symbol)

Returns a list of classifiers that classify SYMBOL according to its underneath objects (e.g. :BOUNDP if SYMBOL constitutes a special variable.) The list may contain the following classification keywords: :BOUNDP, :FBOUNDP, :CONSTANT, :GENERIC-FUNCTION, :TYPESPEC, :CLASS, :MACRO, :SPECIAL-OPERATOR, and/or :PACKAGE

Package

slynk.

Source

slynk.lisp.

Function: clean-arglist (arglist)

Remove &whole, &enviroment, and &aux elements from ARGLIST.

Package

slynk.

Source

slynk.lisp.

Function: cleanup-connection-threads (connection)
Package

slynk.

Source

slynk.lisp.

Function: clear-event-history ()
Package

slynk.

Source

slynk.lisp.

Function: clear-user-input ()
Package

slynk.

Source

slynk.lisp.

Function: close-connection (connection condition backtrace)
Package

slynk.

Source

slynk.lisp.

Function: close-connection% (c condition backtrace)
Package

slynk.

Source

slynk.lisp.

Function: code-location-debug-fun-fun (code-location)
Package

slynk-sbcl.

Source

sbcl.lisp.

Function: code-location-debug-source-created (code-location)
Package

slynk-sbcl.

Source

sbcl.lisp.

Function: code-location-debug-source-name (code-location)
Package

slynk-sbcl.

Source

sbcl.lisp.

Function: code-location-has-debug-block-info-p (code-location)
Package

slynk-sbcl.

Source

sbcl.lisp.

Function: code-location-source-location (code-location)
Package

slynk-sbcl.

Source

sbcl.lisp.

Function: coerce-to-condition (datum args)
Package

slynk.

Source

slynk.lisp.

Function: collect-if-matches (collector pattern string symbol)

Make and collect a match with COLLECTOR if PATTERN matches STRING. A match is a list (STRING SYMBOL INDEXES SCORE).
Return non-nil if match was collected, nil otherwise.

Package

slynk-completion.

Source

slynk-completion.lisp.

Function: collect-notes (function)
Package

slynk.

Source

slynk.lisp.

Function: compilation-result-duration (structure)
Package

slynk.

Source

slynk.lisp.

Function: (setf compilation-result-duration) (structure)
Package

slynk.

Source

slynk.lisp.

Function: compilation-result-faslfile (structure)
Package

slynk.

Source

slynk.lisp.

Function: (setf compilation-result-faslfile) (structure)
Package

slynk.

Source

slynk.lisp.

Function: compilation-result-loadp (structure)
Package

slynk.

Source

slynk.lisp.

Function: (setf compilation-result-loadp) (structure)
Package

slynk.

Source

slynk.lisp.

Function: compilation-result-notes (structure)
Package

slynk.

Source

slynk.lisp.

Function: (setf compilation-result-notes) (structure)
Package

slynk.

Source

slynk.lisp.

Function: compilation-result-successp (structure)
Package

slynk.

Source

slynk.lisp.

Function: (setf compilation-result-successp) (structure)
Package

slynk.

Source

slynk.lisp.

Function: compilation-result-type (structure)
Package

slynk.

Source

slynk.lisp.

Function: (setf compilation-result-type) (structure)
Package

slynk.

Source

slynk.lisp.

Function: compile-file-output (file directory)
Package

slynk.

Source

slynk.lisp.

Function: compile-select-bindings (key pattern action)
Package

slynk-match.

Source

slynk-match.lisp.

Function: compile-select-test (key pattern)
Package

slynk-match.

Source

slynk-match.lisp.

Function: compile-select-tests (key pattern)
Package

slynk-match.

Source

slynk-match.lisp.

Function: compiler-error-context (error-context)

Describe a compiler error for Emacs including context information.

Package

slynk-sbcl.

Source

sbcl.lisp.

Function: compiler-note-location (condition context)
Package

slynk-sbcl.

Source

sbcl.lisp.

Function: compiler-policy (qualities)

Return compiler policy qualities present in the QUALITIES alist. QUALITIES is an alist with (quality . value)

Package

slynk-sbcl.

Source

sbcl.lisp.

Function: (setf compiler-policy) ()
Package

slynk-sbcl.

Source

sbcl.lisp.

Function: compiler-source-path (context)

Return the source-path for the current compiler error. Returns NIL if this cannot be determined by examining internal compiler state.

Package

slynk-sbcl.

Source

sbcl.lisp.

Function: compiling-from-buffer-p (filename)
Package

slynk-sbcl.

Source

sbcl.lisp.

Function: compiling-from-file-p (filename)
Package

slynk-sbcl.

Source

sbcl.lisp.

Function: compiling-from-generated-code-p (filename source)
Package

slynk-sbcl.

Source

sbcl.lisp.

Function: condition-references (condition)
Package

slynk-sbcl.

Source

sbcl.lisp.

Reader: connection-channel-counter (instance)
Writer: (setf connection-channel-counter) (instance)
Package

slynk.

Source

slynk.lisp.

Target Slot

channel-counter.

Reader: connection-channels (instance)
Writer: (setf connection-channels) (instance)
Package

slynk.

Source

slynk.lisp.

Target Slot

channels.

Reader: connection-communication-style (instance)
Writer: (setf connection-communication-style) (instance)
Package

slynk.

Source

slynk.lisp.

Target Slot

communication-style.

Reader: connection-indentation-cache (instance)
Writer: (setf connection-indentation-cache) (instance)
Package

slynk.

Source

slynk.lisp.

Target Slot

indentation-cache.

Reader: connection-indentation-cache-packages (instance)
Writer: (setf connection-indentation-cache-packages) (instance)
Package

slynk.

Source

slynk.lisp.

Target Slot

indentation-cache-packages.

Reader: connection-inspectors (instance)
Writer: (setf connection-inspectors) (instance)
Package

slynk.

Source

slynk.lisp.

Target Slot

inspectors.

Reader: connection-listeners (instance)
Writer: (setf connection-listeners) (instance)
Package

slynk.

Source

slynk.lisp.

Target Slot

listeners.

Function: connection-p (object)
Package

slynk.

Source

slynk.lisp.

Reader: connection-socket (instance)
Package

slynk.

Source

slynk.lisp.

Target Slot

socket.

Reader: connection-socket-io (instance)
Package

slynk.

Source

slynk.lisp.

Target Slot

socket-io.

Function: content-range (list start end)
Package

slynk.

Source

slynk.lisp.

Function: copy-compilation-result (sequence)

Return a copy of SEQUENCE which is EQUAL to SEQUENCE but not EQ.

Package

slynk.

Alias for

copy-seq.

Function: copy-connection (instance)
Package

slynk.

Source

slynk.lisp.

Function: copy-inspector-state (instance)
Package

slynk.

Source

slynk.lisp.

Function: copy-istate (instance)
Package

slynk.

Source

slynk.lisp.

Function: copy-lcons (instance)
Package

slynk.

Source

slynk.lisp.

Function: copy-location (sequence)

Return a copy of SEQUENCE which is EQUAL to SEQUENCE but not EQ.

Package

slynk-backend.

Alias for

copy-seq.

Function: copy-mailbox (instance)
Package

slynk-sbcl.

Source

sbcl.lisp.

Function: copy-multithreaded-connection (instance)
Package

slynk.

Source

slynk.lisp.

Function: copy-singlethreaded-connection (instance)
Package

slynk.

Source

slynk.lisp.

Function: copy-source-cache-entry (instance)
Package

slynk-source-file-cache.

Source

slynk-source-file-cache.lisp.

Function: cs-car (exp)
Package

slynk-match.

Source

slynk-match.lisp.

Function: cs-car/cdr (op exp table)
Package

slynk-match.

Source

slynk-match.lisp.

Function: cs-cdr (exp)
Package

slynk-match.

Source

slynk-match.lisp.

Function: current-inspector ()
Package

slynk.

Source

slynk.lisp.

Function: current-istate (&optional inspector)
Package

slynk.

Source

slynk.lisp.

Function: current-socket-io ()
Package

slynk.

Source

slynk.lisp.

Function: current-thread-id ()
Package

slynk.

Source

slynk.lisp.

Function: debug-in-emacs (condition)
Package

slynk.

Source

slynk.lisp.

Function: debug-var-info (var)
Package

slynk-sbcl.

Source

sbcl.lisp.

Function: debug-var-value (var frame location)
Package

slynk-sbcl.

Source

sbcl.lisp.

Function: debugger-condition-for-emacs ()
Package

slynk.

Source

slynk.lisp.

Function: decode-message (stream)

Read an S-expression from STREAM using the SLY protocol.

Package

slynk.

Source

slynk.lisp.

Function: default-connection ()

Return the ’default’ Emacs connection.
This connection can be used to talk with Emacs when no specific connection is in use, i.e. *EMACS-CONNECTION* is NIL.

The default connection is defined (quite arbitrarily) as the most recently established one.

Package

slynk.

Source

slynk.lisp.

Function: default-listener (connection)
Package

slynk.

Source

slynk.lisp.

Function: default-string-to-utf8 (string)
Package

slynk-backend.

Source

slynk-backend.lisp.

Function: default-utf8-to-string (octets)
Package

slynk-backend.

Source

slynk-backend.lisp.

Function: definition-source-buffer-and-file-location (definition-source)
Package

slynk-sbcl.

Source

sbcl.lisp.

Function: definition-source-buffer-location (definition-source)
Package

slynk-sbcl.

Source

sbcl.lisp.

Function: definition-source-file-location (definition-source)
Package

slynk-sbcl.

Source

sbcl.lisp.

Function: definition-source-for-emacs (definition-source type name)
Package

slynk-sbcl.

Source

sbcl.lisp.

Function: definition-specifier (type)

Return a pretty specifier for NAME representing a definition of type TYPE.

Package

slynk-sbcl.

Source

sbcl.lisp.

Function: deinstall-fd-handler (connection)
Package

slynk.

Source

slynk.lisp.

Function: deinstall-sigio-handler (connection)
Package

slynk.

Source

slynk.lisp.

Function: describe-to-string (object)
Package

slynk.

Source

slynk.lisp.

Function: dispatch-event (connection event)

Handle an event triggered either by Emacs or within Lisp.

Package

slynk.

Source

slynk.lisp.

Function: dispatch-interrupt-event (connection)
Package

slynk.

Source

slynk.lisp.

Function: dispatch-loop (connection)
Package

slynk.

Source

slynk.lisp.

Function: dump-event (event stream)
Package

slynk.

Source

slynk.lisp.

Function: dump-event-history (stream)
Package

slynk.

Source

slynk.lisp.

Function: echo-for-emacs (values &optional fn)

Format VALUES in a way suitable to be echoed in the SLY client. May insert newlines between each of VALUES. Considers *ECHO-NUMBER-ALIST*.

Package

slynk.

Source

slynk.lisp.

Function: emacs-buffer-source-location (code-location plist)
Package

slynk-sbcl.

Source

sbcl.lisp.

Function: enable-sigio-on-fd (fd)
Package

slynk-sbcl.

Source

sbcl.lisp.

Function: encode-message (message stream)

Write an S-expression to STREAM using the SLY protocol.

Package

slynk.

Source

slynk.lisp.

Function: encoding-error (condition string)
Package

slynk-rpc.

Source

slynk-rpc.lisp.

Function: ensure-istate-metadata (o indicator default)
Package

slynk.

Source

slynk.lisp.

Function: ensure-list (thing)
Package

slynk.

Source

slynk.lisp.

Function: escape-non-ascii (string)

Return a string like STRING but with non-ascii chars escaped.

Package

slynk.

Source

slynk.lisp.

Function: escape-string (string stream &key length map)

Write STRING to STREAM surronded by double-quotes. LENGTH – if non-nil truncate output after LENGTH chars. MAP – rewrite the chars in STRING according to this alist.

Package

slynk.

Source

slynk.lisp.

Function: eval-in-frame-aux (frame string package print)
Package

slynk.

Source

slynk.lisp.

Function: eval-region (string)

Evaluate STRING.
Return the results of the last form as a list and as secondary value the last form.

Package

slynk.

Source

slynk.lisp.

Function: event-history-to-list ()

Return the list of events (older events first).

Package

slynk.

Source

slynk.lisp.

Function: event-match-p (event pattern)
Package

slynk.

Source

slynk.lisp.

Function: execv (program args)

Replace current executable with another one.

Package

slynk-sbcl.

Source

sbcl.lisp.

Function: expand (form)
Package

slynk.

Source

slynk.lisp.

Function: expand-1 (form)
Package

slynk.

Source

slynk.lisp.

Function: expand-repeatedly (expander form)
Package

slynk.

Source

slynk.lisp.

Function: expand-select-patterns (key patterns)
Package

slynk-match.

Source

slynk-match.lisp.

Function: expand-select-patterns-style-1 (key patterns)
Package

slynk-match.

Source

slynk-match.lisp.

Function: expand-select-patterns-style-2 (key patterns)
Package

slynk-match.

Source

slynk-match.lisp.

Function: externalize-reference (ref)
Package

slynk-sbcl.

Source

sbcl.lisp.

Function: extract-package (line)
Package

slynk-source-path-parser.

Source

slynk-source-path-parser.lisp.

Function: fallback-source-location (code-location)
Package

slynk-sbcl.

Source

sbcl.lisp.

Function: fasl-pathname (input-file options)
Package

slynk.

Source

slynk.lisp.

Function: fd-stream-input-buffer-empty-p (stream)
Package

slynk-sbcl.

Source

sbcl.lisp.

Function: feature-in-list-p (feature list)
Package

slynk-sbcl.

Source

sbcl.lisp.

Function: features-for-emacs ()

Return ‘*sly-features*’ in a format suitable to send it to Emacs.

Package

slynk.

Source

slynk.lisp.

Function: file-form-number-position (definition-source)
Package

slynk-sbcl.

Source

sbcl.lisp.

Function: file-newer-p (new-file old-file)

Returns true if NEW-FILE is newer than OLD-FILE.

Package

slynk.

Source

slynk.lisp.

Function: file-source-location (code-location)
Package

slynk-sbcl.

Source

sbcl.lisp.

Function: find-channel (id)
Package

slynk.

Source

slynk.lisp.

Function: find-channel-thread (channel)
Package

slynk.

Source

slynk.lisp.

Function: find-definitions-find-symbol-or-package (name)
Package

slynk.

Source

slynk.lisp.

Function: find-external-format-or-lose (coding-system)
Package

slynk.

Source

slynk.lisp.

Function: find-inspector (name)
Package

slynk.

Source

slynk.lisp.

Function: find-symbol-with-status (symbol-name status &optional package)
Package

slynk.

Source

slynk.lisp.

Function: flex-score (string indexes pattern)

Score the match of STRING as given by INDEXES. INDEXES as calculated by FLEX-MATCHES.

Package

slynk-completion.

Source

slynk-completion.lisp.

Function: flex-score-1 (string-length indexes)

Does the real work of FLEX-SCORE.
Given that INDEXES is a list of integer position of characters in a string of length STRING-LENGTH, say how well these characters represent that STRING. There is a non-linear falloff with the distances between the indexes, according to *FLEX-SCORE-FALLOFF*. If that value is 2, for example, the indices ’(0 1 2) on a 3-long string of is a perfect (100% match,) while ’(0 2) on that same string is a 33% match and just ’(1) is a 11% match.

Package

slynk-completion.

Source

slynk-completion.lisp.

Function: flush-listener-streams (listener)
Package

slynk.

Source

slynk.lisp.

Function: force-user-output ()
Package

slynk.

Source

slynk.lisp.

Function: form-number-position (definition-source stream)
Package

slynk-sbcl.

Source

sbcl.lisp.

Function: format-as-percentage-maybe (f)
Package

slynk.

Source

slynk.lisp.

Function: format-completion-set (strings internal-p package-name)

Format a set of completion strings.
Returns a list of completions with package qualifiers if needed.

Package

slynk-completion.

Source

slynk-completion.lisp.

Function: format-integer-as-binary (i)
Package

slynk.

Source

slynk.lisp.

Function: format-integer-as-hex (i)
Package

slynk.

Source

slynk.lisp.

Function: format-integer-as-octal (i)
Package

slynk.

Source

slynk.lisp.

Function: format-integer-length (i)
Package

slynk.

Source

slynk.lisp.

Function: format-ratio-as-float (r)
Package

slynk.

Source

slynk.lisp.

Function: format-restarts-for-emacs ()

Return a list of restarts for *slynk-debugger-condition* in a format suitable for Emacs.

Package

slynk.

Source

slynk.lisp.

Function: frame-debug-vars (frame)

Return a vector of debug-variables in frame.

Package

slynk-sbcl.

Source

sbcl.lisp.

Function: frame-locals-for-emacs (index)
Package

slynk.

Source

slynk.lisp.

Function: frame-to-string (frame)
Package

slynk.

Source

slynk.lisp.

Function: from-string (string)

Read string in the *BUFFER-PACKAGE*

Package

slynk.

Source

slynk.lisp.

Function: function-dspec (fn)

Describe where the function FN was defined. Return a list of the form (NAME LOCATION).

Package

slynk-sbcl.

Source

sbcl.lisp.

Function: function-source-location (function &optional name)
Package

slynk-sbcl.

Source

sbcl.lisp.

Function: guess-buffer-package (string)

Return a package for STRING.
Fall back to the current if no such package exists.

Package

slynk.

Source

slynk.lisp.

Function: guess-buffer-readtable (package-name)
Package

slynk.

Source

slynk.lisp.

Function: guess-package (string)

Guess which package corresponds to STRING. Return nil if no package matches.

Package

slynk.

Source

slynk.lisp.

Function: guess-reader-state (stream)
Package

slynk-source-path-parser.

Source

slynk-source-path-parser.lisp.

Function: guess-readtable-for-filename (filename)
Package

slynk-sbcl.

Source

sbcl.lisp.

Function: handle-indentation-cache-request (connection request)
Package

slynk.

Source

slynk.lisp.

Function: handle-notification-condition (condition)

Handle a condition caused by a compiler warning.
This traps all compiler conditions at a lower-level than using C:*COMPILER-NOTIFICATION-FUNCTION*. The advantage is that we get to craft our own error messages, which can omit a lot of redundant information.

Package

slynk-sbcl.

Source

sbcl.lisp.

Function: handle-requests (connection &optional timeout)

Read and process :emacs-rex requests.
The processing is done in the extent of the toplevel restart.

Package

slynk.

Source

slynk.lisp.

Function: handle-sly-db-condition (condition)

Handle an internal debugger condition.
Rather than recursively debug the debugger (a dangerous idea!), these conditions are simply reported.

Package

slynk.

Source

slynk.lisp.

Function: hash-table-to-alist (ht)
Package

slynk.

Source

slynk.lisp.

Function: ignored-xref-function-names ()
Package

slynk-sbcl.

Source

sbcl.lisp.

Function: iline (label value)
Package

slynk.

Source

slynk.lisp.

Function: indentation-cache-loop (connection)
Package

slynk.

Source

slynk.lisp.

Function: init ()
Package

slynk.

Source

slynk.lisp.

Function: init-log-output ()
Package

slynk.

Source

slynk.lisp.

Function: input-ready-p (stream)
Package

slynk-sbcl.

Source

sbcl.lisp.

Function: inspect-cons (cons)
Package

slynk.

Source

slynk.lisp.

Function: inspect-list (list)
Package

slynk.

Source

slynk.lisp.

Function: inspect-list-aux (list)
Package

slynk.

Source

slynk.lisp.

Function: inspect-object (o)
Package

slynk.

Source

slynk.lisp.

Function: inspector-state-p (object)
Package

slynk.

Source

slynk.lisp.

Function: install-debugger (connection)
Package

slynk.

Source

slynk.lisp.

Function: install-fd-handler (connection)
Package

slynk.

Source

slynk.lisp.

Function: install-sigio-handler (connection)
Package

slynk.

Source

slynk.lisp.

Function: interrupt-worker-thread (connection id)
Package

slynk.

Source

slynk.lisp.

Function: invoke-default-debugger (condition)
Package

slynk.

Source

slynk.lisp.

Function: invoke-or-queue-interrupt (function)
Package

slynk.

Source

slynk.lisp.

Function: istate-p (object)
Package

slynk.

Source

slynk.lisp.

Reader: istate.actions (instance)
Writer: (setf istate.actions) (instance)
Package

slynk.

Source

slynk.lisp.

Target Slot

actions.

Reader: istate.content (instance)
Writer: (setf istate.content) (instance)
Package

slynk.

Source

slynk.lisp.

Target Slot

content.

Reader: istate.metadata (instance)
Writer: (setf istate.metadata) (instance)
Package

slynk.

Source

slynk.lisp.

Target Slot

metadata.

Reader: istate.object (instance)
Writer: (setf istate.object) (instance)
Package

slynk.

Source

slynk.lisp.

Target Slot

object.

Reader: istate.parts (instance)
Writer: (setf istate.parts) (instance)
Package

slynk.

Source

slynk.lisp.

Target Slot

parts.

Reader: istate.serial (instance)
Writer: (setf istate.serial) (instance)
Package

slynk.

Source

slynk.lisp.

Target Slot

serial.

Function: istate>elisp (istate)
Package

slynk.

Source

slynk.lisp.

Function: keywords-matching (pattern)

Find keyword symbols flex-matching PATTERN.
Return an unsorted list of matches.

Matches are produced by COLLECT-IF-MATCHES (which see).

Package

slynk-completion.

Source

slynk-completion.lisp.

Function: known-to-emacs-p (symbol)

Return true if Emacs has special rules for indenting SYMBOL.

Package

slynk.

Source

slynk.lisp.

Reader: lcons-%cdr (instance)
Writer: (setf lcons-%cdr) (instance)
Package

slynk.

Source

slynk.lisp.

Target Slot

%cdr.

Reader: lcons-car (instance)
Writer: (setf lcons-car) (instance)
Package

slynk.

Source

slynk.lisp.

Target Slot

car.

Function: lcons-cdr (lcons)
Package

slynk.

Source

slynk.lisp.

Reader: lcons-forced? (instance)
Writer: (setf lcons-forced?) (instance)
Package

slynk.

Source

slynk.lisp.

Target Slot

forced?.

Function: lcons? (object)
Package

slynk.

Source

slynk.lisp.

Function: lisp-source-location (code-location)
Package

slynk-sbcl.

Source

sbcl.lisp.

Function: listify (f)

Return a function like F, but which returns any non-null value wrapped in a list.

Package

slynk.

Source

slynk.lisp.

Function: llist-range (llist start end)
Package

slynk.

Source

slynk.lisp.

Function: llist-skip (lcons index)
Package

slynk.

Source

slynk.lisp.

Function: llist-take (lcons count)
Package

slynk.

Source

slynk.lisp.

Function: load-user-init-file ()

Load the user init file, return NIL if it does not exist.

Package

slynk.

Source

slynk.lisp.

Function: locate-compiler-note (file source-path source)
Package

slynk-sbcl.

Source

sbcl.lisp.

Function: location-type (structure)
Package

slynk-backend.

Source

slynk-backend.lisp.

Function: (setf location-type) (structure)
Package

slynk-backend.

Source

slynk-backend.lisp.

Function: log-event (format-string &rest args)

Write a message to *terminal-io* when *log-events* is non-nil. Useful for low level debugging.

Package

slynk.

Source

slynk.lisp.

Function: longest-common-prefix (strings)

Return the longest string that is a common prefix of STRINGS.

Package

slynk-completion.

Source

slynk-completion.lisp.

Function: macro-indentation (arglist)
Package

slynk.

Source

slynk.lisp.

Function: mailbox (thread)

Return THREAD’s mailbox.

Package

slynk-sbcl.

Source

sbcl.lisp.

Function: mailbox-p (object)
Package

slynk-sbcl.

Source

sbcl.lisp.

Reader: mailbox.mutex (instance)
Writer: (setf mailbox.mutex) (instance)
Package

slynk-sbcl.

Source

sbcl.lisp.

Target Slot

mutex.

Reader: mailbox.queue (instance)
Writer: (setf mailbox.queue) (instance)
Package

slynk-sbcl.

Source

sbcl.lisp.

Target Slot

queue.

Reader: mailbox.thread (instance)
Writer: (setf mailbox.thread) (instance)
Package

slynk-sbcl.

Source

sbcl.lisp.

Target Slot

thread.

Reader: mailbox.waitqueue (instance)
Writer: (setf mailbox.waitqueue) (instance)
Package

slynk-sbcl.

Source

sbcl.lisp.

Target Slot

waitqueue.

Function: make-cl-ppcre-matcher (pattern case-sensitive)
Package

slynk-apropos.

Source

slynk-apropos.lisp.

Function: make-compilation-result (&key type notes successp duration loadp faslfile)
Package

slynk.

Source

slynk.lisp.

Function: make-compiler-note (condition)

Make a compiler note data structure from a compiler-condition.

Package

slynk.

Source

slynk.lisp.

Function: make-connection (socket stream style)
Package

slynk.

Source

slynk.lisp.

Function: make-dspec (type name source-location)
Package

slynk-sbcl.

Source

sbcl.lisp.

Function: make-flex-matcher (pattern case-sensitive)
Package

slynk-apropos.

Source

slynk-apropos.lisp.

Function: make-inspector-state (&key)
Package

slynk.

Source

slynk.lisp.

Function: make-invoke-debugger-hook (hook)
Package

slynk-sbcl.

Source

sbcl.lisp.

Function: make-istate (&key object parts actions metadata content serial)
Package

slynk.

Source

slynk.lisp.

Function: make-mailbox (&key thread mutex waitqueue queue)
Package

slynk-sbcl.

Source

sbcl.lisp.

Function: make-multithreaded-connection (&key socket socket-io channel-counter channels listeners inspectors indentation-cache indentation-cache-packages communication-style reader-thread control-thread auto-flush-thread indentation-cache-thread active-threads)
Package

slynk.

Source

slynk.lisp.

Function: make-plain-matcher (pattern case-sensitive)
Package

slynk-apropos.

Source

slynk-apropos.lisp.

Function: make-repl-input-stream (connection stdin)
Package

slynk.

Source

slynk.lisp.

Function: make-sharpdot-reader (orig-sharpdot-reader)
Package

slynk-source-path-parser.

Source

slynk-source-path-parser.lisp.

Function: make-singlethreaded-connection (&key socket socket-io channel-counter channels listeners inspectors indentation-cache indentation-cache-packages communication-style saved-sigint-handler event-queue events-enqueued)
Package

slynk.

Source

slynk.lisp.

Function: make-socket-io-stream (socket external-format buffering)
Package

slynk-sbcl.

Source

sbcl.lisp.

Function: make-source-cache-entry (text date)
Package

slynk-source-file-cache.

Source

slynk-source-file-cache.lisp.

Function: make-source-recorder (fn source-map)

Return a macro character function that does the same as FN, but additionally stores the result together with the stream positions before and after of calling FN in the hashtable SOURCE-MAP.

Package

slynk-source-path-parser.

Source

slynk-source-path-parser.lisp.

Function: make-source-recording-readtable (readtable source-map)

Return a source position recording copy of READTABLE. The source locations are stored in SOURCE-MAP.

Package

slynk-source-path-parser.

Source

slynk-source-path-parser.lisp.

Function: make-tag ()
Package

slynk.

Source

slynk.lisp.

Function: make-thread-bindings-aware-lambda (fn)
Package

slynk.

Source

slynk.lisp.

Function: map-if (test fn &rest lists)

Like (mapcar FN . LISTS) but only call FN on objects satisfying TEST. Example:
(map-if #’oddp #’- ’(1 2 3 4 5)) => (-1 2 -3 4 -5)

Package

slynk.

Source

slynk.lisp.

Function: matching-symbols (package external test)
Package

slynk-completion.

Source

slynk-completion.lisp.

Function: maybe-convert-package-designator (string)
Package

slynk-rpc.

Source

slynk-rpc.lisp.

Function: maybe-schedule-flush (stream)
Package

slynk-gray.

Source

slynk-gray.lisp.

Function: maybe-slow-down ()
Package

slynk.

Source

slynk.lisp.

Reader: mconn.active-threads (instance)
Writer: (setf mconn.active-threads) (instance)
Package

slynk.

Source

slynk.lisp.

Target Slot

active-threads.

Reader: mconn.auto-flush-thread (instance)
Writer: (setf mconn.auto-flush-thread) (instance)
Package

slynk.

Source

slynk.lisp.

Target Slot

auto-flush-thread.

Function: mconn.channel-counter (instance)
Package

slynk.

Source

slynk.lisp.

Function: (setf mconn.channel-counter) (instance)
Package

slynk.

Source

slynk.lisp.

Function: mconn.channels (instance)
Package

slynk.

Source

slynk.lisp.

Function: (setf mconn.channels) (instance)
Package

slynk.

Source

slynk.lisp.

Function: mconn.communication-style (instance)
Package

slynk.

Source

slynk.lisp.

Function: (setf mconn.communication-style) (instance)
Package

slynk.

Source

slynk.lisp.

Reader: mconn.control-thread (instance)
Writer: (setf mconn.control-thread) (instance)
Package

slynk.

Source

slynk.lisp.

Target Slot

control-thread.

Function: mconn.indentation-cache (instance)
Package

slynk.

Source

slynk.lisp.

Function: (setf mconn.indentation-cache) (instance)
Package

slynk.

Source

slynk.lisp.

Function: mconn.indentation-cache-packages (instance)
Package

slynk.

Source

slynk.lisp.

Function: (setf mconn.indentation-cache-packages) (instance)
Package

slynk.

Source

slynk.lisp.

Reader: mconn.indentation-cache-thread (instance)
Writer: (setf mconn.indentation-cache-thread) (instance)
Package

slynk.

Source

slynk.lisp.

Target Slot

indentation-cache-thread.

Function: mconn.inspectors (instance)
Package

slynk.

Source

slynk.lisp.

Function: (setf mconn.inspectors) (instance)
Package

slynk.

Source

slynk.lisp.

Function: mconn.listeners (instance)
Package

slynk.

Source

slynk.lisp.

Function: (setf mconn.listeners) (instance)
Package

slynk.

Source

slynk.lisp.

Reader: mconn.reader-thread (instance)
Writer: (setf mconn.reader-thread) (instance)
Package

slynk.

Source

slynk.lisp.

Target Slot

reader-thread.

Function: mconn.socket (instance)
Package

slynk.

Source

slynk.lisp.

Function: mconn.socket-io (instance)
Package

slynk.

Source

slynk.lisp.

Function: measure-time-interval (fun)

Call FUN and return the first return value and the elapsed time. The time is measured in seconds.

Package

slynk.

Source

slynk.lisp.

Function: missing-arg ()

A function that the compiler knows will never to return a value. You can use (MISSING-ARG) as the initform for defstruct slots that must always be supplied. This way the :TYPE slot option need not include some arbitrary initial value like NIL.

Package

slynk.

Source

slynk.lisp.

Function: mop-helper (class-name fn)
Package

slynk.

Source

slynk.lisp.

Function: multithreaded-connection-p (object)
Package

slynk.

Source

slynk.lisp.

Function: need-full-indentation-update-p (connection)

Return true if the whole indentation cache should be updated. This is a heuristic to avoid scanning all symbols all the time: instead, we only do a full scan if the set of packages has changed.

Package

slynk.

Source

slynk.lisp.

Function: next-thread-id ()
Package

slynk-sbcl.

Source

sbcl.lisp.

Function: notify-backend-of-connection (connection)
Package

slynk.

Source

slynk.lisp.

Function: nth-frame (index)
Package

slynk-sbcl.

Source

sbcl.lisp.

Function: nth-restart (index)
Package

slynk.

Source

slynk.lisp.

Function: nth-thread (index)
Package

slynk.

Source

slynk.lisp.

Function: package-names (package)

Return the name and all nicknames of PACKAGE in a fresh list.

Package

slynk.

Source

slynk.lisp.

Function: package-string-for-prompt (package)

Return the shortest nickname (or canonical name) of PACKAGE.

Package

slynk.

Source

slynk.lisp.

Function: parse-header (stream)
Package

slynk-rpc.

Source

slynk-rpc.lisp.

Function: parse-package (string)

Find the package named STRING. Return the package or nil.

Package

slynk.

Source

slynk.lisp.

Function: parse-string (string package)

Read STRING in PACKAGE.

Package

slynk.

Source

slynk.lisp.

Function: parse-symbol (string &optional package)

Find the symbol named STRING.
Return the symbol and a flag indicating whether the symbols was found.

Package

slynk.

Source

slynk.lisp.

Function: parse-symbol-or-lose (string &optional package)
Package

slynk.

Source

slynk.lisp.

Function: pathname-as-directory (pathname)
Package

slynk.

Source

slynk.lisp.

Function: perform-indentation-update (connection force package)

Update the indentation cache in CONNECTION and update Emacs.
If FORCE is true then start again without considering the old cache.

Package

slynk.

Source

slynk.lisp.

Function: ping-pong ()
Package

slynk.

Source

slynk.lisp.

Function: poll-for-event (connection pattern)
Package

slynk.

Source

slynk.lisp.

Function: prefix-match-p (prefix string)

Return true if PREFIX is a prefix of STRING.

Package

slynk-completion.

Source

slynk-completion.lisp.

Function: prepare-part (part istate)
Package

slynk.

Source

slynk.lisp.

Function: prepare-range (istate start end)
Package

slynk.

Source

slynk.lisp.

Function: prepare-title (istate)
Package

slynk.

Source

slynk.lisp.

Function: present-for-emacs (value &optional fn)

Format VALUE in a way suitable to be displayed in the SLY client. FN is only used if value is not a number

Package

slynk.

Source

slynk.lisp.

Function: present-number-considering-alist (number alist)
Package

slynk.

Source

slynk.lisp.

Function: present-symbol-before-p (x y)

Return true if X belongs before Y in a printed summary of symbols. Sorted alphabetically by package name and then symbol name, except that symbols accessible in the current package go first.

Package

slynk-apropos.

Source

slynk-apropos.lisp.

Function: prin1-to-string-for-emacs (object package)
Package

slynk-rpc.

Source

slynk-rpc.lisp.

Function: print-connection (conn stream depth)
Package

slynk.

Source

slynk.lisp.

Function: print-part-to-string (value)
Package

slynk.

Source

slynk.lisp.

Function: process-form-for-emacs (form)

Returns a string which emacs will read as equivalent to
FORM. FORM can contain lists, strings, characters, symbols and numbers.

Characters are converted emacs’ ?<char> notaion, strings are left as they are (except for espacing any nested " chars, numbers are printed in base 10 and symbols are printed as their symbol-name converted to lower case.

Package

slynk.

Source

slynk.lisp.

Function: process-fspec (fspec)
Package

slynk-sbcl.

Source

sbcl.lisp.

Function: process-io-interrupt (connection)
Package

slynk.

Source

slynk.lisp.

Function: qualified-matching (pattern home-package)

Find package-qualified symbols flex-matching PATTERN.
Return, as two values, a set of matches for external symbols, package-qualified using one colon, and another one for internal symbols, package-qualified using two colons.

The matches in the two sets are not guaranteed to be in their final order, i.e. they are not sorted (except for the fact that qualifications with shorter package nicknames are tried first).

Matches are produced by COLLECT-IF-MATCHES (which see).

Package

slynk-completion.

Source

slynk-completion.lisp.

Function: queue-thread-interrupt (thread function)
Package

slynk.

Source

slynk.lisp.

Function: read-and-record-source-map (stream)

Read the next object from STREAM.
Return the object together with a hashtable that maps subexpressions of the object to stream positions.

Package

slynk-source-path-parser.

Source

slynk-source-path-parser.lisp.

Function: read-as-function (name)
Package

slynk.

Source

slynk.lisp.

Function: read-chunk (stream length)
Package

slynk-rpc.

Source

slynk-rpc.lisp.

Function: read-file (filename)

Return the entire contents of FILENAME as a string.

Package

slynk-source-file-cache.

Source

slynk-source-file-cache.lisp.

Function: read-form (string package)
Package

slynk-rpc.

Source

slynk-rpc.lisp.

Function: read-from-minibuffer-in-emacs (prompt &optional initial-value)

Ask user a question in Emacs’ minibuffer. Returns "" when user entered nothing, returns NIL when user pressed C-g.

Package

slynk.

Source

slynk.lisp.

Function: read-loop (connection)
Package

slynk.

Source

slynk.lisp.

Function: read-non-blocking (stream)
Package

slynk.

Source

slynk.lisp.

Function: read-upto-n-chars (stream n)

Return a string of upto N chars from STREAM.

Package

slynk-source-file-cache.

Source

slynk-source-file-cache.lisp.

Function: readably-classify (sym)
Package

slynk-completion.

Source

slynk-completion.lisp.

Function: readtable-for-package (package)
Package

slynk-source-path-parser.

Source

slynk-source-path-parser.lisp.

Function: real-condition (condition)

Return the encapsulated condition or CONDITION itself.

Package

slynk-sbcl.

Source

sbcl.lisp.

Function: real-input-stream (stream)
Package

slynk.

Source

slynk.lisp.

Function: real-output-stream (stream)
Package

slynk.

Source

slynk.lisp.

Function: remove-active-thread (connection thread)
Package

slynk.

Source

slynk.lisp.

Function: repl-input-stream-read (connection stdin)
Package

slynk.

Source

slynk.lisp.

Function: requires-compile-p (source-file)
Package

slynk.

Source

slynk.lisp.

Function: reset-inspector (&optional inspector)
Package

slynk.

Source

slynk.lisp.

Function: resolve-hostname (host)

Returns valid IPv4 or IPv6 address for the host.

Package

slynk-sbcl.

Source

sbcl.lisp.

Function: run-hook (functions &rest arguments)

Call each of FUNCTIONS with ARGUMENTS.

Package

slynk.

Source

slynk.lisp.

Function: runtime-pathname ()
Package

slynk-sbcl.

Source

sbcl.lisp.

Function: safe-backtrace ()
Package

slynk.

Source

slynk.lisp.

Function: safe-condition-message (condition)

Print condition to a string, handling any errors during printing.

Package

slynk.

Source

slynk.lisp.

Function: safe-length (list)

Similar to ‘list-length’, but avoid errors on improper lists. Return two values: the length of the list and the last cdr. Return NIL if LIST is circular.

Package

slynk.

Source

slynk.lisp.

Function: sanitize-xrefs (xrefs)
Package

slynk-sbcl.

Source

sbcl.lisp.

Function: sbcl-package-p (package)
Package

slynk-sbcl.

Source

sbcl.lisp.

Function: sbcl-source-file-p (filename)
Package

slynk-sbcl.

Source

sbcl.lisp.

Function: sbcl-version>= (&rest subversions)
Package

slynk-sbcl.

Source

sbcl.lisp.

Function: sbcl-with-new-stepper-p ()
Package

slynk-sbcl.

Source

sbcl.lisp.

Function: sbcl-with-restart-frame ()
Package

slynk-sbcl.

Source

sbcl.lisp.

Function: sbcl-with-setf-inverse-meta-info ()
Package

slynk-sbcl.

Source

sbcl.lisp.

Function: sbcl-with-weak-hash-tables ()
Package

slynk-sbcl.

Source

sbcl.lisp.

Function: sbcl-with-xref-p ()
Package

slynk-sbcl.

Source

sbcl.lisp.

Function: sbcl-wrap (spec before after replace function args)
Package

slynk-sbcl.

Source

sbcl.lisp.

Function: sconn.channel-counter (instance)
Package

slynk.

Source

slynk.lisp.

Function: (setf sconn.channel-counter) (instance)
Package

slynk.

Source

slynk.lisp.

Function: sconn.channels (instance)
Package

slynk.

Source

slynk.lisp.

Function: (setf sconn.channels) (instance)
Package

slynk.

Source

slynk.lisp.

Function: sconn.communication-style (instance)
Package

slynk.

Source

slynk.lisp.

Function: (setf sconn.communication-style) (instance)
Package

slynk.

Source

slynk.lisp.

Reader: sconn.event-queue (instance)
Writer: (setf sconn.event-queue) (instance)
Package

slynk.

Source

slynk.lisp.

Target Slot

event-queue.

Reader: sconn.events-enqueued (instance)
Writer: (setf sconn.events-enqueued) (instance)
Package

slynk.

Source

slynk.lisp.

Target Slot

events-enqueued.

Function: sconn.indentation-cache (instance)
Package

slynk.

Source

slynk.lisp.

Function: (setf sconn.indentation-cache) (instance)
Package

slynk.

Source

slynk.lisp.

Function: sconn.indentation-cache-packages (instance)
Package

slynk.

Source

slynk.lisp.

Function: (setf sconn.indentation-cache-packages) (instance)
Package

slynk.

Source

slynk.lisp.

Function: sconn.inspectors (instance)
Package

slynk.

Source

slynk.lisp.

Function: (setf sconn.inspectors) (instance)
Package

slynk.

Source

slynk.lisp.

Function: sconn.listeners (instance)