all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: "Andreas Röhler" <andreas.roehler@easy-emacs.de>
To: Alan Mackenzie <acm@muc.de>
Cc: 23019@debbugs.gnu.org
Subject: bug#23019: parse-partial-sexp doesn't output the full state needed for its continuance.
Date: Tue, 15 Mar 2016 14:38:54 +0100	[thread overview]
Message-ID: <56E8106E.7020402@easy-emacs.de> (raw)
In-Reply-To: <20160315101521.GB2263@acm.fritz.box>



On 15.03.2016 11:15, Alan Mackenzie wrote:
> Hello, Andreas.
>
> On Tue, Mar 15, 2016 at 10:35:08AM +0100, Andreas Röhler wrote:
>
>
>> On 15.03.2016 10:13, Alan Mackenzie wrote:
>>> Hello, Emacs.
>>> When parse-partial-sexp finishes a parse, it fails to record whether or
>>> not its end point is just after the first character of a two character
>>> comment starter or ender.  When the resulting state is used as an
>>> argument to resume the parse, p-p-s will be unaware that the comment has
>>> started or ended and produce false results.
>>> Proposed solution: Add an extra element to the parser state, recording the
>>> syntax of the last character passed over before the end of the parse.
>>> This would be used by parse-partial-sexp to initialise its parse.
>>> Also: the existing element 9 (the list of currently open parens) and the
>>> new element should be explicitly documented in the Elisp manual, together
>>> with a statement that there may be further elements in the parse state
>>> used internally by parse-partial-sexp (for future expansion).
>
>> a comment start might be composed not just by two characters, but by
>> three or more. What then?
> We'd have to start thinking about extending parse-partial-sexp, or
> invent some workaround.  Maybe.  There must be some languages (?html)
> where this is the case.  What is done in these?

May you send me this (or more) example use-cases? Couldn't find the one 
already given, sorry.

Addressed this issue in my generic beg-end.el

https://github.com/andreas-roehler/werkstatt/blob/master/subroutines/beg-end.el

In case beg-end forms used a start-string, look if the char-at-point 
would match this string.
Then look if the char-before is before in string, etc.









  reply	other threads:[~2016-03-15 13:38 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-03-15  9:13 bug#23019: parse-partial-sexp doesn't output the full state needed for its continuance Alan Mackenzie
2016-03-15  9:35 ` Andreas Röhler
2016-03-15 10:15   ` Alan Mackenzie
2016-03-15 13:38     ` Andreas Röhler [this message]
2016-03-17 12:58 ` Stefan Monnier
2016-03-17 21:49   ` Alan Mackenzie
2016-03-18  4:49     ` Stefan Monnier
2016-03-18 15:11       ` Alan Mackenzie
2016-03-18 15:22         ` Alan Mackenzie
2016-03-18 16:23         ` Stefan Monnier
2016-03-18 18:25           ` Alan Mackenzie
2016-03-18 19:36             ` Stefan Monnier
2016-03-19 17:06               ` Alan Mackenzie
2016-03-20  1:30                 ` Stefan Monnier
2016-03-20 13:41                   ` Alan Mackenzie
2016-04-03 22:53                   ` John Wiegley
2016-04-04 12:15                     ` Stefan Monnier
2016-04-05 12:54                     ` Alan Mackenzie
2016-04-05 13:50                       ` Stefan Monnier
2016-04-05 14:44                         ` Alan Mackenzie
2016-03-18 16:27     ` Stefan Monnier
2016-03-18 19:16       ` Alan Mackenzie
2016-03-18 19:40         ` Stefan Monnier

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=56E8106E.7020402@easy-emacs.de \
    --to=andreas.roehler@easy-emacs.de \
    --cc=23019@debbugs.gnu.org \
    --cc=acm@muc.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.