The cl-emb Reference Manual

Table of Contents

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

The cl-emb Reference Manual

This is the cl-emb Reference Manual, version 0.4.3, generated automatically by Declt version 2.4 "Will Decker" on Wed Jun 20 11:04:17 2018 GMT+0.


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

1 Introduction

cl-emb: Embedded Common Lisp

A mixture of features from eRuby and HTML::Template. You could name it "Yet Another LSP" (LispServer Pages) but it's a bit more than that and not limited to a certain server or text format.

This is a mirror of http://mtn-host.prjek.net/projects/cl-emb

The primary development repository is in Monotone, this repository will receive just the automated snapshots.

License

LLGPL

Installing

(ql:quickload :cl-emb)

CL-EMB can also be installed manually with ASDF-INSTALL.

Usage

[generic function] EXECUTE-EMB name &key env generator-maker => string

NAME can be a registered (with REGISTER-EMB) emb code or a pathname (type PATHNAME) of a file containing the code. Returns a string. Keyword parameter ENV to pass objects to the code. ENV must be a plist. ENV can be accessed within your emb code. The GENERATOR-MAKER is a function which gets called with a key and value from the given ENV and should return a generator function like described here.

[generic function] REGISTER-EMB name code => emb-function

Internally registeres given CODE with NAME to be called with EXECUTE-EMB. CODE can be a string or a pathname (type PATHNAME) of a file containing the code.

[function] PPRINT-EMB-FUNCTION name

DEBUG function. Pretty prints function form, if *DEBUG* was T when the function was registered.

[function] CLEAR-EMB name

Remove named emb code.

[function] CLEAR-EMB-ALL

Remove all registered emb code.

[function] CLEAR-EMB-ALL-FILES

Remove all registered file emb code (registered/executed by a pathname).

[special variable] *EMB-START-MARKER* (default "<%")

Start of scriptlet or expression. Remember that a following #\= indicates an expression.

[special variable] *EMB-END-MARKER* (default "%>")

End of scriptlet or expression.

[special variable] *ESCAPE-TYPE*

Default value for escaping @var output is :RAW Can be changed to :XML, :HTML, :URI, :URL, :URL-ENCODE, :LATEX.

[special variable] *FUNCTION-PACKAGE*

Package the emb function body gets interned to.

Default: (find-package :cl-emb-intern).

[special variable] *DEBUG*

Debugging mode if T. Default: NIL.

[special variable] *LOCKING-FUNCTION*

Function to call to lock access to an internal hash table. Must accept a function designator which must be called with the lock hold.

IMPORTANT: The locking function must return the value of the function it calls!

Example:

(defvar *emb-lock* (kmrcl::make-lock "emb-lock")
  "Lock for CL-EMB.")

(defun emb-lock-function (func)
  "Lock function for CL-EMB."
  (kmrcl::with-lock-held (*emb-lock*)
  (funcall func)))

(setf emb:*locking-function* 'emb-lock-function)

Files get cached and reread when they change.

The emb code consists of normal text (HTML, XML, or any other text format) and special tags you know from eRuby or JSP (JavaServer Pages) which can hold Common Lisp or CL-EMB's template tags, perhaps comparable to JSP's taglib.

Examples

CL-USER> (asdf:oos 'asdf:load-op :cl-emb)
CL-USER> (cl-emb:register-emb "test1"
                              "10 stars: <% (dotimes (i 10) %>*<% ) %>")
#<CL-EMB::EMB-FUNCTION {9B74259}>
CL-USER> (cl-emb:execute-emb "test1")
"10 stars: **********"

CL-USER> (cl-emb:register-emb "test2" "2 + 2 = <%= (+ 2 2) %>")
#<CL-EMB::EMB-FUNCTION {9BCACE1}>
CL-USER> (cl-emb:execute-emb "test2")
"2 + 2 = 4"

CL-USER> (let ((emb:*emb-start-marker* "<?emb")
               (emb:*emb-end-marker* "?>"))
           (emb:register-emb "marker-test"
                             "42 + 42 = <?emb= (+ 42 42) ?>"))
#<CL-EMB::EMB-FUNCTION {97BEFD9}>
CL-USER> (emb:execute-emb "marker-test")
"42 + 42 = 84"

Template Tags

You can use special template tags instead of Common Lisp code between <% and %>. This will be translated to Common Lisp and serves as a simple shortcut for you.

And more important: It's easier to use for non-programmers. A designer can work on HTML code and insert these simple template tags.

Template tags start with @.

Currently supported: @if, @else, @endif, @ifnotempty, @unless, @endunless, @var, @repeat, @endrepeat, @loop, @endloop, @include, @includevar, @call, @with, @endwith, @set, @genloop, @endgenloop, @insert.

@if and @unless check if the given parameter is set in the supplied environment (parameter ENV of EXECUTE-EMB). The environment is a plist with keyword + value pairs. Must be terminated with @endif or @endunless.

@ifnotempty works like @if but considers the empty string false.

@ifequal accepts two parameters interpreted as variable names. It works like @if but checks whether the values of two variables are equal. Variable names are intepreted as in @var.

Note that @ifnotempty and @ifequal are supposed to be used together with @else and @endif.

@var emits the corresponding value from the environment. Uses the escape type defined in *ESCAPE-TYPE* (Default :raw, no escaping) or with -escape modifier. E.g. <% @var foo -escape xml %> or without modifier <% @var foo %> Supported escaping: raw, xml (aka html), uri (aka url or url-encode), latex.

@insert inserts a given (text) file. Parameter from the environment. E.g. <% @insert textfile %>.

@repeat repeats everything between it and @endrepeat the given times. Parameter can be a number or a name. The name will be used to lookup the corresponding value from the environment.

@loop loops over a named list in the environment. Environment gets set to current plist inside this list. Must be terminated with @endloop.

@include includes a given file. Relative to current template. @includevar does the same, but the parameter is treated like a variable name containing the path to the file. Variable name is treated like in @var.

@call calls a given emb-function, which was registered with REGISTER-EMB.

@with is similar to @loop as it sets the current environment to the named plist. @loop needs a list of plists and @with just a plist associated to the given name. Block ends in @endwith.

@set is used to set special variables like *ESCAPE-TYPE* from within a emb code. This way a default for a file can be specified in the file itself. The variables are changed for the current and called/included code. Changes to the variables in called/included code don't effect the caller/ includer. E.g. <% @set escape=uri %>. Currently supported: escape (raw, xml, html, url, uri, url-encode, latex).

@genloop starts a special kind of loop: a generator loop. It must be terminated by @endgenloop and operates on a generator returned by the given GENERATOR-MAKER (see EXECUTE-EMB). The GENERATOR-MAKER gets called with two parameters: the key (which is the argument to @genloop) and the corresponding value in the plist. Each time in the loop the generator is called first with the parameter :TEST to see if there's data left. The generator must return a plist on :NEXT, which will be the current ENV (like @with or within a normal @loop).

The parameters which access the environment can just be the name of a keyword symbol in the plist. foo -> :FOO in (:FOO "bar") Or you can provide a path within a nested plist structure by dividing the parts of the path with a slash. foo/bar -> Value of :BAR inside the plist at :FOO. (:FOO (:BAR "yeah")) -> "yeah" Starting the parameter with a slash lets it traverse the nested plists from the top. That way you can access top values inside loops.

Writing <% @var foo/bar/quux %> can be translated to (GETF (GETF (GETF ENV :FOO) :BAR) :QUUX).

Examples

CL-USER> (cl-emb:register-emb "test1"
                              "Foo: <% @if foo %>Yes!<% @else %>No!<% @endif %>")
#<CL-EMB::EMB-FUNCTION {9C0F2D1}>
CL-USER> (cl-emb:execute-emb "test1" :env '(:foo t))
"Foo: Yes!"
CL-USER> (cl-emb:execute-emb "test1")
"Foo: No!"
CL-USER> (cl-emb:execute-emb "test1" :env '(:foo nil))
"Foo: No!"

CL-USER> (cl-emb:register-emb "test2"
                              "What is set? -> <% @call test1 %>")
#<CL-EMB::EMB-FUNCTION {9C526E9}>
CL-USER> (cl-emb:execute-emb "test2" :env '(:foo t))
"What is set? -> Foo: Yes!"

CL-USER> (cl-emb:register-emb "test3"
                              "10 stars: <% @repeat 10 %>*<% @endrepeat %>")
#<CL-EMB::EMB-FUNCTION {9C9F1D1}>
CL-USER> (cl-emb:execute-emb "test3")
"10 stars: **********"

CL-USER> (cl-emb:register-emb "test4"
                              "<% @loop numbers %>[<% @var de %>,<% @var en %>]<% @endloop %>")
#<CL-EMB::EMB-FUNCTION {9174DF1}>
CL-USER> (cl-emb:execute-emb "test4"
                             :env '(:numbers ((:de "EINS" :en "ONE")
                                              (:de "ZWEI" :en "TWO"))))
"[EINS,ONE][ZWEI,TWO]"

CL-USER> (emb:register-emb "test5"
                           "<a href=\"http://somewhere.test/test.cgi?<% @var foo -escape uri %>\"><% @var foo %></a>")
#<CL-EMB::EMB-FUNCTION {9FBF5F1}>
CL-USER> (let ((emb:*escape-type* :html))
           (emb:execute-emb "test5" :env '(:foo "10 > 7")))
"<a href=\"http://somewhere.test/test.cgi?10+%3E+7\">10 &gt; 7</a>"

CL-USER> (emb:register-emb "test6" "1. <% @with one %>BAZ: <% @var baz %><% @endwith%>
2. <% @with two %>BAZ: <% @var baz %><% @endwith%>")
#<CL-EMB::EMB-FUNCTION {9916EB1}>
CL-USER> (emb:execute-emb "test6" :env '(:one (:baz "first")
                                         :two (:baz "second")))
"1. BAZ: first
2. BAZ: second"

CL-USER> (emb:register-emb "test7" " - <% @var foo -escape uri %> - ")
#<CL-EMB::EMB-FUNCTION {96F1239}>
CL-USER> (emb:pprint-emb-function "test7")

(LAMBDA (&OPTIONAL CL-EMB-INTERN::ENV)
  (WITH-OUTPUT-TO-STRING (*STANDARD-OUTPUT*)
    (PROGN
     (WRITE-STRING " - ")
     (FORMAT T "~A" (CL-EMB::ECHO (GETF CL-EMB-INTERN::ENV :FOO) :ESCAPE :URI))
     (WRITE-STRING " - "))))
; No value

CL-USER> (emb:register-emb "test8" "<% @set escape=xml %>--<% @var hey %>--")
#<CL-EMB::EMB-FUNCTION {962B839}>
CL-USER> (emb:register-emb "test9" "--<% @var hey %>--<% @call test8 %>--<% @var hey %>--")
#<CL-EMB::EMB-FUNCTION {96931A9}>
CL-USER> (emb:execute-emb "test9" :env '(:hey "5>2"))
"--5>2----5&gt;2----5>2--"

CL-USER> (emb:register-emb "test10" "Square root from 1 to <% @var numbers %>: <% @genloop numbers %>sqrt(<% @var number %>) = <% @var sqrt %> <% @endgenloop %>")
#<CL-EMB::EMB-FUNCTION {581EC765}>
CL-USER> (defun make-sqrt-1-to-n-gen (key n)
           (declare (ignore key))
           (let ((i 1))
             #'(lambda (cmd)
                 (ecase cmd
                   (:test (> i n))
                   (:get `(:number ,i :sqrt ,(sqrt i)))
                   (:next (prog1 `(:number ,i :sqrt ,(sqrt i))
                            (unless (> i n)
                              (incf i))))))))
MAKE-SQRT-1-TO-N-GEN
CL-USER> (emb:execute-emb "test10" :env '(:numbers 10) :generator-maker 'make-sqrt-1-to-n-gen)
"Square root from 1 to 10: sqrt(1) = 1.0 sqrt(2) = 1.4142135 sqrt(3) = 1.7320508 sqrt(4) = 2.0 sqrt(5) = 2.236068 sqrt(6) = 2.4494898 sqrt(7) = 2.6457512 sqrt(8) = 2.828427 sqrt(9) = 3.0 sqrt(10) = 3.1622777 "

CL-USER> (emb:register-emb "test11" "<% @loop bands %>Band: <% @var band %> (Genre: <% @var /genre %>)<br><% @endloop %>")
#<CL-EMB::EMB-FUNCTION {58ADB12D}>
CL-USER> (emb:execute-emb "test11" :env '(:genre "Rock" :bands ((:band "Queen") (:band "The Rolling Stones") (:band "ZZ Top"))))
"Band: Queen (Genre: Rock)<br>Band: The Rolling Stones (Genre: Rock)<br>Band: ZZ Top (Genre: Rock)<br>"

CL-USER> (emb:register-emb "test12" "<% @repeat /foo/bar/count %>*<% @endrepeat %>")
#<CL-EMB::EMB-FUNCTION {58B7583D}>
CL-USER> (emb:execute-emb "test12" :env '(:foo (:bar (:count 42))))
"******************************************"

CL-USER> (emb:register-emb "test13" "The file:<pre><% @insert textfile %></pre>")
#<CL-EMB::EMB-FUNCTION {5894326D}>
CL-USER> (emb:execute-emb "test13" :env '(:textfile "/etc/gentoo-release"))
"The file:<pre>Gentoo Base System version 1.6.14
</pre>"

Credits

Uses code from John Wiseman. See http://lemonodor.com/archives/000128.html and lsp-LICENSE.txt Thanks to Edi Weitz for letting me use his code for ESCAPE-FOR-XML.

Thanks to Eitarow Fukamachi for the whitespace-trimming patch.

Thanks to Christoph Finkensiep for making getf* a generic function.

Author

Stefan Scholl stesch@no-spoon.de

Current Maintainer

Michael Raskin 38a938c2@rambler.ru


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-emb

Author

Stefan Scholl <stesch@no-spoon.de>

License

Lesser Lisp General Public License

Description

A templating system for Common Lisp

Version

0.4.3

Dependency

cl-ppcre

Source

cl-emb.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-emb.asd

Location

cl-emb.asd

Systems

cl-emb (system)

Packages

cl-emb.system


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

3.1.2 cl-emb/packages.lisp

Parent

cl-emb (system)

Location

packages.lisp

Packages

cl-emb


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

3.1.3 cl-emb/emb.lisp

Dependency

packages.lisp (file)

Parent

cl-emb (system)

Location

emb.lisp

Packages

cl-emb-intern

Exported Definitions
Internal Definitions

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

4 Packages

Packages are listed by definition order.


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

4.1 cl-emb.system

Source

cl-emb.asd

Use List

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

4.2 cl-emb

Source

packages.lisp (file)

Nickname

emb

Use List

common-lisp

Exported Definitions
Internal Definitions

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

4.3 cl-emb-intern

Source

emb.lisp (file)

Use List

common-lisp


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 Special variables

Special Variable: *case-sensitivity*

Whether use case-sensitive mode (the default) or case-insensitive mode. If this is set NIL, the case of keys in ENV will be ignored.

Package

cl-emb

Source

emb.lisp (file)

Special Variable: *debug*

Debugging for CL-EMB.

Package

cl-emb

Source

emb.lisp (file)

Special Variable: *emb-end-marker*

End of scriptlet or expression.

Package

cl-emb

Source

emb.lisp (file)

Special Variable: *emb-start-marker*

Start of scriptlet or expression. Remember that a following #= indicates an expression.

Package

cl-emb

Source

emb.lisp (file)

Special Variable: *escape-type*

Default value for escaping @var output.

Package

cl-emb

Source

emb.lisp (file)

Special Variable: *function-package*

Package the emb function body gets interned to.

Package

cl-emb

Source

emb.lisp (file)

Special Variable: *locking-function*

Function to call to lock access to an internal hash table. Must accept a function designator which must be called with the lock hold.

Package

cl-emb

Source

emb.lisp (file)


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

5.1.2 Functions

Function: clear-emb NAME

Remove named emb code.

Package

cl-emb

Source

emb.lisp (file)

Function: clear-emb-all ()

Remove all registered emb code.

Package

cl-emb

Source

emb.lisp (file)

Function: clear-emb-all-files ()

Remove all registered file emb code (registered/executed by a pathname).

Package

cl-emb

Source

emb.lisp (file)

Function: clear-expand-template-tag-hash ()

Removes all scanners for template tags from cache.

Package

cl-emb

Source

emb.lisp (file)

Function: pprint-emb-function NAME

DEBUG function. Pretty prints function form, if *DEBUG* was t when the function was registered.

Package

cl-emb

Source

emb.lisp (file)


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

5.1.3 Generic functions

Generic Function: execute-emb NAME &key ENV GENERATOR-MAKER

Execute named emb code. Returns a string. Keyword parameter ENV to pass objects to the code. ENV must be a plist.

Package

cl-emb

Source

emb.lisp (file)

Methods
Method: execute-emb (NAME pathname) &key ENV GENERATOR-MAKER
Method: execute-emb (NAME string) &key ENV GENERATOR-MAKER
Generic Function: getf* THING KEY &optional DEFAULT

Returns a value by a key

Package

cl-emb

Source

emb.lisp (file)

Methods
Method: getf* (OBJECT standard-object) KEY &optional DEFAULT

Uses slot-value to get a value from a standard object, where the slot name is derived from key

Method: getf* (TABLE hash-table) KEY &optional DEFAULT

Uses gethash to get a value from a hash-table

Method: getf* (PLIST list) KEY &optional DEFAULT

Uses getf to get a value from a plist

Generic Function: register-emb NAME CODE

Register given CODE as NAME.

Package

cl-emb

Source

emb.lisp (file)

Methods
Method: register-emb NAME (CODE string)
Method: register-emb NAME (CODE pathname)

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

5.2 Internal definitions


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

5.2.1 Special variables

Special Variable: *emb-stream-redirection*
Package

cl-emb

Source

emb.lisp (file)

Special Variable: *functions*

Table mapping names to emb-function instances.

Package

cl-emb

Source

emb.lisp (file)

Special Variable: *latex-replacements*
Package

cl-emb

Source

emb.lisp (file)

Special Variable: *set-parameter-list*
Package

cl-emb

Source

emb.lisp (file)

Special Variable: *set-special-list*
Package

cl-emb

Source

emb.lisp (file)

Special Variable: *template-tag-expand*

List of conses. FIRST is regex, REST replacement (STRING or FUNCTION). Functions get called with two parameters: match and list of registers.

Package

cl-emb

Source

emb.lisp (file)


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

5.2.2 Macros

Macro: getf-emb KEY

Search either plist TOPENV or ENV according to the search path in KEY. KEY is a string.

Package

cl-emb

Source

emb.lisp (file)

Macro: with-lock &body BODY

Locking all accesses to *functions*

Package

cl-emb

Source

emb.lisp (file)


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

5.2.3 Functions

Function: construct-emb-body-string CODE &optional START

Takes a string containing an emb code and returns a string containing the lisp code that implements that emb code.

Package

cl-emb

Source

emb.lisp (file)

Function: construct-emb-function CODE

Builds and compiles the emb-function.

Package

cl-emb

Source

emb.lisp (file)

Function: contents-of-file PATHNAME

Returns a string with the entire contents of the specified file.

Package

cl-emb

Source

emb.lisp (file)

Function: echo STRING &key ESCAPE

Emit given STRING. Escape if wanted (global or via ESCAPE keyword). STRING can be NIL.

Package

cl-emb

Source

emb.lisp (file)

Function: escape-by-table STRING REPLACEMENTS
Package

cl-emb

Source

emb.lisp (file)

Function: escape-for-latex STRING
Package

cl-emb

Source

emb.lisp (file)

Function: escape-for-xml STRING
Package

cl-emb

Source

emb.lisp (file)

Function: expand-template-tags STRING

Expand template-tags (@if, @else, ...) to Common Lisp. Replacement and regex in *TEMPLATE-TAG-EXPAND*

Package

cl-emb

Source

emb.lisp (file)

Function: get-emb-function NAME

Returns the named function implementing a registered emb code. Rebuilds it when text template was a file which has been modified.

Package

cl-emb

Source

emb.lisp (file)

Function: insert-file FILENAME

Get given file FILENAME.

Package

cl-emb

Source

emb.lisp (file)

Function: make-emb-function PATH TIME FUNCTION &optional FORM

Constructor for class EMB-FUNCTION.

Package

cl-emb

Source

emb.lisp (file)

Function: next-code STRING START
Package

cl-emb

Source

emb.lisp (file)

Function: scanner-for-expand-template-tag TAG

Returns a CL-PPCRE scanner which matches a template tag expanded by EXPAND-TEMPLATE-TAGS. Scanners are memoized in SCANNER-HASH once they are created.

Package

cl-emb

Source

emb.lisp (file)

Function: set-specials MATCH &rest REGISTERS

Parse parameter(s) of @set and set special variables like e. g. *ESCAPE-TYPE*.

Package

cl-emb

Source

emb.lisp (file)

Function: string-right-trim-spaces-until-newline STRING
Package

cl-emb

Source

emb.lisp (file)

Function: string-to-keyword STRING

Interns a given STRING uppercased in the keyword package.

Package

cl-emb

Source

emb.lisp (file)

Function: tag-template TAG-TYPE
Package

cl-emb

Source

emb.lisp (file)

Function: url-encode STRING

URL-encode a string.

Package

cl-emb

Source

emb.lisp (file)


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

5.2.4 Generic functions

Generic Function: emb-function-form OBJECT
Generic Function: (setf emb-function-form) NEW-VALUE OBJECT
Package

cl-emb

Methods
Method: emb-function-form (EMB-FUNCTION emb-function)

automatically generated reader method

Source

emb.lisp (file)

Method: (setf emb-function-form) NEW-VALUE (EMB-FUNCTION emb-function)

automatically generated writer method

Source

emb.lisp (file)

Generic Function: emb-function-function OBJECT
Generic Function: (setf emb-function-function) NEW-VALUE OBJECT
Package

cl-emb

Methods
Method: emb-function-function (EMB-FUNCTION emb-function)

automatically generated reader method

Source

emb.lisp (file)

Method: (setf emb-function-function) NEW-VALUE (EMB-FUNCTION emb-function)

automatically generated writer method

Source

emb.lisp (file)

Generic Function: emb-function-path OBJECT
Generic Function: (setf emb-function-path) NEW-VALUE OBJECT
Package

cl-emb

Methods
Method: emb-function-path (EMB-FUNCTION emb-function)

automatically generated reader method

Source

emb.lisp (file)

Method: (setf emb-function-path) NEW-VALUE (EMB-FUNCTION emb-function)

automatically generated writer method

Source

emb.lisp (file)

Generic Function: emb-function-time OBJECT
Generic Function: (setf emb-function-time) NEW-VALUE OBJECT
Package

cl-emb

Methods
Method: emb-function-time (EMB-FUNCTION emb-function)

automatically generated reader method

Source

emb.lisp (file)

Method: (setf emb-function-time) NEW-VALUE (EMB-FUNCTION emb-function)

automatically generated writer method

Source

emb.lisp (file)


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

5.2.5 Classes

Class: emb-function ()
Package

cl-emb

Source

emb.lisp (file)

Direct superclasses

standard-object (class)

Direct methods
Direct slots
Slot: path
Initargs

:path

Readers

emb-function-path (generic function)

Writers

(setf emb-function-path) (generic function)

Slot: time
Initargs

:time

Readers

emb-function-time (generic function)

Writers

(setf emb-function-time) (generic function)

Slot: function
Initargs

:function

Readers

emb-function-function (generic function)

Writers

(setf emb-function-function) (generic function)

Slot: form
Initargs

:form

Readers

emb-function-form (generic function)

Writers

(setf emb-function-form) (generic function)


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-emb.asd: The cl-emb<dot>asd file
cl-emb/emb.lisp: The cl-emb/emb<dot>lisp file
cl-emb/packages.lisp: The cl-emb/packages<dot>lisp file

F
File, Lisp, cl-emb.asd: The cl-emb<dot>asd file
File, Lisp, cl-emb/emb.lisp: The cl-emb/emb<dot>lisp file
File, Lisp, cl-emb/packages.lisp: The cl-emb/packages<dot>lisp file

L
Lisp File, cl-emb.asd: The cl-emb<dot>asd file
Lisp File, cl-emb/emb.lisp: The cl-emb/emb<dot>lisp file
Lisp File, cl-emb/packages.lisp: The cl-emb/packages<dot>lisp file

Jump to:   C   F   L  

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

A.2 Functions

Jump to:   (  
C   E   F   G   I   M   N   P   R   S   T   U   W  
Index Entry  Section

(
(setf emb-function-form): Internal generic functions
(setf emb-function-form): Internal generic functions
(setf emb-function-function): Internal generic functions
(setf emb-function-function): Internal generic functions
(setf emb-function-path): Internal generic functions
(setf emb-function-path): Internal generic functions
(setf emb-function-time): Internal generic functions
(setf emb-function-time): Internal generic functions

C
clear-emb: Exported functions
clear-emb-all: Exported functions
clear-emb-all-files: Exported functions
clear-expand-template-tag-hash: Exported functions
construct-emb-body-string: Internal functions
construct-emb-function: Internal functions
contents-of-file: Internal functions

E
echo: Internal functions
emb-function-form: Internal generic functions
emb-function-form: Internal generic functions
emb-function-function: Internal generic functions
emb-function-function: Internal generic functions
emb-function-path: Internal generic functions
emb-function-path: Internal generic functions
emb-function-time: Internal generic functions
emb-function-time: Internal generic functions
escape-by-table: Internal functions
escape-for-latex: Internal functions
escape-for-xml: Internal functions
execute-emb: Exported generic functions
execute-emb: Exported generic functions
execute-emb: Exported generic functions
expand-template-tags: Internal functions

F
Function, clear-emb: Exported functions
Function, clear-emb-all: Exported functions
Function, clear-emb-all-files: Exported functions
Function, clear-expand-template-tag-hash: Exported functions
Function, construct-emb-body-string: Internal functions
Function, construct-emb-function: Internal functions
Function, contents-of-file: Internal functions
Function, echo: Internal functions
Function, escape-by-table: Internal functions
Function, escape-for-latex: Internal functions
Function, escape-for-xml: Internal functions
Function, expand-template-tags: Internal functions
Function, get-emb-function: Internal functions
Function, insert-file: Internal functions
Function, make-emb-function: Internal functions
Function, next-code: Internal functions
Function, pprint-emb-function: Exported functions
Function, scanner-for-expand-template-tag: Internal functions
Function, set-specials: Internal functions
Function, string-right-trim-spaces-until-newline: Internal functions
Function, string-to-keyword: Internal functions
Function, tag-template: Internal functions
Function, url-encode: Internal functions

G
Generic Function, (setf emb-function-form): Internal generic functions
Generic Function, (setf emb-function-function): Internal generic functions
Generic Function, (setf emb-function-path): Internal generic functions
Generic Function, (setf emb-function-time): Internal generic functions
Generic Function, emb-function-form: Internal generic functions
Generic Function, emb-function-function: Internal generic functions
Generic Function, emb-function-path: Internal generic functions
Generic Function, emb-function-time: Internal generic functions
Generic Function, execute-emb: Exported generic functions
Generic Function, getf*: Exported generic functions
Generic Function, register-emb: Exported generic functions
get-emb-function: Internal functions
getf*: Exported generic functions
getf*: Exported generic functions
getf*: Exported generic functions
getf*: Exported generic functions
getf-emb: Internal macros

I
insert-file: Internal functions

M
Macro, getf-emb: Internal macros
Macro, with-lock: Internal macros
make-emb-function: Internal functions
Method, (setf emb-function-form): Internal generic functions
Method, (setf emb-function-function): Internal generic functions
Method, (setf emb-function-path): Internal generic functions
Method, (setf emb-function-time): Internal generic functions
Method, emb-function-form: Internal generic functions
Method, emb-function-function: Internal generic functions
Method, emb-function-path: Internal generic functions
Method, emb-function-time: Internal generic functions
Method, execute-emb: Exported generic functions
Method, execute-emb: Exported generic functions
Method, getf*: Exported generic functions
Method, getf*: Exported generic functions
Method, getf*: Exported generic functions
Method, register-emb: Exported generic functions
Method, register-emb: Exported generic functions

N
next-code: Internal functions

P
pprint-emb-function: Exported functions

R
register-emb: Exported generic functions
register-emb: Exported generic functions
register-emb: Exported generic functions

S
scanner-for-expand-template-tag: Internal functions
set-specials: Internal functions
string-right-trim-spaces-until-newline: Internal functions
string-to-keyword: Internal functions

T
tag-template: Internal functions

U
url-encode: Internal functions

W
with-lock: Internal macros

Jump to:   (  
C   E   F   G   I   M   N   P   R   S   T   U   W  

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

A.3 Variables

Jump to:   *  
F   P   S   T  
Index Entry  Section

*
*case-sensitivity*: Exported special variables
*debug*: Exported special variables
*emb-end-marker*: Exported special variables
*emb-start-marker*: Exported special variables
*emb-stream-redirection*: Internal special variables
*escape-type*: Exported special variables
*function-package*: Exported special variables
*functions*: Internal special variables
*latex-replacements*: Internal special variables
*locking-function*: Exported special variables
*set-parameter-list*: Internal special variables
*set-special-list*: Internal special variables
*template-tag-expand*: Internal special variables

F
form: Internal classes
function: Internal classes

P
path: Internal classes

S
Slot, form: Internal classes
Slot, function: Internal classes
Slot, path: Internal classes
Slot, time: Internal classes
Special Variable, *case-sensitivity*: Exported special variables
Special Variable, *debug*: Exported special variables
Special Variable, *emb-end-marker*: Exported special variables
Special Variable, *emb-start-marker*: Exported special variables
Special Variable, *emb-stream-redirection*: Internal special variables
Special Variable, *escape-type*: Exported special variables
Special Variable, *function-package*: Exported special variables
Special Variable, *functions*: Internal special variables
Special Variable, *latex-replacements*: Internal special variables
Special Variable, *locking-function*: Exported special variables
Special Variable, *set-parameter-list*: Internal special variables
Special Variable, *set-special-list*: Internal special variables
Special Variable, *template-tag-expand*: Internal special variables

T
time: Internal classes

Jump to:   *  
F   P   S   T  

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

A.4 Data types

Jump to:   C   E   P   S  
Index Entry  Section

C
cl-emb: The cl-emb system
cl-emb: The cl-emb package
cl-emb-intern: The cl-emb-intern package
cl-emb.system: The cl-emb<dot>system package
Class, emb-function: Internal classes

E
emb-function: Internal classes

P
Package, cl-emb: The cl-emb package
Package, cl-emb-intern: The cl-emb-intern package
Package, cl-emb.system: The cl-emb<dot>system package

S
System, cl-emb: The cl-emb system

Jump to:   C   E   P   S