unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#12380: other window related commands broken
@ 2012-09-07 18:58 Doug Morgan
  2012-09-07 20:26 ` martin rudalics
  2022-02-13  9:30 ` bug#12380: more control over window splitting Lars Ingebrigtsen
  0 siblings, 2 replies; 13+ messages in thread
From: Doug Morgan @ 2012-09-07 18:58 UTC (permalink / raw)
  To: 12380

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






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

* bug#12380: other window related commands broken
  2012-09-07 18:58 bug#12380: other window related commands broken Doug Morgan
@ 2012-09-07 20:26 ` martin rudalics
  2012-09-07 22:16   ` Doug Morgan
  2022-02-13  9:30 ` bug#12380: more control over window splitting Lars Ingebrigtsen
  1 sibling, 1 reply; 13+ messages in thread
From: martin rudalics @ 2012-09-07 20:26 UTC (permalink / raw)
  To: Doug Morgan; +Cc: 12380

> 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






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

* bug#12380: other window related commands broken
  2012-09-07 20:26 ` martin rudalics
@ 2012-09-07 22:16   ` Doug Morgan
  2012-09-08  1:00     ` Ken Brown
  2012-09-08  8:18     ` martin rudalics
  0 siblings, 2 replies; 13+ messages in thread
From: Doug Morgan @ 2012-09-07 22:16 UTC (permalink / raw)
  To: martin rudalics; +Cc: 12380

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@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
>
>






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

* bug#12380: other window related commands broken
  2012-09-07 22:16   ` Doug Morgan
@ 2012-09-08  1:00     ` Ken Brown
  2012-09-08  8:18     ` martin rudalics
  1 sibling, 0 replies; 13+ messages in thread
From: Ken Brown @ 2012-09-08  1:00 UTC (permalink / raw)
  To: Doug Morgan; +Cc: 12380

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





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

* bug#12380: other window related commands broken
  2012-09-07 22:16   ` Doug Morgan
  2012-09-08  1:00     ` Ken Brown
@ 2012-09-08  8:18     ` martin rudalics
  2012-09-09  1:34       ` Doug Morgan
  1 sibling, 1 reply; 13+ messages in thread
From: martin rudalics @ 2012-09-08  8:18 UTC (permalink / raw)
  To: Doug Morgan; +Cc: 12380

 > 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@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





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

* bug#12380: other window related commands broken
  2012-09-08  8:18     ` martin rudalics
@ 2012-09-09  1:34       ` Doug Morgan
  2012-09-09 10:05         ` martin rudalics
  0 siblings, 1 reply; 13+ messages in thread
From: Doug Morgan @ 2012-09-09  1:34 UTC (permalink / raw)
  To: martin rudalics; +Cc: 12380

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@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@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@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@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@Doug-PC 0x20068800> 
"Read a directory, to operate on its files" nil nil 0) (help-echo 
#<frame emacs@Doug-PC 0x20068800> "Make text in active region stand out 
in color (Transient Mark mode)" nil nil 0) (help-echo #<frame 
emacs@Doug-PC 0x20068800> "Highlight matching/mismatched parentheses at 
cursor (Show Paren mode)" nil nil 0) (help-echo #<frame emacs@Doug-PC 
0x20068800> "Automatically fill text while typing (Auto Fill mode)" nil 
nil 0) (help-echo #<frame emacs@Doug-PC 0x20068800> "Ignore letter-case 
in search commands" nil nil 0) (help-echo #<frame emacs@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@Doug-PC 0x20068800> "Uniquify buffer names 
by adding parent directory names" nil nil 0) (help-echo #<frame 
emacs@Doug-PC 0x20068800> "Visit files of previous session when 
restarting Emacs" nil nil 0) (help-echo #<frame emacs@Doug-PC 
0x20068800> "Uniquify buffer names by adding parent directory names" nil 
nil 0) (help-echo #<frame emacs@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@Doug-PC 0x20068800> "Ignore letter-case in search commands" nil 
nil 0) (help-echo #<frame emacs@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@Doug-PC 0x20068800> "Uniquify buffer names by adding parent 
directory names" nil nil 0) (help-echo #<frame emacs@Doug-PC 0x20068800> 
"Visit files of previous session when restarting Emacs" nil nil 0) 
(help-echo #<frame emacs@Doug-PC 0x20068800> "Whether the cursor blinks 
(Blink Cursor mode)" nil nil 0) (help-echo #<frame emacs@Doug-PC 
0x20068800> "Enter Lisp debugger when an error is signaled" nil nil 0) 
(help-echo #<frame emacs@Doug-PC 0x20068800> "Enter Lisp debugger when 
C-g is pressed" nil nil 0) (help-echo #<frame emacs@Doug-PC 0x20068800> 
"Enter Lisp debugger when an error is signaled" nil nil 0) (help-echo 
#<frame emacs@Doug-PC 0x20068800> "Whether the cursor blinks (Blink 
Cursor mode)" nil nil 0) (help-echo #<frame emacs@Doug-PC 0x20068800> 
"Visit files of previous session when restarting Emacs" nil nil 0) 
(help-echo #<frame emacs@Doug-PC 0x20068800> "Whether the cursor blinks 
(Blink Cursor mode)" nil nil 0) (help-echo #<frame emacs@Doug-PC 
0x20068800> "Enter Lisp debugger when an error is signaled" nil nil 0) 
(menu-bar) options debug-on-error (help-echo #<frame emacs@Doug-PC 
0x20068800> "Cut (kill) text in region between mark and current 
position" nil nil 0) (help-echo #<frame emacs@Doug-PC 0x20068800> "Learn 
how to use Emacs" nil nil 0) (help-echo #<frame emacs@Doug-PC 
0x20068800> "Learn how to use Emacs (choose a language)" nil nil 0) 
(help-echo #<frame emacs@Doug-PC 0x20068800> "Frequently asked (and 
answered) questions about Emacs" nil nil 0) (help-echo #<frame 
emacs@Doug-PC 0x20068800> "New features of this version" nil nil 0) 
(help-echo #<frame emacs@Doug-PC 0x20068800> "Read about known problems 
with Emacs" nil nil 0) (help-echo #<frame emacs@Doug-PC 0x20068800> 
"Send e-mail to Emacs maintainers" nil nil 0) (help-echo #<frame 
emacs@Doug-PC 0x20068800> "Our doctor will help you feel better" nil nil 
0) (help-echo #<frame emacs@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@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
>






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

* bug#12380: other window related commands broken
  2012-09-09  1:34       ` Doug Morgan
@ 2012-09-09 10:05         ` martin rudalics
  2012-09-09 13:45           ` Ken Brown
  2012-09-09 21:19           ` Doug Morgan
  0 siblings, 2 replies; 13+ messages in thread
From: martin rudalics @ 2012-09-09 10:05 UTC (permalink / raw)
  To: Doug Morgan; +Cc: 12380

 > 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





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

* bug#12380: other window related commands broken
  2012-09-09 10:05         ` martin rudalics
@ 2012-09-09 13:45           ` Ken Brown
  2012-09-10  8:39             ` martin rudalics
  2012-09-09 21:19           ` Doug Morgan
  1 sibling, 1 reply; 13+ messages in thread
From: Ken Brown @ 2012-09-09 13:45 UTC (permalink / raw)
  To: martin rudalics; +Cc: Doug Morgan, 12380

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






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

* bug#12380: other window related commands broken
  2012-09-09 10:05         ` martin rudalics
  2012-09-09 13:45           ` Ken Brown
@ 2012-09-09 21:19           ` Doug Morgan
  1 sibling, 0 replies; 13+ messages in thread
From: Doug Morgan @ 2012-09-09 21:19 UTC (permalink / raw)
  To: martin rudalics; +Cc: 12380

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





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

* bug#12380: other window related commands broken
  2012-09-09 13:45           ` Ken Brown
@ 2012-09-10  8:39             ` martin rudalics
  2012-09-10 14:10               ` Ken Brown
  0 siblings, 1 reply; 13+ messages in thread
From: martin rudalics @ 2012-09-10  8:39 UTC (permalink / raw)
  To: Ken Brown; +Cc: Doug Morgan, 12380

 > 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





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

* bug#12380: other window related commands broken
  2012-09-10  8:39             ` martin rudalics
@ 2012-09-10 14:10               ` Ken Brown
  0 siblings, 0 replies; 13+ messages in thread
From: Ken Brown @ 2012-09-10 14:10 UTC (permalink / raw)
  To: martin rudalics; +Cc: Doug Morgan, 12380



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






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

* bug#12380: more control over window splitting
  2012-09-07 18:58 bug#12380: other window related commands broken Doug Morgan
  2012-09-07 20:26 ` martin rudalics
@ 2022-02-13  9:30 ` Lars Ingebrigtsen
  2022-03-14 10:34   ` Lars Ingebrigtsen
  1 sibling, 1 reply; 13+ messages in thread
From: Lars Ingebrigtsen @ 2022-02-13  9:30 UTC (permalink / raw)
  To: Doug Morgan; +Cc: 12380

Doug Morgan <dougrm@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





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

* bug#12380: more control over window splitting
  2022-02-13  9:30 ` bug#12380: more control over window splitting Lars Ingebrigtsen
@ 2022-03-14 10:34   ` Lars Ingebrigtsen
  0 siblings, 0 replies; 13+ messages in thread
From: Lars Ingebrigtsen @ 2022-03-14 10:34 UTC (permalink / raw)
  To: Doug Morgan; +Cc: 12380

Lars Ingebrigtsen <larsi@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





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

end of thread, other threads:[~2022-03-14 10:34 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-09-07 18:58 bug#12380: other window related commands broken Doug Morgan
2012-09-07 20:26 ` martin rudalics
2012-09-07 22:16   ` Doug Morgan
2012-09-08  1:00     ` Ken Brown
2012-09-08  8:18     ` martin rudalics
2012-09-09  1:34       ` Doug Morgan
2012-09-09 10:05         ` martin rudalics
2012-09-09 13:45           ` Ken Brown
2012-09-10  8:39             ` martin rudalics
2012-09-10 14:10               ` Ken Brown
2012-09-09 21:19           ` Doug Morgan
2022-02-13  9:30 ` bug#12380: more control over window splitting Lars Ingebrigtsen
2022-03-14 10:34   ` 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).