all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: "Drew Adams" <drew.adams@oracle.com>
To: "'martin rudalics'" <rudalics@gmx.at>
Cc: 'Chong Yidong' <cyd@stupidchicken.com>,
	'Stefan Monnier' <monnier@iro.umontreal.ca>,
	emacs-devel@gnu.org
Subject: RE: Pretest begins end-June
Date: Wed, 1 Jun 2011 10:10:08 -0700	[thread overview]
Message-ID: <0683A4086BE145C282DF052109336390@us.oracle.com> (raw)
In-Reply-To: <4DE661B2.20609@gmx.at>

> > Being able to determine/regulate the behavior with a dynamic 
> > binding is an important feature.  This change would apparently
> > remove/limit that possibility.
> 
> Unfortunately not.  But it's an attempt to discourage that possibility
> by providing a suitable alternative - passing an explicit argument.

You said that binding the var would no longer work.
That is a removal/limit of that possibility.

And you do not provide a suitable alternative.  You are missing/ignoring the
general case, where the code that does the display is not necessarily available
to modify textually.

Your "suitable alternative" is workable only in the minority of cases where the
call to `pop-to-buffer' is directly available and can be edited.  You propose
source-code editing as a replacement for the programmatic control of dynamic
binding.

> IMHO an application may request (or better "suggest") 
> specific behavior and set private variables.  

Your example substitute code does not "request" or "suggest" how to display,
IIUC.  It imposes how to display, the same as the code it would replace.

Or if not, then it is not at all a suitable alternative and we are not even
talking apples and oranges but rather apples and orangutans.

> But it should not change or rebind any user option.

Obviously I disagree.  You're apparently OK with an application deciding whether
to pop up a frame, but not OK with doing that by binding a dynamic variable,
because in this case the var is a user option.

That's hypocritical and silly.  If an application controls the display, then it
has taken control for that away from the user, regardless of how it does so.

Bypassing `pop-up-frames' to do that is no more respectful of the user's general
preference as expressed by that var than is binding the var.  What is important
are the resulting behavior and the user's preferences.

Sometimes an application can be right to decide how something is displayed, in
spite of a user's general preference.  Developers need to DTRT, thinking about
the user and her preferences to decide what TRT is in any given context.
Respecting users does not necessarily mean blindly applying their general
preferences in all contexts.

If your code violates a user's general preference as defined by her
`pop-up-frames' value, it is irrelevant how that violation was implemented.

And this is more general than a question about user options.  It is about
dynamic variables in general.  Removing the ability to bind a dynamic var in
order to control behavior in code that is not directly modifiable is limiting
and, frankly, unlispy.  (No flames about lexical-only Lisps, please.)




  reply	other threads:[~2011-06-01 17:10 UTC|newest]

Thread overview: 52+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-05-30 16:07 Pretest begins end-June Chong Yidong
2011-05-30 18:29 ` Eli Zaretskii
2011-05-30 19:20   ` Stefan Monnier
2011-05-30 21:12     ` Eli Zaretskii
2011-05-30 22:31       ` Stefan Monnier
2011-05-31  6:11         ` Eli Zaretskii
2011-05-31 12:54           ` Stefan Monnier
2011-05-31 18:05             ` Chong Yidong
2011-05-31  7:50       ` David Kastrup
2011-05-31  9:03         ` Eli Zaretskii
2011-05-31  9:11           ` David Kastrup
2011-05-31  9:59             ` Eli Zaretskii
2011-06-04  7:47       ` Eli Zaretskii
2011-06-04 12:55         ` Stefan Monnier
2011-05-31  5:23     ` Kenichi Handa
2011-05-31  7:44     ` David Kastrup
2011-06-01  9:15 ` martin rudalics
2011-06-01 12:46   ` Stefan Monnier
2011-06-01 14:07     ` martin rudalics
2011-06-01 14:41       ` Stefan Monnier
2011-06-01 15:25         ` Drew Adams
2011-06-01 15:58           ` martin rudalics
2011-06-01 17:10             ` Drew Adams [this message]
2011-06-01 18:13               ` Stefan Monnier
2011-06-01 19:08               ` martin rudalics
2011-06-01 15:58         ` martin rudalics
2011-06-01 16:45           ` Stefan Monnier
2011-06-01 19:07             ` martin rudalics
2011-06-01 19:43               ` Stefan Monnier
2011-06-02  8:28                 ` martin rudalics
2011-06-01 15:21       ` Drew Adams
2011-06-02  8:27         ` martin rudalics
2011-06-11 18:53   ` window-safely-shrinkable-p [was Re: Pretest begins end-June] Glenn Morris
2011-06-11 20:44     ` martin rudalics
2011-06-11 22:18       ` window-safely-shrinkable-p Glenn Morris
2011-06-12  8:45         ` window-safely-shrinkable-p martin rudalics
2011-06-12  3:29       ` window-safely-shrinkable-p [was Re: Pretest begins end-June] Stefan Monnier
2011-06-12  8:45         ` martin rudalics
2011-06-14  3:01           ` Stefan Monnier
2011-06-08  3:31 ` 23.4 " Glenn Morris
2011-06-08 15:35   ` Stefan Monnier
2011-06-08 19:21     ` Daniel Colascione
2011-06-09  4:15       ` Stefan Monnier
2011-06-13 16:29 ` Pretest begins end-June Dan Nicolaescu
2011-06-13 17:19   ` Eli Zaretskii
2011-06-13 21:37   ` Chong Yidong
2011-06-14  2:58   ` Stefan Monnier
2011-06-15 14:58     ` deriving from prog-mode (was: Re: Pretest begins end-June) Dan Nicolaescu
2011-06-18 16:26       ` deriving from prog-mode Chong Yidong
2011-06-19  5:59         ` Dan Nicolaescu
2011-06-20  1:48           ` Stefan Monnier
2011-06-26 20:45             ` Chong Yidong

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=0683A4086BE145C282DF052109336390@us.oracle.com \
    --to=drew.adams@oracle.com \
    --cc=cyd@stupidchicken.com \
    --cc=emacs-devel@gnu.org \
    --cc=monnier@iro.umontreal.ca \
    --cc=rudalics@gmx.at \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.