9474 Commits

Author SHA1 Message Date
matz
0e83f22cf5 * ext/digest/lib/digest.rb (Digest::self.const_missing): avoid
infinite recursive const_missing call.  [ruby-talk:262193]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12851 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-07-28 00:44:08 +00:00
matz
6d9a4f510c * range.c (range_eqq): call_super() in === does not work well
since Enumerable#=== has different behavior.  [ruby-dev:31296]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12849 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-07-26 13:37:13 +00:00
nobu
d134991730 * dln.c (load_1, dln_find_1): constified.
* ruby.c (usage): constified.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12848 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-07-26 04:57:48 +00:00
nobu
ea7e249079 * dln.c (conv_to_posix_path): removed.
* ruby.c (rubylib_mangled_path, rubylib_mangled_path2): return
  VALUE instead of a pointer to static buffer.

* ruby.c (push_include_cygwin): fixed buffer overflow.
  [ruby-dev:31297]

* ruby.c (ruby_init_loadpath): not convert built-in paths.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12847 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-07-26 04:38:07 +00:00
nobu
bd65920c0b * lib/rexml/formatters/*.rb: set properties.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12846 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-07-25 21:18:55 +00:00
ser
e85e24acea Indentation fix.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12845 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-07-25 13:03:38 +00:00
ser
1d8c98a486 Merges upstream changes for REXML v3.1.7
http://www.germane-software.com/repos/rexml/tags/3.1.7

 r1278@bean:  ser | 2007-06-07 00:53:06 -0400
 Fixed a double-encoding bug.  This was a regression, related
 to ticket:48.
 r1292@bean:  ser | 2007-07-25 08:19:36 -0400
  r1279@bean:  ser | 2007-06-09 23:19:02 -0400
  Fixes ticket:89 -- encoding CP-1252 was broken.  ISO-8859-15 had the same
  problem.
  
  Also in this patch is a fix to merge.rb (unused, but it should at least
  contain no errors), and a unit test for ticket:88.
 
 r1293@bean:  ser | 2007-07-25 08:19:37 -0400
  r1281@bean:  ser | 2007-07-24 11:08:48 -0400
  Addresses ticket:85
  
  This is a major rewrite of the XML formatting code.  The XML writers have all
  been extracted out of the classes and put into their own class containers.
  This makes writing parsers easier, and cleaner.
  
  There are three formatters, which correspond to the previous three XML writing
  modes:
  
    REXML::Formatters::Default    
        Prints the XML document exactly as it was parsed
    REXML::Formatters::Pretty     
        Pretty prints the XML document, destroying whitespace in the document
    REXML::Formatters::Transitive 
        Pretty prints the XML document, preserving whitespace
  
  All of the write() functions have been deprecated (some are still used, but
  these will also go away) except the write() function on Document, which is left
  for convenience.  To pretty print an XML document the canonical way:
  
    formatter = REXML::Formatters::Pretty.new( 5 ) # indent by 5 spaces
    formatter.write( document, output )
  
 
 r1294@bean:  ser | 2007-07-25 08:19:38 -0400
  r1283@bean:  ser | 2007-07-24 19:53:30 -0400
  This goes with the previous commit.
 
 r1295@bean:  ser | 2007-07-25 08:19:39 -0400
  r1285@bean:  ser | 2007-07-24 20:02:07 -0400
  And THIS goes with the previous two patches.  Dammit.
 
 r1296@bean:  ser | 2007-07-25 08:19:40 -0400
  r1287@bean:  ser | 2007-07-24 20:12:25 -0400
  Applied patch from Jeff Barczewski.  Note that this changes what the values of
  the name and IDs are from the previous behavior -- the values no longer include
  the quotes.  This is the correct behavior, so I'm leaving it in, but it is not
  backwards compatible.  Also fixes the serializer so that it outputs the doctype
  in a correct format (needed as a result of this change).
 
 r1297@bean:  ser | 2007-07-25 08:38:38 -0400
 Version update


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12844 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-07-25 12:47:23 +00:00
nobu
fead3c93e7 * io.c (rb_f_p): return nil if no argument. [ruby-dev:31285]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12843 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-07-24 01:37:07 +00:00
matz
6afa428a34 * regint.h (USE_MATCH_RANGE_IS_COMPLETE_RANGE): undef to achieve old
rindex behavior.  [ruby-dev:31265]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12842 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-07-23 16:11:37 +00:00
matz
e1def8a987 * include/ruby/oniguruma.h: upgrade to Oniguruma 5.9.0. fixes
some memory violation.  [ruby-dev:31070]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12841 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-07-23 09:39:30 +00:00
matz
46eb6e9428 * parse.y (value_expr_gen): warn for empty expression ().
[ruby-dev:31252]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12840 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-07-23 09:13:44 +00:00
tadf
3c5510565b * lib/date/format.rb (Date._parse): now accepts some new
hints. [experimental]

	* lib/parsedate.rb: followed the changes on
	  lib/date/format.rb. [experimental]



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12839 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-07-22 11:22:03 +00:00
nobu
fb00d61acf * thread.c (is_ruby_native_thread): made an int function as
well as version 1.8.

* include/ruby/ruby.h (is_ruby_native_thread): moved prototype
  from intern.h as well as version 1.8.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12837 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-07-22 07:07:12 +00:00
nobu
f1622c195d * file.c (rb_file_s_rename): deleted code to get rid of a bug of
old Cygwin.

* file.c (rb_file_truncate): added prototype of GetLastError()
  on cygwin.  [ruby-dev:31239]

* include/ruby/intern.h (is_ruby_native_thread): prototype.

* missing/strftime.c (strftime): fix printf format and actual
  arguments.

* ext/Win32API/Win32API.c (Win32API_initialize): ditto.

* ext/tk/tcltklib.c (ip_finalize): ditto.

* ext/win32ole/win32ole.c (lcid_installed): ditto.

* ext/socket/getnameinfo.c: include stdio.h always.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12836 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-07-22 05:33:54 +00:00
nobu
4b40f2c516 * string.c (rb_str_resize): fix indent.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12834 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-07-21 14:54:51 +00:00
tadf
54057bbe33 * lib/date.rb, lib/date/format.rb (Date._parse): now can take some
hints (its aim must be mainly determination of endianness of
	  date). [experimental]

	* lib/date.rb, lib/date/format.rb (Date._parse): now completes
	  truncated year as default action. [experimental]

	* lib/date.rb, lib/date/format.rb: added ::iso8601, ::rfc3339,
	  ::xmlschema, ::rfc2822, ::httpdate, ::jisx0301, #xmlschema,
	  #httpdate. [experimental]



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12833 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-07-21 13:02:29 +00:00
nobu
2840fa6b65 * common.mk: inverted rules order.
* thread_win32.ci (w32_create_thread): bcc does not have
  _beginthreadex().

* bcc32/Makefile.sub: headers have moved.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12832 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-07-21 08:48:29 +00:00
nobu
92cad4305b * bcc32/{Makefile.sub,configure.bat,setup.mak: configure_args
support.

* bcc32/setup.mak: check runtime version.

* win32/win32.c (rb_w32_open_osfhandle): prototype has changed
  in bcc 5.82.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12831 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-07-21 08:32:34 +00:00
nobu
021660e442 * lib/mkmf.rb (create_makefile): make OBJS depend on RUBY_EXTCONF_H
only if extconf.h is created.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12830 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-07-21 08:07:37 +00:00
nobu
985099b0e3 * bcc32/Makefile.sub (ASMEXT): had overwitten OBJEXT.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12829 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-07-21 07:11:39 +00:00
nobu
267241808b * {win32,wince,bcc32}/setup.mak (-version-): no RUBY_EXTERN magic.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12828 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-07-21 06:39:26 +00:00
nobu
7dcc7aca28 * win32/resource.rb: include patchlevel number.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12827 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-07-21 06:32:40 +00:00
nobu
90ae4b364b * lib/mkmf.rb (init_mkmf): should remove mkmf.log too.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12826 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-07-21 03:06:50 +00:00
tadf
6683940715 * lib/date/format.rb (Date._parse): completes calendar week based year.
* lib/date/format.rb (Date._parse): detects year of ordinal date in
	  extended format.

	* and some trivial adjustments.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12824 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-07-20 16:52:59 +00:00
nobu
644d3a650f * compile.c (iseq_set_sequence): raise SyntaxError instead of rb_bug
since this function can be called from VM::InstructionSequence.load.

* compile.c (insn_set_sc_state, iseq_set_sequence_stackcaching): ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12823 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-07-20 07:30:33 +00:00
nobu
39c56c3349 * compile.c, compile.h (DECL_ANCHOR, INIT_ANCHOR): split not to
initialize aggregations with dynamic values.  [ruby-talk:259306]

* eval.c (rb_protect): not to initialize aggregations with dynamic
  values.  [ruby-talk:259306]

* gc.c (mark_current_machine_context): ditto.

* thread.c (thgroup_list, call_trace_func): ditto.

* vm.c (vm_init_redefined_flag): ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12822 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-07-20 07:11:35 +00:00
nobu
98a54d46f7 * ext/openssl/ossl_config.c (ossl_config_set_section): do not
initialize aggregations with dynamic values.  [ruby-talk:259306]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12821 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-07-20 06:22:54 +00:00
nobu
2c2adf8dc3 * parse.y (remove_begin): keep empty NODE_BEGIN, instead of null.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12820 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-07-20 01:43:50 +00:00
nobu
bf27f224f0 * parse.y (stmt, mlhs_node, lhs, arg, var_ref): return dummy
NODE_BEGIN after errors.  [ruby-dev:31100], [ruby-dev:31118]

* parse.y (remove_begin): make empty NODE_BEGIN to NODE_NIL, instead
  of null.  [ruby-dev:31252], [ruby-dev:31263]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12819 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-07-20 01:39:30 +00:00
nobu
327be4636e * bootstraptest/test_syntax.rb: SEGV tests for syntax.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12818 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-07-20 01:21:12 +00:00
nobu
4beb119393 * bootstraptest/runner.rb (get_result_string): check $?.coredump?
first.

* bootstraptest/runner.rb (cleanup_coredump, check_coredump): see
  stackdump file too.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12817 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-07-20 00:50:42 +00:00
akr
863e7e95f2 refine tests for shift.
more tests for string to integer conversion.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12816 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-07-19 17:04:53 +00:00
nobu
a1c76bc3de * eval_error.ci (get_backtrace): check the result more.
[ruby-dev:31261] [ruby-bugs-12398]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12815 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-07-19 10:24:17 +00:00
nobu
09ce106ab3 * bignum.c (rb_big_lshift, rb_big_rshift): separated functions
to get rid of infinite recursion.  fixed calculation in edge
  cases.  [ruby-dev:31244]

* numeric.c (rb_fix_lshift, rb_fix_rshift): ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12814 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-07-19 05:38:48 +00:00
nobu
ec6e26742c * bignum.c (rb_big_pow): refine overflow check. [ruby-dev:31242]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12813 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-07-18 07:57:45 +00:00
nobu
233221db60 * parse.y (rb_parser_append_print, rb_parser_while_loop): moved check
for node to the head.

* ruby.c (proc_options): do nothing for -p/-n options if tree is null.
  submitted by Yusuke ENDOH <mame AT tsg.ne.jp> at [ruby-dev:31243].


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12812 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-07-18 00:19:10 +00:00
matz
73c8156360 * time.c (time_succ): Time#succ should return a time object in the
same timezone mode to the original.  [ruby-talk:260256]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12811 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-07-17 23:55:17 +00:00
matz
4d16ce7da4 * sprintf.c (rb_str_format): make %u behave like %d for negative
values, since decimal format does not work with preceding dots.
  [ruby-core:11575]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12809 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-07-16 16:58:58 +00:00
matz
bc8724d05f * lib/base64.rb (Base64::b64encode): should not specify /o option
for regular expression.  [ruby-dev:31221]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12806 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-07-16 15:45:35 +00:00
nobu
6c12b69fda * string.c (rb_str_rindex_m): accept string-like object convertible
with #to_str method, as well as rb_str_index_m.  [ruby-core:11692]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12805 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-07-16 09:29:35 +00:00
nobu
c2b34e34cb * insns.def (getspecial): lfp_svar_get() requires int for special
global variables.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12804 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-07-15 22:17:31 +00:00
nobu
192c936e23 * sprintf.c (rb_f_sprintf): more checks for format argument.
[ruby-core:11569], [ruby-core:11570], [ruby-core:11571],
  [ruby-core:11573]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12803 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-07-15 20:45:55 +00:00
nobu
66e1be60c3 * bignum.c (rb_big_pow): removed invariant variable. [ruby-dev:31236]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12802 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-07-15 15:26:12 +00:00
nobu
cba32dcaa6 * ext/dl/cfunc.c (rb_dlcfunc_call): adjust format. [ruby-dev:31222]
* ext/digest/digest.c (rb_digest_instance_update,
  rb_digest_instance_finish, rb_digest_instance_reset,
  rb_digest_instance_block_length): %s in rb_raise() expects char*.
  [ruby-dev:31222]

* ext/openssl/ossl.h: include ossl_pkcs5.h.  [ruby-dev:31231]

* ext/openssl/ossl_pkcs5.h: new file for PKCS5.  [ruby-dev:31231]

* ext/openssl/ossl_x509name.c (ossl_x509name_to_s): use ossl_raise()
  instead of rb_raise().  [ruby-dev:31222]

* ext/sdbm/_sdbm.c: DOSISH platforms need io.h.  [ruby-dev:31232]

* ext/syck/syck.h: include stdlib.h for malloc() and free().
  [ruby-dev:31232]

* ext/syck/syck.h (syck_parser_set_input_type): prototype added.
  [ruby-dev:31231]

* win32/win32.c: include mbstring.h for _mbspbrk().  [ruby-dev:31232]

* include/ruby/win32.h (rb_w32_getcwd): prototype added.
  [ruby-dev:31232]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12799 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-07-15 13:24:39 +00:00
akr
746a7ec4f6 refine failure messages.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12798 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-07-15 12:15:42 +00:00
nobu
959bd6cfdf * bignum.c (bigtrunc): do not empty Bignum. [ruby-dev:31229]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12797 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-07-15 12:09:42 +00:00
nobu
65055630ac * bignum.c (get2comp): do nothing for empty Bignum. [ruby-dev:31225]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12796 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-07-15 12:07:46 +00:00
nobu
b64881077e * bignum.c (rb_cstr_to_inum): check leading non-digits.
[ruby-core:11691]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12795 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-07-15 10:05:37 +00:00
akr
dd523215af add reference.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12794 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-07-15 01:41:40 +00:00
akr
3c883bdd17 refined.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12793 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-07-15 01:20:56 +00:00