From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Stefan Monnier via "Bug reports for GNU Emacs, the Swiss army knife of text editors" Newsgroups: gmane.emacs.bugs Subject: bug#19342: auto-fill scan-error in sh-mode Date: Sun, 29 Aug 2021 08:56:14 -0400 Message-ID: References: <87tujl7ec9.fsf@gnus.org> Reply-To: Stefan Monnier Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="15118"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) Cc: Glenn Morris , 19342@debbugs.gnu.org To: Lars Ingebrigtsen Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Sun Aug 29 14:57:12 2021 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1mKKN5-0003f2-C7 for geb-bug-gnu-emacs@m.gmane-mx.org; Sun, 29 Aug 2021 14:57:11 +0200 Original-Received: from localhost ([::1]:42922 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mKKN4-0005wT-A1 for geb-bug-gnu-emacs@m.gmane-mx.org; Sun, 29 Aug 2021 08:57:10 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:54910) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mKKMw-0005wE-HB for bug-gnu-emacs@gnu.org; Sun, 29 Aug 2021 08:57:02 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]:44193) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1mKKMw-00061E-6t for bug-gnu-emacs@gnu.org; Sun, 29 Aug 2021 08:57:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1mKKMw-0001Y7-29 for bug-gnu-emacs@gnu.org; Sun, 29 Aug 2021 08:57:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Stefan Monnier Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sun, 29 Aug 2021 12:57:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 19342 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: confirmed Original-Received: via spool by 19342-submit@debbugs.gnu.org id=B19342.16302417855913 (code B ref 19342); Sun, 29 Aug 2021 12:57:02 +0000 Original-Received: (at 19342) by debbugs.gnu.org; 29 Aug 2021 12:56:25 +0000 Original-Received: from localhost ([127.0.0.1]:55739 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mKKML-0001XI-ES for submit@debbugs.gnu.org; Sun, 29 Aug 2021 08:56:25 -0400 Original-Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:7565) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mKKMJ-0001Wu-Lb for 19342@debbugs.gnu.org; Sun, 29 Aug 2021 08:56:24 -0400 Original-Received: from pmg2.iro.umontreal.ca (localhost.localdomain [127.0.0.1]) by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id 603F6809E7; Sun, 29 Aug 2021 08:56:17 -0400 (EDT) Original-Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id 15D57807F5; Sun, 29 Aug 2021 08:56:16 -0400 (EDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1630241776; bh=0Vh8iyQYOYBIuVMW+zxX+Lxm0s4YRxbJseDHKjr5jmA=; h=From:To:Cc:Subject:References:Date:In-Reply-To:From; b=KKpn5fcUNG/K0sXPHmaAbG0pL1r7clfWaTsPcEIAcso+YwsrumnV0iVicN1k/V+De KFzNvT3OBh6qRtmOOAvaHcLGZaK4+OvP1DT2KhY2Jyjz5wzpO9PECuvy4eLVpBlCiL o3dW7f5GZbkzZCmNqY7F0dMD+heLooz08l4d/6V3NuPy6Qpj0GxDmY1A/tOrIRgAzn 7hI4Nj3827Gg4HaDx7zYJg/YQtIcZGIRoEVW7uwZE0PmAKhhY4B5B7TpfkPRwN3BPP adQJrjo/AvkYYogveF2+43rhy/BU0qNIs12Co8Y/jSqbI2kaEVcPrN4XUSoMScUBu0 xdhjsSp57QQMA== Original-Received: from alfajor (unknown [104.247.244.135]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id C960A120208; Sun, 29 Aug 2021 08:56:15 -0400 (EDT) In-Reply-To: <87tujl7ec9.fsf@gnus.org> (Lars Ingebrigtsen's message of "Thu, 19 Aug 2021 15:29:10 +0200") X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list 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-mx.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.io gmane.emacs.bugs:212931 Archived-At: Lars Ingebrigtsen [2021-08-19 15:29:10] wrote: > Glenn Morris writes: > >> Type a long string with spaces, past fill-column; eg: >> >> foo="aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaa aaaaaaaaaa >> >> Auto-fill results in: >> >> Error: (scan-error "Containing expression ends prematurely" 75 75) > > This problem is still present in Emacs 28. This is the backtrace: > > Debugger entered--Lisp error: (scan-error "Containing expression ends prematurely" 95 95) > signal(scan-error ("Containing expression ends prematurely" 95 95)) > (if (and (car res) (= pos (point)) (not (if forw (eobp) (bobp)))) ( > (let ((pos (point)) (res (if forw (smie-forward-sexp 'halfsexp) (sm > (while (/= n 0) (setq n (- n (if forw 1 -1))) (let ((pos (point)) ( > (let ((forw (> n 0)) (forward-sexp-function nil)) (while (/= n 0) ( > smie-forward-sexp-command(1) > forward-sexp(1) > (cond ((< 0 (length tok)) (assoc tok smie-grammar)) ((looking-at "\ > (let ((tok (funcall smie-forward-token-function))) (cond ((< 0 (len > smie-indent-forward-token() > smie-indent-keyword() > smie--funcall(smie-indent-keyword) > run-hook-wrapped(smie--funcall smie-indent-keyword) > smie-indent-calculate() > smie-auto-fill(#f(compiled-function (&rest args) #)) > > The code that errors out is: > > (defun smie-indent-forward-token () > [...] > ((looking-at "\\s\"\\|\\s|") > (forward-sexp 1) > > That is, if we're auto-filling an unterminated string, it'll always bug > out, apparently? The behavior I see in the example above is that a newline is inserted right before the last "aaaaaaaaaa", and an error message is displayed in the echo area. I'm not completely sure what behavior we'd like to see here instead. Just a less scary error message? We could also emit no error message at all, but since this is using smie-auto-fill (i.e. syntax-aware auto-fill), it seems important to point out that we couldn't use syntax-aware auto-filling because of a problem in the syntax, which is what the error message is trying to say. Stefan