Subject: Re: bug#68664: 29.1.50; treesit defun commands broken with nested functions

From: Eli Zaretskii <[email-masked]>
Date: Sun, 28 Jan 2024 08:53:38 +0200

> From: Yuan Fu <[email-masked]>
> Date: Sat, 27 Jan 2024 20:03:30 -0800
> Cc: Troy Brown <[email-masked]>,
>  [email-masked],
>  [email-masked]
> 
> > Maybe we could support both behaviors via specially-valued prefix
> > arguments?  Like "C-u" means something, "C-u C-u" means something
> > else, etc.?
> 
> Beginning/end-of-defun already take a numerical interactive arg, unless I missed something we can’t add another. If we want to change behavior interactively we would need something more elaborate, maybe transient maps.
> 
> > 
> >> As for mark-defun, I think it’s similarly equally valid to either mark the next sibling or the parent. Right now mark-defun doesn’t really have a notion of nested defun, we should upgrade it to support nested defun like we did beginning/end-of-defun, either by a toggle like mark-defun-tactic or let user control which defun to mark interactively.
> > 
> > Same here.
> > 
> > WDYT?
> 
> Same for mark-defun, it also has an interactive arg already.
> 
> I feel like I missed something, surely you know they already have interactive args :-)

"C-u" and "C-u 4" are not the same, and can be distinguished by the
function's body, right?