Subject: Re: bug#21415: 25.0.50; Emacs Trunk -- pixelwise width/height for x-create-frame

From: Keith David Bershatsky <[email-masked]>
Date: Sun, 13 Sep 2015 11:36:43 -0700

I have been able to reproduce the disregarding `top` frame parameter error with a much simpler example that does not involve `ns-auto-hide-menu-bar`.  I'm not sure why these simple tests are intermittently crashing the Emacs application with no user settings.

;; WORKING -- respects `top` parameter.
(make-frame '(
  (top . 50)
  (left . 50)
  ;; (height . 250.0)
  (width . 250.0)))

;; BROKEN -- disregards `top` parameter.
(make-frame '(
  (top . 50)
  (left . 50)
  (height . 250.0)
  (width . 250.0)))

And here is an unsophisticated hack:

(defadvice face-set-after-frame-default (before face-set-after-frame-default-before activate)
  (let* (
      (top (or (cdr (assq 'top parameters)) 0))
      (left (or (cdr (assq 'left parameters)) 0)) )
    (set-frame-position frame left top)))

At Sun, 13 Sep 2015 20:01:03 +0200,
martin rudalics wrote:
> 
> 
> If ‘ns-auto-hide-menu-bar' non-nil also moves the title bar off screen,
> you can't position the frame at (0, 0).  Or am I missing something?
> 
> martin