Mercurial > hg > xemacs-beta
comparison src/bytecode.c @ 16:0293115a14e9 r19-15b91
Import from CVS: tag r19-15b91
author | cvs |
---|---|
date | Mon, 13 Aug 2007 08:49:20 +0200 |
parents | 376386a54a3c |
children | 859a2309aef8 |
comparison
equal
deleted
inserted
replaced
15:ad457d5f7d04 | 16:0293115a14e9 |
---|---|
317 format for easier processing. */ | 317 format for easier processing. */ |
318 massaged_code = | 318 massaged_code = |
319 (Emchar *) alloca (sizeof (Emchar) * | 319 (Emchar *) alloca (sizeof (Emchar) * |
320 (1 + string_char_length (XSTRING (bytestr)))); | 320 (1 + string_char_length (XSTRING (bytestr)))); |
321 massaged_code_len = | 321 massaged_code_len = |
322 convert_bufbyte_string_into_emchar_string (string_data (XSTRING (bytestr)), | 322 convert_bufbyte_string_into_emchar_string (XSTRING_DATA (bytestr), |
323 string_length (XSTRING (bytestr)), | 323 XSTRING_LENGTH (bytestr), |
324 massaged_code); | 324 massaged_code); |
325 massaged_code[massaged_code_len] = 0; | 325 massaged_code[massaged_code_len] = 0; |
326 pc = 0; | 326 pc = 0; |
327 #else /* !V20_SLOW_WAY */ | 327 #else /* !V20_SLOW_WAY */ |
328 /* Initialize the pc-pointer by fetching from the string. */ | 328 /* Initialize the pc-pointer by fetching from the string. */ |
444 { | 444 { |
445 XSETINT (v2, XINT (v2) + 1); | 445 XSETINT (v2, XINT (v2) + 1); |
446 Fput (v1, Qbyte_code_meter, v2); | 446 Fput (v1, Qbyte_code_meter, v2); |
447 } | 447 } |
448 } | 448 } |
449 #endif | 449 #endif /* BYTE_CODE_METER */ |
450 TOP = Ffuncall (op + 1, &TOP); | 450 TOP = Ffuncall (op + 1, &TOP); |
451 break; | 451 break; |
452 | 452 |
453 case Bunbind+6: | 453 case Bunbind+6: |
454 op = FETCH; | 454 op = FETCH; |
654 v2 = POP; /* bodyform */ | 654 v2 = POP; /* bodyform */ |
655 TOP = Fcondition_case_3 (v2, TOP, v1); | 655 TOP = Fcondition_case_3 (v2, TOP, v1); |
656 break; | 656 break; |
657 | 657 |
658 case Btemp_output_buffer_setup: | 658 case Btemp_output_buffer_setup: |
659 temp_output_buffer_setup ((char *) string_data (XSTRING (TOP))); | 659 temp_output_buffer_setup ((char *) XSTRING_DATA (TOP)); |
660 TOP = Vstandard_output; | 660 TOP = Vstandard_output; |
661 break; | 661 break; |
662 | 662 |
663 case Btemp_output_buffer_show: | 663 case Btemp_output_buffer_show: |
664 v1 = POP; | 664 v1 = POP; |
860 f1 = (FLOATP (v1) ? float_data (XFLOAT (v1)) : XINT (v1)); | 860 f1 = (FLOATP (v1) ? float_data (XFLOAT (v1)) : XINT (v1)); |
861 f2 = (FLOATP (v2) ? float_data (XFLOAT (v2)) : XINT (v2)); | 861 f2 = (FLOATP (v2) ? float_data (XFLOAT (v2)) : XINT (v2)); |
862 TOP = (f1 == f2 ? Qt : Qnil); | 862 TOP = (f1 == f2 ? Qt : Qnil); |
863 } | 863 } |
864 else | 864 else |
865 #endif | 865 #endif /* LISP_FLOAT_TYPE */ |
866 TOP = (XINT (v1) == XINT (v2) ? Qt : Qnil); | 866 TOP = (XINT (v1) == XINT (v2) ? Qt : Qnil); |
867 break; | 867 break; |
868 | 868 |
869 case Bgtr: | 869 case Bgtr: |
870 v1 = POP; | 870 v1 = POP; |
1040 break; | 1040 break; |
1041 | 1041 |
1042 case Bchar_syntax: | 1042 case Bchar_syntax: |
1043 CHECK_CHAR_COERCE_INT (TOP); | 1043 CHECK_CHAR_COERCE_INT (TOP); |
1044 TOP = make_char (syntax_code_spec | 1044 TOP = make_char (syntax_code_spec |
1045 [(int) SYNTAX (current_buffer->syntax_table, | 1045 [(int) SYNTAX |
1046 XCHAR (TOP))]); | 1046 (current_buffer->syntax_table, |
1047 XCHAR (TOP))]); | |
1047 break; | 1048 break; |
1048 | 1049 |
1049 case Bbuffer_substring: | 1050 case Bbuffer_substring: |
1050 v1 = POP; | 1051 v1 = POP; |
1051 TOP = Fbuffer_substring (TOP, v1, Fcurrent_buffer ()); | 1052 TOP = Fbuffer_substring (TOP, v1, Fcurrent_buffer ()); |