Commit graph

755 commits

Author SHA1 Message Date
matz
51c48c29d8 * configure.in: AC_PREREQ(2.53) [ruby-core:03800]
* io.c (read_all): [ruby-dev:24955]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7369 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-11-25 01:58:31 +00:00
matz
0f2fdc6978 * io.c (io_read): [ruby-dev:24952]
* configure.in, io.c: cancel [ ruby-Patches-1074 ].


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7361 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-11-23 17:37:51 +00:00
matz
77a23fba35 * string.c (str_gsub): internal buffer should not be listed by
ObjectSpace.each_object() by String#gsub.  [ruby-dev:24931]

* lib/cgi/session.rb (CGI::Session::FileStore::initialize): raise
  exception if data corresponding to session specified from the
  client does not exist.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7326 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-11-19 16:59:11 +00:00
akr
30b3ce3445 * configure.in: check rlim_t more portably. [ruby-core:3735]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7272 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-11-15 10:05:17 +00:00
akr
8f1c92af4f * process.c (proc_getrlimit): new function for Process.getrlimit.
(proc_setrlimit): new function for Process.setrlimit.
  [ruby-dev:24834]

* configure.in: check rlim_t and its size.  check setrlimit.

* ruby.h (NUM2ULL): new macro.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7264 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-11-14 10:06:16 +00:00
eban
495358834c * configure.in: add setup for mignw32 cross compiling.
[ruby-talk:119413]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7224 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-11-07 15:16:27 +00:00
matz
3e9e2bd4ed * eval.c (rb_eval): NODE_XSTR should pass copy of literal string.
* array.c (rb_ary_update): a[n,m]=nil no longer works as element
  deletion.

* enum.c (enum_sort_by): protect continuation jump in.
  [ruby-dev:24642]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7145 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-10-30 06:56:18 +00:00
matz
018837b84f * node.h (NODE_TYPESHIFT): allow 4 more bits for line numbers.
[ruby-talk:117841]

* ruby.h (FL_ABLE): nodes are not subject for flag operations.

* io.c (ARGF_FORWARD): should have specified argv explicitly,
  since we no longer have frame->argv saved.  [ruby-dev:24602]

* string.c (RESIZE_CAPA): check string attribute before modifying
  capacity member of string structure.  [ruby-dev:24594]

* ext/zlib/zlib.c (gzreader_gets): use memchr() to to gain
  performance.  [ruby-talk:117701]

* sprintf.c (rb_f_sprintf): raise ArgumentError for extra
  arguments, unless (digit)$ style used.

* io.c (rb_io_fptr_finalize): leave stdin/stdout/stderr open in
  interpreter termination.  [ruby-dev:24579]

* eval.c (frame_free): Guy Decoux solved the leak problem.
  Thanks.  [ruby-core:03549]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7121 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-10-27 09:29:26 +00:00
matz
bfabc05a43 * enum.c (enum_sort_by): do not use qsort directly. use
rb_ary_sort_bang() instead.  [ruby-dev:24291]

* enum.c (enum_sort_by): pedantic type check added.
  [ruby-dev:24291]

* hash.c (rb_hash_foreach_iter): check iter_lev after each
  iteration.  [ruby-dev:24289]

* array.c (rb_ary_and): element size might change during
  comparison.  [ruby-dev:24290]

* array.c (rb_ary_or): ditto. [ruby-dev:24292]

* array.c (rb_ary_equal): wrong fix. [ruby-dev:24286]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6939 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-09-21 03:08:33 +00:00
eban
2ebfc7e328 * configure.in (GNU/k*BSD): fixed FTBFS on GNU/k*BSD. [ruby-dev:24051]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6834 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-08-30 06:16:29 +00:00
usa
66b6366e1c * configure.in, win32/Makefile.sub (LIBS): need to link shell32
library for SH* functions on mswin32 and mingw32.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6791 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-08-19 00:24:43 +00:00
matz
67232b2151 * io.c (rb_io_reopen): should clear allocated OpenFile. pointed
out by Guy Decoux. [ruby-core:03288]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6781 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-08-17 09:02:40 +00:00
eban
39516ae717 * configure.in (RPATHFLAG): stop setting RPATHFLAG on Interix.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6754 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-08-11 08:21:39 +00:00
nobu
aa4878589c * configure.in (rb_cv_stack_end_address): detect stack end address
variable supplied by system.  [ruby-core:03115]

* gc.c (Init_stack): use system provided address if possible.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6600 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-07-08 10:27:23 +00:00
nobu
6f9195ec91 * configure.in, lib/mkmf.rb (LIBPATHFLAG): use double quotes due to
DOSISH compilers.  [ruby-core:03107]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6538 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-06-28 05:58:13 +00:00
nobu
11fa3bf8c7 * configure.in (TRY_LINK): commit miss.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6528 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-06-26 06:10:52 +00:00
nobu
95084622ff * configure.in (TRY_LINK): export.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6527 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-06-26 03:47:10 +00:00
nobu
89b572762d * configure.in (aix): -b must come at the start of the command line,
and -e must not appear while testing libraries.  [ruby-talk:104501]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6523 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-06-26 02:05:54 +00:00
eban
4fb0b08ffd * configure.in (target_os): strip -gnu suffix on Linux.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6450 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-06-12 02:17:24 +00:00
knu
d918f9f34f * configure.in: Add support for DragonFly BSD.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6436 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-06-09 06:41:08 +00:00
matz
a6a8847190 * numeric.c (flo_eq): alway check if operands are NaN.
[ruby-list:39685]

* lib/cgi/session.rb: use LOCK_SH to read, and a few other
  improvements.  [ruby-core:02328]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6372 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-05-20 04:34:14 +00:00
eban
6075e128e6 * configure.in (ac_cv_func_fork): set to no on DJGPP.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6215 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-04-25 09:28:07 +00:00
akr
383964bc30 * configure.in: check the size of time_t.
* time.c (time_add): new function.
  (time_plus): use time_add.
  (time_minus): use time_add.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6108 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-04-06 07:48:38 +00:00
nobu
3b79d34d99 * common.mk, */Makefile.sub (lib, dll): phony targets.
* configure.in (ruby, miniruby): ditto.

* cygwin/GNUmakefile.in (rubyw): ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6022 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-03-25 05:01:15 +00:00
nobu
71f46f0724 * Makefile.in, */Makefile.sub, common.mk: extract common portions.
* Makefile.in, cygwin/GNUmakefile.in, */Makefile.sub (RBCONFIG):
  separated time stamp file for rbconfig.rb.

* configure.in: append common.mk to Makefile.

* mkconfig.rb: keep mtime of rbconfig.rb if unchanged.

* win32/rm.bat: remove multiple files.

* wince/mkconfig_wce.rb: use fake.rb instead.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5997 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-03-21 23:21:31 +00:00
nobu
21410f4dfe * configure.in (rb_cv_noreturn): default for platforms not support
prototypes.

* ruby.c (ruby_init_loadpath): buffer for path name should have
  MAXPATHLEN.

* lib/mkmf.rb (configuration): include topdir and hdrdir in VPATH.

* lib/mkmf.rb (create_makefile): default dependency rule.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5942 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-03-12 11:19:22 +00:00
nobu
1c77623b1b * configure.in (PREP): ./miniruby and miniruby are distinguished by
OpenBSD make.  [ruby-dev:23148]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5900 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-03-06 00:53:04 +00:00
nobu
d6ad092f0e * Makefile.in: miniruby is not needed for cross compile.
* configure.in (PREP): miniruby for native compile.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5885 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-03-04 13:31:45 +00:00
nobu
03d8c88b87 * configure.in: check functions, fork spawnv.
* io.c (rb_io_s_popen): accept argv not only single command line.

* process.c (rb_proc_exec_n): export.

* process.c (rb_check_argv): check if arguments are safe to invoke.

* process.c (rb_fork): retry to fork.

* process.c (rb_spawn): spawn child process asynchronously.

* process.c (rb_f_system): raise an exception if the command could not
  execute.

* win32/win32.c (rb_w32_argv_size): count necessary size for joined
  arguments.

* win32/win32.c (rb_w32_join_argv): join arguments with quoting.

* win32/win32.c (rb_w32_pipe_exec, rb_w32_spawn, rb_w32_aspawn):
  accept program name adding to command line.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5725 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-02-16 06:45:32 +00:00
eban
0b97d6f458 * configure.in: set ac_cv_func_link to yes to enable link() on MinGW.
[ruby-dev:22241]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5677 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-02-12 05:20:09 +00:00
nobu
ff9c34b3f4 * Makefile.in, bcc32/Makefile.sub, win32/Makefile.sub, configure.in,
runruby.rb: run rdoc, test and so on with compiled extension
  libraries.  [ruby-dev:22688]

* ext/extmk.rb, lib/mkmf.rb: make extension libraries in separated
  directory, similar to the actual directory structure.

* lib/fileutils.rb (FileUtils.copy_file): use the mode of the original
  file to create new file.

* lib/rdoc/ri/ri_paths.rb (RI::Paths::SYSDIR): get rid of unexpected
  influence by envirionment variable.

* bcc32/configure.bat, win32/configure.bat: add install-doc options.

* win32/win32.c, win32/win32.h (rb_w32_fstat): fix Borland C runtime
  bug which returns wrong mode.  [ruby-dev:22846]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5659 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-02-09 08:48:55 +00:00
eban
35d62eb6a5 * configure.in (RPATHFLAG): set to -Wl,-R like NetBSD on Interix.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5591 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-01-30 17:39:04 +00:00
eban
181a3a2af5 * configure.in (DLEXT2): removed. Ruby does not treat
".dll" as a extention library anymore.

* bcc32/Makefile.sub, win32/Makefile.sub, wince/Makefile.sub (DLEXT2):
  ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5585 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-01-29 14:18:42 +00:00
siena
357d0ffc29 * configure.in: check availability of link(). [ruby-dev:22237]
* file.c (rb_file_s_link): raise an exception when link() is unavailable.
* missing/os2.c (link): removed. File#link isn't supported.
* bcc32/Makefile.sub: define HAVE_LINK to enable link(). [ruby-dev:22241]
* win32/Makefile.sub: ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5532 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-01-21 16:09:40 +00:00
eban
72592e35ae * configure.in: Interix(SFU) support.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5528 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-01-21 14:53:31 +00:00
matz
b07337fcb3 * configure.in: install rdoc by default. if you do not want to
install rdoc, specify --disable-install-doc.

* eval.c (eval): need to add message delimiter. [ruby-dev:22561]

* defines.h (__NeXT__): Ensure that all standard S_IRUSR, S_IWGRP,
  S_IRWXO, etc. macros are defined since future code might require
  them (even though present code only requires a subset).

* defines.h (__NeXT__): Bug fix: WORDS_BIGENDIAN was not being set
  correctly on Rhapsody when -arch compiler flag was used (via
  configure's --enable-fat-binary option).

* ext/socket/socket.c (make_hostent): getaddrinfo(3) on BSD do not
  fill ai_canonname if serv is not supplied.  (ruby-bugs PR#1243)


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5430 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-01-10 17:39:07 +00:00
nobu
482b9c2ce7 * configure.in (LIBPATHFLAG, RPATHFLAG): enclose paths with single
quotes.  [ruby-dev:22564]

* lib/mkmf.rb (libpathflag): do not enclose with quotes always.

* {bcc32,win32,wince}/Makefile.sub (LIBPATHFLAG): quoted.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5426 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-01-10 14:01:50 +00:00
eban
50fe8ab6aa * configure.in (RDOCTARGET): new macro. if you want to install
rdoc documentation, you need to run configure with
  --enable-install-doc.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5419 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-01-08 14:58:57 +00:00
matz
59dbfa3e4c * dir.c: merge tuning from H.Yamamoto <ocean@m2.ccsnet.ne.jp>.
[ruby-dev:22476]

* io.c (argf_eof): ARGF.eof? should not have any side effect.
  [ruby-dev:22469]

* io.c (argf_each_byte): should return self.  [ruby-dev:22465]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5365 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-01-02 16:21:26 +00:00
eban
9eca8a4a5f * configure.in: fix "test: too many arguments" error.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5319 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-12-27 14:45:48 +00:00
matz
b9a79bc020 * io.c (rb_f_backquote): need not to check nil result.
[ruby-core:02078]

* io.c (rb_io_getline): should return nil on eof, even when nil rs is
  specified. [ruby-core:02077]

* pack.c (pack_pack): add sign check for 'i', and 'l'.
  [ruby-dev:22427]

* bignum.c (rb_quad_pack): add range check for 'quad int'.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5308 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-12-26 15:34:33 +00:00
nobu
ab0c37d0cf * configure.in: check if getcontext and setcontext are available.
* eval.c: use presence of getcontext/setcontext.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5305 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-12-26 09:34:03 +00:00
matz
cecdab3bf0 * configure.in: check for nanosleep, -lrt if required.
[ruby-core:02059]

* eval.c (thread_timer): use select(2) if nanosleep(2) is not
  available.

* eval.c: check __stub_getcontext for glibc on some platforms.
  [ruby-list:38984]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5286 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-12-24 19:38:15 +00:00
eban
42da260543 * configure.in (LDSHARED): Fixed typographical error in assignment of
LDSHARED for Rhapsody which caused linking of extension modules to
  fail.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5280 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-12-24 11:54:12 +00:00
matz
dbc5af97c7 * pack.c (pack_pack): remove unnecessary negative value check.
[ruby-dev:22329]

* io.c (rb_io_ungetc): need fflush before ungetc if write buffer
  is filled. [ruby-dev:22330]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5259 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-12-23 10:02:17 +00:00
nobu
748b699d1b * configure.in (ac_cv_func_setitimer): moved from defines.h
* defines.h, rubysig.h, signal.c: removed macro handling which
  should be done in configure.

* configure.in (intrinsics.h): check if present.

* ruby.h: include intrinsics.h if available.

* bignum.c, marshal.c: include ieeefp.h if available.

* missing.h (isinf): define as a macro if finite() and isnan()
  are available.  [ruby-core:02032]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5244 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-12-22 08:23:55 +00:00
eban
25b6ac95f2 * configure.in (mingw): set isnan, finite and isinf to yes.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5243 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-12-22 08:09:14 +00:00
matz
e91e9e7bbf * eval.c (rb_with_disable_interrupt): prohibit thread context
switch during proc execution.  [ruby-dev:21899]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5232 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-12-20 15:45:15 +00:00
matz
e78cb14774 * lib/cgi.rb (CGI::QueryExtension::Value::[]): should work like
String#[] if more than one arguments are specified.

* lib/delegate.rb: avoid using common instance name as "@obj".

* lib/cgi.rb (CGI::QueryExtension::Value): Value is no longer
  subclass of String, but DelegateClass(String).

* ext/curses/extconf.rb: restore function check for init_color.
  [ruby-list:38905]

* Makefile.in: need to specify $(MAINLIBS) for the miniruby
  generation rule.

* configure.in: better FreeBSD -lc_r support.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5206 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-12-17 06:38:18 +00:00
nobu
9fdbc41973 * configure.in: check ucontext.h.
* eval.c: use getcontext/setcontext() instead of setjmp/longjmp()
  on ia64 or with native thread enabled.  [ruby-core:01932]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5180 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-12-13 00:01:28 +00:00