Fix too much quotemeta in Instance metaclass
gfx [Thu, 13 Aug 2009 06:57:11 +0000 (15:57 +0900)]
lib/Class/MOP/Instance.pm

index 0f13a12..d11b1b6 100644 (file)
@@ -181,7 +181,8 @@ sub inline_create_instance {
 
 sub inline_slot_access {
     my ($self, $instance, $slot_name) = @_;
-    sprintf q[%s->{'%s'}], $instance, quotemeta($slot_name);
+    $slot_name =~ s/(['\\])/\\$1/g; # In '', only "'" and "\\" are meta characters.
+    sprintf q[%s->{'%s'}], $instance, $slot_name;
 }
 
 sub inline_get_slot_value {