diff options
Diffstat (limited to 'src/bytecode.c')
| -rw-r--r-- | src/bytecode.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/bytecode.c b/src/bytecode.c index 8e0f3d3e4b2..75f1a6b43e5 100644 --- a/src/bytecode.c +++ b/src/bytecode.c | |||
| @@ -1564,15 +1564,17 @@ exec_byte_code (Lisp_Object bytestr, Lisp_Object vector, Lisp_Object maxdepth, | |||
| 1564 | 1564 | ||
| 1565 | exit: | 1565 | exit: |
| 1566 | 1566 | ||
| 1567 | eassert (SDATA (bytestr) == bytestr_data); | 1567 | #if BYTE_CODE_SAFE || !defined NDEBUG |
| 1568 | |||
| 1569 | /* Binds and unbinds are supposed to be compiled balanced. */ | ||
| 1570 | if (SPECPDL_INDEX () != count) | 1568 | if (SPECPDL_INDEX () != count) |
| 1571 | { | 1569 | { |
| 1570 | /* Binds and unbinds are supposed to be compiled balanced. */ | ||
| 1572 | if (SPECPDL_INDEX () > count) | 1571 | if (SPECPDL_INDEX () > count) |
| 1573 | unbind_to (count, Qnil); | 1572 | unbind_to (count, Qnil); |
| 1574 | error ("binding stack not balanced (serious byte compiler bug)"); | 1573 | error ("binding stack not balanced (serious byte compiler bug)"); |
| 1575 | } | 1574 | } |
| 1575 | #endif | ||
| 1576 | /* The byte code should have been properly pinned. */ | ||
| 1577 | eassert (SDATA (bytestr) == bytestr_data); | ||
| 1576 | 1578 | ||
| 1577 | Lisp_Object result = TOP; | 1579 | Lisp_Object result = TOP; |
| 1578 | SAFE_FREE (); | 1580 | SAFE_FREE (); |