>>>> "me" == Stephen J Turnbull
<turnbull(a)sk.tsukuba.ac.jp> writes:
>>>> "mb" == Martin Buchholz
<martin(a)xemacs.org> writes:
mb> On Linux, I get this crash on `make
check'. This must be due
mb> to a very recent checkin to CVS (last couple of days).
Stephen> The place it crashed is screwing around with Latin-2
Stephen> strings. Given the bitching about charsets in the error
Stephen> message, that's a more likely place to look for trouble.
Stephen> I'm trying to get a global diff -r r21-2-37 -r
Stephen> release-21-2, but the server won't talk to me so I'm
Stephen> going home.
I hate computers---it decided to belch out the diff just as I sent
that last. There is Dan Holmsand change I don't fully understand in
fileio.c, in Ffile_truename, but it shouldn't be semantically
different under Unix. Is there a reason not to use
p = (Extbyte *) memchr (p + 1, DIRECTORY_SEP, elen - (p + 1 - path))
instead of the explicit loop?
@@ -1322,14 +1317,30 @@
we just use our own version in realpath.c. */
for (;;)
{
- p = (Extbyte *) memchr (p + 1, '/', elen - (p + 1 - path));
- if (p)
- *p = 0;
+ Extbyte *pos;
+
+#ifdef WIN32_NATIVE
+ if (IS_DRIVE (p[0]) && IS_DEVICE_SEP (p[1])
+ && IS_DIRECTORY_SEP (p[2]))
+ /* don't test c: on windows */
+ p = p+2;
+ else if (IS_DIRECTORY_SEP (p[0]) && IS_DIRECTORY_SEP (p[1]))
+ /* start after // */
+ p = p+1;
+#endif
+ for (pos = p + 1; pos < path + elen; pos++)
+ if (IS_DIRECTORY_SEP (*pos))
+ {
+ *(p = pos) = 0;
+ break;
+ }
+ if (p != pos)
+ p = 0;
if (xrealpath ((char *) path, resolved_path))
{
if (p)
- *p = '/';
+ *p = DIRECTORY_SEP;
else
break;
There's also some Martinesque fiddling with GCPRO in that function.
I do have a few questions: I didn't see anything directly connected to
Latin-2 that would cause the problem, but I did notice that Martin's
Lisp backtrace is corrupt (I got tildes where there should be
scarons). Where did that happen? In the mail system, or was it
corrupt to start with? Does it reflect corruption in the internals,
or just in the Lisp backtrace?
Why is the coding system in write-region-internal 'iso-2022-8? Isn't
it supposed to be 'iso-8859-2?
--
University of Tsukuba Tennodai 1-1-1 Tsukuba 305-8573 JAPAN
Institute of Policy and Planning Sciences Tel/fax: +81 (298) 53-5091
_________________ _________________ _________________ _________________
What are those straight lines for? "XEmacs rules."