[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] /srv/bzr/emacs/trunk r103781: * src/bytecode.c (Fbyte_code
From: |
Stefan Monnier |
Subject: |
[Emacs-diffs] /srv/bzr/emacs/trunk r103781: * src/bytecode.c (Fbyte_code): CAR and CDR can GC. |
Date: |
Wed, 30 Mar 2011 14:04:11 -0400 |
User-agent: |
Bazaar (2.0.3) |
------------------------------------------------------------
revno: 103781
committer: Stefan Monnier <address@hidden>
branch nick: trunk
timestamp: Wed 2011-03-30 14:04:11 -0400
message:
* src/bytecode.c (Fbyte_code): CAR and CDR can GC.
modified:
src/ChangeLog
src/bytecode.c
=== modified file 'src/ChangeLog'
--- a/src/ChangeLog 2011-03-30 13:35:37 +0000
+++ b/src/ChangeLog 2011-03-30 18:04:11 +0000
@@ -1,3 +1,7 @@
+2011-03-30 Stefan Monnier <address@hidden>
+
+ * bytecode.c (Fbyte_code): CAR and CDR can GC.
+
2011-03-30 Zachary Kanfer <address@hidden> (tiny change)
* keyboard.c (Fexecute_extended_command): Do log the "suggest key
=== modified file 'src/bytecode.c'
--- a/src/bytecode.c 2011-03-17 02:18:00 +0000
+++ b/src/bytecode.c 2011-03-30 18:04:11 +0000
@@ -554,7 +554,16 @@
{
Lisp_Object v1;
v1 = TOP;
- TOP = CAR (v1);
+ if (CONSP (v1))
+ TOP = XCAR (v1);
+ else if (NILP (v1))
+ TOP = Qnil;
+ else
+ {
+ BEFORE_POTENTIAL_GC ();
+ wrong_type_argument (Qlistp, v1);
+ AFTER_POTENTIAL_GC ();
+ }
break;
}
@@ -580,7 +589,17 @@
{
Lisp_Object v1;
v1 = TOP;
- TOP = CDR (v1);
+ if (CONSP (v1))
+ TOP = XCDR (v1);
+ else if (NILP (v1))
+ TOP = Qnil;
+ else
+ {
+ BEFORE_POTENTIAL_GC ();
+ wrong_type_argument (Qlistp, v1);
+ AFTER_POTENTIAL_GC ();
+ }
+ break;
break;
}
@@ -911,13 +930,13 @@
v1 = POP;
v2 = TOP;
CHECK_NUMBER (v2);
- AFTER_POTENTIAL_GC ();
op = XINT (v2);
immediate_quit = 1;
while (--op >= 0 && CONSP (v1))
v1 = XCDR (v1);
immediate_quit = 0;
TOP = CAR (v1);
+ AFTER_POTENTIAL_GC ();
break;
}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] /srv/bzr/emacs/trunk r103781: * src/bytecode.c (Fbyte_code): CAR and CDR can GC.,
Stefan Monnier <=