[#16113] Strange idea... exporting from a scope — "Hal E. Fulton" <hal9000@...>
Hello...
Hi,
matz@zetabits.com (Yukihiro Matsumoto) writes:
Hi,
matz@zetabits.com (Yukihiro Matsumoto) writes:
On Thu, 7 Jun 2001, Dave Thomas wrote:
[#16140] (?i:) in regexp — ts <decoux@...>
>>>>> "Y" == Yukihiro Matsumoto <matz@zetabits.com> writes:
[#16144] Re: Strange idea... exporting from a scope — hfulton@...
> |> I'm too lazy to type in "exprt" and variable name. so I'm
Hi,
[#16155] Re: Block arguments vs method arguments — hfulton@...
> | { | local, :up | }
[#16172] The Block Problem -A suggestion — Chris Moline <ugly-daemon@...>
Hi, I was thinking about our discussion and came up with an idea that might
[#16229] Re: String#scan strange behavior — ts <decoux@...>
>>>>> "W" == Wayne Blair <wayne.blair@relian.com> writes:
[#16245] line numbers in multiline regular expressions. — jonas <jonas.bulow@...>
Hi,
[#16259] Timezone in Time::{local,gm} — Stoned Elipot <Stoned.Elipot@...>
Hello,
[#16271] Re: odd obj.send behaviour — ts <decoux@...>
>>>>> "P" == Patrik Sundberg <ps@radiac.mine.nu> writes:
[#16283] ruby and fox — Albert Wagner <alwagner@...>
Just curious if anyone else in ruby-talk is attempting to use the fox GUI. I
[#16317] Re: ruby regex — ts <decoux@...>
>>>>> "D" == David Thiel <dthiel@nexprise.com> writes:
[#16325] Tcl string map lookalike — Wilbert Berendsen <wbsoft@...4all.nl>
Hi,
[#16364] Re: Garbage Collection? — Michael Davis <mdavis@...>
Windows 2000 and linux (RedHat 6.2). I have run these tests on both OSs.
[#16380] Method objects fail equivalence — mirian@... (Mirian Crzig Lennox)
I was surprised to observe the following:
Hi,
[#16400] Symbolic Computation III — Mathieu Bouchard <matju@...>
> ----- Original Message -----
>----- Original Message -----
On Tue, 12 Jun 2001, Wayne Blair wrote:
[#16415] Ruby - Objective C - GNUstep — Laurent Julliard <Laurent.Julliard@...>
So here is my story:
[#16433] Re: Inital Q's on Ruby grammar — ts <decoux@...>
>>>>> "R" == Robert Feldt <feldt@ce.chalmers.se> writes:
[#16462] Opinion sought: parsing non-regular languages — Robert Feldt <feldt@...>
(This is a bit long...)
Robert Feldt <feldt@ce.chalmers.se> writes:
On Thu, 14 Jun 2001, Dave Thomas wrote:
[#16489] Verify correct lexing of delimited strings — Robert Feldt <feldt@...>
Hi all,
[#16502] Playing with Ruby Syntax (was: Initial thoughts about Ruby From a Smalltalk Programmer) — jweirich@...
Michael> Hi Everyone, I have to say I'm utterly fascinated by Ruby
jweirich@one.net writes:
[#16503] walking the ruby_frame list — victor <victor@...>
Hi,
Hi,
On Sat, Jun 16, 2001 at 10:56:30PM +0900, Yukihiro Matsumoto wrote:
[#16505] Smalltalk vs. Ruby — Steve Tuckner <SAT@...>
I have never used Smalltalk so I have no knowledge of its use on a day by
[#16528] why only nil and false are regarded as false? — Steven Haryanto <steven@...>
I would appreciate some explanation on why Ruby behaves like
[#16540] Trapping method defs — Robert Feldt <feldt@...>
Hi all,
[#16556] Method overloading - How? — Uwe Lammers <Uwe.Lammers@...>
Hi,
[#16565] Configuration file parsing — "Anders Johannsen" <anders@...>
I'm currently writing an application in Ruby, which needs a
[#16567] [TOY] reversed regexp — ts <decoux@...>
[#16583] Two (or more) dimensional arrays? — "Kirk Lowery" <klowery@...>
After reading my way through various documentation, I didn't find any
[#16591] RCR: Enumerable: every() and none() — Hugh Sasse Staff Elec Eng <hgs@...>
I've been off the list for a while but I'm dipping back in to suggest:
[#16599] RE: RCR: Enumerable: every() and none() — "Benjamin J. Tilly" <ben_tilly@...>
>===== Original Message From Hugh Sasse Staff Elec Eng <hgs@dmu.ac.uk> =====
[#16604] Creating arrays — Chris Moline <ugly-daemon@...>
Hi, I was wondering why do we have to do this
[#16634] mascot — redwolf <arm3@...>
The Ruby Crowned Kinglet is perfect!!!
[#16640] Re: Commenting code — Alvaro Segura <asegura@...>
James Kanze wrote:
[#16646] Serial Communications — Wai-Sun Chia <waisun.chia@...>
Hello Rubyists,
[#16657] bag difference — Hugh Sasse Staff Elec Eng <hgs@...>
Is there an elegant way to do a bag diffeence between 2 arrays, rather
[#16661] Problem running irb with Ruby 1.6.4 under FreeBSD 4.0 — Bob Alexander <balexander@...>
I've installed Ruby 1.6.4 on a FreeBSD 4.0 machine, and get the
Yukihiro Matsumoto wrote:
Hi,
In article <993579597.067351.15583.nullmailer@ev.netlab.zetabits.com>,
[#16662] installation option — Hung-Hsien Chang <hubert@...>
Hi!
[#16669] how to call super from singleton method? — viisi@... (Andi Riedl)
hi!
[#16681] RE: embedding C++ — Wyss Clemens <WYS@...>
Have you tried using SWIG?
[#16686] opening db files made by apache dbmmanage — Fritz Heinrichmeyer <fritz.heinrichmeyer@...>
[#16714] DBI 0.0.5 problem — "Krzysztof P. Jasiutowicz" <kpj@...>
Krzysztof P. Jasiutowicz wrote:
[#16715] File.flock blocks forever — Michael Witrant <mike@...>
Hello,
[#16723] setsockopt options — Joseph McDonald <joe@...>
Hi,
Hi,
[#16726] Simulating call-by-reference in Ruby — senderista@... (Tobin Baker)
I'm currently working on Ruby bindings for ORBit and thought that it
[#16737] socket bug — Joseph McDonald <joe@...>
Joseph McDonald <joe@vpop.net> writes:
[#16763] uniq and "equivalence" — Hugh Sasse Staff Elec Eng <hgs@...>
Array.uniq seems to rely on deleting multiple references to the same object.
>>>>> "H" == Hugh Sasse Staff Elec Eng <hgs@dmu.ac.uk> writes:
On Fri, 22 Jun 2001, ts wrote:
>>>>> "H" == Hugh Sasse Staff Elec Eng <hgs@dmu.ac.uk> writes:
[#16788] pretty printing with enscript? — Albert Wagner <alwagner@...>
By chance, has anyone done a pretty printing file for ruby in enscript?
[#16792] wrapping structures — Martin Chase <stillflame@...>
hey ruby hackers,
[#16799] Problems compiling FOX for Ruby (FXRuby) on NetBSD — Michael Neumann <neumann@...>
Hi,
[#16801] rb_define_class() vs Class.new() — Kero van Gelder <kero@...4050.upc-d.chello.nl>
Hi,
>>>>> "K" == Kero van Gelder <kero@d4050.upc-d.chello.nl> writes:
> K> From C, rb_define_class() defines a named class, however, on the Ruby
>>>>> "K" == Kero van Gelder <kero@d4050.upc-d.chello.nl> writes:
> >>>>> "K" == Kero van Gelder <kero@d4050.upc-d.chello.nl> writes:
>>>>> "K" == Kero van Gelder <kero@d4050.upc-d.chello.nl> writes:
> irb> B = a
>>>>> "K" == Kero van Gelder <kero@d4050.upc-d.chello.nl> writes:
[#16810] [BUG?] Kernel::load wrap parameter — Patrik Sundberg <ps@...>
(CC any replies to me please - not subscribed and have crappy newsserver)
[#16841] RE: national characters is strings — "Aleksei Guzev" <aleksei.guzev@...>
Next week I'll try to rebuild Ruby with Unicode strings. But it would be
Hi,
That's good enough. But I'm afraid this could ( not would ) cause string
Hi,
I'll help as soon as You call. I like C++ much more than Assembler :)))
Hi,
I've taken a look at m17n.
[#16861] Re: Problems compiling FOX for Ruby (FXRuby) on NetBSD — "Lyle Johnson" <ljohnson@...>
> I didn't get FXRuby (Ruby interface for FOX GUI Toolkit) available from
[#16868] Something strange with Ruby's inheritance mechanism — Eric Jacoboni <jaco@...>
As Ruby beginner, i try some "canonical" OO scripts. Doing so, I've
On Tue, 26 Jun 2001, Aleksei Guzev wrote:
[#16869] Something strange with Ruby's inheritance mechanism — Eric Jacoboni <jaco@...>
As Ruby beginner, i try some "canonical" OO scripts. Doing so, I've
[#16881] — "Aleksei Guzev" <aleksei.guzev@...>
Hi,
On Wed, 27 Jun 2001, Yukihiro Matsumoto wrote:
Hi,
On Thu, 28 Jun 2001, Yukihiro Matsumoto wrote:
Hi,
ts <decoux@moulon.inra.fr> writes:
Hi,
[#16885] Re: Something strange with Ruby's inheritance mechanism — Eric Jacoboni <jaco@...>
>>>>> "Mathieu" == Mathieu Bouchard <matju@sympatico.ca> writes:
[#16888] finalizers, destructors and whatnot — "David Leal" <david@...>
Hi all,
[#16973] Extension building — Tony Smith <tony@...>
I'm just getting started with Ruby and my first comment is "at last!". I've
[#16976] Introspection and 'where's the source'? — Johann Hibschman <johann@...>
Hi,
[#16982] RCR for the String class — Joseph McDonald <joe@...>
[#16991] eruby (or equiv) for windows? — "Derek Hamilton" <derek@...>
I am new to ruby so forgive me if this question has already been =
[#17002] FOX subclassing FXTextField and messages — Ralf Canis <rc@...>
Hello,
[#17004] the evolution of Ruby itself — Tobias Reif <tobiasreif@...>
Hi all;
Yukihiro Matsumoto <matz@ruby-lang.org> wrote:
[#17008] Re: Poll results — Srecko.Howard@... (Srecko Howard)
Hi all
[#17020] Re: RCR for the String class — Steve Tuckner <SAT@...>
> While I'm complaining, I prefer Java's IO class hierarchy to Ruby's, too.
[#17027] sigprocmask — Joseph McDonald <joe@...>
[#17037] keeping an Exception object alive — David Alan Black <dblack@...>
Hello --
Hi,
Hello --
Hi,
Hello --
Hi,
Hello --
>>>>> "D" == David Alan Black <dblack@candle.superlink.net> writes:
Hello --
>>>>> "D" == David Alan Black <dblack@candle.superlink.net> writes:
On Mon, 2 Jul 2001, ts wrote:
[#17059] "cvs commit" from within ruby — Clemens Wyss <wys@...>
I am trying to commit a file from within a ruby script (automation
[#17069] Is the ruby GC compacting ? — Lothar Scholz <llothar@...>
Or can i safely assume that a reference to a Ruby object is always the
[#17080] (cvs?) configure / make problems — Kero van Gelder <kero@...4050.upc-d.chello.nl>
Hi!
> > fails
[#17091] ensure block not being executed — Joseph McDonald <joe@...>
I'm afraid You stop not the script but You stop the interpreter with ^C.
"Aleksei Guzev" <aleksei.guzev@bigfoot.com> writes:
Then what is MessageQueue? (I haven't foud it at my Ruby sources )
[#17102] Ruby on a PDA — Tobias Reif <tobiasreif@...>
Hi all;
[#17110] Re: Ruby on a PDA — Kent Dahl <kentda@...>
Tobias Reif wrote:
[ruby-talk:16170] Re: (?i:) in regexp
Hi,
In message "[ruby-talk:16164] Re: (?i:) in regexp"
on 01/06/02, ts <decoux@moulon.inra.fr> writes:
| Well actually ruby do this
|
|pigeon% ruby -rjj -e '/(?im:a|b)?x/.dump'
|Regexp `(?im:a|b)?x'
| 0 casefold_on
| 1 option_set `ims'
| 2 on_failure_jump ==> 12
| 3 start_paren
| 4 on_failure_jump ==> 7
| 5 exactn "a" (1)
| 6 jump ==> 11
| 7 exactn "b" (1)
| 8 casefold_off
| 9 option_set `'
| 10 push_dummy_failure
| 11 stop_paren
| 12 exactn "x" (1)
| 13 end
|subexpressions : 0
|pigeon%
Thank you. casefold_on etc. were flushed too early.
I think I've fixed.
--- regex.c 2001/05/30 09:12:34 1.41
+++ regex.c 2001/06/02 15:19:45
@@ -545,3 +545,3 @@
results in it being larger than 1 << 16, then flag memory exhausted. */
-#define EXTEND_BUFFER \
+#define EXTEND_BUFFER \
do { char *old_buffer = bufp->buffer; \
@@ -1262,3 +1262,2 @@
int options = bufp->options;
- int old_options = 0;
@@ -1685,85 +1684,135 @@
case '(':
- old_options = options;
- PATFETCH(c);
- if (c == '?') {
- int negative = 0;
+ {
+ int old_options = options;
int push_option = 0;
- PATFETCH_RAW(c);
- switch (c) {
- case 'x': case 'p': case 'm': case 'i': case '-':
- for (;;) {
- switch (c) {
- case '-':
- negative = 1;
- break;
-
- case ':':
- case ')':
- break;
+ int casefold = 0;
- case 'x':
- if (negative)
- options &= ~RE_OPTION_EXTENDED;
- else
- options |= RE_OPTION_EXTENDED;
- break;
+ PATFETCH(c);
+ if (c == '?') {
+ int negative = 0;
- case 'p':
- if (negative) {
- if ((options&RE_OPTION_POSIXLINE) == RE_OPTION_POSIXLINE) {
- options &= ~RE_OPTION_POSIXLINE;
+ PATFETCH_RAW(c);
+ switch (c) {
+ case 'x': case 'p': case 'm': case 'i': case '-':
+ for (;;) {
+ switch (c) {
+ case '-':
+ negative = 1;
+ break;
+
+ case ':':
+ case ')':
+ break;
+
+ case 'x':
+ if (negative)
+ options &= ~RE_OPTION_EXTENDED;
+ else
+ options |= RE_OPTION_EXTENDED;
+ break;
+
+ case 'p':
+ if (negative) {
+ if ((options&RE_OPTION_POSIXLINE) == RE_OPTION_POSIXLINE) {
+ options &= ~RE_OPTION_POSIXLINE;
+ }
}
- }
- else if ((options&RE_OPTION_POSIXLINE) != RE_OPTION_POSIXLINE) {
- options |= RE_OPTION_POSIXLINE;
- }
- push_option = 1;
- break;
+ else if ((options&RE_OPTION_POSIXLINE) != RE_OPTION_POSIXLINE) {
+ options |= RE_OPTION_POSIXLINE;
+ }
+ push_option = 1;
+ break;
- case 'm':
- if (negative) {
- if (options&RE_OPTION_MULTILINE) {
- options &= ~RE_OPTION_MULTILINE;
+ case 'm':
+ if (negative) {
+ if (options&RE_OPTION_MULTILINE) {
+ options &= ~RE_OPTION_MULTILINE;
+ }
}
- }
- else if (!(options&RE_OPTION_MULTILINE)) {
- options |= RE_OPTION_MULTILINE;
- }
- push_option = 1;
- break;
+ else if (!(options&RE_OPTION_MULTILINE)) {
+ options |= RE_OPTION_MULTILINE;
+ }
+ push_option = 1;
+ break;
- case 'i':
- if (negative) {
- if (options&RE_OPTION_IGNORECASE) {
- options &= ~RE_OPTION_IGNORECASE;
- BUFPUSH(casefold_off);
+ case 'i':
+ if (negative) {
+ if (options&RE_OPTION_IGNORECASE) {
+ options &= ~RE_OPTION_IGNORECASE;
+ }
+ }
+ else if (!(options&RE_OPTION_IGNORECASE)) {
+ options |= RE_OPTION_IGNORECASE;
}
+ casefold = 1;
+ break;
+
+ default:
+ FREE_AND_RETURN(stackb, "undefined (?...) inline option");
}
- else if (!(options&RE_OPTION_IGNORECASE)) {
- options |= RE_OPTION_IGNORECASE;
- BUFPUSH(casefold_on);
+ if (c == ')') {
+ c = '#'; /* read whole in-line options */
+ break;
}
- break;
-
- default:
- FREE_AND_RETURN(stackb, "undefined (?...) inline option");
+ if (c == ':') break;
+ PATFETCH_RAW(c);
}
- if (c == ')') {
- c = '#'; /* read whole in-line options */
- break;
+ break;
+
+ case '#':
+ for (;;) {
+ PATFETCH(c);
+ if (c == ')') break;
}
- if (c == ':') break;
- PATFETCH_RAW(c);
+ c = '#';
+ break;
+
+ case ':':
+ case '=':
+ case '!':
+ case '>':
+ break;
+
+ default:
+ FREE_AND_RETURN(stackb, "undefined (?...) sequence");
}
+ }
+ else {
+ PATUNFETCH;
+ c = '(';
+ }
+ if (c == '#') {
+ if (push_option) {
+ BUFPUSH(option_set);
+ BUFPUSH(options);
+ }
+ if (casefold) {
+ if (options & RE_OPTION_IGNORECASE)
+ BUFPUSH(casefold_on);
+ else
+ BUFPUSH(casefold_off);
+ }
break;
+ }
+ if (stackp+8 >= stacke) {
+ DOUBLE_STACK(int);
+ }
- case '#':
- for (;;) {
- PATFETCH(c);
- if (c == ')') break;
- }
- c = '#';
+ /* Laststart should point to the start_memory that we are about
+ to push (unless the pattern has RE_NREGS or more ('s). */
+ /* obsolete: now RE_NREGS is just a default register size. */
+ *stackp++ = b - bufp->buffer;
+ *stackp++ = fixup_alt_jump ? fixup_alt_jump - bufp->buffer + 1 : 0;
+ *stackp++ = begalt - bufp->buffer;
+ switch (c) {
+ case '(':
+ BUFPUSH(start_memory);
+ BUFPUSH(regnum);
+ *stackp++ = regnum++;
+ *stackp++ = b - bufp->buffer;
+ BUFPUSH(0);
+ /* too many ()'s to fit in a byte. (max 254) */
+ if (regnum >= RE_REG_MAX) goto too_big;
break;
- case ':':
case '=':
@@ -1771,6 +1820,19 @@
case '>':
+ BUFPUSH(start_nowidth);
+ *stackp++ = b - bufp->buffer;
+ BUFPUSH(0); /* temporary value */
+ BUFPUSH(0);
+ if (c != '!') break;
+
+ BUFPUSH(on_failure_jump);
+ *stackp++ = b - bufp->buffer;
+ BUFPUSH(0); /* temporary value */
+ BUFPUSH(0);
break;
+ case ':':
+ BUFPUSH(start_paren);
+ pending_exact = 0;
default:
- FREE_AND_RETURN(stackb, "undefined (?...) sequence");
+ break;
}
@@ -1780,55 +1842,14 @@
}
+ if (casefold) {
+ if (options & RE_OPTION_IGNORECASE)
+ BUFPUSH(casefold_on);
+ else
+ BUFPUSH(casefold_off);
+ }
+ *stackp++ = c;
+ *stackp++ = old_options;
+ fixup_alt_jump = 0;
+ laststart = 0;
+ begalt = b;
}
- else {
- PATUNFETCH;
- c = '(';
- }
- if (c == '#') break;
- if (stackp+8 >= stacke) {
- DOUBLE_STACK(int);
- }
-
- /* Laststart should point to the start_memory that we are about
- to push (unless the pattern has RE_NREGS or more ('s). */
- /* obsolete: now RE_NREGS is just a default register size. */
- *stackp++ = b - bufp->buffer;
- *stackp++ = fixup_alt_jump ? fixup_alt_jump - bufp->buffer + 1 : 0;
- *stackp++ = begalt - bufp->buffer;
- switch (c) {
- case '(':
- BUFPUSH(start_memory);
- BUFPUSH(regnum);
- *stackp++ = regnum++;
- *stackp++ = b - bufp->buffer;
- BUFPUSH(0);
- /* too many ()'s to fit in a byte. (max 254) */
- if (regnum >= RE_REG_MAX) goto too_big;
- break;
-
- case '=':
- case '!':
- case '>':
- BUFPUSH(start_nowidth);
- *stackp++ = b - bufp->buffer;
- BUFPUSH(0); /* temporary value */
- BUFPUSH(0);
- if (c != '!') break;
-
- BUFPUSH(on_failure_jump);
- *stackp++ = b - bufp->buffer;
- BUFPUSH(0); /* temporary value */
- BUFPUSH(0);
- break;
-
- case ':':
- BUFPUSH(start_paren);
- pending_exact = 0;
- default:
- break;
- }
- *stackp++ = c;
- *stackp++ = old_options;
- fixup_alt_jump = 0;
- laststart = 0;
- begalt = b;
break;
@@ -1839,9 +1860,2 @@
- if (options != stackp[-1]) {
- if ((options ^ stackp[-1]) & RE_OPTION_IGNORECASE) {
- BUFPUSH((options&RE_OPTION_IGNORECASE)?casefold_off:casefold_on);
- }
- BUFPUSH(option_set);
- BUFPUSH(stackp[-1]);
- }
pending_exact = 0;
@@ -1858,2 +1872,9 @@
}
+ if (options != stackp[-1]) {
+ if ((options ^ stackp[-1]) & RE_OPTION_IGNORECASE) {
+ BUFPUSH((options&RE_OPTION_IGNORECASE)?casefold_off:casefold_on);
+ }
+ BUFPUSH(option_set);
+ BUFPUSH(stackp[-1]);
+ }
p0 = b;
@@ -3357,3 +3378,3 @@
/* Individual items aside from the registers. */
-#define NUM_NONREG_ITEMS 3
+#define NUM_NONREG_ITEMS 4
@@ -3407,2 +3428,3 @@
*stackp++ = string_place; \
+ *stackp++ = (unsigned char*)options; /* current option status */ \
*stackp++ = (unsigned char*)0; /* non-greedy flag */ \
@@ -3786,3 +3808,3 @@
stackp = stackb + mcnt;
- d = stackp[-2];
+ d = stackp[-3];
POP_FAILURE_POINT();
@@ -4010,4 +4032,4 @@
case finalize_jump:
- if (stackp > stackb && stackp[-2] == d) {
- p = stackp[-3];
+ if (stackp > stackb && stackp[-3] == d) {
+ p = stackp[-4];
POP_FAILURE_POINT();
@@ -4027,3 +4049,3 @@
EXTRACT_NUMBER_AND_INCR(mcnt, p);
- if (mcnt < 0 && stackp > stackb && stackp[-2] == d) /* avoid infinite loop */
+ if (mcnt < 0 && stackp > stackb && stackp[-3] == d) /* avoid infinite loop */
goto fail;
@@ -4118,3 +4140,3 @@
EXTRACT_NUMBER_AND_INCR(mcnt, p);
- if (mcnt < 0 && stackp > stackb && stackp[-2] == d) /* avoid infinite loop */
+ if (mcnt < 0 && stackp > stackb && stackp[-3] == d) /* avoid infinite loop */
goto fail;
@@ -4283,3 +4305,3 @@
skip it. */
- if (stackp[-3] == 0 || (best_regs_set && stackp[-1] == NON_GREEDY)) {
+ if (stackp[-4] == 0 || (best_regs_set && stackp[-1] == NON_GREEDY)) {
POP_FAILURE_POINT();
@@ -4287,3 +4309,4 @@
}
- stackp--; /* discard flag */
+ stackp--; /* discard greedy flag */
+ options = (int)*--stackp;
d = *--stackp;