Index: ChangeLog
===================================================================
RCS file: /cvsroot/lilypond/lilypond/ChangeLog,v
retrieving revision 1.3836.2.42
diff -p -u -r1.3836.2.42 ChangeLog
--- ChangeLog 23 Oct 2005 15:58:39 -0000 1.3836.2.42
+++ ChangeLog 23 Oct 2005 19:03:38 -0000
@@ -1,3 +1,8 @@
+2005-10-23 Jan Nieuwenhuizen
+
+ * scm/lily.scm: Remove horrendous running-from-gui? kludge.
+ (lilypond-main): Redirect to gui-main if 'gui is set.
+
2005-10-23 Erik Sandberg
* scripts/lilypond-book.py: Backport bugfix by Mats Bengtsson.
Index: lily/lily-parser-scheme.cc
===================================================================
RCS file: /cvsroot/lilypond/lilypond/lily/lily-parser-scheme.cc,v
retrieving revision 1.16
diff -p -u -r1.16 lily-parser-scheme.cc
--- lily/lily-parser-scheme.cc 22 Jun 2005 15:06:05 -0000 1.16
+++ lily/lily-parser-scheme.cc 23 Oct 2005 19:02:10 -0000
@@ -8,15 +8,16 @@
#include
+#include "file-name-map.hh"
#include "file-name.hh"
#include "file-path.hh"
-#include "main.hh"
-#include "lily-parser.hh"
-#include "warn.hh"
-#include "source.hh"
#include "lily-lexer.hh"
+#include "lily-parser.hh"
#include "ly-module.hh"
-#include "file-name-map.hh"
+#include "main.hh"
+#include "program-option.hh"
+#include "source.hh"
+#include "warn.hh"
/* Do not append `!' suffix, since 1st argument is not modified. */
LY_DEFINE (ly_set_point_and_click, "ly:set-point-and-click",
@@ -52,7 +53,7 @@ LY_DEFINE (ly_parse_file, "ly:parse-file
/* When running from gui, generate output in .ly source directory. */
if (output_name_global.is_empty ()
- && scm_call_0 (ly_lily_module_constant ("running-from-gui?")) == SCM_BOOL_T)
+ && ly_get_option (ly_symbol2scm ("gui")) == SCM_BOOL_T)
{
File_name f (file);
f.base_ = "";
Index: scm/lily.scm
===================================================================
RCS file: /cvsroot/lilypond/lilypond/scm/lily.scm,v
retrieving revision 1.367.2.3
diff -p -u -r1.367.2.3 lily.scm
--- scm/lily.scm 1 Aug 2005 15:14:46 -0000 1.367.2.3
+++ scm/lily.scm 23 Oct 2005 19:02:10 -0000
@@ -348,6 +348,9 @@ The syntax is the same as `define*-publi
(define-public (lilypond-main files)
"Entry point for LilyPond."
+ (if (ly:get-option 'gui)
+ (gui-main files))
+
(if (null? files)
(no-files-handler))
@@ -385,29 +388,12 @@ The syntax is the same as `define*-publi
(use-modules (scm editor))
-(define-public (running-from-gui?)
- (let ((have-tty? (isatty? (current-input-port))))
- ;; If no TTY and not using safe, assume running from GUI.
- (cond
- ((eq? PLATFORM 'windows)
- ;; Always write to .log file.
- (if DOS #t
- ;; This only works for i586-mingw32msvc-gcc -mwindows
- (not (string-match "standard input"
- (format #f "~S" (current-input-port))))))
- ;; FIXME: using -dgui would be nice, but it does not work
- ((eq? PLATFORM 'foo-windows)
- (ly:get-option 'gui))
- ((eq? PLATFORM 'darwin) #f)
- (else
- (not have-tty?)))))
-
(define-public (gui-main files)
(if (null? files)
(gui-no-files-handler))
(let* ((base (basename (car files) ".ly"))
(log-name (string-append base ".log")))
- (if (not (running-from-gui?))
+ (if (not (ly:get-option 'gui))
(ly:message (_ "Redirecting output to ~a...") log-name))
(ly:stderr-redirect log-name "w")
(ly:message "# -*-compilation-*-")
@@ -430,7 +416,3 @@ The syntax is the same as `define*-publi
(ly:message (_ "Invoking `~a'...") cmd)
(system cmd)
(exit 1)))
-
-(or (not (running-from-gui?))
- (ly:get-option 'safe)
- (define lilypond-main gui-main))