Commit graph

14675 commits

Author SHA1 Message Date
matz
018837b84f * node.h (NODE_TYPESHIFT): allow 4 more bits for line numbers.
[ruby-talk:117841]

* ruby.h (FL_ABLE): nodes are not subject for flag operations.

* io.c (ARGF_FORWARD): should have specified argv explicitly,
  since we no longer have frame->argv saved.  [ruby-dev:24602]

* string.c (RESIZE_CAPA): check string attribute before modifying
  capacity member of string structure.  [ruby-dev:24594]

* ext/zlib/zlib.c (gzreader_gets): use memchr() to to gain
  performance.  [ruby-talk:117701]

* sprintf.c (rb_f_sprintf): raise ArgumentError for extra
  arguments, unless (digit)$ style used.

* io.c (rb_io_fptr_finalize): leave stdin/stdout/stderr open in
  interpreter termination.  [ruby-dev:24579]

* eval.c (frame_free): Guy Decoux solved the leak problem.
  Thanks.  [ruby-core:03549]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7121 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-10-27 09:29:26 +00:00
dave
3ecf38f376 Restore correct :nodoc: behavior with nested classes
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7113 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-10-26 14:33:17 +00:00
matz
9c65d88c0e * ext/zlib/zlib.c (zstream_append_input): clear klass for z->input
to avoid potential vulnerability.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7105 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-10-23 06:53:11 +00:00
gotoyuzo
e7a1207dcd * lib/webrick/httprequest.rb (WEBrick::HTTPRequest#meta_vars):
should check if path_info is not nil. [webrickja:126]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7100 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-10-22 01:38:42 +00:00
gotoyuzo
b8f68de2be * lib/webrick/httpresponse.rb (WEBrick::HTTPResponse#send_body_io):
ensure to close @body. (http://bugs.debian.org/277520)


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7094 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-10-21 10:10:52 +00:00
matz
fbdc2bf5f7 * parse.y (lex_getline): should update ruby_debug_lines.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7087 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-10-20 06:53:42 +00:00
matz
9f6b3edcd6 * array.c (rb_ary_times): Array#* should return an instance of
the class of right operand.  [ruby-dev:24526]

* ext/zlib/zlib.c (zstream_detach_buffer): should not expose
  class-less object to Ruby world. [ruby-dev:24530]

* eval.c (proc_dup): provide Proc#dup as well.  [ruby-talk:116915]

* eval.c (ruby_exec): stack marking position may be higher than
  expected.  thanks to Guy Decoux.  [ruby-core:03527]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7077 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-10-19 19:17:33 +00:00
dave
d43b40dbdd RDoc can now deal with "attr" used as a variable
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7073 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-10-19 13:46:05 +00:00
matz
1057902ac7 * io.c (read_all): block string buffer modification during
rb_io_fread() by freezing it temporarily. [ruby-dev:24479]

* dir.c (rb_push_glob): block call at once the end of method.
  [ruby-dev:24487]

* ext/enumerator/enumerator.c (enum_each_slice): remove
  rb_gc_force_recycle() to prevent potential SEGV.
  [ruby-dev:24499]

* ext/zlib/zlib.c (zstream_expand_buffer): hide internal string
  buffer by clearing klass.  [ruby-dev:24510]

* ext/socket/socket.c (sock_s_getservbyaname): protocol string
  might be altered.  [ruby-dev:24503]

* string.c (rb_str_upto): check if return value from succ is a
  string.  [ruby-dev:24504]

* io.c (rb_io_popen): get mode string via rb_io_flags_mode() to
  avoid mode string modification.  [ruby-dev:24454]

* io.c (rb_io_getline_fast): should take delim as unsigned char to
  distinguish EOF and '\377'.  [ruby-dev:24460]

* io.c (rb_io_getline): add check for RS modification.
  [ruby-dev:24461]

* enum.c (enum_sort_by): use qsort() directly instead using
  rb_iterate().  [ruby-dev:24462]

* enum.c (enum_each_with_index): remove rb_gc_force_recycle() to
  prevent access to recycled object (via continuation for
  example).  [ruby-dev:24463]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7071 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-10-19 10:25:23 +00:00
gotoyuzo
96bd1643a0 * lib/webrick/httprequest.rb (WEBrick::HTTPRequest#initialize):
initial value of accpet-* should be array.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7054 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-10-17 16:57:44 +00:00
kou
42dc258031 * lib/rss/0.9.rb (RSS::Rss#to_s): removed garbage.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7049 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-10-16 05:47:17 +00:00
kou
891ad83098 * lib/rss/: untabified.
* test/rss/: untabified.
* lib/rss/0.9.rb (RSS::Rss#to_s): inent -> indent.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7048 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-10-16 04:51:15 +00:00
kou
0ebac90b0e * lib/rss: supported prety print.
* test/rss/test_1.0.rb: added test for calculating default indent size.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7047 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-10-16 04:39:58 +00:00
nobu
740b2d99ce * lib/mkmf.rb (create_makefile): install-rb is needed for statically
linked extensions.  [ruby-dev:24491]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7044 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-10-16 01:56:44 +00:00
kou
56d7198e55 * added link to Tutorial.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7034 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-10-14 04:36:35 +00:00
gotoyuzo
385edf1e5c * lib/webrick/config.rb:
add WEBrick::Config::FileHandler[:AcceptableLanguages].

* lib/webrick/httpservlet/filehandler.rb
  (WEBrick::HTTPServlet::FileHandler#set_filename): search files
  having suffix of language-name which Accept-Language header field
  includes if :AcceptableLanguages options is present.

* lib/webrick/httpservlet/filehandler.rb
  (WEBrick::HTTPServlet::FileHandler#get_servlet): new method to
  search servlet correspond to the suffix of filename.

* lib/webrick/httprequest.rb: add attributes access methods: accept,
  accept_charset, accept_encoding, accept_language, content_length
  and content_type.

* lib/webrick/httpresponse.rb: add attribute access methods:
  content_length, content_length=, content_type and content_type=.

* lib/webrick/httputils.rb (WEBrick::HTTPUtils.mime_types):
  use the second suffix to detect media type. (the first suffix
  may be a language name.)

* lib/webrick/httputils.rb (WEBrick::HTTPUtils.parse_qvalues):
  add method to parse Accept header field. it returns an Array of
  values sorted by the qvalues.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7033 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-10-12 12:26:39 +00:00
dave
f5666a648d Support "require" as variable name in RDoc
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7027 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-10-10 03:35:51 +00:00
kou
3f5c0f4f6f * lib/rss/converter.rb: changed to try to use Iconv for default
conversion.
* lib/rss/rss.rb: 0.0.9 -> 0.1.0.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7023 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-10-09 12:30:52 +00:00
aamine
e9f4ad970a * lib/fileutils.rb (fu_traverse): return value of Dir.entries is reliable. (pass $SAFE=1)
* lib/fileutils.rb (remove_dir): return value of Dir.foreach is reliable. (pass $SAFE=1)


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7017 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-10-08 12:37:19 +00:00
matz
fbb88b011a * io.c (rb_io_mode_flags): preserve append mode flag.
[ruby-dev:24436]

* io.c (rb_io_modenum_mode): do not use external output buffer.

* string.c (rb_str_justify): differ pointer retrieval to prevent
  padding string modification.  [ruby-dev:24434]

* range.c (range_each_func): allow func to terminate loop by
  returning RANGE_EACH_BREAK.

* range.c (member_i): use RANGE_EACH_BREAK. [ruby-talk:114959]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6999 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-10-06 07:40:06 +00:00
matz
c800d0b75d * io.c (rb_fopen): mode string copy at the lowest level.
* io.c (rb_io_flags_mode): requires output buffer no more.  no
  allocation needed.

* array.c (rb_ary_index): takes a block to compare items in an
  array.  [ruby-talk:113069] [Ruby2]

* array.c (rb_ary_rindex): ditto.

* marshal.c (r_byte): retrieve pointer from string value for each
  time.  [ruby-dev:24404]

* marshal.c (r_bytes0): ditto.

* enum.c (sort_by_i): re-entrance check added.  [ruby-dev:24399]

* io.c (io_read): should freeze all reading buffer.
  [ruby-dev:24400]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6996 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-10-05 01:37:46 +00:00
shugo
6e8ae612ba * lib/net/imap.rb (TEXT_REGEXP): allow 8-bit characters for the german
version of Microsoft Exchange Server.
* lib/net/imap.rb (RTEXT_REGEXP): ditto.
* lib/net/imap.rb (CTEXT_REGEXP): ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6992 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-10-03 12:21:35 +00:00
tadf
c26e86fd1b synchronized with date2 3.6.1
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6961 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-09-25 23:10:36 +00:00
matz
bfabc05a43 * enum.c (enum_sort_by): do not use qsort directly. use
rb_ary_sort_bang() instead.  [ruby-dev:24291]

* enum.c (enum_sort_by): pedantic type check added.
  [ruby-dev:24291]

* hash.c (rb_hash_foreach_iter): check iter_lev after each
  iteration.  [ruby-dev:24289]

* array.c (rb_ary_and): element size might change during
  comparison.  [ruby-dev:24290]

* array.c (rb_ary_or): ditto. [ruby-dev:24292]

* array.c (rb_ary_equal): wrong fix. [ruby-dev:24286]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6939 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-09-21 03:08:33 +00:00
matz
e77ddaf0d1 * array.c (rb_ary_delete): element comparison might change array
size. [ruby-dev:24273]

* parse.y: make ruby parser reentrant. merge ripper parser to the
  real one.  this change makes ruby require bison.

* file.c (rb_file_truncate): clear stdio buffer before truncating
  the file.  [ruby-dev:24191]

* ext/digest/digest.c: use rb_obj_class() instead of CLASS_OF
  which might return singleton class.  [ruby-dev:24202]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6919 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-09-17 09:24:13 +00:00
gotoyuzo
b10696b568 * lib/webrick/cgi.rb (WEBrick::CGI#start): should set REMOTE_USER
to request.user attribute.

* lib/webrick/httpservlet/filehandler.rb
  (WEBrick::HTTPServlet::FileHandler#initialize): should expand
  the pathname of document root directory.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6913 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-09-16 09:14:27 +00:00
dave
0964c47816 Add simple formatter to ri
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6909 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-09-14 14:49:19 +00:00
dave
61503bbf3b Fix up cross-file class merging
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6882 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-09-11 07:11:46 +00:00
aamine
ed1a776ae0 * lib/fileutils.rb (mkdir_p): should pass mode argument to Dir.mkdir. [ruby-dev:24242]
* test/fileutils/test_fileutils.rb: test it.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6879 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-09-10 06:56:20 +00:00
dave
a7a1ac81da James Buck's patch for call-seq
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6877 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-09-09 17:46:05 +00:00
dave
156ea41fa2 Allow spaces around parameter to define_method_under
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6874 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-09-09 02:48:32 +00:00
dave
8e94bb29ae ri now merges the documentation if it finds the same class in multiple places
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6838 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-08-30 14:22:26 +00:00
matz
88ba175ab0 * bignum.c (rb_big_and): protect parameters from GC.
[ruby-talk:110664]

* error.c (exc_equal): exceptions are equal if they share same
  class, message and backtrace. [ruby-talk:110354]

* error.c (name_err_mesg_equal): ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6826 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-08-28 14:14:11 +00:00
dave
4441ea370b Minor fix to error message
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6820 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-08-25 19:41:31 +00:00
shugo
73a6f9af6c * lib/cgi/session.rb (CGI::Session::FileStore#initialize): do not
use a session id as a filename.
* lib/cgi/session/pstore.rb (CGI::Session::PStore#initialize): ditto.
* lib/cgi/session/pstore.rb (CGI::Session::PStore#initialize): use
  Dir::tmpdir.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6815 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-08-24 07:59:50 +00:00
shugo
b9b4a769f1 * lib/cgi/session.rb (CGI::Session::FileStore#initialize): untaint
session id after check.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6813 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-08-24 05:35:12 +00:00
usa
30c0611f97 * lib/resolv.rb (Config.default_config_hash): when multiple domains
are set, Win32::Resolv.get_resolv_info returns Array.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6807 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-08-23 03:44:32 +00:00
gotoyuzo
0263ace6fb * lib/webrick/httpproxy.rb (WEBrick::HTTPProxyServer#proxy_connect):
should call :ProxyContentHandler before finishing CONNECT.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6804 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-08-21 16:16:18 +00:00
nobu
7e28ad63ff * ext/tcltklib/extconf.rb (find_tcl, find_tk): find stub library.
* lib/mkmf.rb (arg_config, with_config): deal with '-' and '_'
  uniformly.  [ruby-dev:24118]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6802 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-08-20 21:42:21 +00:00
why
8c7a37f643 * lib/yaml/rubytypes.rb: whoops. bad require for 'yaml/compat'. sorry.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6788 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-08-18 20:44:54 +00:00
why
5e07e55204 * lib/yaml/baseemitter.rb: folding now handles double-quoted strings,
fixed problem with extra line feeds at end of folding, whitespace
  opening scalar blocks.

* lib/yaml/rubytypes.rb: subtelties in handling strings with
  non-printable characters and odd whitespace patterns.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6787 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-08-18 20:42:09 +00:00
aamine
b79d77197f * lib/net/protocol.rb (rbuf_fill): OpenSSL::SSLSocket has its own buffer, select(2) might not work. [ruby-dev:24072]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6786 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-08-18 14:44:41 +00:00
dave
86e8e8a2f5 Get RDoc::usage playing better with OptionParser
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6777 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-08-16 16:41:21 +00:00
eban
8460e4adee * rdoc/markup/simple_markup/to_flow.rb: typo fix(CGI -> cgi).
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6773 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-08-15 10:07:08 +00:00
dave
dbc9856067 Add Ri environment variable support
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6770 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-08-13 18:43:21 +00:00
dave
3319ea129e Add "usage" interface
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6768 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-08-13 17:52:52 +00:00
dave
690face91a Commit miss
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6766 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-08-13 17:50:11 +00:00
gotoyuzo
d85b9c8925 * lib/webrick/httputils.rb (WEBrick::HTTPUtils.parse_range_header):
fix regex for range-spec.

* lib/webrick/httpservlet/filehandler.rb
  (WEBrick::HTTPServlet::DefaultFileHandler#make_partial_content):
  multipart/byteranges response was broken.

* lib/xmlrpc/server.rb: refine example code.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6761 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-08-13 04:11:30 +00:00
gotoyuzo
461bbe2f45 * lib/webrick/httpservlet/erbhandler.rb
(WEBrick::HTTPServlet::ERBHandler#do_GET): should select media type
  by suffix of script filename.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6751 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-08-09 06:04:59 +00:00
aamine
18c0a86cc6 * lib/fileutils.rb (cp_r): copies symlink to symlink, except cp_r root.
* lib/fileutils.rb: new method FileUtils.copy_entry.
* test/fileutils/test_fileutils.rb: more cp_r tests.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6747 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-08-08 21:35:11 +00:00