GNU bug report logs - #19177
25.0.50; pretty printer

Previous Next

Package: emacs;

Reported by: Leo Liu <sdl.web <at> gmail.com>

Date: Tue, 25 Nov 2014 11:05:01 UTC

Severity: minor

Tags: wontfix

Found in version 25.0.50

Done: Lars Ingebrigtsen <larsi <at> gnus.org>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 19177 in the body.
You can then email your comments to 19177 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-gnu-emacs <at> gnu.org:
bug#19177; Package emacs. (Tue, 25 Nov 2014 11:05:01 GMT) Full text and rfc822 format available.

Acknowledgement sent to Leo Liu <sdl.web <at> gmail.com>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Tue, 25 Nov 2014 11:05:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Leo Liu <sdl.web <at> gmail.com>
To: bug-gnu-emacs <at> gnu.org
Subject: 25.0.50; pretty printer
Date: Tue, 25 Nov 2014 19:04:03 +0800
The very limited pp.el can easily print hundreds of lines for what can
be beautifully put into dozens of lines. This makes the pp'd text hard
to read.

In the following example, pp would print nearly 300 lines while SBCL's
pprint only prints 50ish lines:

([1 ((env nil) (bound nil) (free nil)) ]
 (([1 ((env nil) (bound nil) (free nil)) ]))
 (([1 ((env nil) (bound (f tree)) (free nil)) ]
   (([1 ((env nil) (bound (f)) (free nil)) ])
    ([1 ((env nil) (bound (tree)) (free nil)) ]))
   (([2 ((env (f tree)) (bound nil) (free (f tree))) ]
     (([2 ((env (f tree)) (bound nil) (free (tree))) ]
       (([2 ((env (f tree)) (bound nil) (free nil)) ]
         (([2 ((env (f tree)) (bound nil) (free nil)) ]))
         (([2 ((env (f tree)) (bound nil) (free nil)) ]))))
       (([2 ((env (f tree)) (bound nil) (free (tree))) ]))))
     (([3 ((env (f tree)) (bound nil) (free (f tree))) ]
       (([3 ((env (f tree)) (bound nil) (free nil)) ]))
       (([4 ((env (f tree)) (bound nil) (free (f tree))) ]
         (([4 ((env (f tree)) (bound nil) (free (f))) ]))
         (([4 ((env (f tree)) (bound nil) (free (tree))) ])))))
      ([5 ((env (f tree)) (bound (gs tree1)) (free (f tree))) ]
       (([5 ((env (f tree)) (bound (gs)) (free nil)) ]))
       (([6 ((env (f gs tree)) (bound (tree1)) (free (f gs tree))) ]
         (([6 ((env (f gs tree)) (bound (tree1)) (free nil)) ]))
         (([6 ((env (f gs tree)) (bound nil) (free (f gs tree))) ]
           (([6 ((env (f gs tree)) (bound nil) (free nil)) ]
             (([6 ((env (f gs tree)) (bound nil) (free nil)) ]))
             (([6 ((env (f gs tree)) (bound nil) (free nil)) ]))))
           (([6 ((env (f gs tree)) (bound nil) (free (tree))) ]
             (([6 ((env (f gs tree)) (bound nil) (free nil)) ]
               (([6 ((env (f gs tree)) (bound nil) (free nil)) ]))
               (([6 ((env (f gs tree)) (bound nil) (free nil)) ]))))
             (([6 ((env (f gs tree)) (bound nil) (free (tree))) ])))
            ([7 ((env (f gs tree)) (bound nil) (free (f gs))) ]
             (([7 ((env (f g gs tree)) (bound nil) (free (f g))) ]
               (([7 ((env (f g gs t tree)) (bound nil) (free (f t))) ]
                 (([7 ((env (f g gs t tree)) (bound nil) (free nil)) ]))
                 (([7 ((env (f g gs t tree)) (bound nil) (free (f))) ])
                  ([7 ((env (f g gs t tree)) (bound nil) (free (t))) ]))))
               (([7 ((env (f g gs tree)) (bound (t)) (free (g))) ]
                 (([7 ((env nil) (bound (t)) (free nil)) ]))
                 (([7 ((env (f g gs tree)) (bound nil) (free (g))) ]))))))
             (([8 ((env (f gs tree)) (bound (g)) (free (gs))) ]
               (([8 ((env nil) (bound (g)) (free nil)) ]))
               (([8 ((env (f gs tree)) (bound nil) (free (gs))) ])))))))))
        ([9 ((env (f gs tree tree1)) (bound nil) (free (f tree tree1))) ]
         (([9 ((env (f gs tree tree1)) (bound nil) (free (f))) ]))
         (([9 ((env (f gs tree tree1)) (bound nil) (free (tree tree1))) ]
           (([9 ((env (f gs tree tree1)) (bound nil) (free nil)) ]
             (([9 ((env (f gs tree tree1)) (bound nil) (free nil)) ]))
             (([9 ((env (f gs tree tree1)) (bound nil) (free nil)) ]))))
           (([9 ((env (f gs tree tree1)) (bound nil) (free (tree))) ])
            ([9 ((env (f gs tree tree1)) (bound nil) (free (tree1)))
             ])))))))))))))




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#19177; Package emacs. (Sat, 03 Aug 2019 14:15:02 GMT) Full text and rfc822 format available.

Message #8 received at 19177 <at> debbugs.gnu.org (full text, mbox):

From: Lars Ingebrigtsen <larsi <at> gnus.org>
To: Leo Liu <sdl.web <at> gmail.com>
Cc: 19177 <at> debbugs.gnu.org
Subject: Re: bug#19177: 25.0.50; pretty printer
Date: Sat, 03 Aug 2019 16:14:07 +0200
Leo Liu <sdl.web <at> gmail.com> writes:

> The very limited pp.el can easily print hundreds of lines for what can
> be beautifully put into dozens of lines. This makes the pp'd text hard
> to read.
>
> In the following example, pp would print nearly 300 lines while SBCL's
> pprint only prints 50ish lines:
>
> ([1 ((env nil) (bound nil) (free nil)) ]
>  (([1 ((env nil) (bound nil) (free nil)) ]))
>  (([1 ((env nil) (bound (f tree)) (free nil)) ]

[...]

>            (([9 ((env (f gs tree tree1)) (bound nil) (free (tree))) ])
>             ([9 ((env (f gs tree tree1)) (bound nil) (free (tree1)))
>              ])))))))))))))

(I'm going through old bug reports that unfortunately have not received
any responses yet.)

I see that SBCL's pretty-printer has its oddities, too -- the space
before the "]" and a newline at one point...

Anyway, `pp' prints arrays in pretty much the same way it prints lists,
and I think this makes sense, and it pretty readable.  (If a bit
verbose.)  So I'm closing this bug report as a "wontfix".

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no




Added tag(s) wontfix. Request was from Lars Ingebrigtsen <larsi <at> gnus.org> to control <at> debbugs.gnu.org. (Sat, 03 Aug 2019 14:15:02 GMT) Full text and rfc822 format available.

bug closed, send any further explanations to 19177 <at> debbugs.gnu.org and Leo Liu <sdl.web <at> gmail.com> Request was from Lars Ingebrigtsen <larsi <at> gnus.org> to control <at> debbugs.gnu.org. (Fri, 23 Aug 2019 05:33:01 GMT) Full text and rfc822 format available.

bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Fri, 20 Sep 2019 11:24:10 GMT) Full text and rfc822 format available.

This bug report was last modified 4 years and 213 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.