I would REALLY appreciate if someone could have a look at the 
BiDi patch so that it could be checked into the tree BEFORE any 
rewrite of the /text/ stuff starts. It is bad enough having to reconcile 
it with the tree by hand every time changes are made to the /text/ 
classess (I spent an hour or so doing this on Saturday and that 
was mainly due to some cosmetic changes to this part of the tree).

Tomas

> Hi there! (and merry Xmas!)
> 
> I've been thinking about making some serious hacking on the backend of
> AbiWord for a while now. There have been a lot of discussions of
> various rewrites/hacks of that part of AbiWord, but it's going to be a
> very big job - and I fear that it'll never happen if we don't get
> started.
> 
> So to avoid breaking the existing backend and avoid holding up coming
> releases, I wonder if I could be allowed to clone the existing backend
> (abi/src/text) as abi/src/text2 and check it in. Adding a simple
> compile option would allow people to play with the new backend and
> more importantly allow me to check in changes piecemeal instead of
> waiting for a 100% rewrite to be completed.
> 
> I've considered creating a CVS branch instead, but I'd rather have a
> separate directory - allowing people to switch backend with a compile
> option instead of faffing about with CVS.
> 
> 
> 
> These are the issues I would like to address:
> 
>  o Improve documentation - both overview and API wise using
>    Doxygen. [will happen as I fight^Wwork my way through the code]
> 
>  o Split existing view code into view and controller code.
>  o Updating/including Mike's Cursor class.
> 
>  o Fix fake-run/findPointCoords mess by introducing EOL/EOD runs.
> 
>  o Move attributes from content Runs to separate attribute
>    Runs. Reduces data size, speeds up lookups, allows (if desired)
>    full attribute show code feature as in WP.
> 
> And eventually:
> 
>  o Look into caching IP searches on page/column/line levels reducing
>    time spent traversing the document.
> 
>  o Look into representing the document using an AVL tree instead of
>    the doubly linked list.
> 
> 
> 
> 
> There's a ton of information which I've gone through - and will have
> to go through again - to make all this happen. I would like to have
> provided related pointers for each of the issues, but I'm too
> lazy. Below is the list of postings I've marked in GNUS which are
> going to affect the stuff I do.
> 
> 
> 
> !  [   0: Mike Nordell        ] Cursor (second try)
> !      [   0: sam th              ] 
> !          [   0: Mike Nordell        ] 
> !      [   0: Martin Sevior       ] 
> !A [   0: Mike Nordell        ] asserts and pagebreaks
> !      [  16: Jesper Skov         ] 
> !          [   0: Mike Nordell        ] 
> !              [   0: sam th              ] 
> !A     [   0: sam th              ] Summary (was Re: asserts and pagebreaks)
> !          [  31: Jesper Skov         ] 
> !A             [   0: Mike Nordell        ] 
> !                  [  83: Jesper Skov         ] 
> !A                     [   0: Mike Nordell        ] 
> !                          [  36: Jesper Skov         ] 
> !                              [   0: Mike Nordell        ] 
> !A                                 [  46: Jesper Skov         ] 
> !                                      [  28: Jesper Skov         ] LineBreaks vs 
>Page/ColBreaks

> !A                                         [   0: Martin Sevior       ] 
> !                                              [  42: Jesper Skov         ] 
> !                                                  [   0: Randy Kramer        ] 
> !                                                      [   0: sam th              ] 
> !A                                         [   0: Eric W. Sink        ] 
> !                                              [  44: Jesper Skov         ] 
> !                          [   0: Justin Bradford     ] Re: Summary (was Re: asserts 
>and pagebrea
ks)
> !                              [   0: Mike Nordell        ] Re: FieldStart/End Runs
> !S [   0: Mike Nordell        ] Preliminary Cursor patch
> !      [   0: Joaquín Cuenca Abela] 
> !          [   0: Mike Nordell        ] 
> !  [   0: Mike Nordell        ] patch for the cursor patch
> !  [   0: sam th              ] A Proposal (why we should have setBold(true))
> !      [   0: Bruce Pearson       ] 
> !          [   0: sam th              ] 
> !              [   0: Martin Sevior       ] 
> !          [   0: Mike Nordell        ] 
> !              [   0: [EMAIL PROTECTED]  ] 
> !                  [   0: sam th              ] 
> !      <   0: Eric W. Sink        > 
> !          [   0: sam th              ] 
> !      <   0: Paul Rohr           > 
> !          [   0: sam th              ] 
> !          [   0: Paul Rohr           ] 
> !              [   0: sam th              ] 
> !              [   0: Paul Rohr           ] 
> !                  [   0: sam th              ] 
> !  [   0: Jesper Skov         ] [RFC] New fl_BlockLayout::findPointCoords 
>implementation
> !      [   0: Martin Sevior       ] 
> !          [   0: Jesper Skov         ] 
> !              [   0: Martin Sevior       ] 
> !                  [   0: Jesper Skov         ] 
> !                      [   0: sam th              ] 
> !                      [   0: Martin Sevior       ] 
> !                  [   0: Mike Nordell        ] 
> !          [   0: Mike Nordell        ] 
> !  [   0: Jesper Skov         ] IP and Fields (and another Field problem)
> !      [   0: Martin Sevior       ] 
> !          [   0: Jesper Skov         ] 
> !              [   0: Martin Sevior       ] 
> !                  [   0: Jesper Skov         ] 
> !A [   0: Martin Sevior       ] Calculating Cursor Size ar Run boundaries.
> !      [  83: Jesper Skov         ] 
> !          [   0: sam th              ] 
> !  [   0: Paul Rohr           ] raw material for fields design
> !  [   0: Paul Rohr           ] fields -- known bugs in the existing implementation
> !      [   0: Martin Sevior       ] 
> !  [   0: Paul Rohr           ] fields -- file format issues
> !  [   0: Paul Rohr           ] fields -- miscellaneous design details
> !  [   0: Paul Rohr           ] fields -- proposed designs on the table
> !  [   0: Paul Rohr           ] fields -- related issues for later
> !  [   0: Jesper Skov         ] [RFC] new findPointCoords implementation
> !      <   0: Martin Sevior       > 
> !  [   0: Jesper Skov         ] findPointCoords changes checked in
> !  [   0: sam th              ] re: [RFC2] new findPointCoords implementation (fwd)
> !  [   0: sam th              ] Re: [RFC2] new findPointCoords implementation (and 
>bug triage(sp?
)) (fwd)
> !  [   0: Martin Sevior       ] Re: [RFC2] new findPointCoords implementation (and 
>bug triage(sp?
))
> !      [   0: sam th              ] 
> !  [   0: Jesper Skov         ] [RFC] fp_EmptyTextRun
> !      [   0: Martin Sevior       ] 
> !  [   0: Paul Rohr           ] empty blocks vs. zero-length runs
> !      [   0: Jesper Skov         ] 
> !          [   0: Paul Cubbage        ] 
> !          [   0: Paul Rohr           ] 
> !A             [   0: Jesper Skov         ] 
> !                  [  32: Jesper Skov         ] 
> !  [   0: Paul Rohr           ] fields design -- proposed edit/select behaviors
> !      [   0: Martin Sevior       ] 
> !      [   0: Paul Rohr           ] 
> !          [   0: Justin Bradford     ] 
> !  [   0: Paul Rohr           ] fields design -- no field codes
> !  [   0: Paul Rohr           ] commit -- sample documents with fields
> !  [   0: Paul Egli           ] Blank Paragraphs
> !      [  30: Jesper Skov         ] 
> !  [   0: Aaron Lehmann       ] commit -- fixed -- Martin's segfault on startup
> !A [   0: Jesper Skov         ] Thoughts on text styles, Show Paragraphs, and 
>internal representa
tion
> !      [   0: Randy Kramer        ] 
> !          [   0: Randy Kramer        ] 
> !              [   0: Jesper Skov         ] 
> !A                 [   0: Randy Kramer        ] 
> !                      [  16: Jesper Skov         ] 
> !      [  16: Jesper Skov         ] 
> !          [   0: Randy Kramer        ] 
> !  [   0: Big Ed              ] Cursor movement
> !      [   0: Martin Sevior       ] 
> !      [   0: sam th              ] 
> !A         [   0: Mike Nordell        ] 
> !              [   0: sam th              ] 
> !  [   0: WJCarpenter         ] navigating the sources (was Re: patch: do-again for 
>Background Ch
ecks patch)
> !  [   0: Martin Sevior       ] Fields Update.
> !  [   0: Paul Rohr           ] fields design -- assumptions
> !  [   0: Paul Rohr           ] fields design -- FIELDs vs. CHUNKs (LONG)
> !  [   0: Paul Rohr           ] chunks design -- ABW-format selections on the 
>clipboard
> !      [   0: Martin Sevior       ] 
> !      [   0: Paul Rohr           ] Re: chunks design -- ...
> !          [   0: Martin Sevior       ] 
> !          [   0: Paul Rohr           ] 
> !  [   0: Paul Rohr           ] fields design -- FIELD is a strux
> !      [   0: Martin Sevior       ] 
> !  [   0: Paul Rohr           ] fields design -- editing operations
> !  [   0: Paul Rohr           ] fields design -- separate endStrux() APIs??
> !  [   0: Paul Rohr           ] one more try on fields design
> !  [   0: Paul Rohr           ] fields -- ASSERT(field updates are rare, and 
>undoable)
> !  [   0: Paul Rohr           ] fields -- ASSERT(headers and footers are a special 
>case)
> !  [   0: Paul Rohr           ] fields -- ASSERT(all fields are actually chunks)
> !  [   0: Martin Sevior       ] Yet another Fields update.
> !      [   0: sam th              ] 
> !          [   0: Martin Sevior       ] 
> !              [   0: sam th              ] 
> !  [   0: Martin Sevior       ] Re: Field bugs was Re: commit: undebugged Lists and 
>Fields.
> !      <   0: Martin Sevior       > 
> !          [   0: Sam TH              ] 
> 
> 
> 
> 
> There's a lot, huh? :)
> 
> I expect that this will probably take months to do - if I don't get
> fed up with it all and give up on the way. So I'll try to post
> occasional progress reports and battle plans on the list so people can
> track the progress (or lack thereof).
> 
> I'll also use a ChangeLog and ask anyone who decide to hack on the
> same files to do the same. That way it should be easier for people to
> both track what has been done, and how.
> 
> 
> I'll be interested in hearing comments, complaints, whatever...
> 
> Cheers,
> Jesper
> 



Reply via email to