emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] /srv/bzr/emacs/trunk r110659: More cl doc updates


From: Glenn Morris
Subject: [Emacs-diffs] /srv/bzr/emacs/trunk r110659: More cl doc updates
Date: Wed, 24 Oct 2012 20:58:40 -0400
User-agent: Bazaar (2.5.0)

------------------------------------------------------------
revno: 110659
committer: Glenn Morris <address@hidden>
branch nick: trunk
timestamp: Wed 2012-10-24 20:58:40 -0400
message:
  More cl doc updates
  
  * doc/misc/cl.texi: Don't mess with the TeX section number counter.
  Use Texinfo recommended convention for quotes+punctuation.
  (Overview, Sequence Functions): Rephrase for better line-breaking.
  (Time of Evaluation, Type Predicates, Modify Macros, Function Bindings)
  (Macro Bindings, Conditionals, Iteration, Loop Basics)
  (Random Numbers, Mapping over Sequences, Structures)
  (Porting Common Lisp): Further updates for cl-lib namespace.
  (Modify Macros, Declarations, Macro Bindings, Structures):
  Break long lines in examples.
  (Dynamic Bindings): Update for changed progv behavior.
  (Loop Examples, Efficiency Concerns): Markup fixes.
  (Structures): Remove TeX margin change.
  
  * lisp/emacs-lisp/cl-macs.el (cl-progv): Doc fix.
  
  * etc/NEWS: Related markup.
modified:
  doc/misc/ChangeLog
  doc/misc/cl.texi
  etc/NEWS
  lisp/ChangeLog
  lisp/emacs-lisp/cl-macs.el
=== modified file 'doc/misc/ChangeLog'
--- a/doc/misc/ChangeLog        2012-10-24 21:53:47 +0000
+++ b/doc/misc/ChangeLog        2012-10-25 00:58:40 +0000
@@ -1,3 +1,18 @@
+2012-10-25  Glenn Morris  <address@hidden>
+
+       * cl.texi: Don't mess with the TeX section number counter.
+       Use Texinfo recommended convention for quotes+punctuation.
+       (Overview, Sequence Functions): Rephrase for better line-breaking.
+       (Time of Evaluation, Type Predicates, Modify Macros, Function Bindings)
+       (Macro Bindings, Conditionals, Iteration, Loop Basics)
+       (Random Numbers, Mapping over Sequences, Structures)
+       (Porting Common Lisp): Further updates for cl-lib namespace.
+       (Modify Macros, Declarations, Macro Bindings, Structures):
+       Break long lines in examples.
+       (Dynamic Bindings): Update for changed progv behavior.
+       (Loop Examples, Efficiency Concerns): Markup fixes.
+       (Structures): Remove TeX margin change.
+
 2012-10-24  Glenn Morris  <address@hidden>
 
        * cl.texi (Overview, Multiple Values, Creating Symbols)

=== modified file 'doc/misc/cl.texi'
--- a/doc/misc/cl.texi  2012-10-24 21:53:47 +0000
+++ b/doc/misc/cl.texi  2012-10-25 00:58:40 +0000
@@ -115,17 +115,16 @@
 
 @end itemize
 
-The package described here was originally written by Dave Gillespie,
address@hidden@@synaptics.com}, as a total rewrite of an earlier
-1986 @file{cl.el} package by Cesar Quiroz.  Care has been taken
-to ensure that each function is defined efficiently, concisely, and
-with minimal impact on the rest of the Emacs environment.  Stefan
-Monnier added the file @file{cl-lib.el} and rationalized the namespace
-for Emacs 24.3.
+This package was originally written by Dave Gillespie,
address@hidden@@synaptics.com}, as a total rewrite of an earlier 1986
address@hidden package by Cesar Quiroz.  Care has been taken to ensure
+that each function is defined efficiently, concisely, and with minimal
+impact on the rest of the Emacs environment.  Stefan Monnier added the
+file @file{cl-lib.el} and rationalized the namespace for Emacs 24.3.
 
 @menu
 * Usage::                How to use the CL package.
-* Organization::         The package's five component files.
+* Organization::         The package's component files.
 * Naming Conventions::   Notes on CL function names.
 @end menu
 
@@ -254,10 +253,6 @@
 * Time of Evaluation::   The @code{cl-eval-when} construct.
 @end menu
 
address@hidden
address@hidden
address@hidden iftex
-
 @node Argument Lists
 @section Argument Lists
 
@@ -566,16 +561,16 @@
 Note that @code{(cl-eval-when (load eval) @dots{})} is equivalent
 to @code{(progn @dots{})} in all contexts.  The compiler treats
 certain top-level forms, like @code{defmacro} (sort-of) and
address@hidden, as if they were wrapped in @code{(eval-when
address@hidden, as if they were wrapped in @code{(cl-eval-when
 (compile load eval) @dots{})}.
 @end defspec
 
 Emacs includes two special forms related to @code{cl-eval-when}.
 One of these, @code{eval-when-compile}, is not quite equivalent to
-any @code{eval-when} construct and is described below.
+any @code{cl-eval-when} construct and is described below.
 
 The other form, @code{(eval-and-compile @dots{})}, is exactly
-equivalent to @samp{(eval-when (compile load eval) @dots{})} and
+equivalent to @samp{(cl-eval-when (compile load eval) @dots{})} and
 so is not itself defined by this package.
 
 @defspec eval-when-compile forms...
@@ -647,10 +642,6 @@
 @node Type Predicates
 @section Type Predicates
 
address@hidden
-The @code{CL} package defines a version of the Common Lisp @code{typep}
-predicate.
-
 @defun cl-typep object type
 Check if @var{object} is of type @var{type}, where @var{type} is a
 (quoted) type name of the sort used by Common Lisp.  For example,
@@ -731,7 +722,7 @@
 @defun cl-coerce object type
 This function attempts to convert @var{object} to the specified
 @var{type}.  If @var{object} is already of that type as determined by
address@hidden, it is simply returned.  Otherwise, certain types of
address@hidden, it is simply returned.  Otherwise, certain types of
 conversions will be made:  If @var{type} is any sequence type
 (@code{string}, @code{list}, etc.) then @var{object} will be
 converted to that type if possible.  If @var{type} is
@@ -1103,7 +1094,8 @@
 ``obvious'' expansion,
 
 @example
-(setf (aref vec (cl-incf i)) (1+ (aref vec (cl-incf i))))   ; Wrong!
+(setf (aref vec (cl-incf i))
+      (1+ (aref vec (cl-incf i))))   ; wrong!
 @end example
 
 @noindent
@@ -1128,6 +1120,7 @@
 by @var{x} if specified.
 @end defspec
 
address@hidden FIXME move to lispref, add generalized variables.
 @defspec pop place
 This macro removes and returns the first element of the list stored
 in @var{place}.  It is analogous to @code{(prog1 (car @var{place})
@@ -1135,17 +1128,18 @@
 to evaluate all subforms only once.
 @end defspec
 
address@hidden FIXME move to lispref, add generalized variables.
 @defspec push x place
 This macro inserts @var{x} at the front of the list stored in
 @var{place}.  It is analogous to @code{(setf @var{place} (cons
 @var{x} @var{place}))}, except for evaluation of the subforms.
 @end defspec
 
address@hidden pushnew x place @t{&key :test :test-not :key}
address@hidden cl-pushnew x place @t{&key :test :test-not :key}
 This macro inserts @var{x} at the front of the list stored in
 @var{place}, but only if @var{x} was not @code{eql} to any
 existing element of the list.  The optional keyword arguments
-are interpreted in the same way as for @code{adjoin}.
+are interpreted in the same way as for @code{cl-adjoin}.
 @xref{Lists as Sets}.
 @end defspec
 
@@ -1169,9 +1163,9 @@
 evaluated only once each and in the apparent order.
 @end defspec
 
address@hidden rotatef address@hidden
address@hidden cl-rotatef address@hidden
 This macro rotates the @var{place}s left by one in circular fashion.
-Thus, @code{(rotatef @var{a} @var{b} @var{c} @var{d})} is equivalent to
+Thus, @code{(cl-rotatef @var{a} @var{b} @var{c} @var{d})} is equivalent to
 
 @example
 (psetf @var{a} @var{b}
@@ -1181,8 +1175,8 @@
 @end example
 
 @noindent
-except for the evaluation of subforms.  @code{rotatef} always
-returns @code{nil}.  Note that @code{(rotatef @var{a} @var{b})}
+except for the evaluation of subforms.  @code{cl-rotatef} always
+returns @code{nil}.  Note that @code{(cl-rotatef @var{a} @var{b})}
 conveniently exchanges @var{a} and @var{b}.
 @end defspec
 
@@ -1241,40 +1235,40 @@
 @code{makunbound} or @code{fmakunbound} on exit.
 @end defspec
 
address@hidden letf* (address@hidden) address@hidden
address@hidden cl-letf* (address@hidden) address@hidden
 This macro is to @code{letf} what @code{let*} is to @code{let}:
 It does the bindings in sequential rather than parallel order.
 @end defspec
 
address@hidden callf @var{function} @var{place} @address@hidden
address@hidden cl-callf @var{function} @var{place} @address@hidden
 This is the ``generic'' modify macro.  It calls @var{function},
 which should be an unquoted function name, macro name, or lambda.
 It passes @var{place} and @var{args} as arguments, and assigns the
 result back to @var{place}.  For example, @code{(cl-incf @var{place}
address@hidden)} is the same as @code{(callf + @var{place} @var{n})}.
address@hidden)} is the same as @code{(cl-callf + @var{place} @var{n})}.
 Some more examples:
 
 @example
-(callf abs my-number)
-(callf concat (buffer-name) "<" (int-to-string n) ">")
-(callf union happy-people (list joe bob) :test 'same-person)
+(cl-callf abs my-number)
+(cl-callf concat (buffer-name) "<" (number-to-string n) ">")
+(cl-callf cl-union happy-people (list joe bob) :test 'same-person)
 @end example
 
 @xref{Customizing Setf}, for @code{define-modify-macro}, a way
 to create even more concise notations for modify macros.  Note
-again that @code{callf} is an extension to standard Common Lisp.
+again that @code{cl-callf} is an extension to standard Common Lisp.
 @end defspec
 
address@hidden callf2 @var{function} @var{arg1} @var{place} @address@hidden
-This macro is like @code{callf}, except that @var{place} is
address@hidden cl-callf2 @var{function} @var{arg1} @var{place} @address@hidden
+This macro is like @code{cl-callf}, except that @var{place} is
 the @emph{second} argument of @var{function} rather than the
 first.  For example, @code{(push @var{x} @var{place})} is
-equivalent to @code{(callf2 cons @var{x} @var{place})}.
+equivalent to @code{(cl-callf2 cons @var{x} @var{place})}.
 @end defspec
 
-The @code{callf} and @code{callf2} macros serve as building
-blocks for other macros like @code{cl-incf}, @code{pushnew}, and
address@hidden  The @code{letf} and @code{letf*}
+The @code{cl-callf} and @code{cl-callf2} macros serve as building
+blocks for other macros like @code{cl-incf}, @code{cl-pushnew}, and
address@hidden  The @code{letf} and @code{cl-letf*}
 macros are used in the processing of symbol macros;
 @pxref{Macro Bindings}.
 
@@ -1488,10 +1482,6 @@
 an error since the function @code{(setf @var{func})} might be
 defined later.
 
address@hidden
address@hidden
address@hidden iftex
-
 @node Variable Bindings
 @section Variable Bindings
 
@@ -1524,7 +1514,7 @@
 of symbols and values, respectively.  The symbols are bound to the
 corresponding values for the duration of the body @var{form}s.
 If @var{values} is shorter than @var{symbols}, the last few symbols
-are made unbound (as if by @code{makunbound}) inside the body.
+are bound to @code{nil}.
 If @var{symbols} is shorter than @var{values}, the excess values
 are ignored.
 @end defspec
@@ -1655,7 +1645,7 @@
 cells of symbols rather than on the value cells.  Each @var{binding}
 must be a list of the form @samp{(@var{name} @var{arglist}
 @address@hidden)}, which defines a function exactly as if
-it were a @code{defun*} form.  The function @var{name} is defined
+it were a @code{cl-defun} form.  The function @var{name} is defined
 accordingly for the duration of the body of the @code{flet}; then
 the old function definition, or lack thereof, is restored.
 
@@ -1723,7 +1713,7 @@
 @subsection Macro Bindings
 
 @noindent
-These forms create local macros and ``symbol macros.''
+These forms create local macros and ``symbol macros''.
 
 @defspec cl-macrolet (address@hidden) address@hidden
 This form is analogous to @code{flet}, but for macros instead of
@@ -1759,7 +1749,7 @@
 @code{(setf foo 4)}, which in turn expands to @code{(setf (car bar) 4)}.
 
 Likewise, a @code{let} or @code{let*} binding a symbol macro is
-treated like a @code{letf} or @code{letf*}.  This differs from true
+treated like a @code{letf} or @code{cl-letf*}.  This differs from true
 Common Lisp, where the rules of lexical scoping cause a @code{let}
 binding to shadow a @code{cl-symbol-macrolet} binding.  In this package,
 only @code{lexical-let} and @code{lexical-let*} will shadow a symbol
@@ -1773,8 +1763,9 @@
 (cl-defmacro my-dolist ((x list) &rest body)
   (let ((var (gensym)))
     (list 'cl-loop 'for var 'on list 'do
-          (cl-list* 'cl-symbol-macrolet (list (list x (list 'car var)))
-                 body))))
+          (cl-list* 'cl-symbol-macrolet
+                    (list (list x (list 'car var)))
+                    body))))
 
 (setq mylist '(1 2 3 4))
 (my-dolist (x mylist) (cl-incf x))
@@ -1828,7 +1819,7 @@
 where @var{keylist} is a list of key values.  If there is exactly
 one value, and it is not a cons cell or the symbol @code{nil} or
 @code{t}, then it can be used by itself as a @var{keylist} without
-being enclosed in a list.  All key values in the @code{case} form
+being enclosed in a list.  All key values in the @code{cl-case} form
 must be distinct.  The final clauses may use @code{t} in place of
 a @var{keylist} to indicate a default clause that should be taken
 if none of the other clauses match.  (The symbol @code{otherwise}
@@ -1999,7 +1990,7 @@
 expression (as if by a @code{cl-psetq} form) and the next iteration
 begins.  Once the @var{end-test} becomes true, the @var{result}
 forms are evaluated (with the @var{var}s still bound to their
-values) to produce the result returned by @code{do}.
+values) to produce the result returned by @code{cl-do}.
 
 The entire @code{cl-do} loop is enclosed in an implicit @code{nil}
 block, so that you can use @code{(cl-return)} to break out of the
@@ -2007,7 +1998,7 @@
 
 If there are no @var{result} forms, the loop returns @code{nil}.
 If a given @var{var} has no @var{step} form, it is bound to its
address@hidden value but not otherwise modified during the @code{do}
address@hidden value but not otherwise modified during the @code{cl-do}
 loop (unless the code explicitly modifies it); this case is just
 a shorthand for putting a @code{(let ((@var{var} @var{init})) @dots{})}
 around the loop.  If @var{init} is also omitted it defaults to
@@ -2099,7 +2090,7 @@
 obscure, like Common Lisp's @code{do} loop.
 
 To remedy this, recent versions of Common Lisp have added a new
-construct called the ``Loop Facility'' or address@hidden macro,''
+construct called the ``Loop Facility'' or address@hidden macro'',
 with an easy-to-use but very powerful and expressive syntax.
 
 @menu
@@ -2161,7 +2152,7 @@
 @code{collect}, an end-test clause like @code{always}, or an
 explicit @code{return} clause to jump out of the implicit block.
 (Because the loop body is enclosed in an implicit block, you can
-also use regular Lisp @code{return} or @code{return-from} to
+also use regular Lisp @code{cl-return} or @code{cl-return-from} to
 break out of the loop.)
 @end defspec
 
@@ -2185,7 +2176,7 @@
 
 @noindent
 This loop iterates over all Emacs buffers, using the list
-returned by @code{buffer-list}.  For each buffer @code{buf},
+returned by @code{buffer-list}.  For each buffer @var{buf},
 it calls @code{buffer-file-name} and collects the results into
 a list, which is then returned from the @code{cl-loop} construct.
 The result is a list of the file names of all the buffers in
@@ -2818,6 +2809,7 @@
 the loop would never get to ``loop'' more than once.
 
 The clause @samp{return @var{form}} is equivalent to
address@hidden FIXME cl-do, cl-return?
 @samp{do (return @var{form})} (or @code{return-from} if the loop
 was named).  The @code{return} clause is implemented a bit more
 efficiently, though.
@@ -3061,7 +3053,8 @@
 
 @example
 (cl-declaim (inline foo bar))
-(cl-eval-when (compile load eval) (cl-proclaim '(inline foo bar)))
+(cl-eval-when (compile load eval)
+  (cl-proclaim '(inline foo bar)))
 (defsubst foo (...) ...)       ; instead of defun
 @end example
 
@@ -3091,7 +3084,7 @@
 @code{(speed 3)} or @code{(safety 2)}.  Common Lisp defines several
 optimization ``qualities''; this package ignores all but @code{speed}
 and @code{safety}.  The value of a quality should be an integer from
-0 to 3, with 0 meaning ``unimportant'' and 3 meaning ``very important.''
+0 to 3, with 0 meaning ``unimportant'' and 3 meaning ``very important''.
 The default level for both qualities is 1.
 
 In this package, with the optimizing compiler, the
@@ -3125,7 +3118,7 @@
 This declaration controls what sorts of warnings are generated
 by the byte compiler.  Again, only the optimizing compiler
 generates warnings.  The word @code{warn} is followed by any
-number of ``warning qualities,'' similar in form to optimization
+number of ``warning qualities'', similar in form to optimization
 qualities.  The currently supported warning types are
 @code{redefine}, @code{callargs}, @code{unresolved}, and
 @code{free-vars}; in the current system, a value of 0 will
@@ -3227,10 +3220,6 @@
 out the property and value cells.
 @end defspec
 
address@hidden
address@hidden
address@hidden iftex
-
 @node Creating Symbols
 @section Creating Symbols
 
@@ -3289,10 +3278,6 @@
 * Implementation Parameters::   @code{cl-most-positive-float}.
 @end menu
 
address@hidden
address@hidden
address@hidden iftex
-
 @node Predicates on Numbers
 @section Predicates on Numbers
 
@@ -3326,10 +3311,6 @@
 to @code{floatp}.  On other systems, this always returns @code{nil}.
 @end defun
 
address@hidden
address@hidden
address@hidden iftex
-
 @node Numerical Functions
 @section Numerical Functions
 
@@ -3412,10 +3393,6 @@
 of @code{cl-truncate}.
 @end defun
 
address@hidden
address@hidden
address@hidden iftex
-
 @node Random Numbers
 @section Random Numbers
 
@@ -3433,7 +3410,7 @@
 which holds the state of the random number generator.  The
 function modifies this state object as a side effect.  If
 @var{state} is omitted, it defaults to the variable
address@hidden, which contains a pre-initialized
address@hidden, which contains a pre-initialized
 @code{random-state} object.
 @end defun
 
@@ -3683,7 +3660,7 @@
 @var{result-type} rather than a list.  @var{result-type} must
 be one of the following symbols: @code{vector}, @code{string},
 @code{list} (in which case the effect is the same as for
address@hidden), or @code{nil} (in which case the results are
address@hidden), or @code{nil} (in which case the results are
 thrown away and @code{cl-map} returns @code{nil}).
 @end defun
 
@@ -3914,9 +3891,10 @@
 @findex cl-substitute-if-not
 @findex cl-nsubstitute-if
 @findex cl-nsubstitute-if-not
-The @code{cl-substitute-if}, @code{cl-substitute-if-not}, 
@code{cl-nsubstitute-if},
-and @code{cl-nsubstitute-if-not} functions are defined similarly.  For
-these, a @var{predicate} is given in place of the @var{old} argument.
+The functions @code{cl-substitute-if}, @code{cl-substitute-if-not},
address@hidden, and @code{cl-nsubstitute-if-not} are defined
+similarly.  For these, a @var{predicate} is given in place of the
address@hidden argument.
 
 @node Searching Sequences
 @section Searching Sequences
@@ -4145,10 +4123,6 @@
 applied to the elements of both trees.  @xref{Sequences}.
 @end defun
 
address@hidden
address@hidden
address@hidden iftex
-
 @node Substitution of Expressions
 @section Substitution of Expressions
 
@@ -4384,7 +4358,7 @@
 which takes keyword arguments @code{:name}, @code{:age}, and
 @code{:sex} to specify the initial values of these slots in the
 new object.  (Omitting any of these arguments leaves the corresponding
-slot ``undefined,'' according to the Common Lisp standard; in Emacs
+slot ``undefined'', according to the Common Lisp standard; in Emacs
 Lisp, such uninitialized slots are filled with @code{nil}.)
 
 Given a @code{person}, @code{(copy-person @var{p})} makes a new
@@ -4465,10 +4439,6 @@
 The following structure options are recognized.
 
 @table @code
address@hidden
address@hidden in
address@hidden@address@hidden
address@hidden iftex
 @item :conc-name
 The argument is a symbol whose print name is used as the prefix for
 the names of slot accessor functions.  The default is the name of
@@ -4508,7 +4478,8 @@
 (cl-defstruct
     (person
      (:constructor nil)   ; no default constructor
-     (:constructor new-person (name sex &optional (age 0)))
+     (:constructor new-person
+                   (name sex &optional (age 0)))
      (:constructor new-hound (&key (name "Rover")
                                    (dog-years 0)
                               &aux (age (* 7 dog-years))
@@ -4519,7 +4490,7 @@
 The first constructor here takes its arguments positionally rather
 than by keyword.  (In official Common Lisp terminology, constructors
 that work By Order of Arguments instead of by keyword are called
-``BOA constructors.''  No, I'm not making this up.)  For example,
+``BOA constructors''.  No, I'm not making this up.)  For example,
 @code{(new-person "Jane" 'female)} generates a person whose slots
 are @code{"Jane"}, 0, and @code{female}, respectively.
 
@@ -4545,7 +4516,7 @@
 
 In true Common Lisp, @code{typep} is always able to recognize a
 structure object even if @code{:predicate} was used.  In this
-package, @code{typep} simply looks for a function called
+package, @code{cl-typep} simply looks for a function called
 @address@hidden, so it will work for structure types
 only if they used the default predicate name.
 
@@ -4778,7 +4749,7 @@
 a nicely formatted copy of it in the current buffer (which must be
 in Lisp mode so that indentation works properly).  It also expands
 all Lisp macros which appear in the form.  The easiest way to use
-this function is to go to the @code{*scratch*} buffer and type, say,
+this function is to go to the @file{*scratch*} buffer and type, say,
 
 @example
 (cl-prettyexpand '(loop for x below 10 collect x))
@@ -4998,8 +4969,8 @@
 is called.
 
 (This package avoids such problems in its own mapping functions
-by using names like @code{cl-x} instead of @code{x} internally;
-as long as you don't use the @code{cl-} prefix for your own
+by using names like @code{cl--x} instead of @code{x} internally;
+as long as you don't use this prefix for your own
 variables no collision can occur.)
 
 @xref{Lexical Bindings}, for a description of the @code{lexical-let}
@@ -5044,7 +5015,7 @@
 programs which refer to a symbol by the full name sometimes
 and the short name other times will not port cleanly to Emacs.
 
-Emacs Lisp does have a concept of ``obarrays,'' which are
+Emacs Lisp does have a concept of ``obarrays'', which are
 package-like collections of symbols, but this feature is not
 strong enough to be used as a true package mechanism.
 
@@ -5064,10 +5035,10 @@
 conversion, and even loops and conditionals.
 
 While it would have been possible to implement most of Common
-Lisp @code{format} in this package (under the name @code{format*},
+Lisp @code{format} in this package (under the name @code{cl-format},
 of course), it was not deemed worthwhile.  It would have required
 a huge amount of code to implement even a decent subset of
address@hidden, yet the functionality it would provide over
address@hidden, yet the functionality it would provide over
 Emacs Lisp's @code{format} would rarely be useful.
 
 @item

=== modified file 'etc/NEWS'
--- a/etc/NEWS  2012-10-24 14:38:49 +0000
+++ b/etc/NEWS  2012-10-25 00:58:40 +0000
@@ -332,6 +332,7 @@
 to the `lexical-let' machinery used previously) to capture definitions in
 closures, so such closures will only work if `lexical-binding' is in use.
 
++++
 *** `progv' was rewritten to use the `let' machinery.
 A side effect is that vars without corresponding value are bound to nil
 rather than making them unbound.

=== modified file 'lisp/ChangeLog'
--- a/lisp/ChangeLog    2012-10-24 19:40:23 +0000
+++ b/lisp/ChangeLog    2012-10-25 00:58:40 +0000
@@ -1,3 +1,7 @@
+2012-10-25  Glenn Morris  <address@hidden>
+
+       * emacs-lisp/cl-macs.el (cl-progv): Doc fix.
+
 2012-10-24  Stefan Monnier  <address@hidden>
 
        * minibuffer.el (minibuffer-force-complete): Use one more marker

=== modified file 'lisp/emacs-lisp/cl-macs.el'
--- a/lisp/emacs-lisp/cl-macs.el        2012-10-11 20:36:23 +0000
+++ b/lisp/emacs-lisp/cl-macs.el        2012-10-25 00:58:40 +0000
@@ -1603,7 +1603,7 @@
   "Bind SYMBOLS to VALUES dynamically in BODY.
 The forms SYMBOLS and VALUES are evaluated, and must evaluate to lists.
 Each symbol in the first list is bound to the corresponding value in the
-second list (or made unbound if VALUES is shorter than SYMBOLS); then the
+second list (or to nil if VALUES is shorter than SYMBOLS); then the
 BODY forms are executed and their result is returned.  This is much like
 a `let' form, except that the list of symbols can be computed at run-time."
   (declare (indent 2) (debug (form form body)))


reply via email to

[Prev in Thread] Current Thread [Next in Thread]