GNU bug report logs - #10723
24.0.93; bad pp formatting for `C-h v' with list value

Previous Next

Package: emacs;

Reported by: "Drew Adams" <drew.adams <at> oracle.com>

Date: Sat, 4 Feb 2012 17:41:02 UTC

Severity: minor

Tags: confirmed, fixed

Merged with 9342

Found in versions 24.0.50, 24.0.93

Fixed in version 26.1

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

Bug is archived. No further changes may be made.

Full log


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

From: Lars Ingebrigtsen <larsi <at> gnus.org>
To: "Drew Adams" <drew.adams <at> oracle.com>
Cc: 10723 <at> debbugs.gnu.org
Subject: Re: bug#10723: 24.0.93; bad pp formatting for `C-h v' with list value
Date: Thu, 28 Apr 2016 15:13:22 +0200
Man, the logic in that function is weird.

Here's some of the outputs:

lala’s value is
(ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo)

Fine.

lala’s value is (ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo
 (oo))

Er.

lala’s value is (oo (oo))

Fine, I guess...

lala’s value is (zot
 (bar)
 (foo)
 (zot)
 (fooooooooooooooo0000000000))

Which was your original complaint.

----
lala’s value is shown below.

Documentation:
Not documented as a variable.

Value: (zot
 (bar)
 (foo)
 (zot)
 (bar)
 (foo)
 (zot)
 (bar)
 (foo)
 (zot)
 (bar)
 (foo)
 (zot)
 (fooooooooooooooo0000000000))
----

So when it's very long it moves to a totally different format with a
"below" clause.

The uncommented "logic" here is this, mostly: 

		  (if (< (+ (length print-rep) (point) (- line-beg)) 68)
		      (insert print-rep)
		    (terpri)
		    (pp val)
		    (if (< (point) (+ 68 (line-beginning-position 0)))
			(delete-region from (1+ from))
		      (delete-region (1- from) from)))

Which means "if the final line of the pp'd expression is shorter than 68
characters, then delete the newline after 'value ', otherwise delete the
trailing space".

I think that's a slight thinko.  I'm changing it to "if the pp'd
expression is more than one line, then etc".

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





This bug report was last modified 8 years and 175 days ago.

Previous Next


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