[#17566] rubychecker - runs checks on a Ruby interpreter — Igal Koshevoy <igal@...>

I've put together a shell script that runs checks on a Ruby interpreter.

14 messages 2008/07/03

[#17615] [PATCH] ruby-mode.el: Fix here-doc strings with inner quotes — Nathan Weizenbaum <nex342@...>

At the moment, ruby-mode.el uses font-lock-keywords as opposed to

22 messages 2008/07/05
[#17657] Re: [PATCH] ruby-mode.el: Fix here-doc strings with inner quotes — Yukihiro Matsumoto <matz@...> 2008/07/08

[#17678] Re: [PATCH] ruby-mode.el: Fix here-doc strings with inner quotes — Nathan Weizenbaum <nex342@...> 2008/07/09

It was designed to fix the following case:

[#17755] Re: [PATCH] ruby-mode.el: Fix here-doc strings with inner quotes — Nathan Weizenbaum <nex342@...> 2008/07/13

Here's a third patch that fixes a bug in the second and uses a quicker

[#17772] Re: [PATCH] ruby-mode.el: Fix here-doc strings with inner quotes — Nathan Weizenbaum <nex342@...> 2008/07/15

One more patch which fixes a few bugs in the the last one.

[#17773] Re: [PATCH] ruby-mode.el: Fix here-doc strings with inner quotes — Nobuyoshi Nakada <nobu@...> 2008/07/15

Hi,

[#17776] Re: [PATCH] ruby-mode.el: Fix here-doc strings with inner quotes — Nathan Weizenbaum <nex342@...> 2008/07/15

Looks like version 22 doesn't support explicitly numbered regexp groups.

[#17779] Re: [PATCH] ruby-mode.el: Fix here-doc strings with inner quotes — Nobuyoshi Nakada <nobu@...> 2008/07/15

Hi,

[#17783] Re: [PATCH] ruby-mode.el: Fix here-doc strings with inner quotes — Nobuyoshi Nakada <nobu@...> 2008/07/15

Hi,

[#17788] Re: [PATCH] ruby-mode.el: Fix here-doc strings with inner quotes — Nathan Weizenbaum <nex342@...> 2008/07/15

Alright, here's a version that fixes both the highlighting bug and the

[#17793] Re: [PATCH] ruby-mode.el: Fix here-doc strings with inner quotes — Nobuyoshi Nakada <nobu@...> 2008/07/16

Hi,

[#17644] Features to be included in Ruby 1.9.1 — "Yugui (Yuki Sonoda)" <yugui@...>

Hi, all

27 messages 2008/07/08

[#17674] [Ruby 1.8 - Bug #238] (Open) Ruby doesn't respect the Windows read-only flag — Jim Deville <redmine@...>

Issue #238 has been reported by Jim Deville.

10 messages 2008/07/08

[#17708] [Ruby 1.8 - Bug #252] (Open) Array#sort doesn't respect overridden <=> — Ryan Davis <redmine@...>

Issue #252 has been reported by Ryan Davis.

13 messages 2008/07/09

[#17871] duping the NilClass — "Nasir Khan" <rubylearner@...>

While nil is an object, calling dup on it causes TypeError. This doesnt seem

33 messages 2008/07/20
[#17872] Re: duping the NilClass — Urabe Shyouhei <shyouhei@...> 2008/07/20

Nasir Khan wrote:

[#17873] Re: duping the NilClass — "Meinrad Recheis" <meinrad.recheis@...> 2008/07/20

On Sun, Jul 20, 2008 at 7:55 PM, Urabe Shyouhei <shyouhei@ruby-lang.org>

[#17877] Re: duping the NilClass — Urabe Shyouhei <shyouhei@...> 2008/07/20

Meinrad Recheis wrote:

[#17879] Re: duping the NilClass — Kurt Stephens <ks@...> 2008/07/20

Urabe Shyouhei wrote:

[#17880] Re: duping the NilClass — "Nasir Khan" <rubylearner@...> 2008/07/21

I write a lot of hand crafted dup or clone because I want control as well as

[#17881] Re: duping the NilClass — "David A. Black" <dblack@...> 2008/07/21

Hi --

[#17882] Re: duping the NilClass — Urabe Shyouhei <shyouhei@...> 2008/07/21

+1 to David. A convenient way to do Marshal idiom should be a new

[#17885] Re: duping the NilClass — "Robert Dober" <robert.dober@...> 2008/07/21

On Mon, Jul 21, 2008 at 8:21 AM, Urabe Shyouhei <shyouhei@ruby-lang.org> wrote:

[#17887] Re: duping the NilClass — "David A. Black" <dblack@...> 2008/07/21

Hi --

[#17889] Re: duping the NilClass — "Robert Dober" <robert.dober@...> 2008/07/21

On Mon, Jul 21, 2008 at 1:02 PM, David A. Black <dblack@rubypal.com> wrote:

[#17883] [Ruby 1.9 - Bug #340] (Open) 1.9/trunk does not work when compiled with llvm-gcc4 2.3 (gcc 4.2.1) — Ollivier Robert <redmine@...>

Issue #340 has been reported by Ollivier Robert.

14 messages 2008/07/21

[#17943] RUBY_ENGINE? — "Vladimir Sizikov" <vsizikov@...>

Hi,

56 messages 2008/07/24
[#17950] Re: RUBY_ENGINE? — Tanaka Akira <akr@...> 2008/07/25

In article <3454c9680807241200xf7cc766qb987905a3987bb78@mail.gmail.com>,

[#17958] Re: RUBY_ENGINE? — "Vladimir Sizikov" <vsizikov@...> 2008/07/25

Hi,

[#17981] Re: RUBY_ENGINE? — Tanaka Akira <akr@...> 2008/07/26

In article <3454c9680807250054i70db563duf44b42d92ba41bfb@mail.gmail.com>,

[ruby-core:17865] Expand_Path: New Patch - Modified Processing

From: "C.E. Thornton" <admin@...>
Date: 2008-07-19 20:52:07 UTC
List: ruby-core #17865
Core,

  I modified file.c to incorporated previous suggestions
and my mistaken interpretation of Bash Semantics.

 It works, but I am not entirely pleased at the "hack"
it required.  I hate "goto" processing as it is SO NOT
object oriented! :-(

But I didn't see an way to do it without a complete rewrite
of the entire section. So I came down of the side of changing
as little as possible.  If anyone has a "cleaner" method,
please let me know.

Basically, it incorporates the previous change . There is
goto to restart processing with the new 'if' structure only
if the code fails using the previous  processing.

As shown below,  given  "~name"  if 'name' is a user name
we get 'home/username',  if the 'name' is not a user we
get  'specified_path/~nonusername'

Directory:  /home/thornton/WorkPads/Wpad02/ contains:

ATTIC  ~chuck  ~test  tst.rb

The results are:
hydra(Wpad02}$tst.rb
ruby 1.8.7 (2008-05-31 patchlevel 0) [x86_64-linux]
Starting Directory = .
Dir = /home/thornton/WorkPads/Wpad02/~test   <== Correct (test is not a 
user)
Dir = /home/thornton/WorkPads
Dir = /home/thornton/WorkPads/Wpad02/ATTIC
Dir = /home/thornton/WorkPads/Wpad02
Dir = /home/chuck                                       <== Correct 
(chuck is a user)

--- With the expand_path modified ("w" option) to effectively
     quote the directory names,  the "~chuck" dir is found!

hydra(Wpad02}$tst.rb w
ruby 1.8.7 (2008-05-31 patchlevel 0) [x86_64-linux]
Starting Directory = .
Dir = /home/thornton/WorkPads/Wpad02/~test
Dir = /home/thornton/WorkPads/Wpad02/..
Dir = /home/thornton/WorkPads/Wpad02/ATTIC
Dir = /home/thornton/WorkPads/Wpad02/.
Dir = /home/thornton/WorkPads/Wpad02/~chuck <== Correct (effectively 
quoted!)

Also, rerunning the tests with a fully specified path:

hydra(Wpad02}$tst.rb
ruby 1.8.7 (2008-05-31 patchlevel 0) [x86_64-linux]
Starting Directory = /home/thornton/WorkPads/Wpad02
Dir = /home/thornton/WorkPads/Wpad02/~test
Dir = /home/thornton/WorkPads
Dir = /home/thornton/WorkPads/Wpad02/ATTIC
Dir = /home/thornton/WorkPads/Wpad02
Dir = /home/chuck

hydra(Wpad02}$tst.rb w
ruby 1.8.7 (2008-05-31 patchlevel 0) [x86_64-linux]
Starting Directory = /home/thornton/WorkPads/Wpad02
Dir = /home/thornton/WorkPads/Wpad02/~test
Dir = /home/thornton/WorkPads/Wpad02/..
Dir = /home/thornton/WorkPads/Wpad02/ATTIC
Dir = /home/thornton/WorkPads/Wpad02/.
Dir = /home/thornton/WorkPads/Wpad02/~chuck
hy

Chuck T.

-- 
Competency and chastity have much in common,
they both encompass their own punishment! 
 
-- C.E. Thornton -- Hawthorne Press --

Attachments (2)

file.c_patch (1.19 KB, text/plain)
--- file.c	2008-05-31 11:44:49.000000000 +0000
+++ file.c_new	2008-07-19 20:07:19.000000000 +0000
@@ -2521,17 +2521,25 @@
 file_expand_path(fname, dname, result)
     VALUE fname, dname, result;
 {
-    const char *s, *b;
+    const char *s, *b, *sp;
     char *buf, *p, *pend, *root;
     long buflen, dirlen;
-    int tainted;
+    int tainted, st;
 
     s = StringValuePtr(fname);
     BUFINIT();
     tainted = OBJ_TAINTED(fname);
 
-    if (s[0] == '~') {
-	if (isdirsep(s[1]) || s[1] == '\0') {
+    sp = s;
+    st = 0;
+st_ret: 
+    s = sp;
+    BUFINIT();
+    if ( (st == 0 && s[0] == '~') || 
+         (st == 1 && s[0] == '~' && (isdirsep(s[1]) || s[1] == '\0'))) {
+    st += 1;
+
+  	if (isdirsep(s[1]) || s[1] == '\0') {
 	    char *dir = getenv("HOME");
 
 	    if (!dir) {
@@ -2565,9 +2573,12 @@
 #ifdef HAVE_PWD_H
 	    pwPtr = getpwnam(buf);
 	    if (!pwPtr) {
-		endpwent();
-		rb_raise(rb_eArgError, "user %s doesn't exist", buf);
-	    }
+	    	endpwent();
+        if ( st == 1)
+           goto st_ret;
+        else 
+	    	   rb_raise(rb_eArgError, "user %s doesn't exist", buf);
+     }
 	    dirlen = strlen(pwPtr->pw_dir);
 	    BUFCHECK(dirlen > buflen);
 	    strcpy(buf, pwPtr->pw_dir);
tst.rb (386 Bytes, application/x-sh)

In This Thread

Prev Next