Index: /trunk/core/console.c
===================================================================
--- /trunk/core/console.c	(revision 1393)
+++ /trunk/core/console.c	(revision 1394)
@@ -147,4 +147,10 @@
 void console_add_line(const char *str)
 {
+	// Set console_autoredraw to -1 to stop script print statements from being displayed on screen
+	// Can be used to send script output to a file (using print_screen function); but not have it displayed
+	// on the LCD.
+    if (console_autoredraw == -1)
+	return;
+
     console_ensure_inited();
 
Index: /trunk/core/script.c
===================================================================
--- /trunk/core/script.c	(revision 1393)
+++ /trunk/core/script.c	(revision 1394)
@@ -422,11 +422,18 @@
 void script_print_screen_statement(int val)
 {
+  // Negative values for 'val' parameter will append to log file,
+  // positive values will truncate the log file
+  int flag_trunc = O_TRUNC;
+
   print_screen_p = val;
   if (val) {
     if (print_screen_d>=0) close(print_screen_d);
-    if (val<0) val = -val;
+    if (val<0) {
+       flag_trunc = 0;
+       val = -val;
+    }
     while (val > 9999) val -= 10000;
     sprintf(print_screen_file, "A/CHDK/LOGS/LOG_%04d.TXT", val);
-    print_screen_d = open(print_screen_file, O_WRONLY|O_CREAT|O_TRUNC, 0777);
+    print_screen_d = open(print_screen_file, O_WRONLY|O_CREAT|flag_trunc, 0777);
   }
 }
