2 |
@setfilename ../info/cl |
@setfilename ../info/cl |
3 |
@settitle Common Lisp Extensions |
@settitle Common Lisp Extensions |
4 |
|
|
5 |
@dircategory Emacs |
@copying |
|
@direntry |
|
|
* CL: (cl). Partial Common Lisp support for Emacs Lisp. |
|
|
@end direntry |
|
|
|
|
|
@iftex |
|
|
@finalout |
|
|
@end iftex |
|
|
|
|
|
@ifinfo |
|
6 |
This file documents the GNU Emacs Common Lisp emulation package. |
This file documents the GNU Emacs Common Lisp emulation package. |
7 |
|
|
8 |
Copyright (C) 1993 Free Software Foundation, Inc. |
Copyright (C) 1993, 2002 Free Software Foundation, Inc. |
|
|
|
9 |
|
|
10 |
|
@quotation |
11 |
Permission is granted to copy, distribute and/or modify this document |
Permission is granted to copy, distribute and/or modify this document |
12 |
under the terms of the GNU Free Documentation License, Version 1.1 or |
under the terms of the GNU Free Documentation License, Version 1.1 or |
13 |
any later version published by the Free Software Foundation; with no |
any later version published by the Free Software Foundation; with no |
24 |
Documentation License. If you want to distribute this document |
Documentation License. If you want to distribute this document |
25 |
separately from the collection, you can do so by adding a copy of the |
separately from the collection, you can do so by adding a copy of the |
26 |
license to the document, as described in section 6 of the license. |
license to the document, as described in section 6 of the license. |
27 |
@end ifinfo |
@end quotation |
28 |
|
@end copying |
29 |
|
|
30 |
|
@dircategory Emacs |
31 |
|
@direntry |
32 |
|
* CL: (cl). Partial Common Lisp support for Emacs Lisp. |
33 |
|
@end direntry |
34 |
|
|
35 |
|
@finalout |
36 |
|
|
37 |
@titlepage |
@titlepage |
38 |
@sp 6 |
@sp 6 |
45 |
@center Dave Gillespie |
@center Dave Gillespie |
46 |
@center daveg@@synaptics.com |
@center daveg@@synaptics.com |
47 |
@page |
@page |
|
|
|
48 |
@vskip 0pt plus 1filll |
@vskip 0pt plus 1filll |
49 |
Copyright @copyright{} 1993 Free Software Foundation, Inc. |
@insertcopying |
|
|
|
|
Permission is granted to copy, distribute and/or modify this document |
|
|
under the terms of the GNU Free Documentation License, Version 1.1 or |
|
|
any later version published by the Free Software Foundation; with no |
|
|
Invariant Sections, with the Front-Cover texts being ``A GNU |
|
|
Manual'', and with the Back-Cover Texts as in (a) below. A copy of the |
|
|
license is included in the section entitled ``GNU Free Documentation |
|
|
License'' in the Emacs manual. |
|
|
|
|
|
(a) The FSF's Back-Cover Text is: ``You have freedom to copy and modify |
|
|
this GNU Manual, like GNU software. Copies published by the Free |
|
|
Software Foundation raise funds for GNU development.'' |
|
|
|
|
|
This document is part of a collection distributed under the GNU Free |
|
|
Documentation License. If you want to distribute this document |
|
|
separately from the collection, you can do so by adding a copy of the |
|
|
license to the document, as described in section 6 of the license. |
|
50 |
@end titlepage |
@end titlepage |
51 |
|
|
52 |
@node Top, Overview, (dir), (dir) |
@node Top, Overview, (dir), (dir) |
1031 |
The following Emacs-specific functions are also @code{setf}-able. |
The following Emacs-specific functions are also @code{setf}-able. |
1032 |
|
|
1033 |
@smallexample |
@smallexample |
1034 |
buffer-file-name marker-position |
buffer-file-name marker-position |
1035 |
buffer-modified-p match-data |
buffer-modified-p match-data |
1036 |
buffer-name mouse-position |
buffer-name mouse-position |
1037 |
buffer-string overlay-end |
buffer-string overlay-end |
1038 |
buffer-substring overlay-get |
buffer-substring overlay-get |
1039 |
current-buffer overlay-start |
current-buffer overlay-start |
1040 |
current-case-table point |
current-case-table point |
1041 |
current-column point-marker |
current-column point-marker |
1042 |
current-global-map point-max |
current-global-map point-max |
1043 |
current-input-mode point-min |
current-input-mode point-min |
1044 |
current-local-map process-buffer |
current-local-map process-buffer |
1045 |
current-window-configuration process-filter |
current-window-configuration process-filter |
1046 |
default-file-modes process-sentinel |
default-file-modes process-sentinel |
1047 |
default-value read-mouse-position |
default-value read-mouse-position |
1048 |
documentation-property screen-height |
documentation-property screen-height |
1049 |
extent-data screen-menubar |
extent-data screen-menubar |
1050 |
extent-end-position screen-width |
extent-end-position screen-width |
1051 |
extent-start-position selected-window |
extent-start-position selected-window |
1052 |
face-background selected-screen |
face-background selected-screen |
1053 |
face-background-pixmap selected-frame |
face-background-pixmap selected-frame |
1054 |
face-font standard-case-table |
face-font standard-case-table |
1055 |
face-foreground syntax-table |
face-foreground syntax-table |
1056 |
face-underline-p window-buffer |
face-underline-p window-buffer |
1057 |
file-modes window-dedicated-p |
file-modes window-dedicated-p |
1058 |
frame-height window-display-table |
frame-height window-display-table |
1059 |
frame-parameters window-height |
frame-parameters window-height |
1060 |
frame-visible-p window-hscroll |
frame-visible-p window-hscroll |
1061 |
frame-width window-point |
frame-width window-point |
1062 |
get-register window-start |
get-register window-start |
1063 |
getenv window-width |
getenv window-width |
1064 |
global-key-binding x-get-cut-buffer |
global-key-binding x-get-cut-buffer |
1065 |
keymap-parent x-get-cutbuffer |
keymap-parent x-get-cutbuffer |
1066 |
local-key-binding x-get-secondary-selection |
local-key-binding x-get-secondary-selection |
1067 |
mark x-get-selection |
mark x-get-selection |
1068 |
mark-marker |
mark-marker |
1069 |
@end smallexample |
@end smallexample |
1070 |
|
|
1071 |
Most of these have directly corresponding ``set'' functions, like |
Most of these have directly corresponding ``set'' functions, like |
2001 |
Because they are implemented in terms of Emacs Lisp @code{catch} |
Because they are implemented in terms of Emacs Lisp @code{catch} |
2002 |
and @code{throw}, blocks have the same overhead as actual |
and @code{throw}, blocks have the same overhead as actual |
2003 |
@code{catch} constructs (roughly two function calls). However, |
@code{catch} constructs (roughly two function calls). However, |
2004 |
the optimizing byte compiler will optimize away the @code{catch} |
the optimizing byte compiler will optimize away the @code{catch} |
2005 |
if the block does |
if the block does |
2006 |
not in fact contain any @code{return} or @code{return-from} calls |
not in fact contain any @code{return} or @code{return-from} calls |
2007 |
that jump to it. This means that @code{do} loops and @code{defun*} |
that jump to it. This means that @code{do} loops and @code{defun*} |