Raymond Toy pushed to branch master at cmucl / cmucl
Commits:
-
e3c4759d
by Philip Fominykh at 2018-02-13T00:20:33-05:00
-
3be1f5ba
by Philip Fominykh at 2018-02-13T00:22:15-05:00
-
ccd159f1
by Philip Fominykh at 2018-03-05T00:59:37-05:00
-
7b9be9a8
by Philip Fominykh at 2018-03-05T01:01:53-05:00
-
9b55c3e4
by Philip Fominykh at 2018-03-05T01:03:02-05:00
-
efc3d8c5
by Raymond Toy at 2018-03-06T04:18:37+00:00
10 changed files:
- src/docs/cmu-user/Makefile
- src/docs/cmu-user/aliens.tex
- src/docs/cmu-user/cmu-user.hva
- src/docs/cmu-user/cmucl.css
- src/docs/cmu-user/cross-referencing.tex
- src/docs/cmu-user/debugger.tex
- src/docs/cmu-user/extensions.tex
- src/docs/cmu-user/introduction.tex
- src/docs/cmu-user/ipc.tex
- src/docs/cmu-user/unicode.tex
Changes:
| ... | ... | @@ -70,7 +70,7 @@ all: cmu-user.pdf |
| 70 | 70 |
|
| 71 | 71 |
# the "-fix" option to hevea makes it run as many times as necessary
|
| 72 | 72 |
# to resolve all cross-references and generate an index.
|
| 73 |
-%.html : %.tex $(FILES)
|
|
| 73 |
+%.html : %.tex $(FILES) cmu-user.hva
|
|
| 74 | 74 |
$(HEVEA) -fix cmu-user.hva $<
|
| 75 | 75 |
$(HACHA) -tocbis $@
|
| 76 | 76 |
-$(TIDY) -m *.html
|
| ... | ... | @@ -105,6 +105,7 @@ clean: |
| 105 | 105 |
rm -f *.log *.bbl *.blg *.ps *.pdf *.aux *.lof *.toc *.out *.ilg
|
| 106 | 106 |
rm -f *.vdx *.cdx *.tdx *.fdx *.idx *.cnd *.fnd *.tnd *.vnd *.haux
|
| 107 | 107 |
rm -f *.html *.hcnd *.htnd *.hvnd *.hfnd *.htoc
|
| 108 |
+ rm -f cmu-user.css
|
|
| 108 | 109 |
|
| 109 | 110 |
index:
|
| 110 | 111 |
makeindex cmu-user.tdx -o cmu-user.tnd
|
| ... | ... | @@ -295,7 +295,7 @@ This section describes the basic operations on Alien values. |
| 295 | 295 |
|
| 296 | 296 |
\subsection{Alien Access Operations}
|
| 297 | 297 |
|
| 298 |
-\begin{defun}{alien:}{deref}{\args{\var{pointer-or-array} \amprest \var{indices}}}
|
|
| 298 |
+\begin{defun}{alien:}{deref}{\args{\var{pointer-or-array} \amprest{} \var{indices}}}
|
|
| 299 | 299 |
|
| 300 | 300 |
This function returns the value pointed to by an Alien pointer or
|
| 301 | 301 |
the value of an Alien array element. If a pointer, an optional
|
| ... | ... | @@ -766,7 +766,7 @@ and two return values (\var{a} and \var{i}). |
| 766 | 766 |
macro:
|
| 767 | 767 |
|
| 768 | 768 |
\begin{defmac}{alien:}{def-callback}{\var{name} (\var{return-type}
|
| 769 |
- \mstar{(arg-name arg-type)}) \ampbody\ body}
|
|
| 769 |
+ \mstar{(arg-name arg-type)}) \ampbody{} \var{body}}
|
|
| 770 | 770 |
This macro defines a Lisp function that can be called from C and a
|
| 771 | 771 |
Lisp variable. The arguments to the function must be alien types,
|
| 772 | 772 |
and the return type must also be an alien type. This Lisp function
|
| ... | ... | @@ -789,7 +789,7 @@ macro: |
| 789 | 789 |
\code{def-callback} macro.
|
| 790 | 790 |
\end{defmac}
|
| 791 | 791 |
|
| 792 |
-\begin{defmac}{alien:}{callback-funcall}{\var{callback-name} \amprest
|
|
| 792 |
+\begin{defmac}{alien:}{callback-funcall}{\var{callback-name} \amprest{}
|
|
| 793 | 793 |
\var{args}}
|
| 794 | 794 |
This macro does the necessary stuff to call the callback named
|
| 795 | 795 |
\var{callback-name} with the given arguments.
|
| ... | ... | @@ -4,18 +4,24 @@ |
| 4 | 4 |
% to HTML using Hevea. By Luc Maranget and Eric Marsden.
|
| 5 | 5 |
|
| 6 | 6 |
\newif\ifhmode\hmodefalse
|
| 7 |
-\newcommand{\xspace}{}
|
|
| 7 |
+\newcommand{\pdfinfo}[1]{\@print{<!--} #1 \@print{-->}}
|
|
| 8 | 8 |
\let\hbox\mbox
|
| 9 | 9 |
\def\hfil{}
|
| 10 | 10 |
\def\hfill{}
|
| 11 | 11 |
\newcommand{\parbox}[3][]{\mbox{#3}}
|
| 12 | 12 |
\newcommand{\lengthtest}[1]{true}
|
| 13 | 13 |
\newenvironment{minipage}[2][]{}{}
|
| 14 |
-\newcommand{\layout}[4][]
|
|
| 15 |
- {\@open{DIV}{align=left}
|
|
| 14 |
+\newcommand{\layout}[5][]
|
|
| 15 |
+ {\@open{DIV}{align=left}#5%
|
|
| 16 | 16 |
[#4] \\
|
| 17 |
+ \begin{tabbing}
|
|
| 17 | 18 |
\fcnname{#1}\fcnname{#2} #3 \@print{ }
|
| 19 |
+ \end{tabbing}
|
|
| 18 | 20 |
\@close{DIV}}
|
| 21 |
+\newcommand{\keys}[1]{\code{\&key}\@print{ }\= #1}
|
|
| 22 |
+ |
|
| 23 |
+\renewcommand{\textgreater}{\@print{>}}
|
|
| 24 |
+\renewcommand{\textless}{\@print{<}}
|
|
| 19 | 25 |
|
| 20 | 26 |
% \newcommand{\layout}[4][]
|
| 21 | 27 |
% {\begin{tabular}
|
| ... | ... | @@ -26,13 +32,12 @@ |
| 26 | 32 |
% \end{tabular}}
|
| 27 | 33 |
|
| 28 | 34 |
|
| 29 |
-\newcommand{\fcntype}[1]{\@open{TT}{class=function-type}#1\@close{TT}}
|
|
| 30 |
-\newcommand{\argtype}[1]{\@open{TT}{class=argument-type}#1\@close{TT}}
|
|
| 31 |
-\newcommand{\fcnname}[1]{\@open{TT}{class=function-name}#1\@close{TT}}
|
|
| 32 |
-\newcommand{\var}[1]{\@open{TT}{class=variable}#1\@close{TT}}
|
|
| 33 |
-\newcommand{\code}[1]{\@open{TT}{class=code}#1\@close{TT}}
|
|
| 34 |
-\newcommand{\file}[1]{\@open{TT}{class=filename}#1\@close{TT}}
|
|
| 35 |
- |
|
| 35 |
+\newcommand{\fcntype}[1]{\@styleattr{TT}{class=function-type}#1\@clearstyle}
|
|
| 36 |
+\newcommand{\argtype}[1]{\@styleattr{TT}{class=argument-type}#1\@clearstyle}
|
|
| 37 |
+\newcommand{\fcnname}[1]{\@styleattr{TT}{class=function-name}#1\@clearstyle}
|
|
| 38 |
+\newcommand{\var}[1]{\@styleattr{TT}{class=variable}#1\@clearstyle}
|
|
| 39 |
+\newcommand{\code}[1]{\@styleattr{TT}{class=code}#1\@clearstyle}
|
|
| 40 |
+\newcommand{\file}[1]{\@styleattr{TT}{class=filename}#1\@clearstyle}
|
|
| 36 | 41 |
|
| 37 | 42 |
%% Define a new type
|
| 38 | 43 |
%%
|
| ... | ... | @@ -40,40 +45,40 @@ |
| 40 | 45 |
%% some description
|
| 41 | 46 |
%% \end{deftp}
|
| 42 | 47 |
\newenvironment{deftp}[3]
|
| 43 |
- {\par\bigskip\index[types]{#2|textbf}%
|
|
| 44 |
- \layout{#2}{\var{#3}}{#1}
|
|
| 48 |
+ {\layout{#2}{\var{#3}}{#1}%
|
|
| 49 |
+ {\bigskip\index[types]{#2|textbf}}
|
|
| 45 | 50 |
\begin{quote}}
|
| 46 | 51 |
{\end{quote}}
|
| 47 | 52 |
|
| 48 | 53 |
%% Define a function
|
| 49 | 54 |
%%
|
| 50 |
-%% \begin{defun}{pkg}{name}{params}
|
|
| 55 |
+%% \begin{defun}[suffix]{pkg}{name}{params}
|
|
| 51 | 56 |
%% \defunx[pkg]{name}{params}
|
| 52 | 57 |
%% description of function
|
| 53 | 58 |
%% \end{defun}
|
| 54 |
-\newenvironment{defun}[3]
|
|
| 55 |
- {\par\defunvspace\fnindexbold{#2}\label{FN:#2}%
|
|
| 56 |
- \layout[#1]{#2}{#3}{Function}
|
|
| 59 |
+\newenvironment{defun}[4][]
|
|
| 60 |
+ {\layout[#2]{#3}{#4}{Function}%
|
|
| 61 |
+ {\defunvspace\fnindexbold{#3}\label{FN:#3#1}}
|
|
| 57 | 62 |
\begin{quote}}
|
| 58 | 63 |
{\end{quote}}
|
| 59 | 64 |
\newcommand{\defunx}[3][\mbox{}]{%
|
| 60 |
- \par\fnindexbold{#2}\label{FN:#2}%
|
|
| 61 |
- \layout[#1]{#2}{#3}{Function}}
|
|
| 65 |
+ \layout[#1]{#2}{#3}{Function}%
|
|
| 66 |
+ {\fnindexbold{#2}\label{FN:#2}}}
|
|
| 62 | 67 |
|
| 63 | 68 |
%% Define a macro
|
| 64 | 69 |
%%
|
| 65 |
-%% \begin{defmac}{pkg}{name}{params}
|
|
| 70 |
+%% \begin{defmac}[suffix]{pkg}{name}{params}
|
|
| 66 | 71 |
%% \defmacx[pkg]{name}{params}
|
| 67 | 72 |
%% description of macro
|
| 68 | 73 |
%% \end{defmac}
|
| 69 |
-\newenvironment{defmac}[3]{%
|
|
| 70 |
- \par\defunvspace\fnindexbold{#2}\label{FN:#2}%
|
|
| 71 |
- \layout[#1]{#2}{#3}{Macro}
|
|
| 74 |
+\newenvironment{defmac}[4][]{%
|
|
| 75 |
+ \layout[#2]{#3}{#4}{Macro}%
|
|
| 76 |
+ {\defunvspace\fnindexbold{#3}\label{FN:#3#1}}
|
|
| 72 | 77 |
\begin{quote}}
|
| 73 | 78 |
{\end{quote}}
|
| 74 | 79 |
\newcommand{\defmacx}[3][\mbox{}]{%
|
| 75 |
- \par\fnindexbold{#2}\label{FN:#2}%
|
|
| 76 |
- \layout[#1]{#2}{#3}{Function}}
|
|
| 80 |
+ \layout[#1]{#2}{#3}{Function}%
|
|
| 81 |
+ {\fnindexbold{#2}\label{FN:#2}}}
|
|
| 77 | 82 |
|
| 78 | 83 |
%% Define a variable
|
| 79 | 84 |
%%
|
| ... | ... | @@ -82,13 +87,13 @@ |
| 82 | 87 |
%% description of defvar
|
| 83 | 88 |
%% \end{defvar}
|
| 84 | 89 |
\newenvironment{defvar}[2]{%
|
| 85 |
- \par\defunvspace\vrindexbold{#2}\label{VR:#2}
|
|
| 86 |
- \layout[#1]{*#2*}{}{Variable}
|
|
| 90 |
+ \layout[#1]{*#2*}{}{Variable}%
|
|
| 91 |
+ {\defunvspace\vrindexbold{#2}\label{VR:#2}}
|
|
| 87 | 92 |
\begin{quote}}
|
| 88 | 93 |
{\end{quote}}
|
| 89 | 94 |
\newcommand{\defvarx}[2][\mbox{}]{%
|
| 90 |
- \par\vrindexbold{#2}\label{VR:#2}
|
|
| 91 |
- \layout[#1]{*#2*}{}{Variable}}
|
|
| 95 |
+ \layout[#1]{*#2*}{}{Variable}%
|
|
| 96 |
+ {\vrindexbold{#2}\label{VR:#2}}}
|
|
| 92 | 97 |
|
| 93 | 98 |
%% Define a constant
|
| 94 | 99 |
%%
|
| ... | ... | @@ -97,11 +102,12 @@ |
| 97 | 102 |
%% description of defconst
|
| 98 | 103 |
%% \end{defconst}
|
| 99 | 104 |
\newenvironment{defconst}[2]{%
|
| 100 |
- \defunvspace\defconstx[#1]{#2}
|
|
| 105 |
+ \layout[#1]{#2}{}{Constant}%
|
|
| 106 |
+ {\defunvspace}
|
|
| 101 | 107 |
\begin{quote}}
|
| 102 | 108 |
{\end{quote}}
|
| 103 | 109 |
\newcommand{\defconstx}[2][\mbox{}]{%
|
| 104 |
- \layout[#1]{#2}{}{Constant}}
|
|
| 110 |
+ \layout[#1]{#2}{}{Constant}{}}
|
|
| 105 | 111 |
|
| 106 | 112 |
|
| 107 | 113 |
|
| ... | ... | @@ -110,10 +116,10 @@ |
| 110 | 116 |
{\@open{BLOCKQUOTE}{class=example}\begin{alltt}}
|
| 111 | 117 |
{\end{alltt}\@close{BLOCKQUOTE}}
|
| 112 | 118 |
\newenvironment{lisp}
|
| 113 |
- {\@open{BLOCKQUOTE}{CLASS=lisp} \begin{alltt}}
|
|
| 119 |
+ {\@open{BLOCKQUOTE}{CLASS=lisp}\begin{alltt}}
|
|
| 114 | 120 |
{\end{alltt}\@close{BLOCKQUOTE}}
|
| 115 |
-\newcommand{\cmucl}{CMUCL}
|
|
| 116 |
-
|
|
| 121 |
+\newcommand{\cmucl}{{\scshape cmucl}}
|
|
| 122 |
+ |
|
| 117 | 123 |
|
| 118 | 124 |
% there are no page numbers in HTML, so we need to override certain
|
| 119 | 125 |
% cross-referencing macros
|
| ... | ... | @@ -134,7 +140,7 @@ |
| 134 | 140 |
|
| 135 | 141 |
|
| 136 | 142 |
% disable ``this document generated by'' footer
|
| 137 |
-\setcounter{footer}{0}
|
|
| 143 |
+\def\@footer{}
|
|
| 138 | 144 |
|
| 139 | 145 |
% \htmlhead{\@print{
|
| 140 | 146 |
% <a href="../../">CMUCL</a> ->
|
| ... | ... | @@ -165,12 +171,19 @@ |
| 165 | 171 |
\setcounter{cuttingdepth}{10}
|
| 166 | 172 |
|
| 167 | 173 |
\input{report.hva}
|
| 168 |
-\input{fancysection.hva}
|
|
| 174 |
+%%\input{fancysection.hva}
|
|
| 175 |
+\usepackage{color}
|
|
| 169 | 176 |
\definecolor{chapter}{rgb}{1, 1, 0.74}
|
| 170 | 177 |
\definecolor{part}{rgb}{1, 1, 0.81}
|
| 171 | 178 |
\definecolor{section}{rgb}{1, 1, 0.83}
|
| 172 | 179 |
\definecolor{subsection}{rgb}{1, 1, 0.89}
|
| 173 | 180 |
\definecolor{subsubsection}{rgb}{1, 1, 0.93}
|
| 181 |
+\newstyle{.chapter}{padding:0.5ex;background-color:\@getstylecolor{chapter}}
|
|
| 182 |
+\newstyle{.section} {padding:.5ex;background-color:\@getstylecolor{section}}%
|
|
| 183 |
+\newstyle{.subsection} {padding:0.3ex;background-color:\@getstylecolor{subsection}}%
|
|
| 184 |
+\newstyle{.subsubsection} {padding:0.5ex;background-color:\@getstylecolor{subsubsection}}%
|
|
| 185 |
+\newstyle{.paragraph} {padding:0.5ex;background-color:\@getstylecolor{paragraph}}%
|
|
| 174 | 186 |
\renewcommand{\@bodyargs}{}
|
| 175 | 187 |
|
| 188 |
+ |
|
| 176 | 189 |
% EOF
|
| ... | ... | @@ -35,7 +35,7 @@ h3 { |
| 35 | 35 |
.code {
|
| 36 | 36 |
background: #faf0e6;
|
| 37 | 37 |
border:solid #faf0e6 1px;
|
| 38 |
- white-space:pre;
|
|
| 38 |
+ white-space:pre-line;
|
|
| 39 | 39 |
}
|
| 40 | 40 |
|
| 41 | 41 |
.technical {
|
| ... | ... | @@ -142,7 +142,7 @@ source file), and so is identified by the XREF facility by a string. |
| 142 | 142 |
\end{defun}
|
| 143 | 143 |
|
| 144 | 144 |
|
| 145 |
-\begin{defun}{xref:}{xref-context-file}{context}
|
|
| 145 |
+\begin{defun}{xref:}{xref-context-file}{\var{context}}
|
|
| 146 | 146 |
Return the truename (in the sense of the variable
|
| 147 | 147 |
\vindexed{compile-file-truename}) of the source file from which the
|
| 148 | 148 |
referencing forms were compiled. This slot will be \nil{} if the
|
| ... | ... | @@ -150,7 +150,7 @@ source file), and so is identified by the XREF facility by a string. |
| 150 | 150 |
listener.
|
| 151 | 151 |
\end{defun}
|
| 152 | 152 |
|
| 153 |
-\begin{defun}{xref:}{xref-context-source-path}{context}
|
|
| 153 |
+\begin{defun}{xref:}{xref-context-source-path}{\var{context}}
|
|
| 154 | 154 |
Return a list of positive integers identifying the form that
|
| 155 | 155 |
contains the cross-reference. The first integer in the source-path
|
| 156 | 156 |
is the number of the top-level form containing the cross-reference
|
| ... | ... | @@ -998,8 +998,7 @@ printing of the trace information and conditional breakpoints on |
| 998 | 998 |
function entry or exit.
|
| 999 | 999 |
|
| 1000 | 1000 |
\begin{defmac}{}{trace}{%
|
| 1001 |
- \args{\mstar{option global-value} \mstar{name \mstar{option
|
|
| 1002 |
- value}}}}
|
|
| 1001 |
+ \args{\mstar{option global-value} \mstar{name \mstar{option value}}}}
|
|
| 1003 | 1002 |
|
| 1004 | 1003 |
\code{trace} is a debugging tool that prints information when
|
| 1005 | 1004 |
specified functions are called. In its simplest form:
|
| ... | ... | @@ -162,9 +162,7 @@ IEEE floating point specifies four possible rounding modes: |
| 162 | 162 |
\findexed{truncate} function.
|
| 163 | 163 |
\end{Lentry}
|
| 164 | 164 |
|
| 165 |
-\paragraph{Warning:}
|
|
| 166 |
- |
|
| 167 |
-Although the rounding mode can be changed with
|
|
| 165 |
+Warning: Although the rounding mode can be changed with
|
|
| 168 | 166 |
\code{set-floating-point-modes}, use of any value other than the
|
| 169 | 167 |
default (\kwd{nearest}) can cause unusual behavior, since it will
|
| 170 | 168 |
affect rounding done by \llisp{} system code as well as rounding in
|
| ... | ... | @@ -267,7 +265,7 @@ These functions can be used to modify or read the floating point modes: |
| 267 | 265 |
To make handling control of floating-point exceptions, the following
|
| 268 | 266 |
macro is useful.
|
| 269 | 267 |
|
| 270 |
-\begin{defmac}{ext:}{with-float-traps-masked}{traps \ampbody\ body}
|
|
| 268 |
+\begin{defmac}{ext:}{with-float-traps-masked}{\var{traps} \ampbody\ \var{body}}
|
|
| 271 | 269 |
\code{body} is executed with the selected floating-point exceptions
|
| 272 | 270 |
given by \code{traps} masked out (disabled). \code{traps} should be
|
| 273 | 271 |
a list of possible floating-point exceptions that should be ignored.
|
| ... | ... | @@ -839,7 +837,7 @@ finalization is used to close the underlying file descriptor. |
| 839 | 837 |
|
| 840 | 838 |
\section{Describe}
|
| 841 | 839 |
|
| 842 |
-\begin{defun}{}{describe}{ \args{\var{object} \&optional{} \var{stream}}}
|
|
| 840 |
+\begin{defun}{}{describe}{ \args{\var{object} \ampoptional{} \var{stream}}}
|
|
| 843 | 841 |
|
| 844 | 842 |
The \code{describe} function prints useful information about
|
| 845 | 843 |
\var{object} on \var{stream}, which defaults to
|
| ... | ... | @@ -1947,7 +1945,8 @@ way to browse the library. |
| 1947 | 1945 |
|
| 1948 | 1946 |
\section{Generalized Function Names}
|
| 1949 | 1947 |
|
| 1950 |
-\begin{defmac}{ext:}{define-function-name-syntax}{name (var) \ampbody\ body}
|
|
| 1948 |
+\begin{defmac}{ext:}{define-function-name-syntax}{%
|
|
| 1949 |
+ \var{name} (\var{var}) \ampbody\ \var{body}}
|
|
| 1951 | 1950 |
Define lists starting with the symbol \code{name} as a new extended
|
| 1952 | 1951 |
function name syntax.
|
| 1953 | 1952 |
|
| ... | ... | @@ -1969,7 +1968,7 @@ way to browse the library. |
| 1969 | 1968 |
user-defined package.
|
| 1970 | 1969 |
\end{defmac}
|
| 1971 | 1970 |
|
| 1972 |
-\begin{defun}{ext:}{valid-function-name-p}{name}
|
|
| 1971 |
+\begin{defun}{ext:}{valid-function-name-p}{\var{name}}
|
|
| 1973 | 1972 |
Returns two values:
|
| 1974 | 1973 |
|
| 1975 | 1974 |
\begin{itemize}
|
| ... | ... | @@ -1999,7 +1998,7 @@ function is called and |
| 1999 | 1998 |
standardized method combinations like \code{progn}, \code{and}, etc.
|
| 2000 | 1999 |
\end{itemize}
|
| 2001 | 2000 |
|
| 2002 |
-\begin{defgeneric}[-generic]{pcl:}{no-primary-method}{gf \&rest args}
|
|
| 2001 |
+\begin{defgeneric}[-generic]{pcl:}{no-primary-method}{\var{gf} \amprest{} \var{args}}
|
|
| 2003 | 2002 |
In \cmucl, this generic function is called in the above erroneous
|
| 2004 | 2003 |
cases. The parameter \code{gf} is the generic function being
|
| 2005 | 2004 |
called, and \code{args} is a list of actual arguments in the generic
|
| ... | ... | @@ -2007,7 +2006,7 @@ function is called and |
| 2007 | 2006 |
\end{defgeneric}
|
| 2008 | 2007 |
|
| 2009 | 2008 |
\begin{defmethod}[-standard]{pcl:}{no-primary-method}{%
|
| 2010 |
- (gf standard-generic-function) \&rest args}
|
|
| 2009 |
+ (\var{gf} \argtype{standard-generic-function}) \amprest{} \var{args}}
|
|
| 2011 | 2010 |
This method signals a continuable error of type
|
| 2012 | 2011 |
\code{pcl:no-primary-method-error}.
|
| 2013 | 2012 |
\end{defmethod}
|
| ... | ... | @@ -2292,7 +2291,7 @@ methods, as it would be the case when a function is inlined somewhere |
| 2292 | 2291 |
else. Because of this, the function \code{pcl:flush-emf-cache} is
|
| 2293 | 2292 |
provided for forcing such an update of effective methods.
|
| 2294 | 2293 |
|
| 2295 |
-\begin{defun}{pcl:}{flush-emf-cache}{\&optional gf}
|
|
| 2294 |
+\begin{defun}{pcl:}{flush-emf-cache}{\ampoptional{} \var{gf}}
|
|
| 2296 | 2295 |
Flush cached effective method functions. If \code{gf} is supplied,
|
| 2297 | 2296 |
it should be a generic function metaobject or the name of a generic
|
| 2298 | 2297 |
function, and this function flushes all cached effective methods for
|
| ... | ... | @@ -2341,7 +2340,7 @@ when the generic function is called depending on the value of |
| 2341 | 2340 |
Support for sealing classes and generic functions have been
|
| 2342 | 2341 |
implemented. Please note that this interface is subject to change.
|
| 2343 | 2342 |
|
| 2344 |
-\begin{defmac}{pcl:}{seal}{name (var) \amprest\ specifiers}
|
|
| 2343 |
+\begin{defmac}{pcl:}{seal}{\var{name} (\var{var}) \amprest{} \var{specifiers}}
|
|
| 2345 | 2344 |
Seal \code{name} with respect to the given specifiers; \code{name}
|
| 2346 | 2345 |
can be the name of a class or generic-function.
|
| 2347 | 2346 |
|
| ... | ... | @@ -2352,7 +2351,7 @@ implemented. Please note that this interface is subject to change. |
| 2352 | 2351 |
Sealing violations signal an error of type \code{pcl:sealed-error}.
|
| 2353 | 2352 |
\end{defmac}
|
| 2354 | 2353 |
|
| 2355 |
-\begin{defun}{pcl:}{unseal}{name-or-object}
|
|
| 2354 |
+\begin{defun}{pcl:}{unseal}{\var{name-or-object}}
|
|
| 2356 | 2355 |
Remove seals from \code{name-or-object}.
|
| 2357 | 2356 |
\end{defun}
|
| 2358 | 2357 |
|
| ... | ... | @@ -2438,8 +2437,8 @@ extensions. |
| 2438 | 2437 |
|
| 2439 | 2438 |
\subsection{Extensions}
|
| 2440 | 2439 |
|
| 2441 |
-\begin{defun}{}{constantly}{value \&optional val1 val2 \&rest
|
|
| 2442 |
- more-values}
|
|
| 2440 |
+\begin{defun}{}{constantly}{%
|
|
| 2441 |
+ \var{value} \ampoptional{} \var{val1} \var{val2} \amprest{} \var{more-values}}
|
|
| 2443 | 2442 |
As an extension, \cmucl{} allows \code{constantly} to accept more
|
| 2444 | 2443 |
than one value which are returned as multiple values.
|
| 2445 | 2444 |
\end{defun}
|
| ... | ... | @@ -2502,7 +2501,7 @@ innermost fwrapper object. Likewise, if a function is fwrapped, |
| 2502 | 2501 |
\code{(setf fdefinition)} will set the primary function in the
|
| 2503 | 2502 |
innermost fwrapper.
|
| 2504 | 2503 |
|
| 2505 |
-\begin{defmac}{fwrappers:}{define-fwrapper}{name lambda-list \ampbody{} body}
|
|
| 2504 |
+\begin{defmac}{fwrappers:}{define-fwrapper}{\var{name} \var{lambda-list} \ampbody{} \var{body}}
|
|
| 2506 | 2505 |
This macro is like \code{defun}, but defines a function named
|
| 2507 | 2506 |
\var{name} that can be used as an fwrapper definition.
|
| 2508 | 2507 |
|
| ... | ... | @@ -2518,8 +2517,8 @@ innermost fwrapper. |
| 2518 | 2517 |
arguments.
|
| 2519 | 2518 |
\end{defmac}
|
| 2520 | 2519 |
|
| 2521 |
-\begin{defun}{fwrappers:}{fwrap}{function-name fwrapper \&key type
|
|
| 2522 |
- user-data}
|
|
| 2520 |
+\begin{defun}{fwrappers:}{fwrap}{\var{function-name} \var{fwrapper} %
|
|
| 2521 |
+ \keys{\kwd{type} \kwd{user-data}}}
|
|
| 2523 | 2522 |
This function wraps function \code{function-name} in an fwrapper
|
| 2524 | 2523 |
\var{fwrapper} which was defined with \code{define-fwrapper}.
|
| 2525 | 2524 |
|
| ... | ... | @@ -2534,58 +2533,58 @@ innermost fwrapper. |
| 2534 | 2533 |
Value is the fwrapper object created.
|
| 2535 | 2534 |
\end{defun}
|
| 2536 | 2535 |
|
| 2537 |
-\begin{defun}{fwrappers:}{funwrap}{function-name \&key type test}
|
|
| 2536 |
+\begin{defun}{fwrappers:}{funwrap}{\var{function-name} \keys{\kwd{type} \kwd{test}}}
|
|
| 2538 | 2537 |
Remove fwrappers from the function named \var{function-name}. If
|
| 2539 | 2538 |
\var{type} is supplied, remove fwrappers whose type is \code{equal}
|
| 2540 | 2539 |
to \var{type}. If \var{test} is supplied, remove fwrappers
|
| 2541 | 2540 |
satisfying \var{test}.
|
| 2542 | 2541 |
\end{defun}
|
| 2543 | 2542 |
|
| 2544 |
-\begin{defun}{fwrappers:}{find-fwrapper}{function-name \&key type test}
|
|
| 2543 |
+\begin{defun}{fwrappers:}{find-fwrapper}{\var{function-name} \keys{\kwd{type} \kwd{test}}}
|
|
| 2545 | 2544 |
Find an fwrapper of \var{function-name}. If \var{type} is supplied,
|
| 2546 | 2545 |
find an fwrapper whose type is \code{equal} to \var{type}. If
|
| 2547 | 2546 |
\var{test} is supplied, find an fwrapper satisfying \var{test}.
|
| 2548 | 2547 |
\end{defun}
|
| 2549 | 2548 |
|
| 2550 |
-\begin{defun}{fwrappers:}{update-fwrapper}{fwrapper}
|
|
| 2549 |
+\begin{defun}{fwrappers:}{update-fwrapper}{\var{fwrapper}}
|
|
| 2551 | 2550 |
Update the funcallable instance function of the fwrapper object
|
| 2552 | 2551 |
\var{fwrapper} from the definition of its function that was
|
| 2553 | 2552 |
defined with \code{define-fwrapper}. This can be used to update
|
| 2554 | 2553 |
fwrappers after changing a \code{define-fwrapper}.
|
| 2555 | 2554 |
\end{defun}
|
| 2556 | 2555 |
|
| 2557 |
-\begin{defun}{fwrappers:}{update-fwrappers}{function-name \&key type test}
|
|
| 2556 |
+\begin{defun}{fwrappers:}{update-fwrappers}{\var{function-name} \keys{\kwd{type} \kwd{test}}}
|
|
| 2558 | 2557 |
Update fwrappers of \var{function-name}; see \code{update-fwrapper}.
|
| 2559 | 2558 |
If \var{type} is supplied, update fwrappers whose type is
|
| 2560 | 2559 |
\code{equal} to \var{type}. If \var{test} is supplied, update fwrappers
|
| 2561 | 2560 |
satisfying \var{test}.
|
| 2562 | 2561 |
\end{defun}
|
| 2563 | 2562 |
|
| 2564 |
-\begin{defun}{fwrappers:}{set-fwrappers}{function-name fwrappers}
|
|
| 2563 |
+\begin{defun}{fwrappers:}{set-fwrappers}{\var{function-name} \var{fwrappers}}
|
|
| 2565 | 2564 |
Set \var{function-names}'s fwrappers to elements of the list
|
| 2566 | 2565 |
\var{fwrappers}, which is assumed to be ordered from outermost to
|
| 2567 | 2566 |
innermost. \var{fwrappers} null means remove all fwrappers.
|
| 2568 | 2567 |
\end{defun}
|
| 2569 | 2568 |
|
| 2570 |
-\begin{defun}{fwrappers:}{list-fwrappers}{function-name}
|
|
| 2569 |
+\begin{defun}{fwrappers:}{list-fwrappers}{\var{function-name}}
|
|
| 2571 | 2570 |
Return a list of all fwrappers of \var{function-name}, ordered
|
| 2572 | 2571 |
from outermost to innermost.
|
| 2573 | 2572 |
\end{defun}
|
| 2574 | 2573 |
|
| 2575 |
-\begin{defun}{fwrappers:}{push-fwrapper}{fwrapper function-name}
|
|
| 2574 |
+\begin{defun}{fwrappers:}{push-fwrapper}{\var{fwrapper} \var{function-name}}
|
|
| 2576 | 2575 |
Prepend fwrapper \var{fwrapper} to the definition of
|
| 2577 | 2576 |
\var{function-name}. Signal an error if \var{function-name} is an
|
| 2578 | 2577 |
undefined function.
|
| 2579 | 2578 |
\end{defun}
|
| 2580 | 2579 |
|
| 2581 |
-\begin{defun}{fwrappers:}{delete-fwrapper}{fwrapper function-name}
|
|
| 2580 |
+\begin{defun}{fwrappers:}{delete-fwrapper}{\var{fwrapper} \var{function-name}}
|
|
| 2582 | 2581 |
Remove fwrapper \var{fwrapper} from the definition of
|
| 2583 | 2582 |
\var{function-name}. Signal an error if \var{function-name} is an
|
| 2584 | 2583 |
undefined function.
|
| 2585 | 2584 |
\end{defun}
|
| 2586 | 2585 |
|
| 2587 |
-\begin{defmac}{fwrappers:}{do-fwrappers}{(var fdefn \ampoptional{}
|
|
| 2588 |
- result) \ampbody{} body}
|
|
| 2586 |
+\begin{defmac}{fwrappers:}{do-fwrappers}{(\var{var} \var{fdefn} \ampoptional{}
|
|
| 2587 |
+ \var{result}) \ampbody{} \var{body}}
|
|
| 2589 | 2588 |
Evaluate \var{body} with \var{var} bound to consecutive fwrappers of
|
| 2590 | 2589 |
\var{fdefn}. Return \var{result} at the end. Note that \var{fdefn}
|
| 2591 | 2590 |
must be an \code{fdefn} object. You can use
|
| ... | ... | @@ -2772,18 +2771,18 @@ that order. |
| 2772 | 2771 |
beginning of this list.
|
| 2773 | 2772 |
\end{defvar}
|
| 2774 | 2773 |
|
| 2775 |
-\begin{defmac}{ext:}{defmodule}{name \amprest{} files}
|
|
| 2774 |
+\begin{defmac}{ext:}{defmodule}{\var{name} \amprest{} \var{files}}
|
|
| 2776 | 2775 |
Defines a module by registering the files that need to be loaded
|
| 2777 | 2776 |
when the module is required. If \var{name} is a symbol, its print
|
| 2778 | 2777 |
name is used after downcasing it.
|
| 2779 | 2778 |
\end{defmac}
|
| 2780 | 2779 |
|
| 2781 |
-\begin{defun}{ext:}{module-provide-cmucl-defmodule}{module-name}
|
|
| 2780 |
+\begin{defun}{ext:}{module-provide-cmucl-defmodule}{\var{module-name}}
|
|
| 2782 | 2781 |
This function is the module-provider for modules registered by a
|
| 2783 | 2782 |
\code{ext:defmodule} form.
|
| 2784 | 2783 |
\end{defun}
|
| 2785 | 2784 |
|
| 2786 |
-\begin{defun}{ext:}{module-provide-cmucl-library}{module-name}
|
|
| 2785 |
+\begin{defun}{ext:}{module-provide-cmucl-library}{\var{module-name}}
|
|
| 2787 | 2786 |
This function is the module-provider for \cmucl's libraries,
|
| 2788 | 2787 |
including Gray streams, simple streams, CLX, CLM, Hemlock,
|
| 2789 | 2788 |
\emph{etc}.
|
| ... | ... | @@ -2830,7 +2829,7 @@ recording of strings, call \code{intl:translation-enable}. |
| 2830 | 2829 |
Disablle recording of translatable strings.
|
| 2831 | 2830 |
\end{defun}
|
| 2832 | 2831 |
|
| 2833 |
-\begin{defun}{intl:}{setlocale}{\ampoptional{} locale}
|
|
| 2832 |
+\begin{defun}{intl:}{setlocale}{\ampoptional{} \var{locale}}
|
|
| 2834 | 2833 |
Sets the locale to the locale specified by \var{locale}. If
|
| 2835 | 2834 |
\var{locale} is not give or is \nil, the locale is determined by
|
| 2836 | 2835 |
look at the environment variables \code{LANGUAGE}, \code{LC\_ALL},
|
| ... | ... | @@ -2840,19 +2839,19 @@ recording of strings, call \code{intl:translation-enable}. |
| 2840 | 2839 |
The default locale is ``C''.
|
| 2841 | 2840 |
\end{defun}
|
| 2842 | 2841 |
|
| 2843 |
-\begin{defun}{intl:}{textdomain}{domain}
|
|
| 2842 |
+\begin{defun}{intl:}{textdomain}{\var{domain}}
|
|
| 2844 | 2843 |
Set the default domain to the domain specified by \var{domain}.
|
| 2845 | 2844 |
Typically, this only needs to be done at the top of each source
|
| 2846 | 2845 |
file. This is used to \code{gettext} and \code{ngettext} to set the
|
| 2847 | 2846 |
domain for the message string.
|
| 2848 | 2847 |
\end{defun}
|
| 2849 | 2848 |
|
| 2850 |
-\begin{defmac}{intl:}{gettext}{string}
|
|
| 2849 |
+\begin{defmac}{intl:}{gettext}{\var{string}}
|
|
| 2851 | 2850 |
Look up the specified string, \var{string}, in the current message
|
| 2852 | 2851 |
domain and return its translation.
|
| 2853 | 2852 |
\end{defmac}
|
| 2854 | 2853 |
|
| 2855 |
-\begin{defun}{intl:}{dgettext}{domain string}
|
|
| 2854 |
+\begin{defun}{intl:}{dgettext}{\var{domain} \var{string}}
|
|
| 2856 | 2855 |
Look up the specified string, \var{string}, in the message domain,
|
| 2857 | 2856 |
\var{domain}. The translation is returned.
|
| 2858 | 2857 |
|
| ... | ... | @@ -2861,14 +2860,14 @@ recording of strings, call \code{intl:translation-enable}. |
| 2861 | 2860 |
\code{intl::dump-pot-files}.)
|
| 2862 | 2861 |
\end{defun}
|
| 2863 | 2862 |
|
| 2864 |
-\begin{defmac}{intl:}{ngettext}{singular plural n}
|
|
| 2863 |
+\begin{defmac}{intl:}{ngettext}{\var{singular} \var{plural} \var{n}}
|
|
| 2865 | 2864 |
Look up the singular or plural form of a message in the default
|
| 2866 | 2865 |
domain. The singular form is \var{singular}; the plural is
|
| 2867 | 2866 |
\var{plural}. The number of items is specified by \var{n} in case
|
| 2868 | 2867 |
the correct translation depends on the actual number of items.
|
| 2869 | 2868 |
\end{defmac}
|
| 2870 | 2869 |
|
| 2871 |
-\begin{defun}{intl:}{dngettext}{domain singular plural n}
|
|
| 2870 |
+\begin{defun}{intl:}{dngettext}{\var{domain} \var{singular} \var{plural} \var{n}}
|
|
| 2872 | 2871 |
Look up the singular or plural form of a message in the specified
|
| 2873 | 2872 |
domain, \var{domain}. The singular form is \var{singular}; the
|
| 2874 | 2873 |
plural is \var{plural}. The number of items is specified by \var{n}
|
| ... | ... | @@ -2880,8 +2879,7 @@ recording of strings, call \code{intl:translation-enable}. |
| 2880 | 2879 |
created. (See \code{intl::dump-pot-files}.)
|
| 2881 | 2880 |
\end{defun}
|
| 2882 | 2881 |
|
| 2883 |
-\begin{defun}{intl::}{dump-pot-files}{\keys copyright
|
|
| 2884 |
- output-directory}
|
|
| 2882 |
+\begin{defun}{intl::}{dump-pot-files}{\keys{\kwd{copyright} \kwd{output-directory}}}
|
|
| 2885 | 2883 |
Dumps the translatable strings recorded by \code{dgettext} and
|
| 2886 | 2884 |
\code{dngettext}. The message template file (pot file) is written
|
| 2887 | 2885 |
to a file in the directory specified by \var{output-directory}, and
|
| ... | ... | @@ -2895,7 +2893,7 @@ recording of strings, call \code{intl:translation-enable}. |
| 2895 | 2893 |
This is a list of directory pathnames where the translations can be found.
|
| 2896 | 2894 |
\end{defvar}
|
| 2897 | 2895 |
|
| 2898 |
-\begin{defun}{intl:}{install}{\ampoptional{} (rt *readtable*)}
|
|
| 2896 |
+\begin{defun}{intl:}{install}{\ampoptional{} (\var{rt} \var{*readtable*})}
|
|
| 2899 | 2897 |
Installs reader macros and comment reader into the specified
|
| 2900 | 2898 |
readtable as explained below. The readtable defaults to
|
| 2901 | 2899 |
\var{*readtable*}.
|
| ... | ... | @@ -80,7 +80,7 @@ See also \verb|cmucl(1)|. Currently \cmucl{} accepts the following |
| 80 | 80 |
switches:
|
| 81 | 81 |
|
| 82 | 82 |
\begin{Lentry}
|
| 83 |
-\item[\code{--help}] Same as \code{-help}.
|
|
| 83 |
+\item[\code{-{}-help}] Same as \code{-help}.
|
|
| 84 | 84 |
|
| 85 | 85 |
\item[\code{-help}] Print ou the command line options and exit.
|
| 86 | 86 |
|
| ... | ... | @@ -161,7 +161,7 @@ could use \code{prin1-to-string} locally, send the string, and use |
| 161 | 161 |
\end{defmac}
|
| 162 | 162 |
|
| 163 | 163 |
\begin{defmac}{wire:}{remote-value-bind}{%
|
| 164 |
- \args{\var{wire} (\mstar{variable}) remote-form
|
|
| 164 |
+ \args{\var{wire} (\mstar{variable}) \var{remote-form}
|
|
| 165 | 165 |
\mstar{local-forms}}}
|
| 166 | 166 |
|
| 167 | 167 |
\code{remote-value-bind} is similar to \code{multiple-value-bind}
|
| ... | ... | @@ -348,10 +348,10 @@ this encoding and handle the surrogate pairs correctly. |
| 348 | 348 |
\begin{defun}{}{string=}{\args \var{s1} \var{s2} \keys{\kwd{start1}
|
| 349 | 349 |
\kwd{end1} \kwd{start2} \kwd{end2}}}
|
| 350 | 350 |
\defunx{string/=}{\args \var{s1} \var{s2} \keys{\kwd{start1} \kwd{end1} \kwd{start2} \kwd{end2}}}
|
| 351 |
- \defunx{string$<$}{\args \var{s1} \var{s2} \keys{\kwd{start1} \kwd{end1} \kwd{start2} \kwd{end2}}}
|
|
| 352 |
- \defunx{string$>$}{\args \var{s1} \var{s2} \keys{\kwd{start1} \kwd{end1} \kwd{start2} \kwd{end2}}}
|
|
| 353 |
- \defunx{string$<$=}{\args \var{s1} \var{s2} \keys{\kwd{start1} \kwd{end1} \kwd{start2} \kwd{end2}}}
|
|
| 354 |
- \defunx{string$>$=}{\args \var{s1} \var{s2} \keys{\kwd{start1} \kwd{end1} \kwd{start2} \kwd{end2}}}
|
|
| 351 |
+ \defunx{string\textless}{\args \var{s1} \var{s2} \keys{\kwd{start1} \kwd{end1} \kwd{start2} \kwd{end2}}}
|
|
| 352 |
+ \defunx{string\textgreater}{\args \var{s1} \var{s2} \keys{\kwd{start1} \kwd{end1} \kwd{start2} \kwd{end2}}}
|
|
| 353 |
+ \defunx{string\textless=}{\args \var{s1} \var{s2} \keys{\kwd{start1} \kwd{end1} \kwd{start2} \kwd{end2}}}
|
|
| 354 |
+ \defunx{string\textgreater=}{\args \var{s1} \var{s2} \keys{\kwd{start1} \kwd{end1} \kwd{start2} \kwd{end2}}}
|
|
| 355 | 355 |
The string comparison is done in codepoint order. (This is
|
| 356 | 356 |
different from just comparing the order of the individual characters
|
| 357 | 357 |
due to surrogate pairs.) Unicode collation is not done.
|
| ... | ... | @@ -443,7 +443,7 @@ The Unicode data base is stored in compressed form in the file |
| 443 | 443 |
\file{ext-formats:unidata.bin}. If this file is not found, Unicode
|
| 444 | 444 |
support is severely reduced; you can only use ASCII characters.
|
| 445 | 445 |
|
| 446 |
-\begin{defun}{}{open}{\args \var{filename} \amprest \var{options}
|
|
| 446 |
+\begin{defun}{}{open}{\args \var{filename} \amprest{} \var{options}
|
|
| 447 | 447 |
\keys{\kwd{direction} \kwd{element-type} \kwd{if-exists}
|
| 448 | 448 |
\kwd{if-does-not-exist} \morekeys \kwd{class} \kwd{mapped}
|
| 449 | 449 |
\kwd{input-handle} \kwd{output-handle}
|
| ... | ... | @@ -497,7 +497,7 @@ support is severely reduced; you can only use ASCII characters. |
| 497 | 497 |
formats and composing external formats.
|
| 498 | 498 |
\end{defun}
|
| 499 | 499 |
|
| 500 |
-\begin{defun}{extensions:}{describe-external-format}{external-format}
|
|
| 500 |
+\begin{defun}{extensions:}{describe-external-format}{\var{external-format}}
|
|
| 501 | 501 |
Print a description of the given \var{external-format}. This may
|
| 502 | 502 |
cause the external format to be loaded (silently) if it is not
|
| 503 | 503 |
already loaded.
|
| ... | ... | @@ -627,12 +627,12 @@ An external format basically needs two functions: |
| 627 | 627 |
external format is defined using the macro
|
| 628 | 628 |
\code{stream::define-external-format}.
|
| 629 | 629 |
|
| 630 |
-\begin{defmac}[base]{stream:}{define-external-format}{\args \var{name}
|
|
| 631 |
- (\keys{\var{base} \var{min} \var{max} \var{size}
|
|
| 632 |
- \var{documentation}})
|
|
| 630 |
+% tricky
|
|
| 631 |
+\begin{defmac}[base]{stream::}{define-external-format}{\args \var{name}
|
|
| 632 |
+ (\keys{\kwd{base} \kwd{min} \kwd{max} \kwd{size} \kwd{documentation}})
|
|
| 633 | 633 |
(\amprest{} \var{slots})
|
| 634 |
- \morekeys{\var{octets-to-code} \var{code-to-octets}
|
|
| 635 |
- \var{flush-state} \var{copy-state}}}
|
|
| 634 |
+ \\
|
|
| 635 |
+ \= \ampoptional{} \var{octets-to-code} \var{code-to-octets} \var{flush-state} \var{copy-state}}
|
|
| 636 | 636 |
|
| 637 | 637 |
|
| 638 | 638 |
If \kwd{base} is not given, this defines a new external format of
|
| ... | ... | @@ -726,7 +726,7 @@ external format is defined using the macro |
| 726 | 726 |
\subsection{Composing External Formats}
|
| 727 | 727 |
|
| 728 | 728 |
\begin{defmac}{stream:}{define-composing-external-format}{\args \var{name}
|
| 729 |
- (\keys{\var{min} \var{max} \var{size} \var{documentation}}) \var{input}
|
|
| 729 |
+ (\keys{\kwd{min} \kwd{max} \kwd{size} \kwd{documentation}}) \var{input}
|
|
| 730 | 730 |
\var{output}}
|
| 731 | 731 |
This is the same as \code{define-external-format}, except that a
|
| 732 | 732 |
composing external format is created.
|