Commit graph

4629 commits

Author SHA1 Message Date
matz
fec60bc7c4 * eval.c (avalue_to_svalue): use rb_check_array_type() again.
Clarify how "to_ary" and "to_a" work. [ruby-talk:68155]

* eval.c (svalue_to_avalue): ditto.

* eval.c (svalue_to_mrhs): ditto.

* eval.c (rb_eval): unary splat to use to_a, but we need a hack to
  exclude Object#to_a until it's removed.

* object.c (rb_Array): check obj.respond_to?("to_a").  Currently
  all object respond_to "to_a", but Object#to_a will be removed.

* range.c (Init_Range): undefine to_ary.

* re.c (Init_Regexp): ditto.

* regex.c (re_compile_pattern): do not warn if "-" is at the top
  or last of character class.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3633 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-03-29 02:56:18 +00:00
katsu
6f19027e40 Import Ruby/zlib from rough.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3631 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-03-28 17:21:24 +00:00
shigek
15e11a88c6 Use rb_str2cstr() instead of STR2CSTR() macro.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3628 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-03-28 07:50:28 +00:00
shigek
640c19405c Rubbish !
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3627 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-03-28 05:15:59 +00:00
shigek
993d361bff Entries for bigdecimal added.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3626 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-03-28 05:08:01 +00:00
shigek
7744351708 Copied from rough/bigdecimal,documents & some sample programs added.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3625 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-03-28 05:00:21 +00:00
matz
e9b5878c41 * eval.c (avalue_splat): new function to do unary * (splat)
operator.

* eval.c (avalue_to_svalue,svalue_to_avalue,svalue_to_mrhs): do
  not use implicit "to_ary" conversion.

* ext/curses/curses.c (GetWINDOW,GetMOUSE): add taint check.

* ext/curses/curses.c (curses_init_screen): ditto.

* ext/curses/curses.c (window_initialize): ditto.

* gc.c (os_each_obj): prohibit ObjectSpace#each_object in safe
  mode ($SAFE >= 4).


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3616 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-03-26 07:01:14 +00:00
aamine
2d505ae6f6 * ext/strscan/strscan.c: should infect also return values of #inspect.
* ext/strscan/strscan.c: use snprintf() instead of sprintf().


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3610 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-03-25 01:11:08 +00:00
matz
ece972717b security enhancement of dl library (need test).
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3609 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-03-24 09:38:37 +00:00
ttate
ab7dac4027 Added rb_secure(4). (Thanks to Minero Aoki)
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3608 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-03-24 07:56:37 +00:00
matz
e5282ef182 update NotImplementError to NotImplementedError.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3607 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-03-23 17:58:57 +00:00
akr
e689d077e3 * lib/optparse.rb, lib/jcode.rb, ext/tk/lib/tk.rb: reorder character
class /[\]\[]/ to /[\[\]]/ to readability.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3598 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-03-22 04:31:24 +00:00
akr
58ef7c2088 * regex.c (re_compile_pattern): fix previous change.
* instruby.rb, ext/extmk.rb, ext/tk/lib/tk.rb, lib/benchmark.rb,
  lib/cgi.rb, lib/debug.rb, lib/getoptlong.rb, lib/jcode.rb,
  lib/optparse.rb, lib/time.rb, lib/date/format.rb,
  lib/irb/ruby-lex.rb: escape `[', `]', `-' in chracter class in
  regexp to avoid warning.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3595 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-03-21 15:13:23 +00:00
matz
85dd7bb0ef * eval.c (load_dyna): clear ruby_errinfo. (ruby-bugs-ja PR#409)
* io.c (read_all): make str empty if given. (ruby-bugs-ja PR#408)

* io.c (io_read): ditto.

* io.c (rb_io_sysread): ditto.

* range.c: do not override min and max.

* sprintf.c (remove_sign_bits): octal left most digit for negative
  numbers may be '3'. (ruby-bugs-ja PR#407)

* sprintf.c (rb_f_sprintf): should prefix sign bits if bignum is
  negative, using sign_bits().

* eval.c (avalue_to_mrhs): split argument passing and assignment
  conversion.

* eval.c (svalue_to_mrhs): ditto.

* eval.c (avalue_to_svalue): avalue_to_svalue([[1,2]]) should be
  [[1,2]], not [1,2] to wrap-around.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3584 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-03-20 06:27:22 +00:00
matz
bb544954b2 * file.c (rb_find_file): need world writable directory check for
relative paths too.

* file.c (rb_find_file): world writable directory check if
  $SAFE >= 1 (was $SAFE >= 2).


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3571 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-03-10 15:05:18 +00:00
nobu
1cf8e92801 * ext/tcltklib/extconf.rb (find_tcl, find_tk): return true if
non-versioned found.  [ruby-dev:19759]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3563 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-03-07 11:45:01 +00:00
eban
51bea808f3 * ext/dbm/extconf.rb: add QDBM support.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3562 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-03-07 06:06:58 +00:00
matz
9d77639f30 * parse.y (dsym): :"symbol string" style should not contain `\0'.
* process.c (proc_detach): new method Proc#detach(pid) which
  create background watcher thread to issue waitpid. [new]

* process.c (rb_detach_process): utility function to detach
  process from C code.

* ext/pty/pty.c (pty_finalize_syswait): terminate watcher thread,
  and detach child process (by creating new idle waitpid watcher
  thread).

* ext/pty/pty.c (pty_syswait): may lost signal stopped child.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3561 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-03-07 05:59:42 +00:00
eban
5208fec1cf * ext/Win32API/Win32API (Win32API_initialize): should check number of
papameters.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3559 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-03-06 16:26:43 +00:00
eban
280039eb20 * ext/Win32API/Win32API.c: no longer use inline-asms.
* ext/Win32API/extconf.rb: no need to add gcc options.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3558 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-03-06 15:45:14 +00:00
knu
196583d6eb * ext/dl/MANIFEST: Exclude .cvsignore. [found by: eban]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3549 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-03-03 16:20:45 +00:00
knu
904a3a2e28 * ext/Win32API/MANIFEST: Belatedly add lib/win32/registry.rb.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3548 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-03-03 16:18:06 +00:00
eban
986bfd904c * ext/extmk.rb (parse_args): add '-n' to $mflags BEFORE "--".
do not add DESTDIR if already included in $fmlags.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3475 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-02-10 11:59:26 +00:00
knu
79862de363 * instruby.rb (parse_args), ext/extmk.rb (parse_args): Prepend a
hyphen to the first argument of MAKEFLAGS only if appropriate.
  Remove wrong comments.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3419 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-01-27 19:48:02 +00:00
usa
18caa8f178 * 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.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3414 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-01-26 10:29:05 +00:00
knu
91758efa95 * 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.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3412 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-01-26 08:56:01 +00:00
knu
78f457a5d5 * 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.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3408 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-01-25 18:59:34 +00:00
eban
4a464c1fa2 * typo fix.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3370 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-01-20 10:22:04 +00:00
nobu
9e1339a68f * ext/aix_mksym.rb: no longer used.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3360 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-01-19 17:16:24 +00:00
nobu
81768d1da5 use builtin methods
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3359 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-01-19 17:15:00 +00:00
michal
4e13d36561 -Wall cleanups (removed unused vars, no 'code has no effect' warnings)
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3346 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-01-16 07:38:40 +00:00
eban
ada8110f7f * ext/dl/lib/dl/win32.rb: elimitate unnecessary "A" adding.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3335 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-01-12 17:36:24 +00:00
ttate
0af783bef4 Check the return value of dlopen().
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3334 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-01-12 13:11:32 +00:00
ttate
81dded0d17 Correct the description about type specifiers.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3331 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-01-11 17:28:59 +00:00
eban
3074716cad * ext/dl/lib/dl/win32.rb: compatibility improvement.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3330 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-01-11 15:00:56 +00:00
usa
c65638ce29 * ext/Win32API/lib/win32/registry.rb: added. [new]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3312 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-01-08 08:12:16 +00:00
knu
8eba058079 * 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().


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3302 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-01-06 11:47:53 +00:00
nobu
a01112eafe *** empty log message ***
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3296 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-01-05 20:11:20 +00:00
nobu
1fbea3bef7 * ext/extmk.rb (extmake): set $0 temporarily while loading
extconf.rb.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3293 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-01-05 08:50:21 +00:00
eban
15774ab1fb * 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).


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3292 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-01-05 07:04:10 +00:00
eban
5ec897d306 * wrong regexp.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3260 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-12-31 13:22:46 +00:00
eban
86c90aea36 * Makefile.in, {win32,bcc32}/Makefile.sub: add new target:
what-where, no-install.

* mkconfig.rb: add const: CROSS_COMPILING.

* ext/extmk.rb: no-install support.  add MAKEDIRS macro.

* lib/mkmf.rb: add !ifdef .. !endif for Borland make.

* process.c: improve DJGPP support.  system "ls", "-l".


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3259 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-12-31 12:31:12 +00:00
knu
b491d7a64f * ext/socket/addrinfo.h (NI_MAXHOST): Define NI_MAXHOST and
NI_MAXHOST only if they are not defined yet.  This fixes build
  such platforms as OpenBSD.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3254 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-12-31 11:17:40 +00:00
knu
b18e1a0b4a * ext/tcltklib/extconf.rb (find_tcl, find_tk): Look for both
lib{tcl,tk}M.N and lib{tcl,tk}MN on all platforms.  *BSD have
  Tcl/Tk libraries named this way.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3253 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-12-31 11:13:44 +00:00
eban
67a7c34524 * typofix
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3246 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-12-30 12:23:11 +00:00
nobu
fb0b931709 * ext/extmk.rb: split --make argument contains options, assume
the first word of --make-flags is always options even unless
  preceeded by -, and ignore letter-case of options if nmake.

* instruby.rb: extract -n option also from --make and
  --make-flags.

* bcc32/Makefile.sub, win32/Makefile.sub: not prepend - to
  $(MFLAGS)


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3244 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-12-30 10:16:53 +00:00
nobu
3d2ddca6b2 * ext/socket/socket.c (tcp_svr_init): local host to
init_inetsock() is VALUE but not pointer.

* ext/socket/socket.c (sock_s_unpack_sockaddr_in): get rid of
  gcc-3 -O3 warning.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3241 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-12-29 20:14:51 +00:00
eban
c40c0f726b * {win32,bcc32}/Makefile.sub: remove `=' from --make-flags options.
nmake quotes args if included `=' in args.
* instruby.rb: use getopts.rb.
* ext/dbm/extconf.rb: substitute ' with ".
* ext/gdbm/gdbm.c: add prototypes to avoid VC++ warnings.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3229 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-12-27 16:13:56 +00:00
eban
220a9926c5 * ext/extmk.rb (create_makefile): check only `-' option.
* configure.in: cleanups for MinGW. remove -D__NO_ISOCEXT in $CFLAGS.
* win32/win32.h: prototypes for isinf, isnan are not needed on MinGW.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3219 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-12-26 14:59:35 +00:00
usa
ec827b7112 * ext/dbm/dbm.c (fdbm_alloc): allocator takes only one argument.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3198 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-12-21 19:08:50 +00:00