[#4065] Surprise in Time#sec — Steven Jenkins <steven.jenkins@...>
This bit me:
[#4067] Segfault in Thread#initialize / caller — Florian Gro<florgro@...>
Moin!
[#4076] Ruby/DL — Jamis Buck <jamis_buck@...>
I recently used Ruby/DL to create bindings to the SQLite3 embedded
On Tue, Jan 04, 2005 at 02:53:49AM +0900, Jamis Buck wrote:
>>>>> "P" == Paul Brannan <pbrannan@atdesk.com> writes:
On Wed, Jan 05, 2005 at 03:05:48AM +0900, ts wrote:
>>>>> "P" == Paul Brannan <pbrannan@atdesk.com> writes:
On Thu, Jan 06, 2005 at 01:10:34AM +0900, ts wrote:
>>>>> "P" == Paul Brannan <pbrannan@atdesk.com> writes:
On Thu, Jan 06, 2005 at 06:57:57PM +0900, ts wrote:
>>>>> "P" == Paul Brannan <pbrannan@atdesk.com> writes:
On Fri, Jan 07, 2005 at 12:06:16AM +0900, ts wrote:
>>>>> "P" == Paul Brannan <pbrannan@atdesk.com> writes:
ts wrote:
[#4116] Test::Unit::Collector::Dir won't work with code that modifies $LOAD_PATH — Eric Hodel <drbrain@...7.net>
Any test code that depends upon modifications of $: fails when used
Hi,
On 11 Jan 2005, at 04:14, nobu.nokada@softhome.net wrote:
On 11 Jan 2005, at 09:39, Eric Hodel wrote:
On Sat, 15 Jan 2005 04:06:10 +0900, Eric Hodel <drbrain@segment7.net> wrote:
On Fri, 14 Jan 2005 23:48:58 -0500, Nathaniel Talbott
On Thu, 27 Jan 2005 17:17:14 -0500, Nathaniel Talbott
[#4146] The face of Unicode support in the future — Charles O Nutter <headius@...>
Hello Rubyists!
Hi,
Yukihiro Matsumoto <matz@ruby-lang.org> writes:
Paul Brannan <pbrannan@atdesk.com> writes:
Hi,
On Mon, Jan 10, 2005 at 11:53:48PM +0900, Yukihiro Matsumoto wrote:
Hi,
Yukihiro Matsumoto wrote:
Hi,
On Wed, Jan 12, 2005 at 02:13:35PM +0900, Yukihiro Matsumoto wrote:
Hi,
[#4189] Authenticated proxy support for open-uri — Neil Kohl <nakohl@...>
Hello!
[#4232] Carriage return on shebang — Florian Gro<florgro@...>
Moin.
[#4242] tracer.rb: Do not list pseudo source lines of binary extensions — Florian Gro<florgro@...>
Moin.
[#4243] Patch that enables https in open-uri.rb — Michael Neumann <mneumann@...>
Hi,
In article <41E93F42.9090705@ntecs.de>,
Tanaka Akira wrote:
[#4269] Re: The face of Unicode support in the future — Wes Nakamura <wknaka@...>
Hi,
Hi,
Yukihiro Matsumoto wrote:
Hi,
[#4296] parse_c.rb: allow whitespace after function names — Tilman Sauerbeck <tilman@...>
Hi,
Hi,
Yukihiro Matsumoto <matz@ruby-lang.org> [2005-01-21 17:43]:
[#4311] RFE: Enumerable#group_by, Array#^ — Florian Gro<florgro@...>
Moin.
[#4323] test/unit doesn't rescue a Exception — Tanaka Akira <akr@...17n.org>
test/unit doesn't rescue a Exception in a test method, as follows.
In article <87is5jb46q.fsf@serein.a02.aist.go.jp>,
On 9/1/06, Tanaka Akira <akr@fsij.org> wrote:
On Sep 2, 2006, at 6:34 PM, Nathaniel Talbott wrote:
In article <A604C0B3-95ED-4B9B-866C-79A2C7D5E3C4@segment7.net>,
On Sep 2, 2006, at 9:39 PM, Tanaka Akira wrote:
In article <622DAC7E-55DB-4854-B82B-A037CE9C75EF@segment7.net>,
In article <87ac5hv4bo.fsf@fsij.org>,
On Sep 3, 2006, at 8:21 AM, Tanaka Akira wrote:
[#4332] IO#clearerr missing in action — Eric Hodel <drbrain@...7.net>
I wanted to implement tail(1) in ruby cleanly, but found the best I
[#4335] When will Object#type disappear? — "David A. Black" <dblack@...>
Hi --
Re: [BUG] Carriage return on shebang
Moin,
At Sat, 15 Jan 2005 10:10:14 +0900,
Florian Growrote in [ruby-core:04237]:
> >>If you can think of any problems that ignoring trailing carriage returns
> >>would cause, please tell me. Thanks.
> >
> > Traling CR of a long option is already ignored.
> >
> > [ruby.c patch]
>
> Hm, does this ignore \r in options or did you just fix the error message?
Ignores \r at the end of a short option.
> If it ignores \r in options it probably ought to ignore it generally by
> removing it from ARGV. (There's cases where no options is specified and
> the invocation would be "ruby \r file")
It would be impossible to tell if an option comes from shebang
line or command line till the script file will get read, I
gueses. So -I/-C/-X/-r options might have problems.
Index: ruby.c
===================================================================
RCS file: /cvs/ruby/src/ruby/ruby.c,v
retrieving revision 1.94
diff -U2 -p -r1.94 ruby.c
--- ruby.c 24 Sep 2004 05:53:41 -0000 1.94
+++ ruby.c 15 Jan 2005 03:21:15 -0000
@@ -444,4 +444,11 @@ proc_options(argc, argv)
int verbose = 0;
VALUE e_script = Qfalse;
+ char *nocr = 0;
+ int len;
+#define STRIP_CR(s) (nocr || !(len = strlen(s)) || \
+ (s)[len - 1] != '\r' ? (s) : \
+ ((nocr = ALLOCA_N(char, len))[len - 1] = 0, \
+ MEMCPY(nocr, (s), char, len - 1), \
+ nocr))
if (argc == 0) return;
@@ -450,7 +457,8 @@ proc_options(argc, argv)
for (argc--,argv++; argc > 0; argc--,argv++) {
- if (argv[0][0] != '-' || !argv[0][1]) break;
+ s = STRIP_CR(argv[0]);
+ if (s[0] != '-' || !s[1]) break;
- s = argv[0]+1;
+ ++s;
reswitch:
switch (*s) {
@@ -553,5 +561,5 @@ proc_options(argc, argv)
if (script == 0) script = "-e";
}
- rb_str_cat2(e_script, s);
+ rb_str_cat2(e_script, STRIP_CR(s));
rb_str_cat2(e_script, "\n");
break;
@@ -563,5 +571,5 @@ proc_options(argc, argv)
}
else if (argv[1]) {
- add_modules(argv[1]);
+ add_modules(STRIP_CR(argv[1]));
argc--,argv++;
}
@@ -586,5 +594,5 @@ proc_options(argc, argv)
s++;
if (!*s) {
- s = argv[1];
+ s = STRIP_CR(argv[1]);
argc--,argv++;
}
@@ -629,5 +637,5 @@ proc_options(argc, argv)
ruby_incpush(s);
else if (argv[1]) {
- ruby_incpush(argv[1]);
+ ruby_incpush(STRIP_CR(argv[1]));
argc--,argv++;
}
@@ -654,5 +662,5 @@ proc_options(argc, argv)
case '-':
- if (!s[1] || (s[1] == '\r' && !s[2])) {
+ if (!s[1]) {
argc--,argv++;
goto switch_end;
@@ -685,6 +693,18 @@ proc_options(argc, argv)
default:
- fprintf(stderr, "%s: invalid option -%c (-h will show valid options)\n",
- origargv[0], *s);
+ if (ISSPACE(*s)) {
+ do s++; while (ISSPACE(*s));
+ goto reswitch;
+ }
+ else {
+ const char *format;
+ if (ISPRINT(*s)) {
+ format = "%s: invalid option -%c (-h will show valid options)\n";
+ }
+ else {
+ format = "%s: invalid option -\\%03o (-h will show valid options)\n";
+ }
+ fprintf(stderr, format, origargv[0], (int)(unsigned char)*s);
+ }
exit(2);
@@ -746,5 +766,5 @@ proc_options(argc, argv)
}
else {
- script = argv[0];
+ script = STRIP_CR(argv[0]);
if (script[0] == '\0') {
script = "-";
@@ -754,11 +774,12 @@ proc_options(argc, argv)
script = 0;
+ s = STRIP_CR(argv[0]);
if (path) {
- script = dln_find_file(argv[0], path);
+ script = dln_find_file(s, path);
}
if (!script) {
- script = dln_find_file(argv[0], getenv(PATH_ENV));
+ script = dln_find_file(s, getenv(PATH_ENV));
}
- if (!script) script = argv[0];
+ if (!script) script = s;
script = ruby_sourcefile = rb_source_filename(script);
script_node = NEW_BEGIN(0);
--
Nobu Nakada