From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.devel Subject: Re: How to walk a Lisp_String? Date: Thu, 01 Sep 2022 18:49:14 +0300 Message-ID: <83mtbjqemd.fsf@gnu.org> References: <87a67jw1kw.fsf@elite.giraud> <83o7vzqey8.fsf@gnu.org> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="2056"; mail-complaints-to="usenet@ciao.gmane.io" Cc: emacs-devel@gnu.org To: manuel@ledu-giraud.fr Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Thu Sep 01 17:49:51 2022 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 1oTmRz-0000MC-58 for ged-emacs-devel@m.gmane-mx.org; Thu, 01 Sep 2022 17:49:51 +0200 Original-Received: from localhost ([::1]:45712 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oTmRx-0002sR-Lz for ged-emacs-devel@m.gmane-mx.org; Thu, 01 Sep 2022 11:49:49 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:33756) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oTmQx-00028T-5Z for emacs-devel@gnu.org; Thu, 01 Sep 2022 11:48:48 -0400 Original-Received: from fencepost.gnu.org ([2001:470:142:3::e]:51250) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oTmQw-000455-QP; Thu, 01 Sep 2022 11:48:46 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-version:References:Subject:In-Reply-To:To:From: Date; bh=5ylGGQKT89jrXPSDZFu7X5W1PKLqhhsjGSQ2qpcaELk=; b=AAZK+uQCrewNNWXgd+7t yVj5MoycTgDrGhBB/d0VwrBOOEe90+IHgUt71jIzuE2XgnGX0ap/ZogauPiPh31rqkh2zz7b9QrPr 0uE8q88aVwvCO3CoCTNesZQyN7aJZUdmDb7Fb5UYas0uG7Z/ib5mpdOR6VYObwL3az4yu6qplJBWO xHlD2n6oEeZpSJq9CcnF/R0OIY3hcQU3+csYtI16E9ntj9WeLqEWyNnsH0kwihTRcIt795AuwWwd4 gUk4GEQARnPk/1nQG08hev1MF78NfhMprTIQJg+GkjdM+p4qPthLueYz9uaTeW18wR/A4c7IFe+YG IUQ3Fqpfr15z9w==; Original-Received: from [87.69.77.57] (port=4231 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oTmQw-0001z4-8M; Thu, 01 Sep 2022 11:48:46 -0400 In-Reply-To: <83o7vzqey8.fsf@gnu.org> (message from Eli Zaretskii on Thu, 01 Sep 2022 18:42:07 +0300) 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" Xref: news.gmane.io gmane.emacs.devel:294491 Archived-At: > Date: Thu, 01 Sep 2022 18:42:07 +0300 > From: Eli Zaretskii > Cc: emacs-devel@gnu.org > > > I'm at a point where I'd like to walk a struct Lisp_String one > > «character» at a time. Of course, I should be able to handle multi-byte > > Lisp_String. How could I do that? > > Use fetch_string_char_advance. Btw, my suggestion would be to describe your preliminary design ideas here before you decide how to implement them. E.g., it is not clear to me why you'd need to walk strings character by character in order to use the face machinery. I'm probably missing something.