MlView activity News
Dodji Seketeli <[email protected]> Sun, 22 May 2005 12:47:28 +0200
| Newsgroups | gmane.editors.mlview.devel |
|---|---|
| Message-ID | <[email protected]> |
Hello folks, I have been away from emails for a long time now, unfortunately. A lot of activity happened in the GNU Arch repository of MlView though. We have done a lot since the last 0.7.1 release that happened in November last year. Here is a summary of what happened in the mlview--main--0.8 branch (that = will give birth to the coming 0.8 release) : * a new "create document" dialog=20 * a new source oriented editing view.=20 MlView is no more a tree oriented (only) editor. Okay, we need to add a lot of editing feature to this new source view so that people writing docs can use it efficiently.=20 * added some DBus stuffs so that application can be controlled remotely. this is an initial work to add a non regression tests framework. In the future, after compiling MlView, 'make tests" should run the editor, and launch series of tests to catch possible regressions. * A new firefox like search UI. This only works in the tree oriented editing view. The source editing view doesn't have any search feature = yet. Any volunteer ? * tons of bug fixes All this changes are now committed into CVS HEAD. In the mean time, we have been pondering switching the code base to C++. Yeah, I know that will hurt some people. But I am tired of writing gobjec= ts in C, really. It's bug prone, long, and tedious. What makes the process tedi= ous is not the use of the C libraries. It more the need of concepts like inheritance, polymorphism that makes the use of gobjects tedious in C. Basically, we needed a language that=20 *let us write object oriented code easily,=20 without re-writing the project.=20 * let us leverage easily on the existing C code base around in GNOME.=20 * has a rather complete set of bindings in GNOME today.=20 * enforces type safety at compile time,=20 to help catch more bugs. =09 To me, the best language that matches these requirements *today* is C++.=20 Okay it has drawbacks. But which language doesn't ?=20 All in all this is a matter of trade off. So we started to port the entire MlView code base to C++. The first step of this process was the compile the project using g++, kee= ping the code unchanged, except for the parts that needed compilation errors f= ixing do to the stronger type strictness of C++. This first step is completed now. The next step is to re-factor the former C classes (that derive from gobj= ect) and make them be good c++ citizens. This implies starting from the upper = level classes and going downward. I'd like this work to be done progressively s= o that the code compiles and runs after the porting of each class. I think = that we should not enter a long "tunnel" where nothing works until all the cla= sses are ported. Moving forward through incremental changes is usually a good = thing.=20 All this c++ related changes are taking place in the mlview--cpp--0.8 branch, in GNU Arch. I haven't committed anything to CVS yet,=20 and I don't think I will, unless some of you want it. Furthermore, this work won't be merged back in the 0.8 line, but rather i= n a further code line. Maybe, maybe 0.10, I don't know for now. Only bug fixes and changes that affect classes that haven't been ported to C++ will be merged in the mlview--main--0.8 code line. Oh, and I would like to thank Philippe Mecha=EF, Stephane Wirtel=20 and Benjamin Dauvergne for their invaluable help. Best wishes, Dodji