emacs-diffs
[Top][All Lists]
Advanced

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

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


From: Kim F. Storm
Subject: [Emacs-diffs] Changes to emacs/src/print.c
Date: Sun, 23 Nov 2003 16:28:24 -0500

Index: emacs/src/print.c
diff -c emacs/src/print.c:1.193 emacs/src/print.c:1.194
*** emacs/src/print.c:1.193     Fri Sep 19 10:35:40 2003
--- emacs/src/print.c   Sun Nov 23 16:28:24 2003
***************
*** 911,916 ****
--- 911,949 ----
    return character;
  }
  
+ FILE *initial_stderr_stream = NULL;
+ 
+ DEFUN ("redirect-debugging-output", Fredirect_debugging_output, 
Sredirect_debugging_output,
+        1, 2,
+        "FDebug output file: \nP",
+        doc: /* Redirect debugging output (stderr stream) to file FILE.
+ If FILE is nil, reset target to the initial stderr stream.
+ Optional arg APPEND non-nil (interactively, with prefix arg) means
+ append to existing target file.  */) 
+      (file, append)
+      Lisp_Object file, append;
+ {
+   if (initial_stderr_stream != NULL)
+     fclose(stderr);
+   stderr = initial_stderr_stream;
+   initial_stderr_stream = NULL;
+ 
+   if (STRINGP (file))
+     {
+       file = Fexpand_file_name (file, Qnil);
+       initial_stderr_stream = stderr;
+       stderr = fopen(SDATA (file), NILP (append) ? "w" : "a");
+       if (stderr == NULL)
+       {
+         stderr = initial_stderr_stream;
+         initial_stderr_stream = NULL;
+         report_file_error ("Cannot open debugging output stream",
+                            Fcons (file, Qnil));
+       }
+     }
+   return Qnil;
+ }
+ 
  /* This is the interface for debugging printing.  */
  
  void
***************
*** 2164,2169 ****
--- 2197,2203 ----
    defsubr (&Sterpri);
    defsubr (&Swrite_char);
    defsubr (&Sexternal_debugging_output);
+   defsubr (&Sredirect_debugging_output);
  
    Qexternal_debugging_output = intern ("external-debugging-output");
    staticpro (&Qexternal_debugging_output);




reply via email to

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