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: MPS: scroll-bars Date: Sat, 04 May 2024 09:09:00 +0200 Message-ID: References: <875xvvp3fo.fsf@gmail.com> <87r0eicht1.fsf_-_@gmail.com> <87plu29lcc.fsf@yahoo.com> <87fruyccs8.fsf@gmail.com> 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="35370"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Cc: Po Lu , Eli Zaretskii , Emacs Devel To: Helmut Eller Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Sat May 04 09:09:40 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 1s39Wd-00092a-Sx for ged-emacs-devel@m.gmane-mx.org; Sat, 04 May 2024 09:09:40 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1s39W8-0008II-6w; Sat, 04 May 2024 03:09:08 -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 1s39W5-0008I1-Oc for emacs-devel@gnu.org; Sat, 04 May 2024 03:09:05 -0400 Original-Received: from mail-ej1-x633.google.com ([2a00:1450:4864:20::633]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1s39W4-0001tI-5o; Sat, 04 May 2024 03:09:05 -0400 Original-Received: by mail-ej1-x633.google.com with SMTP id a640c23a62f3a-a59a387fbc9so63362266b.1; Sat, 04 May 2024 00:09:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1714806542; x=1715411342; 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=XE1tOA7CGV+RmQzq4YJOITf11TnjwkvUKm1UVoH7KiE=; b=SRoJMAmEX9ddvH3XpZNBm2pLixOByF58aa1G/M44O+l3L+Fv9p5lkpFzuwx2C8pcAd 44Dex/y9TUW8TgSF+tph4yQDI7YdQyI2CJmgTA21x51L/KvkAJNTLd1RFfSSQqfGHuK9 wq7VExWFb2WggsbL5POhb261RudZxDxtbAP9Kmn/Jm+M29S0PQzjMOKyxzWvF4UBHrh8 C4oRm7OuSLkLlg2D6H5Y391dQ2bTydxe1u2fNdSkV0WRE844qrUV6Hspyf8nh28S3ZUp lWljmC7lA52O/btZPYNoqpFY+vWWub0tGXgxpumE3swmnBp0hDaagXxVDTAhqkuM8Q8T xnIA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1714806542; x=1715411342; 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=XE1tOA7CGV+RmQzq4YJOITf11TnjwkvUKm1UVoH7KiE=; b=lkU/Lk+imjCH7W/s/xggyia3GUYzLiKkn6LV97gKOBy3xRZWgXcj4VR8juN4nKCIkt HjUblDBJI3G14entx90LwnMs63Fs54MmvgLbv6ECDTfaqroSWp6FLxMuMKl85OPA3ajB +oi2mumvAhixXzdQWl4rKfU4V97gTUnFxTugbBvzoxjqVl86XuuDwe/Nm8UFSg6Jtt+P 9ncBAKrYZhLz9whGw+oE+LHzYBg+Rw5wazqVwia23zpyR0FOJbf2ONxIc+JAfERvwvHQ MSkpzkSyBVHBScWftYQRaI1IcEwYtv+vSPF5DBce8SjZO461F1bp5RV38r3SYnGJUXZN e6VQ== X-Forwarded-Encrypted: i=1; AJvYcCUQ5sAYGnl/9KFgilbqyKsnZeIpPalTrdFuj7+R+cHLVL/jP2tMaDkFyqWI95yuc/kYrwQKegd19N1++JBOhhhdmteludoGiBFo8QsfmInr1Oc= X-Gm-Message-State: AOJu0YyXP45OaXMmDLhLN96wo9EN3j4L1zEr8/LlZIuK8j77chUJ9h35 toSpddivZ3KEnxcpIoz+l0EerB5Ww6KtcUFbHE6Dpx2sUqxHUZzxGBWorA== X-Google-Smtp-Source: AGHT+IHd4wr9mtMQgBmMLfELagP2kD5ZUDEeVPJcaWKxnuv0ifrd4CtjARdzDm7FTdmyTH/6uT2f2Q== X-Received: by 2002:a17:906:40ca:b0:a59:6ea2:aa85 with SMTP id a10-20020a17090640ca00b00a596ea2aa85mr3023303ejk.52.1714806541850; Sat, 04 May 2024 00:09:01 -0700 (PDT) Original-Received: from pro2.fritz.box (pd9e36fc9.dip0.t-ipconnect.de. [217.227.111.201]) by smtp.gmail.com with ESMTPSA id s15-20020a170906168f00b00a5994046f36sm1514386ejd.51.2024.05.04.00.09.01 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 04 May 2024 00:09:01 -0700 (PDT) In-Reply-To: ("Gerd =?utf-8?Q?M=C3=B6llman?= =?utf-8?Q?n=22's?= message of "Sat, 04 May 2024 08:45:51 +0200") Received-SPF: pass client-ip=2a00:1450:4864:20::633; envelope-from=gerd.moellmann@gmail.com; helo=mail-ej1-x633.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:318715 Archived-At: Gerd M=C3=B6llmann writes: > Helmut Eller writes: > >> Could we perhaps use the mark-and-sweep pool for the widget-like >> objects, like scroll_bar and window? That would perhaps be easier, >> because then widgets wouldn't move and tracing would be very similar to >> what the old GC does. And the widgets are hardly performance critical. > > We could try, certainly. They say > > AMS is not currently suitable for production use. However, it could be > developed into a solid mark-and-sweep pool. If you have a use case > that needs this, contact us. > > so we are a bit on our own, I guess. > > Would we then alloc struct scroll_bar in AMS? Or is it something else? > > (BTW, this one got me today. I couldn't find a PVEC_SCROLL_BAR and then > this: > > #define XSCROLL_BAR(vec) ((struct scroll_bar *) XVECTOR (vec)) > > Nice, nice :-) So, maybe this is also interesting on other platforms, who knows... struct window has members for scroll bars, e.g. Lisp_Object vertical_scroll_bar; These Lisp_Objects are either fixnums or Lisp_Misc_Ptrs (see function xmint_ptr in lisp.h). This is a C pointer, and points, on NS, to an EmacsScroller, which is derived from some GUI widget class. EmacsScroller then has references to window and frame.