Hi,
just reporting 2 small problems with new ECL on Windows, using the
MSVC (2008/2010) compilers:
(1) File "ecl/src/c/file.d" needs this patch to compile correctly (see
also attachment):
diff --git a/_file.d b/file.d
index 578cc27..8427b3b 100755
--- a/_file.d
+++ b/file.d
@@ -2773,12 +2773,12 @@ io_file_length(cl_object strm)
static cl_object
io_file_get_position(cl_object strm)
{
- int f = IO_FILE_DESCRIPTOR(strm);
- if (isatty(f)) return(ECL_NIL);
-
cl_object output;
ecl_off_t offset;
+ int f = IO_FILE_DESCRIPTOR(strm);
+ if (isatty(f)) return(ECL_NIL);
+
ecl_disable_interrupts();
offset = lseek(f, 0, SEEK_CUR);
ecl_enable_interrupts();
@@ -2810,10 +2810,10 @@ io_file_get_position(cl_object strm)
static cl_object
io_file_set_position(cl_object strm, cl_object large_disp)
{
- int f = IO_FILE_DESCRIPTOR(strm);
- if (isatty(f)) return(ECL_NIL);
ecl_off_t disp;
int mode;
+ int f = IO_FILE_DESCRIPTOR(strm);
+ if (isatty(f)) return(ECL_NIL);
if (Null(large_disp)) {
disp = 0;
mode = SEEK_END;
(2) Starting up ECL in a Windows console gives this error (as you can
see, it's simply a problem with character encoding of the name of the
new maintainer):
ECL (Embeddable Common-Lisp) 15.2.21 (git:UNKNOWN)
Copyright (C) 1984 Taiichi Yuasa and Masami Hagiya
Copyright (C) 1993 Giuseppe Attardi
Copyright (C) 2000 Juan J. Garcia-Ripoll
Copyright (C) 2015 Daniel Kochma
Condition of type: STREAM-ENCODING-ERROR
encoding error on stream #<i/o win32 console stream "stdout"> (:EXTERNAL-FORMAT
...
Available restarts:
1. (CONTINUE) Ignore character
2. (USE-VALUE) Store a different character code.
Top level in: #<process TOP-LEVEL>.
>
--
Paul
diff --git a/_file.d b/file.d
index 578cc27..8427b3b 100755
--- a/_file.d
+++ b/file.d
@@ -2773,12 +2773,12 @@ io_file_length(cl_object strm)
static cl_object
io_file_get_position(cl_object strm)
{
- int f = IO_FILE_DESCRIPTOR(strm);
- if (isatty(f)) return(ECL_NIL);
-
cl_object output;
ecl_off_t offset;
+ int f = IO_FILE_DESCRIPTOR(strm);
+ if (isatty(f)) return(ECL_NIL);
+
ecl_disable_interrupts();
offset = lseek(f, 0, SEEK_CUR);
ecl_enable_interrupts();
@@ -2810,10 +2810,10 @@ io_file_get_position(cl_object strm)
static cl_object
io_file_set_position(cl_object strm, cl_object large_disp)
{
- int f = IO_FILE_DESCRIPTOR(strm);
- if (isatty(f)) return(ECL_NIL);
ecl_off_t disp;
int mode;
+ int f = IO_FILE_DESCRIPTOR(strm);
+ if (isatty(f)) return(ECL_NIL);
if (Null(large_disp)) {
disp = 0;
mode = SEEK_END;
------------------------------------------------------------------------------
Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
news, videos, case studies, tutorials and more. Take a look and join the
conversation now. http://goparallel.sourceforge.net/
_______________________________________________
Ecls-list mailing list
Ecls-list@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ecls-list