From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED.blaine.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.bugs Subject: bug#32599: 25.2; Feature request: input PUA characters by name Date: Sun, 26 May 2019 21:52:35 +0300 Message-ID: <837ead2glo.fsf@gnu.org> References: <86sh30fg4q.fsf@mimuw.edu.pl> <868t4n3wbt.fsf@mimuw.edu.pl> <877ek72c7b.fsf@gmail.com> <868t4m3nrs.fsf@mimuw.edu.pl> <8736uu3eb3.fsf@gmail.com> <86r2iey9vk.fsf@mimuw.edu.pl> <867ead8wmd.fsf@mimuw.edu.pl> <83lfyt2s25.fsf@gnu.org> <86pno56y82.fsf@mimuw.edu.pl> <83a7f92lzr.fsf@gnu.org> <86woidyvbz.fsf@mimuw.edu.pl> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Injection-Info: blaine.gmane.org; posting-host="blaine.gmane.org:195.159.176.226"; logging-data="35653"; mail-complaints-to="usenet@blaine.gmane.org" Cc: 32599@debbugs.gnu.org To: jsbien@mimuw.edu.pl Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Sun May 26 20:53:19 2019 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([209.51.188.17]) by blaine.gmane.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1hUyGk-00099N-I0 for geb-bug-gnu-emacs@m.gmane.org; Sun, 26 May 2019 20:53:18 +0200 Original-Received: from localhost ([127.0.0.1]:60161 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hUyGj-0004bF-CB for geb-bug-gnu-emacs@m.gmane.org; Sun, 26 May 2019 14:53:17 -0400 Original-Received: from eggs.gnu.org ([209.51.188.92]:38726) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hUyGX-0004af-Ku for bug-gnu-emacs@gnu.org; Sun, 26 May 2019 14:53:08 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hUyGU-0002oU-Iv for bug-gnu-emacs@gnu.org; Sun, 26 May 2019 14:53:05 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]:38211) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1hUyGU-0002oO-GW for bug-gnu-emacs@gnu.org; Sun, 26 May 2019 14:53:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1hUyGU-0008Cc-D7 for bug-gnu-emacs@gnu.org; Sun, 26 May 2019 14:53:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sun, 26 May 2019 18:53:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 32599 X-GNU-PR-Package: emacs Original-Received: via spool by 32599-submit@debbugs.gnu.org id=B32599.155889676231498 (code B ref 32599); Sun, 26 May 2019 18:53:02 +0000 Original-Received: (at 32599) by debbugs.gnu.org; 26 May 2019 18:52:42 +0000 Original-Received: from localhost ([127.0.0.1]:51755 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hUyG9-0008By-Uy for submit@debbugs.gnu.org; Sun, 26 May 2019 14:52:42 -0400 Original-Received: from eggs.gnu.org ([209.51.188.92]:52513) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hUyG7-0008Bh-JW for 32599@debbugs.gnu.org; Sun, 26 May 2019 14:52:40 -0400 Original-Received: from fencepost.gnu.org ([2001:470:142:3::e]:49070) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hUyG1-0002Zg-RL; Sun, 26 May 2019 14:52:33 -0400 Original-Received: from [176.228.60.248] (port=3593 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1hUyG1-0006F0-1x; Sun, 26 May 2019 14:52:33 -0400 In-reply-to: <86woidyvbz.fsf@mimuw.edu.pl> (jsbien@mimuw.edu.pl) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 209.51.188.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.org gmane.emacs.bugs:159796 Archived-At: > From: jsbien@mimuw.edu.pl (Janusz S. Bień) > Cc: 32599@debbugs.gnu.org > Date: Sun, 26 May 2019 19:33:20 +0200 > > > The problems I alluded to start from the fact that we exclude the PUA > > codepoints from the character property database. > > I understand this but I expected, perhaps incorrectly, that the code for > it is rather simple. Simple: yes. But it is also tedious, as there are many characters. See characters.el. With PUA codepoints there's one more complication: their attributes are not standardized, so there should be a way of defining that dynamically, not as characters.el does for all the other characters whose attributes are static. > > This means you cannot change their case and access > > their syntax category, for example. Functions that select a suitable > > font also ignore PUA codepoints, IIRC. > > So the problem is that the relevant code occurs in several places. No. Case-fiddling depends on data set up by characters.el, so once that data is set, all the rest should "just work". And similarly for other attributes. > > Etc. etc. -- Someone™ should > > go over all the places where we specify character properties and use > > them, and make sure PUA codepoints aren't disregarded. > > I understand one has to look for the occurences of a function or > constant. Definitely there are tools to make this easy/easier (many > years ago I was experimenting with tags file), now I would expect them > to be quite sophisticated. I'm not sure such tools will help here. I think a thorough audit of the related data and code is needed. > How would you approach this problem? I have no idea, sorry. I mentioned some of the issues in the hope that will help interested individuals to find the relevant places easier. How to modify the code and data in order to allow use of PUA codepoints, and on top of that to have the properties of each PUA codepoint determined from external data which isn't known in advance, is part of the design problem the person who'd like working on this will have to solve. Personally, I'm surprised people use PUA for these purposes, and even more surprised they expect Emacs to support this. But that's me.