[gimp] Bug 708033 - Add paragraph support for the long description in pdbgen



commit 9563a614f20da84754d7a81d4b1cabfab2668d4f
Author: Jehan <jehan girinstud io>
Date:   Sat Sep 14 13:12:26 2013 +1200

    Bug 708033 - Add paragraph support for the long description in pdbgen
    
    Single newlines in procedure descriptions are still considered normal
    spaces. But 2 newlines are transformed into 1 newline. 3 newlines into
    2 newlines. And so on.
    This allows for a start of nicer output in the procedure browser or C
    file comments (and consequently in generated html doc).

 app/pdb/channel-cmds.c          |   10 +++++--
 app/pdb/context-cmds.c          |   30 ++++++++++++++++--------
 app/pdb/drawable-cmds.c         |    9 +++++--
 app/pdb/gradient-cmds.c         |    9 +++++--
 app/pdb/image-select-cmds.c     |   24 +++++++++++++------
 app/pdb/item-transform-cmds.c   |   29 +++++++++++++++--------
 libgimp/gimpchannel_pdb.c       |   15 ++++++-----
 libgimp/gimpcontext_pdb.c       |   44 +++++++++++++++++++----------------
 libgimp/gimpdrawable_pdb.c      |   16 ++++++------
 libgimp/gimpgradient_pdb.c      |   12 +++++-----
 libgimp/gimpimageselect_pdb.c   |   48 +++++++++++++++++++++-----------------
 libgimp/gimpitemtransform_pdb.c |   42 ++++++++++++++++++++-------------
 tools/pdbgen/app.pl             |   13 ++++++----
 tools/pdbgen/pdbgen.pl          |    7 ++++-
 14 files changed, 184 insertions(+), 124 deletions(-)
---
diff --git a/app/pdb/channel-cmds.c b/app/pdb/channel-cmds.c
index cebc515..0886a44 100644
--- a/app/pdb/channel-cmds.c
+++ b/app/pdb/channel-cmds.c
@@ -370,7 +370,9 @@ register_channel_procs (GimpPDB *pdb)
   gimp_procedure_set_static_strings (procedure,
                                      "gimp-channel-new",
                                      "Create a new channel.",
-                                     "This procedure creates a new channel with the specified width, height, 
name, opacity and color. The new channel still needs to be added to the image, as this is not automatic. Add 
the new channel with 'gimp-image-insert-channel'. Other attributes, such as channel visibility, should be set 
with explicit procedure calls. The channel's contents are undefined initially.",
+                                     "This procedure creates a new channel with the specified width, height, 
name, opacity and color.\n"
+                                     "The new channel still needs to be added to the image, as this is not 
automatic. Add the new channel with 'gimp-image-insert-channel'. Other attributes, such as channel 
visibility, should be set with explicit procedure calls.\n"
+                                     "The channel's contents are undefined initially.",
                                      "Spencer Kimball & Peter Mattis",
                                      "Spencer Kimball & Peter Mattis",
                                      "1995-1996",
@@ -431,7 +433,8 @@ register_channel_procs (GimpPDB *pdb)
   gimp_procedure_set_static_strings (procedure,
                                      "gimp-channel-new-from-component",
                                      "Create a new channel from a color component",
-                                     "This procedure creates a new channel from a color component. The new 
channel still needs to be added to the image, as this is not automatic. Add the new channel with 
'gimp-image-insert-channel'. Other attributes, such as channel visibility, should be set with explicit 
procedure calls.",
+                                     "This procedure creates a new channel from a color component.\n"
+                                     "The new channel still needs to be added to the image, as this is not 
automatic. Add the new channel with 'gimp-image-insert-channel'. Other attributes, such as channel 
visibility, should be set with explicit procedure calls.",
                                      "Shlomi Fish <shlomif iglu org il>",
                                      "Shlomi Fish",
                                      "2005",
@@ -474,7 +477,8 @@ register_channel_procs (GimpPDB *pdb)
   gimp_procedure_set_static_strings (procedure,
                                      "gimp-channel-copy",
                                      "Copy a channel.",
-                                     "This procedure copies the specified channel and returns the copy. The 
new channel still needs to be added to the image, as this is not automatic. Add the new channel with 
'gimp-image-insert-channel'.",
+                                     "This procedure copies the specified channel and returns the copy.\n"
+                                     "The new channel still needs to be added to the image, as this is not 
automatic. Add the new channel with 'gimp-image-insert-channel'.",
                                      "Spencer Kimball & Peter Mattis",
                                      "Spencer Kimball & Peter Mattis",
                                      "1995-1996",
diff --git a/app/pdb/context-cmds.c b/app/pdb/context-cmds.c
index f1962ee..f6f75d2 100644
--- a/app/pdb/context-cmds.c
+++ b/app/pdb/context-cmds.c
@@ -2814,7 +2814,8 @@ register_context_procs (GimpPDB *pdb)
   gimp_procedure_set_static_strings (procedure,
                                      "gimp-context-set-antialias",
                                      "Set the antialias setting.",
-                                     "This procedure modifies the antialias setting. If antialiasing is 
turned on, the edges of selected region will contain intermediate values which give the appearance of a 
sharper, less pixelized edge. This should be set as TRUE most of the time unless a binary-only selection is 
wanted. This settings affects the following procedures: 'gimp-image-select-color', 
'gimp-image-select-contiguous-color', 'gimp-image-select-round-rectangle', 'gimp-image-select-ellipse', 
'gimp-image-select-polygon', 'gimp-image-select-item'.",
+                                     "This procedure modifies the antialias setting. If antialiasing is 
turned on, the edges of selected region will contain intermediate values which give the appearance of a 
sharper, less pixelized edge. This should be set as TRUE most of the time unless a binary-only selection is 
wanted.\n"
+                                     "This settings affects the following procedures: 
'gimp-image-select-color', 'gimp-image-select-contiguous-color', 'gimp-image-select-round-rectangle', 
'gimp-image-select-ellipse', 'gimp-image-select-polygon', 'gimp-image-select-item'.",
                                      "Michael Natterer <mitch gimp org>",
                                      "Michael Natterer",
                                      "2010",
@@ -2860,7 +2861,8 @@ register_context_procs (GimpPDB *pdb)
   gimp_procedure_set_static_strings (procedure,
                                      "gimp-context-set-feather",
                                      "Set the feather setting.",
-                                     "This procedure modifies the feather setting. If the feather option is 
enabled, selections will be blurred before combining. The blur is a gaussian blur; its radii can be 
controlled using 'gimp-context-set-feather-radius'. This setting affects the following procedures: 
'gimp-image-select-color', 'gimp-image-select-contiguous-color', 'gimp-image-select-rectangle', 
'gimp-image-select-round-rectangle', 'gimp-image-select-ellipse', 'gimp-image-select-polygon', 
'gimp-image-select-item'.",
+                                     "This procedure modifies the feather setting. If the feather option is 
enabled, selections will be blurred before combining. The blur is a gaussian blur; its radii can be 
controlled using 'gimp-context-set-feather-radius'.\n"
+                                     "This setting affects the following procedures: 
'gimp-image-select-color', 'gimp-image-select-contiguous-color', 'gimp-image-select-rectangle', 
'gimp-image-select-round-rectangle', 'gimp-image-select-ellipse', 'gimp-image-select-polygon', 
'gimp-image-select-item'.",
                                      "Michael Natterer <mitch gimp org>",
                                      "Michael Natterer",
                                      "2010",
@@ -2912,7 +2914,8 @@ register_context_procs (GimpPDB *pdb)
   gimp_procedure_set_static_strings (procedure,
                                      "gimp-context-set-feather-radius",
                                      "Set the feather radius setting.",
-                                     "This procedure modifies the feather radius setting. This setting 
affects all procedures that are affected by 'gimp-context-set-feather'.",
+                                     "This procedure modifies the feather radius setting.\n"
+                                     "This setting affects all procedures that are affected by 
'gimp-context-set-feather'.",
                                      "Michael Natterer <mitch gimp org>",
                                      "Michael Natterer",
                                      "2010",
@@ -2964,7 +2967,8 @@ register_context_procs (GimpPDB *pdb)
   gimp_procedure_set_static_strings (procedure,
                                      "gimp-context-set-sample-merged",
                                      "Set the sample merged setting.",
-                                     "This procedure modifies the sample merged setting. If an operation 
depends on the colors of the pixels present in a drawable, like when doing a seed fill, this setting controls 
whether the pixel data from the specified drawable is used ('sample-merged' is FALSE), or the pixel data from 
the composite image ('sample-merged' is TRUE. This is equivalent to sampling for colors after merging all 
visible layers). This setting affects the following procedures: 'gimp-image-select-color', 
'gimp-image-select-contiguous-color'.",
+                                     "This procedure modifies the sample merged setting. If an operation 
depends on the colors of the pixels present in a drawable, like when doing a seed fill, this setting controls 
whether the pixel data from the specified drawable is used ('sample-merged' is FALSE), or the pixel data from 
the composite image ('sample-merged' is TRUE. This is equivalent to sampling for colors after merging all 
visible layers).\n"
+                                     "This setting affects the following procedures: 
'gimp-image-select-color', 'gimp-image-select-contiguous-color'.",
                                      "Michael Natterer <mitch gimp org>",
                                      "Michael Natterer",
                                      "2011",
@@ -3011,7 +3015,8 @@ register_context_procs (GimpPDB *pdb)
   gimp_procedure_set_static_strings (procedure,
                                      "gimp-context-set-sample-criterion",
                                      "Set the sample criterion setting.",
-                                     "This procedure modifies the sample criterion setting. If an operation 
depends on the colors of the pixels present in a drawable, like when doing a seed fill, this setting controls 
how color similarity is determined. SELECT_CRITERION_COMPOSITE is the default value. This setting affects the 
following procedures: 'gimp-image-select-color', 'gimp-image-select-contiguous-color'.",
+                                     "This procedure modifies the sample criterion setting. If an operation 
depends on the colors of the pixels present in a drawable, like when doing a seed fill, this setting controls 
how color similarity is determined. SELECT_CRITERION_COMPOSITE is the default value.\n"
+                                     "This setting affects the following procedures: 
'gimp-image-select-color', 'gimp-image-select-contiguous-color'.",
                                      "Michael Natterer <mitch gimp org>",
                                      "Michael Natterer",
                                      "2011",
@@ -3058,7 +3063,8 @@ register_context_procs (GimpPDB *pdb)
   gimp_procedure_set_static_strings (procedure,
                                      "gimp-context-set-sample-threshold",
                                      "Set the sample threshold setting.",
-                                     "This procedure modifies the sample threshold setting. If an operation 
depends on the colors of the pixels present in a drawable, like when doing a seed fill, this setting controls 
what is \"sufficiently close\" to be considered a similar color. If the sample threshold has not been set 
explicitly, the default threshold set in gimprc will be used. This setting affects the following procedures: 
'gimp-image-select-color', 'gimp-image-select-contiguous-color'.",
+                                     "This procedure modifies the sample threshold setting. If an operation 
depends on the colors of the pixels present in a drawable, like when doing a seed fill, this setting controls 
what is \"sufficiently close\" to be considered a similar color. If the sample threshold has not been set 
explicitly, the default threshold set in gimprc will be used.\n"
+                                     "This setting affects the following procedures: 
'gimp-image-select-color', 'gimp-image-select-contiguous-color'.",
                                      "Michael Natterer <mitch gimp org>",
                                      "Michael Natterer",
                                      "2011",
@@ -3150,7 +3156,8 @@ register_context_procs (GimpPDB *pdb)
   gimp_procedure_set_static_strings (procedure,
                                      "gimp-context-set-sample-transparent",
                                      "Set the sample transparent setting.",
-                                     "This procedure modifies the sample transparent setting. If an 
operation depends on the colors of the pixels present in a drawable, like when doing a seed fill, this 
setting controls whether transparency is considered to be a unique selectable color. When this setting is 
TRUE, transparent areas can be selected or filled. This setting affects the following procedures: 
'gimp-image-select-color', 'gimp-image-select-contiguous-color'.",
+                                     "This procedure modifies the sample transparent setting. If an 
operation depends on the colors of the pixels present in a drawable, like when doing a seed fill, this 
setting controls whether transparency is considered to be a unique selectable color. When this setting is 
TRUE, transparent areas can be selected or filled.\n"
+                                     "This setting affects the following procedures: 
'gimp-image-select-color', 'gimp-image-select-contiguous-color'.",
                                      "Michael Natterer <mitch gimp org>",
                                      "Michael Natterer",
                                      "2011",
@@ -3197,7 +3204,8 @@ register_context_procs (GimpPDB *pdb)
   gimp_procedure_set_static_strings (procedure,
                                      "gimp-context-set-interpolation",
                                      "Set the interpolation type.",
-                                     "This procedure modifies the interpolation setting. This setting 
affects affects the following procedures: 'gimp-item-transform-flip', 'gimp-item-transform-perspective', 
'gimp-item-transform-rotate', 'gimp-item-transform-scale', 'gimp-item-transform-shear', 
'gimp-item-transform-2d', 'gimp-item-transform-matrix', 'gimp-image-scale', 'gimp-layer-scale'.",
+                                     "This procedure modifies the interpolation setting.\n"
+                                     "This setting affects affects the following procedures: 
'gimp-item-transform-flip', 'gimp-item-transform-perspective', 'gimp-item-transform-rotate', 
'gimp-item-transform-scale', 'gimp-item-transform-shear', 'gimp-item-transform-2d', 
'gimp-item-transform-matrix', 'gimp-image-scale', 'gimp-layer-scale'.",
                                      "Michael Natterer <mitch gimp org>",
                                      "Michael Natterer",
                                      "2010",
@@ -3245,7 +3253,8 @@ register_context_procs (GimpPDB *pdb)
   gimp_procedure_set_static_strings (procedure,
                                      "gimp-context-set-transform-direction",
                                      "Set the transform direction.",
-                                     "This procedure modifies the transform direction setting. This setting 
affects affects the following procedures: 'gimp-item-transform-flip', 'gimp-item-transform-perspective', 
'gimp-item-transform-rotate', 'gimp-item-transform-scale', 'gimp-item-transform-shear', 
'gimp-item-transform-2d', 'gimp-item-transform-matrix'.",
+                                     "This procedure modifies the transform direction setting.\n"
+                                     "This setting affects affects the following procedures: 
'gimp-item-transform-flip', 'gimp-item-transform-perspective', 'gimp-item-transform-rotate', 
'gimp-item-transform-scale', 'gimp-item-transform-shear', 'gimp-item-transform-2d', 
'gimp-item-transform-matrix'.",
                                      "Michael Natterer <mitch gimp org>",
                                      "Michael Natterer",
                                      "2010",
@@ -3293,7 +3302,8 @@ register_context_procs (GimpPDB *pdb)
   gimp_procedure_set_static_strings (procedure,
                                      "gimp-context-set-transform-resize",
                                      "Set the transform resize type.",
-                                     "This procedure modifies the transform resize setting. When 
transforming pixels, if the result of a transform operation has a different size than the original area, this 
setting determines how the resulting area is sized. This setting affects affects the following procedures: 
'gimp-item-transform-flip', 'gimp-item-transform-flip-simple', 'gimp-item-transform-perspective', 
'gimp-item-transform-rotate', 'gimp-item-transform-rotate-simple', 'gimp-item-transform-scale', 
'gimp-item-transform-shear', 'gimp-item-transform-2d', 'gimp-item-transform-matrix'.",
+                                     "This procedure modifies the transform resize setting. When 
transforming pixels, if the result of a transform operation has a different size than the original area, this 
setting determines how the resulting area is sized.\n"
+                                     "This setting affects affects the following procedures: 
'gimp-item-transform-flip', 'gimp-item-transform-flip-simple', 'gimp-item-transform-perspective', 
'gimp-item-transform-rotate', 'gimp-item-transform-rotate-simple', 'gimp-item-transform-scale', 
'gimp-item-transform-shear', 'gimp-item-transform-2d', 'gimp-item-transform-matrix'.",
                                      "Michael Natterer <mitch gimp org>",
                                      "Michael Natterer",
                                      "2010",
diff --git a/app/pdb/drawable-cmds.c b/app/pdb/drawable-cmds.c
index 6532113..a771ba3 100644
--- a/app/pdb/drawable-cmds.c
+++ b/app/pdb/drawable-cmds.c
@@ -1326,7 +1326,8 @@ register_drawable_procs (GimpPDB *pdb)
   gimp_procedure_set_static_strings (procedure,
                                      "gimp-drawable-mask-bounds",
                                      "Find the bounding box of the current selection in relation to the 
specified drawable.",
-                                     "This procedure returns whether there is a selection. If there is one, 
the upper left and lower right-hand corners of its bounding box are returned. These coordinates are specified 
relative to the drawable's origin, and bounded by the drawable's extents. Please note that the pixel 
specified by the lower right-hand coordinate of the bounding box is not part of the selection. The selection 
ends at the upper left corner of this pixel. This means the width of the selection can be calculated as (x2 - 
x1), its height as (y2 - y1). Note that the returned boolean does NOT correspond with the returned region 
being empty or not, it always returns whether the selection is non_empty. See 'gimp-drawable-mask-intersect' 
for a boolean return value which is more useful in most cases.",
+                                     "This procedure returns whether there is a selection. If there is one, 
the upper left and lower right-hand corners of its bounding box are returned. These coordinates are specified 
relative to the drawable's origin, and bounded by the drawable's extents. Please note that the pixel 
specified by the lower right-hand coordinate of the bounding box is not part of the selection. The selection 
ends at the upper left corner of this pixel. This means the width of the selection can be calculated as (x2 - 
x1), its height as (y2 - y1).\n"
+                                     "Note that the returned boolean does NOT correspond with the returned 
region being empty or not, it always returns whether the selection is non_empty. See 
'gimp-drawable-mask-intersect' for a boolean return value which is more useful in most cases.",
                                      "Spencer Kimball & Peter Mattis",
                                      "Spencer Kimball & Peter Mattis",
                                      "1995-1996",
@@ -1379,7 +1380,8 @@ register_drawable_procs (GimpPDB *pdb)
   gimp_procedure_set_static_strings (procedure,
                                      "gimp-drawable-mask-intersect",
                                      "Find the bounding box of the current selection in relation to the 
specified drawable.",
-                                     "This procedure returns whether there is an intersection between the 
drawable and the selection. Unlike 'gimp-drawable-mask-bounds', the intersection's bounds are returned as x, 
y, width, height. If there is no selection this function returns TRUE and the returned bounds are the extents 
of the whole drawable.",
+                                     "This procedure returns whether there is an intersection between the 
drawable and the selection. Unlike 'gimp-drawable-mask-bounds', the intersection's bounds are returned as x, 
y, width, height.\n"
+                                     "If there is no selection this function returns TRUE and the returned 
bounds are the extents of the whole drawable.",
                                      "Michael Natterer <mitch gimp org>",
                                      "Michael Natterer",
                                      "2004",
@@ -1623,7 +1625,8 @@ register_drawable_procs (GimpPDB *pdb)
   gimp_procedure_set_static_strings (procedure,
                                      "gimp-drawable-fill",
                                      "Fill the drawable with the specified fill mode.",
-                                     "This procedure fills the drawable. If the fill mode is foreground the 
current foreground color is used. If the fill mode is background, the current background color is used. If 
the fill type is white, then white is used. Transparent fill only affects layers with an alpha channel, in 
which case the alpha channel is set to transparent. If the drawable has no alpha channel, it is filled to 
white. No fill leaves the drawable's contents undefined. This procedure is unlike 'gimp-edit-fill' or the 
bucket fill tool because it fills regardless of a selection. Its main purpose is to fill a newly created 
drawable before adding it to the image. This operation cannot be undone.",
+                                     "This procedure fills the drawable. If the fill mode is foreground the 
current foreground color is used. If the fill mode is background, the current background color is used. If 
the fill type is white, then white is used. Transparent fill only affects layers with an alpha channel, in 
which case the alpha channel is set to transparent. If the drawable has no alpha channel, it is filled to 
white. No fill leaves the drawable's contents undefined.\n"
+                                     "This procedure is unlike 'gimp-edit-fill' or the bucket fill tool 
because it fills regardless of a selection. Its main purpose is to fill a newly created drawable before 
adding it to the image. This operation cannot be undone.",
                                      "Spencer Kimball & Peter Mattis",
                                      "Spencer Kimball & Peter Mattis",
                                      "1995-1996",
diff --git a/app/pdb/gradient-cmds.c b/app/pdb/gradient-cmds.c
index 1284390..6d3f976 100644
--- a/app/pdb/gradient-cmds.c
+++ b/app/pdb/gradient-cmds.c
@@ -1928,7 +1928,8 @@ register_gradient_procs (GimpPDB *pdb)
   gimp_procedure_set_static_strings (procedure,
                                      "gimp-gradient-segment-set-left-pos",
                                      "Sets the left endpoint position of the specified segment",
-                                     "This procedure sets the left endpoint position of the specified 
segment of the specified gradient. The final position will be between the position of the middle point to the 
left to the middle point of the current segement. This procedure returns the final position.",
+                                     "This procedure sets the left endpoint position of the specified 
segment of the specified gradient. The final position will be between the position of the middle point to the 
left to the middle point of the current segement.\n"
+                                     "This procedure returns the final position.",
                                      "Shlomi Fish <shlomif iglu org il>",
                                      "Shlomi Fish",
                                      "2003",
@@ -2006,7 +2007,8 @@ register_gradient_procs (GimpPDB *pdb)
   gimp_procedure_set_static_strings (procedure,
                                      "gimp-gradient-segment-set-middle-pos",
                                      "Sets the middle point position of the specified segment",
-                                     "This procedure sets the middle point position of the specified segment 
of the specified gradient. The final position will be between the two endpoints of the segment. This 
procedure returns the final position.",
+                                     "This procedure sets the middle point position of the specified segment 
of the specified gradient. The final position will be between the two endpoints of the segment.\n"
+                                     "This procedure returns the final position.",
                                      "Shlomi Fish <shlomif iglu org il>",
                                      "Shlomi Fish",
                                      "2003",
@@ -2084,7 +2086,8 @@ register_gradient_procs (GimpPDB *pdb)
   gimp_procedure_set_static_strings (procedure,
                                      "gimp-gradient-segment-set-right-pos",
                                      "Sets the right endpoint position of the specified segment",
-                                     "This procedure sets the right endpoint position of the specified 
segment of the specified gradient. The final position will be between the position of the middle point of the 
current segment and the middle point of the segment to the right. This procedure returns the final position.",
+                                     "This procedure sets the right endpoint position of the specified 
segment of the specified gradient. The final position will be between the position of the middle point of the 
current segment and the middle point of the segment to the right.\n"
+                                     "This procedure returns the final position.",
                                      "Shlomi Fish <shlomif iglu org il>",
                                      "Shlomi Fish",
                                      "2003",
diff --git a/app/pdb/image-select-cmds.c b/app/pdb/image-select-cmds.c
index e91744c..054301d 100644
--- a/app/pdb/image-select-cmds.c
+++ b/app/pdb/image-select-cmds.c
@@ -364,7 +364,9 @@ register_image_select_procs (GimpPDB *pdb)
   gimp_procedure_set_static_strings (procedure,
                                      "gimp-image-select-color",
                                      "Create a selection by selecting all pixels (in the specified drawable) 
with the same (or similar) color to that specified.",
-                                     "This tool creates a selection over the specified image. A by-color 
selection is determined by the supplied color under the constraints of the current context settings. 
Essentially, all pixels (in the drawable) that have color sufficiently close to the specified color (as 
determined by the threshold and criterion context values) are included in the selection. To select 
transparent regions, the color specified must also have minimum alpha. This procedure is affected by the 
following context setters: 'gimp-context-set-antialias', 'gimp-context-set-feather', 
'gimp-context-set-feather-radius', 'gimp-context-set-sample-merged', 'gimp-context-set-sample-criterion', 
'gimp-context-set-sample-threshold', 'gimp-context-set-sample-transparent'. In the case of a merged sampling, 
the supplied drawable is ignored.",
+                                     "This tool creates a selection over the specified image. A by-color 
selection is determined by the supplied color under the constraints of the current context settings. 
Essentially, all pixels (in the drawable) that have color sufficiently close to the specified color (as 
determined by the threshold and criterion context values) are included in the selection. To select 
transparent regions, the color specified must also have minimum alpha.\n"
+                                     "This procedure is affected by the following context setters: 
'gimp-context-set-antialias', 'gimp-context-set-feather', 'gimp-context-set-feather-radius', 
'gimp-context-set-sample-merged', 'gimp-context-set-sample-criterion', 'gimp-context-set-sample-threshold', 
'gimp-context-set-sample-transparent'.\n"
+                                     "In the case of a merged sampling, the supplied drawable is ignored.",
                                      "David Gowers",
                                      "David Gowers",
                                      "2010",
@@ -407,8 +409,9 @@ register_image_select_procs (GimpPDB *pdb)
   gimp_procedure_set_static_strings (procedure,
                                      "gimp-image-select-contiguous-color",
                                      "Create a selection by selecting all pixels around specified 
coordinates with the same (or similar) color to that at the coordinates.",
-                                     "This tool creates a contiguous selection over the specified image. A 
contiguous color selection is determined by a seed fill under the constraints of the current context 
settings. Essentially, the color at the specified coordinates (in the drawable) is measured and the selection 
expands outwards from that point to any adjacent pixels which are not significantly different (as determined 
by the threshold and criterion context settings). This process continues until no more expansion is possible. 
If antialiasing is turned on, the final selection mask will contain intermediate values based on close misses 
to the threshold bar at pixels along the seed fill boundary. This procedure is affected by the following 
context setters: 'gimp-context-set-antialias', 'gimp-context-set-feather', 'gimp-context-set-feather-radius', 
'gimp-context-set-sample-merged', 'gimp-context-set-sample-criterion', 'gimp-context-set-sample-threshold', 
'gimp-context-set-s
 ample-transparent'. In the case of a merged"
-  "sampling, the supplied drawable is ignored. If the sample is merged, the specified coordinates are 
relative to the image origin; otherwise, they are relative to the drawable's origin.",
+                                     "This tool creates a contiguous selection over the specified image. A 
contiguous color selection is determined by a seed fill under the constraints of the current context 
settings. Essentially, the color at the specified coordinates (in the drawable) is measured and the selection 
expands outwards from that point to any adjacent pixels which are not significantly different (as determined 
by the threshold and criterion context settings). This process continues until no more expansion is possible. 
If antialiasing is turned on, the final selection mask will contain intermediate values based on close misses 
to the threshold bar at pixels along the seed fill boundary.\n"
+                                     "This procedure is affected by the following context setters: 
'gimp-context-set-antialias', 'gimp-context-set-feather', 'gimp-context-set-feather-radius', 
'gimp-context-set-sample-merged', 'gimp-context-set-sample-criterion', 'gimp-context-set-sample-threshold', 
'gimp-context-set-sample-transparent'.\n"
+                                     "In the case of a merged sampling, the supplied drawable is ignored. If 
the sample is merged, the specified coordinates are relative to the image origin; otherwise, they are 
relative to the drawable's origin.",
                                      "David Gowers",
                                      "David Gowers",
                                      "2010",
@@ -456,7 +459,8 @@ register_image_select_procs (GimpPDB *pdb)
   gimp_procedure_set_static_strings (procedure,
                                      "gimp-image-select-rectangle",
                                      "Create a rectangular selection over the specified image;",
-                                     "This tool creates a rectangular selection over the specified image. 
The rectangular region can be either added to, subtracted from, or replace the contents of the previous 
selection mask. This procedure is affected by the following context setters: 'gimp-context-set-feather', 
'gimp-context-set-feather-radius'.",
+                                     "This tool creates a rectangular selection over the specified image. 
The rectangular region can be either added to, subtracted from, or replace the contents of the previous 
selection mask.\n"
+                                     "This procedure is affected by the following context setters: 
'gimp-context-set-feather', 'gimp-context-set-feather-radius'.",
                                      "Michael Natterer <mitch gimp org>",
                                      "Michael Natterer",
                                      "2010",
@@ -510,7 +514,8 @@ register_image_select_procs (GimpPDB *pdb)
   gimp_procedure_set_static_strings (procedure,
                                      "gimp-image-select-round-rectangle",
                                      "Create a rectangular selection with round corners over the specified 
image;",
-                                     "This tool creates a rectangular selection with round corners over the 
specified image. The rectangular region can be either added to, subtracted from, or replace the contents of 
the previous selection mask. This procedure is affected by the following context setters: 
'gimp-context-set-antialias', 'gimp-context-set-feather', 'gimp-context-set-feather-radius'.",
+                                     "This tool creates a rectangular selection with round corners over the 
specified image. The rectangular region can be either added to, subtracted from, or replace the contents of 
the previous selection mask.\n"
+                                     "This procedure is affected by the following context setters: 
'gimp-context-set-antialias', 'gimp-context-set-feather', 'gimp-context-set-feather-radius'.",
                                      "Martin Nordholts",
                                      "Martin Nordholts",
                                      "2010",
@@ -576,7 +581,8 @@ register_image_select_procs (GimpPDB *pdb)
   gimp_procedure_set_static_strings (procedure,
                                      "gimp-image-select-ellipse",
                                      "Create an elliptical selection over the specified image.",
-                                     "This tool creates an elliptical selection over the specified image. 
The elliptical region can be either added to, subtracted from, or replace the contents of the previous 
selection mask. This procedure is affected by the following context setters: 'gimp-context-set-antialias', 
'gimp-context-set-feather', 'gimp-context-set-feather-radius'.",
+                                     "This tool creates an elliptical selection over the specified image. 
The elliptical region can be either added to, subtracted from, or replace the contents of the previous 
selection mask.\n"
+                                     "This procedure is affected by the following context setters: 
'gimp-context-set-antialias', 'gimp-context-set-feather', 'gimp-context-set-feather-radius'.",
                                      "Michael Natterer <mitch gimp org>",
                                      "Michael Natterer",
                                      "2010",
@@ -630,7 +636,8 @@ register_image_select_procs (GimpPDB *pdb)
   gimp_procedure_set_static_strings (procedure,
                                      "gimp-image-select-polygon",
                                      "Create a polygonal selection over the specified image.",
-                                     "This tool creates a polygonal selection over the specified image. The 
polygonal region can be either added to, subtracted from, or replace the contents of the previous selection 
mask. The polygon is specified through an array of floating point numbers and its length. The length of array 
must be 2n, where n is the number of points. Each point is defined by 2 floating point values which 
correspond to the x and y coordinates. If the final point does not connect to the starting point, a 
connecting segment is automatically added. This procedure is affected by the following context setters: 
'gimp-context-set-antialias', 'gimp-context-set-feather', 'gimp-context-set-feather-radius'.",
+                                     "This tool creates a polygonal selection over the specified image. The 
polygonal region can be either added to, subtracted from, or replace the contents of the previous selection 
mask. The polygon is specified through an array of floating point numbers and its length. The length of array 
must be 2n, where n is the number of points. Each point is defined by 2 floating point values which 
correspond to the x and y coordinates. If the final point does not connect to the starting point, a 
connecting segment is automatically added.\n"
+                                     "This procedure is affected by the following context setters: 
'gimp-context-set-antialias', 'gimp-context-set-feather', 'gimp-context-set-feather-radius'.",
                                      "Michael Natterer <mitch gimp org>",
                                      "Michael Natterer",
                                      "2010",
@@ -671,7 +678,8 @@ register_image_select_procs (GimpPDB *pdb)
   gimp_procedure_set_static_strings (procedure,
                                      "gimp-image-select-item",
                                      "Transforms the specified item into a selection",
-                                     "This procedure renders the item's outline into the current selection 
of the image the item belongs to. What exactly the item's outline is depends on the item type: for layers, 
it's the layer's alpha channel, for vectors the vector's shape. This procedure is affected by the following 
context setters: 'gimp-context-set-antialias', 'gimp-context-set-feather', 
'gimp-context-set-feather-radius'.",
+                                     "This procedure renders the item's outline into the current selection 
of the image the item belongs to. What exactly the item's outline is depends on the item type: for layers, 
it's the layer's alpha channel, for vectors the vector's shape.\n"
+                                     "This procedure is affected by the following context setters: 
'gimp-context-set-antialias', 'gimp-context-set-feather', 'gimp-context-set-feather-radius'.",
                                      "Michael Natterer <mitch gimp org>",
                                      "Michael Natterer",
                                      "2010",
diff --git a/app/pdb/item-transform-cmds.c b/app/pdb/item-transform-cmds.c
index e0e8fc5..4a74063 100644
--- a/app/pdb/item-transform-cmds.c
+++ b/app/pdb/item-transform-cmds.c
@@ -879,7 +879,8 @@ register_item_transform_procs (GimpPDB *pdb)
   gimp_procedure_set_static_strings (procedure,
                                      "gimp-item-transform-flip-simple",
                                      "Flip the specified item either vertically or horizontally.",
-                                     "This procedure flips the specified item. If a selection exists and the 
item is a drawable, the portion of the drawable which lies under the selection is cut from the drawable and 
made into a floating selection which is then flipped. If auto_center is set to TRUE, the flip is around the 
selection's center. Otherwise, the coordinate of the axis needs to be specified. The return value is the ID 
of the flipped item. If there was no selection or the item is not a drawable, this will be equal to the item 
ID supplied as input. Otherwise, this will be the newly created and flipped drawable. This procedure is 
affected by the following context setters: 'gimp-context-set-transform-resize'.",
+                                     "This procedure flips the specified item. If a selection exists and the 
item is a drawable, the portion of the drawable which lies under the selection is cut from the drawable and 
made into a floating selection which is then flipped. If auto_center is set to TRUE, the flip is around the 
selection's center. Otherwise, the coordinate of the axis needs to be specified. The return value is the ID 
of the flipped item. If there was no selection or the item is not a drawable, this will be equal to the item 
ID supplied as input. Otherwise, this will be the newly created and flipped drawable.\n"
+                                     "This procedure is affected by the following context setters: 
'gimp-context-set-transform-resize'.",
                                      "Michael Natterer <mitch gimp org>",
                                      "Michael Natterer",
                                      "2004",
@@ -929,7 +930,8 @@ register_item_transform_procs (GimpPDB *pdb)
   gimp_procedure_set_static_strings (procedure,
                                      "gimp-item-transform-flip",
                                      "Flip the specified item around a given line.",
-                                     "This procedure flips the specified item. If a selection exists and the 
item is a drawable , the portion of the drawable which lies under the selection is cut from the drawable and 
made into a floating selection which is then flipped. The axis to flip around is specified by specifying two 
points from that line. The return value is the ID of the flipped item. If there was no selection or the item 
is not a drawable, this will be equal to the item ID supplied as input. Otherwise, this will be the newly 
created and flipped drawable. This procedure is affected by the following context setters: 
'gimp-context-set-interpolation', 'gimp-context-set-transform-direction', 
'gimp-context-set-transform-resize'.",
+                                     "This procedure flips the specified item. If a selection exists and the 
item is a drawable , the portion of the drawable which lies under the selection is cut from the drawable and 
made into a floating selection which is then flipped. The axis to flip around is specified by specifying two 
points from that line. The return value is the ID of the flipped item. If there was no selection or the item 
is not a drawable, this will be equal to the item ID supplied as input. Otherwise, this will be the newly 
created and flipped drawable.\n"
+                                     "This procedure is affected by the following context setters: 
'gimp-context-set-interpolation', 'gimp-context-set-transform-direction', 
'gimp-context-set-transform-resize'.",
                                      "Michael Natterer <mitch gimp org>",
                                      "Michael Natterer",
                                      "2010",
@@ -982,8 +984,9 @@ register_item_transform_procs (GimpPDB *pdb)
   gimp_procedure_set_static_strings (procedure,
                                      "gimp-item-transform-perspective",
                                      "Perform a possibly non-affine transformation on the specified item.",
-                                     "This procedure performs a possibly non-affine transformation on the 
specified item by allowing the corners of the original bounding box to be arbitrarily remapped to any values. 
The specified item is remapped if no selection exists or it is not a drawable. However, if a selection exists 
and the item is a drawable, the portion of the drawable which lies under the selection is cut from the 
drawable and made into a floating selection which is then remapped as specified. The return value is the ID 
of the remapped item. If there was no selection or the item is not a drawable, this will be equal to the item 
ID supplied as input. Otherwise, this will be the newly created and remapped drawable. The 4 coordinates 
specify the new locations of each corner of the original bounding box. By specifying these values, any affine 
transformation (rotation, scaling, translation) can be affected. Additionally, these values can be specified 
such that the resu
 lting transformed item will appear to have"
-  "been projected via a perspective transform. This procedure is affected by the following context setters: 
'gimp-context-set-interpolation', 'gimp-context-set-transform-direction', 
'gimp-context-set-transform-resize'.",
+                                     "This procedure performs a possibly non-affine transformation on the 
specified item by allowing the corners of the original bounding box to be arbitrarily remapped to any values. 
The specified item is remapped if no selection exists or it is not a drawable. However, if a selection exists 
and the item is a drawable, the portion of the drawable which lies under the selection is cut from the 
drawable and made into a floating selection which is then remapped as specified. The return value is the ID 
of the remapped item. If there was no selection or the item is not a drawable, this will be equal to the item 
ID supplied as input. Otherwise, this will be the newly created and remapped drawable. The 4 coordinates 
specify the new locations of each corner of the original bounding box. By specifying these values, any affine 
transformation (rotation, scaling, translation) can be affected. Additionally, these values can be specified 
such that the resu
 lting transformed item will appear to have\n"
+                                     "been projected via a perspective transform.\n"
+                                     "This procedure is affected by the following context setters: 
'gimp-context-set-interpolation', 'gimp-context-set-transform-direction', 
'gimp-context-set-transform-resize'.",
                                      "Michael Natterer <mitch gimp org>",
                                      "Michael Natterer",
                                      "2010",
@@ -1060,7 +1063,8 @@ register_item_transform_procs (GimpPDB *pdb)
   gimp_procedure_set_static_strings (procedure,
                                      "gimp-item-transform-rotate-simple",
                                      "Rotate the specified item about given coordinates through the 
specified angle.",
-                                     "This function rotates the specified item. If a selection exists and 
the item is a drawable, the portion of the drawable which lies under the selection is cut from the drawable 
and made into a floating selection which is then rotated by the specified amount. The return value is the ID 
of the rotated item. If there was no selection or the item is not a drawable, this will be equal to the item 
ID supplied as input. Otherwise, this will be the newly created and rotated drawable. This procedure is 
affected by the following context setters: 'gimp-context-set-transform-resize'.",
+                                     "This function rotates the specified item. If a selection exists and 
the item is a drawable, the portion of the drawable which lies under the selection is cut from the drawable 
and made into a floating selection which is then rotated by the specified amount. The return value is the ID 
of the rotated item. If there was no selection or the item is not a drawable, this will be equal to the item 
ID supplied as input. Otherwise, this will be the newly created and rotated drawable.\n"
+                                     "This procedure is affected by the following context setters: 
'gimp-context-set-transform-resize'.",
                                      "Michael Natterer <mitch gimp org>",
                                      "Michael Natterer",
                                      "2010",
@@ -1114,7 +1118,8 @@ register_item_transform_procs (GimpPDB *pdb)
   gimp_procedure_set_static_strings (procedure,
                                      "gimp-item-transform-rotate",
                                      "Rotate the specified item about given coordinates through the 
specified angle.",
-                                     "This function rotates the specified item. If a selection exists and 
the item is a drawable, the portion of the drawable which lies under the selection is cut from the drawable 
and made into a floating selection which is then rotated by the specified amount. The return value is the ID 
of the rotated item. If there was no selection or the item is not a drawable, this will be equal to the item 
ID supplied as input. Otherwise, this will be the newly created and rotated drawable. This procedure is 
affected by the following context setters: 'gimp-context-set-interpolation', 
'gimp-context-set-transform-direction', 'gimp-context-set-transform-resize'.",
+                                     "This function rotates the specified item. If a selection exists and 
the item is a drawable, the portion of the drawable which lies under the selection is cut from the drawable 
and made into a floating selection which is then rotated by the specified amount. The return value is the ID 
of the rotated item. If there was no selection or the item is not a drawable, this will be equal to the item 
ID supplied as input. Otherwise, this will be the newly created and rotated drawable.\n"
+                                     "This procedure is affected by the following context setters: 
'gimp-context-set-interpolation', 'gimp-context-set-transform-direction', 
'gimp-context-set-transform-resize'.",
                                      "Michael Natterer <mitch gimp org>",
                                      "Michael Natterer",
                                      "2010",
@@ -1167,7 +1172,8 @@ register_item_transform_procs (GimpPDB *pdb)
   gimp_procedure_set_static_strings (procedure,
                                      "gimp-item-transform-scale",
                                      "Scale the specified item.",
-                                     "This procedure scales the specified item. If a selection exists and 
the item is a drawable, the portion of the drawable which lies under the selection is cut from the drawable 
and made into a floating selection which is then scaled by the specified amount. The return value is the ID 
of the scaled item. If there was no selection or the item is not a drawable, this will be equal to the item 
ID supplied as input. Otherwise, this will be the newly created and scaled drawable. This procedure is 
affected by the following context setters: 'gimp-context-set-interpolation', 
'gimp-context-set-transform-direction', 'gimp-context-set-transform-resize'.",
+                                     "This procedure scales the specified item. If a selection exists and 
the item is a drawable, the portion of the drawable which lies under the selection is cut from the drawable 
and made into a floating selection which is then scaled by the specified amount. The return value is the ID 
of the scaled item. If there was no selection or the item is not a drawable, this will be equal to the item 
ID supplied as input. Otherwise, this will be the newly created and scaled drawable.\n"
+                                     "This procedure is affected by the following context setters: 
'gimp-context-set-interpolation', 'gimp-context-set-transform-direction', 
'gimp-context-set-transform-resize'.",
                                      "Michael Natterer <mitch gimp org>",
                                      "Michael Natterer",
                                      "2010",
@@ -1220,7 +1226,8 @@ register_item_transform_procs (GimpPDB *pdb)
   gimp_procedure_set_static_strings (procedure,
                                      "gimp-item-transform-shear",
                                      "Shear the specified item about its center by the specified magnitude.",
-                                     "This procedure shears the specified item. If a selection exists and 
the item is a drawable, the portion of the drawable which lies under the selection is cut from the drawable 
and made into a floating selection which is then sheard by the specified amount. The return value is the ID 
of the sheard item. If there was no selection or the item is not a drawable, this will be equal to the item 
ID supplied as input. Otherwise, this will be the newly created and sheard drawable. The shear type parameter 
indicates whether the shear will be applied horizontally or vertically. The magnitude can be either positive 
or negative and indicates the extent (in pixels) to shear by. This procedure is affected by the following 
context setters: 'gimp-context-set-interpolation', 'gimp-context-set-transform-direction', 
'gimp-context-set-transform-resize'.",
+                                     "This procedure shears the specified item. If a selection exists and 
the item is a drawable, the portion of the drawable which lies under the selection is cut from the drawable 
and made into a floating selection which is then sheard by the specified amount. The return value is the ID 
of the sheard item. If there was no selection or the item is not a drawable, this will be equal to the item 
ID supplied as input. Otherwise, this will be the newly created and sheard drawable. The shear type parameter 
indicates whether the shear will be applied horizontally or vertically. The magnitude can be either positive 
or negative and indicates the extent (in pixels) to shear by.\n"
+                                     "This procedure is affected by the following context setters: 
'gimp-context-set-interpolation', 'gimp-context-set-transform-direction', 
'gimp-context-set-transform-resize'.",
                                      "Michael Natterer <mitch gimp org>",
                                      "Michael Natterer",
                                      "2010",
@@ -1264,7 +1271,8 @@ register_item_transform_procs (GimpPDB *pdb)
   gimp_procedure_set_static_strings (procedure,
                                      "gimp-item-transform-2d",
                                      "Transform the specified item in 2d.",
-                                     "This procedure transforms the specified item. If a selection exists 
and the item is a drawable, the portion of the drawable which lies under the selection is cut from the 
drawable and made into a floating selection which is then transformed. The transformation is done by scaling 
the image by the x and y scale factors about the point (source_x, source_y), then rotating around the same 
point, then translating that point to the new position (dest_x, dest_y). The return value is the ID of the 
rotated drawable. If there was no selection or the item is not a drawable, this will be equal to the item ID 
supplied as input. Otherwise, this will be the newly created and transformed drawable. This procedure is 
affected by the following context setters: 'gimp-context-set-interpolation', 
'gimp-context-set-transform-direction', 'gimp-context-set-transform-resize'.",
+                                     "This procedure transforms the specified item. If a selection exists 
and the item is a drawable, the portion of the drawable which lies under the selection is cut from the 
drawable and made into a floating selection which is then transformed. The transformation is done by scaling 
the image by the x and y scale factors about the point (source_x, source_y), then rotating around the same 
point, then translating that point to the new position (dest_x, dest_y). The return value is the ID of the 
rotated drawable. If there was no selection or the item is not a drawable, this will be equal to the item ID 
supplied as input. Otherwise, this will be the newly created and transformed drawable.\n"
+                                     "This procedure is affected by the following context setters: 
'gimp-context-set-interpolation', 'gimp-context-set-transform-direction', 
'gimp-context-set-transform-resize'.",
                                      "Michael Natterer <mitch gimp org>",
                                      "Michael Natterer",
                                      "2010",
@@ -1335,7 +1343,8 @@ register_item_transform_procs (GimpPDB *pdb)
   gimp_procedure_set_static_strings (procedure,
                                      "gimp-item-transform-matrix",
                                      "Transform the specified item in 2d.",
-                                     "This procedure transforms the specified item. If a selection exists 
and the item is a drawable, the portion of the drawable which lies under the selection is cut from the 
drawable and made into a floating selection which is then transformed. The transformation is done by 
assembling a 3x3 matrix from the coefficients passed. The return value is the ID of the transformed item. If 
there was no selection or the item is not a drawable, this will be equal to the item ID supplied as input. 
Otherwise, this will be the newly created and transformed drawable. This procedure is affected by the 
following context setters: 'gimp-context-set-interpolation', 'gimp-context-set-transform-direction', 
'gimp-context-set-transform-resize'.",
+                                     "This procedure transforms the specified item. If a selection exists 
and the item is a drawable, the portion of the drawable which lies under the selection is cut from the 
drawable and made into a floating selection which is then transformed. The transformation is done by 
assembling a 3x3 matrix from the coefficients passed. The return value is the ID of the transformed item. If 
there was no selection or the item is not a drawable, this will be equal to the item ID supplied as input. 
Otherwise, this will be the newly created and transformed drawable.\n"
+                                     "This procedure is affected by the following context setters: 
'gimp-context-set-interpolation', 'gimp-context-set-transform-direction', 
'gimp-context-set-transform-resize'.",
                                      "Michael Natterer <mitch gimp org>",
                                      "Michael Natterer",
                                      "2010",
diff --git a/libgimp/gimpchannel_pdb.c b/libgimp/gimpchannel_pdb.c
index 8530e90..c6c9fb2 100644
--- a/libgimp/gimpchannel_pdb.c
+++ b/libgimp/gimpchannel_pdb.c
@@ -46,11 +46,12 @@
  * Create a new channel.
  *
  * This procedure creates a new channel with the specified width,
- * height, name, opacity and color. The new channel still needs to be
- * added to the image, as this is not automatic. Add the new channel
- * with gimp_image_insert_channel(). Other attributes, such as channel
- * visibility, should be set with explicit procedure calls. The
- * channel's contents are undefined initially.
+ * height, name, opacity and color.
+ * The new channel still needs to be added to the image, as this is not
+ * automatic. Add the new channel with gimp_image_insert_channel().
+ * Other attributes, such as channel visibility, should be set with
+ * explicit procedure calls.
+ * The channel's contents are undefined initially.
  *
  * Returns: The newly created channel.
  **/
@@ -92,8 +93,8 @@ _gimp_channel_new (gint32         image_ID,
  *
  * Create a new channel from a color component
  *
- * This procedure creates a new channel from a color component. The new
- * channel still needs to be added to the image, as this is not
+ * This procedure creates a new channel from a color component.
+ * The new channel still needs to be added to the image, as this is not
  * automatic. Add the new channel with gimp_image_insert_channel().
  * Other attributes, such as channel visibility, should be set with
  * explicit procedure calls.
diff --git a/libgimp/gimpcontext_pdb.c b/libgimp/gimpcontext_pdb.c
index 0241b33..3c866da 100644
--- a/libgimp/gimpcontext_pdb.c
+++ b/libgimp/gimpcontext_pdb.c
@@ -1221,7 +1221,8 @@ gimp_context_get_antialias (void)
  * turned on, the edges of selected region will contain intermediate
  * values which give the appearance of a sharper, less pixelized edge.
  * This should be set as TRUE most of the time unless a binary-only
- * selection is wanted. This settings affects the following procedures:
+ * selection is wanted.
+ * This settings affects the following procedures:
  * gimp_image_select_color(), gimp_image_select_contiguous_color(),
  * gimp_image_select_round_rectangle(), gimp_image_select_ellipse(),
  * gimp_image_select_polygon(), gimp_image_select_item().
@@ -1288,11 +1289,12 @@ gimp_context_get_feather (void)
  * This procedure modifies the feather setting. If the feather option
  * is enabled, selections will be blurred before combining. The blur is
  * a gaussian blur; its radii can be controlled using
- * gimp_context_set_feather_radius(). This setting affects the
- * following procedures: gimp_image_select_color(),
- * gimp_image_select_contiguous_color(), gimp_image_select_rectangle(),
- * gimp_image_select_round_rectangle(), gimp_image_select_ellipse(),
- * gimp_image_select_polygon(), gimp_image_select_item().
+ * gimp_context_set_feather_radius().
+ * This setting affects the following procedures:
+ * gimp_image_select_color(), gimp_image_select_contiguous_color(),
+ * gimp_image_select_rectangle(), gimp_image_select_round_rectangle(),
+ * gimp_image_select_ellipse(), gimp_image_select_polygon(),
+ * gimp_image_select_item().
  *
  * Returns: TRUE on success.
  *
@@ -1365,8 +1367,8 @@ gimp_context_get_feather_radius (gdouble *feather_radius_x,
  *
  * Set the feather radius setting.
  *
- * This procedure modifies the feather radius setting. This setting
- * affects all procedures that are affected by
+ * This procedure modifies the feather radius setting.
+ * This setting affects all procedures that are affected by
  * gimp_context_set_feather().
  *
  * Returns: TRUE on success.
@@ -1436,7 +1438,8 @@ gimp_context_get_sample_merged (void)
  * the specified drawable is used ('sample-merged' is FALSE), or the
  * pixel data from the composite image ('sample-merged' is TRUE. This
  * is equivalent to sampling for colors after merging all visible
- * layers). This setting affects the following procedures:
+ * layers).
+ * This setting affects the following procedures:
  * gimp_image_select_color(), gimp_image_select_contiguous_color().
  *
  * Returns: TRUE on success.
@@ -1502,7 +1505,8 @@ gimp_context_get_sample_criterion (void)
  * operation depends on the colors of the pixels present in a drawable,
  * like when doing a seed fill, this setting controls how color
  * similarity is determined. SELECT_CRITERION_COMPOSITE is the default
- * value. This setting affects the following procedures:
+ * value.
+ * This setting affects the following procedures:
  * gimp_image_select_color(), gimp_image_select_contiguous_color().
  *
  * Returns: TRUE on success.
@@ -1569,9 +1573,9 @@ gimp_context_get_sample_threshold (void)
  * like when doing a seed fill, this setting controls what is
  * \"sufficiently close\" to be considered a similar color. If the
  * sample threshold has not been set explicitly, the default threshold
- * set in gimprc will be used. This setting affects the following
- * procedures: gimp_image_select_color(),
- * gimp_image_select_contiguous_color().
+ * set in gimprc will be used.
+ * This setting affects the following procedures:
+ * gimp_image_select_color(), gimp_image_select_contiguous_color().
  *
  * Returns: TRUE on success.
  *
@@ -1766,8 +1770,8 @@ gimp_context_get_interpolation (void)
  *
  * Set the interpolation type.
  *
- * This procedure modifies the interpolation setting. This setting
- * affects affects the following procedures:
+ * This procedure modifies the interpolation setting.
+ * This setting affects affects the following procedures:
  * gimp_item_transform_flip(), gimp_item_transform_perspective(),
  * gimp_item_transform_rotate(), gimp_item_transform_scale(),
  * gimp_item_transform_shear(), gimp_item_transform_2d(),
@@ -1835,8 +1839,8 @@ gimp_context_get_transform_direction (void)
  *
  * Set the transform direction.
  *
- * This procedure modifies the transform direction setting. This
- * setting affects affects the following procedures:
+ * This procedure modifies the transform direction setting.
+ * This setting affects affects the following procedures:
  * gimp_item_transform_flip(), gimp_item_transform_perspective(),
  * gimp_item_transform_rotate(), gimp_item_transform_scale(),
  * gimp_item_transform_shear(), gimp_item_transform_2d(),
@@ -1906,9 +1910,9 @@ gimp_context_get_transform_resize (void)
  * This procedure modifies the transform resize setting. When
  * transforming pixels, if the result of a transform operation has a
  * different size than the original area, this setting determines how
- * the resulting area is sized. This setting affects affects the
- * following procedures: gimp_item_transform_flip(),
- * gimp_item_transform_flip_simple(),
+ * the resulting area is sized.
+ * This setting affects affects the following procedures:
+ * gimp_item_transform_flip(), gimp_item_transform_flip_simple(),
  * gimp_item_transform_perspective(), gimp_item_transform_rotate(),
  * gimp_item_transform_rotate_simple(), gimp_item_transform_scale(),
  * gimp_item_transform_shear(), gimp_item_transform_2d(),
diff --git a/libgimp/gimpdrawable_pdb.c b/libgimp/gimpdrawable_pdb.c
index 6f7237e..72639ff 100644
--- a/libgimp/gimpdrawable_pdb.c
+++ b/libgimp/gimpdrawable_pdb.c
@@ -491,9 +491,9 @@ gimp_drawable_mask_bounds (gint32  drawable_ID,
  *
  * This procedure returns whether there is an intersection between the
  * drawable and the selection. Unlike gimp_drawable_mask_bounds(), the
- * intersection's bounds are returned as x, y, width, height. If there
- * is no selection this function returns TRUE and the returned bounds
- * are the extents of the whole drawable.
+ * intersection's bounds are returned as x, y, width, height.
+ * If there is no selection this function returns TRUE and the returned
+ * bounds are the extents of the whole drawable.
  *
  * Returns: TRUE if the returned area is not empty.
  *
@@ -748,11 +748,11 @@ gimp_drawable_set_pixel (gint32        drawable_ID,
  * is white, then white is used. Transparent fill only affects layers
  * with an alpha channel, in which case the alpha channel is set to
  * transparent. If the drawable has no alpha channel, it is filled to
- * white. No fill leaves the drawable's contents undefined. This
- * procedure is unlike gimp_edit_fill() or the bucket fill tool because
- * it fills regardless of a selection. Its main purpose is to fill a
- * newly created drawable before adding it to the image. This operation
- * cannot be undone.
+ * white. No fill leaves the drawable's contents undefined.
+ * This procedure is unlike gimp_edit_fill() or the bucket fill tool
+ * because it fills regardless of a selection. Its main purpose is to
+ * fill a newly created drawable before adding it to the image. This
+ * operation cannot be undone.
  *
  * Returns: TRUE on success.
  **/
diff --git a/libgimp/gimpgradient_pdb.c b/libgimp/gimpgradient_pdb.c
index f78776e..0c32a23 100644
--- a/libgimp/gimpgradient_pdb.c
+++ b/libgimp/gimpgradient_pdb.c
@@ -581,8 +581,8 @@ gimp_gradient_segment_get_left_pos (const gchar *name,
  * This procedure sets the left endpoint position of the specified
  * segment of the specified gradient. The final position will be
  * between the position of the middle point to the left to the middle
- * point of the current segement. This procedure returns the final
- * position.
+ * point of the current segement.
+ * This procedure returns the final position.
  *
  * Returns: TRUE on success.
  *
@@ -670,8 +670,8 @@ gimp_gradient_segment_get_middle_pos (const gchar *name,
  *
  * This procedure sets the middle point position of the specified
  * segment of the specified gradient. The final position will be
- * between the two endpoints of the segment. This procedure returns the
- * final position.
+ * between the two endpoints of the segment.
+ * This procedure returns the final position.
  *
  * Returns: TRUE on success.
  *
@@ -760,8 +760,8 @@ gimp_gradient_segment_get_right_pos (const gchar *name,
  * This procedure sets the right endpoint position of the specified
  * segment of the specified gradient. The final position will be
  * between the position of the middle point of the current segment and
- * the middle point of the segment to the right. This procedure returns
- * the final position.
+ * the middle point of the segment to the right.
+ * This procedure returns the final position.
  *
  * Returns: TRUE on success.
  *
diff --git a/libgimp/gimpimageselect_pdb.c b/libgimp/gimpimageselect_pdb.c
index 1a78783..8624eb8 100644
--- a/libgimp/gimpimageselect_pdb.c
+++ b/libgimp/gimpimageselect_pdb.c
@@ -50,14 +50,14 @@
  * drawable) that have color sufficiently close to the specified color
  * (as determined by the threshold and criterion context values) are
  * included in the selection. To select transparent regions, the color
- * specified must also have minimum alpha. This procedure is affected
- * by the following context setters: gimp_context_set_antialias(),
- * gimp_context_set_feather(), gimp_context_set_feather_radius(),
- * gimp_context_set_sample_merged(),
+ * specified must also have minimum alpha.
+ * This procedure is affected by the following context setters:
+ * gimp_context_set_antialias(), gimp_context_set_feather(),
+ * gimp_context_set_feather_radius(), gimp_context_set_sample_merged(),
  * gimp_context_set_sample_criterion(),
  * gimp_context_set_sample_threshold(),
- * gimp_context_set_sample_transparent(). In the case of a merged
- * sampling, the supplied drawable is ignored.
+ * gimp_context_set_sample_transparent().
+ * In the case of a merged sampling, the supplied drawable is ignored.
  *
  * Returns: TRUE on success.
  *
@@ -110,15 +110,17 @@ gimp_image_select_color (gint32          image_ID,
  * until no more expansion is possible. If antialiasing is turned on,
  * the final selection mask will contain intermediate values based on
  * close misses to the threshold bar at pixels along the seed fill
- * boundary. This procedure is affected by the following context
- * setters: gimp_context_set_antialias(), gimp_context_set_feather(),
+ * boundary.
+ * This procedure is affected by the following context setters:
+ * gimp_context_set_antialias(), gimp_context_set_feather(),
  * gimp_context_set_feather_radius(), gimp_context_set_sample_merged(),
  * gimp_context_set_sample_criterion(),
  * gimp_context_set_sample_threshold(),
- * gimp_context_set_sample_transparent(). In the case of a merged
- * sampling, the supplied drawable is ignored. If the sample is merged,
- * the specified coordinates are relative to the image origin;
- * otherwise, they are relative to the drawable's origin.
+ * gimp_context_set_sample_transparent().
+ * In the case of a merged sampling, the supplied drawable is ignored.
+ * If the sample is merged, the specified coordinates are relative to
+ * the image origin; otherwise, they are relative to the drawable's
+ * origin.
  *
  * Returns: TRUE on success.
  *
@@ -164,8 +166,8 @@ gimp_image_select_contiguous_color (gint32         image_ID,
  *
  * This tool creates a rectangular selection over the specified image.
  * The rectangular region can be either added to, subtracted from, or
- * replace the contents of the previous selection mask. This procedure
- * is affected by the following context setters:
+ * replace the contents of the previous selection mask.
+ * This procedure is affected by the following context setters:
  * gimp_context_set_feather(), gimp_context_set_feather_radius().
  *
  * Returns: TRUE on success.
@@ -218,7 +220,8 @@ gimp_image_select_rectangle (gint32         image_ID,
  * This tool creates a rectangular selection with round corners over
  * the specified image. The rectangular region can be either added to,
  * subtracted from, or replace the contents of the previous selection
- * mask. This procedure is affected by the following context setters:
+ * mask.
+ * This procedure is affected by the following context setters:
  * gimp_context_set_antialias(), gimp_context_set_feather(),
  * gimp_context_set_feather_radius().
  *
@@ -272,8 +275,8 @@ gimp_image_select_round_rectangle (gint32         image_ID,
  *
  * This tool creates an elliptical selection over the specified image.
  * The elliptical region can be either added to, subtracted from, or
- * replace the contents of the previous selection mask. This procedure
- * is affected by the following context setters:
+ * replace the contents of the previous selection mask.
+ * This procedure is affected by the following context setters:
  * gimp_context_set_antialias(), gimp_context_set_feather(),
  * gimp_context_set_feather_radius().
  *
@@ -326,8 +329,8 @@ gimp_image_select_ellipse (gint32         image_ID,
  * The length of array must be 2n, where n is the number of points.
  * Each point is defined by 2 floating point values which correspond to
  * the x and y coordinates. If the final point does not connect to the
- * starting point, a connecting segment is automatically added. This
- * procedure is affected by the following context setters:
+ * starting point, a connecting segment is automatically added.
+ * This procedure is affected by the following context setters:
  * gimp_context_set_antialias(), gimp_context_set_feather(),
  * gimp_context_set_feather_radius().
  *
@@ -371,9 +374,10 @@ gimp_image_select_polygon (gint32          image_ID,
  * This procedure renders the item's outline into the current selection
  * of the image the item belongs to. What exactly the item's outline is
  * depends on the item type: for layers, it's the layer's alpha
- * channel, for vectors the vector's shape. This procedure is affected
- * by the following context setters: gimp_context_set_antialias(),
- * gimp_context_set_feather(), gimp_context_set_feather_radius().
+ * channel, for vectors the vector's shape.
+ * This procedure is affected by the following context setters:
+ * gimp_context_set_antialias(), gimp_context_set_feather(),
+ * gimp_context_set_feather_radius().
  *
  * Returns: TRUE on success.
  *
diff --git a/libgimp/gimpitemtransform_pdb.c b/libgimp/gimpitemtransform_pdb.c
index 902a1c0..6f4ec6b 100644
--- a/libgimp/gimpitemtransform_pdb.c
+++ b/libgimp/gimpitemtransform_pdb.c
@@ -51,8 +51,8 @@
  * the axis needs to be specified. The return value is the ID of the
  * flipped item. If there was no selection or the item is not a
  * drawable, this will be equal to the item ID supplied as input.
- * Otherwise, this will be the newly created and flipped drawable. This
- * procedure is affected by the following context setters:
+ * Otherwise, this will be the newly created and flipped drawable.
+ * This procedure is affected by the following context setters:
  * gimp_context_set_transform_resize().
  *
  * Returns: The flipped item.
@@ -103,8 +103,9 @@ gimp_item_transform_flip_simple (gint32              item_ID,
  * is the ID of the flipped item. If there was no selection or the item
  * is not a drawable, this will be equal to the item ID supplied as
  * input. Otherwise, this will be the newly created and flipped
- * drawable. This procedure is affected by the following context
- * setters: gimp_context_set_interpolation(),
+ * drawable.
+ * This procedure is affected by the following context setters:
+ * gimp_context_set_interpolation(),
  * gimp_context_set_transform_direction(),
  * gimp_context_set_transform_resize().
  *
@@ -169,8 +170,9 @@ gimp_item_transform_flip (gint32  item_ID,
  * values, any affine transformation (rotation, scaling, translation)
  * can be affected. Additionally, these values can be specified such
  * that the resulting transformed item will appear to have been
- * projected via a perspective transform. This procedure is affected by
- * the following context setters: gimp_context_set_interpolation(),
+ * projected via a perspective transform.
+ * This procedure is affected by the following context setters:
+ * gimp_context_set_interpolation(),
  * gimp_context_set_transform_direction(),
  * gimp_context_set_transform_resize().
  *
@@ -232,8 +234,9 @@ gimp_item_transform_perspective (gint32  item_ID,
  * value is the ID of the rotated item. If there was no selection or
  * the item is not a drawable, this will be equal to the item ID
  * supplied as input. Otherwise, this will be the newly created and
- * rotated drawable. This procedure is affected by the following
- * context setters: gimp_context_set_transform_resize().
+ * rotated drawable.
+ * This procedure is affected by the following context setters:
+ * gimp_context_set_transform_resize().
  *
  * Returns: The rotated item.
  *
@@ -285,8 +288,9 @@ gimp_item_transform_rotate_simple (gint32           item_ID,
  * value is the ID of the rotated item. If there was no selection or
  * the item is not a drawable, this will be equal to the item ID
  * supplied as input. Otherwise, this will be the newly created and
- * rotated drawable. This procedure is affected by the following
- * context setters: gimp_context_set_interpolation(),
+ * rotated drawable.
+ * This procedure is affected by the following context setters:
+ * gimp_context_set_interpolation(),
  * gimp_context_set_transform_direction(),
  * gimp_context_set_transform_resize().
  *
@@ -339,8 +343,9 @@ gimp_item_transform_rotate (gint32   item_ID,
  * value is the ID of the scaled item. If there was no selection or the
  * item is not a drawable, this will be equal to the item ID supplied
  * as input. Otherwise, this will be the newly created and scaled
- * drawable. This procedure is affected by the following context
- * setters: gimp_context_set_interpolation(),
+ * drawable.
+ * This procedure is affected by the following context setters:
+ * gimp_context_set_interpolation(),
  * gimp_context_set_transform_direction(),
  * gimp_context_set_transform_resize().
  *
@@ -395,7 +400,8 @@ gimp_item_transform_scale (gint32  item_ID,
  * drawable. The shear type parameter indicates whether the shear will
  * be applied horizontally or vertically. The magnitude can be either
  * positive or negative and indicates the extent (in pixels) to shear
- * by. This procedure is affected by the following context setters:
+ * by.
+ * This procedure is affected by the following context setters:
  * gimp_context_set_interpolation(),
  * gimp_context_set_transform_direction(),
  * gimp_context_set_transform_resize().
@@ -451,8 +457,9 @@ gimp_item_transform_shear (gint32              item_ID,
  * The return value is the ID of the rotated drawable. If there was no
  * selection or the item is not a drawable, this will be equal to the
  * item ID supplied as input. Otherwise, this will be the newly created
- * and transformed drawable. This procedure is affected by the
- * following context setters: gimp_context_set_interpolation(),
+ * and transformed drawable.
+ * This procedure is affected by the following context setters:
+ * gimp_context_set_interpolation(),
  * gimp_context_set_transform_direction(),
  * gimp_context_set_transform_resize().
  *
@@ -517,8 +524,9 @@ gimp_item_transform_2d (gint32  item_ID,
  * return value is the ID of the transformed item. If there was no
  * selection or the item is not a drawable, this will be equal to the
  * item ID supplied as input. Otherwise, this will be the newly created
- * and transformed drawable. This procedure is affected by the
- * following context setters: gimp_context_set_interpolation(),
+ * and transformed drawable.
+ * This procedure is affected by the following context setters:
+ * gimp_context_set_interpolation(),
  * gimp_context_set_transform_direction(),
  * gimp_context_set_transform_resize().
  *
diff --git a/tools/pdbgen/app.pl b/tools/pdbgen/app.pl
index 215f144..7cea270 100644
--- a/tools/pdbgen/app.pl
+++ b/tools/pdbgen/app.pl
@@ -30,12 +30,15 @@ $builddir = "$main::builddir/app/pdb";
 use Text::Wrap qw(wrap);
 
 sub quotewrap {
-    my ($str, $indent) = @_;
+    my ($str, $indent, $subsequent_indent) = @_;
     my $leading = ' ' x $indent . '"';
+    my $subsequent_leading = ' ' x $subsequent_indent . '"';
     $Text::Wrap::columns = 1000;
-    $str = wrap($leading, $leading, $str);
+    $Text::Wrap::unexpand = 0;
+    $str = wrap($leading, $subsequent_leading, $str);
     $str =~ s/^\s*//s;
-    $str =~ s/(.)$/$1"/mg;
+    $str =~ s/(.)\n(.)/$1\\n"\n$2/g;
+    $str =~ s/(.)$/$1"/s;
     $str;
 }
 
@@ -598,8 +601,8 @@ sub generate {
                                "$procedure_name");
   gimp_procedure_set_static_strings (procedure,
                                      "$procedure_name",
-                                     @{[ &quotewrap($proc->{blurb}, 2) ]},
-                                     @{[ &quotewrap($help,  2) ]},
+                                     @{[ &quotewrap($proc->{blurb}, 2, 37) ]},
+                                     @{[ &quotewrap($help,  2, 37) ]},
                                      "$proc->{author}",
                                      "$proc->{copyright}",
                                      "$proc->{date}",
diff --git a/tools/pdbgen/pdbgen.pl b/tools/pdbgen/pdbgen.pl
index 713fd26..bf6dd85 100755
--- a/tools/pdbgen/pdbgen.pl
+++ b/tools/pdbgen/pdbgen.pl
@@ -125,8 +125,11 @@ foreach $file (@groups) {
     die $@ if $@;
 }
 
-# Squash whitespace into just single spaces between words
-sub trimspace { for (${$_[0]}) { s/\s+/ /gs; s/^ //; s/ $//; } }
+# Squash whitespace into just single spaces between words.
+# Single new lines are considered as normal spaces, but n > 1 newlines are considered (n - 1) newlines.
+# The sligthly complicated suite of regexp is so that \n\s+\n is still considered a double newline.
+sub trimspace { for (${$_[0]}) { s/(\S)[\ \t\r\f]*\n[\ \t\r\f]*(\S)/\1 \2/g; s/[\ \t\r\f]+/ /gs;
+    s/\n(([\ \t\r\f]*\n)+)/\1/g; s/[\ \t\r\f]*\n[\ \t\r\f]/\n/g ; s/^\s+//; s/\s+$//; } }
 
 # Trim spaces and escape quotes C-style
 sub nicetext {


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]