unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#19256: 24.3; Bad interaction between calendar.el and pop-up-frames
@ 2014-12-02 18:40 David Shepherd
  2014-12-02 21:00 ` Stefan Monnier
  2014-12-03  6:20 ` Glenn Morris
  0 siblings, 2 replies; 6+ messages in thread
From: David Shepherd @ 2014-12-02 18:40 UTC (permalink / raw)
  To: 19256

[-- Attachment #1: Type: text/plain, Size: 3970 bytes --]

When pop-up-frames is non-nil and calendar is called a duplicate frame
is created.

To reproduce the issue do:

    (setq pop-up-frames 'graphic-only)
    (calendar)

from a raw emacs -Q.

This can be fixed by the following advice:

    (defadvice calendar (around disable-pop-up-frames activate)
      "Disable pop-up-frames while this is going on, otherwise we get
    extra useless frames."
      (let ((pop-up-frames 'nil))
        ad-do-it))

so presumably all that is needed to fix the issue is a similar let block
inside the calendar function.


The output that generated by report-emacs-bug follows:

In GNU Emacs 24.3.1 (x86_64-pc-linux-gnu, GTK+ Version 3.10.7)
 of 2014-03-07 on lamiak, modified by Debian
Windowing system distributor `The X.Org Foundation', version 11.0.11501000
System Description:    Ubuntu 14.04.1 LTS

Configured using:
 `configure '--build' 'x86_64-linux-gnu' '--build' 'x86_64-linux-gnu'
 '--prefix=/usr' '--sharedstatedir=/var/lib' '--libexecdir=/usr/lib'
 '--localstatedir=/var/lib' '--infodir=/usr/share/info'
 '--mandir=/usr/share/man' '--with-pop=yes'
 '--enable-locallisppath=/etc/emacs24:/etc/emacs:/usr/local/share/emacs/24.3/site-lisp:/usr/local/share/emacs/site-lisp:/usr/share/emacs/24.3/site-lisp:/usr/share/emacs/site-lisp'
 '--with-crt-dir=/usr/lib/x86_64-linux-gnu' '--with-x=yes'
 '--with-x-toolkit=gtk3' '--with-toolkit-scroll-bars'
 'build_alias=x86_64-linux-gnu' 'CFLAGS=-g -O2 -fstack-protector
 --param=ssp-buffer-size=4 -Wformat -Werror=format-security -Wall'
 'LDFLAGS=-Wl,-Bsymbolic-functions -Wl,-z,relro'
 'CPPFLAGS=-D_FORTIFY_SOURCE=2''

Important settings:
  value of $LANG: en_GB.UTF-8
  locale-coding-system: utf-8-unix
  default enable-multibyte-characters: t

Major mode: Lisp Interaction

Minor modes in effect:
  tooltip-mode: t
  mouse-wheel-mode: t
  tool-bar-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  line-number-mode: t
  transient-mark-mode: t

Recent input:
<menu> <backspace> ( s e t SPC p <backspace> ' p o
p - u p - f r a m e s SPC ' <backspace> ' g r a p h
i c - o n l y ) C-\ C-e C-g C-x C-e <down> <down> <menu>
c a l e n d a r <return> q <return> ( c a l e n d a
r ) <up> <end> <down> C-x C-e <down-mouse-1> <mouse-movement>
<mouse-movement> <drag-mouse-1> <down-mouse-1> <mouse-1>
<menu> s u b m i t <tab> <C-backspace> b u g <tab>
<tab> <switch-frame> q <switch-frame> <C-backspace>
<C-backspace> r e p <tab> <switch-frame> q <switch-frame>
o r t <tab> <return>

Recent messages:
For information about GNU Emacs and the GNU system, type C-h C-a.
delete-backward-char: Text is read-only
Quit [2 times]
graphic-only
byte-code: End of buffer [2 times]
nil
Making completion list... [2 times]

Load-path shadows:
None found.

Features:
(shadow sort gnus-util mail-extr emacsbug message format-spec rfc822 mml
mml-sec mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev
gmm-utils mailheader sendmail rfc2047 rfc2045 ietf-drums mm-util
mail-prsvr mail-utils help-mode mule-util cal-move cal-menu easymenu
calendar cal-loaddefs time-date tooltip ediff-hook vc-hooks
lisp-float-type mwheel x-win x-dnd tool-bar dnd fontset image regexp-opt
fringe tabulated-list newcomment lisp-mode register page menu-bar
rfn-eshadow timer select scroll-bar mouse jit-lock font-lock syntax
facemenu font-core frame cham georgian utf-8-lang misc-lang vietnamese
tibetan thai tai-viet lao korean japanese hebrew greek romanian slovak
czech european ethiopic indian cyrillic chinese case-table epa-hook
jka-cmpr-hook help simple abbrev minibuffer loaddefs button faces
cus-face macroexp files text-properties overlay sha1 md5 base64 format
env code-pages mule custom widget hashtable-print-readable backquote
make-network-process dbusbind dynamic-setting system-font-setting
font-render-setting move-toolbar gtk x-toolkit x multi-tty emacs)

[-- Attachment #2: Type: text/html, Size: 4789 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#19256: 24.3; Bad interaction between calendar.el and pop-up-frames
  2014-12-02 18:40 bug#19256: 24.3; Bad interaction between calendar.el and pop-up-frames David Shepherd
@ 2014-12-02 21:00 ` Stefan Monnier
  2014-12-03  6:20 ` Glenn Morris
  1 sibling, 0 replies; 6+ messages in thread
From: Stefan Monnier @ 2014-12-02 21:00 UTC (permalink / raw)
  To: David Shepherd; +Cc: 19256

Reminds me: we should also get rid of the

   (let ((display-buffer-overriding-action

in calendar.el: it was OK as a stop-gap fix for 24.4 but we need a real
fix for master.


        Stefan





^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#19256: 24.3; Bad interaction between calendar.el and pop-up-frames
  2014-12-02 18:40 bug#19256: 24.3; Bad interaction between calendar.el and pop-up-frames David Shepherd
  2014-12-02 21:00 ` Stefan Monnier
@ 2014-12-03  6:20 ` Glenn Morris
  2014-12-03 10:35   ` David Shepherd
  1 sibling, 1 reply; 6+ messages in thread
From: Glenn Morris @ 2014-12-03  6:20 UTC (permalink / raw)
  To: David Shepherd; +Cc: 19256

David Shepherd wrote:

> When pop-up-frames is non-nil and calendar is called a duplicate frame
> is created.
>
> To reproduce the issue do:
>
>     (setq pop-up-frames 'graphic-only)
>     (calendar)
>
> from a raw emacs -Q.

Sorry, I don't understand what the bug is supposed to be?
You asked for new frames to be popped up, and you got one.





^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#19256: 24.3; Bad interaction between calendar.el and pop-up-frames
  2014-12-03  6:20 ` Glenn Morris
@ 2014-12-03 10:35   ` David Shepherd
  2014-12-04  3:04     ` Glenn Morris
  0 siblings, 1 reply; 6+ messages in thread
From: David Shepherd @ 2014-12-03 10:35 UTC (permalink / raw)
  To: Glenn Morris; +Cc: 19256

[-- Attachment #1: Type: text/plain, Size: 1509 bytes --]

Glenn Morris wrote:

> Sorry, I don't understand what the bug is supposed to be?
> You asked for new frames to be popped up, and you got one.

Sorry I should have been more specific. Calender.el implements it's own
window/frame control scheme depending on the value of calendar-setup. The
default setting is nil, which specifies that the calendar should open in a
new window within the same frame. However, when pop-up-frames is non-nil a
copy of the current frame is created and the calendar is opened in a window
within that frame.

That's probably not very clear so I'll give an example. Lets say I have one
frame open containing a single window displaying buffer A. I do M-x
calendar. I now have two frames open. The frame that was open initially is
still there and unchanged. The second frame contains two windows: one
displaying buffer A and the other displaying the calendar.

If that's still not very clear (sorry it's quite difficult to explain) then
it might be easier to just try it and see watch what happens.


I should also point out that it is possible to set calendar-setup to
display the calendar in a separate frame. This works as expected when
combined with a non-nil pop-up-frames setting. However the calendar
function is used by org-mode to enter time stamps, and in this context there
is a let block setting calendar-setup to nil
<https://github.com/jwiegley/org-mode/blob/master/lisp/org.el#L16281>. So
it is impossible to avoid using this combination of settings when using
org-mode.

[-- Attachment #2: Type: text/html, Size: 1670 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#19256: 24.3; Bad interaction between calendar.el and pop-up-frames
  2014-12-03 10:35   ` David Shepherd
@ 2014-12-04  3:04     ` Glenn Morris
  2021-09-04  7:36       ` Lars Ingebrigtsen
  0 siblings, 1 reply; 6+ messages in thread
From: Glenn Morris @ 2014-12-04  3:04 UTC (permalink / raw)
  To: David Shepherd; +Cc: 19256

David Shepherd wrote:

> If that's still not very clear (sorry it's quite difficult to explain) then
> it might be easier to just try it and see watch what happens.

Rest assured I did actually try it. I can still only say that AFAICS you
get what you ask for.

> I should also point out that it is possible to set calendar-setup to
> display the calendar in a separate frame. This works as expected when
> combined with a non-nil pop-up-frames setting. However the calendar
> function is used by org-mode to enter time stamps, and in this context there
> is a let block setting calendar-setup to nil
> <https://github.com/jwiegley/org-mode/blob/master/lisp/org.el#L16281>. So
> it is impossible to avoid using this combination of settings when using
> org-mode.

Oh well, maybe Org mode shouldn't do that then.





^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#19256: 24.3; Bad interaction between calendar.el and pop-up-frames
  2014-12-04  3:04     ` Glenn Morris
@ 2021-09-04  7:36       ` Lars Ingebrigtsen
  0 siblings, 0 replies; 6+ messages in thread
From: Lars Ingebrigtsen @ 2021-09-04  7:36 UTC (permalink / raw)
  To: Glenn Morris; +Cc: 19256, David Shepherd

Glenn Morris <rgm@gnu.org> writes:

>> If that's still not very clear (sorry it's quite difficult to explain) then
>> it might be easier to just try it and see watch what happens.
>
> Rest assured I did actually try it. I can still only say that AFAICS you
> get what you ask for.

If I understand correctly, the problem is this:

(progn
  (setq pop-up-frames 'graphic-only)
  (setq calendar-setup 'two-frames)
  (calendar))

This will pop up three new frames, and one of them is empty.  I've now
fixed this in Emacs 28 -- but only for the non-nil calendar-setup case.
When it's nil, it seems natural that pop-up-frames should be heeded.

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





^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2021-09-04  7:36 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-12-02 18:40 bug#19256: 24.3; Bad interaction between calendar.el and pop-up-frames David Shepherd
2014-12-02 21:00 ` Stefan Monnier
2014-12-03  6:20 ` Glenn Morris
2014-12-03 10:35   ` David Shepherd
2014-12-04  3:04     ` Glenn Morris
2021-09-04  7:36       ` Lars Ingebrigtsen

Code repositories for project(s) associated with this public inbox

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

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).