From c75b5b2fac4fa4144c3b1efe37449e6e3339322d Mon Sep 17 00:00:00 2001 From: matz Date: Thu, 4 Nov 1999 08:39:57 +0000 Subject: [PATCH] 19991104 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_4@557 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ext/tcltklib/extconf.rb | 2 ++ ext/tk/lib/tkfont.rb | 15 ++++++++++++++- intern.h | 6 ++++++ io.c | 6 +++--- regex.c | 3 ++- string.c | 3 ++- 6 files changed, 29 insertions(+), 6 deletions(-) diff --git a/ext/tcltklib/extconf.rb b/ext/tcltklib/extconf.rb index e1086855ba..713cc811e5 100644 --- a/ext/tcltklib/extconf.rb +++ b/ext/tcltklib/extconf.rb @@ -21,6 +21,7 @@ def find_tcl(tcllib) find_library(tcllib, func, *paths) else find_library("tcl", func, *paths) or + find_library("tcl8.2", func, *paths) or find_library("tcl8.0", func, *paths) or find_library("tcl7.6", func, *paths) end @@ -33,6 +34,7 @@ def find_tk(tklib) find_library(tklib, func, *paths) else find_library("tk", func, *paths) or + find_library("tk8.2", func, *paths) or find_library("tk8.0", func, *paths) or find_library("tk4.2", func, *paths) end diff --git a/ext/tk/lib/tkfont.rb b/ext/tk/lib/tkfont.rb index c680d166e7..2683260d69 100644 --- a/ext/tk/lib/tkfont.rb +++ b/ext/tk/lib/tkfont.rb @@ -667,7 +667,20 @@ class TkFont alias measure_core measure_core_tk8x alias metrics_core metrics_core_tk8x - when /^8\.1/ + when /^8\.[12]/ + alias create_latinfont create_latinfont_tk8x + alias create_kanjifont create_kanjifont_tk81 + alias create_compoundfont create_compoundfont_tk81 + alias actual_core actual_core_tk8x + alias configure_core configure_core_tk8x + alias configinfo_core configinfo_core_tk8x + alias delete_core delete_core_tk8x + alias latin_replace_core latin_replace_core_tk8x + alias kanji_replace_core kanji_replace_core_tk81 + alias measure_core measure_core_tk8x + alias metrics_core metrics_core_tk8x + + when /^8\.*/ alias create_latinfont create_latinfont_tk8x alias create_kanjifont create_kanjifont_tk81 alias create_compoundfont create_compoundfont_tk81 diff --git a/intern.h b/intern.h index 6d7de17ead..93fb5c2ffd 100644 --- a/intern.h +++ b/intern.h @@ -210,6 +210,12 @@ VALUE rb_Array _((VALUE)); /* parse.y */ extern int ruby_sourceline; extern char *ruby_sourcefile; +#define yyparse rb_yyparse +#define yylex rb_yylex +#define yyerror rb_yyerror +#define yylval rb_yylval +#define yychar rb_yychar +#define yydebug rb_yydebug int yyparse _((void)); ID rb_id_attrset _((ID)); void rb_parser_append_print _((void)); diff --git a/io.c b/io.c index 8ee1683385..61052b3beb 100644 --- a/io.c +++ b/io.c @@ -3254,9 +3254,9 @@ Init_IO() rb_define_method(rb_cIO, "flush", rb_io_flush, 0); rb_define_method(rb_cIO, "tell", rb_io_tell, 0); rb_define_method(rb_cIO, "seek", rb_io_seek, 2); - rb_define_const(rb_cIO, "SEEK_SET", SEEK_SET); - rb_define_const(rb_cIO, "SEEK_CUR", SEEK_CUR); - rb_define_const(rb_cIO, "SEEK_END", SEEK_END); + rb_define_const(rb_cIO, "SEEK_SET", INT2FIX(SEEK_SET)); + rb_define_const(rb_cIO, "SEEK_CUR", INT2FIX(SEEK_CUR)); + rb_define_const(rb_cIO, "SEEK_END", INT2FIX(SEEK_END)); rb_define_method(rb_cIO, "rewind", rb_io_rewind, 0); rb_define_method(rb_cIO, "pos", rb_io_tell, 0); rb_define_method(rb_cIO, "pos=", rb_io_set_pos, 1); diff --git a/regex.c b/regex.c index fd8a447b05..8634dfe90c 100644 --- a/regex.c +++ b/regex.c @@ -1406,7 +1406,8 @@ re_compile_pattern(pattern, size, bufp) case 'W': for (c = 0; c < (1 << BYTEWIDTH); c++) { if (SYNTAX(c) != Sword && - (current_mbctype || SYNTAX(c) != Sword2)) + (current_mbctype && !re_mbctab[c] || + !current_mbctype && SYNTAX(c) != Sword2)) SET_LIST_BIT(c); } last = -1; diff --git a/string.c b/string.c index c77d27fba4..39d7bef466 100644 --- a/string.c +++ b/string.c @@ -756,6 +756,7 @@ rb_str_upto(beg, end, excl) int excl; { VALUE current; + ID succ = rb_intern("succ"); if (TYPE(end) != T_STRING) end = rb_str_to_str(end); @@ -763,7 +764,7 @@ rb_str_upto(beg, end, excl) while (rb_str_cmp(current, end) <= 0) { rb_yield(current); if (!excl && rb_str_equal(current, end)) break; - current = rb_str_succ(current); + current = rb_funcall(current, succ, 0, 0); if (excl && rb_str_equal(current, end)) break; if (RSTRING(current)->len > RSTRING(end)->len) break;