Commit graph

24190 commits

Author SHA1 Message Date
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
eban
d6cba99ea5 2003-01-08
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3311 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-01-08 08:03:45 +00:00
matz
9796a9bc1c * eval.c: remove ruby_last_node and assignments seems to be
unnecessary

* intern.h: debug does not run if ID_ALLOCATOR is zero.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3310 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-01-08 06:59:38 +00:00
matz
17065d47a6 * range.c (range_each): treat fixnums specially to boost.
* numeric.c (num_step): remove rb_scan_args() for small speedup.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3309 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-01-08 06:05:08 +00:00
matz
a89ac45548 * eval.c (svalue_to_avalue): should return converted array.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3308 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-01-07 08:56:51 +00:00
matz
6d481a4ae4 * hash.c (env_clear): new Hash compatible method.
* hash.c (env_shift): ditto.

* hash.c (env_invert): ditto.

* hash.c (env_replace): ditto.

* hash.c (env_update): ditto.

* array.c (rb_ary_join): dispatch based on "to_str".

* array.c (rb_ary_times): ditto.

* array.c (rb_ary_equal): ditto.

* process.c (rb_f_exec): dispatch based on "to_ary".

* eval.c (umethod_bind): exact class match is not required.  relax
  the restriction to subclasses.

* eval.c (rb_eval): call "inherited" before executing class body.

* class.c (rb_define_class): call "inherited" after defining the
  constant.

* class.c (rb_define_class_under): ditto.

* eval.c (massign): expand first element if RHS is an array and
  its size is 1, and LHS has concrete assignment target (i.e. LHS
  has target(s) other than *var).

* eval.c (massign): avoid unnecessary avalue/svalue conversion.

* eval.c (rb_yield_0): ditto

* array.c (rb_ary_update): do not allocate unused array if rpl is
  nil (i.e. merely removing elements).

* io.c (io_read): should resize supplied string if it's shorter
  than expected.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3307 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-01-07 07:36:40 +00:00
eban
954826f7a8 2003-01-07
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3306 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-01-07 04:12:52 +00:00
nobu
520416fdc5 * eval.c (rb_f_local_variables): skip $_, $~ and flip states in
dynamic variables.  [ruby-core:00681]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3305 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-01-06 22:50:18 +00:00
knu
220649ca78 [Forced commit]
I was wrong about something.  It was a return value,
not arguments that are not covered by the int-to-long promotion rule
on IA64, if the function is not explicitly declared.

The commit itself was generally a right thing to do, but just let me
correct my commit message.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3304 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-01-06 16:37:29 +00:00
knu
91b9d37a85 * st.h, st.c: Introduce new conventional typedef's, st_data_t,
st_compare_func_t, st_hash_func_t and st_each_func_t.

* st.h, st.c: Do explicit function declarations and do not rely on
  implicit declarations.  On such platforms as IA64, int argument
  values are NOT automatically promoted to long (64bit) values, so
  explicit declarations are mandatory for those functions that
  take long values or pointers.  This fixes miniruby's coredump on
  FreeBSD/IA64.

* class.c, eval.c, gc.c, hash.c, marshal.c, parse.y, variable.c:
  Add proper casts to avoid warnings.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3303 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-01-06 15:55:43 +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
usa
2b442c240a * file.c: improve DOSISH drive letter support.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3301 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-01-06 09:44:15 +00:00
eban
4de3dfd8d3 2003-01-06
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3300 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-01-06 09:35:51 +00:00
eban
6254d7103b * lib/fileutils.rb (ln): add ' -f' in the verbose message.
* lib/fileutils.rb (cp_r): add 'p' in the verbose message.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3299 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-01-06 09:34:16 +00:00
usa
a8bb4ed577 * process.c (proc_exec_v): follow to proc_spawn_v(). call do_aspawn()
on Win32.

* process.c (rb_proc_exec): call do_spawn() on Win32.

* win32/win32.c, win32/win32.h (do_spawn, do_aspawn): add mode flag.

* process.c (proc_spawn_v, rb_f_system): follow above change.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3298 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-01-06 04:30:27 +00:00
nobu
6a29dec1fd commit miss
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3297 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-01-05 22:16:45 +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
e1949185d3 * struct.c (make_struct): needs meta class.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3295 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-01-05 17:40:29 +00:00
eban
27ff93a4ee * lib/fileutils.rb (ln): `argv' is not a argument.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3294 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-01-05 14:00:57 +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
nobu
a287a10df7 2003-01-05
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3291 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-01-05 03:06:51 +00:00
nobu
10c93d6c74 * ruby.c (ruby_init_loadpath): under Windows, get the module
path from an internal address instead of hard coded library
  name.

* cygwin/GNUmakefile.in, bcc32/Makefile.sub,
  win32/Makefile.sub (CPPFLAGS): removed LIBRUBY_SO macro.

* bcc32/Makefile.sub, win32/Makefile.sub (config.h): no longer
  depends on makefiles.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3290 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-01-05 01:40:24 +00:00
knu
af8250ec34 FLUSH_REGISTER_WINDOWS must not be empty. Set to NULL instead.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3288 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-01-04 18:57:37 +00:00
knu
50e62191ec * defines.h (FLUSH_REGISTER_WINDOWS): Make the flushw call an
inline function instead so it can be used as an expression.

* eval.c (EXEC_TAG, THREAD_SAVE_CONTEXT): Consistently call
  FLUSH_REGISTER_WINDOWS before calling setjmp(). (I suspect that
  every setjmp() implementation should take care of register
  windows, though)


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3285 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-01-04 18:48:24 +00:00
usa
b369eea79f * file.c (utimbuf): use utimbuf instead of _utimbuf if defined _WIN32.
* win32/Makefile.sub (LIBS): use oldnames.lib.

* win32/win32.c (rb_w32_getcwd): follow above change.

* win32/win32.h: ditto.

* wince/direct.c, wince/direct.h (getcwd): ditto.

* wince/io.h: ditto.

* wince/string.c, wince/wince.h (stricmp, strnicmp): ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3284 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-01-04 18:17:30 +00:00
usa
d80285a9fe * process.c (rb_proc_exec): use same logic as DJGPP on win32 ports.
* process.c (rb_f_system): ditto.

* win32/win32.c, win32/win32.h (do_aspawn): [new]. for arrayed
  arguments.

* win32/win32.c (CreateChild): add new argument for real filename of
  executing process.

* win32/win32.c (NtHasRedirection, pipe_exec): follow above change.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3283 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-01-04 06:26:10 +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
nobu
2ce6988e55 * file.c (rb_file_s_lchmod): get rid of gcc-3 -O3 warning.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3281 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-01-03 16:52:56 +00:00
nobu
e56b74195c 2003-01-03
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3280 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-01-03 14:24:47 +00:00
nobu
41c46ceade * process.c (rb_proc_times): need to initialize first.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3279 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-01-03 13:26:48 +00:00
nobu
5f075c2fda commit miss
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3278 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-01-02 17:03:43 +00:00
nobu
afc6ad0561 * regex.c (re_match):
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3277 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-01-02 16:56:16 +00:00
nobu
3ff112ae07 2003-01-02
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3276 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-01-02 02:01:38 +00:00
nobu
ed506c07d1 * eval.c (bmcall): arguments should be an array.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3275 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-01-02 02:01:25 +00:00
matz
4d676cf76f * process.c (rb_proc_times): avoid WindowsXP crash using volatile
variables.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3274 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-01-01 10:49:14 +00:00
eban
a3c545a7bc add djgpp/GNUmakefile
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3273 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-01-01 10:05:46 +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
matz
b6c63738b2 * eval.c (massign): removed awkward conversion between yvalue,
mvalue, etc.

* eval.c (rb_yield_0): new parameter added to tell whether val is
  an array value or not.

* parse.y (yield_args): restructuring: new nodes: NODE_RESTARY2,
  NODE_SVALUE; removed node: NODE_RESTARGS.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3270 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-01-01 03:40:01 +00:00
matz
0082edfd3d * eval.c (massign): removed awkward conversion between yvalue,
mvalue, etc.

* eval.c (rb_yield_0): new parameter added to tell whether val is
  an array value or not.

* parse.y (yield_args): restructuring: new nodes: NODE_RESTARY2,
  NODE_SVALUE; removed node: NODE_RESTARGS.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3269 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-01-01 03:24:29 +00:00
knu
2a54402839 Really cvs rm these files from HEAD.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3268 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-12-31 21:01:40 +00:00
knu
c56fa0649d Fix one more.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3267 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-12-31 19:43:29 +00:00
knu
709b837811 Fix typos.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3265 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-12-31 19:38:42 +00:00
knu
59e61e038a 2003-01-01
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3264 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-12-31 19:25:48 +00:00
knu
d0588e9822 * node.h (struct RNode): Change argc from int to long. Otherwize
NEW_CFUNC() sets argc to a wrong value on platforms where
  sizeof(int) != sizeof(long) and the byte order is big-endian.
  This fixes breakage on FreeBSD/sparc64.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3263 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-12-31 19:24:29 +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
b8ad2fa064 Fix typos.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3257 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-12-31 11:47:29 +00:00
matz
7ca084da85 * gc.c (rb_gc_mark_frame): should mark frame->node.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3256 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-12-31 11:44:29 +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