Граф коммитов

958 Коммитов

Автор SHA1 Сообщение Дата
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
nobu faab8f264d * configure.in (ieeefp.h), numeric.c: needed for finite() on
Solaris.  [ruby-core:01921]

* file.c (rb_stat_inspect): adjust format specifier.

* parse.c (arg_prepend): nodetype() is for debug use.

* ruby.h (ISASCII, etc): cast to int to get rid of warning.

* ruby.h (alloca.h): include even in GCC.  [ruby-core:01925]

* ext/bigdecimal/bigdecimal.c (GetVpValue): adjust format
  specifier.

* ext/bigdecimal/bigdecimal.c (BigDecimal_prec, BigDecimal_coerce,
  BigDecimal_divmod): use rb_assoc_new() to suppress memory usage.

* ext/bigdecimal/bigdecimal.c (BigDecimal_split): ditto.

* ext/dl/sym.c (rb_dlsym_guardcall): guard itself should be
  volatile.

* ext/iconv/iconv.c (iconv_convert): ensure actual parameter with
  format specifier.

* ext/pty/pty.c (MasterDevice, SlaveDevice, deviceNo): do not
  define unless used.

* ext/pty/pty.c (getDevice): get rid of warning.

* ext/socket/socket.c (port_str, sock_s_getaddrinfo,
  sock_s_getnameinfo): FIX2INT() now returns long.

* ext/socket/socket.c (init_inetsock_internal): uninitialized
  variable.

* ext/syck/rubyext.c (syck_parser_assign_io): add prototype.

* ext/syck/rubyext.c (rb_syck_mktime, yaml_org_handler): use
  ISDIGIT() instead of isdigit() to avoid warnings and for
  platforms which don't support non-ascii charater.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5163 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-12-11 02:39:59 +00:00
eban a971d184ce * io.c (flush_before_seek): flush before seek on any platform.
* configure.in: ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5126 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-12-06 12:48:51 +00:00
matz 2f4c13b0f0 * configure.in (AC_PROG_YACC): AC_DEFINE(OLD_YACC) if Yacc is found
instead of Bison or byacc.

* parse.y: If OLD_YACC is defined, ensure that YYMAXDEPTH is at least
  10000 (Bison's default) since some old versions of Yacc define it as
  low as 150 by default, which is too low for Ruby to parse some files,
  such as date/format.rb.  Among other issues, the parse problem causes
  "make test" to fail.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5093 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-12-03 07:55:54 +00:00
eban bf090992e0 * configure.in: should put getcwd in AC_CHECK_FUNCS, not
AC_REPLACE_FUNCS.  [ruby-core:01826]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5067 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-11-30 14:47:55 +00:00
eban c3f1c5280b * configure.in: keep ARCH_FLAG separate. export ARCH_FLAG.
[ruby-core:01819]

* Makefile.in: add ARCH_FLAG to CFLAGS.

* Makefile.in: add @CPPFLAGS@ to CPPFLAGS.

* lib/mkmf.rb (link_command, cc_command): use ARCH_FLAG.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5063 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-11-30 11:27:34 +00:00
eban 9a8cc1f4ab * configure.in: do not override CCDLDFLAGS, LDFLAGS, XLDFLAGS,
DLDFLAGS and LDSHARED.

* configure.in: XCFLAGS for compiling ruby itself.  ARCH_FLAG is
  reflected in CFLAGS.

* lib/mkmf.rb: ditto.  do not import XCFLAGS from config.status.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5062 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-11-30 09:33:03 +00:00
nagai ab8e998216 * configure.in: change default value of --enable-pthread (default: no)
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5019 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-11-25 06:26:38 +00:00
eban e2c4261204 * configure.in: set enable_pthread to no on MinGW.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5009 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-11-22 14:24:35 +00:00
nagai 3e6ec62611 * configure.in: add --enable-pthread option (default: yes)
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5008 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-11-22 13:58:57 +00:00
matz 6212cfb9c5 * gc.c (Init_stack): stack region is far smaller than usual if
pthread is used.

* marshal.c (w_extended): singleton methods should not be checked
  when dumping via marshal_dump() or _dump(). [ruby-talk:85909]

* file.c (getcwdofdrv): avoid using getcwd() directly, use
  my_getcwd() instead.

* merged NeXT, OpenStep, Rhapsody ports patch from Eric Sunshine
  <sunshine@sunshineco.com>.  [ruby-core:01596]

* marshal.c (w_object): LINK check earlier than anything else,
  i.e. do not dump TYPE_IVAR for already dumped objects.
  (ruby-bugs PR#1220)

* eval.c (rb_eval): call "inherited" only when a new class is
  generated; not on reopening.

* eval.c (eval): prepend error position in evaluating string to

* configure.in: revived NextStep, OpenStep, and Rhapsody ports which
  had become unbuildable; enhanced --enable-fat-binary option so that
  it accepts a list of desired architectures (rather than assuming a
  fixed list), or defaults to a platform-appropriate list if user does
  not provide an explicit list; made the default list of architectures
  for MAB (fat binary) more comprehensive; now uses -fno-common even
  when building the interpreter (in addition to using it for
  extensions), thus allowing the interpreter to be embedded into a
  plugin module of an external project (in addition to allowing
  embedding directly into an application); added checks for
  <netinet/in_systm.h> (needed by `socket' extension) and getcwd(); now
  ensures that -I/usr/local/include is employed when extensions'
  extconf.rb scripts invoke have_header() since extension checks on
  NextStep and OpenStep will fail without it if the desired resource
  resides in the /usr/local tree; fixed formatting of --help message.

* Makefile.in: $(LIBRUBY_A) rule now deletes the archive before
  invoking $(AR) since `ar' on Apple/NeXT can not "update" MAB archives
  (see configure's --enable-fat-binary option); added rule for new
  missing/getcwd.c.

* defines.h: fixed endian handling during MAB build (see configure's
  --enable-fat-binary option) to ensure that all portions of the
  project see the correct WORDS_BIGENDIAN value (some extension modules
  were getting the wrong endian setting); added missing constants
  GETPGRP_VOID, WNOHANG, WUNTRACED, X_OK, and type pid_t for NextStep
  and OpenStep; removed unnecessary and problematic HAVE_SYS_WAIT_H
  define in NeXT section.

* dir.c: do not allow NAMLEN() macro to trust dirent::d_namlen on
  NextStep since, on some installations, this value always resolves
  uselessly to zero.

* dln.c: added error reporting to NextStep extension loader since the
  previous behavior of failing silently was not useful; now ensures
  that NSLINKMODULE_OPTION_BINDNOW compatibility constant is defined
  for OpenStep and Rhapsody; no longer includes <mach-o/dyld.h> twice
  on Rhapsody since this header lacks multiple-include protection,
  which resulted in "redefinition" compilation errors.

* main.c: also create hard reference to objc_msgSend() on NeXT
  platforms (in addition to Apple platforms).

* lib/mkmf.rb: now exports XCFLAGS from configure script to extension
  makefiles so that extensions can be built MAB (see configure's
  --enable-fat-binary option); also utilize XCFLAGS in cc_command()
  (but not cpp_command() because MAB flags are incompatible with
  direct invocation of `cpp').

* ext/curses/extconf.rb: now additionally checks for presence of these
  curses functions which are not present on NextStep or Openstep:
  bkgd(), bkgdset(), color(), curs(), getbkgd(), init(), scrl(), set(),
  setscrreg(), wattroff(), wattron(), wattrset(), wbkgd(), wbkgdset(),
  wscrl(), wsetscrreg()

* ext/curses/curses.c: added appropriate #ifdef's for additional set of
  curses functions now checked by extconf.rb; fixed curses_bkgd() and
  window_bkgd() to correctly return boolean result rather than numeric
  result; fixed window_getbkgd() to correctly signal an error by
  returning nil rather than -1.

* ext/etc/etc.c: setup_passwd() and setup_group() now check for null
  pointers before invoking rb_tainted_str_new2() upon fields extracted
  from `struct passwd' and `struct group' since null pointers in some
  fields are common on NextStep/OpenStep (especially so for the
  `pw_comment' field) and rb_tainted_str_new2() throws an exception
  when it receives a null pointer.

* ext/pty/pty.c: include "util.h" for strdup()/ruby_strdup() for
  platforms such as NextStep and OpenStep which lack strdup().

* ext/socket/getaddrinfo.c: cast first argument of getservbyname(),
  gethostbyaddr(), and gethostbyname() from (const char*) to non-const
  (char*) for older platforms such as NextStep and OpenStep.

* ext/socket/socket.c: include "util.h" for strdup()/ruby_strdup() for
  platforms such as NextStep and OpenStep which lack strdup(); include
  <netinet/in_systm.h> if present for NextStep and OpenStep; cast first
  argument of gethostbyaddr() and getservbyname() from (const char*) to
  non-const (char*) for older platforms.

* ext/syslog/syslog.c: include "util.h" for strdup()/ruby_strdup() for
  platforms such as NextStep and OpenStep which lack strdup().


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5002 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-11-22 04:00:03 +00:00
nagai c5061b6116 * check existence of "pthread.h"
* define is_ruby_native_thread() macro when not HAVE_NATIVETHREAD


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4996 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-11-20 16:47:30 +00:00
eban 65f4f950fb * configure.in: don't find the Cygwin's pthread library on MinGW.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4994 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-11-20 10:20:20 +00:00
nagai 340a511fdf * configure.in: always check existence of the pthread library
* ruby.h: define macros for ruby's native thread check
* eval.c: add ruby's native thread check
* gc.c: ditto


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4989 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-11-20 03:50:32 +00:00
nagai 1ef5d9d443 * configure.in: improvement of pthread check
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4923 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-11-08 04:53:14 +00:00
nagai ea03c3fc2c configure.in, eval.c, signal.c: : add '--with-pthread-ext' option
to fix the pthread trouble on 'tcltklib'
ext/tcltklib/README.1st: add the description of '--with-pthread-ext'
ext/tk/lib/tktext.rb : add TkText#text_copy, text_cut, text_paste to
        support Tcl/Tk8.4's tk_textCopy, tk_textCut, tk_textPaste
ext/tk/lib/tk.rb : add TkMenu#set_focus support Tcl/Tk's tk_menuSetFocus


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4904 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-11-05 14:00:11 +00:00
eban 0dfe20d3d4 * configure.in, lib/mkmf.rb: add RPATHFLAG for NetBSD. [ruby-dev:21791]
* bcc32/Makefile.sub, win32/Makefile.sub, win32/Makefile.sub: ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4879 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-10-31 03:58:21 +00:00
gotoyuzo 0645683e26 * configure.in (AC_CHECK_FUNCS): add setuid and setgid.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4583 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-09-22 10:25:24 +00:00
nobu 625c1361e3 * configure.in (HUGE_ST_INO): check whether struct stat.st_ino
is larger than long.  [ruby-dev:21194]
  http://www.geocities.co.jp/SiliconValley-PaloAlto/1409/ruby/beos.html

* error.c (syserr_eqq): errno might exceed Fixnum limit.

* error.c (Init_Exception): moved base initialization from
  init_syserr().

* inits.c (rb_call_inits): postpone initializing errnos until
  Bignum is available.

* ext/curses/curses.c (_XOPEN_SOURCE_EXTENDED): needed to let
  keyname() and so on be declared.

* ext/curses/curses.c (curses_resizeterm, window_resize):
  arguments conflicted with macros in term.h.

* ext/curses/curses.c (Curses module methods): ensure
  initialized.  [ruby-dev:21191]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4392 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-08-15 03:01:52 +00:00
eban 6f059f33ef * cygwin/GNUmakefile: better --disbale-shared option support.
* configure.in: Fix Cygwin specific naming of libraries to
  be net distribution compliant. (ruby-bugs PR#1077)
  cygwin-ruby18.dll -> cygruby18.dll


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4350 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-08-07 05:43:59 +00:00
nobu db8874aa1b * configure.in (os2-emx): renamed from os2_emx, add flags to
CFLAGS and LDFLAGS, and remove lib prefix.  [ruby-dev:20993]

* file.c (rb_file_s_rename): retry with removing new file on
  DOSISH.  [ruby-dev:21007]

* ext/socket/extconf.rb (sendmsg, recvmsg): check functions.

* ext/socket/socket.c (unix_send_io, unix_recv_io): raise
  NotImplementedError unless system calls are available.

* ext/socket/socket.c (sock_initialize): rename from sock_init()
  to get rid of conflict with OS/2 socket library.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4221 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-07-30 00:32:03 +00:00
matz dea1baa169 * ext/stringio/stringio.c (strio_gets): only "gets" should set $_.
* ext/stringio/stringio.c (strio_getline): should not set $_ here.

* io.c (argf_to_s): argf.to_s returns "ARGF".

* io.c (set_defout_var, set_deferr_var): make $defout and $deferr
  obsolete.

* io.c (set_input_var, set_output_var): allow $stdin, $stdout,
  $stderr not to be instance of IO.

* io.c (rb_f_readline): forward method to current_file. gets,
  readline, readlines, getc, readchar, tell, seek, pos=, rewind,
  fileno, to_io, eof, each_line, each_byte, binmode, and closed?
  as well.

* io.c (argf_forward): utility function to forward method to
  current_file.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4190 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-07-28 07:31:52 +00:00
matz f0b77b0cde * ext/tk/lib/tk.rb (TkCore::chooseDirectory): back up wrongly
removed method.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4175 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-07-26 15:03:16 +00:00
nobu 7896128822 * configure.in (AC_C_VOLATILE): check if volatile works.
* defines.h (volatile): removed.

* eval.c (rb_thread_group): Thread#group.  [new]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4144 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-07-24 07:05:28 +00:00
nagai fd46a1da0a process.c : unify indentation
configure.in : add --enable-setreuid option
tcltklib.c : TclTkIp.new accepts 'ip-name' and 'options'
             ( e.g. TclTkIp.new('FOO', '-geometry 500x200 -use 0x2200009') )
tk.rb      : support arguments of TclTkIp.new
             ( see TkCore::IP_NAME, TkCore::IP_OPTS )
tk*.rb     : preparations for multi-Tk interpreter support


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4127 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-07-23 16:07:35 +00:00
nagai 3e8d70c95c process.c, configure.in :
* add a module for raw syscalls to control UID/GID
  * add modules for portable UID/GID control


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4119 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-07-23 02:39:46 +00:00
nobu bc7a97c826 * configure.in (aix): needs ruby.imp even with gcc.
(ruby-bugs:PR#1007)


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4062 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-07-11 13:37:22 +00:00
matz 3de67ca69d * eval.c (rb_call_super): k->super maybe NULL if klass is Kernel.
[ruby-dev:20519]

* gc.c (obj_free): clear method cache when freeing class/module.

* eval.c (rb_mod_remove_method): allow "remove_method" to accept
  multiple arguments.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4041 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-07-07 08:28:19 +00:00
nobu e5a9dcb9d8 * configure.in (rb_cv_stack_grow_dir): check stack growing direction.
* eval.c (rb_thread_restore_context): prior configuration macro.

* gc.c (ruby_stack_length): always return the address of lower edge.

* gc.c (rb_gc_mark_locations): remove margin.  [ruby-dev:20462]

* gc.c (rb_gc, Init_stack): prior configuration macro.

* gc.c (Init_stack): add safety margin.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4012 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-06-28 03:29:00 +00:00
aamine 2f7fde4e4e * configure.in: always add -mieee for gcc/alpha. [ruby-dev:20429]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3992 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-06-23 19:54:41 +00:00
nobu 1fe598da35 * configure.in: checks presence of grp.h and setgroups().
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3921 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-06-09 10:02:36 +00:00
matz c004ecfa1e * math.c (math_erf,math_erfc): new function. [ruby-list:37753]
* eval.c (ruby_finalize): no longer need to turn off $DEBUG in the
  finalizer. (ruby-bugs-ja PR#473)


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3907 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-06-05 06:40:42 +00:00
eban fd681fe0e5 * configure.in: should not use def file, use ld with
--export-all-symbols option on Cygwin/MinGW.
* defines.h: ditto.
* cygwin/GNUmakefile.in: ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3894 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-06-01 12:58:56 +00:00
eban e617fd0bf8 * win32/win32.c (_CRTIMP): redefine _CRTIMP on MinGW.
* configure.in: remove '-D__USE_CRTIMP' from XCFLAGS on MinGW.
* win32/win32.c (NtMakeCmdVector): handle quotes only if not instring.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3877 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-05-29 09:11:18 +00:00
eban e4ada45df1 * configure.in: add '--Wl,--enable-auto-import' to DLDFLAGS
on Cygwin/MinGW.

* configure.in: add '-D_USE_CRTIMP' to XCFLAGS on MinGW.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3786 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-05-13 11:34:48 +00:00
usa 161e19ded9 * configure.in, bcc32/Makefile.sub, win32/Makefile.sub: define
HAVE_FSYNC.
* win32/win32.h (fsync): define as _commit().


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3785 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-05-13 08:59:36 +00:00
eban 2b214ff6a3 * configure.in: better YACC support on HP-UX.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3556 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-03-05 03:15:06 +00:00
nobu f3bdfcc416 * configure.in, bcc32/Makefile.sub, win32/Makefile.sub: define
RUBY_EXPORT to export symbols.

* defines.h: use RUBY_EXTERN instead of EXTERN.

* intern.h, re.h, ruby.h, rubysig.h: ditto.

* win32/win32.h: remove EXTERN definition.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3554 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-03-04 14:12:19 +00:00
eban a38c2ac2dd * configure.in: better HP-UX support.
* missing/strftime.c: ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3550 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-03-04 06:13:24 +00:00
knu 7828a12f19 * 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.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3377 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-01-20 12:51:50 +00:00
nobu 08771defc6 * 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]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3342 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-01-15 06:29:05 +00:00
nobu 4e6dbec8c8 * configure.in (RUBY_CHECK_IO_NEED): added more tests.
* io.c (rb_io_check_readable): seek after synchronized write.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3326 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-01-10 16:47:03 +00:00
nobu bd86e81602 * configure.in: AC_MSG_FAILURE is a new macro in 2.54b or later.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3324 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-01-09 14:46:09 +00:00
nobu 99628bf1f0 * 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.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3318 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-01-09 08:05:32 +00:00
usa c471e19f22 * 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])


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3282 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-01-04 05:33:29 +00:00
eban 1361e7d0ca * configure.in: better DJGPP support. add GNUmakefile.
* djgpp/GNUmakefile: new.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3272 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-01-01 09:26:45 +00:00
knu 969bb67169 * configure.in: Improve OpenBSD support. [obtained from: OpenBSD
ports]

* dln.c (FUNCNAME_PATTERN): Ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3252 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-12-31 10:53:14 +00:00
eban c7976a64fc * configure.in: cleanups for MinGW. remove -D__NO_ISOCEXT in $CFLAGS.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3220 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-12-26 15:12:06 +00:00
matz baa00aa250 * numeric.c (num_step): use DBL_EPSILON.
* array.c (rb_check_array_type): new function: return an array
  (convert if possible), or nil.

* string.c (rb_check_string_type): new function: return a string
  (convert if possible), or nil.

* numeric.c (rb_dbl_cmp): returns nil if values are not
  comparable.

* numeric.c (fix_cmp,flo_cmp): use rb_num_coerce_cmp()

* bignum.c (rb_big_cmp): ditto.

* numeric.c (rb_num_coerce_cmp): new coercing function for "<=>",
  which does not raise TypeError.

* numeric.c (do_coerce): can be supress exception now.

* object.c (rb_mod_cmp): should return nil for non class/module
  objects.

* re.c (rb_reg_eqq): return false if the argument is not a
  string.  now returns boolean value.

* class.c (rb_include_module): argument should be T_MODULE, not
  T_class, nor T_ICLASS.

* eval.c (is_defined): "defined?" should return "assignment" for
  attribute assignment (e.g. a.foo=b) and indexed assignment
  (e.g. a[2] = 44).

* parse.y (aryset): use NODE_ATTRASGN.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3169 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-12-19 09:20:20 +00:00
uema2 b19e36a214 * configure.in, defines.h, dir.c, dir.h, dln.c, error.c,
eval.c, file.c, hash.c, io.c, main.c, missing.c,
      process.c, ruby.c, rubysig.h, signal.c, st.c, util.c, util.h,
      bcc/Makefile.sub, win32/Makefile.sub, win32/win32.h,
      ext/Win32API/Win32API.c, ext/socket/getaddrinfo.c,
      ext/socket/getnameinfo.c, ext/socket/socket.c,
      ext/tcltklib/stubs.c
      : replace "NT" with "_WIN32", add DOSISH_DRIVE_LETTER
* wince/exe.mak : delete \r at the end of lines.
* wince/mswince-ruby17.def : delete rb_obj_become


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3148 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-12-15 03:18:08 +00:00
eban b60172917f * configure.in (RUBY_PROG_GNU_LD): add $CFLAGS, $CPPFLAGS, $LDFLAGS
to the option of $CC.

* configure.in: set LIBRUBYARG to '-l$(RUBY_SO_NAME)' if the
  target os is cygwin and --disable-shared option is supplied.

* lib/mkmf.rb (init_mkmf): expand config["LIBRUBY"] and
  config["LIBRUBY_A"].  don't link $LIBRUBYARG_STATIC if
  --disable-shared option is supplied.

* configure.in (RUBY_CPPOUTFILE): should be a better message.

* ext/Win32API/extconf.rb: join with a space.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3138 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-12-12 10:21:41 +00:00
matz 90c4dae08f WinCE patch merged
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3106 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-12-02 07:57:17 +00:00
nobu 604689628d * configure.in (LIBRUBY_A): append -static. [ruby-dev:18689]
* configure.in (LIBRUBYARG_STATIC, LIBRUBYARG_SHARED): linker
  argument to link static/shared library respectively.

* Makefile.in (LIBRUBYARG_STATIC, LIBRUBYARG_SHARED): added.

* bcc32/Makefile.sub, win32/Makefile.sub: ditto.

* instruby.rb (LIBRUBY_A): install to libdir.

* lib/mkmf.rb (link_command): link static library of ruby, or
  try_run fails unless LIBRUBY_SO is installed.  [ruby-dev:18646]

* eval.c (call_trace_func): toplevel caller was missing.
  [ruby-dev:18754]

* eval.c (proc_to_s): adjust created line number.

* parse.y (primary, do_block, brace_block): adjust line number of
  block to beginning line, instead of the first statement inside
  the block.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3042 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-11-14 13:51:19 +00:00
matz a1c02ee495 * math.c (math_acos): check errno after operation. ditto for
asin, acosh, atanh, log, log10 and sqrt.

* eval.c (rb_add_method): initialize should always be private.

* parse.y (expr): add rescue modifier rule.

* parse.y (command_call): return, break and next with argument is
  now part of this rule.

* parse.y (yylex): "a" in "a /5" should be considered as a local
  variable. [experimental]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3041 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-11-14 06:18:59 +00:00
nobu 8699e3e525 * configure.in (DLDFLAGS): removed -Wl,-no-undefined to
ext/extmk.rb, in order to allow references to symbols in other
	  extension libraries for mkmf.rb.  [ruby-dev:18724]

	* ext/extmk.rb (extmake): ditto.

	* ext/extmk.rb (extmake): exit when make failed.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3039 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-11-13 07:30:24 +00:00
nobu d45f226da9 * configure.in (LIBPATHFLAG): avoid $ substitution.
[ruby-dev:18577]

* ext/extmk.rb (extmake): expand $srcdir.

* ext/win32ole/extconf.rb: should not override $CFLAGS, but
  append.

* lib/mkmf.rb (config_string): use given config hash.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2991 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-10-24 12:58:42 +00:00
nobu 6009002c58 * configure.in (LIBPATHFLAG): should escape $. [ruby-dev:18572]
* mkconfig.rb: never substute escaped $$.

* instruby.rb: not install LIBRUBY_SO unless enable-shared.
  [ruby-dev:18569]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2987 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-10-23 17:40:36 +00:00
eban 79c8b98fac * configure.in (RUBY_CPPOUTFILE): fix cache file bug.
* lib/mkmf.rb (link_command): put 'opt' after conftest.c for
  static linking.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2978 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-10-21 16:09:09 +00:00
nobu b9ecdfaa3d * configure.in (XCFLAGS): CFLAGS to comile ruby itself.
* configure.in (LIBEXT): suffix for static libraries.

* configure.in (LIBPATHFLAG): switch template to specify library
  path.

* configure.in (LINK_SO): command to link shared objects.

* configure.in (DEFFILE, ARCHFILE): miscellaneous system dependent
  files.

* configure.in (EXPORT_PREFIX): prefix to exported symbols on
  Windows.

* configure.in (COMMON_LIBS, COMMON_MACROS, COMMON_HEADERS):
  libraries, macros and headers used in common.

* configure.in (RUBYW_INSTALL_NAME, rubyw_install_name): GUI mode
  excutable name.

* Makefile.in (CFLAGS): append XCFLAGS.

* Makefile.in (PREP): miscellaneous system dependent files.

* Makefile.in (ruby.imp, ext/extinit.o): moved from ext/extmk.rb.

* Makefile.in (fake.rb): CROSS_COMPILING keeps building platform.

* Makefile.in (MAKEFILES): depend on *.in and config.status.

* Makefile.in (parse.c): replace "y.tab.c" with actual name for
  byacc.

* ext/extmk.rb, lib/mkmf.rb: integrated.

* ext/extmk.rb: propagate MFLAGS.

* ext/extmk.rb (extmake): make dummy Makefile to clean even if no
  Makefile is made.

* lib/mkmf.rb (older): accept multiple file names and Time
  objects.

* lib/mkmf.rb (xsystem): split and qoute.

* lib/mkmf.rb (cpp_include): make include directives.

* lib/mkmf.rb (try_func): try wheather specified function is
  available.

* lib/mkmf.rb (install_files): default to site-install.

* lib/mkmf.rb (checking_for): added.

* lib/mkmf.rb (find_executable0): just find executable file with
  no message.

* lib/mkmf.rb (create_header): output header file is variable.

* lib/mkmf.rb (create_makefile): separate sections.

* lib/mkmf.rb (init_mkmf): initialize global variables.

* win32/Makefile.sub, bcc32/Makefile.sub (CPP, AR): added.

* bcc32/Makefile.sub (ARCH): fixed to i386.

* win32/Makefile.sub, bcc32/Makefile.sub (miniruby): should not
  link EXTOBJS.

* ext/dl/extconf.rb: use try_cpp to cross compile.

* ext/dl/extconf.rb: not modify files in source directory.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2977 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-10-21 14:17:44 +00:00
eban 396c29d195 * configure.in: use rb_cv_prog_gnu_ld on FreeBSD.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2933 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-10-04 05:46:45 +00:00
eban 5c57848093 * configure.in (RUBY_PROG_GNU_LD): check whether the linker is GNU ld.
* ext/extmk.rb (create_makefile): add -Wl,-no-undefined to $DLDFLAGS
  on Linux if GNU ld is used and --enable-shared is specified.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2931 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-10-04 05:18:05 +00:00
nobu 3a76a40196 * configure.in (RUBY_CHECK_IO_NEED_FLUSH): check whether fflush()
is needed.

* io.c (flush_before_seek): flush before seek if buffered data
  may remain.

* io.c (rb_io_check_readable): flush if the last operation was
  write.

* io.c (rb_io_check_writable): flush if the last operation was
  read.

* rubyio.h (FMODE_RBUF): added.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2923 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-10-02 14:59:25 +00:00
eban 06886efa95 * configure.in: set ac_cv_func_setitimer to "no" on Cygwin.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2918 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-10-02 04:28:01 +00:00
matz 4b9a7eac05 * io.c (appendline): forget to terminate with nul.
* eval.c (ruby_run): should set toplevel visibility again here.

* eval.c (rb_eval): should not rely on ruby_class == rb_cObject
  check.   Besides allow implicit publicity for attribute set
  methods.

* parse.y (primary): need not to check class_nest, just set
  whether method is an attrset or not.

* string.c (rb_str_each_line): p might be at the top of the
  string.

* class.c (rb_make_metaclass): class of metaclass should be
  metaclass of superclass, unless class itself is a metaclass;
  class of metaclass of metaclass should point back to self.
  eh, confusing, isn't it.

* class.c (rb_singleton_class): check if its class is singleton
  AND attached to self.

* eval.c (rb_eval): should define class/module under ruby_cbase.

* eval.c (rb_eval): should set class/module path based on
  ruby_cbase, not ruby_class.

* eval.c (module_setup): use ruby_cbase instead of ruby_class.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2887 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-09-25 07:03:05 +00:00
eban 849b1000b0 * configure.in (RUBY_MINGW32): new macro. check for the MinGW
compiler envionment.
* lib/mkmf.rb: refactoring.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2883 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-09-23 11:01:49 +00:00
eban ce296ec7fc * configure.in (OUTFLAG, CPPOUTFILE): moved from lib/mkmf.rb.
check whether ${CPP} accepts the -o option.
* win32/Makefile.sub (OUTFLAG, CPPOUTFILE): ditto.
* bcc32/Makefile.sub (OUTFLAG, CPPOUTFILE): ditto.
* djgpp/config.sed (OUTFLAG, CPPOUTFILE): ditto.
* lib/mkmf.rb (OUTFLAG, CPPOUTFILE): use CONFIG.
  make easy to understand log.
* mkconfig.rb (val): should not strip.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2867 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-09-15 12:57:21 +00:00
eban 4f26f3b890 * configure.in: modify program_prefix only if specified
--program-prefix.

* configure.in: don't generate ext/extmk.rb.

* Makefile.in: execute directly $(srcdir)/ext/extmk.rb.
  remove -Cext option, "Dir::chdir 'ext'" in ext/extmk.rb.

* {win32,bccwin32}/Makefile.sub: ditto.

* instruby.rb: ditto.

* ext/extmk.rb: renamed from ext/extmk.rb.in.

* lib/mkmf.rb (module Logging): create log files (mkmf.log)
  in each extension module directories.

* ext/extmk.rb: ditto.

* lib/mkmf.rb (macro_defined?): new method.

* ext/.cvsignore: remove extmk.rb.

* ext/*/.cvsignore: add "*.def".


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2819 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-09-08 09:08:15 +00:00
matz 40bc4f5ae4 * array.c (rb_ary_become): should not free ptr if it's shared.
* eval.c (rb_alias): prohibit making an alias named "allocate" if
  klass is a metaclass.

* string.c (rb_string_value_ptr): StringValuePtr() should never
  return NULL pointer.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2764 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-08-29 09:08:18 +00:00
eban 3685a85b3d * configure.in (ar): don't check twice for ar.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2753 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-08-28 07:38:25 +00:00
matz 1a44a463af * string.c (rb_str_delete_bang): should check if str->ptr is 0.
* string.c (rb_str_squeeze_bang): ditto.

* string.c (rb_str_count): ditto.

* string.c (rb_str_lstrip_bang): ditto.

* string.c (rb_str_rstrip_bang): ditto.

* string.c (rb_str_intern): ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2752 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-08-28 06:01:58 +00:00
matz c45908e41f * file.c (rb_find_file): $LOAD_PATH must not be empty.
* file.c (rb_find_file_ext): ditto.

* range.c (range_eq): class check should be based on range.class,
  instead of Range to work with Range.dup.

* range.c (range_eql): ditto.

* class.c (rb_mod_dup): need to preserve metaclass and flags.

* object.c (rb_cstr_to_dbl): had a buffer overrun.

* marshal.c (w_class): integrate singleton check into a funciton
  to follow DRY principle.

* marshal.c (w_uclass): should check singleton method.

* object.c (rb_obj_dup): dmark and dfree functions must be match
  for T_DATA type.

* object.c (rb_obj_dup): class of the duped object must be match
  to the class of the original.

* re.c (rb_reg_quote): do not escape \t, \f, \r, \n, for they are
  not regular expression metacharacters.

* time.c (time_s_alloc): use time_free instead of free (null check,
  also serves for type mark).

* time.c (time_s_at): check dfree function too.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2748 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-08-27 08:31:08 +00:00
eban fc8f412488 * configure.in: RUBY_SO_NAME is msvcrt-rubyXX on mswin32/mingw32.
* configure.in (sitearch): new var.
* mkconfig.rb, lib/mkmf.rb (sitearch): ditto.
* win32/Makefile.sub, win32/setup.mak (sitearch): ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2737 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-08-23 08:18:19 +00:00
eban 35ef113acf * configure.in: set ac_cv_func__setjump to "no" on Cygwin.
* configure.in: set ac_cv_func_crypt to "no" on MinGW.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2729 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-08-21 07:17:55 +00:00
eban ebe2d10c43 * configure.in: remove initstate checking.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2683 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-08-02 15:14:02 +00:00
matz 5e6634ce67 * parse.y (tokadd_string): ignore backslashed spaces in %w.
* enum.c (enum_find): do not use rb_eval_cmd(); should not accept
  a string for if_none.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2679 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-08-01 09:42:38 +00:00
eban 39e205994c * configure.in (seekdir, telldir): add ac_cv_func_telldir=yes,
ac_cv_func_seekdir=yes for MinGW.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2613 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-06-30 09:07:54 +00:00
eban 8d8af5225d * configure.in (__NO_ISOCEXT): add for mingw-runtime 2.0-2.
* configure.in (__MSVCRT__): removed because it is defined
  in the GCC specs.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2587 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-06-20 10:25:11 +00:00
eban 7f80a1800f * configure.in (LIBRUBY): rename to lib$(LIBRUBY_SO).a on Cygwin/MinGW.
* configure.in, cygwin/GNUmakefile: use dllwrap when --disable-shared
  is specified.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2551 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-06-11 10:26:13 +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
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 c8cfcf0020 * configure.in: forgot to add -Wl, to the gcc option on Cygwin/MinGW.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2438 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-05-07 08:15:25 +00:00
eban e37c67b73f * configure.in: add #include <errno.h> in AC_CHECK_DECLS().
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2426 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-05-03 11:24:30 +00:00
matz 20ed1f8d1a * error.c: use HAVE_DECL_SYS_NERR instead of platform names.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2423 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-05-02 07:50:36 +00:00
eban 0efc6365aa * configure.in: set size of the initial stack from
2MB to 32MB on MinGW/Cygwin.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2404 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-04-24 05:27:41 +00:00
eban 3fe3e72b17 * configure.in: AC_INIT should take no argument.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2396 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-04-21 16:05:52 +00:00
eban 5164f39cbd * configure.in: version 0.0 -> 1.7.2.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2391 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-04-19 07:52:21 +00:00
eban 512db243d7 * configure.in: cleanup for autoconf 2.5x.
* configure.in: use gcc -shared instead of dllwrap on Cygwin/MinGW.
* ext/extmk.rb, lib/mkmf.rb: get rid of "--def=".


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2390 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-04-19 07:39:40 +00:00
eban 29b36962fe * configure.in: add check for initstate(3).
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2371 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-04-12 04:05:08 +00:00
nobu be5524ae41 /tmp/log
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2368 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-04-12 03:24:52 +00:00
matz 5527b3b961 * eval.c (assign): ruby_verbose should be surrounded by RTEST().
* object.c (rb_str2cstr): ditto.

* parse.y (void_expr): ditto.

* parse.y (void_stmts): ditto.

* variable.c (rb_ivar_get): ditto.

* variable.c (rb_cvar_set): ditto.

* variable.c (rb_cvar_get): ditto.

* dir.c (glob_helper): should have proceed link when link->path
  was non existing symbolic link.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2363 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-04-11 10:03:01 +00:00
eban b427d9e859 * configure.in (FILE_READPTR): check bufread instead of bufend for uClibc.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2287 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-03-26 10:14:44 +00:00
akr 6696999417 * configure.in (FILE_READPTR): check _p for 4.4BSD.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2277 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-03-25 15:37:44 +00:00
nobu dfaf41d759 * configure.in (FILE_READPTR): new. for IO#gets improvement.
* io.c (READ_DATA_PENDING_PTR): ditto.

* io.c (remain_size): separated from read_all().

* io.c (read_all): argument chagend.

* io.c (appendline): new.  get a line and append to string.

* io.c (swallow): new.  swallow continuous line delimiters.

* io.c (rb_io_getline_fast): add delimiter argument.

* io.c (rb_io_getline): performance improvement.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2276 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-03-25 14:50:40 +00:00
eban c4d80ad690 * configure.in: autoconf 2.53 support. use AC_LIBOBJ.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2201 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-03-14 07:20:34 +00:00
matz 997b69cb6a * re.c (rb_reg_match): should clear $~ if operand is nil.
* re.c (rb_reg_match2): ditto.

* configure: merge Jonathan Baker's large file support patch
  [ruby-talk:35316], with read_all patch in [ruby-talk:35470].

* eval.c (rb_f_abort): optional message argument that be printed
  on termination. [new]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2200 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-03-14 06:23:46 +00:00
matz 7de72c4858 * parse.y (expr_value, arg_value, primary_value): value_expr()
check in place.

* eval.c (block_pass): "&nil" should clear block given.

* dir.c (push_braces): remove MAXPATHLEN dependency.

* dir.c (dir_s_globd): ditto.

* dln.c (init_funcname): ditto.

* dln.c (load_1): ditto.

* dln.c (dln_load): ditto.

* configure.in: add GNU/Hurd switches.

* pack.c (pack_pack): allows comment in template strings.

* pack.c (pack_unpack): ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2082 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-02-18 09:52:48 +00:00
nobu 65806ccb72 * configure.in: keep old config.h unless changed.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2050 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-02-06 08:25:00 +00:00
akr 94acb9c6bc * file.c: `major' and `minor' macro needs sys/mkdev.h on SunOS 5.x.
* configure.in: add check for `sys/mkdev.h'.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2028 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-01-29 09:15:59 +00:00
eban a0bf3b3bb9 * configure.in (solaris): add '-shared' only for GNU ld.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2017 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-01-25 09:00:50 +00:00
matz eb9708f386 * array.c (Init_Array): remove Array#filter.
* object.c (rb_mod_initialize): should accept zero argument.

* object.c (rb_mod_cmp): should raise ArgumentError if
  inheritance/inclusion relation between two classes/modules is
  not defined. [new]

* io.c (rb_io_fsync): new method. [new]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2014 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-01-23 07:30:43 +00:00
matz 459031e5d9 * process.c (rb_f_system): abandon vfork.
* io.c (pipe_open): ditto.

* defines.h: sparc linux needs different FLUSH_REGISTER_WINDOWS

* regex.c (re_search): abandon stclass optimization.

* bignum.c (rb_cstr2inum): deny "0_".

* bignum.c (rb_cstr2inum): allow "0\n" and so on.

* error.c (rb_invalid_str): utility function to show inspect()'ed
  string.

* bignum.c (rb_cstr2inum): prints invalid strings in inspect()'ed
  format.

* object.c (rb_Float): ditto.

* object.c (rb_convert_type): no longer use rb_rescue().

* re.c (rb_reg_search): initialize taint status of match object.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1959 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-01-04 14:15:33 +00:00
akr b48e38c526 * time.c: new method `gmtoff', `gmt_offset' and `utc_offset'.
(time_utc_offset): new function.
(Init_Time): bind above methods to `time_utc_offset'.

* time.c: 64bit time_t support.
(time_s_at): use NUM2LONG instead of NUM2INT for tv_sec.
(time_arg): initialize tm_isdst correctly.
use long to initialize tm_year.
(search_time_t): renamed from `make_time_t'.
(make_time_t): call `timegm' and `mktime' instead of `search_time_t'
if availabe.
(time_to_i): use LONG2NUM instead of INT2NUM.
(time_localtime): check localtime failure.
(time_gmtime): check gmtime failure.
(time_year): use LONG2NUM instead of INT2FIX.
(time_to_a): use long for tm_year.
(time_dump): check tm_year which is not representable with 17bit.
(time_load): initialize tm_isdst.

* configure.in: check existence of `mktime' and `timegm'.
check existence of tm_gmtoff field of struct tm.
fix negative time_t for 64bit time_t.

* missing/strftime.c: fix overflow by tm_year + 1900.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1912 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-12-17 06:45:37 +00:00
eban 9e8553e5cc * configure.in: add -Wl,-export-dynamic on NetBSD.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1877 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-12-03 09:38:35 +00:00
usa 8abe10b3da * configure.in: not use X11BASE, since it's not always set.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1875 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-12-03 07:06:28 +00:00
usa a2ec07f1d1 * configure.in: apply patch from NetBSD's pkgsrc (patch-aa).
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1874 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-12-02 18:33:10 +00:00
eban dd17e103f4 * configure.in: use GCC, not without_gcc. remove without_gcc.
* ext/curses/extconf.rb: check for curses.h.
* ext/dbm/extconf.rb: check if $CFLAGS includes DBM_HDR.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1873 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-12-02 14:10:27 +00:00
eban 3691d88f36 * configure.in: set target_cpu to i386 on cygwin and mingw32.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1866 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-11-30 09:17:30 +00:00
eban fffeb61121 * configure.in: do not override CC if set.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1832 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-11-13 10:53:20 +00:00
matz 7422ccdd9e * signal.c (sighandle): should not re-register sighandler if
POSIX_SIGNAL is defined.

* eval.c (error_print): errat array may be empty.

* eval.c (rb_eval_cmd): should not upgrade safe level unless
  explicitly specified by argument newly added.

* signal.c (sig_trap): should not allow tainted trap closure.

* variable.c (rb_f_trace_var): should not allow trace_var on safe
  level higher than 3.

* variable.c (rb_f_trace_var): should not allow tainted trace
  closure.

* gc.c: do not use static stack until system stack overflows.

* eval.c (eval): should call Exception#exception instead of
  calling rb_exc_new3() directly.

* error.c (exc_exception): set "mesg" directly to the clone.  it
  might be better to set mesg via some method for flexibility.

* variable.c (cvar_override_check): should print original module
  name, if 'a' is T_ICLASS.

* parse.y (yylex): float '1_.0' should not be allowed.

* variable.c (var_getter): should care about var as Qfalse
  (ruby-bugs#PR199).

* array.c (cmpint): <=> or block for {min,max} may return bignum.

* array.c (sort_1): use rb_compint.

* array.c (sort_2): ditto.

* enum.c (min_ii): ditto.

* enum.c (min_ii): ditto.

* enum.c (max_i): ditto.

* enum.c (max_ii): ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1827 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-11-13 08:19:52 +00:00
matz dc98adf839 * process.c (security): always give warning for insecure PATH.
* dir.c (my_getcwd): do not rely on MAXPATHLEN.

* file.c (rb_file_s_readlink): ditto.

* file.c (path_check_1): ditto.

* eval.c (rb_yield_0): should not call rb_f_block_given_p().

* string.c (rb_str_chomp_bang): should terminate string by NUL.

* eval.c (rb_yield_0): better error message.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1816 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-11-08 06:43:14 +00:00
matz 75eee0bafd * ext/socket/socket.c (unix_addr): getsockname(2) may result len = 0.
* ext/socket/socket.c (unix_peeraddr): getpeername(2) may result
  len = 0.

* string.c (rb_str_subpat_set): support function for new argument
  pattern String#[re,offset] = val. [new]

* eval.c (POP_BLOCK): rb_gc_force_recycle() was called too much.
  Should not be called if SCOPE_DONT_RECYCLE is set.

* string.c (rb_str_aref_m): new argument pattern
  String#[re,offset]. [new]

* string.c (rb_str_substr): should return an instance of
  receiver's class.

* string.c (rb_str_succ): ditto.

* array.c (rb_ary_subseq): ditto.

* array.c (rb_ary_initialize): Array.new([1,2,3]) => [1,2,3]. [new]

* string.c (rb_str_reverse): should return an instance of
  receiver's class.

* string.c (rb_str_times): ditto.

* array.c (rb_ary_times): ditto

* string.c (str_gsub): ditto.

* string.c (rb_str_ljust): ditto.

* string.c (rb_str_rjust): ditto.

* string.c (rb_str_center): ditto.

* eval.c (eval): retrieves file, line information from binding.

* eval.c (intersect_fds): counts intersecting fds.

* eval.c (rb_thread_schedule): only fds requested by
  each thread count as select_value.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1761 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-10-02 04:31:23 +00:00
matz 0f35b58a2f * ruby.c (proc_options): should not alter origargv[].
* ruby.c (set_arg0): long strings for $0 dumped core.

* ruby.c (set_arg0): use setprogtitle() if it's available.

* io.c (rb_io_popen): accept integer flags as mode.

* file.c (rb_find_file_ext): extension table can be supplied from
  outside.  renamed.

* eval.c (rb_f_require): replace rb_find_file_noext by
  rb_find_file_ext.

* eval.c (rb_provided): should also check feature without
  extension.

* numeric.c (flo_to_s): do not rely on decimal point to be '.'


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1722 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-09-03 05:37:42 +00:00
matz f33a61c28d * string.c (rb_str_lstrip_bang): new method.
* string.c (rb_str_rstrip_bang): new method.

* string.c (rb_str_associate): should consider STR_ASSOC too.

* eval.c (rb_undefined): do not recurse if method_missing is
  undefined.

* process.c (proc_waitpid): now all arguments are optional.

* process.c (Init_process): waitpid is now alias to wait.

* process.c (Init_process): waitpid2 is now alias to wait2.

* process.c (rb_waitpid): made public.

* ext/pty/pty.c (pty_getpty): avoid disturbing SIGCHLD using
  thread and rb_waitpid.

* process.c (proc_getpgrp): now takes no argument on all
  platforms.

* process.c (proc_setpgrp): ditto.

* ext/socket/socket.c (sock_s_pack_sockaddr_in): added
  Socket::pack_sockaddr_in(). [new]

* ext/socket/socket.c (sock_s_pack_sockaddr_un): added
  Socket::pack_sockaddr_un(). [new]

* ext/socket/socket.c (sock_s_pack_sockaddr_in): added
  Socket::unpack_sockaddr_in(). [new]

* ext/socket/socket.c (sock_s_pack_sockaddr_un): added
  Socket::unpack_sockaddr_un(). [new]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1666 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-08-06 03:05:23 +00:00
eban c88531e4b9 * confgure.in: add RUBY_CANONICAL_BUILD.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1520 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-06-11 05:31:17 +00:00
eban e8fb16c70f * configure.in: use waitpid on mingw32.
* ext/dbm/extconf.rb: include <ndbm.h>, not <gdbm.h>.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1481 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-06-01 02:25:28 +00:00
knu 2c537562df * configure.in: default --with-libc_r to `no' until the problem is
fixed. (FreeBSD only)


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1477 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-05-30 16:29:32 +00:00
eban 032825472b * configure.in: remove unnecessary AC_CANONICAL_BUILD
* defins.h: #define HAVE_SETITIMER on Cygwin(bug fixed).
* ruby.c: use relative path from LIBRUBY_SO.
* ruby.c: don't use -mwin32 option on Cygwin.
* cygwin/GNUmakefile.in: ditto.
* ext/sdbm/_sdbm: ditto.
* ext/tcltklib/extconf.rb: ditto.
* ext/tcltklib/stubs.c: ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1472 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-05-28 16:07:34 +00:00
matz cc043890f8 * bignum.c (bigdivrem): access boundary bug.
* marshal.c (w_object): prohibit dumping out singleton classes.

* object.c (rb_mod_to_s): distinguish singleton classes.

* variable.c (rb_class2name): it's ok to reveal NilClass,
  TrueClass, FalseClass.

* eval.c (rb_yield_0): preserve and restore ruby_cref as well.

* eval.c (is_defined): core dumped during instance_eval for
  special constants.

* eval.c (rb_eval): ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1389 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-05-11 05:24:59 +00:00
knu f0448281f5 I'm committing this from a MacOS X host. :)
* configure.in: get --enable-shared to work on MacOS X.

* Makefile.in: make $(LIBRUBY_SO) depend on miniruby properly.
Now `make -jN' should work without a problem.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1360 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-05-02 18:35:50 +00:00
eban e32f6a8269 * configure.in: don't use tzname on cygwin 1.3.1+.
* configure.in: add -mieee/-ieee to CFLAGS on OSF1/Alpha
  to disable "DIVISION BY ZERO" exception.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1336 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-04-26 13:58:10 +00:00
eban eccb4d0210 * configure.in: add -mieee to CFLAGS on Linux/Alpha
to disable "DIVISION BY ZERO" exception.

* configure.in: remove -ansi on OSF/1.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1331 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-04-22 09:49:15 +00:00
knu 286cddd445 * Makefile.in: Introduce MAINLIBS.
* configure.in: Link libc_r against the ruby executable on
FreeBSD, which is the first attempt to work around a certain
problem regarding pthread on FreeBSD.  It should make ruby/libruby
happy when it loads an extention to a library compiled and linked
with -pthread.  Note, however, that libruby is _not_ linked with
libc_r so as not to mess up pthread unfriendly stuff including
apache+mod_ruby and vim6+ruby_interp.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1297 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-04-01 16:53:41 +00:00
matz b60a365763 * eval.c (rb_mod_define_method): should have clear method cache.
* eval.c (rb_mod_define_method): should have raised exception for
  type error.

* ruby.h: changed "extern INLINE" to "static inline".


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1286 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-03-27 07:10:58 +00:00
matz 285cb99ba4 * ruby.h: better inline function support.
* configure.in (NO_C_INLINE): check if inline is available for the
  C compiler.

* marshal.c (r_object): len calculation patch was wrong for
  machines SIZEOF_BDIGITS == SIZEOF_SHORT.

* gc.c: alloca prototype reorganized for C_ALLOCA machine.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1275 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-03-22 08:59:26 +00:00
knu 7f74a38b72 * configure.in: Set SOLIBS properly for all ELF and
FreeBSD/NetBSD/OpenBSD a.out platforms so that the shlib
  dependencies are recorded in the libruby shlib.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1253 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-03-16 08:17:44 +00:00
matz e502549be1 * io.c (argf_seek_m): wrong calling sequence of rb_io_seek().
* parse.y (cond0): no special treatment of string literal in
  condition.

* math.c: add acos, asin, atan, conh, sinh, tanh and hypot to Math.

* configure.in: check hypot availablility.

* missing/hypot.c: public domain rewrite of hypot.

* parse.y (warn_unless_e_option): warning condition was wrong.

* parse.y (warning_unless_e_option): ditto.

* enum.c (enum_all): new method 'all?', which returns true if
  block returns true for all elements.

* enum.c (enum_any): new method 'any?', which returns true if
  block retruns true for any of elements.

* marshal.c (marshal_load): do not give warning unless explicitly
  set to verbose.

* eval.c (rb_exit): give string value "exit" to SystemExit.

* ruby.c (proc_options): -v should not print version if
  proc_options called via moreswitches().

* parse.y (stmt): while/until modifier must work for empty body.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1241 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-03-13 05:45:13 +00:00
matz b27393d6ca * string.c (rb_str_delete_bang): delete! should take at least 1
argument.

* ruby.c (load_file): add rb_gc() after loading to avoid
  extraordinary memory growth.

* dir.c (rb_glob_helper): "./foo" should match "foo", not "./foo".

* eval.c (ev_const_get): retrieve Object's constant if no current
  class is available (e.g. defining singleton class for Fixnums).

* eval.c (ev_const_defined): check Object's constant if no current
  class is available (e.g. defining singleton class for Fixnums).

* time.c (time_timeval): negative time interval shoule not be
  allowed.

* eval.c (proc_call): ignore block to `call' always, despite of
  being orphan or not.

* eval.c (rb_yield_0): should check based on rb_block_given_p()
  and rb_f_block_given_p().

* configure.in (frame-address): --enable-frame-address to allow
  __builtin_frame_address() to be used.

* eval.c (stack_length): use __builtin_frame_address() based on
  the macro USE_BUILTIN_FRAME_ADDRESS.

* gc.c (rb_gc): ditto.

* gc.c (Init_stack): ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1223 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-02-28 06:30:03 +00:00
matz df2d69b49a * eval.c (proc_call): should not modify ruby_block->frame.iter
based on ruby_frame->iter altered by PUSH_ITER().

* eval.c (rb_thread_fd_close): should save current context before
  raising exception.

* io.c (set_stdin): preserve original stdin.

* io.c (set_outfile): preserve original stdout/stderr.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1219 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-02-26 05:29:06 +00:00
matz 88eef2d7fe * configure.in: add check for negative time_t for gmtime(3).
* time.c (time_new_internal): no positive check if gmtime(3) can
  handle negative time_t.

* time.c (time_timeval): ditto.

* bignum.c (rb_big2long): should not raise RangeError for Bignum
  LONG_MIN value.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1205 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-02-20 07:42:03 +00:00
matz e1c29a3f13 * io.c (set_outfile): f should be the FILE* from the assigning value.
* ext/socket/socket.c (tcp_s_open): should not give default value
  to local_host.

* time.c (time_s_times): move to Process::times.

* file.c (rb_file_s_lchmod): new method File::lchmod.

* file.c (rb_file_s_lchown): new method File::lchown.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1192 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-02-16 07:53:21 +00:00
eban 32ce4317d8 * configure.in: add ac_cv_func_getpgrp_void=yes on DJGPP.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1176 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-02-11 14:59:04 +00:00
eban e9f9915a4c gcc-2.95.2-7(cygwin) support.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1155 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-01-31 14:27:37 +00:00
eban 70e3e77f3b * configure.in: remove DEFS definition.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1133 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-01-17 04:33:29 +00:00
matz 4c09e12b04 m17n cleanup ;_;
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1112 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-01-10 09:52:13 +00:00
eban 74d0eaf6a2 NORETURN
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1109 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-01-10 08:09:01 +00:00
eban 6b5ad7c5b2 setres[ug]id, NORETURN
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1106 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-01-10 07:30:18 +00:00
matz a5dcc4437e matz
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1079 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2000-12-26 08:08:50 +00:00
matz 2a1b0ff232 matz
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1037 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2000-11-13 05:39:35 +00:00
matz 58e04b755a matz
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1028 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2000-11-02 09:04:54 +00:00
matz c90b1ecaf8 matz
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1023 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2000-10-31 08:37:47 +00:00
matz 9a46002fc0 matz
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@985 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2000-10-02 07:48:42 +00:00
eban 173e2f6636 eban
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@984 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2000-09-30 17:06:08 +00:00
eban d1fb5f16d5 eban
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@979 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2000-09-27 06:48:23 +00:00
matz e4fae8da4b matz
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@964 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2000-09-22 18:15:52 +00:00
matz b35df6aae2 matz
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@952 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2000-09-21 09:31:00 +00:00
eban 053140491c eban
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@945 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2000-09-19 07:01:54 +00:00
eban c74a3b21f5 eban
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@944 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2000-09-19 05:03:07 +00:00
matz fbcc6dea0c matz: 1.6.0 final (hopufully)
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@934 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2000-09-12 05:37:38 +00:00
eban db1571b1b4 eban
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@926 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2000-09-04 04:43:26 +00:00
matz 0a2f8b61d4 matz
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@906 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2000-08-28 09:53:42 +00:00
eban 740a664bc8 eban
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@892 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2000-08-15 07:11:13 +00:00
matz c67251edb4 matz
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@876 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2000-08-07 05:05:04 +00:00
matz 5222760bc4 matz - nakada win32 patch
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@872 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2000-08-03 09:50:41 +00:00
matz d3a6170010 matz
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@867 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2000-08-01 09:25:37 +00:00
matz 374ea2790e matz
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@860 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2000-07-31 04:36:38 +00:00
matz 77e876615d matz
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@858 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2000-07-27 09:49:34 +00:00
eban f0ba57341a eban
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@855 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2000-07-26 02:25:50 +00:00
eban b17c80f6d6 eban
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@854 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2000-07-26 01:12:31 +00:00
eban 94089e82a1 eban
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@853 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2000-07-25 14:46:46 +00:00
eban fd7ed008fd 2000-07-03
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@805 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2000-07-03 09:08:37 +00:00
eban 7c2039d046 2000-07-03
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@804 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2000-07-03 08:29:58 +00:00
eban 7c4044501a 2000-07-03
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@801 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2000-07-03 01:47:03 +00:00
eban 4e4b377a8e 2000-07-02
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@800 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2000-07-02 15:57:18 +00:00
eban 1e965f4f9a 2000-06-28
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@793 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2000-06-28 12:27:54 +00:00
eban d988ddae8d 2000-06-28
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@792 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2000-06-28 10:45:30 +00:00
matz 224e59c6f8 matz
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@791 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2000-06-28 08:31:35 +00:00
matz 44cf56d6e7 2000-06-22
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@775 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2000-06-22 08:29:58 +00:00
eban 2cc44e7606 2000-06-20
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@769 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2000-06-20 01:55:26 +00:00
matz b8148f4594 2000-06-19
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@767 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2000-06-19 08:38:11 +00:00
eban c613f625b7 2000-06-19
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@766 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2000-06-19 03:37:55 +00:00
eban feb82209ab 2000-06-16
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@761 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2000-06-16 12:41:06 +00:00
matz 8d18d5b3f9 2000-06-16
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@760 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2000-06-16 07:44:16 +00:00
eban 7f46923fee 2000-06-14
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@755 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2000-06-14 05:15:08 +00:00
eban b0ed08600a 2000-06-13
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@745 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2000-06-12 16:34:50 +00:00
eban c86f2148a2 2000-06-12
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@742 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2000-06-12 14:46:44 +00:00
matz 548b5143db 2000-06-12
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@741 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2000-06-12 07:48:31 +00:00
matz ecd1aab526 2000-06-05
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@731 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2000-06-05 08:46:59 +00:00
matz 8b1de0b1ad 2000-05-24
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@710 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2000-05-24 04:34:26 +00:00
eban 189372842d see ChangeLog.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@704 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2000-05-21 12:23:51 +00:00
eban b069230a3a see ChangeLog
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@703 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2000-05-21 09:25:58 +00:00
eban 693599714a fix bug; support mingw32.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@690 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2000-05-14 09:36:29 +00:00
eban 6d53b692ab support mingw32.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@688 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2000-05-13 16:13:31 +00:00
matz 9da4f78db4 2000-05-12
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@687 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2000-05-12 09:07:57 +00:00
matz 655e96fa59 2000-05-09
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@682 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2000-05-09 04:53:16 +00:00
matz fedf48986d 2000-05-01
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@678 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2000-05-01 09:42:38 +00:00
matz 861e4ba6b3 mkmf
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@664 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2000-04-12 05:06:23 +00:00
matz 5c13dd59db 2000-03-17
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@646 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2000-03-17 08:58:21 +00:00
matz d8f981b972 2000-03-15
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@642 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2000-03-15 09:09:28 +00:00
matz 0d3f4a92cf 2000-03-15
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@641 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2000-03-15 05:01:17 +00:00
matz 31c55301e4 2000-03-13
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@638 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2000-03-13 07:18:45 +00:00
matz 4d215cd9d3 2000-03-07
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@634 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2000-03-07 08:37:59 +00:00
matz 96b40dff45 2000-02-17
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@618 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2000-02-17 07:11:22 +00:00
matz 320e99d8dd 2000-02-08
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@616 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2000-02-08 08:54:01 +00:00
matz e4b53b2222 2000-02-01
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@611 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2000-02-01 03:12:21 +00:00
matz de71615260 20000105
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@598 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2000-01-05 04:41:21 +00:00
matz 9d228b13de 19991214
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@587 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
1999-12-14 06:50:43 +00:00
matz c18d3740a9 991207
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@577 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
1999-12-07 09:25:55 +00:00
matz dee96209bf 19991206
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@576 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
1999-12-06 09:04:03 +00:00
matz 04c7225b78 19991110
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@561 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
1999-11-10 06:47:11 +00:00
matz 2841285182 19991108
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@558 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
1999-11-08 03:57:01 +00:00
matz 0d684beafb 19991029
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@556 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
1999-10-29 09:25:48 +00:00
matz 29a7a36d06 RUBYOPT
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@551 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
1999-10-21 07:52:15 +00:00
matz 69a3aaf154 regexp literal (e.g. \202) match, etc.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@526 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
1999-09-01 09:48:03 +00:00
matz 65a5162550 1.4.0
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@520 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
1999-08-13 05:45:20 +00:00
matz 210367ec88 This commit was generated by cvs2svn to compensate for changes in r372,
which included commits to RCS files with non-trunk default branches.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@373 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
1999-01-20 04:59:39 +00:00
matz 3db12e8b23 Initial revision
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
1998-01-16 12:13:05 +00:00