Commit graph

5239 commits

Author SHA1 Message Date
matz
bad7546f15 * gc.c (define_final): eliminate rb_f_lambda() call.
* class.c (rb_scan_args): ditto.

* signal.c (sig_trap): ditto.

* hash.c (rb_hash_initialize): ditto.

* variable.c (rb_f_trace_var): ditto.

* ext/dl/dl.c (rb_dl_callback): ditto.

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

* eval.c (ruby_cleanup): $SAFE is turned off in the finalization.
  Each END proc should preserve its own $SAFE level. [ruby-core:01119]

* marshal.c (marshal_load): remove unused variable "hash".
  [ruby-core:01120]

* hash.c (env_str_new): freeze strings from ENV. [ruby-talk:72860]

* array.c (rb_ary_first): optional argument to retrieve first n
  elements.

* array.c (rb_ary_last): optional argument to retrieve last n
  elements.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3915 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-06-06 09:44:22 +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
eban
d9f893b70b * ext/curses/curses.c (window_s_allocate,curses_finalize):
avoid VC++ warnings.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3909 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-06-05 09:36:30 +00:00
why
bd368e9749 * ext/syck/rubyext.c: using GC nodes caused segfault. [ruby-core:1071]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3906 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-06-05 05:40:03 +00:00
why
017d4ff10a * ext/syck/token.c: directives choked on a period.
* ext/syck/gram.y: anchors work above a collection. [ruby-core:1071]

* ext/syck/handler.c, ext/syck/syck.c: ensure a fresh strtable between
  parser iterations.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3905 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-06-05 04:43:05 +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
eban
4893c5cce1 * ext/digest/defs.h: better support for old Cygwin, again.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3897 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-06-01 15:39:52 +00:00
eban
e7bcd2ee33 * ext/digest/defs.h: better support for old Cygwin.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3896 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-06-01 15:27:09 +00:00
eban
9b616a5e85 * ext/digest/defs.h: avoid warnings on Cygwin.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3895 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-06-01 14:20:58 +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
why
5b743d275e * ext/syck/token.c: preserve any indentation passed an explicit
indentation.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3881 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-05-29 23:51:16 +00:00
why
5d47fda3f8 * ext/syck/handler.c, ext/syck/syck.h: removed syck_fold_format().
* ext/syck/gram.c: flexibility for aliases and anchors.

* ext/syck/token.c: folding now handled in the tokenizer.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3880 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-05-29 23:33:10 +00:00
nobu
aa37cc7127 * ext/socket/socket.c (sock_addrinfo): get rid of SEGV at NULL ptr
String.  increase buffer size for 64bit platforms.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3871 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-05-27 11:07:57 +00:00
matz
b4fd4d6018 * eval.c (Init_Proc): Block/Proc separation. [huge change]
* eval.c (block_arity): returns exact arity number for Procs out
  of methods. also gives 1 for {|a|..}.

* string.c (rb_str_match): revert use of String#index for
  invocation like string =~ string.

* eval.c (rb_Array): move Object#to_a exclusion hack from
  splat_value().  need to be in eval.c for a while.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3867 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-05-26 08:22:33 +00:00
matz
cec20793cb * eval.c (ruby_finalize): turn off ruby_debug flag before calling
at_exit procs and finalizers. (ruby-bugs-ja:PR473)

* ext/tcltklib/tcltklib.c (lib_mainloop_core): OK to block if
  there's no other thread. (ruby-bugs:PR#861)


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3859 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-05-23 08:11:21 +00:00
why
9bb4160189 * lib/token.c: single- and double-quoted root-level fix.
* lib/yaml.rb (YAML::object_maker): can create object attributes (such as
  found in Exception class)

* lib/yaml/rubytypes.rb: roundtripping of Exception and subclasses.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3856 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-05-22 17:56:30 +00:00
why
9780fc27d9 * ext/syck/rubyext.c (rb_syck_err_handler): raise ArgumentError on
malformed YAML.

* lib/yaml/rubytypes.rb: String#to_yaml was missing space indicators at
  the end of a line.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3851 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-05-22 06:14:17 +00:00
why
5e1c96af53 * ext/syck/rubyext.c (syck_parser_load): root-level false was returning
nil.

* ext/syck/token.c: root-level transfer method bug.

* ext/syck/gram.c: root-level empty gave a parse error.

* lib/yaml/rubytypes.rb: Symbol#to_yaml generating method call error.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3850 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-05-22 05:41:06 +00:00
eban
b614db0432 * st.h: define ST_DATA_T_DEFINED for portability.
* ext/syck/syck.h: add typedef, st_data_t for Ruby 1.6.

* ext/syck/syck.c (syck_st_free_nodes): return int.

* ext/syck/syck.c (syck_add_sym): cast the data to st_data_t
  to avoid error on bcc32.

* ext/syck/syck.c (syck_lookup_sym): ditto.

* ext/syck/syck.c (syck_free_parser): NULL is not integer.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3834 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-05-20 06:48:04 +00:00
why
340e5082e2 * lib/token.c, lib/implicit.c: expanded character set to allow UTF-8,
other Ruby encodings.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3830 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-05-19 18:46:57 +00:00
why
f5b2e6b149 * lib/syck.c, lib/syck.h, lib/token.c, lib/gram.c: count line numbers
only if line pointer has increased.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3829 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-05-19 16:37:20 +00:00
matz
7e35911e10 * ext/pty/pty.c (pty_finalize_syswait): join (using Thread#value)
before detach pid. [ruby-talk:71519]

* eval.c (PUSH_FRAME): save outer ruby_block. [ruby-list:37677],
  [ruby-dev:20202]

* eval.c (BEGIN_CALLARGS): restore outer block by using
  ruby_block->outer.

* eval.c (block_pass): do not alter block->prev, but block->outer.

* array.c (get_inspect_tbl): warning on wrong condition.

* eval.c (localjump_xvalue): renamed exitstatus to exit_value
  since it's not exit "status" after all.

* eval.c (localjump_error): add reason to LocalJumpError.

* compar.c (rb_cmpint): raise error via rb_cmperr(), if cmp value
  is nil. now take new 2 arguments.

* time.c (time_cmp): 2003-05-16 fix was incomplete.
  (ruby-bugs-ja:PR#458)


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3823 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-05-19 15:45:46 +00:00
suke
7e190d7568 add WIN32OLE_TYPE#to_s method.
add WIN32OLE_VARIABLE#to_s method.
add WIN32OLE_METHOD#to_s method.
add WIN32OLE_PARAM#to_s method.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3813 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-05-17 13:49:08 +00:00
nobu
e9d1dd8388 * ext/socket/socket.c (ruby_connect): connect() after EINPROGRESS
returns EINVAL on some platforms, need to check true error
  status.  [ruby-core:01037]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3809 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-05-16 15:18:14 +00:00
why
c601cf5318 * lib/gram.c: fixes to one-line documents and end of stream documents.
* lib/syck.c, lib/syck.h: add root_on_error to parser struct, specifying
  the symbol to be returned on a parse error.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3807 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-05-15 21:46:47 +00:00
why
42fd4ff686 * ext/ruby/ext/syck/rubyext.c, lib/implicit.re: timestamp repairs to
timezone and milliseconds.

* lib/syck.c (syck_parser_reset_levels): duplicate string literal to avoid warning.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3801 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-05-15 07:38:10 +00:00
usa
8bdfa739ad * ext/syck/syck.c (syck_parser_pop_level): add prototype.
* ext/syck/syck.c (syck_strndup): should return value.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3797 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-05-15 00:52:28 +00:00
why
f5a6a36471 * ext/syck/gram.c: sequence-in-map shortcut, transfer methods on
sequence-in-sequence, memory leak in mapping merge. [0.28]

* ext/syck/syck.c: memory leak in domain anchoring. [0.28]

* lib/yaml/rubytypes.rb, lib/yaml/types.rb: eliminated 1.6.x code.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3795 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-05-14 20:01:09 +00:00
usa
1b92c12743 * ext/syck/rubyext.c: add prototypes to avoid VC++ warnings.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3793 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-05-14 10:57:42 +00:00
why
17f705e8cd * lib/yaml/rubytypes.rb, lib/yaml/types.rb: using Object#object_id
rather than deprecated Object#id.

* ext/token.c: changed ASCII escapes to octal notation.

* ext/Setup*: added entries for static linking of Syck extension.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3789 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-05-13 22:29:52 +00:00
eban
bee670e33a ext/syck/handler.c (syck_hdlr_add_alias): add cast to avoid warning.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3788 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-05-13 16:25:41 +00:00
eban
43b1770ed6 * ext/syck/handler.c: add proper casts.
* ext/syck/syck.c: ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3787 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-05-13 11:41:19 +00:00
why
bd810795c5 * lib/yaml/rubytypes.rb: object and struct loading
* lib/yaml.rb: YAML::detect_implicit will discover typing for a Ruby string

* ext/syck/: Fixed portable comments, misuse of NULL and methods without return VALUEs.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3784 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-05-13 06:34:18 +00:00
why
e44e2ef2e8 * ext/syck/implicit.c, ext/syck/rubyext.c: transfer methods applied to native loading
* ext/syck/token.c: fix for transfer methods on same indentation as nested mapping

* lib/yaml/rubytypes.rb: all type names in lowercase


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3781 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-05-11 06:32:13 +00:00
why
4b25d0d2cb * ext/syck/gram.c ext/syck/handler.c ext/syck/implicit.c
ext/syck/node.c ext/syck/rubyext.c ext/syck/syck.c
  ext/syck/syck.h ext/syck/token.c: updated to Syck 0.27

* lib/yaml/loader.rb: new YAML::Loader class

* lib/yaml.rb: loading of type families leverages YAML::DefaultLoader


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3778 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-05-10 19:55:18 +00:00
eban
304a99ff65 * ext/syck/MANIFEST: new file.
* ext/syck/.cvsignore: new file.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3775 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-05-10 09:29:26 +00:00
why
55f4dc4c9a Initial checkin of YAML substances.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3772 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-05-09 21:25:50 +00:00
matz
e49203726e * numeric.c (num_step): remove epsilon; add margin of 0.5, to make
"1.1.step(1.5,0.1)" to work (third try).


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3764 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-05-06 16:48:51 +00:00
shigek
3f8d7303c1 bigdecimal-brushup.patch from Tadashi Saito applied.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3763 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-05-06 13:18:26 +00:00
aamine
01ca1341da * ext/bigdecimal/.cvsignore: new file (retry).
* ext/zlib/.cvsignore: new file (retry).


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3761 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-05-06 08:25:46 +00:00
matz
7752fb4205 * object.c (rb_obj_methods): list singleton methods if recur
argument is false;  list all methods otherwise.

* numeric.c (num_step): double epsilon to make "1.1.step(1.5,0.1)"
  to work.

* ext/gdbm/gdbm.c (fgdbm_values_at): new method to replace
select(index..).

* ext/sdbm/init.c (fsdbm_values_at): ditto.

* ext/dbm/dbm.c (fdbm_values_at): ditto.

* ext/dbm/dbm.c (DBM::VERSION): defined.

* ext/gdbm/testgdbm.rb: replace select with values_at.

* ext/sdbm/testsdbm.rb: ditto.

* ext/dbm/testdbm.rb: ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3758 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-05-06 06:51:31 +00:00
matz
f595d5b0d2 * array.c (rb_ary_values_at): new method to replace select(index..).
* hash.c (rb_hash_values_at,env_values_at): ditto.

* re.c (match_values_at): ditto.

* struct.c (rb_struct_values_at): ditto.

* re.c (match_select): add iterator behavior.
	* ext/curses/curses.c, ext/digest/sha2/sha2.c, ext/iconv/iconv.c,
	  ext/racc/cparse/cparse.c: include "ruby.h" at the top to shut up
	  "_FILE_OFFSET_BITS redefined" warning on Solaris.

* class.c (rb_class_protected_instance_methods): now gives
  warnings to show migration path.  The default will be reversed
  on Jan 2004.

* numeric.c (num_step): "1.1.step(1.5,0.1)" to work.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3754 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-05-04 16:03:24 +00:00
suke
49cd34df39 secure check when safe level 4.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3750 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-05-03 02:17:26 +00:00
shigek
aaebe67919 Patch from Michal Rokos for sprintf format strings applied.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3728 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-04-25 08:37:33 +00:00
shigek
0df57ab547 Removed lib & sample dir.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3727 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-04-25 00:54:01 +00:00
shigek
8d73177ad9 BigDecimal dir. rearrangement according to the suggestions from Minero Aoki.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3723 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-04-24 13:41:29 +00:00
shigek
cff57b4a26 Dir. rearrangement according to the suggestions from Minero Aoki.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3722 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-04-24 13:37:32 +00:00
shigek
558c428b72 More explanations for sincos.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3721 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-04-24 13:32:30 +00:00
shigek
782d0f0d32 Prec. improvement for PI.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3720 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-04-24 13:31:20 +00:00
eban
ab6e5c655c * ext/extmk.rb: add -Wl,--no-undefined to LDSHARED only
if GNU ld is 2.11 or later.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3719 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-04-24 10:49:57 +00:00