Opened 11 years ago

Closed 10 years ago

#408 closed enhancement (wontfix)

inexact source info

Reported by: gb Owned by: gz
Priority: normal Milestone:
Component: IDE Version: trunk
Keywords: Cc:


When we save source information about a function defined via COMPILE-FILE, we usually save information about the source file and the character (or octet ?) range from which the defining form was read. (We can optionally save a string which matches the sequence of characters read form this range, but this adds to image size and is often redundant.)

If we don't save the string, we currently don't know (or have any way of knowing) whether the file has been modified since it was compiled to produce the current definitions. (If it has been modified, it's certainly reasonable to claim that source information associated with a definition may be inaccurate, possibly grossly so; in that case, we could either refuse to present it or present that source info with a disclaimer.)

Unfortuantely, I don't think that we track any information that'd enable us to detect modifications. Storing the modification date of the file might be at least somewhat reliable, but there are many scenarios (svn co ...) where the modification date will change but the contents would not, and this could unfortunately yield many false-positive claims of modification.)

I wonder if it's possible/practical to generate some sort of checksum for the (octets? characters?) in the range associated with a definition, and to have DISASSEMBLE (and error-reporting functions, and other things) compare this checksum to what would be obtained by reading the same sequence from the file ?

There may be a better way of doing this, but it'd be good to be able to distinguish between "source text in which we have very high confidence" and "stuff that was in the recorded file position in the relatively recent past."

Change History (1)

comment:1 Changed 10 years ago by gz

  • Resolution set to wontfix
  • Status changed from new to closed

I'm marking this as wontfix. It was a bug that no-text was the default, but that's fixed now. Basically, it's a user error to use the no-text optimization for files that get modified, it's meant only for read-only files.

Note: See TracTickets for help on using tickets.