* lisp/subr.el (dotimes): Deprecate RESULT field. (Bug#16206)
* doc/lispref/control.texi (Iteration): * doc/misc/cl.texi (Iteration): Document deprecation of its use. * doc/lispintro/emacs-lisp-intro.texi (dotimes): * test/src/emacs-module-tests.el (multiply-string): * test/lisp/filenotify-tests.el (file-notify-test07-many-events): Place RESULT field after the form.
This commit is contained in:
parent
0b3bc05d15
commit
f4eeb0f5ae
6 changed files with 25 additions and 20 deletions
|
@ -11013,9 +11013,8 @@ The @code{dotimes} macro is similar to @code{dolist}, except that it
|
|||
loops a specific number of times.
|
||||
|
||||
The first argument to @code{dotimes} is assigned the numbers 0, 1, 2
|
||||
and so forth each time around the loop, and the value of the third
|
||||
argument is returned. You need to provide the value of the second
|
||||
argument, which is how many times the macro loops.
|
||||
and so forth each time around the loop. You need to provide the value
|
||||
of the second argument, which is how many times the macro loops.
|
||||
|
||||
@need 1250
|
||||
For example, the following binds the numbers from 0 up to, but not
|
||||
|
@ -11027,17 +11026,18 @@ three numbers in all, starting with zero as the first number.)
|
|||
@smallexample
|
||||
@group
|
||||
(let (value) ; otherwise a value is a void variable
|
||||
(dotimes (number 3 value)
|
||||
(setq value (cons number value))))
|
||||
(dotimes (number 3)
|
||||
(setq value (cons number value)))
|
||||
value)
|
||||
|
||||
@result{} (2 1 0)
|
||||
@end group
|
||||
@end smallexample
|
||||
|
||||
@noindent
|
||||
@code{dotimes} returns @code{value}, so the way to use
|
||||
@code{dotimes} is to operate on some expression @var{number} number of
|
||||
times and then return the result, either as a list or an atom.
|
||||
The way to use @code{dotimes} is to operate on some expression
|
||||
@var{number} number of times and then return the result, either as
|
||||
a list or an atom.
|
||||
|
||||
@need 1250
|
||||
Here is an example of a @code{defun} that uses @code{dotimes} to add
|
||||
|
@ -11048,8 +11048,9 @@ up the number of pebbles in a triangle.
|
|||
(defun triangle-using-dotimes (number-of-rows)
|
||||
"Using `dotimes', add up the number of pebbles in a triangle."
|
||||
(let ((total 0)) ; otherwise a total is a void variable
|
||||
(dotimes (number number-of-rows total)
|
||||
(setq total (+ total (1+ number))))))
|
||||
(dotimes (number number-of-rows)
|
||||
(setq total (+ total (1+ number))))
|
||||
total))
|
||||
|
||||
(triangle-using-dotimes 4)
|
||||
@end group
|
||||
|
|
|
@ -703,7 +703,8 @@ This construct executes @var{body} once for each integer from 0
|
|||
(inclusive) to @var{count} (exclusive), binding the variable @var{var}
|
||||
to the integer for the current iteration. Then it returns the value
|
||||
of evaluating @var{result}, or @code{nil} if @var{result} is omitted.
|
||||
Here is an example of using @code{dotimes} to do something 100 times:
|
||||
Use of @var{result} is deprecated. Here is an example of using
|
||||
@code{dotimes} to do something 100 times:
|
||||
|
||||
@example
|
||||
(dotimes (i 100)
|
||||
|
|
|
@ -1712,9 +1712,9 @@ but surrounds the loop with an implicit @code{nil} block.
|
|||
The body is executed with @var{var} bound to the integers
|
||||
from zero (inclusive) to @var{count} (exclusive), in turn. Then
|
||||
@c FIXME lispref does not state this part explicitly, could move this there.
|
||||
the @code{result} form is evaluated with @var{var} bound to the total
|
||||
the @var{result} form is evaluated with @var{var} bound to the total
|
||||
number of iterations that were done (i.e., @code{(max 0 @var{count})})
|
||||
to get the return value for the loop form.
|
||||
to get the return value for the loop form. Use of @var{result} is deprecated.
|
||||
@end defmac
|
||||
|
||||
@defmac cl-do-symbols (var [obarray [result]]) forms@dots{}
|
||||
|
|
|
@ -223,7 +223,7 @@ Then evaluate RESULT to get return value, default nil.
|
|||
"Loop a certain number of times.
|
||||
Evaluate BODY with VAR bound to successive integers running from 0,
|
||||
inclusive, to COUNT, exclusive. Then evaluate RESULT to get
|
||||
the return value (nil if RESULT is omitted).
|
||||
the return value (nil if RESULT is omitted). Its use is deprecated.
|
||||
|
||||
\(fn (VAR COUNT [RESULT]) BODY...)"
|
||||
(declare (indent 1) (debug dolist))
|
||||
|
|
|
@ -1129,14 +1129,16 @@ delivered."
|
|||
;; w32notify fires both `deleted' and `renamed' events.
|
||||
((string-equal (file-notify--test-library) "w32notify")
|
||||
(let (r)
|
||||
(dotimes (_i n r)
|
||||
(setq r (append '(deleted renamed) r)))))
|
||||
(dotimes (_i n)
|
||||
(setq r (append '(deleted renamed) r)))
|
||||
r))
|
||||
;; cygwin fires `changed' and `deleted' events, sometimes
|
||||
;; in random order.
|
||||
((eq system-type 'cygwin)
|
||||
(let (r)
|
||||
(dotimes (_i n (cons :random r))
|
||||
(setq r (append '(changed deleted) r)))))
|
||||
(dotimes (_i n)
|
||||
(setq r (append '(changed deleted) r)))
|
||||
(cons :random r)))
|
||||
(t (make-list n 'renamed)))
|
||||
(let ((source-file-list source-file-list)
|
||||
(target-file-list target-file-list))
|
||||
|
|
|
@ -138,8 +138,9 @@ changes."
|
|||
|
||||
(defun multiply-string (s n)
|
||||
(let ((res ""))
|
||||
(dotimes (i n res)
|
||||
(setq res (concat res s)))))
|
||||
(dotimes (i n)
|
||||
(setq res (concat res s)))
|
||||
res))
|
||||
|
||||
(ert-deftest mod-test-globref-make-test ()
|
||||
(let ((mod-str (mod-test-globref-make))
|
||||
|
|
Loading…
Add table
Reference in a new issue