Re: libtool versioning

2010-05-17 Thread Ralf Wildenhues
* Ralf Wildenhues wrote on Tue, May 04, 2010 at 07:56:12PM CEST:
 I'll apply the patch below soon unless I hear complaints.

Based on the very mixed feedback for this patch, let's drop it.

Thanks everyone for feedback tho,
Ralf

 Reword alternate versioning algorithm a bit.
 
 * doc/libtool.texi (Updating version info): Replace some uses of
 `may' with `might' or `can' as appropriate.
 Suggestion by Tor Lillqvist.



Re: libtool versioning

2010-05-05 Thread Peter Rosin

Den 2010-05-04 20:00 skrev Ralf Wildenhues:

Errrm, is that really so? I tend to agree with Jef here...


I take it that your response is to my ... it will work sentence, not
the paragraph below that.


Ah, indeed.


The algorithm *could* be interpreted such that e.g. the interface change
int foo(void) -  int foo(int) is an interface addition of int foo(int)
and an interface remove of int foo(void), thus triggering both #5 and #6.
But in that case changed need not be mentioned in #4 either. So, because
changed is mentioned in #4, it also needs to be explicitly mentioned
in #6.


Ah, ok.  Yes, you're right.  Feel free to commit a patch to
s/removed/  or changed/  in 6.


I've pushed the attached patch...

Cheers,
Peter

2010-05-05  Peter Rosin  p...@lysator.liu.se

Clarify versioning algorithm documentation.
* doc/libtool.texi (Updating version info): Be explicit
about setting age to zero on interface change.
Reported by Jef Driesen jefdrie...@hotmail.com


--
They are in the crowd with the answer before the question.
 Why do you dislike Jeopardy?
diff --git a/doc/libtool.texi b/doc/libtool.texi
index f73f5a7..bbc22f4 100644
--- a/doc/libtool.texi
+++ b/doc/libtool.texi
@@ -2927,8 +2927,8 @@ If any interfaces have been added since the last public 
release, then
 increment @var{age}.
 
 @item
-If any interfaces have been removed since the last public release, then
-set @var{age} to 0.
+If any interfaces have been removed or changed since the last public
+release, then set @var{age} to 0.
 @end enumerate
 
 @stro...@emph{never}} try to set the interface numbers so that they


Re: libtool versioning

2010-05-05 Thread Yaakov (Cygwin/X)

I am a native English speaker, so here are my 0.02:

On 2010-05-04 12:56, Ralf Wildenhues wrote:

-The following explanation may help to understand the above rules a bit
+The following explanation can help to understand the above rules a bit


Leave this as may.


-drop-in replacement, but programs using the new version may use APIs not
+drop-in replacement, but programs using the new version can use APIs not


Again, may.


-the new version may fail with ``unresolved symbols'' if linking against
+the new version might fail with ``unresolved symbols'' if linking against


OK.


-Programs may need to be changed, recompiled, relinked in order to use
+Programs might need to be changed, recompiled, relinked in order to use


I think this is OK as well.


Yaakov
Cygwin/X




Re: libtool versioning

2010-05-05 Thread Bob Friesenhahn

On Tue, 4 May 2010, Ralf Wildenhues wrote:


Looked it up in the net now, e.g.,
http://grammar.quickanddirtytips.com/may-might.aspx, tells me that I
should be using might instead of may only for things that are rather
improbable to happen.
http://www.fortunecity.com/bally/durrus/153/gramch10.html tells me
that may can be used as a more formal form of some meanings of can
or is able to, which I think is applicable here.  Remains avoidance of
repetition, which is generally a good thing in flowing text but not
needed so much in technical documentation which is more concerned with
correctness.

I'll apply the patch below soon unless I hear complaints.


As a native english speaker, I don't think that these particular 
improvements are improvements.  I like the existing text better.


Bob



Thanks,
Ralf

   Reword alternate versioning algorithm a bit.

   * doc/libtool.texi (Updating version info): Replace some uses of
   `may' with `might' or `can' as appropriate.
   Suggestion by Tor Lillqvist.

diff --git a/doc/libtool.texi b/doc/libtool.texi
index 987b232..ec24a2f 100644
--- a/doc/libtool.texi
+++ b/doc/libtool.texi
@@ -2947,7 +2947,7 @@ Instead, use the @option{-release} flag (@pxref{Release 
numbers}), but be
warned that every release of your package will not be binary compatible
with any other release.

-The following explanation may help to understand the above rules a bit
+The following explanation can help to understand the above rules a bit
better: consider that there are three possible kinds of reactions from
users of your library to changes in a shared library:

@@ -2961,14 +2961,14 @@ is needed.  In this case, bump @var{revision} only, 
don't touch

@item
Programs using the previous version may use the new version as
-drop-in replacement, but programs using the new version may use APIs not
+drop-in replacement, but programs using the new version can use APIs not
present in the previous one.  In other words, a program linking against
-the new version may fail with ``unresolved symbols'' if linking against
+the new version might fail with ``unresolved symbols'' if linking against
the old version at runtime: set @var{revision} to 0, bump @var{current}
and @var{age}.

@item
-Programs may need to be changed, recompiled, relinked in order to use
+Programs might need to be changed, recompiled, relinked in order to use
the new version.  Bump @var{current}, set @var{revision} and @var{age}
to 0.
@end enumerate




--
Bob Friesenhahn
bfrie...@simple.dallas.tx.us, http://www.simplesystems.org/users/bfriesen/
GraphicsMagick Maintainer,http://www.GraphicsMagick.org/




Re: libtool versioning

2010-05-05 Thread Dave Korn
On 04/05/2010 18:56, Ralf Wildenhues wrote:

 I'll apply the patch below soon unless I hear complaints.

  Complain is too strong a word for what I'm about to do... nitpick, quibble
or kibbitz might be better :)  Disclaimer aside, ...

 -The following explanation may help to understand the above rules a bit
 +The following explanation can help to understand the above rules a bit

  Either might or may sound appropriate here, but can is a bit
odd-sounding to this native speaker's ears.

  If we were re-wording the sentence to make the listener the explicit
subject, we would write You may find the following explanation helpful or
You might find the following explanation helpful but not You can find the
following explanation helpful; the first two describe something that is a
possible state of affairs, but in the can formulation it sounds like the
speaker is giving the listener permission to find the explanation helpful.

  Saying that the explanation can help makes the explanation sound like an
active agent rather than a passive object: it is the reader who can or can not
help themselves, using the explanation to do so, rather than the explanation
that jumps up and sets about helping the reader.

 -drop-in replacement, but programs using the new version may use APIs not
 +drop-in replacement, but programs using the new version can use APIs not

  I'd have left this one alone, the use of may emphasises that it is
conditional/subjunctive, which I think is the more important sense of the
sentence than the are able to sense which is implied.

  present in the previous one.  In other words, a program linking against
 -the new version may fail with ``unresolved symbols'' if linking against
 +the new version might fail with ``unresolved symbols'' if linking against
  the old version at runtime: set @var{revision} to 0, bump @var{current}
  and @var{age}.
  
  @item
 -Programs may need to be changed, recompiled, relinked in order to use
 +Programs might need to be changed, recompiled, relinked in order to use
  the new version.  Bump @var{current}, set @var{revision} and @var{age}

  These last two I'd say too close to call, purely a matter of personal taste.

cheers,
  DaveK