[FriBidi] Version 0.19.2 should be considered as new both API and ABI
Tom Hacohen
tom.hacohen at partner.samsung.com
Sun Oct 10 03:41:50 PDT 2010
On Sun, 2010-10-10 at 03:33 -0700, Artyom wrote:
> Hello,
>
> I've tried to convert by project BiDiTeX (http://biditex.sourceforge.net/)
> to newer version of fribidi, I had issues with missing to_cp1255 from_cp1255
> functions,
> but I moved to correct public functions.
>
> However I discovered much bigger ABI/API compatibility issue:
>
> FriBiDi 0.10.9
> --------------
>
> fribidi_boolean
> fribidi_log2vis_get_embedding_levels ( /* input */
> FriBidiChar *str,
> FriBidiStrIndex len,
> FriBidiCharType *pbase_dir,
> FriBidiLevel *embedding_level_list);
>
>
> FriBiDi 0.19.2
> ---------------
>
> FriBidiLevel
> fribidi_log2vis_get_embedding_levels (
> const FriBidiCharType *bidi_types, /* input list of bidi types as returned
> by
> fribidi_get_bidi_types() */
> const FriBidiStrIndex len, /* input string length of the paragraph */
> FriBidiParType *pbase_dir, /* requested and resolved paragraph
> * base direction */
> FriBidiLevel *embedding_levels /* output list of embedding levels */
> ) FRIBIDI_GNUC_DEPRECATED;
>
>
This is weird, especially since this function is deprecated so there's
no real reason to break the API of a deprecated function. This should
probably be fixed, but in your reimplementation, you should really *not*
use it.
> Now, users complain that in upstream Ubuntu that comes with new fribidi they
> can't use
> the biditex, on the other hand they can't install older fribidi because it
> conflicts with the new one
> (as they have same so-version and can't be installed separately)
My personal opinion: just forget 0.10.x ever existed and fix it to work
with 0.19.x, that's what I did. Instead of checking which version the
user had, which was annoying, I just fixed everything to work only with
0.19.x with the assumption that anyone who hasn't upgraded to 0.19.x
won't upgrade my software either, and there's no reason why I stay
behind because of a few people who'll do this strange mix.
But maybe I think this way because 0.10.x -> 0.19.x "just worked" for
me.
--
Tom.
More information about the fribidi
mailing list