[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: C-g while exiting the minibuffer
From: |
Stefan Monnier |
Subject: |
Re: C-g while exiting the minibuffer |
Date: |
Thu, 28 Nov 2013 20:38:16 -0500 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (gnu/linux) |
Found it:
revno: 39564
committer: Gerd Moellmann <address@hidden>
timestamp: Fri 2001-10-05 09:48:47 +0000
message:
(LIST_END_P, FOREACH): New macros.
/* Loop over Lisp list LIST. Signal an error if LIST is not a proper
list, or if it contains circles.
HARE and TORTOISE should be the names of Lisp_Object variables, and
N should be the name of an EMACS_INT variable declared in the
function where the macro is used. Each nested loop should use
its own variables.
In the loop body, HARE is set to each cons of LIST, and N is the
length of the list processed so far. */
#define LIST_END_P(list, obj) \
(NILP (obj) \
? 1 \
: (CONSP (obj) \
? 0 \
: (wrong_type_argument (Qlistp, (list), 0)), 1))
#define FOREACH(hare, list, tortoise, n) \
for (tortoise = hare = (list), n = 0; \
!LIST_END_P (list, hare); \
(hare = XCDR (hare), ++n, \
((n & 1) != 0 \
? (tortoise = XCDR (tortoise), \
(EQ (hare, tortoise) \
&& (circular_list_error ((list)), 1))) \
: 0)))
Died in 2011:
revno: 103880.1.17
committer: Paul Eggert <address@hidden>
branch nick: atest
timestamp: Mon 2011-04-11 22:17:33 -0700
message:
* lisp.h (circular_list_error, FOREACH): Remove; unused.
-- Stefan