* configure.in (seekdir, telldir): add ac_cv_func_telldir=yes,
ac_cv_func_seekdir=yes for MinGW.
9 lines of code changed in:
made object address test to compare inspect's result.
1 lines of code changed in:
fix object address test.
1 lines of code changed in:
* io.c (pipe_finalize, pipe_popen): two-way pipe support for win32.
* win32/win32.c (ChildRecord, FindFreeChildSlot): ditto.
* win32/win32.c, win32/win32.h (pipe_exec): new function for two-way
pipe support for win32.
* win32/win32.c, win32/win32.h (FindPipedChildSlot, rb_w32_popen,
rb_w32_pclose): removed functions for two-way pipe support for win32.
214 lines of code changed in:
* pack.c (pack_unpack): change names of local variables because their
names are overlapped.
23 lines of code changed in:
* re.c (rb_reg_expr_str): need to process backslashes properly.
* object.c (rb_any_to_a): declare Object#to_a to be obsolete.
* object.c (rb_Array): do not convert nil into [] automagically.
* object.c (rb_Integer): use "to_int" instead of
"to_i". [experimental]
* object.c (nil_to_f): new method.
* object.c (rb_Integer): Symbols and nil should cause error.
* object.c (rb_Float): nil should cause error.
117 lines of code changed in:
lib/pp.rb: fix object address.
15 lines of code changed in:
missing ;
1 lines of code changed in:
Add Importable::symbol.
54 lines of code changed in:
* win32/win32.c (rb_w32_stat): fix buffer overflow. (ruby-bugs:PR#329)
5 lines of code changed in:
* lib/prettyprint.rb, lib/pp.rb: convenience methods added.
297 lines of code changed in:
refine previous change.
25 lines of code changed in:
* lib/prettyprint.rb: re-implemented for incremental output to handle
huge data. API is changed a bit.
* lib/pp.rb: adapt new pretty printing API.
294 lines of code changed in:
* parse.y (literal_concat_string): non-string last expression in
#{} was ignored when followed by literal.
8 lines of code changed in:
* parse.y (words, qwords): word list literal rules.
* parse.y (parse_string): ditto.
* parse.y (yylex): %W: word list literal with interpolation. [new]
149 lines of code changed in:
2002-06-25
2 lines of code changed in:
* parse.y (string1, xstring, regexp): moved lex_strnest
initialization to string_contents/xstring_contents.
17 lines of code changed in:
* dln.c: remove definition rb_loaderror().
4 lines of code changed in:
* dln.c: remark definition rb_loaderror().
5 lines of code changed in:
* parse.y (string_dvar): allow back references in interpolation.
11 lines of code changed in:
* parse.y (yylex): __END__ should not be effective within
string literals.
* parse.y (here_document): should be aware of __END__ within here
documents.
23 lines of code changed in:
* lib/mkmf.rb (create_makefile): get rid of nested string.
* lib/mkmf.rb (install_rb): site-install didn't work properly.
6 lines of code changed in:
* eval.c (rb_eval): NODE_EVSTR is no longer used.
* eval.c (eval): not enforce to make assigned variables dynamic.
* parse.y (string): split rules to strings/xstring/regexp to allow
arbitrary statements inside string interpolation.
* parse.y (here_document): splitted into three phases.
* parse.y (literall_append, literal_concat): added.
append/concatinate string literals.
* sample/test.rb (valid_syntax): adjust line number for BEGIN.
660 lines of code changed in:
updated to the new version (based on date2 3.3).
185 lines of code changed in:
* ext/readline/readline.c (readline_readline): get rid of
libreadline's bug. (ruby-bugs-ja:PR#268)
8 lines of code changed in:
* configure.in (__NO_ISOCEXT): add for mingw-runtime 2.0-2.
* configure.in (__MSVCRT__): removed because it is defined
in the GCC specs.
8 lines of code changed in:
* lib/ftools.rb (compare): don't return with a file opened
2 lines of code changed in:
* lib/ftool.rb (BUFSIZE): tuning, set buffer length to 8192.
15 lines of code changed in:
* ext/extmk.rb, lib/mkmf.rb (xsystem): open the log file if xsystem is called.
16 lines of code changed in:
* parse.y (yylex): ? followed by successive word charaters is
ternary operator not numeric literal.
8 lines of code changed in:
* parse.y (yylex): commands after break/next/rescue can take
arguments. (ruby-bugs-ja:PR#265)
6 lines of code changed in:
* win32/mkexports.rb: remove unnecessary exports. (ruby-dev:17418)
5 lines of code changed in:
unused variable.
0 lines of code changed in:
* parse.y (yylex): obsolete '?<whitespace>'; use '?\s', '?\n',
etc, instead.
* parse.y (yylex): no here document after a dot.
* parse.y (yylex): should have set lex_state after '`'.
* parse.y (yylex): should have set lex_state properly after
tOP_ASGN.
* bignum.c (rb_big2dbl): return canonical HUGE_VAL for infinity.
77 lines of code changed in:
* parse.y (yylex): should pushback proper char after '<<'.
* parse.y (range_op, cond0, cond): get rid of doubled warnings.
* parse.y (value_expr): reduce recursion level.
* parse.y (logop): ditto.
64 lines of code changed in:
* dln.c (dln_load): rb_notimplement takes no argument.
1 lines of code changed in:
2002-06-17
2 lines of code changed in:
* dln.c (dln_load): need to preserve dln_strerror() result,
calling other dl family can clear it.
18 lines of code changed in:
2002-06-15
2 lines of code changed in:
* dir.c (glob_helper): Use lstat() instead of stat() so it catches
a dead symlink. Given a dead symlink named "a", Dir.glob("?")
did catch it but Dir.glob("a") somehow didn't.
7 lines of code changed in:
*bcc32 fix for win9x.
20 lines of code changed in:
2002-06-14
2 lines of code changed in:
* parse.y (read_escape): deny zero-width hexadecimal character.
(ruby-bugs-ja:PR#260)
* parse.y (tokadd_escape): ditto.
* regex.c (re_compile_pattern): ditto.
19 lines of code changed in:
2002-06-13
2 lines of code changed in:
ext/exmk.rb.in, lib/singleton.rb: remove nested ""s.
8 lines of code changed in:
* eval.c (svalue_to_avalue): v may be Qundef. This fix was
suggested by Guy Decoux.
* hash.c (rb_hash_s_create): use rb_hash_aset() instead of calling
st_insert() directly, to dup&freeze string keys.
* parse.y (yylex): proper error message for "@@0".
* parse.y (yylex): paren to parse_string() must be zero for
unparenthesized strings.
* parse.y (str_extend): broken string when unterminated "#{".
* enum.c (enum_sort_by): had a bug in 1 element enumeration.
36 lines of code changed in:
* lib/mkmf.rb: typo fix(RUBY_PLAT_FORM -> RUBY_PLATFORM).
1 lines of code changed in:
avoid some warnings
10 lines of code changed in:
2002-06-12
2 lines of code changed in:
merged differences between uri-0.9.6 and uri-0.9.7
28 lines of code changed in:
* parse.y (yylex): 'do' should return kDO_BLOCK on EXPR_ENDARG.
* parse.y (singleton): "def (()).a end" dumped core.
* parse.y (range_op): node may be null.
* parse.y (match_gen): ditto.
* parse.y (arg): void value check for "..", "...", "!", and "not".
* parse.y (match_gen): void value check for "=~".
* parse.y (value_expr): check NODE_AND and NODE_OR recursively.
* parse.y (cond0): void value check added for conditionals.
71 lines of code changed in:
* parse.y (stmt): fix typo.
5 lines of code changed in:
Include ctype.h for isdigit().
1 lines of code changed in:
Check the length of proto.
2 lines of code changed in:
Get rid of STR2CSTR. (Thanks N.Nakada)
7 lines of code changed in:
bugfix. (Thanks U.Nakamura)
4 lines of code changed in:
* configure.in (LIBRUBY): rename to lib$(LIBRUBY_SO).a on Cygwin/MinGW.
* configure.in, cygwin/GNUmakefile: use dllwrap when --disable-shared
is specified.
24 lines of code changed in:
2002-06-11
2 lines of code changed in:
* parse.y (%%): remove '%%' line on the end of the file(parse error).
0 lines of code changed in:
* eval.c (rb_eval): ruby_frame->last_func may be null, if it's
called outside of a method.
* parse.y (arg): use INT2NUM, not INT2FIX for tUMINUS.
* parse.y (arg): unnecessary negative tPOW treatment.
* parse.y (tokadd_escape): wrong backslash escapement.
* parse.y (stmt,arg): too much void value check.
* parse.y (stmt,arg): need to check void value on rules which does
not use node_assign().
* ext/socket/socket.c (ipaddr): need not to taint hostnames.
* range.c (range_include): should be based on "<=>", whereas
member? still is based on "each".
* range.c (range_min,range_max): redefine methods based on "<=>".
162 lines of code changed in:
* lib/net/ftp.rb (noop): new method.
* lib/net/ftp.rb (site): ditto.
15 lines of code changed in:
* bcc32/Makefile.sub: set PROCESSOR_LEVEL to 6 if it's too big value.
* win32/Makefile.sub: ditto.
12 lines of code changed in:
* bcc32/configure.bat fix.
4 lines of code changed in:
new platform [bccwin32] merged.
1255 lines of code changed in:
bugfix.
19 lines of code changed in:
Add DL::Importable::Internal::callback().
47 lines of code changed in:
fix PR#.
1 lines of code changed in:
2002-06-10
2 lines of code changed in:
*** empty log message ***
2 lines of code changed in:
* numeric.c (fix_lshift): negative shift count means right shift.
* numeric.c (fix_rshift): return -1 when left side operand is
negative.
* parse.y (yylex): `0_' should be an error. (ruby-bugs-ja:PR#239)
20 lines of code changed in:
dl.c (rb_dl_scan_callback_args): memcpy() -> cast and substitution
4 lines of code changed in:
Get rid of rb_dl_set_callback() and rb_dl_get_callback().
0 lines of code changed in:
* ext/dl: change the callback mechanism.
212 lines of code changed in:
modify typo.
1 lines of code changed in:
* sample/biorhythm.rb (getPosiiton,etc)
fix at changing Date module ( Date is changed Fixnum to Rational )
7 lines of code changed in:
* win32/Makefile.sub (config.status): use sub! instead of []= because
[]= causes exception.
6 lines of code changed in:
typo.
1 lines of code changed in:
* lib/thread.rb (Queue::pop): get rid of race condition.
11 lines of code changed in:
Trivial: GCC3.1 fix (not worth to mention in ChangeLog)
2 lines of code changed in:
* tcltklib.c:
Stop the running zombi-eventloop when mainloop_watchdog is killed.
42 lines of code changed in:
* ext/Win32API/extconf.rb: refactoring.
8 lines of code changed in:
* ext/socket/extconf.rb: The IPv6 stack of Cygwin is still incomplete.
8 lines of code changed in:
* ext/tcltklib/tcltklib.c (Init_tcltklib): moved the definition before actions.
7 lines of code changed in:
* ext/tk/lib/tkentry.rb: typo fix(!! -> ||).
1 lines of code changed in:
2002-06-04
2 lines of code changed in:
* 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.
54 lines of code changed in:
* 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
720 lines of code changed in:
* ext/socket/getaddrinfo.c (gai_strerror): make literals const.
2 lines of code changed in:
* 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.
135 lines of code changed in:
change PLATFORM with RUBY_PLATFORM.
7 lines of code changed in:
* 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)
21 lines of code changed in:
merge win32ole from rough
13392 lines of code changed in:
May 2002 »