From unknown Sun Jun 22 03:55:36 2025 X-Loop: bug-gnu-emacs@gnu.org Subject: bug#5771: 23.1; compile command with cd to new dir Resent-From: Kevin Ryde Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-To: owner@debbugs.gnu.org Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 25 Mar 2010 22:28:02 +0000 Resent-Message-ID: Resent-Sender: bug-gnu-emacs@gnu.org X-GNU-PR-Message: report 5771 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: 5771@debbugs.gnu.org X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.126955604525797 (code B ref -1); Thu, 25 Mar 2010 22:28:02 +0000 Received: (at submit) by debbugs.gnu.org; 25 Mar 2010 22:27:25 +0000 Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1NuvWO-0006i2-RJ for submit@debbugs.gnu.org; Thu, 25 Mar 2010 18:27:25 -0400 Received: from mx10.gnu.org ([199.232.76.166]) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1NuvWK-0006hw-8C for submit@debbugs.gnu.org; Thu, 25 Mar 2010 18:27:21 -0400 Received: from lists.gnu.org ([199.232.76.165]:48523) by monty-python.gnu.org with esmtps (TLS-1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1NuvWG-0001q6-2C for submit@debbugs.gnu.org; Thu, 25 Mar 2010 18:27:16 -0400 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1NuvWF-0008BC-1C for bug-gnu-emacs@gnu.org; Thu, 25 Mar 2010 18:27:15 -0400 Received: from [140.186.70.92] (port=53600 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1NuvWC-00089X-IR for bug-gnu-emacs@gnu.org; Thu, 25 Mar 2010 18:27:13 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.0 (2010-01-18) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_NONE autolearn=unavailable version=3.3.0 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1NuvWA-0002Jd-Pl for bug-gnu-emacs@gnu.org; Thu, 25 Mar 2010 18:27:12 -0400 Received: from mailout2-3.pacific.net.au ([61.8.2.226]:58102 helo=mailout2.pacific.net.au) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1NuvWA-0002JR-GJ for bug-gnu-emacs@gnu.org; Thu, 25 Mar 2010 18:27:10 -0400 Received: from mailproxy1.pacific.net.au (mailproxy1.pacific.net.au [61.8.2.162]) by mailout2.pacific.net.au (Postfix) with ESMTP id 431DE1B1670 for ; Fri, 26 Mar 2010 09:27:04 +1100 (EST) Received: from blah.blah (ppp2F42.dyn.pacific.net.au [61.8.47.66]) by mailproxy1.pacific.net.au (Postfix) with ESMTP id 975E28C08 for ; Fri, 26 Mar 2010 09:27:03 +1100 (EST) Received: from gg by blah.blah with local (Exim 4.71) (envelope-from ) id 1NuvW7-0001LI-TI for bug-gnu-emacs@gnu.org; Fri, 26 Mar 2010 09:27:07 +1100 From: Kevin Ryde Date: Fri, 26 Mar 2010 09:27:07 +1100 Message-ID: <874ok4kpfo.fsf@blah.blah> User-Agent: Gnus/5.110011 (No Gnus v0.11) Emacs/23.1 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6, seldom 2.4 (older, 4) X-detected-operating-system: by monty-python.gnu.org: GNU/Linux 2.6, seldom 2.4 (older, 4) X-Spam-Score: -4.4 (----) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.11 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -5.6 (-----) Evaluating (compile "mkdir /tmp/newdir;\n cd /tmp/newdir;\n echo hi") gets an emacs error => /tmp/newdir/: no such directory and doesn't run the command. I hoped that no matter what the command string contains that emacs would start it. I suppose `compilation-start' attempts to set default-directory to the cd it sees, but doesn't notice the command itself will create it. A similar thing happens if you've got a hairy shell expression in the cd, (compile "cd ${FOO:-${BAR}};\n echo hi") => emacs error I suppose in this case the expression is more than substitute-env-vars understands. I think if the apparent directory in a command doesn't exist then compilation-start shouldn't try to use it. In GNU Emacs 23.1.1 (i486-pc-linux-gnu, GTK+ Version 2.16.5) of 2009-09-14 on raven, modified by Debian configured using `configure '--build=i486-linux-gnu' '--host=i486-linux-gnu' '--prefix=/usr' '--sharedstatedir=/var/lib' '--libexecdir=/usr/lib' '--localstatedir=/var/lib' '--infodir=/usr/share/info' '--mandir=/usr/share/man' '--with-pop=yes' '--enable-locallisppath=/etc/emacs23:/etc/emacs:/usr/local/share/emacs/23.1/site-lisp:/usr/local/share/emacs/site-lisp:/usr/share/emacs/23.1/site-lisp:/usr/share/emacs/site-lisp:/usr/share/emacs/23.1/leim' '--with-x=yes' '--with-x-toolkit=gtk' '--with-toolkit-scroll-bars' 'build_alias=i486-linux-gnu' 'host_alias=i486-linux-gnu' 'CFLAGS=-DDEBIAN -g -O2' 'LDFLAGS=-g' 'CPPFLAGS='' Important settings: value of $LC_ALL: nil value of $LC_COLLATE: nil value of $LC_CTYPE: nil value of $LC_MESSAGES: nil value of $LC_MONETARY: nil value of $LC_NUMERIC: nil value of $LC_TIME: nil value of $LANG: en_AU value of $XMODIFIERS: nil locale-coding-system: iso-latin-1-unix default-enable-multibyte-characters: t From unknown Sun Jun 22 03:55:36 2025 X-Loop: bug-gnu-emacs@gnu.org Subject: bug#5771: 23.1; compile command with cd to new dir References: <874ok4kpfo.fsf@blah.blah> In-Reply-To: <874ok4kpfo.fsf@blah.blah> Resent-From: Chong Yidong Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-To: owner@debbugs.gnu.org Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sun, 28 Mar 2010 19:55:02 +0000 Resent-Message-ID: Resent-Sender: bug-gnu-emacs@gnu.org X-GNU-PR-Message: followup 5771 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Kevin Ryde Cc: 5771@debbugs.gnu.org Received: via spool by 5771-submit@debbugs.gnu.org id=B5771.126980604527865 (code B ref 5771); Sun, 28 Mar 2010 19:55:02 +0000 Received: (at 5771) by debbugs.gnu.org; 28 Mar 2010 19:54:05 +0000 Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1NvyYe-0007FO-QY for submit@debbugs.gnu.org; Sun, 28 Mar 2010 15:54:05 -0400 Received: from pantheon-po35.its.yale.edu ([130.132.50.83]) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1NvyYd-0007F3-H7 for 5771@debbugs.gnu.org; Sun, 28 Mar 2010 15:54:03 -0400 Received: from furry (173-14-147-246-NewEngland.hfc.comcastbusiness.net [173.14.147.246]) (authenticated bits=0) by pantheon-po35.its.yale.edu (8.12.11.20060308/8.12.11) with ESMTP id o2SJrwww032453 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT); Sun, 28 Mar 2010 15:53:59 -0400 Received: by furry (Postfix, from userid 1000) id C2042C05D; Sun, 28 Mar 2010 15:53:58 -0400 (EDT) From: Chong Yidong Date: Sun, 28 Mar 2010 15:53:58 -0400 Message-ID: <87pr2omdd5.fsf@stupidchicken.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-YaleITSMailFilter: Version 1.2c (attachment(s) not renamed) X-Spam-Score: -3.0 (---) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.11 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -3.0 (---) > (compile "mkdir /tmp/newdir;\n cd /tmp/newdir;\n echo hi") > > gets an emacs error > > => /tmp/newdir/: no such directory > > and doesn't run the command. I hoped that no matter what the command > string contains that emacs would start it. The problem was that compile had this faulty regexp test: (string-match "^\\s *cd\\(?:\\s +\\(\\S +?\\)\\)?\\s *[;&\n]" command) The `^' matches characters after newlines, which is not what's intended; we want to match only the beginning of the string, with `\''. I've checked in a fix; thanks for the bug report. From debbugs-submit-bounces@debbugs.gnu.org Sun Mar 28 15:54:38 2010 Received: (at control) by debbugs.gnu.org; 28 Mar 2010 19:54:38 +0000 Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1NvyZC-0007Fa-3y for submit@debbugs.gnu.org; Sun, 28 Mar 2010 15:54:38 -0400 Received: from pantheon-po25.its.yale.edu ([130.132.50.119]) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1NvyZA-0007FV-94 for control@debbugs.gnu.org; Sun, 28 Mar 2010 15:54:36 -0400 Received: from furry (173-14-147-246-NewEngland.hfc.comcastbusiness.net [173.14.147.246]) (authenticated bits=0) by pantheon-po25.its.yale.edu (8.12.11.20060308/8.12.11) with ESMTP id o2SJsVOk008343 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT) for ; Sun, 28 Mar 2010 15:54:32 -0400 Received: by furry (Postfix, from userid 1000) id B9BC4C05D; Sun, 28 Mar 2010 15:54:31 -0400 (EDT) From: Chong Yidong To: control@debbugs.gnu.org Subject: close 5771 Date: Sun, 28 Mar 2010 15:54:31 -0400 Message-ID: <87mxxsmdc8.fsf@stupidchicken.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-YaleITSMailFilter: Version 1.2c (attachment(s) not renamed) X-Spam-Score: -3.0 (---) X-Debbugs-Envelope-To: control X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.11 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -3.0 (---) close 5771 thanks From unknown Sun Jun 22 03:55:36 2025 X-Loop: help-debbugs@gnu.org Subject: bug#5771: 23.1; compile command with cd to new dir In-Reply-To: <874ok4kpfo.fsf@blah.blah> Resent-From: Kevin Ryde Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-To: owner@debbugs.gnu.org Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 31 Mar 2010 00:15:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 5771 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: 5771@debbugs.gnu.org Cc: Chong Yidong Received: via spool by 5771-submit@debbugs.gnu.org id=B5771.12699944524187 (code B ref 5771); Wed, 31 Mar 2010 00:15:02 +0000 Received: (at 5771) by debbugs.gnu.org; 31 Mar 2010 00:14:12 +0000 Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1NwlZT-00015U-Av for submit@debbugs.gnu.org; Tue, 30 Mar 2010 20:14:11 -0400 Received: from mailout2-3.pacific.net.au ([61.8.2.226] helo=mailout2.pacific.net.au) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1NwlZQ-00015O-Ci for 5771@debbugs.gnu.org; Tue, 30 Mar 2010 20:14:09 -0400 Received: from mailproxy2.pacific.net.au (mailproxy2.pacific.net.au [61.8.2.163]) by mailout2.pacific.net.au (Postfix) with ESMTP id 9A2381B31C8; Wed, 31 Mar 2010 11:14:02 +1100 (EST) Received: from blah.blah (ppp2AAA.dyn.pacific.net.au [61.8.42.170]) by mailproxy2.pacific.net.au (Postfix) with ESMTP id 19AF427410; Wed, 31 Mar 2010 11:14:02 +1100 (EST) Received: from gg by blah.blah with local (Exim 4.71) (envelope-from ) id 1NwlZP-00032g-Ma; Wed, 31 Mar 2010 11:14:07 +1100 From: Kevin Ryde References: <87pr2omdd5.fsf@stupidchicken.com> Date: Wed, 31 Mar 2010 11:14:06 +1100 Message-ID: <87sk7hcppt.fsf@blah.blah> User-Agent: Gnus/5.110011 (No Gnus v0.11) Emacs/23.1 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.11 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -3.6 (---) Chong Yidong writes: > > The `^' matches characters after newlines, which is not what's intended; Really? I suppose the changelog entry reads like that (ChangeLog.11 2004-09-12 Daniel Pfeiffer). You'd be very tempted to allow a "cd" after simple stuff like an echo though. > I've checked in a fix; thanks for the bug report. The second case too, with a hairy shell expression in the cd? Just enough that the command is started of course, no need to worry if it does anything good or bad. (Apologies for not trying it myself, the bloat of bizaare makes the head inaccessible to the peasants :-(