emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: with-standard-io-syntax


From: Sam Steingold
Subject: Re: with-standard-io-syntax
Date: Wed, 22 Aug 2012 14:30:23 -0400
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.2.50 (gnu/linux)

> * Stefan Monnier <address@hidden> [2012-08-22 13:48:43 -0400]:
>
>> The introduction of print-length and print-level requires the CL-like
>> macro with-standard-io-syntax which would bind these (and all the future
>> variables which break read-back consistency) to nil.
>> Right now, (rgrep "print-length nil" "*.el" "~/src/emacs/trunk/" nil)
>> produces two dozen places where print-length is bound to nil and a quick
>> examination shows that the set of variable which need to be bound to nil
>> for print-read consistency is not uniformly understood.
>> I already have been bitten by this, and I think others will be sooner
>> rather than later.
>
> We could/should probably ignore print-length when print-circle is
> non-nil.

This is orthogonal (we can also introduce an all-encompassing
print-readably, but the issue will remain).

There are many variables affecting printing (and more might be added in
the future), and we need a macro which binds them in a way which ensures
read/write consistency, so that package developers do not have to update
their code every time a new variable is introduced.
(http://www.lispworks.com/documentation/HyperSpec/Body/m_w_std_.htm)

The mantra "don't touch these variables and you will be fine" does not
work because some packages (e.g., gnus) bind these vars temporarily and
then the callbacks from them (e.g., bbdb) are screwed wrt read/write
consistency.

-- 
Sam Steingold (http://sds.podval.org/) on Ubuntu 12.04 (precise) X 11.0.11103000
http://www.childpsy.net/ http://ffii.org http://truepeace.org
http://www.memritv.org http://palestinefacts.org http://jihadwatch.org
Our business is run on trust.  We trust you will pay in advance.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]