From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Richard Wordingham Newsgroups: gmane.emacs.help Subject: Manually parsing char-tables Date: Sun, 20 Feb 2022 11:09:26 +0000 Message-ID: <20220220110926.25c675be@JRWUBU2> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="2761"; mail-complaints-to="usenet@ciao.gmane.io" To: help-gnu-emacs@gnu.org Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane-mx.org@gnu.org Sun Feb 20 12:12:50 2022 Return-path: Envelope-to: geh-help-gnu-emacs@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 1nLk93-0000Y7-Ni for geh-help-gnu-emacs@m.gmane-mx.org; Sun, 20 Feb 2022 12:12:49 +0100 Original-Received: from localhost ([::1]:36088 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nLk92-0006gj-2l for geh-help-gnu-emacs@m.gmane-mx.org; Sun, 20 Feb 2022 06:12:48 -0500 Original-Received: from eggs.gnu.org ([209.51.188.92]:41328) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nLk5z-0006gY-Hp for help-gnu-emacs@gnu.org; Sun, 20 Feb 2022 06:09:39 -0500 Original-Received: from smtpq2.tb.ukmail.iss.as9143.net ([212.54.57.97]:56408) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nLk5x-0005bK-01 for help-gnu-emacs@gnu.org; Sun, 20 Feb 2022 06:09:39 -0500 Original-Received: from [212.54.57.106] (helo=csmtp2.tb.ukmail.iss.as9143.net) by smtpq2.tb.ukmail.iss.as9143.net with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nLk5s-0005wL-Dn for help-gnu-emacs@gnu.org; Sun, 20 Feb 2022 12:09:32 +0100 Original-Received: from JRWUBU2 ([82.27.122.109]) by cmsmtp with ESMTP id Lk5rnBmNSYDyuLk5snCXX7; Sun, 20 Feb 2022 12:09:32 +0100 X-SourceIP: 82.27.122.109 X-Spam: 0 X-Authority: v=2.4 cv=eu3Mc6lX c=1 sm=1 tr=0 ts=6212216c cx=a_exe a=lZfnwhydZ+7bl6OdZ0zTBw==:117 a=lZfnwhydZ+7bl6OdZ0zTBw==:17 a=kj9zAlcOel0A:10 a=oGFeUVbbRNcA:10 a=y7MbpQGNWyHe-W_nrTMA:9 a=CjuIK1q_8ugA:10 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ntlworld.com; s=meg.feb2017; t=1645355372; bh=fmy4WxXuRzoLxSCBOpQeuFCuxtp7SMOE3acqNoOaPtc=; h=Date:From:To:Subject; b=Xsq+inHOsjX/vEQoyv6eSKFO+jxAowPzOSTTrOcqIaaMa0msskyjlmGuTBjDn5J+F YCNdO5+6FHPDBeGhhSl0bzDHPnzNne/bByNQfcG0TZV5cDBEzjbaTAhq4X+HLIJgIn 7g/QsMOYKjS0RZfTOzjTNxrL8Dvva2zPUb4orjKgZXuXf8K81Gzk91rsHR2JfAxJ+D yQKJPiC/wCCWOKD8hlV3yEABb6Q8VyuqXUQ5iqoLdGBcYjeGVjrIN5AR9O+DInFr9v lTkR2NR8ISxxhWR9rmOBcw9shQCzxURyX7nftKZRaCxUUqperROcEvah4diyvzffhh nKxPsZpd2EE+A== X-Mailer: Claws Mail 3.17.5 (GTK+ 2.24.32; x86_64-pc-linux-gnu) X-CMAE-Envelope: MS4xfI3HBuwuW6Wb3HJLkm/JJ+9i6GtYeHptvxF/bOwKerCHsKIYA6FfjMK5H2AeD7LC5ql1J8WHYTYUxZErL6GgXNn2HMdLfIIDOPcnNVsSkvjtNgLoJi4R RdIMrKgzhxTmKyk5WPlPnLxry70hnhfpqTvULKCGadxYCi/kmjEuZwqBdV7uOAfzXDRQ280YQK7p1NG0IjzgqedRyndNptcVriI= Received-SPF: pass client-ip=212.54.57.97; envelope-from=richard.wordingham@ntlworld.com; helo=smtpq2.tb.ukmail.iss.as9143.net 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, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Users list for the GNU Emacs text editor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: "help-gnu-emacs" Xref: news.gmane.io gmane.emacs.help:136043 Archived-At: I am trying to understand how Arabic script rendering works in Emacs 28.0.90, as it seems to be using a different mechanism to that used for Indic or European scripts. (There seems to be more to it than just the asymmetries between right-to-left and left-to-right.) To that end, I am trying to understand the contents of the variable composition-function-table. When I use command describe-variable, the value shown starts out: #^[nil nil nil nil #^^[1 0 #^^[2 0 nil nil nil nil nil nil #^^[3 768 #1=(["\\c.\\c^+" 1 compose-gstring-for-graphic] [nil 0 compose-gstring-for-graphic]) #1# #1# #1# #1# #1# #1# #1# #1# #1# #1# #1# #1# #1# #1# #1# #1# #1# #1# #1# #1# #1# #1# #1# #1# #1# #1# #1# #1# #1# #1# #1# #1# #1# #1# #1# #1# #1# #1# #1# #1# #1# #1# #1# #1# #1# #1# #1# #1# #1# #1# #1# #1# #1# #1# #1# #1# #1# #1# #1# #1# #1# #1# #1# #1# #1# #1# #1# #1# #1# #1# #1# #1# #1# #1# #1# #1# #1# #1# #1# #1# #1# #1# #1# #1# #1# #1# #1# #1# #1# #1# #1# #1# #1# #1# #1# #1# #1# #1# #1# #1# #1# #1# #1# #1# #1# #1# #1# #1# #1# #1# #1# nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil] nil nil #^^[3 1152 nil nil nil #1# #1# #1# #1# #1# #1# #1# nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil] (I've converted lines to paragraphs and abbreviated leading white space.) I'm guessing that #1# is a macro invocation; when I invoke (print composition-function-table), I get something similar, but with #1# expanded and the '#1=' in the apparent macro definition omitted. Where is this syntax explained? I've looked in the elisp manual, but not found it, though I may simply have failed to guess where such a description was. Richard.