Commit graph

64552 commits

Author SHA1 Message Date
eban
4a470051b6 * ext/tk/lib/tkentry.rb: typo fix(!! -> ||).
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2519 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-06-04 07:48:30 +00:00
eban
c0eea52326 2002-06-04
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2518 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-06-04 07:35:48 +00:00
matz
b7bc0cae53 * string.c (rb_str_aset): should raise error if an indexing string
is not found in the receiver.

* sprintf.c (rb_f_sprintf): "%d" should convert objects into
  integers using Integer().

* lib/tempfile.rb (Tempfile::size): added.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2517 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-06-04 07:34:19 +00:00
nagai
4cb164ee2a * tkfont.rb: Fix bugs on TkFont.init_widget_font for Tk8.x.
* tkafter.rb: Add self to 1st argument of interval- and loop-proc
    TkAfter#current_interval returns an interval (sleep) time value
    TkAfter#current_args returns an array of arguments
    TkAfter#return_value returns a return value of last loop-proc
      e.g.
         TkAfter.new(
           proc{|obj| 500 - obj.current_interval}, 10,
           [proc{|obj| p obj.current_args}, 'proc', 1],
           proc{|obj| p obj.current_args; ['return', 2]},
           [proc{|obj|
              p obj.return_value
              p ['proc', obj.current_args[0].call(obj.return_value[1],
                                                  obj.current_args[1])]},
            proc{|*args| args[0] + args[1]}, 1],
           proc{p ['proc', 4]} ).start(100)

* tk*.rb: Allow to use Symbols for parameters.
    Allow new notation of constructor (also allow old notation).
      e.g.
        TkFrame.new('classname'=>'User'){|base|
          pack
          f = TkFrame.new(base, :classname=>'ButtonFrame').pack
          TkButton.new(
             :parent     => f,
             :text       => 'Quit',
             :command    => proc{exit}
          ).pack(
             :fill => :x,
             :pady => 2
          )
        }

* tkcanvas.rb: (TkcItem) Add 'coords' parameter to the canvas item
    constructor (for new notation of constructor).
      e.g.
        c = TkCanvas.new.pack
        l = TkcLine.new(c, :coords=>[[0,0], [100,100]])

* tcltklib.c: New 'mainloop' and 'mainloop_watchdog'.
    The priority of their event-loop can be controlled.
    They accept an optional argument.
    If it false, they don't exit although the root widget is destroyed.
    This function is sometimes useful, if it is used with 'restart'.
    'mainloop' can't treat Thread#join/value in a callback routine.
    (e.g. TkButton.new(:command=>proc{p Thread.new{button.invoke}.value}) )
    'mainloop_watchdog' can treat them, but watchdog thread is always running
    (so, a little heavier than 'mainloop').
    If the purpose of using Thread#join/value is to do something under some
    safe-level, please use Proc object.
    (e.g. :command=>proc{$SAFE=1;proc{$SAFE=2;button.invoke}.call;p $SAFE})

* tk.rb: Support functions of new 'mainloop' and 'mainloop_watchdog'.

* tk.rb: (Tk.restart) Add 'app-name' paramater and 'use' parameter.
    'app-name' specifies the name and the resource class of the
    application. If 'app-name' is specified to 'xxx', the application
    class on the resource database is set to 'Xxx' and the application
    name is changed by the same rule of Tk.appname method.  'use'
    specifies the main window for embedding the root widget instead of
    generating a new window.

* tk.rb: Add new parameter 'widgetname' to the widget constructor to
    support effective use of Resource Database.  For example, the
    resource 'Xxx*quit.text: QUIT' can set the text of the button
    generated by the following code.
      e.g.
        Tk.restart('Xxx')
        TkButton.new(nil, 'widgetname'=>'quit', 'command'=>proc{exit}).pack
        Tk.mainloop

* tk.rb: TkOption::get always returns a tainted string.
    Add TkOption::new_proc_class.
    It generates a class to import procedures defined on the resource
    database. For example, there is a following resource file.
      ----< resource-test >------------
      *CMD.foo: {|*args| p [$SAFE, :foo, args]}
      *CMD.XXX.bar: {|*args| p [$SAFE, :bar, args]}
      *Button.command: ruby {p self; p $SAFE; TkOption::CMD::XXX.bar(1,2,3)}
      ---------------------------------
    The following code is a sample of use of the resource file.
      e.g.
        require 'tk'
        TkOption.readfile 'resource-test'
        p TkOption.new_proc_class(:CMD, [:foo], 1)
        p TkOption.new_proc_class(:XXX, [:bar], 2, false, TkOption::CMD)
        TkButton.new(:text=>'test').pack
        Tk.mainloop


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2515 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-06-04 07:03:33 +00:00
nobu
dc010ff515 * ext/socket/getaddrinfo.c (gai_strerror): make literals const.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2513 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-06-03 16:02:16 +00:00
nobu
5df72288f8 * ext/socket/addrinfo.h: typo.
* ext/socket/getaddrinfo.c (gai_strerror): get rid of warning.

* ext/socket/socket.c (init_inetsock): ensures resources are
  freed at exceptions.

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

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


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2511 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-06-03 15:52:28 +00:00
suke
a52442f27e change PLATFORM with RUBY_PLATFORM.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2510 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-06-03 11:44:08 +00:00
nobu
2263dbe022 * parse.y (here_document): check if identifier is terminated.
(ruby-bugs-ja:PR#239)

* parse.y (yylex): should pushback proper char after '**'.
  (ruby-bugs-ja:PR#240)


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2509 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-06-02 22:16:55 +00:00
suke
f14180707d merge win32ole from rough
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2508 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-06-01 12:34:30 +00:00
eban
95a5a67142 2002-05-30
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2507 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-05-30 06:14:02 +00:00
matz
34f5c4061c * range.c (range_step): iteration done using "+" if elements are
Numeric.  Otherwise using "succ".

* range.c (range_each): iteration done using "succ".  If the
  elements does not respond to "succ", raise TypeError.  As a
  result, all Enumerable methods, e.g. collect, require elements
  to respond to "succ'.

* range.c (range_member): comparison done using "each", if
  elements are non-Numeric or no-"succ" objects.  Otherwise
  compare using "<=>".

* range.c (Init_Range): remove "size" and "length".


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2506 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-05-30 06:12:29 +00:00
wakou
21b2953030 * lib/cgi.rb: if StringIO is usable then use it.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2505 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-05-30 00:21:05 +00:00
H_Konishi
d7c1784297 Wed May 29 18:55:47 2002 KONISHI Hiromasa <H_Konishi@ruby-lang.org>
* function renames my* and win32_* to rb_w32_* in win32/win32.c
	  fixed files win32/win32.c, win32/win32.h, win32/dir.h,
	              hash.c, rubysig.h, signal.c, ext/socket/socket.c


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2504 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-05-29 10:22:19 +00:00
eban
1715197c37 * time.c (tmcmp, search_time_t): activate unless HAVE_TIMEGM.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2503 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-05-29 08:42:18 +00:00
wakou
4b3a6c7aec fix for POST method.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2502 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-05-29 05:39:09 +00:00
matz
4ab1577db3 * parse.y: yyparse #defines moved from intern.h
* ruby.c (proc_options): access prefixed "ruby_yydebug".

* applied modifies to pacify some of gcc -Wall warnings.

* parse.y (arg): no more ugly hack for "**", so that "-2**2" to be
  parsed as "(-2)**2", whereas "- 2**2" or "-(2)**2" to be parsed
  as "-(2**2)".

* parse.y (yylex): '-2' to be literal fixnum. [new]

* time.c (time_succ): new method for Range support.

* time.c (time_arg): nil test against v[6] (usec).


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2500 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-05-29 05:20:39 +00:00
wakou
99551555c8 * lib/cgi.rb: not use const if GET, HEAD. check multipart form head.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2499 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-05-29 04:48:32 +00:00
michal
bab153b243 * array.c: fixed format string for 'long' args (%d -> %ld).
* class.c: ditto.

	* eval.c: ditto.

	* numeric.c: ditto.

	* pack.c: ditto.

	* parse.y: ditto.

	* range.c: ditto.

	* string.c: ditto.

	* util.c: ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2498 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-05-28 18:11:07 +00:00
nobu
ff3d6d201d * eval.c (scope_node): trick to keep the node has a scope.
* eval.c (rb_eval): NODE_EVSTR: write back local_tbl to the node.

* eval.c (rb_eval): NODE_SCOPE: hold the scope node in ruby_scope.

* eval.c (module_setup): ditto.

* eval.c (rb_call0): ditto.

* node.h (NEW_DASGN, NEW_DASGN_CURR): remove surplus semicolons.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2497 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-05-28 03:20:04 +00:00
nobu
1fe8b37425 * ruby.c (proc_options): option parsing problem.
(ruby-bugs-ja:PR#233)


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2496 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-05-23 07:41:53 +00:00
matz
6e87a54aec * ruby.c (proc_options): removed "-*-" support for #! line.
* io.c (rb_io_s_sysopen): new method to get a raw file
  descriptor. [new]

* ext/socket/socket.c (tcp_sysaccept): new method to return an
  accepted socket fd (integer). [new]

* ext/socket/socket.c (unix_sysaccept,sock_sysaccept): ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2492 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-05-23 05:35:32 +00:00
nobu
730d8f1d32 * ruby.c (proc_options): -T consumes digits only.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2490 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-05-22 12:32:15 +00:00
eban
f625a17502 Wed May 22 20:18:31 2002 WATANABE Hirofumi <eban@ruby-lang.org>
* configure.in: need not link vsnprintf.o on MinGW.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2488 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-05-22 11:23:11 +00:00
aamine
3caee29585 * parse.y (yylex): case '<': here-document label ate '-'.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2487 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-05-22 09:40:17 +00:00
nobu
ce3ea1911a 2002-05-22
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2486 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-05-22 07:51:15 +00:00
matz
a84982e129 minor bug fixes.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2485 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-05-22 05:57:08 +00:00
matz
edbe98d848 * object.c (Init_Object): should do exact match for Module#==.
* compar.c (cmp_eq): returns 'false' if <=> returns 'nil'.

* compar.c (cmp_gt,cmp_ge,cmp_lt,cmp_le,cmp_between): ditto.

* pack.c (pack_pack): should propagate taintedness.

* pack.c (pack_unpack): ditto.

* eval.c (rb_thread_schedule): need to preserve errno before
  calling rb_trap_exec().

* regex.c (calculate_must_string): a bug in charset/charset_not
  parsing.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2482 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-05-21 05:39:19 +00:00
nobu
9402cbeec5 * misc/ruby-mode.el (ruby-font-lock-keywords): symbols end with '_'.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2481 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-05-21 04:35:31 +00:00
wakou
221e3c4c07 Tue May 21 04:48:37 2002 Sean Chittenden <sean@chittenden.org>
* lib/cgi-lib.rb: Checking for constant MOD_RUBY instead of
	  environment variable. Remove a mod_ruby warning and use
	  Apache::request.headers_out[] instead.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2480 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-05-20 19:56:52 +00:00
nobu
dbdd56faf8 * parse.y (bodystmt): ensure clause was excuted on else clause
without rescue clase.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2479 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-05-20 16:22:23 +00:00
ttate
15ac468a24 Get rid of a function.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2478 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-05-20 15:50:28 +00:00
ttate
77aad8b2f3 Get rid of a few functions.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2477 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-05-20 15:47:59 +00:00
ttate
4bf76b4e6c rename PtrData::alloc and Struct#alloc to malloc respectively.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2476 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-05-20 15:35:48 +00:00
ttate
a2db8e72c1 Get rid of the declaration of rb_str_cat2().
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2475 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-05-20 09:38:23 +00:00
nobu
077d92a044 2002-05-20
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2474 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-05-20 04:39:50 +00:00
nobu
b241a0680c * io.c (rb_io_clone): writing stream was not copied properly.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2473 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-05-20 04:33:59 +00:00
tadf
a61dbb9231 added a summary of the changes in the new date.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2472 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-05-19 12:13:51 +00:00
tadf
e592b8f286 added an entry (date/format.rb).
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2471 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-05-19 10:28:36 +00:00
tadf
c1f213f4d0 added an entry (lib/date/format.rb).
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2470 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-05-19 01:07:41 +00:00
tadf
5c2e3a8821 corrected paths.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2469 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-05-18 15:15:00 +00:00
tadf
a0a9227b71 use Array#select instead of Array#indexes.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2468 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-05-18 12:57:54 +00:00
tadf
dc9cd6a8c2 updated to the new version (based on date2 3.2.1).
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2467 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-05-18 12:41:51 +00:00
usa
62f83f9f13 * win32/Makefile.sub (config.h): add VC++4/5 support about noreturn
directive.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2466 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-05-18 12:19:05 +00:00
eban
7ee0812aee * sampl/test.rb: use eval instead of './miniruby -c',
in order to check a syntax error.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2464 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-05-17 07:29:47 +00:00
eban
d8a615ed3d 2002-05-16
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2461 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-05-16 06:17:05 +00:00
nobu
3b89da683f * eval.c (rb_thread_select): cleanup conditional compilation.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2460 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-05-16 05:53:14 +00:00
ttate
849fb05bb1 Add DL::DLSTACK.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2459 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-05-15 06:23:05 +00:00
nobu
09f26aaba1 * win32/Makefile.sub: config.h inlined. and catch up with the
latest change.

* win32/config.h.in: no longer used.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2458 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-05-14 09:22:22 +00:00
matz
eb6118992b * eval.c (rb_clear_cache_by_class): new function.
* eval.c (set_method_visibility): should have clear cache forq
  updated visibility.

* numeric.c (flo_to_s): default format precision to be "%.16g".

* util.c (ruby_strtod): use own strtod(3) implementation to avoid
  locale hell.  Due to this change "0xff".to_f no longer returns 255.0

* eval.c (avalue_to_yvalue): new function to distinguish yvalue
  (no-arg == Qundef) from svalue (no-arg == Qnil).

* eval.c (rb_yield_0): use avalue_to_yvalue().

* eval.c (assign): warn if val == Qundef where it means rhs is
  void (e.g. yield without value or call without argument).

* parse.y (value_expr): need not to warn for WHILE and UNTIL,
  since they can have return value (via valued break).


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2457 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-05-14 06:22:31 +00:00
eban
c5d6a1ba48 * gc.c (is_pointer_to_heap): avoid GCC 3.1 warnings.
* missing/strftime.c (timezone): it should take no argument on Cygwin.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2454 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-05-14 05:59:35 +00:00