# "No.9".succ == "Np.0"

**URL:** <https://www.ruby-forum.com/t/no-9-succ-np-0/140425>\
**Category:** Development\
**Created:** [June 13, 2008, 8:06pm UTC](https://www.ruby-forum.com/t/no-9-succ-np-0/140425 "2008-06-13T20:06:02Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![unknown](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/u/4bbf92/32.png) [@unknown](https://www.ruby-forum.com/u/unknown)\
**Post date:** [June 13, 2008, 8:06pm UTC](https://www.ruby-forum.com/t/no-9-succ-np-0/140425/1 "2008-06-13T20:06:02Z")

</div>

e$B$k$S$-$A$G$9!#e(B

e$B8=\>u$Ne(BString#succe$B$O0J2\<$N$h$&$J5sF0$K$J$k$N$G$9$,!"e(B  
e$BHs1Q?t;z$r69$s$@?t;z$H1Q;z$N7+$j\>e$,$j$OJL$K$7$?$[$&$,$$$$$N$G$O$J$$$G$7$g$&$+!)e(B  
e$B$D$^$j!Ve(B"No.10"e$B!W$rJV$9$[$&$,\<+A3$@$H;W$$$^$9!#e(B

“No.9”.succ # =\> “Np.0”  
“1z”.succ # =\> “2a”

e$B8e\<T$O;H$o$lF@$k$H;W$$$^$9$,!"A0\<T$h$&$KHs1Q?t;z$r$O$5$s$G7+$j\>e$,$k$N$Oe(B  
e$B$$$S$D$J46$8$,$7$^$9!#e(B

---

<div class="post-metadata">

**Author:** ![unknown](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/u/4bbf92/32.png) [@unknown](https://www.ruby-forum.com/u/unknown)\
**Post date:** [June 14, 2008, 3:41am UTC](https://www.ruby-forum.com/t/no-9-succ-np-0/140425/2 "2008-06-14T03:41:51Z")

</div>

e$B\<2C+$G$9!#e(B

-------- Original Message --------  
Subject: [ruby-dev:35094] “No.9”.succ == “Np.0”  
From: removed\_email\_address@domain.invalid  
To: ruby developers list [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
Date: Sat Jun 14 2008 03:00:18 GMT+0900

> e$B$$$S$D$J46$8$,$7$^$9!#e(B  
> “a9”.succ e$B$,e(B “b1” e$B$K$J$C$FM\_$7$$?M$b$$$=$&$G$9e(B

---

<div class="post-metadata">

**Author:** ![unknown](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/u/4bbf92/32.png) [@unknown](https://www.ruby-forum.com/u/unknown)\
**Post date:** [July 7, 2008, 10:47am UTC](https://www.ruby-forum.com/t/no-9-succ-np-0/140425/3 "2008-07-07T10:47:05Z")

</div>

e$B$J$+$@$G$9!#e(B

At Sat, 14 Jun 2008 03:00:18 +0900,  
removed\_email\_address@domain.invalid wrote in [ruby-dev:35094]:

> e$B8=\>u$Ne(BString#succe$B$O0J2\<$N$h$&$J5sF0$K$J$k$N$G$9$,!"e(B  
> e$BHs1Q?t;z$r69$s$@?t;z$H1Q;z$N7+$j\>e$,$j$OJL$K$7$?$[$&$,$$$$$N$G$O$J$$$G$7$g$&$+!)e(B  
> e$B$D$^$j!Ve(B"No.10"e$B!W$rJV$9$[$&$,\<+A3$@$H;W$$$^$9!#e(B

e$B$H$/$K:$$k$3$H$b$J$$$+$bCN$l$^$;$s$M!#e(B

# Index: stable/string.c

— stable/string.c (revision 17940)  
+++ stable/string.c (working copy)  
@@ -1417,4 +1417,8 @@ rb\_str\_succ(orig)  
n = s - sbeg;  
}

- else if (c != -1) {
- 

```
 n = ++s - sbeg;

```

- 

```
 break;

```

- }  
s–;  
}  
@@ -1426,6 +1430,7 @@ rb\_str\_succ(orig)  
s–;  
}
- c = 0;  
}

- if (s \< sbeg) {

- if (s \< sbeg || c \> 0) {  
RESIZE\_CAPA(str, RSTRING(str)-\>len + 1);  
s = RSTRING(str)-\>ptr + n;  
Index: trunk/string.c  
===================================================================  
— trunk/string.c (revision 17940)  
+++ trunk/string.c (working copy)  
@@ -2537,10 +2537,11 @@ rb\_str\_succ(VALUE orig)  
neighbor = enc\_succ\_alnum\_char(s, l, enc, carry);  
if (neighbor == NEIGHBOR\_NOT\_CHAR)

- 

```
       continue;

```

- 

```
   if (neighbor == NEIGHBOR_FOUND)

```

- 

```
       s++;

```

- 

```
   else if (neighbor == NEIGHBOR_FOUND)
       return str;
   c = 1;
   carry_pos = s - sbeg;
   carry_len = l;

```

- 

```
   if (neighbor == NEIGHBOR_NOT_CHAR) break;

```

}  
if (c == -1) { /\* str contains no alnum \*/

---

<div class="post-metadata">

**Author:** ![unknown](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/u/4bbf92/32.png) [@unknown](https://www.ruby-forum.com/u/unknown)\
**Post date:** [July 7, 2008, 4:30pm UTC](https://www.ruby-forum.com/t/no-9-succ-np-0/140425/4 "2008-07-07T16:30:44Z")

</div>

e$B$^$D$b$He(B e$B$f$-$R$m$G$9e(B

In message "Re: [ruby-dev:35385] Re: “No.9”.succ == “Np.0"”  
on Mon, 7 Jul 2008 17:41:35 +0900, Nobuyoshi N.  
[removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) writes:

|At Sat, 14 Jun 2008 03:00:18 +0900,  
|removed\_email\_address@domain.invalid wrote in [ruby-dev:35094]:  
|\> e$B8=\>u$Ne(BString#succe$B$O0J2\<$N$h$&$J5sF0$K$J$k$N$G$9$,!"e(B  
|\> e$BHs1Q?t;z$r69$s$@?t;z$H1Q;z$N7+$j\>e$,$j$OJL$K$7$?$[$&$,$$$$$N$G$O$J$$$G$7$g$&$+!)e(B  
|\> e$B$D$^$j!Ve(B"No.10"e$B!W$rJV$9$[$&$,\<+A3$@$H;W$$$^$9!#e(B  
|  
|e$B$H$/$K:$$k$3$H$b$J$$$+$bCN$l$^$;$s$M!#e(B

e$BA0$+$i5$$K$J$C$F$$$?$N$G!"\<h$j9~$b$&$H;W$$$^$9!#%3%\_%C%H$7$Fe(B  
e$B$/$@$5$$!#e(B
