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: Potential redisplay problem [Re: Recursive load of mule-util.elc] Date: Wed, 13 Nov 2002 16:36:21 +0900 (JST) Sender: emacs-devel-admin@gnu.org Message-ID: <200211130736.QAA17949@etlken.m17n.org> References: <20021105114339.0CED.LEKTU@terra.es> <200211060107.KAA26465@etlken.m17n.org> <20021106131931.66A2.LEKTU@terra.es> <200211061302.WAA07800@etlken.m17n.org> <200211070146.KAA08672@etlken.m17n.org> NNTP-Posting-Host: main.gmane.org Mime-Version: 1.0 (generated by SEMI 1.14.3 - "Ushinoya") Content-Type: text/plain; charset=US-ASCII X-Trace: main.gmane.org 1037200775 18474 80.91.224.249 (13 Nov 2002 15:19:35 GMT) X-Complaints-To: usenet@main.gmane.org NNTP-Posting-Date: Wed, 13 Nov 2002 15:19:35 +0000 (UTC) Cc: emacs-devel@gnu.org, lektu@terra.es Return-path: Original-Received: from quimby.gnus.org ([80.91.224.244]) by main.gmane.org with esmtp (Exim 3.35 #1 (Debian)) id 18BzCA-00043h-00 for ; Wed, 13 Nov 2002 16:12:46 +0100 Original-Received: from monty-python.gnu.org ([199.232.76.173]) by quimby.gnus.org with esmtp (Exim 3.12 #1 (Debian)) id 18BzO7-00066k-00 for ; Wed, 13 Nov 2002 16:25:07 +0100 Original-Received: from localhost ([127.0.0.1] helo=monty-python.gnu.org) by monty-python.gnu.org with esmtp (Exim 4.10) id 18Bw3f-0001Lx-00; Wed, 13 Nov 2002 06:51:47 -0500 Original-Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.10) id 18Bs4d-0007pu-00 for emacs-devel@gnu.org; Wed, 13 Nov 2002 02:36:31 -0500 Original-Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.10) id 18Bs4Z-0007ll-00 for emacs-devel@gnu.org; Wed, 13 Nov 2002 02:36:30 -0500 Original-Received: from tsukuba.m17n.org ([192.47.44.130]) by monty-python.gnu.org with esmtp (Exim 4.10) id 18Bs4Y-0007eF-00; Wed, 13 Nov 2002 02:36:26 -0500 Original-Received: from fs.m17n.org (fs.m17n.org [192.47.44.2]) by tsukuba.m17n.org (8.11.6/3.7W-20010518204228) with ESMTP id gAD7aLk25359; Wed, 13 Nov 2002 16:36:21 +0900 (JST) (envelope-from handa@m17n.org) Original-Received: from etlken.m17n.org (etlken.m17n.org [192.47.44.125]) by fs.m17n.org (8.11.3/3.7W-20010823150639) with ESMTP id gAD7aLR16082; Wed, 13 Nov 2002 16:36:21 +0900 (JST) Original-Received: (from handa@localhost) by etlken.m17n.org (8.8.8+Sun/3.7W-2001040620) id QAA17949; Wed, 13 Nov 2002 16:36:21 +0900 (JST) Original-To: rms@gnu.org In-reply-to: (message from Richard Stallman on Fri, 08 Nov 2002 07:07:38 -0500) User-Agent: SEMI/1.14.3 (Ushinoya) FLIM/1.14.2 (Yagi-Nishiguchi) APEL/10.2 Emacs/21.2.92 (sparc-sun-solaris2.6) MULE/5.0 (SAKAKI) Errors-To: emacs-devel-admin@gnu.org X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.0.11 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Emacs development discussions. List-Unsubscribe: , List-Archive: Xref: main.gmane.org gmane.emacs.devel:9321 X-Report-Spam: http://spam.gmane.org/gmane.emacs.devel:9321 In article , Richard Stallman writes: > At first, tool-bar is being autoloaded. Then, Fload is > called, and it calls message_with_string () to show "Loading > XXX.." before starting to load a file. This leads to > calling display_mode_element in this sequence. > message_with_string -> message3 -> message3_nolog > -> echo_area_display -> redisplay_mode_lines -> > -> display_mode_lines -> display_mode_element > In display_mode_element, `(mode-line-eol-desc)' is evaled, > You need to make it safe to call mode-line-eol-desc. It > should never try to autoload anything. Then, how about this kind of change in the docstring of mode-line-format? *** buffer.c.~1.403.~ Fri Nov 8 08:42:22 2002 --- buffer.c Wed Nov 13 16:26:46 2002 *************** *** 5260,5266 **** A string appearing directly as the value of a symbol is processed verbatim in that the %-constructs below are not recognized. For a list of the form `(:eval FORM)', FORM is evaluated and the result ! is used as a mode line element. For a list whose car is a symbol, the symbol's value is taken, and if that is non-nil, the cadr of the list is processed recursively. Otherwise, the caddr of the list (if there is one) is processed. --- 5260,5267 ---- A string appearing directly as the value of a symbol is processed verbatim in that the %-constructs below are not recognized. For a list of the form `(:eval FORM)', FORM is evaluated and the result ! is used as a mode line element. FORM should not leads to loading of ! Emacs Lisp file even if it is by autoloading. For a list whose car is a symbol, the symbol's value is taken, and if that is non-nil, the cadr of the list is processed recursively. Otherwise, the caddr of the list (if there is one) is processed. By the way, is autloading the only way to cause of the above recursive call? > When you moved coding-system-eol-type-mnemonic to mule.el, > autoloading of mule-util in display_mode_element is avoided, > thus the problem is fixed. > Yes, exactly. > However, this means that the current Emacs has a potential > problem. Anything being autoloaded in display_mode_element > cause the same error. > We could put in code that gets an error if anything autoloaded > is called from within display_mode_element. If that is possible, why don't just add a code to suppress the call of message_with_string when something is being autoloaded? --- Ken'ichi HANDA handa@m17n.org