Permalink
Commits on Sep 22, 2012
  1. JavaScript parser: don't set token position information again and again

    b4n committed Sep 22, 2012
    There is no need to set the token position information in the loop
    searching for the initial token character, simply do that when we
    finally found the token start.
  2. ctags: fix improper use of "const" type qualifier

    b4n committed Sep 22, 2012
    The external declaration of "File" in read.h (defined in read.c) was
    improperly tagged as "const" for it not to be modifiable outside of
    read.c.  Although it is good to protect this global variable against
    improper modification, the use of "const" here makes it perfectly valid
    for the compiler to assume that the fields in this structure never
    changes during runtime, thus allowing it to do optimizations on this
    assumption.  However, this assumption is wrong because this structure
    actually gets modified by many read.c's functions, and thus possibly
    lead to improper and unexpected behavior if the compiler sees a window
    for optimizing fields access.
    
    Moreover, protecting "File" as it was with the "const" type qualifier
    required a hack to be able to include read.h in read.c since "const"
    and non-"const" declarations conflicts.
    
    Actually, at least the JavaScript parser did suffer of the issue,
    because it calls getSourceLineNumber() macro (expanding to a direct
    "File" member access) several times in one single function, making it
    easy for the compilers to cache the value as an optimization.  Both GCC
    and CLang showed this behavior with optimization enabled.  As a result,
    the line numbers of JavaScript tags were often incorrect.
  3. Fix pointer warning

    elextr committed Sep 22, 2012
    GCC 4.7.1 gives a incompatible pointer warning because gtk_adjustment_new
    returns a GObject* not a GtkAdjustment* (new compiler default).
  4. Fix multiline comments at end of file

    elextr committed Sep 22, 2012
    Multiline comments did not work at end of file because there is no
    style there so also check if at end of file as well as style.
    Closes #3026691
  5. Remove illegal signal handling

    elextr committed Sep 22, 2012
    The SIGTERM handler called the standard exit callback which uses
    functions that are illegal in signal handlers.  Commented out as
    a prelude to full removal if no use case can be made.
  6. Use faster squiggle underlining

    elextr committed Sep 22, 2012
    Geany performance suffered with a lot of error underlining visible.
    Matthew Brush developed an improved implementation that was accepted
    into Scintilla, this selects that implementation.
Commits on Sep 21, 2012
  1. Set scope information for JavaScript tags

    b4n committed Sep 21, 2012
    Instead of adding the scope to the tag name, properly add it as the
    tag's scope.
    
    Closes #3570192.
Commits on Sep 17, 2012
  1. Report scope including classes, namespaces and alike

    b4n committed Sep 17, 2012
    Don't only match the current function as the current scope, but also
    classes, namespaces and others containers.
    
    Closes #1996778.
  2. Improve symbols_get_current_function() a lot and make it more flexible

    b4n committed Sep 17, 2012
    Finding the current function now better handles the case the current
    line is after a function but outside its scope, and many other issues
    the scope reporting had.
  3. Fix an off-by-one issue in sci_get_position_from_line()

    b4n committed Sep 17, 2012
    Scintilla counts lines from 0 but TagManager from 1, so convert them.
  4. Add tm_get_current_tag()

    b4n committed Sep 17, 2012
  5. Remove improper caching of the current function

    b4n committed Sep 17, 2012
    The code assumed that if both old and new fold levels were above the
    minimal function fold level the function couldn't have been changed,
    which is wrong if a function can appear both inside and outside another
    fold level (e.g. inside or outside a class).
  6. Also consider tags up to date if realtime parsing is active

    b4n committed Sep 17, 2012
    This makes symbols_get_current_function() more accurate by using TM
    data even on a modified file if realtime tag parsing is enabled, thus
    if the data has reasonable chances to be correct.
  7. Report Python class methods as methods rather than members

    b4n committed Sep 17, 2012
    This makes the Python kinds more consistent with other parsers and
    allows to find Python methods when filtering on tm_tag_method_t.
Commits on Sep 16, 2012
Commits on Sep 15, 2012
  1. No need to update GdkDragContext:action

    b4n committed Sep 15, 2012
    Updating GdkDragContext:action is not needed and this field is private
    anyway.
  2. Fix some more Russian strings.

    m1kc committed Sep 15, 2012
  3. Fix some Russian strings.

    m1kc committed with frlan Sep 15, 2012
  4. Fix some Russian strings.

    m1kc committed Sep 15, 2012
Commits on Sep 13, 2012
  1. Ruby parser: don't create an extra scope after "for .. in .. do"

    b4n committed Sep 13, 2012
    When "do" appears as the separator after a "for", "while" or "until"
    construct, don't improperly make it start its own scope too.
  2. Check the VTE library we're loading actually have all symbols we need

    b4n committed Sep 11, 2012
    This prevents a crash if the VTE library we happen to load lacks a
    symbol we need, which can happen e.g. if the user passed an improper
    library to the --vte-lib command-line option or if the VTE library is
    loadable but broken.
  3. Don't access GtkColorSelectionDialog fields directly

    b4n committed Sep 11, 2012
    Also don't hack around and handle clicks on the dialog's buttons but
    rather simply handler the dialog's response.
  4. Don't use deprecated GtkObject

    b4n committed Sep 11, 2012
  5. Don't access GtkFontSelectionDialog fields directly

    b4n committed Sep 11, 2012
    Also don't hack around and handle clicks on the dialog's buttons but
    rather simply handler the dialog's response.