From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED.blaine.gmane.org!not-for-mail From: Stefan Monnier Newsgroups: gmane.emacs.bugs Subject: bug#38255: 27.0.50; Indentation error-out in css-mode Date: Thu, 21 Nov 2019 18:29:14 -0500 Message-ID: References: <875zjhqt2w.fsf@gnus.org> <87a78pxo3t.fsf@gnus.org> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: blaine.gmane.org; posting-host="blaine.gmane.org:195.159.176.226"; logging-data="158474"; mail-complaints-to="usenet@blaine.gmane.org" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux) Cc: 38255-done@debbugs.gnu.org To: Lars Ingebrigtsen Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Fri Nov 22 00:30:26 2019 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([209.51.188.17]) by blaine.gmane.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89) (envelope-from ) id 1iXvu4-000eju-GS for geb-bug-gnu-emacs@m.gmane.org; Fri, 22 Nov 2019 00:30:24 +0100 Original-Received: from localhost ([::1]:46592 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iXvtr-0004Es-Kz for geb-bug-gnu-emacs@m.gmane.org; Thu, 21 Nov 2019 18:30:11 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:35207) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iXvtk-0004Eg-7n for bug-gnu-emacs@gnu.org; Thu, 21 Nov 2019 18:30:05 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iXvtj-00010D-7a for bug-gnu-emacs@gnu.org; Thu, 21 Nov 2019 18:30:04 -0500 Original-Received: from debbugs.gnu.org ([209.51.188.43]:44733) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1iXvtj-000109-27 for bug-gnu-emacs@gnu.org; Thu, 21 Nov 2019 18:30:03 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1iXvti-0008R9-Rc for bug-gnu-emacs@gnu.org; Thu, 21 Nov 2019 18:30:02 -0500 Resent-From: Stefan Monnier Original-Sender: "Debbugs-submit" Resent-To: bug-gnu-emacs@gnu.org Resent-Date: Thu, 21 Nov 2019 23:30:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: cc-closed 38255 X-GNU-PR-Package: emacs Mail-Followup-To: 38255@debbugs.gnu.org, monnier@iro.umontreal.ca, larsi@gnus.org Original-Received: via spool by 38255-done@debbugs.gnu.org id=D38255.157437896732346 (code D ref 38255); Thu, 21 Nov 2019 23:30:02 +0000 Original-Received: (at 38255-done) by debbugs.gnu.org; 21 Nov 2019 23:29:27 +0000 Original-Received: from localhost ([127.0.0.1]:53552 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iXvt8-0008Pe-SW for submit@debbugs.gnu.org; Thu, 21 Nov 2019 18:29:27 -0500 Original-Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:61606) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iXvt7-0008PR-Ao for 38255-done@debbugs.gnu.org; Thu, 21 Nov 2019 18:29:25 -0500 Original-Received: from pmg3.iro.umontreal.ca (localhost [127.0.0.1]) by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id C0E6744A0C3; Thu, 21 Nov 2019 18:29:19 -0500 (EST) Original-Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id 6E30344A0B4; Thu, 21 Nov 2019 18:29:18 -0500 (EST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1574378958; bh=T+h3D4b2uGeEwmKWxhUi4pj3OVSA5TAKebMtsygCT34=; h=From:To:Cc:Subject:References:Date:In-Reply-To:From; b=jPx+KAiyoswg2t3VL6Ea34UWccw+ss4bQWWxNVSQ/9++jsZ1SPvvTBsXmaYJZsC1e P7FtTQYwS9Ih0g/VSeo4KBn+JualfmzKNCaWCtLQtAvox/SjRGIJO3Yj6iLE4dvvWl a7YCRxW5+rzE0Qvs41EDFmKKTrmUyzIBQmwr8o9xJ1ddwuPmCvG8UEOWOYuAEgAoHN inpiajah3LlUVV9dc/Q/FsGrvH0P0VCSETb5nnpz5AijQi55qd1Z2ytSdMEjM99BCK F+7FafGQLM+NbezgDoavTH3JxzTkxvL+QOtnOEwlOP81Hj9dZXcCemsNeNHK/ZFMBP rkDSvzUbX13Tw== Original-Received: from pastel (unknown [216.154.18.30]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id EC18412122D; Thu, 21 Nov 2019 18:29:17 -0500 (EST) In-Reply-To: <87a78pxo3t.fsf@gnus.org> (Lars Ingebrigtsen's message of "Thu, 21 Nov 2019 16:09:42 +0100") X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 209.51.188.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" Xref: news.gmane.org gmane.emacs.bugs:172185 Archived-At: >> foo { >> } >> } >> >> The following backtrace is triggered. >> >> Debugger entered--Lisp error: (wrong-type-argument number-or-marker-p nil) >> smie-next-sexp(#f(compiled-function () #) >> #f(compiled-function (n) #) # >> #f(compiled-function (x) "Return the car of the cdr of X." #> 0x1ffc61806017>) "}") >> smie-backward-sexp("}") >> smie-indent-keyword() >> run-hook-with-args-until-success(smie-indent-keyword) Thanks for the great recipe. I pushed the fix below to Emacs's master. Stefan diff --git a/lisp/emacs-lisp/smie.el b/lisp/emacs-lisp/smie.el index f2163b243e..2c2898ae71 100644 --- a/lisp/emacs-lisp/smie.el +++ b/lisp/emacs-lisp/smie.el @@ -702,7 +702,11 @@ smie-next-sexp (catch 'return (let ((levels (if (stringp halfsexp) - (prog1 (list (cdr (assoc halfsexp smie-grammar))) + (prog1 (list (or (cdr (assoc halfsexp smie-grammar)) + (when (string-match "\\`\\s(\\|\\s)\\(\\)\\'" + halfsexp) + (if (match-end 1) '(0 nil) '(nil 0))) + (error "Unknown token: %S" halfsexp))) (setq halfsexp nil))))) (while (let* ((pos (point))