From unknown Tue Aug 12 08:31:55 2025 X-Loop: help-debbugs@gnu.org Subject: bug#79164: [PATCH] Fix macOS frame position update after resize/move in nsterm.m Resent-From: =?UTF-8?Q?=E5=B7=9D=E6=9C=AC_?= =?UTF-8?Q?=E7=90=A2=E4=BA=8C?= (Dr.Sc.KAWAMOTO,Takuji) Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sun, 03 Aug 2025 06:46:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 79164 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: 79164@debbugs.gnu.org X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.17542035445956 (code B ref -1); Sun, 03 Aug 2025 06:46:02 +0000 Received: (at submit) by debbugs.gnu.org; 3 Aug 2025 06:45:44 +0000 Received: from localhost ([127.0.0.1]:41568 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uiSTY-0001Y0-7J for submit@debbugs.gnu.org; Sun, 03 Aug 2025 02:45:44 -0400 Received: from lists.gnu.org ([2001:470:142::17]:54768) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1uiSTW-0001Xm-6e for submit@debbugs.gnu.org; Sun, 03 Aug 2025 02:45:42 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uiSTO-0006Ug-9a for bug-gnu-emacs@gnu.org; Sun, 03 Aug 2025 02:45:34 -0400 Received: from mail-pf1-x430.google.com ([2607:f8b0:4864:20::430]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uiSTK-0006Oj-CI for bug-gnu-emacs@gnu.org; Sun, 03 Aug 2025 02:45:31 -0400 Received: by mail-pf1-x430.google.com with SMTP id d2e1a72fcca58-76bf3dafaa5so463812b3a.0 for ; Sat, 02 Aug 2025 23:45:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1754203528; x=1754808328; darn=gnu.org; h=content-transfer-encoding:subject:from:to:content-language :user-agent:mime-version:date:message-id:from:to:cc:subject:date :message-id:reply-to; bh=WsyjsURwQAealxDgX+99PHKpk468n5ZpUw2aP/+VGDs=; b=Bjz370RHdjbztcW8Ie/x2vA9UCVp774lFb69b+fMM9de3hue45dkOu88tb6cdQ3rpL TwAK5uFkGoXPl0lDkcQ44i4GRoZE9QgHrOXStrXdYVw7/YlevODIzZxEYqYkhA+jual1 mtKRWSSt1ftHC4Ui1WtwcKLcTwqrcLmkKZ4WRVUegJbGoHb1wCWYx4P/8HeyBWrmUOQw KANNKrY0KkzsuRv5AebUqkZbvvOkQfPIvC5+k3hSGVHzocJF6iOk2ot43UEPr8EhXMjW WZ9z9UAbXsvCyosmT+Evvd+d66A9ArMfHpNROkgI7LPZshGu+dFx/BaNQaFAl3y2wV5B sWwg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754203528; x=1754808328; h=content-transfer-encoding:subject:from:to:content-language :user-agent:mime-version:date:message-id:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=WsyjsURwQAealxDgX+99PHKpk468n5ZpUw2aP/+VGDs=; b=vYXyoE9yFLgLvLzp8rPj9LIq6DGa3zKxEG4f6tfNbhNy6yXHmv3VyNeSkObZSXfuOa UJUWn3Ha7a9isQG7b0uRobvR53PlDNXJ0/lIqUActp0OCfLAzSXtX2FkG8c2fJr4f7p3 NjftTM/65iAgB1fr9KwkNYweVN7IdvYzuDzPrmdLPv4dEyth6XwqE9CIcz1DseSOqRTH /JiCN7e5Z0wjy5HnwHynAvSis1kZM6Ab3mCK0hHgEmqPnL/9DpsASiKjhQlt7Qs9zQtV SkIkiTWlUt/glFi9wfEq8oKzjLG53HO5e2t8QV7LhOyOHVjKnSgn66OriDjzu3itxog4 k16Q== X-Gm-Message-State: AOJu0YwsFNKyh8pXeUJKcqt04E5eklNsZug3dry17hlfjI9XpC3xVqip KXChtSeige+eLVFOz1YG86h4fFtjmtgODFUCHhJfUaeNpEWkfLfNQ8r8CzaoHA== X-Gm-Gg: ASbGncv740rJ5SBD7DzwRLgOFR7WvSZWcAnxUS0UxssTLF9OclKt3ACS6sBYBf1Ywpj Lel1tzfAx704h9nzEzhCGOCun4hthjxDdfr+fPi0pSMnW2wKlPXI8RJONR/2C4QzPIkJs0EjQNt SjFD4G6/HAqDyrrJuXcXrzJ1J6w4Q2mrccCDz43xErbmcBFDXltt/07qlk1mEJ/8RFJ9VIdRQOe jfMRQGfbx4x6XqIfgvkY8Jd7KeoiQo45pm8nBr1W1Gg98aTfU5s3X0hyNp5kKFKADEg1kcf2vFf H4y6HxyjeCaJX6zE2pJUKUggZ3FX6HuKBEg2bA1hOIzXuSEv6sKWhu5X3mhfuIQ5dLEF5gewtDG 78RDlOAnTFxPGWetXjEi1x0gvPHy3OorZM3BvWqR4bviB/YWEhQWSKsGs3lVyPp+ikJSeWCo= X-Google-Smtp-Source: AGHT+IHoqta7AR2ra0mZlFX7KSrrOWxf3adycrwmQY8LkdCGllfbrk+2JTokQMKfdY0DQ7qgtjp+/A== X-Received: by 2002:a05:6300:2189:b0:23d:48fc:652b with SMTP id adf61e73a8af0-23df90d92bcmr7427418637.12.1754203527838; Sat, 02 Aug 2025 23:45:27 -0700 (PDT) Received: from [192.168.31.18] (87.99.149.114.ap.dti.ne.jp. [114.149.99.87]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-76bccfea38csm7666333b3a.128.2025.08.02.23.45.26 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sat, 02 Aug 2025 23:45:27 -0700 (PDT) Message-ID: Date: Sun, 3 Aug 2025 15:45:25 +0900 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Content-Language: en-US From: =?UTF-8?Q?=E5=B7=9D=E6=9C=AC_?= =?UTF-8?Q?=E7=90=A2=E4=BA=8C?= (Dr.Sc.KAWAMOTO,Takuji) Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Received-SPF: pass client-ip=2607:f8b0:4864:20::430; envelope-from=kawamoto.takuji@gmail.com; helo=mail-pf1-x430.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: 1.0 (+) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.0 (/) Hello, This patch addresses a bug in the macOS build of Emacs, where frame position was not correctly updated after resizing from the left edge. In particular, it fixes the issue reported in bug#74074, where the move-frame-functions hook does not reliably reflect the final frame location after resizing. This patch introduces the updateFramePosition method, which is called from windowDidMove and windowDidEndLiveResize to ensure the frame geometry stays in sync with the actual macOS window position. Tested on macOS 15.5. Best regards, Dr.Sc.KAWAMOTO, Takuji ---  src/nsterm.m | 63 ++++++++++++++++++++++++++++++----------------------  1 file changed, 37 insertions(+), 26 deletions(-) diff --git a/src/nsterm.m b/src/nsterm.m index 003aadb9782..3db002d9678 100644 --- a/src/nsterm.m +++ b/src/nsterm.m @@ -6736,6 +6736,11 @@ - (BOOL)fulfillService: (NSString *)name withArg: (NSString *)arg  @implementation EmacsView +- (void)windowDidEndLiveResize:(NSNotification *)notification +{ +  [self updateFramePosition]; +} +  /* Needed to inform when window closed from lisp.  */  - (void) setWindowClosing: (BOOL)closing  { @@ -7871,6 +7876,37 @@ - (BOOL)windowShouldClose: (id)sender  } +- (void)updateFramePosition +{ +  NSWindow *win = [self window]; +  NSRect r = [win frame]; +  NSArray *screens = [NSScreen screens]; +  NSScreen *screen = [screens objectAtIndex: 0]; + +  if (!emacsframe->output_data.ns) +    return; + +  if (screen != nil) +    { +      emacsframe->left_pos = (NSMinX (r) +                              - NS_PARENT_WINDOW_LEFT_POS (emacsframe)); +      emacsframe->top_pos = (NS_PARENT_WINDOW_TOP_POS (emacsframe) +                             - NSMaxY (r)); + +      if (emacs_event) +        { +          struct input_event ie; +          EVENT_INIT (ie); +          ie.kind = MOVE_FRAME_EVENT; +          XSETFRAME (ie.frame_or_window, emacsframe); +          XSETINT (ie.x, emacsframe->left_pos); +          XSETINT (ie.y, emacsframe->top_pos); +          kbd_buffer_store_event (&ie); +        } +    } +} + +  - (NSSize)windowWillResize: (NSWindow *)sender toSize: (NSSize)frameSize  /* Normalize frame to gridded text size.  */  { @@ -8205,34 +8241,9 @@ - (instancetype) initFrameFromEmacs: (struct frame *)f  - (void)windowDidMove: sender  { -  NSWindow *win = [self window]; -  NSRect r = [win frame]; -  NSArray *screens = [NSScreen screens]; -  NSScreen *screen = [screens objectAtIndex: 0]; -    NSTRACE ("[EmacsView windowDidMove:]"); -  if (!emacsframe->output_data.ns) -    return; - -  if (screen != nil) -    { -      emacsframe->left_pos = (NSMinX (r) -                  - NS_PARENT_WINDOW_LEFT_POS (emacsframe)); -      emacsframe->top_pos = (NS_PARENT_WINDOW_TOP_POS (emacsframe) -                 - NSMaxY (r)); - -      if (emacs_event) -    { -      struct input_event ie; -      EVENT_INIT (ie); -      ie.kind = MOVE_FRAME_EVENT; -      XSETFRAME (ie.frame_or_window, emacsframe); -      XSETINT (ie.x, emacsframe->left_pos); -      XSETINT (ie.y, emacsframe->top_pos); -      kbd_buffer_store_event (&ie); -    } -    } +  [self updateFramePosition];  } -- 2.49.0 From unknown Tue Aug 12 08:31:55 2025 X-Loop: help-debbugs@gnu.org Subject: bug#79164: frame position not updated correctly when resizing from left edge on macOS References: In-Reply-To: Resent-From: =?UTF-8?Q?=E5=B7=9D=E6=9C=AC_?= =?UTF-8?Q?=E7=90=A2=E4=BA=8C?= (Dr.Sc.KAWAMOTO,Takuji) Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sun, 03 Aug 2025 07:08:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 79164 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: 79164@debbugs.gnu.org Received: via spool by 79164-submit@debbugs.gnu.org id=B79164.175420487512284 (code B ref 79164); Sun, 03 Aug 2025 07:08:02 +0000 Received: (at 79164) by debbugs.gnu.org; 3 Aug 2025 07:07:55 +0000 Received: from localhost ([127.0.0.1]:41755 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uiSp0-0003C2-IF for submit@debbugs.gnu.org; Sun, 03 Aug 2025 03:07:54 -0400 Received: from mail-pl1-x629.google.com ([2607:f8b0:4864:20::629]:61848) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from ) id 1uiSox-0003BP-J7 for 79164@debbugs.gnu.org; Sun, 03 Aug 2025 03:07:52 -0400 Received: by mail-pl1-x629.google.com with SMTP id d9443c01a7336-2406fe901fcso20250235ad.3 for <79164@debbugs.gnu.org>; Sun, 03 Aug 2025 00:07:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1754204865; x=1754809665; darn=debbugs.gnu.org; h=content-transfer-encoding:subject:from:to:content-language :user-agent:mime-version:date:message-id:from:to:cc:subject:date :message-id:reply-to; bh=rXx328+4eBATF59jJ1PqwYcorOIpumzI2hAIr61INFM=; b=KPFjNFtKH+YpDGdJ1Ccc8qGUT4rJgRRvM4ilsI4TeRmbn887TvNYN733qjmbCeHtlY +jw0N1SeQ8nypkubz3WNoc71JbbaMKiJKc2+oGLLgz+JcoJ8iXSQiy4vtgHpjSMyPd6/ JzjHmMSAa+rYFUP+vIiQmfSV/d3XI8y2AncaznFVAPW2+M9vSUDWXeuzJcN4RPxxIm2X tMHgCTWMOxmV8KVbr7RZpApugibV4E4gsTvozax+tOwFdGsxysszDuGcaoIlMFrUpRUY muVKZaP+OWiTdQ89OcXuLzhm5Z9zKLIcozXnLhvO60SHocsEwqTDh1O0sNHT5FPCmeoj KYJA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754204865; x=1754809665; h=content-transfer-encoding:subject:from:to:content-language :user-agent:mime-version:date:message-id:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=rXx328+4eBATF59jJ1PqwYcorOIpumzI2hAIr61INFM=; b=bl9BTrMXzjGKed5+PZ3VfwrQEyDw5KwJsKZtMFGytVMElT442iLCS3sOR+HicW8bUu Cer7PlKda09Bi1gBY7N5efvQOvoSzyj5uFYSIP92SAB9QSqIFi4Nco4USwoO0A9HXUPb 7aqN5oUiCJUKTcEvKUCuPG7limtppQHGiU9anFDFqzHGiIKla+3vk+Jn8IUg06xD3Nzm z79inPbWToeKq9lf7w3brR/OS6iZpaIY9Waxbpj/uJtNBnRxqM1rySaQ6WLCiLaNQeyH Ir3xW/lCKUQChmZ4bNBxTn5ZRjrcsSI3h7vNAQZ/sZamE2RHTfNfzl1JGr3ELeU1JZ/d tCuw== X-Gm-Message-State: AOJu0YwxqpgIOtLwNj+5mz/t3ZflLz7WkKWaBB/yl9uTrHM8VQJ9hyJz cCdYfgmQyxgMxA4IsGu9gLmGy/ClCthu654gOhRaAEyrNOVcxvFKTsDKlyvSaA== X-Gm-Gg: ASbGnctCtX2P5J9zjmMTV6y6B9Vvv8mwqxVSlvT7YXtJeL6ooTyRSOGFsAYhLvhO2es Fawp9v+tb8AwvvFJWfkTj4xsAUkrtrxBTXxR7/eMfD12Ql7+EHfmpv3RMXc3+rqQrc0nxW1gAeI ZXi1T/iL8nTNu3sVzRQ65rdyG3+CY8XYh97PByD/HZBjWneh+cVkUeP3B6WbUUKub/+DFjHkIU9 Nh74Us8dSV6NHNrCovhAEJFYMxfCv0dLCVmcXhzC0IX5JXRueM4KkBhHgCzL7ECX+FLqAgYSJqg gJsvc0xHYX6WRdtFUMD/oc3rj/HjVTsr5G0z1iQss+2ZCwjXpO2tcDVai7pVFiSabnCNVkVBZ05 JdAJd7/JF2dJmA1GSO/Lpijsjab+RTAuXRa4FDy63msqvAAF0A8Ig/QMRG11pRHZubXkr7BHE+i zhlS3d8A== X-Google-Smtp-Source: AGHT+IG4s7SVOiFNGQlJwB/d5+GrnRy2yfvd6hnXBC+L5NmXS2/90e2o4NmQf2A/zZzfD3FIByMlMQ== X-Received: by 2002:a17:902:d4d1:b0:240:3ef:e17d with SMTP id d9443c01a7336-242470424abmr88435275ad.40.1754204864665; Sun, 03 Aug 2025 00:07:44 -0700 (PDT) Received: from [192.168.31.18] (87.99.149.114.ap.dti.ne.jp. [114.149.99.87]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-241e8aab0ffsm82361255ad.166.2025.08.03.00.07.43 for <79164@debbugs.gnu.org> (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 03 Aug 2025 00:07:44 -0700 (PDT) Message-ID: <32e9b917-fd4f-4886-8744-90dfe45b7d2e@gmail.com> Date: Sun, 3 Aug 2025 16:07:41 +0900 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Content-Language: en-US From: =?UTF-8?Q?=E5=B7=9D=E6=9C=AC_?= =?UTF-8?Q?=E7=90=A2=E4=BA=8C?= (Dr.Sc.KAWAMOTO,Takuji) Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) As part of the investigation for this bug, I created an external helper command called `listemacswindows_cocoa`, which reports window frame information from the macOS side. I also added logging in Emacs to compare its internal state with the output of this external tool. Below is the log output before applying the proposed patch, when resizing from the left edge of the frame: #### Resize from left edge (before patch) 2025-08-03 08:16:01.306027 ELisp after resize-hook 1924x975-1920+0 1924x975-1920+0 2025-08-03 08:16:08.873112 Obj-C windowWillResize called 2025-08-03 08:16:08.875086 Obj-C windowDidMove called 2025-08-03 08:16:08.984022 ELisp after resize-hook 1917x975-1920+0 1924x975-1920+0 ... 2025-08-03 08:16:09.835766 ELisp after move-hook 1902x975-1901+0 1902x975-1898+0 As you can see, the ELisp hooks (both `window-size-change-functions` and `move-frame-functions`) do not reflect the final window position correctly during resizing from the left edge. After applying the patch, the log becomes: #### Resize from left edge (after patch) 2025-08-03 09:46:54.217436 Obj-C windowWillResize called 2025-08-03 09:46:54.218742 Obj-C windowDidMove called 2025-08-03 09:46:54.218765 Obj-C updateFramePosition called 1882x910-1882+56 2025-08-03 09:46:54.328541 ELisp after resize-hook 1876x938-1882+31 1882x938-1882+31 ... 2025-08-03 09:46:54.979835 ELisp after move-hook 1871x938-1871+31 1871x938-1871+31 The logging confirms that with the patch, the position and size information reported to Lisp is now correctly updated after the resize operation. This should resolve the issue where `move-frame-functions` failed to receive the final frame location during left-edge resizing. From unknown Tue Aug 12 08:31:55 2025 X-Loop: help-debbugs@gnu.org Subject: bug#79164: frame position not updated correctly when resizing from left edge on macOS Resent-From: =?UTF-8?Q?=E5=B7=9D=E6=9C=AC_?= =?UTF-8?Q?=E7=90=A2=E4=BA=8C?= (Dr.Sc.KAWAMOTO,Takuji) Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sun, 03 Aug 2025 07:15:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 79164 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: 79164@debbugs.gnu.org Received: via spool by 79164-submit@debbugs.gnu.org id=B79164.175420525813833 (code B ref 79164); Sun, 03 Aug 2025 07:15:01 +0000 Received: (at 79164) by debbugs.gnu.org; 3 Aug 2025 07:14:18 +0000 Received: from localhost ([127.0.0.1]:41783 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uiSvC-0003b2-3h for submit@debbugs.gnu.org; Sun, 03 Aug 2025 03:14:18 -0400 Received: from mail-pl1-x634.google.com ([2607:f8b0:4864:20::634]:49194) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from ) id 1uiSv9-0003ac-1H for 79164@debbugs.gnu.org; Sun, 03 Aug 2025 03:14:15 -0400 Received: by mail-pl1-x634.google.com with SMTP id d9443c01a7336-23dc5bcf49eso51409605ad.2 for <79164@debbugs.gnu.org>; Sun, 03 Aug 2025 00:14:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1754205248; x=1754810048; darn=debbugs.gnu.org; h=content-transfer-encoding:in-reply-to:content-language:references :to:from:subject:user-agent:mime-version:date:message-id:from:to:cc :subject:date:message-id:reply-to; bh=gSMiGWfqFUzWbOYgTE91FakbjbB2iznMHMygfkX399A=; b=TYk2ptwR92azJMj9xFjR8XIVrXaAs+YRVxyTQTdq5RgNNfjUvAWW3PCHLpqCJmqhmt 962Nbgt3DJCV0p+Xh/zI65yzD3SVsOaURwgA2T4MH5PRqvlvGczvM9dhqIAENeuKMh2j R4/PlZplwsgKJBH/LOi2IB5t8NmBKvy+1v55hl7driyFMdcbwvaPfEZOP+A1SXKueT7z UR3xxih2dpG40mFAkKFwIHRv+9x+BeftVd8DBbocc/SPW929fGS8MJcxJSDc9UXP3CCJ /XI7TX37fbPqN6MPBf72tudHa0bDO/JVzeqnjydNMwF8dIaMNQzcDFizfKsV9DA25geZ z51Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754205248; x=1754810048; h=content-transfer-encoding:in-reply-to:content-language:references :to:from:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=gSMiGWfqFUzWbOYgTE91FakbjbB2iznMHMygfkX399A=; b=ex8vVkQ6XD4NqF6bc9PYeJJreXDNgcceNdry3SIEZZdhLZDqgcZkUd0GboWs1SwWKz etFK4O/SSw6L87WTZXKQ+Z23IgeS+DopDeAH3GAH+55cxg1OZ+YzPlvYYlLqjgORuni/ 1FdAOd65r/84AjKp3EXmEj46gMBrdxTuoC+05SXd506Gcf4eTlgfSwN2HhAB3pRgJdiZ w3PQMJHVE7oqbDyUGtaCZm6fpI05JW35FOR3ME3oN1BObDEA18zYgUZFQ1Turrj8krUj Zkl1vpwtbyR/AGjeYwIWSKTQ0sYUspkwdiniVdAywwTn0cUkjIee+G+TrIA27rxOzqzj 0RbQ== X-Gm-Message-State: AOJu0YycP5zshimHvMWVaxMymIIoDDh9x4v6kvE4/wXff5RySp0xSYEJ 67Atnry8XfpkhDnU2rPzXIIeqN/RzOgRtbVw2sIVHkUC6E8fsO8hyxdhOF4NSQ== X-Gm-Gg: ASbGncuQFZ2FnIZnbjbzMf7k/cxpDnoTdiu85+iblUUbhbUh6M5Ebi7brDkhtk2wUYS nuO8Q+9QKRujHlXVJBVERUnHuKecdTfWewmRuFxBwkGF3cGyPo0aUvr+EMS6mmIgrxCQUSgIr4C WlRV3HYqieiif86xOlnWb8sgGOM5UujFAqXW29JSulakQciW0G9pNShbzafA4/wpI3pTGREjWP3 kuLDo44sbPyzUB5zSc0k0qEpCs3C9JIxwXk0OfG+rOJAp5MiOophzZGhmSvrs72Iq+9o/fETVH3 jqoXm3ohJ5BVATsMGWettH2CzfwJQU+adw8QLOsNPhw/8DAzHscATll3RbhZtGDwn4zrcy0EDHK GdXLqMmbSYDEhJYOgZ+2ZIvg1CxQICAH0YQwH0EgiqQEvgxD1Yg0zrXCHxdsd303aAhSnE6c= X-Google-Smtp-Source: AGHT+IEcVA4yP2OjxRnRmJMM+3cR0+s+YZq5sz84tomSR2TPwkbTsQSIbhVNefyKdmtCy76xEXjBwQ== X-Received: by 2002:a17:902:f70b:b0:23c:7c59:c74e with SMTP id d9443c01a7336-24246d56f13mr71166135ad.0.1754205248442; Sun, 03 Aug 2025 00:14:08 -0700 (PDT) Received: from [192.168.31.18] (87.99.149.114.ap.dti.ne.jp. [114.149.99.87]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-241d1f0f576sm80908935ad.47.2025.08.03.00.14.07 for <79164@debbugs.gnu.org> (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 03 Aug 2025 00:14:07 -0700 (PDT) Message-ID: <1a670230-a772-43dc-9022-1df33ba8f3f3@gmail.com> Date: Sun, 3 Aug 2025 16:14:06 +0900 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird From: =?UTF-8?Q?=E5=B7=9D=E6=9C=AC_?= =?UTF-8?Q?=E7=90=A2=E4=BA=8C?= (Dr.Sc.KAWAMOTO,Takuji) References: <32e9b917-fd4f-4886-8744-90dfe45b7d2e@gmail.com> Content-Language: en-US In-Reply-To: <32e9b917-fd4f-4886-8744-90dfe45b7d2e@gmail.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Hello, Following up on my previous message, here is a more detailed version of the logs I captured during frame resizing. To analyze the issue more precisely, I created an external command `listemacswindows_cocoa` which queries the actual window geometry via macOS APIs. I also added internal logging to Emacs to compare its internal frame state against this external tool during window operations. Below are full logs from when resizing the frame **by dragging the left edge**, before and after applying the patch. --- ### Resize from left edge (before patch) 2025-08-03 08:16:01.306027 ELisp after resize hook 1924x975-1920+0 1924x975-1920+0 2025-08-03 08:16:08.873112 Obj-C windowWillResize called 2025-08-03 08:16:08.875086 Obj-C windowDidMove called 2025-08-03 08:16:08.984022 ELisp after resize hook 1917x975-1920+0 1924x975-1920+0 2025-08-03 08:16:09.049381 Obj-C windowWillResize called 2025-08-03 08:16:09.049736 Obj-C windowDidMove called 2025-08-03 08:16:09.057062 Obj-C windowWillResize called 2025-08-03 08:16:09.057092 Obj-C windowDidMove called 2025-08-03 08:16:09.127564 ELisp after resize hook 1908x975-1905+0 1917x975-1913+0 2025-08-03 08:16:09.187194 Obj-C windowWillResize called 2025-08-03 08:16:09.187235 Obj-C windowDidMove called 2025-08-03 08:16:09.258766 ELisp after resize hook 1905x975-1904+0 1908x975-1904+0 2025-08-03 08:16:09.317012 Obj-C windowWillResize called 2025-08-03 08:16:09.317461 Obj-C windowDidMove called 2025-08-03 08:16:09.393941 ELisp after resize hook 1902x975-1901+0 1905x975-1901+0 2025-08-03 08:16:09.587080 ELisp after move hook     1902x975-1901+0 1902x975-1898+0 2025-08-03 08:16:09.655081 ELisp after move hook     1902x975-1901+0 1902x975-1898+0 2025-08-03 08:16:09.718153 ELisp after move hook     1902x975-1901+0 1902x975-1898+0 2025-08-03 08:16:09.777682 ELisp after move hook     1902x975-1901+0 1902x975-1898+0 2025-08-03 08:16:09.835766 ELisp after move hook     1902x975-1901+0 1902x975-1898+0 As you can see, `move-frame-functions` and `window-size-change-functions` receive frame positions that are **out of sync** with the actual window state during the resize operation. --- ### Resize from left edge (after applying the patch) 2025-08-03 09:46:54.217436 Obj-C windowWillResize called 2025-08-03 09:46:54.218742 Obj-C windowDidMove called 2025-08-03 09:46:54.218765 Obj-C updateFramePosition called 1882x910-1882+56 2025-08-03 09:46:54.328541 ELisp after resize hook 1876x938-1882+31 1882x938-1882+31 2025-08-03 09:46:54.390137 Obj-C windowWillResize called 2025-08-03 09:46:54.390463 Obj-C windowDidMove called 2025-08-03 09:46:54.390468 Obj-C updateFramePosition called 1876x910-1882+56 2025-08-03 09:46:54.462142 ELisp after resize hook 1872x938-1876+31 1876x938-1876+31 2025-08-03 09:46:54.515893 Obj-C windowWillResize called 2025-08-03 09:46:54.515931 Obj-C windowDidMove called 2025-08-03 09:46:54.515936 Obj-C updateFramePosition called 1872x910-1876+56 2025-08-03 09:46:54.587742 ELisp after resize hook 1871x938-1872+31 1872x938-1872+31 2025-08-03 09:46:54.704831 Obj-C windowDidEndLiveResize called 2025-08-03 09:46:54.704848 Obj-C updateFramePosition called 1871x910-1872+56 2025-08-03 09:46:54.798062 ELisp after move hook  1871x938-1871+31 1871x938-1871+31 2025-08-03 09:46:54.861957 ELisp after move hook  1871x938-1871+31 1871x938-1871+31 2025-08-03 09:46:54.921596 ELisp after move hook  1871x938-1871+31 1871x938-1871+31 2025-08-03 09:46:54.979835 ELisp after move hook  1871x938-1871+31 1871x938-1871+31 After the patch is applied, the internal frame position becomes consistent with what is reported by the system. The final `move-frame-functions` call correctly reflects the final position at the end of the resizing operation. This confirms that the proposed patch resolves the original inconsistency. Best regards, Dr.Sc.KAWAMOTO, Takuji From unknown Tue Aug 12 08:31:55 2025 X-Loop: help-debbugs@gnu.org Subject: bug#79164: [PATCH] Fix macOS frame position update after resize/move in nsterm.m Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 04 Aug 2025 12:00:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 79164 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: =?UTF-8?Q?=E5=B7=9D=E6=9C=AC_?= =?UTF-8?Q?=E7=90=A2=E4=BA=8C?=(Dr.Sc.KAWAMOTO, Takuji) , Gerd =?UTF-8?Q?M=C3=B6llmann?= , Alan Third Cc: 79164@debbugs.gnu.org Received: via spool by 79164-submit@debbugs.gnu.org id=B79164.17543087612060 (code B ref 79164); Mon, 04 Aug 2025 12:00:02 +0000 Received: (at 79164) by debbugs.gnu.org; 4 Aug 2025 11:59:21 +0000 Received: from localhost ([127.0.0.1]:49574 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uitqa-0000XA-OG for submit@debbugs.gnu.org; Mon, 04 Aug 2025 07:59:21 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:55582) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1uitqY-0000Wt-T1 for 79164@debbugs.gnu.org; Mon, 04 Aug 2025 07:59:19 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uitqS-0005Fr-Qm; Mon, 04 Aug 2025 07:59:12 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-version:References:Subject:In-Reply-To:To:From: Date; bh=TOMRSIej7/hT1oJjE07d866lTjYHjca7SsC/SRpn52o=; b=F2MPsccOXLT7QF+aADey 5lb4jG+QqYd/QRdYEB40qe/n5kawYGkcRpCGkiwzMh2HFI+l30F1KsP+DFOOkpRTfpLOXq0AeAdrk UT2oLVi5P3xniGigx7c3mTeX5xNmjsNOsq1jifD/fHBIj8Uj/M4XuuTenoDaX03No/PhOxDX/+wbe dUIqnfaeZPPKSjdfaZCefpk5n2Hkw5njIgMBrk6OSOAvnQsn5AzqsEn5/Dr5AXx8zWRVXrMyj/HbA TdGL7W3fd8mQRxpHJhIevMNF9V/N+O1KDpQZBg8ZNYLWQqcBCZ+fnMZwh/Jv3OWz9esWTQ+Oh+JKr FNETPG2Tim/Ecg==; Date: Mon, 04 Aug 2025 14:58:42 +0300 Message-Id: <86sei7wb65.fsf@gnu.org> From: Eli Zaretskii In-Reply-To: (kawamoto.takuji@gmail.com) References: MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > Date: Sun, 3 Aug 2025 15:45:25 +0900 > From: 川本 琢二 > (Dr.Sc.KAWAMOTO, Takuji) > > This patch addresses a bug in the macOS build of Emacs, where frame > position was not correctly updated after resizing from the left edge. > > In particular, it fixes the issue reported in bug#74074, where > the move-frame-functions hook does not reliably reflect the final > frame location after resizing. This patch introduces the > updateFramePosition method, which is called from windowDidMove > and windowDidEndLiveResize to ensure the frame geometry stays > in sync with the actual macOS window position. > > Tested on macOS 15.5. Thanks, I hope the macOS experts (CC'ed) will be able to review and test the patch. For the record: which Emacs version did you patch with this change? From unknown Tue Aug 12 08:31:55 2025 X-Loop: help-debbugs@gnu.org Subject: bug#79164: [PATCH] Fix macOS frame position update after resize/move in nsterm.m Resent-From: =?UTF-8?Q?=E5=B7=9D=E6=9C=AC_?= =?UTF-8?Q?=E7=90=A2=E4=BA=8C?= (Dr.Sc.KAWAMOTO,Takuji) Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 04 Aug 2025 12:20:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 79164 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Eli Zaretskii , Gerd =?UTF-8?Q?M=C3=B6llmann?= , Alan Third Cc: 79164@debbugs.gnu.org Received: via spool by 79164-submit@debbugs.gnu.org id=B79164.17543099515954 (code B ref 79164); Mon, 04 Aug 2025 12:20:02 +0000 Received: (at 79164) by debbugs.gnu.org; 4 Aug 2025 12:19:11 +0000 Received: from localhost ([127.0.0.1]:49610 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uiu9m-0001Xy-E4 for submit@debbugs.gnu.org; Mon, 04 Aug 2025 08:19:10 -0400 Received: from mail-pl1-x633.google.com ([2607:f8b0:4864:20::633]:58390) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from ) id 1uiu9k-0001XU-9S for 79164@debbugs.gnu.org; Mon, 04 Aug 2025 08:19:09 -0400 Received: by mail-pl1-x633.google.com with SMTP id d9443c01a7336-24014cd385bso37521825ad.0 for <79164@debbugs.gnu.org>; Mon, 04 Aug 2025 05:19:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1754309942; x=1754914742; darn=debbugs.gnu.org; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=Tnwsbvu6xL5LFcp9uFptPN2nBlnVaExq9hvnKTYDIVg=; b=TkzndGmQvcS1agHqTq9guBgZ2lPB2ZBUYlyJ69XdOVdicfdVLrNGL74ffROE2lYiZ3 qk4TjGmS0sARGO+atNMuSf8NBEm8y4ABnUnXSBxdiJYsLKEKeEMDXRmgMIxa9fJIwkeX oXp8A7am2rnpmDYWbJvc3VBI5QHDZOybKvWmeHF5Q1rVG7mflsfZt5WH4p16km2gtgBR /OImytcIC8ylDpA1V4oy+xotptlJkzHeyQJklZ1qLi3P8ZEDbVZDsCEH94N/FR2h/Ayi R069/VIUNJF35rzERWIIjiNq/TUVAZwo2Vyudr4PZ0KvxOYYVNE3q6vnmHWAWP+YFcZf r1pQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754309942; x=1754914742; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=Tnwsbvu6xL5LFcp9uFptPN2nBlnVaExq9hvnKTYDIVg=; b=wqI/z8LIw67POUVxJCCdRzOCqFjPwI2WJQhUbYY2eknTIt2CogkMX/1q7L6CGoms0k hCkjcPJk7npV+JO4lPRV2bjc9wGAv1hSqRUAN0b6f9vjXFYX40kiqrEfPnaSfO9ug5tH kolo38zOe2Pmx2KJUJrYL1sgoSixHd7rMeUgbKFCiZXk8otwIMGLqyrJWH2NEI0mceiX j8lYsqQ9l0I1bQLsNqLBMGxxTfJ8v9/KE8625wl3cc9eJayxVk7i2iJsghhadE8zFeML 8JEy3aOjUTLeMmtgxJzdXXZOimQm+2orgZArNtNIGFaNiyMMs9ZkwBDCUpZgmcxkuU5i EHEw== X-Gm-Message-State: AOJu0Ywhh1xto4as/kO4MhvDOKjb6HMCYA3t1SzU38x+Pz2jjcNO0mzu tuqHi5hsXli0JIU7s/RMqhJgRDLWR0sUzWlHkpbzLZUOJQxafZEc7mhL X-Gm-Gg: ASbGncu9MUMnaaZDLP1oejIEzgkHpRKhC4BDfQyNid7VIKaJ7PQQc9W2AjCn6/0QcPQ MHBeU377A1D0SA5+6PJ9aLREoVtN/YGgfRonh8Bkvra+H2zvWINH6va/PIerUYmvcjIr15eAAQs byvBIV4sdlevay81n6DVWRkvYOC1BqYWH2w3qSCuCW5hT1VxYMEi5e+5lyQqxnBVgi6LhPlKxnp gnw36hNlkkrZQc0jBPwkE4zcCy8bAJZJcyir9lUfjqxLLLCt0e47Az/pyu03ePQABQdzhCZej05 RkCMNvI7paJdsiBhCjqjzwUXPURBncyrVD3FC9e5EtNvZTmUcxh7ALglymZpV1yzmO0KTdArVij b20VJkqEIE4xBrpCj+/WjJhJK8xuysurV9e5C5dsDb3yYM8OINKaiRBCjkH/Mgyyg2tVHPOI= X-Google-Smtp-Source: AGHT+IGbBxbkGeMNkV24nNjVSHZdtgLHb0GPfsxuFo22+2kCwTVMNuz3Vkl5/AAvSxPfYYiLMY6GeQ== X-Received: by 2002:a17:902:da8c:b0:240:ce24:20a0 with SMTP id d9443c01a7336-24246f2d3d1mr124126225ad.11.1754309941899; Mon, 04 Aug 2025 05:19:01 -0700 (PDT) Received: from [192.168.31.18] (87.99.149.114.ap.dti.ne.jp. [114.149.99.87]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-241e89a077csm108075345ad.138.2025.08.04.05.19.00 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 04 Aug 2025 05:19:01 -0700 (PDT) Message-ID: <706ef9ce-91f6-44cb-a1ef-43f71eb82274@gmail.com> Date: Mon, 4 Aug 2025 21:18:58 +0900 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird References: <86sei7wb65.fsf@gnu.org> Content-Language: en-US From: =?UTF-8?Q?=E5=B7=9D=E6=9C=AC_?= =?UTF-8?Q?=E7=90=A2=E4=BA=8C?= (Dr.Sc.KAWAMOTO,Takuji) In-Reply-To: <86sei7wb65.fsf@gnu.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Thank you. For the record, the patch was applied and tested against the latest master branch of Emacs as of 2025-07-20. The base commit was:     commit e6c1ec71b72  [Define setfunction for bibtex-generate-url-list (bug#78798)] I built and tested on macOS 15.5 (Sonoma) using native compilation enabled (`--with-native-compilation`),  and verified the fix by tracking both Emacs's internal frame state and actual macOS-reported window geometry during left-edge resize operations. Best regards, Dr.Sc.KAWAMOTO, Takuji On 2025/08/04 20:58, Eli Zaretskii wrote: >> ate: Sun, 3 Aug 2025 15:45:25 +0900 >> From: 川本 琢二 >> (Dr.Sc.KAWAMOTO, Takuji) >> >> This patch addresses a bug in the macOS build of Emacs, where frame >> position was not correctly updated after resizing from the left edge. >> >> In particular, it fixes the issue reported in bug#74074, where >> the move-frame-functions hook does not reliably reflect the final >> frame location after resizing. This patch introduces the >> updateFramePosition method, which is called from windowDidMove >> and windowDidEndLiveResize to ensure the frame geometry stays >> in sync with the actual macOS window position. >> >> Tested on macOS 15.5. > Thanks, I hope the macOS experts (CC'ed) will be able to review and > test the patch. > > For the record: which Emacs version did you patch with this change? From unknown Tue Aug 12 08:31:55 2025 X-Loop: help-debbugs@gnu.org Subject: bug#79164: [PATCH] Fix macOS frame position update after resize/move in nsterm.m Resent-From: Gerd =?UTF-8?Q?M=C3=B6llmann?= Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 04 Aug 2025 13:13:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 79164 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: =?UTF-8?Q?=E5=B7=9D=E6=9C=AC_?= =?UTF-8?Q?=E7=90=A2=E4=BA=8C?= (Dr.Sc.KAWAMOTO,Takuji) Cc: 79164@debbugs.gnu.org, Eli Zaretskii , Alan Third Received: via spool by 79164-submit@debbugs.gnu.org id=B79164.175431312316309 (code B ref 79164); Mon, 04 Aug 2025 13:13:01 +0000 Received: (at 79164) by debbugs.gnu.org; 4 Aug 2025 13:12:03 +0000 Received: from localhost ([127.0.0.1]:49701 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uiuyw-0004Ez-Tk for submit@debbugs.gnu.org; Mon, 04 Aug 2025 09:12:03 -0400 Received: from mail-wr1-x429.google.com ([2a00:1450:4864:20::429]:50396) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from ) id 1uiuyu-0004ET-JS for 79164@debbugs.gnu.org; Mon, 04 Aug 2025 09:12:01 -0400 Received: by mail-wr1-x429.google.com with SMTP id ffacd0b85a97d-3b79bddd604so2837810f8f.0 for <79164@debbugs.gnu.org>; Mon, 04 Aug 2025 06:12:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1754313114; x=1754917914; darn=debbugs.gnu.org; h=content-transfer-encoding:mime-version:user-agent:message-id:date :references:in-reply-to:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=e6fYs90zW8aY9ZANrrryjqA/VTAGFdR/sTJV2x3r7EU=; b=c6+g69e7lJsXDdMDN1mvts8eW4CuCWcwYsImjDg+zfj42bCgUOdRooZ2FZMeh4RlPV ttp4vBjsVCfLZijZ7yT2K6lHjY4Y3Cb84i9zK6nOWefRn3dAcjjPDYUldfRpV4lwAYQp 0mAuCt5m/zlenmxMzYW2hq9VG8lvB0+/DKb6TtNZeV9KAlHOP9XdpojoxLgqE16XEqEH 4wP22JW22MsH0NdV6vhAUy1lQny/MYZzY3caUopCBMmVk1ix23ggQWucJk0AZVfa8Nne t+3lkn7XKJ3cEqK8k28mJvPC+FbNTaLPyMNcK0HbxbfqFKm4Mr3LUZazw16niyeI75Fw Mzmg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754313114; x=1754917914; h=content-transfer-encoding:mime-version:user-agent:message-id:date :references:in-reply-to:subject:cc:to:from:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=e6fYs90zW8aY9ZANrrryjqA/VTAGFdR/sTJV2x3r7EU=; b=hA5AbC+r970VENReV8Q7IQyz1UVZYmnTO7r0HjyAX2/SBMtmmTMIiN00Be7jtyCnGb h5D1xWCqOo4TB76fnq9YXlMsbrFh5Cjr+1RzjgZbUZ86oRjFFy/ab2V3YGqb1wb1R4JP YikcZqqlT01vxT4BQJ2xl9vLV/803u8xdcyNRivlZQWK1mBuSPxedRfLmbIWQNaVCaag sTsZs8ZpJTKipYxiJ3hCrN2olI1ltX6hKnI2pvCcELxtzYl+UutQ2vZcvZdNT8r+OWQY q2k/oysiHXIHSReopvDA/QITKGl2Hw8kiOPcDTY9TX25o1pcS8W6TdY5z8eLCSqNoidR Wplw== X-Forwarded-Encrypted: i=1; AJvYcCW6xcvKwzovTjvDipy9v57/lba+fYaVPm3mY8ZFdL1llvqPueZD1DmNqx/wKgBRBaMHqCgaRQ==@debbugs.gnu.org X-Gm-Message-State: AOJu0YxtVhX7eOkjVM7bUBTWxTy1+GstxSK0rkgViexvJuOnzMFAfxK1 VF9cFwZ7DuMPo5+WVaYeCG0RtJFGSDmlWkJfxin+oAuS1MwM1setgK/Z+1OzKbwi X-Gm-Gg: ASbGncuZ/5EHeqf9YKVEIeMIRUV4Jt6+najSMEg1Zex20Gw6y/2YkCzkIMH7FQwjhhJ CKv2m+ujROGa64oDk5u6g6DDLlgWrNWf/ZtrzN9LPyVc128zG3y+sDPprQ3Z06RxrW4lHDTdNYw 7XOeb2/Bw+pBypJnjJbgcirdycKedKCBwnMXCXlBebQN3Dk5kmXj96hSquAFTLf7Gbx5TCbhbR4 yw2Q/et2Nsvs+ASSCjgwxcv+3fuR49bxWBMl652R85dEKjPtF1TpKGlpbIN+cBHrik6TaNbeIsU MY0RhIVLlaJnharMMk/vhqXpeZ77lJgHdkYTFpjGJTWrx/dVvM92Z8eI4uBi+mJkCQJMnFGWtyF itRRIQEEbAGGGjUbVoaGap+gvnXc4vTVAdqfJ1D47PILeTma1VhMWdBEpJHwqPzIvlP/QaUwmi8 NnKIhX5mMs94obY0bvURzHG9IS1A== X-Google-Smtp-Source: AGHT+IGDEIE5Pgq70ZZsrFJQHzwpVCwQ3rN0BEvcC2u9XSezCo1JEJpcYtJeAzW/nKYPJM59PH2Ypg== X-Received: by 2002:a05:6000:2a11:b0:3b8:eb7d:910c with SMTP id ffacd0b85a97d-3b8eb7d9159mr7596f8f.43.1754313113976; Mon, 04 Aug 2025 06:11:53 -0700 (PDT) Received: from pro2 (p200300e0b71caa008d4291c38ce1acee.dip0.t-ipconnect.de. [2003:e0:b71c:aa00:8d42:91c3:8ce1:acee]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-458a3038121sm172478675e9.1.2025.08.04.06.11.53 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 04 Aug 2025 06:11:53 -0700 (PDT) From: Gerd =?UTF-8?Q?M=C3=B6llmann?= In-Reply-To: <706ef9ce-91f6-44cb-a1ef-43f71eb82274@gmail.com> References: <86sei7wb65.fsf@gnu.org> <706ef9ce-91f6-44cb-a1ef-43f71eb82274@gmail.com> Date: Mon, 04 Aug 2025 15:11:52 +0200 Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) "=E5=B7=9D=E6=9C=AC =E7=90=A2=E4=BA=8C (Dr.Sc.KAWAMOTO,Takuji)" writes: > Thank you. > > For the record, the patch was applied and tested against the latest > master branch of Emacs as of 2025-07-20. > The base commit was: > > =C2=A0 =C2=A0 commit e6c1ec71b72=C2=A0 [Define setfunction for > bibtex-generate-url-list (bug#78798)] > > I built and tested on macOS 15.5 (Sonoma) using native compilation > enabled (`--with-native-compilation`), > =C2=A0and verified the fix by tracking both Emacs's internal frame state > and actual macOS-reported window > geometry during left-edge resize operations. > > Best regards, > Dr.Sc.KAWAMOTO, Takuji > On 2025/08/04 20:58, Eli Zaretskii wrote: >>> ate: Sun, 3 Aug 2025 15:45:25 +0900 >>> From: =E5=B7=9D=E6=9C=AC =E7=90=A2=E4=BA=8C >>> (Dr.Sc.KAWAMOTO, Takuji) >>> >>> This patch addresses a bug in the macOS build of Emacs, where frame >>> position was not correctly updated after resizing from the left edge. >>> >>> In particular, it fixes the issue reported in bug#74074, where >>> the move-frame-functions hook does not reliably reflect the final >>> frame location after resizing. This patch introduces the >>> updateFramePosition method, which is called from windowDidMove >>> and windowDidEndLiveResize to ensure the frame geometry stays >>> in sync with the actual macOS window position. >>> >>> Tested on macOS 15.5. >> Thanks, I hope the macOS experts (CC'ed) will be able to review and >> test the patch. >> >> For the record: which Emacs version did you patch with this change? I'm afraid that goes beyond my knowledge. But I can say that Yamamoto-san's mac uses these methods, too: https://github.com/jdtsmith/emacs-mac/blob/emacs-mac-30_1_exp/src/macappk= it.m and it does seems to work correctly.=20 From unknown Tue Aug 12 08:31:55 2025 X-Loop: help-debbugs@gnu.org Subject: bug#79164: [PATCH] Fix macOS frame position update after resize/move in nsterm.m Resent-From: Alan Third Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 04 Aug 2025 15:46:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 79164 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Eli Zaretskii Cc: Gerd =?UTF-8?Q?M=C3=B6llmann?= , 79164@debbugs.gnu.org, =?UTF-8?Q?=E5=B7=9D=E6=9C=AC_?= =?UTF-8?Q?=E7=90=A2=E4=BA=8C?=(Dr.Sc.KAWAMOTO, Takuji) Received: via spool by 79164-submit@debbugs.gnu.org id=B79164.175432234418124 (code B ref 79164); Mon, 04 Aug 2025 15:46:02 +0000 Received: (at 79164) by debbugs.gnu.org; 4 Aug 2025 15:45:44 +0000 Received: from localhost ([127.0.0.1]:52458 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uixNf-0004iD-RU for submit@debbugs.gnu.org; Mon, 04 Aug 2025 11:45:44 -0400 Received: from dane.soverin.net ([2a10:de80:1:4092:b9e9:2294:0:1]:58253) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from ) id 1uixNa-0004hm-Tr for 79164@debbugs.gnu.org; Mon, 04 Aug 2025 11:45:43 -0400 Received: from smtp.soverin.net (c04smtp-lb01.int.sover.in [10.10.4.74]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by dane.soverin.net (Postfix) with ESMTPS id 4bwgqt2cRPz2xBN; Mon, 4 Aug 2025 15:45:30 +0000 (UTC) Received: from smtp.soverin.net (smtp.soverin.net [10.10.4.100]) by soverin.net (Postfix) with ESMTPSA id 4bwgqs6RBjzBR; Mon, 4 Aug 2025 15:45:29 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=idiocy.org; s=soverin; t=1754322330; bh=hJyeiOhphjCCeBhHrpn0btZ9+jeElfrkP2a9atH1IwU=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=LReYOaj9h/xW8mb0Vi65T3/A2OkQtmrgcUpzuNSPs3arFncYtEfa9kjmOeqoAF0rY L64tDSeIwASW2aJTHIPoWWQ50LYFmVexsNHsr6pzRaqXhS0EspIUzYbQ2GmOULTX5H ID+3yZTrGz9EfpG05Un+t1b7gepvG15EvQBDxvMMX2p5qP7wBu7fVG7ZIxQt4RkoUR NeZx3xliJ++y0mCtOunzfDUogzPi1HrxgMUDt3774VPi2L5qwLrwHWJJNXM/tZXNGF My0dKyM1bIr42hxidI3g//aqGE/Ysk0+6puzB+lPufDy2OiP+afcR8DtoFE1peAKxp dFJ8aNHD9kBrg== X-CM-Envelope: MS4xfPuiO59gEGnb2HRO/aSHXwxftu8BGT+dgHBVO4pPOsBwmppojDhEqd4KHDccDZK6mV6FTRvEwF3r9+Ecc2INHbED50Oym//CZ/omrqVlX6um4pfv10Tj i0I08TQsaB0NAx1kEDlltJRT+Fi093CIbRvR9cnfKqETAMJxuk6GgXac010kzGBz7N+Jk6o69lKUHnAGXmB8FGjaVKeh9R9xn6UYyDXKnYToVfgS4av0QPD6 lRT+S3FCW8JNa1QbFqrDZU7i8zVAnsFcIHJ5gDkK68Cvk6Q9J5cMkDBfU0ZzrgYlX51tiw2xwTxaqvF/8FlASLL6RNq7H0ceMh1UGT7eL4I= X-CM-Analysis: v=2.4 cv=d/oPyQjE c=1 sm=1 tr=0 ts=6890d59a a=jLPApCaZQJLf8EjtaFChpw==:617 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=pGLkceISAAAA:8 a=ngdcLIy3-vVLJf9z8lsA:9 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10 Date: Mon, 4 Aug 2025 16:45:27 +0100 From: Alan Third Message-ID: Mail-Followup-To: Alan Third , Eli Zaretskii , =?UTF-8?Q?=E5=B7=9D=E6=9C=AC_?= =?UTF-8?Q?=E7=90=A2=E4=BA=8C?=(Dr.Sc.KAWAMOTO, Takuji) , Gerd =?UTF-8?Q?M=C3=B6llmann?= , 79164@debbugs.gnu.org References: <86sei7wb65.fsf@gnu.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <86sei7wb65.fsf@gnu.org> X-Spampanel-Class: ham X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) On Mon, Aug 04, 2025 at 02:58:42PM +0300, Eli Zaretskii wrote: > > Date: Sun, 3 Aug 2025 15:45:25 +0900 > > From: 川本 琢二 > > (Dr.Sc.KAWAMOTO, Takuji) > > > > This patch addresses a bug in the macOS build of Emacs, where frame > > position was not correctly updated after resizing from the left edge. > > > > In particular, it fixes the issue reported in bug#74074, where > > the move-frame-functions hook does not reliably reflect the final > > frame location after resizing. This patch introduces the > > updateFramePosition method, which is called from windowDidMove > > and windowDidEndLiveResize to ensure the frame geometry stays > > in sync with the actual macOS window position. > > > > Tested on macOS 15.5. > > Thanks, I hope the macOS experts (CC'ed) will be able to review and > test the patch. This all looks good to me. The patch looks good and the explanation and testing too. Unfortunately I can't apply the patch, I think it's had long-lines wrapped by the email client. Can you please resend it? Thanks! -- Alan Third From unknown Tue Aug 12 08:31:55 2025 X-Loop: help-debbugs@gnu.org Subject: bug#79164: [PATCH] Fix macOS frame position update after resize/move in nsterm.m Resent-From: =?UTF-8?Q?=E5=B7=9D=E6=9C=AC_?= =?UTF-8?Q?=E7=90=A2=E4=BA=8C?= (Dr.Sc.KAWAMOTO,Takuji) Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 05 Aug 2025 11:16:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 79164 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Alan Third , Eli Zaretskii , Gerd =?UTF-8?Q?M=C3=B6llmann?= , 79164@debbugs.gnu.org Received: via spool by 79164-submit@debbugs.gnu.org id=B79164.175439252618931 (code B ref 79164); Tue, 05 Aug 2025 11:16:02 +0000 Received: (at 79164) by debbugs.gnu.org; 5 Aug 2025 11:15:26 +0000 Received: from localhost ([127.0.0.1]:53868 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ujFdd-0004vH-Fl for submit@debbugs.gnu.org; Tue, 05 Aug 2025 07:15:25 -0400 Received: from mail-pl1-x62b.google.com ([2607:f8b0:4864:20::62b]:42254) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from ) id 1ujFda-0004v2-NF for 79164@debbugs.gnu.org; Tue, 05 Aug 2025 07:15:23 -0400 Received: by mail-pl1-x62b.google.com with SMTP id d9443c01a7336-24031a3e05cso38090565ad.1 for <79164@debbugs.gnu.org>; Tue, 05 Aug 2025 04:15:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1754392516; x=1754997316; darn=debbugs.gnu.org; h=in-reply-to:from:content-language:references:to:subject:user-agent :mime-version:date:message-id:from:to:cc:subject:date:message-id :reply-to; bh=3k8Q7HsgBlzd/Hq/BxA8Jlb6QOVTruO6d+1raZQR2Ws=; b=drd7AmXHZCYu8mOPG1PtyPiIffn4Dtrsmy94rjzhxPBWzhpy4bUxzrhjxYOzgMYHhl tGBcN4/T4aMOA8BJ8VGf03J5KctLI1+cYkRfAjB5W66Hkhn1cLettxobPQbqVqdfYEA1 J38f8E01oRr0KnD3FKH2SDeV8x/iqBQ5GICjuxQA66NSLDf+YYoMFruTV8jMZ4cbbJdq y4mxAWFDL5sW8Tz+7je239YO0rODeyCdOkn3OUH+a1Qm3Yp8ZuLzHovXPfEqg08IRQcv 9wuGZaHoGrmVbKUeFF9NEjVozhe3wj/5T0t2EM1a9lE06sfC6A34WN6NaPD3CEi04XLi 39qg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754392516; x=1754997316; h=in-reply-to:from:content-language:references:to:subject:user-agent :mime-version:date:message-id:x-gm-message-state:from:to:cc:subject :date:message-id:reply-to; bh=3k8Q7HsgBlzd/Hq/BxA8Jlb6QOVTruO6d+1raZQR2Ws=; b=AS2baWVtAYJrfIt1EeZ5yxv+jNuJbhRgMm+tGpH55UIajIjkz2KVIkbO2vKDzVdK0m 0gflTpYU3bcLQs/iiHzs4GjNHUGUFbNJ+qlM5mJ3ZPGczDm4WloWBkfpcZIxVWtOeduo RlF3Z8gXuORoqg7hGYfg/tcrxzCbMisrLzY6DMo9w4Tb8JVFtKDyt7v6h0gM0nXzJiu4 TsnQIh9+r69p6XRvD3MMGu2b3p+gaBwXdmStv6BhdrPdmumSit4PWhqsGM0K5O8Rpq/m UYxNhKtEHh26ezJVmtF0+hZ+CW/PcuKElMBWpgUT8j48okt66zRfMdJ7cmNY8m8fHApW EG2g== X-Forwarded-Encrypted: i=1; AJvYcCUvJYLYQmOFlscJcZTYQJVsH5CiJ2DxIrq0PUla6HZ7dkNq/d66pa5RJeFJQTWKtUNSXSarDg==@debbugs.gnu.org X-Gm-Message-State: AOJu0YzimWjEJbT7nudQigVzZVojOuhVOdX6Uss9urIbgUZzWva7xA2I haFG2bR3ll+VPWsy1f7LttETu0KyEui3/HlNkbXpP7pitnOGs65VcTUf X-Gm-Gg: ASbGncvj1p8D4XZDnd2Vr5NS2ceo7QLrlvRFOWXRcj3pJDFXlKxKkTj39Vbi4t2+yLV PDpryCni/d7IGaYSJZVnVBErtd3TsZyrQfXJqz6pdMVptvr28YhJn4+dKSYFSgJlSHcBh9E+lxl kejD/WiAem6Otc7g3S2BDrxWvZh2+hobSebE7lBaCANUtba9/Jc2hehb+NoxTonfeM8vF7NeuaX pZrm9VTRFVHWEqcXIqMSt8T6D5bjgCz48eyZRYdtjfy7NE/CmqgoKbivE2ma+qq2eSKi4Xz8hSk MHcY1//MN7I+DJFBhGXp64muysYUa+qaKnVCFaIirmXxwtpW5cBslS+vmUB63Pj3xkOjEcDaC+5 mOaBca5NN6iamu0KoNE75kWACf8eHYGQfIes8/n6jQS2RZNSD100o0grxWUDN/ujXeCO6IyY= X-Google-Smtp-Source: AGHT+IFfZ+zG/zUqcJkscUNutpRrqmJ36tzDXTvwAbGHl6LroInELGfd8sLSQo59uSiU2afV4mNtqQ== X-Received: by 2002:a17:903:1c2:b0:235:f091:11e5 with SMTP id d9443c01a7336-24288d209ffmr44881865ad.10.1754392516270; Tue, 05 Aug 2025 04:15:16 -0700 (PDT) Received: from [192.168.31.18] (87.99.149.114.ap.dti.ne.jp. [114.149.99.87]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-241e8975a66sm130168395ad.95.2025.08.05.04.15.12 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 05 Aug 2025 04:15:14 -0700 (PDT) Content-Type: multipart/mixed; boundary="------------Jhs0Ja0DG7ecp00CMrWeTkxy" Message-ID: Date: Tue, 5 Aug 2025 20:15:11 +0900 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird References: <86sei7wb65.fsf@gnu.org> Content-Language: en-US From: =?UTF-8?Q?=E5=B7=9D=E6=9C=AC_?= =?UTF-8?Q?=E7=90=A2=E4=BA=8C?= (Dr.Sc.KAWAMOTO,Takuji) In-Reply-To: X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) This is a multi-part message in MIME format. --------------Jhs0Ja0DG7ecp00CMrWeTkxy Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Hi, Thank you for the feedback. I’m resending the patch as an attachment to avoid line wrapping issues. This patch is generated from the latest master branch of Emacs as of 2025-07-20.     commit e6c1ec71b72  [Define setfunction for bibtex-generate-url-list (bug#78798)] Best regards, TDr.Sc.KAWAMOTO, Takuji On 2025/08/05 0:45, Alan Third wrote: >>> Date: Sun, 3 Aug 2025 15:45:25 +0900 >>> From: 川本 琢二 >>> (Dr.Sc.KAWAMOTO, Takuji) >>> >>> This patch addresses a bug in the macOS build of Emacs, where frame >>> position was not correctly updated after resizing from the left edge. >>> >>> In particular, it fixes the issue reported in bug#74074, where >>> the move-frame-functions hook does not reliably reflect the final >>> frame location after resizing. This patch introduces the >>> updateFramePosition method, which is called from windowDidMove >>> and windowDidEndLiveResize to ensure the frame geometry stays >>> in sync with the actual macOS window position. >>> >>> Tested on macOS 15.5. >> Thanks, I hope the macOS experts (CC'ed) will be able to review and >> test the patch. > This all looks good to me. The patch looks good and the explanation > and testing too. > > Unfortunately I can't apply the patch, I think it's had long-lines > wrapped by the email client. Can you please resend it? > > Thanks! --------------Jhs0Ja0DG7ecp00CMrWeTkxy Content-Type: text/plain; charset=UTF-8; name="fix.patch" Content-Disposition: attachment; filename="fix.patch" Content-Transfer-Encoding: base64 RnJvbSA1OTk1ZjE5NzgyZDQxNGEzOTJiZDc2OWQ4YmI3MTJlODk2NGUyYTE2IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiAiRHIuU2MuS0FXQU1PVE8sVGFrdWppIiA8a2F3YW1v dG8udGFrdWppQGdtYWlsLmNvbT4KRGF0ZTogU2F0LCAyIEF1ZyAyMDI1IDEzOjE1OjA2ICsw OTAwClN1YmplY3Q6IFtQQVRDSF0gRml4IG1hY09TIGZyYW1lIHBvc2l0aW9uIHVwZGF0ZSBh ZnRlciByZXNpemUvbW92ZSBpbiBuc3Rlcm0ubQoKLS0tCiBzcmMvbnN0ZXJtLm0gfCA2MyAr KysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAx IGZpbGUgY2hhbmdlZCwgMzcgaW5zZXJ0aW9ucygrKSwgMjYgZGVsZXRpb25zKC0pCgpkaWZm IC0tZ2l0IGEvc3JjL25zdGVybS5tIGIvc3JjL25zdGVybS5tCmluZGV4IDAwM2FhZGI5Nzgy Li4zZGIwMDJkOTY3OCAxMDA2NDQKLS0tIGEvc3JjL25zdGVybS5tCisrKyBiL3NyYy9uc3Rl cm0ubQpAQCAtNjczNiw2ICs2NzM2LDExIEBAIC0gKEJPT0wpZnVsZmlsbFNlcnZpY2U6IChO U1N0cmluZyAqKW5hbWUgd2l0aEFyZzogKE5TU3RyaW5nICopYXJnCiAKIEBpbXBsZW1lbnRh dGlvbiBFbWFjc1ZpZXcKIAorLSAodm9pZCl3aW5kb3dEaWRFbmRMaXZlUmVzaXplOihOU05v dGlmaWNhdGlvbiAqKW5vdGlmaWNhdGlvbgoreworICBbc2VsZiB1cGRhdGVGcmFtZVBvc2l0 aW9uXTsKK30KKwogLyogTmVlZGVkIHRvIGluZm9ybSB3aGVuIHdpbmRvdyBjbG9zZWQgZnJv bSBsaXNwLiAgKi8KIC0gKHZvaWQpIHNldFdpbmRvd0Nsb3Npbmc6IChCT09MKWNsb3NpbmcK IHsKQEAgLTc4NzEsNiArNzg3NiwzNyBAQCAtIChCT09MKXdpbmRvd1Nob3VsZENsb3NlOiAo aWQpc2VuZGVyCiB9CiAKIAorLSAodm9pZCl1cGRhdGVGcmFtZVBvc2l0aW9uCit7CisgIE5T V2luZG93ICp3aW4gPSBbc2VsZiB3aW5kb3ddOworICBOU1JlY3QgciA9IFt3aW4gZnJhbWVd OworICBOU0FycmF5ICpzY3JlZW5zID0gW05TU2NyZWVuIHNjcmVlbnNdOworICBOU1NjcmVl biAqc2NyZWVuID0gW3NjcmVlbnMgb2JqZWN0QXRJbmRleDogMF07CisKKyAgaWYgKCFlbWFj c2ZyYW1lLT5vdXRwdXRfZGF0YS5ucykKKyAgICByZXR1cm47CisKKyAgaWYgKHNjcmVlbiAh PSBuaWwpCisgICAgeworICAgICAgZW1hY3NmcmFtZS0+bGVmdF9wb3MgPSAoTlNNaW5YIChy KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLSBOU19QQVJFTlRfV0lORE9XX0xF RlRfUE9TIChlbWFjc2ZyYW1lKSk7CisgICAgICBlbWFjc2ZyYW1lLT50b3BfcG9zID0gKE5T X1BBUkVOVF9XSU5ET1dfVE9QX1BPUyAoZW1hY3NmcmFtZSkKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgLSBOU01heFkgKHIpKTsKKworICAgICAgaWYgKGVtYWNzX2V2ZW50KQor ICAgICAgICB7CisgICAgICAgICAgc3RydWN0IGlucHV0X2V2ZW50IGllOworICAgICAgICAg IEVWRU5UX0lOSVQgKGllKTsKKyAgICAgICAgICBpZS5raW5kID0gTU9WRV9GUkFNRV9FVkVO VDsKKyAgICAgICAgICBYU0VURlJBTUUgKGllLmZyYW1lX29yX3dpbmRvdywgZW1hY3NmcmFt ZSk7CisgICAgICAgICAgWFNFVElOVCAoaWUueCwgZW1hY3NmcmFtZS0+bGVmdF9wb3MpOwor ICAgICAgICAgIFhTRVRJTlQgKGllLnksIGVtYWNzZnJhbWUtPnRvcF9wb3MpOworICAgICAg ICAgIGtiZF9idWZmZXJfc3RvcmVfZXZlbnQgKCZpZSk7CisgICAgICAgIH0KKyAgICB9Cit9 CisKKwogLSAoTlNTaXplKXdpbmRvd1dpbGxSZXNpemU6IChOU1dpbmRvdyAqKXNlbmRlciB0 b1NpemU6IChOU1NpemUpZnJhbWVTaXplCiAvKiBOb3JtYWxpemUgZnJhbWUgdG8gZ3JpZGRl ZCB0ZXh0IHNpemUuICAqLwogewpAQCAtODIwNSwzNCArODI0MSw5IEBAIC0gKGluc3RhbmNl dHlwZSkgaW5pdEZyYW1lRnJvbUVtYWNzOiAoc3RydWN0IGZyYW1lICopZgogCiAtICh2b2lk KXdpbmRvd0RpZE1vdmU6IHNlbmRlcgogewotICBOU1dpbmRvdyAqd2luID0gW3NlbGYgd2lu ZG93XTsKLSAgTlNSZWN0IHIgPSBbd2luIGZyYW1lXTsKLSAgTlNBcnJheSAqc2NyZWVucyA9 IFtOU1NjcmVlbiBzY3JlZW5zXTsKLSAgTlNTY3JlZW4gKnNjcmVlbiA9IFtzY3JlZW5zIG9i amVjdEF0SW5kZXg6IDBdOwotCiAgIE5TVFJBQ0UgKCJbRW1hY3NWaWV3IHdpbmRvd0RpZE1v dmU6XSIpOwogCi0gIGlmICghZW1hY3NmcmFtZS0+b3V0cHV0X2RhdGEubnMpCi0gICAgcmV0 dXJuOwotCi0gIGlmIChzY3JlZW4gIT0gbmlsKQotICAgIHsKLSAgICAgIGVtYWNzZnJhbWUt PmxlZnRfcG9zID0gKE5TTWluWCAocikKLQkJCSAgICAgIC0gTlNfUEFSRU5UX1dJTkRPV19M RUZUX1BPUyAoZW1hY3NmcmFtZSkpOwotICAgICAgZW1hY3NmcmFtZS0+dG9wX3BvcyA9IChO U19QQVJFTlRfV0lORE9XX1RPUF9QT1MgKGVtYWNzZnJhbWUpCi0JCQkgICAgIC0gTlNNYXhZ IChyKSk7Ci0KLSAgICAgIGlmIChlbWFjc19ldmVudCkKLQl7Ci0JICBzdHJ1Y3QgaW5wdXRf ZXZlbnQgaWU7Ci0JICBFVkVOVF9JTklUIChpZSk7Ci0JICBpZS5raW5kID0gTU9WRV9GUkFN RV9FVkVOVDsKLQkgIFhTRVRGUkFNRSAoaWUuZnJhbWVfb3Jfd2luZG93LCBlbWFjc2ZyYW1l KTsKLQkgIFhTRVRJTlQgKGllLngsIGVtYWNzZnJhbWUtPmxlZnRfcG9zKTsKLQkgIFhTRVRJ TlQgKGllLnksIGVtYWNzZnJhbWUtPnRvcF9wb3MpOwotCSAga2JkX2J1ZmZlcl9zdG9yZV9l dmVudCAoJmllKTsKLQl9Ci0gICAgfQorICBbc2VsZiB1cGRhdGVGcmFtZVBvc2l0aW9uXTsK IH0KIAogCi0tIAoyLjQ5LjAKCg== --------------Jhs0Ja0DG7ecp00CMrWeTkxy-- From unknown Tue Aug 12 08:31:55 2025 X-Loop: help-debbugs@gnu.org Subject: bug#79164: frame position not updated correctly when resizing from left edge on macOS Resent-From: =?UTF-8?Q?=E5=B7=9D=E6=9C=AC_?= =?UTF-8?Q?=E7=90=A2=E4=BA=8C?= (Dr.Sc.KAWAMOTO,Takuji) Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 05 Aug 2025 11:21:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 79164 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Gerd =?UTF-8?Q?M=C3=B6llmann?= Cc: 79164@debbugs.gnu.org, Eli Zaretskii , Alan Third Received: via spool by 79164-submit@debbugs.gnu.org id=B79164.175439283019870 (code B ref 79164); Tue, 05 Aug 2025 11:21:02 +0000 Received: (at 79164) by debbugs.gnu.org; 5 Aug 2025 11:20:30 +0000 Received: from localhost ([127.0.0.1]:53881 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ujFiX-0005AQ-Gp for submit@debbugs.gnu.org; Tue, 05 Aug 2025 07:20:30 -0400 Received: from mail-pj1-x1032.google.com ([2607:f8b0:4864:20::1032]:48336) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from ) id 1ujFiV-0005AC-J7 for 79164@debbugs.gnu.org; Tue, 05 Aug 2025 07:20:28 -0400 Received: by mail-pj1-x1032.google.com with SMTP id 98e67ed59e1d1-31ee880f7d2so5634890a91.0 for <79164@debbugs.gnu.org>; Tue, 05 Aug 2025 04:20:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1754392821; x=1754997621; darn=debbugs.gnu.org; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=IAWQMR9F8lR9rM5Vq8YGXiXb3+4E2yc/y83C1L7zcdE=; b=mG2sJM9kR6eMDUKESOI/0ZgNdNljUeJXAJdj3JYdnF/KUlMaem5IefCl1Gxr59WtfJ YnevrmPFnQGGmvmFJibv8XTCspLywQoPifu+GSyC52gi6Jhm4fpfN1oGvW6OGQuf0ZQn qs9ZaxnV2NBouMrTltI2ZQHY91KCnZd5fOJi9jPSy/RolCGBXI7eS7v0H0DrnEGiikcH 3ZQZ/sE9pFX1Tss11SlT7/CtUqgIgt7YRBlGK3IEGPRk9HbBE9eJJhhfy9uLoM5j3w4m puuDIavD3t+Fyrrbfb40mpk8b9ixjDi6/gwFAz6B6QigORdQvCRYnALTXQG1zIbYArtm LJrQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754392821; x=1754997621; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=IAWQMR9F8lR9rM5Vq8YGXiXb3+4E2yc/y83C1L7zcdE=; b=SOXx/X4nTX5Vbn17LwDLm4fuzduyIFUCzfN8tDmKXoWp2AI4GYGR6oPA4mNndPJ5ho PK8JLGgueC2uATTIVBSeKXD9V/SR0dKoMlBTryDHXLnMN+stj/RU6mEuONl2Aj+ej2Az dOg3jb0UT+ELyY3nwHQiiZx3dbsqDJQnwbbx2naNR2CTxp2irkB3/IUC6Sohay2dwTDP hP3PyQhOJJ6lA1HPhNQK4tHnptJDsmGLuK50dA2EYyehGnD4Bp/U/+tE4l4qPzFfgPF4 0YxH0GP1hDk3umjo/Of27mlcHiY+9qlYnJfZ2ICTq/Lda9d/x7Ln9Tvml6FqX4DIxjKR /+cA== X-Forwarded-Encrypted: i=1; AJvYcCUDIkfLSJ6oIHc8jLRDSdA6Ox1/VlcwP2fLnFRy/h2UKmfnoXx8NWbl4aQkf5BOYtHSr76pKQ==@debbugs.gnu.org X-Gm-Message-State: AOJu0YwJLHv15M0a+HuBR2IxyTAPsEKzqsl9FqLlwLbnHm0ZntBJxwUg rsfqEdBQEozvvwa3ernVRJ6UpfkjC0YKoCms31pDsHVUpoh+FgnTH+Iz X-Gm-Gg: ASbGnctAX3pxAgQ1RSrhcGivSiokh6tXIHaoHsM9mtYoUPJiD+BCxo2wWT5qMB1l8fX JabEcwFsTsInM/3H8yE+HWj8PHVGSU8h1VKBLeIUogxS4EOb/FjAfchVw+0Rh5BdiYwoiKlX7dG Nhe1+Ej4HskgiYsL2MbpeDWZXfbEBlpJktNZK/6Ho1gX1lr+vYdBpIUNI2BLLTjQT/RFOV0+xsX XUeg4EMZttIbE5kEGdmdos1oMEOW6MnCXG3W6wZ69vZy41KWc1NwKQSM3ti9feP2sxk6ZoGe4w0 C+M13jKUrNv8kesrce3OhYD4QgLE3bPYI1vfwwegBMHGcmoMC03lX3wBBSHSPMlobnPccIrhVEI X5t2eRytKGwfyjVP7BlIiceCwpmO20grGnnXkK8UCBL2pKOK67PxJBob09DQ4v/m5/oZmrRY= X-Google-Smtp-Source: AGHT+IHGpAC+jjB3mZX0c4M0y9pLRFD74q9bng5Uu8zmbhBIjIxp/n4oPgVG11MNZ7ifuSzo9cN+iw== X-Received: by 2002:a17:90b:4d89:b0:31e:1311:2033 with SMTP id 98e67ed59e1d1-3211630cda6mr18229398a91.29.1754392821438; Tue, 05 Aug 2025 04:20:21 -0700 (PDT) Received: from [192.168.31.18] (87.99.149.114.ap.dti.ne.jp. [114.149.99.87]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-31f63f33e58sm16747792a91.33.2025.08.05.04.20.18 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 05 Aug 2025 04:20:19 -0700 (PDT) Message-ID: Date: Tue, 5 Aug 2025 20:20:16 +0900 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird References: <86sei7wb65.fsf@gnu.org> <706ef9ce-91f6-44cb-a1ef-43f71eb82274@gmail.com> Content-Language: en-US From: =?UTF-8?Q?=E5=B7=9D=E6=9C=AC_?= =?UTF-8?Q?=E7=90=A2=E4=BA=8C?= (Dr.Sc.KAWAMOTO,Takuji) In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Thank you for the reference. Yes, I also noticed that Yamamoto-san’s `emacs-mac` port uses similar approaches  to track window movement and resizing accurately on macOS.  That gave me more confidence that this patch’s use of `windowDidMove` and  `windowDidEndLiveResize` to update frame geometry is consistent with well-tested practice. My patch aims to integrate such behavior into upstream Emacs so that even the standard Cocoa build reports accurate frame positions during edge-resize operations—especially for use cases relying on `move-frame-functions`. Best regards, Dr.Sc.KAWAMOTO, Takuji On 2025/08/04 22:11, Gerd Möllmann wrote: > "川本 琢二 (Dr.Sc.KAWAMOTO,Takuji)" writes: > >> Thank you. >> >> For the record, the patch was applied and tested against the latest >> master branch of Emacs as of 2025-07-20. >> The base commit was: >> >>     commit e6c1ec71b72  [Define setfunction for >> bibtex-generate-url-list (bug#78798)] >> >> I built and tested on macOS 15.5 (Sonoma) using native compilation >> enabled (`--with-native-compilation`), >>  and verified the fix by tracking both Emacs's internal frame state >> and actual macOS-reported window >> geometry during left-edge resize operations. >> >> Best regards, >> Dr.Sc.KAWAMOTO, Takuji >> On 2025/08/04 20:58, Eli Zaretskii wrote: >>>> ate: Sun, 3 Aug 2025 15:45:25 +0900 >>>> From: 川本 琢二 >>>> (Dr.Sc.KAWAMOTO, Takuji) >>>> >>>> This patch addresses a bug in the macOS build of Emacs, where frame >>>> position was not correctly updated after resizing from the left edge. >>>> >>>> In particular, it fixes the issue reported in bug#74074, where >>>> the move-frame-functions hook does not reliably reflect the final >>>> frame location after resizing. This patch introduces the >>>> updateFramePosition method, which is called from windowDidMove >>>> and windowDidEndLiveResize to ensure the frame geometry stays >>>> in sync with the actual macOS window position. >>>> >>>> Tested on macOS 15.5. >>> Thanks, I hope the macOS experts (CC'ed) will be able to review and >>> test the patch. >>> >>> For the record: which Emacs version did you patch with this change? > I'm afraid that goes beyond my knowledge. But I can say that > Yamamoto-san's mac uses these methods, too: > > https://github.com/jdtsmith/emacs-mac/blob/emacs-mac-30_1_exp/src/macappkit.m > > and it does seems to work correctly. From unknown Tue Aug 12 08:31:55 2025 X-Loop: help-debbugs@gnu.org Subject: bug#79164: frame position not updated correctly when resizing from left edge on macOS Resent-From: Alan Third Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 05 Aug 2025 20:05:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 79164 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: =?UTF-8?Q?=E5=B7=9D=E6=9C=AC_?= =?UTF-8?Q?=E7=90=A2=E4=BA=8C?= (Dr.Sc.KAWAMOTO,Takuji) Cc: Gerd =?UTF-8?Q?M=C3=B6llmann?= , 79164@debbugs.gnu.org, Eli Zaretskii Received: via spool by 79164-submit@debbugs.gnu.org id=B79164.175442425311758 (code B ref 79164); Tue, 05 Aug 2025 20:05:02 +0000 Received: (at 79164) by debbugs.gnu.org; 5 Aug 2025 20:04:13 +0000 Received: from localhost ([127.0.0.1]:57026 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ujNtM-00033a-KJ for submit@debbugs.gnu.org; Tue, 05 Aug 2025 16:04:12 -0400 Received: from dane.soverin.net ([185.233.34.157]:53671) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from ) id 1ujNtH-00032w-Ev for 79164@debbugs.gnu.org; Tue, 05 Aug 2025 16:04:11 -0400 Received: from smtp.soverin.net (c04smtp-lb01.int.sover.in [10.10.4.74]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by dane.soverin.net (Postfix) with ESMTPS id 4bxPWj1Tqmzybl; Tue, 5 Aug 2025 20:04:01 +0000 (UTC) Received: from smtp.soverin.net (smtp.soverin.net [10.10.4.100]) by soverin.net (Postfix) with ESMTPSA id 4bxPWh5X6CzDY; Tue, 5 Aug 2025 20:04:00 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=idiocy.org; s=soverin; t=1754424241; bh=NtmXmfXPCwUy0nu9WLcczR23vHKxQ8JYBtlDpJcEV84=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=cp7CjB/AkqTXvL72PkqEWE8HCmawajXcN4wI7/uNiauzlfThpknMEaft6nzlmN6Xg HvG9t5HwvIlgzojN5Je8ok7USFFZXaF7hImW17rB9VReXYlYwXnJeR8ZUjuStZrRTb H4ERpc0dqYaa+8l1DemMUGRX2uC19FfipN9xh/NS1y7hKNpua0bHYOct3SidkvvpvL UnnnLAIKDCVk7nWJ+dHzhsJSicF92oFbwUWixwvw7x94PtWk2gS9r28ugq+6sLr7On neTwWLgOUv1kUhC07QS/Llkc5rBALABohAOjtc7ZCpStbkrOggnT5opmcrPFh/g2sX 8veKgoo9IcfSw== X-CM-Analysis: v=2.4 cv=d/oPyQjE c=1 sm=1 tr=0 ts=689263b1 a=0W0ZVKwniC/oQO17uiiAvQ==:617 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=sl1JHrUNeWoEig1dLl4A:9 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10 X-CM-Envelope: MS4xfC5Zn84O4Y/XkGLZZlSRTBAf2rDPFAyqkirDnLt62TB7dtYeWMEsLpGFFndEvK6y9iYb0ab0Rb/tlQL+43c5LQMoe6AytjMap1PxLiTs5URLRtkXUo/N qOCzMSGDTUK1VlyDzSUCbZnD9CKXJcNFX4s6HEyYvRSNTNIoDrHUmfq0rDPU/B9Dr2Pe/jflJukbV1tcshh8uBL0xDeU9bO/Nc10qGLGWY+TqvwNllahgimg 7mu1bi+x06DqOX/xVUNdIBjyGPoPfde6KDh6VWMeQTeop8G3hRfs73fRpHnbHacCFmPUTN5K3NyDa6uuwh4w04MIECYBDvV6TO4Oq/Zhv5I= Date: Tue, 5 Aug 2025 21:03:59 +0100 From: Alan Third Message-ID: Mail-Followup-To: Alan Third , =?UTF-8?Q?=E5=B7=9D=E6=9C=AC_?= =?UTF-8?Q?=E7=90=A2=E4=BA=8C?= (Dr.Sc.KAWAMOTO,Takuji) , Gerd =?UTF-8?Q?M=C3=B6llmann?= , Eli Zaretskii , 79164@debbugs.gnu.org References: <86sei7wb65.fsf@gnu.org> <706ef9ce-91f6-44cb-a1ef-43f71eb82274@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: X-Spampanel-Class: ham X-Spam-Score: -0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) On Tue, Aug 05, 2025 at 08:20:16PM +0900, 川本 琢二 (Dr.Sc.KAWAMOTO,Takuji) wrote: > Thank you for the reference. > > Yes, I also noticed that Yamamoto-san’s `emacs-mac` port uses similar > approaches >  to track window movement and resizing accurately on macOS. >  That gave me more confidence that this patch’s use of `windowDidMove` and >  `windowDidEndLiveResize` to update frame geometry is consistent with > well-tested practice. > > My patch aims to integrate such behavior into upstream Emacs so that even > the standard > Cocoa build reports accurate frame positions during edge-resize > operations—especially > for use cases relying on `move-frame-functions`. I think I redid the resizing code a few years ago, and I'm guessing this got missed. Thank you for the patch. Eli, does this require copyright assignment? I'm guessing not as most of the code is not new, just moved from A to B. -- Alan Third From unknown Tue Aug 12 08:31:55 2025 X-Loop: help-debbugs@gnu.org Subject: bug#79164: frame position not updated correctly when resizing from left edge on macOS Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 06 Aug 2025 02:32:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 79164 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Alan Third Cc: gerd.moellmann@gmail.com, 79164@debbugs.gnu.org, kawamoto.takuji@gmail.com Received: via spool by 79164-submit@debbugs.gnu.org id=B79164.175444748617893 (code B ref 79164); Wed, 06 Aug 2025 02:32:01 +0000 Received: (at 79164) by debbugs.gnu.org; 6 Aug 2025 02:31:26 +0000 Received: from localhost ([127.0.0.1]:57480 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ujTw5-0004eX-OS for submit@debbugs.gnu.org; Tue, 05 Aug 2025 22:31:26 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:42302) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1ujTw2-0004eE-67 for 79164@debbugs.gnu.org; Tue, 05 Aug 2025 22:31:23 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ujTvv-0006YK-HK; Tue, 05 Aug 2025 22:31:15 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-version:References:Subject:In-Reply-To:To:From: Date; bh=T6jG5+6Ym8J4kYCCRNYgPqPY2f2rwGaAJ4stGXWkaY8=; b=nQwEol7yFzxyfLyORgjv tVhwZEhatnQmDPlHGiQG954F+79P6a/MGM3rdkoGuCRd1gfVIS6g4Kzr7rzxWOLI7LBpSoN8hlNi2 +fq+XUB+q6p7SAqkXIpD9PE7Pnm2FOTEhFFXR8v0P3+bZzmnpz0THZnGOkC6takcnV6By9mJ1ytAT 7vQYnmYrudgBszLsRgar79XTJdWbqlrYlMyna1zmS9wHrvilRQ69e5sRAdwRxRTo3MNWV9B0MmDBw XUSX8okjuTWb4QS06v9fZUdP0dJoGAcHyxK/ylud8aepP8xGisBA4gVo/u4TOdJvtlfksqLUDoK0n Vns4dvzSv9NLXQ==; Date: Wed, 06 Aug 2025 05:31:11 +0300 Message-Id: <86sei5tc40.fsf@gnu.org> From: Eli Zaretskii In-Reply-To: (message from Alan Third on Tue, 5 Aug 2025 21:03:59 +0100) References: <86sei7wb65.fsf@gnu.org> <706ef9ce-91f6-44cb-a1ef-43f71eb82274@gmail.com> MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > Date: Tue, 5 Aug 2025 21:03:59 +0100 > From: Alan Third > Cc: Gerd Möllmann , > Eli Zaretskii , 79164@debbugs.gnu.org > > On Tue, Aug 05, 2025 at 08:20:16PM +0900, 川本 琢二 (Dr.Sc.KAWAMOTO,Takuji) wrote: > > Thank you for the reference. > > > > Yes, I also noticed that Yamamoto-san’s `emacs-mac` port uses similar > > approaches > >  to track window movement and resizing accurately on macOS. > >  That gave me more confidence that this patch’s use of `windowDidMove` and > >  `windowDidEndLiveResize` to update frame geometry is consistent with > > well-tested practice. > > > > My patch aims to integrate such behavior into upstream Emacs so that even > > the standard > > Cocoa build reports accurate frame positions during edge-resize > > operations—especially > > for use cases relying on `move-frame-functions`. > > I think I redid the resizing code a few years ago, and I'm guessing > this got missed. Thank you for the patch. > > Eli, does this require copyright assignment? I'm guessing not as most > of the code is not new, just moved from A to B. Yes, we can accept this without an assignment. Just please remember indicating that in the commit log message, with Copyright-paperwork-exempt. Thanks. From unknown Tue Aug 12 08:31:55 2025 X-Loop: help-debbugs@gnu.org Subject: bug#79164: frame position not updated correctly when resizing from left edge on macOS Resent-From: =?UTF-8?Q?=E5=B7=9D=E6=9C=AC_?= =?UTF-8?Q?=E7=90=A2=E4=BA=8C?= (Dr.Sc.KAWAMOTO,Takuji) Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 07 Aug 2025 11:41:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 79164 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Alan Third Cc: gerd.moellmann@gmail.com, 79164@debbugs.gnu.org, Eli Zaretskii Received: via spool by 79164-submit@debbugs.gnu.org id=B79164.17545668249977 (code B ref 79164); Thu, 07 Aug 2025 11:41:02 +0000 Received: (at 79164) by debbugs.gnu.org; 7 Aug 2025 11:40:24 +0000 Received: from localhost ([127.0.0.1]:33867 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ujyyt-0002aq-M1 for submit@debbugs.gnu.org; Thu, 07 Aug 2025 07:40:24 -0400 Received: from mail-pj1-x102c.google.com ([2607:f8b0:4864:20::102c]:49461) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from ) id 1ujyyr-0002aS-8R for 79164@debbugs.gnu.org; Thu, 07 Aug 2025 07:40:22 -0400 Received: by mail-pj1-x102c.google.com with SMTP id 98e67ed59e1d1-313bb9b2f5bso1138190a91.3 for <79164@debbugs.gnu.org>; Thu, 07 Aug 2025 04:40:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1754566815; x=1755171615; darn=debbugs.gnu.org; h=in-reply-to:from:content-language:references:cc:to:subject :user-agent:mime-version:date:message-id:from:to:cc:subject:date :message-id:reply-to; bh=iFiaozSn21gQyiDIUPRqU5796TVGniM6LB6ctlL3/oM=; b=cRhyVJocetsK4Vzyh9iIRNI9gN0BLLe1hp/zD2cjsov3/fUTJ2m1WsSiY5yr1hWvHb T+8I8ydOQknmVxHJCM9O0AAYUQVQBuLVzP5YF6mdhzVwdx/F5SuuDregZFCOiBpe4F6m 3fobm9rw5UpiANlt4G+6786xN+Y7zBi06rhNX6jpMRFrSuLlGjpqaDhQNeXnZ+7ECKrt 3DpmlAtiHWmyLqg+ney2Fk08sIObb5xpw0NWzj9GonKT7/LFdjr+qtrggnPMHsSgVhLG ojvu7I1EvjpnrOVVkJuZ+q6KCxbxedh9gKZR3Jj0JTQKQQTcDdcF5oNRve0dHApgjZXt wsbw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754566815; x=1755171615; h=in-reply-to:from:content-language:references:cc:to:subject :user-agent:mime-version:date:message-id:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=iFiaozSn21gQyiDIUPRqU5796TVGniM6LB6ctlL3/oM=; b=rp3EbxrKk1F37ojsCihpTMHZQp+r2vBydcK3jau8H2esZY+pa9RVs3SvbDhBZRYBSC zlC5HqXWRaRKP5qXpktF98Ye8OAwb3PO6kDGg/YKGxqqq7EzDg+qKlyxrBnTc39a/E+R mcZjH8GrNw2vMTCdHnR8YGGiD0ZY5YF04iyNMvveNJOyEavqoXU7V8dDgqhb0fNqb3iz QXkSe/0tdjJiqxuu2S4iTmbSUOnMPfwKhxmKKgfG1AR7vgkE5UUR4jy9FgRahUeHpboS y0iFMDlCSQp9bjdxlea31+DuQdo3HbfDrFCuLJQz84k1FtPb/nJh5GtwLjEbgKI2jhjE B96Q== X-Forwarded-Encrypted: i=1; AJvYcCXaToAHW10jttDbOFw8Tk/X/hOUvfCmsCsb75M4FFUL3XZBOi9mzyxHPHmVF7JtR+Yz3Tcqpg==@debbugs.gnu.org X-Gm-Message-State: AOJu0YxiGMlhdE+eyddvljylzcQZcAO6c1cn0UthcpKcwg7x78GsYpf1 ep/63OtiBdc93ETvkAMygI00trGRC30k0eKeFL1bOvAmEDynxm8X1AI1 X-Gm-Gg: ASbGncsUgCr3/dzq31ZgGpTy3i7+4cHfsXDcEoBPV5+q8uJrKal73ONghTcfNLablPs jd8JxAZ17l/7WI7XZ2aQjH+C4sUCKapIsBJAoJkvnGUKhiqVg6KHFbjX4fC0xY2LIdn6P8w5+WJ wGBWEx+AdMP29GjMrHXWOanqMeg/WaDCMtJ0OB7ecBboM30pR1czutXNsp5y9pa6Hvf+Ns3ouHS QWtlhby5I/o6qt3WJat0JuOtiCRQHucid7UwwjUwiEzFEvncSfFBm1zFA6OopSitRVin4LEy+wE ZODGHnBwAsTpPOJIPKFmOYhTMjwmHuZoG8MnH8omV9wY9O7RbFh4BK3iHzlhCoX0K2aducpAoiI +XMD4l7JWDI5+kCxMN4mF2iHtOQlXx4hcxGHWxyVIFHw/Xy40CAn/9MTDZcCM8GPnebePSDI= X-Google-Smtp-Source: AGHT+IGCxb6W9hRzcgP+1+fg3tTbEBkVgZ0mzedWVv5bIO7OsbT5dxXwunlHgtX6DSykwnX3ecStCA== X-Received: by 2002:a17:90b:4b12:b0:31e:ff94:3f9d with SMTP id 98e67ed59e1d1-32166cf051amr8071092a91.31.1754566814842; Thu, 07 Aug 2025 04:40:14 -0700 (PDT) Received: from [192.168.31.18] (87.99.149.114.ap.dti.ne.jp. [114.149.99.87]) by smtp.gmail.com with ESMTPSA id 41be03b00d2f7-b42594d032bsm9287422a12.12.2025.08.07.04.40.12 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 07 Aug 2025 04:40:13 -0700 (PDT) Content-Type: multipart/mixed; boundary="------------qUmzW45cS7Ouz4gdDtlOWO5s" Message-ID: <43c34713-01e5-4052-8a45-035055c4e5bb@gmail.com> Date: Thu, 7 Aug 2025 20:40:10 +0900 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird References: <86sei7wb65.fsf@gnu.org> <706ef9ce-91f6-44cb-a1ef-43f71eb82274@gmail.com> <86sei5tc40.fsf@gnu.org> Content-Language: en-US From: =?UTF-8?Q?=E5=B7=9D=E6=9C=AC_?= =?UTF-8?Q?=E7=90=A2=E4=BA=8C?= (Dr.Sc.KAWAMOTO,Takuji) In-Reply-To: <86sei5tc40.fsf@gnu.org> X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) This is a multi-part message in MIME format. --------------qUmzW45cS7Ouz4gdDtlOWO5s Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit I am attaching the final commit message corresponding to the patch I submitted earlier. It includes the requested Copyright-paperwork-exempt line. On 2025/08/06 11:31, Eli Zaretskii wrote: >> Date: Tue, 5 Aug 2025 21:03:59 +0100 >> From: Alan Third >> Cc: Gerd Möllmann , >> Eli Zaretskii , 79164@debbugs.gnu.org >> >> On Tue, Aug 05, 2025 at 08:20:16PM +0900, 川本 琢二 (Dr.Sc.KAWAMOTO,Takuji) wrote: >>> Thank you for the reference. >>> >>> Yes, I also noticed that Yamamoto-san’s `emacs-mac` port uses similar >>> approaches >>>  to track window movement and resizing accurately on macOS. >>>  That gave me more confidence that this patch’s use of `windowDidMove` and >>>  `windowDidEndLiveResize` to update frame geometry is consistent with >>> well-tested practice. >>> >>> My patch aims to integrate such behavior into upstream Emacs so that even >>> the standard >>> Cocoa build reports accurate frame positions during edge-resize >>> operations—especially >>> for use cases relying on `move-frame-functions`. >> I think I redid the resizing code a few years ago, and I'm guessing >> this got missed. Thank you for the patch. >> >> Eli, does this require copyright assignment? I'm guessing not as most >> of the code is not new, just moved from A to B. > Yes, we can accept this without an assignment. Just please remember > indicating that in the commit log message, with > Copyright-paperwork-exempt. > > Thanks. --------------qUmzW45cS7Ouz4gdDtlOWO5s Content-Type: text/plain; charset=UTF-8; name="commit.message" Content-Disposition: attachment; filename="commit.message" Content-Transfer-Encoding: base64 bWFjT1M6IEVuc3VyZSBmcmFtZSBwb3NpdGlvbiBpcyBjb3JyZWN0bHkgdXBkYXRlZCBhZnRl ciByZXNpemluZyBmcm9tIGxlZnQgZWRnZQoKVGhpcyBwYXRjaCBmaXhlcyBhIGJ1ZyB3aGVy ZSBmcmFtZSBwb3NpdGlvbiBpcyBub3QgYWNjdXJhdGVseSB1cGRhdGVkCndoZW4gcmVzaXpp bmcgYW4gRW1hY3MgZnJhbWUgZnJvbSB0aGUgbGVmdCBlZGdlIGluIHRoZSBtYWNPUyAoQ29j b2EpCmJ1aWxkLiBUaGUgaXNzdWUgYWZmZWN0ZWQgY29uc3VtZXJzIG9mIGBtb3ZlLWZyYW1l LWZ1bmN0aW9uc2AsIHdoaWNoCndvdWxkIHJlY2VpdmUgb3V0ZGF0ZWQgZnJhbWUgcG9zaXRp b25zLgoKVG8gcmVzb2x2ZSB0aGlzLCB0aGUgcGF0Y2ggYXBwbGllcyB0aGUgc2FtZSBmcmFt ZS1wb3NpdGlvbiB1cGRhdGUKbG9naWMgaW4gYHdpbmRvd0RpZEVuZExpdmVSZXNpemVgIHRo YXQgaXMgYWxyZWFkeSBwcmVzZW50IGluCmB3aW5kb3dEaWRNb3ZlYC4gU2luY2UgdGhlIGxv Z2ljIGlzIHNoYXJlZCwgYSBuZXcgaGVscGVyIG1ldGhvZApgdXBkYXRlRnJhbWVQb3NpdGlv bmAgaXMgaW50cm9kdWNlZC4KCkJvdGggYHdpbmRvd0RpZE1vdmVgIGFuZCBgd2luZG93RGlk RW5kTGl2ZVJlc2l6ZWAgYXJlIG1hY09TIENvY29hCmZyYW1ld29yayBtZXRob2RzIGRlZmlu ZWQgYnkgdGhlIE5TV2luZG93RGVsZWdhdGUgcHJvdG9jb2wuIFRoZXkgYXJlCm5vdyBib3Ro IGNhbGxpbmcgYHVwZGF0ZUZyYW1lUG9zaXRpb25gIHRvIGVuc3VyZSB0aGF0IHRoZSBpbnRl cm5hbApFbWFjcyBmcmFtZSBnZW9tZXRyeSByZWZsZWN0cyB0aGUgYWN0dWFsIG1hY09TIHdp bmRvdyBzdGF0ZSBkdXJpbmcKYW5kIGFmdGVyIGVkZ2UtcmVzaXplIG9wZXJhdGlvbnMuCgpU ZXN0ZWQgb24gbWFjT1MgMTUuNSAoU29ub21hKSB3aXRoIG5hdGl2ZSBjb21waWxhdGlvbiBl bmFibGVkLgpCYXNlZCBvbiBjb21taXQgZTZjMWVjNzFiNzIgKDIwMjUtMDctMjAsIG1hc3Rl cikuCgoqIHNyYy9uc3Rlcm0ubSAod2luZG93RGlkRW5kTGl2ZVJlc2l6ZSk6IEltcGxlbWVu dCBOU1dpbmRvd0RlbGVnYXRlIG1ldGhvZC4KKHVwZGF0ZUZyYW1lUG9zaXRpb24pOiBFeHRy YWN0IGNvbW1vbiBsb2dpYyBmcm9tIHdpbmRvd0RpZE1vdmUgYW5kIHdpbmRvd0RpZEVuZExp dmVSZXNpemUuCgpCdWc6ICM3NDA3NApDb3B5cmlnaHQtcGFwZXJ3b3JrLWV4ZW1wdDogeWVz Cg== --------------qUmzW45cS7Ouz4gdDtlOWO5s-- From unknown Tue Aug 12 08:31:55 2025 MIME-Version: 1.0 X-Mailer: MIME-tools 5.505 (Entity 5.505) X-Loop: help-debbugs@gnu.org From: help-debbugs@gnu.org (GNU bug Tracking System) To: =?UTF-8?Q?=E5=B7=9D=E6=9C=AC_?= =?UTF-8?Q?=E7=90=A2=E4=BA=8C?= (Dr.Sc.KAWAMOTO,Takuji) Subject: bug#79164: closed (Re: bug#79164: frame position not updated correctly when resizing from left edge on macOS) Message-ID: References: X-Gnu-PR-Message: they-closed 79164 X-Gnu-PR-Package: emacs X-Gnu-PR-Keywords: patch Reply-To: 79164@debbugs.gnu.org Date: Mon, 11 Aug 2025 21:10:02 +0000 Content-Type: multipart/mixed; boundary="----------=_1754946602-26430-1" This is a multi-part message in MIME format... ------------=_1754946602-26430-1 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Your bug report #79164: [PATCH] Fix macOS frame position update after resize/move in nsterm= .m which was filed against the emacs package, has been closed. The explanation is attached below, along with your original report. If you require more details, please reply to 79164@debbugs.gnu.org. --=20 79164: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D79164 GNU Bug Tracking System Contact help-debbugs@gnu.org with problems ------------=_1754946602-26430-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at 79164-done) by debbugs.gnu.org; 11 Aug 2025 21:09:30 +0000 Received: from localhost ([127.0.0.1]:50464 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ulZlp-0006qv-Ro for submit@debbugs.gnu.org; Mon, 11 Aug 2025 17:09:30 -0400 Received: from dane.soverin.net ([185.233.34.24]:49467) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from ) id 1ulZlg-0006qH-OG for 79164-done@debbugs.gnu.org; Mon, 11 Aug 2025 17:09:24 -0400 Received: from smtp.soverin.net (unknown [10.10.4.74]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by dane.soverin.net (Postfix) with ESMTPS id 4c16hB3NhMz152; Mon, 11 Aug 2025 21:09:14 +0000 (UTC) Received: from smtp.soverin.net (smtp.soverin.net [10.10.4.100]) by soverin.net (Postfix) with ESMTPSA id 4c16h96Q2GzML; Mon, 11 Aug 2025 21:09:13 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=idiocy.org; s=soverin; t=1754946554; bh=E40X1ChkCnJKhNCAycbXt6ethgu0yHdC/nHB3vElsbI=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=nerLv4nJ4Vsl/xYtMbivXyk4UrIc6TiwX8i0WDOvuNv8upRXJVu/adl07jN4wD0fb mnnN0k7R7np0lVv7oGAPRi2ljidREXp1TiXx6EvijWr5FL8mKezB6k14hXTjTva69B wl1nJaXoMqYQqhTYMRY68S/oJ3zZQw2q/c0tNBjCm0FTqbff6SF4LstsJEFwmHPs0C ffKH7DV/jQNTHkHlbZqbEn8UmDLWX1zJFd5F4XXQSpFRJe8bnUzrAD0oASF9ZoFvxD OeI11mYFSku1pfSJz5TSuMMERS/mjutUpfhvbgPCH0dqONYDRZGvGO0isnmrSenzEW fAAxYz1iLnaIw== X-CM-Envelope: MS4xfNNaAQ5E6Gajg6bQThK77veOCpRIn5+hpvfq9t3kIzD/nGCiea5VU166oBVS300y58EaztMaLjjAu97j9ere+GbSY5bNFZqw4hrbWCcNfoVasFqf79es 0jIhxRL7k4CTBSlH6SiW3sVqbpQlyx0qSKYlMVm3LWKx18A/ZcS8bm+jpHHgX0s4HPGYD/K1OY2QsyS1a4A9AtGLjWw91sH5SZL44xbBUYw8kV3IkhRhFW9N t+7Ci6gMhLomGWnASZAADOTkua7trHMDUQTz5KtVrNv9Icn3sSEhJBN4aHvUDDVmkfRpU8YZruLzvWwVy+pAuAI2z4bO9SLjoCDUROYhlKs= Date: Mon, 11 Aug 2025 22:09:11 +0100 From: Alan Third To: =?utf-8?B?5bed5pysIOeQouS6jCAoRHIuU2MuS0FXQU1PVE8sVGFrdWppKQ==?= Subject: Re: bug#79164: frame position not updated correctly when resizing from left edge on macOS Message-ID: Mail-Followup-To: Alan Third , =?utf-8?B?5bed5pysIOeQouS6jCAoRHIuU2MuS0FXQU1PVE8sVGFr?= =?utf-8?Q?uji=29?= , gerd.moellmann@gmail.com, 79164-done@debbugs.gnu.org, Eli Zaretskii References: <86sei7wb65.fsf@gnu.org> <706ef9ce-91f6-44cb-a1ef-43f71eb82274@gmail.com> <86sei5tc40.fsf@gnu.org> <43c34713-01e5-4052-8a45-035055c4e5bb@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <43c34713-01e5-4052-8a45-035055c4e5bb@gmail.com> X-Spampanel-Class: ham X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 79164-done Cc: gerd.moellmann@gmail.com, 79164-done@debbugs.gnu.org, Eli Zaretskii X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) I've pushed this change to master. Thank you! On Thu, Aug 07, 2025 at 08:40:10PM +0900, 川本 琢二 (Dr.Sc.KAWAMOTO,Takuji) wrote: > I am attaching the final commit message corresponding to the patch I > submitted earlier. > It includes the requested Copyright-paperwork-exempt line. > > On 2025/08/06 11:31, Eli Zaretskii wrote: > > > Date: Tue, 5 Aug 2025 21:03:59 +0100 > > > From: Alan Third > > > Cc: Gerd Möllmann , > > > Eli Zaretskii , 79164@debbugs.gnu.org > > > > > > On Tue, Aug 05, 2025 at 08:20:16PM +0900, 川本 琢二 (Dr.Sc.KAWAMOTO,Takuji) wrote: > > > > Thank you for the reference. > > > > > > > > Yes, I also noticed that Yamamoto-san’s `emacs-mac` port uses similar > > > > approaches > > > >  to track window movement and resizing accurately on macOS. > > > >  That gave me more confidence that this patch’s use of `windowDidMove` and > > > >  `windowDidEndLiveResize` to update frame geometry is consistent with > > > > well-tested practice. > > > > > > > > My patch aims to integrate such behavior into upstream Emacs so that even > > > > the standard > > > > Cocoa build reports accurate frame positions during edge-resize > > > > operations—especially > > > > for use cases relying on `move-frame-functions`. > > > I think I redid the resizing code a few years ago, and I'm guessing > > > this got missed. Thank you for the patch. > > > > > > Eli, does this require copyright assignment? I'm guessing not as most > > > of the code is not new, just moved from A to B. > > Yes, we can accept this without an assignment. Just please remember > > indicating that in the commit log message, with > > Copyright-paperwork-exempt. > > > > Thanks. > macOS: Ensure frame position is correctly updated after resizing from left edge > > This patch fixes a bug where frame position is not accurately updated > when resizing an Emacs frame from the left edge in the macOS (Cocoa) > build. The issue affected consumers of `move-frame-functions`, which > would receive outdated frame positions. > > To resolve this, the patch applies the same frame-position update > logic in `windowDidEndLiveResize` that is already present in > `windowDidMove`. Since the logic is shared, a new helper method > `updateFramePosition` is introduced. > > Both `windowDidMove` and `windowDidEndLiveResize` are macOS Cocoa > framework methods defined by the NSWindowDelegate protocol. They are > now both calling `updateFramePosition` to ensure that the internal > Emacs frame geometry reflects the actual macOS window state during > and after edge-resize operations. > > Tested on macOS 15.5 (Sonoma) with native compilation enabled. > Based on commit e6c1ec71b72 (2025-07-20, master). > > * src/nsterm.m (windowDidEndLiveResize): Implement NSWindowDelegate method. > (updateFramePosition): Extract common logic from windowDidMove and windowDidEndLiveResize. > > Bug: #74074 > Copyright-paperwork-exempt: yes -- Alan Third ------------=_1754946602-26430-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at submit) by debbugs.gnu.org; 3 Aug 2025 06:45:44 +0000 Received: from localhost ([127.0.0.1]:41568 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uiSTY-0001Y0-7J for submit@debbugs.gnu.org; Sun, 03 Aug 2025 02:45:44 -0400 Received: from lists.gnu.org ([2001:470:142::17]:54768) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1uiSTW-0001Xm-6e for submit@debbugs.gnu.org; Sun, 03 Aug 2025 02:45:42 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uiSTO-0006Ug-9a for bug-gnu-emacs@gnu.org; Sun, 03 Aug 2025 02:45:34 -0400 Received: from mail-pf1-x430.google.com ([2607:f8b0:4864:20::430]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uiSTK-0006Oj-CI for bug-gnu-emacs@gnu.org; Sun, 03 Aug 2025 02:45:31 -0400 Received: by mail-pf1-x430.google.com with SMTP id d2e1a72fcca58-76bf3dafaa5so463812b3a.0 for ; Sat, 02 Aug 2025 23:45:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1754203528; x=1754808328; darn=gnu.org; h=content-transfer-encoding:subject:from:to:content-language :user-agent:mime-version:date:message-id:from:to:cc:subject:date :message-id:reply-to; bh=WsyjsURwQAealxDgX+99PHKpk468n5ZpUw2aP/+VGDs=; b=Bjz370RHdjbztcW8Ie/x2vA9UCVp774lFb69b+fMM9de3hue45dkOu88tb6cdQ3rpL TwAK5uFkGoXPl0lDkcQ44i4GRoZE9QgHrOXStrXdYVw7/YlevODIzZxEYqYkhA+jual1 mtKRWSSt1ftHC4Ui1WtwcKLcTwqrcLmkKZ4WRVUegJbGoHb1wCWYx4P/8HeyBWrmUOQw KANNKrY0KkzsuRv5AebUqkZbvvOkQfPIvC5+k3hSGVHzocJF6iOk2ot43UEPr8EhXMjW WZ9z9UAbXsvCyosmT+Evvd+d66A9ArMfHpNROkgI7LPZshGu+dFx/BaNQaFAl3y2wV5B sWwg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754203528; x=1754808328; h=content-transfer-encoding:subject:from:to:content-language :user-agent:mime-version:date:message-id:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=WsyjsURwQAealxDgX+99PHKpk468n5ZpUw2aP/+VGDs=; b=vYXyoE9yFLgLvLzp8rPj9LIq6DGa3zKxEG4f6tfNbhNy6yXHmv3VyNeSkObZSXfuOa UJUWn3Ha7a9isQG7b0uRobvR53PlDNXJ0/lIqUActp0OCfLAzSXtX2FkG8c2fJr4f7p3 NjftTM/65iAgB1fr9KwkNYweVN7IdvYzuDzPrmdLPv4dEyth6XwqE9CIcz1DseSOqRTH /JiCN7e5Z0wjy5HnwHynAvSis1kZM6Ab3mCK0hHgEmqPnL/9DpsASiKjhQlt7Qs9zQtV SkIkiTWlUt/glFi9wfEq8oKzjLG53HO5e2t8QV7LhOyOHVjKnSgn66OriDjzu3itxog4 k16Q== X-Gm-Message-State: AOJu0YwsFNKyh8pXeUJKcqt04E5eklNsZug3dry17hlfjI9XpC3xVqip KXChtSeige+eLVFOz1YG86h4fFtjmtgODFUCHhJfUaeNpEWkfLfNQ8r8CzaoHA== X-Gm-Gg: ASbGncv740rJ5SBD7DzwRLgOFR7WvSZWcAnxUS0UxssTLF9OclKt3ACS6sBYBf1Ywpj Lel1tzfAx704h9nzEzhCGOCun4hthjxDdfr+fPi0pSMnW2wKlPXI8RJONR/2C4QzPIkJs0EjQNt SjFD4G6/HAqDyrrJuXcXrzJ1J6w4Q2mrccCDz43xErbmcBFDXltt/07qlk1mEJ/8RFJ9VIdRQOe jfMRQGfbx4x6XqIfgvkY8Jd7KeoiQo45pm8nBr1W1Gg98aTfU5s3X0hyNp5kKFKADEg1kcf2vFf H4y6HxyjeCaJX6zE2pJUKUggZ3FX6HuKBEg2bA1hOIzXuSEv6sKWhu5X3mhfuIQ5dLEF5gewtDG 78RDlOAnTFxPGWetXjEi1x0gvPHy3OorZM3BvWqR4bviB/YWEhQWSKsGs3lVyPp+ikJSeWCo= X-Google-Smtp-Source: AGHT+IHoqta7AR2ra0mZlFX7KSrrOWxf3adycrwmQY8LkdCGllfbrk+2JTokQMKfdY0DQ7qgtjp+/A== X-Received: by 2002:a05:6300:2189:b0:23d:48fc:652b with SMTP id adf61e73a8af0-23df90d92bcmr7427418637.12.1754203527838; Sat, 02 Aug 2025 23:45:27 -0700 (PDT) Received: from [192.168.31.18] (87.99.149.114.ap.dti.ne.jp. [114.149.99.87]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-76bccfea38csm7666333b3a.128.2025.08.02.23.45.26 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sat, 02 Aug 2025 23:45:27 -0700 (PDT) Message-ID: Date: Sun, 3 Aug 2025 15:45:25 +0900 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Content-Language: en-US To: bug-gnu-emacs@gnu.org From: =?UTF-8?B?5bed5pysIOeQouS6jCAoRHIuU2MuS0FXQU1PVE8sVGFrdWppKQ==?= Subject: [PATCH] Fix macOS frame position update after resize/move in nsterm.m Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Received-SPF: pass client-ip=2607:f8b0:4864:20::430; envelope-from=kawamoto.takuji@gmail.com; helo=mail-pf1-x430.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.0 (/) Hello, This patch addresses a bug in the macOS build of Emacs, where frame position was not correctly updated after resizing from the left edge. In particular, it fixes the issue reported in bug#74074, where the move-frame-functions hook does not reliably reflect the final frame location after resizing. This patch introduces the updateFramePosition method, which is called from windowDidMove and windowDidEndLiveResize to ensure the frame geometry stays in sync with the actual macOS window position. Tested on macOS 15.5. Best regards, Dr.Sc.KAWAMOTO, Takuji ---  src/nsterm.m | 63 ++++++++++++++++++++++++++++++----------------------  1 file changed, 37 insertions(+), 26 deletions(-) diff --git a/src/nsterm.m b/src/nsterm.m index 003aadb9782..3db002d9678 100644 --- a/src/nsterm.m +++ b/src/nsterm.m @@ -6736,6 +6736,11 @@ - (BOOL)fulfillService: (NSString *)name withArg: (NSString *)arg  @implementation EmacsView +- (void)windowDidEndLiveResize:(NSNotification *)notification +{ +  [self updateFramePosition]; +} +  /* Needed to inform when window closed from lisp.  */  - (void) setWindowClosing: (BOOL)closing  { @@ -7871,6 +7876,37 @@ - (BOOL)windowShouldClose: (id)sender  } +- (void)updateFramePosition +{ +  NSWindow *win = [self window]; +  NSRect r = [win frame]; +  NSArray *screens = [NSScreen screens]; +  NSScreen *screen = [screens objectAtIndex: 0]; + +  if (!emacsframe->output_data.ns) +    return; + +  if (screen != nil) +    { +      emacsframe->left_pos = (NSMinX (r) +                              - NS_PARENT_WINDOW_LEFT_POS (emacsframe)); +      emacsframe->top_pos = (NS_PARENT_WINDOW_TOP_POS (emacsframe) +                             - NSMaxY (r)); + +      if (emacs_event) +        { +          struct input_event ie; +          EVENT_INIT (ie); +          ie.kind = MOVE_FRAME_EVENT; +          XSETFRAME (ie.frame_or_window, emacsframe); +          XSETINT (ie.x, emacsframe->left_pos); +          XSETINT (ie.y, emacsframe->top_pos); +          kbd_buffer_store_event (&ie); +        } +    } +} + +  - (NSSize)windowWillResize: (NSWindow *)sender toSize: (NSSize)frameSize  /* Normalize frame to gridded text size.  */  { @@ -8205,34 +8241,9 @@ - (instancetype) initFrameFromEmacs: (struct frame *)f  - (void)windowDidMove: sender  { -  NSWindow *win = [self window]; -  NSRect r = [win frame]; -  NSArray *screens = [NSScreen screens]; -  NSScreen *screen = [screens objectAtIndex: 0]; -    NSTRACE ("[EmacsView windowDidMove:]"); -  if (!emacsframe->output_data.ns) -    return; - -  if (screen != nil) -    { -      emacsframe->left_pos = (NSMinX (r) -                  - NS_PARENT_WINDOW_LEFT_POS (emacsframe)); -      emacsframe->top_pos = (NS_PARENT_WINDOW_TOP_POS (emacsframe) -                 - NSMaxY (r)); - -      if (emacs_event) -    { -      struct input_event ie; -      EVENT_INIT (ie); -      ie.kind = MOVE_FRAME_EVENT; -      XSETFRAME (ie.frame_or_window, emacsframe); -      XSETINT (ie.x, emacsframe->left_pos); -      XSETINT (ie.y, emacsframe->top_pos); -      kbd_buffer_store_event (&ie); -    } -    } +  [self updateFramePosition];  } -- 2.49.0 ------------=_1754946602-26430-1--