Hi guys, it's me again.
First, I'd like to say sorry about tons of emails I sent last time by accident. Actually I did not notice that until I took a look at geany-devel archives tomorrow. Definitely, the experiment with `git format-patch' was unsuccessful...
Second, there was a little question in my previous mail. As I did not receive any answer, I decided to make code changes as little as possible. Maybe I should have done so immediately, without asking that question... Anyway, the result is the last (#8) patch for sm branch. Now I consider XSMP support complete, some testing is required.
Below are patches for sm branch that have not been applied yet. I sent 7 of those within the tons of emails I mentioned earlier. It is easier to access them in a single email, so I attach them here. The text below the filename of a particular patch is the proposed commit message for the patch.
Feel free to ask questions about these patches and to point to mistakes which I possibly made there.
-------------------- 8< --------------------
[1.files.patch] Extract SM-related code into separate sm.{c,h} files, make some refactoring, and write code comments for Doxygen.
[2.sm_finalize.patch] Add sm_finalize().
[3.fix-restart-command.patch] Fix restart command.
[4.fix-interaction.patch] Handle "Interact" message properly.
[5.noinstance-behaviour.patch] Make --new-instance imply --no-session.
[6.nosession.patch] Handle --no-session properly.
The previous commit allows us to change --no-session command line option handling back to normal. The issue was described in a FIXME section inside src/sm.c, the section is now deleted.
[7.fix-filenames.patch] Use `GeanyDocument.file_name's instead of `GeanyDocument.real_path's in restart command like Geany session management facilities do.
[8.optentries.patch] Add "reverse parser" for GOptionEntry. Handle all command-line options.
-------------------- 8< --------------------
Best regards, Eugene.