[#16116] RCRchive shutting down — "David A. Black" <dblack@...>

Hi everyone --

22 messages 2008/04/03
[#16119] Re: [ANN] RCRchive shutting down — "Robert Dober" <robert.dober@...> 2008/04/03

This is quite sad news, I feel that a mailing list does not offer all

[#16121] Re: [ANN] RCRchive shutting down — Yukihiro Matsumoto <matz@...> 2008/04/03

Hi,

[#16122] Re: [ANN] RCRchive shutting down — "Robert Dober" <robert.dober@...> 2008/04/03

On Thu, Apr 3, 2008 at 12:01 PM, Yukihiro Matsumoto <matz@ruby-lang.org> wrote:

[#16123] issue tracking (Re: [ANN] RCRchive shutting down) — Yukihiro Matsumoto <matz@...> 2008/04/03

Hi,

[#16124] Re: issue tracking (Re: [ANN] RCRchive shutting down) — "Meinrad Recheis" <meinrad.recheis@...> 2008/04/03

On Thu, Apr 3, 2008 at 1:13 PM, Yukihiro Matsumoto <matz@ruby-lang.org> wrote:

[#16128] RUBY_IMPLEMENTATION — Yukihiro Matsumoto <matz@...>

Hi,

60 messages 2008/04/03
[#16139] Re: RUBY_IMPLEMENTATION — Paul Brannan <pbrannan@...> 2008/04/03

On Thu, Apr 03, 2008 at 11:41:41PM +0900, Yukihiro Matsumoto wrote:

[#16143] Re: RUBY_IMPLEMENTATION — Eric Hodel <drbrain@...7.net> 2008/04/03

On Apr 3, 2008, at 10:59 AM, Paul Brannan wrote:

[#16146] Re: RUBY_IMPLEMENTATION — Yukihiro Matsumoto <matz@...> 2008/04/03

Hi,

[#16147] Re: RUBY_IMPLEMENTATION — Ezra Zygmuntowicz <ezmobius@...> 2008/04/03

[#16149] Re: RUBY_IMPLEMENTATION — Charles Oliver Nutter <charles.nutter@...> 2008/04/03

Ezra Zygmuntowicz wrote:

[#16155] Re: RUBY_IMPLEMENTATION — "Yemi I. D. Bedu" <yemi@...> 2008/04/03

Hello,

[#16158] Re: RUBY_IMPLEMENTATION — Charles Oliver Nutter <charles.nutter@...> 2008/04/03

Yemi I. D. Bedu wrote:

[#16175] Re: RUBY_IMPLEMENTATION — Eleanor McHugh <eleanor@...> 2008/04/04

On 4 Apr 2008, at 00:23, Charles Oliver Nutter wrote:

[#16194] Re: RUBY_IMPLEMENTATION — Chris Cummer <chris@...> 2008/04/04

On 4-Apr-08, at 3:05 AM, Eleanor McHugh wrote:

[#16195] Re: RUBY_IMPLEMENTATION — "Luis Lavena" <luislavena@...> 2008/04/04

On Fri, Apr 4, 2008 at 2:15 PM, Chris Cummer <chris@postal-code.com> wrote:

[#16240] syntax request — "ry dahl" <ry@...>

Often times when one has many long arguments and orders them like this

42 messages 2008/04/06
[#16263] Re: syntax request — "Bill Kelly" <billk@...> 2008/04/07

[#16266] Re: syntax request — "David A. Black" <dblack@...> 2008/04/08

On Tue, 8 Apr 2008, Bill Kelly wrote:

[#16282] Re: syntax request — Paul Brannan <pbrannan@...> 2008/04/08

On Tue, Apr 08, 2008 at 02:23:26PM +0900, David A. Black wrote:

[#16290] Could someone confirm signal handling is broken on OSX? — Dave Thomas <dave@...>

I've raised this before, but no one replied. I'd like to double check

12 messages 2008/04/08

[#16359] design meeting — Yukihiro Matsumoto <matz@...>

Hi,

18 messages 2008/04/12

[#16397] Ruby 1.8.7-preview1 has been released — "Akinori MUSHA" <knu@...>

Folks,

16 messages 2008/04/15

[#16482] Performance on method dispatch for methods defined via define_method — "Robert Dober" <robert.dober@...>

Hi

32 messages 2008/04/22
[#16483] Re: Performance on method dispatch for methods defined via define_method — Paul Brannan <pbrannan@...> 2008/04/22

On Wed, Apr 23, 2008 at 12:39:29AM +0900, Robert Dober wrote:

[#16484] Re: Performance on method dispatch for methods defined via define_method — "Robert Dober" <robert.dober@...> 2008/04/22

On Tue, Apr 22, 2008 at 8:46 PM, Paul Brannan <pbrannan@atdesk.com> wrote:

[#16487] Re: Performance on method dispatch for methods defined via define_method — "David A. Black" <dblack@...> 2008/04/22

Hi --

[#16488] Re: Performance on method dispatch for methods defined via define_method — "Robert Dober" <robert.dober@...> 2008/04/22

On Tue, Apr 22, 2008 at 10:44 PM, David A. Black <dblack@rubypal.com> wrote:

[#16490] Re: Performance on method dispatch for methods defined via define_method — "David A. Black" <dblack@...> 2008/04/22

Hi --

[#16501] Re: Performance on method dispatch for methods defined via define_method — ts <decoux@...> 2008/04/23

Robert Dober wrote:

[#16507] Drop :: as a . synonym — "David A. Black" <dblack@...>

Hi --

50 messages 2008/04/23
[#16511] Re: [RCR] Drop :: as a . synonym — Charles Oliver Nutter <charles.nutter@...> 2008/04/23

David A. Black wrote:

[#16512] Re: [RCR] Drop :: as a . synonym — "David A. Black" <dblack@...> 2008/04/23

Hi --

[#16525] Re: [RCR] Drop :: as a . synonym — Charles Oliver Nutter <charles.nutter@...> 2008/04/23

David A. Black wrote:

[#16527] Re: [RCR] Drop :: as a . synonym — "David A. Black" <dblack@...> 2008/04/23

Hi --

[#16534] Re: [RCR] Drop :: as a . synonym — Thomas Enebo <Thomas.Enebo@...> 2008/04/23

David A. Black wrote:

[#16546] Re: [RCR] Drop :: as a . synonym — "David A. Black" <dblack@...> 2008/04/24

Hi --

[#16552] Re: [RCR] Drop :: as a . synonym — "Jeremy McAnally" <jeremymcanally@...> 2008/04/24

Or changing #send to private...or (insert progressive but code

[#16564] Re: [RCR] Drop :: as a . synonym — Charles Oliver Nutter <charles.nutter@...> 2008/04/24

Jeremy McAnally wrote:

[#16567] Re: [RCR] Drop :: as a . synonym — "David A. Black" <dblack@...> 2008/04/24

Hi --

[#16570] Re: [RCR] Drop :: as a . synonym — Yukihiro Matsumoto <matz@...> 2008/04/24

Hi,

[#16531] Re: [RCR] Drop :: as a . synonym — "Eric Mahurin" <eric.mahurin@...> 2008/04/23

On Wed, Apr 23, 2008 at 9:21 AM, David A. Black <dblack@rubypal.com> wrote:

Re: RFC: #19733 - dln_find_1 prioritizes posix naming conventions over Operating System naming conventions.

From: Nobuyoshi Nakada <nobu@...>
Date: 2008-04-24 04:26:27 UTC
List: ruby-core #16549
Hi,

At Thu, 24 Apr 2008 13:17:03 +0900,
Nobuyoshi Nakada wrote in [ruby-core:16548]:
> > Basically, this ticket [1] exposes a problem that annoys and add
> > cross-platform inoperativeness to Ruby. It start with the assumption
> > that an extensionless file have priority over a true windows
> > executable (.exe, com, bat, cmd) and try to use it instead when issue
> > system or any way that calls back into the OS.
> 
> Do you consider files sans extensions shouldn't be returned?

And, rather I want to remove static fbuf in dln.c.


Index: dln.h
===================================================================
--- dln.h	(revision 16174)
+++ dln.h	(working copy)
@@ -31,4 +31,6 @@
 char *dln_find_exe(const char*,const char*);
 char *dln_find_file(const char*,const char*);
+char *dln_find2_exe(const char*,const char*,char*,int);
+char *dln_find2_file(const char*,const char*,char*,int);
 
 #ifdef USE_DLN_A_OUT
Index: dln.c
===================================================================
--- dln.c	(revision 16174)
+++ dln.c	(working copy)
@@ -1569,8 +1569,8 @@ dln_load(const char *file)
 }
 
-static char *dln_find_1(const char *fname, const char *path, int exe_flag);
+static char *dln_find_1(const char *fname, const char *path, char *buf, int size, int exe_flag);
 
 char *
-dln_find_exe(const char *fname, const char *path)
+dln_find_exe2(const char *fname, const char *path, char *buf, int size)
 {
     if (!path) {
@@ -1585,16 +1585,16 @@ dln_find_exe(const char *fname, const ch
 #endif
     }
-    return dln_find_1(fname, path, 1);
+    return dln_find_1(fname, path, buf, size, 1);
 }
 
 char *
-dln_find_file(const char *fname, const char *path)
+dln_find_file2(const char *fname, const char *path, char *buf, int size)
 {
 #ifndef __MACOS__
     if (!path) path = ".";
-    return dln_find_1(fname, path, 0);
+    return dln_find_1(fname, path, buf, size, 0);
 #else
     if (!path) path = ".";
-    return _macruby_path_conv_posix_to_macos(dln_find_1(fname, path, 0));
+    return _macruby_path_conv_posix_to_macos(dln_find_1(fname, path, buf, size, 0));
 #endif
 }
@@ -1602,6 +1602,19 @@ dln_find_file(const char *fname, const c
 static char fbuf[MAXPATHLEN];
 
+char *
+dln_find_exe(const char *fname, const char *path)
+{
+    return dln_find_exe2(fname, path, fbuf, sizeof(fbuf));
+}
+
+char *
+dln_find_file(const char *fname, const char *path)
+{
+    return dln_find_file2(fname, path, fbuf, sizeof(fbuf));
+}
+
 static char *
-dln_find_1(const char *fname, const char *path, int exe_flag /* non 0 if looking for executable. */)
+dln_find_1(const char *fname, const char *path, char *fbuf, int size,
+	   int exe_flag /* non 0 if looking for executable. */)
 {
     register const char *dp;
@@ -1643,5 +1656,5 @@ dln_find_1(const char *fname, const char
 	l = ep - dp;
 	bp = fbuf;
-	fspace = sizeof fbuf - 2;
+	fspace = size - 2;
 	if (l > 0) {
 	    /*
Index: file.c
===================================================================
--- file.c	(revision 16174)
+++ file.c	(working copy)
@@ -4335,9 +4381,10 @@ rb_find_file_ext(VALUE *filep, const cha
 	for (i=0;i<RARRAY_LEN(rb_load_path);i++) {
 	    VALUE str = RARRAY_PTR(rb_load_path)[i];
+	    char fbuf[MAXPATHLEN];
 
 	    FilePathValue(str);
 	    if (RSTRING_LEN(str) == 0) continue;
 	    path = RSTRING_PTR(str);
-	    found = dln_find_file(StringValueCStr(fname), path);
+	    found = dln_find_file2(StringValueCStr(fname), path, fbuf, sizeof(fbuf));
 	    if (found && file_load_ok(found)) {
 		*filep = rb_str_new2(found);
@@ -4355,4 +4402,5 @@ rb_find_file(VALUE path)
     char *f = StringValueCStr(path);
     char *lpath;
+    char fbuf[MAXPATHLEN];
 
     if (f[0] == '~') {
@@ -4412,5 +4460,5 @@ rb_find_file(VALUE path)
 	return 0;		/* no path, no load */
     }
-    if (!(f = dln_find_file(f, lpath))) {
+    if (!(f = dln_find_file2(f, lpath, fbuf, sizeof(fbuf)))) {
 	return 0;
     }
Index: process.c
===================================================================
--- process.c	(revision 16174)
+++ process.c	(working copy)
@@ -949,5 +950,5 @@ void rb_thread_reset_timer_thread(void);
   (rb_thread_start_timer_thread(), rb_disable_interrupt())
 
-extern char *dln_find_exe(const char *fname, const char *path);
+#include "dln.h"
 
 static void
@@ -964,7 +965,9 @@ static int
 proc_exec_v(char **argv, const char *prog)
 {
+    char fbuf[MAXPATHLEN];
+
     if (!prog)
 	prog = argv[0];
-    prog = dln_find_exe(prog, 0);
+    prog = dln_find_exe2(prog, 0, fbuf, sizeof(fbuf));
     if (!prog) {
 	errno = ENOENT;
@@ -1001,5 +1004,5 @@ proc_exec_v(char **argv, const char *pro
 	    new_argv[0] = COMMAND;
 	    argv = new_argv;
-	    prog = dln_find_exe(argv[0], 0);
+	    prog = dln_find_exe2(argv[0], 0, fbuf, sizeof(fbuf));
 	    if (!prog) {
 		errno = ENOENT;
@@ -1065,5 +1079,6 @@ rb_proc_exec(const char *str)
 		exit(status);
 #elif defined(__human68k__) || defined(__CYGWIN32__) || defined(__EMX__)
-	    char *shell = dln_find_exe("sh", 0);
+	    char fbuf[MAXPATHLEN];
+	    char *shell = dln_find_exe2("sh", 0, fbuf, sizeof(fbuf));
 	    int status = -1;
 	    before_exec();
@@ -1112,4 +1127,5 @@ static rb_pid_t
 proc_spawn_v(char **argv, char *prog)
 {
+    char fbuf[MAXPATHLEN];
     char *extension;
     rb_pid_t status;
@@ -1118,5 +1134,5 @@ proc_spawn_v(char **argv, char *prog)
 	prog = argv[0];
     security(prog);
-    prog = dln_find_exe(prog, 0);
+    prog = dln_find_exe2(prog, 0, fbuf, sizeof(fbuf));
     if (!prog)
 	return -1;
@@ -1139,5 +1155,5 @@ proc_spawn_v(char **argv, char *prog)
 	new_argv[0] = COMMAND;
 	argv = new_argv;
-	prog = dln_find_exe(argv[0], 0);
+	prog = dln_find_exe2(argv[0], 0, fbuf, sizeof(fbuf));
 	if (!prog) {
 	    errno = ENOENT;
@@ -1176,4 +1192,5 @@ static rb_pid_t
 proc_spawn(char *str)
 {
+    char fbuf[MAXPATHLEN];
     char *s, *t;
     char **argv, **a;
@@ -1182,5 +1199,5 @@ proc_spawn(char *str)
     for (s = str; *s; s++) {
 	if (*s != ' ' && !ISALPHA(*s) && strchr("*?{}[]<>()~&|\\$;'`\"\n",*s)) {
-	    char *shell = dln_find_exe("sh", 0);
+	    char *shell = dln_find_exe2("sh", 0, fbuf, sizeof(fbuf));
 	    before_exec();
 	    status = shell?spawnl(P_WAIT,shell,"sh","-c",str,(char*)NULL):system(str);
@@ -949,6 +984,7 @@ process_options(VALUE arg)
     NODE *tree = 0;
     VALUE parser;
     rb_encoding *enc;
     const char *s;
+    char fbuf[MAXPATHLEN];
     int i = proc_options(argc, argv, opt);
 
@@ -1031,8 +1067,8 @@ process_options(VALUE arg)
 		opt->script = 0;
 		if (path) {
-		    opt->script = dln_find_file(argv[0], path);
+		    opt->script = dln_find_file2(argv[0], path, fbuf, sizeof(fbuf));
 		}
 		if (!opt->script) {
-		    opt->script = dln_find_file(argv[0], getenv(PATH_ENV));
+		    opt->script = dln_find_file(argv[0], getenv(PATH_ENV), fbuf, sizeof(fbuf));
 		}
 		if (!opt->script)


-- 
Nobu Nakada

In This Thread