GNU bug report logs - #12380
more control over window splitting

Previous Next

Package: emacs;

Reported by: Doug Morgan <dougrm <at> sprynet.com>

Date: Fri, 7 Sep 2012 19:54:02 UTC

Severity: wishlist

Tags: moreinfo

Done: Lars Ingebrigtsen <larsi <at> gnus.org>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 12380 in the body.
You can then email your comments to 12380 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-gnu-emacs <at> gnu.org:
bug#12380; Package emacs. (Fri, 07 Sep 2012 19:54:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Doug Morgan <dougrm <at> sprynet.com>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Fri, 07 Sep 2012 19:54:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Doug Morgan <dougrm <at> sprynet.com>
To: bug-gnu-emacs <at> gnu.org
Subject: other window related commands broken
Date: Fri, 07 Sep 2012 11:58:26 -0700
emac version: 24.2.1
cygwin
Vista

Edit a file
C-x 2
(OK, now you have a two windows split horizontally)
C-x C-b
One of the windows **splits vertically**(!!) to show the buffer menu.  
Older versions of emacs (I don't know how far back you have to go) use 
the "other" window of the two horizontally split window to display the 
menu.  The old way is by far the better way.  The same thing happens 
with C-x 4 C-f and I think other C-x 4 commands. All make for annoying 
work cleaning up your windows after the unwanted vertical splits happen.

Doug





Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#12380; Package emacs. (Fri, 07 Sep 2012 20:27:01 GMT) Full text and rfc822 format available.

Message #8 received at 12380 <at> debbugs.gnu.org (full text, mbox):

From: martin rudalics <rudalics <at> gmx.at>
To: Doug Morgan <dougrm <at> sprynet.com>
Cc: 12380 <at> debbugs.gnu.org
Subject: Re: bug#12380: other window related commands broken
Date: Fri, 07 Sep 2012 22:26:14 +0200
> Edit a file
> C-x 2
> (OK, now you have a two windows split horizontally)
> C-x C-b
> One of the windows **splits vertically**(!!) to show the buffer menu.  

With emacs -Q here the lower window is used.

> Older versions of emacs (I don't know how far back you have to go) use 
> the "other" window of the two horizontally split window to display the 
> menu.  The old way is by far the better way.  The same thing happens 
> with C-x 4 C-f and I think other C-x 4 commands. All make for annoying 
> work cleaning up your windows after the unwanted vertical splits happen.

Please test with emacs -Q and from the Help menu use the entry
"How to Report a Bug" in order to provide the necessary information.

Thanks, martin





Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#12380; Package emacs. (Fri, 07 Sep 2012 22:18:01 GMT) Full text and rfc822 format available.

Message #11 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Doug Morgan <dougrm <at> sprynet.com>
To: martin rudalics <rudalics <at> gmx.at>
Cc: bug-gnu-emacs <at> gnu.org, 12380 <at> debbugs.gnu.org
Subject: Re: bug#12380: other window related commands broken
Date: Fri, 07 Sep 2012 15:16:43 -0700
I had only tested it with "emacs -q" (forgot about the Q version).  
However, retesting with "emacs -Q" gives the same behavior.  Also, the 
menu only has "Send Bug Report..." which doesn't work for me "Wrong type 
argument: string, nil" after I enter a subject title (never having set 
up emacs to handle mail).

Inside the unsent email buffer was this interesting looking text (and it 
looked like it would go to bug-gnu-emacs <at> gnu.org so I'm cc'ing that:

In GNU Emacs 24.2.1 (i686-pc-cygwin, GTK+ Version 2.24.11)
 of 2012-08-27 on fiona
Windowing system distributor `The Cygwin/X Project', version 11.0.11204000
Configured using:
 `configure
 '--srcdir=/home/kbrown/src/cygemacs/emacs-24.2-1/src/emacs-24.2'
 '--prefix=/usr' '--exec-prefix=/usr' '--bindir=/usr/bin'
 '--sbindir=/usr/sbin' '--libexecdir=/usr/lib' '--datadir=/usr/share'
 '--localstatedir=/var' '--sysconfdir=/etc' '--datarootdir=/usr/share'
 '--docdir=/usr/share/doc/emacs' '-C' '--without-gsettings'
 '--without-gconf' 'CC=gcc' 'CFLAGS=-ggdb -O2 -pipe
 -fdebug-prefix-map=/home/kbrown/src/cygemacs/emacs-24.2-1/build=/usr/src/debug/emacs-24.2-1
 -fdebug-prefix-map=/home/kbrown/src/cygemacs/emacs-24.2-1/src/emacs-24.2=/usr/src/debug/emacs-24.2-1'
 'LDFLAGS=-L/usr/lib/ncursesw' 'LIBS='
 'CPPFLAGS=-I/usr/include/ncursesw''

Important settings:
  value of $LC_ALL: nil
  value of $LC_COLLATE: nil
  value of $LC_CTYPE: nil
  value of $LC_MESSAGES: nil
  value of $LC_MONETARY: nil
  value of $LC_NUMERIC: nil
  value of $LC_TIME: nil
  value of $LANG: en_US.UTF-8
  value of $XMODIFIERS: nil
  locale-coding-system: utf-8-unix
  default enable-multibyte-characters: t

Major mode: Dired by name

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


Doug

On 9/7/2012 1:26 PM, martin rudalics wrote:
>> Edit a file
>> C-x 2
>> (OK, now you have a two windows split horizontally)
>> C-x C-b
>> One of the windows **splits vertically**(!!) to show the buffer menu. 
>
> With emacs -Q here the lower window is used.
>
>> Older versions of emacs (I don't know how far back you have to go) 
>> use the "other" window of the two horizontally split window to 
>> display the menu.  The old way is by far the better way.  The same 
>> thing happens with C-x 4 C-f and I think other C-x 4 commands. All 
>> make for annoying work cleaning up your windows after the unwanted 
>> vertical splits happen.
>
> Please test with emacs -Q and from the Help menu use the entry
> "How to Report a Bug" in order to provide the necessary information.
>
> Thanks, martin
>
>





Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#12380; Package emacs. (Fri, 07 Sep 2012 22:18:01 GMT) Full text and rfc822 format available.

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#12380; Package emacs. (Sat, 08 Sep 2012 01:02:01 GMT) Full text and rfc822 format available.

Message #17 received at 12380 <at> debbugs.gnu.org (full text, mbox):

From: Ken Brown <kbrown <at> cornell.edu>
To: Doug Morgan <dougrm <at> sprynet.com>
Cc: martin rudalics <rudalics <at> gmx.at>, 12380 <at> debbugs.gnu.org
Subject: Re: bug#12380: other window related commands broken
Date: Fri, 07 Sep 2012 21:00:34 -0400
On 9/7/2012 6:16 PM, Doug Morgan wrote:
> On 9/7/2012 1:26 PM, martin rudalics wrote:
>>> Edit a file
>>> C-x 2
>>> (OK, now you have a two windows split horizontally)
>>> C-x C-b
>>> One of the windows **splits vertically**(!!) to show the buffer menu.
>>
>> With emacs -Q here the lower window is used.

> In GNU Emacs 24.2.1 (i686-pc-cygwin, GTK+ Version 2.24.11)
>   of 2012-08-27 on fiona

I'm using the same Cygwin build as you, but I can't reproduce the 
problem.  I get the same results as Martin.  Are you sure you haven't 
left anything out of your recipe?

Ken




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#12380; Package emacs. (Sat, 08 Sep 2012 08:20:01 GMT) Full text and rfc822 format available.

Message #20 received at submit <at> debbugs.gnu.org (full text, mbox):

From: martin rudalics <rudalics <at> gmx.at>
To: Doug Morgan <dougrm <at> sprynet.com>
Cc: bug-gnu-emacs <at> gnu.org, 12380 <at> debbugs.gnu.org
Subject: Re: bug#12380: other window related commands broken
Date: Sat, 08 Sep 2012 10:18:47 +0200
> I had only tested it with "emacs -q" (forgot about the Q version).
> However, retesting with "emacs -Q" gives the same behavior.

Interesting.

> Also, the
> menu only has "Send Bug Report..." which doesn't work for me "Wrong type
> argument: string, nil" after I enter a subject title (never having set
> up emacs to handle mail).

This should not happen.  Can you get us a backtrace by checking the
"Enter Debugger on Error" entry in the Options menu before trying the
"Send Bug Report...".  (My apologies if this has been reported before
and already fixed.)

> Inside the unsent email buffer was this interesting looking text (and it
> looked like it would go to bug-gnu-emacs <at> gnu.org so I'm cc'ing that:

Tha's what we need ;-)

> In GNU Emacs 24.2.1 (i686-pc-cygwin, GTK+ Version 2.24.11)
>  of 2012-08-27 on fiona

I suppose the following

> Major mode: Dired by name

is not part of the recipe?  Anyway, back to your first report.  Does

>> One of the windows **splits vertically**(!!)

mean that the new window appears on the right of another window or below
it?  Also please tell us which window was split - the upper one or the
lower one.  If the new window appears below, then in the window that
gets split please do (before the split):

M-: (window-total-height) RET

and

C-h v split-height-threshold

If the new window appears on the right, please do

M-: (window-total-width) RET

and

C-h v split-width-threshold

instead.  In either case, tell us what gets printed by these.

Thanks, martin




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#12380; Package emacs. (Sat, 08 Sep 2012 08:20:02 GMT) Full text and rfc822 format available.

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#12380; Package emacs. (Sun, 09 Sep 2012 01:36:02 GMT) Full text and rfc822 format available.

Message #26 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Doug Morgan <dougrm <at> sprynet.com>
To: martin rudalics <rudalics <at> gmx.at>
Cc: bug-gnu-emacs <at> gnu.org, 12380 <at> debbugs.gnu.org
Subject: Re: bug#12380: other window related commands broken
Date: Sat, 08 Sep 2012 18:34:40 -0700
First, here is what the debugger says when I try to "Send Bug Report:..."
Debugger entered--Lisp error: (wrong-type-argument stringp nil)
  file-name-directory(nil)
  byte-code("\300\301\302\303\304!!\"\305BC\207" [format "hides 
\\(%s.*\\)" file-name-directory locate-library "simple.el" (1 
font-lock-warning-face)] 5)
  (defvar load-path-shadows-font-lock-keywords (byte-code 
"\300\301\302\303\304!!\"\305BC\207" [format "hides \\(%s.*\\)" 
file-name-directory locate-library "simple.el" (1 
font-lock-warning-face)] 5) 
("/usr/share/emacs/24.2/lisp/emacs-lisp/shadow.elc" . 3268))
  list-load-path-shadows(t)
  report-emacs-bug("other window splitting again" [24 50 24 2 
(help-echo #<frame emacs <at> Doug-PC 0x20068800> "mouse-1, mouse-2: sort by 
size" #<window 8 on *Buffer List*> #(" CRM Buffer                Size  
Mode              File\n" 0 1 (display (space :align-to 0)) 1 4 (face 
fixed-pitch) 4 5 (display (space :align-to 4)) 5 11 (keymap (keymap (13 
. Buffer-menu-sort-by-column) (follow-link . mouse-face) (mouse-2 . 
Buffer-menu-sort-by-column) (header-line keymap (mouse-2 . 
Buffer-menu-sort-by-column) (mouse-1 . Buffer-menu-sort-by-column))) 
mouse-face highlight help-echo "mouse-1, mouse-2: sort by buffer" column 
2) 11 27 (display (space :align-to 26)) 27 31 (column 3 help-echo 
"mouse-1, mouse-2: sort by size" mouse-face highlight keymap (keymap (13 
. Buffer-menu-sort-by-column) (follow-link . mouse-face) (mouse-2 . 
Buffer-menu-sort-by-column) (header-line keymap (mouse-2 . 
Buffer-menu-sort-by-column) (mouse-1 . Buffer-menu-sort-by-column)))) 31 
33 (display (space :align-to 32)) 33 37 (keymap (keymap (13 . 
Buffer-menu-sort-by-column) (follow-link . mouse-face) (mouse-2 . 
Buffer-menu-sort-by-column) (header-line keymap (mouse-2 . 
Buffer-menu-sort-by-column) (mouse-1 . Buffer-menu-sort-by-column))) 
mouse-face highlight help-echo "mouse-1, mouse-2: sort by mode" column 
4) 37 51 (display (space :align-to 50)) 51 55 (keymap (keymap (13 . 
Buffer-menu-sort-by-column) (follow-link . mouse-face) (mouse-2 . 
Buffer-menu-sort-by-column) (header-line keymap (mouse-2 . 
Buffer-menu-sort-by-column) (mouse-1 . Buffer-menu-sort-by-column))) 
mouse-face highlight help-echo "mouse-1, mouse-2: sort by file" column 
5) 55 56 (display (space :align-to 55))) 28) (help-echo #<frame 
emacs <at> Doug-PC 0x20068800> "Major mode\nmouse-1: Display major mode 
menu\nmouse-2: Show help for major mode\nmouse-3: Toggle minor modes" 
#<window 8 on *Buffer List*> #("Buffer Menu" 0 11 (local-map (keymap 
(mode-line keymap (down-mouse-3 keymap (abbrev-mode menu-item "Abbrev 
(Abbrev)" abbrev-mode :help "Automatically expand abbreviations" :button 
...) (auto-fill-mode menu-item "Auto fill (Fill)" auto-fill-mode :help 
"Automatically insert new lines" :button ...) (auto-revert-mode 
menu-item "Auto revert (ARev)" auto-revert-mode :help "Revert the buffer 
when the file on disk changes" :button ...) (auto-revert-tail-mode 
menu-item "Auto revert tail (Tail)" auto-revert-tail-mode :help "Revert 
the tail of the buffer when buffer grows" :enable ... :button ...) 
(flyspell-mode menu-item "Flyspell (Fly)" flyspell-mode :help "Spell 
checking on the fly" :button ...) (font-lock-mode menu-item "Font Lock" 
font-lock-mode :help "Syntax coloring" :button ...) (glasses-mode 
menu-item "Glasses (o^o)" glasses-mode :help "Insert virtual separators 
to make long identifiers easy to read" :button ...) (hide-ifdef-mode 
menu-item "Hide ifdef (Ifdef)" hide-ifdef-mode :help "Show/Hide code 
within #ifdef constructs" :button ...) (highlight-changes-mode menu-item 
"Highlight changes (Chg)" highlight-changes-mode :help "Show changes in 
the buffer in a distinctive color" :button ...) (outline-minor-mode 
menu-item "Outline (Outl)" outline-minor-mode :help "" :button ...) 
(overwrite-mode menu-item "Overwrite (Ovwrt)" overwrite-mode :help 
"Overwrite mode: typed characters replace existing text" :button ...) 
"Minor Modes") (mouse-2 . describe-mode) (down-mouse-1 menu-item "Menu 
Bar" ignore :filter (lambda ... ...)))) mouse-face mode-line-highlight 
help-echo "Major mode\nmouse-1: Display major mode menu\nmouse-2: Show 
help for major mode\nmouse-3: Toggle minor modes")) 9) (help-echo 
#<frame emacs <at> Doug-PC 0x20068800> "mouse-1: Select (drag to 
resize)\nmouse-2: Make current window occupy the whole frame\nmouse-3: 
Remove current window from display" #<window 8 on *Buffer List*> #("   " 
0 3 (help-echo "mouse-1: Select (drag to resize)\nmouse-2: Make current 
window occupy the whole frame\nmouse-3: Remove current window from 
display")) 0) (help-echo #<frame emacs <at> Doug-PC 0x20068800> "Buffer 
name\nmouse-1: previous buffer\nmouse-3: next buffer" #<window 8 on 
*Buffer List*> #("%12b" 0 4 (local-map (keymap (header-line keymap 
(mouse-3 . mode-line-next-buffer) (down-mouse-3 . ignore) (mouse-1 . 
mode-line-previous-buffer) (down-mouse-1 . ignore)) (mode-line keymap 
(mouse-3 . mode-line-next-buffer) (mouse-1 . 
mode-line-previous-buffer))) mouse-face mode-line-highlight help-echo 
"Buffer name\nmouse-1: previous buffer\nmouse-3: next buffer" face 
mode-line-buffer-id)) 1) (help-echo #<frame emacs <at> Doug-PC 0x20068800> 
"Read a directory, to operate on its files" nil nil 0) (help-echo 
#<frame emacs <at> Doug-PC 0x20068800> "Make text in active region stand out 
in color (Transient Mark mode)" nil nil 0) (help-echo #<frame 
emacs <at> Doug-PC 0x20068800> "Highlight matching/mismatched parentheses at 
cursor (Show Paren mode)" nil nil 0) (help-echo #<frame emacs <at> Doug-PC 
0x20068800> "Automatically fill text while typing (Auto Fill mode)" nil 
nil 0) (help-echo #<frame emacs <at> Doug-PC 0x20068800> "Ignore letter-case 
in search commands" nil nil 0) (help-echo #<frame emacs <at> Doug-PC 
0x20068800> "Use C-z/C-x/C-c/C-v keys for undo/cut/copy/paste" nil nil 
0) (help-echo #<frame emacs <at> Doug-PC 0x20068800> "Uniquify buffer names 
by adding parent directory names" nil nil 0) (help-echo #<frame 
emacs <at> Doug-PC 0x20068800> "Visit files of previous session when 
restarting Emacs" nil nil 0) (help-echo #<frame emacs <at> Doug-PC 
0x20068800> "Uniquify buffer names by adding parent directory names" nil 
nil 0) (help-echo #<frame emacs <at> Doug-PC 0x20068800> "Use C-z/C-x/C-c/C-v 
keys for undo/cut/copy/paste" nil nil 0) (help-echo #<frame 
emacs <at> Doug-PC 0x20068800> "Ignore letter-case in search commands" nil 
nil 0) (help-echo #<frame emacs <at> Doug-PC 0x20068800> "Use C-z/C-x/C-c/C-v 
keys for undo/cut/copy/paste" nil nil 0) (help-echo #<frame 
emacs <at> Doug-PC 0x20068800> "Uniquify buffer names by adding parent 
directory names" nil nil 0) (help-echo #<frame emacs <at> Doug-PC 0x20068800> 
"Visit files of previous session when restarting Emacs" nil nil 0) 
(help-echo #<frame emacs <at> Doug-PC 0x20068800> "Whether the cursor blinks 
(Blink Cursor mode)" nil nil 0) (help-echo #<frame emacs <at> Doug-PC 
0x20068800> "Enter Lisp debugger when an error is signaled" nil nil 0) 
(help-echo #<frame emacs <at> Doug-PC 0x20068800> "Enter Lisp debugger when 
C-g is pressed" nil nil 0) (help-echo #<frame emacs <at> Doug-PC 0x20068800> 
"Enter Lisp debugger when an error is signaled" nil nil 0) (help-echo 
#<frame emacs <at> Doug-PC 0x20068800> "Whether the cursor blinks (Blink 
Cursor mode)" nil nil 0) (help-echo #<frame emacs <at> Doug-PC 0x20068800> 
"Visit files of previous session when restarting Emacs" nil nil 0) 
(help-echo #<frame emacs <at> Doug-PC 0x20068800> "Whether the cursor blinks 
(Blink Cursor mode)" nil nil 0) (help-echo #<frame emacs <at> Doug-PC 
0x20068800> "Enter Lisp debugger when an error is signaled" nil nil 0) 
(menu-bar) options debug-on-error (help-echo #<frame emacs <at> Doug-PC 
0x20068800> "Cut (kill) text in region between mark and current 
position" nil nil 0) (help-echo #<frame emacs <at> Doug-PC 0x20068800> "Learn 
how to use Emacs" nil nil 0) (help-echo #<frame emacs <at> Doug-PC 
0x20068800> "Learn how to use Emacs (choose a language)" nil nil 0) 
(help-echo #<frame emacs <at> Doug-PC 0x20068800> "Frequently asked (and 
answered) questions about Emacs" nil nil 0) (help-echo #<frame 
emacs <at> Doug-PC 0x20068800> "New features of this version" nil nil 0) 
(help-echo #<frame emacs <at> Doug-PC 0x20068800> "Read about known problems 
with Emacs" nil nil 0) (help-echo #<frame emacs <at> Doug-PC 0x20068800> 
"Send e-mail to Emacs maintainers" nil nil 0) (help-echo #<frame 
emacs <at> Doug-PC 0x20068800> "Our doctor will help you feel better" nil nil 
0) (help-echo #<frame emacs <at> Doug-PC 0x20068800> "Send e-mail to Emacs 
maintainers" nil nil 0) (menu-bar) help-menu send-emacs-bug-report])
  call-interactively(report-emacs-bug nil nil)

It's in a window named *Backtrace* so I hope that is the backtrace you want.

I almost thought I was going crazy, I could not reproduce the problem.  
Then I found the missing trick is to widen the entire emacs window.  
Then I read your email more carefully and checked that 
split_window_threshold was 160 and that it was changed/introduced in 
23.1 (which is about when I first started noticing the problem but 
figured I'd wait for an new version before reporting it - long suffering 
is my middle name).  I did exactly flip my usage of vertical and 
horizontal splitting from the emacs usage of the term.  I should have 
said "One of the windows **splits horizontally**(!!) ".  In any case the 
bad split is into two side-by-side windows. The to-my-taste poor 
splitting happens when (window-total-width) >= 164.

The problem is fixed by setting split-width-threshold to 500. Thank 
you!  I did try setting it to nil as the variable's documentation 
suggests and the customization dialog told me the value of the variable 
needed to be an integer.  Don't know if it accepted nil anyway or 
rejected it or what, but 500 sure works. Thanks again.

I do think split-width-threshold should default to never splitting 
horizontally (I've got the right word this time), but that's just 
decades of never have wide windows automatically split horizontally 
talking.  Maybe it will seem perfectly natural to someone not shocked to 
see it.

On second thought, I wouldn't so much mind emacs splitting a window 
horizontally when I just have one window visible at the time.  That 
might actually be nice.  However, when I already have my screen split in 
two, but vertically, I think it's a bad idea without redeeming qualities 
to split one of the windows horizontally instead of just jumping to the 
"other" already open window.

So, I'm changing my bug report to say that emacs should never 
automatically introduce any new split for M-x M-b (and similar commands) 
when it already has two or more open windows (regardless of how they are 
arranged).  The problem is just a bit deeper than simply changing the 
value of split-width-threshold.

Doug

On 9/8/2012 1:18 AM, martin rudalics wrote:
> > I had only tested it with "emacs -q" (forgot about the Q version).
> > However, retesting with "emacs -Q" gives the same behavior.
>
> Interesting.
>
> > Also, the
> > menu only has "Send Bug Report..." which doesn't work for me "Wrong 
> type
> > argument: string, nil" after I enter a subject title (never having set
> > up emacs to handle mail).
>
> This should not happen.  Can you get us a backtrace by checking the
> "Enter Debugger on Error" entry in the Options menu before trying the
> "Send Bug Report...".  (My apologies if this has been reported before
> and already fixed.)
>
> > Inside the unsent email buffer was this interesting looking text 
> (and it
> > looked like it would go to bug-gnu-emacs <at> gnu.org so I'm cc'ing that:
>
> Tha's what we need ;-)
>
> > In GNU Emacs 24.2.1 (i686-pc-cygwin, GTK+ Version 2.24.11)
> >  of 2012-08-27 on fiona
>
> I suppose the following
>
> > Major mode: Dired by name
>
> is not part of the recipe?  Anyway, back to your first report. Does
>
> >> One of the windows **splits vertically**(!!)
>
> mean that the new window appears on the right of another window or below
> it?  Also please tell us which window was split - the upper one or the
> lower one.  If the new window appears below, then in the window that
> gets split please do (before the split):
>
> M-: (window-total-height) RET
>
> and
>
> C-h v split-height-threshold
>
> If the new window appears on the right, please do
>
> M-: (window-total-width) RET
>
> and
>
> C-h v split-width-threshold
>
> instead.  In either case, tell us what gets printed by these.
>
> Thanks, martin
>





Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#12380; Package emacs. (Sun, 09 Sep 2012 01:36:02 GMT) Full text and rfc822 format available.

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#12380; Package emacs. (Sun, 09 Sep 2012 10:07:02 GMT) Full text and rfc822 format available.

Message #32 received at submit <at> debbugs.gnu.org (full text, mbox):

From: martin rudalics <rudalics <at> gmx.at>
To: Doug Morgan <dougrm <at> sprynet.com>
Cc: bug-gnu-emacs <at> gnu.org, 12380 <at> debbugs.gnu.org
Subject: Re: bug#12380: other window related commands broken
Date: Sun, 09 Sep 2012 12:05:50 +0200
> First, here is what the debugger says when I try to "Send Bug Report:..."
> Debugger entered--Lisp error: (wrong-type-argument stringp nil)
>   file-name-directory(nil)
>   byte-code("\300\301\302\303\304!!\"\305BC\207" [format "hides
> \\(%s.*\\)" file-name-directory locate-library "simple.el" (1
> font-lock-warning-face)] 5)

I don't understand why it doesn't find this.  Does evaluating

(locate-library "simple.el")

always fail on your system?  If so, what is your value of the variable
`load-path'?

> I did exactly flip my usage of vertical and
> horizontal splitting from the emacs usage of the term.  I should have
> said "One of the windows **splits horizontally**(!!) ".

The terms vertically/horizontally have caused lots of confusion in the
past and meanwhile should have been elided from all references to window
splitting.

> In any case the
> bad split is into two side-by-side windows. The to-my-taste poor
> splitting happens when (window-total-width) >= 164.

I see.

> The problem is fixed by setting split-width-threshold to 500.

nil should be more intuitive.

> I did try setting it to nil as the variable's documentation
> suggests and the customization dialog told me the value of the variable
> needed to be an integer.  Don't know if it accepted nil anyway or
> rejected it or what, but 500 sure works. Thanks again.

In the dialog you are not allowed to insert nil in the field reserved
for numbers.  You should use the "Value Menu" button and select "nil"
from the choices presented there.  Please try again.

> I do think split-width-threshold should default to never splitting
> horizontally (I've got the right word this time), but that's just
> decades of never have wide windows automatically split horizontally
> talking.  Maybe it will seem perfectly natural to someone not shocked to
> see it.

IIRC we made it an integer (albeit a large one) to make people notice
that they can use it.  I can't judge whether that was a good idea.

> On second thought, I wouldn't so much mind emacs splitting a window
> horizontally when I just have one window visible at the time.  That
> might actually be nice.  However, when I already have my screen split in
> two, but vertically, I think it's a bad idea without redeeming qualities
> to split one of the windows horizontally instead of just jumping to the
> "other" already open window.

But that's why `split-width-threshold' is customizable.  More
experienced users can write their own `split-window-sensibly'
substitutes which gives them lots of additional possibilites.

> So, I'm changing my bug report to say that emacs should never
> automatically introduce any new split for M-x M-b (and similar commands)
> when it already has two or more open windows (regardless of how they are
> arranged).  The problem is just a bit deeper than simply changing the
> value of split-width-threshold.

Maybe someone has a good idea on how to improve this.

martin




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#12380; Package emacs. (Sun, 09 Sep 2012 10:07:02 GMT) Full text and rfc822 format available.

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#12380; Package emacs. (Sun, 09 Sep 2012 13:46:02 GMT) Full text and rfc822 format available.

Message #38 received at 12380 <at> debbugs.gnu.org (full text, mbox):

From: Ken Brown <kbrown <at> cornell.edu>
To: martin rudalics <rudalics <at> gmx.at>
Cc: Doug Morgan <dougrm <at> sprynet.com>, 12380 <at> debbugs.gnu.org
Subject: Re: bug#12380: other window related commands broken
Date: Sun, 09 Sep 2012 09:45:04 -0400
On 9/9/2012 6:05 AM, martin rudalics wrote:
>  > First, here is what the debugger says when I try to "Send Bug
> Report:..."
>  > Debugger entered--Lisp error: (wrong-type-argument stringp nil)
>  >   file-name-directory(nil)
>  >   byte-code("\300\301\302\303\304!!\"\305BC\207" [format "hides
>  > \\(%s.*\\)" file-name-directory locate-library "simple.el" (1
>  > font-lock-warning-face)] 5)
>
> I don't understand why it doesn't find this.  Does evaluating
>
> (locate-library "simple.el")
>
> always fail on your system?  If so, what is your value of the variable
> `load-path'?

Cygwin users who install the emacs package don't get the elisp sources; 
they have to install the emacs-el package for that.  So if Doug hasn't 
installed emacs-el, then (locate-library "simple.el") will fail, whereas 
(locate-library "simple") will correctly give 
"/usr/share/emacs/24.2/lisp/simple.elc".

Ken





Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#12380; Package emacs. (Sun, 09 Sep 2012 21:20:01 GMT) Full text and rfc822 format available.

Message #41 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Doug Morgan <dougrm <at> sprynet.com>
To: martin rudalics <rudalics <at> gmx.at>
Cc: bug-gnu-emacs <at> gnu.org, 12380 <at> debbugs.gnu.org
Subject: Re: bug#12380: other window related commands broken
Date: Sun, 09 Sep 2012 14:19:02 -0700
On 9/9/2012 3:05 AM, martin rudalics wrote:
> > First, here is what the debugger says when I try to "Send Bug 
> Report:..."
> > Debugger entered--Lisp error: (wrong-type-argument stringp nil)
> >   file-name-directory(nil)
> >   byte-code("\300\301\302\303\304!!\"\305BC\207" [format "hides
> > \\(%s.*\\)" file-name-directory locate-library "simple.el" (1
> > font-lock-warning-face)] 5)
>
> I don't understand why it doesn't find this.  Does evaluating
>
> (locate-library "simple.el")
>
> always fail on your system?  If so, what is your value of the variable
> `load-path'?
>
Ken Brown explained this one.  I haven't loaded the emacs-el cygwin package.
> ...
> > The problem is fixed by setting split-width-threshold to 500.
>
> nil should be more intuitive.
>
> > I did try setting it to nil as the variable's documentation
> > suggests and the customization dialog told me the value of the variable
> > needed to be an integer.  Don't know if it accepted nil anyway or
> > rejected it or what, but 500 sure works. Thanks again.
>
> In the dialog you are not allowed to insert nil in the field reserved
> for numbers.  You should use the "Value Menu" button and select "nil"
> from the choices presented there.  Please try again.

Ah, that's how you use that customization buffer thingie.  I've paid it 
and customizations as little attention as possible since they appeared 
(I said long-suffering, but maybe just unsufferably lazy). "Value Menu" 
indeed does the trick.

> ...
> martin
>
Doug




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#12380; Package emacs. (Sun, 09 Sep 2012 21:20:02 GMT) Full text and rfc822 format available.

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#12380; Package emacs. (Mon, 10 Sep 2012 08:40:02 GMT) Full text and rfc822 format available.

Message #47 received at 12380 <at> debbugs.gnu.org (full text, mbox):

From: martin rudalics <rudalics <at> gmx.at>
To: Ken Brown <kbrown <at> cornell.edu>
Cc: Doug Morgan <dougrm <at> sprynet.com>, 12380 <at> debbugs.gnu.org
Subject: Re: bug#12380: other window related commands broken
Date: Mon, 10 Sep 2012 10:39:19 +0200
> Cygwin users who install the emacs package don't get the elisp sources;
> they have to install the emacs-el package for that.  So if Doug hasn't
> installed emacs-el, then (locate-library "simple.el") will fail, whereas
> (locate-library "simple") will correctly give
> "/usr/share/emacs/24.2/lisp/simple.elc".

Thanks for the information.  Apparently, Glenn has already installed a
fix for this.  Please try it.

Thanks, martin




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#12380; Package emacs. (Mon, 10 Sep 2012 14:12:02 GMT) Full text and rfc822 format available.

Message #50 received at 12380 <at> debbugs.gnu.org (full text, mbox):

From: Ken Brown <kbrown <at> cornell.edu>
To: martin rudalics <rudalics <at> gmx.at>
Cc: Glenn Morris <rgm <at> gnu.org>, Doug Morgan <dougrm <at> sprynet.com>,
	12380 <at> debbugs.gnu.org
Subject: Re: bug#12380: other window related commands broken
Date: Mon, 10 Sep 2012 10:10:13 -0400

On 9/10/2012 4:39 AM, martin rudalics wrote:
>  > Cygwin users who install the emacs package don't get the elisp sources;
>  > they have to install the emacs-el package for that.  So if Doug hasn't
>  > installed emacs-el, then (locate-library "simple.el") will fail, whereas
>  > (locate-library "simple") will correctly give
>  > "/usr/share/emacs/24.2/lisp/simple.elc".
>
> Thanks for the information.  Apparently, Glenn has already installed a
> fix for this.  Please try it.

With Glenn's patch, report-emacs-bug will work even if the elisp sources 
are not installed.

Thanks, Glenn.

Ken





Severity set to 'wishlist' from 'normal' Request was from Glenn Morris <rgm <at> gnu.org> to control <at> debbugs.gnu.org. (Tue, 11 Sep 2012 07:19:01 GMT) Full text and rfc822 format available.

Changed bug title to 'more control over window splitting' from 'other window related commands broken' Request was from Glenn Morris <rgm <at> gnu.org> to control <at> debbugs.gnu.org. (Tue, 11 Sep 2012 07:19:01 GMT) Full text and rfc822 format available.

Message #55 received at 12380-quiet <at> debbugs.gnu.org (full text, mbox):

From: Glenn Morris <rgm <at> gnu.org>
To: 12380-quiet <at> debbugs.gnu.org
Subject: Re: bug#12380: other window related commands broken
Date: Tue, 11 Sep 2012 03:17:47 -0400
severity 12380 wishlist
retitle 12380 more control over window splitting
stop

Doug Morgan wrote:

> On second thought, I wouldn't so much mind emacs splitting a window
> horizontally when I just have one window visible at the time.  That
> might actually be nice.  However, when I already have my screen split
> in two, but vertically, I think it's a bad idea without redeeming
> qualities to split one of the windows horizontally instead of just
> jumping to the "other" already open window.
>
> So, I'm changing my bug report to say that emacs should never
> automatically introduce any new split for M-x M-b (and similar
> commands) when it already has two or more open windows (regardless of
> how they are arranged).  The problem is just a bit deeper than simply
> changing the value of split-width-threshold.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#12380; Package emacs. (Sun, 13 Feb 2022 09:31:02 GMT) Full text and rfc822 format available.

Message #58 received at 12380 <at> debbugs.gnu.org (full text, mbox):

From: Lars Ingebrigtsen <larsi <at> gnus.org>
To: Doug Morgan <dougrm <at> sprynet.com>
Cc: 12380 <at> debbugs.gnu.org
Subject: Re: bug#12380: more control over window splitting
Date: Sun, 13 Feb 2022 10:30:33 +0100
Doug Morgan <dougrm <at> sprynet.com> writes:

> emac version: 24.2.1
> cygwin
> Vista
>
> Edit a file
> C-x 2
> (OK, now you have a two windows split horizontally)
> C-x C-b
> One of the windows **splits vertically**(!!) to show the buffer menu.
> Older versions of emacs (I don't know how far back you have to go) use
> the "other" window of the two horizontally split window to display the
> menu.  The old way is by far the better way.  The same thing happens
> with C-x 4 C-f and I think other C-x 4 commands. All make for annoying
> work cleaning up your windows after the unwanted vertical splits
> happen.

(I'm going through old bug reports that unfortunately weren't resolved
at the time.)

Are you still seeing this issue in recent Emacs versions?

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




Added tag(s) moreinfo. Request was from Lars Ingebrigtsen <larsi <at> gnus.org> to control <at> debbugs.gnu.org. (Sun, 13 Feb 2022 09:31:02 GMT) Full text and rfc822 format available.

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#12380; Package emacs. (Mon, 14 Mar 2022 10:36:02 GMT) Full text and rfc822 format available.

Message #63 received at 12380 <at> debbugs.gnu.org (full text, mbox):

From: Lars Ingebrigtsen <larsi <at> gnus.org>
To: Doug Morgan <dougrm <at> sprynet.com>
Cc: 12380 <at> debbugs.gnu.org
Subject: Re: bug#12380: more control over window splitting
Date: Mon, 14 Mar 2022 11:34:52 +0100
Lars Ingebrigtsen <larsi <at> gnus.org> writes:

> Are you still seeing this issue in recent Emacs versions?

More information was requested, but no response was given within a
month, so I'm closing this bug report.  If the problem still exists,
please respond to this email and we'll reopen the bug report.

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




bug closed, send any further explanations to 12380 <at> debbugs.gnu.org and Doug Morgan <dougrm <at> sprynet.com> Request was from Lars Ingebrigtsen <larsi <at> gnus.org> to control <at> debbugs.gnu.org. (Mon, 14 Mar 2022 10:36:02 GMT) Full text and rfc822 format available.

bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Mon, 11 Apr 2022 11:24:08 GMT) Full text and rfc822 format available.

This bug report was last modified 2 years and 16 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.