Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Open sidebar
emacs
emacs
Commits
bdd8064f
Commit
bdd8064f
authored
Nov 07, 2012
by
Glenn Morris
Browse files
* cl.texi (Obsolete Setf Customization): Updates for define-setf-method.
* etc/NEWS: Related markup.
parent
4eeba558
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
12 additions
and
15 deletions
+12
-15
doc/misc/ChangeLog
doc/misc/ChangeLog
+2
-1
doc/misc/cl.texi
doc/misc/cl.texi
+9
-14
etc/NEWS
etc/NEWS
+1
-0
No files found.
doc/misc/ChangeLog
View file @
bdd8064f
...
...
@@ -2,7 +2,8 @@
* cl.texi (Obsolete Setf Customization):
Revert defsetf example to the more correct let rather than prog1.
Give define-modify-macro and defsetf gv.el replacements.
Give define-modify-macro, defsetf, and define-setf-method
gv.el replacements.
2012-11-06 Glenn Morris <rgm@gnu.org>
...
...
doc/misc/cl.texi
View file @
bdd8064f
...
...
@@ -2865,7 +2865,6 @@ temporary variables.
This
function
creates
a
new
,
uninterned
symbol
(
using
@
code
{
make
-
symbol
})
with
a
unique
name
.
(
The
name
of
an
uninterned
symbol
is
relevant
only
if
the
symbol
is
printed
.)
By
default
,
the
name
is
generated
@
c
FIXME
no
longer
true
?
from
an
increasing
sequence
of
numbers
,
@
samp
{
G1000
},
@
samp
{
G1001
},
@
samp
{
G1002
},
etc
.
If
the
optional
argument
@
var
{
x
}
is
a
string
,
that
string
is
used
as
a
prefix
instead
of
@
samp
{
G
}.
Uninterned
symbols
...
...
@@ -4479,14 +4478,6 @@ The @code{equal} predicate does not distinguish
between
IEEE
floating
-
point
plus
and
minus
zero
.
The
@
code
{
cl
-
equalp
}
predicate
has
several
differences
with
Common
Lisp
;
@
pxref
{
Predicates
}.
@
c
FIXME
consider
moving
to
lispref
@
ignore
The
@
code
{
setf
}
mechanism
is
entirely
compatible
,
except
that
setf
-
methods
return
a
list
of
five
values
rather
than
five
values
directly
.
Also
,
the
new
``@
code
{
setf
}
function
''
concept
(
typified
by
@
code
{(
defun
(
setf
foo
)
@
dots
{})})
is
not
implemented
.
@
end
ignore
The
@
code
{
cl
-
do
-
all
-
symbols
}
form
is
the
same
as
@
code
{
cl
-
do
-
symbols
}
with
no
@
var
{
obarray
}
argument
.
In
Common
Lisp
,
this
form
would
iterate
over
all
symbols
in
all
packages
.
Since
Emacs
obarrays
...
...
@@ -5059,11 +5050,12 @@ You could write this using @code{gv-define-setter} as:
@
end
defmac
@
defmac
define
-
setf
-
method
access
-
fn
arglist
forms
@
dots
{}
This
is
the
most
general
way
to
create
new
place
forms
.
When
a
@
code
{
setf
}
to
@
var
{
access
-
fn
}
with
arguments
described
by
@
var
{
arglist
}
is
expanded
,
the
@
var
{
forms
}
are
evaluated
and
must
return
a
list
of
five
items
:
@
c
FIXME
Is
this
still
true
?
This
is
the
most
general
way
to
create
new
place
forms
.
You
can
replace
this
by
@
code
{
gv
-
define
-
setter
}
or
@
code
{
gv
-
define
-
expander
}.
When
a
@
code
{
setf
}
to
@
var
{
access
-
fn
}
with
arguments
described
by
@
var
{
arglist
}
is
expanded
,
the
@
var
{
forms
}
are
evaluated
and
must
return
a
list
of
five
items
:
@
enumerate
@
item
...
...
@@ -5092,6 +5084,9 @@ This is exactly like the Common Lisp macro of the same name,
except
that
the
method
returns
a
list
of
five
values
rather
than
the
five
values
themselves
,
since
Emacs
Lisp
does
not
support
Common
Lisp
's notion of multiple return values.
(Note that the @code{setf} implementation provided by @file{gv.el}
does not use this five item format. Its use here is only for
backwards compatibility.)
Once again, the @var{forms} may begin with a documentation string.
...
...
etc/NEWS
View file @
bdd8064f
...
...
@@ -335,6 +335,7 @@ of `symbol-function' in place forms.
A side effect is that vars without corresponding value are bound to nil
rather than making them unbound.
+++
***
The following methods of extending `setf' are obsolete
(use
features from gv.el instead):
`define-modify-macro'
(use `gv-letplace')
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment