Merge from emacs--devo--0
Patches applied: * emacs--devo--0 (patch 866-879) - Merge multi-tty branch - Update from CVS - Merge from emacs--rel--22 Revision: emacs@sv.gnu.org/emacs--unicode--0--patch-257
This commit is contained in:
commit
c73bd236f7
416 changed files with 80201 additions and 99211 deletions
|
@ -5,22 +5,20 @@ Tasks needed before the next release.
|
|||
** Check for widow and orphan lines in manuals;
|
||||
make sure all the pages really look ok in the manual as formatted.
|
||||
|
||||
** Regenerate the postscript files of the reference cards in etc.
|
||||
** Regenerate the pdf versions of the reference cards in etc/refcards/.
|
||||
|
||||
** Ask maintainers of refcard translations to update them.
|
||||
|
||||
Requests to have been sent out on 2006-05-23 (Reiner Steib).
|
||||
Emacs 22 translators:
|
||||
|
||||
LANG Translator Status
|
||||
cs Pavel Janík Can't work on it now.
|
||||
de Sven Joachim Done
|
||||
fr Eric Jacoboni Done
|
||||
pl Włodek Bzyl Done
|
||||
pt-br Rodrigo Real Done
|
||||
ru Alex Ott Done
|
||||
sk Miroslav Vaško No response
|
||||
|
||||
Reminders sent out on 2006-06-08.
|
||||
cs Pavel Janík
|
||||
de Sven Joachim
|
||||
fr Eric Jacoboni
|
||||
pl Włodek Bzyl
|
||||
pt-br Rodrigo Real
|
||||
ru Alex Ott
|
||||
sk Miroslav Vaško
|
||||
|
||||
** Remove temporary +++/--- lines in NEWS.
|
||||
|
||||
|
@ -47,20 +45,45 @@ GNU/Linux system.
|
|||
|
||||
* BUGS
|
||||
|
||||
NB the definitive copy of this file for Emacs 22 is on the
|
||||
EMACS_22_BASE branch. Any entries below are automatically copied from
|
||||
that branch. Do not make manual changes to this file on the trunk.
|
||||
** Document the changes introduced by multi-tty
|
||||
http://lists.gnu.org/archive/html/emacs-devel/2007-08/msg01639.html
|
||||
http://lists.gnu.org/archive/html/emacs-devel/2007-08/msg01602.html
|
||||
|
||||
** ams@gnu.org, 9 July: eshell and external commands
|
||||
http://lists.gnu.org/archive/html/emacs-devel/2007-08/msg00385.html
|
||||
** Does deleting frames run Lisp code? If so, can we get rid of that?
|
||||
It is a dangerous design.
|
||||
http://lists.gnu.org/archive/html/emacs-devel/2007-09/msg01330.html
|
||||
|
||||
** Check all non-file-scope static vars to make sure they
|
||||
won't lose on USG or HPUX systems.
|
||||
** Why were the calls to x_fully_uncatch_errors commented out in eval.c?
|
||||
http://lists.gnu.org/archive/html/emacs-devel/2007-09/msg01987.html
|
||||
|
||||
* FIXES FOR EMACS 22.3
|
||||
** raman@users.sf.net, sep 7: Emacs 23.0.50: Segfaults in alloc.c (batch process)
|
||||
http://lists.gnu.org/archive/html/emacs-devel/2007-09/msg00690.html
|
||||
|
||||
Here we list any small fixes that arrived too late for Emacs 22.2, but
|
||||
that should be installed on the release branch after 22.2 is released.
|
||||
** grep et al should use font-lock to do highlighting, so that they respect font-lock-mode.
|
||||
"can't turn off font-lock"
|
||||
http://lists.gnu.org/archive/html/emacs-devel/2007-08/msg00548.html
|
||||
|
||||
** mah@everybody.org, Sep 18: erc causes emacs to hang with multi-tty
|
||||
http://lists.gnu.org/archive/html/emacs-devel/2007-09/msg01765.html
|
||||
|
||||
** jbw@macs.hw.ac.uk, Sep 18: before-string property has no effect if display property is empty
|
||||
http://lists.gnu.org/archive/html/bug-gnu-emacs/2007-09/msg00094.html
|
||||
http://lists.gnu.org/archive/html/emacs-devel/2007-09/msg01816.html
|
||||
|
||||
** sdl.web@gmail.com, Sep 24: TLS infinite loop.
|
||||
http://lists.gnu.org/archive/html/emacs-devel/2007-09/msg01720.html
|
||||
|
||||
** herring@lanl.gov: find-func: can no longer find adviced subrs
|
||||
This ought to work.
|
||||
|
||||
** \\{...} produces duplicate entries
|
||||
http://lists.gnu.org/archive/html/emacs-devel/2007-05/msg00209.html
|
||||
|
||||
** menu indications of key bindings for remapped commands
|
||||
http://lists.gnu.org/archive/html/emacs-devel/2007-05/msg01339.html
|
||||
|
||||
** tromey@redhat.com: two View-mode "quit" bugs
|
||||
http://lists.gnu.org/archive/html/emacs-devel/2007-07/msg00103.html
|
||||
|
||||
* DOCUMENTATION
|
||||
|
||||
|
@ -68,8 +91,8 @@ that should be installed on the release branch after 22.2 is released.
|
|||
|
||||
The first line of every tutorial must begin with text ending in a
|
||||
period (".", ASCII 0x2E) saying "Emacs Tutorial" in the respective
|
||||
language. This should be followed by "See end for copying
|
||||
conditions", likewise in the respective language.
|
||||
language. This should be followed by "See end for copying conditions",
|
||||
likewise in the respective language.
|
||||
|
||||
After each file name, on the same line or the following line, come the
|
||||
names of the people who have checked it.
|
||||
|
|
|
@ -10,7 +10,7 @@ For each step, check for possible errors.
|
|||
make sure that the later tagged version will bootstrap, should it be
|
||||
necessary to check it out.
|
||||
|
||||
3. Regenerate Emacs' AUTHORS file (M-x load-file RET
|
||||
3. Regenerate Emacs' etc/AUTHORS file (M-x load-file RET
|
||||
lisp/emacs-lisp/authors.el RET, then M-x authors RET, then save
|
||||
the *Authors* buffer). This may require fixing syntactically
|
||||
incorrect ChangeLog entries beforehand.
|
||||
|
@ -21,7 +21,7 @@ For each step, check for possible errors.
|
|||
|
||||
5. rm configure; make bootstrap
|
||||
|
||||
6. Commit configure, README, AUTHORS, lisp/finder-inf.el,
|
||||
6. Commit configure, README, etc/AUTHORS, lisp/finder-inf.el,
|
||||
lisp/version.el, man/emacs.texi, lispref/elisp.texi,
|
||||
mac/Emacs.app/Contents/Resources/English.lproj/InfoPlist.strings,
|
||||
mac/src/Emacs.r, nt/emacs.rc. Copy lisp/loaddefs.el to
|
||||
|
|
5
admin/notes/changelogs
Normal file
5
admin/notes/changelogs
Normal file
|
@ -0,0 +1,5 @@
|
|||
http://lists.gnu.org/archive/html/emacs-devel/2007-09/msg00793.html
|
||||
There is no need to make change log entries for files such as NEWS,
|
||||
MAINTAINERS, and FOR-RELEASE.
|
||||
|
||||
The same applies for regenerating files like configure.
|
1362
admin/notes/multi-tty
Normal file
1362
admin/notes/multi-tty
Normal file
File diff suppressed because it is too large
Load diff
|
@ -60,9 +60,12 @@
|
|||
file, plus temacs.exe and dump.bat, which are required if you want to
|
||||
redump emacs without recompiling it.
|
||||
|
||||
+ libxpm-src.zip
|
||||
Source code for libXpm-X11R7.2-3.5.6 modified to compile on Windows.
|
||||
This corresponds to the libXpm.dll in emacs-22.2-bin-i386.zip
|
||||
+ libxpm-3.5.7-w32-src.zip
|
||||
Source code required to compile libXpm-3.5.7 on Windows. Contains
|
||||
a basic Makefile for compiling with mingw32 and a .def file for
|
||||
generating a DLL with the appropriate exports in addition to the
|
||||
source code to provide the subset of functionality Emacs uses from
|
||||
libXpm. This corresponds to the libXpm.dll in emacs-22.2-bin-i386.zip
|
||||
and emacs-22.2-barebin-i386.zip.
|
||||
|
||||
|
||||
|
@ -93,7 +96,7 @@
|
|||
the black and white versions of the toolbar icons.
|
||||
|
||||
XPM: a Windows port of the XPM library corresponding to the x.org
|
||||
release of X11R7.2 is included with the binary distribution, but
|
||||
release of X11R7.3 is included with the binary distribution, but
|
||||
can be replaced by other versions with the name xpm4.dll,
|
||||
libxpm-nox4.dll or libxpm.dll.
|
||||
|
||||
|
|
21
doc/lispintro/.gitignore
vendored
Normal file
21
doc/lispintro/.gitignore
vendored
Normal file
|
@ -0,0 +1,21 @@
|
|||
*.aux
|
||||
*.fn
|
||||
*.fns
|
||||
*.cps
|
||||
*.cp
|
||||
*.kys
|
||||
*.ky
|
||||
*.toc
|
||||
*.pgs
|
||||
*.pg
|
||||
*.log
|
||||
*.vrs
|
||||
*.vr
|
||||
*.dvi
|
||||
*.ps
|
||||
*.tp
|
||||
*.tps
|
||||
*.tmp
|
||||
*.txt
|
||||
Makefile
|
||||
makefile
|
287
doc/lispintro/ChangeLog
Normal file
287
doc/lispintro/ChangeLog
Normal file
|
@ -0,0 +1,287 @@
|
|||
2007-09-12 Robert J. Chassell <bob@rattlesnake.com>
|
||||
|
||||
* emacs-lisp-intro.texi: Add email address to Thank You correctly
|
||||
|
||||
2007-09-06 Romain Francoise <romain@orebokech.com>
|
||||
|
||||
* Makefile.in (maintainer-clean): Delete info files.
|
||||
|
||||
2007-09-06 Glenn Morris <rgm@gnu.org>
|
||||
|
||||
* Move from lispintro/ to doc/lispintro/.
|
||||
* Makefile.in (infodir): Go up one more level.
|
||||
(usermanualdir): Change from ../man to ../emacs.
|
||||
* makefile.w32-in (infodir, ENVADD): Go up one more level.
|
||||
* emacs-lisp-intro.texi (setfilename): Go up one more level.
|
||||
|
||||
2007-07-30 Robert J. Chassell <bob@rattlesnake.com>
|
||||
|
||||
* emacs-lisp-intro.texi: Fix typo on line 5173, change `thee' to
|
||||
`these'.
|
||||
|
||||
2007-07-25 Glenn Morris <rgm@gnu.org>
|
||||
|
||||
* Relicense all FSF files to GPLv3 or later.
|
||||
|
||||
2007-06-02 Chong Yidong <cyd@stupidchicken.com>
|
||||
|
||||
* Version 22.1 released.
|
||||
|
||||
2007-01-30 Robert J. Chassell <bob@rattlesnake.com>
|
||||
|
||||
* emacs-lisp-intro.texi (else): Rephrase message of first
|
||||
if-then-else example so it is right both in itself and in the
|
||||
"true" case of the expression, which asks whether 4 is greater
|
||||
than 5.
|
||||
|
||||
2006-11-27 Andreas Schwab <schwab@suse.de>
|
||||
|
||||
* Makefile.in (usermanualdir): Define.
|
||||
(emacs-lisp-intro.dvi): Pass -I options to texi2dvi instead of
|
||||
using TEXINPUTS.
|
||||
|
||||
* emacs-lisp-intro.texi: Input texinfo instead of ../man/texinfo
|
||||
to fix building outside source directory.
|
||||
|
||||
2006-11-09 Robert J. Chassell <bob@rattlesnake.com>
|
||||
|
||||
* emacs-lisp-intro.texi: Copy descriptions from detailed master
|
||||
menu to menus within body.
|
||||
|
||||
* emacs-lisp-intro.texi (at the beginning): Add `other shell
|
||||
commands' to produce additional output formats; total is now ten.
|
||||
(A Loop with an Incrementing Counter, and others): Ensure Info
|
||||
menus will appear in short windows.
|
||||
(Disentangle beginning-of-buffer): Replace `version 21' with `more
|
||||
recent versions'.
|
||||
(Simple Extension): Show how to handle multiple versions by adding
|
||||
an alternative with a test of `>= 21'
|
||||
|
||||
|
||||
2006-11-06 Robert J. Chassell <bob@rattlesnake.com>
|
||||
|
||||
* emacs-lisp-intro.texi: Finish minor changes seen from DVI output.
|
||||
Replace 22.1.100 with 22.1.1.
|
||||
(current-kill): Mention functions that directly or indirectly call
|
||||
`kill-new', which sets `kill-ring-yank-pointer'.
|
||||
(Understanding current-kill): Change `lasted' to `last'. Remove
|
||||
extraneous parenthesis. Reword item about returning `car' of list.
|
||||
(yank): Remove mention of `rotate-yank-pointer'.
|
||||
(Y Axis Element): Add comment regarding replacement of blank space.
|
||||
(print-Y-axis Penultimate): Explain that `print-graph' will pass
|
||||
`height-of-top-line' so `print-Y-axis' does not have a bug.
|
||||
|
||||
2006-11-05 Robert J. Chassell <bob@rattlesnake.com>
|
||||
|
||||
* emacs-lisp-intro.texi: Yet more minor changes:
|
||||
(defcustom): Said that `:options' is usually for a hook. Remove
|
||||
extraneous space in parenthetical remark concerning
|
||||
`text-mode-hook-identify'. At end, mention other defines, too.
|
||||
(Beginning a .emacs File): Reverse words about comments so they
|
||||
parallel numbers of listed semi-colons.
|
||||
(Text and Auto-fill): Remove extraneous blank line in example.
|
||||
(Mail Aliases): Remove extraneous blank line in example.
|
||||
(Keybindings): Reformat as needed with `key' rather than `kbd'.
|
||||
(Keybindings, Miscellaneous, Mode Line): For small book format, start
|
||||
section name on top of new page.
|
||||
(Simple Extension): Replace longer expression with
|
||||
`emacs-major-version'. Remove comment about `number-to-string'
|
||||
function.
|
||||
(Miscellaneous): Add filename option, `-H', to `grep' example
|
||||
(debug, debug-on-entry): Replace `GNU Emacs 22' with `a recent
|
||||
GNU Emacs'.
|
||||
(edebug): More properly state where to place point for 'M-x
|
||||
edebug-defun'.
|
||||
|
||||
* emacs-lisp-intro.texi: More minor changes.
|
||||
Center images for TeX output.
|
||||
(kill-new function): Remove indentation for sentence talking about
|
||||
momentarily skipping code.
|
||||
(cons & search-fwd Review): Document @code{funcall}. Document
|
||||
@code{re-search-forward} with existing @code{search-forward}.
|
||||
Reference chapter on regular expression searches.
|
||||
(Recursion with list): Specify a more recent version as being Emacs.
|
||||
(Recursion with list, Every, recursive-graph-body-print): Change
|
||||
`if ... progn' expression to `when'.
|
||||
(Recursive triangle function): For printing in small book, ensure
|
||||
section name is not last on bottom of preceding page.
|
||||
(Keep): Remove extraneous space in function definition example.
|
||||
(sentence-end): Specify `in English' for glyphs that end a sentence.
|
||||
Note that in GNU Emacs 22, the name refers to both a variable and a
|
||||
function.
|
||||
(fwd-sentence while loops): Write a function as one, not as a form
|
||||
(fwd-para let): Add `which' to sentence with `parstart' and `parsep'.
|
||||
(etags): Move sentences involving `find-tag' and sources. State
|
||||
location of Emacs `src' directory.
|
||||
(Design count-words-region): Better explain two backslashes in a row.
|
||||
(Find a File): Fix grammar; add a `to' and write `to visit'. Change
|
||||
`named' to `selected'.
|
||||
(lengths-list-file): Remove extraneous parenthesis from reference.
|
||||
(lengths-list-many-files): Explain `expand-file-name' better.
|
||||
(Files List): Rephrase sentence regarding Lisp sources directory
|
||||
|
||||
2006-11-04 Robert J. Chassell <bob@rattlesnake.com>
|
||||
|
||||
* emacs-lisp-intro.texi: Replace 22.0.100 with 22.1.100.
|
||||
(defcustom): Note that the value set by defconst is a variable.
|
||||
(Buffer Size & Locations): Parenthetical remark about evaluation.
|
||||
(Finding More): Change text to include C sources by inference.
|
||||
|
||||
* emacs-lisp-intro.texi: Minor fixes.
|
||||
Replace all tabs with eight spaces each so printed text looks correct.
|
||||
Remove extraneous comma in a printed node name produced by `ref'.
|
||||
(insert-buffer): Add a missing beginning parenthesis.
|
||||
(beginning-of-buffer): Add `beginning of' to note about accessible
|
||||
portion.
|
||||
(narrow Exercise): Write closing parenthesis at end of correct
|
||||
paragraph.
|
||||
(zap-to-char): Remove extraneous `a' from first sentence.
|
||||
(Complete zap-to-char): Remove two extraneous sentences.
|
||||
(zap-to-char body): Move sentences on documentation two nodes earlier.
|
||||
(Lisp macro): Add definition of `unless' macro.
|
||||
(last-command & this-command): Remove comment that `we have not yet
|
||||
seen' the @code{eq} function.
|
||||
(kill-append function): Reformat `kill-append' function definition so
|
||||
it prints well.
|
||||
(kill-new function): Indent the sentence beginning `notice'. Replace
|
||||
`the same as' with `similar to'. Repair typo. Remove obsolete
|
||||
references to `yank' and `yank-pop. End section with a note that `we
|
||||
will digress into C.'
|
||||
|
||||
2006-11-02 Robert J. Chassell <bob@rattlesnake.com>
|
||||
|
||||
* emacs-lisp-intro.texi (kill-ring-yank-pointer): Revert addition
|
||||
of extraneous quotation mark to rotate-yank-pointer.
|
||||
|
||||
2006-11-01 Juri Linkov <juri@jurta.org>
|
||||
|
||||
* emacs-lisp-intro.texi: Fix unbalanced quotes.
|
||||
|
||||
2006-10-31 Robert J. Chassell <bob@rattlesnake.com>
|
||||
|
||||
* emacs-lisp-intro.texi: Revised text for kill-region,
|
||||
copy-region-as-kill, kill-append, kill-new, forward-sentence,
|
||||
forward-paragraph, find-file, current-kill, yank, and yank-pop.
|
||||
Removed INSTALL MANIFEST from the directory since those files are
|
||||
now irrelevant. Updated Info file in ../info. Changed numbering
|
||||
so is now Revised Third Edition and this instance's edition-number
|
||||
is 3.00. Did not update ISBN number.
|
||||
|
||||
* emacs-lisp-intro.texi: Remove version reference for X colors.
|
||||
Document `='. Remove mention that :eval was new in 21. Updated
|
||||
instance's edition-number to 3.01.
|
||||
|
||||
2006-10-30 Robert J. Chassell <bob@rattlesnake.com>
|
||||
|
||||
* emacs-lisp-intro.texi: Many changes since it turned out that
|
||||
many `simple' functions were rewritten. Changes to the text
|
||||
regarding zap-to-char, mark-whole-buffer, append-to-buffer,
|
||||
copy-to-buffer, beginning-of-buffer, what-line, and possibly
|
||||
others. (I have not reviewed all yet.) This instance does build
|
||||
for Info and TeX.
|
||||
|
||||
2006-10-29 Chong Yidong <cyd@stupidchicken.com>
|
||||
|
||||
* Makefile.in: Use relative paths to avoid advertising filesystem
|
||||
contents during compilation.
|
||||
|
||||
2006-08-21 Robert J. Chassell <bob@rattlesnake.com>
|
||||
|
||||
* emacs-lisp-intro.texi: deleted in directory copy of texinfo.tex
|
||||
and pointed towards ../man/texinfo.tex so only one file
|
||||
needs updating. Added comment of what to do when building on own.
|
||||
|
||||
* texinfo.tex: changed to version 2006-02-13.16
|
||||
to enable a DVI build using the more recent versions of TeX.
|
||||
|
||||
2006-05-25 David Kastrup <dak@gnu.org>
|
||||
|
||||
* emacs-lisp-intro.texi (setcar): replace an antelope rather than
|
||||
a giraffe with a hippopotamus.
|
||||
|
||||
2006-05-19 Thien-Thi Nguyen <ttn@gnu.org>
|
||||
|
||||
* emacs-lisp-intro.texi (Digression concerning error): Fix typo.
|
||||
|
||||
2005-09-16 Romain Francoise <romain@orebokech.com>
|
||||
|
||||
* emacs-lisp-intro.texi (GNU Free Documentation License):
|
||||
Specify GFDL version 1.2.
|
||||
|
||||
2005-07-30 Eli Zaretskii <eliz@gnu.org>
|
||||
|
||||
* makefile.w32-in (info): Don't run install-info.
|
||||
($(infodir)/dir): New target, produced by running install-info.
|
||||
|
||||
2005-07-04 Lute Kamstra <lute@gnu.org>
|
||||
|
||||
Update FSF's address in GPL notices.
|
||||
|
||||
* emacs-lisp-intro.texi: Update FSF's address.
|
||||
|
||||
2004-04-23 Juanma Barranquero <lektu@terra.es>
|
||||
|
||||
* makefile.w32-in: Add "-*- makefile -*-" mode tag.
|
||||
|
||||
2004-02-29 Juanma Barranquero <lektu@terra.es>
|
||||
|
||||
* makefile.w32-in (mostlyclean, clean, maintainer-clean): Use
|
||||
$(DEL) instead of rm, and ignore exit code.
|
||||
|
||||
2003-11-16 Kevin Ryde <user42@zip.com.au>
|
||||
|
||||
* emacs-lisp-intro.texi: [CVS commitment by <bob@rattlesnake.com>]
|
||||
Corrections to cross references,
|
||||
(Interactive Options): elisp "interactive" -> "Using Interactive".
|
||||
(defvar and asterisk): Remove emacs "Edit Options" reference,
|
||||
edit-options is no longer described in the emacs manual.
|
||||
(Lists diagrammed): elisp "List Type" -> "Cons Cell Type".
|
||||
|
||||
2003-09-03 Peter Runestig <peter@runestig.com>
|
||||
|
||||
* makefile.w32-in: New file.
|
||||
|
||||
2001-11-29 Eli Zaretskii <eliz@is.elta.co.il>
|
||||
|
||||
* emacs-lisp-intro.texi (Index): @ignore extraneous text.
|
||||
Use @dircategory and @direntry to define the DIR entry.
|
||||
|
||||
2001-11-25 Robert J. Chassell <bob@rattlesnake.com>
|
||||
|
||||
* emacs-lisp-intro.texi: Move @contents to the beginning of the
|
||||
file. Set the size to @smallbook.
|
||||
|
||||
2001-11-24 Eli Zaretskii <eliz@is.elta.co.il>
|
||||
|
||||
* Makefile.in: New file.
|
||||
|
||||
* README: Update.
|
||||
|
||||
* *.eps: Rename to avoid clashes in DOS 8+3 namespace.
|
||||
|
||||
;; Local Variables:
|
||||
;; coding: iso-2022-7bit
|
||||
;; add-log-time-zone-rule: t
|
||||
;; End:
|
||||
|
||||
Copyright (C) 2001, 2002, 2003, 2004, 2005,
|
||||
2006, 2007 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Emacs.
|
||||
|
||||
GNU Emacs is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 3, or (at your option)
|
||||
any later version.
|
||||
|
||||
GNU Emacs is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with GNU Emacs; see the file COPYING. If not, write to the
|
||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
Boston, MA 02110-1301, USA.
|
||||
|
||||
;;; arch-tag: ee4f8e1f-e14c-4d2e-86de-4dd697e6f1c3
|
7
doc/lispintro/Makefile.am
Normal file
7
doc/lispintro/Makefile.am
Normal file
|
@ -0,0 +1,7 @@
|
|||
AUTOMAKE_OPTIONS = foreign 1.2
|
||||
info_TEXINFOS = emacs-lisp-intro.texi
|
||||
EXTRA_DIST = INSTALL MANIFEST README drawers.eps \
|
||||
cons-1.eps cons-2.eps cons-2a.eps cons-3.eps \
|
||||
cons-4.eps cons-5.eps lambda-1.eps lambda-2.eps lambda-3.eps
|
||||
|
||||
# arch-tag: 6a3e6d99-7aa2-479f-939c-5531165c5747
|
73
doc/lispintro/Makefile.in
Normal file
73
doc/lispintro/Makefile.in
Normal file
|
@ -0,0 +1,73 @@
|
|||
#### Makefile for the Emacs Lisp Introduction manual
|
||||
|
||||
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2001, 2002,
|
||||
# 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
|
||||
|
||||
# This file is part of GNU Emacs.
|
||||
|
||||
# GNU Emacs is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 3, or (at your option)
|
||||
# any later version.
|
||||
|
||||
# GNU Emacs is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with GNU Emacs; see the file COPYING. If not, write to
|
||||
# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
# Boston, MA 02110-1301, USA.
|
||||
|
||||
SHELL = @SHELL@
|
||||
|
||||
srcdir = @srcdir@
|
||||
VPATH = @srcdir@
|
||||
|
||||
infodir = ../../info
|
||||
usermanualdir = $(srcdir)/../emacs
|
||||
|
||||
INFO_SOURCES = ${srcdir}/emacs-lisp-intro.texi
|
||||
# The file name eintr must fit within 5 characters, to allow for
|
||||
# -NN extensions to fit into DOS 8+3 limits without clashing
|
||||
INFO_TARGETS = ${infodir}/eintr
|
||||
DVI_TARGETS = emacs-lisp-intro.dvi
|
||||
|
||||
MAKEINFO = makeinfo
|
||||
TEXI2DVI = texi2dvi
|
||||
DVIPS = dvips
|
||||
|
||||
.SUFFIXES: .dvi .ps .texi
|
||||
|
||||
info: $(INFO_TARGETS)
|
||||
|
||||
dvi: $(DVI_TARGETS)
|
||||
|
||||
${infodir}/eintr: ${INFO_SOURCES}
|
||||
cd $(srcdir); $(MAKEINFO) emacs-lisp-intro.texi -o $(infodir)/eintr
|
||||
|
||||
emacs-lisp-intro.dvi: ${INFO_SOURCES}
|
||||
$(TEXI2DVI) -I $(srcdir) -I $(usermanualdir) $(srcdir)/emacs-lisp-intro.texi
|
||||
|
||||
emacs-lisp-intro.html: $(INFO_SOURCES)
|
||||
$(MAKEINFO) --html -o $@ $(srcdir)/emacs-lisp-intro.texi
|
||||
|
||||
.dvi.ps:
|
||||
$(DVIPS) $< -o $@
|
||||
|
||||
mostlyclean:
|
||||
rm -f *.log *.cp *.fn *.ky *.pg *.vr *.tp
|
||||
|
||||
clean: mostlyclean
|
||||
rm -f *.dvi
|
||||
|
||||
distclean: clean
|
||||
|
||||
maintainer-clean: distclean
|
||||
rm -f *.aux *.cps *.fns *.kys *.pgs *.vrs *.toc
|
||||
cd $(infodir); rm -f eintr eintr-[1-9]
|
||||
|
||||
# Tell versions [3.59,3.63) of GNU make to not export all variables.
|
||||
# Otherwise a system limit (for SysV at least) may be exceeded.
|
||||
.NOEXPORT:
|
344
doc/lispintro/Makefile.old
Normal file
344
doc/lispintro/Makefile.old
Normal file
|
@ -0,0 +1,344 @@
|
|||
# Makefile.in generated automatically by automake 1.4-p4 from Makefile.am
|
||||
|
||||
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2001, 2002, 2003,
|
||||
# 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
|
||||
# This Makefile.in is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
# with or without modifications, as long as this notice is preserved.
|
||||
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
|
||||
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
||||
# PARTICULAR PURPOSE.
|
||||
|
||||
|
||||
SHELL = @SHELL@
|
||||
|
||||
srcdir = @srcdir@
|
||||
top_srcdir = @top_srcdir@
|
||||
VPATH = @srcdir@
|
||||
prefix = @prefix@
|
||||
exec_prefix = @exec_prefix@
|
||||
|
||||
bindir = @bindir@
|
||||
sbindir = @sbindir@
|
||||
libexecdir = @libexecdir@
|
||||
datadir = @datadir@
|
||||
sysconfdir = @sysconfdir@
|
||||
sharedstatedir = @sharedstatedir@
|
||||
localstatedir = @localstatedir@
|
||||
libdir = @libdir@
|
||||
infodir = @infodir@
|
||||
mandir = @mandir@
|
||||
includedir = @includedir@
|
||||
oldincludedir = /usr/include
|
||||
|
||||
DESTDIR =
|
||||
|
||||
pkgdatadir = $(datadir)/@PACKAGE@
|
||||
pkglibdir = $(libdir)/@PACKAGE@
|
||||
pkgincludedir = $(includedir)/@PACKAGE@
|
||||
|
||||
top_builddir = .
|
||||
|
||||
ACLOCAL = @ACLOCAL@
|
||||
AUTOCONF = @AUTOCONF@
|
||||
AUTOMAKE = @AUTOMAKE@
|
||||
AUTOHEADER = @AUTOHEADER@
|
||||
|
||||
INSTALL = @INSTALL@
|
||||
INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
|
||||
INSTALL_DATA = @INSTALL_DATA@
|
||||
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
||||
transform = @program_transform_name@
|
||||
|
||||
NORMAL_INSTALL = :
|
||||
PRE_INSTALL = :
|
||||
POST_INSTALL = :
|
||||
NORMAL_UNINSTALL = :
|
||||
PRE_UNINSTALL = :
|
||||
POST_UNINSTALL = :
|
||||
MAKEINFO = @MAKEINFO@
|
||||
PACKAGE = @PACKAGE@
|
||||
VERSION = @VERSION@
|
||||
|
||||
AUTOMAKE_OPTIONS = foreign 1.2
|
||||
info_TEXINFOS = emacs-lisp-intro.texi
|
||||
EXTRA_DIST = INSTALL MANIFEST README chest-of-drawers-diagram.eps cons-cell-diagram1.eps cons-cell-diagram2.eps cons-cell-diagram2a.eps cons-cell-diagram3.eps cons-cell-diagram4.eps cons-cell-diagram5.eps lambda-diagram1.eps lambda-diagram2.eps lambda-diagram3.eps
|
||||
|
||||
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
||||
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
|
||||
CONFIG_CLEAN_FILES =
|
||||
TEXI2DVI = texi2dvi
|
||||
INFO_DEPS = emacs-lisp-intro.info
|
||||
DVIS = emacs-lisp-intro.dvi
|
||||
TEXINFOS = emacs-lisp-intro.texi
|
||||
DIST_COMMON = README INSTALL Makefile.am Makefile.in aclocal.m4 \
|
||||
configure configure.in install-sh missing mkinstalldirs texinfo.tex
|
||||
|
||||
|
||||
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
|
||||
|
||||
TAR = tar
|
||||
GZIP_ENV = --best
|
||||
all: all-redirect
|
||||
.SUFFIXES:
|
||||
.SUFFIXES: .dvi .info .ps .texi .texinfo .txi
|
||||
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
|
||||
cd $(top_srcdir) && $(AUTOMAKE) --foreign --include-deps Makefile
|
||||
|
||||
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||
cd $(top_builddir) \
|
||||
&& CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status
|
||||
|
||||
$(ACLOCAL_M4): configure.in
|
||||
cd $(srcdir) && $(ACLOCAL)
|
||||
|
||||
config.status: $(srcdir)/configure.in $(CONFIG_STATUS_DEPENDENCIES)
|
||||
$(SHELL) ./config.status --recheck
|
||||
$(srcdir)/configure: $(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES)
|
||||
cd $(srcdir) && $(AUTOCONF)
|
||||
|
||||
emacs-lisp-intro.info: emacs-lisp-intro.texi
|
||||
emacs-lisp-intro.dvi: emacs-lisp-intro.texi
|
||||
|
||||
|
||||
DVIPS = dvips
|
||||
|
||||
.texi.info:
|
||||
@cd $(srcdir) && rm -f $@ $@-[0-9] $@-[0-9][0-9]
|
||||
cd $(srcdir) \
|
||||
&& $(MAKEINFO) `echo $< | sed 's,.*/,,'`
|
||||
|
||||
.texi.dvi:
|
||||
TEXINPUTS=.:$$TEXINPUTS \
|
||||
MAKEINFO='$(MAKEINFO) -I $(srcdir)' $(TEXI2DVI) $<
|
||||
|
||||
.texi:
|
||||
@cd $(srcdir) && rm -f $@ $@-[0-9] $@-[0-9][0-9]
|
||||
cd $(srcdir) \
|
||||
&& $(MAKEINFO) `echo $< | sed 's,.*/,,'`
|
||||
|
||||
.texinfo.info:
|
||||
@cd $(srcdir) && rm -f $@ $@-[0-9] $@-[0-9][0-9]
|
||||
cd $(srcdir) \
|
||||
&& $(MAKEINFO) `echo $< | sed 's,.*/,,'`
|
||||
|
||||
.texinfo:
|
||||
@cd $(srcdir) && rm -f $@ $@-[0-9] $@-[0-9][0-9]
|
||||
cd $(srcdir) \
|
||||
&& $(MAKEINFO) `echo $< | sed 's,.*/,,'`
|
||||
|
||||
.texinfo.dvi:
|
||||
TEXINPUTS=.:$$TEXINPUTS \
|
||||
MAKEINFO='$(MAKEINFO) -I $(srcdir)' $(TEXI2DVI) $<
|
||||
|
||||
.txi.info:
|
||||
@cd $(srcdir) && rm -f $@ $@-[0-9] $@-[0-9][0-9]
|
||||
cd $(srcdir) \
|
||||
&& $(MAKEINFO) `echo $< | sed 's,.*/,,'`
|
||||
|
||||
.txi.dvi:
|
||||
TEXINPUTS=.:$$TEXINPUTS \
|
||||
MAKEINFO='$(MAKEINFO) -I $(srcdir)' $(TEXI2DVI) $<
|
||||
|
||||
.txi:
|
||||
@cd $(srcdir) && rm -f $@ $@-[0-9] $@-[0-9][0-9]
|
||||
cd $(srcdir) \
|
||||
&& $(MAKEINFO) `echo $< | sed 's,.*/,,'`
|
||||
.dvi.ps:
|
||||
$(DVIPS) $< -o $@
|
||||
|
||||
install-info-am: $(INFO_DEPS)
|
||||
@$(NORMAL_INSTALL)
|
||||
$(mkinstalldirs) $(DESTDIR)$(infodir)
|
||||
@list='$(INFO_DEPS)'; \
|
||||
for file in $$list; do \
|
||||
d=$(srcdir); \
|
||||
for ifile in `cd $$d && echo $$file $$file-[0-9] $$file-[0-9][0-9]`; do \
|
||||
if test -f $$d/$$ifile; then \
|
||||
echo " $(INSTALL_DATA) $$d/$$ifile $(DESTDIR)$(infodir)/$$ifile"; \
|
||||
$(INSTALL_DATA) $$d/$$ifile $(DESTDIR)$(infodir)/$$ifile; \
|
||||
else : ; fi; \
|
||||
done; \
|
||||
done
|
||||
@$(POST_INSTALL)
|
||||
@if $(SHELL) -c 'install-info --version | sed 1q | fgrep -s -v -i debian' >/dev/null 2>&1; then \
|
||||
list='$(INFO_DEPS)'; \
|
||||
for file in $$list; do \
|
||||
echo " install-info --info-dir=$(DESTDIR)$(infodir) $(DESTDIR)$(infodir)/$$file";\
|
||||
install-info --info-dir=$(DESTDIR)$(infodir) $(DESTDIR)$(infodir)/$$file || :;\
|
||||
done; \
|
||||
else : ; fi
|
||||
|
||||
uninstall-info:
|
||||
$(PRE_UNINSTALL)
|
||||
@if $(SHELL) -c 'install-info --version | sed 1q | fgrep -s -v -i debian' >/dev/null 2>&1; then \
|
||||
ii=yes; \
|
||||
else ii=; fi; \
|
||||
list='$(INFO_DEPS)'; \
|
||||
for file in $$list; do \
|
||||
test -z "$$ii" \
|
||||
|| install-info --info-dir=$(DESTDIR)$(infodir) --remove $$file; \
|
||||
done
|
||||
@$(NORMAL_UNINSTALL)
|
||||
list='$(INFO_DEPS)'; \
|
||||
for file in $$list; do \
|
||||
(cd $(DESTDIR)$(infodir) && rm -f $$file $$file-[0-9] $$file-[0-9][0-9]); \
|
||||
done
|
||||
|
||||
dist-info: $(INFO_DEPS)
|
||||
list='$(INFO_DEPS)'; \
|
||||
for base in $$list; do \
|
||||
d=$(srcdir); \
|
||||
for file in `cd $$d && eval echo $$base*`; do \
|
||||
test -f $(distdir)/$$file \
|
||||
|| ln $$d/$$file $(distdir)/$$file 2> /dev/null \
|
||||
|| cp -p $$d/$$file $(distdir)/$$file; \
|
||||
done; \
|
||||
done
|
||||
|
||||
mostlyclean-aminfo:
|
||||
-rm -f emacs-lisp-intro.aux emacs-lisp-intro.cp emacs-lisp-intro.cps \
|
||||
emacs-lisp-intro.dvi emacs-lisp-intro.fn emacs-lisp-intro.fns \
|
||||
emacs-lisp-intro.ky emacs-lisp-intro.kys emacs-lisp-intro.ps \
|
||||
emacs-lisp-intro.log emacs-lisp-intro.pg emacs-lisp-intro.toc \
|
||||
emacs-lisp-intro.tp emacs-lisp-intro.tps emacs-lisp-intro.vr \
|
||||
emacs-lisp-intro.vrs emacs-lisp-intro.op emacs-lisp-intro.tr \
|
||||
emacs-lisp-intro.cv emacs-lisp-intro.cn
|
||||
|
||||
clean-aminfo:
|
||||
|
||||
distclean-aminfo:
|
||||
|
||||
maintainer-clean-aminfo:
|
||||
cd $(srcdir) && for i in $(INFO_DEPS); do \
|
||||
rm -f $$i; \
|
||||
if test "`echo $$i-[0-9]*`" != "$$i-[0-9]*"; then \
|
||||
rm -f $$i-[0-9]*; \
|
||||
fi; \
|
||||
done
|
||||
tags: TAGS
|
||||
TAGS:
|
||||
|
||||
|
||||
distdir = $(PACKAGE)-$(VERSION)
|
||||
top_distdir = $(distdir)
|
||||
|
||||
# This target untars the dist file and tries a VPATH configuration. Then
|
||||
# it guarantees that the distribution is self-contained by making another
|
||||
# tarfile.
|
||||
distcheck: dist
|
||||
-rm -rf $(distdir)
|
||||
GZIP=$(GZIP_ENV) $(TAR) zxf $(distdir).tar.gz
|
||||
mkdir $(distdir)/=build
|
||||
mkdir $(distdir)/=inst
|
||||
dc_install_base=`cd $(distdir)/=inst && pwd`; \
|
||||
cd $(distdir)/=build \
|
||||
&& ../configure --srcdir=.. --prefix=$$dc_install_base \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) dvi \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) check \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) install \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) installcheck \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) dist
|
||||
-rm -rf $(distdir)
|
||||
@banner="$(distdir).tar.gz is ready for distribution"; \
|
||||
dashes=`echo "$$banner" | sed s/./=/g`; \
|
||||
echo "$$dashes"; \
|
||||
echo "$$banner"; \
|
||||
echo "$$dashes"
|
||||
dist: distdir
|
||||
-chmod -R a+r $(distdir)
|
||||
GZIP=$(GZIP_ENV) $(TAR) chozf $(distdir).tar.gz $(distdir)
|
||||
-rm -rf $(distdir)
|
||||
dist-all: distdir
|
||||
-chmod -R a+r $(distdir)
|
||||
GZIP=$(GZIP_ENV) $(TAR) chozf $(distdir).tar.gz $(distdir)
|
||||
-rm -rf $(distdir)
|
||||
distdir: $(DISTFILES)
|
||||
-rm -rf $(distdir)
|
||||
mkdir $(distdir)
|
||||
-chmod 777 $(distdir)
|
||||
@for file in $(DISTFILES); do \
|
||||
d=$(srcdir); \
|
||||
if test -d $$d/$$file; then \
|
||||
cp -pr $$d/$$file $(distdir)/$$file; \
|
||||
else \
|
||||
test -f $(distdir)/$$file \
|
||||
|| ln $$d/$$file $(distdir)/$$file 2> /dev/null \
|
||||
|| cp -p $$d/$$file $(distdir)/$$file || :; \
|
||||
fi; \
|
||||
done
|
||||
$(MAKE) $(AM_MAKEFLAGS) top_distdir="$(top_distdir)" distdir="$(distdir)" dist-info
|
||||
info-am: $(INFO_DEPS)
|
||||
info: info-am
|
||||
dvi-am: $(DVIS)
|
||||
dvi: dvi-am
|
||||
check-am: all-am
|
||||
check: check-am
|
||||
installcheck-am:
|
||||
installcheck: installcheck-am
|
||||
install-exec-am:
|
||||
install-exec: install-exec-am
|
||||
|
||||
install-data-am: install-info-am
|
||||
install-data: install-data-am
|
||||
|
||||
install-am: all-am
|
||||
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
|
||||
install: install-am
|
||||
uninstall-am: uninstall-info
|
||||
uninstall: uninstall-am
|
||||
all-am: Makefile $(INFO_DEPS)
|
||||
all-redirect: all-am
|
||||
install-strip:
|
||||
$(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
|
||||
installdirs:
|
||||
$(mkinstalldirs) $(DESTDIR)$(infodir)
|
||||
|
||||
|
||||
mostlyclean-generic:
|
||||
|
||||
clean-generic:
|
||||
|
||||
distclean-generic:
|
||||
-rm -f Makefile $(CONFIG_CLEAN_FILES)
|
||||
-rm -f config.cache config.log stamp-h stamp-h[0-9]*
|
||||
|
||||
maintainer-clean-generic:
|
||||
mostlyclean-am: mostlyclean-aminfo mostlyclean-generic
|
||||
|
||||
mostlyclean: mostlyclean-am
|
||||
|
||||
clean-am: clean-aminfo clean-generic mostlyclean-am
|
||||
|
||||
clean: clean-am
|
||||
|
||||
distclean-am: distclean-aminfo distclean-generic clean-am
|
||||
|
||||
distclean: distclean-am
|
||||
-rm -f config.status
|
||||
|
||||
maintainer-clean-am: maintainer-clean-aminfo maintainer-clean-generic \
|
||||
distclean-am
|
||||
@echo "This command is intended for maintainers to use;"
|
||||
@echo "it deletes files that may require special tools to rebuild."
|
||||
|
||||
maintainer-clean: maintainer-clean-am
|
||||
-rm -f config.status
|
||||
|
||||
.PHONY: install-info-am uninstall-info mostlyclean-aminfo \
|
||||
distclean-aminfo clean-aminfo maintainer-clean-aminfo tags distdir \
|
||||
info-am info dvi-am dvi check check-am installcheck-am installcheck \
|
||||
install-exec-am install-exec install-data-am install-data install-am \
|
||||
install uninstall-am uninstall all-redirect all-am all installdirs \
|
||||
mostlyclean-generic distclean-generic clean-generic \
|
||||
maintainer-clean-generic clean mostlyclean distclean maintainer-clean
|
||||
|
||||
|
||||
# Tell versions [3.59,3.63) of GNU make to not export all variables.
|
||||
# Otherwise a system limit (for SysV at least) may be exceeded.
|
||||
.NOEXPORT:
|
||||
|
||||
# arch-tag: f1a44ea0-b792-4ac7-be28-9626b972c216
|
84
doc/lispintro/README
Normal file
84
doc/lispintro/README
Normal file
|
@ -0,0 +1,84 @@
|
|||
Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007
|
||||
Free Software Foundation, Inc.
|
||||
See the end of the file for license conditions.
|
||||
|
||||
|
||||
This directory contains the source of the "Introduction to Programming
|
||||
in Emacs Lisp" written by Robert J. Chassell, bob@gnu.org. This
|
||||
manual is an elementary introduction to programming in Emacs Lisp for
|
||||
people who are not programmers, and who are not necessarily interested
|
||||
in programming, but who do want to customize or extend their computing
|
||||
environment.
|
||||
|
||||
This third edition of 2006 Oct 31 updates the previous editions to GNU
|
||||
Emacs 22.
|
||||
|
||||
The Texinfo source file `emacs-lisp-intro.texi', formats without
|
||||
reported error using `pdfeTeXk', Version 3.141592-1.21a-2.2 (Web2C
|
||||
7.5.4) and texinfo.tex version 2006-08-26.17 started by `texi2dvi'
|
||||
version 4.8, and with `makeinfo' version 4.8.
|
||||
|
||||
Also, this tar file contains the following optional Encapsulated Post
|
||||
Script figures.
|
||||
|
||||
drawers.eps 7129 bytes
|
||||
cons-1.eps 12136
|
||||
cons-2.eps 12523
|
||||
cons-2a.eps 12420
|
||||
cons-3.eps 12984
|
||||
cons-4.eps 13866
|
||||
cons-5.eps 12986
|
||||
lambda-1.eps 10252
|
||||
lambda-2.eps 10278
|
||||
lambda-3.eps 10275
|
||||
|
||||
See the beginning of the `emacs-lisp-intro.texi' file for appropriate
|
||||
settings. These figures are not necessary; they are merely nice to
|
||||
look at --- without them you get the same figures printed with ASCII
|
||||
characters.
|
||||
|
||||
Whether and how you print PostScript depends on your site. You not
|
||||
only need to set 'print-postscript-figures' before creating the .dvi
|
||||
file, but then must convert the .dvi file to .ps with a 'dvips' or
|
||||
equivalent command.
|
||||
|
||||
On some systems you will see an error message when `psfig.tex' is
|
||||
loaded for the last two .eps files:
|
||||
|
||||
! No room for a new \write .
|
||||
|
||||
If this happens, try `epsf.tex' instead of `psfig.tex', or try typing
|
||||
RET at the error; the formatting may continue successfully.
|
||||
|
||||
Or else find the section that says:
|
||||
|
||||
@c !!! Clear print-postscript-figures if the computer formatting this
|
||||
@c document is too small and cannot handle all the diagrams and figures.
|
||||
@c clear print-postscript-figures
|
||||
|
||||
and change the file so it reads: @clear print-postscript-figures
|
||||
This will prevent TeX from attempting to load the last few .eps files.
|
||||
|
||||
You will find additional instructions on formatting in the beginning
|
||||
of the Texinfo file 'emacs-lisp-intro.texi'. Best Wishes!
|
||||
|
||||
2006 Oct 31
|
||||
Robert J. Chassell, bob@gnu.org
|
||||
|
||||
|
||||
This file is part of GNU Emacs.
|
||||
|
||||
GNU Emacs is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 3, or (at your option)
|
||||
any later version.
|
||||
|
||||
GNU Emacs is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with GNU Emacs; see the file COPYING. If not, write to the
|
||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
Boston, MA 02110-1301, USA.
|
105
doc/lispintro/aclocal.m4
vendored
Normal file
105
doc/lispintro/aclocal.m4
vendored
Normal file
|
@ -0,0 +1,105 @@
|
|||
dnl aclocal.m4 generated automatically by aclocal 1.4-p4
|
||||
|
||||
dnl Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2001, 2002, 2003,
|
||||
dnl 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
|
||||
dnl This file is free software; the Free Software Foundation
|
||||
dnl gives unlimited permission to copy and/or distribute it,
|
||||
dnl with or without modifications, as long as this notice is preserved.
|
||||
|
||||
dnl This program is distributed in the hope that it will be useful,
|
||||
dnl but WITHOUT ANY WARRANTY, to the extent permitted by law; without
|
||||
dnl even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
||||
dnl PARTICULAR PURPOSE.
|
||||
|
||||
# Do all the work for Automake. This macro actually does too much --
|
||||
# some checks are only needed if your package does certain things.
|
||||
# But this isn't really a big deal.
|
||||
|
||||
# serial 1
|
||||
|
||||
dnl Usage:
|
||||
dnl AM_INIT_AUTOMAKE(package,version, [no-define])
|
||||
|
||||
AC_DEFUN(AM_INIT_AUTOMAKE,
|
||||
[AC_REQUIRE([AC_PROG_INSTALL])
|
||||
PACKAGE=[$1]
|
||||
AC_SUBST(PACKAGE)
|
||||
VERSION=[$2]
|
||||
AC_SUBST(VERSION)
|
||||
dnl test to see if srcdir already configured
|
||||
if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
|
||||
AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
|
||||
fi
|
||||
ifelse([$3],,
|
||||
AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
|
||||
AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package]))
|
||||
AC_REQUIRE([AM_SANITY_CHECK])
|
||||
AC_REQUIRE([AC_ARG_PROGRAM])
|
||||
dnl FIXME This is truly gross.
|
||||
missing_dir=`cd $ac_aux_dir && pwd`
|
||||
AM_MISSING_PROG(ACLOCAL, aclocal, $missing_dir)
|
||||
AM_MISSING_PROG(AUTOCONF, autoconf, $missing_dir)
|
||||
AM_MISSING_PROG(AUTOMAKE, automake, $missing_dir)
|
||||
AM_MISSING_PROG(AUTOHEADER, autoheader, $missing_dir)
|
||||
AM_MISSING_PROG(MAKEINFO, makeinfo, $missing_dir)
|
||||
AC_REQUIRE([AC_PROG_MAKE_SET])])
|
||||
|
||||
#
|
||||
# Check to make sure that the build environment is sane.
|
||||
#
|
||||
|
||||
AC_DEFUN(AM_SANITY_CHECK,
|
||||
[AC_MSG_CHECKING([whether build environment is sane])
|
||||
# Just in case
|
||||
sleep 1
|
||||
echo timestamp > conftestfile
|
||||
# Do `set' in a subshell so we don't clobber the current shell's
|
||||
# arguments. Must try -L first in case configure is actually a
|
||||
# symlink; some systems play weird games with the mod time of symlinks
|
||||
# (eg FreeBSD returns the mod time of the symlink's containing
|
||||
# directory).
|
||||
if (
|
||||
set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null`
|
||||
if test "[$]*" = "X"; then
|
||||
# -L didn't work.
|
||||
set X `ls -t $srcdir/configure conftestfile`
|
||||
fi
|
||||
if test "[$]*" != "X $srcdir/configure conftestfile" \
|
||||
&& test "[$]*" != "X conftestfile $srcdir/configure"; then
|
||||
|
||||
# If neither matched, then we have a broken ls. This can happen
|
||||
# if, for instance, CONFIG_SHELL is bash and it inherits a
|
||||
# broken ls alias from the environment. This has actually
|
||||
# happened. Such a system could not be considered "sane".
|
||||
AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken
|
||||
alias in your environment])
|
||||
fi
|
||||
|
||||
test "[$]2" = conftestfile
|
||||
)
|
||||
then
|
||||
# Ok.
|
||||
:
|
||||
else
|
||||
AC_MSG_ERROR([newly created file is older than distributed files!
|
||||
Check your system clock])
|
||||
fi
|
||||
rm -f conftest*
|
||||
AC_MSG_RESULT(yes)])
|
||||
|
||||
dnl AM_MISSING_PROG(NAME, PROGRAM, DIRECTORY)
|
||||
dnl The program must properly implement --version.
|
||||
AC_DEFUN(AM_MISSING_PROG,
|
||||
[AC_MSG_CHECKING(for working $2)
|
||||
# Run test in a subshell; some versions of sh will print an error if
|
||||
# an executable is not found, even if stderr is redirected.
|
||||
# Redirect stdin to placate older versions of autoconf. Sigh.
|
||||
if ($2 --version) < /dev/null > /dev/null 2>&1; then
|
||||
$1=$2
|
||||
AC_MSG_RESULT(found)
|
||||
else
|
||||
$1="$3/missing $2"
|
||||
AC_MSG_RESULT(missing)
|
||||
fi
|
||||
AC_SUBST($1)])
|
||||
|
1044
doc/lispintro/configure
vendored
Executable file
1044
doc/lispintro/configure
vendored
Executable file
File diff suppressed because it is too large
Load diff
9
doc/lispintro/configure.in
Normal file
9
doc/lispintro/configure.in
Normal file
|
@ -0,0 +1,9 @@
|
|||
dnl autoconf input file for the emacs lisp intro
|
||||
|
||||
AC_INIT(emacs-lisp-intro.texi)
|
||||
AM_INIT_AUTOMAKE(emacs-lisp-intro, 2.00)
|
||||
AC_OUTPUT(Makefile)
|
||||
|
||||
m4_if(dnl Do not change this comment
|
||||
arch-tag: 8d676bd8-8677-4ae0-8aa0-99bfd595b373
|
||||
)dnl
|
584
doc/lispintro/cons-1.eps
Normal file
584
doc/lispintro/cons-1.eps
Normal file
|
@ -0,0 +1,584 @@
|
|||
%!
|
||||
%%BoundingBox: 35 711 289 757
|
||||
%%Title: cons-cell-diagram1
|
||||
%%CreationDate: Wed Mar 8 14:26:58 1995
|
||||
%%Creator: Tgif-2.16-p4 by William Chia-Wei Cheng (william@cs.UCLA.edu)
|
||||
%
|
||||
% Due to bugs in Transcript, the 'PS-Adobe-' stuff is omitted from line 1
|
||||
%
|
||||
|
||||
% Copyright (C) 1995, 1997, 2001, 2002, 2003, 2004, 2005, 2006, 2007
|
||||
% Free Software Foundation, Inc.
|
||||
%
|
||||
% This file is part of GNU Emacs.
|
||||
%
|
||||
% GNU Emacs is free software; you can redistribute it and/or modify
|
||||
% it under the terms of the GNU General Public License as published by
|
||||
% the Free Software Foundation; either version 3, or (at your option)
|
||||
% any later version.
|
||||
%
|
||||
% GNU Emacs is distributed in the hope that it will be useful,
|
||||
% but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
% GNU General Public License for more details.
|
||||
%
|
||||
% You should have received a copy of the GNU General Public License
|
||||
% along with GNU Emacs; see the file COPYING. If not, write to
|
||||
% the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
% Boston, MA 02110-1301, USA.
|
||||
|
||||
/tgifdict 132 dict def
|
||||
tgifdict begin
|
||||
|
||||
%
|
||||
% Using a zero value radius for an ellipse or an arc would result
|
||||
% in a non-invertible CTM matrix which causes problem when this
|
||||
% when this PostScript is wrapped inside other routines, such as
|
||||
% the multi.ps package from
|
||||
% ftp.ucc.su.oz.au:/pub/ps_printing/multi. You can overcome such
|
||||
% error by uncommenting the sole line of the procedure below:
|
||||
%
|
||||
/tgif_min_radius
|
||||
{
|
||||
% dup 0.01 lt { pop 0.01 } if
|
||||
} bind def
|
||||
|
||||
/tgifellipsedict 6 dict def
|
||||
tgifellipsedict /mtrx matrix put
|
||||
|
||||
/tgifellipse
|
||||
{ tgifellipsedict begin
|
||||
/yrad exch def
|
||||
/xrad exch def
|
||||
/y exch def
|
||||
/x exch def
|
||||
/savematrix mtrx currentmatrix def
|
||||
x y translate
|
||||
xrad yrad scale
|
||||
0 0 1 0 360 arc
|
||||
savematrix setmatrix
|
||||
end
|
||||
} def
|
||||
|
||||
/tgifarrowtipdict 8 dict def
|
||||
tgifarrowtipdict /mtrx matrix put
|
||||
|
||||
/tgifarrowtip
|
||||
{ tgifarrowtipdict begin
|
||||
/dy exch def
|
||||
/dx exch def
|
||||
/h exch def
|
||||
/w exch def
|
||||
/y exch def
|
||||
/x exch def
|
||||
/savematrix mtrx currentmatrix def
|
||||
x y translate
|
||||
dy dx atan rotate
|
||||
0 0 moveto
|
||||
w neg h lineto
|
||||
w neg h neg lineto
|
||||
savematrix setmatrix
|
||||
end
|
||||
} def
|
||||
|
||||
/tgifarcdict 8 dict def
|
||||
tgifarcdict /mtrx matrix put
|
||||
|
||||
/tgifarcn
|
||||
{ tgifarcdict begin
|
||||
/endangle exch def
|
||||
/startangle exch def
|
||||
/yrad exch def
|
||||
/xrad exch def
|
||||
/y exch def
|
||||
/x exch def
|
||||
/savematrix mtrx currentmatrix def
|
||||
x y translate
|
||||
xrad yrad scale
|
||||
0 0 1 startangle endangle arc
|
||||
savematrix setmatrix
|
||||
end
|
||||
} def
|
||||
|
||||
/tgifarc
|
||||
{ tgifarcdict begin
|
||||
/endangle exch def
|
||||
/startangle exch def
|
||||
/yrad exch def
|
||||
/xrad exch def
|
||||
/y exch def
|
||||
/x exch def
|
||||
/savematrix mtrx currentmatrix def
|
||||
x y translate
|
||||
xrad yrad scale
|
||||
0 0 1 startangle endangle arcn
|
||||
savematrix setmatrix
|
||||
end
|
||||
} def
|
||||
|
||||
/tgifsetuserscreendict 22 dict def
|
||||
tgifsetuserscreendict begin
|
||||
/tempctm matrix def
|
||||
/temprot matrix def
|
||||
/tempscale matrix def
|
||||
|
||||
/concatprocs
|
||||
{ /proc2 exch cvlit def
|
||||
/proc1 exch cvlit def
|
||||
/newproc proc1 length proc2 length add array def
|
||||
newproc 0 proc1 putinterval
|
||||
newproc proc1 length proc2 putinterval
|
||||
newproc cvx
|
||||
} def
|
||||
/resmatrix matrix def
|
||||
/findresolution
|
||||
{ 72 0 resmatrix defaultmatrix dtransform
|
||||
/yres exch def /xres exch def
|
||||
xres dup mul yres dup mul add sqrt
|
||||
} def
|
||||
end
|
||||
|
||||
/tgifsetuserscreen
|
||||
{ tgifsetuserscreendict begin
|
||||
/spotfunction exch def
|
||||
/screenangle exch def
|
||||
/cellsize exch def
|
||||
|
||||
/m tempctm currentmatrix def
|
||||
/rm screenangle temprot rotate def
|
||||
/sm cellsize dup tempscale scale def
|
||||
|
||||
sm rm m m concatmatrix m concatmatrix pop
|
||||
|
||||
1 0 m dtransform /y1 exch def /x1 exch def
|
||||
|
||||
/veclength x1 dup mul y1 dup mul add sqrt def
|
||||
/frequency findresolution veclength div def
|
||||
|
||||
/newscreenangle y1 x1 atan def
|
||||
|
||||
m 2 get m 1 get mul m 0 get m 3 get mul sub 0 gt
|
||||
|
||||
{{neg} /spotfunction load concatprocs
|
||||
/spotfunction exch def
|
||||
} if
|
||||
|
||||
frequency newscreenangle /spotfunction load setscreen
|
||||
end
|
||||
} def
|
||||
|
||||
/tgifsetpatterndict 18 dict def
|
||||
tgifsetpatterndict begin
|
||||
/bitison
|
||||
{ /ybit exch def /xbit exch def
|
||||
/bytevalue bstring ybit bwidth mul xbit 8 idiv add get def
|
||||
|
||||
/mask 1 7 xbit 8 mod sub bitshift def
|
||||
bytevalue mask and 0 ne
|
||||
} def
|
||||
end
|
||||
|
||||
/tgifbitpatternspotfunction
|
||||
{ tgifsetpatterndict begin
|
||||
/y exch def /x exch def
|
||||
|
||||
/xindex x 1 add 2 div bpside mul cvi def
|
||||
/yindex y 1 add 2 div bpside mul cvi def
|
||||
|
||||
xindex yindex bitison
|
||||
{ /onbits onbits 1 add def 1 }
|
||||
{ /offbits offbits 1 add def 0 }
|
||||
ifelse
|
||||
end
|
||||
} def
|
||||
|
||||
/tgifsetpattern
|
||||
{ tgifsetpatterndict begin
|
||||
/cellsz exch def
|
||||
/angle exch def
|
||||
/bwidth exch def
|
||||
/bpside exch def
|
||||
/bstring exch def
|
||||
|
||||
/onbits 0 def /offbits 0 def
|
||||
cellsz angle /tgifbitpatternspotfunction load tgifsetuserscreen
|
||||
{} settransfer
|
||||
offbits offbits onbits add div setgray
|
||||
end
|
||||
} def
|
||||
|
||||
/tgifxpmdict 4 dict def
|
||||
/tgifbwpicstr 1 string def
|
||||
/tgifcolorpicstr 3 string def
|
||||
|
||||
/tgifsetpixels { tgifxpmdict begin /pixels exch def end } def
|
||||
|
||||
/tgifsetpix { tgifxpmdict begin pixels 3 1 roll putinterval end } def
|
||||
|
||||
/tgifbwspot
|
||||
{ tgifxpmdict begin
|
||||
/index exch def
|
||||
tgifbwpicstr 0
|
||||
pixels index 3 mul 3 getinterval aload pop
|
||||
255 mul .114 mul exch 255 mul .587 mul add exch 255 mul .299 mul add
|
||||
cvi put
|
||||
tgifbwpicstr
|
||||
end
|
||||
} def
|
||||
|
||||
/tgifcolorspot
|
||||
{ tgifxpmdict begin
|
||||
/index exch def
|
||||
pixels index 3 mul 3 getinterval aload pop
|
||||
255 mul cvi tgifcolorpicstr 2 3 -1 roll put
|
||||
255 mul cvi tgifcolorpicstr 1 3 -1 roll put
|
||||
255 mul cvi tgifcolorpicstr 0 3 -1 roll put
|
||||
tgifcolorpicstr
|
||||
end
|
||||
} def
|
||||
|
||||
/tgifnewcolorspot
|
||||
{ tgifxpmdict begin
|
||||
/index exch def
|
||||
pixels index 3 mul 3 getinterval aload pop setrgbcolor
|
||||
end
|
||||
} def
|
||||
|
||||
/tgifcolordict 4 dict def
|
||||
|
||||
/colorimage where
|
||||
{ pop }
|
||||
{ /colorimage
|
||||
{ tgifcolordict begin
|
||||
pop pop pop pop pop
|
||||
/ih exch def
|
||||
/iw exch def
|
||||
/x 0 def
|
||||
/y 0 def
|
||||
1 1 ih
|
||||
{ pop 1 1 iw
|
||||
{ pop currentfile
|
||||
tgifbwpicstr readhexstring pop 0 get tgifnewcolorspot
|
||||
x y moveto 1 0 rlineto 0 1 rlineto -1 0 rlineto
|
||||
closepath fill
|
||||
/x x 1 add def
|
||||
} for
|
||||
/y y 1 add def
|
||||
/x 0 def
|
||||
} for
|
||||
end
|
||||
} def
|
||||
} ifelse
|
||||
|
||||
/tgifpatdict 10 dict def
|
||||
|
||||
/tgifpatbyte
|
||||
{ currentdict /retstr get exch
|
||||
pat i cellsz mod get put
|
||||
} def
|
||||
|
||||
/tgifpatproc
|
||||
{ 0 1 widthlim {tgifpatbyte} for retstr
|
||||
/i i 1 add def
|
||||
} def
|
||||
|
||||
/tgifpatfill
|
||||
{ tgifpatdict begin
|
||||
/h exch def
|
||||
/w exch def
|
||||
/lty exch def
|
||||
/ltx exch def
|
||||
/cellsz exch def
|
||||
/pat exch def
|
||||
|
||||
/widthlim w cellsz div cvi 1 sub def
|
||||
/retstr widthlim 1 add string def
|
||||
/i 0 def
|
||||
|
||||
ltx lty translate
|
||||
w h true [1 0 0 1 0 0] {tgifpatproc} imagemask
|
||||
ltx neg lty neg translate
|
||||
end
|
||||
} def
|
||||
|
||||
/pat1 <ffffffffffffffff> def
|
||||
/pat2 <0000000000000000> def
|
||||
/pat3 <8000000008000000> def
|
||||
/pat4 <8800000022000000> def
|
||||
/pat5 <8800220088002200> def
|
||||
/pat6 <8822882288228822> def
|
||||
/pat7 <aa55aa55aa55aa55> def
|
||||
/pat8 <77dd77dd77dd77dd> def
|
||||
/pat9 <77ffddff77ffddff> def
|
||||
/pat10 <77ffffff77ffffff> def
|
||||
/pat11 <7fffffff7fffffff> def
|
||||
/pat12 <8040200002040800> def
|
||||
/pat13 <40a00000040a0000> def
|
||||
/pat14 <ff888888ff888888> def
|
||||
/pat15 <ff808080ff080808> def
|
||||
/pat16 <f87422478f172271> def
|
||||
/pat17 <038448300c020101> def
|
||||
/pat18 <081c22c180010204> def
|
||||
/pat19 <8080413e080814e3> def
|
||||
/pat20 <8040201008040201> def
|
||||
/pat21 <8844221188442211> def
|
||||
/pat22 <77bbddee77bbddee> def
|
||||
/pat23 <c1e070381c0e0783> def
|
||||
/pat24 <7fbfdfeff7fbfdfe> def
|
||||
/pat25 <3e1f8fc7e3f1f87c> def
|
||||
/pat26 <0102040810204080> def
|
||||
/pat27 <1122448811224488> def
|
||||
/pat28 <eeddbb77eeddbb77> def
|
||||
/pat29 <83070e1c3870e0c1> def
|
||||
/pat30 <fefdfbf7efdfbf7f> def
|
||||
/pat31 <7cf8f1e3c78f1f3e> def
|
||||
|
||||
/tgifcentertext { dup stringwidth pop 2 div neg 0 rmoveto } def
|
||||
|
||||
/tgifrighttext { dup stringwidth pop neg 0 rmoveto } def
|
||||
|
||||
/tgifreencsmalldict 12 dict def
|
||||
/tgifReEncodeSmall
|
||||
{ tgifreencsmalldict begin
|
||||
/newcodesandnames exch def
|
||||
/newfontname exch def
|
||||
/basefontname exch def
|
||||
|
||||
/basefontdict basefontname findfont def
|
||||
/newfont basefontdict maxlength dict def
|
||||
|
||||
basefontdict
|
||||
{ exch dup /FID ne
|
||||
{ dup /Encoding eq
|
||||
{ exch dup length array copy newfont 3 1 roll put }
|
||||
{ exch newfont 3 1 roll put }
|
||||
ifelse
|
||||
}
|
||||
{ pop pop }
|
||||
ifelse
|
||||
}
|
||||
forall
|
||||
|
||||
newfont /FontName newfontname put
|
||||
newcodesandnames aload pop
|
||||
|
||||
newcodesandnames length 2 idiv
|
||||
{ newfont /Encoding get 3 1 roll put}
|
||||
repeat
|
||||
|
||||
newfontname newfont definefont pop
|
||||
end
|
||||
} def
|
||||
|
||||
/tgifgray { 8 1 0 72 300 32 div div tgifsetpattern } bind def
|
||||
|
||||
/tgifboxdict 6 dict def
|
||||
/tgifboxstroke
|
||||
{ tgifboxdict begin
|
||||
/pat def /w def /y2 exch def /x2 exch def /y1 exch def /x1 exch def
|
||||
1.415 setmiterlimit
|
||||
w 1 eq { w setlinewidth } if
|
||||
pat pat1 ne pat pat2 ne and { gsave pat tgifgray } if
|
||||
newpath x1 y1 moveto x2 y1 lineto x2 y2 lineto x1 y2 lineto closepath
|
||||
pat pat2 eq { 1 setgray stroke 0 setgray } { stroke } ifelse
|
||||
pat pat1 ne pat pat2 ne and { grestore } if
|
||||
w 1 eq { 1 setlinewidth } if
|
||||
1 setmiterlimit
|
||||
end
|
||||
} def
|
||||
/tgifboxfill
|
||||
{ tgifboxdict begin
|
||||
/pat def /y2 exch def /x2 exch def /y1 exch def /x1 exch def
|
||||
pat pat1 ne pat pat2 ne and { gsave pat tgifgray } if
|
||||
newpath x1 y1 moveto x2 y1 lineto x2 y2 lineto x1 y2 lineto closepath
|
||||
pat pat2 eq { 1 setgray fill 0 setgray } { fill } ifelse
|
||||
pat pat1 ne pat pat2 ne and { grestore } if
|
||||
end
|
||||
} def
|
||||
|
||||
end
|
||||
|
||||
%%PageBoundingBox: 35 711 289 757
|
||||
tgifdict begin
|
||||
/tgifsavedpage save def
|
||||
|
||||
1 setmiterlimit
|
||||
1 setlinewidth
|
||||
|
||||
0 setgray
|
||||
|
||||
72 0 mul 72 11.00 mul translate
|
||||
72 128 div 100 mul 100 div dup neg scale
|
||||
|
||||
gsave
|
||||
|
||||
% BOX
|
||||
gsave
|
||||
1.415 setmiterlimit
|
||||
newpath
|
||||
66 66 moveto 130 66 lineto 130 98 lineto 66 98 lineto
|
||||
closepath stroke
|
||||
1 setmiterlimit
|
||||
grestore
|
||||
|
||||
% POLY/OPEN-SPLINE
|
||||
gsave
|
||||
newpath
|
||||
98 66 moveto
|
||||
98 98 lineto
|
||||
stroke
|
||||
grestore
|
||||
|
||||
% POLY/OPEN-SPLINE
|
||||
gsave
|
||||
newpath
|
||||
114 82 moveto
|
||||
0 80 atan dup cos 8 mul 194 exch sub
|
||||
exch sin 8 mul 82 exch sub lineto
|
||||
stroke
|
||||
grestore
|
||||
gsave
|
||||
newpath
|
||||
194 82 8 3 80 0 tgifarrowtip
|
||||
closepath fill
|
||||
grestore
|
||||
|
||||
% TEXT
|
||||
0 setgray
|
||||
/Courier findfont [17 0 0 -17 0 0] makefont setfont
|
||||
gsave
|
||||
146 136 moveto (rose) show
|
||||
grestore
|
||||
|
||||
% POLY/OPEN-SPLINE
|
||||
gsave
|
||||
newpath
|
||||
82 82 moveto
|
||||
82 131 lineto
|
||||
0 48 atan dup cos 8 mul 130 exch sub
|
||||
exch sin 8 mul 131 exch sub lineto
|
||||
stroke
|
||||
grestore
|
||||
gsave
|
||||
newpath
|
||||
130 131 8 3 48 0 tgifarrowtip
|
||||
closepath fill
|
||||
grestore
|
||||
|
||||
% BOX
|
||||
gsave
|
||||
1.415 setmiterlimit
|
||||
newpath
|
||||
199 66 moveto 263 66 lineto 263 98 lineto 199 98 lineto
|
||||
closepath stroke
|
||||
1 setmiterlimit
|
||||
grestore
|
||||
|
||||
% POLY/OPEN-SPLINE
|
||||
gsave
|
||||
newpath
|
||||
231 66 moveto
|
||||
231 98 lineto
|
||||
stroke
|
||||
grestore
|
||||
|
||||
% POLY/OPEN-SPLINE
|
||||
gsave
|
||||
newpath
|
||||
247 82 moveto
|
||||
0 93 atan dup cos 8 mul 340 exch sub
|
||||
exch sin 8 mul 82 exch sub lineto
|
||||
stroke
|
||||
grestore
|
||||
gsave
|
||||
newpath
|
||||
340 82 8 3 93 0 tgifarrowtip
|
||||
closepath fill
|
||||
grestore
|
||||
|
||||
% TEXT
|
||||
0 setgray
|
||||
/Courier findfont [17 0 0 -17 0 0] makefont setfont
|
||||
gsave
|
||||
279 136 moveto (violet) show
|
||||
grestore
|
||||
|
||||
% POLY/OPEN-SPLINE
|
||||
gsave
|
||||
newpath
|
||||
215 82 moveto
|
||||
215 131 lineto
|
||||
0 48 atan dup cos 8 mul 263 exch sub
|
||||
exch sin 8 mul 131 exch sub lineto
|
||||
stroke
|
||||
grestore
|
||||
gsave
|
||||
newpath
|
||||
263 131 8 3 48 0 tgifarrowtip
|
||||
closepath fill
|
||||
grestore
|
||||
|
||||
% BOX
|
||||
gsave
|
||||
1.415 setmiterlimit
|
||||
newpath
|
||||
342 64 moveto 406 64 lineto 406 96 lineto 342 96 lineto
|
||||
closepath stroke
|
||||
1 setmiterlimit
|
||||
grestore
|
||||
|
||||
% POLY/OPEN-SPLINE
|
||||
gsave
|
||||
newpath
|
||||
373 64 moveto
|
||||
373 96 lineto
|
||||
stroke
|
||||
grestore
|
||||
|
||||
% POLY/OPEN-SPLINE
|
||||
gsave
|
||||
newpath
|
||||
389 81 moveto
|
||||
0 48 atan dup cos 8 mul 437 exch sub
|
||||
exch sin 8 mul 81 exch sub lineto
|
||||
stroke
|
||||
grestore
|
||||
gsave
|
||||
newpath
|
||||
437 81 8 3 48 0 tgifarrowtip
|
||||
closepath fill
|
||||
grestore
|
||||
|
||||
% TEXT
|
||||
0 setgray
|
||||
/Courier findfont [17 0 0 -17 0 0] makefont setfont
|
||||
gsave
|
||||
421 135 moveto (buttercup) show
|
||||
grestore
|
||||
|
||||
% POLY/OPEN-SPLINE
|
||||
gsave
|
||||
newpath
|
||||
357 81 moveto
|
||||
357 130 lineto
|
||||
0 48 atan dup cos 8 mul 405 exch sub
|
||||
exch sin 8 mul 130 exch sub lineto
|
||||
stroke
|
||||
grestore
|
||||
gsave
|
||||
newpath
|
||||
405 130 8 3 48 0 tgifarrowtip
|
||||
closepath fill
|
||||
grestore
|
||||
|
||||
% TEXT
|
||||
0 setgray
|
||||
/Courier findfont [17 0 0 -17 0 0] makefont setfont
|
||||
gsave
|
||||
449 87 moveto (nil) show
|
||||
grestore
|
||||
|
||||
grestore
|
||||
tgifsavedpage restore
|
||||
end
|
||||
%MatchingCreationDate: Wed Mar 8 14:26:58 1995
|
606
doc/lispintro/cons-2.eps
Normal file
606
doc/lispintro/cons-2.eps
Normal file
|
@ -0,0 +1,606 @@
|
|||
%!
|
||||
%%BoundingBox: 15 712 321 775
|
||||
%%Title: cons-cell-diagram2
|
||||
%%CreationDate: Wed Mar 8 14:26:39 1995
|
||||
%%Creator: Tgif-2.16-p4 by William Chia-Wei Cheng (william@cs.UCLA.edu)
|
||||
%
|
||||
% Due to bugs in Transcript, the 'PS-Adobe-' stuff is omitted from line 1
|
||||
%
|
||||
|
||||
% Copyright (C) 1995, 1997, 2001, 2002, 2003, 2004, 2005, 2006, 2007
|
||||
% Free Software Foundation, Inc.
|
||||
%
|
||||
% This file is part of GNU Emacs.
|
||||
%
|
||||
% GNU Emacs is free software; you can redistribute it and/or modify
|
||||
% it under the terms of the GNU General Public License as published by
|
||||
% the Free Software Foundation; either version 3, or (at your option)
|
||||
% any later version.
|
||||
%
|
||||
% GNU Emacs is distributed in the hope that it will be useful,
|
||||
% but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
% GNU General Public License for more details.
|
||||
%
|
||||
% You should have received a copy of the GNU General Public License
|
||||
% along with GNU Emacs; see the file COPYING. If not, write to
|
||||
% the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
% Boston, MA 02110-1301, USA.
|
||||
|
||||
/tgifdict 132 dict def
|
||||
tgifdict begin
|
||||
|
||||
%
|
||||
% Using a zero value radius for an ellipse or an arc would result
|
||||
% in a non-invertible CTM matrix which causes problem when this
|
||||
% when this PostScript is wrapped inside other routines, such as
|
||||
% the multi.ps package from
|
||||
% ftp.ucc.su.oz.au:/pub/ps_printing/multi. You can overcome such
|
||||
% error by uncommenting the sole line of the procedure below:
|
||||
%
|
||||
/tgif_min_radius
|
||||
{
|
||||
% dup 0.01 lt { pop 0.01 } if
|
||||
} bind def
|
||||
|
||||
/tgifellipsedict 6 dict def
|
||||
tgifellipsedict /mtrx matrix put
|
||||
|
||||
/tgifellipse
|
||||
{ tgifellipsedict begin
|
||||
/yrad exch def
|
||||
/xrad exch def
|
||||
/y exch def
|
||||
/x exch def
|
||||
/savematrix mtrx currentmatrix def
|
||||
x y translate
|
||||
xrad yrad scale
|
||||
0 0 1 0 360 arc
|
||||
savematrix setmatrix
|
||||
end
|
||||
} def
|
||||
|
||||
/tgifarrowtipdict 8 dict def
|
||||
tgifarrowtipdict /mtrx matrix put
|
||||
|
||||
/tgifarrowtip
|
||||
{ tgifarrowtipdict begin
|
||||
/dy exch def
|
||||
/dx exch def
|
||||
/h exch def
|
||||
/w exch def
|
||||
/y exch def
|
||||
/x exch def
|
||||
/savematrix mtrx currentmatrix def
|
||||
x y translate
|
||||
dy dx atan rotate
|
||||
0 0 moveto
|
||||
w neg h lineto
|
||||
w neg h neg lineto
|
||||
savematrix setmatrix
|
||||
end
|
||||
} def
|
||||
|
||||
/tgifarcdict 8 dict def
|
||||
tgifarcdict /mtrx matrix put
|
||||
|
||||
/tgifarcn
|
||||
{ tgifarcdict begin
|
||||
/endangle exch def
|
||||
/startangle exch def
|
||||
/yrad exch def
|
||||
/xrad exch def
|
||||
/y exch def
|
||||
/x exch def
|
||||
/savematrix mtrx currentmatrix def
|
||||
x y translate
|
||||
xrad yrad scale
|
||||
0 0 1 startangle endangle arc
|
||||
savematrix setmatrix
|
||||
end
|
||||
} def
|
||||
|
||||
/tgifarc
|
||||
{ tgifarcdict begin
|
||||
/endangle exch def
|
||||
/startangle exch def
|
||||
/yrad exch def
|
||||
/xrad exch def
|
||||
/y exch def
|
||||
/x exch def
|
||||
/savematrix mtrx currentmatrix def
|
||||
x y translate
|
||||
xrad yrad scale
|
||||
0 0 1 startangle endangle arcn
|
||||
savematrix setmatrix
|
||||
end
|
||||
} def
|
||||
|
||||
/tgifsetuserscreendict 22 dict def
|
||||
tgifsetuserscreendict begin
|
||||
/tempctm matrix def
|
||||
/temprot matrix def
|
||||
/tempscale matrix def
|
||||
|
||||
/concatprocs
|
||||
{ /proc2 exch cvlit def
|
||||
/proc1 exch cvlit def
|
||||
/newproc proc1 length proc2 length add array def
|
||||
newproc 0 proc1 putinterval
|
||||
newproc proc1 length proc2 putinterval
|
||||
newproc cvx
|
||||
} def
|
||||
/resmatrix matrix def
|
||||
/findresolution
|
||||
{ 72 0 resmatrix defaultmatrix dtransform
|
||||
/yres exch def /xres exch def
|
||||
xres dup mul yres dup mul add sqrt
|
||||
} def
|
||||
end
|
||||
|
||||
/tgifsetuserscreen
|
||||
{ tgifsetuserscreendict begin
|
||||
/spotfunction exch def
|
||||
/screenangle exch def
|
||||
/cellsize exch def
|
||||
|
||||
/m tempctm currentmatrix def
|
||||
/rm screenangle temprot rotate def
|
||||
/sm cellsize dup tempscale scale def
|
||||
|
||||
sm rm m m concatmatrix m concatmatrix pop
|
||||
|
||||
1 0 m dtransform /y1 exch def /x1 exch def
|
||||
|
||||
/veclength x1 dup mul y1 dup mul add sqrt def
|
||||
/frequency findresolution veclength div def
|
||||
|
||||
/newscreenangle y1 x1 atan def
|
||||
|
||||
m 2 get m 1 get mul m 0 get m 3 get mul sub 0 gt
|
||||
|
||||
{{neg} /spotfunction load concatprocs
|
||||
/spotfunction exch def
|
||||
} if
|
||||
|
||||
frequency newscreenangle /spotfunction load setscreen
|
||||
end
|
||||
} def
|
||||
|
||||
/tgifsetpatterndict 18 dict def
|
||||
tgifsetpatterndict begin
|
||||
/bitison
|
||||
{ /ybit exch def /xbit exch def
|
||||
/bytevalue bstring ybit bwidth mul xbit 8 idiv add get def
|
||||
|
||||
/mask 1 7 xbit 8 mod sub bitshift def
|
||||
bytevalue mask and 0 ne
|
||||
} def
|
||||
end
|
||||
|
||||
/tgifbitpatternspotfunction
|
||||
{ tgifsetpatterndict begin
|
||||
/y exch def /x exch def
|
||||
|
||||
/xindex x 1 add 2 div bpside mul cvi def
|
||||
/yindex y 1 add 2 div bpside mul cvi def
|
||||
|
||||
xindex yindex bitison
|
||||
{ /onbits onbits 1 add def 1 }
|
||||
{ /offbits offbits 1 add def 0 }
|
||||
ifelse
|
||||
end
|
||||
} def
|
||||
|
||||
/tgifsetpattern
|
||||
{ tgifsetpatterndict begin
|
||||
/cellsz exch def
|
||||
/angle exch def
|
||||
/bwidth exch def
|
||||
/bpside exch def
|
||||
/bstring exch def
|
||||
|
||||
/onbits 0 def /offbits 0 def
|
||||
cellsz angle /tgifbitpatternspotfunction load tgifsetuserscreen
|
||||
{} settransfer
|
||||
offbits offbits onbits add div setgray
|
||||
end
|
||||
} def
|
||||
|
||||
/tgifxpmdict 4 dict def
|
||||
/tgifbwpicstr 1 string def
|
||||
/tgifcolorpicstr 3 string def
|
||||
|
||||
/tgifsetpixels { tgifxpmdict begin /pixels exch def end } def
|
||||
|
||||
/tgifsetpix { tgifxpmdict begin pixels 3 1 roll putinterval end } def
|
||||
|
||||
/tgifbwspot
|
||||
{ tgifxpmdict begin
|
||||
/index exch def
|
||||
tgifbwpicstr 0
|
||||
pixels index 3 mul 3 getinterval aload pop
|
||||
255 mul .114 mul exch 255 mul .587 mul add exch 255 mul .299 mul add
|
||||
cvi put
|
||||
tgifbwpicstr
|
||||
end
|
||||
} def
|
||||
|
||||
/tgifcolorspot
|
||||
{ tgifxpmdict begin
|
||||
/index exch def
|
||||
pixels index 3 mul 3 getinterval aload pop
|
||||
255 mul cvi tgifcolorpicstr 2 3 -1 roll put
|
||||
255 mul cvi tgifcolorpicstr 1 3 -1 roll put
|
||||
255 mul cvi tgifcolorpicstr 0 3 -1 roll put
|
||||
tgifcolorpicstr
|
||||
end
|
||||
} def
|
||||
|
||||
/tgifnewcolorspot
|
||||
{ tgifxpmdict begin
|
||||
/index exch def
|
||||
pixels index 3 mul 3 getinterval aload pop setrgbcolor
|
||||
end
|
||||
} def
|
||||
|
||||
/tgifcolordict 4 dict def
|
||||
|
||||
/colorimage where
|
||||
{ pop }
|
||||
{ /colorimage
|
||||
{ tgifcolordict begin
|
||||
pop pop pop pop pop
|
||||
/ih exch def
|
||||
/iw exch def
|
||||
/x 0 def
|
||||
/y 0 def
|
||||
1 1 ih
|
||||
{ pop 1 1 iw
|
||||
{ pop currentfile
|
||||
tgifbwpicstr readhexstring pop 0 get tgifnewcolorspot
|
||||
x y moveto 1 0 rlineto 0 1 rlineto -1 0 rlineto
|
||||
closepath fill
|
||||
/x x 1 add def
|
||||
} for
|
||||
/y y 1 add def
|
||||
/x 0 def
|
||||
} for
|
||||
end
|
||||
} def
|
||||
} ifelse
|
||||
|
||||
/tgifpatdict 10 dict def
|
||||
|
||||
/tgifpatbyte
|
||||
{ currentdict /retstr get exch
|
||||
pat i cellsz mod get put
|
||||
} def
|
||||
|
||||
/tgifpatproc
|
||||
{ 0 1 widthlim {tgifpatbyte} for retstr
|
||||
/i i 1 add def
|
||||
} def
|
||||
|
||||
/tgifpatfill
|
||||
{ tgifpatdict begin
|
||||
/h exch def
|
||||
/w exch def
|
||||
/lty exch def
|
||||
/ltx exch def
|
||||
/cellsz exch def
|
||||
/pat exch def
|
||||
|
||||
/widthlim w cellsz div cvi 1 sub def
|
||||
/retstr widthlim 1 add string def
|
||||
/i 0 def
|
||||
|
||||
ltx lty translate
|
||||
w h true [1 0 0 1 0 0] {tgifpatproc} imagemask
|
||||
ltx neg lty neg translate
|
||||
end
|
||||
} def
|
||||
|
||||
/pat1 <ffffffffffffffff> def
|
||||
/pat2 <0000000000000000> def
|
||||
/pat3 <8000000008000000> def
|
||||
/pat4 <8800000022000000> def
|
||||
/pat5 <8800220088002200> def
|
||||
/pat6 <8822882288228822> def
|
||||
/pat7 <aa55aa55aa55aa55> def
|
||||
/pat8 <77dd77dd77dd77dd> def
|
||||
/pat9 <77ffddff77ffddff> def
|
||||
/pat10 <77ffffff77ffffff> def
|
||||
/pat11 <7fffffff7fffffff> def
|
||||
/pat12 <8040200002040800> def
|
||||
/pat13 <40a00000040a0000> def
|
||||
/pat14 <ff888888ff888888> def
|
||||
/pat15 <ff808080ff080808> def
|
||||
/pat16 <f87422478f172271> def
|
||||
/pat17 <038448300c020101> def
|
||||
/pat18 <081c22c180010204> def
|
||||
/pat19 <8080413e080814e3> def
|
||||
/pat20 <8040201008040201> def
|
||||
/pat21 <8844221188442211> def
|
||||
/pat22 <77bbddee77bbddee> def
|
||||
/pat23 <c1e070381c0e0783> def
|
||||
/pat24 <7fbfdfeff7fbfdfe> def
|
||||
/pat25 <3e1f8fc7e3f1f87c> def
|
||||
/pat26 <0102040810204080> def
|
||||
/pat27 <1122448811224488> def
|
||||
/pat28 <eeddbb77eeddbb77> def
|
||||
/pat29 <83070e1c3870e0c1> def
|
||||
/pat30 <fefdfbf7efdfbf7f> def
|
||||
/pat31 <7cf8f1e3c78f1f3e> def
|
||||
|
||||
/tgifcentertext { dup stringwidth pop 2 div neg 0 rmoveto } def
|
||||
|
||||
/tgifrighttext { dup stringwidth pop neg 0 rmoveto } def
|
||||
|
||||
/tgifreencsmalldict 12 dict def
|
||||
/tgifReEncodeSmall
|
||||
{ tgifreencsmalldict begin
|
||||
/newcodesandnames exch def
|
||||
/newfontname exch def
|
||||
/basefontname exch def
|
||||
|
||||
/basefontdict basefontname findfont def
|
||||
/newfont basefontdict maxlength dict def
|
||||
|
||||
basefontdict
|
||||
{ exch dup /FID ne
|
||||
{ dup /Encoding eq
|
||||
{ exch dup length array copy newfont 3 1 roll put }
|
||||
{ exch newfont 3 1 roll put }
|
||||
ifelse
|
||||
}
|
||||
{ pop pop }
|
||||
ifelse
|
||||
}
|
||||
forall
|
||||
|
||||
newfont /FontName newfontname put
|
||||
newcodesandnames aload pop
|
||||
|
||||
newcodesandnames length 2 idiv
|
||||
{ newfont /Encoding get 3 1 roll put}
|
||||
repeat
|
||||
|
||||
newfontname newfont definefont pop
|
||||
end
|
||||
} def
|
||||
|
||||
/tgifgray { 8 1 0 72 300 32 div div tgifsetpattern } bind def
|
||||
|
||||
/tgifboxdict 6 dict def
|
||||
/tgifboxstroke
|
||||
{ tgifboxdict begin
|
||||
/pat def /w def /y2 exch def /x2 exch def /y1 exch def /x1 exch def
|
||||
1.415 setmiterlimit
|
||||
w 1 eq { w setlinewidth } if
|
||||
pat pat1 ne pat pat2 ne and { gsave pat tgifgray } if
|
||||
newpath x1 y1 moveto x2 y1 lineto x2 y2 lineto x1 y2 lineto closepath
|
||||
pat pat2 eq { 1 setgray stroke 0 setgray } { stroke } ifelse
|
||||
pat pat1 ne pat pat2 ne and { grestore } if
|
||||
w 1 eq { 1 setlinewidth } if
|
||||
1 setmiterlimit
|
||||
end
|
||||
} def
|
||||
/tgifboxfill
|
||||
{ tgifboxdict begin
|
||||
/pat def /y2 exch def /x2 exch def /y1 exch def /x1 exch def
|
||||
pat pat1 ne pat pat2 ne and { gsave pat tgifgray } if
|
||||
newpath x1 y1 moveto x2 y1 lineto x2 y2 lineto x1 y2 lineto closepath
|
||||
pat pat2 eq { 1 setgray fill 0 setgray } { fill } ifelse
|
||||
pat pat1 ne pat pat2 ne and { grestore } if
|
||||
end
|
||||
} def
|
||||
|
||||
end
|
||||
|
||||
%%PageBoundingBox: 15 712 321 775
|
||||
tgifdict begin
|
||||
/tgifsavedpage save def
|
||||
|
||||
1 setmiterlimit
|
||||
1 setlinewidth
|
||||
|
||||
0 setgray
|
||||
|
||||
72 0 mul 72 11.00 mul translate
|
||||
72 128 div 100 mul 100 div dup neg scale
|
||||
|
||||
gsave
|
||||
|
||||
% TEXT
|
||||
0 setgray
|
||||
/Courier findfont [17 0 0 -17 0 0] makefont setfont
|
||||
gsave
|
||||
32 47 moveto (bouquet) show
|
||||
grestore
|
||||
|
||||
% BOX
|
||||
gsave
|
||||
1.415 setmiterlimit
|
||||
newpath
|
||||
122 65 moveto 186 65 lineto 186 97 lineto 122 97 lineto
|
||||
closepath stroke
|
||||
1 setmiterlimit
|
||||
grestore
|
||||
|
||||
% POLY/OPEN-SPLINE
|
||||
gsave
|
||||
newpath
|
||||
154 65 moveto
|
||||
154 97 lineto
|
||||
stroke
|
||||
grestore
|
||||
|
||||
% POLY/OPEN-SPLINE
|
||||
gsave
|
||||
newpath
|
||||
170 81 moveto
|
||||
0 80 atan dup cos 8 mul 250 exch sub
|
||||
exch sin 8 mul 81 exch sub lineto
|
||||
stroke
|
||||
grestore
|
||||
gsave
|
||||
newpath
|
||||
250 81 8 3 80 0 tgifarrowtip
|
||||
closepath fill
|
||||
grestore
|
||||
|
||||
% TEXT
|
||||
0 setgray
|
||||
/Courier findfont [17 0 0 -17 0 0] makefont setfont
|
||||
gsave
|
||||
202 135 moveto (rose) show
|
||||
grestore
|
||||
|
||||
% POLY/OPEN-SPLINE
|
||||
gsave
|
||||
newpath
|
||||
138 81 moveto
|
||||
138 130 lineto
|
||||
0 48 atan dup cos 8 mul 186 exch sub
|
||||
exch sin 8 mul 130 exch sub lineto
|
||||
stroke
|
||||
grestore
|
||||
gsave
|
||||
newpath
|
||||
186 130 8 3 48 0 tgifarrowtip
|
||||
closepath fill
|
||||
grestore
|
||||
|
||||
% BOX
|
||||
gsave
|
||||
1.415 setmiterlimit
|
||||
newpath
|
||||
255 65 moveto 319 65 lineto 319 97 lineto 255 97 lineto
|
||||
closepath stroke
|
||||
1 setmiterlimit
|
||||
grestore
|
||||
|
||||
% POLY/OPEN-SPLINE
|
||||
gsave
|
||||
newpath
|
||||
287 65 moveto
|
||||
287 97 lineto
|
||||
stroke
|
||||
grestore
|
||||
|
||||
% POLY/OPEN-SPLINE
|
||||
gsave
|
||||
newpath
|
||||
303 81 moveto
|
||||
0 93 atan dup cos 8 mul 396 exch sub
|
||||
exch sin 8 mul 81 exch sub lineto
|
||||
stroke
|
||||
grestore
|
||||
gsave
|
||||
newpath
|
||||
396 81 8 3 93 0 tgifarrowtip
|
||||
closepath fill
|
||||
grestore
|
||||
|
||||
% TEXT
|
||||
0 setgray
|
||||
/Courier findfont [17 0 0 -17 0 0] makefont setfont
|
||||
gsave
|
||||
335 135 moveto (violet) show
|
||||
grestore
|
||||
|
||||
% POLY/OPEN-SPLINE
|
||||
gsave
|
||||
newpath
|
||||
271 81 moveto
|
||||
271 130 lineto
|
||||
0 48 atan dup cos 8 mul 319 exch sub
|
||||
exch sin 8 mul 130 exch sub lineto
|
||||
stroke
|
||||
grestore
|
||||
gsave
|
||||
newpath
|
||||
319 130 8 3 48 0 tgifarrowtip
|
||||
closepath fill
|
||||
grestore
|
||||
|
||||
% BOX
|
||||
gsave
|
||||
1.415 setmiterlimit
|
||||
newpath
|
||||
398 63 moveto 462 63 lineto 462 95 lineto 398 95 lineto
|
||||
closepath stroke
|
||||
1 setmiterlimit
|
||||
grestore
|
||||
|
||||
% POLY/OPEN-SPLINE
|
||||
gsave
|
||||
newpath
|
||||
429 63 moveto
|
||||
429 95 lineto
|
||||
stroke
|
||||
grestore
|
||||
|
||||
% POLY/OPEN-SPLINE
|
||||
gsave
|
||||
newpath
|
||||
445 80 moveto
|
||||
0 48 atan dup cos 8 mul 493 exch sub
|
||||
exch sin 8 mul 80 exch sub lineto
|
||||
stroke
|
||||
grestore
|
||||
gsave
|
||||
newpath
|
||||
493 80 8 3 48 0 tgifarrowtip
|
||||
closepath fill
|
||||
grestore
|
||||
|
||||
% TEXT
|
||||
0 setgray
|
||||
/Courier findfont [17 0 0 -17 0 0] makefont setfont
|
||||
gsave
|
||||
477 134 moveto (buttercup) show
|
||||
grestore
|
||||
|
||||
% POLY/OPEN-SPLINE
|
||||
gsave
|
||||
newpath
|
||||
413 80 moveto
|
||||
413 129 lineto
|
||||
0 48 atan dup cos 8 mul 461 exch sub
|
||||
exch sin 8 mul 129 exch sub lineto
|
||||
stroke
|
||||
grestore
|
||||
gsave
|
||||
newpath
|
||||
461 129 8 3 48 0 tgifarrowtip
|
||||
closepath fill
|
||||
grestore
|
||||
|
||||
% TEXT
|
||||
0 setgray
|
||||
/Courier findfont [17 0 0 -17 0 0] makefont setfont
|
||||
gsave
|
||||
505 86 moveto (nil) show
|
||||
grestore
|
||||
|
||||
% POLY/OPEN-SPLINE
|
||||
gsave
|
||||
newpath
|
||||
66 53 moveto
|
||||
66 81 lineto
|
||||
0 46 atan dup cos 8 mul 112 exch sub
|
||||
exch sin 8 mul 81 exch sub lineto
|
||||
stroke
|
||||
grestore
|
||||
gsave
|
||||
newpath
|
||||
112 81 8 3 46 0 tgifarrowtip
|
||||
closepath fill
|
||||
grestore
|
||||
|
||||
grestore
|
||||
tgifsavedpage restore
|
||||
end
|
||||
%MatchingCreationDate: Wed Mar 8 14:26:39 1995
|
600
doc/lispintro/cons-2a.eps
Normal file
600
doc/lispintro/cons-2a.eps
Normal file
|
@ -0,0 +1,600 @@
|
|||
%!
|
||||
%%BoundingBox: 15 702 300 767
|
||||
%%Title: cons-cell-diagram2a
|
||||
%%CreationDate: Tue Mar 14 15:09:30 1995
|
||||
%%Creator: Tgif-2.16-p4 by William Chia-Wei Cheng (william@cs.UCLA.edu)
|
||||
%
|
||||
% Due to bugs in Transcript, the 'PS-Adobe-' stuff is omitted from line 1
|
||||
%
|
||||
|
||||
% Copyright (C) 1995, 1997, 2001, 2002, 2003, 2004, 2005, 2006, 2007
|
||||
% Free Software Foundation, Inc.
|
||||
%
|
||||
% This file is part of GNU Emacs.
|
||||
%
|
||||
% GNU Emacs is free software; you can redistribute it and/or modify
|
||||
% it under the terms of the GNU General Public License as published by
|
||||
% the Free Software Foundation; either version 3, or (at your option)
|
||||
% any later version.
|
||||
%
|
||||
% GNU Emacs is distributed in the hope that it will be useful,
|
||||
% but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
% GNU General Public License for more details.
|
||||
%
|
||||
% You should have received a copy of the GNU General Public License
|
||||
% along with GNU Emacs; see the file COPYING. If not, write to
|
||||
% the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
% Boston, MA 02110-1301, USA.
|
||||
|
||||
/tgifdict 132 dict def
|
||||
tgifdict begin
|
||||
|
||||
%
|
||||
% Using a zero value radius for an ellipse or an arc would result
|
||||
% in a non-invertible CTM matrix which causes problem when this
|
||||
% when this PostScript is wrapped inside other routines, such as
|
||||
% the multi.ps package from
|
||||
% ftp.ucc.su.oz.au:/pub/ps_printing/multi. You can overcome such
|
||||
% error by uncommenting the sole line of the procedure below:
|
||||
%
|
||||
/tgif_min_radius
|
||||
{
|
||||
% dup 0.01 lt { pop 0.01 } if
|
||||
} bind def
|
||||
|
||||
/tgifellipsedict 6 dict def
|
||||
tgifellipsedict /mtrx matrix put
|
||||
|
||||
/tgifellipse
|
||||
{ tgifellipsedict begin
|
||||
/yrad exch def
|
||||
/xrad exch def
|
||||
/y exch def
|
||||
/x exch def
|
||||
/savematrix mtrx currentmatrix def
|
||||
x y translate
|
||||
xrad yrad scale
|
||||
0 0 1 0 360 arc
|
||||
savematrix setmatrix
|
||||
end
|
||||
} def
|
||||
|
||||
/tgifarrowtipdict 8 dict def
|
||||
tgifarrowtipdict /mtrx matrix put
|
||||
|
||||
/tgifarrowtip
|
||||
{ tgifarrowtipdict begin
|
||||
/dy exch def
|
||||
/dx exch def
|
||||
/h exch def
|
||||
/w exch def
|
||||
/y exch def
|
||||
/x exch def
|
||||
/savematrix mtrx currentmatrix def
|
||||
x y translate
|
||||
dy dx atan rotate
|
||||
0 0 moveto
|
||||
w neg h lineto
|
||||
w neg h neg lineto
|
||||
savematrix setmatrix
|
||||
end
|
||||
} def
|
||||
|
||||
/tgifarcdict 8 dict def
|
||||
tgifarcdict /mtrx matrix put
|
||||
|
||||
/tgifarcn
|
||||
{ tgifarcdict begin
|
||||
/endangle exch def
|
||||
/startangle exch def
|
||||
/yrad exch def
|
||||
/xrad exch def
|
||||
/y exch def
|
||||
/x exch def
|
||||
/savematrix mtrx currentmatrix def
|
||||
x y translate
|
||||
xrad yrad scale
|
||||
0 0 1 startangle endangle arc
|
||||
savematrix setmatrix
|
||||
end
|
||||
} def
|
||||
|
||||
/tgifarc
|
||||
{ tgifarcdict begin
|
||||
/endangle exch def
|
||||
/startangle exch def
|
||||
/yrad exch def
|
||||
/xrad exch def
|
||||
/y exch def
|
||||
/x exch def
|
||||
/savematrix mtrx currentmatrix def
|
||||
x y translate
|
||||
xrad yrad scale
|
||||
0 0 1 startangle endangle arcn
|
||||
savematrix setmatrix
|
||||
end
|
||||
} def
|
||||
|
||||
/tgifsetuserscreendict 22 dict def
|
||||
tgifsetuserscreendict begin
|
||||
/tempctm matrix def
|
||||
/temprot matrix def
|
||||
/tempscale matrix def
|
||||
|
||||
/concatprocs
|
||||
{ /proc2 exch cvlit def
|
||||
/proc1 exch cvlit def
|
||||
/newproc proc1 length proc2 length add array def
|
||||
newproc 0 proc1 putinterval
|
||||
newproc proc1 length proc2 putinterval
|
||||
newproc cvx
|
||||
} def
|
||||
/resmatrix matrix def
|
||||
/findresolution
|
||||
{ 72 0 resmatrix defaultmatrix dtransform
|
||||
/yres exch def /xres exch def
|
||||
xres dup mul yres dup mul add sqrt
|
||||
} def
|
||||
end
|
||||
|
||||
/tgifsetuserscreen
|
||||
{ tgifsetuserscreendict begin
|
||||
/spotfunction exch def
|
||||
/screenangle exch def
|
||||
/cellsize exch def
|
||||
|
||||
/m tempctm currentmatrix def
|
||||
/rm screenangle temprot rotate def
|
||||
/sm cellsize dup tempscale scale def
|
||||
|
||||
sm rm m m concatmatrix m concatmatrix pop
|
||||
|
||||
1 0 m dtransform /y1 exch def /x1 exch def
|
||||
|
||||
/veclength x1 dup mul y1 dup mul add sqrt def
|
||||
/frequency findresolution veclength div def
|
||||
|
||||
/newscreenangle y1 x1 atan def
|
||||
|
||||
m 2 get m 1 get mul m 0 get m 3 get mul sub 0 gt
|
||||
|
||||
{{neg} /spotfunction load concatprocs
|
||||
/spotfunction exch def
|
||||
} if
|
||||
|
||||
frequency newscreenangle /spotfunction load setscreen
|
||||
end
|
||||
} def
|
||||
|
||||
/tgifsetpatterndict 18 dict def
|
||||
tgifsetpatterndict begin
|
||||
/bitison
|
||||
{ /ybit exch def /xbit exch def
|
||||
/bytevalue bstring ybit bwidth mul xbit 8 idiv add get def
|
||||
|
||||
/mask 1 7 xbit 8 mod sub bitshift def
|
||||
bytevalue mask and 0 ne
|
||||
} def
|
||||
end
|
||||
|
||||
/tgifbitpatternspotfunction
|
||||
{ tgifsetpatterndict begin
|
||||
/y exch def /x exch def
|
||||
|
||||
/xindex x 1 add 2 div bpside mul cvi def
|
||||
/yindex y 1 add 2 div bpside mul cvi def
|
||||
|
||||
xindex yindex bitison
|
||||
{ /onbits onbits 1 add def 1 }
|
||||
{ /offbits offbits 1 add def 0 }
|
||||
ifelse
|
||||
end
|
||||
} def
|
||||
|
||||
/tgifsetpattern
|
||||
{ tgifsetpatterndict begin
|
||||
/cellsz exch def
|
||||
/angle exch def
|
||||
/bwidth exch def
|
||||
/bpside exch def
|
||||
/bstring exch def
|
||||
|
||||
/onbits 0 def /offbits 0 def
|
||||
cellsz angle /tgifbitpatternspotfunction load tgifsetuserscreen
|
||||
{} settransfer
|
||||
offbits offbits onbits add div setgray
|
||||
end
|
||||
} def
|
||||
|
||||
/tgifxpmdict 4 dict def
|
||||
/tgifbwpicstr 1 string def
|
||||
/tgifcolorpicstr 3 string def
|
||||
|
||||
/tgifsetpixels { tgifxpmdict begin /pixels exch def end } def
|
||||
|
||||
/tgifsetpix { tgifxpmdict begin pixels 3 1 roll putinterval end } def
|
||||
|
||||
/tgifbwspot
|
||||
{ tgifxpmdict begin
|
||||
/index exch def
|
||||
tgifbwpicstr 0
|
||||
pixels index 3 mul 3 getinterval aload pop
|
||||
255 mul .114 mul exch 255 mul .587 mul add exch 255 mul .299 mul add
|
||||
cvi put
|
||||
tgifbwpicstr
|
||||
end
|
||||
} def
|
||||
|
||||
/tgifcolorspot
|
||||
{ tgifxpmdict begin
|
||||
/index exch def
|
||||
pixels index 3 mul 3 getinterval aload pop
|
||||
255 mul cvi tgifcolorpicstr 2 3 -1 roll put
|
||||
255 mul cvi tgifcolorpicstr 1 3 -1 roll put
|
||||
255 mul cvi tgifcolorpicstr 0 3 -1 roll put
|
||||
tgifcolorpicstr
|
||||
end
|
||||
} def
|
||||
|
||||
/tgifnewcolorspot
|
||||
{ tgifxpmdict begin
|
||||
/index exch def
|
||||
pixels index 3 mul 3 getinterval aload pop setrgbcolor
|
||||
end
|
||||
} def
|
||||
|
||||
/tgifcolordict 4 dict def
|
||||
|
||||
/colorimage where
|
||||
{ pop }
|
||||
{ /colorimage
|
||||
{ tgifcolordict begin
|
||||
pop pop pop pop pop
|
||||
/ih exch def
|
||||
/iw exch def
|
||||
/x 0 def
|
||||
/y 0 def
|
||||
1 1 ih
|
||||
{ pop 1 1 iw
|
||||
{ pop currentfile
|
||||
tgifbwpicstr readhexstring pop 0 get tgifnewcolorspot
|
||||
x y moveto 1 0 rlineto 0 1 rlineto -1 0 rlineto
|
||||
closepath fill
|
||||
/x x 1 add def
|
||||
} for
|
||||
/y y 1 add def
|
||||
/x 0 def
|
||||
} for
|
||||
end
|
||||
} def
|
||||
} ifelse
|
||||
|
||||
/tgifpatdict 10 dict def
|
||||
|
||||
/tgifpatbyte
|
||||
{ currentdict /retstr get exch
|
||||
pat i cellsz mod get put
|
||||
} def
|
||||
|
||||
/tgifpatproc
|
||||
{ 0 1 widthlim {tgifpatbyte} for retstr
|
||||
/i i 1 add def
|
||||
} def
|
||||
|
||||
/tgifpatfill
|
||||
{ tgifpatdict begin
|
||||
/h exch def
|
||||
/w exch def
|
||||
/lty exch def
|
||||
/ltx exch def
|
||||
/cellsz exch def
|
||||
/pat exch def
|
||||
|
||||
/widthlim w cellsz div cvi 1 sub def
|
||||
/retstr widthlim 1 add string def
|
||||
/i 0 def
|
||||
|
||||
ltx lty translate
|
||||
w h true [1 0 0 1 0 0] {tgifpatproc} imagemask
|
||||
ltx neg lty neg translate
|
||||
end
|
||||
} def
|
||||
|
||||
/pat1 <ffffffffffffffff> def
|
||||
/pat2 <0000000000000000> def
|
||||
/pat3 <8000000008000000> def
|
||||
/pat4 <8800000022000000> def
|
||||
/pat5 <8800220088002200> def
|
||||
/pat6 <8822882288228822> def
|
||||
/pat7 <aa55aa55aa55aa55> def
|
||||
/pat8 <77dd77dd77dd77dd> def
|
||||
/pat9 <77ffddff77ffddff> def
|
||||
/pat10 <77ffffff77ffffff> def
|
||||
/pat11 <7fffffff7fffffff> def
|
||||
/pat12 <8040200002040800> def
|
||||
/pat13 <40a00000040a0000> def
|
||||
/pat14 <ff888888ff888888> def
|
||||
/pat15 <ff808080ff080808> def
|
||||
/pat16 <f87422478f172271> def
|
||||
/pat17 <038448300c020101> def
|
||||
/pat18 <081c22c180010204> def
|
||||
/pat19 <8080413e080814e3> def
|
||||
/pat20 <8040201008040201> def
|
||||
/pat21 <8844221188442211> def
|
||||
/pat22 <77bbddee77bbddee> def
|
||||
/pat23 <c1e070381c0e0783> def
|
||||
/pat24 <7fbfdfeff7fbfdfe> def
|
||||
/pat25 <3e1f8fc7e3f1f87c> def
|
||||
/pat26 <0102040810204080> def
|
||||
/pat27 <1122448811224488> def
|
||||
/pat28 <eeddbb77eeddbb77> def
|
||||
/pat29 <83070e1c3870e0c1> def
|
||||
/pat30 <fefdfbf7efdfbf7f> def
|
||||
/pat31 <7cf8f1e3c78f1f3e> def
|
||||
|
||||
/tgifcentertext { dup stringwidth pop 2 div neg 0 rmoveto } def
|
||||
|
||||
/tgifrighttext { dup stringwidth pop neg 0 rmoveto } def
|
||||
|
||||
/tgifreencsmalldict 12 dict def
|
||||
/tgifReEncodeSmall
|
||||
{ tgifreencsmalldict begin
|
||||
/newcodesandnames exch def
|
||||
/newfontname exch def
|
||||
/basefontname exch def
|
||||
|
||||
/basefontdict basefontname findfont def
|
||||
/newfont basefontdict maxlength dict def
|
||||
|
||||
basefontdict
|
||||
{ exch dup /FID ne
|
||||
{ dup /Encoding eq
|
||||
{ exch dup length array copy newfont 3 1 roll put }
|
||||
{ exch newfont 3 1 roll put }
|
||||
ifelse
|
||||
}
|
||||
{ pop pop }
|
||||
ifelse
|
||||
}
|
||||
forall
|
||||
|
||||
newfont /FontName newfontname put
|
||||
newcodesandnames aload pop
|
||||
|
||||
newcodesandnames length 2 idiv
|
||||
{ newfont /Encoding get 3 1 roll put}
|
||||
repeat
|
||||
|
||||
newfontname newfont definefont pop
|
||||
end
|
||||
} def
|
||||
|
||||
/tgifgray { 8 1 0 72 300 32 div div tgifsetpattern } bind def
|
||||
|
||||
/tgifboxdict 6 dict def
|
||||
/tgifboxstroke
|
||||
{ tgifboxdict begin
|
||||
/pat def /w def /y2 exch def /x2 exch def /y1 exch def /x1 exch def
|
||||
1.415 setmiterlimit
|
||||
w 1 eq { w setlinewidth } if
|
||||
pat pat1 ne pat pat2 ne and { gsave pat tgifgray } if
|
||||
newpath x1 y1 moveto x2 y1 lineto x2 y2 lineto x1 y2 lineto closepath
|
||||
pat pat2 eq { 1 setgray stroke 0 setgray } { stroke } ifelse
|
||||
pat pat1 ne pat pat2 ne and { grestore } if
|
||||
w 1 eq { 1 setlinewidth } if
|
||||
1 setmiterlimit
|
||||
end
|
||||
} def
|
||||
/tgifboxfill
|
||||
{ tgifboxdict begin
|
||||
/pat def /y2 exch def /x2 exch def /y1 exch def /x1 exch def
|
||||
pat pat1 ne pat pat2 ne and { gsave pat tgifgray } if
|
||||
newpath x1 y1 moveto x2 y1 lineto x2 y2 lineto x1 y2 lineto closepath
|
||||
pat pat2 eq { 1 setgray fill 0 setgray } { fill } ifelse
|
||||
pat pat1 ne pat pat2 ne and { grestore } if
|
||||
end
|
||||
} def
|
||||
|
||||
end
|
||||
|
||||
%%PageBoundingBox: 15 702 300 767
|
||||
tgifdict begin
|
||||
/tgifsavedpage save def
|
||||
|
||||
1 setmiterlimit
|
||||
1 setlinewidth
|
||||
|
||||
0 setgray
|
||||
|
||||
72 0 mul 72 11.00 mul translate
|
||||
72 128 div 100 mul 100 div dup neg scale
|
||||
|
||||
gsave
|
||||
|
||||
% TEXT
|
||||
0 setgray
|
||||
/Courier findfont [17 0 0 -17 0 0] makefont setfont
|
||||
gsave
|
||||
32 62 moveto (bouquet) show
|
||||
grestore
|
||||
|
||||
% POLY/OPEN-SPLINE
|
||||
gsave
|
||||
newpath
|
||||
64 80 moveto
|
||||
64 120 lineto
|
||||
0 49 atan dup cos 8 mul 113 exch sub
|
||||
exch sin 8 mul 120 exch sub lineto
|
||||
stroke
|
||||
grestore
|
||||
gsave
|
||||
newpath
|
||||
113 120 8 3 49 0 tgifarrowtip
|
||||
closepath fill
|
||||
grestore
|
||||
|
||||
% TEXT
|
||||
0 setgray
|
||||
/Courier findfont [17 0 0 -17 0 0] makefont setfont
|
||||
gsave
|
||||
128 110 moveto (car) show
|
||||
grestore
|
||||
|
||||
% TEXT
|
||||
0 setgray
|
||||
/Courier findfont [17 0 0 -17 0 0] makefont setfont
|
||||
gsave
|
||||
128 142 moveto (rose) show
|
||||
grestore
|
||||
|
||||
% TEXT
|
||||
0 setgray
|
||||
/Courier findfont [17 0 0 -17 0 0] makefont setfont
|
||||
gsave
|
||||
192 110 moveto (cdr) show
|
||||
grestore
|
||||
|
||||
% OVAL
|
||||
gsave
|
||||
newpath 207 124 4 4 tgifellipse stroke
|
||||
grestore
|
||||
|
||||
% POLY/OPEN-SPLINE
|
||||
gsave
|
||||
newpath
|
||||
217 123 moveto
|
||||
0 38 atan dup cos 8 mul 255 exch sub
|
||||
exch sin 8 mul 123 exch sub lineto
|
||||
stroke
|
||||
grestore
|
||||
gsave
|
||||
newpath
|
||||
255 123 8 3 38 0 tgifarrowtip
|
||||
closepath fill
|
||||
grestore
|
||||
|
||||
% TEXT
|
||||
0 setgray
|
||||
/Courier findfont [17 0 0 -17 0 0] makefont setfont
|
||||
gsave
|
||||
268 111 moveto (car) show
|
||||
grestore
|
||||
|
||||
% TEXT
|
||||
0 setgray
|
||||
/Courier findfont [17 0 0 -17 0 0] makefont setfont
|
||||
gsave
|
||||
264 143 moveto (violet) show
|
||||
grestore
|
||||
|
||||
% TEXT
|
||||
0 setgray
|
||||
/Courier findfont [17 0 0 -17 0 0] makefont setfont
|
||||
gsave
|
||||
332 111 moveto (cdr) show
|
||||
grestore
|
||||
|
||||
% OVAL
|
||||
gsave
|
||||
newpath 347 125 4 4 tgifellipse stroke
|
||||
grestore
|
||||
|
||||
% POLY/OPEN-SPLINE
|
||||
gsave
|
||||
newpath
|
||||
357 124 moveto
|
||||
0 38 atan dup cos 8 mul 395 exch sub
|
||||
exch sin 8 mul 124 exch sub lineto
|
||||
stroke
|
||||
grestore
|
||||
gsave
|
||||
newpath
|
||||
395 124 8 3 38 0 tgifarrowtip
|
||||
closepath fill
|
||||
grestore
|
||||
|
||||
% TEXT
|
||||
0 setgray
|
||||
/Courier findfont [17 0 0 -17 0 0] makefont setfont
|
||||
gsave
|
||||
408 112 moveto (car) show
|
||||
grestore
|
||||
|
||||
% TEXT
|
||||
0 setgray
|
||||
/Courier findfont [17 0 0 -17 0 0] makefont setfont
|
||||
gsave
|
||||
408 136 moveto (butter-) show
|
||||
408 153 moveto (cup) show
|
||||
grestore
|
||||
|
||||
% TEXT
|
||||
0 setgray
|
||||
/Courier findfont [17 0 0 -17 0 0] makefont setfont
|
||||
gsave
|
||||
496 113 moveto (cdr) show
|
||||
grestore
|
||||
|
||||
% TEXT
|
||||
0 setgray
|
||||
/Courier findfont [17 0 0 -17 0 0] makefont setfont
|
||||
gsave
|
||||
495 137 moveto (nil) show
|
||||
grestore
|
||||
|
||||
% POLY/OPEN-SPLINE
|
||||
gsave
|
||||
newpath
|
||||
178 86 moveto
|
||||
178 157 lineto
|
||||
stroke
|
||||
grestore
|
||||
|
||||
% POLY/OPEN-SPLINE
|
||||
gsave
|
||||
newpath
|
||||
485 84 moveto
|
||||
485 157 lineto
|
||||
stroke
|
||||
grestore
|
||||
|
||||
% POLY/OPEN-SPLINE
|
||||
gsave
|
||||
newpath
|
||||
327 85 moveto
|
||||
327 157 lineto
|
||||
stroke
|
||||
grestore
|
||||
|
||||
% BOX
|
||||
gsave
|
||||
1.415 setmiterlimit
|
||||
newpath
|
||||
120 86 moveto 234 86 lineto 234 157 lineto 120 157 lineto
|
||||
closepath stroke
|
||||
1 setmiterlimit
|
||||
grestore
|
||||
|
||||
% BOX
|
||||
gsave
|
||||
1.415 setmiterlimit
|
||||
newpath
|
||||
257 85 moveto 371 85 lineto 371 157 lineto 257 157 lineto
|
||||
closepath stroke
|
||||
1 setmiterlimit
|
||||
grestore
|
||||
|
||||
% BOX
|
||||
gsave
|
||||
1.415 setmiterlimit
|
||||
newpath
|
||||
397 84 moveto 531 84 lineto 531 157 lineto 397 157 lineto
|
||||
closepath stroke
|
||||
1 setmiterlimit
|
||||
grestore
|
||||
|
||||
grestore
|
||||
tgifsavedpage restore
|
||||
end
|
||||
%MatchingCreationDate: Tue Mar 14 15:09:30 1995
|
630
doc/lispintro/cons-3.eps
Normal file
630
doc/lispintro/cons-3.eps
Normal file
|
@ -0,0 +1,630 @@
|
|||
%!
|
||||
%%BoundingBox: -1 691 324 757
|
||||
%%Title: cons-cell-diagram3
|
||||
%%CreationDate: Wed Mar 8 14:25:41 1995
|
||||
%%Creator: Tgif-2.16-p4 by William Chia-Wei Cheng (william@cs.UCLA.edu)
|
||||
%
|
||||
% Due to bugs in Transcript, the 'PS-Adobe-' stuff is omitted from line 1
|
||||
%
|
||||
|
||||
% Copyright (C) 1995, 1997, 2001, 2002, 2003, 2004, 2005, 2006, 2007
|
||||
% Free Software Foundation, Inc.
|
||||
%
|
||||
% This file is part of GNU Emacs.
|
||||
%
|
||||
% GNU Emacs is free software; you can redistribute it and/or modify
|
||||
% it under the terms of the GNU General Public License as published by
|
||||
% the Free Software Foundation; either version 3, or (at your option)
|
||||
% any later version.
|
||||
%
|
||||
% GNU Emacs is distributed in the hope that it will be useful,
|
||||
% but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
% GNU General Public License for more details.
|
||||
%
|
||||
% You should have received a copy of the GNU General Public License
|
||||
% along with GNU Emacs; see the file COPYING. If not, write to
|
||||
% the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
% Boston, MA 02110-1301, USA.
|
||||
|
||||
/tgifdict 132 dict def
|
||||
tgifdict begin
|
||||
|
||||
%
|
||||
% Using a zero value radius for an ellipse or an arc would result
|
||||
% in a non-invertible CTM matrix which causes problem when this
|
||||
% when this PostScript is wrapped inside other routines, such as
|
||||
% the multi.ps package from
|
||||
% ftp.ucc.su.oz.au:/pub/ps_printing/multi. You can overcome such
|
||||
% error by uncommenting the sole line of the procedure below:
|
||||
%
|
||||
/tgif_min_radius
|
||||
{
|
||||
% dup 0.01 lt { pop 0.01 } if
|
||||
} bind def
|
||||
|
||||
/tgifellipsedict 6 dict def
|
||||
tgifellipsedict /mtrx matrix put
|
||||
|
||||
/tgifellipse
|
||||
{ tgifellipsedict begin
|
||||
/yrad exch def
|
||||
/xrad exch def
|
||||
/y exch def
|
||||
/x exch def
|
||||
/savematrix mtrx currentmatrix def
|
||||
x y translate
|
||||
xrad yrad scale
|
||||
0 0 1 0 360 arc
|
||||
savematrix setmatrix
|
||||
end
|
||||
} def
|
||||
|
||||
/tgifarrowtipdict 8 dict def
|
||||
tgifarrowtipdict /mtrx matrix put
|
||||
|
||||
/tgifarrowtip
|
||||
{ tgifarrowtipdict begin
|
||||
/dy exch def
|
||||
/dx exch def
|
||||
/h exch def
|
||||
/w exch def
|
||||
/y exch def
|
||||
/x exch def
|
||||
/savematrix mtrx currentmatrix def
|
||||
x y translate
|
||||
dy dx atan rotate
|
||||
0 0 moveto
|
||||
w neg h lineto
|
||||
w neg h neg lineto
|
||||
savematrix setmatrix
|
||||
end
|
||||
} def
|
||||
|
||||
/tgifarcdict 8 dict def
|
||||
tgifarcdict /mtrx matrix put
|
||||
|
||||
/tgifarcn
|
||||
{ tgifarcdict begin
|
||||
/endangle exch def
|
||||
/startangle exch def
|
||||
/yrad exch def
|
||||
/xrad exch def
|
||||
/y exch def
|
||||
/x exch def
|
||||
/savematrix mtrx currentmatrix def
|
||||
x y translate
|
||||
xrad yrad scale
|
||||
0 0 1 startangle endangle arc
|
||||
savematrix setmatrix
|
||||
end
|
||||
} def
|
||||
|
||||
/tgifarc
|
||||
{ tgifarcdict begin
|
||||
/endangle exch def
|
||||
/startangle exch def
|
||||
/yrad exch def
|
||||
/xrad exch def
|
||||
/y exch def
|
||||
/x exch def
|
||||
/savematrix mtrx currentmatrix def
|
||||
x y translate
|
||||
xrad yrad scale
|
||||
0 0 1 startangle endangle arcn
|
||||
savematrix setmatrix
|
||||
end
|
||||
} def
|
||||
|
||||
/tgifsetuserscreendict 22 dict def
|
||||
tgifsetuserscreendict begin
|
||||
/tempctm matrix def
|
||||
/temprot matrix def
|
||||
/tempscale matrix def
|
||||
|
||||
/concatprocs
|
||||
{ /proc2 exch cvlit def
|
||||
/proc1 exch cvlit def
|
||||
/newproc proc1 length proc2 length add array def
|
||||
newproc 0 proc1 putinterval
|
||||
newproc proc1 length proc2 putinterval
|
||||
newproc cvx
|
||||
} def
|
||||
/resmatrix matrix def
|
||||
/findresolution
|
||||
{ 72 0 resmatrix defaultmatrix dtransform
|
||||
/yres exch def /xres exch def
|
||||
xres dup mul yres dup mul add sqrt
|
||||
} def
|
||||
end
|
||||
|
||||
/tgifsetuserscreen
|
||||
{ tgifsetuserscreendict begin
|
||||
/spotfunction exch def
|
||||
/screenangle exch def
|
||||
/cellsize exch def
|
||||
|
||||
/m tempctm currentmatrix def
|
||||
/rm screenangle temprot rotate def
|
||||
/sm cellsize dup tempscale scale def
|
||||
|
||||
sm rm m m concatmatrix m concatmatrix pop
|
||||
|
||||
1 0 m dtransform /y1 exch def /x1 exch def
|
||||
|
||||
/veclength x1 dup mul y1 dup mul add sqrt def
|
||||
/frequency findresolution veclength div def
|
||||
|
||||
/newscreenangle y1 x1 atan def
|
||||
|
||||
m 2 get m 1 get mul m 0 get m 3 get mul sub 0 gt
|
||||
|
||||
{{neg} /spotfunction load concatprocs
|
||||
/spotfunction exch def
|
||||
} if
|
||||
|
||||
frequency newscreenangle /spotfunction load setscreen
|
||||
end
|
||||
} def
|
||||
|
||||
/tgifsetpatterndict 18 dict def
|
||||
tgifsetpatterndict begin
|
||||
/bitison
|
||||
{ /ybit exch def /xbit exch def
|
||||
/bytevalue bstring ybit bwidth mul xbit 8 idiv add get def
|
||||
|
||||
/mask 1 7 xbit 8 mod sub bitshift def
|
||||
bytevalue mask and 0 ne
|
||||
} def
|
||||
end
|
||||
|
||||
/tgifbitpatternspotfunction
|
||||
{ tgifsetpatterndict begin
|
||||
/y exch def /x exch def
|
||||
|
||||
/xindex x 1 add 2 div bpside mul cvi def
|
||||
/yindex y 1 add 2 div bpside mul cvi def
|
||||
|
||||
xindex yindex bitison
|
||||
{ /onbits onbits 1 add def 1 }
|
||||
{ /offbits offbits 1 add def 0 }
|
||||
ifelse
|
||||
end
|
||||
} def
|
||||
|
||||
/tgifsetpattern
|
||||
{ tgifsetpatterndict begin
|
||||
/cellsz exch def
|
||||
/angle exch def
|
||||
/bwidth exch def
|
||||
/bpside exch def
|
||||
/bstring exch def
|
||||
|
||||
/onbits 0 def /offbits 0 def
|
||||
cellsz angle /tgifbitpatternspotfunction load tgifsetuserscreen
|
||||
{} settransfer
|
||||
offbits offbits onbits add div setgray
|
||||
end
|
||||
} def
|
||||
|
||||
/tgifxpmdict 4 dict def
|
||||
/tgifbwpicstr 1 string def
|
||||
/tgifcolorpicstr 3 string def
|
||||
|
||||
/tgifsetpixels { tgifxpmdict begin /pixels exch def end } def
|
||||
|
||||
/tgifsetpix { tgifxpmdict begin pixels 3 1 roll putinterval end } def
|
||||
|
||||
/tgifbwspot
|
||||
{ tgifxpmdict begin
|
||||
/index exch def
|
||||
tgifbwpicstr 0
|
||||
pixels index 3 mul 3 getinterval aload pop
|
||||
255 mul .114 mul exch 255 mul .587 mul add exch 255 mul .299 mul add
|
||||
cvi put
|
||||
tgifbwpicstr
|
||||
end
|
||||
} def
|
||||
|
||||
/tgifcolorspot
|
||||
{ tgifxpmdict begin
|
||||
/index exch def
|
||||
pixels index 3 mul 3 getinterval aload pop
|
||||
255 mul cvi tgifcolorpicstr 2 3 -1 roll put
|
||||
255 mul cvi tgifcolorpicstr 1 3 -1 roll put
|
||||
255 mul cvi tgifcolorpicstr 0 3 -1 roll put
|
||||
tgifcolorpicstr
|
||||
end
|
||||
} def
|
||||
|
||||
/tgifnewcolorspot
|
||||
{ tgifxpmdict begin
|
||||
/index exch def
|
||||
pixels index 3 mul 3 getinterval aload pop setrgbcolor
|
||||
end
|
||||
} def
|
||||
|
||||
/tgifcolordict 4 dict def
|
||||
|
||||
/colorimage where
|
||||
{ pop }
|
||||
{ /colorimage
|
||||
{ tgifcolordict begin
|
||||
pop pop pop pop pop
|
||||
/ih exch def
|
||||
/iw exch def
|
||||
/x 0 def
|
||||
/y 0 def
|
||||
1 1 ih
|
||||
{ pop 1 1 iw
|
||||
{ pop currentfile
|
||||
tgifbwpicstr readhexstring pop 0 get tgifnewcolorspot
|
||||
x y moveto 1 0 rlineto 0 1 rlineto -1 0 rlineto
|
||||
closepath fill
|
||||
/x x 1 add def
|
||||
} for
|
||||
/y y 1 add def
|
||||
/x 0 def
|
||||
} for
|
||||
end
|
||||
} def
|
||||
} ifelse
|
||||
|
||||
/tgifpatdict 10 dict def
|
||||
|
||||
/tgifpatbyte
|
||||
{ currentdict /retstr get exch
|
||||
pat i cellsz mod get put
|
||||
} def
|
||||
|
||||
/tgifpatproc
|
||||
{ 0 1 widthlim {tgifpatbyte} for retstr
|
||||
/i i 1 add def
|
||||
} def
|
||||
|
||||
/tgifpatfill
|
||||
{ tgifpatdict begin
|
||||
/h exch def
|
||||
/w exch def
|
||||
/lty exch def
|
||||
/ltx exch def
|
||||
/cellsz exch def
|
||||
/pat exch def
|
||||
|
||||
/widthlim w cellsz div cvi 1 sub def
|
||||
/retstr widthlim 1 add string def
|
||||
/i 0 def
|
||||
|
||||
ltx lty translate
|
||||
w h true [1 0 0 1 0 0] {tgifpatproc} imagemask
|
||||
ltx neg lty neg translate
|
||||
end
|
||||
} def
|
||||
|
||||
/pat1 <ffffffffffffffff> def
|
||||
/pat2 <0000000000000000> def
|
||||
/pat3 <8000000008000000> def
|
||||
/pat4 <8800000022000000> def
|
||||
/pat5 <8800220088002200> def
|
||||
/pat6 <8822882288228822> def
|
||||
/pat7 <aa55aa55aa55aa55> def
|
||||
/pat8 <77dd77dd77dd77dd> def
|
||||
/pat9 <77ffddff77ffddff> def
|
||||
/pat10 <77ffffff77ffffff> def
|
||||
/pat11 <7fffffff7fffffff> def
|
||||
/pat12 <8040200002040800> def
|
||||
/pat13 <40a00000040a0000> def
|
||||
/pat14 <ff888888ff888888> def
|
||||
/pat15 <ff808080ff080808> def
|
||||
/pat16 <f87422478f172271> def
|
||||
/pat17 <038448300c020101> def
|
||||
/pat18 <081c22c180010204> def
|
||||
/pat19 <8080413e080814e3> def
|
||||
/pat20 <8040201008040201> def
|
||||
/pat21 <8844221188442211> def
|
||||
/pat22 <77bbddee77bbddee> def
|
||||
/pat23 <c1e070381c0e0783> def
|
||||
/pat24 <7fbfdfeff7fbfdfe> def
|
||||
/pat25 <3e1f8fc7e3f1f87c> def
|
||||
/pat26 <0102040810204080> def
|
||||
/pat27 <1122448811224488> def
|
||||
/pat28 <eeddbb77eeddbb77> def
|
||||
/pat29 <83070e1c3870e0c1> def
|
||||
/pat30 <fefdfbf7efdfbf7f> def
|
||||
/pat31 <7cf8f1e3c78f1f3e> def
|
||||
|
||||
/tgifcentertext { dup stringwidth pop 2 div neg 0 rmoveto } def
|
||||
|
||||
/tgifrighttext { dup stringwidth pop neg 0 rmoveto } def
|
||||
|
||||
/tgifreencsmalldict 12 dict def
|
||||
/tgifReEncodeSmall
|
||||
{ tgifreencsmalldict begin
|
||||
/newcodesandnames exch def
|
||||
/newfontname exch def
|
||||
/basefontname exch def
|
||||
|
||||
/basefontdict basefontname findfont def
|
||||
/newfont basefontdict maxlength dict def
|
||||
|
||||
basefontdict
|
||||
{ exch dup /FID ne
|
||||
{ dup /Encoding eq
|
||||
{ exch dup length array copy newfont 3 1 roll put }
|
||||
{ exch newfont 3 1 roll put }
|
||||
ifelse
|
||||
}
|
||||
{ pop pop }
|
||||
ifelse
|
||||
}
|
||||
forall
|
||||
|
||||
newfont /FontName newfontname put
|
||||
newcodesandnames aload pop
|
||||
|
||||
newcodesandnames length 2 idiv
|
||||
{ newfont /Encoding get 3 1 roll put}
|
||||
repeat
|
||||
|
||||
newfontname newfont definefont pop
|
||||
end
|
||||
} def
|
||||
|
||||
/tgifgray { 8 1 0 72 300 32 div div tgifsetpattern } bind def
|
||||
|
||||
/tgifboxdict 6 dict def
|
||||
/tgifboxstroke
|
||||
{ tgifboxdict begin
|
||||
/pat def /w def /y2 exch def /x2 exch def /y1 exch def /x1 exch def
|
||||
1.415 setmiterlimit
|
||||
w 1 eq { w setlinewidth } if
|
||||
pat pat1 ne pat pat2 ne and { gsave pat tgifgray } if
|
||||
newpath x1 y1 moveto x2 y1 lineto x2 y2 lineto x1 y2 lineto closepath
|
||||
pat pat2 eq { 1 setgray stroke 0 setgray } { stroke } ifelse
|
||||
pat pat1 ne pat pat2 ne and { grestore } if
|
||||
w 1 eq { 1 setlinewidth } if
|
||||
1 setmiterlimit
|
||||
end
|
||||
} def
|
||||
/tgifboxfill
|
||||
{ tgifboxdict begin
|
||||
/pat def /y2 exch def /x2 exch def /y1 exch def /x1 exch def
|
||||
pat pat1 ne pat pat2 ne and { gsave pat tgifgray } if
|
||||
newpath x1 y1 moveto x2 y1 lineto x2 y2 lineto x1 y2 lineto closepath
|
||||
pat pat2 eq { 1 setgray fill 0 setgray } { fill } ifelse
|
||||
pat pat1 ne pat pat2 ne and { grestore } if
|
||||
end
|
||||
} def
|
||||
|
||||
end
|
||||
|
||||
%%PageBoundingBox: -1 691 324 757
|
||||
tgifdict begin
|
||||
/tgifsavedpage save def
|
||||
|
||||
1 setmiterlimit
|
||||
1 setlinewidth
|
||||
|
||||
0 setgray
|
||||
|
||||
72 0 mul 72 11.00 mul translate
|
||||
72 128 div 100 mul 100 div dup neg scale
|
||||
|
||||
gsave
|
||||
|
||||
% BOX
|
||||
gsave
|
||||
1.415 setmiterlimit
|
||||
newpath
|
||||
128 102 moveto 192 102 lineto 192 134 lineto 128 134 lineto
|
||||
closepath stroke
|
||||
1 setmiterlimit
|
||||
grestore
|
||||
|
||||
% POLY/OPEN-SPLINE
|
||||
gsave
|
||||
newpath
|
||||
160 102 moveto
|
||||
160 134 lineto
|
||||
stroke
|
||||
grestore
|
||||
|
||||
% POLY/OPEN-SPLINE
|
||||
gsave
|
||||
newpath
|
||||
176 124 moveto
|
||||
0 80 atan dup cos 8 mul 256 exch sub
|
||||
exch sin 8 mul 124 exch sub lineto
|
||||
stroke
|
||||
grestore
|
||||
gsave
|
||||
newpath
|
||||
256 124 8 3 80 0 tgifarrowtip
|
||||
closepath fill
|
||||
grestore
|
||||
|
||||
% TEXT
|
||||
0 setgray
|
||||
/Courier findfont [17 0 0 -17 0 0] makefont setfont
|
||||
gsave
|
||||
208 172 moveto (rose) show
|
||||
grestore
|
||||
|
||||
% POLY/OPEN-SPLINE
|
||||
gsave
|
||||
newpath
|
||||
144 118 moveto
|
||||
144 167 lineto
|
||||
0 48 atan dup cos 8 mul 192 exch sub
|
||||
exch sin 8 mul 167 exch sub lineto
|
||||
stroke
|
||||
grestore
|
||||
gsave
|
||||
newpath
|
||||
192 167 8 3 48 0 tgifarrowtip
|
||||
closepath fill
|
||||
grestore
|
||||
|
||||
% BOX
|
||||
gsave
|
||||
1.415 setmiterlimit
|
||||
newpath
|
||||
261 102 moveto 325 102 lineto 325 134 lineto 261 134 lineto
|
||||
closepath stroke
|
||||
1 setmiterlimit
|
||||
grestore
|
||||
|
||||
% POLY/OPEN-SPLINE
|
||||
gsave
|
||||
newpath
|
||||
293 102 moveto
|
||||
293 134 lineto
|
||||
stroke
|
||||
grestore
|
||||
|
||||
% POLY/OPEN-SPLINE
|
||||
gsave
|
||||
newpath
|
||||
309 118 moveto
|
||||
0 93 atan dup cos 8 mul 402 exch sub
|
||||
exch sin 8 mul 118 exch sub lineto
|
||||
stroke
|
||||
grestore
|
||||
gsave
|
||||
newpath
|
||||
402 118 8 3 93 0 tgifarrowtip
|
||||
closepath fill
|
||||
grestore
|
||||
|
||||
% TEXT
|
||||
0 setgray
|
||||
/Courier findfont [17 0 0 -17 0 0] makefont setfont
|
||||
gsave
|
||||
341 172 moveto (violet) show
|
||||
grestore
|
||||
|
||||
% POLY/OPEN-SPLINE
|
||||
gsave
|
||||
newpath
|
||||
277 118 moveto
|
||||
277 167 lineto
|
||||
0 48 atan dup cos 8 mul 325 exch sub
|
||||
exch sin 8 mul 167 exch sub lineto
|
||||
stroke
|
||||
grestore
|
||||
gsave
|
||||
newpath
|
||||
325 167 8 3 48 0 tgifarrowtip
|
||||
closepath fill
|
||||
grestore
|
||||
|
||||
% BOX
|
||||
gsave
|
||||
1.415 setmiterlimit
|
||||
newpath
|
||||
404 100 moveto 468 100 lineto 468 132 lineto 404 132 lineto
|
||||
closepath stroke
|
||||
1 setmiterlimit
|
||||
grestore
|
||||
|
||||
% POLY/OPEN-SPLINE
|
||||
gsave
|
||||
newpath
|
||||
435 100 moveto
|
||||
435 132 lineto
|
||||
stroke
|
||||
grestore
|
||||
|
||||
% POLY/OPEN-SPLINE
|
||||
gsave
|
||||
newpath
|
||||
451 117 moveto
|
||||
0 48 atan dup cos 8 mul 499 exch sub
|
||||
exch sin 8 mul 117 exch sub lineto
|
||||
stroke
|
||||
grestore
|
||||
gsave
|
||||
newpath
|
||||
499 117 8 3 48 0 tgifarrowtip
|
||||
closepath fill
|
||||
grestore
|
||||
|
||||
% TEXT
|
||||
0 setgray
|
||||
/Courier findfont [17 0 0 -17 0 0] makefont setfont
|
||||
gsave
|
||||
483 171 moveto (buttercup) show
|
||||
grestore
|
||||
|
||||
% POLY/OPEN-SPLINE
|
||||
gsave
|
||||
newpath
|
||||
419 117 moveto
|
||||
419 166 lineto
|
||||
0 48 atan dup cos 8 mul 467 exch sub
|
||||
exch sin 8 mul 166 exch sub lineto
|
||||
stroke
|
||||
grestore
|
||||
gsave
|
||||
newpath
|
||||
467 166 8 3 48 0 tgifarrowtip
|
||||
closepath fill
|
||||
grestore
|
||||
|
||||
% TEXT
|
||||
0 setgray
|
||||
/Courier findfont [17 0 0 -17 0 0] makefont setfont
|
||||
gsave
|
||||
511 123 moveto (nil) show
|
||||
grestore
|
||||
|
||||
% TEXT
|
||||
0 setgray
|
||||
/Courier findfont [17 0 0 -17 0 0] makefont setfont
|
||||
gsave
|
||||
131 80 moveto (flowers) show
|
||||
grestore
|
||||
|
||||
% POLY/OPEN-SPLINE
|
||||
gsave
|
||||
newpath
|
||||
210 75 moveto
|
||||
237 75 lineto
|
||||
237 113 lineto
|
||||
0 18 atan dup cos 8 mul 255 exch sub
|
||||
exch sin 8 mul 113 exch sub lineto
|
||||
stroke
|
||||
grestore
|
||||
gsave
|
||||
newpath
|
||||
255 113 8 3 18 0 tgifarrowtip
|
||||
closepath fill
|
||||
grestore
|
||||
|
||||
% TEXT
|
||||
0 setgray
|
||||
/Courier findfont [17 0 0 -17 0 0] makefont setfont
|
||||
gsave
|
||||
2 80 moveto (bouquet) show
|
||||
grestore
|
||||
|
||||
% POLY/OPEN-SPLINE
|
||||
gsave
|
||||
newpath
|
||||
81 77 moveto
|
||||
108 77 lineto
|
||||
108 115 lineto
|
||||
0 18 atan dup cos 8 mul 126 exch sub
|
||||
exch sin 8 mul 115 exch sub lineto
|
||||
stroke
|
||||
grestore
|
||||
gsave
|
||||
newpath
|
||||
126 115 8 3 18 0 tgifarrowtip
|
||||
closepath fill
|
||||
grestore
|
||||
|
||||
grestore
|
||||
tgifsavedpage restore
|
||||
end
|
||||
%MatchingCreationDate: Wed Mar 8 14:25:41 1995
|
683
doc/lispintro/cons-4.eps
Normal file
683
doc/lispintro/cons-4.eps
Normal file
|
@ -0,0 +1,683 @@
|
|||
%!
|
||||
%%BoundingBox: 6 681 355 758
|
||||
%%Title: cons-cell-diagram4
|
||||
%%CreationDate: Wed Mar 8 14:25:06 1995
|
||||
%%Creator: Tgif-2.16-p4 by William Chia-Wei Cheng (william@cs.UCLA.edu)
|
||||
%
|
||||
% Due to bugs in Transcript, the 'PS-Adobe-' stuff is omitted from line 1
|
||||
%
|
||||
|
||||
% Copyright (C) 1995, 1997, 2001, 2002, 2003, 2004, 2005, 2006, 2007
|
||||
% Free Software Foundation, Inc.
|
||||
%
|
||||
% This file is part of GNU Emacs.
|
||||
%
|
||||
% GNU Emacs is free software; you can redistribute it and/or modify
|
||||
% it under the terms of the GNU General Public License as published by
|
||||
% the Free Software Foundation; either version 3, or (at your option)
|
||||
% any later version.
|
||||
%
|
||||
% GNU Emacs is distributed in the hope that it will be useful,
|
||||
% but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
% GNU General Public License for more details.
|
||||
%
|
||||
% You should have received a copy of the GNU General Public License
|
||||
% along with GNU Emacs; see the file COPYING. If not, write to
|
||||
% the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
% Boston, MA 02110-1301, USA.
|
||||
|
||||
/tgifdict 132 dict def
|
||||
tgifdict begin
|
||||
|
||||
%
|
||||
% Using a zero value radius for an ellipse or an arc would result
|
||||
% in a non-invertible CTM matrix which causes problem when this
|
||||
% when this PostScript is wrapped inside other routines, such as
|
||||
% the multi.ps package from
|
||||
% ftp.ucc.su.oz.au:/pub/ps_printing/multi. You can overcome such
|
||||
% error by uncommenting the sole line of the procedure below:
|
||||
%
|
||||
/tgif_min_radius
|
||||
{
|
||||
% dup 0.01 lt { pop 0.01 } if
|
||||
} bind def
|
||||
|
||||
/tgifellipsedict 6 dict def
|
||||
tgifellipsedict /mtrx matrix put
|
||||
|
||||
/tgifellipse
|
||||
{ tgifellipsedict begin
|
||||
/yrad exch def
|
||||
/xrad exch def
|
||||
/y exch def
|
||||
/x exch def
|
||||
/savematrix mtrx currentmatrix def
|
||||
x y translate
|
||||
xrad yrad scale
|
||||
0 0 1 0 360 arc
|
||||
savematrix setmatrix
|
||||
end
|
||||
} def
|
||||
|
||||
/tgifarrowtipdict 8 dict def
|
||||
tgifarrowtipdict /mtrx matrix put
|
||||
|
||||
/tgifarrowtip
|
||||
{ tgifarrowtipdict begin
|
||||
/dy exch def
|
||||
/dx exch def
|
||||
/h exch def
|
||||
/w exch def
|
||||
/y exch def
|
||||
/x exch def
|
||||
/savematrix mtrx currentmatrix def
|
||||
x y translate
|
||||
dy dx atan rotate
|
||||
0 0 moveto
|
||||
w neg h lineto
|
||||
w neg h neg lineto
|
||||
savematrix setmatrix
|
||||
end
|
||||
} def
|
||||
|
||||
/tgifarcdict 8 dict def
|
||||
tgifarcdict /mtrx matrix put
|
||||
|
||||
/tgifarcn
|
||||
{ tgifarcdict begin
|
||||
/endangle exch def
|
||||
/startangle exch def
|
||||
/yrad exch def
|
||||
/xrad exch def
|
||||
/y exch def
|
||||
/x exch def
|
||||
/savematrix mtrx currentmatrix def
|
||||
x y translate
|
||||
xrad yrad scale
|
||||
0 0 1 startangle endangle arc
|
||||
savematrix setmatrix
|
||||
end
|
||||
} def
|
||||
|
||||
/tgifarc
|
||||
{ tgifarcdict begin
|
||||
/endangle exch def
|
||||
/startangle exch def
|
||||
/yrad exch def
|
||||
/xrad exch def
|
||||
/y exch def
|
||||
/x exch def
|
||||
/savematrix mtrx currentmatrix def
|
||||
x y translate
|
||||
xrad yrad scale
|
||||
0 0 1 startangle endangle arcn
|
||||
savematrix setmatrix
|
||||
end
|
||||
} def
|
||||
|
||||
/tgifsetuserscreendict 22 dict def
|
||||
tgifsetuserscreendict begin
|
||||
/tempctm matrix def
|
||||
/temprot matrix def
|
||||
/tempscale matrix def
|
||||
|
||||
/concatprocs
|
||||
{ /proc2 exch cvlit def
|
||||
/proc1 exch cvlit def
|
||||
/newproc proc1 length proc2 length add array def
|
||||
newproc 0 proc1 putinterval
|
||||
newproc proc1 length proc2 putinterval
|
||||
newproc cvx
|
||||
} def
|
||||
/resmatrix matrix def
|
||||
/findresolution
|
||||
{ 72 0 resmatrix defaultmatrix dtransform
|
||||
/yres exch def /xres exch def
|
||||
xres dup mul yres dup mul add sqrt
|
||||
} def
|
||||
end
|
||||
|
||||
/tgifsetuserscreen
|
||||
{ tgifsetuserscreendict begin
|
||||
/spotfunction exch def
|
||||
/screenangle exch def
|
||||
/cellsize exch def
|
||||
|
||||
/m tempctm currentmatrix def
|
||||
/rm screenangle temprot rotate def
|
||||
/sm cellsize dup tempscale scale def
|
||||
|
||||
sm rm m m concatmatrix m concatmatrix pop
|
||||
|
||||
1 0 m dtransform /y1 exch def /x1 exch def
|
||||
|
||||
/veclength x1 dup mul y1 dup mul add sqrt def
|
||||
/frequency findresolution veclength div def
|
||||
|
||||
/newscreenangle y1 x1 atan def
|
||||
|
||||
m 2 get m 1 get mul m 0 get m 3 get mul sub 0 gt
|
||||
|
||||
{{neg} /spotfunction load concatprocs
|
||||
/spotfunction exch def
|
||||
} if
|
||||
|
||||
frequency newscreenangle /spotfunction load setscreen
|
||||
end
|
||||
} def
|
||||
|
||||
/tgifsetpatterndict 18 dict def
|
||||
tgifsetpatterndict begin
|
||||
/bitison
|
||||
{ /ybit exch def /xbit exch def
|
||||
/bytevalue bstring ybit bwidth mul xbit 8 idiv add get def
|
||||
|
||||
/mask 1 7 xbit 8 mod sub bitshift def
|
||||
bytevalue mask and 0 ne
|
||||
} def
|
||||
end
|
||||
|
||||
/tgifbitpatternspotfunction
|
||||
{ tgifsetpatterndict begin
|
||||
/y exch def /x exch def
|
||||
|
||||
/xindex x 1 add 2 div bpside mul cvi def
|
||||
/yindex y 1 add 2 div bpside mul cvi def
|
||||
|
||||
xindex yindex bitison
|
||||
{ /onbits onbits 1 add def 1 }
|
||||
{ /offbits offbits 1 add def 0 }
|
||||
ifelse
|
||||
end
|
||||
} def
|
||||
|
||||
/tgifsetpattern
|
||||
{ tgifsetpatterndict begin
|
||||
/cellsz exch def
|
||||
/angle exch def
|
||||
/bwidth exch def
|
||||
/bpside exch def
|
||||
/bstring exch def
|
||||
|
||||
/onbits 0 def /offbits 0 def
|
||||
cellsz angle /tgifbitpatternspotfunction load tgifsetuserscreen
|
||||
{} settransfer
|
||||
offbits offbits onbits add div setgray
|
||||
end
|
||||
} def
|
||||
|
||||
/tgifxpmdict 4 dict def
|
||||
/tgifbwpicstr 1 string def
|
||||
/tgifcolorpicstr 3 string def
|
||||
|
||||
/tgifsetpixels { tgifxpmdict begin /pixels exch def end } def
|
||||
|
||||
/tgifsetpix { tgifxpmdict begin pixels 3 1 roll putinterval end } def
|
||||
|
||||
/tgifbwspot
|
||||
{ tgifxpmdict begin
|
||||
/index exch def
|
||||
tgifbwpicstr 0
|
||||
pixels index 3 mul 3 getinterval aload pop
|
||||
255 mul .114 mul exch 255 mul .587 mul add exch 255 mul .299 mul add
|
||||
cvi put
|
||||
tgifbwpicstr
|
||||
end
|
||||
} def
|
||||
|
||||
/tgifcolorspot
|
||||
{ tgifxpmdict begin
|
||||
/index exch def
|
||||
pixels index 3 mul 3 getinterval aload pop
|
||||
255 mul cvi tgifcolorpicstr 2 3 -1 roll put
|
||||
255 mul cvi tgifcolorpicstr 1 3 -1 roll put
|
||||
255 mul cvi tgifcolorpicstr 0 3 -1 roll put
|
||||
tgifcolorpicstr
|
||||
end
|
||||
} def
|
||||
|
||||
/tgifnewcolorspot
|
||||
{ tgifxpmdict begin
|
||||
/index exch def
|
||||
pixels index 3 mul 3 getinterval aload pop setrgbcolor
|
||||
end
|
||||
} def
|
||||
|
||||
/tgifcolordict 4 dict def
|
||||
|
||||
/colorimage where
|
||||
{ pop }
|
||||
{ /colorimage
|
||||
{ tgifcolordict begin
|
||||
pop pop pop pop pop
|
||||
/ih exch def
|
||||
/iw exch def
|
||||
/x 0 def
|
||||
/y 0 def
|
||||
1 1 ih
|
||||
{ pop 1 1 iw
|
||||
{ pop currentfile
|
||||
tgifbwpicstr readhexstring pop 0 get tgifnewcolorspot
|
||||
x y moveto 1 0 rlineto 0 1 rlineto -1 0 rlineto
|
||||
closepath fill
|
||||
/x x 1 add def
|
||||
} for
|
||||
/y y 1 add def
|
||||
/x 0 def
|
||||
} for
|
||||
end
|
||||
} def
|
||||
} ifelse
|
||||
|
||||
/tgifpatdict 10 dict def
|
||||
|
||||
/tgifpatbyte
|
||||
{ currentdict /retstr get exch
|
||||
pat i cellsz mod get put
|
||||
} def
|
||||
|
||||
/tgifpatproc
|
||||
{ 0 1 widthlim {tgifpatbyte} for retstr
|
||||
/i i 1 add def
|
||||
} def
|
||||
|
||||
/tgifpatfill
|
||||
{ tgifpatdict begin
|
||||
/h exch def
|
||||
/w exch def
|
||||
/lty exch def
|
||||
/ltx exch def
|
||||
/cellsz exch def
|
||||
/pat exch def
|
||||
|
||||
/widthlim w cellsz div cvi 1 sub def
|
||||
/retstr widthlim 1 add string def
|
||||
/i 0 def
|
||||
|
||||
ltx lty translate
|
||||
w h true [1 0 0 1 0 0] {tgifpatproc} imagemask
|
||||
ltx neg lty neg translate
|
||||
end
|
||||
} def
|
||||
|
||||
/pat1 <ffffffffffffffff> def
|
||||
/pat2 <0000000000000000> def
|
||||
/pat3 <8000000008000000> def
|
||||
/pat4 <8800000022000000> def
|
||||
/pat5 <8800220088002200> def
|
||||
/pat6 <8822882288228822> def
|
||||
/pat7 <aa55aa55aa55aa55> def
|
||||
/pat8 <77dd77dd77dd77dd> def
|
||||
/pat9 <77ffddff77ffddff> def
|
||||
/pat10 <77ffffff77ffffff> def
|
||||
/pat11 <7fffffff7fffffff> def
|
||||
/pat12 <8040200002040800> def
|
||||
/pat13 <40a00000040a0000> def
|
||||
/pat14 <ff888888ff888888> def
|
||||
/pat15 <ff808080ff080808> def
|
||||
/pat16 <f87422478f172271> def
|
||||
/pat17 <038448300c020101> def
|
||||
/pat18 <081c22c180010204> def
|
||||
/pat19 <8080413e080814e3> def
|
||||
/pat20 <8040201008040201> def
|
||||
/pat21 <8844221188442211> def
|
||||
/pat22 <77bbddee77bbddee> def
|
||||
/pat23 <c1e070381c0e0783> def
|
||||
/pat24 <7fbfdfeff7fbfdfe> def
|
||||
/pat25 <3e1f8fc7e3f1f87c> def
|
||||
/pat26 <0102040810204080> def
|
||||
/pat27 <1122448811224488> def
|
||||
/pat28 <eeddbb77eeddbb77> def
|
||||
/pat29 <83070e1c3870e0c1> def
|
||||
/pat30 <fefdfbf7efdfbf7f> def
|
||||
/pat31 <7cf8f1e3c78f1f3e> def
|
||||
|
||||
/tgifcentertext { dup stringwidth pop 2 div neg 0 rmoveto } def
|
||||
|
||||
/tgifrighttext { dup stringwidth pop neg 0 rmoveto } def
|
||||
|
||||
/tgifreencsmalldict 12 dict def
|
||||
/tgifReEncodeSmall
|
||||
{ tgifreencsmalldict begin
|
||||
/newcodesandnames exch def
|
||||
/newfontname exch def
|
||||
/basefontname exch def
|
||||
|
||||
/basefontdict basefontname findfont def
|
||||
/newfont basefontdict maxlength dict def
|
||||
|
||||
basefontdict
|
||||
{ exch dup /FID ne
|
||||
{ dup /Encoding eq
|
||||
{ exch dup length array copy newfont 3 1 roll put }
|
||||
{ exch newfont 3 1 roll put }
|
||||
ifelse
|
||||
}
|
||||
{ pop pop }
|
||||
ifelse
|
||||
}
|
||||
forall
|
||||
|
||||
newfont /FontName newfontname put
|
||||
newcodesandnames aload pop
|
||||
|
||||
newcodesandnames length 2 idiv
|
||||
{ newfont /Encoding get 3 1 roll put}
|
||||
repeat
|
||||
|
||||
newfontname newfont definefont pop
|
||||
end
|
||||
} def
|
||||
|
||||
/tgifgray { 8 1 0 72 300 32 div div tgifsetpattern } bind def
|
||||
|
||||
/tgifboxdict 6 dict def
|
||||
/tgifboxstroke
|
||||
{ tgifboxdict begin
|
||||
/pat def /w def /y2 exch def /x2 exch def /y1 exch def /x1 exch def
|
||||
1.415 setmiterlimit
|
||||
w 1 eq { w setlinewidth } if
|
||||
pat pat1 ne pat pat2 ne and { gsave pat tgifgray } if
|
||||
newpath x1 y1 moveto x2 y1 lineto x2 y2 lineto x1 y2 lineto closepath
|
||||
pat pat2 eq { 1 setgray stroke 0 setgray } { stroke } ifelse
|
||||
pat pat1 ne pat pat2 ne and { grestore } if
|
||||
w 1 eq { 1 setlinewidth } if
|
||||
1 setmiterlimit
|
||||
end
|
||||
} def
|
||||
/tgifboxfill
|
||||
{ tgifboxdict begin
|
||||
/pat def /y2 exch def /x2 exch def /y1 exch def /x1 exch def
|
||||
pat pat1 ne pat pat2 ne and { gsave pat tgifgray } if
|
||||
newpath x1 y1 moveto x2 y1 lineto x2 y2 lineto x1 y2 lineto closepath
|
||||
pat pat2 eq { 1 setgray fill 0 setgray } { fill } ifelse
|
||||
pat pat1 ne pat pat2 ne and { grestore } if
|
||||
end
|
||||
} def
|
||||
|
||||
end
|
||||
|
||||
%%PageBoundingBox: 6 681 355 758
|
||||
tgifdict begin
|
||||
/tgifsavedpage save def
|
||||
|
||||
1 setmiterlimit
|
||||
1 setlinewidth
|
||||
|
||||
0 setgray
|
||||
|
||||
72 0 mul 72 11.00 mul translate
|
||||
72 128 div 100 mul 100 div dup neg scale
|
||||
|
||||
gsave
|
||||
|
||||
% POLY/OPEN-SPLINE
|
||||
gsave
|
||||
newpath
|
||||
274 102 moveto
|
||||
274 134 lineto
|
||||
stroke
|
||||
grestore
|
||||
|
||||
% POLY/OPEN-SPLINE
|
||||
gsave
|
||||
newpath
|
||||
289 122 moveto
|
||||
0 56 atan dup cos 8 mul 345 exch sub
|
||||
exch sin 8 mul 122 exch sub lineto
|
||||
stroke
|
||||
grestore
|
||||
gsave
|
||||
newpath
|
||||
345 122 8 3 56 0 tgifarrowtip
|
||||
closepath fill
|
||||
grestore
|
||||
|
||||
% BOX
|
||||
gsave
|
||||
1.415 setmiterlimit
|
||||
newpath
|
||||
350 100 moveto 414 100 lineto 414 132 lineto 350 132 lineto
|
||||
closepath stroke
|
||||
1 setmiterlimit
|
||||
grestore
|
||||
|
||||
% POLY/OPEN-SPLINE
|
||||
gsave
|
||||
newpath
|
||||
382 100 moveto
|
||||
382 132 lineto
|
||||
stroke
|
||||
grestore
|
||||
|
||||
% POLY/OPEN-SPLINE
|
||||
gsave
|
||||
newpath
|
||||
397 114 moveto
|
||||
0 59 atan dup cos 8 mul 456 exch sub
|
||||
exch sin 8 mul 114 exch sub lineto
|
||||
stroke
|
||||
grestore
|
||||
gsave
|
||||
newpath
|
||||
456 114 8 3 59 0 tgifarrowtip
|
||||
closepath fill
|
||||
grestore
|
||||
|
||||
% TEXT
|
||||
0 setgray
|
||||
/Courier findfont [17 0 0 -17 0 0] makefont setfont
|
||||
gsave
|
||||
430 170 moveto (violet) show
|
||||
grestore
|
||||
|
||||
% POLY/OPEN-SPLINE
|
||||
gsave
|
||||
newpath
|
||||
366 116 moveto
|
||||
366 165 lineto
|
||||
0 48 atan dup cos 8 mul 414 exch sub
|
||||
exch sin 8 mul 165 exch sub lineto
|
||||
stroke
|
||||
grestore
|
||||
gsave
|
||||
newpath
|
||||
414 165 8 3 48 0 tgifarrowtip
|
||||
closepath fill
|
||||
grestore
|
||||
|
||||
% TEXT
|
||||
0 setgray
|
||||
/Courier findfont [17 0 0 -17 0 0] makefont setfont
|
||||
gsave
|
||||
219 78 moveto (flowers) show
|
||||
grestore
|
||||
|
||||
% POLY/OPEN-SPLINE
|
||||
gsave
|
||||
newpath
|
||||
298 73 moveto
|
||||
325 73 lineto
|
||||
325 111 lineto
|
||||
0 18 atan dup cos 8 mul 343 exch sub
|
||||
exch sin 8 mul 111 exch sub lineto
|
||||
stroke
|
||||
grestore
|
||||
gsave
|
||||
newpath
|
||||
343 111 8 3 18 0 tgifarrowtip
|
||||
closepath fill
|
||||
grestore
|
||||
|
||||
% BOX
|
||||
gsave
|
||||
1.415 setmiterlimit
|
||||
newpath
|
||||
459 95 moveto 523 95 lineto 523 127 lineto 459 127 lineto
|
||||
closepath stroke
|
||||
1 setmiterlimit
|
||||
grestore
|
||||
|
||||
% POLY/OPEN-SPLINE
|
||||
gsave
|
||||
newpath
|
||||
490 95 moveto
|
||||
490 127 lineto
|
||||
stroke
|
||||
grestore
|
||||
|
||||
% POLY/OPEN-SPLINE
|
||||
gsave
|
||||
newpath
|
||||
506 112 moveto
|
||||
0 48 atan dup cos 8 mul 554 exch sub
|
||||
exch sin 8 mul 112 exch sub lineto
|
||||
stroke
|
||||
grestore
|
||||
gsave
|
||||
newpath
|
||||
554 112 8 3 48 0 tgifarrowtip
|
||||
closepath fill
|
||||
grestore
|
||||
|
||||
% TEXT
|
||||
0 setgray
|
||||
/Courier findfont [17 0 0 -17 0 0] makefont setfont
|
||||
gsave
|
||||
566 118 moveto (nil) show
|
||||
grestore
|
||||
|
||||
% TEXT
|
||||
0 setgray
|
||||
/Courier findfont [17 0 0 -17 0 0] makefont setfont
|
||||
gsave
|
||||
538 151 moveto (buttercup) show
|
||||
grestore
|
||||
|
||||
% POLY/OPEN-SPLINE
|
||||
gsave
|
||||
newpath
|
||||
474 109 moveto
|
||||
474 146 lineto
|
||||
0 48 atan dup cos 8 mul 522 exch sub
|
||||
exch sin 8 mul 146 exch sub lineto
|
||||
stroke
|
||||
grestore
|
||||
gsave
|
||||
newpath
|
||||
522 146 8 3 48 0 tgifarrowtip
|
||||
closepath fill
|
||||
grestore
|
||||
|
||||
% BOX
|
||||
gsave
|
||||
1.415 setmiterlimit
|
||||
newpath
|
||||
244 102 moveto 308 102 lineto 308 134 lineto 244 134 lineto
|
||||
closepath stroke
|
||||
1 setmiterlimit
|
||||
grestore
|
||||
|
||||
% TEXT
|
||||
0 setgray
|
||||
/Courier findfont [17 0 0 -17 0 0] makefont setfont
|
||||
gsave
|
||||
324 189 moveto (rose) show
|
||||
grestore
|
||||
|
||||
% POLY/OPEN-SPLINE
|
||||
gsave
|
||||
newpath
|
||||
260 117 moveto
|
||||
260 184 lineto
|
||||
0 48 atan dup cos 8 mul 308 exch sub
|
||||
exch sin 8 mul 184 exch sub lineto
|
||||
stroke
|
||||
grestore
|
||||
gsave
|
||||
newpath
|
||||
308 184 8 3 48 0 tgifarrowtip
|
||||
closepath fill
|
||||
grestore
|
||||
|
||||
% BOX
|
||||
gsave
|
||||
1.415 setmiterlimit
|
||||
newpath
|
||||
146 101 moveto 210 101 lineto 210 133 lineto 146 133 lineto
|
||||
closepath stroke
|
||||
1 setmiterlimit
|
||||
grestore
|
||||
|
||||
% POLY/OPEN-SPLINE
|
||||
gsave
|
||||
newpath
|
||||
177 101 moveto
|
||||
177 133 lineto
|
||||
stroke
|
||||
grestore
|
||||
|
||||
% POLY/OPEN-SPLINE
|
||||
gsave
|
||||
newpath
|
||||
193 118 moveto
|
||||
0 48 atan dup cos 8 mul 241 exch sub
|
||||
exch sin 8 mul 118 exch sub lineto
|
||||
stroke
|
||||
grestore
|
||||
gsave
|
||||
newpath
|
||||
241 118 8 3 48 0 tgifarrowtip
|
||||
closepath fill
|
||||
grestore
|
||||
|
||||
% TEXT
|
||||
0 setgray
|
||||
/Courier findfont [17 0 0 -17 0 0] makefont setfont
|
||||
gsave
|
||||
187 178 moveto (lily) show
|
||||
grestore
|
||||
|
||||
% POLY/OPEN-SPLINE
|
||||
gsave
|
||||
newpath
|
||||
163 118 moveto
|
||||
163 171 lineto
|
||||
0 18 atan dup cos 8 mul 181 exch sub
|
||||
exch sin 8 mul 171 exch sub lineto
|
||||
stroke
|
||||
grestore
|
||||
gsave
|
||||
newpath
|
||||
181 171 8 3 18 0 tgifarrowtip
|
||||
closepath fill
|
||||
grestore
|
||||
|
||||
% TEXT
|
||||
0 setgray
|
||||
/Courier findfont [17 0 0 -17 0 0] makefont setfont
|
||||
gsave
|
||||
16 78 moveto (bouquet) show
|
||||
grestore
|
||||
|
||||
% POLY/OPEN-SPLINE
|
||||
gsave
|
||||
newpath
|
||||
95 73 moveto
|
||||
122 73 lineto
|
||||
122 111 lineto
|
||||
0 18 atan dup cos 8 mul 140 exch sub
|
||||
exch sin 8 mul 111 exch sub lineto
|
||||
stroke
|
||||
grestore
|
||||
gsave
|
||||
newpath
|
||||
140 111 8 3 18 0 tgifarrowtip
|
||||
closepath fill
|
||||
grestore
|
||||
|
||||
grestore
|
||||
tgifsavedpage restore
|
||||
end
|
||||
%MatchingCreationDate: Wed Mar 8 14:25:06 1995
|
628
doc/lispintro/cons-5.eps
Normal file
628
doc/lispintro/cons-5.eps
Normal file
|
@ -0,0 +1,628 @@
|
|||
%!
|
||||
%%BoundingBox: 15 680 305 764
|
||||
%%Title: cons-cell-diagram5
|
||||
%%CreationDate: Wed Mar 8 14:27:28 1995
|
||||
%%Creator: Tgif-2.16-p4 by William Chia-Wei Cheng (william@cs.UCLA.edu)
|
||||
%
|
||||
% Due to bugs in Transcript, the 'PS-Adobe-' stuff is omitted from line 1
|
||||
%
|
||||
|
||||
% Copyright (C) 1995, 1997, 2001, 2002, 2003, 2004, 2005, 2006, 2007
|
||||
% Free Software Foundation, Inc.
|
||||
%
|
||||
% This file is part of GNU Emacs.
|
||||
%
|
||||
% GNU Emacs is free software; you can redistribute it and/or modify
|
||||
% it under the terms of the GNU General Public License as published by
|
||||
% the Free Software Foundation; either version 3, or (at your option)
|
||||
% any later version.
|
||||
%
|
||||
% GNU Emacs is distributed in the hope that it will be useful,
|
||||
% but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
% GNU General Public License for more details.
|
||||
%
|
||||
% You should have received a copy of the GNU General Public License
|
||||
% along with GNU Emacs; see the file COPYING. If not, write to
|
||||
% the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
% Boston, MA 02110-1301, USA.
|
||||
|
||||
/tgifdict 132 dict def
|
||||
tgifdict begin
|
||||
|
||||
%
|
||||
% Using a zero value radius for an ellipse or an arc would result
|
||||
% in a non-invertible CTM matrix which causes problem when this
|
||||
% when this PostScript is wrapped inside other routines, such as
|
||||
% the multi.ps package from
|
||||
% ftp.ucc.su.oz.au:/pub/ps_printing/multi. You can overcome such
|
||||
% error by uncommenting the sole line of the procedure below:
|
||||
%
|
||||
/tgif_min_radius
|
||||
{
|
||||
% dup 0.01 lt { pop 0.01 } if
|
||||
} bind def
|
||||
|
||||
/tgifellipsedict 6 dict def
|
||||
tgifellipsedict /mtrx matrix put
|
||||
|
||||
/tgifellipse
|
||||
{ tgifellipsedict begin
|
||||
/yrad exch def
|
||||
/xrad exch def
|
||||
/y exch def
|
||||
/x exch def
|
||||
/savematrix mtrx currentmatrix def
|
||||
x y translate
|
||||
xrad yrad scale
|
||||
0 0 1 0 360 arc
|
||||
savematrix setmatrix
|
||||
end
|
||||
} def
|
||||
|
||||
/tgifarrowtipdict 8 dict def
|
||||
tgifarrowtipdict /mtrx matrix put
|
||||
|
||||
/tgifarrowtip
|
||||
{ tgifarrowtipdict begin
|
||||
/dy exch def
|
||||
/dx exch def
|
||||
/h exch def
|
||||
/w exch def
|
||||
/y exch def
|
||||
/x exch def
|
||||
/savematrix mtrx currentmatrix def
|
||||
x y translate
|
||||
dy dx atan rotate
|
||||
0 0 moveto
|
||||
w neg h lineto
|
||||
w neg h neg lineto
|
||||
savematrix setmatrix
|
||||
end
|
||||
} def
|
||||
|
||||
/tgifarcdict 8 dict def
|
||||
tgifarcdict /mtrx matrix put
|
||||
|
||||
/tgifarcn
|
||||
{ tgifarcdict begin
|
||||
/endangle exch def
|
||||
/startangle exch def
|
||||
/yrad exch def
|
||||
/xrad exch def
|
||||
/y exch def
|
||||
/x exch def
|
||||
/savematrix mtrx currentmatrix def
|
||||
x y translate
|
||||
xrad yrad scale
|
||||
0 0 1 startangle endangle arc
|
||||
savematrix setmatrix
|
||||
end
|
||||
} def
|
||||
|
||||
/tgifarc
|
||||
{ tgifarcdict begin
|
||||
/endangle exch def
|
||||
/startangle exch def
|
||||
/yrad exch def
|
||||
/xrad exch def
|
||||
/y exch def
|
||||
/x exch def
|
||||
/savematrix mtrx currentmatrix def
|
||||
x y translate
|
||||
xrad yrad scale
|
||||
0 0 1 startangle endangle arcn
|
||||
savematrix setmatrix
|
||||
end
|
||||
} def
|
||||
|
||||
/tgifsetuserscreendict 22 dict def
|
||||
tgifsetuserscreendict begin
|
||||
/tempctm matrix def
|
||||
/temprot matrix def
|
||||
/tempscale matrix def
|
||||
|
||||
/concatprocs
|
||||
{ /proc2 exch cvlit def
|
||||
/proc1 exch cvlit def
|
||||
/newproc proc1 length proc2 length add array def
|
||||
newproc 0 proc1 putinterval
|
||||
newproc proc1 length proc2 putinterval
|
||||
newproc cvx
|
||||
} def
|
||||
/resmatrix matrix def
|
||||
/findresolution
|
||||
{ 72 0 resmatrix defaultmatrix dtransform
|
||||
/yres exch def /xres exch def
|
||||
xres dup mul yres dup mul add sqrt
|
||||
} def
|
||||
end
|
||||
|
||||
/tgifsetuserscreen
|
||||
{ tgifsetuserscreendict begin
|
||||
/spotfunction exch def
|
||||
/screenangle exch def
|
||||
/cellsize exch def
|
||||
|
||||
/m tempctm currentmatrix def
|
||||
/rm screenangle temprot rotate def
|
||||
/sm cellsize dup tempscale scale def
|
||||
|
||||
sm rm m m concatmatrix m concatmatrix pop
|
||||
|
||||
1 0 m dtransform /y1 exch def /x1 exch def
|
||||
|
||||
/veclength x1 dup mul y1 dup mul add sqrt def
|
||||
/frequency findresolution veclength div def
|
||||
|
||||
/newscreenangle y1 x1 atan def
|
||||
|
||||
m 2 get m 1 get mul m 0 get m 3 get mul sub 0 gt
|
||||
|
||||
{{neg} /spotfunction load concatprocs
|
||||
/spotfunction exch def
|
||||
} if
|
||||
|
||||
frequency newscreenangle /spotfunction load setscreen
|
||||
end
|
||||
} def
|
||||
|
||||
/tgifsetpatterndict 18 dict def
|
||||
tgifsetpatterndict begin
|
||||
/bitison
|
||||
{ /ybit exch def /xbit exch def
|
||||
/bytevalue bstring ybit bwidth mul xbit 8 idiv add get def
|
||||
|
||||
/mask 1 7 xbit 8 mod sub bitshift def
|
||||
bytevalue mask and 0 ne
|
||||
} def
|
||||
end
|
||||
|
||||
/tgifbitpatternspotfunction
|
||||
{ tgifsetpatterndict begin
|
||||
/y exch def /x exch def
|
||||
|
||||
/xindex x 1 add 2 div bpside mul cvi def
|
||||
/yindex y 1 add 2 div bpside mul cvi def
|
||||
|
||||
xindex yindex bitison
|
||||
{ /onbits onbits 1 add def 1 }
|
||||
{ /offbits offbits 1 add def 0 }
|
||||
ifelse
|
||||
end
|
||||
} def
|
||||
|
||||
/tgifsetpattern
|
||||
{ tgifsetpatterndict begin
|
||||
/cellsz exch def
|
||||
/angle exch def
|
||||
/bwidth exch def
|
||||
/bpside exch def
|
||||
/bstring exch def
|
||||
|
||||
/onbits 0 def /offbits 0 def
|
||||
cellsz angle /tgifbitpatternspotfunction load tgifsetuserscreen
|
||||
{} settransfer
|
||||
offbits offbits onbits add div setgray
|
||||
end
|
||||
} def
|
||||
|
||||
/tgifxpmdict 4 dict def
|
||||
/tgifbwpicstr 1 string def
|
||||
/tgifcolorpicstr 3 string def
|
||||
|
||||
/tgifsetpixels { tgifxpmdict begin /pixels exch def end } def
|
||||
|
||||
/tgifsetpix { tgifxpmdict begin pixels 3 1 roll putinterval end } def
|
||||
|
||||
/tgifbwspot
|
||||
{ tgifxpmdict begin
|
||||
/index exch def
|
||||
tgifbwpicstr 0
|
||||
pixels index 3 mul 3 getinterval aload pop
|
||||
255 mul .114 mul exch 255 mul .587 mul add exch 255 mul .299 mul add
|
||||
cvi put
|
||||
tgifbwpicstr
|
||||
end
|
||||
} def
|
||||
|
||||
/tgifcolorspot
|
||||
{ tgifxpmdict begin
|
||||
/index exch def
|
||||
pixels index 3 mul 3 getinterval aload pop
|
||||
255 mul cvi tgifcolorpicstr 2 3 -1 roll put
|
||||
255 mul cvi tgifcolorpicstr 1 3 -1 roll put
|
||||
255 mul cvi tgifcolorpicstr 0 3 -1 roll put
|
||||
tgifcolorpicstr
|
||||
end
|
||||
} def
|
||||
|
||||
/tgifnewcolorspot
|
||||
{ tgifxpmdict begin
|
||||
/index exch def
|
||||
pixels index 3 mul 3 getinterval aload pop setrgbcolor
|
||||
end
|
||||
} def
|
||||
|
||||
/tgifcolordict 4 dict def
|
||||
|
||||
/colorimage where
|
||||
{ pop }
|
||||
{ /colorimage
|
||||
{ tgifcolordict begin
|
||||
pop pop pop pop pop
|
||||
/ih exch def
|
||||
/iw exch def
|
||||
/x 0 def
|
||||
/y 0 def
|
||||
1 1 ih
|
||||
{ pop 1 1 iw
|
||||
{ pop currentfile
|
||||
tgifbwpicstr readhexstring pop 0 get tgifnewcolorspot
|
||||
x y moveto 1 0 rlineto 0 1 rlineto -1 0 rlineto
|
||||
closepath fill
|
||||
/x x 1 add def
|
||||
} for
|
||||
/y y 1 add def
|
||||
/x 0 def
|
||||
} for
|
||||
end
|
||||
} def
|
||||
} ifelse
|
||||
|
||||
/tgifpatdict 10 dict def
|
||||
|
||||
/tgifpatbyte
|
||||
{ currentdict /retstr get exch
|
||||
pat i cellsz mod get put
|
||||
} def
|
||||
|
||||
/tgifpatproc
|
||||
{ 0 1 widthlim {tgifpatbyte} for retstr
|
||||
/i i 1 add def
|
||||
} def
|
||||
|
||||
/tgifpatfill
|
||||
{ tgifpatdict begin
|
||||
/h exch def
|
||||
/w exch def
|
||||
/lty exch def
|
||||
/ltx exch def
|
||||
/cellsz exch def
|
||||
/pat exch def
|
||||
|
||||
/widthlim w cellsz div cvi 1 sub def
|
||||
/retstr widthlim 1 add string def
|
||||
/i 0 def
|
||||
|
||||
ltx lty translate
|
||||
w h true [1 0 0 1 0 0] {tgifpatproc} imagemask
|
||||
ltx neg lty neg translate
|
||||
end
|
||||
} def
|
||||
|
||||
/pat1 <ffffffffffffffff> def
|
||||
/pat2 <0000000000000000> def
|
||||
/pat3 <8000000008000000> def
|
||||
/pat4 <8800000022000000> def
|
||||
/pat5 <8800220088002200> def
|
||||
/pat6 <8822882288228822> def
|
||||
/pat7 <aa55aa55aa55aa55> def
|
||||
/pat8 <77dd77dd77dd77dd> def
|
||||
/pat9 <77ffddff77ffddff> def
|
||||
/pat10 <77ffffff77ffffff> def
|
||||
/pat11 <7fffffff7fffffff> def
|
||||
/pat12 <8040200002040800> def
|
||||
/pat13 <40a00000040a0000> def
|
||||
/pat14 <ff888888ff888888> def
|
||||
/pat15 <ff808080ff080808> def
|
||||
/pat16 <f87422478f172271> def
|
||||
/pat17 <038448300c020101> def
|
||||
/pat18 <081c22c180010204> def
|
||||
/pat19 <8080413e080814e3> def
|
||||
/pat20 <8040201008040201> def
|
||||
/pat21 <8844221188442211> def
|
||||
/pat22 <77bbddee77bbddee> def
|
||||
/pat23 <c1e070381c0e0783> def
|
||||
/pat24 <7fbfdfeff7fbfdfe> def
|
||||
/pat25 <3e1f8fc7e3f1f87c> def
|
||||
/pat26 <0102040810204080> def
|
||||
/pat27 <1122448811224488> def
|
||||
/pat28 <eeddbb77eeddbb77> def
|
||||
/pat29 <83070e1c3870e0c1> def
|
||||
/pat30 <fefdfbf7efdfbf7f> def
|
||||
/pat31 <7cf8f1e3c78f1f3e> def
|
||||
|
||||
/tgifcentertext { dup stringwidth pop 2 div neg 0 rmoveto } def
|
||||
|
||||
/tgifrighttext { dup stringwidth pop neg 0 rmoveto } def
|
||||
|
||||
/tgifreencsmalldict 12 dict def
|
||||
/tgifReEncodeSmall
|
||||
{ tgifreencsmalldict begin
|
||||
/newcodesandnames exch def
|
||||
/newfontname exch def
|
||||
/basefontname exch def
|
||||
|
||||
/basefontdict basefontname findfont def
|
||||
/newfont basefontdict maxlength dict def
|
||||
|
||||
basefontdict
|
||||
{ exch dup /FID ne
|
||||
{ dup /Encoding eq
|
||||
{ exch dup length array copy newfont 3 1 roll put }
|
||||
{ exch newfont 3 1 roll put }
|
||||
ifelse
|
||||
}
|
||||
{ pop pop }
|
||||
ifelse
|
||||
}
|
||||
forall
|
||||
|
||||
newfont /FontName newfontname put
|
||||
newcodesandnames aload pop
|
||||
|
||||
newcodesandnames length 2 idiv
|
||||
{ newfont /Encoding get 3 1 roll put}
|
||||
repeat
|
||||
|
||||
newfontname newfont definefont pop
|
||||
end
|
||||
} def
|
||||
|
||||
/tgifgray { 8 1 0 72 300 32 div div tgifsetpattern } bind def
|
||||
|
||||
/tgifboxdict 6 dict def
|
||||
/tgifboxstroke
|
||||
{ tgifboxdict begin
|
||||
/pat def /w def /y2 exch def /x2 exch def /y1 exch def /x1 exch def
|
||||
1.415 setmiterlimit
|
||||
w 1 eq { w setlinewidth } if
|
||||
pat pat1 ne pat pat2 ne and { gsave pat tgifgray } if
|
||||
newpath x1 y1 moveto x2 y1 lineto x2 y2 lineto x1 y2 lineto closepath
|
||||
pat pat2 eq { 1 setgray stroke 0 setgray } { stroke } ifelse
|
||||
pat pat1 ne pat pat2 ne and { grestore } if
|
||||
w 1 eq { 1 setlinewidth } if
|
||||
1 setmiterlimit
|
||||
end
|
||||
} def
|
||||
/tgifboxfill
|
||||
{ tgifboxdict begin
|
||||
/pat def /y2 exch def /x2 exch def /y1 exch def /x1 exch def
|
||||
pat pat1 ne pat pat2 ne and { gsave pat tgifgray } if
|
||||
newpath x1 y1 moveto x2 y1 lineto x2 y2 lineto x1 y2 lineto closepath
|
||||
pat pat2 eq { 1 setgray fill 0 setgray } { fill } ifelse
|
||||
pat pat1 ne pat pat2 ne and { grestore } if
|
||||
end
|
||||
} def
|
||||
|
||||
end
|
||||
|
||||
%%PageBoundingBox: 15 680 305 764
|
||||
tgifdict begin
|
||||
/tgifsavedpage save def
|
||||
|
||||
1 setmiterlimit
|
||||
1 setlinewidth
|
||||
|
||||
0 setgray
|
||||
|
||||
72 0 mul 72 11.00 mul translate
|
||||
72 128 div 100 mul 100 div dup neg scale
|
||||
|
||||
gsave
|
||||
|
||||
% POLY/OPEN-SPLINE
|
||||
gsave
|
||||
newpath
|
||||
156 105 moveto
|
||||
156 137 lineto
|
||||
stroke
|
||||
grestore
|
||||
|
||||
% POLY/OPEN-SPLINE
|
||||
gsave
|
||||
newpath
|
||||
171 125 moveto
|
||||
0 56 atan dup cos 8 mul 227 exch sub
|
||||
exch sin 8 mul 125 exch sub lineto
|
||||
stroke
|
||||
grestore
|
||||
gsave
|
||||
newpath
|
||||
227 125 8 3 56 0 tgifarrowtip
|
||||
closepath fill
|
||||
grestore
|
||||
|
||||
% BOX
|
||||
gsave
|
||||
1.415 setmiterlimit
|
||||
newpath
|
||||
232 103 moveto 296 103 lineto 296 135 lineto 232 135 lineto
|
||||
closepath stroke
|
||||
1 setmiterlimit
|
||||
grestore
|
||||
|
||||
% POLY/OPEN-SPLINE
|
||||
gsave
|
||||
newpath
|
||||
264 103 moveto
|
||||
264 135 lineto
|
||||
stroke
|
||||
grestore
|
||||
|
||||
% POLY/OPEN-SPLINE
|
||||
gsave
|
||||
newpath
|
||||
279 117 moveto
|
||||
0 59 atan dup cos 8 mul 338 exch sub
|
||||
exch sin 8 mul 117 exch sub lineto
|
||||
stroke
|
||||
grestore
|
||||
gsave
|
||||
newpath
|
||||
338 117 8 3 59 0 tgifarrowtip
|
||||
closepath fill
|
||||
grestore
|
||||
|
||||
% TEXT
|
||||
0 setgray
|
||||
/Courier findfont [17 0 0 -17 0 0] makefont setfont
|
||||
gsave
|
||||
289 172 moveto (a different piece of text) show
|
||||
grestore
|
||||
|
||||
% POLY/OPEN-SPLINE
|
||||
gsave
|
||||
newpath
|
||||
248 119 moveto
|
||||
248 168 lineto
|
||||
0 29 atan dup cos 8 mul 277 exch sub
|
||||
exch sin 8 mul 168 exch sub lineto
|
||||
stroke
|
||||
grestore
|
||||
gsave
|
||||
newpath
|
||||
277 168 8 3 29 0 tgifarrowtip
|
||||
closepath fill
|
||||
grestore
|
||||
|
||||
% TEXT
|
||||
0 setgray
|
||||
/Courier findfont [17 0 0 -17 0 0] makefont setfont
|
||||
gsave
|
||||
147 66 moveto (kill-ring-yank-pointer) show
|
||||
grestore
|
||||
|
||||
% POLY/OPEN-SPLINE
|
||||
gsave
|
||||
newpath
|
||||
207 76 moveto
|
||||
207 114 lineto
|
||||
0 18 atan dup cos 8 mul 225 exch sub
|
||||
exch sin 8 mul 114 exch sub lineto
|
||||
stroke
|
||||
grestore
|
||||
gsave
|
||||
newpath
|
||||
225 114 8 3 18 0 tgifarrowtip
|
||||
closepath fill
|
||||
grestore
|
||||
|
||||
% BOX
|
||||
gsave
|
||||
1.415 setmiterlimit
|
||||
newpath
|
||||
341 98 moveto 405 98 lineto 405 130 lineto 341 130 lineto
|
||||
closepath stroke
|
||||
1 setmiterlimit
|
||||
grestore
|
||||
|
||||
% POLY/OPEN-SPLINE
|
||||
gsave
|
||||
newpath
|
||||
372 98 moveto
|
||||
372 130 lineto
|
||||
stroke
|
||||
grestore
|
||||
|
||||
% POLY/OPEN-SPLINE
|
||||
gsave
|
||||
newpath
|
||||
388 115 moveto
|
||||
0 48 atan dup cos 8 mul 436 exch sub
|
||||
exch sin 8 mul 115 exch sub lineto
|
||||
stroke
|
||||
grestore
|
||||
gsave
|
||||
newpath
|
||||
436 115 8 3 48 0 tgifarrowtip
|
||||
closepath fill
|
||||
grestore
|
||||
|
||||
% TEXT
|
||||
0 setgray
|
||||
/Courier findfont [17 0 0 -17 0 0] makefont setfont
|
||||
gsave
|
||||
448 121 moveto (nil) show
|
||||
grestore
|
||||
|
||||
% TEXT
|
||||
0 setgray
|
||||
/Courier findfont [17 0 0 -17 0 0] makefont setfont
|
||||
gsave
|
||||
397 154 moveto (yet more text) show
|
||||
grestore
|
||||
|
||||
% POLY/OPEN-SPLINE
|
||||
gsave
|
||||
newpath
|
||||
356 112 moveto
|
||||
356 149 lineto
|
||||
0 35 atan dup cos 8 mul 391 exch sub
|
||||
exch sin 8 mul 149 exch sub lineto
|
||||
stroke
|
||||
grestore
|
||||
gsave
|
||||
newpath
|
||||
391 149 8 3 35 0 tgifarrowtip
|
||||
closepath fill
|
||||
grestore
|
||||
|
||||
% BOX
|
||||
gsave
|
||||
1.415 setmiterlimit
|
||||
newpath
|
||||
126 105 moveto 190 105 lineto 190 137 lineto 126 137 lineto
|
||||
closepath stroke
|
||||
1 setmiterlimit
|
||||
grestore
|
||||
|
||||
% TEXT
|
||||
0 setgray
|
||||
/Courier findfont [17 0 0 -17 0 0] makefont setfont
|
||||
gsave
|
||||
206 192 moveto (some text) show
|
||||
grestore
|
||||
|
||||
% POLY/OPEN-SPLINE
|
||||
gsave
|
||||
newpath
|
||||
142 120 moveto
|
||||
142 187 lineto
|
||||
0 48 atan dup cos 8 mul 190 exch sub
|
||||
exch sin 8 mul 187 exch sub lineto
|
||||
stroke
|
||||
grestore
|
||||
gsave
|
||||
newpath
|
||||
190 187 8 3 48 0 tgifarrowtip
|
||||
closepath fill
|
||||
grestore
|
||||
|
||||
% TEXT
|
||||
0 setgray
|
||||
/Courier findfont [17 0 0 -17 0 0] makefont setfont
|
||||
gsave
|
||||
32 66 moveto (kill-ring) show
|
||||
grestore
|
||||
|
||||
% POLY/OPEN-SPLINE
|
||||
gsave
|
||||
newpath
|
||||
65 81 moveto
|
||||
65 121 lineto
|
||||
0 51 atan dup cos 8 mul 116 exch sub
|
||||
exch sin 8 mul 121 exch sub lineto
|
||||
stroke
|
||||
grestore
|
||||
gsave
|
||||
newpath
|
||||
116 121 8 3 51 0 tgifarrowtip
|
||||
closepath fill
|
||||
grestore
|
||||
|
||||
grestore
|
||||
tgifsavedpage restore
|
||||
end
|
||||
%MatchingCreationDate: Wed Mar 8 14:27:28 1995
|
513
doc/lispintro/drawers.eps
Normal file
513
doc/lispintro/drawers.eps
Normal file
|
@ -0,0 +1,513 @@
|
|||
%!PS-Adobe-3.0 EPSF-3.0
|
||||
%%BoundingBox: 34 577 324 778
|
||||
%%Title: chest-of-drawers-diagram-new
|
||||
%%CreationDate: Fri Sep 14 17:40:57 2001
|
||||
%%Creator: Tgif-4.1.35 by William Chia-Wei Cheng (william@cs.UCLA.edu)
|
||||
%%ProducedBy: (unknown)
|
||||
%%Pages: 1
|
||||
%%DocumentFonts: (atend)
|
||||
%%EndComments
|
||||
%%BeginProlog
|
||||
|
||||
% Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007
|
||||
% Free Software Foundation, Inc.
|
||||
%
|
||||
% This file is part of GNU Emacs.
|
||||
%
|
||||
% GNU Emacs is free software; you can redistribute it and/or modify
|
||||
% it under the terms of the GNU General Public License as published by
|
||||
% the Free Software Foundation; either version 3, or (at your option)
|
||||
% any later version.
|
||||
%
|
||||
% GNU Emacs is distributed in the hope that it will be useful,
|
||||
% but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
% GNU General Public License for more details.
|
||||
%
|
||||
% You should have received a copy of the GNU General Public License
|
||||
% along with GNU Emacs; see the file COPYING. If not, write to
|
||||
% the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
% Boston, MA 02110-1301, USA.
|
||||
|
||||
/tgifdict 53 dict def
|
||||
tgifdict begin
|
||||
|
||||
/tgifellipsedict 6 dict def
|
||||
tgifellipsedict /mtrx matrix put
|
||||
|
||||
/TGEL % tgifellipse
|
||||
{ tgifellipsedict begin
|
||||
/yrad exch def
|
||||
/xrad exch def
|
||||
/y exch def
|
||||
/x exch def
|
||||
/savematrix mtrx currentmatrix def
|
||||
x y translate
|
||||
xrad yrad scale
|
||||
0 0 1 0 360 arc
|
||||
savematrix setmatrix
|
||||
end
|
||||
} def
|
||||
|
||||
/TGMAX
|
||||
{ exch dup 3 1 roll exch dup 3 1 roll gt { pop } { exch pop } ifelse
|
||||
} def
|
||||
/TGMIN
|
||||
{ exch dup 3 1 roll exch dup 3 1 roll lt { pop } { exch pop } ifelse
|
||||
} def
|
||||
/TGSW { stringwidth pop } def
|
||||
|
||||
/bd { bind def } bind def
|
||||
|
||||
/GS { gsave } bd
|
||||
/GR { grestore } bd
|
||||
/NP { newpath } bd
|
||||
/CP { closepath } bd
|
||||
/CHP { charpath } bd
|
||||
/CT { curveto } bd
|
||||
/L { lineto } bd
|
||||
/RL { rlineto } bd
|
||||
/M { moveto } bd
|
||||
/RM { rmoveto } bd
|
||||
/S { stroke } bd
|
||||
/F { fill } bd
|
||||
/TR { translate } bd
|
||||
/RO { rotate } bd
|
||||
/SC { scale } bd
|
||||
/MU { mul } bd
|
||||
/DI { div } bd
|
||||
/DU { dup } bd
|
||||
/NE { neg } bd
|
||||
/AD { add } bd
|
||||
/SU { sub } bd
|
||||
/PO { pop } bd
|
||||
/EX { exch } bd
|
||||
/CO { concat } bd
|
||||
/CL { clip } bd
|
||||
/EC { eoclip } bd
|
||||
/EF { eofill } bd
|
||||
/IM { image } bd
|
||||
/IMM { imagemask } bd
|
||||
/ARY { array } bd
|
||||
/SG { setgray } bd
|
||||
/RG { setrgbcolor } bd
|
||||
/SD { setdash } bd
|
||||
/W { setlinewidth } bd
|
||||
/SM { setmiterlimit } bd
|
||||
/SLC { setlinecap } bd
|
||||
/SLJ { setlinejoin } bd
|
||||
/SH { show } bd
|
||||
/FF { findfont } bd
|
||||
/MS { makefont setfont } bd
|
||||
/AR { arcto 4 {pop} repeat } bd
|
||||
/CURP { currentpoint } bd
|
||||
/FLAT { flattenpath strokepath clip newpath } bd
|
||||
/TGSM { tgiforigctm setmatrix } def
|
||||
/TGRM { savematrix setmatrix } def
|
||||
|
||||
end
|
||||
|
||||
%%EndProlog
|
||||
%%Page: 1 1
|
||||
|
||||
%%PageBoundingBox: 34 577 324 778
|
||||
tgifdict begin
|
||||
/tgifsavedpage save def
|
||||
|
||||
1 SM
|
||||
1 W
|
||||
|
||||
0 SG
|
||||
|
||||
72 0 MU 72 11 MU TR
|
||||
72 128 DI 100.000 MU 100 DI DU NE SC
|
||||
|
||||
GS
|
||||
|
||||
/tgiforigctm matrix currentmatrix def
|
||||
|
||||
% BOX
|
||||
0 SG
|
||||
GS
|
||||
10 SM
|
||||
GS
|
||||
NP 64 104 M 255 104 L 255 360 L 64 360 L CP
|
||||
S
|
||||
GR
|
||||
GR
|
||||
|
||||
% POLY/OPEN-SPLINE
|
||||
0 SG
|
||||
GS
|
||||
NP
|
||||
65 296 M
|
||||
254 296 L
|
||||
TGSM
|
||||
1 W
|
||||
S
|
||||
GR
|
||||
|
||||
% POLY/OPEN-SPLINE
|
||||
0 SG
|
||||
GS
|
||||
NP
|
||||
63 233 M
|
||||
255 233 L
|
||||
TGSM
|
||||
1 W
|
||||
S
|
||||
GR
|
||||
|
||||
% POLY/OPEN-SPLINE
|
||||
0 SG
|
||||
GS
|
||||
NP
|
||||
63 169 M
|
||||
255 169 L
|
||||
TGSM
|
||||
1 W
|
||||
S
|
||||
GR
|
||||
|
||||
% POLY/OPEN-SPLINE
|
||||
0 SG
|
||||
GS
|
||||
NP
|
||||
251 362 M
|
||||
251 361 L
|
||||
251 379 L
|
||||
244 379 L
|
||||
229 361 L
|
||||
TGSM
|
||||
1 W
|
||||
S
|
||||
GR
|
||||
|
||||
% OVAL
|
||||
0 SG
|
||||
GS
|
||||
GS
|
||||
NP 160 72 10 6 TGEL
|
||||
S
|
||||
GR
|
||||
GR
|
||||
|
||||
% POLY/OPEN-SPLINE
|
||||
0 SG
|
||||
GS
|
||||
NP
|
||||
63 104 M
|
||||
128 64 L
|
||||
138 69 L
|
||||
TGSM
|
||||
1 W
|
||||
S
|
||||
GR
|
||||
|
||||
% POLY/OPEN-SPLINE
|
||||
0 SG
|
||||
GS
|
||||
NP
|
||||
255 103 M
|
||||
190 63 L
|
||||
180 68 L
|
||||
TGSM
|
||||
1 W
|
||||
S
|
||||
GR
|
||||
|
||||
% TEXT
|
||||
NP
|
||||
0 SG
|
||||
GS
|
||||
1 W
|
||||
160 152 M
|
||||
GS
|
||||
GS
|
||||
0
|
||||
/Courier FF [17 0 0 -17 0 0] MS
|
||||
(symbol name) TGSW
|
||||
AD
|
||||
GR
|
||||
2 DI NE 0 RM
|
||||
0 SG
|
||||
/Courier FF [17 0 0 -17 0 0] MS
|
||||
(symbol name) SH
|
||||
GR
|
||||
GR
|
||||
|
||||
% TEXT
|
||||
NP
|
||||
0 SG
|
||||
GS
|
||||
1 W
|
||||
160 41 M
|
||||
GS
|
||||
GS
|
||||
0
|
||||
/Courier FF [17 0 0 -17 0 0] MS
|
||||
(Chest of Drawers) TGSW
|
||||
AD
|
||||
GR
|
||||
2 DI NE 0 RM
|
||||
0 SG
|
||||
/Courier FF [17 0 0 -17 0 0] MS
|
||||
(Chest of Drawers) SH
|
||||
GR
|
||||
GR
|
||||
|
||||
% TEXT
|
||||
NP
|
||||
0 SG
|
||||
GS
|
||||
1 W
|
||||
344 41 M
|
||||
GS
|
||||
0 SG
|
||||
/Courier FF [17 0 0 -17 0 0] MS
|
||||
(Contents of Drawers) SH
|
||||
GR
|
||||
GR
|
||||
|
||||
% TEXT
|
||||
NP
|
||||
0 SG
|
||||
GS
|
||||
1 W
|
||||
344 160 M
|
||||
GS
|
||||
0 SG
|
||||
/Courier FF [17 0 0 -17 0 0] MS
|
||||
(bouquet) SH
|
||||
GR
|
||||
GR
|
||||
|
||||
% TEXT
|
||||
NP
|
||||
0 SG
|
||||
GS
|
||||
1 W
|
||||
344 220 M
|
||||
GS
|
||||
0 SG
|
||||
/Courier FF [17 0 0 -17 0 0] MS
|
||||
([none]) SH
|
||||
GR
|
||||
GR
|
||||
|
||||
% TEXT
|
||||
NP
|
||||
0 SG
|
||||
GS
|
||||
1 W
|
||||
344 279 M
|
||||
GS
|
||||
0 SG
|
||||
/Courier FF [17 0 0 -17 0 0] MS
|
||||
(\(rose violet buttercup\)) SH
|
||||
GR
|
||||
GR
|
||||
|
||||
% TEXT
|
||||
NP
|
||||
0 SG
|
||||
GS
|
||||
1 W
|
||||
344 337 M
|
||||
GS
|
||||
0 SG
|
||||
/Courier FF [17 0 0 -17 0 0] MS
|
||||
([not described here]) SH
|
||||
GR
|
||||
GR
|
||||
|
||||
% POLY/OPEN-SPLINE
|
||||
0 SG
|
||||
GS
|
||||
NP
|
||||
68 362 M
|
||||
68 361 L
|
||||
68 379 L
|
||||
75 379 L
|
||||
90 361 L
|
||||
TGSM
|
||||
1 W
|
||||
S
|
||||
GR
|
||||
|
||||
% TEXT
|
||||
NP
|
||||
0 SG
|
||||
GS
|
||||
1 W
|
||||
158 132 M
|
||||
GS
|
||||
GS
|
||||
0
|
||||
/NewCenturySchlbk-Roman FF [17 0 0 -17 0 0] MS
|
||||
(directions to) TGSW
|
||||
AD
|
||||
GR
|
||||
2 DI NE 0 RM
|
||||
0 SG
|
||||
/NewCenturySchlbk-Roman FF [17 0 0 -17 0 0] MS
|
||||
(directions to) SH
|
||||
GR
|
||||
GR
|
||||
|
||||
% TEXT
|
||||
NP
|
||||
0 SG
|
||||
GS
|
||||
1 W
|
||||
345 139 M
|
||||
GS
|
||||
0 SG
|
||||
/NewCenturySchlbk-Roman FF [17 0 0 -17 0 0] MS
|
||||
(map to) SH
|
||||
GR
|
||||
GR
|
||||
|
||||
% TEXT
|
||||
NP
|
||||
0 SG
|
||||
GS
|
||||
1 W
|
||||
350 259 M
|
||||
GS
|
||||
0 SG
|
||||
/NewCenturySchlbk-Roman FF [17 0 0 -17 0 0] MS
|
||||
(map to) SH
|
||||
GR
|
||||
GR
|
||||
|
||||
% TEXT
|
||||
NP
|
||||
0 SG
|
||||
GS
|
||||
1 W
|
||||
159 213 M
|
||||
GS
|
||||
GS
|
||||
0
|
||||
/Courier FF [17 0 0 -17 0 0] MS
|
||||
(symbol definition) TGSW
|
||||
AD
|
||||
GR
|
||||
2 DI NE 0 RM
|
||||
0 SG
|
||||
/Courier FF [17 0 0 -17 0 0] MS
|
||||
(symbol definition) SH
|
||||
GR
|
||||
GR
|
||||
|
||||
% TEXT
|
||||
NP
|
||||
0 SG
|
||||
GS
|
||||
1 W
|
||||
159 195 M
|
||||
GS
|
||||
GS
|
||||
0
|
||||
/NewCenturySchlbk-Roman FF [17 0 0 -17 0 0] MS
|
||||
(directions to) TGSW
|
||||
AD
|
||||
GR
|
||||
2 DI NE 0 RM
|
||||
0 SG
|
||||
/NewCenturySchlbk-Roman FF [17 0 0 -17 0 0] MS
|
||||
(directions to) SH
|
||||
GR
|
||||
GR
|
||||
|
||||
% TEXT
|
||||
NP
|
||||
0 SG
|
||||
GS
|
||||
1 W
|
||||
160 276 M
|
||||
GS
|
||||
GS
|
||||
0
|
||||
/Courier FF [17 0 0 -17 0 0] MS
|
||||
(variable name) TGSW
|
||||
AD
|
||||
GR
|
||||
2 DI NE 0 RM
|
||||
0 SG
|
||||
/Courier FF [17 0 0 -17 0 0] MS
|
||||
(variable name) SH
|
||||
GR
|
||||
GR
|
||||
|
||||
% TEXT
|
||||
NP
|
||||
0 SG
|
||||
GS
|
||||
1 W
|
||||
158 260 M
|
||||
GS
|
||||
GS
|
||||
0
|
||||
/NewCenturySchlbk-Roman FF [17 0 0 -17 0 0] MS
|
||||
(directions to) TGSW
|
||||
AD
|
||||
GR
|
||||
2 DI NE 0 RM
|
||||
0 SG
|
||||
/NewCenturySchlbk-Roman FF [17 0 0 -17 0 0] MS
|
||||
(directions to) SH
|
||||
GR
|
||||
GR
|
||||
|
||||
% TEXT
|
||||
NP
|
||||
0 SG
|
||||
GS
|
||||
1 W
|
||||
160 339 M
|
||||
GS
|
||||
GS
|
||||
0
|
||||
/Courier FF [17 0 0 -17 0 0] MS
|
||||
(property list) TGSW
|
||||
AD
|
||||
GR
|
||||
2 DI NE 0 RM
|
||||
0 SG
|
||||
/Courier FF [17 0 0 -17 0 0] MS
|
||||
(property list) SH
|
||||
GR
|
||||
GR
|
||||
|
||||
% TEXT
|
||||
NP
|
||||
0 SG
|
||||
GS
|
||||
1 W
|
||||
158 323 M
|
||||
GS
|
||||
GS
|
||||
0
|
||||
/NewCenturySchlbk-Roman FF [17 0 0 -17 0 0] MS
|
||||
(directions to) TGSW
|
||||
AD
|
||||
GR
|
||||
2 DI NE 0 RM
|
||||
0 SG
|
||||
/NewCenturySchlbk-Roman FF [17 0 0 -17 0 0] MS
|
||||
(directions to) SH
|
||||
GR
|
||||
GR
|
||||
|
||||
GR
|
||||
tgifsavedpage restore
|
||||
end
|
||||
showpage
|
||||
|
||||
%%Trailer
|
||||
%MatchingCreationDate: Fri Sep 14 17:40:57 2001
|
||||
%%DocumentFonts: NewCenturySchlbk-Roman
|
||||
%%+ Courier
|
||||
%%EOF
|
22721
doc/lispintro/emacs-lisp-intro.texi
Normal file
22721
doc/lispintro/emacs-lisp-intro.texi
Normal file
File diff suppressed because it is too large
Load diff
250
doc/lispintro/install-sh
Executable file
250
doc/lispintro/install-sh
Executable file
|
@ -0,0 +1,250 @@
|
|||
#!/bin/sh
|
||||
#
|
||||
# install - install a program, script, or datafile
|
||||
# This comes from X11R5 (mit/util/scripts/install.sh).
|
||||
#
|
||||
# Copyright 1991 by the Massachusetts Institute of Technology
|
||||
#
|
||||
# Permission to use, copy, modify, distribute, and sell this software and its
|
||||
# documentation for any purpose is hereby granted without fee, provided that
|
||||
# the above copyright notice appear in all copies and that both that
|
||||
# copyright notice and this permission notice appear in supporting
|
||||
# documentation, and that the name of M.I.T. not be used in advertising or
|
||||
# publicity pertaining to distribution of the software without specific,
|
||||
# written prior permission. M.I.T. makes no representations about the
|
||||
# suitability of this software for any purpose. It is provided "as is"
|
||||
# without express or implied warranty.
|
||||
#
|
||||
# Calling this script install-sh is preferred over install.sh, to prevent
|
||||
# `make' implicit rules from creating a file called install from it
|
||||
# when there is no Makefile.
|
||||
#
|
||||
# This script is compatible with the BSD install script, but was written
|
||||
# from scratch. It can only install one file at a time, a restriction
|
||||
# shared with many OS's install programs.
|
||||
|
||||
|
||||
# set DOITPROG to echo to test this script
|
||||
|
||||
# Don't use :- since 4.3BSD and earlier shells don't like it.
|
||||
doit="${DOITPROG-}"
|
||||
|
||||
|
||||
# put in absolute paths if you don't have them in your path; or use env. vars.
|
||||
|
||||
mvprog="${MVPROG-mv}"
|
||||
cpprog="${CPPROG-cp}"
|
||||
chmodprog="${CHMODPROG-chmod}"
|
||||
chownprog="${CHOWNPROG-chown}"
|
||||
chgrpprog="${CHGRPPROG-chgrp}"
|
||||
stripprog="${STRIPPROG-strip}"
|
||||
rmprog="${RMPROG-rm}"
|
||||
mkdirprog="${MKDIRPROG-mkdir}"
|
||||
|
||||
transformbasename=""
|
||||
transform_arg=""
|
||||
instcmd="$mvprog"
|
||||
chmodcmd="$chmodprog 0755"
|
||||
chowncmd=""
|
||||
chgrpcmd=""
|
||||
stripcmd=""
|
||||
rmcmd="$rmprog -f"
|
||||
mvcmd="$mvprog"
|
||||
src=""
|
||||
dst=""
|
||||
dir_arg=""
|
||||
|
||||
while [ x"$1" != x ]; do
|
||||
case $1 in
|
||||
-c) instcmd="$cpprog"
|
||||
shift
|
||||
continue;;
|
||||
|
||||
-d) dir_arg=true
|
||||
shift
|
||||
continue;;
|
||||
|
||||
-m) chmodcmd="$chmodprog $2"
|
||||
shift
|
||||
shift
|
||||
continue;;
|
||||
|
||||
-o) chowncmd="$chownprog $2"
|
||||
shift
|
||||
shift
|
||||
continue;;
|
||||
|
||||
-g) chgrpcmd="$chgrpprog $2"
|
||||
shift
|
||||
shift
|
||||
continue;;
|
||||
|
||||
-s) stripcmd="$stripprog"
|
||||
shift
|
||||
continue;;
|
||||
|
||||
-t=*) transformarg=`echo $1 | sed 's/-t=//'`
|
||||
shift
|
||||
continue;;
|
||||
|
||||
-b=*) transformbasename=`echo $1 | sed 's/-b=//'`
|
||||
shift
|
||||
continue;;
|
||||
|
||||
*) if [ x"$src" = x ]
|
||||
then
|
||||
src=$1
|
||||
else
|
||||
# this colon is to work around a 386BSD /bin/sh bug
|
||||
:
|
||||
dst=$1
|
||||
fi
|
||||
shift
|
||||
continue;;
|
||||
esac
|
||||
done
|
||||
|
||||
if [ x"$src" = x ]
|
||||
then
|
||||
echo "install: no input file specified"
|
||||
exit 1
|
||||
else
|
||||
true
|
||||
fi
|
||||
|
||||
if [ x"$dir_arg" != x ]; then
|
||||
dst=$src
|
||||
src=""
|
||||
|
||||
if [ -d $dst ]; then
|
||||
instcmd=:
|
||||
else
|
||||
instcmd=mkdir
|
||||
fi
|
||||
else
|
||||
|
||||
# Waiting for this to be detected by the "$instcmd $src $dsttmp" command
|
||||
# might cause directories to be created, which would be especially bad
|
||||
# if $src (and thus $dsttmp) contains '*'.
|
||||
|
||||
if [ -f $src -o -d $src ]
|
||||
then
|
||||
true
|
||||
else
|
||||
echo "install: $src does not exist"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ x"$dst" = x ]
|
||||
then
|
||||
echo "install: no destination specified"
|
||||
exit 1
|
||||
else
|
||||
true
|
||||
fi
|
||||
|
||||
# If destination is a directory, append the input filename; if your system
|
||||
# does not like double slashes in filenames, you may need to add some logic
|
||||
|
||||
if [ -d $dst ]
|
||||
then
|
||||
dst="$dst"/`basename $src`
|
||||
else
|
||||
true
|
||||
fi
|
||||
fi
|
||||
|
||||
## this sed command emulates the dirname command
|
||||
dstdir=`echo $dst | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'`
|
||||
|
||||
# Make sure that the destination directory exists.
|
||||
# this part is taken from Noah Friedman's mkinstalldirs script
|
||||
|
||||
# Skip lots of stat calls in the usual case.
|
||||
if [ ! -d "$dstdir" ]; then
|
||||
defaultIFS='
|
||||
'
|
||||
IFS="${IFS-${defaultIFS}}"
|
||||
|
||||
oIFS="${IFS}"
|
||||
# Some sh's can't handle IFS=/ for some reason.
|
||||
IFS='%'
|
||||
set - `echo ${dstdir} | sed -e 's@/@%@g' -e 's@^%@/@'`
|
||||
IFS="${oIFS}"
|
||||
|
||||
pathcomp=''
|
||||
|
||||
while [ $# -ne 0 ] ; do
|
||||
pathcomp="${pathcomp}${1}"
|
||||
shift
|
||||
|
||||
if [ ! -d "${pathcomp}" ] ;
|
||||
then
|
||||
$mkdirprog "${pathcomp}"
|
||||
else
|
||||
true
|
||||
fi
|
||||
|
||||
pathcomp="${pathcomp}/"
|
||||
done
|
||||
fi
|
||||
|
||||
if [ x"$dir_arg" != x ]
|
||||
then
|
||||
$doit $instcmd $dst &&
|
||||
|
||||
if [ x"$chowncmd" != x ]; then $doit $chowncmd $dst; else true ; fi &&
|
||||
if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dst; else true ; fi &&
|
||||
if [ x"$stripcmd" != x ]; then $doit $stripcmd $dst; else true ; fi &&
|
||||
if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dst; else true ; fi
|
||||
else
|
||||
|
||||
# If we're going to rename the final executable, determine the name now.
|
||||
|
||||
if [ x"$transformarg" = x ]
|
||||
then
|
||||
dstfile=`basename $dst`
|
||||
else
|
||||
dstfile=`basename $dst $transformbasename |
|
||||
sed $transformarg`$transformbasename
|
||||
fi
|
||||
|
||||
# don't allow the sed command to completely eliminate the filename
|
||||
|
||||
if [ x"$dstfile" = x ]
|
||||
then
|
||||
dstfile=`basename $dst`
|
||||
else
|
||||
true
|
||||
fi
|
||||
|
||||
# Make a temp file name in the proper directory.
|
||||
|
||||
dsttmp=$dstdir/#inst.$$#
|
||||
|
||||
# Move or copy the file name to the temp name
|
||||
|
||||
$doit $instcmd $src $dsttmp &&
|
||||
|
||||
trap "rm -f ${dsttmp}" 0 &&
|
||||
|
||||
# and set any options; do chmod last to preserve setuid bits
|
||||
|
||||
# If any of these fail, we abort the whole thing. If we want to
|
||||
# ignore errors from any of these, just make sure not to ignore
|
||||
# errors from the above "$doit $instcmd $src $dsttmp" command.
|
||||
|
||||
if [ x"$chowncmd" != x ]; then $doit $chowncmd $dsttmp; else true;fi &&
|
||||
if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dsttmp; else true;fi &&
|
||||
if [ x"$stripcmd" != x ]; then $doit $stripcmd $dsttmp; else true;fi &&
|
||||
if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dsttmp; else true;fi &&
|
||||
|
||||
# Now rename the file to the real destination.
|
||||
|
||||
$doit $rmcmd -f $dstdir/$dstfile &&
|
||||
$doit $mvcmd $dsttmp $dstdir/$dstfile
|
||||
|
||||
fi &&
|
||||
|
||||
|
||||
exit 0
|
471
doc/lispintro/lambda-1.eps
Normal file
471
doc/lispintro/lambda-1.eps
Normal file
|
@ -0,0 +1,471 @@
|
|||
%!
|
||||
%%BoundingBox: 33 710 173 759
|
||||
%%Title: lambda-diagram1
|
||||
%%CreationDate: Wed Mar 8 14:31:53 1995
|
||||
%%Creator: Tgif-2.16-p4 by William Chia-Wei Cheng (william@cs.UCLA.edu)
|
||||
%
|
||||
% Due to bugs in Transcript, the 'PS-Adobe-' stuff is omitted from line 1
|
||||
%
|
||||
|
||||
% Copyright (C) 1995, 1997, 2001, 2002, 2003, 2004, 2005, 2006, 2007
|
||||
% Free Software Foundation, Inc.
|
||||
%
|
||||
% This file is part of GNU Emacs.
|
||||
%
|
||||
% GNU Emacs is free software; you can redistribute it and/or modify
|
||||
% it under the terms of the GNU General Public License as published by
|
||||
% the Free Software Foundation; either version 3, or (at your option)
|
||||
% any later version.
|
||||
%
|
||||
% GNU Emacs is distributed in the hope that it will be useful,
|
||||
% but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
% GNU General Public License for more details.
|
||||
%
|
||||
% You should have received a copy of the GNU General Public License
|
||||
% along with GNU Emacs; see the file COPYING. If not, write to
|
||||
% the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
% Boston, MA 02110-1301, USA.
|
||||
|
||||
/tgifdict 132 dict def
|
||||
tgifdict begin
|
||||
|
||||
%
|
||||
% Using a zero value radius for an ellipse or an arc would result
|
||||
% in a non-invertible CTM matrix which causes problem when this
|
||||
% when this PostScript is wrapped inside other routines, such as
|
||||
% the multi.ps package from
|
||||
% ftp.ucc.su.oz.au:/pub/ps_printing/multi. You can overcome such
|
||||
% error by uncommenting the sole line of the procedure below:
|
||||
%
|
||||
/tgif_min_radius
|
||||
{
|
||||
% dup 0.01 lt { pop 0.01 } if
|
||||
} bind def
|
||||
|
||||
/tgifellipsedict 6 dict def
|
||||
tgifellipsedict /mtrx matrix put
|
||||
|
||||
/tgifellipse
|
||||
{ tgifellipsedict begin
|
||||
/yrad exch def
|
||||
/xrad exch def
|
||||
/y exch def
|
||||
/x exch def
|
||||
/savematrix mtrx currentmatrix def
|
||||
x y translate
|
||||
xrad yrad scale
|
||||
0 0 1 0 360 arc
|
||||
savematrix setmatrix
|
||||
end
|
||||
} def
|
||||
|
||||
/tgifarrowtipdict 8 dict def
|
||||
tgifarrowtipdict /mtrx matrix put
|
||||
|
||||
/tgifarrowtip
|
||||
{ tgifarrowtipdict begin
|
||||
/dy exch def
|
||||
/dx exch def
|
||||
/h exch def
|
||||
/w exch def
|
||||
/y exch def
|
||||
/x exch def
|
||||
/savematrix mtrx currentmatrix def
|
||||
x y translate
|
||||
dy dx atan rotate
|
||||
0 0 moveto
|
||||
w neg h lineto
|
||||
w neg h neg lineto
|
||||
savematrix setmatrix
|
||||
end
|
||||
} def
|
||||
|
||||
/tgifarcdict 8 dict def
|
||||
tgifarcdict /mtrx matrix put
|
||||
|
||||
/tgifarcn
|
||||
{ tgifarcdict begin
|
||||
/endangle exch def
|
||||
/startangle exch def
|
||||
/yrad exch def
|
||||
/xrad exch def
|
||||
/y exch def
|
||||
/x exch def
|
||||
/savematrix mtrx currentmatrix def
|
||||
x y translate
|
||||
xrad yrad scale
|
||||
0 0 1 startangle endangle arc
|
||||
savematrix setmatrix
|
||||
end
|
||||
} def
|
||||
|
||||
/tgifarc
|
||||
{ tgifarcdict begin
|
||||
/endangle exch def
|
||||
/startangle exch def
|
||||
/yrad exch def
|
||||
/xrad exch def
|
||||
/y exch def
|
||||
/x exch def
|
||||
/savematrix mtrx currentmatrix def
|
||||
x y translate
|
||||
xrad yrad scale
|
||||
0 0 1 startangle endangle arcn
|
||||
savematrix setmatrix
|
||||
end
|
||||
} def
|
||||
|
||||
/tgifsetuserscreendict 22 dict def
|
||||
tgifsetuserscreendict begin
|
||||
/tempctm matrix def
|
||||
/temprot matrix def
|
||||
/tempscale matrix def
|
||||
|
||||
/concatprocs
|
||||
{ /proc2 exch cvlit def
|
||||
/proc1 exch cvlit def
|
||||
/newproc proc1 length proc2 length add array def
|
||||
newproc 0 proc1 putinterval
|
||||
newproc proc1 length proc2 putinterval
|
||||
newproc cvx
|
||||
} def
|
||||
/resmatrix matrix def
|
||||
/findresolution
|
||||
{ 72 0 resmatrix defaultmatrix dtransform
|
||||
/yres exch def /xres exch def
|
||||
xres dup mul yres dup mul add sqrt
|
||||
} def
|
||||
end
|
||||
|
||||
/tgifsetuserscreen
|
||||
{ tgifsetuserscreendict begin
|
||||
/spotfunction exch def
|
||||
/screenangle exch def
|
||||
/cellsize exch def
|
||||
|
||||
/m tempctm currentmatrix def
|
||||
/rm screenangle temprot rotate def
|
||||
/sm cellsize dup tempscale scale def
|
||||
|
||||
sm rm m m concatmatrix m concatmatrix pop
|
||||
|
||||
1 0 m dtransform /y1 exch def /x1 exch def
|
||||
|
||||
/veclength x1 dup mul y1 dup mul add sqrt def
|
||||
/frequency findresolution veclength div def
|
||||
|
||||
/newscreenangle y1 x1 atan def
|
||||
|
||||
m 2 get m 1 get mul m 0 get m 3 get mul sub 0 gt
|
||||
|
||||
{{neg} /spotfunction load concatprocs
|
||||
/spotfunction exch def
|
||||
} if
|
||||
|
||||
frequency newscreenangle /spotfunction load setscreen
|
||||
end
|
||||
} def
|
||||
|
||||
/tgifsetpatterndict 18 dict def
|
||||
tgifsetpatterndict begin
|
||||
/bitison
|
||||
{ /ybit exch def /xbit exch def
|
||||
/bytevalue bstring ybit bwidth mul xbit 8 idiv add get def
|
||||
|
||||
/mask 1 7 xbit 8 mod sub bitshift def
|
||||
bytevalue mask and 0 ne
|
||||
} def
|
||||
end
|
||||
|
||||
/tgifbitpatternspotfunction
|
||||
{ tgifsetpatterndict begin
|
||||
/y exch def /x exch def
|
||||
|
||||
/xindex x 1 add 2 div bpside mul cvi def
|
||||
/yindex y 1 add 2 div bpside mul cvi def
|
||||
|
||||
xindex yindex bitison
|
||||
{ /onbits onbits 1 add def 1 }
|
||||
{ /offbits offbits 1 add def 0 }
|
||||
ifelse
|
||||
end
|
||||
} def
|
||||
|
||||
/tgifsetpattern
|
||||
{ tgifsetpatterndict begin
|
||||
/cellsz exch def
|
||||
/angle exch def
|
||||
/bwidth exch def
|
||||
/bpside exch def
|
||||
/bstring exch def
|
||||
|
||||
/onbits 0 def /offbits 0 def
|
||||
cellsz angle /tgifbitpatternspotfunction load tgifsetuserscreen
|
||||
{} settransfer
|
||||
offbits offbits onbits add div setgray
|
||||
end
|
||||
} def
|
||||
|
||||
/tgifxpmdict 4 dict def
|
||||
/tgifbwpicstr 1 string def
|
||||
/tgifcolorpicstr 3 string def
|
||||
|
||||
/tgifsetpixels { tgifxpmdict begin /pixels exch def end } def
|
||||
|
||||
/tgifsetpix { tgifxpmdict begin pixels 3 1 roll putinterval end } def
|
||||
|
||||
/tgifbwspot
|
||||
{ tgifxpmdict begin
|
||||
/index exch def
|
||||
tgifbwpicstr 0
|
||||
pixels index 3 mul 3 getinterval aload pop
|
||||
255 mul .114 mul exch 255 mul .587 mul add exch 255 mul .299 mul add
|
||||
cvi put
|
||||
tgifbwpicstr
|
||||
end
|
||||
} def
|
||||
|
||||
/tgifcolorspot
|
||||
{ tgifxpmdict begin
|
||||
/index exch def
|
||||
pixels index 3 mul 3 getinterval aload pop
|
||||
255 mul cvi tgifcolorpicstr 2 3 -1 roll put
|
||||
255 mul cvi tgifcolorpicstr 1 3 -1 roll put
|
||||
255 mul cvi tgifcolorpicstr 0 3 -1 roll put
|
||||
tgifcolorpicstr
|
||||
end
|
||||
} def
|
||||
|
||||
/tgifnewcolorspot
|
||||
{ tgifxpmdict begin
|
||||
/index exch def
|
||||
pixels index 3 mul 3 getinterval aload pop setrgbcolor
|
||||
end
|
||||
} def
|
||||
|
||||
/tgifcolordict 4 dict def
|
||||
|
||||
/colorimage where
|
||||
{ pop }
|
||||
{ /colorimage
|
||||
{ tgifcolordict begin
|
||||
pop pop pop pop pop
|
||||
/ih exch def
|
||||
/iw exch def
|
||||
/x 0 def
|
||||
/y 0 def
|
||||
1 1 ih
|
||||
{ pop 1 1 iw
|
||||
{ pop currentfile
|
||||
tgifbwpicstr readhexstring pop 0 get tgifnewcolorspot
|
||||
x y moveto 1 0 rlineto 0 1 rlineto -1 0 rlineto
|
||||
closepath fill
|
||||
/x x 1 add def
|
||||
} for
|
||||
/y y 1 add def
|
||||
/x 0 def
|
||||
} for
|
||||
end
|
||||
} def
|
||||
} ifelse
|
||||
|
||||
/tgifpatdict 10 dict def
|
||||
|
||||
/tgifpatbyte
|
||||
{ currentdict /retstr get exch
|
||||
pat i cellsz mod get put
|
||||
} def
|
||||
|
||||
/tgifpatproc
|
||||
{ 0 1 widthlim {tgifpatbyte} for retstr
|
||||
/i i 1 add def
|
||||
} def
|
||||
|
||||
/tgifpatfill
|
||||
{ tgifpatdict begin
|
||||
/h exch def
|
||||
/w exch def
|
||||
/lty exch def
|
||||
/ltx exch def
|
||||
/cellsz exch def
|
||||
/pat exch def
|
||||
|
||||
/widthlim w cellsz div cvi 1 sub def
|
||||
/retstr widthlim 1 add string def
|
||||
/i 0 def
|
||||
|
||||
ltx lty translate
|
||||
w h true [1 0 0 1 0 0] {tgifpatproc} imagemask
|
||||
ltx neg lty neg translate
|
||||
end
|
||||
} def
|
||||
|
||||
/pat1 <ffffffffffffffff> def
|
||||
/pat2 <0000000000000000> def
|
||||
/pat3 <8000000008000000> def
|
||||
/pat4 <8800000022000000> def
|
||||
/pat5 <8800220088002200> def
|
||||
/pat6 <8822882288228822> def
|
||||
/pat7 <aa55aa55aa55aa55> def
|
||||
/pat8 <77dd77dd77dd77dd> def
|
||||
/pat9 <77ffddff77ffddff> def
|
||||
/pat10 <77ffffff77ffffff> def
|
||||
/pat11 <7fffffff7fffffff> def
|
||||
/pat12 <8040200002040800> def
|
||||
/pat13 <40a00000040a0000> def
|
||||
/pat14 <ff888888ff888888> def
|
||||
/pat15 <ff808080ff080808> def
|
||||
/pat16 <f87422478f172271> def
|
||||
/pat17 <038448300c020101> def
|
||||
/pat18 <081c22c180010204> def
|
||||
/pat19 <8080413e080814e3> def
|
||||
/pat20 <8040201008040201> def
|
||||
/pat21 <8844221188442211> def
|
||||
/pat22 <77bbddee77bbddee> def
|
||||
/pat23 <c1e070381c0e0783> def
|
||||
/pat24 <7fbfdfeff7fbfdfe> def
|
||||
/pat25 <3e1f8fc7e3f1f87c> def
|
||||
/pat26 <0102040810204080> def
|
||||
/pat27 <1122448811224488> def
|
||||
/pat28 <eeddbb77eeddbb77> def
|
||||
/pat29 <83070e1c3870e0c1> def
|
||||
/pat30 <fefdfbf7efdfbf7f> def
|
||||
/pat31 <7cf8f1e3c78f1f3e> def
|
||||
|
||||
/tgifcentertext { dup stringwidth pop 2 div neg 0 rmoveto } def
|
||||
|
||||
/tgifrighttext { dup stringwidth pop neg 0 rmoveto } def
|
||||
|
||||
/tgifreencsmalldict 12 dict def
|
||||
/tgifReEncodeSmall
|
||||
{ tgifreencsmalldict begin
|
||||
/newcodesandnames exch def
|
||||
/newfontname exch def
|
||||
/basefontname exch def
|
||||
|
||||
/basefontdict basefontname findfont def
|
||||
/newfont basefontdict maxlength dict def
|
||||
|
||||
basefontdict
|
||||
{ exch dup /FID ne
|
||||
{ dup /Encoding eq
|
||||
{ exch dup length array copy newfont 3 1 roll put }
|
||||
{ exch newfont 3 1 roll put }
|
||||
ifelse
|
||||
}
|
||||
{ pop pop }
|
||||
ifelse
|
||||
}
|
||||
forall
|
||||
|
||||
newfont /FontName newfontname put
|
||||
newcodesandnames aload pop
|
||||
|
||||
newcodesandnames length 2 idiv
|
||||
{ newfont /Encoding get 3 1 roll put}
|
||||
repeat
|
||||
|
||||
newfontname newfont definefont pop
|
||||
end
|
||||
} def
|
||||
|
||||
/tgifgray { 8 1 0 72 300 32 div div tgifsetpattern } bind def
|
||||
|
||||
/tgifboxdict 6 dict def
|
||||
/tgifboxstroke
|
||||
{ tgifboxdict begin
|
||||
/pat def /w def /y2 exch def /x2 exch def /y1 exch def /x1 exch def
|
||||
1.415 setmiterlimit
|
||||
w 1 eq { w setlinewidth } if
|
||||
pat pat1 ne pat pat2 ne and { gsave pat tgifgray } if
|
||||
newpath x1 y1 moveto x2 y1 lineto x2 y2 lineto x1 y2 lineto closepath
|
||||
pat pat2 eq { 1 setgray stroke 0 setgray } { stroke } ifelse
|
||||
pat pat1 ne pat pat2 ne and { grestore } if
|
||||
w 1 eq { 1 setlinewidth } if
|
||||
1 setmiterlimit
|
||||
end
|
||||
} def
|
||||
/tgifboxfill
|
||||
{ tgifboxdict begin
|
||||
/pat def /y2 exch def /x2 exch def /y1 exch def /x1 exch def
|
||||
pat pat1 ne pat pat2 ne and { gsave pat tgifgray } if
|
||||
newpath x1 y1 moveto x2 y1 lineto x2 y2 lineto x1 y2 lineto closepath
|
||||
pat pat2 eq { 1 setgray fill 0 setgray } { fill } ifelse
|
||||
pat pat1 ne pat pat2 ne and { grestore } if
|
||||
end
|
||||
} def
|
||||
|
||||
end
|
||||
|
||||
%%PageBoundingBox: 33 710 173 759
|
||||
tgifdict begin
|
||||
/tgifsavedpage save def
|
||||
|
||||
1 setmiterlimit
|
||||
1 setlinewidth
|
||||
|
||||
0 setgray
|
||||
|
||||
72 0 mul 72 11.00 mul translate
|
||||
72 128 div 100 mul 100 div dup neg scale
|
||||
|
||||
gsave
|
||||
|
||||
% TEXT
|
||||
0 setgray
|
||||
/Courier findfont [17 0 0 -17 0 0] makefont setfont
|
||||
gsave
|
||||
63 75 moveto (\(multiply-by-seven 3\)) show
|
||||
grestore
|
||||
|
||||
% POLY/OPEN-SPLINE
|
||||
gsave
|
||||
newpath
|
||||
80 80 moveto
|
||||
96 96 lineto
|
||||
224 96 lineto
|
||||
240 80 lineto
|
||||
stroke
|
||||
grestore
|
||||
|
||||
% POLY/OPEN-SPLINE
|
||||
gsave
|
||||
newpath
|
||||
264 119 moveto
|
||||
-22 0 atan dup cos 8 mul 264 exch sub
|
||||
exch sin 8 mul 97 exch sub lineto
|
||||
stroke
|
||||
grestore
|
||||
gsave
|
||||
newpath
|
||||
264 97 8 3 0 -22 tgifarrowtip
|
||||
closepath fill
|
||||
grestore
|
||||
|
||||
% POLY/OPEN-SPLINE
|
||||
gsave
|
||||
newpath
|
||||
160 103 moveto
|
||||
160 119 lineto
|
||||
stroke
|
||||
grestore
|
||||
|
||||
% TEXT
|
||||
0 setgray
|
||||
/Courier findfont [17 0 0 -17 0 0] makefont setfont
|
||||
gsave
|
||||
112 139 moveto (function) show
|
||||
grestore
|
||||
|
||||
% TEXT
|
||||
0 setgray
|
||||
/Courier findfont [17 0 0 -17 0 0] makefont setfont
|
||||
gsave
|
||||
224 139 moveto (argument) show
|
||||
grestore
|
||||
|
||||
grestore
|
||||
tgifsavedpage restore
|
||||
end
|
||||
%MatchingCreationDate: Wed Mar 8 14:31:53 1995
|
471
doc/lispintro/lambda-2.eps
Normal file
471
doc/lispintro/lambda-2.eps
Normal file
|
@ -0,0 +1,471 @@
|
|||
%!
|
||||
%%BoundingBox: 33 730 240 777
|
||||
%%Title: lambda-diagram2
|
||||
%%CreationDate: Wed Mar 8 14:33:09 1995
|
||||
%%Creator: Tgif-2.16-p4 by William Chia-Wei Cheng (william@cs.UCLA.edu)
|
||||
%
|
||||
% Due to bugs in Transcript, the 'PS-Adobe-' stuff is omitted from line 1
|
||||
%
|
||||
|
||||
% Copyright (C) 1995, 1997, 2001, 2002, 2003, 2004, 2005, 2006, 2007
|
||||
% Free Software Foundation, Inc.
|
||||
%
|
||||
% This file is part of GNU Emacs.
|
||||
%
|
||||
% GNU Emacs is free software; you can redistribute it and/or modify
|
||||
% it under the terms of the GNU General Public License as published by
|
||||
% the Free Software Foundation; either version 3, or (at your option)
|
||||
% any later version.
|
||||
%
|
||||
% GNU Emacs is distributed in the hope that it will be useful,
|
||||
% but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
% GNU General Public License for more details.
|
||||
%
|
||||
% You should have received a copy of the GNU General Public License
|
||||
% along with GNU Emacs; see the file COPYING. If not, write to
|
||||
% the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
% Boston, MA 02110-1301, USA.
|
||||
|
||||
/tgifdict 132 dict def
|
||||
tgifdict begin
|
||||
|
||||
%
|
||||
% Using a zero value radius for an ellipse or an arc would result
|
||||
% in a non-invertible CTM matrix which causes problem when this
|
||||
% when this PostScript is wrapped inside other routines, such as
|
||||
% the multi.ps package from
|
||||
% ftp.ucc.su.oz.au:/pub/ps_printing/multi. You can overcome such
|
||||
% error by uncommenting the sole line of the procedure below:
|
||||
%
|
||||
/tgif_min_radius
|
||||
{
|
||||
% dup 0.01 lt { pop 0.01 } if
|
||||
} bind def
|
||||
|
||||
/tgifellipsedict 6 dict def
|
||||
tgifellipsedict /mtrx matrix put
|
||||
|
||||
/tgifellipse
|
||||
{ tgifellipsedict begin
|
||||
/yrad exch def
|
||||
/xrad exch def
|
||||
/y exch def
|
||||
/x exch def
|
||||
/savematrix mtrx currentmatrix def
|
||||
x y translate
|
||||
xrad yrad scale
|
||||
0 0 1 0 360 arc
|
||||
savematrix setmatrix
|
||||
end
|
||||
} def
|
||||
|
||||
/tgifarrowtipdict 8 dict def
|
||||
tgifarrowtipdict /mtrx matrix put
|
||||
|
||||
/tgifarrowtip
|
||||
{ tgifarrowtipdict begin
|
||||
/dy exch def
|
||||
/dx exch def
|
||||
/h exch def
|
||||
/w exch def
|
||||
/y exch def
|
||||
/x exch def
|
||||
/savematrix mtrx currentmatrix def
|
||||
x y translate
|
||||
dy dx atan rotate
|
||||
0 0 moveto
|
||||
w neg h lineto
|
||||
w neg h neg lineto
|
||||
savematrix setmatrix
|
||||
end
|
||||
} def
|
||||
|
||||
/tgifarcdict 8 dict def
|
||||
tgifarcdict /mtrx matrix put
|
||||
|
||||
/tgifarcn
|
||||
{ tgifarcdict begin
|
||||
/endangle exch def
|
||||
/startangle exch def
|
||||
/yrad exch def
|
||||
/xrad exch def
|
||||
/y exch def
|
||||
/x exch def
|
||||
/savematrix mtrx currentmatrix def
|
||||
x y translate
|
||||
xrad yrad scale
|
||||
0 0 1 startangle endangle arc
|
||||
savematrix setmatrix
|
||||
end
|
||||
} def
|
||||
|
||||
/tgifarc
|
||||
{ tgifarcdict begin
|
||||
/endangle exch def
|
||||
/startangle exch def
|
||||
/yrad exch def
|
||||
/xrad exch def
|
||||
/y exch def
|
||||
/x exch def
|
||||
/savematrix mtrx currentmatrix def
|
||||
x y translate
|
||||
xrad yrad scale
|
||||
0 0 1 startangle endangle arcn
|
||||
savematrix setmatrix
|
||||
end
|
||||
} def
|
||||
|
||||
/tgifsetuserscreendict 22 dict def
|
||||
tgifsetuserscreendict begin
|
||||
/tempctm matrix def
|
||||
/temprot matrix def
|
||||
/tempscale matrix def
|
||||
|
||||
/concatprocs
|
||||
{ /proc2 exch cvlit def
|
||||
/proc1 exch cvlit def
|
||||
/newproc proc1 length proc2 length add array def
|
||||
newproc 0 proc1 putinterval
|
||||
newproc proc1 length proc2 putinterval
|
||||
newproc cvx
|
||||
} def
|
||||
/resmatrix matrix def
|
||||
/findresolution
|
||||
{ 72 0 resmatrix defaultmatrix dtransform
|
||||
/yres exch def /xres exch def
|
||||
xres dup mul yres dup mul add sqrt
|
||||
} def
|
||||
end
|
||||
|
||||
/tgifsetuserscreen
|
||||
{ tgifsetuserscreendict begin
|
||||
/spotfunction exch def
|
||||
/screenangle exch def
|
||||
/cellsize exch def
|
||||
|
||||
/m tempctm currentmatrix def
|
||||
/rm screenangle temprot rotate def
|
||||
/sm cellsize dup tempscale scale def
|
||||
|
||||
sm rm m m concatmatrix m concatmatrix pop
|
||||
|
||||
1 0 m dtransform /y1 exch def /x1 exch def
|
||||
|
||||
/veclength x1 dup mul y1 dup mul add sqrt def
|
||||
/frequency findresolution veclength div def
|
||||
|
||||
/newscreenangle y1 x1 atan def
|
||||
|
||||
m 2 get m 1 get mul m 0 get m 3 get mul sub 0 gt
|
||||
|
||||
{{neg} /spotfunction load concatprocs
|
||||
/spotfunction exch def
|
||||
} if
|
||||
|
||||
frequency newscreenangle /spotfunction load setscreen
|
||||
end
|
||||
} def
|
||||
|
||||
/tgifsetpatterndict 18 dict def
|
||||
tgifsetpatterndict begin
|
||||
/bitison
|
||||
{ /ybit exch def /xbit exch def
|
||||
/bytevalue bstring ybit bwidth mul xbit 8 idiv add get def
|
||||
|
||||
/mask 1 7 xbit 8 mod sub bitshift def
|
||||
bytevalue mask and 0 ne
|
||||
} def
|
||||
end
|
||||
|
||||
/tgifbitpatternspotfunction
|
||||
{ tgifsetpatterndict begin
|
||||
/y exch def /x exch def
|
||||
|
||||
/xindex x 1 add 2 div bpside mul cvi def
|
||||
/yindex y 1 add 2 div bpside mul cvi def
|
||||
|
||||
xindex yindex bitison
|
||||
{ /onbits onbits 1 add def 1 }
|
||||
{ /offbits offbits 1 add def 0 }
|
||||
ifelse
|
||||
end
|
||||
} def
|
||||
|
||||
/tgifsetpattern
|
||||
{ tgifsetpatterndict begin
|
||||
/cellsz exch def
|
||||
/angle exch def
|
||||
/bwidth exch def
|
||||
/bpside exch def
|
||||
/bstring exch def
|
||||
|
||||
/onbits 0 def /offbits 0 def
|
||||
cellsz angle /tgifbitpatternspotfunction load tgifsetuserscreen
|
||||
{} settransfer
|
||||
offbits offbits onbits add div setgray
|
||||
end
|
||||
} def
|
||||
|
||||
/tgifxpmdict 4 dict def
|
||||
/tgifbwpicstr 1 string def
|
||||
/tgifcolorpicstr 3 string def
|
||||
|
||||
/tgifsetpixels { tgifxpmdict begin /pixels exch def end } def
|
||||
|
||||
/tgifsetpix { tgifxpmdict begin pixels 3 1 roll putinterval end } def
|
||||
|
||||
/tgifbwspot
|
||||
{ tgifxpmdict begin
|
||||
/index exch def
|
||||
tgifbwpicstr 0
|
||||
pixels index 3 mul 3 getinterval aload pop
|
||||
255 mul .114 mul exch 255 mul .587 mul add exch 255 mul .299 mul add
|
||||
cvi put
|
||||
tgifbwpicstr
|
||||
end
|
||||
} def
|
||||
|
||||
/tgifcolorspot
|
||||
{ tgifxpmdict begin
|
||||
/index exch def
|
||||
pixels index 3 mul 3 getinterval aload pop
|
||||
255 mul cvi tgifcolorpicstr 2 3 -1 roll put
|
||||
255 mul cvi tgifcolorpicstr 1 3 -1 roll put
|
||||
255 mul cvi tgifcolorpicstr 0 3 -1 roll put
|
||||
tgifcolorpicstr
|
||||
end
|
||||
} def
|
||||
|
||||
/tgifnewcolorspot
|
||||
{ tgifxpmdict begin
|
||||
/index exch def
|
||||
pixels index 3 mul 3 getinterval aload pop setrgbcolor
|
||||
end
|
||||
} def
|
||||
|
||||
/tgifcolordict 4 dict def
|
||||
|
||||
/colorimage where
|
||||
{ pop }
|
||||
{ /colorimage
|
||||
{ tgifcolordict begin
|
||||
pop pop pop pop pop
|
||||
/ih exch def
|
||||
/iw exch def
|
||||
/x 0 def
|
||||
/y 0 def
|
||||
1 1 ih
|
||||
{ pop 1 1 iw
|
||||
{ pop currentfile
|
||||
tgifbwpicstr readhexstring pop 0 get tgifnewcolorspot
|
||||
x y moveto 1 0 rlineto 0 1 rlineto -1 0 rlineto
|
||||
closepath fill
|
||||
/x x 1 add def
|
||||
} for
|
||||
/y y 1 add def
|
||||
/x 0 def
|
||||
} for
|
||||
end
|
||||
} def
|
||||
} ifelse
|
||||
|
||||
/tgifpatdict 10 dict def
|
||||
|
||||
/tgifpatbyte
|
||||
{ currentdict /retstr get exch
|
||||
pat i cellsz mod get put
|
||||
} def
|
||||
|
||||
/tgifpatproc
|
||||
{ 0 1 widthlim {tgifpatbyte} for retstr
|
||||
/i i 1 add def
|
||||
} def
|
||||
|
||||
/tgifpatfill
|
||||
{ tgifpatdict begin
|
||||
/h exch def
|
||||
/w exch def
|
||||
/lty exch def
|
||||
/ltx exch def
|
||||
/cellsz exch def
|
||||
/pat exch def
|
||||
|
||||
/widthlim w cellsz div cvi 1 sub def
|
||||
/retstr widthlim 1 add string def
|
||||
/i 0 def
|
||||
|
||||
ltx lty translate
|
||||
w h true [1 0 0 1 0 0] {tgifpatproc} imagemask
|
||||
ltx neg lty neg translate
|
||||
end
|
||||
} def
|
||||
|
||||
/pat1 <ffffffffffffffff> def
|
||||
/pat2 <0000000000000000> def
|
||||
/pat3 <8000000008000000> def
|
||||
/pat4 <8800000022000000> def
|
||||
/pat5 <8800220088002200> def
|
||||
/pat6 <8822882288228822> def
|
||||
/pat7 <aa55aa55aa55aa55> def
|
||||
/pat8 <77dd77dd77dd77dd> def
|
||||
/pat9 <77ffddff77ffddff> def
|
||||
/pat10 <77ffffff77ffffff> def
|
||||
/pat11 <7fffffff7fffffff> def
|
||||
/pat12 <8040200002040800> def
|
||||
/pat13 <40a00000040a0000> def
|
||||
/pat14 <ff888888ff888888> def
|
||||
/pat15 <ff808080ff080808> def
|
||||
/pat16 <f87422478f172271> def
|
||||
/pat17 <038448300c020101> def
|
||||
/pat18 <081c22c180010204> def
|
||||
/pat19 <8080413e080814e3> def
|
||||
/pat20 <8040201008040201> def
|
||||
/pat21 <8844221188442211> def
|
||||
/pat22 <77bbddee77bbddee> def
|
||||
/pat23 <c1e070381c0e0783> def
|
||||
/pat24 <7fbfdfeff7fbfdfe> def
|
||||
/pat25 <3e1f8fc7e3f1f87c> def
|
||||
/pat26 <0102040810204080> def
|
||||
/pat27 <1122448811224488> def
|
||||
/pat28 <eeddbb77eeddbb77> def
|
||||
/pat29 <83070e1c3870e0c1> def
|
||||
/pat30 <fefdfbf7efdfbf7f> def
|
||||
/pat31 <7cf8f1e3c78f1f3e> def
|
||||
|
||||
/tgifcentertext { dup stringwidth pop 2 div neg 0 rmoveto } def
|
||||
|
||||
/tgifrighttext { dup stringwidth pop neg 0 rmoveto } def
|
||||
|
||||
/tgifreencsmalldict 12 dict def
|
||||
/tgifReEncodeSmall
|
||||
{ tgifreencsmalldict begin
|
||||
/newcodesandnames exch def
|
||||
/newfontname exch def
|
||||
/basefontname exch def
|
||||
|
||||
/basefontdict basefontname findfont def
|
||||
/newfont basefontdict maxlength dict def
|
||||
|
||||
basefontdict
|
||||
{ exch dup /FID ne
|
||||
{ dup /Encoding eq
|
||||
{ exch dup length array copy newfont 3 1 roll put }
|
||||
{ exch newfont 3 1 roll put }
|
||||
ifelse
|
||||
}
|
||||
{ pop pop }
|
||||
ifelse
|
||||
}
|
||||
forall
|
||||
|
||||
newfont /FontName newfontname put
|
||||
newcodesandnames aload pop
|
||||
|
||||
newcodesandnames length 2 idiv
|
||||
{ newfont /Encoding get 3 1 roll put}
|
||||
repeat
|
||||
|
||||
newfontname newfont definefont pop
|
||||
end
|
||||
} def
|
||||
|
||||
/tgifgray { 8 1 0 72 300 32 div div tgifsetpattern } bind def
|
||||
|
||||
/tgifboxdict 6 dict def
|
||||
/tgifboxstroke
|
||||
{ tgifboxdict begin
|
||||
/pat def /w def /y2 exch def /x2 exch def /y1 exch def /x1 exch def
|
||||
1.415 setmiterlimit
|
||||
w 1 eq { w setlinewidth } if
|
||||
pat pat1 ne pat pat2 ne and { gsave pat tgifgray } if
|
||||
newpath x1 y1 moveto x2 y1 lineto x2 y2 lineto x1 y2 lineto closepath
|
||||
pat pat2 eq { 1 setgray stroke 0 setgray } { stroke } ifelse
|
||||
pat pat1 ne pat pat2 ne and { grestore } if
|
||||
w 1 eq { 1 setlinewidth } if
|
||||
1 setmiterlimit
|
||||
end
|
||||
} def
|
||||
/tgifboxfill
|
||||
{ tgifboxdict begin
|
||||
/pat def /y2 exch def /x2 exch def /y1 exch def /x1 exch def
|
||||
pat pat1 ne pat pat2 ne and { gsave pat tgifgray } if
|
||||
newpath x1 y1 moveto x2 y1 lineto x2 y2 lineto x1 y2 lineto closepath
|
||||
pat pat2 eq { 1 setgray fill 0 setgray } { fill } ifelse
|
||||
pat pat1 ne pat pat2 ne and { grestore } if
|
||||
end
|
||||
} def
|
||||
|
||||
end
|
||||
|
||||
%%PageBoundingBox: 33 730 240 777
|
||||
tgifdict begin
|
||||
/tgifsavedpage save def
|
||||
|
||||
1 setmiterlimit
|
||||
1 setlinewidth
|
||||
|
||||
0 setgray
|
||||
|
||||
72 0 mul 72 11.00 mul translate
|
||||
72 128 div 100 mul 100 div dup neg scale
|
||||
|
||||
gsave
|
||||
|
||||
% TEXT
|
||||
0 setgray
|
||||
/Courier findfont [17 0 0 -17 0 0] makefont setfont
|
||||
gsave
|
||||
63 43 moveto (\(\(lambda \(number\) \(* 7 number\)\) 3\)) show
|
||||
grestore
|
||||
|
||||
% POLY/OPEN-SPLINE
|
||||
gsave
|
||||
newpath
|
||||
80 48 moveto
|
||||
96 64 lineto
|
||||
336 64 lineto
|
||||
353 49 lineto
|
||||
stroke
|
||||
grestore
|
||||
|
||||
% POLY/OPEN-SPLINE
|
||||
gsave
|
||||
newpath
|
||||
395 85 moveto
|
||||
-21 0 atan dup cos 8 mul 395 exch sub
|
||||
exch sin 8 mul 64 exch sub lineto
|
||||
stroke
|
||||
grestore
|
||||
gsave
|
||||
newpath
|
||||
395 64 8 3 0 -21 tgifarrowtip
|
||||
closepath fill
|
||||
grestore
|
||||
|
||||
% POLY/OPEN-SPLINE
|
||||
gsave
|
||||
newpath
|
||||
208 69 moveto
|
||||
208 85 lineto
|
||||
stroke
|
||||
grestore
|
||||
|
||||
% TEXT
|
||||
0 setgray
|
||||
/Courier findfont [17 0 0 -17 0 0] makefont setfont
|
||||
gsave
|
||||
112 102 moveto (anonymous function) show
|
||||
grestore
|
||||
|
||||
% TEXT
|
||||
0 setgray
|
||||
/Courier findfont [17 0 0 -17 0 0] makefont setfont
|
||||
gsave
|
||||
344 102 moveto (argument) show
|
||||
grestore
|
||||
|
||||
grestore
|
||||
tgifsavedpage restore
|
||||
end
|
||||
%MatchingCreationDate: Wed Mar 8 14:33:09 1995
|
471
doc/lispintro/lambda-3.eps
Normal file
471
doc/lispintro/lambda-3.eps
Normal file
|
@ -0,0 +1,471 @@
|
|||
%!
|
||||
%%BoundingBox: 33 728 211 777
|
||||
%%Title: lambda-diagram3
|
||||
%%CreationDate: Wed Mar 8 14:33:49 1995
|
||||
%%Creator: Tgif-2.16-p4 by William Chia-Wei Cheng (william@cs.UCLA.edu)
|
||||
%
|
||||
% Due to bugs in Transcript, the 'PS-Adobe-' stuff is omitted from line 1
|
||||
%
|
||||
|
||||
% Copyright (C) 1995, 1997, 2001, 2002, 2003, 2004, 2005, 2006, 2007
|
||||
% Free Software Foundation, Inc.
|
||||
%
|
||||
% This file is part of GNU Emacs.
|
||||
%
|
||||
% GNU Emacs is free software; you can redistribute it and/or modify
|
||||
% it under the terms of the GNU General Public License as published by
|
||||
% the Free Software Foundation; either version 3, or (at your option)
|
||||
% any later version.
|
||||
%
|
||||
% GNU Emacs is distributed in the hope that it will be useful,
|
||||
% but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
% GNU General Public License for more details.
|
||||
%
|
||||
% You should have received a copy of the GNU General Public License
|
||||
% along with GNU Emacs; see the file COPYING. If not, write to
|
||||
% the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
% Boston, MA 02110-1301, USA.
|
||||
|
||||
/tgifdict 132 dict def
|
||||
tgifdict begin
|
||||
|
||||
%
|
||||
% Using a zero value radius for an ellipse or an arc would result
|
||||
% in a non-invertible CTM matrix which causes problem when this
|
||||
% when this PostScript is wrapped inside other routines, such as
|
||||
% the multi.ps package from
|
||||
% ftp.ucc.su.oz.au:/pub/ps_printing/multi. You can overcome such
|
||||
% error by uncommenting the sole line of the procedure below:
|
||||
%
|
||||
/tgif_min_radius
|
||||
{
|
||||
% dup 0.01 lt { pop 0.01 } if
|
||||
} bind def
|
||||
|
||||
/tgifellipsedict 6 dict def
|
||||
tgifellipsedict /mtrx matrix put
|
||||
|
||||
/tgifellipse
|
||||
{ tgifellipsedict begin
|
||||
/yrad exch def
|
||||
/xrad exch def
|
||||
/y exch def
|
||||
/x exch def
|
||||
/savematrix mtrx currentmatrix def
|
||||
x y translate
|
||||
xrad yrad scale
|
||||
0 0 1 0 360 arc
|
||||
savematrix setmatrix
|
||||
end
|
||||
} def
|
||||
|
||||
/tgifarrowtipdict 8 dict def
|
||||
tgifarrowtipdict /mtrx matrix put
|
||||
|
||||
/tgifarrowtip
|
||||
{ tgifarrowtipdict begin
|
||||
/dy exch def
|
||||
/dx exch def
|
||||
/h exch def
|
||||
/w exch def
|
||||
/y exch def
|
||||
/x exch def
|
||||
/savematrix mtrx currentmatrix def
|
||||
x y translate
|
||||
dy dx atan rotate
|
||||
0 0 moveto
|
||||
w neg h lineto
|
||||
w neg h neg lineto
|
||||
savematrix setmatrix
|
||||
end
|
||||
} def
|
||||
|
||||
/tgifarcdict 8 dict def
|
||||
tgifarcdict /mtrx matrix put
|
||||
|
||||
/tgifarcn
|
||||
{ tgifarcdict begin
|
||||
/endangle exch def
|
||||
/startangle exch def
|
||||
/yrad exch def
|
||||
/xrad exch def
|
||||
/y exch def
|
||||
/x exch def
|
||||
/savematrix mtrx currentmatrix def
|
||||
x y translate
|
||||
xrad yrad scale
|
||||
0 0 1 startangle endangle arc
|
||||
savematrix setmatrix
|
||||
end
|
||||
} def
|
||||
|
||||
/tgifarc
|
||||
{ tgifarcdict begin
|
||||
/endangle exch def
|
||||
/startangle exch def
|
||||
/yrad exch def
|
||||
/xrad exch def
|
||||
/y exch def
|
||||
/x exch def
|
||||
/savematrix mtrx currentmatrix def
|
||||
x y translate
|
||||
xrad yrad scale
|
||||
0 0 1 startangle endangle arcn
|
||||
savematrix setmatrix
|
||||
end
|
||||
} def
|
||||
|
||||
/tgifsetuserscreendict 22 dict def
|
||||
tgifsetuserscreendict begin
|
||||
/tempctm matrix def
|
||||
/temprot matrix def
|
||||
/tempscale matrix def
|
||||
|
||||
/concatprocs
|
||||
{ /proc2 exch cvlit def
|
||||
/proc1 exch cvlit def
|
||||
/newproc proc1 length proc2 length add array def
|
||||
newproc 0 proc1 putinterval
|
||||
newproc proc1 length proc2 putinterval
|
||||
newproc cvx
|
||||
} def
|
||||
/resmatrix matrix def
|
||||
/findresolution
|
||||
{ 72 0 resmatrix defaultmatrix dtransform
|
||||
/yres exch def /xres exch def
|
||||
xres dup mul yres dup mul add sqrt
|
||||
} def
|
||||
end
|
||||
|
||||
/tgifsetuserscreen
|
||||
{ tgifsetuserscreendict begin
|
||||
/spotfunction exch def
|
||||
/screenangle exch def
|
||||
/cellsize exch def
|
||||
|
||||
/m tempctm currentmatrix def
|
||||
/rm screenangle temprot rotate def
|
||||
/sm cellsize dup tempscale scale def
|
||||
|
||||
sm rm m m concatmatrix m concatmatrix pop
|
||||
|
||||
1 0 m dtransform /y1 exch def /x1 exch def
|
||||
|
||||
/veclength x1 dup mul y1 dup mul add sqrt def
|
||||
/frequency findresolution veclength div def
|
||||
|
||||
/newscreenangle y1 x1 atan def
|
||||
|
||||
m 2 get m 1 get mul m 0 get m 3 get mul sub 0 gt
|
||||
|
||||
{{neg} /spotfunction load concatprocs
|
||||
/spotfunction exch def
|
||||
} if
|
||||
|
||||
frequency newscreenangle /spotfunction load setscreen
|
||||
end
|
||||
} def
|
||||
|
||||
/tgifsetpatterndict 18 dict def
|
||||
tgifsetpatterndict begin
|
||||
/bitison
|
||||
{ /ybit exch def /xbit exch def
|
||||
/bytevalue bstring ybit bwidth mul xbit 8 idiv add get def
|
||||
|
||||
/mask 1 7 xbit 8 mod sub bitshift def
|
||||
bytevalue mask and 0 ne
|
||||
} def
|
||||
end
|
||||
|
||||
/tgifbitpatternspotfunction
|
||||
{ tgifsetpatterndict begin
|
||||
/y exch def /x exch def
|
||||
|
||||
/xindex x 1 add 2 div bpside mul cvi def
|
||||
/yindex y 1 add 2 div bpside mul cvi def
|
||||
|
||||
xindex yindex bitison
|
||||
{ /onbits onbits 1 add def 1 }
|
||||
{ /offbits offbits 1 add def 0 }
|
||||
ifelse
|
||||
end
|
||||
} def
|
||||
|
||||
/tgifsetpattern
|
||||
{ tgifsetpatterndict begin
|
||||
/cellsz exch def
|
||||
/angle exch def
|
||||
/bwidth exch def
|
||||
/bpside exch def
|
||||
/bstring exch def
|
||||
|
||||
/onbits 0 def /offbits 0 def
|
||||
cellsz angle /tgifbitpatternspotfunction load tgifsetuserscreen
|
||||
{} settransfer
|
||||
offbits offbits onbits add div setgray
|
||||
end
|
||||
} def
|
||||
|
||||
/tgifxpmdict 4 dict def
|
||||
/tgifbwpicstr 1 string def
|
||||
/tgifcolorpicstr 3 string def
|
||||
|
||||
/tgifsetpixels { tgifxpmdict begin /pixels exch def end } def
|
||||
|
||||
/tgifsetpix { tgifxpmdict begin pixels 3 1 roll putinterval end } def
|
||||
|
||||
/tgifbwspot
|
||||
{ tgifxpmdict begin
|
||||
/index exch def
|
||||
tgifbwpicstr 0
|
||||
pixels index 3 mul 3 getinterval aload pop
|
||||
255 mul .114 mul exch 255 mul .587 mul add exch 255 mul .299 mul add
|
||||
cvi put
|
||||
tgifbwpicstr
|
||||
end
|
||||
} def
|
||||
|
||||
/tgifcolorspot
|
||||
{ tgifxpmdict begin
|
||||
/index exch def
|
||||
pixels index 3 mul 3 getinterval aload pop
|
||||
255 mul cvi tgifcolorpicstr 2 3 -1 roll put
|
||||
255 mul cvi tgifcolorpicstr 1 3 -1 roll put
|
||||
255 mul cvi tgifcolorpicstr 0 3 -1 roll put
|
||||
tgifcolorpicstr
|
||||
end
|
||||
} def
|
||||
|
||||
/tgifnewcolorspot
|
||||
{ tgifxpmdict begin
|
||||
/index exch def
|
||||
pixels index 3 mul 3 getinterval aload pop setrgbcolor
|
||||
end
|
||||
} def
|
||||
|
||||
/tgifcolordict 4 dict def
|
||||
|
||||
/colorimage where
|
||||
{ pop }
|
||||
{ /colorimage
|
||||
{ tgifcolordict begin
|
||||
pop pop pop pop pop
|
||||
/ih exch def
|
||||
/iw exch def
|
||||
/x 0 def
|
||||
/y 0 def
|
||||
1 1 ih
|
||||
{ pop 1 1 iw
|
||||
{ pop currentfile
|
||||
tgifbwpicstr readhexstring pop 0 get tgifnewcolorspot
|
||||
x y moveto 1 0 rlineto 0 1 rlineto -1 0 rlineto
|
||||
closepath fill
|
||||
/x x 1 add def
|
||||
} for
|
||||
/y y 1 add def
|
||||
/x 0 def
|
||||
} for
|
||||
end
|
||||
} def
|
||||
} ifelse
|
||||
|
||||
/tgifpatdict 10 dict def
|
||||
|
||||
/tgifpatbyte
|
||||
{ currentdict /retstr get exch
|
||||
pat i cellsz mod get put
|
||||
} def
|
||||
|
||||
/tgifpatproc
|
||||
{ 0 1 widthlim {tgifpatbyte} for retstr
|
||||
/i i 1 add def
|
||||
} def
|
||||
|
||||
/tgifpatfill
|
||||
{ tgifpatdict begin
|
||||
/h exch def
|
||||
/w exch def
|
||||
/lty exch def
|
||||
/ltx exch def
|
||||
/cellsz exch def
|
||||
/pat exch def
|
||||
|
||||
/widthlim w cellsz div cvi 1 sub def
|
||||
/retstr widthlim 1 add string def
|
||||
/i 0 def
|
||||
|
||||
ltx lty translate
|
||||
w h true [1 0 0 1 0 0] {tgifpatproc} imagemask
|
||||
ltx neg lty neg translate
|
||||
end
|
||||
} def
|
||||
|
||||
/pat1 <ffffffffffffffff> def
|
||||
/pat2 <0000000000000000> def
|
||||
/pat3 <8000000008000000> def
|
||||
/pat4 <8800000022000000> def
|
||||
/pat5 <8800220088002200> def
|
||||
/pat6 <8822882288228822> def
|
||||
/pat7 <aa55aa55aa55aa55> def
|
||||
/pat8 <77dd77dd77dd77dd> def
|
||||
/pat9 <77ffddff77ffddff> def
|
||||
/pat10 <77ffffff77ffffff> def
|
||||
/pat11 <7fffffff7fffffff> def
|
||||
/pat12 <8040200002040800> def
|
||||
/pat13 <40a00000040a0000> def
|
||||
/pat14 <ff888888ff888888> def
|
||||
/pat15 <ff808080ff080808> def
|
||||
/pat16 <f87422478f172271> def
|
||||
/pat17 <038448300c020101> def
|
||||
/pat18 <081c22c180010204> def
|
||||
/pat19 <8080413e080814e3> def
|
||||
/pat20 <8040201008040201> def
|
||||
/pat21 <8844221188442211> def
|
||||
/pat22 <77bbddee77bbddee> def
|
||||
/pat23 <c1e070381c0e0783> def
|
||||
/pat24 <7fbfdfeff7fbfdfe> def
|
||||
/pat25 <3e1f8fc7e3f1f87c> def
|
||||
/pat26 <0102040810204080> def
|
||||
/pat27 <1122448811224488> def
|
||||
/pat28 <eeddbb77eeddbb77> def
|
||||
/pat29 <83070e1c3870e0c1> def
|
||||
/pat30 <fefdfbf7efdfbf7f> def
|
||||
/pat31 <7cf8f1e3c78f1f3e> def
|
||||
|
||||
/tgifcentertext { dup stringwidth pop 2 div neg 0 rmoveto } def
|
||||
|
||||
/tgifrighttext { dup stringwidth pop neg 0 rmoveto } def
|
||||
|
||||
/tgifreencsmalldict 12 dict def
|
||||
/tgifReEncodeSmall
|
||||
{ tgifreencsmalldict begin
|
||||
/newcodesandnames exch def
|
||||
/newfontname exch def
|
||||
/basefontname exch def
|
||||
|
||||
/basefontdict basefontname findfont def
|
||||
/newfont basefontdict maxlength dict def
|
||||
|
||||
basefontdict
|
||||
{ exch dup /FID ne
|
||||
{ dup /Encoding eq
|
||||
{ exch dup length array copy newfont 3 1 roll put }
|
||||
{ exch newfont 3 1 roll put }
|
||||
ifelse
|
||||
}
|
||||
{ pop pop }
|
||||
ifelse
|
||||
}
|
||||
forall
|
||||
|
||||
newfont /FontName newfontname put
|
||||
newcodesandnames aload pop
|
||||
|
||||
newcodesandnames length 2 idiv
|
||||
{ newfont /Encoding get 3 1 roll put}
|
||||
repeat
|
||||
|
||||
newfontname newfont definefont pop
|
||||
end
|
||||
} def
|
||||
|
||||
/tgifgray { 8 1 0 72 300 32 div div tgifsetpattern } bind def
|
||||
|
||||
/tgifboxdict 6 dict def
|
||||
/tgifboxstroke
|
||||
{ tgifboxdict begin
|
||||
/pat def /w def /y2 exch def /x2 exch def /y1 exch def /x1 exch def
|
||||
1.415 setmiterlimit
|
||||
w 1 eq { w setlinewidth } if
|
||||
pat pat1 ne pat pat2 ne and { gsave pat tgifgray } if
|
||||
newpath x1 y1 moveto x2 y1 lineto x2 y2 lineto x1 y2 lineto closepath
|
||||
pat pat2 eq { 1 setgray stroke 0 setgray } { stroke } ifelse
|
||||
pat pat1 ne pat pat2 ne and { grestore } if
|
||||
w 1 eq { 1 setlinewidth } if
|
||||
1 setmiterlimit
|
||||
end
|
||||
} def
|
||||
/tgifboxfill
|
||||
{ tgifboxdict begin
|
||||
/pat def /y2 exch def /x2 exch def /y1 exch def /x1 exch def
|
||||
pat pat1 ne pat pat2 ne and { gsave pat tgifgray } if
|
||||
newpath x1 y1 moveto x2 y1 lineto x2 y2 lineto x1 y2 lineto closepath
|
||||
pat pat2 eq { 1 setgray fill 0 setgray } { fill } ifelse
|
||||
pat pat1 ne pat pat2 ne and { grestore } if
|
||||
end
|
||||
} def
|
||||
|
||||
end
|
||||
|
||||
%%PageBoundingBox: 33 728 211 777
|
||||
tgifdict begin
|
||||
/tgifsavedpage save def
|
||||
|
||||
1 setmiterlimit
|
||||
1 setlinewidth
|
||||
|
||||
0 setgray
|
||||
|
||||
72 0 mul 72 11.00 mul translate
|
||||
72 128 div 100 mul 100 div dup neg scale
|
||||
|
||||
gsave
|
||||
|
||||
% TEXT
|
||||
0 setgray
|
||||
/Courier findfont [17 0 0 -17 0 0] makefont setfont
|
||||
gsave
|
||||
63 43 moveto (\(\(lambda \(arg\) \(/ arg 50\)\) 100\)) show
|
||||
grestore
|
||||
|
||||
% POLY/OPEN-SPLINE
|
||||
gsave
|
||||
newpath
|
||||
80 48 moveto
|
||||
96 64 lineto
|
||||
284 64 lineto
|
||||
299 48 lineto
|
||||
stroke
|
||||
grestore
|
||||
|
||||
% POLY/OPEN-SPLINE
|
||||
gsave
|
||||
newpath
|
||||
354 86 moveto
|
||||
-25 0 atan dup cos 8 mul 354 exch sub
|
||||
exch sin 8 mul 61 exch sub lineto
|
||||
stroke
|
||||
grestore
|
||||
gsave
|
||||
newpath
|
||||
354 61 8 3 0 -25 tgifarrowtip
|
||||
closepath fill
|
||||
grestore
|
||||
|
||||
% POLY/OPEN-SPLINE
|
||||
gsave
|
||||
newpath
|
||||
199 70 moveto
|
||||
199 86 lineto
|
||||
stroke
|
||||
grestore
|
||||
|
||||
% TEXT
|
||||
0 setgray
|
||||
/Courier findfont [17 0 0 -17 0 0] makefont setfont
|
||||
gsave
|
||||
101 106 moveto (anonymous function) show
|
||||
grestore
|
||||
|
||||
% TEXT
|
||||
0 setgray
|
||||
/Courier findfont [17 0 0 -17 0 0] makefont setfont
|
||||
gsave
|
||||
293 106 moveto (argument) show
|
||||
grestore
|
||||
|
||||
grestore
|
||||
tgifsavedpage restore
|
||||
end
|
||||
%MatchingCreationDate: Wed Mar 8 14:33:49 1995
|
73
doc/lispintro/makefile.w32-in
Normal file
73
doc/lispintro/makefile.w32-in
Normal file
|
@ -0,0 +1,73 @@
|
|||
#### -*- Makefile -*- for the Emacs Lisp Introduction manual.
|
||||
|
||||
# Copyright (C) 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
|
||||
|
||||
# This file is part of GNU Emacs.
|
||||
|
||||
# GNU Emacs is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 3, or (at your option)
|
||||
# any later version.
|
||||
|
||||
# GNU Emacs is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with GNU Emacs; see the file COPYING. If not, write to
|
||||
# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
# Boston, MA 02110-1301, USA.
|
||||
|
||||
srcdir = .
|
||||
|
||||
infodir = $(srcdir)/../../info
|
||||
|
||||
INFO_SOURCES = $(srcdir)/emacs-lisp-intro.texi
|
||||
# The file name eintr must fit within 5 characters, to allow for
|
||||
# -NN extensions to fit into DOS 8+3 limits without clashing
|
||||
INFO_TARGETS = $(infodir)/eintr
|
||||
DVI_TARGETS = emacs-lisp-intro.dvi
|
||||
|
||||
MAKEINFO = makeinfo
|
||||
INSTALL_INFO = install-info
|
||||
TEXI2DVI = texi2dvi
|
||||
DVIPS = dvips
|
||||
ENVADD = $(srcdir)\..\..\nt\envadd.bat "TEXINPUTS=$(srcdir);$(TEXINPUTS)" \
|
||||
"MAKEINFO=$(MAKEINFO) -I$(srcdir)" /C
|
||||
|
||||
.SUFFIXES: .dvi .ps .texi
|
||||
|
||||
info: $(INFO_TARGETS)
|
||||
|
||||
$(infodir)/dir:
|
||||
$(INSTALL_INFO) --info-dir=$(infodir) $(INFO_TARGETS)
|
||||
|
||||
dvi: $(DVI_TARGETS)
|
||||
|
||||
$(infodir)/eintr: $(INFO_SOURCES)
|
||||
$(MAKEINFO) -o $@ $(srcdir)/emacs-lisp-intro.texi
|
||||
|
||||
emacs-lisp-intro.dvi: $(INFO_SOURCES)
|
||||
$(ENVADD) $(TEXI2DVI) $(srcdir)/emacs-lisp-intro.texi
|
||||
|
||||
emacs-lisp-intro.html: $(INFO_SOURCES)
|
||||
$(MAKEINFO) --html -o $@ $(srcdir)/emacs-lisp-intro.texi
|
||||
|
||||
.dvi.ps:
|
||||
$(DVIPS) $< -o $@
|
||||
|
||||
mostlyclean:
|
||||
- $(DEL) *.log *.cp *.fn *.ky *.pg *.vr *.tp
|
||||
|
||||
clean: mostlyclean
|
||||
- $(DEL) *.dvi $(infodir)/eintr*
|
||||
|
||||
distclean: clean
|
||||
|
||||
maintainer-clean: distclean
|
||||
- $(DEL) *.aux *.cps *.fns *.kys *.pgs *.vrs *.toc
|
||||
|
||||
# Tell versions [3.59,3.63) of GNU make to not export all variables.
|
||||
# Otherwise a system limit (for SysV at least) may be exceeded.
|
||||
.NOEXPORT:
|
135
doc/lispintro/missing
Executable file
135
doc/lispintro/missing
Executable file
|
@ -0,0 +1,135 @@
|
|||
#! /bin/sh
|
||||
# Common stub for a few missing GNU programs while installing.
|
||||
# Copyright (C) 1996, 1997, 2001, 2002, 2003, 2004, 2005, 2006, 2007
|
||||
# Free Software Foundation, Inc.
|
||||
# Franc,ois Pinard <pinard@iro.umontreal.ca>, 1996.
|
||||
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2, or (at your option)
|
||||
# any later version.
|
||||
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
|
||||
# MA 02110-1301, USA.
|
||||
|
||||
if test $# -eq 0; then
|
||||
echo 1>&2 "Try \`$0 --help' for more information"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
case "$1" in
|
||||
|
||||
-h|--h|--he|--hel|--help)
|
||||
echo "\
|
||||
$0 [OPTION]... PROGRAM [ARGUMENT]...
|
||||
|
||||
Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an
|
||||
error status if there is no known handling for PROGRAM.
|
||||
|
||||
Options:
|
||||
-h, --help display this help and exit
|
||||
-v, --version output version information and exit
|
||||
|
||||
Supported PROGRAM values:
|
||||
aclocal touch file \`aclocal.m4'
|
||||
autoconf touch file \`configure'
|
||||
autoheader touch file \`config.h.in'
|
||||
automake touch all \`Makefile.in' files
|
||||
bison touch file \`y.tab.c'
|
||||
makeinfo touch the output file
|
||||
yacc touch file \`y.tab.c'"
|
||||
;;
|
||||
|
||||
-v|--v|--ve|--ver|--vers|--versi|--versio|--version)
|
||||
echo "missing - GNU libit 0.0"
|
||||
;;
|
||||
|
||||
-*)
|
||||
echo 1>&2 "$0: Unknown \`$1' option"
|
||||
echo 1>&2 "Try \`$0 --help' for more information"
|
||||
exit 1
|
||||
;;
|
||||
|
||||
aclocal)
|
||||
echo 1>&2 "\
|
||||
WARNING: \`$1' is missing on your system. You should only need it if
|
||||
you modified \`acinclude.m4' or \`configure.in'. You might want
|
||||
to install the \`Automake' and \`Perl' packages. Grab them from
|
||||
any GNU archive site."
|
||||
touch aclocal.m4
|
||||
;;
|
||||
|
||||
autoconf)
|
||||
echo 1>&2 "\
|
||||
WARNING: \`$1' is missing on your system. You should only need it if
|
||||
you modified \`configure.in'. You might want to install the
|
||||
\`Autoconf' and \`GNU m4' packages. Grab them from any GNU
|
||||
archive site."
|
||||
touch configure
|
||||
;;
|
||||
|
||||
autoheader)
|
||||
echo 1>&2 "\
|
||||
WARNING: \`$1' is missing on your system. You should only need it if
|
||||
you modified \`acconfig.h' or \`configure.in'. You might want
|
||||
to install the \`Autoconf' and \`GNU m4' packages. Grab them
|
||||
from any GNU archive site."
|
||||
touch config.h.in
|
||||
;;
|
||||
|
||||
automake)
|
||||
echo 1>&2 "\
|
||||
WARNING: \`$1' is missing on your system. You should only need it if
|
||||
you modified \`Makefile.am', \`acinclude.m4' or \`configure.in'.
|
||||
You might want to install the \`Automake' and \`Perl' packages.
|
||||
Grab them from any GNU archive site."
|
||||
find . -type f -name Makefile.am -print \
|
||||
| sed 's/^\(.*\).am$/touch \1.in/' \
|
||||
| sh
|
||||
;;
|
||||
|
||||
bison|yacc)
|
||||
echo 1>&2 "\
|
||||
WARNING: \`$1' is missing on your system. You should only need it if
|
||||
you modified a \`.y' file. You may need the \`Bison' package
|
||||
in order for those modifications to take effect. You can get
|
||||
\`Bison' from any GNU archive site."
|
||||
touch y.tab.c
|
||||
;;
|
||||
|
||||
makeinfo)
|
||||
echo 1>&2 "\
|
||||
WARNING: \`$1' is missing on your system. You should only need it if
|
||||
you modified a \`.texi' or \`.texinfo' file, or any other file
|
||||
indirectly affecting the aspect of the manual. The spurious
|
||||
call might also be the consequence of using a buggy \`make' (AIX,
|
||||
DU, IRIX). You might want to install the \`Texinfo' package or
|
||||
the \`GNU make' package. Grab either from any GNU archive site."
|
||||
file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
|
||||
if test -z "$file"; then
|
||||
file=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
|
||||
file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $file`
|
||||
fi
|
||||
touch $file
|
||||
;;
|
||||
|
||||
*)
|
||||
echo 1>&2 "\
|
||||
WARNING: \`$1' is needed, and you do not seem to have it handy on your
|
||||
system. You might have modified some files without having the
|
||||
proper tools for further handling them. Check the \`README' file,
|
||||
it often tells you about the needed prerequirements for installing
|
||||
this package. You may also peek at any GNU archive site, in case
|
||||
some other package would contain this missing \`$1' program."
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
exit 0
|
17
doc/lispref/.gitignore
vendored
Normal file
17
doc/lispref/.gitignore
vendored
Normal file
|
@ -0,0 +1,17 @@
|
|||
texput.log
|
||||
elisp.??
|
||||
elisp.???
|
||||
configure
|
||||
config.log
|
||||
config.cache
|
||||
config.status
|
||||
Makefile
|
||||
makefile
|
||||
index.texi
|
||||
elisp
|
||||
elisp-?
|
||||
elisp-??
|
||||
vol1.*
|
||||
vol2.*
|
||||
elisp1*
|
||||
elisp2*
|
|
@ -1,3 +1,69 @@
|
|||
2007-10-06 Juri Linkov <juri@jurta.org>
|
||||
|
||||
* text.texi (Filling): Document fill-paragraph-or-region.
|
||||
|
||||
2007-10-05 Juanma Barranquero <lekktu@gmail.com>
|
||||
|
||||
* display.texi (Auto Faces): Fix typo.
|
||||
|
||||
2007-10-02 Richard Stallman <rms@gnu.org>
|
||||
|
||||
* display.texi (Display Property): Explain some display specs
|
||||
don't let you move point in.
|
||||
|
||||
* frames.texi (Cursor Parameters): Describe
|
||||
cursor-in-non-selected-windows here. Explain more values.
|
||||
|
||||
* windows.texi (Basic Windows): Don't describe
|
||||
cursor-in-non-selected-windows here.
|
||||
|
||||
2007-10-01 Eli Zaretskii <eliz@gnu.org>
|
||||
|
||||
* processes.texi (Misc Network): Note that these functions are
|
||||
supported only on some systems.
|
||||
|
||||
2007-10-01 Richard Stallman <rms@gnu.org>
|
||||
|
||||
* display.texi (Overlay Properties): Explain nil as priority.
|
||||
Explain that conflicts are unpredictable if not resolved by
|
||||
priorities.
|
||||
|
||||
2007-09-23 Richard Stallman <rms@gnu.org>
|
||||
|
||||
* macros.texi (Backquote): Minor clarification.
|
||||
|
||||
2007-09-19 Richard Stallman <rms@gnu.org>
|
||||
|
||||
* display.texi (Display Property): Explain multiple display specs.
|
||||
Clarify when they work in parallel and when one overrides.
|
||||
Fix error in example.
|
||||
|
||||
2007-09-06 Glenn Morris <rgm@gnu.org>
|
||||
|
||||
* Move from lispref/ to doc/lispref/. Change all setfilename
|
||||
commands to use ../../info.
|
||||
* Makefile.in (infodir): Go up one more level.
|
||||
(usermanualdir): Change from ../man to ../emacs.
|
||||
(miscmanualdir): New.
|
||||
(dist): Use new variable miscmanualdir.
|
||||
* makefile.w32-in (infodir, texinputdir): Go up one more level.
|
||||
(usermanualdir): Change from ../man to ../emacs.
|
||||
|
||||
2007-08-30 Martin Rudalics <rudalics@gmx.at>
|
||||
|
||||
* commands.texi (Command Loop Info): Advise against changing
|
||||
most variables described here. Explain new variable
|
||||
last-repeatable-command.
|
||||
|
||||
2007-08-29 Glenn Morris <rgm@gnu.org>
|
||||
|
||||
* elisp.texi (EMACSVER): Increase to 23.0.50.
|
||||
|
||||
2007-08-29 Dan Nicolaescu <dann@ics.uci.edu>
|
||||
|
||||
* frames.texi (Basic Parameters): Add display-environment-variable
|
||||
and term-environment-variable.
|
||||
|
||||
2007-08-28 Juri Linkov <juri@jurta.org>
|
||||
|
||||
* display.texi (Image Formats, Other Image Types): Add SVG.
|
||||
|
@ -8,6 +74,11 @@
|
|||
"Image Formats".
|
||||
(Image Formats): New node.
|
||||
|
||||
2007-08-27 Richard Stallman <rms@gnu.org>
|
||||
|
||||
* windows.texi (Window Configurations): Clarify what
|
||||
a window configuration saves.
|
||||
|
||||
2007-08-25 Richard Stallman <rms@gnu.org>
|
||||
|
||||
* display.texi (Images): Delete redundant @findex.
|
||||
|
@ -43,8 +114,8 @@
|
|||
|
||||
2007-07-24 Michael Albinus <michael.albinus@gmx.de>
|
||||
|
||||
* processes.texi (Synchronous Processes): Add
|
||||
`process-file-shell-command',
|
||||
* processes.texi (Synchronous Processes):
|
||||
Add `process-file-shell-command'.
|
||||
(Asynchronous Processes): Mention restricted use of
|
||||
`process-filter' and `process-sentinel' in
|
||||
`start-file-process'. Add `start-file-process-shell-command'.
|
||||
|
@ -87,13 +158,13 @@
|
|||
|
||||
2007-06-27 Michael Albinus <michael.albinus@gmx.de>
|
||||
|
||||
* files.texi (Magic File Names): Remove `dired-call-process'. Add
|
||||
`process-file'.
|
||||
* files.texi (Magic File Names): Remove `dired-call-process'.
|
||||
Add `process-file'.
|
||||
|
||||
2007-06-27 Kenichi Handa <handa@m17n.org>
|
||||
|
||||
* text.texi (Special Properties): Fix description about
|
||||
`compostion' property.
|
||||
`composition' property.
|
||||
|
||||
2007-06-26 Kenichi Handa <handa@m17n.org>
|
||||
|
||||
|
@ -107,7 +178,7 @@
|
|||
|
||||
2007-06-24 Karl Berry <karl@gnu.org>
|
||||
|
||||
* elisp.texi, vol1.texi, vol2.texi: new Back-Cover Text.
|
||||
* elisp.texi, vol1.texi, vol2.texi: New Back-Cover Text.
|
||||
|
||||
2007-06-15 Juanma Barranquero <lekktu@gmail.com>
|
||||
|
|
@ -26,8 +26,9 @@ srcdir = @srcdir@
|
|||
# Tell make where to find source files; this is needed for the makefiles.
|
||||
VPATH=@srcdir@
|
||||
|
||||
infodir = ../info
|
||||
usermanualdir = $(srcdir)/../man
|
||||
infodir = ../../info
|
||||
usermanualdir = $(srcdir)/../emacs
|
||||
miscmanualdir = $(srcdir)/../misc
|
||||
|
||||
TEXI2DVI = texi2dvi
|
||||
SHELL = /bin/sh
|
||||
|
@ -133,7 +134,7 @@ dist: $(infodir)/elisp elisp.dvi
|
|||
-mkdir temp/$(manual)
|
||||
-ln $(srcdir)/README $(srcdir)/configure.in $(srcdir)/configure \
|
||||
$(srcdir)/Makefile.in $(srcs) \
|
||||
$(srcdir)/../man/texinfo.tex \
|
||||
$(miscmanualdir)/texinfo.tex \
|
||||
elisp.dvi elisp.aux elisp.??s \
|
||||
$(infodir)/elisp $(infodir)/elisp-[1-9] $(infodir)/elisp-[1-9][0-9] \
|
||||
temp/$(manual)
|
|
@ -3,7 +3,7 @@
|
|||
@c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1999, 2001, 2002, 2003,
|
||||
@c 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
|
||||
@c See the file elisp.texi for copying conditions.
|
||||
@setfilename ../info/abbrevs
|
||||
@setfilename ../../info/abbrevs
|
||||
@node Abbrevs, Processes, Syntax Tables, Top
|
||||
@chapter Abbrevs and Abbrev Expansion
|
||||
@cindex abbrev
|
|
@ -3,7 +3,7 @@
|
|||
@c Copyright (C) 1998, 1999, 2001, 2002, 2003, 2004,
|
||||
@c 2005, 2006, 2007 Free Software Foundation, Inc.
|
||||
@c See the file elisp.texi for copying conditions.
|
||||
@setfilename ../info/advising
|
||||
@setfilename ../../info/advising
|
||||
@node Advising Functions, Debugging, Byte Compilation, Top
|
||||
@chapter Advising Emacs Lisp Functions
|
||||
@cindex advising functions
|
|
@ -3,7 +3,7 @@
|
|||
@c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1999, 2001, 2002, 2003,
|
||||
@c 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
|
||||
@c See the file elisp.texi for copying conditions.
|
||||
@setfilename ../info/backups
|
||||
@setfilename ../../info/backups
|
||||
@node Backups and Auto-Saving, Buffers, Files, Top
|
||||
@chapter Backups and Auto-Saving
|
||||
@cindex backups and auto-saving
|
|
@ -3,7 +3,7 @@
|
|||
@c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001, 2002,
|
||||
@c 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
|
||||
@c See the file elisp.texi for copying conditions.
|
||||
@setfilename ../info/buffers
|
||||
@setfilename ../../info/buffers
|
||||
@node Buffers, Windows, Backups and Auto-Saving, Top
|
||||
@chapter Buffers
|
||||
@cindex buffer
|
|
@ -3,7 +3,7 @@
|
|||
@c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001, 2002,
|
||||
@c 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
|
||||
@c See the file elisp.texi for copying conditions.
|
||||
@setfilename ../info/commands
|
||||
@setfilename ../../info/commands
|
||||
@node Command Loop, Keymaps, Minibuffers, Top
|
||||
@chapter Command Loop
|
||||
@cindex editor command loop
|
||||
|
@ -716,7 +716,9 @@ caller to ``pretend'' that the function was called interactively.
|
|||
@section Information from the Command Loop
|
||||
|
||||
The editor command loop sets several Lisp variables to keep status
|
||||
records for itself and for commands that are run.
|
||||
records for itself and for commands that are run. With the exception of
|
||||
@code{this-command} and @code{last-command} it's generally a bad idea to
|
||||
change any of these variables in a Lisp program.
|
||||
|
||||
@defvar last-command
|
||||
This variable records the name of the previous command executed by the
|
||||
|
@ -736,6 +738,12 @@ This variable is set up by Emacs just like @code{last-command},
|
|||
but never altered by Lisp programs.
|
||||
@end defvar
|
||||
|
||||
@defvar last-repeatable-command
|
||||
This variable stores the most recently executed command that was not
|
||||
part of an input event. This is the command @code{repeat} will try to
|
||||
repeat, @xref{Repeating,,, emacs, The GNU Emacs Manual}.
|
||||
@end defvar
|
||||
|
||||
@defvar this-command
|
||||
@cindex current command
|
||||
This variable records the name of the command now being executed by
|
|
@ -3,7 +3,7 @@
|
|||
@c Copyright (C) 1990, 1991, 1992, 1993, 1994, 2001, 2002, 2003, 2004,
|
||||
@c 2005, 2006, 2007 Free Software Foundation, Inc.
|
||||
@c See the file elisp.texi for copying conditions.
|
||||
@setfilename ../info/compile
|
||||
@setfilename ../../info/compile
|
||||
@node Byte Compilation, Advising Functions, Loading, Top
|
||||
@chapter Byte Compilation
|
||||
@cindex byte compilation
|
0
lispref/configure → doc/lispref/configure
vendored
0
lispref/configure → doc/lispref/configure
vendored
|
@ -3,7 +3,7 @@
|
|||
@c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001, 2002,
|
||||
@c 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
|
||||
@c See the file elisp.texi for copying conditions.
|
||||
@setfilename ../info/control
|
||||
@setfilename ../../info/control
|
||||
@node Control Structures, Variables, Evaluation, Top
|
||||
@chapter Control Structures
|
||||
@cindex special forms for control structures
|
|
@ -3,7 +3,7 @@
|
|||
@c Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
|
||||
@c 2005, 2006, 2007 Free Software Foundation, Inc.
|
||||
@c See the file elisp.texi for copying conditions.
|
||||
@setfilename ../info/customize
|
||||
@setfilename ../../info/customize
|
||||
@node Customization, Loading, Macros, Top
|
||||
@chapter Writing Customization Definitions
|
||||
|
|
@ -3,7 +3,7 @@
|
|||
@c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1998, 1999, 2001, 2002, 2003,
|
||||
@c 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
|
||||
@c See the file elisp.texi for copying conditions.
|
||||
@setfilename ../info/debugging
|
||||
@setfilename ../../info/debugging
|
||||
@node Debugging, Read and Print, Advising Functions, Top
|
||||
@chapter Debugging Lisp Programs
|
||||
|
|
@ -3,7 +3,7 @@
|
|||
@c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2000, 2001,
|
||||
@c 2002, 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
|
||||
@c See the file elisp.texi for copying conditions.
|
||||
@setfilename ../info/display
|
||||
@setfilename ../../info/display
|
||||
@node Display, System Interface, Processes, Top
|
||||
@chapter Emacs Display
|
||||
|
||||
|
@ -1291,6 +1291,11 @@ while moving an overlay or changing its properties does not. Unlike
|
|||
text property changes, overlay property changes are not recorded in
|
||||
the buffer's undo list.
|
||||
|
||||
Since more than one overlay can specify a property value for the
|
||||
same character, Emacs lets you specify a priority value of each
|
||||
overlay. You should not make assumptions about which overlay will
|
||||
prevail when there is a conflict and they have the same priority.
|
||||
|
||||
These functions read and set the properties of an overlay:
|
||||
|
||||
@defun overlay-get overlay prop
|
||||
|
@ -1321,13 +1326,16 @@ of them:
|
|||
@item priority
|
||||
@kindex priority @r{(overlay property)}
|
||||
This property's value (which should be a nonnegative integer number)
|
||||
determines the priority of the overlay. The priority matters when two
|
||||
or more overlays cover the same character and both specify the same
|
||||
property; the one whose @code{priority} value is larger takes priority
|
||||
over the other. For the @code{face} property, the higher priority
|
||||
value does not completely replace the other; instead, its face
|
||||
attributes override the face attributes of the lower priority
|
||||
@code{face} property.
|
||||
determines the priority of the overlay. No priority, or @code{nil},
|
||||
means zero.
|
||||
|
||||
The priority matters when two or more overlays cover the same
|
||||
character and both specify the same property; the one whose
|
||||
@code{priority} value is larger overrides the other. For the
|
||||
@code{face} property, the higher priority overlay's value does not
|
||||
completely override the other value; instead, its face attributes
|
||||
override the face attributes of the lower priority @code{face}
|
||||
property.
|
||||
|
||||
Currently, all overlays take priority over text properties. Please
|
||||
avoid using negative priority values, as we have not yet decided just
|
||||
|
@ -2510,7 +2518,7 @@ makes @code{modeline} an alias for the @code{mode-line} face.
|
|||
@cindex automatic face assignment
|
||||
@cindex faces, automatic choice
|
||||
|
||||
This hook is used for automatically assigning facesto text in the
|
||||
This hook is used for automatically assigning faces to text in the
|
||||
buffer. It is part of the implementation of Jit-Lock mode, used by
|
||||
Font-Lock.
|
||||
|
||||
|
@ -3237,15 +3245,21 @@ to use the value specified by the frame.
|
|||
insert images into text, and also control other aspects of how text
|
||||
displays. The value of the @code{display} property should be a
|
||||
display specification, or a list or vector containing several display
|
||||
specifications.
|
||||
specifications. Display specifications generally apply in parallel to
|
||||
the text they cover.
|
||||
|
||||
Some kinds of @code{display} properties specify something to display
|
||||
instead of the text that has the property. In this case, ``the text''
|
||||
means all the consecutive characters that have the same Lisp object as
|
||||
their @code{display} property; these characters are replaced as a
|
||||
single unit. By contrast, characters that have similar but distinct
|
||||
Lisp objects as their @code{display} properties are handled
|
||||
separately. Here's a function that illustrates this point:
|
||||
Some kinds of @code{display} specifications specify something to
|
||||
display instead of the text that has the property. If a list of
|
||||
display specifications includes more than one of this kind, the first
|
||||
is effective and the rest are ignored. You cannot interactively move
|
||||
point into the middle of the text that is thus replaced.
|
||||
|
||||
For these specifications, ``the text that has the property'' means
|
||||
all the consecutive characters that have the same Lisp object as their
|
||||
@code{display} property; these characters are replaced as a single
|
||||
unit. By contrast, characters that have similar but distinct Lisp
|
||||
objects as their @code{display} properties are handled separately.
|
||||
Here's a function that illustrates this point:
|
||||
|
||||
@smallexample
|
||||
(defun foo ()
|
||||
|
@ -3273,7 +3287,7 @@ results:
|
|||
(goto-char (point-min))
|
||||
(dotimes (i 5)
|
||||
(let ((string (concat "A")))
|
||||
(put-text-property (point) (2+ (point)) 'display string)
|
||||
(put-text-property (point) (+ 2 (point)) 'display string)
|
||||
(put-text-property (point) (1+ (point)) 'display string)
|
||||
(forward-char 2))))
|
||||
@end smallexample
|
|
@ -7,7 +7,7 @@
|
|||
@c Version of the manual and of Emacs.
|
||||
@c Please remember to update the edition number in README as well.
|
||||
@set VERSION 2.9
|
||||
@set EMACSVER 22.1.50
|
||||
@set EMACSVER 23.0.50
|
||||
|
||||
@dircategory Emacs
|
||||
@direntry
|
|
@ -3,7 +3,7 @@
|
|||
@c Copyright (C) 1990, 1991, 1992, 1993, 1999, 2001, 2002, 2003, 2004,
|
||||
@c 2005, 2006, 2007 Free Software Foundation, Inc.
|
||||
@c See the file elisp.texi for copying conditions.
|
||||
@setfilename ../info/errors
|
||||
@setfilename ../../info/errors
|
||||
@node Standard Errors, Standard Buffer-Local Variables, GNU Emacs Internals, Top
|
||||
@appendix Standard Errors
|
||||
@cindex standard errors
|
|
@ -3,7 +3,7 @@
|
|||
@c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1998, 2001, 2002, 2003,
|
||||
@c 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
|
||||
@c See the file elisp.texi for copying conditions.
|
||||
@setfilename ../info/eval
|
||||
@setfilename ../../info/eval
|
||||
@node Evaluation, Control Structures, Symbols, Top
|
||||
@chapter Evaluation
|
||||
@cindex evaluation
|
|
@ -3,7 +3,7 @@
|
|||
@c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001,
|
||||
@c 2002, 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
|
||||
@c See the file elisp.texi for copying conditions.
|
||||
@setfilename ../info/files
|
||||
@setfilename ../../info/files
|
||||
@node Files, Backups and Auto-Saving, Documentation, Top
|
||||
@comment node-name, next, previous, up
|
||||
@chapter Files
|
|
@ -3,7 +3,7 @@
|
|||
@c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001,
|
||||
@c 2002, 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
|
||||
@c See the file elisp.texi for copying conditions.
|
||||
@setfilename ../info/frames
|
||||
@setfilename ../../info/frames
|
||||
@node Frames, Positions, Windows, Top
|
||||
@chapter Frames
|
||||
@cindex frame
|
||||
|
@ -378,6 +378,14 @@ you don't specify a name, Emacs sets the frame name automatically
|
|||
If you specify the frame name explicitly when you create the frame, the
|
||||
name is also used (instead of the name of the Emacs executable) when
|
||||
looking up X resources for the frame.
|
||||
|
||||
@item display-environment-variable
|
||||
The value of the @code{DISPLAY} environment variable for the frame. It
|
||||
is passed to child processes.
|
||||
|
||||
@item term-environment-variable
|
||||
The value of the @code{TERM} environment variable for the frame. It
|
||||
is passed to child processes.
|
||||
@end table
|
||||
|
||||
@node Position Parameters
|
||||
|
@ -655,8 +663,17 @@ should be suitable values for the @code{cursor-type} frame parameter.
|
|||
|
||||
There are various defaults for how to blink each type of cursor, if
|
||||
the type is not mentioned as an @var{on-state} here. Changes in this
|
||||
variable do not take effect immediately, because the variable is
|
||||
examined only when you specify the @code{cursor-type} parameter.
|
||||
variable do not take effect immediately, only when you specify the
|
||||
@code{cursor-type} frame parameter.
|
||||
@end defvar
|
||||
|
||||
@defvar cursor-in-non-selected-windows
|
||||
This variable controls how the cursor looks in a window that is not
|
||||
selected. It supports the same values as the @code{cursor-type} frame
|
||||
parameter; also, @code{nil} means don't display a cursor in
|
||||
nonselected windows, and @code{t} (the default) means use a standard
|
||||
modificatoin of the usual cursor type (solid box becomes hollow box,
|
||||
and bar becomes a narrower bar).
|
||||
@end defvar
|
||||
|
||||
@node Color Parameters
|
|
@ -3,7 +3,7 @@
|
|||
@c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001,
|
||||
@c 2002, 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
|
||||
@c See the file elisp.texi for copying conditions.
|
||||
@setfilename ../info/functions
|
||||
@setfilename ../../info/functions
|
||||
@node Functions, Macros, Variables, Top
|
||||
@chapter Functions
|
||||
|
|
@ -1,5 +1,5 @@
|
|||
@c -*-texinfo-*-
|
||||
@setfilename ../info/gpl
|
||||
@setfilename ../../info/gpl
|
||||
|
||||
@node GPL, Tips, GNU Free Documentation License, Top
|
||||
@comment node-name, next, previous, up
|
|
@ -3,7 +3,7 @@
|
|||
@c Copyright (C) 1999, 2001, 2002, 2003, 2004, 2005,
|
||||
@c 2006, 2007 Free Software Foundation, Inc.
|
||||
@c See the file elisp.texi for copying conditions.
|
||||
@setfilename ../info/hash
|
||||
@setfilename ../../info/hash
|
||||
@node Hash Tables, Symbols, Sequences Arrays Vectors, Top
|
||||
@chapter Hash Tables
|
||||
@cindex hash tables
|
|
@ -3,7 +3,7 @@
|
|||
@c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001,
|
||||
@c 2002, 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
|
||||
@c See the file elisp.texi for copying conditions.
|
||||
@setfilename ../info/help
|
||||
@setfilename ../../info/help
|
||||
@node Documentation, Files, Modes, Top
|
||||
@chapter Documentation
|
||||
@cindex documentation strings
|
|
@ -3,7 +3,7 @@
|
|||
@c Copyright (C) 1990, 1991, 1992, 1993, 1998, 2001, 2002, 2003, 2004,
|
||||
@c 2005, 2006, 2007 Free Software Foundation, Inc.
|
||||
@c See the file elisp.texi for copying conditions.
|
||||
@setfilename ../info/hooks
|
||||
@setfilename ../../info/hooks
|
||||
@node Standard Hooks, Index, Standard Keymaps, Top
|
||||
@appendix Standard Hooks
|
||||
@cindex standard hooks
|
|
@ -1,5 +1,5 @@
|
|||
@c -*-texinfo-*-
|
||||
@setfilename ../info/index
|
||||
@setfilename ../../info/index
|
||||
|
||||
@c Indexing guidelines
|
||||
|
|
@ -3,7 +3,7 @@
|
|||
@c Copyright (C) 1990, 1991, 1992, 1993, 1998, 1999, 2001, 2002, 2003,
|
||||
@c 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
|
||||
@c See the file elisp.texi for copying conditions.
|
||||
@setfilename ../info/internals
|
||||
@setfilename ../../info/internals
|
||||
@node GNU Emacs Internals, Standard Errors, Tips, Top
|
||||
@comment node-name, next, previous, up
|
||||
@appendix GNU Emacs Internals
|
|
@ -3,7 +3,7 @@
|
|||
@c Copyright (C) 1990, 1991, 1992, 1993, 1994, 2001, 2002, 2003, 2004,
|
||||
@c 2005, 2006, 2007 Free Software Foundation, Inc.
|
||||
@c See the file elisp.texi for copying conditions.
|
||||
@setfilename ../info/intro
|
||||
@setfilename ../../info/intro
|
||||
|
||||
@node Introduction, Lisp Data Types, Top, Top
|
||||
@comment node-name, next, previous, up
|
|
@ -3,7 +3,7 @@
|
|||
@c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1998, 1999, 2000, 2001,
|
||||
@c 2002, 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
|
||||
@c See the file elisp.texi for copying conditions.
|
||||
@setfilename ../info/keymaps
|
||||
@setfilename ../../info/keymaps
|
||||
@node Keymaps, Modes, Command Loop, Top
|
||||
@chapter Keymaps
|
||||
@cindex keymap
|
||||
|
@ -1512,17 +1512,18 @@ specifies a list of keymaps to search in. This argument is ignored if
|
|||
This section describes keymaps that are used during reading a key
|
||||
sequence, to translate certain event sequences into others.
|
||||
@code{read-key-sequence} checks every subsequence of the key sequence
|
||||
being read, as it is read, against @code{function-key-map} and then
|
||||
against @code{key-translation-map}.
|
||||
being read, as it is read, against @code{input-decode-map}, then
|
||||
@code{function-key-map}, and then against @code{key-translation-map}.
|
||||
|
||||
@defvar input-decode-map
|
||||
|
||||
@defvar function-key-map
|
||||
This variable holds a keymap that describes the character sequences sent
|
||||
by function keys on an ordinary character terminal. This keymap has the
|
||||
same structure as other keymaps, but is used differently: it specifies
|
||||
translations to make while reading key sequences, rather than bindings
|
||||
for key sequences.
|
||||
|
||||
If @code{function-key-map} ``binds'' a key sequence @var{k} to a vector
|
||||
If @code{input-decode-map} ``binds'' a key sequence @var{k} to a vector
|
||||
@var{v}, then when @var{k} appears as a subsequence @emph{anywhere} in a
|
||||
key sequence, it is replaced with the events in @var{v}.
|
||||
|
||||
|
@ -1530,50 +1531,49 @@ For example, VT100 terminals send @kbd{@key{ESC} O P} when the
|
|||
keypad @key{PF1} key is pressed. Therefore, we want Emacs to translate
|
||||
that sequence of events into the single event @code{pf1}. We accomplish
|
||||
this by ``binding'' @kbd{@key{ESC} O P} to @code{[pf1]} in
|
||||
@code{function-key-map}, when using a VT100.
|
||||
@code{input-decode-map}, when using a VT100.
|
||||
|
||||
Thus, typing @kbd{C-c @key{PF1}} sends the character sequence @kbd{C-c
|
||||
@key{ESC} O P}; later the function @code{read-key-sequence} translates
|
||||
this back into @kbd{C-c @key{PF1}}, which it returns as the vector
|
||||
@code{[?\C-c pf1]}.
|
||||
|
||||
Entries in @code{function-key-map} are ignored if they conflict with
|
||||
bindings made in the minor mode, local, or global keymaps. The intent
|
||||
is that the character sequences that function keys send should not have
|
||||
command bindings in their own right---but if they do, the ordinary
|
||||
bindings take priority.
|
||||
|
||||
The value of @code{function-key-map} is usually set up automatically
|
||||
The value of @code{input-decode-map} is usually set up automatically
|
||||
according to the terminal's Terminfo or Termcap entry, but sometimes
|
||||
those need help from terminal-specific Lisp files. Emacs comes with
|
||||
terminal-specific files for many common terminals; their main purpose is
|
||||
to make entries in @code{function-key-map} beyond those that can be
|
||||
to make entries in @code{input-decode-map} beyond those that can be
|
||||
deduced from Termcap and Terminfo. @xref{Terminal-Specific}.
|
||||
@end defvar
|
||||
|
||||
@defvar function-key-map
|
||||
|
||||
This variable holds a keymap similar to @code{input-decode-map} except
|
||||
that it describes key sequences which should be translated to
|
||||
alternative interpretations that are usually preferred. It applies
|
||||
after @code{input-decode-map} and before @code{key-translation-map}.
|
||||
|
||||
Entries in @code{function-key-map} are ignored if they conflict with
|
||||
bindings made in the minor mode, local, or global keymaps. I.e.
|
||||
the remapping only applies if the original key sequence would
|
||||
otherwise not have any binding.
|
||||
@end defvar
|
||||
|
||||
@defvar key-translation-map
|
||||
This variable is another keymap used just like @code{function-key-map}
|
||||
This variable is another keymap used just like @code{input-decode-map}
|
||||
to translate input events into other events. It differs from
|
||||
@code{function-key-map} in two ways:
|
||||
@code{input-decode-map} in that it goes to work after
|
||||
@code{function-key-map} is finished rather than before; it receives
|
||||
the results of translation by @code{function-key-map}.
|
||||
|
||||
@itemize @bullet
|
||||
@item
|
||||
@code{key-translation-map} goes to work after @code{function-key-map} is
|
||||
finished; it receives the results of translation by
|
||||
@code{function-key-map}.
|
||||
|
||||
@item
|
||||
Non-prefix bindings in @code{key-translation-map} override actual key
|
||||
bindings. For example, if @kbd{C-x f} has a non-prefix binding in
|
||||
@code{key-translation-map}, that translation takes effect even though
|
||||
@kbd{C-x f} also has a key binding in the global map.
|
||||
@end itemize
|
||||
|
||||
Note however that actual key bindings can have an effect on
|
||||
@code{key-translation-map}, even though they are overridden by it.
|
||||
Indeed, actual key bindings override @code{function-key-map} and thus
|
||||
may alter the key sequence that @code{key-translation-map} receives.
|
||||
Clearly, it is better to avoid this type of situation.
|
||||
Just like @code{input-decode-map}, but unlike @code{function-key-map},
|
||||
this keymap is applied regardless of whether the input key-sequence
|
||||
has a normal binding. Note however that actual key bindings can have
|
||||
an effect on @code{key-translation-map}, even though they are
|
||||
overridden by it. Indeed, actual key bindings override
|
||||
@code{function-key-map} and thus may alter the key sequence that
|
||||
@code{key-translation-map} receives. Clearly, it is better to avoid
|
||||
this type of situation.
|
||||
|
||||
The intent of @code{key-translation-map} is for users to map one
|
||||
character set to another, including ordinary characters normally bound
|
||||
|
@ -1581,7 +1581,8 @@ to @code{self-insert-command}.
|
|||
@end defvar
|
||||
|
||||
@cindex key translation function
|
||||
You can use @code{function-key-map} or @code{key-translation-map} for
|
||||
You can use @code{input-decode-map}, @code{function-key-map}, or
|
||||
@code{key-translation-map} for
|
||||
more than simple aliases, by using a function, instead of a key
|
||||
sequence, as the ``translation'' of a key. Then this function is called
|
||||
to compute the translation of that key.
|
|
@ -3,7 +3,7 @@
|
|||
@c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001,
|
||||
@c 2002, 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
|
||||
@c See the file elisp.texi for copying conditions.
|
||||
@setfilename ../info/lists
|
||||
@setfilename ../../info/lists
|
||||
@node Lists, Sequences Arrays Vectors, Strings and Characters, Top
|
||||
@chapter Lists
|
||||
@cindex lists
|
|
@ -3,7 +3,7 @@
|
|||
@c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001,
|
||||
@c 2002, 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
|
||||
@c See the file elisp.texi for copying conditions.
|
||||
@setfilename ../info/loading
|
||||
@setfilename ../../info/loading
|
||||
@node Loading, Byte Compilation, Customization, Top
|
||||
@chapter Loading
|
||||
@cindex loading
|
|
@ -3,7 +3,7 @@
|
|||
@c Copyright (C) 1990, 1991, 1992, 1993, 1999, 2001, 2002, 2003, 2004,
|
||||
@c 2005, 2006, 2007 Free Software Foundation, Inc.
|
||||
@c See the file elisp.texi for copying conditions.
|
||||
@setfilename ../info/locals
|
||||
@setfilename ../../info/locals
|
||||
@node Standard Buffer-Local Variables, Standard Keymaps, Standard Errors, Top
|
||||
@appendix Buffer-Local Variables
|
||||
@c The title "Standard Buffer-Local Variables" is too long for
|
|
@ -3,7 +3,7 @@
|
|||
@c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 2001, 2002,
|
||||
@c 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
|
||||
@c See the file elisp.texi for copying conditions.
|
||||
@setfilename ../info/macros
|
||||
@setfilename ../../info/macros
|
||||
@node Macros, Customization, Functions, Top
|
||||
@chapter Macros
|
||||
@cindex macros
|
||||
|
@ -365,7 +365,7 @@ whitespace between the @samp{`}, @samp{,} or @samp{,@@} and the
|
|||
following expression.
|
||||
|
||||
This syntax is still accepted, for compatibility with old Emacs
|
||||
versions, but support for it will soon disappear.
|
||||
versions, but support for it will be removed in the future.
|
||||
|
||||
@node Problems with Macros
|
||||
@section Common Problems Using Macros
|
|
@ -22,8 +22,8 @@
|
|||
# Standard configure variables.
|
||||
srcdir = .
|
||||
|
||||
infodir = $(srcdir)/../info
|
||||
usermanualdir = $(srcdir)/../man
|
||||
infodir = $(srcdir)/../../info
|
||||
usermanualdir = $(srcdir)/../emacs
|
||||
|
||||
# Redefine `TEX' if `tex' does not invoke plain TeX. For example:
|
||||
# TEX=platex
|
||||
|
@ -33,7 +33,7 @@ MAKEINFO = makeinfo --force
|
|||
|
||||
# The environment variable and its value to add $(srcdir) to the path
|
||||
# searched for TeX input files.
|
||||
texinputdir = $(srcdir)\..\nt\envadd.bat "TEXINPUTS=$(srcdir);$(TEXINPUTS)" /C
|
||||
texinputdir = $(srcdir)\..\..\nt\envadd.bat "TEXINPUTS=$(srcdir);$(TEXINPUTS)" /C
|
||||
|
||||
# The name of the manual:
|
||||
VERSION=2.9
|
|
@ -3,7 +3,7 @@
|
|||
@c Copyright (C) 1990, 1991, 1992, 1993, 1999, 2001, 2002, 2003, 2004,
|
||||
@c 2005, 2006, 2007 Free Software Foundation, Inc.
|
||||
@c See the file elisp.texi for copying conditions.
|
||||
@setfilename ../info/maps
|
||||
@setfilename ../../info/maps
|
||||
@node Standard Keymaps, Standard Hooks, Standard Buffer-Local Variables, Top
|
||||
@appendix Standard Keymaps
|
||||
@cindex standard keymaps
|
||||
|
@ -113,7 +113,7 @@ The sparse keymap that displays the Special Props submenu of the Text
|
|||
Properties menu.
|
||||
|
||||
@item function-key-map
|
||||
The keymap for translating keypad and function keys.@*
|
||||
The keymap for translating key sequences to preferred alternatives.@*
|
||||
If there are none, then it contains an empty sparse keymap.
|
||||
@xref{Translation Keymaps}.
|
||||
|
||||
|
@ -151,6 +151,11 @@ A sparse keymap used by the @kbd{e} command of Info.
|
|||
@vindex Info-mode-map
|
||||
A sparse keymap containing Info commands.
|
||||
|
||||
@item input-decode-map
|
||||
The keymap for translating keypad and function keys.@*
|
||||
If there are none, then it contains an empty sparse keymap.
|
||||
@xref{Translation Keymaps}.
|
||||
|
||||
@item isearch-mode-map
|
||||
@vindex isearch-mode-map
|
||||
A keymap that defines the characters you can type within incremental
|
|
@ -3,7 +3,7 @@
|
|||
@c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001,
|
||||
@c 2002, 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
|
||||
@c See the file elisp.texi for copying conditions.
|
||||
@setfilename ../info/markers
|
||||
@setfilename ../../info/markers
|
||||
@node Markers, Text, Positions, Top
|
||||
@chapter Markers
|
||||
@cindex markers
|
|
@ -3,7 +3,7 @@
|
|||
@c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001, 2002,
|
||||
@c 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
|
||||
@c See the file elisp.texi for copying conditions.
|
||||
@setfilename ../info/minibuf
|
||||
@setfilename ../../info/minibuf
|
||||
@node Minibuffers, Command Loop, Read and Print, Top
|
||||
@chapter Minibuffers
|
||||
@cindex arguments, reading
|
38
doc/lispref/mkinstalldirs
Executable file
38
doc/lispref/mkinstalldirs
Executable file
|
@ -0,0 +1,38 @@
|
|||
#! /bin/sh
|
||||
# mkinstalldirs --- make directory hierarchy
|
||||
# Author: Noah Friedman <friedman@prep.ai.mit.edu>
|
||||
# Created: 1993-05-16
|
||||
# Public domain
|
||||
|
||||
errstatus=0
|
||||
|
||||
for file
|
||||
do
|
||||
set fnord `echo ":$file" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'`
|
||||
shift
|
||||
|
||||
pathcomp=
|
||||
for d
|
||||
do
|
||||
pathcomp="$pathcomp$d"
|
||||
case "$pathcomp" in
|
||||
-* ) pathcomp=./$pathcomp ;;
|
||||
esac
|
||||
|
||||
if test ! -d "$pathcomp"; then
|
||||
echo "mkdir $pathcomp" 1>&2
|
||||
|
||||
mkdir "$pathcomp" || lasterr=$?
|
||||
|
||||
if test ! -d "$pathcomp"; then
|
||||
errstatus=$lasterr
|
||||
fi
|
||||
fi
|
||||
|
||||
pathcomp="$pathcomp/"
|
||||
done
|
||||
done
|
||||
|
||||
exit $errstatus
|
||||
|
||||
# mkinstalldirs ends here
|
|
@ -3,7 +3,7 @@
|
|||
@c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001,
|
||||
@c 2002, 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
|
||||
@c See the file elisp.texi for copying conditions.
|
||||
@setfilename ../info/modes
|
||||
@setfilename ../../info/modes
|
||||
@node Modes, Documentation, Keymaps, Top
|
||||
@chapter Major and Minor Modes
|
||||
@cindex mode
|
|
@ -3,7 +3,7 @@
|
|||
@c Copyright (C) 1998, 1999, 2001, 2002, 2003, 2004,
|
||||
@c 2005, 2006, 2007 Free Software Foundation, Inc.
|
||||
@c See the file elisp.texi for copying conditions.
|
||||
@setfilename ../info/characters
|
||||
@setfilename ../../info/characters
|
||||
@node Non-ASCII Characters, Searching and Matching, Text, Top
|
||||
@chapter Non-@acronym{ASCII} Characters
|
||||
@cindex multibyte characters
|
|
@ -3,7 +3,7 @@
|
|||
@c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001,
|
||||
@c 2002, 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
|
||||
@c See the file elisp.texi for copying conditions.
|
||||
@setfilename ../info/numbers
|
||||
@setfilename ../../info/numbers
|
||||
@node Numbers, Strings and Characters, Lisp Data Types, Top
|
||||
@chapter Numbers
|
||||
@cindex integers
|
|
@ -3,7 +3,7 @@
|
|||
@c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001,
|
||||
@c 2002, 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
|
||||
@c See the file elisp.texi for copying conditions.
|
||||
@setfilename ../info/objects
|
||||
@setfilename ../../info/objects
|
||||
@node Lisp Data Types, Numbers, Introduction, Top
|
||||
@chapter Lisp Data Types
|
||||
@cindex object
|
|
@ -3,7 +3,7 @@
|
|||
@c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001,
|
||||
@c 2002, 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
|
||||
@c See the file elisp.texi for copying conditions.
|
||||
@setfilename ../info/os
|
||||
@setfilename ../../info/os
|
||||
@node System Interface, Antinews, Display, Top
|
||||
@chapter Operating System Interface
|
||||
|
||||
|
@ -279,7 +279,7 @@ trying the @samp{.elc} and @samp{.el} suffixes.
|
|||
@cindex Termcap
|
||||
The usual function of a terminal-specific library is to enable
|
||||
special keys to send sequences that Emacs can recognize. It may also
|
||||
need to set or add to @code{function-key-map} if the Termcap or
|
||||
need to set or add to @code{input-decode-map} if the Termcap or
|
||||
Terminfo entry does not specify all the terminal's function keys.
|
||||
@xref{Terminal Input}.
|
||||
|
|
@ -3,7 +3,7 @@
|
|||
@c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2000, 2001,
|
||||
@c 2002, 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
|
||||
@c See the file elisp.texi for copying conditions.
|
||||
@setfilename ../info/positions
|
||||
@setfilename ../../info/positions
|
||||
@node Positions, Markers, Frames, Top
|
||||
@chapter Positions
|
||||
@cindex position (in buffer)
|
|
@ -3,7 +3,7 @@
|
|||
@c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001,
|
||||
@c 2002, 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
|
||||
@c See the file elisp.texi for copying conditions.
|
||||
@setfilename ../info/processes
|
||||
@setfilename ../../info/processes
|
||||
@node Processes, Display, Abbrevs, Top
|
||||
@chapter Processes
|
||||
@cindex child process
|
||||
|
@ -2062,7 +2062,8 @@ That particular network option is supported by
|
|||
@section Misc Network Facilities
|
||||
|
||||
These additional functions are useful for creating and operating
|
||||
on network connections.
|
||||
on network connections. Note that they are supported only on some
|
||||
systems.
|
||||
|
||||
@defun network-interface-list
|
||||
This function returns a list describing the network interfaces
|
|
@ -3,7 +3,7 @@
|
|||
@c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001,
|
||||
@c 2002, 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
|
||||
@c See the file elisp.texi for copying conditions.
|
||||
@setfilename ../info/searching
|
||||
@setfilename ../../info/searching
|
||||
@node Searching and Matching, Syntax Tables, Non-ASCII Characters, Top
|
||||
@chapter Searching and Matching
|
||||
@cindex searching
|
|
@ -3,7 +3,7 @@
|
|||
@c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001,
|
||||
@c 2002, 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
|
||||
@c See the file elisp.texi for copying conditions.
|
||||
@setfilename ../info/sequences
|
||||
@setfilename ../../info/sequences
|
||||
@node Sequences Arrays Vectors, Hash Tables, Lists, Top
|
||||
@chapter Sequences, Arrays, and Vectors
|
||||
@cindex sequence
|
|
@ -3,7 +3,7 @@
|
|||
@c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1998, 1999, 2001, 2002,
|
||||
@c 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
|
||||
@c See the file elisp.texi for copying conditions.
|
||||
@setfilename ../info/streams
|
||||
@setfilename ../../info/streams
|
||||
@node Read and Print, Minibuffers, Debugging, Top
|
||||
@comment node-name, next, previous, up
|
||||
@chapter Reading and Printing Lisp Objects
|
|
@ -3,7 +3,7 @@
|
|||
@c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001,
|
||||
@c 2002, 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
|
||||
@c See the file elisp.texi for copying conditions.
|
||||
@setfilename ../info/strings
|
||||
@setfilename ../../info/strings
|
||||
@node Strings and Characters, Lists, Numbers, Top
|
||||
@comment node-name, next, previous, up
|
||||
@chapter Strings and Characters
|
|
@ -3,7 +3,7 @@
|
|||
@c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001,
|
||||
@c 2002, 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
|
||||
@c See the file elisp.texi for copying conditions.
|
||||
@setfilename ../info/symbols
|
||||
@setfilename ../../info/symbols
|
||||
@node Symbols, Evaluation, Hash Tables, Top
|
||||
@chapter Symbols
|
||||
@cindex symbol
|
|
@ -3,7 +3,7 @@
|
|||
@c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001,
|
||||
@c 2002, 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
|
||||
@c See the file elisp.texi for copying conditions.
|
||||
@setfilename ../info/syntax
|
||||
@setfilename ../../info/syntax
|
||||
@node Syntax Tables, Abbrevs, Searching and Matching, Top
|
||||
@chapter Syntax Tables
|
||||
@cindex parsing buffer text
|
|
@ -3,7 +3,7 @@
|
|||
@c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2000, 2001,
|
||||
@c 2002, 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
|
||||
@c See the file elisp.texi for copying conditions.
|
||||
@setfilename ../info/text
|
||||
@setfilename ../../info/text
|
||||
@node Text, Non-ASCII Characters, Markers, Top
|
||||
@chapter Text
|
||||
@cindex text
|
||||
|
@ -1453,6 +1453,12 @@ The variable @code{paragraph-separate} controls how to distinguish
|
|||
paragraphs. @xref{Standard Regexps}.
|
||||
@end deffn
|
||||
|
||||
@deffn Command fill-paragraph-or-region justify
|
||||
In Transient Mark mode, when the mark is active, this command calls
|
||||
@code{fill-region} on the active region. Otherwise, it calls
|
||||
@code{fill-paragraph}.
|
||||
@end deffn
|
||||
|
||||
@deffn Command fill-individual-paragraphs start end &optional justify citation-regexp
|
||||
This command fills each paragraph in the region according to its
|
||||
individual fill prefix. Thus, if the lines of a paragraph were indented
|
|
@ -3,7 +3,7 @@
|
|||
@c Copyright (C) 1990, 1991, 1992, 1993, 1995, 1998, 1999, 2001, 2002,
|
||||
@c 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
|
||||
@c See the file elisp.texi for copying conditions.
|
||||
@setfilename ../info/tips
|
||||
@setfilename ../../info/tips
|
||||
@node Tips, GNU Emacs Internals, GPL, Top
|
||||
@appendix Tips and Conventions
|
||||
@cindex tips for writing Lisp
|
|
@ -3,7 +3,7 @@
|
|||
@c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2000,
|
||||
@c 2001, 2002, 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
|
||||
@c See the file elisp.texi for copying conditions.
|
||||
@setfilename ../info/variables
|
||||
@setfilename ../../info/variables
|
||||
@node Variables, Functions, Control Structures, Top
|
||||
@chapter Variables
|
||||
@cindex variable
|
|
@ -3,7 +3,7 @@
|
|||
@c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001,
|
||||
@c 2002, 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
|
||||
@c See the file elisp.texi for copying conditions.
|
||||
@setfilename ../info/windows
|
||||
@setfilename ../../info/windows
|
||||
@node Windows, Frames, Buffers, Top
|
||||
@chapter Windows
|
||||
|
||||
|
@ -55,15 +55,11 @@ multiple nonoverlapping Emacs windows.
|
|||
In each frame, at any time, one and only one window is designated as
|
||||
@dfn{selected within the frame}. The frame's cursor appears in that
|
||||
window, but the other windows have ``non-selected'' cursors, normally
|
||||
less visible. At any time, one frame is the selected frame; and the
|
||||
window selected within that frame is @dfn{the selected window}. The
|
||||
selected window's buffer is usually the current buffer (except when
|
||||
@code{set-buffer} has been used). @xref{Current Buffer}.
|
||||
|
||||
@defvar cursor-in-non-selected-windows
|
||||
If this variable is @code{nil}, Emacs displays only one cursor,
|
||||
in the selected window. Other windows have no cursor at all.
|
||||
@end defvar
|
||||
less visible. (@pxref{Cursor Parameters}, for customization of this.)
|
||||
At any time, one frame is the selected frame; and the window selected
|
||||
within that frame is @dfn{the selected window}. The selected window's
|
||||
buffer is usually the current buffer (except when @code{set-buffer}
|
||||
has been used). @xref{Current Buffer}.
|
||||
|
||||
For practical purposes, a window exists only while it is displayed in
|
||||
a frame. Once removed from the frame, the window is effectively deleted
|
||||
|
@ -2246,13 +2242,13 @@ similar to the value returned by @code{window-edges}.
|
|||
@cindex saving window information
|
||||
|
||||
A @dfn{window configuration} records the entire layout of one
|
||||
frame---all windows, their sizes, which buffers they contain, what
|
||||
part of each buffer is displayed, and the values of point and the
|
||||
mark; also their fringes, margins, and scroll bar settings. It also
|
||||
frame---all windows, their sizes, which buffers they contain, how
|
||||
those buffers are scrolled, and their values of point and the mark;
|
||||
also their fringes, margins, and scroll bar settings. It also
|
||||
includes the values of @code{window-min-height},
|
||||
@code{window-min-width} and @code{minibuffer-scroll-window}. An
|
||||
exception is made for point in the selected window for the current
|
||||
buffer; its value is not saved in the window configuration.
|
||||
@code{window-min-width} and @code{minibuffer-scroll-window}. As a
|
||||
special exception, the window configuration does not record the value
|
||||
of point in the selected window for the current buffer.
|
||||
|
||||
You can bring back an entire previous layout by restoring a window
|
||||
configuration previously saved. If you want to record all frames
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Reference in a new issue