From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED.blaine.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.bugs Subject: bug#36432: 26.2; SMIE does not request forward tokens when point is at point-max Date: Sat, 29 Jun 2019 16:06:17 +0300 Message-ID: <83tvc8fsmu.fsf@gnu.org> References: <83y31kfumo.fsf@gnu.org> <83woh4ftqk.fsf@gnu.org> Injection-Info: blaine.gmane.org; posting-host="blaine.gmane.org:195.159.176.226"; logging-data="43420"; mail-complaints-to="usenet@blaine.gmane.org" Cc: 36432@debbugs.gnu.org To: Sam Halliday Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Sat Jun 29 15:22:20 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 1hhDJ6-000BBc-0j for geb-bug-gnu-emacs@m.gmane.org; Sat, 29 Jun 2019 15:22:20 +0200 Original-Received: from localhost ([::1]:39648 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.86_2) (envelope-from ) id 1hhDJ5-0000Rw-1u for geb-bug-gnu-emacs@m.gmane.org; Sat, 29 Jun 2019 09:22:19 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:42326) by lists.gnu.org with esmtp (Exim 4.86_2) (envelope-from ) id 1hhD4U-0002iQ-5f for bug-gnu-emacs@gnu.org; Sat, 29 Jun 2019 09:07:19 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hhD4Q-0000KJ-BS for bug-gnu-emacs@gnu.org; Sat, 29 Jun 2019 09:07:12 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]:58286) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1hhD4I-0000F5-3U for bug-gnu-emacs@gnu.org; Sat, 29 Jun 2019 09:07:06 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1hhD4H-00078M-Sa for bug-gnu-emacs@gnu.org; Sat, 29 Jun 2019 09:07:01 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 29 Jun 2019 13:07:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 36432 X-GNU-PR-Package: emacs Original-Received: via spool by 36432-submit@debbugs.gnu.org id=B36432.156181360327396 (code B ref 36432); Sat, 29 Jun 2019 13:07:01 +0000 Original-Received: (at 36432) by debbugs.gnu.org; 29 Jun 2019 13:06:43 +0000 Original-Received: from localhost ([127.0.0.1]:43597 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hhD3z-00077o-D3 for submit@debbugs.gnu.org; Sat, 29 Jun 2019 09:06:43 -0400 Original-Received: from eggs.gnu.org ([209.51.188.92]:36396) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hhD3x-00077b-Gh for 36432@debbugs.gnu.org; Sat, 29 Jun 2019 09:06:41 -0400 Original-Received: from fencepost.gnu.org ([2001:470:142:3::e]:48025) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hhD3m-0008KF-SR; Sat, 29 Jun 2019 09:06:31 -0400 Original-Received: from [176.228.60.248] (port=4103 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1hhD3l-0004Pd-2T; Sat, 29 Jun 2019 09:06:30 -0400 In-reply-to: (message from Sam Halliday on Sat, 29 Jun 2019 13:51:31 +0100) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] 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:161827 Archived-At: > From: Sam Halliday > Date: Sat, 29 Jun 2019 13:51:31 +0100 > Cc: 36432@debbugs.gnu.org > > > So you create an illusion of characters beyond the EOB? > > > > How would Emacs know this is the case? > > When testing it is possible to keep polling the lexer until it returns > nil when at point-max, rather than looking at `point-max` and giving > up. I think that could work in general inside SMIE. > https://gitlab.com/tseenshe/haskell-tng.el/blob/tng/test/haskell-tng-lexer-test.el But SMIE is just an application on top of Emacs basic handling of buffer positions. The assumption that there can be nothing at EOB is hardcoded into many Emacs primitives, into its display engine, and into core Lisp infrastructure. You are playing with fire trying to force Emacs think there are some characters beyond EOB. Just grep the C sources for ZV, and you will see the enormous height of the hill you will need to fight up. I wouldn't recommend that to anyone. It should be easier to modify SMIE to take characters from a string, then you could put whatever you want into that string. Or maybe SMIE already supports reading from strings, I don't know. > BTW, this also happens at the start of the buffer. SMIE doesn't ask > for backwards tokens when at the beginning. For the same basic reasons.