-LY_DEFINE (ly_get_grob_property,
- "ly:get-grob-property", 2, 0, 0, (SCM grob, SCM sym),
- "Get the value of a value in grob @var{g} of property @var{sym}. It\n"
-"will return @code{'()} (end-of-list) if @var{g} doesn't have @var{sym} set.\n"
-"\n"
-"Grob properties are stored as GUILE association lists, with symbols as\n"
-"keys. All lookup functions identify undefined properties with\n"
-"end-of-list (i.e. @code{'()} in Scheme or @code{SCM_EOL} in C)\n"
-"\n"
-"Properties are stored in two ways:\n"
-"@itemize @bullet\n"
-"@item mutable properties.\n"
-"Grob properties that change from object to object. The storage of\n"
-"these are private to a grob. For example pointers to other grobs are\n"
-"always stored in the mutable properties.\n"
-"\n"
-"@item immutable properties.\n"
-"Grob properties that are shared across different grobs of the same\n"
-"type. The storage is shared, and hence it is read-only. Typically, this\n"
-"is used to store function callbacks, and default settings. They are\n"
-"initially read from @file{scm/grob-description.scm}.\n"
-"@end itemize\n"
-"\n")
-{
- Grob * sc = unsmob_grob (grob);
+LY_DEFINE (ly_grob_property, "ly:grob-property",
+ 2, 0, 0, (SCM grob, SCM sym),
+ "Return the value of a value in grob @var{g} of property @var{sym}. "
+ "It will return @code{' ()} (end-of-list) "
+ "if @var{sym} is undefined in @var{g}."
+ "\n\n")
+{
+ Grob *sc = unsmob_grob (grob);