Commit graph

7441 commits

Author SHA1 Message Date
matz
cc38f5f090 * ext/socket/socket.c (sock_addrinfo): should specify socktype
from outside.

* io.c (argf_binmode): should call next_argv() to initialize ARGF.

* io.c (argf_filename): ditto.

* io.c (argf_file): ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2299 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-03-28 09:17:54 +00:00
aamine
ff95039936 * ext/strscan/strscan.c: add taint check.
* ext/strscan/strscan.c: #getch/#get_byte should set regexp registers.
* ext/strscan/strscan.c: remove useless #include directive.
* ext/strscan/strscan.c: refactor struct strscanner.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2298 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-03-28 08:53:24 +00:00
eban
ce0de3f67b * ext/extmk.rb.in (arg_config): should use Shellwords::shellwords.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2288 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-03-26 10:46:30 +00:00
matz
f60b87038d * parse.y (primary): while/until statement modifiers to "begin"
statement now work as "do .. while" even when begin statement
  has "rescue" or "ensure" [new].

* parse.y (bodystmt): rescue/ensure is allowed at every bodies,
  i.e. method bodies, begin bodies, class bodies[new], and module
  bodies[new].

* ext/socket/socket.c (sock_addrinfo): should specify ai_socktype
  for getaddrinfo hints.

* eval.c (rb_f_abort): embed aborting message into exception
  object [new].

* eval.c (terminate_process): utility function for exit and abort.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2285 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-03-26 06:18:51 +00:00
knu
409f3a3b6b * ext/bigfloat/bigfloat.c: Fix the initializer's function name
according to the new library name. (pointed out by nobu)


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2283 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-03-26 05:05:27 +00:00
knu
c4af72cd46 * ext/bigfloat/extconf.rb: Downcase the module name. (BigFloat.so
-> bigfloat.so)

* ext/bigfloat/bigfloat.c (BigFloat_inspect): Alter the inspect
  format not to look like an array. (pointed out by akr)

* ext/bigfloat/bigfloat.c (BigFloat_hash): Implement BigFloat#hash.

* ext/bigfloat/bigfloat.c (BigFloat_dump, BigFloat_load):
  Support marshaling.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2278 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-03-25 16:51:22 +00:00
eban
45ca4d69aa * ext/extmk.rb.in (arg_config): get rid of single quotes for autoconf 2.53.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2275 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-03-25 10:37:30 +00:00
matz
e748f56a6b * ext/socket/socket.c (bsock_do_not_rev_lookup_set): should not be
allowed when $SAFE > 3.

* eval.c (rb_thread_ready): THREAD_TO_KILL threads should not turn
  into THREAD_RUNNABLE on wakeup.

* eval.c (rb_thread_list): THREAD_TO_KILL threads should be in the
  list.

* eval.c (thgroup_list): ditto; by moving gid clearance from
  rb_thread_cleanup().

* dir.c (fnmatch): "*/bar" (with FNM_PATHNAME flag) does not
  match "foo/bar".

* io.c (read_all): files on /proc filesystem with zero stat size,
  may have contents.

* ext/socket/socket.c (tcp_s_gethostbyname): refactored.

* ext/socket/socket.c (sock_s_gethostbyname): ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2271 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-03-25 06:18:07 +00:00
aamine
f534b398a5 * ext/extmk.rb.in: replace mkdir with mkpath to compile racc/cparse.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2261 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-03-22 07:39:02 +00:00
matz
2c8151010e socket.c: oops, half-baked modifies were commited; backout
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2260 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-03-22 07:35:02 +00:00
matz
2bd0c2bf73 * the VMS support patch submitted by Akiyoshi, Masamichi
<Masamichi.Akiyoshi@jp.compaq.com> is merged.

* eval.c (exec_under): changing ruby_class is OK, but should not
  alter cbase.

* eval.c (yield_under_i): ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2258 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-03-22 07:26:42 +00:00
aamine
890521d117 racc runtime imported.
* lib/racc/parser.rb: new file.
* ext/racc/MANIFEST, cparse.c, depend, extconf.rb: new files.
* lib/README: add racc/parser.rb.
* ext/Setup*: add racc/cparse.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2257 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-03-22 07:20:31 +00:00
aamine
d444859d4a * strscan.c: remove useless #include directive
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2256 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-03-22 06:45:34 +00:00
aamine
983d420300 import strscan.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2255 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-03-22 06:38:27 +00:00
knu
e9d9cda13b Synchronize with reality. Pick actually existent modules and get rid
of removed modules.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2250 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-03-22 05:08:16 +00:00
knu
44643180f2 BigFloat 1.1.8 has been imported. Add .cvsignore and MANIFEST.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2248 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-03-22 04:52:19 +00:00
knu
89646912c2 Initial revision
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2244 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-03-22 04:48:57 +00:00
knu
27aff97238 Probably */depend should be added to this file too.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2243 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-03-21 20:11:49 +00:00
nobu
952b46a617 * ext/configsub.rb: latest autoconf style support.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2241 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-03-20 16:04:08 +00:00
nobu
7632b48a7d * ext/stringio/stringio.c (check_modifiable): wrong declaration.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2223 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-03-18 13:21:01 +00:00
nobu
5979f0e288 * ext/digest: add depend file.
* ext/digest/md5: ditto.

* ext/digest/rmd160: ditto.

* ext/digest/sha1: ditto.

* ext/digest/sha2: ditto.

* ext/iconv/MANIFEST: ditto.

* ext/stringio/MANIFEST: ditto.

* ext/syslog: ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2221 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-03-18 09:24:39 +00:00
nobu
7dc66370cb * eval.c (rb_f_abort): should not bypass cleanup.
* ext/stringio/stringio.c (check_modifiable): void function.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2220 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-03-18 08:21:40 +00:00
eban
2059c382a6 * ext/iconv/extconf.rb: workaround for GNU libiconv.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2219 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-03-18 03:54:10 +00:00
nobu
0f8eea046c * ext/stringio/depend: added.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2213 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-03-17 11:07:53 +00:00
nobu
cdb6be67ca * ext/iconv/depend: added.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2212 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-03-17 11:07:46 +00:00
nobu
23beb1a9dd * ext/iconv/iconv.c: fixed document, Iconv#new is no longer an
iterator. thanks to Tanaka Akira <akr@m17n.org>.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2206 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-03-15 05:05:34 +00:00
nobu
5fab414c02 Initial revision
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2202 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-03-14 13:10:57 +00:00
nobu
4f0870f74b * ext/stringio/stringio.c: fixed frozen string bug. ungetc no
longer raises on readonly stream unless modifies actually.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2198 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-03-14 03:35:52 +00:00
nobu
7435953055 Initial revision
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2173 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-03-11 11:58:07 +00:00
matz
86c6af5873 * marshal.c (w_object): module inclusion using extend() should
also be detected.

* eval.c (rb_eval_cmd): cbase should not be NULL; it should be
  either ruby_wrapper or Object.

* enum.c (enum_each_with_index): should return self.

* process.c (proc_setpgrp): should return value for non-void function.

* process.c (proc_getpgid): should raise exception if getpgid() return -1.

* string.c (rb_str_ljust): should return a duplicated string.

* string.c (rb_str_rjust): ditto.

* string.c (rb_str_center): ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2172 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-03-11 08:02:04 +00:00
akr
81930da895 * ext/socket/extconf.rb (have_struct_member): don't print checked
result.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2171 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-03-08 23:47:36 +00:00
matz
d497898c23 * eval.c (cvar_cbase): utility function to find innermost non
singleton cbase.

* eval.c (is_defined): adopt new cvar behavior.

* eval.c (rb_eval): ditto.

* eval.c (assign): ditto.

* class.c (rb_mod_clone): should not call rb_obj_clone(), since
  Module does not provide "allocate".

* class.c (rb_singleton_class): should crate new singleton class
  if obj is a class or module and attached object is different,
  which means metaclass of singleton class is sought.

* time.c (time_s_alloc): now follows allocation framework.

* eval.c (rb_eval): should initialize outer class variables from
  methods in singleton class definitions.

* eval.c (assign): ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2169 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-03-08 07:03:09 +00:00
knu
ab1b4b5869 * ext/extmk.rb.in (dir_config): Sync with mkmf.rb: Fix a bug where
--with-xx-{include,lib} is ignored when --with-xx-dir is
  specified.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2161 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-03-04 04:24:26 +00:00
knu
8c85fc1ec9 Make cvs ignore mkmf.log.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2160 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-03-04 04:11:22 +00:00
eban
1188f3f1d9 * ext/socket/{addinfo.h,getaddrinfo.c} (gai_strerror): add const
qualifier only for uClibc.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2154 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-03-01 02:32:21 +00:00
akr
4efd36bbd9 * ext/socket/extconf.rb (have_struct_member): new method.
check msg_control and msg_accrights in struct msghdr.  check sys/uio.h.

* socket/socket.c: include sys/uio.h if available.
(thread_read_select): new function.
(unix_send_io): ditto.
(unix_recv_io): ditto.
(unix_s_socketpair): ditto.
(Init_socket): define UNIXSocket#send_io, UNIXSocket#recv_io,


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2150 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-02-28 21:31:35 +00:00
matz
e88d2cec1f * eval.c (rb_mod_include): load modules in argument order.
* st.c (st_init_table_with_size): num_bins should be prime numbers
  (no decrement).

* st.c (rehash): ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2147 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-02-28 06:53:33 +00:00
matz
3fc04d9361 * ext/dbm/dbm.c (fdbm_select): 1.7 behavior.
* ext/gdbm/gdbm.c (fgdbm_select): ditto.

* ext/sdbm/sdbm.c (fsdbm_select): ditto.

* ext/dbm/dbm.c (fdbm_delete): adopt Hash#delete behavior.

* ext/sdbm/sdbm.c (fsdbm_delete): ditto.

* ext/gdbm/gdbm.c: need not to dup key to the block.

* ext/sdbm/sdbm.c : replace RuntimeError with SDBMError.

* eval.c (rb_f_missing): NoMethod error messages for true, false,
  nil must respond visibility like for other objects.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2145 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-02-27 04:52:21 +00:00
eban
2fcd221fec * io.c (READ_DATA_PENDING): uClibc support.
* random.c (rand_init): ditto.
* ext/socket/{addinfo.h,getaddrinfo.c} (gai_strerror): ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2143 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-02-27 04:30:20 +00:00
knu
4e840877aa * ext/digest/sha2/sha2.c: Merge from rough. Fix a couple of
off-by-one errors in Aaron Gifford's code.

  Obtained from:  KAME via FreeBSD
  KAME PR:        393
  FreeBSD PR:     kern/34242


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2142 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-02-26 22:09:49 +00:00
knu
09290070e8 * ext/syslog/syslog.c: Merge from rough. Use SafeStringValue().
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2135 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-02-25 12:23:47 +00:00
knu
b700e189bd * ext/syslog/syslog.c: Merge from rough. Turn Syslog into a
module keeping backward compatibility intact.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2134 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-02-25 12:13:30 +00:00
knu
d9479e72a6 Merge from rough.
- Avoid namespace pollution. (MD5_* -> rb_Digest_MD5_*, etc.)


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2122 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-02-24 08:20:50 +00:00
usa
5024bd594d * ext/extmk.rb.in (create_makefile): remove unnecessary -L option from
LIBS macro.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2109 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-02-21 12:42:32 +00:00
nobu
dc7f9c1f89 Initial revision
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2097 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-02-19 13:16:23 +00:00
nobu
21d0c3b815 * mkconfig.rb (Config::expand): expand ${} too.
* ext/extmk.rb.in (try_link0): expand command.

* ext/extmk.rb.in (try_cpp): ditto.

* ext/extmk.rb.in (extmake): default $LIBPATH to $libdir


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2079 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-02-17 14:46:44 +00:00
nobu
c4449fd4c4 * ext/digest/md5/md5init.c (Init_md5): rb_cvar_declare() is
replaced by rb_cvar_set().

* ext/digest/rmd160/rmd160init.c (Init_rmd160): ditto.

* ext/digest/sha1/sha1init.c (Init_sha1): ditto.

* ext/digest/sha2/sha2init.c (Init_sha2): ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2076 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-02-17 12:43:44 +00:00
matz
8210c254be * io.c (fptr_finalize): should raise error when fclose fails.
* eval.c (method_inspect): proper output format to distinguish
  methods and singleton methods.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2046 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-02-05 07:56:31 +00:00
ttate
9a8935fc65 Add wresize, resizeterm and KEY_RESIZE.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2030 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-01-29 19:24:43 +00:00
matz
4f38c453b4 * eval.c (is_defined): defined?(Foo::Baz) should check constants
only, no methods.

* eval.c (is_defined): should not dump core on defined?(a::b)
  where a is not a class nor a module.

* object.c (Init_Object): remove dup and clone from TrueClass,
  FalseClass, and NilClass.

* array.c (rb_ary_fill): Array#fill takes block to get the value to
  fill.

* string.c (rb_str_to_i): to_i(0) auto-detects base radix.

* array.c (rb_ary_initialize): fill by the block evaluation value
  if block is given.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2021 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-01-28 08:44:45 +00:00