summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>1999-12-01 09:24:48 +0000
committermatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>1999-12-01 09:24:48 +0000
commita9fe26f1749b2e3f6607c739caa52faa9384c252 (patch)
treef7f7c3660de0b444cbbcff4bd378120c59f3fe37
parent7b319538c27af2928a20c4e1f0108386f7fe2a37 (diff)
19991201
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_4@573 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog14
-rw-r--r--bignum.c2
-rw-r--r--ext/tk/lib/tkentry.rb6
-rw-r--r--file.c11
-rw-r--r--misc/inf-ruby.el7
-rw-r--r--re.c4
-rw-r--r--string.c2
-rw-r--r--version.h4
8 files changed, 37 insertions, 13 deletions
diff --git a/ChangeLog b/ChangeLog
index b597e72d7b..ae28740f9d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,17 @@
+Wed Dec 1 09:47:33 1999 Kazunori NISHI <kazunori@swlab.csce.kyushu-u.ac.jp>
+
+ * string.c (rb_str_split_method): should increment end too.
+
+Tue Nov 30 01:46:18 1999 Yukihiro Matsumoto <matz@netlab.co.jp>
+
+ * re.c (rb_reg_source): generated source string must be tainted if
+ regex is tainted.
+
+ * file.c (rb_file_s_basename): basename should not be tainted
+ unless the original path is tainted.
+
+ * file.c (rb_file_s_dirname): ditto.
+
Mon Nov 29 15:28:52 1999 Yukihiro Matsumoto <matz@netlab.co.jp>
* variable.c (rb_path2class): evaluated value from path should be
diff --git a/bignum.c b/bignum.c
index 36a46af3fd..05df7c1683 100644
--- a/bignum.c
+++ b/bignum.c
@@ -20,7 +20,7 @@ typedef unsigned short USHORT;
#define BIGRAD (1L << BITSPERDIG)
#define DIGSPERINT ((unsigned int)(sizeof(long)/sizeof(short)))
#define BIGUP(x) ((unsigned long)(x) << BITSPERDIG)
-#define BIGDN(x) (((x)<0) ? ~((~(x))>>BITSPERDIG) : (x)>>BITSPERDIG)
+#define BIGDN(x) RSHIFT(x,BITSPERDIG)
#define BIGLO(x) ((USHORT)((x) & (BIGRAD-1)))
static VALUE
diff --git a/ext/tk/lib/tkentry.rb b/ext/tk/lib/tkentry.rb
index 5822c00e53..90d5fe3b43 100644
--- a/ext/tk/lib/tkentry.rb
+++ b/ext/tk/lib/tkentry.rb
@@ -15,8 +15,8 @@ class TkEntry<TkLabel
def create_self
tk_call 'entry', @path
end
- def scrollcommand(cmd)
- configure 'scrollcommand', cmd
+ def xscrollcommand(cmd=Proc.new)
+ configure_cmd 'xscrollcommand', cmd
end
def delete(s, e=None)
@@ -45,7 +45,7 @@ class TkEntry<TkLabel
tk_send 'selection', 'adjust', index
end
def selection_clear
- tk_send 'selection', 'clear', 'end'
+ tk_send 'selection', 'clear'
end
def selection_from(index)
tk_send 'selection', 'from', index
diff --git a/file.c b/file.c
index b53c814211..334744e46a 100644
--- a/file.c
+++ b/file.c
@@ -1203,7 +1203,7 @@ rb_file_s_basename(argc, argv)
int argc;
VALUE *argv;
{
- VALUE fname, fext;
+ VALUE fname, fext, basename;
char *name, *p, *ext;
int f;
@@ -1224,7 +1224,9 @@ rb_file_s_basename(argc, argv)
f = rmext(p, ext);
if (f) return rb_str_new(p, f);
}
- return rb_tainted_str_new2(p);
+ basename = rb_str_new2(p);
+ if (OBJ_TAINTED(fname)) OBJ_TAINT(basename);
+ return basename;
}
static VALUE
@@ -1232,6 +1234,7 @@ rb_file_s_dirname(obj, fname)
VALUE obj, fname;
{
char *name, *p;
+ VALUE dirname;
name = STR2CSTR(fname);
p = strrchr(name, '/');
@@ -1240,7 +1243,9 @@ rb_file_s_dirname(obj, fname)
}
if (p == name)
p++;
- return rb_tainted_str_new(name, p - name);
+ dirname = rb_str_new(name, p - name);
+ if (OBJ_TAINTED(fname)) OBJ_TAINT(dirname);
+ return dirname;
}
static VALUE
diff --git a/misc/inf-ruby.el b/misc/inf-ruby.el
index eaa904951c..f192147a37 100644
--- a/misc/inf-ruby.el
+++ b/misc/inf-ruby.el
@@ -18,7 +18,7 @@
;;; "Mode for editing ruby source files")
;;; (setq auto-mode-alist
;;; (append '(("\\.rb$" . ruby-mode)) auto-mode-alist))
-;;; (setq interpreter-mode-alist (append '(("^#!.*ruby" . ruby-mode))
+;;; (setq interpreter-mode-alist (append '(("ruby" . ruby-mode))
;;; interpreter-mode-alist))
;;;
;;; (2) set to road inf-ruby and set inf-ruby key definition in ruby-mode.
@@ -35,9 +35,12 @@
;;; HISTORY
;;; senda - 8 Apr 1998: Created.
;;; $Log$
+;;; Revision 1.2.2.1 1999/12/01 09:24:48 matz
+;;; 19991201
+;;;
;;; Revision 1.2 1999/08/13 05:45:18 matz
;;; 1.4.0
-;;;
+;;;
;;; Revision 1.1.1.1.2.1 1999/07/15 07:59:59 matz
;;; 990715
;;;
diff --git a/re.c b/re.c
index 540ae2848d..c038f2c1c6 100644
--- a/re.c
+++ b/re.c
@@ -275,7 +275,9 @@ static VALUE
rb_reg_source(re)
VALUE re;
{
- return rb_str_new(RREGEXP(re)->str,RREGEXP(re)->len);
+ VALUE str = rb_str_new(RREGEXP(re)->str,RREGEXP(re)->len);
+ if (OBJ_TAINTED(re)) OBJ_TAINT(str);
+ return str;
}
static VALUE
diff --git a/string.c b/string.c
index 3214c20adb..1f357efdd5 100644
--- a/string.c
+++ b/string.c
@@ -2065,7 +2065,7 @@ rb_str_split_method(argc, argv, str)
if (!NIL_P(limit) && lim <= ++i) break;
}
end++;
- if (ismbchar(*ptr)) ptr++;
+ if (ismbchar(*ptr)) {ptr++; end++;}
}
}
}
diff --git a/version.h b/version.h
index 2c61ea7414..7068f6c64b 100644
--- a/version.h
+++ b/version.h
@@ -1,4 +1,4 @@
#define RUBY_VERSION "1.4.3"
-#define RUBY_RELEASE_DATE "1999-11-24"
+#define RUBY_RELEASE_DATE "1999-12-01"
#define RUBY_VERSION_CODE 143
-#define RUBY_RELEASE_CODE 19991124
+#define RUBY_RELEASE_CODE 19991201