Breakage on Mac OS X, since TXR 94.

 new new list compose Reply to this message Top page
Attachments:
+ (text/plain)
+ (text/html)

Delete this message
Author: Kaz Kylheku
Date:  
To: TXR Users
Subject: Breakage on Mac OS X, since TXR 94.

Hi all,

I discovered over the weekend that the -e and -p options don't work on OS X, and haven't since TXR 94.  I haven't tried, but I expect that the general functionality of parsing Lisp out of a string is broken (what these options rely on).  A syntax error occurs and an exception is thrown.

I have isolated the problem to a commit which introduced it, but the changes in that commit don't seem to be responsible.

The problem goes away if the "lex.yy.c" module produced from "parser.l" is compiled without optimization.

Something is going wrong in the lisp_parse function: specifically the logic which creates a byte stream from a particular string literal. When compiled with optimization, somehow that string literal pointer is garbage: a pointer that references into some memory that doesn't contain any of the correct characters.

But that aspect of the code was not changed at all by the commit starting from which the problem started to occur.