From 83be827addf1541b709f80e9f0fc0d0e9ba317e3 Mon Sep 17 00:00:00 2001 From: Kenichi Handa Date: Fri, 1 Mar 2002 01:06:01 +0000 Subject: Include "character.h" instead of "charset.h". --- src/bytecode.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/bytecode.c') diff --git a/src/bytecode.c b/src/bytecode.c index f24132dae25..6c4e34ddaa7 100644 --- a/src/bytecode.c +++ b/src/bytecode.c @@ -37,7 +37,7 @@ by Hallvard: #include #include "lisp.h" #include "buffer.h" -#include "charset.h" +#include "character.h" #include "syntax.h" #ifdef CHECK_FRAME_FONT -- cgit v1.2.1 From 9281d0779766a39f743240e33dd46a1accf0f7fa Mon Sep 17 00:00:00 2001 From: Kenichi Handa Date: Tue, 3 Sep 2002 04:06:33 +0000 Subject: (Fbyte_code): Convert a unibyte character to multibyte if necessary. --- src/bytecode.c | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) (limited to 'src/bytecode.c') diff --git a/src/bytecode.c b/src/bytecode.c index 6c4e34ddaa7..df6eb266eb9 100644 --- a/src/bytecode.c +++ b/src/bytecode.c @@ -1433,10 +1433,17 @@ If the third argument is incorrect, Emacs may crash. */) break; case Bchar_syntax: - BEFORE_POTENTIAL_GC (); - CHECK_NUMBER (TOP); - AFTER_POTENTIAL_GC (); - XSETFASTINT (TOP, syntax_code_spec[(int) SYNTAX (XINT (TOP))]); + { + int c; + + BEFORE_POTENTIAL_GC (); + CHECK_CHARACTER (TOP); + AFTER_POTENTIAL_GC (); + c = XFASTINT (TOP); + if (NILP (current_buffer->enable_multibyte_characters)) + MAKE_CHAR_MULTIBYTE (c); + XSETFASTINT (TOP, syntax_code_spec[(int) SYNTAX (c)]); + } break; case Bbuffer_substring: -- cgit v1.2.1 From 463f5630a5e7cbe7f042bc1175d1fa1c4e98860f Mon Sep 17 00:00:00 2001 From: Kenichi Handa Date: Mon, 8 Sep 2003 11:56:09 +0000 Subject: New directory --- src/bytecode.c | 3 --- 1 file changed, 3 deletions(-) (limited to 'src/bytecode.c') diff --git a/src/bytecode.c b/src/bytecode.c index a4ade9650ec..141f5adda84 100644 --- a/src/bytecode.c +++ b/src/bytecode.c @@ -1775,6 +1775,3 @@ integer, it is incremented each time that symbol's function is called. */); } #endif } - -/* arch-tag: b9803b6f-1ed6-4190-8adf-33fd3a9d10e9 - (do not change this comment) */ -- cgit v1.2.1 From 6b61353c0a0320ee15bb6488149735381fed62ec Mon Sep 17 00:00:00 2001 From: Kenichi Handa Date: Fri, 16 Apr 2004 12:51:06 +0000 Subject: Sync to HEAD --- src/bytecode.c | 32 +++++++------------------------- 1 file changed, 7 insertions(+), 25 deletions(-) (limited to 'src/bytecode.c') diff --git a/src/bytecode.c b/src/bytecode.c index f3a07dced35..659f79bca08 100644 --- a/src/bytecode.c +++ b/src/bytecode.c @@ -286,27 +286,13 @@ mark_byte_stack () The culprit is found in the frame of Fbyte_code where the address of its local variable `stack' is equal to the recorded value of `stack' here. */ - if (!stack->top) - abort (); + eassert (stack->top); for (obj = stack->bottom; obj <= stack->top; ++obj) - if (!XMARKBIT (*obj)) - { - mark_object (*obj); - XMARK (*obj); - } + mark_object (*obj); - if (!XMARKBIT (stack->byte_string)) - { - mark_object (stack->byte_string); - XMARK (stack->byte_string); - } - - if (!XMARKBIT (stack->constants)) - { - mark_object (stack->constants); - XMARK (stack->constants); - } + mark_object (stack->byte_string); + mark_object (stack->constants); } } @@ -318,16 +304,9 @@ void unmark_byte_stack () { struct byte_stack *stack; - Lisp_Object *obj; for (stack = byte_stack_list; stack; stack = stack->next) { - for (obj = stack->bottom; obj <= stack->top; ++obj) - XUNMARK (*obj); - - XUNMARK (stack->byte_string); - XUNMARK (stack->constants); - if (stack->byte_string_start != SDATA (stack->byte_string)) { int offset = stack->pc - stack->byte_string_start; @@ -1782,3 +1761,6 @@ integer, it is incremented each time that symbol's function is called. */); } #endif } + +/* arch-tag: b9803b6f-1ed6-4190-8adf-33fd3a9d10e9 + (do not change this comment) */ -- cgit v1.2.1