[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Scanning for coding declarations in all files (not just source)

From: Mike Gran
Subject: Re: Scanning for coding declarations in all files (not just source)
Date: Sun, 13 Jan 2013 11:51:39 -0800 (PST)

> From: Mark H Weaver <address@hidden>
> To: address@hidden
> Cc: Michael Gran <address@hidden>
> Sent: Sunday, January 13, 2013 10:25 AM
> Subject: Scanning for coding declarations in all files (not just source)
Hi Mark,

> I just discovered that Guile is scanning for coding declarations in
> *all* files opened with 'open-file', not just source files.

> For source files, we are scanning for coding declarations twice: once
> when when the file is opened, and a second time when 'compile-file' or
> 'primitive-load' explicitly scans for it.

If there was a reason for scanning the coding twice, I don't recall it.

> The relevant commit is 211683cc5c99542dfb6e2a33f7cb8c1f9abbc702.
> I was unable to find any discussion of this on guile-devel.
> I don't like this.  I don't want 'open-file' to second-guess the
> encoding I have asked for in my program, based on data in the file.
> Also, the manual is misleading.  Section 6.17.8 gives the impression
> that the scanning is only done for source files.
> What do other people think?

Opening a file that contains a coding declaration using an encoding other
than binary or the coding declared in the file seems like it would be
something of a corner case.  So, IMHO it makes sense that opening a file
using its self-declared encoding should be the simple case, and that
opening a text file in a different (non-binary) text encoding should
be the more complicated case, in a API sense.

There are also obscure possibilities to consider, like reading code from
a file or pipe into a string, and then eval-ing the string.

But, I can see your point, though.  Guile does seem to be having a tough
time deciding how automatic or manual string encoding should be.

So, whatever makes people happy.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]