Carlos Garcia Campos <[email protected]> writes: > [ Unknown signature status ] > William Bader <[email protected]> writes: > >> I think that the poppler maintainers have tried to avoid changes that would >> unnecessarily complicate merging xpdf changes into poppler. >> Even though poppler has diverged from xpdf, it is still often possible >> to apply small xpdf diffs to poppler, and I think that there are a >> number of xpdf-3.04 changes that still need to be merged. > > That's right, but in the end we always had to manually apply all > changes, at least in the 3.02 and 3.03 merges. It's not really possible > to apply the patch and fix merge conflicts, so I think it's time to stop any > progress because of diverging from xpdf code.
Of course, I meant to *not* stop any progress >> The qt frontends are not in xpdf, so reformatting them would probably be >> less of an issue. >> Regards, William >> >>> From: [email protected] >>> To: [email protected] >>> Date: Mon, 27 Jun 2016 19:09:33 +0200 >>> Subject: [poppler] Source code beautifiers >>> >>> Hello, everyone! >>> >>> Poppler has a very diverse codebase if it comes to coding style. In >>> some places it gets really weird, e.g. the qt frontends, where we have >>> code like this ("▸---" marks a tab): >>> >>> bool Document::unlock(const QByteArray &ownerPassword, >>> >>> >>> ▸---▸---▸--- const QByteArray &userPassword) >>> >>> >>> { >>> >>> >>> ▸---if (m_doc->locked) { >>> >>> >>> ▸--- /* racier then it needs to be */ >>> >>> >>> ▸--- DocumentData *doc2; >>> >>> >>> ▸--- if (!m_doc->fileContents.isEmpty()) >>> >>> >>> ▸--- { >>> >>> >>> ▸---▸---doc2 = new DocumentData(m_doc->fileContents, >>> >>> >>> ▸---▸---▸---▸---▸---new GooString(ownerPassword.data()), >>> >>> >>> ▸---▸---▸---▸---▸---new GooString(userPassword.data())); >>> >>> >>> ▸--- } >>> >>> >>> ▸--- else >>> >>> >>> ▸--- { >>> >>> >>> ▸---▸---doc2 = new DocumentData(m_doc->m_filePath, >>> >>> >>> ▸---▸---▸---▸---▸---new GooString(ownerPassword.data()), >>> >>> >>> ▸---▸---▸---▸---▸---new GooString(userPassword.data())); >>> >>> >>> ▸--- } >>> >>> >>> ▸--- if (!doc2->doc->isOk()) { >>> >>> >>> ▸---▸---delete doc2; >>> >>> >>> ▸--- } else { >>> >>> >>> ▸---▸---delete m_doc; >>> >>> >>> ▸---▸---m_doc = doc2; >>> >>> >>> ▸---▸---m_doc->locked = false; >>> >>> >>> ▸---▸---m_doc->fillMembers(); >>> >>> >>> ▸--- } >>> >>> >>> ▸---} >>> >>> >>> ▸---return m_doc->locked; >>> >>> >>> } >>> >>> With code like this I just end up copy-pasting things hoping that I >>> manage to guess the right way to format the code. So I've thought we >>> could make things easier by using a source code beautifier and >>> providing config files for it. We could either unify the coding style >>> or we could have different config files for core, goo, qt etc. (I'd be >>> in favor of unification.) >>> >>> Two source code beautifiers that I know of are Uncrustify[1] and >>> ClangFormat[2]. For the second one there is a web page[3] which makes >>> its configuration a piece of cake and there is a python script making >>> it easy to integrate it with vim or any other highly configurable >>> editor. However Uncrustify seems to be more configurable. Flatpak devs >>> have a useful shell script making it easier to invoke Uncrustify[4]. >>> >>> What do you think? >>> >>> Jakub >>> >>> [1] http://uncrustify.sourceforge.net/ >>> [2] http://clang.llvm.org/docs/ClangFormat.html >>> [3] http://clangformat.com/ >>> [4] https://github.com/flatpak/flatpak/blob/master/uncrustify.sh >>> _______________________________________________ >>> poppler mailing list >>> [email protected] >>> https://lists.freedesktop.org/mailman/listinfo/poppler >> >> _______________________________________________ >> poppler mailing list >> [email protected] >> https://lists.freedesktop.org/mailman/listinfo/poppler > > -- > Carlos Garcia Campos > PGP key: http://pgp.mit.edu:11371/pks/lookup?op=get&search=0x523E6462 > _______________________________________________ > poppler mailing list > [email protected] > https://lists.freedesktop.org/mailman/listinfo/poppler -- Carlos Garcia Campos PGP key: http://pgp.mit.edu:11371/pks/lookup?op=get&search=0x523E6462
signature.asc
Description: PGP signature
_______________________________________________ poppler mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/poppler
