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#10460: 24.0.92; css-mode sexp movement Date: Mon, 29 Dec 2014 14:13:55 -0500 Message-ID: References: <87iogv9kmv.fsf@tromey.com> <877fxav2ft.fsf@tromey.com> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: ger.gmane.org 1419880460 2659 80.91.229.3 (29 Dec 2014 19:14:20 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Mon, 29 Dec 2014 19:14:20 +0000 (UTC) Cc: 10460@debbugs.gnu.org, Leo To: Tom Tromey Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Mon Dec 29 20:14:11 2014 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 1Y5fla-0004AQ-Am for geb-bug-gnu-emacs@m.gmane.org; Mon, 29 Dec 2014 20:14:10 +0100 Original-Received: from localhost ([::1]:34542 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Y5flZ-0001kO-HE for geb-bug-gnu-emacs@m.gmane.org; Mon, 29 Dec 2014 14:14:09 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:59867) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Y5flW-0001hA-Ll for bug-gnu-emacs@gnu.org; Mon, 29 Dec 2014 14:14:07 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Y5flS-0007J4-MD for bug-gnu-emacs@gnu.org; Mon, 29 Dec 2014 14:14:06 -0500 Original-Received: from debbugs.gnu.org ([140.186.70.43]:51165) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Y5flS-0007In-IV for bug-gnu-emacs@gnu.org; Mon, 29 Dec 2014 14:14:02 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.80) (envelope-from ) id 1Y5flS-0008CA-Br for bug-gnu-emacs@gnu.org; Mon, 29 Dec 2014 14:14:02 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Stefan Monnier Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 29 Dec 2014 19:14:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 10460 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 10460-submit@debbugs.gnu.org id=B10460.141988043931482 (code B ref 10460); Mon, 29 Dec 2014 19:14:02 +0000 Original-Received: (at 10460) by debbugs.gnu.org; 29 Dec 2014 19:13:59 +0000 Original-Received: from localhost ([127.0.0.1]:60531 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Y5flP-0008Bh-69 for submit@debbugs.gnu.org; Mon, 29 Dec 2014 14:13:59 -0500 Original-Received: from ironport2-out.teksavvy.com ([206.248.154.181]:24823) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Y5flM-0008BT-G0 for 10460@debbugs.gnu.org; Mon, 29 Dec 2014 14:13:57 -0500 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: Aj8PAOwQflRFpY0B/2dsb2JhbABbgweDYIVawjuCYgQCAoEkFwEBAQEBAXyEAwEBAwFWDxQFCws0EhQYDSSISgnWWQEBAQEBAQQBAQEBHpBvB4RIBYsBjFSXWoF4hBkhgncBAQE X-IPAS-Result: Aj8PAOwQflRFpY0B/2dsb2JhbABbgweDYIVawjuCYgQCAoEkFwEBAQEBAXyEAwEBAwFWDxQFCws0EhQYDSSISgnWWQEBAQEBAQQBAQEBHpBvB4RIBYsBjFSXWoF4hBkhgncBAQE X-IronPort-AV: E=Sophos;i="5.07,502,1413259200"; d="scan'208";a="103917678" Original-Received: from 69-165-141-1.dsl.teksavvy.com (HELO pastel.home) ([69.165.141.1]) by ironport2-out.teksavvy.com with ESMTP/TLS/DHE-RSA-AES256-SHA; 29 Dec 2014 14:13:55 -0500 Original-Received: by pastel.home (Postfix, from userid 20848) id 36D37FCE; Mon, 29 Dec 2014 14:13:55 -0500 (EST) In-Reply-To: <877fxav2ft.fsf@tromey.com> (Tom Tromey's message of "Mon, 29 Dec 2014 09:35:50 -0700") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.0.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:97810 Archived-At: > I suppose this supplies a bit of wiggle room, if you leniently interpret > "prefix characters". SMIE interprets "balanced expression" as "a subnode in the AST". It can surprise at the beginning, indeed, but in my experience, it's a useful generalization for languages with infix syntax. Of course, for infix languages, "a + b * c" might be a proper AST subnode (whereas stopping after "a + b" wouldn't if there's a "* c" afterwards), but so is "a", when using forward-sexp we have to choose at which level of the AST we want to jump forward. In the above case SMIE will choose "a" over "a + b * c" (i.e. it will choose the smallest/deepest subnode). But when faced with "+ b * c", there is simply no proper subnode ahead. Here, SMIE extends yet again the concept of "balanced expression" in order to be able to do something meaningful: it jumps over the whole "+ b * c" (i.e. over the infix op plus its right argument). This is very handy in languages with few parentheses, letting you advance by "large" logical units, just like you would in Lisp where every top-level statement is wrapped inside parentheses. Stefan