[Top][All Lists]
[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);
- [Emacs-diffs] Changes to emacs/src/print.c,
Kim F. Storm <=