%% Generated by lilypond-book
%% Options: [exampleindent=10.16\mm,indent=0\mm,line-width=160\mm]
\include "lilypond-book-preamble.ly"


% ****************************************************************
% Start cut-&-pastable-section
% ****************************************************************

#(ly:set-option 'eps-box-padding 3.000000)



\paper {
  indent = 0\mm
  line-width = 160\mm
  % offset the left padding, also add 1mm as lilypond creates cropped
  % images with a little space on the right
  line-width = #(- line-width (* mm  3.000000) (* mm 1))
}

\layout {
  
}




% ****************************************************************
% ly snippet:
% ****************************************************************
\sourcefilename "/lilypond-2.24.4/input/regression/markup-cyclic-reference.ly"
\sourcefileline 0
\version "2.19.13"
#(ly:set-option 'warning-as-error #t)
#(ly:expect-warning (ly:translate-cpp-warning-scheme "Markup depth exceeds maximal value of %d; Markup: %s") 1024 'cycle-markup)
#(ly:expect-warning (ly:translate-cpp-warning-scheme "Markup depth exceeds maximal value of %d; Markup: %s") 1024 'cycleII-markup)

\header {
  texidoc = "Cyclic markup definitions should cause a warning, but
not crash LilyPond with an endless loop"
}

% A simple markup function that calls itself in a loop.
#(define-markup-command (cycle layout props m)
  (markup?)
  (interpret-markup layout props (make-cycle-markup m)))

% Two simple markup functions that call each other in a loop.
#(define-markup-command (cycleI layout props m)
  (markup?)
  (interpret-markup layout props (make-cycleII-markup m)))
#(define-markup-command (cycleII layout props m)
  (markup?)
  (interpret-markup layout props (make-cycleI-markup m)))


\markup { \cycle "a" }
\markup { \cycleI "a" }



% ****************************************************************
% end ly snippet
% ****************************************************************
