summaryrefslogtreecommitdiff
path: root/test/-ext-/symbol
Commit message (Collapse)AuthorAgeFilesLines
* Fixed inadvertent ID creation in rb_iv_getNobuyoshi Nakada2019-07-011-0/+9
|
* Get rid of error with frozen string literalNobuyoshi Nakada2019-06-231-0/+2
| | | | [Bug #14194]
* Symbol creation is not a problem now unless pinned downnobu2019-03-061-10/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67187 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* symbol/noninterned_name.rbnobu2016-11-122-17/+21
| | | | | | | * test/-ext-/symbol/noninterned_name.rb: split from test_inadvertent_creation.rb. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56746 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* assertions.rb: set default internal encodingnobu2016-04-091-12/+8
| | | | | | | | | | * test/lib/test/unit/assertions.rb (assert_raise_with_message): set default internal encoding to the excpected message, which affects String#inspect in messages. * test/lib/test/unit/assertions.rb (assert_warning): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54522 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* object.c: fix error messagenobu2016-02-191-0/+8
| | | | | | | * object.c (rb_mod_const_get): make error message at uninterned string consistent with symbols. [ruby-dev:49498] [Bug #12089] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53875 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Add frozen_string_literal: false for all filesnaruse2015-12-162-0/+2
| | | | | | When you change this to true, you may need to add more tests. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53141 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * test/ruby/test_method.rb (TestMethod#test_{instance,define}_method): assumedusa2015-07-071-8/+12
| | | | | | | | | | default external is UTF-8. fixed failures introduced at r51175. * test/-ext-/symbol/test_type.rb (Test_Symbol::TestType#test_check_{id,symbol}_invalid_type): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51189 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* symbol.c: preserve encodingnobu2015-07-071-0/+14
| | | | | | | * symbol.c (rb_check_id, rb_check_symbol): preserve encoding of the given name. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51175 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* proc.c: inadvertent IDnobu2015-06-191-0/+22
| | | | | | | * proc.c (rb_mod_define_method): get rid of inadvertent ID creations at error. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50969 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* proc.c: respond_to_missing? at Methodnobu2015-03-201-0/+22
| | | | | | | | | * proc.c (respond_to_missing_p): check if the receiver responds to the given method by respond_to_missing?. * proc.c (mnew_missing): create Method object for method_missing. [ruby-core:68564] [Bug #10985] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50038 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test_inadvertent_creation.rb: fix messagesnobu2015-03-201-4/+4
| | | | | | | * test/-ext-/symbol/test_inadvertent_creation.rb (TestInadvertent): fix failure messages. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50035 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test_inadvertent_creation.rb: undefined singletonnobu2015-03-201-0/+1
| | | | | | | * test/-ext-/symbol/test_inadvertent_creation.rb (test_undefined_method): test Kernel#singleton_method too. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50034 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* vm_core.h: fix symbols leaknobu2015-02-061-0/+21
| | | | | | | | * vm_core.h (rb_call_info_kw_arg_struct): make keywords a symbols list to get rid of inadvertent creation by variable keyword arguments. [ruby-core:68031] [Bug #10831] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49517 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test_inadvertent_creation.rb: assert method_missingnobu2015-02-051-16/+22
| | | | | | | | * test/-ext-/symbol/test_inadvertent_creation.rb (assert_no_immortal_symbol_in_method_missing): assert method_missing. [Bug #10828] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49507 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* convert method name to a Symbolnobu2015-02-051-8/+8
| | | | | | | | * vm_eval.c (send_internal), vm_insnhelper.c (vm_call_opt_send): convert String method name into a Symbol, as method_missing method expects its first argument to be a Symbol. [Bug #10828] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49506 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* vm_insnhelper.c: fix missing reasonnobu2015-02-051-2/+2
| | | | | | | | | * vm_insnhelper.c (ci_missing_reason): return the reason of method missing in call info. * vm_insnhelper.c (vm_call_opt_send): re-apply r49500 with the proper missing reason. [Bug #10828] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49505 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test_inadvertent_creation.rb: move testsnobu2015-02-051-0/+62
| | | | | | | * test/-ext-/symbol/test_inadvertent_creation.rb: move symbol leak tests, for implementation details, from test/ruby/test_symbol.rb. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49504 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* thread.c: fix dynamic symbol keysnobu2014-12-291-1/+7
| | | | | | | | | * thread.c (rb_thread_variable_get): fix dynamic symbol keys. rb_check_id() returns non-zero only for static symbols, whereas thread local variable keys can be dynamic symbols. [ruby-core:67185] [Bug #10667] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49055 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* process.c: get rid of inadvertent ID pindownnobu2014-11-241-0/+32
| | | | | | | * process.c (check_exec_redirect_fd, check_exec_redirect), (rb_execarg_addopt): get rid of inadvertent ID pindown. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48552 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* get rid of inadvertent ID creationnobu2014-11-211-6/+37
| | | | | | | | | * object.c (rb_mod_const_get, rb_mod_const_defined): ditto. * variable.c (rb_const_missing, rb_mod_const_missing): call const_missing without new ID to get rid of inadvertent ID creation. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48533 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test_inadvertent_creation.rb: split testnobu2014-11-171-0/+7
| | | | | | | | * test/-ext-/symbol/test_inadvertent_creation.rb: split test_module_const_defined? from test_module_const_get, and assertion for the latter. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48473 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * string.c (sym_find): remove Symbol.find because we have Symbol GC now.naruse2014-09-111-2/+22
| | | | | | | | | | https://bugs.ruby-lang.org/projects/ruby/wiki/DevelopersMeeting20140904Japan If you still want this, request again on Redmine. [Feature #7854] https://bugs.ruby-lang.org/issues/7854 * ext/-test-/symbol/init.c (sym_find): moved from string.c for tests. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47543 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test_inadvertent_creation.rb: use Symbol.findnobu2014-04-301-2/+2
| | | | | | | | | * ext/-test-/symbol/intern.c: Symbol.find is available now. * test/-ext-/symbol/test_inadvertent_creation.rb (noninterned_name): use Symbol.find instead. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45763 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* parse.y: attrset from junk IDnobu2014-02-131-0/+4
| | | | | | | | * parse.y (IDSET_ATTRSET_FOR_INTERN): fix off-by-one bug. * parse.y (rb_enc_symname_type): junk ID succeeded by '=' is also attrset ID. [ruby-core:60668] [Bug #8756] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44926 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* parse.y: use rb_fstring() for strings stored in the symbol tabletmm12013-12-081-0/+10
| | | | | | | | | | | | | | | | | * parse.y (register_symid_str): use fstrings in symbol table [Bug #9171] [ruby-core:58656] * parse.y (rb_id2str): ditto * string.c (rb_fstring): create frozen_strings on first usage. this allows rb_fstring() calls from the parser (before cString is created) * string.c (fstring_set_class_i): set klass on fstrings generated before cString was defined * string.c (Init_String): convert frozen_strings table to String objects after boot * ext/-test-/symbol/type.c (bug_sym_id2str): expose rb_id2str() * test/-ext-/symbol/test_type.rb (module Test_Symbol): verify symbol table entries are fstrings git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44057 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* object.c: avoid inadvertent symbol creationnobu2013-10-091-0/+28
| | | | | | * object.c (id_for_attr): avoid inadvertent symbol creation. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43219 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test_inadvertent_creation.rb: fix assertion namenobu2013-10-091-14/+14
| | | | | | * test/-ext-/symbol/test_inadvertent_creation.rb: fix assertion name. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43214 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test_inadvertent_creation.rb: use assert_not_interned?nobu2013-10-091-14/+14
| | | | | | | * test/-ext-/symbol/test_inadvertent_creation.rb: use assert_not_interned? instead assert_not_send. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43213 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* parse.y: allow junk attrsetnobu2013-09-291-5/+6
| | | | | | | * parse.y (rb_id_attrset, intern_str): allow junk attrset ID for Struct. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43085 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* parse.y: fix inconsistency with literalsnobu2013-09-291-0/+13
| | | | | | | | * parse.y (rb_id_attrset): fix inconsistency with literals, allow ID_ATTRSET and return it itself, but ID_JUNK cannot make ID_ATTRSET. and raise a NameError instead of rb_bug() for invalid argument. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43083 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* parse.y: junk sigil only namesnobu2013-09-201-0/+96
| | | | | | | | * parse.y (intern_str): sigil only names are junk, at least one identifier character is needed. [ruby-dev:47723] [Bug #8928] * parse.y (rb_enc_symname_type): fix out of bound access. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42988 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ext/-test-/symbol: move upwardnobu2013-09-201-1/+1
| | | | | | * ext/-test-/symbol/extconf.rb: move the extension object file upward. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42986 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* struct.c: avoid inadvertent symbol creationnobu2013-04-041-0/+20
| | | | | | | | | * struct.c (make_struct): avoid inadvertent symbol creation. (rb_struct_aref): ditto. (rb_struct_aset): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40101 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* object.c: avoid inadvertent symbol creationnobu2013-04-041-0/+21
| | | | | | | | | * object.c (rb_mod_const_set): avoid inadvertent symbol creation. (rb_obj_ivar_set): ditto. (rb_mod_cvar_set): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40100 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* enum.c: avoid inadvertent symbol creationnobu2013-04-041-0/+6
| | | | | | * enum.c (enum_inject): avoid inadvertent symbol creation. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40097 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* thread.c: avoid inadvertent symbol creationnobu2013-04-041-0/+28
| | | | | | | | | * thread.c (rb_thread_aref): avoid inadvertent symbol creation. (rb_thread_variable_get): ditto. (rb_thread_key_p): ditto. (rb_thread_variable_p): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40096 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* On some platforms, object_id can be negative value like NetBSD.naruse2011-11-011-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33597 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * test/-ext-/symbol/test_inadvertent_creation.rb (noninterned_name):nobu2011-10-071-2/+2
| | | | | | | sigil of global, instance and class variable names should be followed by non-numeric. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33426 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * test/-ext-/symbol/test_inadvertent_creation.rb: moved tests fromnobu2011-10-071-6/+125
| | | | | | test_module.rb and test_symbol.rb. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33425 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * vm_eval.c (make_no_method_execption): extract fromnobu2011-10-061-0/+44
raise_method_missing(). * vm_eval.c (send_internal): remove inadvertent symbol creation from public_send. based on a patch by Jeremy Evans <code AT jeremyevans.net> in [ruby-core:38576]. [Feature #5112] * vm_insnhelper.c (vm_call_method): remove inadvertent symbol creation from send and __send__, too. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33419 b2dd03c8-39d4-4d8f-98ff-823fe69b080e