gcl-commits
[Top][All Lists]
Advanced

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

[Gcl-commits] gcl debianchangelog o/file.d o/read.d [Version_2_6_8pre]


From: Camm Maguire
Subject: [Gcl-commits] gcl debianchangelog o/file.d o/read.d [Version_2_6_8pre]
Date: Wed, 07 Jun 2006 15:09:38 +0000

CVSROOT:        /cvsroot/gcl
Module name:    gcl
Branch:         Version_2_6_8pre
Changes by:     Camm Maguire <camm>     06/06/07 15:09:38

Modified files:
        debian         : changelog 
        o              : file.d read.d 

Log message:
        fix read-char-no-hang

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gcl/debian/changelog?cvsroot=gcl&only_with_tag=Version_2_6_8pre&r1=1.220.2.1.4.1.2.1.2.1.2.2.2.1.2.19.2.207.2.23.2.11.2.14.2.13.4.7.2.22.2.41&r2=1.220.2.1.4.1.2.1.2.1.2.2.2.1.2.19.2.207.2.23.2.11.2.14.2.13.4.7.2.22.2.42
http://cvs.savannah.gnu.org/viewcvs/gcl/o/file.d?cvsroot=gcl&only_with_tag=Version_2_6_8pre&r1=1.21.4.1.2.8.10.7.2.1&r2=1.21.4.1.2.8.10.7.2.2
http://cvs.savannah.gnu.org/viewcvs/gcl/o/read.d?cvsroot=gcl&only_with_tag=Version_2_6_8pre&r1=1.14.4.1.2.2.2.4.6.1.6.1.4.1&r2=1.14.4.1.2.2.2.4.6.1.6.1.4.2

Patches:
Index: debian/changelog
===================================================================
RCS file: /cvsroot/gcl/gcl/debian/changelog,v
retrieving revision 
1.220.2.1.4.1.2.1.2.1.2.2.2.1.2.19.2.207.2.23.2.11.2.14.2.13.4.7.2.22.2.41
retrieving revision 
1.220.2.1.4.1.2.1.2.1.2.2.2.1.2.19.2.207.2.23.2.11.2.14.2.13.4.7.2.22.2.42
diff -u -b 
-r1.220.2.1.4.1.2.1.2.1.2.2.2.1.2.19.2.207.2.23.2.11.2.14.2.13.4.7.2.22.2.41 
-r1.220.2.1.4.1.2.1.2.1.2.2.2.1.2.19.2.207.2.23.2.11.2.14.2.13.4.7.2.22.2.42
--- debian/changelog    28 Mar 2006 21:24:15 -0000      
1.220.2.1.4.1.2.1.2.1.2.2.2.1.2.19.2.207.2.23.2.11.2.14.2.13.4.7.2.22.2.41
+++ debian/changelog    7 Jun 2006 15:09:37 -0000       
1.220.2.1.4.1.2.1.2.1.2.2.2.1.2.19.2.207.2.23.2.11.2.14.2.13.4.7.2.22.2.42
@@ -52,8 +52,9 @@
   * Fix fixnum declarations in new smallnthcdr/bignthcdr
   * fix simple-array typep
   * updates for lsp/sys-proclaim
+  * fix read-char-no-hang
 
- -- Camm Maguire <address@hidden>  Tue, 28 Mar 2006 21:24:01 +0000
+ -- Camm Maguire <address@hidden>  Wed,  7 Jun 2006 15:09:24 +0000
 
 gcl (2.6.7-7) unstable; urgency=high
 

Index: o/file.d
===================================================================
RCS file: /cvsroot/gcl/gcl/o/file.d,v
retrieving revision 1.21.4.1.2.8.10.7.2.1
retrieving revision 1.21.4.1.2.8.10.7.2.2
diff -u -b -r1.21.4.1.2.8.10.7.2.1 -r1.21.4.1.2.8.10.7.2.2
--- o/file.d    9 Jan 2006 17:24:57 -0000       1.21.4.1.2.8.10.7.2.1
+++ o/file.d    7 Jun 2006 15:09:38 -0000       1.21.4.1.2.8.10.7.2.2
@@ -742,16 +742,16 @@
                #else
                c = getOneChar(strm->sm.sm_fp);
                #endif
-               if (c == EOF) {
-                 if (xkclfeof(c,strm->sm.sm_fp))
-                       end_of_stream(strm);
-                 else c = getOneChar(strm->sm.sm_fp);
-                 if (c == EOF) end_of_stream(strm);
-               }
+/*             if (c == EOF) { */
+/*               if (xkclfeof(c,strm->sm.sm_fp)) */
+/*                     end_of_stream(strm); */
+/*               else c = getOneChar(strm->sm.sm_fp); */
+/*               if (c == EOF) end_of_stream(strm); */
+/*             } */
                
-               c &= 0377;
+/*             c &= 0377; */
                /* strm->sm.sm_int0++; */
-               return(c);
+               return(c==EOF ? c : (c&0377));
 
        case smm_synonym:
                strm = symbol_value(strm->sm.sm_object0);
@@ -1126,6 +1126,8 @@
        case smm_input:
                if (strm->sm.sm_fp == NULL)
                        closed_stream(strm);
+               if (isatty(fileno(strm->sm.sm_fp)) && !listen_stream(strm))
+                 return(feof(strm->sm.sm_fp) ? TRUE : FALSE);
                {int prev_signals_allowed = signals_allowed;
               AGAIN:
                signals_allowed= sig_at_read;

Index: o/read.d
===================================================================
RCS file: /cvsroot/gcl/gcl/o/read.d,v
retrieving revision 1.14.4.1.2.2.2.4.6.1.6.1.4.1
retrieving revision 1.14.4.1.2.2.2.4.6.1.6.1.4.2
diff -u -b -r1.14.4.1.2.2.2.4.6.1.6.1.4.1 -r1.14.4.1.2.2.2.4.6.1.6.1.4.2
--- o/read.d    21 Oct 2005 16:50:47 -0000      1.14.4.1.2.2.2.4.6.1.6.1.4.1
+++ o/read.d    7 Jun 2006 15:09:38 -0000       1.14.4.1.2.2.2.4.6.1.6.1.4.2
@@ -256,6 +256,13 @@
 
        x = read_object(in);
        vs_push(x);
+       while (listen_stream(in)) {
+         object c=read_char(in);
+         if (cat(c)!=cat_whitespace) {
+           unread_char(c,in);
+           break;
+         }
+       }
 
        if (sharp_eq_context_max > 0)
                x = vs_head = patch_sharp(x);
@@ -2259,12 +2266,13 @@
        else if (strm == Ct)
                strm = symbol_value(sLAterminal_ioA);
        check_type_stream(&strm);
-       if (!listen_stream(strm)) {
+       if (stream_at_end(strm)) {
                if (eof_errorp == Cnil)
                        @(return eof_value)
                else
                        end_of_stream(strm);
        }
+        if (!listen_stream(strm)) @(return Cnil)
        @(return `read_char(strm)`)
 @)
 




reply via email to

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