emacs-diffs
[Top][All Lists]
Advanced

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

[Emacs-diffs] Changes to emacs/src/callproc.c


From: Kim F . Storm
Subject: [Emacs-diffs] Changes to emacs/src/callproc.c
Date: Wed, 13 Oct 2004 05:57:38 -0400

Index: emacs/src/callproc.c
diff -c emacs/src/callproc.c:1.203 emacs/src/callproc.c:1.204
*** emacs/src/callproc.c:1.203  Wed Sep 29 23:40:53 2004
--- emacs/src/callproc.c        Wed Oct 13 09:50:36 2004
***************
*** 216,222 ****
       int nargs;
       register Lisp_Object *args;
  {
!   Lisp_Object infile, buffer, current_dir, display, path;
    int fd[2];
    int filefd;
    register int pid;
--- 216,223 ----
       int nargs;
       register Lisp_Object *args;
  {
!   Lisp_Object infile, buffer, current_dir, path;
!   int display_p;
    int fd[2];
    int filefd;
    register int pid;
***************
*** 372,378 ****
      UNGCPRO;
    }
  
!   display = nargs >= 4 ? args[3] : Qnil;
  
    filefd = emacs_open (SDATA (infile), O_RDONLY, 0);
    if (filefd < 0)
--- 373,379 ----
      UNGCPRO;
    }
  
!   display_p = INTERACTIVE && nargs >= 4 && !NILP (args[3]);
  
    filefd = emacs_open (SDATA (infile), O_RDONLY, 0);
    if (filefd < 0)
***************
*** 747,753 ****
      int first = 1;
      int total_read = 0;
      int carryover = 0;
!     int display_on_the_fly = !NILP (display) && INTERACTIVE;
      struct coding_system saved_coding;
      int pt_orig = PT, pt_byte_orig = PT_BYTE;
      int inserted;
--- 748,754 ----
      int first = 1;
      int total_read = 0;
      int carryover = 0;
!     int display_on_the_fly = display_p;
      struct coding_system saved_coding;
      int pt_orig = PT, pt_byte_orig = PT_BYTE;
      int inserted;
***************
*** 823,834 ****
                  {
                    /* We have detected some coding system.  But,
                       there's a possibility that the detection was
!                      done by insufficient data.  So, we give up
!                      displaying on the fly.  */
                    xfree (decoding_buf);
                    display_on_the_fly = 0;
                    process_coding = saved_coding;
                    carryover = nread;
                    continue;
                  }
  
--- 824,838 ----
                  {
                    /* We have detected some coding system.  But,
                       there's a possibility that the detection was
!                      done by insufficient data.  So, we try the code
!                      detection again with more data.  */
                    xfree (decoding_buf);
                    display_on_the_fly = 0;
                    process_coding = saved_coding;
                    carryover = nread;
+                   /* This is to make the above condition always
+                      fails in the future.  */
+                   saved_coding.type = coding_type_no_conversion;
                    continue;
                  }
  
***************
*** 929,940 ****
            bufptr = tempptr;
          }
  
!       if (!NILP (display) && INTERACTIVE)
          {
            if (first)
              prepare_menu_bars ();
            first = 0;
            redisplay_preserve_echo_area (1);
          }
        immediate_quit = 1;
        QUIT;
--- 933,948 ----
            bufptr = tempptr;
          }
  
!       if (display_p)
          {
            if (first)
              prepare_menu_bars ();
            first = 0;
            redisplay_preserve_echo_area (1);
+           /* This variable might have been set to 0 for code
+              detection.  In that case, we set it back to 1 because
+              we should have already detected a coding system.  */
+           display_on_the_fly = 1;
          }
        immediate_quit = 1;
        QUIT;




reply via email to

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