--- Begin Message ---
Subject: |
29.0.91; tex-mode display problem in emacs-29 |
Date: |
Wed, 7 Jun 2023 12:52:10 -0500 |
I've been trying out the 2nd emacs-29 pretest. It seems great.
I haven't needed to tweak a single line of my .emacs or any of the
custom files it loads (about 1200 lines in all). The new
'with-restriction' feature may simplify a project that I've been
playing with for a while.
However, I have found a minor issue with a change made to tex-mode.
The simple calls to `display-buffer' in tex-mode.el have been replaced
with:
(display-buffer tex-shell display-comint-buffer-action)
The default value for display-comint-buffer-action is set from
display-buffer--same-window-action.
As a result, the default behavior of `tex-buffer' or `tex-region' is
that the document you are editing *disappears*, and and the window it
was displayed in shows just the error messages (or lack thereof) from
running TeX. You then need to switch back to the document's buffer to
continue editing. This behavior makes no sense. It would be
equivalent to running `compile' on a C file, and then only seeing the
output from make/gcc/etc, with the source code hidden. The correct
behavior in both cases is to show the process output in a window
alongside the source. Anyone who has been using tex-mode for years
would certainly find this new behavior disruptive, although it is
easily corrected.
I'm not sure if the `display-buffer' calls in tex-mode.el need to have
an action argument, but if they do, it should be similar to what is
used in compile.el. I'll be the first to admit that I'm not
particularly well-versed in the current intricacies of buffer display
actions (nor do I have any real desire to become so :-).
Thanks,
-Jeff
--- End Message ---
--- Begin Message ---
Subject: |
Re: bug#63956: 29.0.91; tex-mode display problem in emacs-29 |
Date: |
Sun, 11 Jun 2023 09:22:41 +0300 |
> Cc: 63956@debbugs.gnu.org, Stefan Monnier <monnier@iro.umontreal.ca>
> Date: Sat, 10 Jun 2023 08:56:50 +0300
> From: Eli Zaretskii <eliz@gnu.org>
>
> > Maybe `display-comint-buffer-action' should default to
> > `display-buffer-in-previous-window'?
>
> That works for me, but I think it's too late to change the default
> now, 1.5 years after the defcustom was introduced. (It could be a
> good idea for master, perhaps.) So at this point, on the release
> branch, I'd like to fix only the specific problems we see, without
> risking any unrelated breakage. To understand how best to solve this,
> I need you two (and anyone else who uses tex-mode) to look at the
> other uses of this defcustom in tex-mode, and tell me whether any of
> them also need fixing. As I wrote in my original message:
>
> > Jeff, would you please look at the 3 places in tex-mode where
> > display-comint-buffer-action was added to calls to pop-to-buffer and
> > display-buffer, and tell in which ones showing the buffer in the same
> > window by default makes sense? I don't myself use tex-mode, so it is
> > hard for me to tell. We could then discuss whether to remove the
> > argument in some of the cases or make a tex-mode-specific user option
> > to let users control that. For example, in the specific case of
> > tex-display-shell it sounds like just dropping the argument would be
> > TRT, since all of its callers want to show the shell buffer, but not
> > in the selected window. What about the other two cases where this
> > argument was added?
>
> Would you two please help me understand how best to fix this
> regression by providing the above information? TIA.
No further comments, so I've now added a new defcustom, called
display-tex-shell-buffer-action, and made its default value be
display-buffer-in-previous-window. With that, I'm closing this bug.
--- End Message ---