> And what if filename contains a : ?

Well, the external code I have for processing this output actually searches back from the end of the string, so that wouldn't be a problem in this case.

For info, the python code I am using to implement a kind of 'editor breakpoint' command with this looks like this:

import gdb
class BreakPointAtEditorLocationCommand(gdb.Command):
    def __init__ (self):
super(BreakPointAtEditorLocationCommand, self).__init__ ("eb", gdb.COMMAND_USER)
    def invoke (self, arg, from_tty):
        output = subprocess.check_output(["geany", "--print-location"])
        pos = output.rfind(':')
        if not pos == -1:
            command = "b " + output[:pos]
            gdb.execute(command)
BreakPointAtEditorLocationCommand() #required to register command

Thomas

On 18/01/13 10:55, Lex Trotman wrote:
On 18 January 2013 20:36, Thomas Young <thomasyo...@free.fr> wrote:
Hmm.. not sure what happens if the filename is UTF-8.

DOC_FILENAME is always UTF-8.


Basically, where some existing code (which is documented as supporting UTF-8
filenames) was doing;

                 filename = DOC_FILENAME(documents[i]);
                 g_string_append(doc_list, filename);
                 g_string_append_c(doc_list, '\n');

I am doing instead:


                 filename = DOC_FILENAME(doc);
                 pos = sci_get_current_position(doc->editor->sci);
                 line = sci_get_line_from_position(doc->editor->sci, pos);
                 col = sci_get_col_from_position(doc->editor->sci, pos);
                 g_string_append_printf(location, "%s:%d:%d\n", filename,
line + 1, col);

And what if filename contains a : ?  Anyway it will be written in
UTF-8, you will have to handle locale encoding elsewhere maybe.

Cheers
Lex


_______________________________________________
Devel mailing list
Devel@lists.geany.org
https://lists.geany.org/cgi-bin/mailman/listinfo/devel

Reply via email to