+2002-12-08  Paul Eggert  <eggert@twinsun.com>
+
+       * data/glr.c, data/lalr1.cc, data/yacc.c: Do not use __file__,
+       since this causes problems when __file__ contains character
+       sequences like "@" that are treated specially by src/scan-skel.l.
+       Instead, just use the file's basename.  This fixes the bug
+       reported by Martin Mokrejs in
+       <http://mail.gnu.org/pipermail/bug-bison/2002-December/001949.html>.
+
 2002-12-06  Paul Eggert  <eggert@twinsun.com>
 
        Add support for rules that do not have trailing semicolons, as
 
 ]m4_ifdef([b4_stype],
 [b4_syncline([b4_stype_line], [b4_filename])
 typedef union b4_stype yystype;
-/* Line __line__ of __file__.  */
+/* Line __line__ of glr.c.  */
 b4_syncline([@oline@], [@ofile@])],
 [typedef int yystype;])[
 # define YYSTYPE yystype
 /* Copy the second part of user declarations.  */
 ]b4_post_prologue[
 
-]/* Line __line__ of __file__.  */
+]/* Line __line__ of glr.c.  */
 b4_syncline([@oline@], [@ofile@])
 [
 #if ! defined (__cplusplus)
 # undef YYBACKUP
 # undef yyclearin
 # undef YYRECOVERING
-/* Line __line__ of __file__.  */
+/* Line __line__ of glr.c.  */
 b4_syncline([@oline@], [@ofile@])
 }
 \f
 m4_ifdef([b4_stype],
 [b4_syncline([b4_stype_line], [b4_filename])
 typedef union b4_stype yystype;
-/* Line __line__ of __file__.  */
+/* Line __line__ of glr.c.  */
 b4_syncline([@oline@], [@ofile@])],
 [typedef int yystype;])
 # define YYSTYPE yystype
 
 /* Copy the first part of user declarations.  */
 ]b4_pre_prologue[
 
-]/* Line __line__ of __file__.  */
+]/* Line __line__ of lalr1.cc.  */
 b4_syncline([@oline@], [@ofile@])[
 
 /* Enabling traces.  */
 ]m4_ifdef([b4_stype],
 [b4_syncline([b4_stype_line], [b4_filename])
 typedef union b4_stype yystype;
-/* Line __line__ of __file__.  */
+/* Line __line__ of lalr1.cc.  */
 b4_syncline([@oline@], [@ofile@])],
 [typedef int yystype;])[
 # define YYSTYPE yystype
 /* Copy the second part of user declarations.  */
 ]b4_post_prologue[
 
-]/* Line __line__ of __file__.  */
+]/* Line __line__ of lalr1.cc.  */
 b4_syncline([@oline@], [@ofile@])[
 #ifndef YYLLOC_DEFAULT
 # define YYLLOC_DEFAULT(Current, Rhs, N) \
       ]b4_actions[
     }
 
-]/* Line __line__ of __file__.  */
+]/* Line __line__ of lalr1.cc.  */
 b4_syncline([@oline@], [@ofile@])[
 
   state_stack_.pop (len_);
 
 ]m4_ifdef([b4_stype],
 [b4_syncline([b4_stype_line], [b4_filename])
 typedef union b4_stype yystype;
-/* Line __line__ of __file__.  */
+/* Line __line__ of yacc.c.  */
 b4_syncline([@oline@], [@ofile@])],
 [typedef int yystype;])[
 # define YYSTYPE yystype
 /* Copy the second part of user declarations.  */
 ]b4_post_prologue
 
-/* Line __line__ of __file__.  */
+/* Line __line__ of yacc.c.  */
 b4_syncline([@oline@], [@ofile@])[
 
 #if ! defined (yyoverflow) || YYERROR_VERBOSE
       b4_actions
     }
 
-/* Line __line__ of __file__.  */
+/* Line __line__ of yacc.c.  */
 b4_syncline([@oline@], [@ofile@])
 \f
 [  yyvsp -= yylen;
 m4_ifdef([b4_stype],
 [b4_syncline([b4_stype_line], [b4_filename])
 typedef union b4_stype yystype;
-/* Line __line__ of __file__.  */
+/* Line __line__ of yacc.c.  */
 b4_syncline([@oline@], [@ofile@])],
 [typedef int yystype;])
 # define YYSTYPE yystype