nano-devel
[Top][All Lists]
Advanced

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

[Nano-devel] [PATCH] signals: don't trap segfault+abort when envvar NANO


From: Benno Schulenberg
Subject: [Nano-devel] [PATCH] signals: don't trap segfault+abort when envvar NANO_NOCATCH is defined
Date: Sun, 6 May 2018 17:14:02 +0200

When the user wants to get a backtrace, the crash handler shouldn't
kick in.
---
 doc/nano.1 | 4 ++++
 src/nano.c | 2 ++
 2 files changed, 6 insertions(+)

diff --git a/doc/nano.1 b/doc/nano.1
index bf8ff871..9dbb94a6 100644
--- a/doc/nano.1
+++ b/doc/nano.1
@@ -309,6 +309,10 @@ not by default distinguish modified from unmodified arrow 
keys.
 Please report any other bugs that you encounter via:
 .br
 \fIhttps://savannah.gnu.org/bugs/?group=nano\fR.
+.sp
+When nano crashes, it will save any modified buffers to emergency .save files.
+If you are able to reproduce the crash and you want to get a backtrace,
+define the environment variable \fBNANO_NOCATCH\fR.
 
 .SH HOMEPAGE
 \fIhttps://nano-editor.org/\fR
diff --git a/src/nano.c b/src/nano.c
index 2398d91c..2620b418 100644
--- a/src/nano.c
+++ b/src/nano.c
@@ -1213,6 +1213,7 @@ void signal_init(void)
        }
 
 #ifndef DEBUG
+       if (getenv("NANO_NOCATCH") == NULL) {
        /* Trap SIGSEGV and SIGABRT to save any changed buffers and reset
         * the terminal to a usable state.  Reset these handlers to their
         * defaults as soon as their signal fires. */
@@ -1220,6 +1221,7 @@ void signal_init(void)
        act.sa_flags |= SA_RESETHAND;
        sigaction(SIGSEGV, &act, NULL);
        sigaction(SIGABRT, &act, NULL);
+       }
 #endif
 }
 
-- 
2.17.0




reply via email to

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