1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

* ruby.c (proc_options): unexpected SecurityError happens when -T4.

* regex.c (re_compile_pattern): * \1 .. \9 should be
  backreferences always.

* regex.c (re_match): backreferences corresponding to
  unclosed/unmatched parentheses should fail always.

* string.c (rb_str_cat): use rb_str_buf_cat() if possible. [new]

* string.c (rb_str_append): ditto.

* string.c (rb_str_buf_cat): remove unnecessary check (type,
  taint, modify) to gain performance.

* string.c (rb_str_buf_append): ditto.

* string.c (rb_str_buf_finish): removed.

* string.c (rb_str_buf_new): buffering string function. [new]

* string.c (rb_str_buf_append): ditto.

* string.c (rb_str_buf_cat): ditto.

* string.c (rb_str_buf_finish): ditto.

* time.c (make_time_t): local time adjustment revised.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1475 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
matz 2001-05-30 09:10:30 +00:00
parent 032825472b
commit 4cd1cd7201
8 changed files with 1415 additions and 29 deletions

View file

@ -665,6 +665,10 @@ module TkPackage
include TkCore
extend TkPackage
def add_path(path)
Tk::AUTO_PATH.value = Tk::AUTO_PATH.to_a << path
end
def forget(package)
tk_call('package', 'forget', package)
nil
@ -726,9 +730,6 @@ module Tk
TK_LIBRARY = INTERP._invoke("set", "tk_library")
LIBRARY = INTERP._invoke("info", "library")
TCL_PACKAGE_PATH = INTERP._invoke("set", "tcl_pkgPath")
AUTO_PATH = tk_split_simplelist(INTERP._invoke("set", "auto_path"))
PLATFORM = Hash[*tk_split_simplelist(INTERP._eval('array get tcl_platform'))]
JAPANIZED_TK = (INTERP._invoke("info", "commands", "kanji") != "")
@ -1379,6 +1380,21 @@ class TkVarAccess<TkVariable
end
end
module Tk
begin
auto_path = INTERP._invoke('set', 'auto_path')
rescue
begin
auto_path = INTERP._invoke('set', 'env(TCLLIBPATH)')
rescue
auto_path = Tk::LIBRARY
end
end
AUTO_PATH = TkVarAccess.new('auto_path', auto_path)
TCL_PACKAGE_PATH = TkVarAccess.new('tcl_pkgPath')
end
module TkSelection
include Tk
extend Tk

View file

@ -45,9 +45,11 @@ ping.rb checks whether host is up, using TCP echo.
profile.rb ruby profiler
pstore.rb persistent object strage using marshal
rational.rb rational number support
readbytes.rb defines IO#readbytes
readbytes.rb define IO#readbytes
resolv.rb DNS resolver in Ruby
resolv-replace.rb replace Socket DNS by resolve.rb
shell.rb runs commands and does pipeline operations like shell
shellwords.rb splits string into words like shell
shellwords.rb split into words like shell
singleton.rb singleton design pattern library
sync.rb 2 phase lock
telnet.rb obsolete - use net/telnet

View file

@ -282,8 +282,7 @@ SRC
print "no\n"
return false
end
header.tr!("a-z./\055", "A-Z___")
$defs.push(format("-DHAVE_%s", header))
$defs.push(format("-DHAVE_%s", header.tr("a-z./\055", "A-Z___")))
print "yes\n"
return true
end

41
lib/resolv-replace.rb Normal file
View file

@ -0,0 +1,41 @@
require 'resolv'
class BasicSocket
alias original_resolv_send send
def send(mesg, flags, *rest)
rest[0] = Resolv.getaddress(rest[0]).to_s if 0 < rest.length
original_resolv_send(mesg, flags, *rest)
end
end
class << IPSocket
alias original_resolv_getaddress getaddress
def getaddress(host)
return Resolv.getaddress(host).to_s
end
end
class << TCPSocket
alias original_resolv_new new
def new(host, service)
original_resolv_new(Resolv.getaddress(host).to_s, service)
end
alias original_resolv_open open
def open(host, service)
original_resolv_open(Resolv.getaddress(host).to_s, service)
end
end
class UDPSocket
alias original_resolv_connect connect
def connect(host, port)
original_resolv_connect(Resolv.getaddress(host).to_s, port)
end
alias original_resolv_send send
def send(mesg, flags, *rest)
rest[0] = Resolv.getaddress(rest[0]).to_s if 0 < rest.length
original_resolv_send(mesg, flags, *rest)
end
end

1346
lib/resolv.rb Normal file

File diff suppressed because it is too large Load diff

View file

@ -255,7 +255,7 @@ class Shell
return unless yorn
_head = true
print *opts.collect{|mes|
print opts.collect{|mes|
mes = mes.dup
yield mes if iterator?
if _head

View file

@ -672,7 +672,9 @@ An end of a defun is found by moving forward from the beginning of one."
("\\(#\\)[{$@]" 1 (1 . nil))
("\\(/\\)\\([^/\n]\\|\\/\\)*\\(/\\)"
(1 (7 . ?'))
(3 (7 . ?')))))
(3 (7 . ?')))
("^\\(=\\)begin\\(\\s \\|$\\)" 1 (7 . nil))
("^\\(=\\)end\\(\\s \\|$\\)" 1 (7 . nil))))
(make-local-variable 'font-lock-defaults)
(setq font-lock-defaults '((ruby-font-lock-keywords) nil nil))
(setq font-lock-keywords ruby-font-lock-keywords)))

View file

@ -1,20 +0,0 @@
struct direct
{
long d_namlen;
ino_t d_ino;
char d_name[256];
};
typedef struct {
char *start;
char *curr;
long size;
long nfiles;
struct direct dirstr;
} DIR;
DIR* opendir(const char*);
struct direct* readdir(DIR *);
long telldir(DIR *);
void seekdir(DIR *, long);
void rewinddir(DIR *);
void closedir(DIR *);