Subject: bug#76190: 31.0.50; Setting frame parameter 'left (- -N) broken

From: Michael Heerdegen <[email-masked]>
Date: Tue, 11 Feb 2025 03:05:15 +0100

Hello,

according to (info "(elisp) Position Parameters"),

  (set-frame-parameter nil 'left '(- -100))

should move the selected frame to the right so a small part (100 pixels)
is moved outside of the current screen, and the rest is visible on the
right side.  However, for me the effect is exactly the same as with
(set-frame-parameter nil 'left +100).  A totally different result!  I'm
quite sure that this worked for me as described a while ago.  Something
has changed.  I did not change my system setup AFAICT, still Openbox on
X, same monitor setup, same Notebook, same OS.

Other values do work as described.  In particular do (+ -N) and
(+ +N) work as described (the latter case is similar to the broken one
but works for me).

Can others reproduce this?

TIA,

Michael.

In GNU Emacs 31.0.50 (build 42, x86_64-pc-linux-gnu, cairo version
 1.16.0) of 2025-02-11 built on drachen
Repository revision: d958a29bfbf0e7485e4b80f94d149d50d27edb89
Repository branch: master
Windowing system distributor 'The X.Org Foundation', version 11.0.12101007
System Description: Debian GNU/Linux 12 (bookworm)

Configured using:
 'configure --with-x-toolkit=no --with-native-compilation=no'

Configured features:
ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GPM GSETTINGS HARFBUZZ JPEG
LCMS2 LIBOTF LIBSELINUX LIBSYSTEMD LIBXML2 M17N_FLT MODULES NOTIFY
INOTIFY OLDXMENU PDUMPER PNG RSVG SECCOMP SOUND SQLITE3 THREADS TIFF
WEBP X11 XDBE XIM XINERAMA XINPUT2 XPM XRANDR ZLIB

Important settings:
  value of $LC_ALL: de_DE.utf8
  value of $LC_COLLATE: C
  value of $LC_TIME: C
  value of $LANG: de_DE.utf8
  locale-coding-system: utf-8-unix

Major mode: ELisp/l