From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.bugs Subject: bug#15260: cannot build in a directory with non-ascii characters Date: Thu, 31 Oct 2013 19:16:26 +0200 Message-ID: <83wqktcqdx.fsf@gnu.org> References: <83y55ih6g3.fsf@gnu.org> <81ppqums9o.fsf@fencepost.gnu.org> <83hac5h1ha.fsf@gnu.org> <83bo2dgq36.fsf@gnu.org> <837gd1gpcz.fsf@gnu.org> <8361slgnhk.fsf@gnu.org> <83zjpwfp3l.fsf@gnu.org> <83mwlug0cd.fsf@gnu.org> <83bo2af4hh.fsf@gnu.org> <8361shfil7.fsf@gnu.org> <834n81fdp8.fsf@gnu.org> <83zjpseo1g.fsf@gnu.org> <838uxaei43.fsf@gnu.org> Reply-To: Eli Zaretskii NNTP-Posting-Host: plane.gmane.org X-Trace: ger.gmane.org 1383239835 25551 80.91.229.3 (31 Oct 2013 17:17:15 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Thu, 31 Oct 2013 17:17:15 +0000 (UTC) Cc: 15260@debbugs.gnu.org To: Stefan Monnier Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Thu Oct 31 18:17:17 2013 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1Vbvrx-0006M0-1r for geb-bug-gnu-emacs@m.gmane.org; Thu, 31 Oct 2013 18:17:17 +0100 Original-Received: from localhost ([::1]:58509 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Vbvrw-0000Ie-4V for geb-bug-gnu-emacs@m.gmane.org; Thu, 31 Oct 2013 13:17:16 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:40078) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Vbvro-0000IL-1N for bug-gnu-emacs@gnu.org; Thu, 31 Oct 2013 13:17:13 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Vbvri-0000rc-TU for bug-gnu-emacs@gnu.org; Thu, 31 Oct 2013 13:17:07 -0400 Original-Received: from debbugs.gnu.org ([140.186.70.43]:41199) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Vbvri-0000rY-RR for bug-gnu-emacs@gnu.org; Thu, 31 Oct 2013 13:17:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.80) (envelope-from ) id 1Vbvri-0005te-Ak for bug-gnu-emacs@gnu.org; Thu, 31 Oct 2013 13:17: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: Thu, 31 Oct 2013 17:17:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 15260 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 15260-submit@debbugs.gnu.org id=B15260.138323981822652 (code B ref 15260); Thu, 31 Oct 2013 17:17:02 +0000 Original-Received: (at 15260) by debbugs.gnu.org; 31 Oct 2013 17:16:58 +0000 Original-Received: from localhost ([127.0.0.1]:55218 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Vbvre-0005tI-0x for submit@debbugs.gnu.org; Thu, 31 Oct 2013 13:16:58 -0400 Original-Received: from mtaout22.012.net.il ([80.179.55.172]:35789) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Vbvra-0005t0-Ab for 15260@debbugs.gnu.org; Thu, 31 Oct 2013 13:16:55 -0400 Original-Received: from conversion-daemon.a-mtaout22.012.net.il by a-mtaout22.012.net.il (HyperSendmail v2007.08) id <0MVJ00800M8WT900@a-mtaout22.012.net.il> for 15260@debbugs.gnu.org; Thu, 31 Oct 2013 19:16:47 +0200 (IST) Original-Received: from HOME-C4E4A596F7 ([87.69.4.28]) by a-mtaout22.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0MVJ0081UMNTEMD0@a-mtaout22.012.net.il>; Thu, 31 Oct 2013 19:16:41 +0200 (IST) In-reply-to: X-012-Sender: halo1@inter.net.il X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-Received-From: 140.186.70.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-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:79819 Archived-At: > From: Stefan Monnier > Cc: Kenichi Handa , 15260@debbugs.gnu.org > Date: Wed, 30 Oct 2013 21:01:21 -0400 > > > Why do we have this confusing inconsistency? > > make_string is a bug. There's no way to know/guess if the string should > be unibyte or multibyte. So, it should be removed and replaced by calls > to either make_unibyte_string or make_multibyte_string. Here's one more gotcha I bumped into while working on this bug. Suppose the filesystem where you build Emacs uses a file-name encoding whose coding-system-category is 'charset'. Example: cpNNNN. Then, when Emacs comes up after dumping, it loads subdirs.el in each directory on load-path. To do this, it calls 'openp' to look for DIR/subdirs.el, which involves calling ENCODE_FILE on "DIR/subdirs.el", in order to pass that to 'faccessat' or 'open'. Now, if the charset that is needed to encode this file name is not yet loaded into Emacs, Emacs will try to load it. To this end, it will look along charset-map-path for the corresponding map file, and for that it will again call 'openp', recursively. That 'openp' call will again want to ENCODE_FILE with the same encoding, which will again cause Emacs to try to load the corresponding map file, etc. etc., until we exhaust the specpdl stack. I worked around this by keeping charset-map-path in unibyte form until later into the startup procedure. Is there a more elegant and less kludgey way?