aboutsummaryrefslogtreecommitdiffstats
path: root/src/bytecode.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/bytecode.c')
-rw-r--r--src/bytecode.c17
1 files changed, 12 insertions, 5 deletions
diff --git a/src/bytecode.c b/src/bytecode.c
index 141f5adda84..f3a07dced35 100644
--- a/src/bytecode.c
+++ b/src/bytecode.c
@@ -37,7 +37,7 @@ by Hallvard:
37#include <config.h> 37#include <config.h>
38#include "lisp.h" 38#include "lisp.h"
39#include "buffer.h" 39#include "buffer.h"
40#include "charset.h" 40#include "character.h"
41#include "syntax.h" 41#include "syntax.h"
42#include "window.h" 42#include "window.h"
43 43
@@ -1437,10 +1437,17 @@ If the third argument is incorrect, Emacs may crash. */)
1437 break; 1437 break;
1438 1438
1439 case Bchar_syntax: 1439 case Bchar_syntax:
1440 BEFORE_POTENTIAL_GC (); 1440 {
1441 CHECK_NUMBER (TOP); 1441 int c;
1442 AFTER_POTENTIAL_GC (); 1442
1443 XSETFASTINT (TOP, syntax_code_spec[(int) SYNTAX (XINT (TOP))]); 1443 BEFORE_POTENTIAL_GC ();
1444 CHECK_CHARACTER (TOP);
1445 AFTER_POTENTIAL_GC ();
1446 c = XFASTINT (TOP);
1447 if (NILP (current_buffer->enable_multibyte_characters))
1448 MAKE_CHAR_MULTIBYTE (c);
1449 XSETFASTINT (TOP, syntax_code_spec[(int) SYNTAX (c)]);
1450 }
1444 break; 1451 break;
1445 1452
1446 case Bbuffer_substring: 1453 case Bbuffer_substring: