all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Cameron Desautels <camdez@gmail.com>
To: Dmitry Gutov <dgutov@yandex.ru>
Cc: 16078@debbugs.gnu.org
Subject: bug#16078: Extensive docs and tests for `ruby-forward-string' (PATCH)
Date: Sat, 7 Dec 2013 20:29:15 -0600	[thread overview]
Message-ID: <CALtQdc=H_XO1eH1EmgwyLzv1Ob1oocNph9QD5cufWo33q6SRbQ@mail.gmail.com> (raw)
In-Reply-To: <8761r1wdio.fsf@yandex.ru>

Hi Dmitry,

Thank you for explaining the recent changes.  I did see a lot of
duplicated parsing code and wasn't completely sure what the reason for
it was.  I read up a bit on SMIE so that makes sense now.

However, I've done additional testing on the current trunk and the
issue persists.

As a minimal example to recreate the issue, create a new file with the
following contents (indentation removed):

    def foo
      %^bar^
    end

Turn on ruby-mode, and run `imenu-add-menubar-index'.  You will get
the following error:

    Error in menu-bar-update-hook (imenu-update-menubar):
(invalid-regexp "Unmatched [ or [^")

(Note that if you run it again it will appear to work--run `imenu' to
see the error again.)  This stems from the bug in
`ruby-forward-string' that my patch fixes.

I have not signed the copyright assignment papers but I am willing.

Thanks.
--
Cameron Desautels <camdez@gmail.com>


On Fri, Dec 6, 2013 at 9:22 PM, Dmitry Gutov <dgutov@yandex.ru> wrote:
> Hi Cameron,
>
> Cameron Desautels <camdez@gmail.com> writes:
>
>> The attached patch adds extensive documentation and tests to the
>> `ruby-forward-string' function.
>>
>> This may seem an odd function to document thoroughly, but I spent
>> quite a while wrapping my head around the exact behavior and I want to
>> spare the next person.  It also underlies some important parsing
>> functionality in ruby-mode.
>
> Thank you for your effort, but it probably would've been more valuable a
> few months ago or earlier.  The ruby-mode that will be released with
> Emacs 24.4 has switched to using SMIE for indentation and sexp
> navigation by default, and it leaves quite a bit of the old,
> undocumented code unused.
>
> Whatever code examples and functionality didn't work for you, have you
> tried them with the current trunk?
>
> We can still use the two patches, of course, since the old indentation
> engine can still be enabled with `(setq ruby-use-smie nil)', but they
> exceed the 15 line limit and will require copyright assignment (AFAIR,
> we do require those even for test code).  Have you signed, or are you
> willing to sign the copyright assignment papers?





  reply	other threads:[~2013-12-08  2:29 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-12-06 17:15 bug#16078: Extensive docs and tests for `ruby-forward-string' (PATCH) Cameron Desautels
2013-12-07  3:22 ` Dmitry Gutov
2013-12-08  2:29   ` Cameron Desautels [this message]
2013-12-09  4:07     ` Dmitry Gutov
2013-12-11 22:48       ` Cameron Desautels
2013-12-15  3:36         ` Dmitry Gutov
2015-11-15 14:55           ` Dmitry Gutov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CALtQdc=H_XO1eH1EmgwyLzv1Ob1oocNph9QD5cufWo33q6SRbQ@mail.gmail.com' \
    --to=camdez@gmail.com \
    --cc=16078@debbugs.gnu.org \
    --cc=dgutov@yandex.ru \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.