Commit graph

4863 commits

Author SHA1 Message Date
matz
8cee72d5c6 * eval.c (rb_clear_cache_by_class): check both klass and origin.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4083 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-07-17 08:58:16 +00:00
matz
46bf621737 * eval.c (ruby_init): set ruby_running to true after
initialization.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4080 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-07-17 05:23:54 +00:00
eban
06f82d3883 * lib/ftools.rb (File::makedirs): do not handle "//" as a directory.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4079 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-07-17 04:56:09 +00:00
matz
9ef8a2a5db * lib/matrix.rb: remove elements conversion to_f, to_i, to_r.
* lib/cgi/session/pstore.rb: add new file.

* process.c (proc_getgroups, proc_setmaxgroups): fix typo.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4072 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-07-15 07:35:14 +00:00
why
a706d6ddac BaseEmitter left out as well.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4068 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-07-11 23:56:42 +00:00
why
a1e257ec48 * ext/syck/emitter.c: new emitter code.
* ext/syck/rubyext.c: Emitter class.

* lib/yaml.rb: Load Syck emitter, if available.

* lib/yaml/stream.rb: ditto.

* lib/yaml/baseemitter.rb: underlying class for all emitters.

* lib/yaml/rubytypes.rb: use BaseEmitter abstraction.

* lib/yaml/emitter.rb: ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4066 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-07-11 22:52:14 +00:00
matz
0f33529f63 * rename 'Shift-JIS' to 'SHIFT-JIS'
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4056 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-07-11 05:26:30 +00:00
matz
570befe608 * lib/rexml/encodings/EUC-JP.rb (Encoding): use join.
* lib/rexml/encodings/Shift-JIS.rb (Encoding): use join, and
  typo fixed.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4052 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-07-10 02:30:08 +00:00
matz
95b7ffce0f * lib/rexml/encoding.rb (encoding=): oops, shouldn't have
checked in without Sean's concent.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4051 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-07-09 22:32:54 +00:00
matz
662e3cf1f9 * eval.c (rb_load): put rb_load_file() in a thread critical
section. [ruby-dev:20490]

* eval.c (compile): put rb_compile_string() in a thread critical
  section.

* variable.c (rb_const_get_0): should not warn if constant is not
  defined. (ruby-bugs-ja PR#509)

* bignum.c (rb_big2dbl): give a warning on overflow.
  (ruby-bugs-ja PR#510)

* util.c (ruby_strtod): change MDMAXEXPT from 511 to 308.

* pack.c (utf8_to_uv): long is sufficient.  LONG_LONG is not
  required.

* bignum.c (rb_big2str): support 32 bit (without `long long' type)
  machines. (ruby-bugs-ja PR#512)


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4050 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-07-09 22:28:42 +00:00
matz
cc4dec0701 * Changelog, lib/debug.rb: fix typo.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4035 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-07-03 15:58:03 +00:00
akr
554f524ee5 * lib/timeout.rb: add optional exception argument for compatibility
function.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4034 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-07-03 14:44:46 +00:00
eban
40f3699376 lib/mkmf.rb (VPATH): use '&&' instead of 'and'.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4033 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-07-03 11:07:55 +00:00
matz
9d22a06ea0 * array.c (rb_values_at): extract common procedure from
rb_ary_values_at.  follow DRY principle.

* re.c (match_values_at): values_at should understand ranges.

* struct.c (rb_struct_values_at): ditto.

* struct.c (inspect_struct): inspect format changed; add "struct "
  at the top.

* sprintf.c (rb_f_sprintf): "%p" specifier for inspect output.
  (RCR#68)

* eval.c (rb_mod_undef_method): allow "undef_method" to accept
  multiple arguments. (RCR#146)

* lib/timeout.rb: put timeout in Timeout module. (RCR#121)
  [ruby-talk:61028]

* re.c (match_groups): new method added. (RCR#139)

* variable.c (rb_mod_const_of): should exclude constant defined
  in Object, unless retrieving constants of Object.

* string.c (rb_str_new4): do not allocate new string if original
  is frozen or already have copy-on-write entry. [ruby-talk:74940]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4031 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-07-03 11:02:53 +00:00
eban
a11ab83884 * lib/mkmf.rb (VPATH): convert from Windows form to Unix form on
MinGW.  This fixes the build with GNU make 3.80-1 for Cygwin.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4030 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-07-03 03:20:32 +00:00
aamine
f261bdf66c * lib/net/smtp.rb: synchronize document with source code.
* lib/net/pop.rb: ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4027 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-07-02 02:39:53 +00:00
aamine
c20ecb1ba4 * lib/net/smtp.rb: unify SMTP and SMTPCommand.
* lib/net/smtp.rb: new exception class SMTPError.
* lib/net/smtp.rb: new exception class SMTPAuthenticationError.
* lib/net/smtp.rb: new exception class SMTPServerBusy.
* lib/net/smtp.rb: new exception class SMTPSyntaxError.
* lib/net/smtp.rb: new exception class SMTPFatalError.
* lib/net/smtp.rb: new exception class SMTPUnknownError.
* lib/net/smtp.rb: change critical section protect algorithm.
* lib/net/smtp.rb (SMTP#do_start): check authentication args before all.
* lib/net/smtp.rb: new method send_message (alias send_mail).
* lib/net/smtp.rb: new method open_message_stream (alias ready).
* lib/net/pop.rb: POPBadResponse is a POPError.
* lib/net/pop.rb (POPMail#pop): ban ReadAdapter.
* lib/net/pop.rb (POPMail#top): ditto.
* lib/net/pop.rb (POP3Command): change critical section protect algorithm.
* lib/net/pop.rb (POP3Command#auth): USER and PASS should be one critical block.
* lib/net/pop.rb (POP3Command#retr): ban `dest' argument using iterator.
* lib/net/pop.rb (POP3Command#top): ditto.
* lib/net/protocol.rb: #read_message_to -> #each_message_chunk
* lib/net/protocol.rb: #D -> #LOG
* lib/net/protocol.rb: #D_off -> #LOG_off
* lib/net/protocol.rb: #D_on -> #LOG_on


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4026 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-07-02 02:34:39 +00:00
aamine
f473140e62 * lib/net/http.rb: set old class aliases for backward compatibility. [ruby-talk:74863]
* lib/net/protocol.rb: ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4025 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-07-02 02:05:35 +00:00
eban
2e4fc59d1c * lib/net/pop.rb (Net::POP3#start): typofix.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4023 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-07-01 16:34:58 +00:00
seki
d5f31755fc import drb-2.0.4 (use LocalJumpeError#reason)
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4015 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-06-28 22:03:41 +00:00
matz
0c4fe2b522 * variable.c (autoload_delete): should delete Qundef from iv_tbl.
(ruby-bugs-ja PR#504)


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3999 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-06-25 05:28:24 +00:00
why
b60ba59429 * lib/yaml/types.rb: replaced Kernel::Hash reference with Object::Hash
from [ruby-talk:74270]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3997 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-06-24 14:12:03 +00:00
aamine
170aaabe4b * lib/net/http.rb (HTTPHeader#proxy_basic_auth): missing `@'.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3995 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-06-24 07:42:46 +00:00
nahi
13e15cecf3 * lib/csv.rb: Import csv module.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3964 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-06-19 16:08:52 +00:00
seki
151f1241c6 import from drb-2.0.4b3
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3959 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-06-18 15:45:12 +00:00
why
d21bd1c06d * ext/syck/rubyext.c (rb_syck_load_handler): merge key implemented.
* ext/syck/rubyext.c (transfer_find_i): removed use of String#=~ in favor
    of Regexp#match.

* lib/yaml.rb: YAML::try_implicit returns.

* lib/yaml/rubytypes.rb: Regexps added for type matching.

* lib/yaml/emitter.rb: fix String + nil error.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3955 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-06-18 01:06:00 +00:00
why
ae28f1b6b3 * ext/syck/gram.c: added grammar for certain empty sequence entries.
* ext/syck/handler.c, ext/syck/syck.c, ext/syck/syck.h: track bad anchors.

* ext/syck/token.c: added pause token, tag possible circular references.

* lib/yaml/rubytypes.rb: parsing YMD time as Date instance.

* ext/syck/rubyext.c: ditto. DomainType, PrivateType, BadAlias classes.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3954 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-06-17 16:55:54 +00:00
matz
590a37880c * eval.c (proc_alloc): re-unification of Block and Proc. Block
class is no longer available.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3948 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-06-16 07:14:50 +00:00
eban
4b0115beb5 * lib/rexml/quickpath.rb: escape '[' to avoid warning.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3946 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-06-16 05:03:03 +00:00
ser
2403ad9e7d REXML hadn't been tested with Ruby 1.8.0, which was really, really,
unbelievably stupid of me.  There were a lot of warnings and some errors
that were caused by Block vs. Proc differences; these have been fixed.
REXML passes all of the tests under Ruby 1.8.0.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3943 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-06-15 18:31:16 +00:00
shugo
e0a5ffa941 * lib/net/ftp.rb (storebinary): seek correctly. Thanks, William Webber.
* lib/net/ftp.rb (putbinaryfile): rescue FTPPermError.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3940 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-06-13 00:26:51 +00:00
why
e921ea2d78 * ext/syck/token.c: preserve newlines prepended to a block.
* ext/syck/implicit.c (syck_match_implicit): added !merge and !default.

* lib/yaml/constants.rb: remove '\z' escape.

* lib/yaml/emitter.rb: ensure reset of @seq_map shortcut flag.

* lib/yaml/encoding.rb: remove Unicode translation methods.

* lib/yaml/rubytypes.rb: improved round-tripping of Strings.
  [ruby-core:1134]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3937 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-06-10 14:15:27 +00:00
eban
e08f18becd * lib/rexml/cdata.rb,lib/rexml/quickpath.rb,lib/rexml/parsers/baseparser.rb:
avoid warnings.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3935 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-06-10 07:07:52 +00:00
matz
77aa452192 * lib/irb/ruby-lex.rb: typo.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3933 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-06-10 05:37:44 +00:00
matz
aec748ff13 * lib/irb/slex.rb: small cleanups. (ruby-bugs-ja PR#492)
* lib/irb/ruby-lex.rb: ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3932 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-06-10 05:36:35 +00:00
matz
373a59b95b * lib/irb.rb (IRB::Irb::eval_input): warn and exit if $SAFE >=3
after input evaluation.

* lib/irb.rb (IRB::Irb::eval_input): untaint input string.  now
  irb works for levels 1 and 2.

* ext/syck/rubyext.c (syck_loader_transfer): should not use
  rb_cProc directly, since type_proc may be Proc, Block, or
  Method.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3931 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-06-10 05:22:17 +00:00
ser
434e71244a The versions on the import were messed up; I imported an untranslated
source tree.  This fixes that.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3930 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-06-10 02:05:17 +00:00
ser
ea7a527a2a Initial revision
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3925 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-06-10 01:31:01 +00:00
aamine
1fa5c630cd * lib/net/http.rb: define Net::HTTPResponse#to_ary for backward compatibility. [ruby-talk:72927]
* lib/net/protocol.rb: add warning.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3913 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-06-06 07:05:52 +00:00
why
56796022a6 * ext/syck/rubyext.c (syck_parser_mark): was a bit heavy on the GC.
* lib/yaml.rb (YAML::transfer): added.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3912 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-06-05 17:42:06 +00:00
matz
c5fc4bca6d * eval.c (rb_call_super): inheritance line adjustment moved from
rb_call(). [ruby-core:01113]

* eval.c (rb_eval): use rb_call_super() to follow DRY principle.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3901 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-06-03 09:40:21 +00:00
matz
6125313d69 * array.c (push_values_at): Array#values_at should work with
ranges too.

* range.c (rb_range_beg_len): length calculation was wrong.

* eval.c (rb_call): should set T_ICLASS in the frame->last_class.
  [ruby-core:01110]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3899 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-06-02 04:49:46 +00:00
keiju
f5a7f85917 context.rb typo, thank rubikichi-san
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3898 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-06-01 18:43:36 +00:00
why
38df1a90cc * ext/syck/rubyext.c (rb_syck_mktime): seconds calculated wrong.
* ext/syck/gram.c: flexibility to anchors and transfer methods on
  collections.

* ext/syck/token.c: hex escapes.

* lib/yaml/basenode.rb: YamlNode references changed to YAML::BaseNode.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3889 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-05-30 23:09:54 +00:00
nobu
1ce0018ba1 remove conflict
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3888 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-05-30 16:50:41 +00:00
matz
979f006b9e * io.c (rb_f_syscall): type dispatch should be based on
rb_check_string_type(), not FIXNUM_P(), because values may be a
  bignum.  [ruby-talk:72257]

* eval.c (rb_call0): should pass the current klass value to
  block_invoke, which may be called via "super". [ruby-core:01077]

* eval.c (block_invoke): now takes 4th argument "klass".

* eval.c (block_alloc): should propagate BLOCK_PROC to
  ruby_block.

* marshal.c (r_object0): should not use "yield" method, use "call"
  instead. (ruby-bugs-ja PR#476)


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3886 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-05-30 16:08:03 +00:00
nobu
7d9628ef02 * eval.c (rb_Array): exclude Kernel#to_a instead of Object#to_a.
(ruby-bugs-ja:PR#483)

* lib/optparse.rb (OptionParser::Switch#parse_arg): not splat.

* lib/optparse.rb (OptionParser::Switch#conv_arg): splat if no
  conversion supplied.

* lib/optparse.rb (OptionParser::Switch::PlacedArgument#parse):
  override next switch after argument conversion.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3884 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-05-30 05:55:50 +00:00
nobu
4ca5e66ee7 backout
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3879 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-05-29 21:35:50 +00:00
nobu
5ddce4f7bc * eval.c (ev_const_defined, ev_const_get), variable.c
(rb_const_get_at, rb_const_get, rb_mod_remove_const): use Qundef
  as autoload marker.  [ruby-dev:18103], [ruby-dev:18184]

* eval.c (rb_mod_autoload, rb_mod_autoload_p): new method;
  Module#autoload, Module#autoload?.

* variable.c (rb_autoload, rb_autoload_load, rb_autoload_p):
  manage autoload constants per classes/modules.

* variable.c (rb_const_defined_at, rb_const_defined): return false
  for autoloading constants.

* class.c (rb_define_class, rb_define_module), eval.c (rb_eval),
  variable.c (rb_mod_const_at, rb_const_assign): removed autoload
  stuff.

* intern.h: prototypes; rb_autoload, rb_autoload_load,
  rb_autoload_p.

* lib/optparse.rb (OptionParser::Switch::PlacedArgument::parse):
  do not treat unmatched argument as an option.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3874 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-05-29 00:11:11 +00:00
nobu
7712407048 * lib/mkmf.rb, lib/optparse.rb, lib/tracer.rb: use Method#to_block
instead of deprecated Method#to_proc.  (ruby-bugs-ja:PR#477)


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3870 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-05-26 13:17:07 +00:00