bin/59201: send-pr crashes if intr was used in editor

Heikki Suonsivu hsu at evoluutio.bbnetworks.net
Tue Nov 11 19:30:23 PST 2003


>Number:         59201
>Category:       bin
>Synopsis:       send-pr crashes if intr was used in editor
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Tue Nov 11 19:30:18 PST 2003
>Closed-Date:
>Last-Modified:
>Originator:     Heikki Suonsivu
>Release:        FreeBSD 5.1-CURRENT i386
>Organization:
bbnetworks.net
>Environment:
System: FreeBSD evoluutio.bbnetworks.net 5.1-CURRENT FreeBSD 5.1-CURRENT #0: Tue Nov 11 14:38:21 CST 2003 hsu at evoluutio.bbnetworks.net:/usr/obj/usr/src/sys/GENERIC i386

	This problem is probably the longest ever bug which has
remained unfixed, as I remember ripping my hair off in nightly
computer room due to this some time in 1996.  After send-pr ate my pr
about this, I gave up.

>Description:

For some reason, send-pr seems to get all interrupts from the editor
it uses to edit the PR.  Logically, it assumes that you stopped
editing your PR violently, and removes your PR, not sending or saving
it anywhere.  This happens even if the editor in question does not
stop on the interrupt character or uses it for its own purposes, like
Emacs.

>How-To-Repeat:

Log in on console

setenv EDITOR emacs

send-pr

When in emacs, use interrupt character, ctrl-G.

Type a lenghty and detailed bug report (don't save it anywhere else)

Exit emacs normally

and you get

send-pr: Aborting ...

And your PR is gone.

>Fix:

This at least leaves your PR around:

--- send-pr.orig	Tue Nov 11 13:08:41 2003
+++ send-pr	Wed Nov 12 00:18:17 2003
@@ -262,7 +262,7 @@
 # Catch some signals. ($xs kludge needed by Sun /bin/sh)
 xs=0
 trap 'rm -f $REF $TEMP; exit $xs' 0
-trap 'echo "$COMMAND: Aborting ..."; rm -f $REF $TEMP; xs=1; exit' 1 2 3 13 15
+trap 'echo "$COMMAND: Aborting ... saving unfinished PR into /tmp/pr.$$"; rm -f $REF ; mv $TEMP /tmp/pr.$$; xs=1; exit' 1 2 3 13 15
 
 # If they told us to use a specific file, then do so.
 if [ -n "$IN_FILE" ]; then




>Release-Note:
>Audit-Trail:
>Unformatted:


More information about the freebsd-bugs mailing list