Kate in KDE 4.10

According to our release schedule, KDE SC 4.10.0 will be available to the public in early February 2013. Following Kate in KDE 4.7, Kate in KDE 4.8 and Kate in KDE 4.9, this blog post highlights what’s new in Kate in KDE 4.10.

New Features

News in the Plugins World

  • Kate’s Pate plugin now provides several new plugins by default, with Python 3 support.
  • Kate gained a new and very powerful Project plugin with ctags code completion. It is tightly integrated with the Search & Replace plugin as well as the GDB Plugin and the Quick Open feature.
  • Kate Search & Replace plugin gained find-as-you-type support.

Improvements

Bug Fixes

Most of the following work was done during the yearly KDE conference and especially the joint Kate/KDevelop meeting this October in Vienna. A massive bug database cleanup was performed mainly by Christoph, so we closed several hundreds of bug reports, where ~280 are really fixed. So we are down to a total of 400 reports (only 70 of these 400 reports are bugs), where we initially had > 800 open issues. This also is reflected in the Kate bug charts:

Thanks to all contributors to make yet another release rock! :-) And as always: We are happy for every contribution, so check out the Kate sources and send us patches! We hope you enjoy using Kate as much as we enjoy its development :-)

Python plugin gets support for Python3

Being vaguely aware that Python3 had some “interesting” differences compared to Python2, I had decided to not think about Python3 for now, but then one of our dear users piped up to say that even building it was broken! That seemed weird, so I started poking around only to find myself falling Alice-like into a Wonderland where strings were not always strings…

Well, I’ve long been interested in i18n and l10n in all their forms, especially as they apply to Indic languages, so I was somewhat aware of the sorts of issues that Unicode can throw up. Luckily, as a KDE developer I’m used to depending on QString handle all the routine grunt work so it was a bit of a rude awakening to discover that, the C API for Python strings takes many forms:

Note only that, but:
  • Ubuntu does not yet have 3.3.
  • The cmake support in KDE before 4.9.4 cannot find the right libraries.
  • The PyKDE4 support for strings was broken-then-fixed.
  • Python3 pickles structures differently than Python2.
Anyway, with some excellent support from Luca Beltrame and Alex Turbov, I’m glad to say that Pate and its plugins should now work with any of Python 2.x, <= 3.2, or 3.3 in the upcoming 4.9.4 and 4.10 releases. Thanks Luca and Alex!