GNU bug report logs -
#9960
Compiling Emacs trunk with MSVC
Previous Next
Reported by: Eli Zaretskii <eliz <at> gnu.org>
Date: Sat, 5 Nov 2011 11:24:02 UTC
Severity: normal
Done: Eli Zaretskii <eliz <at> gnu.org>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
> From: Fabrice Popineau <fabrice.popineau <at> supelec.fr>
> Date: Fri, 11 Nov 2011 20:28:21 +0100
> Cc: cschol2112 <at> googlemail.com, 9960 <at> debbugs.gnu.org
>
> > +++ lisp/bindings.el 2011-11-10 17:49:35 +0000
> > > @@ -824,13 +824,13 @@
> > > ;; Define control-digits.
> > > (let ((i ?0))
> > > (while (<= i ?9)
> > > - (define-key global-map (read (format "[?\\C-%c]" i))
> > 'digit-argument)
> > > +; (define-key global-map (read (format "[?\\C-%c]" i))
> > 'digit-argument)
> > > (setq i (1+ i))))
> > > (define-key global-map [?\C--] 'negative-argument)
> > > ;; Define control-meta-digits.
> > > (let ((i ?0))
> > > (while (<= i ?9)
> > > - (define-key esc-map (read (format "[?\\C-%c]" i)) 'digit-argument)
> > > +; (define-key esc-map (read (format "[?\\C-%c]" i)) 'digit-argument)
> > > (setq i (1+ i))))
> > > (define-key global-map [?\C-\M--] 'negative-argument)
> >
> > Why is this part needed?
> >
>
> I would like to know. I get an error when bootstrapping at these lines :
> invalid read syntax.
> If someone has a suggestion on how to investigate it, I'd like to hear it:
>
> Loading bindings (source)...
> Invalid read syntax: "?"
> NMAKE : fatal error U1077:
> 'C:\Source\XEmTeX\mirror\emacs\src/obj-spd/i386/temacs.exe' : return code
> '0xffffffff'
> Stop.
> NMAKE : fatal error U1077: '"c:\Program Files (x86)\Microsoft Visual Studio
> 10.0\VC\Bin\nmake.exe"' : return code '0x2'
> Stop.
This error comes from the following fragment in lread.c:read1
case '?':
{
int modifiers;
int next_char;
int ok;
c = READCHAR;
if (c < 0)
end_of_file_error ();
/* Accept `single space' syntax like (list ? x) where the
whitespace character is SPC or TAB.
Other literal whitespace like NL, CR, and FF are not accepted,
as there are well-established escape sequences for these. */
if (c == ' ' || c == '\t')
return make_number (c);
if (c == '\\')
c = read_escape (readcharfun, 0);
modifiers = c & CHAR_MODIFIER_MASK;
c &= ~CHAR_MODIFIER_MASK;
if (CHAR_BYTE8_P (c))
c = CHAR_TO_BYTE8 (c);
c |= modifiers;
next_char = READCHAR;
ok = (next_char <= 040
|| (next_char < 0200
&& strchr ("\"';()[]#?`,.", next_char) != NULL));
UNREAD (next_char);
if (ok)
return make_number (c);
invalid_syntax ("?"); <<<<<<<<<<<<<<<<<<
}
Can you step through this in a debugger and see what character is seen
in next_char at the end of this snippet, and what value is in `c' at
that point, when it fails? The function read_escape called by this
fragment could also be of interest.
This bug report was last modified 13 years and 61 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.