GNU bug report logs -
#44724
Uninitialised variables in syntax.c cause trouble.
Previous Next
Reported by: Alan Mackenzie <acm <at> muc.de>
Date: Wed, 18 Nov 2020 17:39:01 UTC
Severity: normal
Tags: notabug
Done: Lars Ingebrigtsen <larsi <at> gnus.org>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
Hello, Martin.
On Thu, Nov 19, 2020 at 09:25:50 +0100, martin rudalics wrote:
> >> Just curious: Did current_buffer == find_start_buffer really succeed
> >> in your scenario?
> > Yes it did. All four comparisons in that block of code succeeded,
> > causing a spurious value to be returned by find_defun_start.
> Isn't the probability for such a thing to be caused by uninitialized
> variables lower than that of the Emacs tagging scheme to fail as a
> whole?
Yes.
> > But now I think that that value was a previously valid one which just
> > hadn't been updated on buffer changes.
> > I don't think there's any cache invalidation code associated with this
> > cache,
> MODIFF == find_start_modiff
Yes, thanks, I was wrong there.
> > and I think that's why it gave an invalid result.
I've found out what my problem is. find_defun_start, unless one takes
precautions against it, calls syntax-ppss, which in my situation was
uninitialised. There is nothing in Emacs to cause the initialisation of
syntax-ppss when, say, the syntax-table is changed. It all needs to be
done by hand.
I'll close this bug as not a bug.
Thanks for all the help!
> martin
--
Alan Mackenzie (Nuremberg, Germany).
This bug report was last modified 4 years and 175 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.