From mboxrd@z Thu Jan 1 00:00:00 1970 Path: main.gmane.org!not-for-mail From: Kenichi Handa Newsgroups: gmane.emacs.devel Subject: Re: with-output-to-temp-buffer [Re: reverting CJK input methods] Date: Thu, 6 May 2004 22:10:08 +0900 (JST) Sender: emacs-devel-bounces+emacs-devel=quimby.gnus.org@gnu.org Message-ID: <200405061310.WAA22378@etlken.m17n.org> References: <20040429.150303.42778779.wl@gnu.org> <200404300142.KAA01027@etlken.m17n.org> <87u0z1puxa.fsf@mail.jurta.org> <200404301326.WAA02744@etlken.m17n.org> <8765bga5tt.fsf@mail.jurta.org> <200405020157.KAA07108@etlken.m17n.org> <200405060505.OAA21188@etlken.m17n.org> NNTP-Posting-Host: deer.gmane.org Mime-Version: 1.0 (generated by SEMI 1.14.3 - "Ushinoya") Content-Type: text/plain; charset=US-ASCII X-Trace: sea.gmane.org 1083850378 5373 80.91.224.253 (6 May 2004 13:32:58 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Thu, 6 May 2004 13:32:58 +0000 (UTC) Cc: juri@jurta.org, emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+emacs-devel=quimby.gnus.org@gnu.org Thu May 06 15:32:39 2004 Return-path: Original-Received: from quimby.gnus.org ([80.91.224.244]) by deer.gmane.org with esmtp (Exim 3.35 #1 (Debian)) id 1BLizP-0007US-00 for ; Thu, 06 May 2004 15:32:39 +0200 Original-Received: from monty-python.gnu.org ([199.232.76.173]) by quimby.gnus.org with esmtp (Exim 3.35 #1 (Debian)) id 1BLizO-0007ta-00 for ; Thu, 06 May 2004 15:32:38 +0200 Original-Received: from localhost ([127.0.0.1] helo=monty-python.gnu.org) by monty-python.gnu.org with esmtp (Exim 4.30) id 1BLinp-0003X8-OQ for emacs-devel@quimby.gnus.org; Thu, 06 May 2004 09:20:41 -0400 Original-Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.30) id 1BLinI-0003Wb-T5 for emacs-devel@gnu.org; Thu, 06 May 2004 09:20:08 -0400 Original-Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.30) id 1BLidg-00022a-R7 for emacs-devel@gnu.org; Thu, 06 May 2004 09:10:44 -0400 Original-Received: from [192.47.44.130] (helo=tsukuba.m17n.org) by monty-python.gnu.org with esmtp (Exim 4.30) id 1BLidg-00021d-2S; Thu, 06 May 2004 09:10:12 -0400 Original-Received: from fs.m17n.org (fs.m17n.org [192.47.44.2]) by tsukuba.m17n.org (8.11.6p2/8.11.6) with ESMTP id i46DAA800887; Thu, 6 May 2004 22:10:10 +0900 (JST) Original-Received: from etlken.m17n.org (etlken.m17n.org [192.47.44.125]) by fs.m17n.org (8.11.6p2/8.11.6) with ESMTP id i46DA9901269; Thu, 6 May 2004 22:10:09 +0900 (JST) Original-Received: (from handa@localhost) by etlken.m17n.org (8.8.8+Sun/3.7W-2001040620) id WAA22378; Thu, 6 May 2004 22:10:08 +0900 (JST) Original-To: rms@gnu.org In-reply-to: (message from Richard Stallman on Thu, 06 May 2004 07:48:57 -0400) User-Agent: SEMI/1.14.3 (Ushinoya) FLIM/1.14.2 (Yagi-Nishiguchi) APEL/10.2 Emacs/21.3 (sparc-sun-solaris2.6) MULE/5.0 (SAKAKI) X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.4 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+emacs-devel=quimby.gnus.org@gnu.org Xref: main.gmane.org gmane.emacs.devel:22851 X-Report-Spam: http://spam.gmane.org/gmane.emacs.devel:22851 In article , Richard Stallman writes: > fails because the function temp_output_buffer_setup calls > Ferase_buffer and it signals the error "Text is read-only". > Should we bind inhibit-read-only to t while calling > Ferase_buffer, > That is the right fix. > or modify Ferase_buffer itself so that it > doesn't signal the above error? > This would be incorrect. > As a general principle: don't make a general facility less natural or > harder to describe, in order to solve a problem that occurs with a > specific use of that facility. Instead, fix the specific use. > Only change the general facility if there's a reason to think > it would be better, as a general facility, with the change. I fully agree with that general principle. But, for the current case, I'm not sure it is the right thing that erase-buffer signals such an error considering that it removes even the narrowing restriction. I grepped Ferase_buffer in src/*.c and found that this also causes the similar problem. (put-text-property 1 10 'help-echo (propertize "test tip" 'read-only t)) Once we add read-only text as a tool-tip (of course it's nonsense to do such a thing), no more tooltip pops up because the " *tip" buffer can't be erased by Ferase_buffer. Another case is display-message-or-buffer. If we eval this once, (display-message-or-buffer (propertize "abc\n\n" 'read-only t)) the further try causes "Text is read-only" error. I fear there's many other codes that pay attention to buffer-read-only but not to read-only text-property. In almost all cases, I think what they want is to erase a buffer completely including read-only text. --- Ken'ichi HANDA handa@m17n.org