Skip to content

Macro definition affects non-pretty printing #554

Description

@melisgl
CL-USER> (let ((*print-pretty* t)
               (*print-right-margin* most-positive-fixnum)
               (*print-miser-width* nil))
           (prin1 '(mmm xxxxxxxxxxx yyyyyyyyyyy "a
b"))
           (values))
(MMM XXXXXXXXXXX YYYYYYYYYYY "a
b")
; No value
CL-USER> (defmacro mmm ())
MMM
CL-USER> (let ((*print-pretty* t)
               (*print-right-margin* most-positive-fixnum)
               (*print-miser-width* nil))
           (prin1 '(mmm xxxxxxxxxxx yyyyyyyyyyy "a
b"))
           (values))
(MMM XXXXXXXXXXX
     YYYYYYYYYYY
     "a
b")
; No value

I expect no newline after the X* and Y* symbols.

Note that if the string doesn't have a newline in it, this doesn't happen:

CL-USER> (let ((*print-pretty* t)
               (*print-right-margin* most-positive-fixnum)
               (*print-miser-width* nil))
           (prin1 '(mmm xxxxxxxxxxx yyyyyyyyyyy "a b"))
           (values))
(MMM XXXXXXXXXXX YYYYYYYYYYY "a b")
; No value

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions