From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Stefan Monnier Newsgroups: gmane.emacs.bugs Subject: bug#15826: 24.3.50; SMIE hangs in sh-mode Date: Thu, 07 Nov 2013 23:34:38 -0500 Message-ID: References: <87habo986u.fsf@gmail.com> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Trace: ger.gmane.org 1383885316 8836 80.91.229.3 (8 Nov 2013 04:35:16 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Fri, 8 Nov 2013 04:35:16 +0000 (UTC) Cc: 15826-done@debbugs.gnu.org To: Aaron Ecay Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Fri Nov 08 05:35:21 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 1Vedmx-0003Ap-P4 for geb-bug-gnu-emacs@m.gmane.org; Fri, 08 Nov 2013 05:35:19 +0100 Original-Received: from localhost ([::1]:43810 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Vedmx-0001Wx-Ba for geb-bug-gnu-emacs@m.gmane.org; Thu, 07 Nov 2013 23:35:19 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:40147) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Vedmn-0001Sd-JG for bug-gnu-emacs@gnu.org; Thu, 07 Nov 2013 23:35:16 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Vedmg-0000Dz-TC for bug-gnu-emacs@gnu.org; Thu, 07 Nov 2013 23:35:09 -0500 Original-Received: from debbugs.gnu.org ([140.186.70.43]:54707) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Vedmg-0000DY-QP for bug-gnu-emacs@gnu.org; Thu, 07 Nov 2013 23:35:02 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.80) (envelope-from ) id 1Vedmg-00046c-Jx for bug-gnu-emacs@gnu.org; Thu, 07 Nov 2013 23:35:02 -0500 Resent-From: Stefan Monnier Original-Sender: "Debbugs-submit" Resent-To: bug-gnu-emacs@gnu.org Resent-Date: Fri, 08 Nov 2013 04:35:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: cc-closed 15826 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Mail-Followup-To: 15826@debbugs.gnu.org, monnier@iro.umontreal.ca, aaronecay@gmail.com Original-Received: via spool by 15826-done@debbugs.gnu.org id=D15826.138388528815756 (code D ref 15826); Fri, 08 Nov 2013 04:35:02 +0000 Original-Received: (at 15826-done) by debbugs.gnu.org; 8 Nov 2013 04:34:48 +0000 Original-Received: from localhost ([127.0.0.1]:40491 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VedmS-000464-5M for submit@debbugs.gnu.org; Thu, 07 Nov 2013 23:34:48 -0500 Original-Received: from ironport2-out.teksavvy.com ([206.248.154.182]:35582) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VedmP-00045m-33 for 15826-done@debbugs.gnu.org; Thu, 07 Nov 2013 23:34:45 -0500 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: Ah0FABK/CFFFpYcs/2dsb2JhbABEhW1auEcXc4IfAQUMFzMjEAkCGgIYDgICFBgNJIgkk2Caf5JOgSOOVIETA4hhnBmBXoMV X-IPAS-Result: Ah0FABK/CFFFpYcs/2dsb2JhbABEhW1auEcXc4IfAQUMFzMjEAkCGgIYDgICFBgNJIgkk2Caf5JOgSOOVIETA4hhnBmBXoMV X-IronPort-AV: E=Sophos;i="4.84,565,1355115600"; d="scan'208";a="37360026" Original-Received: from 69-165-135-44.dsl.teksavvy.com (HELO pastel.home) ([69.165.135.44]) by ironport2-out.teksavvy.com with ESMTP/TLS/ADH-AES256-SHA; 07 Nov 2013 23:34:39 -0500 Original-Received: by pastel.home (Postfix, from userid 20848) id DF97A606C4; Thu, 7 Nov 2013 23:34:38 -0500 (EST) In-Reply-To: <87habo986u.fsf@gmail.com> (Aaron Ecay's message of "Wed, 06 Nov 2013 22:55:53 -0500") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (gnu/linux) 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:80124 Archived-At: > - emacs -Q > - C-x C-f foo.sh > - type =E2=80=9Cfor i in=E2=80=9D > - immediately after entering the =E2=80=98n=E2=80=99, emacs will hang Indeed, thank you. I installed the patch below which should fix it. Stefan =3D=3D=3D modified file 'lisp/progmodes/sh-script.el' --- lisp/progmodes/sh-script.el 2013-10-24 21:16:20 +0000 +++ lisp/progmodes/sh-script.el 2013-11-08 04:31:52 +0000 @@ -1730,7 +1730,7 @@ like a keyword, then it is a keyword." (let ((prev (funcall smie-backward-token-function))) (if (zerop (length prev)) - (looking-back "\\s(" (1- (point))) + (looking-back "\\`\\|\\s(" (1- (point))) (assoc prev smie-grammar)))) =20 (defun sh-smie--newline-semi-p (&optional tok) @@ -1804,12 +1804,14 @@ (setq prev (funcall smie-backward-token-function)) (cond ((zerop (length prev)) - (if newline - (progn (cl-assert words) (setq res 'word)) + (cond + (newline (cl-assert words) (setq res 'word)) + ((bobp) (setq res 'word)) + (t (setq words t) (condition-case nil (forward-sexp -1) - (scan-error (setq res 'unknown))))) + (scan-error (setq res 'unknown)))))) ((equal prev ";") (if words (setq newline t) (setq res 'keyword)))