Index: emacs/src/lread.c
diff -c emacs/src/lread.c:1.336 emacs/src/lread.c:1.337
*** emacs/src/lread.c:1.336     Thu Jul 14 11:24:00 2005
--- emacs/src/lread.c   Wed Jul 20 14:29:00 2005
***************
*** 674,680 ****
  {
    register FILE *stream;
    register int fd = -1;
-   register Lisp_Object lispstream;
    int count = SPECPDL_INDEX ();
    Lisp_Object temp;
    struct gcpro gcpro1;
--- 674,679 ----
***************
*** 904,913 ****
      }
  
    GCPRO1 (file);
!   lispstream = Fcons (Qnil, Qnil);
!   XSETCARFASTINT (lispstream, (EMACS_UINT)stream >> 16);
!   XSETCDRFASTINT (lispstream, (EMACS_UINT)stream & 0xffff);
!   record_unwind_protect (load_unwind, lispstream);
    record_unwind_protect (load_descriptor_unwind, load_descriptor_list);
    specbind (Qload_file_name, found);
    specbind (Qinhibit_file_name_operation, Qnil);
--- 903,909 ----
      }
  
    GCPRO1 (file);
!   record_unwind_protect (load_unwind, make_save_value (stream, 0));
    record_unwind_protect (load_descriptor_unwind, load_descriptor_list);
    specbind (Qload_file_name, found);
    specbind (Qinhibit_file_name_operation, Qnil);
***************
*** 960,967 ****
  load_unwind (stream)  /* used as unwind-protect function in load */
       Lisp_Object stream;
  {
!   fclose ((FILE *) (XFASTINT (XCAR (stream)) << 16
!                   | XFASTINT (XCDR (stream))));
    if (--load_in_progress < 0) load_in_progress = 0;
    return Qnil;
  }
--- 956,964 ----
  load_unwind (stream)  /* used as unwind-protect function in load */
       Lisp_Object stream;
  {
!   struct Lisp_Save_Value *p = XSAVE_VALUE (stream);
! 
!   fclose ((FILE *) p->pointer);
    if (--load_in_progress < 0) load_in_progress = 0;
    return Qnil;
  }


_______________________________________________
Emacs-diffs mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/emacs-diffs

Reply via email to