Commit graph

1539 commits

Author SHA1 Message Date
ko1
83aba04862 * include/ruby/ruby.h: constify RBasic::klass and add
RBASIC_CLASS(obj) macro which returns a class of `obj'.
  This change is a part of RGENGC branch [ruby-trunk - Feature #8339].
* object.c: add new function rb_obj_reveal().
  This function reveal interal (hidden) object by rb_obj_hide().
  Note that do not change class before and after hiding.
  Only permitted example is:
  klass = RBASIC_CLASS(obj);
  rb_obj_hide(obj);
  ....
  rb_obj_reveal(obj, klass);
  TODO: API design. rb_obj_reveal() should be replaced with others.
  TODO: modify constified variables using cast may be harmful for
  compiler's analysis and optimizaton.
  Any idea to prohibt inserting RBasic::klass directly?
  If rename RBasic::klass and force to use RBASIC_CLASS(obj),
  then all codes such as `RBASIC(obj)->klass' will be
  compilation error. Is it acceptable? (We have similar
  experience at Ruby 1.9,
  for example "RARRAY(ary)->ptr" to "RARRAY_PTR(ary)".
* internal.h: add some macros.
* RBASIC_CLEAR_CLASS(obj) clear RBasic::klass to make it internal
  object.
* RBASIC_SET_CLASS(obj, cls) set RBasic::klass.
* RBASIC_SET_CLASS_RAW(obj, cls) same as RBASIC_SET_CLASS
  without write barrier (planned).
* RCLASS_SET_SUPER(a, b) set super class of a.
* array.c, class.c, compile.c, encoding.c, enum.c, error.c, eval.c,
  file.c, gc.c, hash.c, io.c, iseq.c, marshal.c, object.c,
  parse.y, proc.c, process.c, random.c, ruby.c, sprintf.c,
  string.c, thread.c, transcode.c, vm.c, vm_eval.c, win32/file.c:
  Use above macros and functions to access RBasic::klass.
* ext/coverage/coverage.c, ext/readline/readline.c,
  ext/socket/ancdata.c, ext/socket/init.c,
* ext/zlib/zlib.c: ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40691 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-13 10:49:11 +00:00
kosaki
93d061a8fd * process.c: move '#define SPAWNV 1' to win32/Makefile.sub.
* win32/Makefile.sub: see above.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40667 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-12 08:42:19 +00:00
kosaki
e79f790798 * configure.in: removes AC_CHECK_FUNC(fseeko, fseeko64, ftello,
ftello64). They are not used from anywhere.

* win32/win32.c (fseeko): removes.
* win32/win32.c (rb_w32_ftello): removes.
* include/ruby/win32.h: removes declarations of rb_w32_ftello and
  rb_w32_fseeko.
* win32/Makefile.sub: removes '#define HAVE_FTELLO 1'.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40661 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-12 08:41:12 +00:00
nobu
6d32a4e32b win32.c: fix build error
* win32/win32.c (poll_child_status): fix build error on older mingw.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40566 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-03 04:22:24 +00:00
nobu
c61af20411 win32.c: optimization
* win32/win32.c (poll_child_status): trivial optimization.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40565 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-03 04:22:20 +00:00
usa
30afde959b * win32/win32.c (poll_child_status): constified.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40551 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-02 03:35:37 +00:00
usa
50cc7057af * test/ruby/test_process.rb (TestProcess#test_no_curdir): maybe now
we can test it.

* test/ruby/test_thread.rb (TestThread#test_thread_timer_and_interrupt):
  ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40550 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-02 03:34:15 +00:00
usa
25acda257c * win32/win32.c (poll_child_status): [experimental] set the cause of
a child's death to status if its exitcode seems to be an error.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40549 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-02 02:34:11 +00:00
nobu
93f8341792 configure.bat: remove stale message
* win32/configure.bat (help): remove stale message.  win95 support had
  been thrown away long ago.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40533 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-01 03:03:58 +00:00
nobu
111f4a8fe5 win32.c: pass through unknown sequence
* win32/win32.c (constat_apply): pass through unknown sequence which
  starts with ESC but is not followed by a bracket.  [ruby-core:53879]
  [Bug #8201]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40078 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-03 08:11:24 +00:00
nobu
ff9c262f6c win32.c: missing break
* win32/win32.c (constat_attr): fix missing break.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40069 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-02 14:58:06 +00:00
nobu
8825a084eb win32/configure.bat: option arguments
* win32/configure.bat: try to fix option arguments split by commas and
  equals here.  this batch file no longer run with old command.com.
* tool/mkconfig.rb: no hacks for cmd.exe.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40019 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-03-31 06:40:37 +00:00
usa
b7d708c3f1 * win32/file.c (code_page): use cp1252 instead of cp20127 as US-ASCII.
fix [ruby-core:53079] [Bug #7996]
  reported and patched by mmeltner (Michael Meltner).


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40003 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-03-29 19:00:05 +00:00
usa
35cc29c872 * win32/win32.c (wrename): use MoveFileExW instead of MoveFileW,
because the latter fails on cross device file move of some
  environments.
  fix [ruby-core:53492] [Bug #8109]
  reported by mitchellh (Mitchell Hashimoto)


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40001 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-03-29 18:52:51 +00:00
nobu
2418b20897 Makefile.sub: configurations
* win32/Makefile.sub (prog): needs to update configurations.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39999 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-03-29 12:02:16 +00:00
nobu
2f1e7f6a71 Makefile.sub: SIGNEDNESS_OF_TIME_T
* win32/Makefile.sub (config.h): add SIGNEDNESS_OF_TIME_T for
  TIMET_MAX and TIMET_MIN.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39966 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-03-27 07:40:43 +00:00
nobu
de9911f597 Makefile.sub: fix mswin build
* win32/Makefile.sub (config.h): fix mswin build, also VC has time.h
  and struct timeval.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39779 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-03-16 14:48:33 +00:00
nobu
2642e0203a Makefile.sub: __FUNCTION__
* win32/Makefile.sub (config.h): __FUNCTION__ is available at least
  VC9.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39756 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-03-14 16:21:54 +00:00
luislavena
2caf0bc820 Refactor rb_file_expand_path_internal for dir_string corner cases
* win32/file.c (get_user_from_path):  add internal function that retrieves
  username from supplied path (refactored).
* win32/file.c (rb_file_expand_path_internal):  refactor expansion of user
  home to use get_user_from_path and cover dir_string corner cases.
  [ruby-core:53168] [Bug #8034]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39751 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-03-14 03:56:09 +00:00
luislavena
ee90455a44 Expand home directory when used in dir_string
* win32/file.c (rb_file_expand_path_internal):  Expand home directory when
  used as second parameter (dir_string).  [ruby-core:53168] [Bug #8034]
* test/ruby/test_file_exhaustive.rb: add test to verify.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39697 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-03-10 14:39:09 +00:00
nobu
dbb6526e29 * remove trailing spaces.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39580 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-03-04 08:05:13 +00:00
nobu
773248551b mswin: static-linked-ext
* enc/depend (CPPFLAGS), lib/mkmf.rb (MakeMakefile#create_makefile):
  define RUBY_EXPORT for static-linked-ext mswin.  [Bug #7960]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39556 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-03-02 15:04:23 +00:00
nobu
d613f283be Makefile.sub: MAKEDIRS
* win32/Makefile.sub (config.status): set MAKEDIRS to use
  makedirs.bat.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39553 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-03-02 13:50:08 +00:00
nobu
2250b195a9 Makefile.sub: static-linked-ext
* win32/Makefile.sub (EXTOBJS, EXTOBJS, config.h): definitions for
  static-linked-ext.  [Bug #7960]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39552 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-03-02 13:49:49 +00:00
nobu
731acc0950 win32.c: fix type
* win32/win32.c (constat_attr): fix type of attributes.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39535 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-28 04:30:50 +00:00
nobu
8ac0f28399 win32.c: suppress warning
* win32/win32.c (set_env_val): get rid of intger overflow warning by
  VC 11.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39534 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-28 04:30:26 +00:00
nobu
46e0ce84d5 win32.c: suppress warnings
* win32/win32.c (set_env_val): reuse size of typedef to suppress
  unused-local-typedefs warnings from gcc 4.8 and reduce same
  calculation.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39524 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-27 04:47:12 +00:00
nobu
140934c661 win32.c: style
* win32/win32.c (rb_w32_fd_is_text): adjust style.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39253 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-15 09:31:16 +00:00
nobu
507477af54 Makefile.sub: sitearch
* win32/Makefile.sub (config.status): site and vendor directories
  should use sitearch, not arch.  [ruby-dev:46964] [Bug #7823]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39201 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-11 04:15:14 +00:00
nobu
41dbe74b94 common.mk: no expansion
* common.mk (showconfig): get rid of variable expansion by shell.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39177 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-09 15:16:15 +00:00
usa
2314a8fc4f * win32/Makefile.sub (config.status): added variables which were
missing at r39130.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39132 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-07 11:55:14 +00:00
nobu
c206b802db Makefile.sub: rubyarchdir in config.status
* win32/Makefile.sub (config.status): now rbconfig.rb needs
  rubyarchdir.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39130 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-07 07:21:33 +00:00
nobu
2d9c37a895 win32.c: missing initialization
* win32/win32.c (rb_w32_spawn, rb_w32_aspawn_flags): fix missing
  initialization.  pointed out by phasis68 (Heesob Park) at
  [ruby-core:51579].  [Bug #7721]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38909 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-01-23 07:29:15 +00:00
nobu
fa30ebc3c7 win32.c: acp_to_wstr results check
* win32/win32.c (rb_w32_spawn, rb_w32_aspawn_flags): check the results
  of acp_to_wstr() which can return NULL.  [ruby-core:51557] [Bug #7721]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38904 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-01-23 03:28:25 +00:00
nobu
8d816aef2e setup.mak: -runtime-
* win32/setup.mak (-runtime-): see msvcrt from link header on mswin
  instead of running testing executable file, for cross compiling.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38791 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-01-12 07:12:49 +00:00
nobu
51914fcce6 setup.mak: -osname-
* win32/setup.mak (-osname-): separate from -runtime- and just
  compile.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38783 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-01-11 10:21:52 +00:00
nobu
101d458fdf win32/rm.bat: remove each files
* win32/rm.bat: removing by wildcard errs on network file system, so
  remove each files.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38782 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-01-11 10:21:49 +00:00
nobu
2b131e1eb6 win32/setup.mak: remove each files
* win32/setup.mak (-runtime-): removing by wildcard errs on network
  file system, so remove each files.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38773 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-01-11 02:02:18 +00:00
nobu
1a920c7f9b Makefile.in: continue if Makefile unchanged
* Makefile.in, win32/Makefile.sub ($(MKFILES)): continue if Makefile
  unchanged.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38764 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-01-10 08:45:42 +00:00
nobu
b7b183f682 win32/rm.bat: fix infinite loop
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38763 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-01-10 08:44:19 +00:00
usa
6e4b187bfe * Makefile.in, common.mk (fake, yes-fake, no-make): these dependecies
are not platform dependent.

* win32/Makefile.sub ($(arch)-fake.rb): workaround.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38720 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-01-07 06:23:15 +00:00
yugui
f849917a70 * win32/Makefie.sub: Fix build with VC.
Patch by Charlie Savage. Fixes [ruby-core:51261]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38714 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-01-06 10:08:22 +00:00
yugui
275a9dcb8c * Makefile.in (RBCONFIG): Moved from common.mk in order to use the
variable in Makefile.in.

* win32/Makefie.sub (RBCONFIG): Ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38694 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-01-04 11:19:19 +00:00
usa
9848f0d0ca * win32/{dir.h,win32.c} (rb_w32_readdir): removed old rb_w32_readdir()
and renamed from rb_w32_readdir_with_enc().
  [ruby-core:24864] [Feature #1927]

* dir.c (READDIR): follow above change.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38534 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-21 13:06:17 +00:00
nobu
a0f7f36a5a mkmf.rb: each_compile_rules
* lib/mkmf.rb (MakeMakefile#each_compile_rules): splat $(*VPATH*) for
  each VPATH elements.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37933 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-28 12:19:49 +00:00
usa
79d42a8831 * README: mention about README.win32.
* win32/README.win32: small changes.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37869 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-26 16:01:51 +00:00
nobu
6a858bc109 Makefile.sub: fix r37821
* win32/Makefile.sub (DLNOBJ): missing in r37821.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37847 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-26 03:11:12 +00:00
usa
f317a1562e * common.mk, win32/Makefile.sub (probes.dmyh): now be made in current
(=build) directory if build from the repository.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37806 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-22 12:49:59 +00:00
usa
8e8d7bb7fc * common.mk, Makefile.in, win32/Makefile.sub (.dmyh.h): nmake merges
explicit rules for same target, but not merges exlicit rules and
  implicit rules -- always explict rules win.  So, need to add an
  explist rule for probes.h.
  reported by Heesob Park at [Bug #7421] [ruby-core:49839]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37802 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-22 09:16:48 +00:00
usa
0c3d96756a * win32/win32.c (rb_w32_read): Windows 8 fixed one of a bug of console
API.
  based on the patch by Heesob Park at [ruby-core:49479] [Bug #7379]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37743 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-20 03:07:23 +00:00