From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: "Drew Adams" Newsgroups: gmane.emacs.bugs,gmane.emacs.pretest.bugs Subject: bug#3568: 23.0.94; no doc for character composition Date: Sun, 14 Jun 2009 16:17:35 -0700 Message-ID: Reply-To: Drew Adams , 3568@emacsbugs.donarmstrong.com NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit X-Trace: ger.gmane.org 1245022664 7443 80.91.229.12 (14 Jun 2009 23:37:44 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sun, 14 Jun 2009 23:37:44 +0000 (UTC) To: Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Mon Jun 15 01:37:41 2009 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.50) id 1MFzGe-0005pr-AO for geb-bug-gnu-emacs@m.gmane.org; Mon, 15 Jun 2009 01:37:40 +0200 Original-Received: from localhost ([127.0.0.1]:40444 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1MFzGd-0006ME-Qc for geb-bug-gnu-emacs@m.gmane.org; Sun, 14 Jun 2009 19:37:39 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1MFzGS-0006Gb-95 for bug-gnu-emacs@gnu.org; Sun, 14 Jun 2009 19:37:28 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1MFzGM-0006G6-SZ for bug-gnu-emacs@gnu.org; Sun, 14 Jun 2009 19:37:27 -0400 Original-Received: from [199.232.76.173] (port=48931 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1MFzGM-0006G2-QM for bug-gnu-emacs@gnu.org; Sun, 14 Jun 2009 19:37:22 -0400 Original-Received: from rzlab.ucr.edu ([138.23.92.77]:37532) by monty-python.gnu.org with esmtps (TLS-1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1MFzGM-00005T-7M for bug-gnu-emacs@gnu.org; Sun, 14 Jun 2009 19:37:22 -0400 Original-Received: from rzlab.ucr.edu (rzlab.ucr.edu [127.0.0.1]) by rzlab.ucr.edu (8.14.3/8.14.3/Debian-5) with ESMTP id n5ENbK7Z004215; Sun, 14 Jun 2009 16:37:20 -0700 Original-Received: (from debbugs@localhost) by rzlab.ucr.edu (8.14.3/8.14.3/Submit) id n5ENP5Kt002321; Sun, 14 Jun 2009 16:25:05 -0700 X-Loop: owner@emacsbugs.donarmstrong.com Resent-From: "Drew Adams" Resent-To: bug-submit-list@donarmstrong.com Resent-CC: Emacs Bugs Resent-Date: Sun, 14 Jun 2009 23:25:04 +0000 Resent-Message-ID: Resent-Sender: owner@emacsbugs.donarmstrong.com X-Emacs-PR-Message: report 3568 X-Emacs-PR-Package: emacs X-Emacs-PR-Keywords: Original-Received: via spool by submit@emacsbugs.donarmstrong.com id=B.12450214691497 (code B ref -1); Sun, 14 Jun 2009 23:25:04 +0000 Original-Received: (at submit) by emacsbugs.donarmstrong.com; 14 Jun 2009 23:17:49 +0000 X-Spam-Bayes: score:0.5 Bayes not run. spammytokens:Tokens not available. hammytokens:Tokens not available. Original-Received: from fencepost.gnu.org (fencepost.gnu.org [140.186.70.10]) by rzlab.ucr.edu (8.14.3/8.14.3/Debian-5) with ESMTP id n5ENHiw3001492 for ; Sun, 14 Jun 2009 16:17:46 -0700 Original-Received: from mx10.gnu.org ([199.232.76.166]:37381) by fencepost.gnu.org with esmtp (Exim 4.67) (envelope-from ) id 1MFyxM-0001Ox-1E for emacs-pretest-bug@gnu.org; Sun, 14 Jun 2009 19:17:44 -0400 Original-Received: from Debian-exim by monty-python.gnu.org with spam-scanned (Exim 4.60) (envelope-from ) id 1MFyxK-000434-0W for emacs-pretest-bug@gnu.org; Sun, 14 Jun 2009 19:17:43 -0400 Original-Received: from rcsinet12.oracle.com ([148.87.113.124]:45451 helo=rgminet12.oracle.com) by monty-python.gnu.org with esmtps (TLS-1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1MFyxI-00041u-VM for emacs-pretest-bug@gnu.org; Sun, 14 Jun 2009 19:17:41 -0400 Original-Received: from acsinet15.oracle.com (acsinet15.oracle.com [141.146.126.227]) by rgminet12.oracle.com (Switch-3.3.1/Switch-3.3.1) with ESMTP id n5ENHKkP026344 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for ; Sun, 14 Jun 2009 23:17:22 GMT Original-Received: from abhmt009.oracle.com (abhmt009.oracle.com [141.146.116.18]) by acsinet15.oracle.com (Switch-3.3.1/Switch-3.3.1) with ESMTP id n5ENInZJ006298 for ; Sun, 14 Jun 2009 23:18:49 GMT Original-Received: from dradamslap1 (/141.144.160.38) by default (Oracle Beehive Gateway v4.0) with ESMTP ; Sun, 14 Jun 2009 16:17:33 -0700 X-Mailer: Microsoft Office Outlook 11 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.5579 Thread-Index: AcntRk0F/YvRcAyQTz+MYu49LHPLig== X-Source-IP: abhmt009.oracle.com [141.146.116.18] X-Auth-Type: Internal IP X-CT-RefId: str=0001.0A01020A.4A35850E.001A:SCFSTAT5015188,ss=1,fgs=0 X-detected-operating-system: by monty-python.gnu.org: GNU/Linux 2.6 (newer, 1) X-detected-operating-system: by monty-python.gnu.org: GNU/Linux 2.6 (newer, 2) Resent-Date: Sun, 14 Jun 2009 19:37:27 -0400 X-BeenThere: bug-gnu-emacs@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:28708 gmane.emacs.pretest.bugs:24631 Archived-At: I can find no doc at all regarding character composition, beyond the cursory explanation given in the Emacs manual, node Input Methods. In particular, there is nothing in the Elisp manual about it. No documentation of functions such as `compose-region' and `compose-chars'. And there is no usage commentary in `composite.el'. How does one compose characters using Emacs Lisp? If characters have been composed, how do you decompose them? Are there any caveats to be aware of? Users will have such questions. For example, this snippet is commonly used here and there to display the word `lambda' as the Greek character: (font-lock-add-keywords mode `(("\\" (0 (progn (compose-region (match-beginning 0) (match-end 0) ,(make-char 'greek-iso8859-7 107)) nil))))) But removing that keyword entry from font-lock-keywords, unfontifying, then refontifying is not sufficient to display `lambda' as a word again. What needs to be done, to restore the normal display of the word `lambda'? This kind of information is missing. Perusing `composite.el', I see that this will do the job: (font-lock-remove-keywords nil `(("\\" (0 (progn (compose-region (match-beginning 0) (match-end 0) ,(make-char 'greek-iso8859-7 107)) nil))))) (save-excursion (goto-char (point-min)) (while (re-search-forward "\\" nil t) (decompose-region (match-beginning 0) (match-end 0)))) But it would be helpful to have a little doc in the Elisp manual explaining how to use character composition. This feature deserves some doc. Compare, for example, the doc for font-locking with that for character composition. Even if these features are not of the same scale, you can see a qualitative difference in the doc support. Look at the commentary in file font-lock.el - a section explaining clearly "How Font Lock mode fontifies", and another section explaining "What is fontification for?". Plenty of Info doc, in both the Emacs and Elisp manuals. Character composition should be better documented. I can understand if the author is not comfortable providing lots of English doc, but someone who understands character composition should do so. Think in terms of how Emacs users and Emacs-Lisp users might make use of this feature, then write that up for those of us who are ignorant. Thanks. In GNU Emacs 23.0.94.1 (i386-mingw-nt5.1.2600) of 2009-05-24 on SOFT-MJASON Windowing system distributor `Microsoft Corp.', version 5.1.2600 configured using `configure --with-gcc (3.4)'