Subject: bug#28747: 26.0.60; Usage of "&rest body" in Edebug specs

From: Noam Postavsky <[email-masked]>
Date: Thu, 12 Oct 2017 20:54:22 -0400

Gemini Lasswell <[email-masked]> writes:

> The symbol &rest in an Edebug spec has a different meaning than it has
> in an argument list. In particular, "&rest body" in an Edebug spec is
> erroneous usage because it is asking Edebug to match something that
> can match nothing (body) as many times as it can, which makes an
> infinite loop.

> Here are the macros I've found that have this incorrect usage of &rest
> in their Edebug specs:
>
> crm--completion-command
> easy-mmode-define-navigation
> inline--letlisteval
> inline--leteval
> ses--letref

> Does anyone have thoughts on the idea of adding &repeat as a synonym
> for &rest in Edebug specs, with the goal of moving &rest towards
> obsolescence eventually?

Makes sense to me, edebug specs can get pretty complicated.  Anything
which makes silly errors less likely is a win.

I wonder if would be worth trying to catch '&rest body' specs earlier
(ideally at compile time)?