bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#65344: 28.2; Unable to Edebug cl-flet form which uses argument destr


From: Eli Zaretskii
Subject: bug#65344: 28.2; Unable to Edebug cl-flet form which uses argument destructuring
Date: Thu, 17 Aug 2023 18:56:29 +0300

> Cc: 65344@debbugs.gnu.org
> From: Brandon Irizarry <brandon.irizarry@gmail.com>
> Date: Thu, 17 Aug 2023 11:42:06 -0400
> 
> Destructured lambda-lists appear to be an Elisp extension to Common Lisp's 
> argument notation,
> and the Emacs docs do mention them (though not in the Elisp manual; rather, 
> it's in the CL-Lib
> manual).
> They even mention your point about such a lambda-list not being valid Common 
> Lisp.
> 
> From the CL-Lib manual, 4.3.2 (Function Bindings):
> 
>      Functions defined by ‘cl-flet’ may use the full Common Lisp
>      argument notation supported by ‘cl-defun’; also, the function body
>      is enclosed in an implicit block as if by ‘cl-defun’.  *Note
>      Program Structure::.
> 
> Following the reference to Chapter 2, and heading into 2.1 (Argument Lists): 
> 
>    Argument lists support “destructuring”.  In Common Lisp,
> destructuring is only allowed with ‘defmacro’; this package allows it
> with ‘cl-defun’ and other argument lists as well. 

You may be right, but please don't rely on the documentation as if it
were a Gospel, or assume that it tells you all the truth and nothing
but the truth.  Our documentation sometimes omits stuff and other
times could allow interpretation that is factually incorrect.  IOW,
not everything the documentation says must be so, and not everything
it doesn't say doesn't exist or is false.

So when Gerd says he is not sure such lambda-lists are valid, I
suggest to trust Gerd more than you trust the docs.  The truth is, of
course, in the code, so if you find in the code evidence that such
forms are supported, that's a definitive conclusion.





reply via email to

[Prev in Thread] Current Thread [Next in Thread]