X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Finput-scheme.cc;h=c24d2ed1b0d3e0cddfe8786daa81b6a0bb63c56f;hb=ce83e6caa171094d868362fb670ca2193202de8b;hp=f3b8c4e52f42e6df936151504dd5e20253398b45;hpb=2c22efe5a46a37065b10c3f51c5d7db00d07d318;p=lilypond.git diff --git a/lily/input-scheme.cc b/lily/input-scheme.cc index f3b8c4e52f..c24d2ed1b0 100644 --- a/lily/input-scheme.cc +++ b/lily/input-scheme.cc @@ -3,17 +3,17 @@ source file of the GNU LilyPond music typesetter - (c) 2005 Han-Wen Nienhuys + (c) 2005--2006 Han-Wen Nienhuys */ -#include "string.hh" -#include "input-smob.hh" +#include "std-string.hh" +#include "input.hh" /* We don't use IMPLEMENT_TYPE_P, since the smobification part is implemented separately from the class. */ LY_DEFINE (ly_input, "ly:input-location?", 1, 0, 0, (SCM x), - "Return #t if @var{x} is an input location.") + "Is @var{x} an @code{input-location}?") { return unsmob_input (x) ? SCM_BOOL_T : SCM_BOOL_F; } @@ -28,32 +28,40 @@ LY_DEFINE (ly_input_message, "ly:input-message", 2, 0, 1, (SCM sip, SCM msg, SCM msg = scm_simple_format (SCM_BOOL_F, msg, rest); - String m = ly_scm2string (msg); + string m = ly_scm2string (msg); ip->message (m); return SCM_UNSPECIFIED; } -LY_DEFINE (ly_input_file_line_column, "ly:input-file-line-char-column", 1, 0, 0, (SCM sip), + +LY_DEFINE (ly_input_file_line_column, + "ly:input-file-line-char-column", + 1, 0, 0, (SCM sip), "Return input location in @var{sip} as (file-name line char column).") { Input *ip = unsmob_input (sip); SCM_ASSERT_TYPE (ip, sip, SCM_ARG1, __FUNCTION__, "input location"); - int l, ch, col; + int l = 0; + int ch = 0; + int col = 0; ip->get_counts (&l, &ch, &col); - return scm_list_4 (scm_makfrom0str (ip->file_string ().to_str0 ()), + return scm_list_4 (scm_makfrom0str (ip->file_string ().c_str ()), scm_from_int (l), scm_from_int (ch), scm_from_int (col)); } -LY_DEFINE (ly_input_both_locations, "ly:input-both-locations", 1, 0, 0, (SCM sip), - "Return input location in @var{sip} as (file-name first-line first-column last-line last-column).") +LY_DEFINE (ly_input_both_locations, + "ly:input-both-locations", + 1, 0, 0, (SCM sip), + "Return input location in @var{sip} as " + "(file-name first-line first-column last-line last-column).") { Input *ip = unsmob_input (sip); SCM_ASSERT_TYPE (ip, sip, SCM_ARG1, __FUNCTION__, "input location"); - return scm_list_5 (scm_makfrom0str (ip->file_string ().to_str0 ()), + return scm_list_5 (scm_makfrom0str (ip->file_string ().c_str ()), scm_from_int (ip->line_number ()), scm_from_int (ip->column_number ()), scm_from_int (ip->end_line_number ()),