aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--doc/misc/ChangeLog2
-rw-r--r--doc/misc/cl.texi38
-rw-r--r--etc/NEWS5
3 files changed, 18 insertions, 27 deletions
diff --git a/doc/misc/ChangeLog b/doc/misc/ChangeLog
index 6bd601bef5d..62308037fec 100644
--- a/doc/misc/ChangeLog
+++ b/doc/misc/ChangeLog
@@ -4,6 +4,8 @@
4 (List Functions): Remove copy-tree, standard elisp for some time. 4 (List Functions): Remove copy-tree, standard elisp for some time.
5 (Efficiency Concerns): Comment out examples that no longer apply. 5 (Efficiency Concerns): Comment out examples that no longer apply.
6 (Compiler Optimizations): Rename from "Optimizing Compiler"; reword. 6 (Compiler Optimizations): Rename from "Optimizing Compiler"; reword.
7 (Creating Symbols, Random Numbers): De-emphasize internal
8 variables cl--gensym-counter and cl--random-state. (Bug#12788)
7 9
82012-11-02 Glenn Morris <rgm@gnu.org> 102012-11-02 Glenn Morris <rgm@gnu.org>
9 11
diff --git a/doc/misc/cl.texi b/doc/misc/cl.texi
index 1b1a3f9836f..e182c2600f9 100644
--- a/doc/misc/cl.texi
+++ b/doc/misc/cl.texi
@@ -2874,21 +2874,17 @@ string is used as a prefix instead of @samp{G}. Uninterned symbols
2874are used in macro expansions for temporary variables, to ensure that 2874are used in macro expansions for temporary variables, to ensure that
2875their names will not conflict with ``real'' variables in the user's 2875their names will not conflict with ``real'' variables in the user's
2876code. 2876code.
2877@end defun
2878 2877
2879@c FIXME texinfo renders this as as cl-gensym-counter in info. 2878(Internally, the variable @code{cl--gensym-counter} holds the counter
2880@c It looks fine in the index, and in the pdf version. 2879used to generate names. It is incremented after each use. In Common
2881@defvar cl--gensym-counter 2880Lisp this is initialized with 0, but this package initializes it with
2882This variable holds the counter used to generate @code{cl-gensym} names. 2881a random time-dependent value to avoid trouble when two files that
2883It is incremented after each use by @code{cl-gensym}. In Common Lisp
2884this is initialized with 0, but this package initializes it with a
2885random (time-dependent) value to avoid trouble when two files that
2886each used @code{cl-gensym} in their compilation are loaded together. 2882each used @code{cl-gensym} in their compilation are loaded together.
2887(Uninterned symbols become interned when the compiler writes them 2883Uninterned symbols become interned when the compiler writes them out
2888out to a file and the Emacs loader loads them, so their names have to 2884to a file and the Emacs loader loads them, so their names have to be
2889be treated a bit more carefully than in Common Lisp where uninterned 2885treated a bit more carefully than in Common Lisp where uninterned
2890symbols remain uninterned after loading.) 2886symbols remain uninterned after loading.)
2891@end defvar 2887@end defun
2892 2888
2893@defun cl-gentemp &optional x 2889@defun cl-gentemp &optional x
2894This function is like @code{cl-gensym}, except that it produces a new 2890This function is like @code{cl-gensym}, except that it produces a new
@@ -3051,22 +3047,14 @@ This function returns a random nonnegative number less than
3051The @var{state} argument should be a @code{random-state} object 3047The @var{state} argument should be a @code{random-state} object
3052that holds the state of the random number generator. The 3048that holds the state of the random number generator. The
3053function modifies this state object as a side effect. If 3049function modifies this state object as a side effect. If
3054@var{state} is omitted, it defaults to the variable 3050@var{state} is omitted, it defaults to the internal variable
3055@code{cl--random-state}, which contains a pre-initialized 3051@code{cl--random-state}, which contains a pre-initialized
3056@code{random-state} object. 3052default @code{random-state} object. (Since any number of programs in
3053the Emacs process may be accessing @code{cl--random-state} in
3054interleaved fashion, the sequence generated from this will be
3055irreproducible for all intents and purposes.)
3057@end defun 3056@end defun
3058 3057
3059@c FIXME texinfo renders this as cl-random-state in info.
3060@c It looks fine in the index, and in the pdf version.
3061@defvar cl--random-state
3062This variable contains the system ``default'' @code{random-state}
3063object, used for calls to @code{cl-random} that do not specify an
3064alternative state object. Since any number of programs in the
3065Emacs process may be accessing @code{cl--random-state} in interleaved
3066fashion, the sequence generated from this variable will be
3067irreproducible for all intents and purposes.
3068@end defvar
3069
3070@defun cl-make-random-state &optional state 3058@defun cl-make-random-state &optional state
3071This function creates or copies a @code{random-state} object. 3059This function creates or copies a @code{random-state} object.
3072If @var{state} is omitted or @code{nil}, it returns a new copy of 3060If @var{state} is omitted or @code{nil}, it returns a new copy of
diff --git a/etc/NEWS b/etc/NEWS
index 9ece829217f..4f8b56cb363 100644
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -302,6 +302,7 @@ Customize `cal-html-holidays' to change this.
302 302
303** CL 303** CL
304 304
305+++
305*** CL's main entry is now (require 'cl-lib). 306*** CL's main entry is now (require 'cl-lib).
306`cl-lib' is like the old `cl' except that it uses the namespace cleanly, 307`cl-lib' is like the old `cl' except that it uses the namespace cleanly,
307i.e. all its definitions have the "cl-" prefix (and internal definitions use 308i.e. all its definitions have the "cl-" prefix (and internal definitions use
@@ -312,8 +313,8 @@ under the name `cl-foo' instead, with the exceptions of the few definitions
312that had to use `foo*' to avoid conflicts with pre-existing Elisp entities, 313that had to use `foo*' to avoid conflicts with pre-existing Elisp entities,
313which have not been renamed to `cl-foo*' but just `cl-foo'. 314which have not been renamed to `cl-foo*' but just `cl-foo'.
314 315
315The old `cl' is now deprecated and is just a bunch of aliases that 316The old `cl' is now deprecated and is mainly just a bunch of aliases that
316provide the old non-prefixed names. 317provide the old non-prefixed names. Some exceptions are listed below.
317 318
318+++ 319+++
319*** `cl-flet' is not like `flet' (which is deprecated). 320*** `cl-flet' is not like `flet' (which is deprecated).