Added RDoc comments. See comments at EOF for remaining issues.
230 lines of code changed in:
* string.c (rb_str_index): search using Karp-Rabin algolithm.
28 lines of code changed in:
* variable.c (rb_obj_classname): wrong tail recursion.
1 lines of code changed in:
* variable.c (rb_obj_classname): new function.
* string.c (rb_str_dup): should preserve original's class (but not
hidden singleton class).
* string.c (rb_str_substr): ditto.
* parse.y: backout EXPR_CMDARG removal.
92 lines of code changed in:
* random.c (rb_f_rand): type fix.
4 lines of code changed in:
* parse.y (yylex): remove EXPR_CMDARG according to the RHG book.
31 lines of code changed in:
* lib/optparse.rb (OptionParser::make_switch): NoArgument doesn't
override other styles.
16 lines of code changed in:
* lib/optparse.rb (OptionParser::List::accept): default
pattern must not be nil.
6 lines of code changed in:
2003-01-30
3 lines of code changed in:
* lib/optparse.rb (OptionParser::Switch::PlacedArgument): added.
if the next argument doesn't start with '-', use it as the
value.
* lib/optparse.rb (OptionParser::make_switch): fixed a bug of
pattern.
* lib/optparse.rb (Array): no need to guard.
52 lines of code changed in:
* file.c (rb_file_s_expand_path): removed a sludge.
9 lines of code changed in:
* instruby.rb (parse_args), ext/extmk.rb (parse_args): Prepend a
hyphen to the first argument of MAKEFLAGS only if appropriate.
Remove wrong comments.
21 lines of code changed in:
2003-01-27
3 lines of code changed in:
* error.c (get_syserror): use snprintf() instead of sprintf(). pointed
out by knu.
9 lines of code changed in:
* error.c (get_syserror): some Windows' errno have 5 digits.
6 lines of code changed in:
Update.
9 lines of code changed in:
* instruby.rb ($mflags.set?): Check $make instead of $nmake, sinse
there is no such a variable.
* instruby.rb ($mflags.set?), ext/extmk.rb ($mflags.set?): Return
false if unmatched.
11 lines of code changed in:
* lib/shellwords.rb: Embed rdoc style comments.
* lib/shellwords.rb (shellwords): Use String#lstrip!.
* lib/shellwords.rb (shellwords): Recognize an object that
responds to to_str() by using String.new().
36 lines of code changed in:
* instruby.rb (parse_args), ext/extmk.rb (parse_args): Detect -n
and emulate a dry run. Use 'make' in case no --make argument is
given.
38 lines of code changed in:
* instruby.rb (makedirs): make same directory only once even if
dryrun.
17 lines of code changed in:
* instruby.rb: re-define individual methods verbosely rather than
including FileUtils::Verbose, in order to suppress messages from
FileUtils#cmp.
* lib/fileutils.rb (FileUtils::Verbose, FileUtils::NoWrite):
re-define methods with define_method instead of module_eval.
9 lines of code changed in:
*** empty log message ***
23 lines of code changed in:
* instruby.rb, ext/extmk.rb, Makefile.in, win32/Makefile.sub,
bcc32/Makefile.sub: Replace the complicated MFLAGS/MAKEFLAGS
parser with something plain and comprehensible. This fixes a
bug where make flags were wrongly reordered and the resulted
command line often did not make sense especially when BSD make
is used with extra arguments given. Tested with FreeBSD and
Linux by me and mswin32, bccwin32 and mingw by usa.
121 lines of code changed in:
Converted RD to RDoc and improved documentation. See comments at EOF.
318 lines of code changed in:
2003-01-24
3 lines of code changed in:
* parse.y: tMINUS should have lower precedence than tPOW.
8 lines of code changed in:
* misc/ruby-mode.el (ruby-font-lock-syntactic-keywords): deal
with escaped $ and ? at the end of strings. [ruby-talk:62297]
* misc/ruby-mode.el (ruby-font-lock-keywords): added defined?.
13 lines of code changed in:
* eval.c (rb_eval): do not warn discarding already undefined
method.
* lib/rational.rb: undef quo before replacing.
11 lines of code changed in:
garbage?
1 lines of code changed in:
* parse.y (arg): missing arguments.
6 lines of code changed in:
2003-01-23
3 lines of code changed in:
* lib/rational.rb: modified to support "quo".
* numeric.c (num_quo): should return most exact quotient value,
i.e. float by default, rational if available.
* numeric.c (num_div): "div" should return x.divmod(x)[0].
67 lines of code changed in:
* time.c (time_arg): was accessing garbage argv value.
5 lines of code changed in:
* parse.y (arg): syntaxify tPOW negative number hack.
* parse.y (negate_lit): new function to negate literal numeric
values in compile time.
* regex.c (re_match_exec): charset info may be stored in MBC
region when $KCODE != NONE.
* error.c (set_syserr): should preserve duplicated error names.
102 lines of code changed in:
wrong fix.
3 lines of code changed in:
* instruby.rb: should not contain destdir in shebang line.
5 lines of code changed in:
* win32/win32.c (pipe_exec): remove unnecessary SetStdHandle().
41 lines of code changed in:
makes possible to add files to clean and distclean targets
11 lines of code changed in:
Small changes to documentation.
9 lines of code changed in:
Converted RD to RDoc, with some changes/additions.
163 lines of code changed in:
Correct descriptions of {proper_,}{superset,subset}?.
3 lines of code changed in:
Very slight improvement to documentation.
1 lines of code changed in:
Exchange do { } while (0) for ((void)0)
6 lines of code changed in:
2003-01-21
3 lines of code changed in:
* bcc32/Makefile.sub (LIBRUBY_A): link dmyext.
6 lines of code changed in:
* parse.y (arg): put back old ** behavior for negative number
right operand.
24 lines of code changed in:
* instruby.rb: use real interpreter pathname at shebang line.
[ruby-dev:19370]
28 lines of code changed in:
* lib/pp.rb: Use Test::Unit.
* lib/prettyprint.rb: Ditto
* lib/time.rb: Ditto
* lib/tsort.rb: Ditto
113 lines of code changed in:
fix sharing_detection.
8 lines of code changed in:
refine previous change.
4 lines of code changed in:
* lib/pp.rb: Don't redefine `inspect'.
(pretty_print_inspect): new method.
39 lines of code changed in:
Modified some RDoc formatting.
2 lines of code changed in:
Added RDoc comments.
43 lines of code changed in:
* configure.in (MANTYPE): Detect if the system's nroff(1) groks
mdoc. Provide a new option --with-mantype={doc|man} in case the
check does not work as expected.
* Makefile.in (MANTYPE): Define MANTYPE and pass it to
instruby.rb.
* instruby.rb: Convert mdoc manpages to man for systems which
nroff(1) does not grok mdoc.
69 lines of code changed in:
* lib/tempfile.rb (self.open): If a block is given, call it with
tempfile as an argument and automatically close the tempfile
when the block terminates.
24 lines of code changed in:
make public ERB::Compiler
0 lines of code changed in:
* mdoc2man.rb: Properly put nested braces, parentheses and angles.
* mdoc2man.rb: Add support for .An and .Aq/.Ao/.Ac.
* mdoc2man.rb: Add support for .Dl.
* mdoc2man.rb: Make .Pf macro actually work.
* mdoc2man.rb: Properly handle .Os.
* mdoc2man.rb: Correctly omit spaces around punctuation
characters.
91 lines of code changed in:
fix: % in <%..%>
74 lines of code changed in:
* mdoc2man.rb: Make this work as a library.
316 lines of code changed in:
* typo fix.
1 lines of code changed in:
* eval.c (rb_f_require): purge too many goto's.
45 lines of code changed in:
2003-01-20
3 lines of code changed in:
* mdoc2man.rb (parse_macro): Understand .Ux.
7 lines of code changed in:
Add mdoc2man.rb.
1 lines of code changed in:
* mdoc2man.rb: New file. A mdoc to man converter ported from
Perl.
393 lines of code changed in:
* ruby.1: Properly close .Bl with .El.
5 lines of code changed in:
* regex.c (is_in_list): should work weill with UTF-8.
* regex.c (re_match_exec): ditto.
55 lines of code changed in:
Added RDoc comments.
375 lines of code changed in:
* lib/mkmf.rb (egrep_cpp): use inspect to show options.
* lib/mkmf.rb (dir_config): prior configured directories to
defaults.
* lib/mkmf.rb (dir_config): extract first word to determin
make command type.
18 lines of code changed in:
* ext/aix_mksym.rb: no longer used.
4 lines of code changed in:
use builtin methods
9 lines of code changed in:
* file.c (eaccess): under windows, make eaccess() just call
access(). [ruby-core:716], [ruby-bugs:PR#556]
* ChangeLog: fix typo.
7 lines of code changed in:
* lib/shellwords.rb (shellwords): A backslash ('\') in single
quotes should not be regarded as meta character. This bug or
maybe feature was inherited from Perl's shellwords.pl.
7 lines of code changed in:
2003-01-18
3 lines of code changed in:
* bignum.c (rb_cstr_to_inum): should not erase all 0s, but
squeeze into one. [ruby-dev:19377]
9 lines of code changed in:
Added RDoc comments. See comments at EOF for TODOs.
57 lines of code changed in:
Added RDoc comments. Several issues exist: see comments at EOF.
76 lines of code changed in:
Added RDoc comments. Several TODOs remain; see comments at EOF.
136 lines of code changed in:
2003-01-17
3 lines of code changed in:
* sprintf.c (rb_f_sprintf): Fix a bug caused by an uninitialized
variable v, that a bignum unexpectedly gets converted into a
string with its higher figures all filled with ./f/7/1,
depending on the base. This bug seems to have been introduced
in rev.1.27.
* sprintf.c (rb_f_sprintf): Use switch instead of a sequence of
else-if's.
40 lines of code changed in:
2003-01-16
3 lines of code changed in:
Update Copyright to 2003, too.
1 lines of code changed in:
-Wall cleanups (removed unused vars, no 'code has no effect' warnings)
35 lines of code changed in:
Updated Copyrights of Matz to 2003.
45 lines of code changed in:
* enum.c (enum_all): now works without block.
* enum.c (enum_any): ditto.
35 lines of code changed in:
2003-01-15
3 lines of code changed in:
* configure.in (ARCHFILE): set even unless --enable-shared on
AIX. [ruby-talk:61466]
* marshal.c (math.h): should be included after ruby.h on AIX.
[ruby-talk:61366]
11 lines of code changed in:
* eval.c (rb_f_require): do not search adding .rb/.so suffixes if
the suffix specifiched. [ruby-dev:18702]
http://moonrock.jp/~don/d/200211.html#d08_t1
13 lines of code changed in:
* parse.y (list_append): avoid O(n) search using node->nd_next->nd_end.
* parse.y (list_append): ditto.
* eval.c (rb_eval): NODE_ARRY nd_end adoption.
76 lines of code changed in:
2003-01-14
3 lines of code changed in:
* io.c (next_argv): not always set binmode.
5 lines of code changed in:
* ext/dl/lib/dl/win32.rb: elimitate unnecessary "A" adding.
6 lines of code changed in:
Check the return value of dlopen().
3 lines of code changed in:
* io.c (next_argv): inherit binmode from $defout.
14 lines of code changed in:
Correct the description about type specifiers.
18 lines of code changed in:
* ext/dl/lib/dl/win32.rb: compatibility improvement.
21 lines of code changed in:
2003-01-11
3 lines of code changed in:
* configure.in (RUBY_CHECK_IO_NEED): added more tests.
* io.c (rb_io_check_readable): seek after synchronized write.
28 lines of code changed in:
* misc/ruby-mode.el (ruby-font-lock-syntactic-keywords): syntax
classes are not allowed inside character classes.
[ruby-talk:60996]
10 lines of code changed in:
* configure.in: AC_MSG_FAILURE is a new macro in 2.54b or later.
5 lines of code changed in:
adjust indentation
3 lines of code changed in:
* configure.in (RUBY_CHECK_IO_NEED): check whether fseek() and
fflush() are needed.
* io.c (flush_before_seek): flush write stream only.
* io.c (rb_io_check_readable): seek instead of flush if the last
operation was write.
* io.c (rb_io_check_writable): seek instead of flush if the last
operation was read.
* bcc32/Makefile.sub, win32/Makefile.sub: needs to seek between
R/W.
59 lines of code changed in:
* eval.c (rb_eval): should not discard nested NODE_BLOCK.
6 lines of code changed in:
2003-01-09
3 lines of code changed in:
* parse.y (stmt): NODE_NOT elimitation for if/unless/while/until node.
* parse.y (primary): ditto.
* eval.c (rb_eval): reduce recursive rb_eval() call by using sort
of continuation passing style.
59 lines of code changed in:
* st.h, st.c: Back out the introduction of st_*_func_t. Some
compilers complain about function type mismatch.
13 lines of code changed in:
* ext/Win32API/lib/win32/registry.rb: added. [new]
832 lines of code changed in:
2003-01-08
3 lines of code changed in:
* eval.c: remove ruby_last_node and assignments seems to be
unnecessary
* intern.h: debug does not run if ID_ALLOCATOR is zero.
26 lines of code changed in:
* range.c (range_each): treat fixnums specially to boost.
* numeric.c (num_step): remove rb_scan_args() for small speedup.
31 lines of code changed in:
* eval.c (svalue_to_avalue): should return converted array.
5 lines of code changed in:
* hash.c (env_clear): new Hash compatible method.
* hash.c (env_shift): ditto.
* hash.c (env_invert): ditto.
* hash.c (env_replace): ditto.
* hash.c (env_update): ditto.
* array.c (rb_ary_join): dispatch based on "to_str".
* array.c (rb_ary_times): ditto.
* array.c (rb_ary_equal): ditto.
* process.c (rb_f_exec): dispatch based on "to_ary".
* eval.c (umethod_bind): exact class match is not required. relax
the restriction to subclasses.
* eval.c (rb_eval): call "inherited" before executing class body.
* class.c (rb_define_class): call "inherited" after defining the
constant.
* class.c (rb_define_class_under): ditto.
* eval.c (massign): expand first element if RHS is an array and
its size is 1, and LHS has concrete assignment target (i.e. LHS
has target(s) other than *var).
* eval.c (massign): avoid unnecessary avalue/svalue conversion.
* eval.c (rb_yield_0): ditto
* array.c (rb_ary_update): do not allocate unused array if rpl is
nil (i.e. merely removing elements).
* io.c (io_read): should resize supplied string if it's shorter
than expected.
505 lines of code changed in:
2003-01-07
3 lines of code changed in:
* eval.c (rb_f_local_variables): skip $_, $~ and flip states in
dynamic variables. [ruby-core:00681]
6 lines of code changed in:
[Forced commit]
I was wrong about something. It was a return value,
not arguments that are not covered by the int-to-long promotion rule
on IA64, if the function is not explicitly declared.
The commit itself was generally a right thing to do, but just let me
correct my commit message.
1 lines of code changed in:
* st.h, st.c: Introduce new conventional typedef's, st_data_t,
st_compare_func_t, st_hash_func_t and st_each_func_t.
* st.h, st.c: Do explicit function declarations and do not rely on
implicit declarations. On such platforms as IA64, int argument
values are NOT automatically promoted to long (64bit) values, so
explicit declarations are mandatory for those functions that
take long values or pointers. This fixes miniruby's coredump on
FreeBSD/IA64.
* class.c, eval.c, gc.c, hash.c, marshal.c, parse.y, variable.c:
Add proper casts to avoid warnings.
130 lines of code changed in:
* intern.h (rb_check_array_type): Declare rb_check_array_type().
* ext/digest/md5/md5ossl.c: Include stdio.h for sprintf() and
string.h for memcmp().
* ext/dl/ptr.c: Include ctype.h for isdigit().
18 lines of code changed in:
* file.c: improve DOSISH drive letter support.
202 lines of code changed in:
2003-01-06
3 lines of code changed in:
* lib/fileutils.rb (ln): add ' -f' in the verbose message.
* lib/fileutils.rb (cp_r): add 'p' in the verbose message.
8 lines of code changed in:
* process.c (proc_exec_v): follow to proc_spawn_v(). call do_aspawn()
on Win32.
* process.c (rb_proc_exec): call do_spawn() on Win32.
* win32/win32.c, win32/win32.h (do_spawn, do_aspawn): add mode flag.
* process.c (proc_spawn_v, rb_f_system): follow above change.
83 lines of code changed in:
commit miss
1 lines of code changed in:
*** empty log message ***
9 lines of code changed in:
* struct.c (make_struct): needs meta class.
5 lines of code changed in:
* lib/fileutils.rb (ln): `argv' is not a argument.
5 lines of code changed in:
* ext/extmk.rb (extmake): set $0 temporarily while loading
extconf.rb.
19 lines of code changed in:
* instruby.rb: need paren in regexp(make -n install).
* ext/extmk.rb (sysquote): do not need to quote on mswin/bccwin/mingw.
* ext/extm.rb ($mflags): uniq items and remove '-' and '--'.
move options to the lead.
* lib/fileutils.rb (install): model on the real install
command(message).
25 lines of code changed in:
2003-01-05
3 lines of code changed in:
* ruby.c (ruby_init_loadpath): under Windows, get the module
path from an internal address instead of hard coded library
name.
* cygwin/GNUmakefile.in, bcc32/Makefile.sub,
win32/Makefile.sub (CPPFLAGS): removed LIBRUBY_SO macro.
* bcc32/Makefile.sub, win32/Makefile.sub (config.h): no longer
depends on makefiles.
22 lines of code changed in:
FLUSH_REGISTER_WINDOWS must not be empty. Set to NULL instead.
2 lines of code changed in:
* defines.h (FLUSH_REGISTER_WINDOWS): Make the flushw call an
inline function instead so it can be used as an expression.
* eval.c (EXEC_TAG, THREAD_SAVE_CONTEXT): Consistently call
FLUSH_REGISTER_WINDOWS before calling setjmp(). (I suspect that
every setjmp() implementation should take care of register
windows, though)
25 lines of code changed in:
* file.c (utimbuf): use utimbuf instead of _utimbuf if defined _WIN32.
* win32/Makefile.sub (LIBS): use oldnames.lib.
* win32/win32.c (rb_w32_getcwd): follow above change.
* win32/win32.h: ditto.
* wince/direct.c, wince/direct.h (getcwd): ditto.
* wince/io.h: ditto.
* wince/string.c, wince/wince.h (stricmp, strnicmp): ditto.
34 lines of code changed in:
* process.c (rb_proc_exec): use same logic as DJGPP on win32 ports.
* process.c (rb_f_system): ditto.
* win32/win32.c, win32/win32.h (do_aspawn): [new]. for arrayed
arguments.
* win32/win32.c (CreateChild): add new argument for real filename of
executing process.
* win32/win32.c (NtHasRedirection, pipe_exec): follow above change.
109 lines of code changed in:
* configure.in: set rb_cv_need_io_flush_between_seek=yes.
* win32/Makefile.sub (config.h): define NEED_IO_FLUSH_BETWEE_SEEK.
(pointed out by moriq [ruby-dev:19299])
9 lines of code changed in:
* file.c (rb_file_s_lchmod): get rid of gcc-3 -O3 warning.
5 lines of code changed in:
2003-01-03
3 lines of code changed in:
* process.c (rb_proc_times): need to initialize first.
9 lines of code changed in:
commit miss
1 lines of code changed in:
* regex.c (re_match):
5 lines of code changed in:
2003-01-02
3 lines of code changed in:
* eval.c (bmcall): arguments should be an array.
5 lines of code changed in:
* process.c (rb_proc_times): avoid WindowsXP crash using volatile
variables.
8 lines of code changed in:
add djgpp/GNUmakefile
1 lines of code changed in:
* configure.in: better DJGPP support. add GNUmakefile.
* djgpp/GNUmakefile: new.
14 lines of code changed in:
* eval.c (massign): removed awkward conversion between yvalue,
mvalue, etc.
* eval.c (rb_yield_0): new parameter added to tell whether val is
an array value or not.
* parse.y (yield_args): restructuring: new nodes: NODE_RESTARY2,
NODE_SVALUE; removed node: NODE_RESTARGS.
1 lines of code changed in:
* eval.c (massign): removed awkward conversion between yvalue,
mvalue, etc.
* eval.c (rb_yield_0): new parameter added to tell whether val is
an array value or not.
* parse.y (yield_args): restructuring: new nodes: NODE_RESTARY2,
NODE_SVALUE; removed node: NODE_RESTARGS.
180 lines of code changed in: