X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=ly%2Fguile-debugger.ly;fp=ly%2Fguile-debugger.ly;h=9ed75311ed898c2e9d0899a5b0e32627b5727481;hb=941dff9d2a67080e0dd8474f1e70f0c72ace6424;hp=0000000000000000000000000000000000000000;hpb=5a22d6233a39d3164e1ca043244794c268be4ad0;p=lilypond.git diff --git a/ly/guile-debugger.ly b/ly/guile-debugger.ly new file mode 100644 index 0000000000..9ed75311ed --- /dev/null +++ b/ly/guile-debugger.ly @@ -0,0 +1,55 @@ +%%%% This file is part of LilyPond, the GNU music typesetter. +%%%% +%%%% Copyright (C) 2009--2011 by Ian Hulin +%%%% +%%%% LilyPond is free software: you can redistribute it and/or modify +%%%% it under the terms of the GNU General Public License as published by +%%%% the Free Software Foundation, either version 3 of the License, or +%%%% (at your option) any later version. +%%%% +%%%% LilyPond is distributed in the hope that it will be useful, +%%%% but WITHOUT ANY WARRANTY; without even the implied warranty of +%%%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +%%%% GNU General Public License for more details. +%%%% +%%%% You should have received a copy of the GNU General Public License +%%%% along with LilyPond. If not, see . + + + +%% \include this file to enable the setting of breakpoints in guile. +%% 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.14.0" + +% 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)