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
1342fc6f
Commit
1342fc6f
authored
Aug 07, 2002
by
Richard M. Stallman
Browse files
(mark_object): Detect long lists for debugging.
(mark_object_loop_halt): New variable.
parent
3622bdf9
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
11 additions
and
0 deletions
+11
-0
src/alloc.c
src/alloc.c
+11
-0
No files found.
src/alloc.c
View file @
1342fc6f
...
...
@@ -4427,6 +4427,12 @@ mark_image_cache (f)
Lisp_Object
*
last_marked
[
LAST_MARKED_SIZE
];
int
last_marked_index
;
/* For debugging--call abort when we cdr down this many
links of a list, in mark_object. In debugging,
the call to abort will hit a breakpoint.
Normally this is zero and the check never goes off. */
int
mark_object_loop_halt
;
void
mark_object
(
argptr
)
Lisp_Object
*
argptr
;
...
...
@@ -4437,6 +4443,7 @@ mark_object (argptr)
void
*
po
;
struct
mem_node
*
m
;
#endif
int
cdr_count
=
0
;
loop:
obj
=
*
objptr
;
...
...
@@ -4790,10 +4797,14 @@ mark_object (argptr)
if
(
EQ
(
ptr
->
cdr
,
Qnil
))
{
objptr
=
&
ptr
->
car
;
cdr_count
=
0
;
goto
loop
;
}
mark_object
(
&
ptr
->
car
);
objptr
=
&
ptr
->
cdr
;
cdr_count
++
;
if
(
cdr_count
==
mark_object_loop_halt
)
abort
();
goto
loop
;
}
...
...
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