============================================================================= 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))