all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Stephen Berman <stephen.berman@gmx.net>
To: martin rudalics <rudalics@gmx.at>
Cc: Jens Lechtenboerger <lechten@wi.uni-muenster.de>,
	Michael Heerdegen <michael_heerdegen@web.de>,
	25946@debbugs.gnu.org
Subject: bug#25946: 26.0.50; display-buffer ignores ignores reusable-frames in display-buffer-alist
Date: Tue, 07 Mar 2017 17:51:22 +0100	[thread overview]
Message-ID: <87r32958tx.fsf@rosalinde> (raw)
In-Reply-To: <58BE8134.6000907@gmx.at> (martin rudalics's message of "Tue, 07 Mar 2017 10:45:24 +0100")

On Tue, 07 Mar 2017 10:45:24 +0100 martin rudalics <rudalics@gmx.at> wrote:

>>     	  (TeX-pop-to-buffer old-buffer nil t))    ; <=================
>>           (message "No process for this document."))))
>>
>> The second invocation of TeX-pop-to-buffer displays the source buffer;
>> commenting this out appears to give the result the OP wants.(*)  So to
>> satisfying both this use case and the one foreseen for this function,
>> the second invocation could be conditioned on a user option.
>
> This indeed confers to the behavior described by Jens.  Does the second
> argument "nil" mean to stay on the selected frame?

It's actually passed to pop-to-buffer's ACTION argument, which is hence
nil here.  TeX-pop-to-buffer's signature calls it OTHER-WINDOW, which
was pop-to-buffer's second parameter before it was replaced by ACTION
(TeX-pop-to-buffer is just a wrapper around pop-to-buffer for
compatibility with XEmacs.)

> In any case, this order of invocations is asking for trouble when the
> output buffer should appear on a separate frame.  The old code worked
> around this problem because of the (unsplittable . t) default entry in
> ‘special-display-frame-alist’.  So Jens probably needs something like
>
> (customize-set-variable
>  'display-buffer-alist
>  '(("\\*text\\*"
>     (display-buffer-reuse-window display-buffer-pop-up-frame)
>     (reusable-frames . t))))
>
> (setq display-buffer-mark-dedicated t)
> (setq pop-up-frame-alist (cons '(unsplittable . t) pop-up-frame-alist))
>
> (pop-to-buffer (get-buffer-create "*text*") t)
>
> and we are back in the strong grip of global variables, something the
> "new" implementation of ‘display-buffer’ was supposed to avoid.  We
> can't escape our past.

TeX-recenter-output-buffer could be redefined as follows to get the same
result (according to my tests) without resorting to pop-up-frame-alist:

   (defun TeX-recenter-output-buffer (line)
     "Redisplay buffer of TeX job output so that most recent output can be seen.
   The last line of the buffer is displayed on line LINE of the window, or
   at bottom if LINE is nil."
     (interactive "P")
     (let ((buffer (TeX-active-buffer)))
       (if buffer
   	(let* ((old-buffer (current-buffer))
   	       (frame1 (window-frame (get-buffer-window old-buffer)))
   	       frame2)
   	  (TeX-pop-to-buffer buffer t t)
   	  (setq frame2 (window-frame (get-buffer-window buffer)))
   	  (bury-buffer buffer)
   	  (goto-char (point-max))
   	  (recenter (if line
   			(prefix-numeric-value line)
   		      (/ (window-height) 2)))
   	  (if (eq frame1 frame2)
   	      (TeX-pop-to-buffer old-buffer nil t)
   	    (select-frame-set-input-focus frame1)))
         (message "No process for this document."))))

>> (*) I should note that on some tests I made with the second invocation
>> commented out I got strange results: once or twice, the frame in which
>> the LaTeX output is displayed did split, showing the *Messages* buffer
>> below (but with a reduced height); and several times, after killing the
>> output buffer (and hence its frame), keyboard input was totally blocked,
>> though mouse input was possible.  I have not been able to reliably
>> reproduce these effects.
>
> This is probably due to
>
> commit 6a788d2fc18c23dcfc5d0352649b2f690e9cbff7
> Author: Noam Postavsky <npostavs@gmail.com>
> Date:   Fri Jan 13 19:47:22 2017 -0500
>
>     Don't wait for frame to become visible
>
> Can you try to selectively revert that commit and see whether the
> problem persists?

I suppose I could try to revert, but since I can't reliably reproduce
the problems, not seeing them after reverting may not be conclusive.
(For example, so far testing the above redefinition of TeX-pop-to-buffer
has not shown the problems.)

Steve Berman





  reply	other threads:[~2017-03-07 16:51 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-03-03 10:01 bug#25946: 26.0.50; display-buffer ignores ignores reusable-frames in display-buffer-alist Jens Lechtenboerger
2017-03-03 10:38 ` martin rudalics
2017-03-03 10:58   ` Jens Lechtenboerger
2017-03-03 14:24     ` martin rudalics
2017-03-03 14:49       ` Jens Lechtenboerger
2017-03-03 18:23         ` martin rudalics
2017-03-03 18:55           ` Drew Adams
     [not found]           ` <13CD49F822DC4A42AF94C24270D9E5CF9A5D4E36@WIWI-MAIL-1.WIWI.UNI-MUENSTER.DE>
2017-03-04 17:08             ` Jens Lechtenboerger
2017-03-04 17:40           ` martin rudalics
2017-03-05 10:34             ` martin rudalics
2017-03-05 11:27               ` Stephen Berman
2017-03-05 13:28                 ` martin rudalics
2017-03-05 22:20                   ` Michael Heerdegen
2017-03-06  8:11                     ` martin rudalics
2017-03-06  8:57                     ` Stephen Berman
2017-03-06  9:25                       ` Jens Lechtenboerger
2017-03-06 11:07                         ` Stephen Berman
2017-03-06 17:46                           ` martin rudalics
2017-03-06 20:59                             ` Stephen Berman
2017-03-07  9:45                               ` martin rudalics
2017-03-07 16:51                                 ` Stephen Berman [this message]
2017-03-07 19:00                                   ` martin rudalics
2017-03-07 19:36                                     ` Stephen Berman
2017-03-10 15:01                                   ` Jens Lechtenboerger
2017-03-11 10:20                                     ` martin rudalics
2017-03-06 17:46                         ` martin rudalics

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=87r32958tx.fsf@rosalinde \
    --to=stephen.berman@gmx.net \
    --cc=25946@debbugs.gnu.org \
    --cc=lechten@wi.uni-muenster.de \
    --cc=michael_heerdegen@web.de \
    --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.