~ chicken-core (chicken-5) dc0ba86aa9d4488a57ccc7e03c7dcc5b6ff41798


commit dc0ba86aa9d4488a57ccc7e03c7dcc5b6ff41798
Author:     unknown <felix@.(none)>
AuthorDate: Thu Oct 22 11:46:23 2009 +0200
Commit:     unknown <felix@.(none)>
CommitDate: Fri Oct 30 15:42:09 2009 +0100

    disabled e-mail transmission in chicken-bug

diff --git a/chicken-bug.1 b/chicken-bug.1
index 1e38b1a1..6d75838e 100644
--- a/chicken-bug.1
+++ b/chicken-bug.1
@@ -37,11 +37,10 @@ executables and libraries. Non-option arguments given on the command line
 are inserted into the bug report. If no option is given, or if 
 .B \-
 has been passed on the command line, then a description of the problem
-is read from standard input, until EOF (CTRL-D) is read.
+is read from standard input, until EOF (CTRL-D) or a line consisting only
+of "." (period) is read.
 
-The report will be automatically e-mailed to the CHICKEN maintainers,
-if an SMTP connection can be established. If no connection can be
-made, the bug report will be written to a file in the current directory,
+The bug report will be written to a file in the current directory,
 which should be sent to CHICKEN maintainers as it contains various
 useful bits of information that make it easier to classify the 
 problem described.
diff --git a/chicken-bug.scm b/chicken-bug.scm
index 3980ece1..8aa5663f 100644
--- a/chicken-bug.scm
+++ b/chicken-bug.scm
@@ -33,7 +33,8 @@
   "chicken-janitors@nongnu.org\nchicken-hackers@nongnu.org\nchicken-users@nongnu.org")
 
 (define-constant +destination+ "chicken-janitors@nongnu.org")
-(define-constant +mxservers+ (list "mx10.gnu.org" "mx20.gnu.org"))
+(define-constant +mxservers+ '() ; XXX temporarily disabled 
+  #;(list "mx10.gnu.org" "mx20.gnu.org"))
 (define-constant +send-tries+ 3)
 
 (define-foreign-variable +cc+ c-string "C_TARGET_CC")
@@ -99,13 +100,17 @@ EOF
     (print #<<EOF
 This is the CHICKEN bug report generator. Please enter a detailed
 description of the problem you have encountered and enter CTRL-D (EOF)
-once you have finished. Press CTRL-C to abort the program. You can
+or a line consisting only of "." to finish. Press CTRL-C to abort the program. You can
 also pass the description from a file (just abort now and re-invoke
 "chicken-bug" with one or more input files given on the command-line)
 
 EOF
 ) )
-  (read-all) )
+  (let loop ((data '()))
+    (let ((ln (read-line)))
+      (cond ((or (eof-object? ln) (string=? "." ln))
+	     (string-concatenate-reverse data) )
+	    (else (loop (cons ln data)))))))
 
 (define (justify n)
   (let ((s (number->string n)))
@@ -169,7 +174,9 @@ EOF
         (begin
             (with-output-to-file fname
                 (lambda () (print msg)))
-            (print "\nCould not send mail automatically!\n\nA bug report has been written to `" fname "'.  Please send it to")
+            ;XXX temporarily disabled:
+	    ;(print "\nCould not send mail automatically!\n")
+	    (print "\nA bug report has been written to `" fname "'.  Please send it to")
             (print "one of the following addresses:\n\n" +fallbackdestinations+))
         (or (send-mail (car servs) msg hdrs fname)
             (try-mail (cdr servs) fname hdrs msg))))
Trap