Disassembly of long lambda-lists not line-wrapped correctly
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
| SBCL |
Undecided
|
Unassigned |
Bug Description
(let ((*print-
; disassembly for (LAMBDA
; Size: 29 bytes. Origin: #x228ED9B5 ; (LAMBDA
; B5: 498B4510 MOV RAX, [R13+16] ; thread.
; B9: 488945E8 MOV [RBP-24], RAX
; BD: 488BE5 MOV RSP, RBP
; C0: F8 CLC
; C1: 5D POP RBP
; C2: C3 RET
; C3: CC10 INT3 16 ; Invalid argument count trap
; C5: 4C29DF SUB RDI, R11
; C8: 57 PUSH RDI
; C9: FF14255000A021 CALL QWORD PTR [#x21A00050] ; CONS->R11
; D0: EBB1 JMP #x228ED983 ; #<FUNCTION (LAMBDA
No ; for each line
Michał "phoe" Herda (phoe-krk) wrote : | #2 |
This is likely a question of printing the LAMBDA in a way where it spans multiple lines, but only the first one is commented out.
; Size: 53 bytes. Origin: #x522B37F8 ; (LAMBDA
Just to make sure there weren't any misunderstandings in case my report wasn't clear enough (it probably wasn't): I'm bringing up the fact that the lines
Are not commented in the output unlike the rest of the disassemble output
It's certainly not standard violating, but I noticed it from a buffer configured to syntax highlight as CL and noticed those lines as not being comments.
If that's fine, all good.
Thanks!
Stas Boukarev (stassats) wrote : | #4 |
Ok, the generic function part was the obscuring part. I'll rewrite the ticket.
Changed in sbcl: | |
status: | Invalid → Confirmed |
summary: |
- Disassembly of generic functions not comment lambda list + Disassembly of long lambda-lists not line-wrapped correctly |
description: | updated |
Thank you!
I neglected to test anonymous functions with long lambda lists. Sorry about that
doing
(disassemble (lambda (&rest args) (declare (ignore args))))
Yields an equivalent multi-line output.
That's how generic functions are implemented.