1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-06-19 18:20:22 +02:00

Choose the input source file encoding in a locale-independent way.

This is so that compiling the same code on environments with different
locale settings yields the same result.

* module/system/base/compile.scm (compile-file): When ENC if #f, default
  to "UTF-8" instead of `(fluid-ref %default-port-encoding)'.

* doc/ref/api-evaluation.texi (Compilation): Document the default output
  file name and default source file encoding for `compile-file' and
  `guile-tools compile'.
This commit is contained in:
Ludovic Courtès 2011-01-24 21:44:44 +01:00
parent bc03d89fa2
commit eda0622095
2 changed files with 13 additions and 5 deletions

View file

@ -567,8 +567,9 @@ Add @var{dir} to the front of the module load path.
@item -o @var{ofile}
@itemx --output=@var{ofile}
Write output bytecode to @var{ofile}. By convention, bytecode file names end
in @code{.go}.
Write output bytecode to @var{ofile}. By convention, bytecode file
names end in @code{.go}. When @option{-o} is omitted, the output file
name is as for @code{compile-file} (see below).
@item -W @var{warning}
@itemx --warn=@var{warning}
@ -589,6 +590,9 @@ Use @var{lang} as the target language of @var{file}. If this option is omitted,
@end table
Each @var{file} is assumed to be UTF-8-encoded, unless it contains a
coding declaration as recognized by @code{file-encoding}
(@pxref{Character Encoding of Source Files}).
@end deffn
The compiler can also be invoked directly by Scheme code using the procedures
@ -608,6 +612,9 @@ Compile the file named @var{file}.
Output will be written to a file in the current directory whose name
is computed as @code{(compiled-file-name @var{file})}.
As with @command{guile-tools compile}, @var{file} is assumed to be
UTF-8-encoded unless it contains a coding declaration.
@end deffn
@deffn {Scheme Procedure} compiled-file-name file