Re: IMPORTANT: proposed removal of non-bidi code

From: Tomas Frydrych (tomas@frydrych.uklinux.net)
Date: Thu May 09 2002 - 16:17:05 EDT

  • Next message: M.Pritt@epixtech.com: "Re: Problems with compiling code"

    Hi Paul,

    > Switch the default HEAD build environment to BIDI_ENABLED
    > That way if no serious problems surface after a week or so, then
    > deleting the deprecated code shouldn't worry anyone (least of all me).

    We could, of course, do this, though I personally do not see much
    need for it. If you look into the sources, you will see that most of
    the #if's look something like this:

    #ifdef BIDI_ENABLED
        if(LTR)
    #endif
        {
            ... some code
        }
    #ifdef BIDI_ENABLED
        else
       {
           ... bidi specific code
       }
    #endif

    I have took this ugly approach so that the bidi build would
    physically share as much of the non-bidi code as possible. There
    are very few cases where differences where so substantial that the
    defines look like this:

    #ifndef BIDI_ENABLED
        ... some non-bidi code
    #else
        ... the bidi only code
    #endif

    Consequently, we will be deleting very little code, mainly just
    getting rid off the #if's. At the end of the day, we will have to fix the
    bugs one way or another.

    The other thing is, that with the rewrite Martin has started I suspect
    we will not have a properly working code in the HEAD for some
    time -- my understanding was that this was precisely the reason for
    the 1.0 release, so that we could do radical things to the head.
    Consequently, I doubt we would get any substantial feedback (from
    truning the bidi stuff on by default) in a week or two. I think leaving
    the #ifdef's in will mainly just complicate the rewrite -- the new
    container system needs to be designed with bidi in mind, at least
    to the extent that each container needs to be able to order its
    contents in left-to-right or right-to-left order, and I would hate for this
    to be done with new #ifdef BIDI_ENABLED blocks.

    As far as the Pango work is concerned, this does not make it any
    harder or easier, it just makes the sources clearer, particularly as
    there is now going to be a new set of #ifdef WITH_PANGO
    sections. In terms of progress, I have hardly started and doubt
    there will be anything to show for it in the next month or two.

    Tomas



    This archive was generated by hypermail 2.1.4 : Thu May 09 2002 - 16:25:15 EDT