Package COM.INFORMATIMAGO.COMMON-LISP.INTERACTIVE.INTERACTIVE


This package defines various interactive commands intended to be used
at the REPL.  It also re-exports some functions from BROWSER and
PACKAGE.

License:

    AGPL3

    Copyright Pascal J. Bourguignon 2006 - 2015

    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU Affero General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU Affero General Public License for more details.

    You should have received a copy of the GNU Affero General Public License
    along with this program.
    If not, see <http://www.gnu.org/licenses/>
*editor*
variable
The editor function provided by the implementation.
Initial value: #<Compiled-function ED #x30000013E60F>
(browse)
function
COMMAND
DO:         Displays the contents of the working directory and
            allows the user to navigate in the directory tree and
            to load files.
(cat &rest paths)
function
COMMAND
SEE:        MORE
DO:         Same as more, but force no pagination.
(cd &optional path)
function
COMMAND
DO:         Change the working directory.
ARGUMENTS:  The path of the new working directory.
            If not given, then change to the user home directory.
(compare-pathnames p1 p2)
function
DO:         Compare the pathnames P1 and P2 component by component,
            reporting their differences on the *standard-output*.
(date &optional date)
function
Prints the date.
(define-package name &rest declarations)
macro
DO:         Declares a package.
            This includes loading the packages depended on,
            adding nicknames to the packages used under these nicknames,
            defining the package, and going into it (with IN-PACKAGE).
(diff-package p1 p2)
function
Prints the differences in the exported symbols list of two packages.

EDIT

(initialize)
function
This function should be called upon launching a lisp image.
(less &rest args)
function
COMMAND
SEE:        MORE
(list-all-symbols package &key sorted)
function
RETURN:     A list of all the symbols present in the PACKAGE.
PACKAGE:    A package designator.
SORTED:     Whether the result list is sorted (default T).
(list-external-symbols package &key sorted)
function
RETURN:     A list of all the symbols exported from the PACKAGE.
PACKAGE:    A package designator.
SORTED:     Whether the result list is sorted (default T).
(ls &rest args)
function
COMMAND
DO:         List the files or directories.
OPTIONS:    -L long listing: item kind, size, date, name; otherwise only name.
            -A all entries: list also entries whose name starts with a dot or ends with a tilde.
ARGUMENTS:  A list of paths possibly containing wildcards.
            If none is given, then "*" is used.
(lschar &key start end name)
function
Prints all the characters of codes betwen start and end, with their names.
(lspack &rest arguments)
function
(LSPACK [package [:SHOW-EXPORTS|:EXPORTS|:EXPORT|:T] [:HIDE-USED-BY|:SHORT|:S]]...)
List all the packages, or only the packages matching PACKAGE (a regexp on clisp)
dumping all the exported symbols when :SHOW-EXPORTS is specified,
and not dumping the used-by list when :HIDE-USED-BY is specified.
The keywords are tested with STRING-EQUAL.
(lssymbols &optional package)
function
DO:        Prints a list of the symbols in the PACKAGE (default: *PACKAGE*).
(mkupack &key name stepper use shadow)
function
DO:         Makes a new, temporary, user package like
            COMMON-LISP-USER, and sets *PACKAGE* to it.

NAME:       the name of the new package. By default, it's assigned the
            name USERn with the first free n.

STEPPER:    whether to use the CL-STEPPER package instead of COMMON-LISP.

USE:        A package use list to use.  When given, STEPPER is ignored.
            By default, it's ("COMMON-LISP" "COM.INFORMATIMAGO.PJB")
            or ("COM.INFORMATIMAGO.COMMON-LISP.LISP.STEPPER" "COM.INFORMATIMAGO.PJB") depending
            on STEPPER.
(more &rest args)
function
COMMAND
DO:         concatenate and paginate a list of files.
ARGUMENTS:  If the first argument is :PAGE,
            then the second arguments is
            either an integer giving the page height,
            or NIL indicating that no pagination must be done;
            else the page height is *TERMINAL-HEGIHT*.
            The other arguments are paths of files to be dumped
            on *STANDARD-OUTPUT*; a string-designator for "-"
            represents *STANDARD-INPUT*.
            If no path is given, only *STANDARD-INPUT* is processed.
(mozilla-string string)
function
Convert a string as copied from mozilla into unicode characters.
(popd)
function
COMMAND
DO:         Unstack the working directory from the stack.
(popp)
function
Pops the top of the package stack and assign it to *PACKAGE*.
(print-pathname p)
function
DO:        Prints the components of the pathname P one by one.
RETURN:    P.
(pswitch &optional package)
function
Switch between two packages.
(pushd &optional path)
function
COMMAND
DO:         Push the current working directory onto the stack, and
            change the working directory to the path (or home directory).
SEE;        POPD, CD.
(pushp &optional package)
function
Push *PACKAGE* on a package stack,
and makes the package designated by PACKAGE be the new *PACKAGE*.
If PACKAGE is NIL, the rotate *PACKAGE* and the top of the package stack.
(pwd)
function
COMMAND
DO:         Returns the current working directory.
(rep &key reset-history line)
function

DO:         Reads a single expression from LINE if given, concatenated with *STANDARD-INPUT*,
            and evaluates and prints its results.

NOTE:       The caller must catch REPL to let the user call
            (com.informatimago.common-lisp.interactive.interactive:repl-exit)
            to exit the REPL.

(repl &key reset-history)
function

DO:         Implements a CL REPL.  The user may exit the REPL by
            calling:
            (com.informatimago.common-lisp.interactive.interactive:repl-exit).

NOTE:       Keeps a history of the expressions evaluated in
            *REPL-HISTORY*.  One may refer old expressions
            using the ! reader macro:

               !!   previous expression (same as + or !-1).
               !n   expressions number n.
               !-n  previous nth expression.

RESET-HISTORY:

            Whether the history is reset. If NIL, then the history is
            not reset and the user may refer to previous history
            expressions.

REPL-EXIT

REPL-HISTORY-ADD

REPL-HISTORY-READER-MACRO

REPL-HISTORY-REF

REPL-HISTORY-RESET

REPL-HISTORY-SIZE

(reset-cluser)
function
Reset the CL-USER package to a clean state.
(show &body expressions)
macro
DO:         Prints each expression and their values.
(uptime)
function
Prints the uptime of this Common Lisp instance.