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: 8856@debbugs.gnu.org
Subject: bug#8856: 24.0.50; regression: special-display-frame is no longer dedicated
Date: Tue, 21 Jun 2011 11:10:58 -0700	[thread overview]
Message-ID: <7AF0B637CAE14034973FBCC658AFEBD9@us.oracle.com> (raw)
In-Reply-To: <4E00C54C.5080108@gmx.at>

>  > Please run Emacs this way for testing this, so we're on 
>  > the same page.
> 
> I know what the bug is now.  The old code ran some very complicated
> raise-frame mechanism but did _not_ select the window if it already
> existed on another frame.  That's what I changed in the new 
> code to make it uniform with the pop-up-a-new-frame behavior.  
> Apparently that was a bad idea.  I now (hopefully) reverted the
> old behavior.
> 
> Attached find the latest window.el.  It only works with the latest two
> versions uploaded by Sean.  If you get any warnings or bugs 
> when loading or compiling it please tell me.

I'll give it a try and let you knonw.  Thanks for struggling with all of this,
and for trying to improve the handling of windows and frames - a daunting task,
no doubt.

> Also, `display-buffer-alist' will unlikely work with your code
> yet.  So you need to trigger 1on1 using the old options.

I'm not sure what you mean, in particular by the last sentence.  Are you
referring to how command `1on1-emacs' is invoked or to something else?

I assume that I would at least need to replace the assignment, in `1on1-emacs',
of `pop-up-frames' to `t' by something else, presumably something involving
`display-buffer-alist'.

Are you saying that there is not yet any good replacement in this case?  Will
you let me know when you have an idea what I can do, to DTRT, once the "yet" is
dealt with?

> Redirecting frame focus is not very easy to handle :-(

I am sure of that.  And most users have nil `pop-up-frames' (or equivalent), and
they never have to deal with focus redirection.  Likewise most Emacs
maintainers.

I've been trying to get Emacs Dev to think (and test!) more in terms of frames
for years.  Frames are nearly second-class citizens for Emacs.  Development and
maintenance changes have often, I think, been tested only with `pop-up-frames' =
nil.  Certainly they are more tested in that case than in the non-nil case.
Frames are almost an afterthought.

Partly this is no doubt due to frames being handled differently by different
window mgrs.  Partly it may be due to habit (Emacs had windows before frames,
most users do not use non-nil `pop-up-frames', etc.).

--

BTW, as you might have noticed in looking at command `1on1-emacs' and
`oneonone.el' generally, it presents an example of why it is wrong to think that
code should never bind or set user options.  I mention this because (you think
that) you disagree.

Emacs base code should not overrule user settings, of course.  But code that is
invoked by user choice is another story.  A user chooses to invoke a command,
just as s?he chooses option settings and other default values.

It is helpful for the command's doc in this case to mention that it temporarily
binds such-and-such user option to such-and-such value or that it sets the
option (i.e. not just temporarily), etc.

But there is no reason that a voluntarily invoked command should not alter a
user setting.  The moral obligation is to let users know just what the
consequences of invocation are, including option changes.  A user of command
`1on1-emacs' should know that it sets `pop-up-frames' to t, and that that is
precisely part of the command's raison d'etre.  You use `1on1-emacs' only if you
want non-nil `pop-up-frames'.

Emacs has always allowed for and even provided option-altering commands.  See
`customize-set-variable', `customize-set-value', and `set-variable', for
instance.

Personally, although I try to convince users to use Customize rather than just
Lisp code, I also believe it is helpful to go beyond Customize as an interactive
way to modify options and faces.

I've done that with Do Re Mi, for instance: provide commands to easily modify
option values incrementally.  Nothing wrong with that - in fact, we could use
more of it.  Nothing should limit us to the Customize UI as the only way to
interactively change user settings.






  parent reply	other threads:[~2011-06-21 18:10 UTC|newest]

Thread overview: 42+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-06-13 16:08 bug#8851: 24.0.50; regression: special-display-frame is no longer dedicated Drew Adams
2011-06-13 18:00 ` martin rudalics
2011-06-13 18:41   ` Drew Adams
2011-06-14  9:15     ` martin rudalics
2011-06-14 20:36       ` Drew Adams
     [not found]         ` <4DFB6BBF.3080504@gmx.at>
2011-06-17 15:51           ` Drew Adams
2011-06-17 16:22             ` bug#8856: " martin rudalics
2011-06-17 17:48               ` Drew Adams
2011-06-19 17:29                 ` Drew Adams
2011-06-20  3:04                   ` Stefan Monnier
2011-06-17 17:48             ` bug#8856: " Drew Adams
2011-06-19 13:26               ` martin rudalics
2011-06-19 14:31                 ` bug#8856: 24.0.50;regression: `special-display-frame' broken Drew Adams
2011-06-19 18:50                   ` Chong Yidong
2011-06-19 18:54                     ` Drew Adams
     [not found]               ` <4DFE09A7.10500@gmx.at>
2011-06-19 14:43                 ` bug#8856: 24.0.50; regression: special-display-frame is no longer dedicated Drew Adams
2011-06-19 17:26                   ` Drew Adams
2011-06-19 18:40                     ` martin rudalics
2011-06-19 19:34                       ` bug#8856: 24.0.50; regression: `special-display-popup-frame' broken Drew Adams
2011-06-19 19:52                         ` Drew Adams
2011-06-20  9:46                     ` bug#8856: 24.0.50; regression: special-display-frame is no longer dedicated martin rudalics
2011-06-20 13:01                       ` Drew Adams
     [not found]                         ` <4E00C54C.5080108@gmx.at>
2011-06-21 18:10                           ` Drew Adams [this message]
2011-06-22  0:13                             ` Drew Adams
2011-06-22  0:14                             ` Drew Adams
2011-06-22  0:15                             ` Drew Adams
2011-06-23 16:45                               ` Drew Adams
     [not found]                               ` <4E033CBA.1050700@gmx.at>
     [not found]                                 ` <DB9EDF1C454F42A0BC437F0E0AEE6CA2@us.oracle.com>
     [not found]                                   ` <4E037708.2000205@gmx.at>
2011-06-23 22:06                                     ` Drew Adams
2011-06-24  8:53                                       ` martin rudalics
2011-06-24 21:21                                         ` Drew Adams
2011-06-25 14:15                                           ` martin rudalics
2011-06-25 14:52                                             ` Drew Adams
     [not found]                                               ` <8A3D5626004B4 945A624B69463A0B849@us.oracle.com>
2011-06-25 15:04                                               ` Drew Adams
2011-06-25 15:57                                                 ` martin rudalics
2011-06-25 16:15                                                   ` Drew Adams
2011-06-25 17:00                                                     ` martin rudalics
2011-06-25 17:48                                                       ` Drew Adams
2011-06-26 13:50                                                         ` martin rudalics
2011-06-26 14:56                                                           ` Drew Adams
     [not found]                                                             ` <0721F495F4A441529FCB91280D284E42@us.oracle.com! >
2011-06-26 15:15                                                             ` Drew Adams
2011-06-26 15:54                                                               ` martin rudalics
2011-06-26 16:06                                                                 ` Drew Adams

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=7AF0B637CAE14034973FBCC658AFEBD9@us.oracle.com \
    --to=drew.adams@oracle.com \
    --cc=8856@debbugs.gnu.org \
    --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.