GNU bug report logs - #16008
semantic/grammar-wy.el cannot be bootstrapped

Previous Next

Package: emacs;

Reported by: Glenn Morris <rgm <at> gnu.org>

Date: Sat, 30 Nov 2013 02:08:02 UTC

Severity: minor

Found in version 24.3.50

Fixed in version 28.1

Done: Glenn Morris <rgm <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: David Engster <deng <at> randomsample.de>
To: Glenn Morris <rgm <at> gnu.org>
Cc: 16008 <at> debbugs.gnu.org, cedet-devel <at> lists.sourceforge.net
Subject: bug#16008: semantic/grammar-wy.el cannot be bootstrapped
Date: Sat, 30 Nov 2013 11:00:47 +0100
Glenn Morris writes:
> semantic/grammar-wy.el is a generated file and therefore ideally should
> not be kept in the Emacs VCS.

That's true for all parsers. However, grammar-wy.el is special, as
you've noticed.

> It is generated by semantic/grammar.el.
> semantic/grammar.el requires semantic/grammar-wy.el, therefore
> it is not possible to bootstrap without semantic/grammar-wy.el already
> present.

Yes, it has a circular dependency, because the parser grammar-wy.el
parses grammar files, including itself. In upstream, we have a fallback
parser for this, which is used when grammar-wy.el is not present
yet. Needless to say, you'll soon face chicken/egg problems when you do
changes in grammar.wy, which IMHO cause more pain in the rear than
having generated files under version control. In fact, every time I
worked on grammar.wy, I thought about getting rid of bootstrapping at
compile time and just put all parsers under version control.

> I should also note that the version of semantic/grammar-wy.el in the
> Emacs trunk does not match up with its sources.
>
> It contains:
>
>   (require 'semantic)
>
> Yet if you regenerate it, it contains:
>
>   (require 'semantic/lex)
>   (eval-when-compile (require 'semantic/bovine))

Yes, there may be small differences w.r.t. to requires and such. The
generated parsers should never differ, though.

Problem is: the freeze is near, and I have to do another sync with
upstream, and I'd also really like to get a few things fixed before
that.

-David




This bug report was last modified 4 years and 117 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.