From unknown Mon Jun 23 14:57:45 2025 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.509 (Entity 5.509) Content-Type: text/plain; charset=utf-8 From: bug#37415 <37415@debbugs.gnu.org> To: bug#37415 <37415@debbugs.gnu.org> Subject: Status: Asserting failure setting frame parameters to non-fixnum values in early-init.el Reply-To: bug#37415 <37415@debbugs.gnu.org> Date: Mon, 23 Jun 2025 21:57:45 +0000 retitle 37415 Asserting failure setting frame parameters to non-fixnum valu= es in early-init.el=20 reassign 37415 emacs submitter 37415 Juanma Barranquero severity 37415 normal thanks From debbugs-submit-bounces@debbugs.gnu.org Sun Sep 15 18:34:42 2019 Received: (at submit) by debbugs.gnu.org; 15 Sep 2019 22:34:42 +0000 Received: from localhost ([127.0.0.1]:48864 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1i9d6Q-00083l-2A for submit@debbugs.gnu.org; Sun, 15 Sep 2019 18:34:42 -0400 Received: from lists.gnu.org ([209.51.188.17]:43394) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1i9d6O-00083d-Hb for submit@debbugs.gnu.org; Sun, 15 Sep 2019 18:34:41 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:59242) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1i9d6N-0004GA-EO for bug-gnu-emacs@gnu.org; Sun, 15 Sep 2019 18:34:40 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: ** X-Spam-Status: No, score=2.1 required=5.0 tests=BAYES_40,FREEMAIL_FROM, HTML_MESSAGE,SPOOFED_FREEMAIL autolearn=disabled version=3.3.2 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1i9d6M-0003ky-CA for bug-gnu-emacs@gnu.org; Sun, 15 Sep 2019 18:34:39 -0400 Received: from mail-qk1-x734.google.com ([2607:f8b0:4864:20::734]:32942) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1i9d6M-0003kd-8S for bug-gnu-emacs@gnu.org; Sun, 15 Sep 2019 18:34:38 -0400 Received: by mail-qk1-x734.google.com with SMTP id x134so34349269qkb.0 for ; Sun, 15 Sep 2019 15:34:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to; bh=beTgbJPArEyYZFnYzQZ1YQHQbYYhiEgdjD20cLHeq2Q=; b=HvbgHkZ1R1RDyYO/ZCMhBqfMNVtbCd9d97JkodoZqIXNJI/kqzB2bbEh+6XYU/+HJK 0Em9ZsC+PfW0eeRbrt8MEb0SLrMLwDY84rfrlFTt92o4g0WNFG+jEfBPw+O3EQPAdHN4 B+uaMZy/mnsux7EHkhIuaRB5KxQ2ME47HuzysxN/rQWpb/I5aVQxIIblepq5s7Dg6Il+ 6ljyB9HtEOFZZu6ibYMOec7qSP6VKKgpmSbLj0s1oGkL5Z4zSGWn16LPLgRksaTCI0sz 02NUoVToxL+/HDQKBG7ZREmQ23ZA0te7OkliWKkPqOfiu0EYcd8jTJzWHLGU3F9UF2e2 cztA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=beTgbJPArEyYZFnYzQZ1YQHQbYYhiEgdjD20cLHeq2Q=; b=VHEte7WzN/jUD25+Q7HahI7DYgrRuToOhf0i9CCdLqzAwikpRNkjkk9AdeFIsTIjEd Sj5PJ4YZPxEwXRsEPt39RZuyzdnhy2GqJRmgceGHo6OKO4gi1Qnd7wWdK+aRFY3x35aT FXyeyEIMajahw8hk0y5KqN797DNVnHKbBSz3T+6aIDqxdOIpE5GFMzBClYJaF7O9nCES oXlZv6+RZmRbXYXPv4Eqm1bwHQ2CwBuocDDw5kuN7wOm0aigz87WnbYD7JAir+mMOOfC Q4Q2xglbhqXAgNhfdxfBzEyPgXQ86i3zkRBANFgm5jBj5IyBWQZxT5OHSoAFWPhtWJW9 FY+g== X-Gm-Message-State: APjAAAXZRPghqBEN3JSUnqXyJ7hpSdInpvt/vlT+OaXeTHmLyZ8kwL3c ZpAwoEk5+Y9xXcIksQ9kdKbKuKbn7Z8Hoa9AtPdfkGk2 X-Google-Smtp-Source: APXvYqxCIyIEJsttLLFzafuAuo7941GKBBwHfApCziqXOX+WE/NkZnheKi5QrEaYm45W+ZhN1jpBI/3vEIArm+rSMzc= X-Received: by 2002:ae9:dec7:: with SMTP id s190mr57536898qkf.277.1568586876993; Sun, 15 Sep 2019 15:34:36 -0700 (PDT) MIME-Version: 1.0 From: Juanma Barranquero Date: Mon, 16 Sep 2019 00:34:01 +0200 Message-ID: Subject: Asserting failure setting frame parameters to non-fixnum values in early-init.el To: Bug-Gnu-Emacs Content-Type: multipart/alternative; boundary="0000000000009a460a05929f17f4" X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:4864:20::734 X-Spam-Score: 0.8 (/) 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.2 (/) --0000000000009a460a05929f17f4 Content-Type: text/plain; charset="UTF-8" This is with an empty init.el, and the following early-init.el: D:\...\.emacs.d> type early-init.el (setq default-frame-alist '((left . (+ 0)))) D:\...\.emacs.d> emacs.exe lisp.h:1231: Emacs fatal error: assertion failed: FIXNUMP (a) Setting the same value on init.el works. In GNU Emacs 27.0.50 (build 1, x86_64-w64-mingw32) of 2019-09-16 built on ODIEFAST Repository revision: b3e4b50578778e03327b049f7a595981bfbf3713 Repository branch: master Windowing system distributor 'Microsoft Corp.', version 10.0.18362 System Description: Microsoft Windows 10 Home (v10.0.1903.18362.356) Recent messages: For information about GNU Emacs and the GNU system, type C-h C-a. Configured using: 'configure --prefix=/d/Devel/emacs/repo/trunk --with-modules --enable-checking=yes --enable-locallisppath=%emacs_dir%/../site-lisp:%emacs_dir%/share/emacs/@VER@ /site-lisp:%emacs_dir%/share/emacs/site-lisp 'CFLAGS=-Og -ggdb3' PKG_CONFIG_PATH=/mingw64/lib/pkgconfig:/mingw64/share/pkgconfig' --0000000000009a460a05929f17f4 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable

This is with an empty init.el, and the= following early-init.el:

D:\...\.emacs.d> type= early-init.el
(setq default-frame-alist '((left . (+ 0))))

D= :\...\.emacs.d> emacs.exe

lisp.h:1231: Emacs fatal error: asserti= on failed: FIXNUMP (a)

Setting the same value = on init.el works.



In GNU = Emacs 27.0.50 (build 1, x86_64-w64-mingw32)
=C2=A0of 2019-09-16 built on= ODIEFAST
Repository revision: b3e4b50578778e03327b049f7a595981bfbf3713<= br>Repository branch: master
Windowing system distributor 'Microsoft= Corp.', version 10.0.18362
System Description: Microsoft Windows 10= Home (v10.0.1903.18362.356)

Recent messages:
For information abo= ut GNU Emacs and the GNU system, type C-h C-a.

Configured using:
= =C2=A0'configure --prefix=3D/d/Devel/emacs/repo/trunk --with-modules=C2=A0--enable-checking=3Dyes
=C2=A0--enable-locallisppath=3D%emacs_dir= %/../site-lisp:%emacs_dir%/share/emacs/@VER@/site-lisp:%emacs_dir%/share/em= acs/site-lisp
=C2=A0'CFLAGS=3D-Og -ggdb3'
=C2=A0PKG_CONFIG_PA= TH=3D/mingw64/lib/pkgconfig:/mingw64/share/pkgconfig'

--0000000000009a460a05929f17f4-- From debbugs-submit-bounces@debbugs.gnu.org Tue Sep 17 12:02:04 2019 Received: (at 37415) by debbugs.gnu.org; 17 Sep 2019 16:02:04 +0000 Received: from localhost ([127.0.0.1]:53185 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iAFvY-0006y5-Gz for submit@debbugs.gnu.org; Tue, 17 Sep 2019 12:02:04 -0400 Received: from eggs.gnu.org ([209.51.188.92]:59527) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iAFvX-0006xZ-HA for 37415@debbugs.gnu.org; Tue, 17 Sep 2019 12:02:03 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:43786) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1iAFvO-0005Cl-Hl; Tue, 17 Sep 2019 12:01:56 -0400 Received: from [176.228.60.248] (port=2034 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1iAFvN-0003fe-TH; Tue, 17 Sep 2019 12:01:54 -0400 Date: Tue, 17 Sep 2019 19:01:52 +0300 Message-Id: <83v9tqvrm7.fsf@gnu.org> From: Eli Zaretskii To: Juanma Barranquero In-reply-to: (message from Juanma Barranquero on Mon, 16 Sep 2019 00:34:01 +0200) Subject: Re: bug#37415: Asserting failure setting frame parameters to non-fixnum values in early-init.el References: X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 37415 Cc: 37415@debbugs.gnu.org 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 (---) > From: Juanma Barranquero > Date: Mon, 16 Sep 2019 00:34:01 +0200 > > This is with an empty init.el, and the following early-init.el: > > D:\...\.emacs.d> type early-init.el > (setq default-frame-alist '((left . (+ 0)))) > > D:\...\.emacs.d> emacs.exe > > lisp.h:1231: Emacs fatal error: assertion failed: FIXNUMP (a) Is this use case important enough to support? IOW, would just signaling an error do the job here? If not, please explain why did you need to set default-frame-alist in the early-init file. Thanks. From debbugs-submit-bounces@debbugs.gnu.org Tue Sep 17 13:05:34 2019 Received: (at 37415) by debbugs.gnu.org; 17 Sep 2019 17:05:34 +0000 Received: from localhost ([127.0.0.1]:53204 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iAGv0-0000Rs-Ay for submit@debbugs.gnu.org; Tue, 17 Sep 2019 13:05:34 -0400 Received: from mail-qt1-f181.google.com ([209.85.160.181]:33397) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iAGuz-0000Rg-1H for 37415@debbugs.gnu.org; Tue, 17 Sep 2019 13:05:33 -0400 Received: by mail-qt1-f181.google.com with SMTP id r5so5361208qtd.0 for <37415@debbugs.gnu.org>; Tue, 17 Sep 2019 10:05:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=lJbIwsSEHLJPVyo4anLXvmZIe+U5xCLfMdCPSFPL5cQ=; b=I4B6PZ6WTMucuGo1/TmfI4rgCSsXhAHzLRvATQUtcOc5oLgsIhuelcPuSItIEz52CM v6pqEAZxE+nLoEiZVJEq1Wgw8PYSj0bIJz9SP/a2lsiMtFXIyjo92GZGlFcM9YG71pI6 aRSQ0+YQQHi6edZJIvlnN049plusCdW+J678l1unyne4FZcIVYxgQqu4iVe3U3m2/KBO v5EQMHbMf/ia1a0BgyUT11SIumyGf9Oz7Fg4KFO/BPuOpivifNz9a4EdCvSdsD/PPsSp aZJmANpZlEqNmsZn6PwWwcInGXmAQZWEblC9F2LoDt9UzswDc42vxYfFcZKCV9/A6hjQ 0/uw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=lJbIwsSEHLJPVyo4anLXvmZIe+U5xCLfMdCPSFPL5cQ=; b=YNXmB30JZQ58+rf4laKG0NUis9NvBSTj516/plz/ARNARwPBsV+KPjSZoJ9m0LTXUH opR+YXKbKlSv3sqOvhs0tPFO2DpMi8cyoyFp50h7kw+dKU0AcasQLJl3cdPdShPPmxK6 ciLAjdR5bGl5UJq4Gc0UdFpr0aebCkieW62j94ukI9fxjlxvQ4Z+/jRfd74rMGcZlZzo ZNetH6TkquJ59U2FGdHTduwU7Ee8YHjEGSfTWASuPjtL88Yw+EisR/RvqpmCJMcZgLV3 By0IilfDwL/Qg6RnegfE4ZmFtvaRCm96ZBpwb0mfPCWypPufxLzSeMJSLu7kp7hDLwid YGjA== X-Gm-Message-State: APjAAAVASKT2xhHOgmEqDfo4mg09LGIlVKBSnYTJoeTuLgHSknt0Hzbl ew/J4Z2s4+uVS8ztAgT7WqG4IX7D/W1xLtekROOZ7A== X-Google-Smtp-Source: APXvYqw3UP5Z0iCS/yKuCmWVwiCz8EKf7Z38qCW2vwL6Y/M04Z5zZ0tb1Ov2ZswXcSWL+Alz//Pq46R/KyCZwuhvVho= X-Received: by 2002:a0c:e481:: with SMTP id n1mr4122319qvl.83.1568739927357; Tue, 17 Sep 2019 10:05:27 -0700 (PDT) MIME-Version: 1.0 References: <83v9tqvrm7.fsf@gnu.org> In-Reply-To: <83v9tqvrm7.fsf@gnu.org> From: Juanma Barranquero Date: Tue, 17 Sep 2019 19:04:51 +0200 Message-ID: Subject: Re: bug#37415: Asserting failure setting frame parameters to non-fixnum values in early-init.el To: Eli Zaretskii Content-Type: multipart/alternative; boundary="0000000000001d7d6c0592c2ba12" X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 37415 Cc: 37415@debbugs.gnu.org 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 (-) --0000000000001d7d6c0592c2ba12 Content-Type: text/plain; charset="UTF-8" On Tue, Sep 17, 2019 at 6:01 PM Eli Zaretskii wrote: > Is this use case important enough to support? Not at this moment, no. > IOW, would just signaling an error do the job here? Yes, likely. > If not, please explain why did you need to set default-frame-alist in the early-init file. I was just trying stuff and stumbled upon the problem. Thanks, Juanma --0000000000001d7d6c0592c2ba12 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable

On Tue, Sep 17, 2019 at 6:01 PM Eli Zaretskii <eliz@gnu.org> wrote:

> Is= this use case important enough to support?

Not at= this moment, no.

> IOW, would just signaling a= n error do the job here?

Yes, likely.
> If not, please explain why did you need to set default-fr= ame-alist in the early-init file.

I was just tryin= g stuff and stumbled upon the problem.

Thanks,

=C2=A0 =C2=A0Juanma
--0000000000001d7d6c0592c2ba12-- From debbugs-submit-bounces@debbugs.gnu.org Tue Sep 17 22:30:38 2019 Received: (at 37415) by debbugs.gnu.org; 18 Sep 2019 02:30:38 +0000 Received: from localhost ([127.0.0.1]:53448 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iAPjq-0008Af-IM for submit@debbugs.gnu.org; Tue, 17 Sep 2019 22:30:38 -0400 Received: from zimbra.cs.ucla.edu ([131.179.128.68]:36600) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iAPjo-0008AR-KE for 37415@debbugs.gnu.org; Tue, 17 Sep 2019 22:30:36 -0400 Received: from localhost (localhost [127.0.0.1]) by zimbra.cs.ucla.edu (Postfix) with ESMTP id 46E061600A0; Tue, 17 Sep 2019 19:30:31 -0700 (PDT) Received: from zimbra.cs.ucla.edu ([127.0.0.1]) by localhost (zimbra.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10032) with ESMTP id ywN1F_jfGlHf; Tue, 17 Sep 2019 19:30:30 -0700 (PDT) Received: from localhost (localhost [127.0.0.1]) by zimbra.cs.ucla.edu (Postfix) with ESMTP id AE552160226; Tue, 17 Sep 2019 19:30:30 -0700 (PDT) X-Virus-Scanned: amavisd-new at zimbra.cs.ucla.edu Received: from zimbra.cs.ucla.edu ([127.0.0.1]) by localhost (zimbra.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id TtT7Hdn3bmjc; Tue, 17 Sep 2019 19:30:30 -0700 (PDT) Received: from Penguin.CS.UCLA.EDU (Penguin.CS.UCLA.EDU [131.179.64.200]) by zimbra.cs.ucla.edu (Postfix) with ESMTPSA id 936F91600A0; Tue, 17 Sep 2019 19:30:30 -0700 (PDT) To: Juanma Barranquero From: Paul Eggert Subject: Re: Asserting failure setting frame parameters to non-fixnum values in early-init.el Organization: UCLA Computer Science Department Message-ID: <3feda853-73a1-9db9-6489-dcc88891421c@cs.ucla.edu> Date: Tue, 17 Sep 2019 19:30:30 -0700 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.1.0 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 37415 Cc: 37415@debbugs.gnu.org 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 (/) FWIW I can't reproduce the bug on Fedora 30 x86-64. Perhaps it's some MS-Windows thing. I can't see in the portable code how a non-fixnum could leak into the code that uses XFIXNUM in this area. From debbugs-submit-bounces@debbugs.gnu.org Wed Sep 18 03:46:13 2019 Received: (at 37415) by debbugs.gnu.org; 18 Sep 2019 07:46:13 +0000 Received: from localhost ([127.0.0.1]:53520 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iAUfE-0007qM-0A for submit@debbugs.gnu.org; Wed, 18 Sep 2019 03:46:13 -0400 Received: from mout.gmx.net ([212.227.15.19]:48793) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iAUfB-0007q8-Sr for 37415@debbugs.gnu.org; Wed, 18 Sep 2019 03:46:10 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1568792761; bh=D32LuhNQyw2NvxZGHz8xVLdJnBFHd2ZZXD3n6JD6N+k=; h=X-UI-Sender-Class:Subject:To:Cc:References:From:Date:In-Reply-To; b=QBfj10xZoDx+7xy+xRbim3ys6ldkIrVhak26FeLJYxlmSD5gHPabQrbuxc8Fwsyak sdLi0SoJjXhCyGY93bL3OY9dJJ2a8qKDKxfXcOQNshDUroLt46cy06U0UA65Z3eRmA 9RnAXKGqyNP5vU2k8rmqH48Bal19jfrq/PXUa+V4= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Received: from [192.168.1.101] ([212.95.5.2]) by mail.gmx.com (mrgmx005 [212.227.17.190]) with ESMTPSA (Nemesis) id 1N63Vi-1i84v23wTY-016OKq; Wed, 18 Sep 2019 09:46:01 +0200 Subject: Re: bug#37415: Asserting failure setting frame parameters to non-fixnum values in early-init.el To: Eli Zaretskii , Juanma Barranquero References: <83v9tqvrm7.fsf@gnu.org> From: martin rudalics Message-ID: <9aae1b2e-bb5f-8634-5501-9aaff9f51266@gmx.at> Date: Wed, 18 Sep 2019 09:45:59 +0200 MIME-Version: 1.0 In-Reply-To: <83v9tqvrm7.fsf@gnu.org> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: de-DE Content-Transfer-Encoding: 7bit X-Provags-ID: V03:K1:hyhlEfxDS74v2y+pyN+skLNw4ZOyPJjuWbRvEdZKRV5yT406Hc8 +NbR2fhBhUdGsFZZVlJPbF2kQXHNWuD9209J3LNKIaxWxczYSqi/Mlq+wpdlmXH/OO/qKpy WYRQGctTixihlBE7hZ27MG/Ops7/R0SXnsnOvb5CVfUv58dFZqcgkzvH5XmvNcrojvVBAOQ dXkLjt8IxjpB8T6e1WLzA== X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1;V03:K0:979H7g3rhrw=:CUzVBXr1KgkyrRDvi0KFt0 mbmqUYKsNECoy/MJnf0MTjCa45O7smnjgvg6xX0+YC1gm+a6rrqh+Vr8K1RdgJdUCBHbSVMg1 lAM07XtczyxL2x81MoxMB9Ny/FtMRj12xI5R4o2LjqiyKFU97uYYEGlLM2JBw9S89FOOnf7nc Uczs5010kAf1sptELGr6AbIrIKh3STGSQKctWNDw1JPs1pT6rU0npwIF+pFU/ssAzvRG6ToJn ga2LoHQd9WWd9PhunkeiHdbt5WHtvQf0x76kkhbQ4RioNwGB6O1ryiU0r4qeQq3FPGpteEp79 Rtnh6bVzcExf6cGk/R0py8GLE/W2+CnYaCOxvwxRlw2H/dHBKBdPNZ8X/nEmvX1i8spRjBE4a oDexnSl9nPNW35x5kmEcsEVzTHAXkQFrPGwXNBD6J2cYemgQMuqP9eXLrRHd7pbj8VNGkHS9S 8DX2WtYMNkF9GBTR+sqtXuGhZF0UWpIj0o9RvRRfD6xD4h1YNptSgnlT6iaNW+J4c9PmImLPM zmCMl/X6m23q/hz0NxMguH6LjpUrRhyaBGvEsQQMZqKg5ZSf4KgOrvkA6lSCqgi8dKDltLc3c Z7NUyj2zY2c7IAR4ba5T9espwhx3jHqauNsNm51M6NCR9SAIBmiEI8yxQVrp9BcVyF8USAOpV 35oPysz1uTkVcrFYmJoknXDFYmjFIqor19hARXWJTOWE+F5iCD0V07YCGXq9jOH2YU74/7URf 5KXCTL22A+1qP3cfe7LHaMdSbe4LUk3BIndw9CFviqwbbA8tGwxgLUKa/al1UaH9GXxgnijMw WmAdx/NVIsMbda8Pg/BC20+JeCT79G5jeXJxvTvQhDsHKvGmWfGNxnQkIQbx7EMUUmxGyCU3o vQ48Mw5jHnil8bQkEbh2zXNM8jRzoOdQBNO7uq6NXyVmRqEkXjpZlvjum54c8R1vxPE8Ou/PQ C5oo+oLUVmL4akrxSmZra2tXEbXotW2thFNav2gT/rRWLE5X4HnLR8A+vD4CaThCjxM02L7eQ znxMqQeu29qD0WkDM0BNCI4xBHUDFqvpX/THT1FGyYdJkrOd/EoX7URL9kLM1QBte72B2gWYO f7kfBYLYgYqzAp4sR9eniAFgg8dveUDKBYyQodC2gLEr1Nqwt3lSJk2FV9VHxxPKvQ1e2X2XQ vJDrqY9dYQjcGcscJMInqH7mZ9bb6/1EPPRrbyns9A2TN+EOfy+U2aluRHDLWfUV7ftfYOxNg sJDGj/KYj6Jd45PTGjW5ELW2t0uilP8ONhJMIslYRQKfopmPU0dqfd8GS0xg= X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 37415 Cc: 37415@debbugs.gnu.org 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 with an empty init.el, and the following early-init.el: >> >> D:\...\.emacs.d> type early-init.el >> (setq default-frame-alist '((left . (+ 0)))) >> >> D:\...\.emacs.d> emacs.exe >> >> lisp.h:1231: Emacs fatal error: assertion failed: FIXNUMP (a) > > Is this use case important enough to support? IOW, would just > signaling an error do the job here? If not, please explain why did > you need to set default-frame-alist in the early-init file. Wasn't setting 'default-frame-alist' (or 'initial-frame-alist') one of the major motivations for adding the early-init file feature? IIRC it's used to suppress temporarily showing the initial frame at an unwanted position or with unwanted size. So IMHO this should never fail. martin From debbugs-submit-bounces@debbugs.gnu.org Wed Sep 18 08:31:23 2019 Received: (at 37415) by debbugs.gnu.org; 18 Sep 2019 12:31:23 +0000 Received: from localhost ([127.0.0.1]:53707 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iAZ7B-00004x-4F for submit@debbugs.gnu.org; Wed, 18 Sep 2019 08:31:23 -0400 Received: from eggs.gnu.org ([209.51.188.92]:45533) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iAZ78-0008WK-J3 for 37415@debbugs.gnu.org; Wed, 18 Sep 2019 08:31:19 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:58949) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1iAZ72-0001cf-Ve; Wed, 18 Sep 2019 08:31:13 -0400 Received: from [176.228.60.248] (port=1348 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1iAZ71-00038X-8r; Wed, 18 Sep 2019 08:31:12 -0400 Date: Wed, 18 Sep 2019 15:31:12 +0300 Message-Id: <83imppvl9r.fsf@gnu.org> From: Eli Zaretskii To: martin rudalics In-reply-to: <9aae1b2e-bb5f-8634-5501-9aaff9f51266@gmx.at> (message from martin rudalics on Wed, 18 Sep 2019 09:45:59 +0200) Subject: Re: bug#37415: Asserting failure setting frame parameters to non-fixnum values in early-init.el References: <83v9tqvrm7.fsf@gnu.org> <9aae1b2e-bb5f-8634-5501-9aaff9f51266@gmx.at> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 37415 Cc: lekktu@gmail.com, 37415@debbugs.gnu.org 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 (---) > Cc: 37415@debbugs.gnu.org > From: martin rudalics > Date: Wed, 18 Sep 2019 09:45:59 +0200 > > >> lisp.h:1231: Emacs fatal error: assertion failed: FIXNUMP (a) > > > > Is this use case important enough to support? IOW, would just > > signaling an error do the job here? If not, please explain why did > > you need to set default-frame-alist in the early-init file. > > Wasn't setting 'default-frame-alist' (or 'initial-frame-alist') one of > the major motivations for adding the early-init file feature? No. the main motivation was to be able to set package.el related variables. > IIRC it's used to suppress temporarily showing the initial frame at > an unwanted position or with unwanted size. So IMHO this should > never fail. Feel free to fix it, if it's practical. I chimed in after hearing nothing from you for a few days ;-) From debbugs-submit-bounces@debbugs.gnu.org Thu Sep 19 04:18:03 2019 Received: (at 37415) by debbugs.gnu.org; 19 Sep 2019 08:18:03 +0000 Received: from localhost ([127.0.0.1]:55103 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iArda-0002fi-Sg for submit@debbugs.gnu.org; Thu, 19 Sep 2019 04:18:03 -0400 Received: from mout.gmx.net ([212.227.15.15]:45007) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iArdY-0002f7-L2 for 37415@debbugs.gnu.org; Thu, 19 Sep 2019 04:18:01 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1568881070; bh=nyDxp7njjyizv46U42AZ7yDaNT7QNkYDhV7PkkrwC+I=; h=X-UI-Sender-Class:Subject:To:Cc:References:From:Date:In-Reply-To; b=XFUub3XNZiicpfdaLeVwRkE3mmw+WvMoObDlkIMNv5Z2pkSMrx2DWQp2l5kizuUIi lDY4MwVQVF3J3cGi3QUvA8dJ0KzBdYkMCs/F8n4ec8YLiNfNe9dvlkNaNH+6ipkIlq a4/gOXyZDPNZW7TJbZP+6RwDPCOj2oYPH+2j1JUg= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Received: from [192.168.1.101] ([212.95.5.28]) by mail.gmx.com (mrgmx005 [212.227.17.190]) with ESMTPSA (Nemesis) id 1MryT9-1hpmMC46uj-00o2ao; Thu, 19 Sep 2019 10:17:50 +0200 Subject: Re: bug#37415: Asserting failure setting frame parameters to non-fixnum values in early-init.el To: Eli Zaretskii References: <83v9tqvrm7.fsf@gnu.org> <9aae1b2e-bb5f-8634-5501-9aaff9f51266@gmx.at> <83imppvl9r.fsf@gnu.org> From: martin rudalics Message-ID: <14d4a455-254e-fdc2-0b64-791cfb0f7724@gmx.at> Date: Thu, 19 Sep 2019 10:17:42 +0200 MIME-Version: 1.0 In-Reply-To: <83imppvl9r.fsf@gnu.org> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: de-DE Content-Transfer-Encoding: 7bit X-Provags-ID: V03:K1:IS2zcSdNynoVgkPkuZuA5/r0rGBdYqW5ytZFR03ki9Z1BtqeGid tINzOhAULCTOstQzCX4KH6MZHVP9nP2wAXN1FS7+laRomBPU57j5B+GsXP4gtA0oe5NllKG yzzk1soIdfnrQdYSZ62whsQ/tx5qebThgN9qjf1TlU8KIrQJyEIxBhXd73SuyPn8FnuXDBp Uh1NZz5Mf2hYvbVLFkwPQ== X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1;V03:K0:lk9qogH0GOw=:UTfcW2B2gxKoC2ka7wTpFk BbHhrvk8awVyE/s2I7iDq3MP9mnaV+KbImUhyBWcDn9qsZpfPPKp1PlTBpV9OZpIyh3Pvayi5 OtVgLLx1R2vcaNPQszsZj3Tubyy5hlxMRMT7OQGEQX4L8CPFmmpsLzkTq2XdQR3FXdOGOxXuT 7mmAMIWTQQWfy9L6iJhsSfz9iSNDBHMTpcZCB0Bi/LN/I1CyTKucOCEi6DixoW/QfL4rmuIAX 6dmbrQGrjt7EvADdBKfz0Wk+ThUo4dA0NpO2IZmpAgqmDErzgm4+0OOaE2QNAblIruOXQ17+3 Ft9BuI+lpp1el1omhruACdIlG1k5tOJmdruCsdUm0Xdx6B4FcWAYH4W6n6euPfzh6brkeDuOB 5BdT/i9f6ajoslmuNncTupb5cPX5EPYJOQ/A+PwXzuFbqKyb8/k4QhX/17Z33ycQwkY/j+D6g d8JgHneTqabp2+AeYQss6AW56t1vGRCI+7rDc6tvK9qWtpG8uW84djcNrPCEOpHfWbKHh5Jk4 L/4kwd/RUIfPboI5pzqsrbBfwQvvBlEUrUlfOWHRNRIJ9p55Hbe96cE/Gm430n9tGsSIkhumV 4dKVLBSSJCa2lqi2k7KHscRp1aqAFTZRIwfiXH9+VzSoZ9jvHOz8+GYuPAFIAPulT5KPzuMG3 KE4hvKiRLDRU46Hzo0p/OzVpG5tHCYabxnfjpwIF4fGl180fHsD0p1adtc/LvbhUq/kmH9x31 UAOVEA7/wSk3z+1fO/AmY5dd+LMCdcT7h52ncIKca5xNLEa221eFNyX/en4nkQ+lDR6uVXQu5 JrK1CK4wVB1qfPX6zAAU8MW/Xbn6vfBN1JPX5bujCDmqddqMIw+i0yEJM3qRd2qK7cjuj7+Oe +eeSm9t3xSMSGoZXhpYAfCwq0BzfIzdFxuPxrLjbqDM1Znh5znXYG0JqRh/A4bSm/XYJmwsrs QrDjJJyQzwWMPy1fXBVdtmBI2t0K0mh1WbzRm1F2ufhbH73clycaDgiEOt6I9LfaovecY1Loy gel+15cQDR9xN0hpLA/5AQd337iDtXkha+MM7jIpETz7vXv3pHDiWfhVXk171eovUEazkT5WP hCh66xRpiVwZ2wBJRZwHhit2gLvG58FNA8+mUFOAiTwsTOfU/dIU5qY3RiSyKFSGedoaMlH2e wckfon8/HIYt1jvG82y2YFuVKWinb3WDUZYiklfulDnL7wgpRACoWJ0VZZYU/QKRHU6H5votk 3QN6zbG14Fjvh4rDxCAQKuzpAL056KAM6yV1/OMhG+iSJyppoA8lUmsUmoZY= X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 37415 Cc: lekktu@gmail.com, 37415@debbugs.gnu.org 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 (-) >> Wasn't setting 'default-frame-alist' (or 'initial-frame-alist') one of >> the major motivations for adding the early-init file feature? > > No. the main motivation was to be able to set package.el related > variables. In section 49.4.6 of the Emacs manual frames "loaded before the package system and GUI is initialized, so in it you can customize variables that affect frame appearance as well as the package initialization process" come first ;-) >> IIRC it's used to suppress temporarily showing the initial frame at >> an unwanted position or with unwanted size. So IMHO this should >> never fail. > > Feel free to fix it, if it's practical. I chimed in after hearing > nothing from you for a few days ;-) Initially, I couldn't reproduce it (and still can't on Debian although setting it doesn't seem to have any effect there). But even if we cannot fix the behavior we have to avoid the crash. After all, this is the first release processing an early init file. martin From debbugs-submit-bounces@debbugs.gnu.org Thu Sep 19 10:13:16 2019 Received: (at 37415) by debbugs.gnu.org; 19 Sep 2019 14:13:16 +0000 Received: from localhost ([127.0.0.1]:56257 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iAxBM-0007Oc-2w for submit@debbugs.gnu.org; Thu, 19 Sep 2019 10:13:16 -0400 Received: from eggs.gnu.org ([209.51.188.92]:45740) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iAxBL-0007OP-4W for 37415@debbugs.gnu.org; Thu, 19 Sep 2019 10:13:15 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:51742) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1iAxBG-00064n-1X; Thu, 19 Sep 2019 10:13:10 -0400 Received: from [176.228.60.248] (port=4037 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1iAxBF-0003d0-Cp; Thu, 19 Sep 2019 10:13:09 -0400 Date: Thu, 19 Sep 2019 17:13:13 +0300 Message-Id: <83o8zgtlvq.fsf@gnu.org> From: Eli Zaretskii To: martin rudalics In-reply-to: <14d4a455-254e-fdc2-0b64-791cfb0f7724@gmx.at> (message from martin rudalics on Thu, 19 Sep 2019 10:17:42 +0200) Subject: Re: bug#37415: Asserting failure setting frame parameters to non-fixnum values in early-init.el References: <83v9tqvrm7.fsf@gnu.org> <9aae1b2e-bb5f-8634-5501-9aaff9f51266@gmx.at> <83imppvl9r.fsf@gnu.org> <14d4a455-254e-fdc2-0b64-791cfb0f7724@gmx.at> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 37415 Cc: lekktu@gmail.com, 37415@debbugs.gnu.org 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 (---) > Cc: lekktu@gmail.com, 37415@debbugs.gnu.org > From: martin rudalics > Date: Thu, 19 Sep 2019 10:17:42 +0200 > > > Feel free to fix it, if it's practical. I chimed in after hearing > > nothing from you for a few days ;-) > > Initially, I couldn't reproduce it (and still can't on Debian although > setting it doesn't seem to have any effect there). Try on MS-Windows, it's trivial there. > But even if we cannot fix the behavior we have to avoid the crash. That was my purpose when I proposed to signal an error in this case. From debbugs-submit-bounces@debbugs.gnu.org Fri Sep 20 04:13:23 2019 Received: (at 37415) by debbugs.gnu.org; 20 Sep 2019 08:13:23 +0000 Received: from localhost ([127.0.0.1]:56726 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iBE2d-0000xB-DV for submit@debbugs.gnu.org; Fri, 20 Sep 2019 04:13:23 -0400 Received: from mout.gmx.net ([212.227.17.20]:51007) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iBE2b-0000wy-FA for 37415@debbugs.gnu.org; Fri, 20 Sep 2019 04:13:22 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1568967186; bh=Wr7HI0ZOVaW0Bz1QMZARCkRJeOm5qXnLzZ0utQSNu6I=; h=X-UI-Sender-Class:Subject:To:Cc:References:From:Date:In-Reply-To; b=Obxw8eU+uuqrKc5EwVAUP5q7V20O0sN70w+t0FoVUC2KI7ZXtYOF03ANZt8ooMOir c93gRixsdovHyhnaIsDbVLOSX7oB8chqNxUb/cmSjaCZuycVVB0VST1J4fgp81DaIu p2ZnBDDdddRpOr5JK/mb18etu/GRvye5EjKjdCss= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Received: from [192.168.1.101] ([46.125.249.36]) by mail.gmx.com (mrgmx105 [212.227.17.168]) with ESMTPSA (Nemesis) id 1MrhUK-1ho2uE1Uwu-00nefb; Fri, 20 Sep 2019 10:13:06 +0200 Subject: Re: bug#37415: Asserting failure setting frame parameters to non-fixnum values in early-init.el To: Eli Zaretskii References: <83v9tqvrm7.fsf@gnu.org> <9aae1b2e-bb5f-8634-5501-9aaff9f51266@gmx.at> <83imppvl9r.fsf@gnu.org> <14d4a455-254e-fdc2-0b64-791cfb0f7724@gmx.at> <83o8zgtlvq.fsf@gnu.org> From: martin rudalics Message-ID: <0936d492-c2bc-d4d3-7fcf-272d0fdbe087@gmx.at> Date: Fri, 20 Sep 2019 10:13:03 +0200 MIME-Version: 1.0 In-Reply-To: <83o8zgtlvq.fsf@gnu.org> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: de-DE Content-Transfer-Encoding: 7bit X-Provags-ID: V03:K1:OtUGvr9Af0QOSSQ7PUmPlpbz1aAGohVQa8Nrt2KUghWxOCmNgxv tNHywJ98VWtQIk3wl+mga55lkPqXsdc8tgAerweA/ge3+oe8/bcRLKj0NA1168F3gWZLeuw O4u0P3gRGnT+RPpmV18Ru/3mMxld/QhDcebojsnaRqxRoabHpnLwZ8NUPrswxvY9GAduVZU 1SUuaPTvG9Gl0V91kVBwg== X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1;V03:K0:DGllaHe810U=:etN+/cS7FEjhCuIAIdDto9 IdTd/FsoNnWhMHVSpLjJoUpZ0Hydp4ULm2ZFHZkxFdWetXKqbDB3LPiuIWWwjzctbU9Frs6jU UNaY9czLwBMbWVyiOirR8mlY+hniF5KiI2BzjHQZt8lhsW2jhoDFQanrc9JzpDCpmWaOi3p1X KpRXyvrdsmsx0qgIVS+uM61zeQ3kHQx7bQ7Ii19l9Pwv1KrccA8eWH1B4gM9XhKcv1N8QaH7l c/nDVu3xlYn5ebsBQuBjmBxVXrVo2ERQdDutlCMeeRFObOg+9ZLgugMxH2MpIwNe8OWdQmCl9 J98BJ/0SahZEiTbtoEH1Zvh14zf/a+JqpPriRmtlsbDinTK3SSYzOtyhM3kCxDCbr/dHHOSuu v5H49o4mq4RppeTmI0GZGxsPOhUvYLrMvXVGmNsW3sQs4ttaBVZN1IAwi9TEqvTDwHeNavflm +4NWuAJEMYZKvvKmdAA6ZPEd6L1eHtEhZ4BY4NkESCRm2dFBx3eoHIu4kX9s8KEoItnCXJQmY baUGPCC/U5rV8K8JBd6KkjSYCcg74dXfKiHfm8BXh+khMblU16QQEfnxkTfaJuWKRDs/NjNur nu3EiJv7f4uqpZ39BdTBMO8Bei88keOVahXvjjC1aaAvoywVsYDMnljHn1AaiGNwpthfpmrwa imULgDm6jfYNx2s0/lojToG7pYgcOmdw4hjrXo7rLHOS905GLPfHDEkjgP66ZhqPLDioJG236 BcuzTMx/AyxrFsa7AswHGZ9FzMwIcU5pfYM7POmT7mWwoy4XPeipBu5C0uhuCprHGw/DD2QeF mMpQW6+yCMLLMkLQdMp9O3mwyLihg7BwJNiyOesBYfCd01altGRQ6+RXcpQOcGyPe547DwQ/5 lMZ4/aqkRlmb4IEKrN1YCQRC7A/IUQrsm5K/5CjVnsoo7MF+8MnFF1e4ADqCWJzzEfu7p9AxE TSOjV7rORAYr+4VytrOX+Q3iZZ/Sjq56zxJ2AKxgs62XthAtKg86EFfI4m7iYLSwCN8m8j3sM Bd4VyNhUm0HNCSkBOjiEHGaDh545MFQUPn7FH+kwaKuIshpvGnhW/Z4rDs+JUhaynJjSvOTiF CJO6+Q+ye1dN3eJbxRurFq7raifhLngePvTgCquYW9yjxw+FTU6/1VDOODVJBd0hP73cVzNBS xmEau9e/ozzSskuldp7opcRv0Rf6QwqVeYkuhHcnDzjNUv0lxmjs4X+sdmxNOyTy0V9JtVwgT QF0ixyS5wQV2/HdktqW1C6BXkGylBlIIvPr3L0IRFEHBPRrScSC0lw5dJLfs= X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 37415 Cc: lekktu@gmail.com, 37415@debbugs.gnu.org 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 (-) >> But even if we cannot fix the behavior we have to avoid the crash. > > That was my purpose when I proposed to signal an error in this case. Should we even signal an error then? The parameter would be applied later anyway as soon as we can parse the display geometry. At least here the frame appears as expected if my early-init.el just contains (setq default-frame-alist '((left . (- 100)))) and the patch below is used. martin diff --git a/src/w32fns.c b/src/w32fns.c index 34abd026f9..3771d9d5f9 100644 --- a/src/w32fns.c +++ b/src/w32fns.c @@ -5427,14 +5427,16 @@ my_create_window (struct frame * f) RES_TYPE_NUMBER); top = gui_display_get_arg (dpyinfo, Qnil, Qtop, "top", "Top", RES_TYPE_NUMBER); - if (EQ (left, Qunbound)) - coords[0] = CW_USEDEFAULT; - else + + if (FIXNUMP (left)) coords[0] = XFIXNUM (left); - if (EQ (top, Qunbound)) - coords[1] = CW_USEDEFAULT; else + coords[0] = CW_USEDEFAULT; + + if (FIXNUMP (top)) coords[1] = XFIXNUM (top); + else + coords[1] = CW_USEDEFAULT; if (!PostThreadMessage (dwWindowsThreadId, WM_EMACS_CREATEWINDOW, (WPARAM)f, (LPARAM)coords)) From debbugs-submit-bounces@debbugs.gnu.org Fri Sep 20 15:08:24 2019 Received: (at 37415) by debbugs.gnu.org; 20 Sep 2019 19:08:24 +0000 Received: from localhost ([127.0.0.1]:58523 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iBOGW-0007aU-29 for submit@debbugs.gnu.org; Fri, 20 Sep 2019 15:08:24 -0400 Received: from eggs.gnu.org ([209.51.188.92]:48632) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iBOGU-0007aA-38 for 37415@debbugs.gnu.org; Fri, 20 Sep 2019 15:08:22 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:57125) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1iBOGO-0007gI-KU; Fri, 20 Sep 2019 15:08:16 -0400 Received: from [176.228.60.248] (port=3636 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1iBOGN-0002Zc-TY; Fri, 20 Sep 2019 15:08:16 -0400 Date: Fri, 20 Sep 2019 22:08:20 +0300 Message-Id: <83a7ayss4b.fsf@gnu.org> From: Eli Zaretskii To: martin rudalics In-reply-to: <0936d492-c2bc-d4d3-7fcf-272d0fdbe087@gmx.at> (message from martin rudalics on Fri, 20 Sep 2019 10:13:03 +0200) Subject: Re: bug#37415: Asserting failure setting frame parameters to non-fixnum values in early-init.el References: <83v9tqvrm7.fsf@gnu.org> <9aae1b2e-bb5f-8634-5501-9aaff9f51266@gmx.at> <83imppvl9r.fsf@gnu.org> <14d4a455-254e-fdc2-0b64-791cfb0f7724@gmx.at> <83o8zgtlvq.fsf@gnu.org> <0936d492-c2bc-d4d3-7fcf-272d0fdbe087@gmx.at> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 37415 Cc: lekktu@gmail.com, 37415@debbugs.gnu.org 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 (---) > Cc: lekktu@gmail.com, 37415@debbugs.gnu.org > From: martin rudalics > Date: Fri, 20 Sep 2019 10:13:03 +0200 > > >> But even if we cannot fix the behavior we have to avoid the crash. > > > > That was my purpose when I proposed to signal an error in this case. > > Should we even signal an error then? If we cannot do better, then yes. > The parameter would be applied > later anyway as soon as we can parse the display geometry. At least > here the frame appears as expected if my early-init.el just contains > > (setq default-frame-alist '((left . (- 100)))) > > and the patch below is used. If the patch below solves the original problem, please install it. If it doesn't, then please help me understand how is it related to the issue at hand, because I don't think I understand. Thanks. From debbugs-submit-bounces@debbugs.gnu.org Sat Sep 21 00:26:35 2019 Received: (at 37415) by debbugs.gnu.org; 21 Sep 2019 04:26:35 +0000 Received: from localhost ([127.0.0.1]:58922 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iBWyh-00080B-3z for submit@debbugs.gnu.org; Sat, 21 Sep 2019 00:26:35 -0400 Received: from mail-qk1-f169.google.com ([209.85.222.169]:44199) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iBWyf-0007zv-Do for 37415@debbugs.gnu.org; Sat, 21 Sep 2019 00:26:33 -0400 Received: by mail-qk1-f169.google.com with SMTP id u22so5983908qkk.11 for <37415@debbugs.gnu.org>; Fri, 20 Sep 2019 21:26:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=D2zT/hFIxiP1CGzWqgkpXKzUBYeETY6hPbRMSUHSZDU=; b=rChOMDIJjc83mQdGyIWWIJve3cMJ0G4sBDhF6xmkO+0+3quHgvICD/U/Gd7KXZ7sG0 GLknq2c/NDkLAFwi4Y1t4e6qNj7YT2pwLjbkJ8Q5MMqguou36wRJGI7mZBfL3k6P/1s6 5YnDp/PMwFVHzwJu7e+u/gLGCfxH9LIDu2xqEjB+NlaIaBGwNLYW9ANqHCrYTvglz/IA PqiTRRR6h+ZCbMA4od5TfbzV7kM7P/L6/vWLiaUk0uUU3mH9lJCutJDctwx0plj677lk ROkw2hLKzx+oBwNjc9jIdlb0+h3mhIjuBD4Kt71UfwyPvmuiZMbMvMC6TT/6jJskpKUU 0iOQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=D2zT/hFIxiP1CGzWqgkpXKzUBYeETY6hPbRMSUHSZDU=; b=RawOkOa5CHNxZYqCwd5eSniqvDntt8QUBqagf0yircl8/56too8fDwIrFHCkUB7kX9 xqxZrseAGkAQwUZlon3hCV93Bxm5V+s+/znKJ0c3BZV+hIqRfHt57R1N0MnEuIC7NxdF simzGvw5U2CdAbCwNcXvQDiKt2J+KT8aPAOsz5J5fuWheyeKErD+fsH8P+7qL+tImMZZ CcqMhXqwAbImwtYYeyHGp48bYWGJjXniAq1uhIG4Z8G3+slFn/KBac9sni1N4nGQguP2 ROS8dW6Gl/qu5ais44REgLG/glrdByC/Gq9RZxvYviyYJ+mLwrXJAzwQ2H8PzB+uPWTF EZuQ== X-Gm-Message-State: APjAAAXmZQr/k+TgOpt9U4PPTVNzDsIjb9oYuxo5MZdm9BQhte15n8dV Zie2S++a1CwjtpVgiFdo/jqo6nmfQoGdpFcBanQ= X-Google-Smtp-Source: APXvYqwhrVYM7Kq4EHFWPIdt0sq6mA0DxvsNT9/8T39VXpB3qk9rQjIE/PVuS9ymYHmaKn75IK3DaL3GZbIlAAhml/A= X-Received: by 2002:a05:620a:6db:: with SMTP id 27mr6986568qky.281.1569039987851; Fri, 20 Sep 2019 21:26:27 -0700 (PDT) MIME-Version: 1.0 References: <83v9tqvrm7.fsf@gnu.org> <9aae1b2e-bb5f-8634-5501-9aaff9f51266@gmx.at> <83imppvl9r.fsf@gnu.org> <14d4a455-254e-fdc2-0b64-791cfb0f7724@gmx.at> <83o8zgtlvq.fsf@gnu.org> <0936d492-c2bc-d4d3-7fcf-272d0fdbe087@gmx.at> In-Reply-To: <0936d492-c2bc-d4d3-7fcf-272d0fdbe087@gmx.at> From: Juanma Barranquero Date: Sat, 21 Sep 2019 06:25:52 +0200 Message-ID: Subject: Re: bug#37415: Asserting failure setting frame parameters to non-fixnum values in early-init.el To: martin rudalics Content-Type: multipart/alternative; boundary="0000000000001d4835059308976a" X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 37415 Cc: Eli Zaretskii , 37415@debbugs.gnu.org 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 (-) --0000000000001d4835059308976a Content-Type: text/plain; charset="UTF-8" On Fri, Sep 20, 2019 at 10:13 AM martin rudalics wrote: > Should we even signal an error then? The parameter would be applied > later anyway as soon as we can parse the display geometry. At least > here the frame appears as expected if my early-init.el just contains > > (setq default-frame-alist '((left . (- 100)))) > > and the patch below is used. It works here too. Please install it. Thanks, Juanma --0000000000001d4835059308976a Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable


On Fri, Sep 20, 2019 at 10:13 AM martin rudalics &= lt;rudalics@gmx.at> wrote:
> Should we even signal an error then?=C2=A0 The parameter would b= e applied
> later anyway as soon as we can parse the display geometry= .=C2=A0 At least
> here the frame appears as expected if my early-ini= t.el just contains
>
> (setq default-frame-alist '((left . = (- 100))))
>
> and the patch below is used.

I= t works here too. Please=C2=A0install it.

Thanks,

=C2=A0 =C2=A0Juanma
--0000000000001d4835059308976a-- From debbugs-submit-bounces@debbugs.gnu.org Sat Sep 21 04:52:05 2019 Received: (at 37415) by debbugs.gnu.org; 21 Sep 2019 08:52:05 +0000 Received: from localhost ([127.0.0.1]:59088 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iBb7d-0001zX-02 for submit@debbugs.gnu.org; Sat, 21 Sep 2019 04:52:05 -0400 Received: from mout.gmx.net ([212.227.15.18]:34211) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iBb7a-0001z3-HT for 37415@debbugs.gnu.org; Sat, 21 Sep 2019 04:52:03 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1569055909; bh=g9/Yjib1BukJVqkg/o5utOXPmcVMRnedOgL2OMdX3wA=; h=X-UI-Sender-Class:Subject:To:Cc:References:From:Date:In-Reply-To; b=l7Ghuey1wQlh2FGmZk/Nn3R/WZuCWGm+2k0/AUjDXRZGIx1C6vSoW7Vyvr40DDbgM wU4QqbcbpXhSv0cIW+/HSYRW4jP9FTA0P+AXgzB7dgIUTSVh6wL7AuK3NqVUj87ADp O7yLf9zapmxKBZk92Qbc15LR5qRC299t4ZpIDPfE= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Received: from [192.168.1.101] ([46.125.249.24]) by mail.gmx.com (mrgmx005 [212.227.17.190]) with ESMTPSA (Nemesis) id 1N2V0H-1i3wK22Vpf-013tOD; Sat, 21 Sep 2019 10:51:49 +0200 Subject: Re: bug#37415: Asserting failure setting frame parameters to non-fixnum values in early-init.el To: Eli Zaretskii References: <83v9tqvrm7.fsf@gnu.org> <9aae1b2e-bb5f-8634-5501-9aaff9f51266@gmx.at> <83imppvl9r.fsf@gnu.org> <14d4a455-254e-fdc2-0b64-791cfb0f7724@gmx.at> <83o8zgtlvq.fsf@gnu.org> <0936d492-c2bc-d4d3-7fcf-272d0fdbe087@gmx.at> <83a7ayss4b.fsf@gnu.org> From: martin rudalics Message-ID: <7b896377-d546-b428-adba-797ec988c4fa@gmx.at> Date: Sat, 21 Sep 2019 10:51:49 +0200 MIME-Version: 1.0 In-Reply-To: <83a7ayss4b.fsf@gnu.org> Content-Type: multipart/mixed; boundary="------------FFD685F43A959F57CACD2CB3" Content-Language: de-AT X-Provags-ID: V03:K1:yTZVJP99CmCbYoSj6sf2THODxpAQX0YjCMrJP8hJ8NoazSdnAtD zsbTVOZLOiNzmQKGMwPe5KQrq3GVFhusQ2/9zhNxGmE4lFXwlyQNJpfy9J5/QKtMV93d1wc NlDyBvgXDZ3vBooBtCBVtZwqWLwb8WJRLT8IRpWj8fyYHaIzKWHLFQ92RxJAZt0JPxYXMO2 IRm8Win85+Xrsq56gNBFQ== X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1;V03:K0:TCI+V015WKs=:xKrvcCcxeIb5zuC2PpW66i oi8mvVWIwQo3PYeuXmA3K12FboSFc6ycaOH42J4E8z/lAcwS1U6ty0Zmy5xWp/og/9MC9Pplr qFos1QUemE/ZidGPqjML2LSi87y0rjPPig1BaNAkN4dTxZAvEYo4afVg53OujG7EBGAfPbdSf Ze+6ie+sQpwj06k7q7z4SJ/udqY772YzmJMg/Lq8MiQmU41r+Mu40FY3UsknSUqUbbNlsEZcv Xdaof1tjTU6ut4I8Csf/xq6XtHnxJSWRQ9dRMQIHz97q6cO09zdA1X+Pd/mbJaLQcLj+8uIg3 yvTSbFLgK7UPuo8N0O33y5vKN9qVcPzq9uCjac2/lAjBJcaCThrsMBToSXGatzRofdipZ3Cvu o+zjOdc/KRgm34xYzA10NKdn9bgqS2b3g3yEZJgBV7BDyNKiJKrWbGXICdIq4DQrFtDPusTRj J56/pU4AShL1Aqn+Zn2twibv6d+Jikvns+8wBPDqZ+7K7e7uY/+bo4zSX8i8Ib7KcNnqAge9n 2haziGnmBppbNN/GH3BNLy0BJKoxYsRvHxPDEEr6b6tVfk9+8kgPTMm+8wbIJ9wEX8O9gMLpi t1fnXYw0xg3moIDtZan6yVDUQdiFXnXBlw33i4N+n1cdIxhQiRr8f/npyqXg2YSeCnjNHqiN8 t0ksvLXQ6OFZKIen3/i4zxuBxnZePzAavGB3hv6pGs0vWlBqiJaZhbVbJJqM5csS9+UdBlXVs aIuEuNu7nb6Xz+2oi8MwiOrIx6W1aTDzM4J+bb1tYLGZ/xL0oCkgxnTNs/u+fuQc/JnpNqqd5 vX+FN/zSkPHMzz1KFy+R0wuASvZF14DFzDCyIWO4sBwNyw5/EB4+8aDh1ZH3f1FqMjkX58dtS ULtsLk9vLz1EmNoRGNjxA8E27At7irDU3Vz5DmK2R/p3ONEY9tIDg3JtcigjZaAyjWaZGqee4 cvXkKwCypzW0Ky4euLtXWlXP7X5YcTAc0b42KODCz8ViqCT/GV0fEyhJWUm1m76aLC84tDwuD xyElj+itXeJERV9cCRN7R7ZiIdKu5a0DsggOxzRK13O1Xy0nraBi2MPF/V+IJ0X3SM0YYIZdM ahbElmIhyoeXajUzuAMJ0nANsE3IgHr0qkDd2f1AFzvLQqIdSRe97fa0eXLBfj6mKr34Jgl/r jQSeeZzL5y753X5qglB4t8RoMhwrgUzP1v75aoXgyPm134vljyv7xXwHNcWCH0MwKWgcuYTbq 6i8aHWGtY562ko831AE0YqeEkMYOuOnKgxusfew8nKdxnlaNIoQyD3lF133A= X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 37415 Cc: lekktu@gmail.com, 37415@debbugs.gnu.org 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. --------------FFD685F43A959F57CACD2CB3 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit > If the patch below solves the original problem, please install it. If > it doesn't, then please help me understand how is it related to the > issue at hand, because I don't think I understand. It hardly makes sense to install a patch you don't understand. So let's get back to the original problem. Juanma said that > This is with an empty init.el, and the following early-init.el: > > D:\...\.emacs.d> type early-init.el > (setq default-frame-alist '((left . (+ 0)))) > > D:\...\.emacs.d> emacs.exe > > lisp.h:1231: Emacs fatal error: assertion failed: FIXNUMP (a) and when I try that on Windows 10 with a 64-bit build of master I get the following backtrace (gdb) bt #0 terminate_due_to_signal (sig=22, backtrace_limit=2147483647) at ../../src/emacs.c:375 #1 0x00000004002bb1d2 in die (msg=0x4009fdf3e "FIXNUMP (a)", file=0x4009fdee0 "../../src/lisp.h", line=1231) at ../../src/alloc.c:7245 #2 0x0000000400447414 in XFIXNUM (a=XIL(0x69699b3)) at ../../src/lisp.h:1231 #3 0x0000000400458b94 in my_create_window (f=0x76193d0) at ../../src/w32fns.c:5433 #4 0x0000000400458f5e in w32_window (f=0x76193d0, window_prompting=4, minibuffer_only=false) at ../../src/w32fns.c:5505 #5 0x000000040045af89 in Fx_create_frame (parameters=XIL(0x69835e3)) at ../../src/w32fns.c:6010 #6 0x0000000400319b96 in funcall_subr (subr=0x400957e00 , numargs=1, args=0xbfc658) at ../../src/eval.c:2867 #7 0x000000040031966f in Ffuncall (nargs=2, args=0xbfc650) at ../../src/eval.c:2794 #8 0x0000000400396404 in exec_byte_code (bytestr=XIL(0x61d586c), vector=XIL(0x61d40c5), maxdepth=make_fixnum(13), args_template=make_fixnum(256), nargs=1, args=0xbfcb90) at ../../src/bytecode.c:633 #9 0x000000040031a2c7 in funcall_lambda (fun=XIL(0x61d4095), nargs=1, arg_vector=0xbfcb88) at ../../src/eval.c:2989 #10 0x00000004003196b3 in Ffuncall (nargs=2, args=0xbfcb80) at ../../src/eval.c:2796 #11 0x0000000400396404 in exec_byte_code (bytestr=XIL(0x61d58ac), vector=XIL(0x61d4055), maxdepth=make_fixnum(3), args_template=make_fixnum(257), nargs=1, args=0xbfd200) at ../../src/bytecode.c:633 #12 0x000000040031a2c7 in funcall_lambda (fun=XIL(0x61d4005), nargs=1, arg_vector=0xbfd1f8) at ../../src/eval.c:2989 #13 0x00000004003196b3 in Ffuncall (nargs=2, args=0xbfd1f0) at ../../src/eval.c:2796 #14 0x00000004003184c5 in Fapply (nargs=2, args=0xbfd1f0) at ../../src/eval.c:2381 #15 0x0000000400319a8c in funcall_subr (subr=0x400952540 , numargs=2, args=0xbfd1f0) at ../../src/eval.c:2847 #16 0x000000040031966f in Ffuncall (nargs=3, args=0xbfd1e8) at ../../src/eval.c:2794 #17 0x0000000400396404 in exec_byte_code (bytestr=XIL(0x6073844), vector=XIL(0x61d1325), maxdepth=make_fixnum(15), args_template=make_fixnum(128), nargs=1, args=0xbfd738) at ../../src/bytecode.c:633 #18 0x000000040031a2c7 in funcall_lambda (fun=XIL(0x61d12f5), nargs=1, arg_vector=0xbfd738) at ../../src/eval.c:2989 #19 0x00000004003196b3 in Ffuncall (nargs=2, args=0xbfd730) at ../../src/eval.c:2796 #20 0x0000000400396404 in exec_byte_code (bytestr=XIL(0x61e239c), vector=XIL(0x5fb9a0d), maxdepth=make_fixnum(14), args_template=make_fixnum(256), nargs=1, args=0xbfdd28) at ../../src/bytecode.c:633 #21 0x000000040031a2c7 in funcall_lambda (fun=XIL(0x5fb99d5), nargs=1, arg_vector=0xbfdd20) at ../../src/eval.c:2989 #22 0x00000004003196b3 in Ffuncall (nargs=2, args=0xbfdd18) at ../../src/eval.c:2796 #23 0x0000000400396404 in exec_byte_code (bytestr=XIL(0x638d3d4), vector=XIL(0x638d32d), maxdepth=make_fixnum(6), args_template=make_fixnum(0), nargs=0, args=0xbfe220) at ../../src/bytecode.c:633 #24 0x000000040031a2c7 in funcall_lambda (fun=XIL(0x638d2fd), nargs=0, arg_vector=0xbfe220) at ../../src/eval.c:2989 #25 0x00000004003196b3 in Ffuncall (nargs=1, args=0xbfe218) at ../../src/eval.c:2796 #26 0x0000000400396404 in exec_byte_code (bytestr=XIL(0x6393434), vector=XIL(0x638f585), maxdepth=make_fixnum(14), args_template=make_fixnum(0), nargs=0, args=0xbfed88) at ../../src/bytecode.c:633 #27 0x000000040031a2c7 in funcall_lambda (fun=XIL(0x638f555), nargs=0, arg_vector=0xbfed88) at ../../src/eval.c:2989 #28 0x00000004003196b3 in Ffuncall (nargs=1, args=0xbfed80) at ../../src/eval.c:2796 #29 0x0000000400396404 in exec_byte_code (bytestr=XIL(0x639401c), vector=XIL(0x6393605), maxdepth=make_fixnum(12), args_template=make_fixnum(0), nargs=0, args=0xbff3d0) at ../../src/bytecode.c:633 #30 0x000000040031a2c7 in funcall_lambda (fun=XIL(0x63935d5), nargs=0, arg_vector=0xbff3d0) at ../../src/eval.c:2989 #31 0x0000000400319f4d in apply_lambda (fun=XIL(0x63935d5), args=XIL(0), count=4) at ../../src/eval.c:2926 #32 0x0000000400318106 in eval_sub (form=XIL(0x64e9d2b)) at ../../src/eval.c:2318 #33 0x00000004003173b0 in Feval (form=XIL(0x64e9d2b), lexical=XIL(0)) at ../../src/eval.c:2102 #34 0x00000004001aa0fb in top_level_2 () at ../../src/keyboard.c:1100 #35 0x00000004003154e2 in internal_condition_case (bfun=0x4001aa0d0 , handlers=XIL(0x90), hfun=0x4001a9948 ) at ../../src/eval.c:1355 #36 0x00000004001aa153 in top_level_1 (ignore=XIL(0)) at ../../src/keyboard.c:1108 #37 0x000000040031493b in internal_catch (tag=XIL(0xdc80), func=0x4001aa101 , arg=XIL(0)) at ../../src/eval.c:1116 #38 0x00000004001a9fcf in command_loop () at ../../src/keyboard.c:1069 #39 0x0000000000000000 in ?? () Backtrace stopped: previous frame inner to this frame (corrupt stack?) Lisp Backtrace: "x-create-frame" (0xbfc658) "x-create-frame-with-faces" (0xbfcb88) 0x61d4000 PVEC_COMPILED "apply" (0xbfd1f0) "frame-creation-function" (0xbfd738) "make-frame" (0xbfdd20) "frame-initialize" (0xbfe220) "command-line" (0xbfed88) "normal-top-level" (0xbff3d0) I get a similar backtrace when I try the more reasonable (setq default-frame-alist '((left . (- 100)))) in my early-init.el (more reasonable because, after all, (setq default-frame-alist '((left . (+ 0)))) is equivalent to (setq default-frame-alist '((left . 0))) which _can_ be handled from within early-init.el). Do we agree so far? If so, then obviously if (EQ (left, Qunbound)) coords[0] = CW_USEDEFAULT; else coords[0] = XFIXNUM (left); will choke when 'left' is something like '(+ 0)' or '(- 100)' since neither of these pass the eassert (FIXNUMP (a)) check we have in XFIXNUM. Still agreed? Then doing something like if (FIXNUMP (left)) coords[0] = XFIXNUM (left); else coords[0] = CW_USEDEFAULT; should fix the assertion failure if my poor understanding of C doesn't let me down completely (the 'top' parameter needing a similar fix). Does that reasoning still make sense to you? And finally, with the sole evidence of my poor eyesight, (setq default-frame-alist '((left . (- 100)))) seems to work here too, despite of the fact that for the first frame the defaults are used. Maybe you can try to verify (I attach the patch for easier use this time). So do you still think that we should signal an error? Thanks, martin --------------FFD685F43A959F57CACD2CB3 Content-Type: text/plain; charset=UTF-8; name="left+0.diff" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="left+0.diff" ZGlmZiAtLWdpdCBhL3NyYy93MzJmbnMuYyBiL3NyYy93MzJmbnMuYwppbmRleCAzNGFiZDAy NmY5Li4zNzcxZDlkNWY5IDEwMDY0NAotLS0gYS9zcmMvdzMyZm5zLmMKKysrIGIvc3JjL3cz MmZucy5jCkBAIC01NDI3LDE0ICs1NDI3LDE2IEBAIG15X2NyZWF0ZV93aW5kb3cgKHN0cnVj dCBmcmFtZSAqIGYpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSRVNfVFlQRV9O VU1CRVIpOwogICB0b3AgPSBndWlfZGlzcGxheV9nZXRfYXJnIChkcHlpbmZvLCBRbmlsLCBR dG9wLCAidG9wIiwgIlRvcCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJFU19U WVBFX05VTUJFUik7Ci0gIGlmIChFUSAobGVmdCwgUXVuYm91bmQpKQotICAgIGNvb3Jkc1sw XSA9IENXX1VTRURFRkFVTFQ7Ci0gIGVsc2UKKworICBpZiAoRklYTlVNUCAobGVmdCkpCiAg ICAgY29vcmRzWzBdID0gWEZJWE5VTSAobGVmdCk7Ci0gIGlmIChFUSAodG9wLCBRdW5ib3Vu ZCkpCi0gICAgY29vcmRzWzFdID0gQ1dfVVNFREVGQVVMVDsKICAgZWxzZQorICAgIGNvb3Jk c1swXSA9IENXX1VTRURFRkFVTFQ7CisKKyAgaWYgKEZJWE5VTVAgKHRvcCkpCiAgICAgY29v cmRzWzFdID0gWEZJWE5VTSAodG9wKTsKKyAgZWxzZQorICAgIGNvb3Jkc1sxXSA9IENXX1VT RURFRkFVTFQ7CiAKICAgaWYgKCFQb3N0VGhyZWFkTWVzc2FnZSAoZHdXaW5kb3dzVGhyZWFk SWQsIFdNX0VNQUNTX0NSRUFURVdJTkRPVywKIAkJCSAgKFdQQVJBTSlmLCAoTFBBUkFNKWNv b3JkcykpCgo= --------------FFD685F43A959F57CACD2CB3-- From debbugs-submit-bounces@debbugs.gnu.org Sat Sep 21 05:14:16 2019 Received: (at 37415) by debbugs.gnu.org; 21 Sep 2019 09:14:16 +0000 Received: from localhost ([127.0.0.1]:59116 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iBbT5-0002Xd-OA for submit@debbugs.gnu.org; Sat, 21 Sep 2019 05:14:16 -0400 Received: from eggs.gnu.org ([209.51.188.92]:59724) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iBbT4-0002XQ-Vh for 37415@debbugs.gnu.org; Sat, 21 Sep 2019 05:14:15 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:41633) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1iBbSz-0000fu-Mk; Sat, 21 Sep 2019 05:14:09 -0400 Received: from [176.228.60.248] (port=3970 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1iBbSz-00035x-23; Sat, 21 Sep 2019 05:14:09 -0400 Date: Sat, 21 Sep 2019 12:14:16 +0300 Message-Id: <83r24aqadz.fsf@gnu.org> From: Eli Zaretskii To: martin rudalics In-reply-to: <7b896377-d546-b428-adba-797ec988c4fa@gmx.at> (message from martin rudalics on Sat, 21 Sep 2019 10:51:49 +0200) Subject: Re: bug#37415: Asserting failure setting frame parameters to non-fixnum values in early-init.el References: <83v9tqvrm7.fsf@gnu.org> <9aae1b2e-bb5f-8634-5501-9aaff9f51266@gmx.at> <83imppvl9r.fsf@gnu.org> <14d4a455-254e-fdc2-0b64-791cfb0f7724@gmx.at> <83o8zgtlvq.fsf@gnu.org> <0936d492-c2bc-d4d3-7fcf-272d0fdbe087@gmx.at> <83a7ayss4b.fsf@gnu.org> <7b896377-d546-b428-adba-797ec988c4fa@gmx.at> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 37415 Cc: lekktu@gmail.com, 37415@debbugs.gnu.org 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 (---) > Cc: lekktu@gmail.com, 37415@debbugs.gnu.org > From: martin rudalics > Date: Sat, 21 Sep 2019 10:51:49 +0200 > > I get a similar backtrace when I try the more reasonable > > (setq default-frame-alist '((left . (- 100)))) > > in my early-init.el (more reasonable because, after all, > > (setq default-frame-alist '((left . (+ 0)))) > > is equivalent to > > (setq default-frame-alist '((left . 0))) > > which _can_ be handled from within early-init.el). Do we agree so > far? If so, then obviously > > if (EQ (left, Qunbound)) > coords[0] = CW_USEDEFAULT; > else > coords[0] = XFIXNUM (left); > > will choke when 'left' is something like '(+ 0)' or '(- 100)' since > neither of these pass the > > eassert (FIXNUMP (a)) > > check we have in XFIXNUM. Still agreed? Then doing something like > > if (FIXNUMP (left)) > coords[0] = XFIXNUM (left); > else > coords[0] = CW_USEDEFAULT; > > should fix the assertion failure if my poor understanding of C doesn't > let me down completely (the 'top' parameter needing a similar fix). > Does that reasoning still make sense to you? > > And finally, with the sole evidence of my poor eyesight, > > (setq default-frame-alist '((left . (- 100)))) > > seems to work here too, despite of the fact that for the first frame > the defaults are used. Maybe you can try to verify (I attach the > patch for easier use this time). Thanks, but I probably should have explain the nature of my confusion better (and would have done that, should I know you will act upon it so seriously). Sorry about that. Here's what confused me in this problem: . the FIXNUMP assertion is probably there for a reason; what is that reason? . how come we don't hit this assertion when the same expression is in the init file, only in the early-init file? . why doesn't the X build hit the same assertion in the same scenario? I'm probably missing something because I don't find answers to these questions anywhere in what you wrote. I do understand the "mechanics" of the patch, I just cannot convince myself it's the right fix, without being able to answer these questions, and then assess the fix with that knowledge in hand. Which shouldn't prevent you from installing it, of course: I don't have to understand everything in what's going on in Emacs development. > So do you still think that we should signal an error? A red herring: I only proposed to signal an error if we cannot find a better solution for this use case. From debbugs-submit-bounces@debbugs.gnu.org Sat Sep 21 06:03:36 2019 Received: (at 37415) by debbugs.gnu.org; 21 Sep 2019 10:03:36 +0000 Received: from localhost ([127.0.0.1]:59189 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iBcEp-0001Rs-Ix for submit@debbugs.gnu.org; Sat, 21 Sep 2019 06:03:35 -0400 Received: from mail-qk1-f171.google.com ([209.85.222.171]:35962) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iBcEn-0001Rf-Q0 for 37415@debbugs.gnu.org; Sat, 21 Sep 2019 06:03:34 -0400 Received: by mail-qk1-f171.google.com with SMTP id y189so10012696qkc.3 for <37415@debbugs.gnu.org>; Sat, 21 Sep 2019 03:03:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=IDJEmlmxbUU4KXHoVuJ9X2KAG5cjhQ3ZGY5xIudsi3Y=; b=B8GBpN3re6Orx7K9oDXQ+mIwgwN2cIW6QFiVl9Aqil3zBYMZFNDqEMX1YWV8+JsBB9 gKEJWKKfMLZPuovwAVodSeWKkR1ixyKAqooWsYgIN6QUO+VOup8nIQKx+6hdpOmUhGdq nzPt5oQuD0Z+zWlCzIqq63XrYER4LEAKIfVTowqgLlkSdtcikXDpo5jkXssl73gB/hsf mhT7EQIGiAaJkk0yzp3c22NbYUd+UyssB/67VCkVv6pGxP0MmnIA6ao387R3iPvfplqv TTLqWODNycB1pVhE/r7PD6ZC9pr0mI97tLZY5j5+/rp48YAkyyrqqmGQeIh8aP2b6c6e SCiA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=IDJEmlmxbUU4KXHoVuJ9X2KAG5cjhQ3ZGY5xIudsi3Y=; b=cr5UJ5qgSDl47j4YDY5rtX5pKed9Cl7o8KR08Yu7Im5NiPeX9Bg8mAV6gxNjwdZYKJ Nk6MuPs3uuE+uEeN95lIWWixg6XdrPpnEbchOta9fA9G+W0VzabkNsjZSM5GJEwLlxBs 8SxgP1W0rYNASegBvAvNFEP/ZvJHKScf46CJTziTvCXBeGjfUSNMqLkFnIzLapt0ORN7 K3JWZtPorbQRXdeyDExX+lLjJTHbNcHzCicdfzcjlCRvJY2f0Cgm9I19RxAUOoabacnA Mdk+heW/BdncBvtTt2Z+vuYdk8HKWxe7Mht/jvkjoJ3bKJ5i/XApYW0nLGgt+HhPkRfy BOsQ== X-Gm-Message-State: APjAAAVI2xNOpIf1RSC4l1YM+Lc9Ptnfio7zqEmrmJ9NIOyHfKf7jny+ 0D1OM27tjgHW+bFOSAaI4y+04p6RIevTWJS+S1k= X-Google-Smtp-Source: APXvYqz+cdElpsjyjfPwD37sxCKzsJOGtH6AtGKhPistSA8lZHi90atIPQhtXicg9rMW7OG02Bkf7hz4w+obMVXXS+Q= X-Received: by 2002:ae9:c219:: with SMTP id j25mr5955112qkg.277.1569060208146; Sat, 21 Sep 2019 03:03:28 -0700 (PDT) MIME-Version: 1.0 References: <83v9tqvrm7.fsf@gnu.org> <9aae1b2e-bb5f-8634-5501-9aaff9f51266@gmx.at> <83imppvl9r.fsf@gnu.org> <14d4a455-254e-fdc2-0b64-791cfb0f7724@gmx.at> <83o8zgtlvq.fsf@gnu.org> <0936d492-c2bc-d4d3-7fcf-272d0fdbe087@gmx.at> <83a7ayss4b.fsf@gnu.org> <7b896377-d546-b428-adba-797ec988c4fa@gmx.at> <83r24aqadz.fsf@gnu.org> In-Reply-To: <83r24aqadz.fsf@gnu.org> From: Juanma Barranquero Date: Sat, 21 Sep 2019 12:02:51 +0200 Message-ID: Subject: Re: bug#37415: Asserting failure setting frame parameters to non-fixnum values in early-init.el To: Eli Zaretskii Content-Type: multipart/alternative; boundary="000000000000567dfa05930d4c1e" X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 37415 Cc: martin rudalics , 37415@debbugs.gnu.org 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 (-) --000000000000567dfa05930d4c1e Content-Type: text/plain; charset="UTF-8" On Sat, Sep 21, 2019 at 11:14 AM Eli Zaretskii wrote: > . the FIXNUMP assertion is probably there for a reason; what is that > reason? Before 572fe798cd0a00ad4a9050a7962cf8e8fbcc209b (from 2014-09-30), the computation of left and top was done in w32_createwindow: /* When called with RES_TYPE_NUMBER, w32_get_arg will return zero for anything that is not a number and is not Qunbound. */ left = x_get_arg (dpyinfo, Qnil, Qleft, "left", "Left", RES_TYPE_NUMBER); top = x_get_arg (dpyinfo, Qnil, Qtop, "top", "Top", RES_TYPE_NUMBER); and anything not a number was turned to 0. In that commit you moved the code to my_create_window and used XINT: + /* When called with RES_TYPE_NUMBER, x_get_arg will return zero for + anything that is not a number and is not Qunbound. */ + left = x_get_arg (dpyinfo, Qnil, Qleft, "left", "Left", RES_TYPE_NUMBER); + top = x_get_arg (dpyinfo, Qnil, Qtop, "top", "Top", RES_TYPE_NUMBER); + if (EQ (left, Qunbound)) + coords[0] = CW_USEDEFAULT; + else + coords[0] = XINT (left); + if (EQ (top, Qunbound)) + coords[1] = CW_USEDEFAULT; + else + coords[1] = XINT (top); + and these XINTs were transformed into XFIXNUM (which easserts) as part of a big XFIXNUM/XFIXNAT change (by Tom Tromey, in commit d1ec3a0a8e4d7d56ebc1e4fa743130b9974ac6a8 from 2018-08-07). So, from my ignorance, it seems like the idea was always to set non-nums to zero, and the assertion came by accident. Juanma --000000000000567dfa05930d4c1e Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable


=
On Sat, Sep 21, 2019 at 11:14 AM Eli = Zaretskii <eliz@gnu.or= g> wrote:

> =C2=A0 = . the FIXNUMP assertion is probably there for a reason; what is that
>= ; =C2=A0 =C2=A0 reason?

Before=C2=A0572fe798cd0a00ad4a9050a7962cf8e8fbcc209b (fro= m 2014-09-30), the computation of left and top was done in w32_createwindow= :

=C2= =A0 =C2=A0 =C2=A0 /* When called with RES_TYPE_NUMBER, w32_get_arg will ret= urn zero
=C2=A0 =C2=A0 =C2=A0 =C2=A0 for anything that is not a number a= nd is not Qunbound. =C2=A0*/
=C2=A0 =C2=A0 =C2=A0 left =3D x_get_arg (dp= yinfo, Qnil, Qleft, "left", "Left", RES_TYPE_NUMBER);=C2=A0 =C2=A0 =C2=A0 top =3D x_get_arg (dpyinfo, Qnil, Qtop, "top&qu= ot;, "Top", RES_TYPE_NUMBER);

and anything not a number was turned = to 0.

= In that commit you moved the code to my_create_window and used XINT:
<= div class=3D"gmail_quote">
=C2=A0+ =C2= =A0/* When called with RES_TYPE_NUMBER, x_get_arg will return zero for
= =C2=A0+ =C2=A0 =C2=A0 anything that is not a number and is not Qunbound. = =C2=A0*/
=C2=A0+ =C2=A0left =3D x_get_arg (dpyinfo, Qnil, Qleft, "l= eft", "Left", RES_TYPE_NUMBER);
=C2=A0+ =C2=A0top =3D x_g= et_arg (dpyinfo, Qnil, Qtop, "top", "Top", RES_TYPE_NUM= BER);
=C2=A0+ =C2=A0if (EQ (left, Qunbound))
=C2=A0+ =C2=A0 =C2=A0coo= rds[0] =3D CW_USEDEFAULT;
=C2=A0+ =C2=A0else
=C2=A0+ =C2=A0 =C2=A0coo= rds[0] =3D XINT (left);
=C2=A0+ =C2=A0if (EQ (top, Qunbound))
=C2=A0+= =C2=A0 =C2=A0coords[1] =3D CW_USEDEFAULT;
=C2=A0+ =C2=A0else
=C2=A0+= =C2=A0 =C2=A0coords[1] =3D XINT (top);
=C2=A0+

and these XINTs were trans= formed into XFIXNUM (which easserts) as part of a big XFIXNUM/XFIXNAT chang= e=C2=A0 (by Tom Tromey, in commit=C2=A0d1ec3a0a8e4d7d56ebc1e4fa743130b9974ac6a8 fro= m 2018-08-07).

So, from my ignorance, it seems like the idea was always to set no= n-nums to zero, and the assertion came by accident.

=C2=A0 =C2=A0 Juanma
--000000000000567dfa05930d4c1e-- From debbugs-submit-bounces@debbugs.gnu.org Sat Sep 21 08:27:46 2019 Received: (at 37415) by debbugs.gnu.org; 21 Sep 2019 12:27:46 +0000 Received: from localhost ([127.0.0.1]:59305 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iBeUM-0000hd-Jd for submit@debbugs.gnu.org; Sat, 21 Sep 2019 08:27:46 -0400 Received: from eggs.gnu.org ([209.51.188.92]:46235) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iBeUL-0000hO-4C for 37415@debbugs.gnu.org; Sat, 21 Sep 2019 08:27:45 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:43318) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1iBeUF-0006Cz-PL; Sat, 21 Sep 2019 08:27:39 -0400 Received: from [176.228.60.248] (port=3874 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1iBeUE-00021V-OH; Sat, 21 Sep 2019 08:27:39 -0400 Date: Sat, 21 Sep 2019 15:27:46 +0300 Message-Id: <83ftkprfzx.fsf@gnu.org> From: Eli Zaretskii To: Juanma Barranquero In-reply-to: (message from Juanma Barranquero on Sat, 21 Sep 2019 12:02:51 +0200) Subject: Re: bug#37415: Asserting failure setting frame parameters to non-fixnum values in early-init.el References: <83v9tqvrm7.fsf@gnu.org> <9aae1b2e-bb5f-8634-5501-9aaff9f51266@gmx.at> <83imppvl9r.fsf@gnu.org> <14d4a455-254e-fdc2-0b64-791cfb0f7724@gmx.at> <83o8zgtlvq.fsf@gnu.org> <0936d492-c2bc-d4d3-7fcf-272d0fdbe087@gmx.at> <83a7ayss4b.fsf@gnu.org> <7b896377-d546-b428-adba-797ec988c4fa@gmx.at> <83r24aqadz.fsf@gnu.org> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 37415 Cc: rudalics@gmx.at, 37415@debbugs.gnu.org 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 (---) > From: Juanma Barranquero > Date: Sat, 21 Sep 2019 12:02:51 +0200 > Cc: martin rudalics , 37415@debbugs.gnu.org > > Before 572fe798cd0a00ad4a9050a7962cf8e8fbcc209b (from 2014-09-30), the computation of left and top > was done in w32_createwindow: > > /* When called with RES_TYPE_NUMBER, w32_get_arg will return zero > for anything that is not a number and is not Qunbound. */ > left = x_get_arg (dpyinfo, Qnil, Qleft, "left", "Left", RES_TYPE_NUMBER); > top = x_get_arg (dpyinfo, Qnil, Qtop, "top", "Top", RES_TYPE_NUMBER); > > and anything not a number was turned to 0. > > In that commit you moved the code to my_create_window and used XINT: > > + /* When called with RES_TYPE_NUMBER, x_get_arg will return zero for > + anything that is not a number and is not Qunbound. */ > + left = x_get_arg (dpyinfo, Qnil, Qleft, "left", "Left", RES_TYPE_NUMBER); > + top = x_get_arg (dpyinfo, Qnil, Qtop, "top", "Top", RES_TYPE_NUMBER); > + if (EQ (left, Qunbound)) > + coords[0] = CW_USEDEFAULT; > + else > + coords[0] = XINT (left); > + if (EQ (top, Qunbound)) > + coords[1] = CW_USEDEFAULT; > + else > + coords[1] = XINT (top); > + Yes, but contrary to the comment, in the case in point we don't get zero from x_get_arg. Which is why I asked all those questions. From debbugs-submit-bounces@debbugs.gnu.org Sun Sep 22 01:54:51 2019 Received: (at 37415) by debbugs.gnu.org; 22 Sep 2019 05:54:51 +0000 Received: from localhost ([127.0.0.1]:33361 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iBupf-0006kl-6U for submit@debbugs.gnu.org; Sun, 22 Sep 2019 01:54:51 -0400 Received: from mail-qk1-f175.google.com ([209.85.222.175]:44469) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iBupc-0006kW-Sx for 37415@debbugs.gnu.org; Sun, 22 Sep 2019 01:54:49 -0400 Received: by mail-qk1-f175.google.com with SMTP id u22so8405422qkk.11 for <37415@debbugs.gnu.org>; Sat, 21 Sep 2019 22:54:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=i9uwE5JShmxSw6oCzZuYFr2f0E/C38pug6CEoMQyxew=; b=dS0fAE2BI0If6jfvIx/ZEWRRzRSUZAarZF0vpGjugtbdfp1kcsBRxesxmuD+3ha6Z4 JtrgRffn+jZ1TQ+nfAxDVfh33nzb7Jx1Wg7/FP7Mu/ZvoYoT983D3CqkTlohCI8xFA/q gnMxgV7qQvW8X8fWN2QtrIMu1RsPKcBR2YHDVH9GIhAtLx4JgWh18C9/Da2KOWd4M2Uz QjRP8EyfAWvhL900DZR7QXcGwf1uy5XUPCL4f1ATKDvILP0ARv5H1nRjOu9PoLxWV3cV QzoKShucVDJaDSaTtqXtBWMuLu0G3jJ9eRSsec5lCyrpMH6t1gotU0iIo+lXRJIrOUFJ pMKw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=i9uwE5JShmxSw6oCzZuYFr2f0E/C38pug6CEoMQyxew=; b=gWGlwno12UVfqXHRI9Y3G9QNCmjg1V4yV25bGrJG8Gfm54kOein+ZvhiNbPqkn4sQs mDAcmO3/PcoHZHsNnkuhgZa8UkCHJ+lYgxGUWh6ulEo4/O47o2juPstPF/vFGOHYdihb xLJ/lpAkTZ9RjiDD5OxI7sTYOlRsPzVyeLCrdBKdXN1Dj9t3RnrMeC7/ptgg5ubVks8Z rnhMN4TsJ9+pK0HwEGjtXMuumaofdX87zA/wJO1aNskQoeDYsF+lHEO+W6oRPfOtrKqR Wr/7OhxeYWgIbIIYxc5bGCWfYagfQi4i566vdzYySL0fa6+3yhlpFVp28HA4GDNh16Ed ZiTA== X-Gm-Message-State: APjAAAW3ov3RLNlR9AVrtIqHSxKs9tBZProTtvxuExxTYGN8ErnZTNjT IMl8zbaTAQsLhC40LuMBCqZN5d1odOQL5WK5eBI= X-Google-Smtp-Source: APXvYqz/QpGMC6IyA7k1H4n/DpeaZBKbhTCYV9g3Oyzj3mGFPGpte/z8zh19k0bE+PxG9a1CtgBVzwfkbPDcodu4S70= X-Received: by 2002:a37:a411:: with SMTP id n17mr12128100qke.216.1569131683237; Sat, 21 Sep 2019 22:54:43 -0700 (PDT) MIME-Version: 1.0 References: <83v9tqvrm7.fsf@gnu.org> <9aae1b2e-bb5f-8634-5501-9aaff9f51266@gmx.at> <83imppvl9r.fsf@gnu.org> <14d4a455-254e-fdc2-0b64-791cfb0f7724@gmx.at> <83o8zgtlvq.fsf@gnu.org> <0936d492-c2bc-d4d3-7fcf-272d0fdbe087@gmx.at> <83a7ayss4b.fsf@gnu.org> <7b896377-d546-b428-adba-797ec988c4fa@gmx.at> <83r24aqadz.fsf@gnu.org> <83ftkprfzx.fsf@gnu.org> In-Reply-To: <83ftkprfzx.fsf@gnu.org> From: Juanma Barranquero Date: Sun, 22 Sep 2019 07:54:07 +0200 Message-ID: Subject: Re: bug#37415: Asserting failure setting frame parameters to non-fixnum values in early-init.el To: Eli Zaretskii Content-Type: multipart/alternative; boundary="00000000000095d5c505931df0cd" X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 37415 Cc: martin rudalics , 37415@debbugs.gnu.org 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 (-) --00000000000095d5c505931df0cd Content-Type: text/plain; charset="UTF-8" Curiouser and curiouser. With no init.el or early-init.el: emacs --eval "(let ((default-frame-alist '((left . 1000)))) (make-frame-command))" works (it creates an additional frame, displaced to the right). emacs --eval "(let ((default-frame-alist '((left . (- 0))))) (make-frame-command))" lisp.h:1231: Emacs fatal error: assertion failed: FIXNUMP (a) Or, equivalently, emacs -Q --no-site-file M-: (let ((default-frame-alist '((left . (- 0))))) (make-frame-command)) so the bit about early-init.el seems like a red herring. On Sat, Sep 21, 2019 at 2:27 PM Eli Zaretskii wrote: > > From: Juanma Barranquero > > Date: Sat, 21 Sep 2019 12:02:51 +0200 > > Cc: martin rudalics , 37415@debbugs.gnu.org > > > > Before 572fe798cd0a00ad4a9050a7962cf8e8fbcc209b (from 2014-09-30), the > computation of left and top > > was done in w32_createwindow: > > > > /* When called with RES_TYPE_NUMBER, w32_get_arg will return zero > > for anything that is not a number and is not Qunbound. */ > > left = x_get_arg (dpyinfo, Qnil, Qleft, "left", "Left", > RES_TYPE_NUMBER); > > top = x_get_arg (dpyinfo, Qnil, Qtop, "top", "Top", > RES_TYPE_NUMBER); > > > > and anything not a number was turned to 0. > > > > In that commit you moved the code to my_create_window and used XINT: > > > > + /* When called with RES_TYPE_NUMBER, x_get_arg will return zero for > > + anything that is not a number and is not Qunbound. */ > > + left = x_get_arg (dpyinfo, Qnil, Qleft, "left", "Left", > RES_TYPE_NUMBER); > > + top = x_get_arg (dpyinfo, Qnil, Qtop, "top", "Top", RES_TYPE_NUMBER); > > + if (EQ (left, Qunbound)) > > + coords[0] = CW_USEDEFAULT; > > + else > > + coords[0] = XINT (left); > > + if (EQ (top, Qunbound)) > > + coords[1] = CW_USEDEFAULT; > > + else > > + coords[1] = XINT (top); > > + > > Yes, but contrary to the comment, in the case in point we don't get > zero from x_get_arg. Which is why I asked all those questions. > --00000000000095d5c505931df0cd Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Curiouser and curiouser.=C2=A0

With no = init.el or early-init.el:

=C2=A0 =C2=A0emacs --eva= l "(let ((default-frame-alist '((left . 1000)))) (make-frame-comma= nd))"

works (it creates an additional frame, = displaced to the right).

=C2=A0 =C2=A0emacs --eval= "(let ((default-frame-alist '((left . (- 0))))) (make-frame-comma= nd))"
=C2=A0
lisp.h:1231: Emacs fatal e= rror: assertion failed: FIXNUMP (a)

Or, equiva= lently,

=C2=A0 emacs -Q --no-site-file
<= br>
=C2=A0 M-: (let ((default-frame-alist '((left . (- 0)))))= (make-frame-command)) <RET>

so the bit = about early-init.el seems like a red herring.

=

On Sat, Sep 21, 2019 at 2:27 PM Eli Zaretskii <eliz@gnu.org> wrote:
> From: Juanma Barranquero <lekktu@gmail.com>
> Date: Sat, 21 Sep 2019 12:02:51 +0200
> Cc: martin rudalics <rudalics@gmx.at>, 37415@debbugs.gnu.org
>
> Before 572fe798cd0a00ad4a9050a7962cf8e8fbcc209b (from 2014-09-30), the= computation of left and top
> was done in w32_createwindow:
>
>=C2=A0 =C2=A0 =C2=A0 =C2=A0/* When called with RES_TYPE_NUMBER, w32_get= _arg will return zero
>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0for anything that is not a number and= is not Qunbound.=C2=A0 */
>=C2=A0 =C2=A0 =C2=A0 =C2=A0left =3D x_get_arg (dpyinfo, Qnil, Qleft, &q= uot;left", "Left", RES_TYPE_NUMBER);
>=C2=A0 =C2=A0 =C2=A0 =C2=A0top =3D x_get_arg (dpyinfo, Qnil, Qtop, &quo= t;top", "Top", RES_TYPE_NUMBER);
>
> and anything not a number was turned to 0.
>
> In that commit you moved the code to my_create_window and used XINT: >
>=C2=A0 +=C2=A0 /* When called with RES_TYPE_NUMBER, x_get_arg will retu= rn zero for
>=C2=A0 +=C2=A0 =C2=A0 =C2=A0anything that is not a number and is not Qu= nbound.=C2=A0 */
>=C2=A0 +=C2=A0 left =3D x_get_arg (dpyinfo, Qnil, Qleft, "left&quo= t;, "Left", RES_TYPE_NUMBER);
>=C2=A0 +=C2=A0 top =3D x_get_arg (dpyinfo, Qnil, Qtop, "top",= "Top", RES_TYPE_NUMBER);
>=C2=A0 +=C2=A0 if (EQ (left, Qunbound))
>=C2=A0 +=C2=A0 =C2=A0 coords[0] =3D CW_USEDEFAULT;
>=C2=A0 +=C2=A0 else
>=C2=A0 +=C2=A0 =C2=A0 coords[0] =3D XINT (left);
>=C2=A0 +=C2=A0 if (EQ (top, Qunbound))
>=C2=A0 +=C2=A0 =C2=A0 coords[1] =3D CW_USEDEFAULT;
>=C2=A0 +=C2=A0 else
>=C2=A0 +=C2=A0 =C2=A0 coords[1] =3D XINT (top);
>=C2=A0 +

Yes, but contrary to the comment, in the case in point we don't get
zero from x_get_arg.=C2=A0 Which is why I asked all those questions.
--00000000000095d5c505931df0cd-- From debbugs-submit-bounces@debbugs.gnu.org Sun Sep 22 04:08:20 2019 Received: (at 37415) by debbugs.gnu.org; 22 Sep 2019 08:08:20 +0000 Received: from localhost ([127.0.0.1]:33380 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iBwup-00021q-Sz for submit@debbugs.gnu.org; Sun, 22 Sep 2019 04:08:20 -0400 Received: from mout.gmx.net ([212.227.17.22]:56061) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iBwun-00021Z-Gc for 37415@debbugs.gnu.org; Sun, 22 Sep 2019 04:08:18 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1569139685; bh=9VUcjATIVyVHnQcztm1o1oFC/acKEc1myRaN/7TooSI=; h=X-UI-Sender-Class:Subject:To:Cc:References:From:Date:In-Reply-To; b=fsSYEerhWuStFoyKX+WxxPbSO98ZKWKxBiTtm++t4Uafl9tFO7AsmBV/Kx8TzBByq xV4nYYeO7y1Q4dVQM3eizaOrNGZWx4SETrrVCVaS0zOaxa1QoiR2Iqt16ISxpW5Xeq xLlW9yRGVbZuhVrQeC2ocWS2ku1jeruuIZfCVSPg= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Received: from [192.168.1.101] ([212.95.5.90]) by mail.gmx.com (mrgmx105 [212.227.17.168]) with ESMTPSA (Nemesis) id 1MtwYu-1hveRs35zA-00uLrl; Sun, 22 Sep 2019 10:08:04 +0200 Subject: Re: bug#37415: Asserting failure setting frame parameters to non-fixnum values in early-init.el To: Eli Zaretskii References: <83v9tqvrm7.fsf@gnu.org> <9aae1b2e-bb5f-8634-5501-9aaff9f51266@gmx.at> <83imppvl9r.fsf@gnu.org> <14d4a455-254e-fdc2-0b64-791cfb0f7724@gmx.at> <83o8zgtlvq.fsf@gnu.org> <0936d492-c2bc-d4d3-7fcf-272d0fdbe087@gmx.at> <83a7ayss4b.fsf@gnu.org> <7b896377-d546-b428-adba-797ec988c4fa@gmx.at> <83r24aqadz.fsf@gnu.org> From: martin rudalics Message-ID: <4495f73b-7897-3a7c-4880-14a10da30458@gmx.at> Date: Sun, 22 Sep 2019 10:08:04 +0200 MIME-Version: 1.0 In-Reply-To: <83r24aqadz.fsf@gnu.org> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: de-AT Content-Transfer-Encoding: 7bit X-Provags-ID: V03:K1:hr/QjwqBXJUoKbBWcmIbnCFaQ8qCpaWVZBhi702592BBms4tzyJ GMGqy45uMmGIS4sCo4req88D0G2v64bsx1BIQNZAcChDUHIpWf510jrJ3+sR6YqkgpqNo4m kLGBKf4eKMgOf1FaGfSaM3PuVqaQUwde2gHRLMhLTmZePi8ApM++UDTImNLPC69ZEAb/juA D0BRVKfKUBYs4kqun0MqQ== X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1;V03:K0:kxD70Ve6lI0=:PZwBXv2oOkfJTodcSlSWXg eHY54v631ZDVf/OOAWiOmfAc9/1Genvqy/JZizIvsliyB5FIjuR+ni9NZm3mocwaAL4xtlH0a glRpfvkaGwFuAyY8dCo7VD4caOiYvY+kQUSU12H+JdMJDwgRWpCX6H5WHGK/rGe/o1hTKtQX4 cpli6Gzxg7IIqa52Z4sRr7/yLNswchx/l1vi9FKCxKUa6kwRKzIhS63lI+CUSn5c10+xJw7Y4 e0Uu9U4tBkV3EEKSsf8akt72DZi9lbsnm3FEgi0zGNigVvsf7qLYTA9vvnhISRTvNQPSEgyYp xApRJ6SCg6Lczv8mg8GvQEBk2JDN8KKFb3ejyky7ejbMQXhKLWFxyZdOepFSc7nQTPRkBv9fs ZFAg6t3n775GYZt2F5Zcq9uhll+hFOKbjNNb0NAhuyL9EELOQ1fRKPqkZaprXcvhE/uR54TY/ rEQYV3P8erx3Xj8LDX6vKghTRMtiDfH6pdLvkzU3wj963ek0H6DscPsMcTWrexL/IMcLh6wJv U+Bf0I7RmwFlXC0yERTqxUZmKNG9wc6oOa4h6bXD/buAveY3g4S5cF4TybHxZGLXl9/zc7/KM Nlw/c3ZA+gVL4IW4mw6Nn5ABtIphMUWuH6AcVt6neknnpkp324QQn7oC94lZM5RNXfm70R4qU p9C2hgRczjvSukh+IGbmy80xGODwff8gUB4WO5L3W4nJaaZU1alP2aIflflV1Qa6onHDxq8qi O1orVhEeLt+HhevdF2Jblxgtyf+iqSA6mc89GHvjJHkeKDqX7kev/cQbnmQvBmCPL+vtq6yuA 0xuIB3zIiJ/0tzNr/gHS2pZ74KoT910baMQ3hOgKIy3TWNa4ArzvVxKeXAdqbWFxfi9pOpMAM gPZB6qA/Sn8r8wkIp54RahJw4zwDanArlhI/3LxdZS4hi09lncXu9kDWKbP9UAwGsmGIjtcKm dMMXgUK6QWCu27CZQaFloB3nrkqhQZ4uWaNd4ZAS4YxsJ/3DRAcVvUPK58FGe+7OfztaKS+Mp 9nxBVwngSaZVUtxQSNxmIr918PyI3Vm5bF9LEYe8Qh3Hy63rZSiGWJ54enZ/HhTtRHwMQCU/w EsUCuiSxQT2YeWHX7ZiVJicsTE/8eLcbpUn54rURwhmYSgg9b8+PTBfRlGdkivyeAfjrwOzWS r+IfI9PpX7qZcTaNRK177sgi87eSg2yI9S03dlbxTrBpukb8olZ6O44szqWkrW4pXnYazRvP0 RM0mPW21d5uQU6kuGeGfxtTafFQtpQxEE5jTha4p2nuQZnP5obBD33301q+8= X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 37415 Cc: lekktu@gmail.com, 37415@debbugs.gnu.org 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 (-) > Thanks, but I probably should have explain the nature of my confusion > better (and would have done that, should I know you will act upon it > so seriously). Sorry about that. I hope you now better understand why I didn't respond to Juanma's report immediately. There are too many layers at work here. > Here's what confused me in this problem: > > . the FIXNUMP assertion is probably there for a reason; what is that > reason? Which assertion? The one in XFIXNUM? > . how come we don't hit this assertion when the same expression is > in the init file, only in the early-init file? I do hit it here. Unless some sort of bug happens before. For example, when using (left . foo). > . why doesn't the X build hit the same assertion in the same > scenario? The X build sets 'left' only in 'gui_figure_window_size' whereafter it immediately sanitizes it into f->left_pos which is later on used by XCreateWindow. martin From debbugs-submit-bounces@debbugs.gnu.org Sun Sep 22 04:09:05 2019 Received: (at 37415) by debbugs.gnu.org; 22 Sep 2019 08:09:05 +0000 Received: from localhost ([127.0.0.1]:33384 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iBwvZ-00023k-8b for submit@debbugs.gnu.org; Sun, 22 Sep 2019 04:09:05 -0400 Received: from mout.gmx.net ([212.227.17.20]:35683) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iBwvW-000235-O9 for 37415@debbugs.gnu.org; Sun, 22 Sep 2019 04:09:03 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1569139734; bh=KDwPQWfbITA/0pUvfHNoAIz9TjaGwRwoVm50jVMGBM8=; h=X-UI-Sender-Class:Subject:To:Cc:References:From:Date:In-Reply-To; b=C3YFUFZ6KKpXutU8YuCXk7cL5ZqLiJ92PJgI3ACppmdg2bbKZjeqQRJZe5+GXeRj+ SqR199yBZ9y9Z4ylLnf4bkQ2Av258K38zC7mf2FhvBggaFPJLohC7R2NL2Uo5y2xm9 HzCU9vwGa3GnvItP2O6up3kqDGWcr+ON7UxuagsA= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Received: from [192.168.1.101] ([212.95.5.90]) by mail.gmx.com (mrgmx104 [212.227.17.168]) with ESMTPSA (Nemesis) id 1Mnpnm-1hriP616du-00pJF7; Sun, 22 Sep 2019 10:08:54 +0200 Subject: Re: bug#37415: Asserting failure setting frame parameters to non-fixnum values in early-init.el To: Eli Zaretskii , Juanma Barranquero References: <83v9tqvrm7.fsf@gnu.org> <9aae1b2e-bb5f-8634-5501-9aaff9f51266@gmx.at> <83imppvl9r.fsf@gnu.org> <14d4a455-254e-fdc2-0b64-791cfb0f7724@gmx.at> <83o8zgtlvq.fsf@gnu.org> <0936d492-c2bc-d4d3-7fcf-272d0fdbe087@gmx.at> <83a7ayss4b.fsf@gnu.org> <7b896377-d546-b428-adba-797ec988c4fa@gmx.at> <83r24aqadz.fsf@gnu.org> <83ftkprfzx.fsf@gnu.org> From: martin rudalics Message-ID: Date: Sun, 22 Sep 2019 10:08:53 +0200 MIME-Version: 1.0 In-Reply-To: <83ftkprfzx.fsf@gnu.org> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: de-AT Content-Transfer-Encoding: 7bit X-Provags-ID: V03:K1:CRUksm8YAld4HX/dp+u3C+IgJL1cHY/UmVynBPf37KgcFLf2DE0 og2e1lP5b7wFEeOKK70nyvFtcKw8QHe/gqncFOCkVLFWns1nga/kj76/8HcciwrhI0ZSI1O 8dpjf+Kw1taaciEG7l7N/b1z7KuxFJ+cVAuMu7omsXQfHkytCuKgbofnv8EJsGc4dDGrulQ dHWPihvlcJoy5FaqeCv3w== X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1;V03:K0:prSaAN2ZF1E=:EvBsMJdcYNGHioG1JmQ3LM QN3/hPWPqiz6dISsI4byW9Yd+yLfrzBQeY+GfNDGrCqHhR7MabUqlFMmqY7x7uh9pozf6JGO2 zu8C7Q+vFwmrxH9IzvXhPMlZlpf7AXXdeG4Jbil+Ny9XRhS19chDK6i+vnjYTndBLn22ALnE3 rhDQFPD0cuGgXERGSnXZSqF0kUl12E7Q++lI4RqSrVF2oEgQ0vLxLowlUwtfQPR4KERvjkVOT hoNq6xuxFX+Q1Y3clun38TrlQVjence6pq0Y6vN5Uhsi4Gjvo60OUeiTv8NcZcyVErekzDPat ecVT7kBfZaRiAZD4KRb0wx8rBWv2qD6pVuhUNHW8gfL4W4rPSDg2tPGU66lnbaswmkZP8eTyQ pCsVaxuFCuf3J8eMeJwHRLz43MFc+wFrwh65bTf7VYtU4O5Bxj+P3pFoeurce9GTlStAgXMZo 5tKKvY9S1rTnFMrGT7BEyQoelsC3twfJuBGFecYl2ScSzmGPdosXhSIKe0NJdn1ZwtXYR/kfv aGlNpXkfZgjALSR5QGoHSvQyN2lzZnE7AIeZIDRLBdwxQ13dqdYHi+DOmcbvwcFz4L08rsP8w Ufi9zDImNjoUqBg7BG7jTAMe6dKte0xIr1M0F0OWpMRbhCj27kKHF9Y0m+7r7amlRYpuq0N2h fyB03d0NhayG/vmX3bqjujX6nk3MDqLYJfTmoFLbR/f6DB9qRqOBz6qDC8mNgIArIA3rxLHfR iLV6o/FAf6yKPfPeeF/jYZI4TDim+zDIpMaL2fvm0Lnd0ZjD/PwUw3YDBHk1dcPD/XZ624uF0 MVGx8KYhm5SwmsoLUWKc6dv9U823FbntRGzWU7rGmTLX/eneOVHG9wdTeot2H5IL/yxE58Y1+ tNqGQk+ZDOIUhI+UNpKkBIbqcDhrhhSA8Mxo5p3S/4RvSNmEwGzVMmgaV5lSReF0hNY2r7n76 SqCyXVbPoZBGQjLCNeHrFAJpyLvp7rByHxcElwCle1rIlnaMyJ48sEq7fEz8Vn5FtTnjleFV+ yylf7DK9gvflMzPJRDW2TUrWjC97Dgdm3COy6W4RSFh/eDnVA04cJQF8xMDTKR3ewQRmqLFTv aImtvaERk2j6llJsQz7AfpfIAhbAK6o/Eafzj9mc1RUqVqXbh6+iuEvQ6Cyrha5Yj82d8SAci 6RKKGFRwxPzyfMMaUuWnSOF4sCDwtJog0K5+yEjkCst7V8t2qqBjpTM4Ue0lm9dUBmIzlfuAM h5j9NMDoNY+PrsZAF+CgGCJ4GeFmmCyBVDcHdTDTwBsdA3S44elL8TjDkElo= X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 37415 Cc: 37415@debbugs.gnu.org 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 (-) >> Before 572fe798cd0a00ad4a9050a7962cf8e8fbcc209b (from 2014-09-30), the computation of left and top >> was done in w32_createwindow: >> >> /* When called with RES_TYPE_NUMBER, w32_get_arg will return zero >> for anything that is not a number and is not Qunbound. */ >> left = x_get_arg (dpyinfo, Qnil, Qleft, "left", "Left", RES_TYPE_NUMBER); >> top = x_get_arg (dpyinfo, Qnil, Qtop, "top", "Top", RES_TYPE_NUMBER); >> >> and anything not a number was turned to 0. >> >> In that commit you moved the code to my_create_window and used XINT: >> >> + /* When called with RES_TYPE_NUMBER, x_get_arg will return zero for >> + anything that is not a number and is not Qunbound. */ >> + left = x_get_arg (dpyinfo, Qnil, Qleft, "left", "Left", RES_TYPE_NUMBER); >> + top = x_get_arg (dpyinfo, Qnil, Qtop, "top", "Top", RES_TYPE_NUMBER); >> + if (EQ (left, Qunbound)) >> + coords[0] = CW_USEDEFAULT; >> + else >> + coords[0] = XINT (left); >> + if (EQ (top, Qunbound)) >> + coords[1] = CW_USEDEFAULT; >> + else >> + coords[1] = XINT (top); >> + > > Yes, but contrary to the comment, in the case in point we don't get > zero from x_get_arg. Which is why I asked all those questions. Well, now you really asked it ... When called with PARAM Qleft and ALIST Qnil x_get_arg { Lisp_Object tem; tem = Fassq (param, alist); if (!NILP (tem)) ... XSETCAR (XCAR (tail), Qnil); } else tem = Fassq (param, Vdefault_frame_alist); if (NILP (tem)) ... return Fcdr (tem); } returns the cdr of the 'default-frame-alist' entry for 'left' which can be anything. So that comment is wrong and using x_get_arg here probably too. Any reason why we cannot just use f->left_pos my_create_window (struct frame * f) { MSG msg; static int coords[2]; coords[0] = f->left_pos; coords[1] = f->top_pos; if (!PostThreadMessage (dwWindowsThreadId, WM_EMACS_CREATEWINDOW, (WPARAM)f, (LPARAM)coords)) emacs_abort (); GetMessage (&msg, NULL, WM_EMACS_DONE, WM_EMACS_DONE); } like the X build does? martin From debbugs-submit-bounces@debbugs.gnu.org Sun Sep 22 04:09:23 2019 Received: (at 37415) by debbugs.gnu.org; 22 Sep 2019 08:09:23 +0000 Received: from localhost ([127.0.0.1]:33387 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iBwvr-00024R-Iu for submit@debbugs.gnu.org; Sun, 22 Sep 2019 04:09:23 -0400 Received: from mout.gmx.net ([212.227.17.22]:34481) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iBwvo-000248-M7 for 37415@debbugs.gnu.org; Sun, 22 Sep 2019 04:09:21 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1569139752; bh=LQ9A+51/9OOocsh2kyK2kix/VeUot0jdksnPlA51eBQ=; h=X-UI-Sender-Class:Subject:To:Cc:References:From:Date:In-Reply-To; b=cK5g3DYrQEjWBljLVC02HIjDgTnkgyBSQw9jxJE7TPYl1XmMxFddE2UJYDKbjsEW8 7gmdFjBpinFamnam6uWi0G/B4twYaX8QFniMiY/Boor4hATt6NVzSvJstw4OGwcRZE tHmQAyiIc4tbACa5QOpv96acN2hiQffjeoPBWMB0= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Received: from [192.168.1.101] ([212.95.5.90]) by mail.gmx.com (mrgmx104 [212.227.17.168]) with ESMTPSA (Nemesis) id 1MGQnF-1iPwcX0OBp-00GnwC; Sun, 22 Sep 2019 10:09:12 +0200 Subject: Re: bug#37415: Asserting failure setting frame parameters to non-fixnum values in early-init.el To: Juanma Barranquero , Eli Zaretskii References: <83v9tqvrm7.fsf@gnu.org> <9aae1b2e-bb5f-8634-5501-9aaff9f51266@gmx.at> <83imppvl9r.fsf@gnu.org> <14d4a455-254e-fdc2-0b64-791cfb0f7724@gmx.at> <83o8zgtlvq.fsf@gnu.org> <0936d492-c2bc-d4d3-7fcf-272d0fdbe087@gmx.at> <83a7ayss4b.fsf@gnu.org> <7b896377-d546-b428-adba-797ec988c4fa@gmx.at> <83r24aqadz.fsf@gnu.org> <83ftkprfzx.fsf@gnu.org> From: martin rudalics Message-ID: <9bdb9e6c-0360-1c2b-638a-ae46cfc3c09e@gmx.at> Date: Sun, 22 Sep 2019 10:09:13 +0200 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: de-AT Content-Transfer-Encoding: 7bit X-Provags-ID: V03:K1:Q2DL2zvFTklCSu/399deUwKJswF9vPWj/exU5sct1R1JJ/GY0p8 uno+B0IGUG++dh9UiInfgnhyznzR+jhMpbn7DRbQjwbYzkA/m8CO2Ipo12Hk+3FcQxT/ISQ bx42tEpbNLOiBHBoO4YJNM+EQdnzobmdah9a83pYnZuIE52kCx4VxWajSVkG/N0Qrf/oKpx z2QZe7/QfhW0pnSGfrxZg== X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1;V03:K0:ijlhzdIHqCg=:VkPukUVCFZdCraX2fKnZrw 85XeChTZ/JkzXx+zd6QrA7Hfk1Yjl359B+BBnZAYhjtc4uIdpFXWT4ANQL/Z+K9EbmsDAXRvI AYnspIG99O+w3vGPdGlxO2JJNxZXveivzJoXKdKhXcFFCPiyZKOSWJARh0qgwOR2qTizhiuRa KzVGl28PrhBKz6U8XnnGJxxbn0TFVGBlFGGxrGXv8+yNPSyrUdeJsJssKN4FvqADryASYdAIg 9aHWUQ39HMHNKeM7YHf8vXxgFsR2qLmX6k6kiqu7ndPfAlNnpKDnX5nYUsDkP8c5fWefMvxvs KGA5m8zyU193Rie7H+mDxQFaW49NmGfXyzmkHf2/aIs0u5lW+S6WzeVRgtvw/COA3+a6rKm8S BjsNfdPVsStM5rY9o514jf3pMSk6dxRe5T6b9ztjhP0F1neeM022D4GW5G7irkGWN6cSrwkbd PcW/aNJD3OV9fNNjXcY1rzZyAeFVC8+wiCzru3vWc+X1sunqktCqun6cjvaCSbyAUfKcLo79y R+JH6tph2lbVql2pUfpm8NhIBh8BzzZEKQRaAE31lU5/yq9D2YRJlIEsBkK1jGMJKYVkxj3Df WPzHhAVVbKOxrVfVYlDV+ket+7vXZYYtxYDJjQ4AnurZgzNu6sU8CauN2RgtG1E061wPieXXl lDf7dgr5hdIzL1smoVZPEMkrvCq0jWsZt6xqV65qWF63rqOG3qPwMaMs/hTBeBiFRa/5RcyGW wC2n3tYUFho9B6ugawpKR6PIzaeKIBCvpZFP5eCKqPXGBzwRJkCGQAFuQPzkxwvN36qgLnfjK bNr2QB5sCXfVN1gZeL5912rPD5UOkWIturk9nJqAcmTQGCRjDBS5cZX0C+tBcD++TLn/Y1l1p 2WKpEOUkPJ7Ra8HZ7WcKxsj1nfegLsfAnkBdEx7WSTvJNwlmN8OudmsanYXVwFleMZWgrZpde 09Cy3TwDSWtL58vikJU1iLpjx/etVj3e67QSI7v8OpM0mrd1Bo7aHb5m8Fpt42DayeYfjU/lS tmxnXQtutdGuDSRDgQk+zYuQjHSffvy6xk2p1cFpXfTiaxi1Plg/a0KL9BIm4rEkCqLi7Fzkr CCGqsPDoNa1oIWRLkbFOpOhNkwywYUFZr3aoUC9dOoWyIQBLoTnTscu96E4ZqOst6toQClcHh NiwsF97j4fYw3CuAaWCRbasl5uB/Lswobeer2qODYtnfMBdbox4yaHRc4bUwt63gvgQuWJejR 3GkzJu5SjPvMnJfFp+Z+BxLkSzjtUjPvQoGSlBJ+7NyNORrhDaLhMNEJxrCc= X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 37415 Cc: 37415@debbugs.gnu.org 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 (-) > emacs --eval "(let ((default-frame-alist '((left . (- 0))))) > (make-frame-command))" > > lisp.h:1231: Emacs fatal error: assertion failed: FIXNUMP (a) > > Or, equivalently, > > emacs -Q --no-site-file > > M-: (let ((default-frame-alist '((left . (- 0))))) (make-frame-command)) > > > so the bit about early-init.el seems like a red herring. Right. Here I can simply put that in my .emacs to get the error. martin From debbugs-submit-bounces@debbugs.gnu.org Sun Sep 22 12:26:26 2019 Received: (at 37415) by debbugs.gnu.org; 22 Sep 2019 16:26:26 +0000 Received: from localhost ([127.0.0.1]:34408 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iC4gr-0004xt-3B for submit@debbugs.gnu.org; Sun, 22 Sep 2019 12:26:26 -0400 Received: from eggs.gnu.org ([209.51.188.92]:46377) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iC4gq-0004xd-2u for 37415@debbugs.gnu.org; Sun, 22 Sep 2019 12:26:24 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:32991) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1iC4gk-0003B8-Iq; Sun, 22 Sep 2019 12:26:18 -0400 Received: from [176.228.60.248] (port=2726 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1iC4gj-0002WX-BE; Sun, 22 Sep 2019 12:26:18 -0400 Date: Sun, 22 Sep 2019 19:26:26 +0300 Message-Id: <831rw8qoul.fsf@gnu.org> From: Eli Zaretskii To: Juanma Barranquero In-reply-to: (message from Juanma Barranquero on Sun, 22 Sep 2019 07:54:07 +0200) Subject: Re: bug#37415: Asserting failure setting frame parameters to non-fixnum values in early-init.el References: <83v9tqvrm7.fsf@gnu.org> <9aae1b2e-bb5f-8634-5501-9aaff9f51266@gmx.at> <83imppvl9r.fsf@gnu.org> <14d4a455-254e-fdc2-0b64-791cfb0f7724@gmx.at> <83o8zgtlvq.fsf@gnu.org> <0936d492-c2bc-d4d3-7fcf-272d0fdbe087@gmx.at> <83a7ayss4b.fsf@gnu.org> <7b896377-d546-b428-adba-797ec988c4fa@gmx.at> <83r24aqadz.fsf@gnu.org> <83ftkprfzx.fsf@gnu.org> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 37415 Cc: rudalics@gmx.at, 37415@debbugs.gnu.org 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 (---) > From: Juanma Barranquero > Date: Sun, 22 Sep 2019 07:54:07 +0200 > Cc: martin rudalics , 37415@debbugs.gnu.org > > With no init.el or early-init.el: > > emacs --eval "(let ((default-frame-alist '((left . 1000)))) (make-frame-command))" > > works (it creates an additional frame, displaced to the right). > > emacs --eval "(let ((default-frame-alist '((left . (- 0))))) (make-frame-command))" > > lisp.h:1231: Emacs fatal error: assertion failed: FIXNUMP (a) > > Or, equivalently, > > emacs -Q --no-site-file > > M-: (let ((default-frame-alist '((left . (- 0))))) (make-frame-command)) > > so the bit about early-init.el seems like a red herring. Indeed. As always, it's my fault: the change you mentioned up-thread modified the order of code execution: where previously, if f->size_hint_flags were set, we didn't look at the left and top frame parameters, now we examine the frame parameters _before_ looking at size_hint_flags, and thus can try to interpret values of top and left we never did before. So I think Martin's patch is going in the right direction, but we could do it even cleaner, see my other mail. From debbugs-submit-bounces@debbugs.gnu.org Sun Sep 22 12:27:43 2019 Received: (at 37415) by debbugs.gnu.org; 22 Sep 2019 16:27:43 +0000 Received: from localhost ([127.0.0.1]:34412 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iC4i7-00050R-4t for submit@debbugs.gnu.org; Sun, 22 Sep 2019 12:27:43 -0400 Received: from eggs.gnu.org ([209.51.188.92]:46509) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iC4i5-000508-2z for 37415@debbugs.gnu.org; Sun, 22 Sep 2019 12:27:41 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:33003) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1iC4hz-0003mm-VJ; Sun, 22 Sep 2019 12:27:36 -0400 Received: from [176.228.60.248] (port=2806 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1iC4hy-0004Lz-QP; Sun, 22 Sep 2019 12:27:35 -0400 Date: Sun, 22 Sep 2019 19:27:45 +0300 Message-Id: <83zhiwpa7y.fsf@gnu.org> From: Eli Zaretskii To: martin rudalics In-reply-to: <4495f73b-7897-3a7c-4880-14a10da30458@gmx.at> (message from martin rudalics on Sun, 22 Sep 2019 10:08:04 +0200) Subject: Re: bug#37415: Asserting failure setting frame parameters to non-fixnum values in early-init.el References: <83v9tqvrm7.fsf@gnu.org> <9aae1b2e-bb5f-8634-5501-9aaff9f51266@gmx.at> <83imppvl9r.fsf@gnu.org> <14d4a455-254e-fdc2-0b64-791cfb0f7724@gmx.at> <83o8zgtlvq.fsf@gnu.org> <0936d492-c2bc-d4d3-7fcf-272d0fdbe087@gmx.at> <83a7ayss4b.fsf@gnu.org> <7b896377-d546-b428-adba-797ec988c4fa@gmx.at> <83r24aqadz.fsf@gnu.org> <4495f73b-7897-3a7c-4880-14a10da30458@gmx.at> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 37415 Cc: lekktu@gmail.com, 37415@debbugs.gnu.org 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 (---) > Cc: lekktu@gmail.com, 37415@debbugs.gnu.org > From: martin rudalics > Date: Sun, 22 Sep 2019 10:08:04 +0200 > > > . how come we don't hit this assertion when the same expression is > > in the init file, only in the early-init file? > > I do hit it here. Unless some sort of bug happens before. For > example, when using (left . foo). But not with (left . (- 0)), right? > > . why doesn't the X build hit the same assertion in the same > > scenario? > > The X build sets 'left' only in 'gui_figure_window_size' whereafter it > immediately sanitizes it into f->left_pos which is later on used by > XCreateWindow. So we should do something similar. From debbugs-submit-bounces@debbugs.gnu.org Sun Sep 22 12:43:19 2019 Received: (at 37415) by debbugs.gnu.org; 22 Sep 2019 16:43:19 +0000 Received: from localhost ([127.0.0.1]:34421 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iC4xC-0005Sy-QT for submit@debbugs.gnu.org; Sun, 22 Sep 2019 12:43:19 -0400 Received: from eggs.gnu.org ([209.51.188.92]:47430) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iC4xB-0005Sj-1F for 37415@debbugs.gnu.org; Sun, 22 Sep 2019 12:43:17 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:33074) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1iC4x5-0003C3-JL; Sun, 22 Sep 2019 12:43:11 -0400 Received: from [176.228.60.248] (port=3749 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1iC4x4-0003OT-Vh; Sun, 22 Sep 2019 12:43:11 -0400 Date: Sun, 22 Sep 2019 19:43:20 +0300 Message-Id: <83y2ygp9hz.fsf@gnu.org> From: Eli Zaretskii To: martin rudalics In-reply-to: (message from martin rudalics on Sun, 22 Sep 2019 10:08:53 +0200) Subject: Re: bug#37415: Asserting failure setting frame parameters to non-fixnum values in early-init.el References: <83v9tqvrm7.fsf@gnu.org> <9aae1b2e-bb5f-8634-5501-9aaff9f51266@gmx.at> <83imppvl9r.fsf@gnu.org> <14d4a455-254e-fdc2-0b64-791cfb0f7724@gmx.at> <83o8zgtlvq.fsf@gnu.org> <0936d492-c2bc-d4d3-7fcf-272d0fdbe087@gmx.at> <83a7ayss4b.fsf@gnu.org> <7b896377-d546-b428-adba-797ec988c4fa@gmx.at> <83r24aqadz.fsf@gnu.org> <83ftkprfzx.fsf@gnu.org> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 37415 Cc: lekktu@gmail.com, 37415@debbugs.gnu.org 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 (---) > Cc: 37415@debbugs.gnu.org > From: martin rudalics > Date: Sun, 22 Sep 2019 10:08:53 +0200 > > When called with PARAM Qleft and ALIST Qnil x_get_arg > > { > Lisp_Object tem; > > tem = Fassq (param, alist); > > if (!NILP (tem)) > ... > XSETCAR (XCAR (tail), Qnil); > } > else > tem = Fassq (param, Vdefault_frame_alist); > > if (NILP (tem)) > ... > > return Fcdr (tem); > } > > returns the cdr of the 'default-frame-alist' entry for 'left' which > can be anything. So that comment is wrong and using x_get_arg here > probably too. No, I don't think using x_get_arg is wrong, because we still want to determine whether to use CW_USEDEFAULT. > Any reason why we cannot just use f->left_pos > > my_create_window (struct frame * f) > { > MSG msg; > static int coords[2]; > > coords[0] = f->left_pos; > coords[1] = f->top_pos; > if (!PostThreadMessage (dwWindowsThreadId, WM_EMACS_CREATEWINDOW, > (WPARAM)f, (LPARAM)coords)) > emacs_abort (); > GetMessage (&msg, NULL, WM_EMACS_DONE, WM_EMACS_DONE); > } > > like the X build does? We cannot do this unless f->size_hint_flags are set so as to tell w32_createwindow to use f->top_pos and/or f->left_pos. Otherwise, we should put CW_USEDEFAULT in coords[]. IOW, how about the below? diff --git a/src/w32fns.c b/src/w32fns.c index 34abd02..2ae84fc 100644 --- a/src/w32fns.c +++ b/src/w32fns.c @@ -5421,20 +5421,28 @@ my_create_window (struct frame * f) Lisp_Object left, top; struct w32_display_info *dpyinfo = &one_w32_display_info; - /* When called with RES_TYPE_NUMBER, gui_display_get_arg will return - zero for anything that is not a number and is not Qunbound. */ - left = gui_display_get_arg (dpyinfo, Qnil, Qleft, "left", "Left", - RES_TYPE_NUMBER); - top = gui_display_get_arg (dpyinfo, Qnil, Qtop, "top", "Top", - RES_TYPE_NUMBER); - if (EQ (left, Qunbound)) - coords[0] = CW_USEDEFAULT; - else - coords[0] = XFIXNUM (left); - if (EQ (top, Qunbound)) - coords[1] = CW_USEDEFAULT; - else - coords[1] = XFIXNUM (top); + if (!(f->size_hint_flags & USPosition || f->size_hint_flags & PPosition)) + { + /* When called with RES_TYPE_NUMBER, and there's no 'top' or + 'left' parameters in the frame's parameter alist, + gui_display_get_arg will return zero for anything that is + neither a number nor Qunbound. If frame parameter alist does + have 'left' or 'top', they are interpreted by + gui_figure_window_size, which was already called, and which + sets f->size_hint_flags. */ + left = gui_display_get_arg (dpyinfo, Qnil, Qleft, "left", "Left", + RES_TYPE_NUMBER); + top = gui_display_get_arg (dpyinfo, Qnil, Qtop, "top", "Top", + RES_TYPE_NUMBER); + if (EQ (left, Qunbound)) + coords[0] = CW_USEDEFAULT; + else + coords[0] = XFIXNUM (left); + if (EQ (top, Qunbound)) + coords[1] = CW_USEDEFAULT; + else + coords[1] = XFIXNUM (top); + } if (!PostThreadMessage (dwWindowsThreadId, WM_EMACS_CREATEWINDOW, (WPARAM)f, (LPARAM)coords)) From debbugs-submit-bounces@debbugs.gnu.org Sun Sep 22 13:53:47 2019 Received: (at 37415) by debbugs.gnu.org; 22 Sep 2019 17:53:47 +0000 Received: from localhost ([127.0.0.1]:34497 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iC63P-00017s-4Y for submit@debbugs.gnu.org; Sun, 22 Sep 2019 13:53:47 -0400 Received: from mout.gmx.net ([212.227.15.18]:41653) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iC63N-00017g-DA for 37415@debbugs.gnu.org; Sun, 22 Sep 2019 13:53:46 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1569174812; bh=JA6sZMHfdIaZD7BGu8vQxjzHpffuId6HtyBHH2+62zk=; h=X-UI-Sender-Class:Subject:To:Cc:References:From:Date:In-Reply-To; b=a1Ckp3MOgUmvIPO+NjhioGgDDrxo0K/2oCasHB1uSoChwPOAtKNnEqNJnF71frFnG EoeB+fyl9aBf0kUx+yZq6TnJNfaqxdbGaZ8KFBDxezYAuPyaPzoYTXYyE8kSoyXDuU JTJyJgHKV6v4/Olg4PZ+MsKamQZz2tv0pzxWonMA= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Received: from [192.168.1.100] ([212.95.5.40]) by mail.gmx.com (mrgmx005 [212.227.17.190]) with ESMTPSA (Nemesis) id 1MQMuR-1iXs3W3c3N-00MJ2H; Sun, 22 Sep 2019 19:53:32 +0200 Subject: Re: bug#37415: Asserting failure setting frame parameters to non-fixnum values in early-init.el To: Eli Zaretskii References: <83v9tqvrm7.fsf@gnu.org> <9aae1b2e-bb5f-8634-5501-9aaff9f51266@gmx.at> <83imppvl9r.fsf@gnu.org> <14d4a455-254e-fdc2-0b64-791cfb0f7724@gmx.at> <83o8zgtlvq.fsf@gnu.org> <0936d492-c2bc-d4d3-7fcf-272d0fdbe087@gmx.at> <83a7ayss4b.fsf@gnu.org> <7b896377-d546-b428-adba-797ec988c4fa@gmx.at> <83r24aqadz.fsf@gnu.org> <4495f73b-7897-3a7c-4880-14a10da30458@gmx.at> <83zhiwpa7y.fsf@gnu.org> From: martin rudalics Message-ID: <888d2c1b-0253-e452-93fe-e7104a259807@gmx.at> Date: Sun, 22 Sep 2019 19:53:32 +0200 MIME-Version: 1.0 In-Reply-To: <83zhiwpa7y.fsf@gnu.org> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: de-AT Content-Transfer-Encoding: 7bit X-Provags-ID: V03:K1:9X6LMuSPfNMNxLzFY1QviI1WuMtb2NVpb51XVeDiPCE0pOH7s8P hPFFKWeFbfxjEuUKZCoh4XljIoboZ7AAq7fuBnrNxrxmEL3PvrkOo3wpKyCnPnOzGGpWwOM 9B8JubXdt67EDD8sgKXTJRnAv74RIa+SBCFT+e1TwcQp97AxU1GhDjZIkbymrBtEu5ZmrMM BABZ6wiShbVodAk4rj+HQ== X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1;V03:K0:Eb0dgvKJmkE=:oP4+XinwugDt6MobdFHQPz 6ztEk3VL0ATVg+C7Z/LzcrdQxoosdU5BEc7kn3I3eXCaCm3ofZf3Ftq57zhYPnK8POhp6hf5Z B1YtNJ2G031zK9TacspudW2iAAPAnYT78Z75H5WbpzwGxQNWTVyEOcxOcazQ6vc6Xt0oDU4VQ luPeQqoTFV6DraOTaO2yHbKsh551yaYPRdWt43fnD/bZZv//hAPWf2oYRTTniJrN4ydtNVBX7 1uMpClSj+7aUjVovOSP2R/AxSKB8rNCoRX1Zr3/FKq2e/N6XKR+Ft0kHlnarZ7HkVRjMtBf6l 8Yx+ywmtqVcL0Y4yK/9v74MsyArqVPWjiXO812UHvMhl1yu1TLPrQKYx67z5VUD3KC9PVqx+8 a5xo5hQL2IGlX0auNLY6mNZa1L45N3DSrLNDbUG2ijhHWi3xiGAsYrcKvSir/C8yg6y1NeHyJ XWJlUNJUAbTvrkOYV43e2qKRiiljcYIS2i/ynBcOKUjfXif1qMx24lEUWRjoQ9PIMcQ8ZcSMT EPhcyNr80sY+gJkFLIN9Rwp7CVH1LYaZXea0yz2WQ+ZkdOp9H9giCWIzWuGHzq9Eac5ok3x/V j3hDEQSyGahmA5VN7w4m7YgKHmMzvJmf60GGruEnRxy2/fmU56o2RGh0gYm9/4kLARqae8HEw cYrTlgo9QHyPxtH0VvbMv0YOiYUNA0hiGgZxVuYwF8vkEwgcHYI2Pn1ciu3ihs5nszaeJLUCT mTichJPjDYMkjtGC/KBckCYgDN7Y4gf5zh0zudpIkfviEI4i4wy87j0a6nfVUpJDHXVnW90aZ TXvw8TgHShHWF6PikRdzSiXnvjmOMdzUuRG3MgazwJoTmebmpwEa9+9zyatmi5KWM/kqGGusz BzY12bQvwPzLNp5CSkfnEcWCCMxCP20+8yohPc1mbrvre4iIDHKzypdhgbdcn1+n1o4hL6tet F9yfbOKF7sawOxVa1lnvXSjjh7C6LMWFH6f9F7HKHnpCzoEBE+6w0Ox2MrZDtd5RC4a8gdlW2 aV9ZKYP82J28EtJcLRvnyaHNNIo7mCZC7nf8POcItEHjsXKctIW1oJquwGjwwf+9geGKk2ZUl dyskZ3hprg5bMBhfUP76PPqk0bsaZTArEV1ht2VFnA7Zfm4ubgA4JWUA3A9JiUMzUm5PS0D6E ihFVus4AdzvOWMG/P/4qIJipwXof3d2O0NLUY761CFMlkfn0ISasdDdXz6Kpo/c/iwUpWY7PX oI53ba/XG4h1vV7ye1c5UG03JUcdvpPSl2CM9HVoCBINPL7atEZUuB97moAA= X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 37415 Cc: lekktu@gmail.com, 37415@debbugs.gnu.org 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 (-) >> I do hit it here. Unless some sort of bug happens before. For >> example, when using (left . foo). > > But not with (left . (- 0)), right? With (left . (+ 0)) but maybe not with emacs -Q. In the backtrace below note that it gets called from 'frame-notice-user-settings': #0 terminate_due_to_signal (sig=22, backtrace_limit=2147483647) at ../../src/emacs.c:375 #1 0x00000004002bb1d2 in die (msg=0x4009fdf3e "FIXNUMP (a)", file=0x4009fdee0 "../../src/lisp.h", line=1231) at ../../src/alloc.c:7245 #2 0x0000000400447414 in XFIXNUM (a=XIL(0x76d7e13)) at ../../src/lisp.h:1231 #3 0x0000000400458b94 in my_create_window (f=0x9c92820) at ../../src/w32fns.c:5433 #4 0x0000000400458f5e in w32_window (f=0x9c92820, window_prompting=3, minibuffer_only=false) at ../../src/w32fns.c:5505 #5 0x000000040045af89 in Fx_create_frame (parameters=XIL(0xa03d5f3)) at ../../src/w32fns.c:6010 #6 0x0000000400319b96 in funcall_subr (subr=0x400957e00 , numargs=1, args=0xbfc898) at ../../src/eval.c:2867 #7 0x000000040031966f in Ffuncall (nargs=2, args=0xbfc890) at ../../src/eval.c:2794 #8 0x0000000400396404 in exec_byte_code (bytestr=XIL(0x63f586c), vector=XIL(0x63f40c5), maxdepth=make_fixnum(13), args_template=make_fixnum(256), nargs=1, args=0xbfcdd0) at ../../src/bytecode.c:633 #9 0x000000040031a2c7 in funcall_lambda (fun=XIL(0x63f4095), nargs=1, arg_vector=0xbfcdc8) at ../../src/eval.c:2989 #10 0x00000004003196b3 in Ffuncall (nargs=2, args=0xbfcdc0) at ../../src/eval.c:2796 #11 0x0000000400396404 in exec_byte_code (bytestr=XIL(0x63f58ac), vector=XIL(0x63f4055), maxdepth=make_fixnum(3), args_template=make_fixnum(257), nargs=1, args=0xbfd440) at ../../src/bytecode.c:633 #12 0x000000040031a2c7 in funcall_lambda (fun=XIL(0x63f4005), nargs=1, arg_vector=0xbfd438) at ../../src/eval.c:2989 #13 0x00000004003196b3 in Ffuncall (nargs=2, args=0xbfd430) at ../../src/eval.c:2796 #14 0x00000004003184c5 in Fapply (nargs=2, args=0xbfd430) at ../../src/eval.c:2381 #15 0x0000000400319a8c in funcall_subr (subr=0x400952540 , numargs=2, args=0xbfd430) at ../../src/eval.c:2847 #16 0x000000040031966f in Ffuncall (nargs=3, args=0xbfd428) at ../../src/eval.c:2794 #17 0x0000000400396404 in exec_byte_code (bytestr=XIL(0x6293844), vector=XIL(0x63f1325), maxdepth=make_fixnum(15), args_template=make_fixnum(128), nargs=1, args=0xbfd978) at ../../src/bytecode.c:633 #18 0x000000040031a2c7 in funcall_lambda (fun=XIL(0x63f12f5), nargs=1, arg_vector=0xbfd978) at ../../src/eval.c:2989 #19 0x00000004003196b3 in Ffuncall (nargs=2, args=0xbfd970) at ../../src/eval.c:2796 #20 0x0000000400396404 in exec_byte_code (bytestr=XIL(0x640239c), vector=XIL(0x61d9a0d), maxdepth=make_fixnum(14), args_template=make_fixnum(256), nargs=1, args=0xbfdf90) at ../../src/bytecode.c:633 #21 0x000000040031a2c7 in funcall_lambda (fun=XIL(0x61d99d5), nargs=1, arg_vector=0xbfdf88) at ../../src/eval.c:2989 #22 0x00000004003196b3 in Ffuncall (nargs=2, args=0xbfdf80) at ../../src/eval.c:2796 #23 0x0000000400396404 in exec_byte_code (bytestr=XIL(0x63c8c74), vector=XIL(0x61e98fd), maxdepth=make_fixnum(15), args_template=make_fixnum(0), nargs=0, args=0xbfe750) at ../../src/bytecode.c:633 #24 0x000000040031a2c7 in funcall_lambda (fun=XIL(0x61e98cd), nargs=0, arg_vector=0xbfe750) at ../../src/eval.c:2989 #25 0x00000004003196b3 in Ffuncall (nargs=1, args=0xbfe748) at ../../src/eval.c:2796 #26 0x0000000400396404 in exec_byte_code (bytestr=XIL(0x65b3c9c), vector=XIL(0x5ead275), maxdepth=make_fixnum(6), args_template=make_fixnum(0), nargs=0, args=0xbfec88) at ../../src/bytecode.c:633 #27 0x000000040031a2c7 in funcall_lambda (fun=XIL(0x5ea78e5), nargs=0, arg_vector=0xbfec88) at ../../src/eval.c:2989 #28 0x00000004003196b3 in Ffuncall (nargs=1, args=0xbfec80) at ../../src/eval.c:2796 #29 0x0000000400395746 in bcall0 (f=XIL(0x5ea78e5)) at ../../src/bytecode.c:328 #30 0x000000040031bab1 in do_one_unbind (this_binding=0xbfed00, unwinding=true, bindflag=SET_INTERNAL_UNBIND) at ../../src/eval.c:3444 #31 0x000000040031beed in unbind_to (count=5, value=XIL(0)) at ../../src/eval.c:3574 #32 0x00000004003964bd in exec_byte_code (bytestr=XIL(0x65b401c), vector=XIL(0x65b3605), maxdepth=make_fixnum(12), args_template=make_fixnum(0), nargs=0, args=0xbff3d0) at ../../src/bytecode.c:653 #33 0x000000040031a2c7 in funcall_lambda (fun=XIL(0x65b35d5), nargs=0, arg_vector=0xbff3d0) at ../../src/eval.c:2989 #34 0x0000000400319f4d in apply_lambda (fun=XIL(0x65b35d5), args=XIL(0), count=4) at ../../src/eval.c:2926 #35 0x0000000400318106 in eval_sub (form=XIL(0x6709d2b)) at ../../src/eval.c:2318 #36 0x00000004003173b0 in Feval (form=XIL(0x6709d2b), lexical=XIL(0)) at ../../src/eval.c:2102 #37 0x00000004001aa0fb in top_level_2 () at ../../src/keyboard.c:1100 #38 0x00000004003154e2 in internal_condition_case (bfun=0x4001aa0d0 , handlers=XIL(0x90), hfun=0x4001a9948 ) at ../../src/eval.c:1355 #39 0x00000004001aa153 in top_level_1 (ignore=XIL(0)) at ../../src/keyboard.c:1108 #40 0x000000040031493b in internal_catch (tag=XIL(0xdc80), func=0x4001aa101 , arg=XIL(0)) at ../../src/eval.c:1116 #41 0x00000004001a9fcf in command_loop () at ../../src/keyboard.c:1069 #42 0x0000000000000000 in ?? () Backtrace stopped: previous frame inner to this frame (corrupt stack?) Lisp Backtrace: "x-create-frame" (0xbfc898) "x-create-frame-with-faces" (0xbfcdc8) 0x63f4000 PVEC_COMPILED "apply" (0xbfd430) "frame-creation-function" (0xbfd978) "make-frame" (0xbfdf88) "frame-notice-user-settings" (0xbfe750) 0x5ea78e0 PVEC_COMPILED "normal-top-level" (0xbff3d0) martin From debbugs-submit-bounces@debbugs.gnu.org Sun Sep 22 13:54:14 2019 Received: (at 37415) by debbugs.gnu.org; 22 Sep 2019 17:54:15 +0000 Received: from localhost ([127.0.0.1]:34501 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iC63q-000190-Jl for submit@debbugs.gnu.org; Sun, 22 Sep 2019 13:54:14 -0400 Received: from mout.gmx.net ([212.227.15.15]:40337) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iC63o-00018m-Rm for 37415@debbugs.gnu.org; Sun, 22 Sep 2019 13:54:13 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1569174840; bh=3khoZEG15HTpkI9mw6kqqaJ7cmmhYKZORvXYcfBTg28=; h=X-UI-Sender-Class:Subject:To:Cc:References:From:Date:In-Reply-To; b=hTeWCW9foR7rYSF7jCSRnh+mstz7UxETlnUk4dIobibfIOCd6cdzMExpIVxbWu3m1 M2P5/PfYq+DnH2gCh+96wPahTco5F22LoEZAvALl8NC8nC8A13AbcbmNIpDRaDxWIS XGFJTWXg50OjvCc4PMV8BaHRUswo5JoAzuB0TQ78= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Received: from [192.168.1.100] ([212.95.5.40]) by mail.gmx.com (mrgmx004 [212.227.17.190]) with ESMTPSA (Nemesis) id 1MdNY2-1hclJ142ZU-00ZN8H; Sun, 22 Sep 2019 19:54:00 +0200 Subject: Re: bug#37415: Asserting failure setting frame parameters to non-fixnum values in early-init.el To: Eli Zaretskii References: <83v9tqvrm7.fsf@gnu.org> <9aae1b2e-bb5f-8634-5501-9aaff9f51266@gmx.at> <83imppvl9r.fsf@gnu.org> <14d4a455-254e-fdc2-0b64-791cfb0f7724@gmx.at> <83o8zgtlvq.fsf@gnu.org> <0936d492-c2bc-d4d3-7fcf-272d0fdbe087@gmx.at> <83a7ayss4b.fsf@gnu.org> <7b896377-d546-b428-adba-797ec988c4fa@gmx.at> <83r24aqadz.fsf@gnu.org> <83ftkprfzx.fsf@gnu.org> <83y2ygp9hz.fsf@gnu.org> From: martin rudalics Message-ID: Date: Sun, 22 Sep 2019 19:54:00 +0200 MIME-Version: 1.0 In-Reply-To: <83y2ygp9hz.fsf@gnu.org> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: de-AT Content-Transfer-Encoding: 7bit X-Provags-ID: V03:K1:TxhOXt4kAbj078PxlK2actyCaAay5l6sQpOO2kfKvp3Svuo2B67 eZLkI9uEQwwa352POo881pyU/LAIB9HSE+jQTOCpDucNLf4tZdIfrUxEZyPxsmYcUqMhsMH JpAFy7Hhml5phfq7qK7j8NjB9zJVyHFL7RLHF0DXlIJ40tnsy53j5V6MpTImtwY88H39dIy yBX08Un/HiTrXxr1AQOew== X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1;V03:K0:r0gYqqGAweA=:2/+b0wKLjk7c4nvBgntZQj toooDtdkeIq98cIKTxXAQLFJU0GAnO/N89TZY3NFB9/mqFYk51ftRoUFD+FmdWTA0iR0rQ31y kOeD7xxDoWtdv6dVYqcJ+Np+wtdKsLCMX3/ikDPSrWcqBFyiDI30neEE2vhyBAfTtK5MAqCN9 CE52YL0i2ZnNMo+O12nw/nqffcuk8JQgfqrx8tjXlaINMyhSpd5uqTZHLB2J+7qkFoe+MLJ+e fhNyEjWXc2Sr/Cdp02U/iYk7LD6fT9cu24PCE8b94skdyKbF2lTMInCWpT7AgpWoRIPH1hYAh TTbON2OVQy1ao/wa0pHybj61mik4GPg7HXONfkjEBbNylHHu0I4/6JPLIxY1h99EyTW+Kg+IF LnOx0Ww4lQ0i3IBPsxoV1HWF4xfqhPrhwgtpKKhV9aHcICNVhIMiradkGcqVH7iiPCfIKMk9N ZtozYTlpZ1zrZ7QUfH7CNtAC9GEFh+JIek0QFfNttxp7Sh+4xe2O2m1w3GxSlkLSJkZa3+i+8 B53FsaiVt6S4rINqdxgOct7o2w6ZeVUrIyprwPStaZ4/wjxj1oxDYeKQ6b38pXdFy4H9MVrGe D/5AcQGvaO9xGUiu2b7En2bEz0u2+Srpbm8lLbZRZPRrL0ErhJUvr5i8p4hctLFabxpi3ZuCD /1qfS150YXNBACVkYakQ+5wGb70xVL9tfhSCXOnniz1u+u9kcVDr53Qa7z4ND4DmhNDrxdj7U kKqlVdV3wjM34SwuK3BCA7k9SIyXd7VDedLUCdDWhVBi4AZ/+TI3bQrq3+9Gxs1Qkx8z6vlsq M0nuLCCK2EtyFKBWrxRX6FrlE2XZJUnOmZcKL9Q0y1dZWe14LChePK6PALv08/ygwkFAV6brB tmCH8P80+T9rJckTU7tiAasAwPAtLOQDzcRxKgOXx+mfM6+wow0o/P+ILQrvAm2D0pGRqFV0A 4L44OqpHVYGnW2NBBd8rs3KGfsclm33T1BN8FCjc5vyR4Pvjdpu7VHoShv87BIHskcBfMWi/d kzlXYnjTxBVkKbF4/SWkA2a9yy90qgrVV/hy2lfQfLDxCOfLZl988zKf/qm1SlpbJ3TmoLWpu 5l8Qiwh54peucQdQNGZENvB+aTd0jOg6z4dpMHTgppljVq6QITA4limBeC8/tGeTlgnsjWAvr +qMfmYTyyJPpx1HXIYwnAlfC7qu1XZ/bXzkxsvtsbddtOES1X6nXMwIVqwKyOJigwRe+6T1wY ICSZIJZqFier0wU4D5vhmRNHoxJi7waoiabT4YtsLQ9fp5tgw/9bNYhUjaX4= X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 37415 Cc: lekktu@gmail.com, 37415@debbugs.gnu.org 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 (-) > No, I don't think using x_get_arg is wrong, because we still want to > determine whether to use CW_USEDEFAULT. Hmm ... > We cannot do this unless f->size_hint_flags are set so as to tell > w32_createwindow to use f->top_pos and/or f->left_pos. Otherwise, we > should put CW_USEDEFAULT in coords[]. IOW, how about the below? [...] > + if (!(f->size_hint_flags & USPosition || f->size_hint_flags & PPosition)) > + { > + /* When called with RES_TYPE_NUMBER, and there's no 'top' or > + 'left' parameters in the frame's parameter alist, > + gui_display_get_arg will return zero for anything that is > + neither a number nor Qunbound. If frame parameter alist does > + have 'left' or 'top', they are interpreted by > + gui_figure_window_size, which was already called, and which > + sets f->size_hint_flags. */ So you mean when size hints are not set, we are sure that gui_display_get_arg does not find anything in 'default-frame-alist' (ignoring, BTW 'initial-frame-alist') and finds a number here. This looks a bit fragile to me. Isn't the fact that left/top are unbound sufficient that we should use CW_USEDEFAULT and f->left_pos/f->top_pos otherwise. Or don't you want to call gui_display_get_arg twice? martin From debbugs-submit-bounces@debbugs.gnu.org Sun Sep 22 14:16:46 2019 Received: (at 37415) by debbugs.gnu.org; 22 Sep 2019 18:16:46 +0000 Received: from localhost ([127.0.0.1]:34510 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iC6Pb-0001jn-QG for submit@debbugs.gnu.org; Sun, 22 Sep 2019 14:16:45 -0400 Received: from eggs.gnu.org ([209.51.188.92]:56931) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iC6PZ-0001jb-LE for 37415@debbugs.gnu.org; Sun, 22 Sep 2019 14:16:42 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:34173) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1iC6PU-0002LH-Av; Sun, 22 Sep 2019 14:16:36 -0400 Received: from [176.228.60.248] (port=1707 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1iC6PT-0001Sr-35; Sun, 22 Sep 2019 14:16:36 -0400 Date: Sun, 22 Sep 2019 21:16:40 +0300 Message-Id: <83r248p56f.fsf@gnu.org> From: Eli Zaretskii To: martin rudalics In-reply-to: <888d2c1b-0253-e452-93fe-e7104a259807@gmx.at> (message from martin rudalics on Sun, 22 Sep 2019 19:53:32 +0200) Subject: Re: bug#37415: Asserting failure setting frame parameters to non-fixnum values in early-init.el References: <83v9tqvrm7.fsf@gnu.org> <9aae1b2e-bb5f-8634-5501-9aaff9f51266@gmx.at> <83imppvl9r.fsf@gnu.org> <14d4a455-254e-fdc2-0b64-791cfb0f7724@gmx.at> <83o8zgtlvq.fsf@gnu.org> <0936d492-c2bc-d4d3-7fcf-272d0fdbe087@gmx.at> <83a7ayss4b.fsf@gnu.org> <7b896377-d546-b428-adba-797ec988c4fa@gmx.at> <83r24aqadz.fsf@gnu.org> <4495f73b-7897-3a7c-4880-14a10da30458@gmx.at> <83zhiwpa7y.fsf@gnu.org> <888d2c1b-0253-e452-93fe-e7104a259807@gmx.at> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 37415 Cc: lekktu@gmail.com, 37415@debbugs.gnu.org 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 (---) > Cc: lekktu@gmail.com, 37415@debbugs.gnu.org > From: martin rudalics > Date: Sun, 22 Sep 2019 19:53:32 +0200 > > >> I do hit it here. Unless some sort of bug happens before. For > >> example, when using (left . foo). > > > > But not with (left . (- 0)), right? > > With (left . (+ 0)) but maybe not with emacs -Q. In the backtrace below > note that it gets called from 'frame-notice-user-settings': I was asking about X, but the backtrace you show is from Windows. Am I missing something? From debbugs-submit-bounces@debbugs.gnu.org Sun Sep 22 14:19:58 2019 Received: (at 37415) by debbugs.gnu.org; 22 Sep 2019 18:19:58 +0000 Received: from localhost ([127.0.0.1]:34514 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iC6Sk-0001oh-8J for submit@debbugs.gnu.org; Sun, 22 Sep 2019 14:19:58 -0400 Received: from eggs.gnu.org ([209.51.188.92]:57203) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iC6Si-0001oQ-1i for 37415@debbugs.gnu.org; Sun, 22 Sep 2019 14:19:56 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:34199) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1iC6Sc-0003Kz-Ut; Sun, 22 Sep 2019 14:19:50 -0400 Received: from [176.228.60.248] (port=1913 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1iC6Sb-0001bd-VP; Sun, 22 Sep 2019 14:19:50 -0400 Date: Sun, 22 Sep 2019 21:19:57 +0300 Message-Id: <83pnjsp50y.fsf@gnu.org> From: Eli Zaretskii To: martin rudalics In-reply-to: (message from martin rudalics on Sun, 22 Sep 2019 19:54:00 +0200) Subject: Re: bug#37415: Asserting failure setting frame parameters to non-fixnum values in early-init.el References: <83v9tqvrm7.fsf@gnu.org> <9aae1b2e-bb5f-8634-5501-9aaff9f51266@gmx.at> <83imppvl9r.fsf@gnu.org> <14d4a455-254e-fdc2-0b64-791cfb0f7724@gmx.at> <83o8zgtlvq.fsf@gnu.org> <0936d492-c2bc-d4d3-7fcf-272d0fdbe087@gmx.at> <83a7ayss4b.fsf@gnu.org> <7b896377-d546-b428-adba-797ec988c4fa@gmx.at> <83r24aqadz.fsf@gnu.org> <83ftkprfzx.fsf@gnu.org> <83y2ygp9hz.fsf@gnu.org> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 37415 Cc: lekktu@gmail.com, 37415@debbugs.gnu.org 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 (---) > Cc: lekktu@gmail.com, 37415@debbugs.gnu.org > From: martin rudalics > Date: Sun, 22 Sep 2019 19:54:00 +0200 > > > No, I don't think using x_get_arg is wrong, because we still want to > > determine whether to use CW_USEDEFAULT. > > Hmm ... > > > We cannot do this unless f->size_hint_flags are set so as to tell > > w32_createwindow to use f->top_pos and/or f->left_pos. Otherwise, we > > should put CW_USEDEFAULT in coords[]. IOW, how about the below? > [...] > > + if (!(f->size_hint_flags & USPosition || f->size_hint_flags & PPosition)) > > + { > > + /* When called with RES_TYPE_NUMBER, and there's no 'top' or > > + 'left' parameters in the frame's parameter alist, > > + gui_display_get_arg will return zero for anything that is > > + neither a number nor Qunbound. If frame parameter alist does > > + have 'left' or 'top', they are interpreted by > > + gui_figure_window_size, which was already called, and which > > + sets f->size_hint_flags. */ > > So you mean when size hints are not set, we are sure that > gui_display_get_arg does not find anything in 'default-frame-alist' > (ignoring, BTW 'initial-frame-alist') and finds a number here. This > looks a bit fragile to me. If it's fragile, then we must take a look at gui_figure_window_size, I think. It should handle all those cases which you are afraid of. > Isn't the fact that left/top are unbound sufficient that we should > use CW_USEDEFAULT and f->left_pos/f->top_pos otherwise. I don't know, but in any case we don't need more than one evidence; additional evidence is just redundant. I prefer using the hint flags as the indicator because that explicitly tells us we can use f->top and f->left. From debbugs-submit-bounces@debbugs.gnu.org Mon Sep 23 03:32:15 2019 Received: (at 37415) by debbugs.gnu.org; 23 Sep 2019 07:32:15 +0000 Received: from localhost ([127.0.0.1]:34986 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iCIpT-0008Cr-7y for submit@debbugs.gnu.org; Mon, 23 Sep 2019 03:32:15 -0400 Received: from mout.gmx.net ([212.227.15.18]:35475) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iCIpR-0008Cf-NH for 37415@debbugs.gnu.org; Mon, 23 Sep 2019 03:32:14 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1569223924; bh=s89OaO6VwWVWSZnLdtt/Wssq9G0WsPSOjDn+opEXCAY=; h=X-UI-Sender-Class:Subject:To:Cc:References:From:Date:In-Reply-To; b=dXG3TcoNSHl1vkWTgTP/S0kd5svraxf9f2G09afCtiF+H5ubt1k0ljv/KDQcZhYe4 rKDUJL2yaNYeRkLPyALQSzx0TttV1PfWZxOdZ6Zi+bCpvx2XYQB6pkdrXPT8EgIb1n s401gi8nCeAoMUskIefWrfCG5tY8JmlRtPax+4DA= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Received: from [192.168.1.101] ([212.95.5.42]) by mail.gmx.com (mrgmx004 [212.227.17.190]) with ESMTPSA (Nemesis) id 1MDhlV-1iMzWl35PT-00Aj41; Mon, 23 Sep 2019 09:32:04 +0200 Subject: Re: bug#37415: Asserting failure setting frame parameters to non-fixnum values in early-init.el To: Eli Zaretskii References: <83v9tqvrm7.fsf@gnu.org> <9aae1b2e-bb5f-8634-5501-9aaff9f51266@gmx.at> <83imppvl9r.fsf@gnu.org> <14d4a455-254e-fdc2-0b64-791cfb0f7724@gmx.at> <83o8zgtlvq.fsf@gnu.org> <0936d492-c2bc-d4d3-7fcf-272d0fdbe087@gmx.at> <83a7ayss4b.fsf@gnu.org> <7b896377-d546-b428-adba-797ec988c4fa@gmx.at> <83r24aqadz.fsf@gnu.org> <4495f73b-7897-3a7c-4880-14a10da30458@gmx.at> <83zhiwpa7y.fsf@gnu.org> <888d2c1b-0253-e452-93fe-e7104a259807@gmx.at> <83r248p56f.fsf@gnu.org> From: martin rudalics Message-ID: Date: Mon, 23 Sep 2019 09:32:00 +0200 MIME-Version: 1.0 In-Reply-To: <83r248p56f.fsf@gnu.org> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: de-AT Content-Transfer-Encoding: 7bit X-Provags-ID: V03:K1:4u+Eq1EDRzD12WLwGQohvW4uiFgGViUtowXkqQfABcJxlTbTrVA 5JSazgCfBxFV8J0GDeHSFj9ebXRTOZP61oG4wUBfw9mwQERzNgcg94tvRN4t5viyOALUT4o xTbHLYiOv3D9pe9sG4mXEsMluLEk2uGte6HEKEmmqELn7S+bOu0gBk80q89RrszEMKq2p/s tZMfyHFzcGVwa5/fK7OHQ== X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1;V03:K0:enGdhsbehKc=:lbgiwz2nsS+mqFth2j3ig5 RVLEaOe4c9N8OV9aVbXd40lxuR15sXWr3fsgm3UN116IkDfHlSFIIaantAa5mTOAPIywAHQ/X rcajD9oTkD3WYRFXZkdW5KXKyoHu8DkXlVrE3BeV4nJNDCL6d2PEMLttVVKmc/ss7+8CnCYjM OJn0i87Q4mhEaiu7mfTC+/e7uvDZAqWHVQCYCIqHeersFbLbCTdXkOerluLT1krMg6HBzUBM3 RCCoKT/g3320tYoDu5W2fuywWbLfm9OJaMd1770Hi7fZJ8ABDq7+LJANUjt3VpKuxj9fMKf8N aXMq35E9trIUxnerm9F/n1ZSXrUYuXbH4tjOxAgf1XhwItiujFFb8vs6wp/+YYOZhgoSztX6K WIf7w3EebIX912C/fDdxNSojeGgcBOHKuAxQFgUaIEsst7ijzPZboDzwV9D/KxYSWk4OQ3Aif c7FccY9X4SLLILi3N1knRvQ5OUecXys5Z7FfIurvc+6SvA98xMPYmJ03Zc0wt4PpaNB0r3yn3 TRfn1R1dD+qt3VYrsCRPM+pHPTxKp8s6Bf5yl573WElKLDtFHm3GEHjHF6jVcE8aiiBjpl8Mq hpf6yCSa4UObrKEhoptqKYSXsjEOKfViJucjOFrT/4psrlgFukOjpBEx2lBbejiaVIgdj6HCk s1h5OCl0sZU36PvaKFgbCnlOKAmLQK7mNges/DxXQdXhiLQPgiANMMB5COPUpSZ5ZPD9ZU1TV AA4/GjyBI1mdBhXiKgYsl13GHduHpsP45cCYyxvgl8AWGxMaIm3Q+tFhbda+A+KkJ1zNtk19Z kfN/zvJjADQQIdJ1SV5sZYHuLDqQ93J2Rh1STLKP9sHlFy3f8iZnx4Yce+PW4Ysz3oo84Cc/l Z4focpMSj0bGsRdpKGRrq36Mg+++/IRhq0SztLWw1hRyxc9RIvJO1DP/ergWQxJdKiIyVn4Co bFeFYqQ7wpqdckpfLrhsTjw4NyjXMQpixM0ONxrAgyEiqJ6MlRT+yFrypcG+Z47dE31rX5Ns8 I/iPirVUCbcoHVQmLA6P2uYACc156wRJkUhmFn3Jhbl3c7T2dMXgYAlbE08s71JRgnR3v9Y9w eaI/jPJA/4mn6z8BjrBcCB6oyNft/Ok9Y5PY3B4JWvXSAtgu1ZjYp90h/vGsqVtR37LWK0K3k eNgY974ihnRF4WSs3uGJUgLOyvHAmxvsD6zh8L/GMaQNkCjvYvzhirqbvmVtAdgEkPr8kAo3F Zmc4biI2y6JfJf6KfenLYGT12dPCBwY0vZxc4Udv0nWKVu+hLeQcdvuZWUQU= X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 37415 Cc: lekktu@gmail.com, 37415@debbugs.gnu.org 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 (-) >> >> I do hit it here. Unless some sort of bug happens before. For >> >> example, when using (left . foo). >> > >> > But not with (left . (- 0)), right? >> >> With (left . (+ 0)) but maybe not with emacs -Q. In the backtrace below >> note that it gets called from 'frame-notice-user-settings': > > I was asking about X, but the backtrace you show is from Windows. Am > I missing something? You asked . how come we don't hit this assertion when the same expression is in the init file, only in the early-init file? and the dialogue continued as above. So your question was clearly about Windows because X cannot "hit this assertion". martin From debbugs-submit-bounces@debbugs.gnu.org Mon Sep 23 03:32:30 2019 Received: (at 37415) by debbugs.gnu.org; 23 Sep 2019 07:32:30 +0000 Received: from localhost ([127.0.0.1]:34989 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iCIpi-0008DJ-Fw for submit@debbugs.gnu.org; Mon, 23 Sep 2019 03:32:30 -0400 Received: from mout.gmx.net ([212.227.15.18]:40591) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iCIpf-0008D6-GV for 37415@debbugs.gnu.org; Mon, 23 Sep 2019 03:32:29 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1569223941; bh=6/HwhuJFYZ/XynCbgQr49NqNpkX7CQvHyraL6XxfFLI=; h=X-UI-Sender-Class:Subject:To:Cc:References:From:Date:In-Reply-To; b=Gt++CzPLoR7GScMe2nqEbOqO+UtCyStrZR6W4oLfVJvnq+wSy8spXY5PLr5bRAeuL Bvh83Q4xFwQyw6MPRVS/GjUBJhvdEaxJFmKoZQdByrsws2ggzlgmMIMU2kKtFHhxd2 qFe9Ool9R3q2rwxV3rQ9x6VXDA4EyLoDHjR279E8= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Received: from [192.168.1.101] ([212.95.5.42]) by mail.gmx.com (mrgmx005 [212.227.17.190]) with ESMTPSA (Nemesis) id 1MZCb5-1ihFrQ1pqL-00V6gY; Mon, 23 Sep 2019 09:32:21 +0200 Subject: Re: bug#37415: Asserting failure setting frame parameters to non-fixnum values in early-init.el To: Eli Zaretskii References: <83v9tqvrm7.fsf@gnu.org> <9aae1b2e-bb5f-8634-5501-9aaff9f51266@gmx.at> <83imppvl9r.fsf@gnu.org> <14d4a455-254e-fdc2-0b64-791cfb0f7724@gmx.at> <83o8zgtlvq.fsf@gnu.org> <0936d492-c2bc-d4d3-7fcf-272d0fdbe087@gmx.at> <83a7ayss4b.fsf@gnu.org> <7b896377-d546-b428-adba-797ec988c4fa@gmx.at> <83r24aqadz.fsf@gnu.org> <83ftkprfzx.fsf@gnu.org> <83y2ygp9hz.fsf@gnu.org> <83pnjsp50y.fsf@gnu.org> From: martin rudalics Message-ID: Date: Mon, 23 Sep 2019 09:32:23 +0200 MIME-Version: 1.0 In-Reply-To: <83pnjsp50y.fsf@gnu.org> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: de-AT Content-Transfer-Encoding: 7bit X-Provags-ID: V03:K1:LdGMGQlYN1/N2xjBe6T/DzCk9xt4qJHGanRhZQcBczAFH+GTBec b/Uum+RtyguKo9iGx+gaXYdFz0nqbhM6tmNyAqP2MBlcEV79sPW8HR/f60XjaP1fQTP2U5K VO308odycFRbxsWUFgiBNz37Hosf2QrNKq3cPpPh8hT7tz7dwioyY8v6VwdAeny/IFr2xT/ RAGXTsxNFXsWvPIYHADPg== X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1;V03:K0:fFAA5N6I3hM=:kYjkOA/FzbOtUIp5AkqvcY GyQM57tGGUhkGuezVUKwMZj2iM4uqwFjijC2iwwE79VImZiWjiDpO/qwgnSKYJLMAcLcxt6JX 7P8J4YF2ycUnTEH0Yz6vIOWKH8jhuYO+md5am4OlACJaDiiXrsK/LsUjEZdtdWSaPXG5qx8yj CWRf2LSG5Dyu3kqTBok34M+Kk2gShEzqBJGvLDQ4Yqt6Lms8SNAx+xSw+5jomDlY4I0ljCof/ +Lbm1+QJhoFAvENoyeZleQx0pN9fmQRi68OzAq6aED0IDAIhureDZjvA0n5QlIoM73xOmmVAw /DlcEoNj8WXObG1m2dKW6qYNbTG41FgyY9DUdaTi8yg1VKaFceifxCEIcvFYYwSoNy2DeS/d4 T3lVutIJ6clY3XoJgz+6RLUAjKJt+AZzc103GknegHOHnTHZwgQSZeDKeUJyv9Mhk2M17llcm 1BXWVqWylhrr88At9Mi6PIDz8MIlPUVOpgAd1wIjTJKT26OQ8JsKMosTIumtn8ZFeQqo01MTV M7WDN05woAX3GQNUbwmUIX9cRQLCUPRUmoLlWsBEwIsFy09ZUBU0dRD1Db2vGrSMnb2kY+jc+ uM1sADjjjfvHYiF7/f/klz6qZJjXIzibSLFm3rPX+sC/SiMHsnWFQjVEY9EuO5RZebhwBb1Vy rE2N/AIA4BykGrS0TWAQL/LE6ier1KpTEG1LwA66fuf6gEZOXIV9KOE5ulUpv1L8qiNnhTvQO pd7vcKVvjgCxvt9Jpy6ICu2jmBpco7LPoJ9iu7EPZNICi/dCgBtscYAj1mW/Rk3MpIOU3Vgeu 88dgTpdPayEizgA7zlTtuq0pjl6RTlTcbdNPTJtdET8dyZosyOFiLW0FPebFJF1yK8dICWIJG n1MdOslXCbdpFAqSWyqwmB0Ucft1DN7Mfk3AhlqqVvLY7TM9Kmc8NPPYWYOPc807sFhChxDCx UBFB4mhMxuW5z+nMJ2+gygUrWlSagFvFK/TBFLle+R0xtvTIw+ZlhGCry8+TC+gs/vVn7oPxJ f4Tb5wx9Yq98n97SClejo59/X5ep8n2ndsUlE/PH2iA6EnciT2xMzQ8wEv5Djcfq10qrVacQc 5RKmAqMkhtqBmlJvXAoWvUkRodyep416HQ29rU9pTsZjcb7Xpya/I6h0rK2vTtcDuInoMkomZ +bw7MbD36d3Iq98hIiX2rcZeTgXvAsYcQPYieGcANnb8CzhWzbV8ujl3a1Hf3ss2PvusiRn3U JBCPQanFKhkkJzw1ptqLFdaqdG9et5ESNkhH87iwxiFww9G6LC7Tof71IIEA= X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 37415 Cc: lekktu@gmail.com, 37415@debbugs.gnu.org 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 (-) > If it's fragile, then we must take a look at gui_figure_window_size, I > think. It should handle all those cases which you are afraid of. What bothers me more is that we base the Windows code on a concept that it can neither understand nor control. > I prefer using the hint flags as the indicator because that explicitly > tells us we can use f->top and f->left. But we do not use them in my_create_window with your patch. We just use left and top which are zero when a notation like (- 100) is used. martin From debbugs-submit-bounces@debbugs.gnu.org Mon Sep 23 12:08:41 2019 Received: (at 37415) by debbugs.gnu.org; 23 Sep 2019 16:08:41 +0000 Received: from localhost ([127.0.0.1]:36858 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iCQtF-0000I0-Ew for submit@debbugs.gnu.org; Mon, 23 Sep 2019 12:08:41 -0400 Received: from eggs.gnu.org ([209.51.188.92]:47840) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iCQtD-0000Hj-Pd for 37415@debbugs.gnu.org; Mon, 23 Sep 2019 12:08:40 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:52828) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1iCQt8-00016K-6j; Mon, 23 Sep 2019 12:08:34 -0400 Received: from [176.228.60.248] (port=1873 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1iCQt7-0007I8-Mi; Mon, 23 Sep 2019 12:08:34 -0400 Date: Mon, 23 Sep 2019 19:08:28 +0300 Message-Id: <83impjov0j.fsf@gnu.org> From: Eli Zaretskii To: martin rudalics In-reply-to: (message from martin rudalics on Mon, 23 Sep 2019 09:32:00 +0200) Subject: Re: bug#37415: Asserting failure setting frame parameters to non-fixnum values in early-init.el References: <83v9tqvrm7.fsf@gnu.org> <9aae1b2e-bb5f-8634-5501-9aaff9f51266@gmx.at> <83imppvl9r.fsf@gnu.org> <14d4a455-254e-fdc2-0b64-791cfb0f7724@gmx.at> <83o8zgtlvq.fsf@gnu.org> <0936d492-c2bc-d4d3-7fcf-272d0fdbe087@gmx.at> <83a7ayss4b.fsf@gnu.org> <7b896377-d546-b428-adba-797ec988c4fa@gmx.at> <83r24aqadz.fsf@gnu.org> <4495f73b-7897-3a7c-4880-14a10da30458@gmx.at> <83zhiwpa7y.fsf@gnu.org> <888d2c1b-0253-e452-93fe-e7104a259807@gmx.at> <83r248p56f.fsf@gnu.org> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 37415 Cc: lekktu@gmail.com, 37415@debbugs.gnu.org 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 (---) > Cc: lekktu@gmail.com, 37415@debbugs.gnu.org > From: martin rudalics > Date: Mon, 23 Sep 2019 09:32:00 +0200 > > >> >> I do hit it here. Unless some sort of bug happens before. For > >> >> example, when using (left . foo). > >> > > >> > But not with (left . (- 0)), right? > >> > >> With (left . (+ 0)) but maybe not with emacs -Q. In the backtrace below > >> note that it gets called from 'frame-notice-user-settings': > > > > I was asking about X, but the backtrace you show is from Windows. Am > > I missing something? > > You asked > > . how come we don't hit this assertion when the same expression is > in the init file, only in the early-init file? > > and the dialogue continued as above. So your question was clearly > about Windows because X cannot "hit this assertion". Sorry, I thought you were answering another of my questions. From debbugs-submit-bounces@debbugs.gnu.org Mon Sep 23 12:35:52 2019 Received: (at 37415) by debbugs.gnu.org; 23 Sep 2019 16:35:52 +0000 Received: from localhost ([127.0.0.1]:36905 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iCRJY-00037O-7f for submit@debbugs.gnu.org; Mon, 23 Sep 2019 12:35:52 -0400 Received: from eggs.gnu.org ([209.51.188.92]:53177) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iCRJV-000377-Rx for 37415@debbugs.gnu.org; Mon, 23 Sep 2019 12:35:50 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:53313) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1iCRJP-0002G6-FH; Mon, 23 Sep 2019 12:35:44 -0400 Received: from [176.228.60.248] (port=3536 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1iCRJO-0001Od-04; Mon, 23 Sep 2019 12:35:42 -0400 Date: Mon, 23 Sep 2019 19:35:35 +0300 Message-Id: <83ef07otrc.fsf@gnu.org> From: Eli Zaretskii To: martin rudalics In-reply-to: (message from martin rudalics on Mon, 23 Sep 2019 09:32:23 +0200) Subject: Re: bug#37415: Asserting failure setting frame parameters to non-fixnum values in early-init.el References: <83v9tqvrm7.fsf@gnu.org> <9aae1b2e-bb5f-8634-5501-9aaff9f51266@gmx.at> <83imppvl9r.fsf@gnu.org> <14d4a455-254e-fdc2-0b64-791cfb0f7724@gmx.at> <83o8zgtlvq.fsf@gnu.org> <0936d492-c2bc-d4d3-7fcf-272d0fdbe087@gmx.at> <83a7ayss4b.fsf@gnu.org> <7b896377-d546-b428-adba-797ec988c4fa@gmx.at> <83r24aqadz.fsf@gnu.org> <83ftkprfzx.fsf@gnu.org> <83y2ygp9hz.fsf@gnu.org> <83pnjsp50y.fsf@gnu.org> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 37415 Cc: lekktu@gmail.com, 37415@debbugs.gnu.org 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 (---) > Cc: lekktu@gmail.com, 37415@debbugs.gnu.org > From: martin rudalics > Date: Mon, 23 Sep 2019 09:32:23 +0200 > > > If it's fragile, then we must take a look at gui_figure_window_size, I > > think. It should handle all those cases which you are afraid of. > > What bothers me more is that we base the Windows code on a concept > that it can neither understand nor control. Which concept is that? > > I prefer using the hint flags as the indicator because that explicitly > > tells us we can use f->top and f->left. > > But we do not use them in my_create_window with your patch. my_create_window just prepares the coordinates for w32_createwindow, and the latter does use f->top_pos and f->left_pos when appropriate. > We just use left and top which are zero when a notation like (- 100) > is used. When such a notation is used, gui_figure_window_size will have already computed the coordinates in f->top_pos and f->left_pos, and set the hint flags, before my_create_window is called. Which is why we don't need to do anything in my_create_window when the hint flags are set. But if you will feel safer with the alternative patch below, I don't mind: diff --git a/src/w32fns.c b/src/w32fns.c index 34abd02..4581015 100644 --- a/src/w32fns.c +++ b/src/w32fns.c @@ -5421,20 +5421,33 @@ my_create_window (struct frame * f) Lisp_Object left, top; struct w32_display_info *dpyinfo = &one_w32_display_info; - /* When called with RES_TYPE_NUMBER, gui_display_get_arg will return - zero for anything that is not a number and is not Qunbound. */ - left = gui_display_get_arg (dpyinfo, Qnil, Qleft, "left", "Left", - RES_TYPE_NUMBER); - top = gui_display_get_arg (dpyinfo, Qnil, Qtop, "top", "Top", - RES_TYPE_NUMBER); - if (EQ (left, Qunbound)) - coords[0] = CW_USEDEFAULT; - else - coords[0] = XFIXNUM (left); - if (EQ (top, Qunbound)) - coords[1] = CW_USEDEFAULT; + if (!(f->size_hint_flags & USPosition || f->size_hint_flags & PPosition)) + { + /* When called with RES_TYPE_NUMBER, and there's no 'top' or + 'left' parameters in the frame's parameter alist, + gui_display_get_arg will return zero for anything that is + neither a number nor Qunbound. If frame parameter alist does + have 'left' or 'top', they are interpreted by + gui_figure_window_size, which was already called, and which + sets f->size_hint_flags. */ + left = gui_display_get_arg (dpyinfo, Qnil, Qleft, "left", "Left", + RES_TYPE_NUMBER); + top = gui_display_get_arg (dpyinfo, Qnil, Qtop, "top", "Top", + RES_TYPE_NUMBER); + if (EQ (left, Qunbound)) + coords[0] = CW_USEDEFAULT; + else + coords[0] = XFIXNUM (left); + if (EQ (top, Qunbound)) + coords[1] = CW_USEDEFAULT; + else + coords[1] = XFIXNUM (top); + } else - coords[1] = XFIXNUM (top); + { + coords[0] = f->left_pos; + coords[1] = f->top_pos; + } if (!PostThreadMessage (dwWindowsThreadId, WM_EMACS_CREATEWINDOW, (WPARAM)f, (LPARAM)coords)) The 'else' block is redundant, because when the hint flags are set, w32_createwindow will disregard coords[]. But it does no harm, so if you are more comfortable with it, fine. Thanks. From debbugs-submit-bounces@debbugs.gnu.org Tue Sep 24 02:46:04 2019 Received: (at 37415) by debbugs.gnu.org; 24 Sep 2019 06:46:05 +0000 Received: from localhost ([127.0.0.1]:37473 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iCeaK-0000gb-Lf for submit@debbugs.gnu.org; Tue, 24 Sep 2019 02:46:04 -0400 Received: from mout.gmx.net ([212.227.15.18]:56395) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iCeaG-0000Xj-FU for 37415@debbugs.gnu.org; Tue, 24 Sep 2019 02:46:03 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1569307547; bh=h2+gCoyuVin4EeDleK/b3HD/MNmqqwb/EyClB9Yg9DQ=; h=X-UI-Sender-Class:Subject:To:Cc:References:From:Date:In-Reply-To; b=hwSMw2hwF01Modf3B0W7KlPBTc5/py/lhIJtWrYU7+/x6qRHF6sD6jkAChx5KPCa7 jyrOd4Ni3I0SNYIfA+CzjKNUegqwAUpzEimCfAbbNYWwauK8cM/S9egSDd+r3s+c4Q /abp//UN126j/qorqyJ9VIEJ6HOBdXOkRzSID9yI= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Received: from [192.168.1.101] ([46.125.249.32]) by mail.gmx.com (mrgmx004 [212.227.17.190]) with ESMTPSA (Nemesis) id 1MSt8W-1icWvt1cis-00UM1r; Tue, 24 Sep 2019 08:45:47 +0200 Subject: Re: bug#37415: Asserting failure setting frame parameters to non-fixnum values in early-init.el To: Eli Zaretskii References: <83v9tqvrm7.fsf@gnu.org> <9aae1b2e-bb5f-8634-5501-9aaff9f51266@gmx.at> <83imppvl9r.fsf@gnu.org> <14d4a455-254e-fdc2-0b64-791cfb0f7724@gmx.at> <83o8zgtlvq.fsf@gnu.org> <0936d492-c2bc-d4d3-7fcf-272d0fdbe087@gmx.at> <83a7ayss4b.fsf@gnu.org> <7b896377-d546-b428-adba-797ec988c4fa@gmx.at> <83r24aqadz.fsf@gnu.org> <83ftkprfzx.fsf@gnu.org> <83y2ygp9hz.fsf@gnu.org> <83pnjsp50y.fsf@gnu.org> <83ef07otrc.fsf@gnu.org> From: martin rudalics Message-ID: <866a56c8-edb6-bd35-cd52-56611cf2a7e6@gmx.at> Date: Tue, 24 Sep 2019 08:45:43 +0200 MIME-Version: 1.0 In-Reply-To: <83ef07otrc.fsf@gnu.org> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: de-AT Content-Transfer-Encoding: 7bit X-Provags-ID: V03:K1:HB8XLqZG1zWNOU3nNdqpcNUCiry1H08G2PI0AxWbCOzGci74nWw P0KF+u2U7f37YXRepu1HB6IjMjKoQzqBnuyqt0qexbSzXZ6gJqACszcKa/EjKQSVQm0cutM SCv7OxR8HTWlUg7crEsZy00Eb15PtD8jdQOK+jPI0Mqor3SZSW0iyM8MQsrInNmSGaXwYjN aEV7pyMriJY6fnxQwKXfA== X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1;V03:K0:hKiJB6D807A=:xCSZswuhhn+9eS9HiRQdzx Ny2vV3v5KKOPvmuCxEPF5DWEtZwTI9kriS5xd9JqSOJog5j5sJUm7IQf8mQCCOqcQynrMLE0C jqeYZpoNv9rKyipQ8IsWCn08lpyoEAjzhwSO9xp65HXAN2M1JBUd+W+TNMdtn2LP0c/bO4VxO mANocoiimUndN6f036+jYZj1koxfxjsGNolG9WBefTjRO3vf290qUdg+b9icBAqdyySZmch75 J6FlKN/LhKnVRf1vPNcOHX/cWIhRtYi46wl/5eVNY4MCggaOm1hjE37Fps2BU4UoCM/4Ji1Zs LOd5wcKw0gxnZN5wbDLkFqjlIerUgZodsmZEz6dMFKZwEmfcgfEimUU9ajAGbl4Dp40sviWiE 47NnT8gwQRf85tjIBfhF+s51X4PJBgKH1YtMzJ/omLtsjlqdimX4fDISb/n+E2+0HJOktmlO7 0f5yTP0yOfu8AaJjcp8rCQd8ynOdjqna1DhA28VitY65dpXueG6jJTgRKdLwpUzkjL1yTQ2aS QZCSfJb8oxbdrmLsnxgU17F+7VEZCbYfv/5JG0CzMdN9HxKJGLktewINbwkwB+Z3O7grLGOY2 6EWyAwLVgzpaRBR3n/NZKRGquHf2U8wTpEWrrzUPIligmhwInwU0rIPcM1h8xuWobp6aEELzW 5dv6URozzgthzOQOChamknT8+vPRsIWBmzS/HvUtpO0KOL2zYi+vPO0GxEpR3W1p+ToQqfe5w D7Y92WqTQnZu4KYy1QQLovUDOsfO1yBOfFTeWyhxb97KrfuHz6C1ITFrJJ2bIhmd5z2jrA+5n XW5B0EIRXZnv776qZk+0QSuXXomeWRck/MTxc9HsjI8jLq+NhC+cMCOVxFwjSahvwIFpOOKvw 8CBPFZCa6mLqPOENZ26bmdJod4ADSXT7TqgD6bFEipXKQ2mOIiq3b3y2b+Iup5d62OytYnusI jtfDxgH/vitai9yburBisE12iyss6BPK5eNCa1X3XCH/8FGk9PXgYNSlxpqMSxFJIfsoeB3oG BXFPUW0UR5DIr2VofaMipbDdzDtXhicts7utTif7kKkjsyqFXVqCUCNMawIlCkF0wxMIK3c4L 144s2yE3NB3uLMKc+OE72baRNFPyymUVbi3VR+bzfexhucYkDPvUWr1f8okvLaJw+esbFXuoP 1su/bUDOcfCFfo9ihBYg20bYVEyynMSnJzjxhK9R7i4CBdBq6P9OgHk7v0cKiCezFT9ddRfqe XwDIOAV1NmzbF6xWAI2bso3/dmDYnNtAZ2/nyMffhUcvi4xIAAXntj3r/o0g= X-Spam-Score: 3.6 (+++) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: >> What bothers me more is that we base the Windows code on a concept >> that it can neither understand nor control. > > Which concept is that? Size hints. In particular the 'user-position' frame parameter. Content analysis details: (3.6 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 3.6 RCVD_IN_SBL_CSS RBL: Received via a relay in Spamhaus SBL-CSS [46.125.249.32 listed in zen.spamhaus.org] 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record -0.0 SPF_PASS SPF: sender matches SPF record 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (rudalics[at]gmx.at) -0.0 RCVD_IN_MSPIKE_H2 RBL: Average reputation (+2) [212.227.15.18 listed in wl.mailspike.net] X-Debbugs-Envelope-To: 37415 Cc: lekktu@gmail.com, 37415@debbugs.gnu.org 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: 2.6 (++) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: >> What bothers me more is that we base the Windows code on a concept >> that it can neither understand nor control. > > Which concept is that? Size hints. In particular the 'user-position' frame parameter. Content analysis details: (2.6 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 3.6 RCVD_IN_SBL_CSS RBL: Received via a relay in Spamhaus SBL-CSS [46.125.249.32 listed in zen.spamhaus.org] -0.0 RCVD_IN_MSPIKE_H2 RBL: Average reputation (+2) [212.227.15.18 listed in wl.mailspike.net] 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record -0.0 SPF_PASS SPF: sender matches SPF record 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (rudalics[at]gmx.at) -1.0 MAILING_LIST_MULTI Multiple indicators imply a widely-seen list manager >> What bothers me more is that we base the Windows code on a concept >> that it can neither understand nor control. > > Which concept is that? Size hints. In particular the 'user-position' frame parameter. > my_create_window just prepares the coordinates for w32_createwindow, > and the latter does use f->top_pos and f->left_pos when appropriate. OK. I didn't remember that the code was that convoluted. > The 'else' block is redundant, because when the hint flags are set, > w32_createwindow will disregard coords[]. But it does no harm, so if > you are more comfortable with it, fine. Thanks but don't bother. Better leave a short note in a comment explaining how this is supposed to behave. On a related note: Do you have any ideas what the window_prompting argument of w32_window is or was for? martin From debbugs-submit-bounces@debbugs.gnu.org Tue Sep 24 03:42:20 2019 Received: (at 37415-done) by debbugs.gnu.org; 24 Sep 2019 07:42:20 +0000 Received: from localhost ([127.0.0.1]:37559 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iCfSl-0007St-SL for submit@debbugs.gnu.org; Tue, 24 Sep 2019 03:42:20 -0400 Received: from eggs.gnu.org ([209.51.188.92]:33143) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iCfSk-0007Sg-Oq for 37415-done@debbugs.gnu.org; Tue, 24 Sep 2019 03:42:19 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:36987) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1iCfSf-00019w-C8; Tue, 24 Sep 2019 03:42:13 -0400 Received: from [176.228.60.248] (port=3221 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1iCfSe-0000E6-MU; Tue, 24 Sep 2019 03:42:13 -0400 Date: Tue, 24 Sep 2019 10:41:58 +0300 Message-Id: <83y2yennsp.fsf@gnu.org> From: Eli Zaretskii To: martin rudalics In-reply-to: <866a56c8-edb6-bd35-cd52-56611cf2a7e6@gmx.at> (message from martin rudalics on Tue, 24 Sep 2019 08:45:43 +0200) Subject: Re: bug#37415: Asserting failure setting frame parameters to non-fixnum values in early-init.el References: <83v9tqvrm7.fsf@gnu.org> <9aae1b2e-bb5f-8634-5501-9aaff9f51266@gmx.at> <83imppvl9r.fsf@gnu.org> <14d4a455-254e-fdc2-0b64-791cfb0f7724@gmx.at> <83o8zgtlvq.fsf@gnu.org> <0936d492-c2bc-d4d3-7fcf-272d0fdbe087@gmx.at> <83a7ayss4b.fsf@gnu.org> <7b896377-d546-b428-adba-797ec988c4fa@gmx.at> <83r24aqadz.fsf@gnu.org> <83ftkprfzx.fsf@gnu.org> <83y2ygp9hz.fsf@gnu.org> <83pnjsp50y.fsf@gnu.org> <83ef07otrc.fsf@gnu.org> <866a56c8-edb6-bd35-cd52-56611cf2a7e6@gmx.at> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 37415-done Cc: lekktu@gmail.com, 37415-done@debbugs.gnu.org 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 (---) > Cc: lekktu@gmail.com, 37415@debbugs.gnu.org > From: martin rudalics > Date: Tue, 24 Sep 2019 08:45:43 +0200 > > >> What bothers me more is that we base the Windows code on a concept > >> that it can neither understand nor control. > > > > Which concept is that? > > Size hints. In particular the 'user-position' frame parameter. Well, that has been working for far too long to be bothered now, I think. > > The 'else' block is redundant, because when the hint flags are set, > > w32_createwindow will disregard coords[]. But it does no harm, so if > > you are more comfortable with it, fine. > > Thanks but don't bother. Better leave a short note in a comment > explaining how this is supposed to behave. Done. > On a related note: Do you have any ideas what the window_prompting > argument of w32_window is or was for? It's unused, and was unused since the initial revision of that function. I think it's there just to keep the signature compatible with that of x_window (which itself only keeps that compatibility in toolkit versions). From unknown Mon Jun 23 14:57:45 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Tue, 22 Oct 2019 11:24:05 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator