[#42194] Enhancing Numeric#step — "Akinori MUSHA" <knu@...>

 Numeric#step の仕様の拡張を提案します。

26 messages 2010/09/08
[#42196] Re: Enhancing Numeric#step — Yukihiro Matsumoto <matz@...> 2010/09/08

まつもと ゆきひろです

[#42200] Re: Enhancing Numeric#step — "Akinori MUSHA" <knu@...> 2010/09/08

At Wed, 8 Sep 2010 22:46:57 +0900,

[#42204] Re: Enhancing Numeric#step — Yukihiro Matsumoto <matz@...> 2010/09/09

まつもと ゆきひろです

[#42232] 1.9.2 readline can't handle cursorkeys, mbcs chars etc (msvcrt) — arton <artonx@...>

artonです。

11 messages 2010/09/10

[#42269] [Ruby 1.9-Bug#3836] Kernel.system, spawnがスペースを含むパスで動作しない — Hiroki Najima <redmine@...>

チケット #3836 が更新されました。 (by Hiroki Najima)

12 messages 2010/09/16
[#42270] WindowsでのKernel.systemの挙動、一貫性について — NAJIMA Hiroki <h.najima@...> 2010/09/16

名島(Nazy)と申します。

[#42310] ビジースレッドがあるとコンテキストスイッチが起きづらくなる — kuwamoto shintaro <beuniv@...>

こんにちは。

9 messages 2010/09/29
[#42315] [bug:trunk] ビジースレッドがあるとコンテキストスイッチが起きづらくなる — "U.Nakamura" <usa@...> 2010/09/30

こんにちは、なかむら(う)です。

[ruby-dev:42303] Re: WindowsでのKernel.systemの挙動、一貫性について

From: Hiroki NAJIMA <h.najima@...>
Date: 2010-09-27 02:59:57 UTC
List: ruby-dev #42303
(2010/09/24 13:35), U.Nakamura wrote:
> こんにちは、なかむら(う)です。
> 
> In message "[ruby-dev:42291] Re: WindowsでのKernel.systemの挙動、一貫性について"
>      on Sep.23,2010 13:04:16,<h.najima@gmail.com>  wrote:
>> 気になるのは、一貫してカレントディレクトリを無視するわけでは無いんですね。
>> 明示的にカレントディレクトリを指定しなくても、拡張子を指定すると、
>> カレントディレクトリのコマンドが実行されます。
>> 意図しない物が動いちゃいますし、一貫性はほしいです。
> 
> えーと、指定されたコマンドラインの内容によってはシェル経由の
> 実行となってシェルさんがカレントディレクトリを探してくれてし
> まう場合はあるかと思います。
十分にコードが理解できていないのですが、
シェルの実行前に「ファイルが見つかりませんでした」は難しいのでしょうか?
シェルまでいっちゃうと、手が出ないので。

シェルコマンドでもなく、ファイルも見つからないのに、
CreateChildまで行っている理由がよく分かりません。
COMSPECがコマンドプロンプトでない時に、シェルコマンドでないことを特定できないからですか?


> .batと.cmd以外の拡張子で実験するとまた結果は違うかもしれませ
> ん。
.exeも同じ結果でした。


一応ファイルが見つかれなければエラーにするパッチを書いてみました。
テストに変化は有りません。(が、なぜかパッチを当てる前から結構失敗しているので、環境は怪しいかも)
URL: http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_9_2
$ svn diff win32/win32.c
Index: win32/win32.c
===================================================================
--- win32/win32.c       (リビジョン 29347)
+++ win32/win32.c       (作業コピー)
@@ -1137,7 +1137,7 @@
            }
            shell = dln_find_exe_r(shell, NULL, fbuf, sizeof(fbuf));
            if (!shell) {
-               shell = p ? p : cmd;
+               return -1;
            }
            else {
                len = strlen(shell);
@@ -1199,6 +1199,10 @@
        translate_char(cmd, '/', '\\');
        prog = cmd;
     }
+    else {
+       return -1;
+    }
+
     if (c_switch || is_batch(prog)) {
        char *progs[2];
        progs[0] = (char *)prog;

-- 
Hiroki NAJIMA (aka Nazy)

In This Thread

Prev Next