Package: emacs;
Reported by: tanzer <at> gg32.com
Date: Sat, 9 Sep 2023 12:34:01 UTC
Severity: normal
Found in version 29.1
To reply to this bug, email your comments to 65840 AT debbugs.gnu.org.
Toggle the display of automated, internal messages from the tracker.
View this report as an mbox folder, status mbox, maintainer mbox
bug-gnu-emacs <at> gnu.org
:bug#65840
; Package emacs
.
(Sat, 09 Sep 2023 12:34:02 GMT) Full text and rfc822 format available.tanzer <at> gg32.com
:bug-gnu-emacs <at> gnu.org
.
(Sat, 09 Sep 2023 12:34:02 GMT) Full text and rfc822 format available.Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
From: tanzer <at> gg32.com To: bug-gnu-emacs <at> gnu.org Subject: 29.1; desktop-load moves frames to the right and down Date: Sat, 09 Sep 2023 12:32:42 -0000
[Message part 1 (text/plain, inline)]
============================================================================= In GNU Emacs 29.1, desktop-load moves frames to the right and down. The three attachements show the shifts in frame positions: - .emacs.desktop.1 contains the correct frame positions after using `desktop-save` and copying .emacs.desktop to .emacs.desktop.1 - Loading .emacs.desktop.1 into Emacs 29 results in the frames being shifted. On exiting Emacs 29, the shifted positions are stored in .emacs.desktop and copied to .emacs.desktop.2. - Loading .emacs.desktop.2 into Emacs 29 results in the frames being shifted again. On exiting Emacs 29, the shifted positions are stored in .emacs.desktop and copied to .emacs.desktop.3. - Loading any of these .emacs.desktop files into Emacs 28.2 results in the expected frame positions (in case of .2 and .3 the positions incorrectly shifted to by Emacs 29). ============================================================================= In GNU Emacs 29.1 (build 1, aarch64-apple-darwin21.6.0, NS appkit-2113.60 Version 12.6.6 (Build 21G646)) of 2023-07-30 built on armbob.lan Windowing system distributor 'Apple', version 10.3.2299 System Description: macOS 13.5.2 Configured using: 'configure --with-ns '--enable-locallisppath=/Library/Application Support/Emacs/${version}/site-lisp:/Library/Application Support/Emacs/site-lisp' --with-modules 'CFLAGS=-DFD_SETSIZE=10000 -DDARWIN_UNLIMITED_SELECT' --with-x-toolkit=no' Configured features: ACL GLIB GMP GNUTLS JPEG JSON LIBXML2 MODULES NOTIFY KQUEUE NS PDUMPER PNG RSVG THREADS TIFF TOOLKIT_SCROLL_BARS TREE_SITTER ZLIB Important settings: value of $EMACSLOADPATH: /Users/tanzer/.emacs.lib::/Applications/Emacs.app/Contents/Resources/site-lisp: value of $LC_CTYPE: UTF-8 value of $LC_MESSAGES: en_US.UTF-8 value of $LANG: en_US.UTF-8 locale-coding-system: utf-8-unix Major mode: Elisp Minor modes in effect: global-display-fill-column-indicator-mode: t display-fill-column-indicator-mode: t global-auto-revert-mode: t recentf-mode: t msb-mode: t shell-dirtrack-mode: t global-hl-line-mode: t desktop-save-mode: t tooltip-mode: t global-eldoc-mode: t eldoc-mode: t show-paren-mode: t mouse-wheel-mode: t menu-bar-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t blink-cursor-mode: t column-number-mode: t line-number-mode: t auto-fill-function: do-auto-fill transient-mark-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t Load-path shadows: /System/Volumes/Data/Swing/work/project/ls-emacs/javascript hides /Users/tanzer/.emacs.lib/javascript /Users/tanzer/.emacs.lib/custom hides /Applications/Emacs-29.1.app/Contents/Resources/lisp/custom /System/Volumes/Data/Swing/work/project/ls-emacs/picture hides /Applications/Emacs-29.1.app/Contents/Resources/lisp/textmodes/picture Features: (shadow emacsbug message mailcap yank-media puny dired dired-loaddefs rfc822 mml mml-sec epa epg rfc6068 epg-config gnus-util mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader sendmail rfc2047 rfc2045 ietf-drums mm-util mail-prsvr mail-utils cl-extra help-mode time-date flyspell ispell help-at-pt easy-mmode display-fill-column-indicator autorevert filenotify recentf tree-widget wid-edit javascript-mode jinja-mode sgml-mode facemenu dom swing-kartei-quot swing-kartei-person swing-kartei-firma swing-kartei-bib swing-kartei--summary swing-kartei--entry swing-command whitespace msb python rx project pcase treesit lse-python tex-mode shell pcomplete cc-mode cc-fonts cc-guess cc-menus cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs derived lse-cal lse-tpu-edit-units imenu lse-window lse-vcs lse-range lse-mode-alist lse-menu lse-mark-stack lse-learn-key lse-language lse-kill lse-keys lse-interactive lse-git server hl-line desktop frameset lse-session lse-frame lse-fill-in--search lse-fill-in--delimiters lse-fill-in-marks lse-fill-in-history lse-hash lse-fill-in-info lse-flat-fill-in lse-fill-in ffap thingatpt url-parse auth-source cl-seq eieio eieio-core cl-macs cl-loaddefs cl-lib password-cache json subr-x map byte-opt gv bytecomp byte-compile url-vars lse-file lse-face lse-editing lse-define lse-deep-fill-in lse-completion lse-tpu-keys compile text-property-search comint ansi-osc ansi-color ring lse-compilation lse-indent lse-comment lse-command lse-byte-compile lse-buffer-list lse-buffer lse-tpu time picture lse-pos-ring lse-list-util lse-basics ls-emacs lse-macosx rmc iso-transl tooltip cconv eldoc paren electric uniquify ediff-hook vc-hooks lisp-float-type elisp-mode mwheel term/ns-win ns-win ucs-normalize mule-util term/common-win tool-bar dnd fontset image regexp-opt fringe tabulated-list replace newcomment text-mode lisp-mode prog-mode register page tab-bar menu-bar rfn-eshadow isearch easymenu timer select scroll-bar mouse jit-lock font-lock syntax font-core term/tty-colors frame minibuffer nadvice seq simple cl-generic indonesian philippine 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 composite emoji-zwj charscript charprop case-table epa-hook jka-cmpr-hook help abbrev obarray oclosure cl-preloaded button loaddefs theme-loaddefs faces cus-face macroexp files window text-properties overlay sha1 md5 base64 format env code-pages mule custom widget keymap hashtable-print-readable backquote threads kqueue cocoa ns multi-tty make-network-process emacs) Memory information: ((conses 16 166760 13524) (symbols 48 17838 36) (strings 32 54853 1164) (string-bytes 1 1710148) (vectors 16 30484) (vector-slots 8 374800 18658) (floats 8 73 20) (intervals 56 1711 144) (buffers 984 10))
[.emacs.desktop.1 (text/x-lisp, attachement)]
;; -*- mode: emacs-lisp; lexical-binding:t; coding: utf-8-emacs; -*- ;; -------------------------------------------------------------------------- ;; Desktop File for Emacs ;; -------------------------------------------------------------------------- ;; Created Sat Sep 9 12:44:11 2023 ;; Desktop file format version 208 ;; Emacs version 29.1 ;; Global section: (setq desktop-saved-frameset [frameset 1 (25852 23179 559581 0) (desktop . "208") "tanzer <at> CTs-MBA-M1.c10a.cluster" nil nil ((((minibuffer . t) (fontsize . 0) (font . "-*-Menlo-regular-normal-normal-*-12-*-*-*-m-0-iso10646-1") (font-parameter . "-*-Menlo-normal-normal-normal-*-12-*-*-*-m-0-iso10646-1") (child-frame-border-width) (vertical-scroll-bars . right) (horizontal-scroll-bars) (line-spacing) (no-special-glyphs) (undecorated) (ns-appearance) (ns-transparent-titlebar) (z-group) (no-focus-on-map) (no-accept-focus) (menu-bar-lines . 1) (tab-bar-lines . 0) (tool-bar-lines . 0) (title) (icon-type) (scroll-bar-height . 15) (alpha-background) (fullscreen) (sticky) (background-mode . light) (last-focus-update) (frameset--id . "984C-20C7-9E97-83AF") (frameset--mini t) (height . 98) (width . 80) (modeline . t) (unsplittable) (left . 1905) (top . 25) (icon-name) (visibility . t) (tool-bar-position . top)) ((min-height . 4) (min-width . 10) (min-height-ignore . 2) (min-width-ignore . 7) (min-height-safe . 1) (min-width-safe . 2) (min-pixel-height . 56) (min-pixel-width . 70) (min-pixel-height-ignore . 28) (min-pixel-width-ignore . 49) (min-pixel-height-safe . 14) (min-pixel-width-safe . 14)) leaf (pixel-width . 591) (pixel-height . 1358) (total-width . 84) (total-height . 97) (normal-height . 1.0) (normal-width . 1.0) (buffer ".emacs" (selected) (hscroll . 0) (fringes 8 8 nil nil) (margins nil) (scroll-bars nil 3 t nil 0 t nil) (vscroll . 0) (dedicated) (point . 25648) (start . 23573))) (((minibuffer . t) (fontsize . 0) (font . "-*-Menlo-regular-normal-normal-*-12-*-*-*-m-0-iso10646-1") (child-frame-border-width) (vertical-scroll-bars . right) (horizontal-scroll-bars) (line-spacing) (no-special-glyphs) (undecorated) (ns-appearance) (ns-transparent-titlebar) (z-group) (no-focus-on-map) (no-accept-focus) (menu-bar-lines . 1) (tab-bar-lines . 0) (tool-bar-lines . 0) (title) (icon-type) (scroll-bar-height . 15) (alpha-background) (fullscreen) (background-mode . light) (font-parameter . "-*-Menlo-normal-normal-normal-*-12-*-*-*-m-0-iso10646-1") (environment) (root-p . t) (title-prefix-suffix . "-Root") (sticky) (last-focus-update . t) (frameset--id . "5E59-10C5-3834-4B6D") (frameset--mini t . t) (height . 48) (width . 80) (modeline . t) (unsplittable) (left . 953) (top . 239) (icon-name) (visibility . t) (tool-bar-position . top)) ((min-height . 4) (min-width . 10) (min-height-ignore . 2) (min-width-ignore . 7) (min-height-safe . 1) (min-width-safe . 2) (min-pixel-height . 56) (min-pixel-width . 70) (min-pixel-height-ignore . 28) (min-pixel-width-ignore . 49) (min-pixel-height-safe . 14) (min-pixel-width-safe . 14)) leaf (pixel-width . 591) (pixel-height . 658) (total-width . 84) (total-height . 47) (normal-height . 1.0) (normal-width . 1.0) (buffer ".emacs" (selected . t) (hscroll . 0) (fringes 8 8 nil nil) (margins nil) (scroll-bars nil 3 t nil 0 t nil) (vscroll . 0) (dedicated) (point . 21969) (start . 21961)) (prev-buffers ("*scratch*" 1 3))))]) ;; Buffer section -- buffers listed in same order as in buffer list: (desktop-create-buffer 208 "/System/Volumes/Data/Swing/private/tanzer/Dotfiles/.emacs" ".emacs" 'emacs-lisp-mode '(font-lock-mode display-fill-column-indicator-mode eldoc-mode) 21969 '(nil nil) nil nil '((buffer-display-time 25852 23177 761046 0) (buffer-file-coding-system . utf-8-unix)) '((mark-ring nil)))
[.emacs.desktop.2 (text/x-lisp, attachement)]
;; -*- mode: emacs-lisp; lexical-binding:t; coding: utf-8-emacs; -*- ;; -------------------------------------------------------------------------- ;; Desktop File for Emacs ;; -------------------------------------------------------------------------- ;; Created Sat Sep 9 12:44:32 2023 ;; Desktop file format version 208 ;; Emacs version 29.1 ;; Global section: (setq desktop-saved-frameset [frameset 1 (25852 23200 193299 0) (desktop . "208") "tanzer <at> CTs-MBA-M1.c10a.cluster" nil nil ((((minibuffer . t) (fontsize . 0) (font . "-*-Menlo-regular-normal-normal-*-12-*-*-*-m-0-iso10646-1") (font-parameter . "-*-Menlo-normal-normal-normal-*-12-*-*-*-m-0-iso10646-1") (child-frame-border-width) (vertical-scroll-bars . right) (horizontal-scroll-bars) (line-spacing) (no-special-glyphs) (undecorated) (ns-appearance) (ns-transparent-titlebar) (z-group) (no-focus-on-map) (no-accept-focus) (menu-bar-lines . 1) (tab-bar-lines . 0) (tool-bar-lines . 0) (title) (icon-type) (scroll-bar-height . 15) (alpha-background) (fullscreen) (sticky) (background-mode . light) (visibility . t) (last-focus-update . t) (frameset--id . "984C-20C7-9E97-83AF") (frameset--mini t) (modeline . t) (unsplittable) (icon-name) (tool-bar-position . top) (height . 98) (width . 80) (left . 1945) (top . 45)) ((min-height . 4) (min-width . 10) (min-height-ignore . 2) (min-width-ignore . 7) (min-height-safe . 1) (min-width-safe . 2) (min-pixel-height . 56) (min-pixel-width . 70) (min-pixel-height-ignore . 28) (min-pixel-width-ignore . 49) (min-pixel-height-safe . 14) (min-pixel-width-safe . 14)) leaf (pixel-width . 591) (pixel-height . 1358) (total-width . 84) (total-height . 97) (normal-height . 1.0) (normal-width . 1.0) (buffer ".emacs" (selected) (hscroll . 0) (fringes 8 8 nil nil) (margins nil) (scroll-bars nil 3 t nil 0 t nil) (vscroll . 0) (dedicated) (point . 25648) (start . 23573))) (((minibuffer . t) (fontsize . 0) (font . "-*-Menlo-regular-normal-normal-*-12-*-*-*-m-0-iso10646-1") (child-frame-border-width) (vertical-scroll-bars . right) (horizontal-scroll-bars) (line-spacing) (no-special-glyphs) (undecorated) (ns-appearance) (ns-transparent-titlebar) (z-group) (no-focus-on-map) (no-accept-focus) (menu-bar-lines . 1) (tab-bar-lines . 0) (tool-bar-lines . 0) (title) (icon-type) (scroll-bar-height . 15) (alpha-background) (fullscreen) (background-mode . light) (font-parameter . "-*-Menlo-normal-normal-normal-*-12-*-*-*-m-0-iso10646-1") (environment) (root-p . t) (title-prefix-suffix . "-Root") (sticky) (last-focus-update . t) (frameset--id . "5E59-10C5-3834-4B6D") (frameset--mini t . t) (modeline . t) (unsplittable) (icon-name) (visibility . t) (tool-bar-position . top) (height . 48) (width . 80) (left . 973) (top . 249)) ((min-height . 4) (min-width . 10) (min-height-ignore . 2) (min-width-ignore . 7) (min-height-safe . 1) (min-width-safe . 2) (min-pixel-height . 56) (min-pixel-width . 70) (min-pixel-height-ignore . 28) (min-pixel-width-ignore . 49) (min-pixel-height-safe . 14) (min-pixel-width-safe . 14)) leaf (pixel-width . 591) (pixel-height . 658) (total-width . 84) (total-height . 47) (normal-height . 1.0) (normal-width . 1.0) (buffer ".emacs" (selected . t) (hscroll . 0) (fringes 8 8 nil nil) (margins nil) (scroll-bars nil 3 t nil 0 t nil) (vscroll . 0) (dedicated) (point . 21969) (start . 21961)) (prev-buffers ("*scratch*" 1 1))))]) ;; Buffer section -- buffers listed in same order as in buffer list: (desktop-create-buffer 208 "/System/Volumes/Data/Swing/private/tanzer/Dotfiles/.emacs" ".emacs" 'emacs-lisp-mode '(eldoc-mode display-fill-column-indicator-mode font-lock-mode) 21969 '(nil nil) nil nil '((buffer-display-time 25852 23199 264537 0) (buffer-file-coding-system . utf-8-unix)) '((mark-ring nil)))
[.emacs.desktop.3 (text/x-lisp, attachement)]
;; -*- mode: emacs-lisp; lexical-binding:t; coding: utf-8-emacs; -*- ;; -------------------------------------------------------------------------- ;; Desktop File for Emacs ;; -------------------------------------------------------------------------- ;; Created Sat Sep 9 12:44:48 2023 ;; Desktop file format version 208 ;; Emacs version 29.1 ;; Global section: (setq desktop-saved-frameset [frameset 1 (25852 23216 348689 0) (desktop . "208") "tanzer <at> CTs-MBA-M1.c10a.cluster" nil nil ((((minibuffer . t) (fontsize . 0) (font . "-*-Menlo-regular-normal-normal-*-12-*-*-*-m-0-iso10646-1") (font-parameter . "-*-Menlo-normal-normal-normal-*-12-*-*-*-m-0-iso10646-1") (child-frame-border-width) (vertical-scroll-bars . right) (horizontal-scroll-bars) (line-spacing) (no-special-glyphs) (undecorated) (ns-appearance) (ns-transparent-titlebar) (z-group) (no-focus-on-map) (no-accept-focus) (menu-bar-lines . 1) (tab-bar-lines . 0) (tool-bar-lines . 0) (title) (icon-type) (scroll-bar-height . 15) (alpha-background) (fullscreen) (sticky) (background-mode . light) (visibility . t) (last-focus-update . t) (frameset--id . "984C-20C7-9E97-83AF") (frameset--mini t) (modeline . t) (unsplittable) (icon-name) (tool-bar-position . top) (height . 98) (width . 80) (left . 1985) (top . 65)) ((min-height . 4) (min-width . 10) (min-height-ignore . 2) (min-width-ignore . 7) (min-height-safe . 1) (min-width-safe . 2) (min-pixel-height . 56) (min-pixel-width . 70) (min-pixel-height-ignore . 28) (min-pixel-width-ignore . 49) (min-pixel-height-safe . 14) (min-pixel-width-safe . 14)) leaf (pixel-width . 591) (pixel-height . 1358) (total-width . 84) (total-height . 97) (normal-height . 1.0) (normal-width . 1.0) (buffer ".emacs" (selected) (hscroll . 0) (fringes 8 8 nil nil) (margins nil) (scroll-bars nil 3 t nil 0 t nil) (vscroll . 0) (dedicated) (point . 25648) (start . 23573))) (((minibuffer . t) (fontsize . 0) (font . "-*-Menlo-regular-normal-normal-*-12-*-*-*-m-0-iso10646-1") (child-frame-border-width) (vertical-scroll-bars . right) (horizontal-scroll-bars) (line-spacing) (no-special-glyphs) (undecorated) (ns-appearance) (ns-transparent-titlebar) (z-group) (no-focus-on-map) (no-accept-focus) (menu-bar-lines . 1) (tab-bar-lines . 0) (tool-bar-lines . 0) (title) (icon-type) (scroll-bar-height . 15) (alpha-background) (fullscreen) (background-mode . light) (font-parameter . "-*-Menlo-normal-normal-normal-*-12-*-*-*-m-0-iso10646-1") (environment) (root-p . t) (title-prefix-suffix . "-Root") (sticky) (last-focus-update . t) (frameset--id . "5E59-10C5-3834-4B6D") (frameset--mini t . t) (modeline . t) (unsplittable) (icon-name) (visibility . t) (tool-bar-position . top) (height . 48) (width . 80) (left . 993) (top . 259)) ((min-height . 4) (min-width . 10) (min-height-ignore . 2) (min-width-ignore . 7) (min-height-safe . 1) (min-width-safe . 2) (min-pixel-height . 56) (min-pixel-width . 70) (min-pixel-height-ignore . 28) (min-pixel-width-ignore . 49) (min-pixel-height-safe . 14) (min-pixel-width-safe . 14)) leaf (pixel-width . 591) (pixel-height . 658) (total-width . 84) (total-height . 47) (normal-height . 1.0) (normal-width . 1.0) (buffer ".emacs" (selected . t) (hscroll . 0) (fringes 8 8 nil nil) (margins nil) (scroll-bars nil 3 t nil 0 t nil) (vscroll . 0) (dedicated) (point . 21969) (start . 21961)) (prev-buffers ("*scratch*" 1 1))))]) ;; Buffer section -- buffers listed in same order as in buffer list: (desktop-create-buffer 208 "/System/Volumes/Data/Swing/private/tanzer/Dotfiles/.emacs" ".emacs" 'emacs-lisp-mode '(font-lock-mode display-fill-column-indicator-mode eldoc-mode) 21969 '(nil nil) nil nil '((buffer-display-time 25852 23212 856885 0) (buffer-file-coding-system . utf-8-unix)) '((mark-ring nil)))
bug-gnu-emacs <at> gnu.org
:bug#65840
; Package emacs
.
(Sat, 09 Sep 2023 13:00:02 GMT) Full text and rfc822 format available.Message #8 received at 65840 <at> debbugs.gnu.org (full text, mbox):
From: Eli Zaretskii <eliz <at> gnu.org> To: tanzer <at> gg32.com, Po Lu <luangruo <at> yahoo.com> Cc: 65840 <at> debbugs.gnu.org Subject: Re: bug#65840: 29.1; desktop-load moves frames to the right and down Date: Sat, 09 Sep 2023 15:59:38 +0300
> Date: Sat, 09 Sep 2023 12:32:42 -0000 > From: tanzer--- via "Bug reports for GNU Emacs, > the Swiss army knife of text editors" <bug-gnu-emacs <at> gnu.org> > > In GNU Emacs 29.1, desktop-load moves frames to the right and down. This is probably specific to macOS, or maybe even to your window manager, because it doesn't happen to me, and I'm a heavy user of desktop.el. When you say "In GNU Emacs 29.1", do you mean this issue is specific to Emacs 29.1, and does not happen with Emacs 28 and older? > The three attachements show the shifts in frame positions: > > - .emacs.desktop.1 contains the correct frame positions after using > `desktop-save` and copying .emacs.desktop to .emacs.desktop.1 > > - Loading .emacs.desktop.1 into Emacs 29 results in the frames being > shifted. On exiting Emacs 29, the shifted positions are stored in > .emacs.desktop and copied to .emacs.desktop.2. > > - Loading .emacs.desktop.2 into Emacs 29 results in the frames being > shifted again. On exiting Emacs 29, the shifted positions are stored > in .emacs.desktop and copied to .emacs.desktop.3. > > - Loading any of these .emacs.desktop files into Emacs 28.2 results in > the expected frame positions (in case of .2 and .3 the positions > incorrectly shifted to by Emacs 29). You are aware, I hope, that on X and similar GUI systems, the coordinates of the frames we request from the window-manager are advisory: the WM doesn't have to adhere to what we request. I'm not sure what you see is not a manifestation of that. Po Lu, can you chime in, please?
bug-gnu-emacs <at> gnu.org
:bug#65840
; Package emacs
.
(Sat, 09 Sep 2023 13:36:01 GMT) Full text and rfc822 format available.Message #11 received at 65840 <at> debbugs.gnu.org (full text, mbox):
From: Po Lu <luangruo <at> yahoo.com> To: Eli Zaretskii <eliz <at> gnu.org> Cc: 65840 <at> debbugs.gnu.org, tanzer <at> gg32.com Subject: Re: bug#65840: 29.1; desktop-load moves frames to the right and down Date: Sat, 09 Sep 2023 21:35:01 +0800
Eli Zaretskii <eliz <at> gnu.org> writes: > You are aware, I hope, that on X and similar GUI systems, the > coordinates of the frames we request from the window-manager are > advisory: the WM doesn't have to adhere to what we request. I'm not > sure what you see is not a manifestation of that. > > Po Lu, can you chime in, please? Thanks, but I'm not well versed in Mac OS window management. I would begin an investigation into this behavior by calling: (set-frame-position f 10 10) waiting for a MOVE_FRAME_EVENT to arrive: emacsframe->left_pos = (NSMinX (r) - NS_PARENT_WINDOW_LEFT_POS (emacsframe)); emacsframe->top_pos = (NS_PARENT_WINDOW_TOP_POS (emacsframe) - NSMaxY (r)); and attempting to establish which factors influence both the position set by ns_set_offset and that returned within the consequent MOVE_FRAME_EVENT. With that information at hand, it should become possible to then devise a method of compensating for such factors, so as to guarantee that the frame position through `set-frame-position' is reflected faithfully within the frame's `left' and `top' properties, insofar as the window manager elects to respect said position.
bug-gnu-emacs <at> gnu.org
:bug#65840
; Package emacs
.
(Sat, 09 Sep 2023 14:48:02 GMT) Full text and rfc822 format available.Message #14 received at 65840 <at> debbugs.gnu.org (full text, mbox):
From: Eli Zaretskii <eliz <at> gnu.org> To: Christian Tanzer <tanzer <at> gg32.com> Cc: 65840 <at> debbugs.gnu.org Subject: Re: bug#65840: 29.1; desktop-load moves frames to the right and down Date: Sat, 09 Sep 2023 17:47:37 +0300
[Please use Reply All to reply, to keep the bug tracker CC'ed.] > From: Christian Tanzer <tanzer <at> gg32.com> > Date: Sat, 9 Sep 2023 14:47:34 +0100 > > On 09.09.2023, at 13:59, Eli Zaretskii <eliz <at> gnu.org> wrote: > > > >> Date: Sat, 09 Sep 2023 12:32:42 -0000 > >> From: tanzer--- via "Bug reports for GNU Emacs, > >> the Swiss army knife of text editors" <bug-gnu-emacs <at> gnu.org> > >> > >> In GNU Emacs 29.1, desktop-load moves frames to the right and down. > > > > This is probably specific to macOS, or maybe even to your window > > manager, because it doesn't happen to me, and I'm a heavy user of > > desktop.el. > > I am using plain macOS without any additional window manager. > > > When you say "In GNU Emacs 29.1", do you mean this issue is specific > > to Emacs 29.1, and does not happen with Emacs 28 and older? > > It doesn’t happen on 28.2 or older. So it could be due to massive changes in the macOS display code we did in Emacs 29. > > >> The three attachements show the shifts in frame positions: > >> > >> - .emacs.desktop.1 contains the correct frame positions after using > >> `desktop-save` and copying .emacs.desktop to .emacs.desktop.1 > >> > >> - Loading .emacs.desktop.1 into Emacs 29 results in the frames being > >> shifted. On exiting Emacs 29, the shifted positions are stored in > >> .emacs.desktop and copied to .emacs.desktop.2. > >> > >> - Loading .emacs.desktop.2 into Emacs 29 results in the frames being > >> shifted again. On exiting Emacs 29, the shifted positions are stored > >> in .emacs.desktop and copied to .emacs.desktop.3. > >> > >> - Loading any of these .emacs.desktop files into Emacs 28.2 results in > >> the expected frame positions (in case of .2 and .3 the positions > >> incorrectly shifted to by Emacs 29). > > > > You are aware, I hope, that on X and similar GUI systems, the > > coordinates of the frames we request from the window-manager are > > advisory: the WM doesn't have to adhere to what we request. I'm not > > sure what you see is not a manifestation of that. > > I am aware of that but there is a clear regression here. > > Loading the same .emacs.desktop in 28.2 works as expected while in 29.1 all frames are shifted (one of my test frames first to behind the dock and then partly outside the visible screen). In 29.1, each load/save cycle of the .emacs.desktop will shift all the frames a bit farther right and down. > > If the WM was the real culprit I would expect the version of Emacs to be irrelevant! > > For me, the desktop machinery started getting flaky with Emacs 28.1 which crashes when reading larger desktop files written by Emacs 27. Emacs 29.1 still shows that behavior. Unfortunately I have not been able to find a small reproducible test case for these crashes. > > Both 28.2 and 29.1 work with a smaller desktop file that I created with 29.1 but then I noticed the frames being shifted by each restart of 29.1, which 28.2 doesn’t do. > > I don’t want to be stuck with Emacs 27 and I am getting nervous about the desktop problems of 28 and 29. Hopefully, the advice posted by Po Lu could lead us to understanding the problem.
bug-gnu-emacs <at> gnu.org
:bug#65840
; Package emacs
.
(Wed, 13 Sep 2023 05:10:01 GMT) Full text and rfc822 format available.Message #17 received at 65840 <at> debbugs.gnu.org (full text, mbox):
From: Gerd Möllmann <gerd.moellmann <at> gmail.com> To: Eli Zaretskii <eliz <at> gnu.org> Cc: Po Lu <luangruo <at> yahoo.com>, 65840 <at> debbugs.gnu.org, tanzer <at> gg32.com Subject: Re: bug#65840: 29.1; desktop-load moves frames to the right and down Date: Wed, 13 Sep 2023 07:09:38 +0200
Eli Zaretskii <eliz <at> gnu.org> writes: >> Date: Sat, 09 Sep 2023 12:32:42 -0000 >> From: tanzer--- via "Bug reports for GNU Emacs, >> the Swiss army knife of text editors" <bug-gnu-emacs <at> gnu.org> >> >> In GNU Emacs 29.1, desktop-load moves frames to the right and down. > > This is probably specific to macOS, or maybe even to your window > manager, because it doesn't happen to me, and I'm a heavy user of > desktop.el. I'm afraid I can't reproduce this either, on Ventura/Big Sur, and I haven't noticed something like this in "real life" either. I guess this wasn't with emacs -Q, or was it?
bug-gnu-emacs <at> gnu.org
:bug#65840
; Package emacs
.
(Wed, 13 Sep 2023 05:49:02 GMT) Full text and rfc822 format available.Message #20 received at 65840 <at> debbugs.gnu.org (full text, mbox):
From: Po Lu <luangruo <at> yahoo.com> To: Gerd Möllmann <gerd.moellmann <at> gmail.com> Cc: Eli Zaretskii <eliz <at> gnu.org>, 65840 <at> debbugs.gnu.org, tanzer <at> gg32.com Subject: Re: bug#65840: 29.1; desktop-load moves frames to the right and down Date: Wed, 13 Sep 2023 13:48:28 +0800
Gerd Möllmann <gerd.moellmann <at> gmail.com> writes: > I'm afraid I can't reproduce this either, on Ventura/Big Sur, and I > haven't noticed something like this in "real life" either. > > I guess this wasn't with emacs -Q, or was it? There's a popular series of patches for Emacs under Mac OS which modifies various aspects of its window management behavior, such as by disabling the title bar. Tanzer, are you using any of these, by happenstance?
bug-gnu-emacs <at> gnu.org
:bug#65840
; Package emacs
.
(Wed, 13 Sep 2023 18:05:01 GMT) Full text and rfc822 format available.Message #23 received at 65840 <at> debbugs.gnu.org (full text, mbox):
From: Christian Tanzer <tanzer <at> gg32.com> To: Po Lu <luangruo <at> yahoo.com> Cc: Gerd Möllmann <gerd.moellmann <at> gmail.com>, Eli Zaretskii <eliz <at> gnu.org>, 65840 <at> debbugs.gnu.org Subject: Re: bug#65840: 29.1; desktop-load moves frames to the right and down Date: Wed, 13 Sep 2023 19:04:09 +0100
On 13.09.2023, at 08:30, Po Lu <luangruo <at> yahoo.com> wrote: > > Gerd Möllmann <gerd.moellmann <at> gmail.com> writes: > >> I'm afraid I can't reproduce this either, on Ventura/Big Sur, and I >> haven't noticed something like this in "real life" either. >> >> I guess this wasn't with emacs -Q, or was it? > > There's a popular series of patches for Emacs under Mac OS which > modifies various aspects of its window management behavior, such as by > disabling the title bar. Tanzer, are you using any of these, by > happenstance? My Emacs came precompiled from https://emacsformacosx.com as linked to by gnu.org/emacs... I haven’t installed any other Emacs packages but use a substantial elisp library of my own. I’ve disabled the Emacs tool bar but each frame has a title bar; the menu bar lives at the top of the screen like for any macOS application. All that is the same for Emacs 27, 28, and 29.
bug-gnu-emacs <at> gnu.org
:bug#65840
; Package emacs
.
(Wed, 13 Sep 2023 18:29:01 GMT) Full text and rfc822 format available.Message #26 received at 65840 <at> debbugs.gnu.org (full text, mbox):
From: Christian Tanzer <tanzer <at> gg32.com> To: Gerd Möllmann <gerd.moellmann <at> gmail.com> Cc: Po Lu <luangruo <at> yahoo.com>, Eli Zaretskii <eliz <at> gnu.org>, 65840 <at> debbugs.gnu.org Subject: Re: bug#65840: 29.1; desktop-load moves frames to the right and down Date: Wed, 13 Sep 2023 19:27:52 +0100
On 13.09.2023, at 06:09, Gerd Möllmann <gerd.moellmann <at> gmail.com> wrote: > > Eli Zaretskii <eliz <at> gnu.org> writes: > >>> Date: Sat, 09 Sep 2023 12:32:42 -0000 >>> From: tanzer--- via "Bug reports for GNU Emacs, >>> the Swiss army knife of text editors" <bug-gnu-emacs <at> gnu.org> >>> >>> In GNU Emacs 29.1, desktop-load moves frames to the right and down. >> >> This is probably specific to macOS, or maybe even to your window >> manager, because it doesn't happen to me, and I'm a heavy user of >> desktop.el. > > I'm afraid I can't reproduce this either, on Ventura/Big Sur, and I > haven't noticed something like this in "real life" either. > > I guess this wasn't with emacs -Q, or was it? No, it wasn’t. And with -Q the frame positions are restored correctly. There is still the question why Emacs 29 behaves differently then 28 or earlier in my environment and shifts the frames upon desktop-read. Any hints what I should look for in my elisp code in this regard?
bug-gnu-emacs <at> gnu.org
:bug#65840
; Package emacs
.
(Wed, 13 Sep 2023 18:53:01 GMT) Full text and rfc822 format available.Message #29 received at submit <at> debbugs.gnu.org (full text, mbox):
From: Gerd Möllmann <gerd.moellmann <at> gmail.com> To: Christian Tanzer via "Bug reports for GNU Emacs, the Swiss army knife of text editors" <bug-gnu-emacs <at> gnu.org> Cc: Po Lu <luangruo <at> yahoo.com>, Eli Zaretskii <eliz <at> gnu.org>, 65840 <at> debbugs.gnu.org, Christian Tanzer <tanzer <at> gg32.com> Subject: Re: bug#65840: 29.1; desktop-load moves frames to the right and down Date: Wed, 13 Sep 2023 20:51:43 +0200
Christian Tanzer via "Bug reports for GNU Emacs, the Swiss army knife of text editors" <bug-gnu-emacs <at> gnu.org> writes: > On 13.09.2023, at 06:09, Gerd Möllmann <gerd.moellmann <at> gmail.com> wrote: >> >> I guess this wasn't with emacs -Q, or was it? > > No, it wasn’t. > > And with -Q the frame positions are restored correctly. Ok, thanks. > There is still the question why Emacs 29 behaves differently then 28 > or earlier in my environment and shifts the frames upon desktop-read. > > Any hints what I should look for in my elisp code in this regard? Not really, I'm afraid. Maybe someone else has an idea? The usual way I find out where something this comes from is a binary search: disable half of your configuration, and see if the bug is still there. If yes, the bug is in the half that's still present. And so on... Maybe a variant of the zsh script below could be helpful for that. I wrote it for this bug report to check the behavior of different Emacs versions on different platforms. #! /usr/bin/env zsh emacs=(~/emacs/29/src/emacs -Q) save_desktop=(--eval '(desktop-save ".")') read_desktop=(--eval '(desktop-read ".")') print=(--eval "(print (frame-position (selected-frame)) #'external-debugging-output)") kill=(--eval '(kill-emacs)') rm -f .emacs.desktop $emacs -Q $save_desktop $print $kill $emacs -Q $read_desktop $print $kill The script prints the frame position before saving a desktop, and after restoring it.
bug-gnu-emacs <at> gnu.org
:bug#65840
; Package emacs
.
(Wed, 13 Sep 2023 18:53:02 GMT) Full text and rfc822 format available.
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.