GNU bug report logs - #7524
Customize should wrap long lines and pretty print sexp values

Previous Next

Package: emacs;

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

Date: Wed, 1 Dec 2010 06:07:01 UTC

Severity: wishlist

Tags: fixed, patch

Found in version 24.0.50

Fixed in version 28.1

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

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Stefan Monnier <monnier <at> iro.umontreal.ca>
To: "Drew Adams" <drew.adams <at> oracle.com>
Cc: 7524 <at> debbugs.gnu.org
Subject: bug#7524: 24.0.50; backquote converts newlines in strings to "\n"
Date: Wed, 01 Dec 2010 11:04:19 -0500
> Evaluate this:
> `("Foo" . (lambda ()
>             "Four score and seven years ago
> Our forefathers brought forth etc.
> Etc., etc., etc."
>             (message "HOWDY")))
 
> That doc string is a literal string with two embedded newline chars.
> Evaluation converts each of those chars to a string of two chars: "\n":
 
> ("Foo" lambda nil "Four score and seven years ago\nOur forefathers brought forth
> etc.\nEtc., etc., etc."
>  (message "Howdy"))
 
It's got nothing to do with backquote.  It's just that

    "foo
    bar"

is just another way to write "foo\nbar": the Elisp reader will return
the exact same string in both cases.  So the Elisp printer can't know
which one was used originally and has to choose arbitrarily which form
to output.

> Shouldn't happen.

Unavoidable.  Tho you do get to choose somewhat the print format by
choosing between prin1 and princ (aka %s and %S in format).

> (This is particularly messy when used in defcustom values.)

I don't know what you're referring to.  I'll keep the bug open for now,
assuming that the defcustom issue will be the actual bug.


        Stefan




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

Previous Next


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