From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: =?utf-8?Q?Gerd_M=C3=B6llmann?= Newsgroups: gmane.emacs.devel Subject: Re: "Final" version of tty child frames Date: Tue, 22 Oct 2024 12:23:04 +0200 Message-ID: References: <86ttd4ftvs.fsf@gnu.org> <86plnsfp7j.fsf@gnu.org> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="500"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Cc: emacs-devel@gnu.org To: Eli Zaretskii Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Tue Oct 22 12:23:45 2024 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1t3C3F-000AWP-2o for ged-emacs-devel@m.gmane-mx.org; Tue, 22 Oct 2024 12:23:45 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1t3C2i-0006ru-GF; Tue, 22 Oct 2024 06:23:12 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1t3C2g-0006rV-3h for emacs-devel@gnu.org; Tue, 22 Oct 2024 06:23:10 -0400 Original-Received: from mail-wm1-x335.google.com ([2a00:1450:4864:20::335]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1t3C2e-0005hk-J0; Tue, 22 Oct 2024 06:23:09 -0400 Original-Received: by mail-wm1-x335.google.com with SMTP id 5b1f17b1804b1-4315e62afe0so53009605e9.1; Tue, 22 Oct 2024 03:23:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1729592585; x=1730197385; darn=gnu.org; h=content-transfer-encoding:mime-version:user-agent:message-id:date :references:in-reply-to:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=HSDWxGvLvY4B5fDcrrkzR1fp3nqszugRM7rbW7/SyFw=; b=PQAFS4Pe7kH0POj9cmM+soBCdbWxJoO5lxDWGvVvsxDgBTiuL1thG5dRwQ1wzWTgAt V0Wfilm9OIxTWN0bpZtLo03R60RWnc/qZ+N4ScEFCh4ubTYzI67ridcfVsd7VcREl5wl nerJY57HY5oN/azvreIFesFWCPSgf4gHng2c24SX70MSkyog5Usuhs1WuEI0tsWRlsMS 0A6ajZkYrQGxTJTRwcLMM+zx+Fvn5giU0HscozugjXM5vB01x4R4nDgrtdISOIlJT4NY r1nINFsLsgMkvPhV2OMmpz933cc7V0Rw2jVhNCnA20WcKmmmaeOumIyUEZrOxKjD15z1 jcRg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1729592585; x=1730197385; h=content-transfer-encoding:mime-version:user-agent:message-id:date :references:in-reply-to:subject:cc:to:from:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=HSDWxGvLvY4B5fDcrrkzR1fp3nqszugRM7rbW7/SyFw=; b=qr+32Dq/aoFSDqRperUprZ7VvMm6AkQRtdMwU79B7xc8gM0xDV8WJdWCghDD2edmsx rQ+A+g2+qXlUXh4KNuAmiuFZ4JlMgl8sk/7iRnRot/slnSbiWdA0C1HPZFbfcnSn/AHt Q1YnhLqfEonCw2suHVJidVCHcRF2R+S+YC2A/twXPT6ybebUwDFiCo4SvG3+NnI8qKpE ewVazNId37s0vyps+A2BWQrUTvIhs4rkjB5wBnD2KR+vtZs+QyitCpGfDjI77tEFp0k3 vDUn0Qfu2qTUduAvmF79BrArMzPNnERxb1uHvFf2duxD50EjKqOdRtTI36s/ma3ghUrm pb8w== X-Gm-Message-State: AOJu0YwD35poO38pUWivsyKhj9KRRLss0x7mJbqyv7FqMA/g4QigbT3q tdEsoz//YSe90+c7WA0X/X+HvHIzL8Ys1BBs9wgtFSN3Oe6/cIF5/Ju2mcJX X-Google-Smtp-Source: AGHT+IEaUjhCUFb+ZCHXz0yIKhyqnkN7zoJWmUdWydPVpTX3WnmaBVoEouuqiidUxB6gTrpA+UAB9A== X-Received: by 2002:a05:600c:3b08:b0:431:44f6:566f with SMTP id 5b1f17b1804b1-4316164e03amr115629095e9.13.1729592585255; Tue, 22 Oct 2024 03:23:05 -0700 (PDT) Original-Received: from pro2 (p4fe3ac5a.dip0.t-ipconnect.de. [79.227.172.90]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4316f5cc501sm83675285e9.43.2024.10.22.03.23.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 22 Oct 2024 03:23:04 -0700 (PDT) In-Reply-To: <86plnsfp7j.fsf@gnu.org> (Eli Zaretskii's message of "Tue, 22 Oct 2024 12:42:56 +0300") Received-SPF: pass client-ip=2a00:1450:4864:20::335; envelope-from=gerd.moellmann@gmail.com; helo=mail-wm1-x335.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.devel:324728 Archived-At: Eli Zaretskii writes: >> From: Gerd M=C3=B6llmann >> Cc: emacs-devel@gnu.org >> Date: Tue, 22 Oct 2024 10:21:43 +0200 >>=20 >> Thanks for taking a look. > > Can you explain this comment and the code change: > > + /* Struct frame can move with igc, and so on. But we need > + something that takes different frames into account. Use the > + face_cache pointer for that which is malloc'd. */ > + if (glyph->frame && glyph->frame !=3D f) > + face_id +=3D (ptrdiff_t) glyph->frame->face_cache; > > Why do we need to take the frame into account here? Is this relevant > to the current GC used on master? I can try. A combined frame matrix's glyph contents may come from different frames, either the root frame one of its descendants (children, grandchildren and so on). See copy_child_glyphs. glyph->frame is th eframe from where the glyph stems. It is filled out when producing glyphs. Face ids are valid only in frame's face cache. A Face with a given id in one frame may be different from the same id another frame. So that's why I'm taking the face cache into account here. Otherwise it could happen that row hashes are the same although the contents are different. Not a big deal, but one can avoid it, so I did.