The slynk Reference Manual

Table of Contents

Next: , Previous: , Up: (dir)   [Contents][Index]

The slynk Reference Manual

This is the slynk Reference Manual, generated automatically by Declt version 2.4 patchlevel 1 "Will Decker" on Mon Apr 08 15:02:43 2019 GMT+0.


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

1 Introduction

Build Status MELPA

          _____    __   __  __        
         / ___/   / /   \ \/ /               |\      _,,,---,,_
         \__ \   / /     \  /                /,`.-'`'    -.  ;-;;,_
        ___/ /  / /___   / /                |,4-  ) )-,_..;\ (  `'-'
       /____/  /_____/  /_/                '---''(_/--'  `-'\_)

SLY is Sylvester the Cat's Common Lisp IDE for Emacs:

SLY is a fork of SLIME and contains the following improvements upon it:

SLY tracks SLIME's bugfixes. All its familar features (debugger, inspector, xref, etc...) are still available, with improved overall UX.

Installation

Ensure that MELPA is setup as usual and ask M-x package-install to install the package sly.

That's it. sly-mode will automatically come up in every .lisp file. To fire up SLY, connect to a Lisp and get a friendly REPL, use M-x sly.

Even if you already have SLIME installed, SLY will ask you and temporarily disable it for the Emacs session.

Obligatory animated gif section

Flex completion

company-flex-completion

Backreferences

backreferences

Reverse i-search

reverse-isearch

Stickers

stickers-example

Install from git

Clone this repository, add this to your ~/.emacs file and fill in the appropriate file names:

(add-to-list 'load-path "~/dir/to/cloned/sly")
(require 'sly-autoloads)
(setq inferior-lisp-program "/opt/sbcl/bin/sbcl")

If you wish to byte-compile SLY yourself (not needed generally) you can do make compile compile-contrib in the dir where you cloned SLY.

Running the server standalone

This also works

$ sbcl
...
* (push #p"~/dir/to/sly" asdf:*central-registry*)
* (asdf:load-system :slynk)
* (slynk:create-server :port 4008)

Now in Emacs you can do sly-connect and give it the host and the 4008 port as a destination.

License

SLY is free software. All files, unless explicitly stated otherwise, are public domain. ASCII artwork is copyright by Felix Lee and others.

Fork

SLIME is the work of Eric Marsden, Luke Gorrie, Helmut Eller, Tobias C. Rittweiler and many others. I forked SLIME because I used it daily, for work, had a long list of hacks developed for myself, and wanted to share them with others.

In 2013, SLIME development was stalling, patches and issues rotting. In early 2014, Luís Oliveira and myself moved SLIME to Github and set up its Travis CI system. I brought in the old bug reports from the Launchpad tracker, fixed long-standing problems and submitted many changes, particularly to the under-curated but popular "contrib" section.

Now, the changes that SLY brings to the table are too deep at the Elisp and Lisp level to be accepted to SLIME, given its current focus on stability (for the record, I find this perfectly reasonable). The new features, such as stickers or multiple inspectors, cannot be realized well using only the existing "contrib" system. Finally, SLY frees itself from the shackles of Emacs 23 and supports Emacs 24.3+ only, allowing for much cleaner code and liberal use of lexical binding.

The list of technical reasons is bigger than this though, and you can read up on them in the CONTRIBUTING.md file.

Contributing

Open an issue or a pull request, but at least have a quick look at the first part CONTRIBUTING.md file for instructions on how to contribute.


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

2 Systems

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


Previous: , Up: Systems   [Contents][Index]

2.1 slynk

Source

slynk.asd (file)

Components

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

3 Modules

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


Previous: , Up: Modules   [Contents][Index]

3.1 slynk/backend

Dependency

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

Parent

slynk (system)

Location

backend/

Component

sbcl.lisp (file)


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

4 Files

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


Previous: , Up: Files   [Contents][Index]

4.1 Lisp


Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.1 slynk.asd

Location

slynk.asd

Systems

slynk (system)


Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.2 slynk/slynk-backend.lisp

Parent

slynk (system)

Location

slynk-backend.lisp

Packages
Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

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

Dependency

slynk-backend.lisp (file)

Parent

slynk (system)

Location

slynk-source-path-parser.lisp

Packages

slynk-source-path-parser

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

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

Dependency

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

Parent

slynk (system)

Location

slynk-source-file-cache.lisp

Packages

slynk-source-file-cache

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.5 slynk/backend/sbcl.lisp

Parent

backend (module)

Location

backend/sbcl.lisp

Packages

slynk-sbcl

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.6 slynk/slynk-gray.lisp

Dependency

backend (module)

Parent

slynk (system)

Location

slynk-gray.lisp

Packages

slynk-gray

Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.7 slynk/slynk-match.lisp

Dependency

slynk-gray.lisp (file)

Parent

slynk (system)

Location

slynk-match.lisp

Packages

slynk-match

Exported Definitions

match (macro)

Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.8 slynk/slynk-rpc.lisp

Dependency

slynk-match.lisp (file)

Parent

slynk (system)

Location

slynk-rpc.lisp

Packages

slynk-rpc

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.9 slynk/slynk.lisp

Dependency

slynk-rpc.lisp (file)

Parent

slynk (system)

Location

slynk.lisp

Packages
Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.10 slynk/slynk-completion.lisp

Dependency

slynk.lisp (file)

Parent

slynk (system)

Location

slynk-completion.lisp

Packages
Exported Definitions
Internal Definitions

Previous: , Up: Lisp files   [Contents][Index]

4.1.11 slynk/slynk-apropos.lisp

Dependency

slynk-completion.lisp (file)

Parent

slynk (system)

Location

slynk-apropos.lisp

Packages

slynk-apropos

Exported Definitions
Internal Definitions

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

5 Packages

Packages are listed by definition order.


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

5.1 slynk-mop

Source

slynk-backend.lisp (file)

Exported Definitions

slot-definition-documentation (function)


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

5.2 slynk-backend

Source

slynk-backend.lisp (file)

Use List

common-lisp

Used By List
Exported Definitions
Internal Definitions

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

5.3 slynk-source-path-parser

Source

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

Use List

common-lisp

Used By List

slynk-sbcl

Exported Definitions
Internal Definitions

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

5.4 slynk-source-file-cache

Source

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

Use List
Used By List

slynk-sbcl

Exported Definitions
Internal Definitions

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

5.5 slynk-sbcl

Source

sbcl.lisp (file)

Use List
Exported Definitions

with-sbcl-version>= (macro)

Internal Definitions

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

5.6 slynk-gray

Source

slynk-gray.lisp (file)

Use List
Internal Definitions

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

5.7 slynk-match

Source

slynk-match.lisp (file)

Use List

common-lisp

Used By List

slynk

Exported Definitions

match (macro)

Internal Definitions

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

5.8 slynk-rpc

Source

slynk-rpc.lisp (file)

Use List

common-lisp

Used By List

slynk

Exported Definitions
Internal Definitions

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

5.9 slynk-api

Source

slynk.lisp (file)

Used By List

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

5.10 slynk

Source

slynk.lisp (file)

Use List
Exported Definitions
Internal Definitions

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

5.11 slynk-completion

Source

slynk-completion.lisp (file)

Use List
Exported Definitions
Internal Definitions

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

5.12 slynk-completion-local-nicknames-test

Source

slynk-completion.lisp (file)

Use List

common-lisp


Previous: , Up: Packages   [Contents][Index]

5.13 slynk-apropos

Source

slynk-apropos.lisp (file)

Use List
Exported Definitions
Internal Definitions

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

6 Definitions

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


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

6.1 Exported definitions


Next: , Previous: , Up: Exported definitions   [Contents][Index]

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 (file)

Special Variable: *auto-flush-interval*
Package

slynk-backend

Source

slynk-backend.lisp (file)

Special Variable: *backtrace-printer-bindings*

Pretter settings for printing backtraces.

Package

slynk

Source

slynk.lisp (file)

Special Variable: *buffer-readtable*

Readtable associated with the current buffer

Package

slynk

Source

slynk.lisp (file)

Special Variable: *communication-style*
Package

slynk

Source

slynk.lisp (file)

Special Variable: *configure-emacs-indentation*

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

Package

slynk

Source

slynk.lisp (file)

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 (file)

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 (file)

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 (file)

Special Variable: *dont-close*

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

Package

slynk

Source

slynk.lisp (file)

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 (file)

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 (file)

Special Variable: *fasl-pathname-function*

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

Package

slynk

Source

slynk.lisp (file)

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

slynk

Source

slynk.lisp (file)

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

slynk

Source

slynk.lisp (file)

Special Variable: *global-debugger*

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

Package

slynk

Source

slynk.lisp (file)

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 (file)

Special Variable: *log-events*
Package

slynk

Source

slynk.lisp (file)

Special Variable: *log-output*
Package

slynk

Source

slynk.lisp (file)

Special Variable: *loopback-interface*
Package

slynk

Source

slynk.lisp (file)

Special Variable: *macroexpand-printer-bindings*

Pretty-pretty bindings to use when expanding macros

Package

slynk

Source

slynk.lisp (file)

Special Variable: *pending-sly-interrupts*
Package

slynk-backend

Source

slynk-backend.lisp (file)

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 (file)

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 (file)

Special Variable: *readtable-alist*

An alist mapping package names to readtables.

Package

slynk

Source

slynk.lisp (file)

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

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

Package

slynk

Source

slynk.lisp (file)

Special Variable: *slynk-pprint-bindings*

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

Package

slynk

Source

slynk.lisp (file)

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 (file)

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 (file)


Next: , Previous: , Up: Exported definitions   [Contents][Index]

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 (file)

Macro: defimplementation NAME ARGS &body BODY
Package

slynk-backend

Source

slynk-backend.lisp (file)

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 (file)

Macro: label-value-line* &rest LABEL-VALUES
Package

slynk-backend

Source

slynk-backend.lisp (file)

Macro: match EXPRESSION &body PATTERNS
Package

slynk-match

Source

slynk-match.lisp (file)

Macro: when-let (VAR VALUE) &body BODY
Package

slynk-backend

Source

slynk-backend.lisp (file)

Macro: with-compilation-hooks (&rest IGNORE) &body BODY

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

Package

slynk-backend

Source

slynk-backend.lisp (file)

Macro: with-sbcl-version>= &rest SUBVERSIONS
Package

slynk-sbcl

Source

sbcl.lisp (file)

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 (file)


Next: , Previous: , Up: Exported definitions   [Contents][Index]

6.1.3 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 (file)

Function: activate-stepping FRAME-NUMBER

Prepare the frame FRAME-NUMBER for stepping.

Package

slynk-backend

Source

slynk-backend.lisp (file)

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 (file)

Function: add-sigio-handler SOCKET FN

Call FN whenever SOCKET is readable.

Package

slynk-backend

Source

slynk-backend.lisp (file)

Function: all-threads ()

Return a fresh list of all threads.

Package

slynk-backend

Source

slynk-backend.lisp (file)

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 (file)

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 (file)

Function: authenticate-client STREAM
Package

slynk

Source

slynk.lisp (file)

Function: auto-flush-loop STREAM INTERVAL &optional RECEIVE
Package

slynk-backend

Source

slynk-backend.lisp (file)

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 (file)

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 (file)

Function: boolean-to-feature-expression VALUE

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

Package

slynk-backend

Source

slynk-backend.lisp (file)

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 (file)

Function: call-with-compilation-hooks FUNC

Call FUNC with hooks to record compiler conditions.

Package

slynk-backend

Source

slynk-backend.lisp (file)

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 (file)

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 (file)

Function: call-with-lock-held LOCK FUNCTION

Call FUNCTION with LOCK held, queueing if necessary.

Package

slynk-backend

Source

slynk-backend.lisp (file)

Function: call-with-syntax-hooks FN

Call FN with hooks to handle special syntax.

Package

slynk-backend

Source

slynk-backend.lisp (file)

Function: call-with-user-break-handler HANDLER FUNCTION

Install the break handler HANDLER while executing FUNCTION.

Package

slynk-backend

Source

slynk-backend.lisp (file)

Function: calls-who 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 (file)

Function: character-completion-set PREFIX MATCHP

Return a list of names of characters that match PREFIX.

Package

slynk-backend

Source

slynk-backend.lisp (file)

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 (file)

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 (file)

Function: close-socket SOCKET

Close the socket SOCKET.

Package

slynk-backend

Source

slynk-backend.lisp (file)

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 (file)

Function: command-line-args ()

Return a list of strings as passed by the OS.

Package

slynk-backend

Source

slynk-backend.lisp (file)

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 (file)

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 (file)

Function: compile-file-if-needed FILENAME LOADP
Package

slynk

Source

slynk.lisp (file)

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 (file)

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 (file)

Function: compiler-macroexpand FORM &optional ENV

Repetitively call ‘compiler-macroexpand-1’.

Package

slynk-backend

Source

slynk-backend.lisp (file)

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 (file)

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 (file)

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 (file)

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 (file)

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 (file)

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 (file)

Function: current-thread ()

Return the currently executing thread.

Package

slynk-backend

Source

slynk-backend.lisp (file)

Function: debug-nth-thread INDEX
Package

slynk

Source

slynk.lisp (file)

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

slynk

Source

slynk.lisp (file)

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 ::= continutation
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.

continutation—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 (file)

Function: default-directory ()

Return the default directory.

Package

slynk-backend

Source

slynk-backend.lisp (file)

Function: default-readtable-alist ()

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

Package

slynk-backend

Source

slynk-backend.lisp (file)

Function: deinit-log-output ()
Package

slynk-backend

Source

slynk-backend.lisp (file)

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 (file)

Function: describe-definition-for-emacs NAME KIND
Package

slynk

Source

slynk.lisp (file)

Function: describe-frame-var FRAME VAR
Package

slynk

Source

slynk.lisp (file)

Function: describe-function NAME
Package

slynk

Source

slynk.lisp (file)

Function: describe-inspectee ()

Describe the currently inspected object.

Package

slynk

Source

slynk.lisp (file)

Function: describe-inspector-part INDEX

Describe part INDEX of the currently inspected object.

Package

slynk

Source

slynk.lisp (file)

Function: describe-primitive-type OBJECT

Return a string describing the primitive type of object.

Package

slynk-backend

Source

slynk-backend.lisp (file)

Function: describe-symbol SYMBOL-NAME
Package

slynk

Source

slynk.lisp (file)

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 (file)

Function: disassemble-form FORM
Package

slynk

Source

slynk.lisp (file)

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 (file)

Function: documentation-symbol SYMBOL-NAME
Package

slynk

Source

slynk.lisp (file)

Function: dup FD

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

Package

slynk-backend

Source

slynk-backend.lisp (file)

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 (file)

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 (file)

Function: eval-and-grab-output STRING
Package

slynk

Source

slynk.lisp (file)

Function: eval-context OBJECT

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

Package

slynk-backend

Source

slynk-backend.lisp (file)

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 (file)

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 (file)

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 (file)

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 (file)

Function: eval-string-in-frame STRING FRAME PACKAGE
Package

slynk

Source

slynk.lisp (file)

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 (file)

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 (file)

Function: find-definition-for-thing THING
Package

slynk

Source

slynk.lisp (file)

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 (file)

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 (file)

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 (file)

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 (file)

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 (file)

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 (file)

Function: find-source-location-for-emacs SPEC
Package

slynk

Source

slynk.lisp (file)

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 (file)

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 (file)

Function: flex-matches PATTERN STRING SYMBOL 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 (file)

Function: float-infinity-p FLOAT

Return true if FLOAT is positive or negative infinity.

Package

slynk-backend

Source

slynk-backend.lisp (file)

Function: float-nan-p FLOAT

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

Package

slynk-backend

Source

slynk-backend.lisp (file)

Function: flow-control-test N DELAY
Package

slynk

Source

slynk.lisp (file)

Function: format-string-expand CONTROL-STRING

Expand the format string CONTROL-STRING.

Package

slynk-backend

Source

slynk-backend.lisp (file)

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 (file)

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 (file)

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 (file)

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 (file)

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 (file)

Function: frame-package-name FRAME
Package

slynk

Source

slynk.lisp (file)

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 (file)

Function: frame-source-location FRAME-NUMBER

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

Package

slynk-backend

Source

slynk-backend.lisp (file)

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 (file)

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 (file)

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 (file)

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 (file)

Function: getpid ()

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

Package

slynk-backend

Source

slynk-backend.lisp (file)

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 (file)

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 (file)

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 (file)

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 (file)

Function: import-to-slynk-mop SYMBOL-LIST
Package

slynk-backend

Source

slynk-backend.lisp (file)

Function: init-inspector STRING
Package

slynk

Source

slynk.lisp (file)

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 (file)

Function: inspect-current-condition ()
Package

slynk

Source

slynk.lisp (file)

Function: inspect-frame-var FRAME VAR
Package

slynk

Source

slynk.lisp (file)

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 (file)

Function: inspect-in-frame STRING INDEX
Package

slynk

Source

slynk.lisp (file)

Function: inspect-nth-part INDEX
Package

slynk

Source

slynk.lisp (file)

Function: inspector-call-nth-action INDEX &rest ARGS
Package

slynk

Source

slynk.lisp (file)

Function: inspector-eval STRING
Package

slynk

Source

slynk.lisp (file)

Function: inspector-history ()
Package

slynk

Source

slynk.lisp (file)

Function: inspector-next ()

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

Package

slynk

Source

slynk.lisp (file)

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 (file)

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 (file)

Function: inspector-pop ()

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

Package

slynk

Source

slynk.lisp (file)

Function: inspector-range FROM TO
Package

slynk

Source

slynk.lisp (file)

Function: inspector-reinspect ()
Package

slynk

Source

slynk.lisp (file)

Function: inspector-toggle-verbose ()

Toggle verbosity of inspected object.

Package

slynk

Source

slynk.lisp (file)

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 (file)

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 (file)

Function: interactive-eval STRING
Package

slynk

Source

slynk.lisp (file)

Function: interactive-eval-region STRING
Package

slynk

Source

slynk.lisp (file)

Function: interrupt-thread THREAD FN

Cause THREAD to execute FN.

Package

slynk-backend

Source

slynk-backend.lisp (file)

Function: invoke-nth-restart INDEX
Package

slynk

Source

slynk.lisp (file)

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 (file)

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 (file)

Function: io-speed-test &optional N M
Package

slynk

Source

slynk.lisp (file)

Function: kill-nth-thread INDEX
Package

slynk

Source

slynk.lisp (file)

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 (file)

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 (file)

Function: lisp-implementation-program ()

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

Package

slynk-backend

Source

slynk-backend.lisp (file)

Function: lisp-implementation-type-name ()

Return a short name for the Lisp implementation.

Package

slynk-backend

Source

slynk-backend.lisp (file)

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 (file)

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 (file)

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 (file)

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 (file)

Function: load-file FILENAME
Package

slynk

Source

slynk.lisp (file)

Function: local-port SOCKET

Return the local port number of SOCKET.

Package

slynk-backend

Source

slynk-backend.lisp (file)

Function: location-buffer STRUCTURE
Function: (setf location-buffer) VALUE STRUCTURE
Package

slynk-backend

Source

slynk-backend.lisp (file)

Function: location-hints STRUCTURE
Function: (setf location-hints) VALUE STRUCTURE
Package

slynk-backend

Source

slynk-backend.lisp (file)

Function: location-position STRUCTURE
Function: (setf location-position) VALUE STRUCTURE
Package

slynk-backend

Source

slynk-backend.lisp (file)

Function: macroexpand-all FORM &optional ENV

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

Package

slynk-backend

Source

slynk-backend.lisp (file)

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 (file)

Function: make-auto-flush-thread STREAM

Make an auto-flush thread

Package

slynk-backend

Source

slynk-backend.lisp (file)

Function: make-error-location DATUM &rest ARGS
Package

slynk-backend

Source

slynk-backend.lisp (file)

Function: make-fd-stream FD EXTERNAL-FORMAT

Create a character stream for the file descriptor FD.

Package

slynk-backend

Source

slynk-backend.lisp (file)

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 (file)

Function: make-location BUFFER POSITION &optional HINTS
Package

slynk-backend

Source

slynk-backend.lisp (file)

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 (file)

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 (file)

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 (file)

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 (file)

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 (file)

Function: operator-arglist NAME PACKAGE
Package

slynk

Source

slynk.lisp (file)

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 (file)

Function: pathname-to-filename PATHNAME

Return the filename for PATHNAME.

Package

slynk-backend

Source

slynk-backend.lisp (file)

Function: ping TAG
Package

slynk

Source

slynk.lisp (file)

Function: pprint-eval STRING
Package

slynk

Source

slynk.lisp (file)

Function: pprint-eval-string-in-frame STRING FRAME PACKAGE
Package

slynk

Source

slynk.lisp (file)

Function: pprint-frame-var FRAME VAR
Package

slynk

Source

slynk.lisp (file)

Function: pprint-inspector-part INDEX

Pretty-print part INDEX of the currently inspected object.

Package

slynk

Source

slynk.lisp (file)

Function: preferred-communication-style ()

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

Package

slynk-backend

Source

slynk-backend.lisp (file)

Function: print-condition CONDITION STREAM

Print a condition for display in SLY-DB.

Package

slynk-backend

Source

slynk-backend.lisp (file)

Function: print-frame FRAME STREAM

Print frame to stream.

Package

slynk-backend

Source

slynk-backend.lisp (file)

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 (file)

Function: profile FNAME

Marks symbol FNAME for profiling.

Package

slynk-backend

Source

slynk-backend.lisp (file)

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 (file)

Function: profile-report ()

Prints profile report.

Package

slynk-backend

Source

slynk-backend.lisp (file)

Function: profile-reset ()

Resets profile counters.

Package

slynk-backend

Source

slynk-backend.lisp (file)

Function: profiled-functions ()

Returns a list of profiled functions.

Package

slynk-backend

Source

slynk-backend.lisp (file)

Function: quit-inspector ()
Package

slynk

Source

slynk.lisp (file)

Function: quit-lisp ()

Exit the current lisp image.

Package

slynk-backend

Source

slynk-backend.lisp (file)

Function: quit-thread-browser ()
Package

slynk

Source

slynk.lisp (file)

Function: re-evaluate-defvar FORM
Package

slynk

Source

slynk.lisp (file)

Function: read-message STREAM PACKAGE
Package

slynk-rpc

Source

slynk-rpc.lisp (file)

Function: read-packet STREAM
Package

slynk-rpc

Source

slynk-rpc.lisp (file)

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 (file)

Function: read-snippet-from-string STRING &optional POSITION
Package

slynk-source-file-cache

Source

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

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 (file)

Function: receive &optional TIMEOUT

Return the next message from current thread’s mailbox.

Package

slynk-backend

Source

slynk-backend.lisp (file)

Function: receive-if PREDICATE &optional TIMEOUT

Return the first message satisfiying PREDICATE.

Package

slynk-backend

Source

slynk-backend.lisp (file)

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 (file)

Function: remove-fd-handlers SOCKET

Remove all fd-handlers for SOCKET.

Package

slynk-backend

Source

slynk-backend.lisp (file)

Function: remove-sigio-handlers SOCKET

Remove all sigio handlers for SOCKET.

Package

slynk-backend

Source

slynk-backend.lisp (file)

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 (file)

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 (file)

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 (file)

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 (file)

Function: sdlb-print-condition ()
Package

slynk

Source

slynk.lisp (file)

Function: send THREAD OBJECT

Send OBJECT to thread THREAD.

Package

slynk-backend

Source

slynk-backend.lisp (file)

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 (file)

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 (file)

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 (file)

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 (file)

Function: simple-break &optional DATUM &rest ARGS
Package

slynk

Source

slynk.lisp (file)

Function: simple-completions PREFIX PACKAGE

Return a list of completions for the string PREFIX.

Package

slynk-completion

Source

slynk-completion.lisp (file)

Function: slot-definition-documentation SLOT
Package

slynk-mop

Source

sbcl.lisp (file)

Function: sly-db-abort ()
Package

slynk

Source

slynk.lisp (file)

Function: sly-db-break NAME
Package

slynk

Source

slynk.lisp (file)

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 (file)

Function: sly-db-break-on-return FRAME-NUMBER

Set a breakpoint in the frame FRAME-NUMBER.

Package

slynk-backend

Source

slynk-backend.lisp (file)

Function: sly-db-break-with-default-debugger DONT-UNWIND

Invoke the default debugger.

Package

slynk

Source

slynk.lisp (file)

Function: sly-db-continue ()
Package

slynk

Source

slynk.lisp (file)

Function: sly-db-disassemble INDEX
Package

slynk

Source

slynk.lisp (file)

Function: sly-db-next FRAME
Package

slynk

Source

slynk.lisp (file)

Function: sly-db-out FRAME
Package

slynk

Source

slynk.lisp (file)

Function: sly-db-return-from-frame INDEX STRING
Package

slynk

Source

slynk.lisp (file)

Function: sly-db-step FRAME
Package

slynk

Source

slynk.lisp (file)

Function: sly-db-step-into ()

Step into the current single-stepper form.

Package

slynk-backend

Source

slynk-backend.lisp (file)

Function: sly-db-step-next ()

Step to the next form in the current function.

Package

slynk-backend

Source

slynk-backend.lisp (file)

Function: sly-db-step-out ()

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

Package

slynk-backend

Source

slynk-backend.lisp (file)

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 (file)

Function: slynk-add-load-paths PATHS
Package

slynk

Source

slynk.lisp (file)

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 (file)

Function: slynk-compile-string STRING &key BUFFER POSITION FILENAME 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.

Should return T on successful compilation, NIL otherwise.

Package

slynk-backend

Source

slynk-backend.lisp (file)

Function: slynk-compiler-macroexpand STRING
Package

slynk

Source

slynk.lisp (file)

Function: slynk-compiler-macroexpand-1 STRING
Package

slynk

Source

slynk.lisp (file)

Function: slynk-debugger-hook CONDITION HOOK

Debugger function for binding *DEBUGGER-HOOK*.

Package

slynk

Source

slynk.lisp (file)

Function: slynk-delete-package PACKAGE-NAME
Package

slynk

Source

slynk.lisp (file)

Function: slynk-expand STRING
Package

slynk

Source

slynk.lisp (file)

Function: slynk-expand-1 STRING
Package

slynk

Source

slynk.lisp (file)

Function: slynk-format-string-expand STRING
Package

slynk

Source

slynk.lisp (file)

Function: slynk-macroexpand STRING
Package

slynk

Source

slynk.lisp (file)

Function: slynk-macroexpand-1 STRING
Package

slynk

Source

slynk.lisp (file)

Function: slynk-macroexpand-all STRING
Package

slynk

Source

slynk.lisp (file)

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 (file)

Function: slynk-toggle-trace SPEC-STRING
Package

slynk

Source

slynk.lisp (file)

Function: socket-fd SOCKET-STREAM

Return the file descriptor for SOCKET-STREAM.

Package

slynk-backend

Source

slynk-backend.lisp (file)

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 (file)

Function: source-path-file-position PATH FILENAME
Package

slynk-source-path-parser

Source

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

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 (file)

Function: source-path-string-position PATH STRING
Package

slynk-source-path-parser

Source

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

Function: spawn FN &key NAME

Create a new thread to call FN.

Package

slynk-backend

Source

slynk-backend.lisp (file)

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 (file)

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 (file)

Function: stop-server PORT

Stop server running on PORT.

Package

slynk

Source

slynk.lisp (file)

Function: string-to-utf8 STRING

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

Package

slynk-backend

Source

slynk-backend.lisp (file)

Function: thread-alive-p THREAD

Test if THREAD is termintated.

Package

slynk-backend

Source

slynk-backend.lisp (file)

Function: thread-attributes THREAD

Return a plist of implementation-dependent attributes for THREAD

Package

slynk-backend

Source

slynk-backend.lisp (file)

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 (file)

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 (file)

Function: thread-status THREAD

Return a string describing THREAD’s state.

Package

slynk-backend

Source

slynk-backend.lisp (file)

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 (file)

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

slynk

Source

slynk.lisp (file)

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

slynk

Source

slynk.lisp (file)

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 (file)

Function: type-specifier-p SYMBOL

Determine if SYMBOL is a type-specifier.

Package

slynk-backend

Source

slynk-backend.lisp (file)

Function: undefine-function FNAME-STRING
Package

slynk

Source

slynk.lisp (file)

Function: unintern-symbol NAME PACKAGE
Package

slynk

Source

slynk.lisp (file)

Function: unprofile FNAME

Marks symbol FNAME as not profiled.

Package

slynk-backend

Source

slynk-backend.lisp (file)

Function: unprofile-all ()

Marks all currently profiled functions as not profiled.

Package

slynk-backend

Source

slynk-backend.lisp (file)

Function: untrace-all ()
Package

slynk

Source

slynk.lisp (file)

Function: unwrap SPEC INDICATOR

Remove from SPEC any wrappings tagged with INDICATOR.

Package

slynk-backend

Source

slynk-backend.lisp (file)

Function: update-indentation-information ()
Package

slynk

Source

slynk.lisp (file)

Function: utf8-to-string OCTETS

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

Package

slynk-backend

Source

slynk-backend.lisp (file)

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 (file)

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 (file)

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 (file)

Function: wake-thread THREAD

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

Package

slynk-backend

Source

slynk-backend.lisp (file)

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 (file)

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 (file)

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 (file)

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 (file)

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 (file)

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 (file)

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 (file)

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 (file)

Function: wrapped-p SPEC INDICATOR

Returns true if SPEC is wrapped with INDICATOR.

Package

slynk-backend

Source

slynk-backend.lisp (file)

Function: write-message MESSAGE PACKAGE STREAM
Package

slynk-rpc

Source

slynk-rpc.lisp (file)

Function: xref TYPE NAME
Package

slynk

Source

slynk.lisp (file)

Function: xrefs TYPES NAME
Package

slynk

Source

slynk.lisp (file)

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 (file)


Next: , Previous: , Up: Exported definitions   [Contents][Index]

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 (file)

Methods
Method: declaration-arglist (DECL-IDENTIFIER (eql optimize))
Source

sbcl.lisp (file)

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 (file)

Methods
Method: emacs-inspect (CHAR character)
Source

slynk.lisp (file)

Method: emacs-inspect OBJECT around
Source

slynk.lisp (file)

Method: emacs-inspect (ARRAY array)
Source

slynk.lisp (file)

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

slynk.lisp (file)

Method: emacs-inspect (O cons)
Source

slynk.lisp (file)

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

sbcl.lisp (file)

Method: emacs-inspect (O fdefn)
Source

sbcl.lisp (file)

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

sbcl.lisp (file)

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

sbcl.lisp (file)

Method: emacs-inspect (O function)
Source

sbcl.lisp (file)

Method: emacs-inspect O
Source

sbcl.lisp (file)

Generic Function: location CONDITION
Generic Function: (setf location) NEW-VALUE CONDITION
Package

slynk-backend

Methods
Method: location (CONDITION compiler-condition)
Method: (setf location) NEW-VALUE (CONDITION compiler-condition)
Source

slynk-backend.lisp (file)

Generic Function: message CONDITION
Generic Function: (setf message) NEW-VALUE CONDITION
Package

slynk-backend

Methods
Method: message (CONDITION compiler-condition)
Method: (setf message) NEW-VALUE (CONDITION compiler-condition)
Source

slynk-backend.lisp (file)

Generic Function: original-condition CONDITION
Generic Function: (setf original-condition) NEW-VALUE CONDITION
Package

slynk-backend

Methods
Method: original-condition (CONDITION sly-db-condition)
Method: (setf original-condition) NEW-VALUE (CONDITION sly-db-condition)
Source

slynk-backend.lisp (file)

Method: original-condition (CONDITION compiler-condition)
Method: (setf original-condition) NEW-VALUE (CONDITION compiler-condition)
Source

slynk-backend.lisp (file)

Generic Function: references CONDITION
Generic Function: (setf references) NEW-VALUE CONDITION
Package

slynk-backend

Methods
Method: references (CONDITION compiler-condition)
Method: (setf references) NEW-VALUE (CONDITION compiler-condition)
Source

slynk-backend.lisp (file)

Generic Function: severity CONDITION
Generic Function: (setf severity) NEW-VALUE CONDITION
Package

slynk-backend

Methods
Method: severity (CONDITION compiler-condition)
Method: (setf severity) NEW-VALUE (CONDITION compiler-condition)
Source

slynk-backend.lisp (file)

Generic Function: sexp-in-bounds-p SEXP I
Package

slynk-source-path-parser

Source

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

Methods
Method: sexp-in-bounds-p (S comma) I
Source

sbcl.lisp (file)

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 (file)

Methods
Method: sexp-ref (S comma) I
Source

sbcl.lisp (file)

Method: sexp-ref (S list) I
Generic Function: slynk-reader-error.cause CONDITION
Package

slynk-rpc

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

slynk-rpc.lisp (file)

Generic Function: slynk-reader-error.packet CONDITION
Package

slynk-rpc

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

slynk-rpc.lisp (file)

Generic Function: source-context CONDITION
Generic Function: (setf source-context) NEW-VALUE CONDITION
Package

slynk-backend

Methods
Method: source-context (CONDITION compiler-condition)
Method: (setf source-context) NEW-VALUE (CONDITION compiler-condition)
Source

slynk-backend.lisp (file)

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 (file)

Methods
Method: type-specifier-arglist TYPESPEC-OPERATOR around
Source

sbcl.lisp (file)

Method: type-specifier-arglist TYPESPEC-OPERATOR

Next: , Previous: , Up: Exported definitions   [Contents][Index]

6.1.5 Conditions

Condition: compiler-condition ()
Package

slynk-backend

Source

slynk-backend.lisp (file)

Direct superclasses

condition (condition)

Direct methods
Direct slots
Slot: original-condition
Initargs

:original-condition

Readers

original-condition (generic function)

Writers

(setf original-condition) (generic function)

Slot: severity
Initargs

:severity

Readers

severity (generic function)

Writers

(setf severity) (generic function)

Slot: message
Initargs

:message

Readers

message (generic function)

Writers

(setf message) (generic function)

Slot: source-context
Initargs

:source-context

Initform

(quote nil)

Readers

source-context (generic function)

Writers

(setf source-context) (generic function)

Slot: references
Initargs

:references

Initform

(quote nil)

Readers

references (generic function)

Writers

(setf references) (generic function)

Slot: location
Initargs

:location

Readers

location (generic function)

Writers

(setf location) (generic function)

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 (file)

Direct superclasses

condition (condition)

Direct methods
Direct slots
Slot: original-condition
Initargs

:original-condition

Readers

original-condition (generic function)

Writers

(setf original-condition) (generic function)

Condition: slynk-reader-error ()
Package

slynk-rpc

Source

slynk-rpc.lisp (file)

Direct superclasses

reader-error (condition)

Direct methods
Direct slots
Slot: packet
Initargs

:packet

Readers

slynk-reader-error.packet (generic function)

Slot: cause
Initargs

:cause

Readers

slynk-reader-error.cause (generic function)


Previous: , Up: Exported definitions   [Contents][Index]

6.1.6 Types

Type: severity ()
Package

slynk-backend

Source

slynk-backend.lisp (file)


Previous: , Up: Definitions   [Contents][Index]

6.2 Internal definitions


Next: , Previous: , Up: Internal definitions   [Contents][Index]

6.2.1 Constants

Constant: +keyword-package+

The KEYWORD package.

Package

slynk

Source

slynk.lisp (file)

Constant: +sigint+
Package

slynk-backend

Source

slynk-backend.lisp (file)

Constant: cl-package

The COMMON-LISP package.

Package

slynk

Source

slynk.lisp (file)

Constant: default-server-port

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

Package

slynk

Source

slynk.lisp (file)

Constant: send-counter-limit
Package

slynk

Source

slynk.lisp (file)


Next: , Previous: , Up: Internal definitions   [Contents][Index]

6.2.2 Special variables

Special Variable: *after-init-hook*

Hook run after user init files are loaded.

Package

slynk

Source

slynk.lisp (file)

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 (file)

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

Abbreviate dotted package names to their last component if T.

Package

slynk

Source

slynk.lisp (file)

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

slynk

Source

slynk.lisp (file)

Special Variable: *buffer-name*
Package

slynk-sbcl

Source

sbcl.lisp (file)

Special Variable: *buffer-offset*
Package

slynk-sbcl

Source

sbcl.lisp (file)

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 (file)

Special Variable: *buffer-substring*
Package

slynk-sbcl

Source

sbcl.lisp (file)

Special Variable: *buffer-tmpfile*
Package

slynk-sbcl

Source

sbcl.lisp (file)

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 (file)

Special Variable: *canonical-package-nicknames*

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

Package

slynk

Source

slynk.lisp (file)

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

slynk

Source

slynk.lisp (file)

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 (file)

Special Variable: *connections*

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

Package

slynk

Source

slynk.lisp (file)

Special Variable: *current-inspector*

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

Package

slynk

Source

slynk.lisp (file)

Special Variable: *debootstrap-packages*
Package

slynk-sbcl

Source

sbcl.lisp (file)

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 (file)

Special Variable: *definition-types*

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

Package

slynk-sbcl

Source

sbcl.lisp (file)

Special Variable: *emacs-connection*

The connection to Emacs currently in use.

Package

slynk

Source

slynk.lisp (file)

Special Variable: *enable-event-history*
Package

slynk

Source

slynk.lisp (file)

Special Variable: *event-history*

A ring buffer to record events for better error messages.

Package

slynk

Source

slynk.lisp (file)

Special Variable: *event-history-index*
Package

slynk

Source

slynk.lisp (file)

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

slynk-sbcl

Source

sbcl.lisp (file)

Special Variable: *flex-score-falloff*

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

Package

slynk-completion

Source

slynk-completion.lisp (file)

Special Variable: *gray-stream-symbols*
Package

slynk-backend

Source

slynk-gray.lisp (file)

Special Variable: *inspector-printer-bindings*
Package

slynk

Source

slynk.lisp (file)

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

slynk

Source

slynk.lisp (file)

Special Variable: *interface-functions*

The names of all interface functions.

Package

slynk-backend

Source

slynk-backend.lisp (file)

Special Variable: *io-interupt-level*
Package

slynk

Source

slynk.lisp (file)

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

slynk-sbcl

Source

sbcl.lisp (file)

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

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

Package

slynk

Source

slynk.lisp (file)

Special Variable: *mailbox-lock*
Package

slynk-sbcl

Source

sbcl.lisp (file)

Special Variable: *mailboxes*
Package

slynk-sbcl

Source

sbcl.lisp (file)

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 (file)

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 (file)

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 (file)

Special Variable: *pending-continuations*

List of continuations for Emacs. (thread local)

Package

slynk

Source

slynk.lisp (file)

Special Variable: *physical-pathname-host*
Package

slynk-sbcl

Source

sbcl.lisp (file)

Special Variable: *pre-reply-hook*

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

Package

slynk

Source

slynk.lisp (file)

Special Variable: *previous-compiler-condition*

Used to detect duplicates.

Package

slynk-sbcl

Source

sbcl.lisp (file)

Special Variable: *send-counter*
Package

slynk

Source

slynk.lisp (file)

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 (file)

Special Variable: *shebang-readtable*
Package

slynk-sbcl

Source

sbcl.lisp (file)

Special Variable: *sigio-handlers*

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

Package

slynk-sbcl

Source

sbcl.lisp (file)

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

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

Package

slynk

Source

slynk.lisp (file)

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

The initial number of backtrace frames to send to Emacs.

Package

slynk

Source

slynk.lisp (file)

Special Variable: *sly-db-level*

The current level of recursive debugging.

Package

slynk

Source

slynk.lisp (file)

Special Variable: *sly-db-restarts*

The list of currenlty active restarts.

Package

slynk

Source

slynk.lisp (file)

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

slynk-sbcl

Source

sbcl.lisp (file)

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

True during execution of a step command.

Package

slynk

Source

slynk.lisp (file)

Special Variable: *sly-features*

The feature list that has been sent to Emacs.

Package

slynk

Source

slynk.lisp (file)

Special Variable: *sly-interrupts-enabled*
Package

slynk

Source

slynk.lisp (file)

Special Variable: *slyfuns*

A map of Sly functions.

Package

slynk

Source

slynk.lisp (file)

Special Variable: *slynk-debug-p*

When true, print extra debugging information.

Package

slynk

Source

slynk.lisp (file)

Special Variable: *slynk-debugger-condition*

The condition being debugged.

Package

slynk

Source

slynk.lisp (file)

Special Variable: *slynk-io-package*
Package

slynk

Source

slynk.lisp (file)

Special Variable: *slynk-require-hook*

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

Package

slynk

Source

slynk.lisp (file)

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

The version of the slynk/sly communication protocol.

Package

slynk

Source

slynk.lisp (file)

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 (file)

Special Variable: *tag-counter*
Package

slynk

Source

slynk.lisp (file)

Special Variable: *target-inspector*

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

Package

slynk

Source

slynk.lisp (file)

Special Variable: *thread-id-counter*
Package

slynk-sbcl

Source

sbcl.lisp (file)

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

slynk-sbcl

Source

sbcl.lisp (file)

Special Variable: *thread-id-map*
Package

slynk-sbcl

Source

sbcl.lisp (file)

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

slynk-sbcl

Source

sbcl.lisp (file)

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 (file)

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

slynk-sbcl

Source

sbcl.lisp (file)

Special Variable: *type-specifier-arglists*
Package

slynk-backend

Source

slynk-backend.lisp (file)

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 (file)

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

slynk-sbcl

Source

sbcl.lisp (file)


Next: , Previous: , Up: Internal definitions   [Contents][Index]

6.2.3 Macros

Macro: add-hook PLACE FUNCTION

Add FUNCTION to the list of values on PLACE.

Package

slynk

Source

slynk.lisp (file)

Macro: channel-counter ()
Package

slynk

Source

slynk.lisp (file)

Macro: channels ()
Package

slynk

Source

slynk.lisp (file)

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 (file)

Macro: define-channel-method SELECTOR (CHANNEL &rest ARGS) &body BODY
Package

slynk

Source

slynk.lisp (file)

Macro: define-stepper-function NAME BACKEND-FUNCTION-NAME
Package

slynk

Source

slynk.lisp (file)

Macro: defslyfun NAME ARGLIST &body REST

A DEFUN for functions that Emacs can call by RPC.

Package

slynk

Source

slynk.lisp (file)

Macro: defvar-unbound NAME &optional DOC-STRING

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

Package

slynk

Source

slynk.lisp (file)

Macro: defxref NAME &optional FN-NAME
Package

slynk-sbcl

Source

sbcl.lisp (file)

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 (file)

Macro: ignore-errors &rest FORMS
Package

slynk-source-path-parser

Source

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

Macro: lcons CAR CDR
Package

slynk

Source

slynk.lisp (file)

Macro: lcons* CAR CDR &rest MORE
Package

slynk

Source

slynk.lisp (file)

Macro: listeners ()
Package

slynk

Source

slynk.lisp (file)

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 (file)

Macro: saving-listener-bindings LISTENER &body BODY

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

Package

slynk

Source

slynk.lisp (file)

Macro: select-match EXPRESSION &rest PATTERNS
Package

slynk-match

Source

slynk-match.lisp (file)

Macro: utf8-encode-aux CODE BUFFER START END N
Package

slynk-backend

Source

slynk-backend.lisp (file)

Macro: with-bindings ALIST &body BODY

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

Package

slynk

Source

slynk.lisp (file)

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 (file)

Macro: with-compiler-policy POLICY &body BODY
Package

slynk-sbcl

Source

sbcl.lisp (file)

Macro: with-connection (CONNECTION) &body BODY

Execute BODY in the context of CONNECTION.

Package

slynk

Source

slynk.lisp (file)

Macro: with-debootstrapping &body BODY
Package

slynk-sbcl

Source

sbcl.lisp (file)

Macro: with-default-listener (CONNECTION) &body BODY

Execute BODY with in CONNECTION’s default listener.

Package

slynk

Source

slynk.lisp (file)

Macro: with-definition-source (&rest NAMES) OBJ &body BODY

Like with-slots but works only for structs.

Package

slynk-sbcl

Source

sbcl.lisp (file)

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

slynk

Source

slynk.lisp (file)

Macro: with-interrupts-enabled% FLAG BODY
Package

slynk

Source

slynk.lisp (file)

Macro: with-listener-bindings LISTENER &body BODY

Execute BODY inside LISTENER’s environment

Package

slynk

Source

slynk.lisp (file)

Macro: with-panic-handler (CONNECTION) &body BODY

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

Package

slynk

Source

slynk.lisp (file)

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

slynk

Source

slynk.lisp (file)

Macro: with-sly-interrupts &body BODY
Package

slynk

Source

slynk.lisp (file)

Macro: with-sly-output-stream STREAM &body BODY
Package

slynk-gray

Source

slynk-gray.lisp (file)

Macro: with-slynk-error-handler (CONNECTION) &body BODY

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

Package

slynk

Source

slynk.lisp (file)

Macro: with-string-stream (VAR &key LENGTH BINDINGS) &body BODY
Package

slynk

Source

slynk.lisp (file)

Macro: with-struct* (CONC-NAME GET OBJ) &body BODY
Package

slynk

Source

slynk.lisp (file)

Macro: with-top-level-restart (CONNECTION K) &body BODY
Package

slynk

Source

slynk.lisp (file)

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 (file)

Macro: without-sly-interrupts &body BODY
Package

slynk

Source

slynk.lisp (file)


Next: , Previous: , Up: Internal definitions   [Contents][Index]

6.2.4 Functions

Function: %%condition-message CONDITION
Package

slynk

Source

slynk.lisp (file)

Function: %condition-message CONDITION
Package

slynk

Source

slynk.lisp (file)

Function: %lcons CAR %CDR
Package

slynk

Source

slynk.lisp (file)

Function: %make-connection &key (SOCKET SOCKET) (SOCKET-IO SOCKET-IO) (CHANNEL-COUNTER CHANNEL-COUNTER) (CHANNELS CHANNELS) (LISTENERS LISTENERS) (INSPECTORS INSPECTORS) (INDENTATION-CACHE INDENTATION-CACHE) (INDENTATION-CACHE-PACKAGES INDENTATION-CACHE-PACKAGES) (COMMUNICATION-STYLE COMMUNICATION-STYLE)
Package

slynk

Source

slynk.lisp (file)

Function: %search-coding STR START END
Package

slynk-backend

Source

slynk-backend.lisp (file)

Function: %utf8-encode CODE BUFFER START END
Package

slynk-backend

Source

slynk-backend.lisp (file)

Function: accept SOCKET

Like socket-accept, but retry on EAGAIN.

Package

slynk-sbcl

Source

sbcl.lisp (file)

Function: accept-connections SOCKET STYLE DONT-CLOSE
Package

slynk

Source

slynk.lisp (file)

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 (file)

Function: action-part LABEL LAMBDA REFRESHP ACTIONS
Package

slynk

Source

slynk.lisp (file)

Function: add-active-thread CONNECTION THREAD
Package

slynk

Source

slynk.lisp (file)

Function: add-to-load-path-1 PATH LOAD-PATH-VAR
Package

slynk

Source

slynk.lisp (file)

Function: all-simple-completions PREFIX PACKAGE
Package

slynk-completion

Source

slynk-completion.lisp (file)

Function: announce-server-port FILE PORT
Package

slynk

Source

slynk.lisp (file)

Function: apply-macro-expander EXPANDER STRING
Package

slynk

Source

slynk.lisp (file)

Function: ascii-char-p C
Package

slynk

Source

slynk.lisp (file)

Function: ascii-string-p O
Package

slynk

Source

slynk.lisp (file)

Function: asciify PACKET
Package

slynk-rpc

Source

slynk-rpc.lisp (file)

Function: assign-index OBJECT VECTOR
Package

slynk

Source

slynk.lisp (file)

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 (file)

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 (file)

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 (file)

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 (file)

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 (file)

Function: call-with-break-hook HOOK CONTINUATION
Package

slynk-sbcl

Source

sbcl.lisp (file)

Function: call-with-buffer-syntax PACKAGE READTABLE FUN
Package

slynk

Source

slynk.lisp (file)

Function: call-with-debootstrapping FUN
Package

slynk-sbcl

Source

sbcl.lisp (file)

Function: call-with-describe-settings FN
Package

slynk

Source

slynk.lisp (file)

Function: call-with-listener LISTENER FN &optional SAVING
Package

slynk

Source

slynk.lisp (file)

Function: call-with-retry-restart MSG THUNK
Package

slynk

Source

slynk.lisp (file)

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 (file)

Function: canonical-package-nickname PACKAGE

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

Package

slynk

Source

slynk.lisp (file)

Function: casify-char CHAR

Convert CHAR accoring to readtable-case.

Package

slynk

Source

slynk.lisp (file)

Function: cat &rest STRINGS

Concatenate all arguments and make the result a string.

Package

slynk

Source

slynk.lisp (file)

Function: categorize-definition-source DEFINITION-SOURCE
Package

slynk-sbcl

Source

sbcl.lisp (file)

Function: channel-thread-id CHANNEL
Package

slynk

Source

slynk.lisp (file)

Function: check-source-path PATH
Package

slynk-source-path-parser

Source

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

Function: cl-symbol-p SYMBOL

Is SYMBOL a symbol in the COMMON-LISP package?

Package

slynk

Source

slynk.lisp (file)

Function: clean-arglist ARGLIST

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

Package

slynk

Source

slynk.lisp (file)

Function: cleanup-connection-threads CONNECTION
Package

slynk

Source

slynk.lisp (file)

Function: clear-event-history ()
Package

slynk

Source

slynk.lisp (file)

Function: clear-user-input ()
Package

slynk

Source

slynk.lisp (file)

Function: close-connection CONNECTION CONDITION BACKTRACE
Package

slynk

Source

slynk.lisp (file)

Function: close-connection% C CONDITION BACKTRACE
Package

slynk

Source

slynk.lisp (file)

Function: code-location-debug-fun-fun CODE-LOCATION
Package

slynk-sbcl

Source

sbcl.lisp (file)

Function: code-location-debug-source-created CODE-LOCATION
Package

slynk-sbcl

Source

sbcl.lisp (file)

Function: code-location-debug-source-name CODE-LOCATION
Package

slynk-sbcl

Source

sbcl.lisp (file)

Function: code-location-has-debug-block-info-p CODE-LOCATION
Package

slynk-sbcl

Source

sbcl.lisp (file)

Function: code-location-source-location CODE-LOCATION
Package

slynk-sbcl

Source

sbcl.lisp (file)

Function: coerce-to-condition DATUM ARGS
Package

slynk

Source

slynk.lisp (file)

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 (file)

Function: collect-notes FUNCTION
Package

slynk

Source

slynk.lisp (file)

Function: compilation-result-duration STRUCTURE
Function: (setf compilation-result-duration) VALUE STRUCTURE
Package

slynk

Source

slynk.lisp (file)

Function: compilation-result-faslfile STRUCTURE
Function: (setf compilation-result-faslfile) VALUE STRUCTURE
Package

slynk

Source

slynk.lisp (file)

Function: compilation-result-loadp STRUCTURE
Function: (setf compilation-result-loadp) VALUE STRUCTURE
Package

slynk

Source

slynk.lisp (file)

Function: compilation-result-notes STRUCTURE
Function: (setf compilation-result-notes) VALUE STRUCTURE
Package

slynk

Source

slynk.lisp (file)

Function: compilation-result-successp STRUCTURE
Function: (setf compilation-result-successp) VALUE STRUCTURE
Package

slynk

Source

slynk.lisp (file)

Function: compilation-result-type STRUCTURE
Function: (setf compilation-result-type) VALUE STRUCTURE
Package

slynk

Source

slynk.lisp (file)

Function: compile-file-output FILE DIRECTORY
Package

slynk

Source

slynk.lisp (file)

Function: compile-select-bindings KEY PATTERN ACTION
Package

slynk-match

Source

slynk-match.lisp (file)

Function: compile-select-test KEY PATTERN
Package

slynk-match

Source

slynk-match.lisp (file)

Function: compile-select-tests KEY PATTERN
Package

slynk-match

Source

slynk-match.lisp (file)

Function: compiler-error-context ERROR-CONTEXT

Describe a compiler error for Emacs including context information.

Package

slynk-sbcl

Source

sbcl.lisp (file)

Function: compiler-note-location CONDITION CONTEXT
Package

slynk-sbcl

Source

sbcl.lisp (file)

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 (file)

Writer

(setf compiler-policy) (function)

Function: (setf compiler-policy) POLICY
Package

slynk-sbcl

Source

sbcl.lisp (file)

Reader

compiler-policy (function)

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 (file)

Function: compiling-from-buffer-p FILENAME
Package

slynk-sbcl

Source

sbcl.lisp (file)

Function: compiling-from-file-p FILENAME
Package

slynk-sbcl

Source

sbcl.lisp (file)

Function: compiling-from-generated-code-p FILENAME SOURCE
Package

slynk-sbcl

Source

sbcl.lisp (file)

Function: condition-references CONDITION
Package

slynk-sbcl

Source

sbcl.lisp (file)

Function: connection-channel-counter INSTANCE
Function: (setf connection-channel-counter) VALUE INSTANCE
Package

slynk

Source

slynk.lisp (file)

Function: connection-channels INSTANCE
Function: (setf connection-channels) VALUE INSTANCE
Package

slynk

Source

slynk.lisp (file)

Function: connection-communication-style INSTANCE
Function: (setf connection-communication-style) VALUE INSTANCE
Package

slynk

Source

slynk.lisp (file)

Function: connection-indentation-cache INSTANCE
Function: (setf connection-indentation-cache) VALUE INSTANCE
Package

slynk

Source

slynk.lisp (file)

Function: connection-indentation-cache-packages INSTANCE
Function: (setf connection-indentation-cache-packages) VALUE INSTANCE
Package

slynk

Source

slynk.lisp (file)

Function: connection-inspectors INSTANCE
Function: (setf connection-inspectors) VALUE INSTANCE
Package

slynk

Source

slynk.lisp (file)

Function: connection-listeners INSTANCE
Function: (setf connection-listeners) VALUE INSTANCE
Package

slynk

Source

slynk.lisp (file)

Function: connection-p OBJECT
Package

slynk

Source

slynk.lisp (file)

Function: connection-socket INSTANCE
Package

slynk

Source

slynk.lisp (file)

Function: connection-socket-io INSTANCE
Package

slynk

Source

slynk.lisp (file)

Function: content-range LIST START END
Package

slynk

Source

slynk.lisp (file)

Function: control-thread CONNECTION
Package

slynk

Source

slynk.lisp (file)

Function: copy-compilation-result SEQUENCE

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

Package

slynk

Source

SYS:SRC;CODE;SEQ.LISP (not found)

Function: copy-connection INSTANCE
Package

slynk

Source

slynk.lisp (file)

Function: copy-inspector-state INSTANCE
Package

slynk

Source

slynk.lisp (file)

Function: copy-istate INSTANCE
Package

slynk

Source

slynk.lisp (file)

Function: copy-lcons INSTANCE
Package

slynk

Source

slynk.lisp (file)

Function: copy-location SEQUENCE

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

Package

slynk-backend

Source

SYS:SRC;CODE;SEQ.LISP (not found)

Function: copy-mailbox INSTANCE
Package

slynk-sbcl

Source

sbcl.lisp (file)

Function: copy-multithreaded-connection INSTANCE
Package

slynk

Source

slynk.lisp (file)

Function: copy-singlethreaded-connection INSTANCE
Package

slynk

Source

slynk.lisp (file)

Function: copy-source-cache-entry INSTANCE
Package

slynk-source-file-cache

Source

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

Function: cs-car EXP
Package

slynk-match

Source

slynk-match.lisp (file)

Function: cs-car/cdr OP EXP TABLE
Package

slynk-match

Source

slynk-match.lisp (file)

Function: cs-cdr EXP
Package

slynk-match

Source

slynk-match.lisp (file)

Function: current-inspector ()
Package

slynk

Source

slynk.lisp (file)

Function: current-istate &optional INSPECTOR
Package

slynk

Source

slynk.lisp (file)

Function: current-socket-io ()
Package

slynk

Source

slynk.lisp (file)

Function: current-thread-id ()
Package

slynk

Source

slynk.lisp (file)

Function: debug-in-emacs CONDITION
Package

slynk

Source

slynk.lisp (file)

Function: debug-var-info VAR
Package

slynk-sbcl

Source

sbcl.lisp (file)

Function: debug-var-value VAR FRAME LOCATION
Package

slynk-sbcl

Source

sbcl.lisp (file)

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

slynk

Source

slynk.lisp (file)

Function: decode-message STREAM

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

Package

slynk

Source

slynk.lisp (file)

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 (file)

Function: default-listener CONNECTION
Package

slynk

Source

slynk.lisp (file)

Function: default-string-to-utf8 STRING
Package

slynk-backend

Source

slynk-backend.lisp (file)

Function: default-utf8-to-string OCTETS
Package

slynk-backend

Source

slynk-backend.lisp (file)

Function: definition-source-buffer-and-file-location DEFINITION-SOURCE
Package

slynk-sbcl

Source

sbcl.lisp (file)

Function: definition-source-buffer-location DEFINITION-SOURCE
Package

slynk-sbcl

Source

sbcl.lisp (file)

Function: definition-source-file-location DEFINITION-SOURCE
Package

slynk-sbcl

Source

sbcl.lisp (file)

Function: definition-source-for-emacs DEFINITION-SOURCE TYPE NAME
Package

slynk-sbcl

Source

sbcl.lisp (file)

Function: definition-specifier TYPE

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

Package

slynk-sbcl

Source

sbcl.lisp (file)

Function: deinstall-fd-handler CONNECTION
Package

slynk

Source

slynk.lisp (file)

Function: deinstall-sigio-handler CONNECTION
Package

slynk

Source

slynk.lisp (file)

Function: describe-to-string OBJECT
Package

slynk

Source

slynk.lisp (file)

Function: dispatch-event CONNECTION EVENT

Handle an event triggered either by Emacs or within Lisp.

Package

slynk

Source

slynk.lisp (file)

Function: dispatch-interrupt-event CONNECTION
Package

slynk

Source

slynk.lisp (file)

Function: dispatch-loop CONNECTION
Package

slynk

Source

slynk.lisp (file)

Function: dump-event EVENT STREAM
Package

slynk

Source

slynk.lisp (file)

Function: dump-event-history STREAM
Package

slynk

Source

slynk.lisp (file)

Function: echo-for-emacs VALUES

Format VALUES in a way suitable to be echoed in the SLY client

Package

slynk

Source

slynk.lisp (file)

Function: emacs-buffer-source-location CODE-LOCATION PLIST
Package

slynk-sbcl

Source

sbcl.lisp (file)

Function: enable-sigio-on-fd FD
Package

slynk-sbcl

Source

sbcl.lisp (file)

Function: encode-message MESSAGE STREAM

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

Package

slynk

Source

slynk.lisp (file)

Function: encoding-error CONDITION STRING
Package

slynk-rpc

Source

slynk-rpc.lisp (file)

Function: ensure-istate-metadata O INDICATOR DEFAULT
Package

slynk

Source

slynk.lisp (file)

Function: ensure-list THING
Package

slynk

Source

slynk.lisp (file)

Function: escape-non-ascii STRING

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

Package

slynk

Source

slynk.lisp (file)

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 (file)

Function: eval-in-frame-aux FRAME STRING PACKAGE PRINT
Package

slynk

Source

slynk.lisp (file)

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 (file)

Function: event-history-to-list ()

Return the list of events (older events first).

Package

slynk

Source

slynk.lisp (file)

Function: event-match-p EVENT PATTERN
Package

slynk

Source

slynk.lisp (file)

Function: execv PROGRAM ARGS

Replace current executable with another one.

Package

slynk-sbcl

Source

sbcl.lisp (file)

Function: expand FORM
Package

slynk

Source

slynk.lisp (file)

Function: expand-1 FORM
Package

slynk

Source

slynk.lisp (file)

Function: expand-repeatedly EXPANDER FORM
Package

slynk

Source

slynk.lisp (file)

Function: expand-select-patterns KEY PATTERNS
Package

slynk-match

Source

slynk-match.lisp (file)

Function: expand-select-patterns-style-1 KEY PATTERNS
Package

slynk-match

Source

slynk-match.lisp (file)

Function: expand-select-patterns-style-2 KEY PATTERNS
Package

slynk-match

Source

slynk-match.lisp (file)

Function: externalize-reference REF
Package

slynk-sbcl

Source

sbcl.lisp (file)

Function: extract-package LINE
Package

slynk-source-path-parser

Source

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

Function: fallback-source-location CODE-LOCATION
Package

slynk-sbcl

Source

sbcl.lisp (file)

Function: fasl-pathname INPUT-FILE OPTIONS
Package

slynk

Source

slynk.lisp (file)

Function: fd-stream-input-buffer-empty-p STREAM
Package

slynk-sbcl

Source

sbcl.lisp (file)

Function: feature-in-list-p FEATURE LIST
Package

slynk-sbcl

Source

sbcl.lisp (file)

Function: features-for-emacs ()

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

Package

slynk

Source

slynk.lisp (file)

Function: file-form-number-position DEFINITION-SOURCE
Package

slynk-sbcl

Source

sbcl.lisp (file)

Function: file-newer-p NEW-FILE OLD-FILE

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

Package

slynk

Source

slynk.lisp (file)

Function: file-source-location CODE-LOCATION
Package

slynk-sbcl

Source

sbcl.lisp (file)

Function: find-channel ID
Package

slynk

Source

slynk.lisp (file)

Function: find-channel-thread CHANNEL
Package

slynk

Source

slynk.lisp (file)

Function: find-definitions-find-symbol-or-package NAME
Package

slynk

Source

slynk.lisp (file)

Function: find-external-format-or-lose CODING-SYSTEM
Package

slynk

Source

slynk.lisp (file)

Function: find-inspector NAME
Package

slynk

Source

slynk.lisp (file)

Function: find-symbol-with-status SYMBOL-NAME STATUS &optional PACKAGE
Package

slynk

Source

slynk.lisp (file)

Function: flex-score STRING INDEXES PATTERN SYMBOL

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

Package

slynk-completion

Source

slynk-completion.lisp (file)

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 (file)

Function: flush-listener-streams LISTENER
Package

slynk

Source

slynk.lisp (file)

Function: force-user-output ()
Package

slynk

Source

slynk.lisp (file)

Function: form-number-position DEFINITION-SOURCE STREAM
Package

slynk-sbcl

Source

sbcl.lisp (file)

Function: format-as-percentage-maybe F
Package

slynk

Source

slynk.lisp (file)

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 (file)

Function: format-integer-as-binary I
Package

slynk

Source

slynk.lisp (file)

Function: format-integer-as-hex I
Package

slynk

Source

slynk.lisp (file)

Function: format-integer-as-octal I
Package

slynk

Source

slynk.lisp (file)

Function: format-integer-length I
Package

slynk

Source

slynk.lisp (file)

Function: format-ratio-as-float R
Package

slynk

Source

slynk.lisp (file)

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 (file)

Function: frame-debug-vars FRAME

Return a vector of debug-variables in frame.

Package

slynk-sbcl

Source

sbcl.lisp (file)

Function: frame-locals-for-emacs INDEX
Package

slynk

Source

slynk.lisp (file)

Function: frame-to-string FRAME
Package

slynk

Source

slynk.lisp (file)

Function: from-string STRING

Read string in the *BUFFER-PACKAGE*

Package

slynk

Source

slynk.lisp (file)

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 (file)

Function: function-source-location FUNCTION &optional NAME
Package

slynk-sbcl

Source

sbcl.lisp (file)

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 (file)

Function: guess-buffer-readtable PACKAGE-NAME
Package

slynk

Source

slynk.lisp (file)

Function: guess-package STRING

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

Package

slynk

Source

slynk.lisp (file)

Function: guess-reader-state STREAM
Package

slynk-source-path-parser

Source

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

Function: guess-readtable-for-filename FILENAME
Package

slynk-sbcl

Source

sbcl.lisp (file)

Function: handle-indentation-cache-request CONNECTION REQUEST
Package

slynk

Source

slynk.lisp (file)

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 (file)

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 (file)

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 (file)

Function: hash-table-to-alist HT
Package

slynk

Source

slynk.lisp (file)

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

slynk-sbcl

Source

sbcl.lisp (file)

Function: iline LABEL VALUE
Package

slynk

Source

slynk.lisp (file)

Function: indentation-cache-loop CONNECTION
Package

slynk

Source

slynk.lisp (file)

Function: init ()
Package

slynk

Source

slynk.lisp (file)

Function: init-log-output ()
Package

slynk

Source

slynk.lisp (file)

Function: input-ready-p STREAM
Package

slynk-sbcl

Source

sbcl.lisp (file)

Function: inspect-cons CONS
Package

slynk

Source

slynk.lisp (file)

Function: inspect-list LIST
Package

slynk

Source

slynk.lisp (file)

Function: inspect-list-aux LIST
Package

slynk

Source

slynk.lisp (file)

Function: inspect-object O
Package

slynk

Source

slynk.lisp (file)

Function: inspector-state-p OBJECT
Package

slynk

Source

slynk.lisp (file)

Function: install-debugger CONNECTION
Package

slynk

Source

slynk.lisp (file)

Function: install-fd-handler CONNECTION
Package

slynk

Source

slynk.lisp (file)

Function: install-sigio-handler CONNECTION
Package

slynk

Source

slynk.lisp (file)

Function: interrupt-worker-thread CONNECTION ID
Package

slynk

Source

slynk.lisp (file)

Function: invoke-default-debugger CONDITION
Package

slynk

Source

slynk.lisp (file)

Function: invoke-or-queue-interrupt FUNCTION
Package

slynk

Source

slynk.lisp (file)

Function: istate-p OBJECT
Package

slynk

Source

slynk.lisp (file)

Function: istate.actions INSTANCE
Function: (setf istate.actions) VALUE INSTANCE
Package

slynk

Source

slynk.lisp (file)

Function: istate.content INSTANCE
Function: (setf istate.content) VALUE INSTANCE
Package

slynk

Source

slynk.lisp (file)

Function: istate.metadata INSTANCE
Function: (setf istate.metadata) VALUE INSTANCE
Package

slynk

Source

slynk.lisp (file)

Function: istate.object INSTANCE
Function: (setf istate.object) VALUE INSTANCE
Package

slynk

Source

slynk.lisp (file)

Function: istate.parts INSTANCE
Function: (setf istate.parts) VALUE INSTANCE
Package

slynk

Source

slynk.lisp (file)

Function: istate.serial INSTANCE
Function: (setf istate.serial) VALUE INSTANCE
Package

slynk

Source

slynk.lisp (file)

Function: istate>elisp ISTATE
Package

slynk

Source

slynk.lisp (file)

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 (file)

Function: known-to-emacs-p SYMBOL

Return true if Emacs has special rules for indenting SYMBOL.

Package

slynk

Source

slynk.lisp (file)

Function: lcons-%cdr INSTANCE
Function: (setf lcons-%cdr) VALUE INSTANCE
Package

slynk

Source

slynk.lisp (file)

Function: lcons-car INSTANCE
Function: (setf lcons-car) VALUE INSTANCE
Package

slynk

Source

slynk.lisp (file)

Function: lcons-cdr LCONS
Package

slynk

Source

slynk.lisp (file)

Function: lcons-forced? INSTANCE
Function: (setf lcons-forced?) VALUE INSTANCE
Package

slynk

Source

slynk.lisp (file)

Function: lcons? OBJECT
Package

slynk

Source

slynk.lisp (file)

Function: lisp-source-location CODE-LOCATION
Package

slynk-sbcl

Source

sbcl.lisp (file)

Function: listify F

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

Package

slynk

Source

slynk.lisp (file)

Function: llist-range LLIST START END
Package

slynk

Source

slynk.lisp (file)

Function: llist-skip LCONS INDEX
Package

slynk

Source

slynk.lisp (file)

Function: llist-take LCONS COUNT
Package

slynk

Source

slynk.lisp (file)

Function: load-user-init-file ()

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

Package

slynk

Source

slynk.lisp (file)

Function: locate-compiler-note FILE SOURCE-PATH SOURCE
Package

slynk-sbcl

Source

sbcl.lisp (file)

Function: location-type STRUCTURE
Function: (setf location-type) VALUE STRUCTURE
Package

slynk-backend

Source

slynk-backend.lisp (file)

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 (file)

Function: longest-common-prefix STRINGS

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

Package

slynk-completion

Source

slynk-completion.lisp (file)

Function: macro-indentation ARGLIST
Package

slynk

Source

slynk.lisp (file)

Function: mailbox THREAD

Return THREAD’s mailbox.

Package

slynk-sbcl

Source

sbcl.lisp (file)

Function: mailbox-p OBJECT
Package

slynk-sbcl

Source

sbcl.lisp (file)

Function: mailbox.mutex INSTANCE
Function: (setf mailbox.mutex) VALUE INSTANCE
Package

slynk-sbcl

Source

sbcl.lisp (file)

Function: mailbox.queue INSTANCE
Function: (setf mailbox.queue) VALUE INSTANCE
Package

slynk-sbcl

Source

sbcl.lisp (file)

Function: mailbox.thread INSTANCE
Function: (setf mailbox.thread) VALUE INSTANCE
Package

slynk-sbcl

Source

sbcl.lisp (file)

Function: mailbox.waitqueue INSTANCE
Function: (setf mailbox.waitqueue) VALUE INSTANCE
Package

slynk-sbcl

Source

sbcl.lisp (file)

Function: make-cl-ppcre-matcher PATTERN CASE-SENSITIVE SYMBOL-NAME-FN
Package

slynk-apropos

Source

slynk-apropos.lisp (file)

Function: make-compilation-result &key (TYPE TYPE) (NOTES NOTES) (SUCCESSP SUCCESSP) (DURATION DURATION) (LOADP LOADP) (FASLFILE FASLFILE)
Package

slynk

Source

slynk.lisp (file)

Function: make-compiler-note CONDITION

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

Package

slynk

Source

slynk.lisp (file)

Function: make-connection SOCKET STREAM STYLE
Package

slynk

Source

slynk.lisp (file)

Function: make-dspec TYPE NAME SOURCE-LOCATION
Package

slynk-sbcl

Source

sbcl.lisp (file)

Function: make-flex-matcher PATTERN CASE-SENSITIVE SYMBOL-NAME-FN
Package

slynk-apropos

Source

slynk-apropos.lisp (file)

Function: make-inspector-state &key
Package

slynk

Source

slynk.lisp (file)

Function: make-invoke-debugger-hook HOOK
Package

slynk-sbcl

Source

sbcl.lisp (file)

Function: make-istate &key (OBJECT OBJECT) (PARTS PARTS) (ACTIONS ACTIONS) (METADATA METADATA) (CONTENT CONTENT) (SERIAL SERIAL)
Package

slynk

Source

slynk.lisp (file)

Function: make-mailbox &key (THREAD THREAD) (MUTEX MUTEX) (WAITQUEUE WAITQUEUE) (QUEUE QUEUE)
Package

slynk-sbcl

Source

sbcl.lisp (file)

Function: make-multithreaded-connection &key (SOCKET SOCKET) (SOCKET-IO SOCKET-IO) (CHANNEL-COUNTER CHANNEL-COUNTER) (CHANNELS CHANNELS) (LISTENERS LISTENERS) (INSPECTORS INSPECTORS) (INDENTATION-CACHE INDENTATION-CACHE) (INDENTATION-CACHE-PACKAGES INDENTATION-CACHE-PACKAGES) (COMMUNICATION-STYLE COMMUNICATION-STYLE) (READER-THREAD READER-THREAD) (CONTROL-THREAD CONTROL-THREAD) (AUTO-FLUSH-THREAD AUTO-FLUSH-THREAD) (INDENTATION-CACHE-THREAD INDENTATION-CACHE-THREAD) (ACTIVE-THREADS ACTIVE-THREADS)
Package

slynk

Source

slynk.lisp (file)

Function: make-plain-matcher PATTERN CASE-SENSITIVE SYMBOL-NAME-FN
Package

slynk-apropos

Source

slynk-apropos.lisp (file)

Function: make-repl-input-stream CONNECTION STDIN
Package

slynk

Source

slynk.lisp (file)

Function: make-sharpdot-reader ORIG-SHARPDOT-READER
Package

slynk-source-path-parser

Source

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

Function: make-singlethreaded-connection &key (SOCKET SOCKET) (SOCKET-IO SOCKET-IO) (CHANNEL-COUNTER CHANNEL-COUNTER) (CHANNELS CHANNELS) (LISTENERS LISTENERS) (INSPECTORS INSPECTORS) (INDENTATION-CACHE INDENTATION-CACHE) (INDENTATION-CACHE-PACKAGES INDENTATION-CACHE-PACKAGES) (COMMUNICATION-STYLE COMMUNICATION-STYLE) (SAVED-SIGINT-HANDLER SAVED-SIGINT-HANDLER) (EVENT-QUEUE EVENT-QUEUE) (EVENTS-ENQUEUED EVENTS-ENQUEUED)
Package

slynk

Source

slynk.lisp (file)

Function: make-socket-io-stream SOCKET EXTERNAL-FORMAT BUFFERING
Package

slynk-sbcl

Source

sbcl.lisp (file)

Function: make-source-cache-entry TEXT DATE
Package

slynk-source-file-cache

Source

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

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 (file)

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 (file)

Function: make-tag ()
Package

slynk

Source

slynk.lisp (file)

Function: make-thread-bindings-aware-lambda FN
Package

slynk

Source

slynk.lisp (file)

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 (file)

Function: matching-symbols PACKAGE EXTERNAL TEST
Package

slynk-completion

Source

slynk-completion.lisp (file)

Function: maybe-convert-package-designator STRING
Package

slynk-rpc

Source

slynk-rpc.lisp (file)

Function: maybe-schedule-flush STREAM
Package

slynk-gray

Source

slynk-gray.lisp (file)

Function: maybe-slow-down ()
Package

slynk

Source

slynk.lisp (file)

Function: mconn.active-threads INSTANCE
Function: (setf mconn.active-threads) VALUE INSTANCE
Package

slynk

Source

slynk.lisp (file)

Function: mconn.auto-flush-thread INSTANCE
Function: (setf mconn.auto-flush-thread) VALUE INSTANCE
Package

slynk

Source

slynk.lisp (file)

Function: mconn.channel-counter INSTANCE
Function: (setf mconn.channel-counter) VALUE INSTANCE
Package

slynk

Source

slynk.lisp (file)

Function: mconn.channels INSTANCE
Function: (setf mconn.channels) VALUE INSTANCE
Package

slynk

Source

slynk.lisp (file)

Function: mconn.communication-style INSTANCE
Function: (setf mconn.communication-style) VALUE INSTANCE
Package

slynk

Source

slynk.lisp (file)

Function: mconn.control-thread INSTANCE
Function: (setf mconn.control-thread) VALUE INSTANCE
Package

slynk

Source

slynk.lisp (file)

Function: mconn.indentation-cache INSTANCE
Function: (setf mconn.indentation-cache) VALUE INSTANCE
Package

slynk

Source

slynk.lisp (file)

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

slynk

Source

slynk.lisp (file)

Function: mconn.indentation-cache-thread INSTANCE
Function: (setf mconn.indentation-cache-thread) VALUE INSTANCE
Package

slynk

Source

slynk.lisp (file)

Function: mconn.inspectors INSTANCE
Function: (setf mconn.inspectors) VALUE INSTANCE
Package

slynk

Source

slynk.lisp (file)

Function: mconn.listeners INSTANCE
Function: (setf mconn.listeners) VALUE INSTANCE
Package

slynk

Source

slynk.lisp (file)

Function: mconn.reader-thread INSTANCE
Function: (setf mconn.reader-thread) VALUE INSTANCE
Package

slynk

Source

slynk.lisp (file)

Function: mconn.socket INSTANCE
Package

slynk

Source

slynk.lisp (file)

Function: mconn.socket-io INSTANCE
Package

slynk

Source

slynk.lisp (file)

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 (file)

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 (file)

Function: mop-helper CLASS-NAME FN
Package

slynk

Source

slynk.lisp (file)

Function: multithreaded-connection-p OBJECT
Package

slynk

Source

slynk.lisp (file)

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 (file)

Function: next-thread-id ()
Package

slynk-sbcl

Source

sbcl.lisp (file)

Function: notify-backend-of-connection CONNECTION
Package

slynk

Source

slynk.lisp (file)

Function: nth-frame INDEX
Package

slynk-sbcl

Source

sbcl.lisp (file)

Function: nth-restart INDEX
Package

slynk

Source

slynk.lisp (file)

Function: nth-thread INDEX
Package

slynk

Source

slynk.lisp (file)

Function: package-names PACKAGE

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

Package

slynk

Source

slynk.lisp (file)

Function: package-string-for-prompt PACKAGE

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

Package

slynk

Source

slynk.lisp (file)

Function: parse-header STREAM
Package

slynk-rpc

Source

slynk-rpc.lisp (file)

Function: parse-package STRING

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

Package

slynk

Source

slynk.lisp (file)

Function: parse-string STRING PACKAGE

Read STRING in PACKAGE.

Package

slynk

Source

slynk.lisp (file)

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 (file)

Function: parse-symbol-or-lose STRING &optional PACKAGE
Package

slynk

Source

slynk.lisp (file)

Function: pathname-as-directory PATHNAME
Package

slynk

Source

slynk.lisp (file)

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 (file)

Function: ping-pong ()
Package

slynk

Source

slynk.lisp (file)

Function: poll-for-event CONNECTION PATTERN
Package

slynk

Source

slynk.lisp (file)

Function: prefix-match-p PREFIX STRING

Return true if PREFIX is a prefix of STRING.

Package

slynk-completion

Source

slynk-completion.lisp (file)

Function: prepare-part PART ISTATE
Package

slynk

Source

slynk.lisp (file)

Function: prepare-range ISTATE START END
Package

slynk

Source

slynk.lisp (file)

Function: prepare-title ISTATE
Package

slynk

Source

slynk.lisp (file)

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 (file)

Function: present-number-considering-alist NUMBER ALIST
Package

slynk

Source

slynk.lisp (file)

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 (file)

Function: prin1-to-string-for-emacs OBJECT PACKAGE
Package

slynk-rpc

Source

slynk-rpc.lisp (file)

Function: print-connection CONN STREAM DEPTH
Package

slynk

Source

slynk.lisp (file)

Function: print-part-to-string VALUE
Package

slynk

Source

slynk.lisp (file)

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 (file)

Function: process-fspec FSPEC
Package

slynk-sbcl

Source

sbcl.lisp (file)

Function: process-io-interrupt CONNECTION
Package

slynk

Source

slynk.lisp (file)

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 (file)

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 (file)

Function: queue-thread-interrupt THREAD FUNCTION
Package

slynk

Source

slynk.lisp (file)

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 (file)

Function: read-chunk STREAM LENGTH
Package

slynk-rpc

Source

slynk-rpc.lisp (file)

Function: read-file FILENAME

Return the entire contents of FILENAME as a string.

Package

slynk-source-file-cache

Source

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

Function: read-form STRING PACKAGE
Package

slynk-rpc

Source

slynk-rpc.lisp (file)

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 (file)

Function: read-loop CONNECTION
Package

slynk

Source

slynk.lisp (file)

Function: read-non-blocking STREAM
Package

slynk

Source

slynk.lisp (file)

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 (file)

Function: readably-classify SYM
Package

slynk-completion

Source

slynk-completion.lisp (file)

Function: readtable-for-package PACKAGE
Package

slynk-source-path-parser

Source

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

Function: real-condition CONDITION

Return the encapsulated condition or CONDITION itself.

Package

slynk-sbcl

Source

sbcl.lisp (file)

Function: real-input-stream STREAM
Package

slynk

Source

slynk.lisp (file)

Function: real-output-stream STREAM
Package

slynk

Source

slynk.lisp (file)

Function: remove-active-thread CONNECTION THREAD
Package

slynk

Source

slynk.lisp (file)

Function: repl-input-stream-read CONNECTION STDIN
Package

slynk

Source

slynk.lisp (file)

Function: requires-compile-p SOURCE-FILE
Package

slynk

Source

slynk.lisp (file)

Function: reset-inspector ()
Package

slynk

Source

slynk.lisp (file)

Function: resolve-hostname HOST

Returns valid IPv4 or IPv6 address for the host.

Package

slynk-sbcl

Source

sbcl.lisp (file)

Function: run-hook FUNCTIONS &rest ARGUMENTS

Call each of FUNCTIONS with ARGUMENTS.

Package

slynk

Source

slynk.lisp (file)

Function: runtime-pathname ()
Package

slynk-sbcl

Source

sbcl.lisp (file)

Function: safe-backtrace ()
Package

slynk

Source

slynk.lisp (file)

Function: safe-condition-message CONDITION

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

Package

slynk

Source

slynk.lisp (file)

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 (file)

Function: sanitize-xrefs XREFS
Package

slynk-sbcl

Source

sbcl.lisp (file)

Function: sbcl-package-p PACKAGE
Package

slynk-sbcl

Source

sbcl.lisp (file)

Function: sbcl-source-file-p FILENAME
Package

slynk-sbcl

Source

sbcl.lisp (file)

Function: sbcl-version>= &rest SUBVERSIONS
Package

slynk-sbcl

Source

sbcl.lisp (file)

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

slynk-sbcl

Source

sbcl.lisp (file)

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

slynk-sbcl

Source

sbcl.lisp (file)

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

slynk-sbcl

Source

sbcl.lisp (file)

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

slynk-sbcl

Source

sbcl.lisp (file)

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

slynk-sbcl

Source

sbcl.lisp (file)

Function: sbcl-wrap SPEC BEFORE AFTER REPLACE FUNCTION ARGS
Package

slynk-sbcl

Source

sbcl.lisp (file)

Function: sconn.channel-counter INSTANCE
Function: (setf sconn.channel-counter) VALUE INSTANCE
Package

slynk

Source

slynk.lisp (file)

Function: sconn.channels INSTANCE
Function: (setf sconn.channels) VALUE INSTANCE
Package

slynk

Source

slynk.lisp (file)

Function: sconn.communication-style INSTANCE
Function: (setf sconn.communication-style) VALUE INSTANCE
Package

slynk

Source

slynk.lisp (file)

Function: sconn.event-queue INSTANCE
Function: (setf sconn.event-queue) VALUE INSTANCE
Package

slynk

Source

slynk.lisp (file)

Function: sconn.events-enqueued INSTANCE
Function: (setf sconn.events-enqueued) VALUE INSTANCE
Package

slynk

Source

slynk.lisp (file)

Function: sconn.indentation-cache INSTANCE
Function: (setf sconn.indentation-cache) VALUE INSTANCE
Package

slynk

Source

slynk.lisp (file)

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

slynk

Source

slynk.lisp (file)

Function: sconn.inspectors INSTANCE
Function: (setf sconn.inspectors) VALUE INSTANCE
Package

slynk

Source

slynk.lisp (file)

Function: sconn.listeners INSTANCE
Function: (setf sconn.listeners) VALUE INSTANCE
Package

slynk

Source

slynk.lisp (file)

Function: sconn.saved-sigint-handler INSTANCE
Function: (setf sconn.saved-sigint-handler) VALUE INSTANCE
Package

slynk

Source

slynk.lisp (file)

Function: sconn.socket INSTANCE
Package

slynk

Source

slynk.lisp (file)

Function: sconn.socket-io INSTANCE
Package

slynk

Source

slynk.lisp (file)

Function: select-double-match? PATTERN
Package

slynk-match

Source

slynk-match.lisp (file)

Function: select-in-tree ATOM TREE
Package

slynk-match

Source

slynk-match.lisp (file)

Function: select-predicate? PATTERN
Package

slynk-match

Source

slynk-match.lisp (file)

Function: send-event THREAD EVENT
Package

slynk

Source

slynk.lisp (file)

Function: send-oob-to-emacs OBJECT
Package

slynk

Source

slynk.lisp (file)

Function: send-to-emacs EVENT

Send EVENT to Emacs.

Package

slynk

Source

slynk.lisp (file)

Function: send-to-indentation-cache REQUEST
Package

slynk

Source

slynk.lisp (file)

Function: send-to-remote-channel CHANNEL-ID MSG
Package

slynk

Source

slynk.lisp (file)

Function: send-to-sentinel MSG
Package

slynk

Source

slynk.lisp (file)

Function: sentinel ()
Package

slynk

Source

slynk.lisp (file)

Function: sentinel-maybe-exit ()
Package

slynk

Source

slynk.lisp (file)

Function: sentinel-serve MSG
Package

slynk

Source

slynk.lisp (file)

Function: sentinel-stop-server KEY VALUE
Package

slynk

Source

slynk.lisp (file)

Function: serve-requests CONNECTION

Read and process all requests on connections.

Package

slynk

Source

slynk.lisp (file)

Function: set-break-hook HOOK
Package

slynk-sbcl

Source

sbcl.lisp (file)

Function: set-sigio-handler ()
Package

slynk-sbcl

Source

sbcl.lisp (file)

Function: setf-expander SYMBOL
Package

slynk-sbcl

Source

sbcl.lisp (file)

Function: setup-server PORT ANNOUNCE-FN STYLE DONT-CLOSE BACKLOG
Package

slynk

Source

slynk.lisp (file)

Function: shebang-reader STREAM SUB-CHARACTER INFIX-PARAMETER
Package

slynk-sbcl

Source

sbcl.lisp (file)

Function: shebang-readtable ()
Package

slynk-sbcl

Source

sbcl.lisp (file)

Function: shortest-package-nickname PACKAGE

Return the shortest nickname of PACKAGE.

Package

slynk

Source

slynk.lisp (file)

Function: sigio-handler SIGNAL CODE SCP
Package

slynk-sbcl

Source

sbcl.lisp (file)

Function: signal-compiler-condition CONDITION CONTEXT
Package

slynk-sbcl

Source

sbcl.lisp (file)

Function: signal-slynk-error CONDITION &optional BACKTRACE
Package

slynk

Source

slynk.lisp (file)

Function: simple-announce-function PORT
Package

slynk

Source

slynk.lisp (file)

Function: simple-repl ()
Package

slynk

Source

slynk.lisp (file)

Function: simple-serve-requests CONNECTION
Package

slynk

Source

slynk.lisp (file)

Function: singlethreaded-connection-p OBJECT
Package

slynk

Source

slynk.lisp (file)

Function: skip-comments-and-whitespace STREAM
Package

slynk-source-file-cache

Source

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

Function: skip-toplevel-forms N STREAM
Package

slynk-source-path-parser

Source

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

Function: skip-whitespace STREAM
Package

slynk-source-path-parser

Source

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

Function: sleep-for SECONDS

Sleep for at least SECONDS seconds.
This is just like cl:sleep but guarantees to sleep at least SECONDS.

Package

slynk

Source

slynk.lisp (file)

Function: sly-db-loop LEVEL
Package

slynk

Source

slynk.lisp (file)

Function: sly-secret ()

Finds the magic secret from the user’s home directory. Returns nil if the file doesn’t exist; otherwise the first line of the file.

Package

slynk

Source

slynk.lisp (file)

Function: sly-version-string ()

Return a string identifying the SLY version. Return nil if nothing appropriate is available.

Package

slynk

Source

slynk.lisp (file)

Function: slynk-compile-file* PATHNAME LOAD-P &rest OPTIONS &key POLICY &allow-other-keys
Package

slynk

Source

slynk.lisp (file)

Function: slynk-pprint OBJECT &key STREAM

Pretty print OBJECT to STREAM using *SLYNK-PPRINT-BINDINGS*. If STREAM is nil, use a string

Package

slynk

Source

slynk.lisp (file)

Function: slynk-pprint-to-line OBJECT &optional WIDTH

Print OBJECT to a single line at most. Return the string.

Package

slynk

Source

slynk.lisp (file)

Function: slynk-pprint-values VALUES &key STREAM

Pretty print each of VALUES to STREAM using *SLYNK-PPRINT-BINDINGS*. Separated by a newline. If no values indicate that in a comment. If STREAM is nil, use a string

Package

slynk

Source

slynk.lisp (file)

Function: slynk-value NAME &optional ERRORP
Package

slynk-sbcl

Source

sbcl.lisp (file)

Function: socket-quest PORT BACKLOG

Attempt o create a socket on PORT.
Add a restart, prompting user to enter a new port if PORT is already taken.

Package

slynk

Source

slynk.lisp (file)

Function: sort-by-score MATCHES

Sort MATCHES by SCORE, highest score first.

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

Package

slynk-completion

Source

slynk-completion.lisp (file)

Function: source-cache-entry-p OBJECT
Package

slynk-source-file-cache

Source

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

Function: source-cache-entry.date INSTANCE
Function: (setf source-cache-entry.date) VALUE INSTANCE
Package

slynk-source-file-cache

Source

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

Function: source-cache-entry.text INSTANCE
Function: (setf source-cache-entry.text) VALUE INSTANCE
Package

slynk-source-file-cache

Source

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

Function: source-cached-p FILENAME

Is any version of FILENAME in the source cache?

Package

slynk-source-file-cache

Source

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

Function: source-file-position FILENAME WRITE-DATE FORM-PATH
Package

slynk-sbcl

Source

sbcl.lisp (file)

Function: source-file-source-location CODE-LOCATION
Package

slynk-sbcl

Source

sbcl.lisp (file)

Function: source-hint-snippet FILENAME WRITE-DATE POSITION
Package

slynk-sbcl

Source

sbcl.lisp (file)

Function: source-location-for-xref-data XREF-DATA
Package

slynk-sbcl

Source

sbcl.lisp (file)

Function: source-path-stream-position PATH STREAM

Search the source-path PATH in STREAM and return its position.

Package

slynk-source-path-parser

Source

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

Function: spawn-channel-thread CONNECTION CHANNEL

Spawn a listener thread for CONNECTION and CHANNEL.

The new thread will block waiting for a :SERVE-CHANNEL message, then process all requests in series until the :TEARDOWN message, at which point the thread terminates and CHANNEL is closed.

Package

slynk

Source

slynk.lisp (file)

Function: spawn-threads-for-connection CONNECTION
Package

slynk

Source

slynk.lisp (file)

Function: spawn-worker-thread CONNECTION
Package

slynk

Source

slynk.lisp (file)

Function: start-sentinel ()
Package

slynk

Source

slynk.lisp (file)

Function: starts-with-p STRING PREFIX
Package

slynk-source-path-parser

Source

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

Function: stop-serving-requests CONNECTION
Package

slynk

Source

slynk.lisp (file)

Function: stream-source-position CODE-LOCATION STREAM
Package

slynk-sbcl

Source

sbcl.lisp (file)

Function: string-form-number-position DEFINITION-SOURCE STRING
Package

slynk-sbcl

Source

sbcl.lisp (file)

Function: string-source-position CODE-LOCATION STRING
Package

slynk-sbcl

Source

sbcl.lisp (file)

Function: switch-to-double-floats X
Package

slynk-rpc

Source

slynk-rpc.lisp (file)

Function: symbol-external-p SYMBOL &optional PACKAGE

True if SYMBOL is external in PACKAGE.
If PACKAGE is not specified, the home package of SYMBOL is used.

Package

slynk

Source

slynk.lisp (file)

Function: symbol-indentation SYMBOL

Return a form describing the indentation of SYMBOL.
The form is to be used as the ‘common-lisp-indent-function’ property in Emacs.

Package

slynk

Source

slynk.lisp (file)

Function: symbol-packages SYMBOL

Return the packages where SYMBOL can be found.

Package

slynk

Source

slynk.lisp (file)

Function: symbol-status SYMBOL &optional PACKAGE

Returns one of

:INTERNAL if the symbol is _present_ in PACKAGE as an _internal_ symbol,

:EXTERNAL if the symbol is _present_ in PACKAGE as an _external_ symbol,

:INHERITED if the symbol is _inherited_ by PACKAGE through USE-PACKAGE, but is not _present_ in PACKAGE,

or NIL if SYMBOL is not _accessible_ in PACKAGE.

Be aware not to get confused with :INTERNAL and how "internal
symbols" are defined in the spec; there is a slight mismatch of definition with the Spec and what’s commonly meant when talking
about internal symbols most times. As the spec says:

In a package P, a symbol S is

_accessible_ if S is either _present_ in P itself or was inherited from another package Q (which implies
that S is _external_ in Q.)

You can check that with: (AND (SYMBOL-STATUS S P) T)

_present_ if either P is the /home package/ of S or S has been imported into P or exported from P by IMPORT, or EXPORT respectively.

Or more simply, if S is not _inherited_.

You can check that with: (LET ((STATUS (SYMBOL-STATUS S P))) (AND STATUS
(NOT (EQ STATUS :INHERITED))))

_external_ if S is going to be inherited into any package that /uses/ P by means of USE-PACKAGE, MAKE-PACKAGE, or DEFPACKAGE.

Note that _external_ implies _present_, since to make a symbol _external_, you’d have to use EXPORT which will automatically make the symbol _present_.

You can check that with: (EQ (SYMBOL-STATUS S P) :EXTERNAL)

_internal_ if S is _accessible_ but not _external_.

You can check that with: (LET ((STATUS (SYMBOL-STATUS S P))) (AND STATUS
(NOT (EQ STATUS :EXTERNAL))))

Notice that this is *different* to
(EQ (SYMBOL-STATUS S P) :INTERNAL) because what the spec considers _internal_ is split up into two explicit pieces: :INTERNAL, and :INHERITED; just as, for instance, CL:FIND-SYMBOL does.

The rationale is that most times when you speak about "internal" symbols, you’re actually not including the symbols inherited from other packages, but only about the symbols directly specific to the package in question.

Package

slynk

Source

slynk.lisp (file)

Function: sync-features-to-emacs ()

Update Emacs if any relevant Lisp state has changed.

Package

slynk

Source

slynk.lisp (file)

Function: sync-indentation-to-emacs ()

Send any indentation updates to Emacs via CONNECTION.

Package

slynk

Source

slynk.lisp (file)

Function: sys-execv PROGRAM ARGV
Package

slynk-sbcl

Source

sbcl.lisp (file)

Function: target-inspector ()
Package

slynk

Source

slynk.lisp (file)

Function: temp-file-name ()

Return a temporary file name to compile strings into.

Package

slynk-sbcl

Source

sbcl.lisp (file)

Function: tempnam DIR PREFIX
Package

slynk-sbcl

Source

sbcl.lisp (file)

Function: to-chunks STRING INDEXES

Return chunks of STRING in as specified by INDEXES.

Package

slynk-completion

Source

slynk-completion.lisp (file)

Function: to-string OBJECT

Write OBJECT in the *BUFFER-PACKAGE*.
The result may not be readable. Handles problems with PRINT-OBJECT methods gracefully.

Package

slynk

Source

slynk.lisp (file)

Function: toggle-trace-aux FSPEC &rest ARGS
Package

slynk-sbcl

Source

sbcl.lisp (file)

Function: tokenize-symbol STRING

STRING is interpreted as the string representation of a symbol and is tokenized accordingly. The result is returned in three values: The package identifier part, the actual symbol identifier part, and a flag if the STRING represents a symbol that is internal to the package identifier part. (Notice that the flag is also true with an empty package identifier part, as the STRING is considered to represent a symbol internal to some current package.)

Package

slynk

Source

slynk.lisp (file)

Function: tokenize-symbol-thoroughly STRING

This version of TOKENIZE-SYMBOL handles escape characters.

Package

slynk

Source

slynk.lisp (file)

Function: tracedp FSPEC
Package

slynk

Source

slynk.lisp (file)

Function: translating-read ()

Read a form that conforms to the protocol, otherwise signal an error.

Package

slynk-rpc

Source

slynk-rpc.lisp (file)

Function: truncate-string STRING WIDTH &optional ELLIPSIS
Package

slynk

Source

slynk.lisp (file)

Function: unparse-name STRING

Print the name STRING according to the current printer settings.

Package

slynk

Source

slynk.lisp (file)

Function: unparse-symbol SYMBOL
Package

slynk-completion

Source

slynk-completion.lisp (file)

Function: untokenize-symbol PACKAGE-NAME INTERNAL-P SYMBOL-NAME

The inverse of TOKENIZE-SYMBOL.

(untokenize-symbol "quux" nil "foo") ==> "quux:foo" (untokenize-symbol "quux" t "foo") ==> "quux::foo" (untokenize-symbol nil nil "foo") ==> "foo"

Package

slynk

Source

slynk.lisp (file)

Function: update-indentation/delta-for-emacs CACHE FORCE PACKAGE

Update the cache and return the changes in a (SYMBOL INDENT PACKAGES) list. If FORCE is true then check all symbols, otherwise only check symbols belonging to PACKAGE.

Package

slynk

Source

slynk.lisp (file)

Function: use-threads-p ()
Package

slynk

Source

slynk.lisp (file)

Function: utf8-decode BUFFER INDEX LIMIT
Package

slynk-backend

Source

slynk-backend.lisp (file)

Function: utf8-decode-aux BUFFER INDEX LIMIT BYTE0 N
Package

slynk-backend

Source

slynk-backend.lisp (file)

Function: utf8-decode-into BUFFER INDEX LIMIT STRING START END
Package

slynk-backend

Source

slynk-backend.lisp (file)

Function: utf8-encode CHAR BUFFER START END
Package

slynk-backend

Source

slynk-backend.lisp (file)

Function: utf8-encode-into STRING START END BUFFER INDEX LIMIT
Package

slynk-backend

Source

slynk-backend.lisp (file)

Function: value-part OBJECT STRING PARTS
Package

slynk

Source

slynk.lisp (file)

Function: value-spec-ref SPEC
Package

slynk

Source