[#32009] merging nokogiri to ext/ — Aaron Patterson <aaron@...>
I would like to merge nokogiri to ext for the 1.9.3 release. I spoke to
Hello,
Hello,
On Thu, Sep 2, 2010 at 5:34 AM, Ryan Davis <ryand-ruby@zenspider.com> wrote:
Hi,
On Sep 4, 2010, at 3:19 PM, Benoit Daloze wrote:
On Sat, Sep 4, 2010 at 4:30 PM, James Edward Gray II
On Sun, Sep 5, 2010 at 9:19 PM, <brabuhr@gmail.com> wrote:
On Sep 5, 2010, at 12:28 PM, Giuseppe Bilotta wrote:
On Mon, Sep 06, 2010 at 05:02:09AM +0900, Joshua Ballanco wrote:
> Supposedly there are REXML tests that are maintained outside of Ruby,
Hi,
2010/9/3 NARUSE, Yui <naruse@airemix.jp>:
On Fri, Sep 03, 2010 at 04:27:07PM +0900, NARUSE, Yui wrote:
Hi,
On Sun, Sep 05, 2010 at 12:17:03AM +0900, Yusuke ENDOH wrote:
Hi,
On Fri, Sep 03, 2010 at 02:34:09PM +0900, NARUSE, Yui wrote:
Hi,
Currently, we're discussing three different topics:
On Thu, Sep 09, 2010 at 01:40:34AM +0900, Yusuke ENDOH wrote:
Hello,
Hi,
On Thu, Sep 09, 2010 at 12:33:07PM +0900, Yusuke ENDOH wrote:
Hi,
On Thu, Sep 09, 2010 at 10:13:31PM +0900, Yusuke ENDOH wrote:
As an alternate approach:
2010/9/10 James Cox <james@imaj.es>:
[#32056] [Ruby 1.8-Bug#3788][Open] URI cannot parse IPv6 addresses propertly — Adam Majer <redmine@...>
Bug #3788: URI cannot parse IPv6 addresses propertly
Issue #3788 has been updated by Adam Majer.
2010/9/8 Adam Majer <redmine@ruby-lang.org>:
[#32110] Ruby 2.0 Wiki/Wish-list? — Joshua Ballanco <jballanc@...>
Hi all,
2010/9/8 Joshua Ballanco <jballanc@gmail.com>:
On Sep 7, 2010, at 5:21 PM, NARUSE, Yui wrote:
Hi,
On Sep 8, 2010, at 12:37 AM, Yukihiro Matsumoto wrote:
Hi,
On Sep 8, 2010, at 2:00 AM, Yukihiro Matsumoto wrote:
Hi,
> -- "def" returns a lambda instead of nil
> So, for example, a few things I've wanted for a long time:
I really miss those features:
Hi,
On Thu, Sep 9, 2010 at 4:20 AM, "Martin J. D=C3=BCrst"
[#32135] [Ruby-Bug#3802][Open] freeaddrinfo not found in WS2_32.dll — Thomas Volkmar Worm <redmine@...>
Bug #3802: freeaddrinfo not found in WS2_32.dll
Issue #3802 has been updated by Usaku NAKAMURA.
Hi,
Hello,
On Tue, Oct 12, 2010 at 11:44 PM, U.Nakamura <usa@garbagecollect.jp> wrote:
2010/10/13 Luis Lavena <luislavena@gmail.com>:
[#32154] Making custom_lambda() work — Magnus Holm <judofyr@...>
A tiny suggestion for how we could make it possible to call lambdas
On Wed, Sep 8, 2010 at 18:21, Magnus Holm <judofyr@gmail.com> wrote:
On Sep 8, 2010, at 9:57 AM, Nikolai Weibull wrote:
On Wed, Sep 8, 2010 at 18:57, Nikolai Weibull <now@bitwi.se> wrote:
[#32156] Can we convert the standard library to gems? — James Edward Gray II <james@...>
Taken from the bundle Nokogiri thread:
On 2010-09-09 01:45:43 +0900, James Edward Gray II wrote:
On Sep 8, 2010, at 12:03 PM, Marcus Rueckert wrote:
On 2010-09-09 02:54:26 +0900, James Edward Gray II wrote:
On Sep 8, 2010, at 3:26 PM, Marcus Rueckert wrote:
On 2010-09-09 06:11:15 +0900, James Edward Gray II wrote:
On Thu, Sep 09, 2010 at 05:26:54AM +0900, Marcus Rueckert wrote:
On 10/09/10 at 02:41 +0900, Aaron Patterson wrote:
On Fri, Sep 10, 2010 at 1:54 AM, Lucas Nussbaum
ok, this is not exactly on topic, but I'm using Debian and Ubuntu a
Hi Elise,
Hi,
On Thu, Sep 09, 2010 at 02:06:50AM +0900, Yusuke ENDOH wrote:
Hi,
I'm off today so sorry if I missed some mails.
Urabe,
(2010/09/10 23:48), James Cox wrote:
I'm at an airport back to my home so in short,
On Sun, Sep 12, 2010 at 6:51 AM, Urabe Shyouhei <shyouhei@ruby-lang.org> wr=
(2010/09/13 3:54), James Cox wrote:
On Tue, Sep 14, 2010 at 12:37 PM, Urabe Shyouhei <shyouhei@ruby-lang.org> wrote:
How difficult to make myself understood in English.
On Wed, Sep 15, 2010 at 1:43 AM, Urabe Shyouhei <shyouhei@ruby-lang.org> wr=
Hi,
On Wed, Sep 15, 2010 at 12:07 PM, Yusuke ENDOH <mame@tsg.ne.jp> wrote:
On 2010-09-16 01:42:39 +0900, James Cox wrote:
On Wed, Sep 15, 2010 at 1:35 PM, Marcus Rueckert <darix@opensu.se> wrote:
On 2010-09-16 03:36:56 +0900, James Cox wrote:
On Wednesday, September 15, 2010, Marcus Rueckert <darix@opensu.se> wrote:
On 16/09/10 at 11:02 +0900, James Cox wrote:
On Thu, Sep 16, 2010 at 1:59 AM, Lucas Nussbaum
On Thu, Sep 16, 2010 at 10:41 AM, James Tucker <jftucker@gmail.com> wrote:
On 2010-09-16 03:36:56 +0900, James Cox wrote:
On Thu, Sep 16, 2010 at 11:44 AM, Marcus Rueckert <darix@opensu.se> wrote:
On Wed, Sep 8, 2010 at 10:45 AM, James Edward Gray II
On Thu, Sep 9, 2010 at 1:41 PM, Roger Pack <rogerdpack2@gmail.com> wrote:
[#32165] [Ruby 1.9-Bug#3805][Open] Ruby generated gem specifications for bundled projects are incorrect — Luis Lavena <redmine@...>
Bug #3805: Ruby generated gem specifications for bundled projects are inc=
[#32200] Ruby 2.0 Wish-list? — Rocky Bernstein <rockyb@...>
Any plans for error messages in languages other than English?
[#32248] Replacing stdlib Date with C version — Jeremy Evans <code@...>
I've recently been working on a replacement for the stdlib Date class,
Hi,
On 09/10 07:23, Nobuyoshi Nakada wrote:
Hi,
[#32351] Cross-compilation bugs and seek for help — Luis Lavena <luislavena@...>
Hello,
It might be off topic though I have to mention this anyway. This is not for
[#32353] [Ruby 1.9-Bug#3825][Open] ENV.delete raise Exception on Windows — Heesob Park <redmine@...>
Bug #3825: ENV.delete raise Exception on Windows
[#32453] Why doesn’t Enumerable define a #last method? — Nikolai Weibull <now@...>
Hi!
(2010/09/17 19:19), Nikolai Weibull wrote:
On Fri, Sep 17, 2010 at 13:00, Urabe Shyouhei <shyouhei@ruby-lang.org> wrot=
On 17 September 2010 12:19, Nikolai Weibull <now@bitwi.se> wrote:
[#32454] [Ruby 1.9-Feature#3845][Open] "in" infix operator — Yusuke Endoh <redmine@...>
Feature #3845: "in" infix operator
On 17 September 2010 12:30, Yusuke Endoh <redmine@ruby-lang.org> wrote:
Hi,
On Wed, Sep 22, 2010 at 1:48 AM, Yusuke ENDOH <mame@tsg.ne.jp> wrote:
Hi,
Hello Yusuke,
[#32465] [Ruby-Feature#3848][Open] Using http basic authentication for FTP with Open URI — Jérémy Lecour <redmine@...>
Feature #3848: Using http basic authentication for FTP with Open URI
On Sep 17, 2010, at 2:02 PM, J=E9r=E9my Lecour wrote:
On Sat, Sep 18, 2010 at 13:19, James Edward Gray II
On Sep 26, 2010, at 8:44 PM, mathew wrote:
On Sun, Sep 26, 2010 at 20:57, James Edward Gray II
[#32469] ruby.lib vs VC++ — Phlip <phlip2005@...>
Here's a nice sample program to illustrate my problem:
[#32478] [Ruby-Feature#3851][Open] Ruby 1.9.2p0 crash on filename with '[' — Jon Lambert <redmine@...>
Feature #3851: Ruby 1.9.2p0 crash on filename with '['
[#32506] [Ruby 1.9-Bug#3863][Open] [BUG] unknown type 0x22 (0xc given) — Jay Borenstein <redmine@...>
Bug #3863: [BUG] unknown type 0x22 (0xc given)
[#32529] [Ruby 1.9-Bug#3869][Open] Logger#log does not handle or escape new-line characters. — Hal Brodigan <redmine@...>
Bug #3869: Logger#log does not handle or escape new-line characters.
[#32565] RUBY_PLATFORM on MinGW64 (was: List of possible casting issues under LLP64) — wanabe <s.wanabe@...>
Hello,
On Sat, Sep 25, 2010 at 7:52 PM, wanabe <s.wanabe@gmail.com> wrote:
[#32585] Proposal for Optional Static Typing for Ruby — Martin Pilkington <pilky@...>
Hi,
Hi
Hi,
Hi Matz
Martin,
Hi,
On Sep 28, 2010, at 12:35 PM, Loren Segal wrote:
On Sep 28, 2010, at 2:47 PM, Loren Segal wrote:
Hi Loren, Joshua
Hi All,
It strikes me that much of the premise behind this thread is misguided =
Eleanor,
On 29 Sep 2010, at 16:03, Loren Segal wrote:
Hi Ellie,
Hi,
On Sep 29, 2010, at 12:33 AM, Bill Kelly wrote:
[#32614] Long lines in mails sent from Mail.app (Was: Re: Parameter and Return Interface Specification) — Nikolai Weibull <now@...>
On Tue, Sep 28, 2010 at 14:20, Asher <asher@ridiculouspower.com> wrote:
[#32634] [Ruby 1.9-Bug#3889][Open] Incorrectly detected i686-w64-mingw32 as x64-mingw — Luis Lavena <redmine@...>
Bug #3889: Incorrectly detected i686-w64-mingw32 as x64-mingw
Issue #3889 has been updated by Usaku NAKAMURA.
Issue #3889 has been updated by Shyouhei Urabe.
On Tue, Oct 05, 2010 at 02:03:23PM +0900, Shyouhei Urabe wrote:
Issue #3889 has been updated by Luis Lavena.
[ruby-core:32014] [Ruby 1.9-Bug#3783][Open] Replace Calls to rb_error_frozen() with rb_check_frozen()
Bug #3783: Replace Calls to rb_error_frozen() with rb_check_frozen()
http://redmine.ruby-lang.org/issues/show/3783
Author: Run Paint Run Run
Status: Open, Priority: Low
Category: core
ruby -v: ruby 1.9.3dev (2010-09-02 trunk 29167) [i686-linux] =
This patch replaces lines of the form:
if (OBJ_FROZEN(obj)) rb_error_frozen("object");
with:
rb_check_frozen(obj);
This is simpler, and produces error messages that are more consistent and=
precise.
(It feels wrong cluttering the bug tracker with things like this. Would t=
hey be better posted to the list or sent as a "pull" request?)
----------------------------------------
http://redmine.ruby-lang.org
Attachments (1)
diff --git a/array.c b/array.c
index 4e0585c..53348ef 100644
--- a/array.c
+++ b/array.c
@@ -242,7 +242,7 @@ rb_ary_set_shared(VALUE ary, VALUE shared)
static inline void
rb_ary_modify_check(VALUE ary)
{
- if (OBJ_FROZEN(ary)) rb_error_frozen("array");
+ rb_check_frozen(ary);
if (!OBJ_UNTRUSTED(ary) && rb_safe_level() >= 4)
rb_raise(rb_eSecurityError, "Insecure: can't modify array");
}
diff --git a/gc.c b/gc.c
index 9bde487..fb02fe7 100644
--- a/gc.c
+++ b/gc.c
@@ -2674,7 +2674,7 @@ static VALUE
undefine_final(VALUE os, VALUE obj)
{
rb_objspace_t *objspace = &rb_objspace;
- if (OBJ_FROZEN(obj)) rb_error_frozen("object");
+ rb_check_frozen(obj);
if (finalizer_table) {
st_delete(finalizer_table, (st_data_t*)&obj, 0);
}
@@ -2698,7 +2698,7 @@ define_final(int argc, VALUE *argv, VALUE os)
VALUE obj, block, table;
rb_scan_args(argc, argv, "11", &obj, &block);
- if (OBJ_FROZEN(obj)) rb_error_frozen("object");
+ rb_check_frozen(obj);
if (argc == 1) {
block = rb_block_proc();
}
diff --git a/hash.c b/hash.c
index 8bba586..1a0e5f8 100644
--- a/hash.c
+++ b/hash.c
@@ -248,7 +248,7 @@ rb_hash_dup(VALUE hash)
static void
rb_hash_modify_check(VALUE hash)
{
- if (OBJ_FROZEN(hash)) rb_error_frozen("hash");
+ rb_check_frozen(hash);
if (!OBJ_UNTRUSTED(hash) && rb_safe_level() >= 4)
rb_raise(rb_eSecurityError, "Insecure: can't modify hash");
}
diff --git a/object.c b/object.c
index 34b9529..154338b 100644
--- a/object.c
+++ b/object.c
@@ -712,9 +712,7 @@ rb_obj_taint(VALUE obj)
{
rb_secure(4);
if (!OBJ_TAINTED(obj)) {
- if (OBJ_FROZEN(obj)) {
- rb_error_frozen("object");
- }
+ rb_check_frozen(obj);
OBJ_TAINT(obj);
}
return obj;
@@ -733,9 +731,7 @@ rb_obj_untaint(VALUE obj)
{
rb_secure(3);
if (OBJ_TAINTED(obj)) {
- if (OBJ_FROZEN(obj)) {
- rb_error_frozen("object");
- }
+ rb_check_frozen(obj);
FL_UNSET(obj, FL_TAINT);
}
return obj;
@@ -768,9 +764,7 @@ rb_obj_untrust(VALUE obj)
{
rb_secure(4);
if (!OBJ_UNTRUSTED(obj)) {
- if (OBJ_FROZEN(obj)) {
- rb_error_frozen("object");
- }
+ rb_check_frozen(obj);
OBJ_UNTRUST(obj);
}
return obj;
@@ -789,9 +783,7 @@ rb_obj_trust(VALUE obj)
{
rb_secure(3);
if (OBJ_UNTRUSTED(obj)) {
- if (OBJ_FROZEN(obj)) {
- rb_error_frozen("object");
- }
+ rb_check_frozen(obj);
FL_UNSET(obj, FL_UNTRUSTED);
}
return obj;
diff --git a/string.c b/string.c
index f96c770..0dd2389 100644
--- a/string.c
+++ b/string.c
@@ -350,14 +350,6 @@ str_mod_check(VALUE s, const char *p, long len)
}
}
-static inline void
-str_frozen_check(VALUE s)
-{
- if (OBJ_FROZEN(s)) {
- rb_raise(rb_eRuntimeError, "string frozen");
- }
-}
-
size_t
rb_str_capacity(VALUE str)
{
@@ -1249,7 +1241,7 @@ str_modifiable(VALUE str)
if (FL_TEST(str, STR_TMPLOCK)) {
rb_raise(rb_eRuntimeError, "can't modify string; temporarily locked");
}
- if (OBJ_FROZEN(str)) rb_error_frozen("string");
+ rb_check_frozen(str);
if (!OBJ_UNTRUSTED(str) && rb_safe_level() >= 4)
rb_raise(rb_eSecurityError, "Insecure: can't modify string");
}
@@ -1334,7 +1326,7 @@ void
rb_str_associate(VALUE str, VALUE add)
{
/* sanity check */
- if (OBJ_FROZEN(str)) rb_error_frozen("string");
+ rb_check_frozen(str);
if (STR_ASSOC_P(str)) {
/* already associated */
rb_ary_concat(RSTRING(str)->as.heap.aux.shared, add);
@@ -3549,7 +3541,7 @@ rb_str_sub_bang(int argc, VALUE *argv, VALUE str)
repl = rb_obj_as_string(repl);
}
str_mod_check(str, p, len);
- str_frozen_check(str);
+ rb_check_frozen(str);
}
else {
repl = rb_reg_regsub(repl, str, regs, pat);
diff --git a/struct.c b/struct.c
index f0a377c..78f836f 100644
--- a/struct.c
+++ b/struct.c
@@ -151,7 +151,7 @@ static VALUE (*const ref_func[])(VALUE) = {
static void
rb_struct_modify(VALUE s)
{
- if (OBJ_FROZEN(s)) rb_error_frozen("Struct");
+ rb_check_frozen(s);
if (!OBJ_UNTRUSTED(s) && rb_safe_level() >= 4)
rb_raise(rb_eSecurityError, "Insecure: can't modify Struct");
}
diff --git a/transcode.c b/transcode.c
index c718182..f5a55e6 100644
--- a/transcode.c
+++ b/transcode.c
@@ -2714,9 +2714,7 @@ str_encode_bang(int argc, VALUE *argv, VALUE str)
VALUE newstr;
int encidx;
- if (OBJ_FROZEN(str)) { /* in future, may use str_frozen_check from string.c, but that's currently static */
- rb_raise(rb_eRuntimeError, "string frozen");
- }
+ rb_check_frozen(str);
newstr = str;
encidx = str_transcode(argc, argv, &newstr);
diff --git a/variable.c b/variable.c
index 5333aa2..16ca862 100644
--- a/variable.c
+++ b/variable.c
@@ -1042,7 +1042,7 @@ rb_ivar_set(VALUE obj, ID id, VALUE val)
if (!OBJ_UNTRUSTED(obj) && rb_safe_level() >= 4)
rb_raise(rb_eSecurityError, "Insecure: can't modify instance variable");
- if (OBJ_FROZEN(obj)) rb_error_frozen("object");
+ rb_check_frozen(obj);
switch (TYPE(obj)) {
case T_OBJECT:
iv_index_tbl = ROBJECT_IV_INDEX_TBL(obj);
@@ -1304,7 +1304,7 @@ rb_obj_remove_instance_variable(VALUE obj, VALUE name)
if (!OBJ_UNTRUSTED(obj) && rb_safe_level() >= 4)
rb_raise(rb_eSecurityError, "Insecure: can't modify instance variable");
- if (OBJ_FROZEN(obj)) rb_error_frozen("object");
+ rb_check_frozen(obj);
if (!rb_is_instance_id(id)) {
rb_name_error(id, "`%s' is not allowed as an instance variable name", rb_id2name(id));
}
@@ -1648,8 +1648,7 @@ rb_const_remove(VALUE mod, ID id)
if (!OBJ_UNTRUSTED(mod) && rb_safe_level() >= 4)
rb_raise(rb_eSecurityError, "Insecure: can't remove constant");
- if (OBJ_FROZEN(mod)) rb_error_frozen("class/module");
-
+ rb_check_frozen(mod);
if (!RCLASS_IV_TBL(mod) || !st_delete(RCLASS_IV_TBL(mod), &n, &v)) {
if (rb_const_defined_at(mod, id)) {
rb_name_error(id, "cannot remove %s::%s",
@@ -1814,14 +1813,7 @@ mod_av_set(VALUE klass, ID id, VALUE val, int isconst)
if (!OBJ_UNTRUSTED(klass) && rb_safe_level() >= 4)
rb_raise(rb_eSecurityError, "Insecure: can't set %s", dest);
- if (OBJ_FROZEN(klass)) {
- if (BUILTIN_TYPE(klass) == T_MODULE) {
- rb_error_frozen("module");
- }
- else {
- rb_error_frozen("class");
- }
- }
+ rb_check_frozen(klass);
if (!RCLASS_IV_TBL(klass)) {
RCLASS_IV_TBL(klass) = st_init_numtable();
}
@@ -2069,8 +2061,7 @@ rb_mod_remove_cvar(VALUE mod, VALUE name)
}
if (!OBJ_UNTRUSTED(mod) && rb_safe_level() >= 4)
rb_raise(rb_eSecurityError, "Insecure: can't remove class variable");
- if (OBJ_FROZEN(mod)) rb_error_frozen("class/module");
-
+ rb_check_frozen(mod);
if (RCLASS_IV_TBL(mod) && st_delete(RCLASS_IV_TBL(mod), &n, &val)) {
return (VALUE)val;
}
diff --git a/vm.c b/vm.c
index 5d249e5..8ecd89c 100644
--- a/vm.c
+++ b/vm.c
@@ -1862,10 +1862,7 @@ vm_define_method(rb_thread_t *th, VALUE obj, ID id, VALUE iseqval,
rb_id2name(id), rb_obj_classname(obj));
}
- if (OBJ_FROZEN(obj)) {
- rb_error_frozen("object");
- }
-
+ rb_check_frozen(obj);
klass = rb_singleton_class(obj);
noex = NOEX_PUBLIC;
}
diff --git a/vm_insnhelper.c b/vm_insnhelper.c
index 985a2fb..976147f 100644
--- a/vm_insnhelper.c
+++ b/vm_insnhelper.c
@@ -1290,9 +1290,8 @@ vm_setivar(VALUE obj, ID id, VALUE val, IC ic)
if (!OBJ_UNTRUSTED(obj) && rb_safe_level() >= 4) {
rb_raise(rb_eSecurityError, "Insecure: can't modify instance variable");
}
- if (OBJ_FROZEN(obj)) {
- rb_error_frozen("object");
- }
+
+ rb_check_frozen(obj);
if (TYPE(obj) == T_OBJECT) {
VALUE klass = RBASIC(obj)->klass;
diff --git a/vm_method.c b/vm_method.c
index 50f0b12..8af529e 100644
--- a/vm_method.c
+++ b/vm_method.c
@@ -211,10 +211,8 @@ rb_method_entry_make(VALUE klass, ID mid, rb_method_type_t type,
rb_class2name(rb_ivar_get(klass, attached)));
mid = ID_ALLOCATOR;
}
- if (OBJ_FROZEN(klass)) {
- rb_error_frozen("class/module");
- }
+ rb_check_frozen(klass);
mtbl = RCLASS_M_TBL(klass);
/* check re-definition */
@@ -463,8 +461,7 @@ remove_method(VALUE klass, ID mid)
if (rb_safe_level() >= 4 && !OBJ_UNTRUSTED(klass)) {
rb_raise(rb_eSecurityError, "Insecure: can't remove method");
}
- if (OBJ_FROZEN(klass))
- rb_error_frozen("class/module");
+ rb_check_frozen(klass);
if (mid == object_id || mid == id__send__ || mid == idInitialize) {
rb_warn("removing `%s' may cause serious problems", rb_id2name(mid));
}