Subject: Re: bug#42841: 28.0.50; [ruby-mode] ruby-{beginning,end}-of-block doesn't work as is exepected if arguments of method is divided into multi line
From: Dmitry Gutov <[email-masked]>
To: Yasuhiro KIMURA <[email-masked]>
Cc: [email-masked]
Date: Sat, 22 Aug 2020 16:30:04 +0300
List-Id: <debbugs-submit.debbugs.gnu.org>

Version: 28.1

On 22.08.2020 05:17, Yasuhiro KIMURA wrote:
> From: Dmitry Gutov <[email-masked]>
> Subject: Re: bug#42841: 28.0.50; [ruby-mode] ruby-{beginning,end}-of-block doesn't work as is exepected if arguments of method is divided into multi line
> Date: Sat, 22 Aug 2020 03:26:15 +0300
> 
>> I can't seem to reproduce this. Even after some intensive testing.
>>
>>> Wrong type argument: number-or-marker-p, nil
>>
>> Could you perhaps provide a backtrace?
>>
>> Type M-x toggle-debug-on-error, then trigger the error again.
> 
> I started emacs with '-Q' option and got following backtrace.
> 
> Debugger entered--Lisp error: (wrong-type-argument number-or-marker-p nil)
>    ruby-move-to-block(1)
>    ruby-end-of-block(1)
>    funcall-interactively(ruby-end-of-block 1)
>    call-interactively(ruby-end-of-block nil nil)
>    command-execute(ruby-end-of-block)

Oh, okay, I see it now. Couldn't reproduce it before because my config 
contains this line:

   (setq ruby-deep-indent-paren (delete ?\( ruby-deep-indent-paren))

Which logically shouldn't have any effect because we're not doing any 
indentation, but unfortunately does.

So I'm going to go ahead and try to fix it by removing the offending 
code. From some moderate testing, this doesn't seem to have any actual 
effect on indentation (the non-SMIE variant), and fixes the error. Let's 
see whether we get any breakage reports later.

Commit 2725254ab5.