<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ruby.git/test/ruby/test_keyword.rb, branch v2_2_6</title>
<subtitle>The Ruby Programming Language</subtitle>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/'/>
<entry>
<title>merge revision(s) 53164: [Backport #11657]</title>
<updated>2016-01-17T15:59:36+00:00</updated>
<author>
<name>nagachika</name>
<email>nagachika@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2016-01-17T15:59:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=2054417ec66ffce4cd9b06cd2077f49487a3cd77'/>
<id>2054417ec66ffce4cd9b06cd2077f49487a3cd77</id>
<content type='text'>
	* vm_insnhelper.c (vm_call_method_each_type): should not set fastpath
	  with keyword arguments for VM_METHOD_TYPE_ATTRSET type methods.
	  Normally, we can not use keyword arguments for this kind of methods,
	  (obj.foo = 1), but we can set alias names for them.
	  [Bug #11657]

	* test/ruby/test_keyword.rb: add a test for this fix.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_2@53567 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	* vm_insnhelper.c (vm_call_method_each_type): should not set fastpath
	  with keyword arguments for VM_METHOD_TYPE_ATTRSET type methods.
	  Normally, we can not use keyword arguments for this kind of methods,
	  (obj.foo = 1), but we can set alias names for them.
	  [Bug #11657]

	* test/ruby/test_keyword.rb: add a test for this fix.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_2@53567 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
<entry>
<title>merge revision(s) 50172,50173: [Backport #11027]</title>
<updated>2015-05-20T16:04:34+00:00</updated>
<author>
<name>nagachika</name>
<email>nagachika@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2015-05-20T16:04:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=3e199f4c2b49a17104a0878f8e8505ab2411a608'/>
<id>3e199f4c2b49a17104a0878f8e8505ab2411a608</id>
<content type='text'>
	* vm_args.c: protect value stack from calling other methods
	  during complex parameter setting process (splat, kw, and so on).
	  [Bug #11027]

	* vm_core.h: remove rb_thead_t::mark_stack_len.
	  With this modification, we don't need to use th-&gt;mark_stack_len.

	* test/ruby/test_keyword.rb: add a test.

	* cont.c (cont_capture): catch up this fix.

	* vm.c (rb_thread_mark): ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_2@50562 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	* vm_args.c: protect value stack from calling other methods
	  during complex parameter setting process (splat, kw, and so on).
	  [Bug #11027]

	* vm_core.h: remove rb_thead_t::mark_stack_len.
	  With this modification, we don't need to use th-&gt;mark_stack_len.

	* test/ruby/test_keyword.rb: add a test.

	* cont.c (cont_capture): catch up this fix.

	* vm.c (rb_thread_mark): ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_2@50562 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
<entry>
<title>merge revision(s) 49088: [Backport #10685]</title>
<updated>2015-01-16T05:21:00+00:00</updated>
<author>
<name>naruse</name>
<email>naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2015-01-16T05:21:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=81f257aa10cce69cf2bee38f955f7c22c18e93e1'/>
<id>81f257aa10cce69cf2bee38f955f7c22c18e93e1</id>
<content type='text'>
	* vm_args.c (keyword_hash_p): fix non-symbol keys hash.
	  rb_extract_keywords() returns 0 not Qnil when no symbol keys is
	  included.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_2@49273 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	* vm_args.c (keyword_hash_p): fix non-symbol keys hash.
	  rb_extract_keywords() returns 0 not Qnil when no symbol keys is
	  included.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_2@49273 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
<entry>
<title>merge revision(s) 49041: [Backport #10659]</title>
<updated>2014-12-31T06:27:12+00:00</updated>
<author>
<name>naruse</name>
<email>naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2014-12-31T06:27:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=c7cb212820f05695259fd0986a288c4f0ea57a55'/>
<id>c7cb212820f05695259fd0986a288c4f0ea57a55</id>
<content type='text'>
	* parse.y (f_kwrest, new_args_tail_gen): unnamed rest keyword and
	  keywords bits arguments should be unique.  since internal IDs
	  depend on the local variable index in the current scope, new ID
	  should be made before popping those vtables.
	  [ruby-core:67157] [Bug #10659]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_2@49081 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	* parse.y (f_kwrest, new_args_tail_gen): unnamed rest keyword and
	  keywords bits arguments should be unique.  since internal IDs
	  depend on the local variable index in the current scope, new ID
	  should be made before popping those vtables.
	  [ruby-core:67157] [Bug #10659]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_2@49081 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
<entry>
<title>* vm_args.c: fix backtrace location for keyword related exceptions.</title>
<updated>2014-11-27T10:15:47+00:00</updated>
<author>
<name>ko1</name>
<email>ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2014-11-27T10:15:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=6115f65d7dd29561710c3e84bb27180e5bab4380'/>
<id>6115f65d7dd29561710c3e84bb27180e5bab4380</id>
<content type='text'>
  For example, the following program
    def foo(k1: 1); end # line 1
            foo(k2: 2)          # line 2
  causes "unknown keyword: k2 (ArgumentError)".
  Before this patch, the backtrace location is only line 2.
  However, error should be located at line 1 (over line 2 in
  stack trace). This patch fix this problem.
* class.c (rb_keyword_error_new): separate exception creation logic
  from rb_keyword_error(), to use in vm_args.c.
* vm_insnhelper.c (rb_arg_error_new): rename to rb_arity_error_new().
* vm_args.c (argument_arity_error): rename to argument_arity_error().
* vm_args.c (arugment_kw_error): added to fix backtrace.
* test/ruby/test_keyword.rb: add tests.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48608 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
  For example, the following program
    def foo(k1: 1); end # line 1
            foo(k2: 2)          # line 2
  causes "unknown keyword: k2 (ArgumentError)".
  Before this patch, the backtrace location is only line 2.
  However, error should be located at line 1 (over line 2 in
  stack trace). This patch fix this problem.
* class.c (rb_keyword_error_new): separate exception creation logic
  from rb_keyword_error(), to use in vm_args.c.
* vm_insnhelper.c (rb_arg_error_new): rename to rb_arity_error_new().
* vm_args.c (argument_arity_error): rename to argument_arity_error().
* vm_args.c (arugment_kw_error): added to fix backtrace.
* test/ruby/test_keyword.rb: add tests.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48608 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
<entry>
<title>* test/lib/envutil.rb: Moved from test/ruby/.</title>
<updated>2014-11-13T16:05:37+00:00</updated>
<author>
<name>akr</name>
<email>akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2014-11-13T16:05:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=fb2008a73a46066481b77f53c62de8630a153efe'/>
<id>fb2008a73a46066481b77f53c62de8630a153efe</id>
<content type='text'>
* test/lib/find_executable.rb: Ditto.

* test/lib/memory_status.rb: Ditto.

* test/lib/test/unit.rb: require envutil.

* test/: Don't require envutil in test files.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48409 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* test/lib/find_executable.rb: Ditto.

* test/lib/memory_status.rb: Ditto.

* test/lib/test/unit.rb: require envutil.

* test/: Don't require envutil in test files.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48409 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
<entry>
<title>class.c: delete expected keywords directly</title>
<updated>2014-10-22T18:41:54+00:00</updated>
<author>
<name>nobu</name>
<email>nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2014-10-22T18:41:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=67121b506099a96c103cf67611c1ca53fb47292b'/>
<id>67121b506099a96c103cf67611c1ca53fb47292b</id>
<content type='text'>
* class.c (unknown_keyword_error): delete expected keywords
  directly from raw table, so that the given block is not called.
  [ruby-core:65837] [Bug #10413]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48102 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* class.c (unknown_keyword_error): delete expected keywords
  directly from raw table, so that the given block is not called.
  [ruby-core:65837] [Bug #10413]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48102 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
<entry>
<title>parse.y: label cannot be followed by a modifier</title>
<updated>2014-09-23T13:00:27+00:00</updated>
<author>
<name>nobu</name>
<email>nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2014-09-23T13:00:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=08248c937caff193c277e8d3806f5c414dd2d2bf'/>
<id>08248c937caff193c277e8d3806f5c414dd2d2bf</id>
<content type='text'>
* parse.y (parse_ident): just after a label, new expression should
  start, cannot be a modifier.  [ruby-core:65211] [Bug #10279]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47696 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* parse.y (parse_ident): just after a label, new expression should
  start, cannot be a modifier.  [ruby-core:65211] [Bug #10279]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47696 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
<entry>
<title>compile.c: store IDs as Symbols</title>
<updated>2014-09-20T01:23:02+00:00</updated>
<author>
<name>nobu</name>
<email>nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2014-09-20T01:23:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=7190c04417a52c29d1dcf6b2f04bb55b30cbfd9f'/>
<id>7190c04417a52c29d1dcf6b2f04bb55b30cbfd9f</id>
<content type='text'>
* compile.c (iseq_set_arguments): store local variable IDs in
  temporary list as Symbols.  previously these are stored as
  Fixnums to prevent from GC, but IDs of dynamic symbols can
  exceed Fixnum range and cause RangeError at inverting from
  Fixnum.  [ruby-dev:48564] [Bug #10266]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47648 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* compile.c (iseq_set_arguments): store local variable IDs in
  temporary list as Symbols.  previously these are stored as
  Fixnums to prevent from GC, but IDs of dynamic symbols can
  exceed Fixnum range and cause RangeError at inverting from
  Fixnum.  [ruby-dev:48564] [Bug #10266]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47648 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
<entry>
<title>vm_insnhelper.c: fix implicit splat keyword argument</title>
<updated>2014-07-10T06:02:54+00:00</updated>
<author>
<name>nobu</name>
<email>nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2014-07-10T06:02:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=813ad48975420867ccd1919972ba138f13c6f6e5'/>
<id>813ad48975420867ccd1919972ba138f13c6f6e5</id>
<content type='text'>
* vm_insnhelper.c (vm_callee_setup_keyword_arg): adjust VM stack
  pointer to get rid of overwriting splat arguments by arguments
  for `to_hash` conversion.  [ruby-core:63593] [Bug #10016]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46775 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* vm_insnhelper.c (vm_callee_setup_keyword_arg): adjust VM stack
  pointer to get rid of overwriting splat arguments by arguments
  for `to_hash` conversion.  [ruby-core:63593] [Bug #10016]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46775 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
</feed>
