diff options
author | Paul Eggert <eggert@cs.ucla.edu> | 2016-04-04 09:36:30 -0700 |
---|---|---|
committer | Paul Eggert <eggert@cs.ucla.edu> | 2016-04-04 09:44:19 -0700 |
commit | 6bccb19c9bef1189c8e853ff7cc16b889a3a57e3 (patch) | |
tree | 9555d6605362ec0c452b343d549d2af3c983415d /etc/DEBUG | |
parent | a11756ad0e2ee719266c0081150c20996cce8e0d (diff) | |
download | emacs-6bccb19c9bef1189c8e853ff7cc16b889a3a57e3.tar.gz |
Port redirect-debugging-output to non-GNU/Linux
Problem reported by Kylie McClain for musl in:
http://lists.gnu.org/archive/html/emacs-devel/2016-03/msg01592.html
* etc/DEBUG, etc/NEWS: Mention this.
* src/callproc.c (child_setup) [!MSDOS]:
* src/dispnew.c (init_display):
* src/emacs.c (main, Fdaemon_initialized):
* src/minibuf.c (read_minibuf_noninteractive):
* src/regex.c (xmalloc, xrealloc):
Prefer symbolic names like STDERR_FILENO to magic numbers like 2,
to make file-descriptor manipulation easier to follow.
* src/emacs.c (relocate_fd) [!WINDOWSNT]: Remove; no longer needed
now that we make sure stdin, stdout and stderr are open. All uses
removed.
(main): Make sure standard FDs are OK. Prefer symbolic names like
EXIT_FAILURE to magic numbers like 1. Use bool for boolean.
* src/lisp.h (init_standard_fds): New decl.
* src/print.c (WITH_REDIRECT_DEBUGGING_OUTPUT) [GNU_LINUX]:
Remove; no longer needed.
(Fredirect_debugging_output): Define on all platforms, not just
GNU/Linux. Redirect file descriptor, not stream, so that the code
works even if stderr is not an lvalue. Report an error if the
file arg is neither a string nor nil.
(syms_of_print): Always define redirect-debugging-output.
* src/sysdep.c (force_open, init_standard_fds): New functions.
Diffstat (limited to 'etc/DEBUG')
-rw-r--r-- | etc/DEBUG | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/etc/DEBUG b/etc/DEBUG index eef67dad500..d5d582902ab 100644 --- a/etc/DEBUG +++ b/etc/DEBUG @@ -144,8 +144,8 @@ These are displayed as integer values (or structures, if you used the "--enable-check-lisp-object-type" option at configure time) that are hard to interpret, especially if they represent long lists. You can use the 'pp' command to display them in their Lisp form. That command -displays its output on the standard error stream (on GNU/Linux, you -can redirect that to a file using "M-x redirect-debugging-output"). +displays its output on the standard error stream, which you +can redirect to a file using "M-x redirect-debugging-output". This means that if you attach GDB to a running Emacs that was invoked from a desktop icon, chances are you will not see the output at all, or it will wind up in an obscure place (check the documentation of @@ -250,8 +250,8 @@ To see the current value of a Lisp Variable, use 'pv variable'. These commands send their output to stderr; if that is closed or redirected to some file you don't know, you won't see their output. This is particularly so for Emacs invoked on MS-Windows from the -desktop shortcut. On GNU/Linux, you can use the command -'redirect-debugging-output' to redirect stderr to a file. +desktop shortcut. You can use the command 'redirect-debugging-output' +to redirect stderr to a file. Note: It is not a good idea to try 'pr', 'pp', or 'pv' if you know that Emacs is in deep trouble: its stack smashed (e.g., if it encountered SIGSEGV |