]> git.donarmstrong.com Git - lilypond.git/blobdiff - ly/guile-debugger.ly
Run grand replace for 2015.
[lilypond.git] / ly / guile-debugger.ly
index f6e63d30776b2f997a29ba8e704df6c969bb2208..c992b652364f2804d44304ee3d2f788c372b9463 100644 (file)
@@ -1,6 +1,6 @@
 %%%% This file is part of LilyPond, the GNU music typesetter.
 %%%%
-%%%% Copyright (C) 2009 by Ian Hulin <ian@hulin.org.uk>
+%%%% Copyright (C) 2009--2015 by Ian Hulin <ian@hulin.org.uk>
 %%%%
 %%%% LilyPond is free software: you can redistribute it and/or modify
 %%%% it under the terms of the GNU General Public License as published by
 
 
 %%  \include this file to enable the setting of breakpoints in guile.
-%%  Once loaded, this file will open a guile debug prompt.  Type
-%%  help
-%%  at the debug prompt to get a list of possible commands.
+%%  Once loaded, this file will open a guile prompt.  Type
+%%  (debug-help)
+%%  at the guile prompt to get a list of possible commands.
 %%  For more information, see the Contributor's Guide.
 
 
-\version "2.13.4"
+\version "2.16.0"
 
-#(use-modules
-  (ice-9 debugger)
-  (ice-9 debugging trace)
-  (ice-9 debugging steps)
-  (ice-9 debugging ice-9-debugger-extensions))
-
-#(define (break! proc)
-   (install-trap (make <procedure-trap>
-                   #:procedure proc
-                   #:behaviour debug-trap)))
-
-#(define (trace! proc)
-   (install-trap (make <procedure-trap>
-                   #:procedure proc
-                   #:behaviour (list trace-trap
-                                     trace-at-exit))))
-
-#(define (trace-subtree! proc)
-   (install-trap (make <procedure-trap>
-                   #:procedure proc
-                   #:behaviour (list trace-trap
-                                     trace-until-exit))))
+% define lilypond-module as a variable in the guile-user module and set
+% to the current Scheme module (which will be the lilypond top-level
+% module)
 
 #(module-define! (resolve-module '(guile-user))
                  'lilypond-module
                  (current-module))
+%
+% Ensure we have command-line recall available at the guile prompt
+%
+#(use-modules (ice-9 readline))
+#(activate-readline)
+#(display "\n Guile debugger for Lilypond")
+#(display "\n For help enter (debug-help)\n")
+%
+% Ensure debugger definitions are available in lilypond-module and guile-user
+%
+#(use-modules (scm guile-debugger))
+#(ly:module-copy (resolve-module '(guile-user))
+                 (resolve-module '(scm guile-debugger)))
 #(top-repl)
+%
+% top-repl has re-set the module to guile-user,
+%  so we need to set it back to lilypond-module
+%
+#(ly:module-copy (current-module) (resolve-module '(lilypond-module)))
 #(set-current-module lilypond-module)