Binary files bc-1.06.95-orig/dc/.dc.c.swp and bc-1.06.95/dc/.dc.c.swp differ diff -urNp bc-1.06.95-orig/dc/eval.c bc-1.06.95/dc/eval.c --- bc-1.06.95-orig/dc/eval.c 2006-06-04 13:04:40.000000000 +0200 +++ bc-1.06.95/dc/eval.c 2011-09-08 15:11:48.815060585 +0200 @@ -661,7 +661,9 @@ dc_evalfile DC_DECLARG((fp)) int next_negcmp = 0; dc_data datum; - signal(SIGINT, dc_trap_interrupt); + /* Do not mask SIGINT when running from stdin */ + if (fp != stdin) + signal(SIGINT, dc_trap_interrupt); stdin_lookahead = EOF; for (c=getc(fp); c!=EOF; c=peekc){ peekc = getc(fp); diff -urNp bc-1.06.95-orig/doc/dc.texi bc-1.06.95/doc/dc.texi --- bc-1.06.95-orig/doc/dc.texi 2006-06-11 10:15:54.000000000 +0200 +++ bc-1.06.95/doc/dc.texi 2011-09-08 15:09:37.032059798 +0200 @@ -126,6 +126,8 @@ To exit, use @samp{q}. (or whatever other keystroke your system uses to generate a @code{SIGINT}) does not exit; it is used to abort macros that are looping, etc. +This is not true if running on stdin to prevent accidental user confusion +about @kbd{C-c} unfunctionality. A reverse-polish calculator stores numbers on a stack. Entering a number pushes it on the stack.