The cl-gopher Reference Manual

Table of Contents

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

The cl-gopher Reference Manual

This is the cl-gopher Reference Manual, generated automatically by Declt version 3.0 "Montgomery Scott" on Wed Nov 04 12:16:11 2020 GMT+0.


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

1 Introduction

cl-gopher

cl-gopher is a Common Lisp library for interacting with the Gopher protocol.

It is suitable for building both clients and servers, and provides a sample client.

cl-gopher has been tested and confirmed to work with:

Installation

cl-gopher is now available through quicklisp!

CL-USER> (ql:quickload 'cl-gopher)

If you want to use the source from this repo, rather than that distributed with quicklisp:

Make sure that the source is somewhere that asdf or quicklisp can find it. If you're not using quicklisp, consult the .asd file for required dependencies.

If you are using quicklisp, all dependencies should be available through it, and so automatically resolved.

CL-USER> (ql:quickload 'cl-gopher)
To load "cl-gopher":
  Load 1 ASDF system:
    cl-gopher
; Loading "cl-gopher"
[package cl-gopher].....
(CL-GOPHER)

Basic Usage

Note: This documentation assumes you know a bit about the gopher protocol, and doesn't cover the protocol's basic workings.

Most of the functions and classes have documentation strings attached to them. For better descriptions of the functions in the library, see that documentation.

Gopher Lines

The main class this library deals with is the GOPHER-LINE. A GOPHER-LINE represents a gopher menu item, (analogous to a html link)

GOPHER-LINE has a number of subclasses, depending on the type of the gopher link.

Lines can be created directly with MAKE-INSTANCE, by parsing gopher URIs with PARSE-GOPHER-URI, by reading lines from a stream (e.g. to a server speaking the gopher protocol) with READ-GOPHER-LINE, or by converting from an alist with GOPHER-LINE-FROM-ALIST.

Once you have a line, you have the ability to:

There are several other minor util functions that accept a GOPHER-LINE as an argument.

Contents

The other major class family in the library is the SELECTOR-CONTENTS class and subclasses. Instances of these classes are returned from GET-LINE-CONTENTS, and represent the various kinds of content that Gopher URIs can link to. The classes currently are:

All that is provided by the for working with contents objects are the slot accessors, and a generic function, DISPLAY-CONTENTS, which displays a contents object in human-readable format.

Quick Examples:

To get the contents of a gopher URI, Try the following:

CL-USER> (cl-gopher:display-contents
          (cl-gopher:get-line-contents 
           (cl-gopher:parse-gopher-uri "gopher://sdf.org/")))

cl-gopher includes a simple text browser client to exemplify the use of the library. You can test it with:

CL-USER> (cl-gopher:text-browser)
    Welcome to the SDF Public Access UNIX System .. est. 1987

    Official Site of the Internet Gopher Club Underground Syndicate

    We offer FREE and inexpensive memberships for people interested
    in the UNIX system and internetworking.  Personal GOPHERSPACE
    is available to all users as well as hundreds of UNIX utilities,
    games and networking utilities.  We are a federally recognized
    non-profit 501(c)7 organization and we are supported entirely
    by donations and membership dues.  ssh://sdf.org

11     SUBMENU SDF PHLOGOSPHERE (226 phlogs)
12     SUBMENU SDF GOPHERSPACE (1119 ACTIVE users)
13     SUBMENU SDF GOPHERSPACE (1371 AGED users)
14     SUBMENU SDF GOPHERSPACE (373 ANCIENT users)
15     SUBMENU SDF Frequently Asked Questions (FAQ)
16     SUBMENU SDF Accredited University Courses
17     SUBMENU Software and Documentation for various computers
18     SEARCH-LINE GopherSpace SEARCH Engine
19     SUBMENU Floodgap's GOPHERSPACE
    ____________________________________________________________________________
                            Gophered by Gophernicus/97 on NetBSD/amd64 8.0_BETA
Select a line number, or "help".
>

Example showing how to get and display the contents of a gopher uri:

CL-USER> (cl-gopher:display-contents
           (cl-gopher:get-line-contents
             (cl-gopher:parse-gopher-uri "sdf.org")))
    Welcome to the SDF Public Access UNIX System .. est. 1987

    Official Site of the Internet Gopher Club Underground Syndicate

    We offer FREE and inexpensive memberships for people interested
    in the UNIX system and internetworking.  Personal GOPHERSPACE
    is available to all users as well as hundreds of UNIX utilities,
    games and networking utilities.  We are a federally recognized
    non-profit 501(c)7 organization and we are supported entirely
    by donations and membership dues.  ssh://sdf.org

11     SUBMENU SDF PHLOGOSPHERE (226 phlogs)
12     SUBMENU SDF GOPHERSPACE (1119 ACTIVE users)
13     SUBMENU SDF GOPHERSPACE (1371 AGED users)
14     SUBMENU SDF GOPHERSPACE (373 ANCIENT users)
15     SUBMENU SDF Frequently Asked Questions (FAQ)
16     SUBMENU SDF Accredited University Courses
17     SUBMENU Software and Documentation for various computers
18     SEARCH-LINE GopherSpace SEARCH Engine
19     SUBMENU Floodgap's GOPHERSPACE
    ____________________________________________________________________________
                            Gophered by Gophernicus/97 on NetBSD/amd64 8.0_BETA

A very basic example of how a server could use the library. Assume remote-sock is a socket connected to a client:

CL-USER> (let ((lines (list
                       (make-instance 'cl-gopher:text-file
                                      :hostname "myserver.org"
                                      :port 70
                                      :selector "/Welcome.txt"
                                      :display-string "Welcome to myserver.org!")
                       (make-instance 'cl-gopher:submenu
                                      :hostname "myserver.org"
                                      :port 70
                                      :selector "/Documents"
                                      :display-string "View myserver.org's documents."))))
           (mapcar (lambda (gl) (cl-gopher:write-gopher-line gl remote-sock)) lines))

Output sent to remote:

0Welcome to myserver.org!	/Welcome.txt	myserver.org	70
1View myserver.org's documents.	/Documents	myserver.org	70


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 cl-gopher

Author

Kyle Nusbaum

License

BSD 2-Clause

Description

Gopher protocol library

Dependencies
Source

cl-gopher.asd (file)

Components

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

3 Files

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


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

3.1 Lisp


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

3.1.1 cl-gopher.asd

Location

cl-gopher.asd

Systems

cl-gopher (system)


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

3.1.2 cl-gopher/cl-gopher-package.lisp

Parent

cl-gopher (system)

Location

cl-gopher-package.lisp

Packages

cl-gopher


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

3.1.3 cl-gopher/cl-gopher.lisp

Dependency

cl-gopher-package.lisp (file)

Parent

cl-gopher (system)

Location

cl-gopher.lisp

Exported Definitions
Internal Definitions

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

3.1.4 cl-gopher/client.lisp

Dependency

cl-gopher.lisp (file)

Parent

cl-gopher (system)

Location

client.lisp

Exported Definitions
Internal Definitions

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

4 Packages

Packages are listed by definition order.


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

4.1 cl-gopher

cl-gopher is a Common Lisp library for interacting with the Gopher protocol. It is suitable for building both clients and servers, and provides a sample client.
See (describe ’cl-gopher:text-browser) and
(describe ’cl-gopher:network-browser)

cl-gopher has been tested and confirmed to work with: SBCL 1.4.6
ClozureCL Version 1.11.5/v1.11.5
ECL 16.1.3

Most classes and functions have documentation associated with them, and can be shown with the DESCRIBE function.

For a brief overview, look at the readme distributed with the source, or available at https://github.com/knusbaum/cl-gopher/blob/master/README.md

Source

cl-gopher-package.lisp (file)

Use List
Exported Definitions
Internal Definitions

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

5 Definitions

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


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

5.1 Exported definitions


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

5.1.1 Functions

Function: convert-to-text-line GL

CONVERT-TO-TEXT-LINE takes a GOPHER-LINE and returns a copy of it that is of type TEXT-FILE.

This is only seldom useful, but can be used in case you want to treat a gopher resource as a text file rather than whatever kind of resource it actually is.

For example, this can be used to treat a gopher menu as a plain-text file, allowing you to see the lines as the protocol specifies.

Package

cl-gopher

Source

cl-gopher.lisp (file)

Function: display-lines LINES &key STREAM WITH-LINE-NUMS SHOW-TARGET

DISPLAY-LINES displays a list of GOPHER-LINE in a human- readable way on STREAM by calling DISPLAY-LINE.

WITH-LINE-NUMS - if not nil, pass a LINE-NUMBER argument to DISPLAY-LINE corresponding to the
line’s index in LINES.

SHOW-TARGET - if not nil, display the gopher URI that the line links to.

Package

cl-gopher

Source

cl-gopher.lisp (file)

Function: download-file DESTFILE GL

Download a file pointed to by the GOPHER-LINE gl. DESTFILE should be a pathname or string. If DESTFILE exists, it will be overwritten. This function just writes out whatever bytes are returned by the gopher server returns for the GOPHER-LINE.

Package

cl-gopher

Source

cl-gopher.lisp (file)

Function: gopher-line-from-alist GL

GOPHER-LINE-FROM-ALIST converts an alist to a GOPHER-LINE. This is primarily useful in conjunction with the function GOPHER-LINE-TO-ALIST, which converts a GOPHER-LINE to an alist.

Package

cl-gopher

Source

cl-gopher.lisp (file)

Function: gopher-lines-from-alist GLS

GOPHER-LINES-FROM-ALIST converts a list of alists to a list of GOPHER-LINES using the GOPHER-LINE-FROM-ALIST function.

Package

cl-gopher

Source

cl-gopher.lisp (file)

Function: gopher-lines-to-alist GLS

GOPHER-LINES-TO-ALIST converts a list of GOPHER-LINE to a list of alist using the GOPHER-LINE-TO-ALIST function.

Package

cl-gopher

Source

cl-gopher.lisp (file)

Function: line-type GL

LINE-TYPE returns a keyword describing the type of the GOPHER-LINE gl.

Package

cl-gopher

Source

cl-gopher.lisp (file)

Function: network-browser &optional PORT
Package

cl-gopher

Source

client.lisp (file)

Function: parse-gopher-uri URI &key DISPLAY-STRING

PARSE-GOPHER-URI takes a gopher uri as a string, and returns a GOPHER-LINE for it.

Package

cl-gopher

Source

cl-gopher.lisp (file)

Function: read-gopher-line IS

READ-GOPHER-LINE reads and returns a GOPHER-LINE from a stream that contains gopher lines in the format a gopher server should return upon request of a gopher menu, specified by RFC 1436 (https://tools.ietf.org/html/rfc1436)

Package

cl-gopher

Source

cl-gopher.lisp (file)

Function: text-browser &key INPUT-STREAM OUTPUT-STREAM ALLOW-DOWNLOADS
Package

cl-gopher

Source

client.lisp (file)

Function: uri-for-gopher-line GL

URI-FOR-GOPHER-LINE takes a GOPHER-LINE and returns a string containing a gopher uri representing the resource the line points to.

Package

cl-gopher

Source

cl-gopher.lisp (file)


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

5.1.2 Generic functions

Generic Function: content-array OBJECT
Generic Function: (setf content-array) NEW-VALUE OBJECT
Package

cl-gopher

Methods
Method: content-array (BINARY-FILE-CONTENTS binary-file-contents)

automatically generated reader method

Source

cl-gopher.lisp (file)

Method: (setf content-array) NEW-VALUE (BINARY-FILE-CONTENTS binary-file-contents)

automatically generated writer method

Source

cl-gopher.lisp (file)

Generic Function: content-string OBJECT
Generic Function: (setf content-string) NEW-VALUE OBJECT
Package

cl-gopher

Methods
Method: content-string (HTML-FILE-CONTENTS html-file-contents)

automatically generated reader method

Source

cl-gopher.lisp (file)

Method: (setf content-string) NEW-VALUE (HTML-FILE-CONTENTS html-file-contents)

automatically generated writer method

Source

cl-gopher.lisp (file)

Generic Function: copy-gopher-line GL

Returns a new GOPHER-LINE that is a copy of the GOPHER-LINE gl.

Package

cl-gopher

Source

cl-gopher.lisp (file)

Methods
Method: copy-gopher-line (GL search-line)
Method: copy-gopher-line (GL gopher-line)
Generic Function: display-contents CONTENTS &key STREAM

DISPLAY-CONTENTS will write out a contents object in a human-readable format to the stream STREAM.

Package

cl-gopher

Source

cl-gopher.lisp (file)

Methods
Method: display-contents (CONTENTS binary-file-contents) &key STREAM
Method: display-contents (CONTENTS html-file-contents) &key STREAM
Method: display-contents (CONTENTS text-file-contents) &key STREAM
Method: display-contents (CONTENTS submenu-contents) &key STREAM
Generic Function: display-line GL &key STREAM LINE-NUMBER SHOW-TARGET INCLUDE-NEWLINE

Display a GOPHER-LINE in a human-readable format. This is suitable for displaying lines from a menu in a text based client.

STREAM - the stream to write the line to. Defaults to *STANDARD-OUTPUT*

LINE-NUMBER - if specified, a number to display at the beginning of the line.

SHOW-TARGET - if not nil, display the gopher URI that the line links to.

INCLUDE-NEWLINE - if not nil, include a newline at the end of the line.

Package

cl-gopher

Source

cl-gopher.lisp (file)

Methods
Method: display-line (GL info-message) &key STREAM LINE-NUMBER SHOW-TARGET INCLUDE-NEWLINE
Method: display-line (GL gopher-line) &key STREAM LINE-NUMBER SHOW-TARGET INCLUDE-NEWLINE
Generic Function: display-string OBJECT
Generic Function: (setf display-string) NEW-VALUE OBJECT
Package

cl-gopher

Methods
Method: display-string (GOPHER-LINE gopher-line)

automatically generated reader method

Source

cl-gopher.lisp (file)

Method: (setf display-string) NEW-VALUE (GOPHER-LINE gopher-line)

automatically generated writer method

Source

cl-gopher.lisp (file)

Generic Function: file-name OBJECT
Generic Function: (setf file-name) NEW-VALUE OBJECT
Package

cl-gopher

Methods
Method: file-name (BINARY-FILE-CONTENTS binary-file-contents)

automatically generated reader method

Source

cl-gopher.lisp (file)

Method: (setf file-name) NEW-VALUE (BINARY-FILE-CONTENTS binary-file-contents)

automatically generated writer method

Source

cl-gopher.lisp (file)

Generic Function: get-line-contents GL

GET-LINE-CONTENTS takes a GOPHER-LINE and returns an object of type SELECTOR-CONTENTS (or one of its subclasses) It does this by contacting the target server and requesting the resource represented by the GOPHER-LINE.

Package

cl-gopher

Source

cl-gopher.lisp (file)

Methods
Method: get-line-contents (GL html-file)
Method: get-line-contents (GL text-file)
Method: get-line-contents (GL search-line)
Method: get-line-contents (GL submenu)
Method: get-line-contents (GL gopher-line)
Generic Function: gopher-line-to-alist GL

GOPHER-LINE-TO-ALIST converts a GOPHER-LINE object to an alist. These alists are suitable to be read/written by the lisp reader and writer. This can be useful in conjunction with GOPHER-LINE-FROM-ALIST, which performs the reverse operation.

Package

cl-gopher

Source

cl-gopher.lisp (file)

Methods
Method: gopher-line-to-alist (GL gopher-line)
Generic Function: hostname OBJECT
Generic Function: (setf hostname) NEW-VALUE OBJECT
Package

cl-gopher

Methods
Method: hostname (GOPHER-LINE gopher-line)

automatically generated reader method

Source

cl-gopher.lisp (file)

Method: (setf hostname) NEW-VALUE (GOPHER-LINE gopher-line)

automatically generated writer method

Source

cl-gopher.lisp (file)

Generic Function: lines OBJECT
Generic Function: (setf lines) NEW-VALUE OBJECT
Package

cl-gopher

Methods
Method: lines (TEXT-FILE-CONTENTS text-file-contents)

automatically generated reader method

Source

cl-gopher.lisp (file)

Method: (setf lines) NEW-VALUE (TEXT-FILE-CONTENTS text-file-contents)

automatically generated writer method

Source

cl-gopher.lisp (file)

Method: lines (SUBMENU-CONTENTS submenu-contents)

automatically generated reader method

Source

cl-gopher.lisp (file)

Method: (setf lines) NEW-VALUE (SUBMENU-CONTENTS submenu-contents)

automatically generated writer method

Source

cl-gopher.lisp (file)

Generic Function: port OBJECT
Generic Function: (setf port) NEW-VALUE OBJECT
Package

cl-gopher

Methods
Method: port (GOPHER-LINE gopher-line)

automatically generated reader method

Source

cl-gopher.lisp (file)

Method: (setf port) NEW-VALUE (GOPHER-LINE gopher-line)

automatically generated writer method

Source

cl-gopher.lisp (file)

Generic Function: selector OBJECT
Generic Function: (setf selector) NEW-VALUE OBJECT
Package

cl-gopher

Methods
Method: selector (GOPHER-LINE gopher-line)

automatically generated reader method

Source

cl-gopher.lisp (file)

Method: (setf selector) NEW-VALUE (GOPHER-LINE gopher-line)

automatically generated writer method

Source

cl-gopher.lisp (file)

Generic Function: terms OBJECT
Generic Function: (setf terms) NEW-VALUE OBJECT
Package

cl-gopher

Methods
Method: terms (SEARCH-LINE search-line)

automatically generated reader method

Source

cl-gopher.lisp (file)

Method: (setf terms) NEW-VALUE (SEARCH-LINE search-line)

automatically generated writer method

Source

cl-gopher.lisp (file)

Generic Function: write-gopher-line GL &key STREAM

Write out a gopher line to a stream, such that a gopher client reading the stream on the other end will be able to read the line, according to RFC 1436 (https://tools.ietf.org/html/rfc1436)

Package

cl-gopher

Source

cl-gopher.lisp (file)

Methods
Method: write-gopher-line (GL info-message) &key STREAM
Method: write-gopher-line (GL gopher-line) &key STREAM

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

5.1.3 Conditions

Condition: bad-submenu-error ()
Package

cl-gopher

Source

cl-gopher.lisp (file)

Direct superclasses

error (condition)

Condition: bad-uri-error ()
Package

cl-gopher

Source

cl-gopher.lisp (file)

Direct superclasses

error (condition)

Direct methods
  • print-object (method)
  • uri (method)
Direct slots
Slot: uri
Initargs

:uri

Readers

uri (generic function)


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

5.1.4 Classes

Class: binary-file ()
Package

cl-gopher

Source

cl-gopher.lisp (file)

Direct superclasses

gopher-line (class)

Direct methods

type-character (method)

Class: binary-file-contents ()

A BINARY-FILE-CONTENTS object contains the bytes from various GOPHER-LINE subclasses, such as BINARY-FILE, IMAGE, GIF, PNG, SOUND-FILE, etc.

The FILE-NAME slot is just a convenience for the user, in case they wish to write the contents to a file locally, with a similar name to that suggested by the GOPHER-LINE selector.

The CONTENT-ARRAY is a vector of (UNSIGNED-BYTE 8) which contains all the bytes from the file.

Package

cl-gopher

Source

cl-gopher.lisp (file)

Direct superclasses

selector-contents (class)

Direct methods
Direct slots
Slot: file-name
Initargs

:file-name

Readers

file-name (generic function)

Writers

(setf file-name) (generic function)

Slot: content-array
Initargs

:content-array

Readers

content-array (generic function)

Writers

(setf content-array) (generic function)

Class: binhex-file ()
Package

cl-gopher

Source

cl-gopher.lisp (file)

Direct superclasses

gopher-line (class)

Direct methods

type-character (method)

Class: ccso-nameserver ()
Package

cl-gopher

Source

cl-gopher.lisp (file)

Direct superclasses

gopher-line (class)

Direct methods

type-character (method)

Class: dos-file ()
Package

cl-gopher

Source

cl-gopher.lisp (file)

Direct superclasses

gopher-line (class)

Direct methods

type-character (method)

Class: error-code ()
Package

cl-gopher

Source

cl-gopher.lisp (file)

Direct superclasses

gopher-line (class)

Direct methods

type-character (method)

Class: gif ()
Package

cl-gopher

Source

cl-gopher.lisp (file)

Direct superclasses

gopher-line (class)

Direct methods

type-character (method)

Class: gopher-line ()

A GOPHER-LINE represents a gopher menu item, (analogous to an html link).

See the subclasses of GOPHER-LINE, which represent the various kinds of menu items supported by this library.

Package

cl-gopher

Source

cl-gopher.lisp (file)

Direct superclasses

standard-object (class)

Direct subclasses
Direct methods
Direct slots
Slot: display-string
Initargs

:display-string

Readers

display-string (generic function)

Writers

(setf display-string) (generic function)

Slot: selector
Initargs

:selector

Readers

selector (generic function)

Writers

(setf selector) (generic function)

Slot: hostname
Initargs

:hostname

Readers

hostname (generic function)

Writers

(setf hostname) (generic function)

Slot: port
Initargs

:port

Readers

port (generic function)

Writers

(setf port) (generic function)

Class: html-file ()
Package

cl-gopher

Source

cl-gopher.lisp (file)

Direct superclasses

gopher-line (class)

Direct methods
Class: html-file-contents ()

An HTML-FILE-CONTENTS object contains the raw html text pointed to by an HTML-FILE object (a type of GOPHER-LINE). You may or may not find this useful, since often when dealing with HTTP links through gopher, it is more useful to deal with the URL, which is available through the HTML-FILE object.

Package

cl-gopher

Source

cl-gopher.lisp (file)

Direct superclasses

selector-contents (class)

Direct methods
Direct slots
Slot: content-string
Initargs

:content-string

Readers

content-string (generic function)

Writers

(setf content-string) (generic function)

Class: image ()
Package

cl-gopher

Source

cl-gopher.lisp (file)

Direct superclasses

gopher-line (class)

Direct methods

type-character (method)

Class: info-message ()
Package

cl-gopher

Source

cl-gopher.lisp (file)

Direct superclasses

gopher-line (class)

Direct methods
Class: mirror ()
Package

cl-gopher

Source

cl-gopher.lisp (file)

Direct superclasses

gopher-line (class)

Direct methods

type-character (method)

Class: png ()
Package

cl-gopher

Source

cl-gopher.lisp (file)

Direct superclasses

gopher-line (class)

Direct methods

type-character (method)

Class: search-line ()
Package

cl-gopher

Source

cl-gopher.lisp (file)

Direct superclasses

gopher-line (class)

Direct methods
Direct slots
Slot: terms
Initargs

:terms

Initform

""

Readers

terms (generic function)

Writers

(setf terms) (generic function)

Class: selector-contents ()

A SELECTOR-CONTENTS object contains the contents pointed to by a GOPHER-LINE object. This class is never directly used, but instead, one of its subclasses is returned when calling GET-LINE-CONTENTS.

Package

cl-gopher

Source

cl-gopher.lisp (file)

Direct superclasses

standard-object (class)

Direct subclasses
Direct methods

handle-contents (method)

Class: sound-file ()
Package

cl-gopher

Source

cl-gopher.lisp (file)

Direct superclasses

gopher-line (class)

Direct methods

type-character (method)

Class: submenu ()
Package

cl-gopher

Source

cl-gopher.lisp (file)

Direct superclasses

gopher-line (class)

Direct methods
Class: submenu-contents ()

A SUBMENU-CONTENTS object contains a gopher submenu. The single slot, LINES, is a list of GOPHER-LINE objects representing all of the menu items in the submenu.

Package

cl-gopher

Source

cl-gopher.lisp (file)

Direct superclasses

selector-contents (class)

Direct methods
Direct slots
Slot: lines
Initargs

:lines

Readers

lines (generic function)

Writers

(setf lines) (generic function)

Class: telnet ()
Package

cl-gopher

Source

cl-gopher.lisp (file)

Direct superclasses

gopher-line (class)

Direct methods

type-character (method)

Class: telnet-3270 ()
Package

cl-gopher

Source

cl-gopher.lisp (file)

Direct superclasses

gopher-line (class)

Direct methods

type-character (method)

Class: text-file ()
Package

cl-gopher

Source

cl-gopher.lisp (file)

Direct superclasses

gopher-line (class)

Direct methods
Class: text-file-contents ()

A TEXT-FILE-CONTENTS object contains a text file. The single slot, LINES, is a list of string, each element of which is a single line of text from the text file.

Package

cl-gopher

Source

cl-gopher.lisp (file)

Direct superclasses

selector-contents (class)

Direct methods
Direct slots
Slot: lines
Initargs

:lines

Readers

lines (generic function)

Writers

(setf lines) (generic function)

Class: unknown ()
Package

cl-gopher

Source

cl-gopher.lisp (file)

Direct superclasses

gopher-line (class)

Class: uuencoded-file ()
Package

cl-gopher

Source

cl-gopher.lisp (file)

Direct superclasses

gopher-line (class)

Direct methods

type-character (method)


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

5.2 Internal definitions


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

5.2.1 Special variables

Special Variable: *allow-downloads*
Package

cl-gopher

Source

client.lisp (file)


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

5.2.2 Macros

Macro: with-gopher-socket-for-selector (STREAM HOST PORT SELECTOR) &rest BODY
Package

cl-gopher

Source

cl-gopher.lisp (file)


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

5.2.3 Functions

Function: class-for-type TYPE
Package

cl-gopher

Source

cl-gopher.lisp (file)

Function: compute-item-type URI PATH
Package

cl-gopher

Source

cl-gopher.lisp (file)

Function: compute-selector URI PATH
Package

cl-gopher

Source

cl-gopher.lisp (file)

Function: get-client-response STREAM
Package

cl-gopher

Source

client.lisp (file)

Function: make-unknown LINE-ELEMS
Package

cl-gopher

Source

cl-gopher.lisp (file)

Function: pause-line INPUT-STREAM &key PROMPT-STREAM
Package

cl-gopher

Source

client.lisp (file)

Function: retreive-submenu-contents HOSTNAME PORT SELECTOR
Package

cl-gopher

Source

cl-gopher.lisp (file)

Function: type-for-character C
Package

cl-gopher

Source

cl-gopher.lisp (file)

Function: write-help INPUT-STREAM OUTPUT-STREAM
Package

cl-gopher

Source

client.lisp (file)


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

5.2.4 Generic functions

Generic Function: handle-contents CONTENTS &key INPUT-STREAM OUTPUT-STREAM
Package

cl-gopher

Source

client.lisp (file)

Methods
Method: handle-contents (CONTENTS binary-file-contents) &key INPUT-STREAM OUTPUT-STREAM
Method: handle-contents (CONTENTS selector-contents) &key INPUT-STREAM OUTPUT-STREAM
Method: handle-contents (CONTENTS submenu-contents) &key INPUT-STREAM OUTPUT-STREAM
Generic Function: handle-line-selection LINE &key INPUT-STREAM OUTPUT-STREAM
Package

cl-gopher

Source

client.lisp (file)

Methods
Method: handle-line-selection (LINE search-line) &key INPUT-STREAM OUTPUT-STREAM
Method: handle-line-selection (LINE gopher-line) &key INPUT-STREAM OUTPUT-STREAM
Generic Function: type-character GL
Package

cl-gopher

Source

cl-gopher.lisp (file)

Methods
Method: type-character (GL gopher-line)
Method: type-character (GL sound-file)
Method: type-character (GL info-message)
Method: type-character (GL html-file)
Method: type-character (GL telnet-3270)
Method: type-character (GL png)
Method: type-character (GL image)
Method: type-character (GL gif)
Method: type-character (GL mirror)
Method: type-character (GL binary-file)
Method: type-character (GL telnet)
Method: type-character (GL search-line)
Method: type-character (GL uuencoded-file)
Method: type-character (GL dos-file)
Method: type-character (GL binhex-file)
Method: type-character (GL error-code)
Method: type-character (GL ccso-nameserver)
Method: type-character (GL submenu)
Method: type-character (GL text-file)
Generic Function: uri CONDITION
Package

cl-gopher

Methods
Method: uri (CONDITION bad-uri-error)
Source

cl-gopher.lisp (file)


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

5.2.5 Conditions

Condition: hangup-error ()
Package

cl-gopher

Source

client.lisp (file)

Direct superclasses

error (condition)

Condition: quit-condition ()
Package

cl-gopher

Source

client.lisp (file)

Direct superclasses

condition (condition)


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

Appendix A Indexes


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

A.1 Concepts

Jump to:   C   F   L  
Index Entry  Section

C
cl-gopher.asd: The cl-gopher․asd file
cl-gopher/cl-gopher-package.lisp: The cl-gopher/cl-gopher-package․lisp file
cl-gopher/cl-gopher.lisp: The cl-gopher/cl-gopher․lisp file
cl-gopher/client.lisp: The cl-gopher/client․lisp file

F
File, Lisp, cl-gopher.asd: The cl-gopher․asd file
File, Lisp, cl-gopher/cl-gopher-package.lisp: The cl-gopher/cl-gopher-package․lisp file
File, Lisp, cl-gopher/cl-gopher.lisp: The cl-gopher/cl-gopher․lisp file
File, Lisp, cl-gopher/client.lisp: The cl-gopher/client․lisp file

L
Lisp File, cl-gopher.asd: The cl-gopher․asd file
Lisp File, cl-gopher/cl-gopher-package.lisp: The cl-gopher/cl-gopher-package․lisp file
Lisp File, cl-gopher/cl-gopher.lisp: The cl-gopher/cl-gopher․lisp file
Lisp File, cl-gopher/client.lisp: The cl-gopher/client․lisp file

Jump to:   C   F   L  

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

A.2 Functions

Jump to:   (  
C   D   F   G   H   L   M   N   P   R   S   T   U   W  
Index Entry  Section

(
(setf content-array): Exported generic functions
(setf content-array): Exported generic functions
(setf content-string): Exported generic functions
(setf content-string): Exported generic functions
(setf display-string): Exported generic functions
(setf display-string): Exported generic functions
(setf file-name): Exported generic functions
(setf file-name): Exported generic functions
(setf hostname): Exported generic functions
(setf hostname): Exported generic functions
(setf lines): Exported generic functions
(setf lines): Exported generic functions
(setf lines): Exported generic functions
(setf port): Exported generic functions
(setf port): Exported generic functions
(setf selector): Exported generic functions
(setf selector): Exported generic functions
(setf terms): Exported generic functions
(setf terms): Exported generic functions

C
class-for-type: Internal functions
compute-item-type: Internal functions
compute-selector: Internal functions
content-array: Exported generic functions
content-array: Exported generic functions
content-string: Exported generic functions
content-string: Exported generic functions
convert-to-text-line: Exported functions
copy-gopher-line: Exported generic functions
copy-gopher-line: Exported generic functions
copy-gopher-line: Exported generic functions

D
display-contents: Exported generic functions
display-contents: Exported generic functions
display-contents: Exported generic functions
display-contents: Exported generic functions
display-contents: Exported generic functions
display-line: Exported generic functions
display-line: Exported generic functions
display-line: Exported generic functions
display-lines: Exported functions
display-string: Exported generic functions
display-string: Exported generic functions
download-file: Exported functions

F
file-name: Exported generic functions
file-name: Exported generic functions
Function, class-for-type: Internal functions
Function, compute-item-type: Internal functions
Function, compute-selector: Internal functions
Function, convert-to-text-line: Exported functions
Function, display-lines: Exported functions
Function, download-file: Exported functions
Function, get-client-response: Internal functions
Function, gopher-line-from-alist: Exported functions
Function, gopher-lines-from-alist: Exported functions
Function, gopher-lines-to-alist: Exported functions
Function, line-type: Exported functions
Function, make-unknown: Internal functions
Function, network-browser: Exported functions
Function, parse-gopher-uri: Exported functions
Function, pause-line: Internal functions
Function, read-gopher-line: Exported functions
Function, retreive-submenu-contents: Internal functions
Function, text-browser: Exported functions
Function, type-for-character: Internal functions
Function, uri-for-gopher-line: Exported functions
Function, write-help: Internal functions

G
Generic Function, (setf content-array): Exported generic functions
Generic Function, (setf content-string): Exported generic functions
Generic Function, (setf display-string): Exported generic functions
Generic Function, (setf file-name): Exported generic functions
Generic Function, (setf hostname): Exported generic functions
Generic Function, (setf lines): Exported generic functions
Generic Function, (setf port): Exported generic functions
Generic Function, (setf selector): Exported generic functions
Generic Function, (setf terms): Exported generic functions
Generic Function, content-array: Exported generic functions
Generic Function, content-string: Exported generic functions
Generic Function, copy-gopher-line: Exported generic functions
Generic Function, display-contents: Exported generic functions
Generic Function, display-line: Exported generic functions
Generic Function, display-string: Exported generic functions
Generic Function, file-name: Exported generic functions
Generic Function, get-line-contents: Exported generic functions
Generic Function, gopher-line-to-alist: Exported generic functions
Generic Function, handle-contents: Internal generic functions
Generic Function, handle-line-selection: Internal generic functions
Generic Function, hostname: Exported generic functions
Generic Function, lines: Exported generic functions
Generic Function, port: Exported generic functions
Generic Function, selector: Exported generic functions
Generic Function, terms: Exported generic functions
Generic Function, type-character: Internal generic functions
Generic Function, uri: Internal generic functions
Generic Function, write-gopher-line: Exported generic functions
get-client-response: Internal functions
get-line-contents: Exported generic functions
get-line-contents: Exported generic functions
get-line-contents: Exported generic functions
get-line-contents: Exported generic functions
get-line-contents: Exported generic functions
get-line-contents: Exported generic functions
gopher-line-from-alist: Exported functions
gopher-line-to-alist: Exported generic functions
gopher-line-to-alist: Exported generic functions
gopher-lines-from-alist: Exported functions
gopher-lines-to-alist: Exported functions

H
handle-contents: Internal generic functions
handle-contents: Internal generic functions
handle-contents: Internal generic functions
handle-contents: Internal generic functions
handle-line-selection: Internal generic functions
handle-line-selection: Internal generic functions
handle-line-selection: Internal generic functions
hostname: Exported generic functions
hostname: Exported generic functions

L
line-type: Exported functions
lines: Exported generic functions
lines: Exported generic functions
lines: Exported generic functions

M
Macro, with-gopher-socket-for-selector: Internal macros
make-unknown: Internal functions
Method, (setf content-array): Exported generic functions
Method, (setf content-string): Exported generic functions
Method, (setf display-string): Exported generic functions
Method, (setf file-name): Exported generic functions
Method, (setf hostname): Exported generic functions
Method, (setf lines): Exported generic functions
Method, (setf lines): Exported generic functions
Method, (setf port): Exported generic functions
Method, (setf selector): Exported generic functions
Method, (setf terms): Exported generic functions
Method, content-array: Exported generic functions
Method, content-string: Exported generic functions
Method, copy-gopher-line: Exported generic functions
Method, copy-gopher-line: Exported generic functions
Method, display-contents: Exported generic functions
Method, display-contents: Exported generic functions
Method, display-contents: Exported generic functions
Method, display-contents: Exported generic functions
Method, display-line: Exported generic functions
Method, display-line: Exported generic functions
Method, display-string: Exported generic functions
Method, file-name: Exported generic functions
Method, get-line-contents: Exported generic functions
Method, get-line-contents: Exported generic functions
Method, get-line-contents: Exported generic functions
Method, get-line-contents: Exported generic functions
Method, get-line-contents: Exported generic functions
Method, gopher-line-to-alist: Exported generic functions
Method, handle-contents: Internal generic functions
Method, handle-contents: Internal generic functions
Method, handle-contents: Internal generic functions
Method, handle-line-selection: Internal generic functions
Method, handle-line-selection: Internal generic functions
Method, hostname: Exported generic functions
Method, lines: Exported generic functions
Method, lines: Exported generic functions
Method, port: Exported generic functions
Method, selector: Exported generic functions
Method, terms: Exported generic functions
Method, type-character: Internal generic functions
Method, type-character: Internal generic functions
Method, type-character: Internal generic functions
Method, type-character: Internal generic functions
Method, type-character: Internal generic functions
Method, type-character: Internal generic functions
Method, type-character: Internal generic functions
Method, type-character: Internal generic functions
Method, type-character: Internal generic functions
Method, type-character: Internal generic functions
Method, type-character: Internal generic functions
Method, type-character: Internal generic functions
Method, type-character: Internal generic functions
Method, type-character: Internal generic functions
Method, type-character: Internal generic functions
Method, type-character: Internal generic functions
Method, type-character: Internal generic functions
Method, type-character: Internal generic functions
Method, type-character: Internal generic functions
Method, uri: Internal generic functions
Method, write-gopher-line: Exported generic functions
Method, write-gopher-line: Exported generic functions

N
network-browser: Exported functions

P
parse-gopher-uri: Exported functions
pause-line: Internal functions
port: Exported generic functions
port: Exported generic functions

R
read-gopher-line: Exported functions
retreive-submenu-contents: Internal functions

S
selector: Exported generic functions
selector: Exported generic functions

T
terms: Exported generic functions
terms: Exported generic functions
text-browser: Exported functions
type-character: Internal generic functions
type-character: Internal generic functions
type-character: Internal generic functions
type-character: Internal generic functions
type-character: Internal generic functions
type-character: Internal generic functions
type-character: Internal generic functions
type-character: Internal generic functions
type-character: Internal generic functions
type-character: Internal generic functions
type-character: Internal generic functions
type-character: Internal generic functions
type-character: Internal generic functions
type-character: Internal generic functions
type-character: Internal generic functions
type-character: Internal generic functions
type-character: Internal generic functions
type-character: Internal generic functions
type-character: Internal generic functions
type-character: Internal generic functions
type-for-character: Internal functions

U
uri: Internal generic functions
uri: Internal generic functions
uri-for-gopher-line: Exported functions

W
with-gopher-socket-for-selector: Internal macros
write-gopher-line: Exported generic functions
write-gopher-line: Exported generic functions
write-gopher-line: Exported generic functions
write-help: Internal functions

Jump to:   (  
C   D   F   G   H   L   M   N   P   R   S   T   U   W  

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

A.3 Variables

Jump to:   *  
C   D   F   H   L   P   S   T   U  
Index Entry  Section

*
*allow-downloads*: Internal special variables

C
content-array: Exported classes
content-string: Exported classes

D
display-string: Exported classes

F
file-name: Exported classes

H
hostname: Exported classes

L
lines: Exported classes
lines: Exported classes

P
port: Exported classes

S
selector: Exported classes
Slot, content-array: Exported classes
Slot, content-string: Exported classes
Slot, display-string: Exported classes
Slot, file-name: Exported classes
Slot, hostname: Exported classes
Slot, lines: Exported classes
Slot, lines: Exported classes
Slot, port: Exported classes
Slot, selector: Exported classes
Slot, terms: Exported classes
Slot, uri: Exported conditions
Special Variable, *allow-downloads*: Internal special variables

T
terms: Exported classes

U
uri: Exported conditions

Jump to:   *  
C   D   F   H   L   P   S   T   U  

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

A.4 Data types

Jump to:   B   C   D   E   G   H   I   M   P   Q   S   T   U  
Index Entry  Section

B
bad-submenu-error: Exported conditions
bad-uri-error: Exported conditions
binary-file: Exported classes
binary-file-contents: Exported classes
binhex-file: Exported classes

C
ccso-nameserver: Exported classes
cl-gopher: The cl-gopher system
cl-gopher: The cl-gopher package
Class, binary-file: Exported classes
Class, binary-file-contents: Exported classes
Class, binhex-file: Exported classes
Class, ccso-nameserver: Exported classes
Class, dos-file: Exported classes
Class, error-code: Exported classes
Class, gif: Exported classes
Class, gopher-line: Exported classes
Class, html-file: Exported classes
Class, html-file-contents: Exported classes
Class, image: Exported classes
Class, info-message: Exported classes
Class, mirror: Exported classes
Class, png: Exported classes
Class, search-line: Exported classes
Class, selector-contents: Exported classes
Class, sound-file: Exported classes
Class, submenu: Exported classes
Class, submenu-contents: Exported classes
Class, telnet: Exported classes
Class, telnet-3270: Exported classes
Class, text-file: Exported classes
Class, text-file-contents: Exported classes
Class, unknown: Exported classes
Class, uuencoded-file: Exported classes
Condition, bad-submenu-error: Exported conditions
Condition, bad-uri-error: Exported conditions
Condition, hangup-error: Internal conditions
Condition, quit-condition: Internal conditions

D
dos-file: Exported classes

E
error-code: Exported classes

G
gif: Exported classes
gopher-line: Exported classes

H
hangup-error: Internal conditions
html-file: Exported classes
html-file-contents: Exported classes

I
image: Exported classes
info-message: Exported classes

M
mirror: Exported classes

P
Package, cl-gopher: The cl-gopher package
png: Exported classes

Q
quit-condition: Internal conditions

S
search-line: Exported classes
selector-contents: Exported classes
sound-file: Exported classes
submenu: Exported classes
submenu-contents: Exported classes
System, cl-gopher: The cl-gopher system

T
telnet: Exported classes
telnet-3270: Exported classes
text-file: Exported classes
text-file-contents: Exported classes

U
unknown: Exported classes
uuencoded-file: Exported classes

Jump to:   B   C   D   E   G   H   I   M   P   Q   S   T   U