Subject: bug#18390: 24.4.50; REGRESSION: `split-window' error

From: Drew Adams <[email-masked]>
Date: Fri, 30 Sep 2016 15:39:03 -0700 (PDT)

> >> This is pretty old, but I can't reproduce it on master (NS port). Do you
> >> know if it's still a problem?
> >
> > Yes, 100% reproducible, on MS Windows, at least, using Emacs 25.1:
> >
> > In GNU Emacs 25.1.1 (x86_64-w64-mingw32)
> >  of 2016-09-17 built on LAPHROAIG
> > Windowing system distributor 'Microsoft Corp.', version 6.1.7601
> > Configured using:
> >  'configure --without-dbus --without-compress-install CFLAGS=-static'
> >
> > I just followed the recipe in the bug report.
> 
> Could not reproduce here, with Windows 10. No windows were split, I
> instead got 2 frames titled "Palette (Hue x Saturation)", a narrow one
> and a normal sized one.
> 
> In GNU Emacs 25.1.1 (x86_64-w64-mingw32)
>  of 2016-09-17 built on LAPHROAIG
> Windowing system distributor 'Microsoft Corp.', version 10.0.14393
> Configured using:
>  'configure --without-dbus --without-compress-install CFLAGS=-static'

Interesting.  I'm using Windows 7.  Is this what `(frame-parameters)'
tells you, for the font info?

(font . "-outline-Courier New-normal-normal-normal-mono-17-*-*-*-c-*-iso8859-1") (font-backend uniscribe gdi)

What is the value of variable `palette-font'?  This is what mine is
(by default, with emacs -Q):

"-outline-Courier-normal-normal-normal-mono-5-*-*-*-c-*-iso8859-1"

----

The screenshot you attached shows that there are at least
some other problems.  This is what you should see:
https://www.emacswiki.org/emacs/ColorPaletteScreenshot

There should be a single frame (besides the original one),
with 3 windows:

* large hue window at left
* narrow swatch window to its right
* very-narrow brightness window at the right edge

And the frame should have no tool-bar, fringe, or minibuffer.

This is what the code does (before creating other windows etc.):

(make-frame
  `((menu-bar-lines . 0) (tool-bar-lines . 0) (left-fringe . 0)
    (right-fringe . 0) (fringe . 0) (height . 100) (width . 115)
    (minibuffer) (vertical-scroll-bars) (cursor-type . box)
    (background-color . "Black") (mouse-color . "Black")
    (cursor-color . "Black") ,(cons 'font palette-font)))

Your screenshot seems to show two frames, with the larger one
(behind the narrower one) showing tool-bar, fringe, and minibuffer.
The larger one is showing only the hue buffer (and with a large font).
The smaller one seems to show the hue buffer (at the left) and the
brightness buffer (to the left of the wide black buffer).  And it
shows the swatch buffer (the echo area says that the current color
is gray61).  But it also shows 3 black windows.

I see something similar (equally broken in Emacs 24 and 25) -
see attached screenshot.  But in my case the minibuffer of the
original frame (buffer *scratch*) says this:

Window #<window 8 on Palette (Hue x Saturation)> too small for splitting.

(That's without setting `debug-on-error' to t.  With the value `t'
things are the same, but with another frame for the backtrace and
no error message in the *scratch* frame's echo area.)

There should be only one frame created, not two, and it should
have no tool-bar, fringe, or minibuffer.  The only other frame
should be the original one, which should show the original
buffer, *scratch*.

More info about what you (and I) should see:
https://www.emacswiki.org/emacs/ColorPalette

You didn't get the error, so presumably your window was not too
small to split.  Otherwise, things are just as broken for you, it
seems.  Did you get any relevant messages in *Messages*?  What
happens if you try a larger or smaller font for `palette-font'?

This what `C-h v features' shows, for me (nothing extra, just
hexrgb.el and palette.el loaded):

(debug cus-edit wid-edit cus-start cus-load thingatpt help-fns
 help-mode easymenu palette eyedropper derived hexrgb cl-macs cl
 gv cl-loaddefs pcase cl-lib dired time-date mule-util tooltip
 eldoc electric uniquify ediff-hook vc-hooks lisp-float-type
 mwheel dos-w32 ls-lisp disp-table w32-win w32-vars term/common-win
 tool-bar dnd fontset image regexp-opt fringe tabulated-list
 newcomment elisp-mode lisp-mode prog-mode register page menu-bar
 rfn-eshadow timer select scroll-bar mouse jit-lock font-lock
 syntax facemenu font-core frame cl-generic cham georgian
 utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean
 japanese eucjp-ms cp51932 hebrew greek romanian slovak czech
 european ethiopic indian cyrillic chinese charscript case-table
 epa-hook jka-cmpr-hook help simple abbrev minibuffer cl-preloaded
 nadvice loaddefs button faces cus-face macroexp files text-properties
 overlay sha1 md5 base64 format env code-pages mule custom widget
 hashtable-print-readable backquote w32notify w32 multi-tty
 make-network-process emacs)