LEFT | RIGHT |
(no file at all) | |
1 /* | 1 /* |
2 This file is part of LilyPond, the GNU music typesetter. | 2 This file is part of LilyPond, the GNU music typesetter. |
3 | 3 |
4 Copyright (C) 2002--2019 Han-Wen Nienhuys <hanwen@xs4all.nl> | 4 Copyright (C) 2002--2019 Han-Wen Nienhuys <hanwen@xs4all.nl> |
5 | 5 |
6 LilyPond is free software: you can redistribute it and/or modify | 6 LilyPond is free software: you can redistribute it and/or modify |
7 it under the terms of the GNU General Public License as published by | 7 it under the terms of the GNU General Public License as published by |
8 the Free Software Foundation, either version 3 of the License, or | 8 the Free Software Foundation, either version 3 of the License, or |
9 (at your option) any later version. | 9 (at your option) any later version. |
10 | 10 |
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
58 | 58 |
59 SCM ifs = me->interfaces (); | 59 SCM ifs = me->interfaces (); |
60 | 60 |
61 SCM all_ifaces = ly_all_grob_interfaces (); | 61 SCM all_ifaces = ly_all_grob_interfaces (); |
62 bool found = false; | 62 bool found = false; |
63 for (; !found && scm_is_pair (ifs); ifs = scm_cdr (ifs)) | 63 for (; !found && scm_is_pair (ifs); ifs = scm_cdr (ifs)) |
64 { | 64 { |
65 SCM iface = scm_hashq_ref (all_ifaces, scm_car (ifs), SCM_BOOL_F); | 65 SCM iface = scm_hashq_ref (all_ifaces, scm_car (ifs), SCM_BOOL_F); |
66 if (scm_is_false (iface)) | 66 if (scm_is_false (iface)) |
67 { | 67 { |
68 string msg = to_string (_f ("Unknown interface `%s'", | 68 programming_error (_f ("Unknown interface `%s'", |
69 ly_symbol2string (scm_car (ifs)).c_str ())
); | 69 ly_symbol2string (scm_car (ifs)).c_str ())); |
70 programming_error (msg); | |
71 continue; | 70 continue; |
72 } | 71 } |
73 | 72 |
74 found = found || scm_is_true (scm_c_memq (sym, scm_caddr (iface))); | 73 found = found || scm_is_true (scm_c_memq (sym, scm_caddr (iface))); |
75 } | 74 } |
76 | 75 |
77 if (!found) | 76 if (!found) |
78 { | 77 { |
79 string str = to_string (_f ("Grob `%s' has no interface for property `%s'"
, | 78 programming_error (_f ("Grob `%s' has no interface for property `%s'", |
80 me->name ().c_str (), | 79 me->name ().c_str (), |
81 ly_symbol2string (sym).c_str ())); | 80 ly_symbol2string (sym).c_str ())); |
82 programming_error (str); | |
83 } | 81 } |
84 } | 82 } |
LEFT | RIGHT |