- 08 Eki, 2012 8 kayıt (commit)
-
-
Colomban Wendling yazdı
The GTK3 version of GtkLabel provides what GeanyWrapLabel is for given the appropriate settings are set, so no need to our own widget -- that would require being updated to support GTK3 anyway.
-
Colomban Wendling yazdı
Map the various horizontal and vertical deprecated constructors to their GtkOrientation-based equivalents on GTK3 to prevent most deprecation warnings.
-
Colomban Wendling yazdı
Use the GtkComboBoxText API and the GtkComboBoxEntry replacement API and map those to the old equivalents if not available. This changes the type exposed by ui_combo_box_add_to_history() from GtkComboBoxEntry to either GtkComboBox (under GTK2) or GtkComboBoxText (under GTK3). This should not be too much of an issue since GtkComboBoxEntry and GtkComboBoxtext are subclasses of GtkComboBox, but this will still emit warnings when when the calling code passes a GtkComboBoxEntry pointer to ui_combo_box_add_to_history(). However, this requires the calling code to use the same mapping as we do (GtkComboBoxText = GtkComboBox on GTK2, even on 2.24), or things will blow and it'll be hard to understand why. This wouldn't be an issue if the calling code includes our gtkcompat.h header everywhere it deals with combo boxes, which will be the case if it includes the Geany headers everywhere but probably won't otherwise. Oh dear. A possible kind of workaround may be for ui_combo_box_add_to_history() to do type-checking on its argument and use the actually correct API for that type.
-
Colomban Wendling yazdı
GtkDialog separators sere deprecated on GTK 2.22 and remove on 3.0, so define them to dummy values on GTK3. We don't get rid of them altogether because GTK 2.16 we depend on probably has separators enabled by default and we want to remove them.
-
Colomban Wendling yazdı
-
Colomban Wendling yazdı
Since many accessor are new in GTK versions we don't depend on, add a header that defines them to the direct access if they aren't available.
-
Colomban Wendling yazdı
-
Colomban Wendling yazdı
-
- 05 Eki, 2012 3 kayıt (commit)
-
-
Colomban Wendling yazdı
This makes the "wordchars" setting from filetypes.common and each specific filetype override filetype.common's "whitespace_chars" setting, rather than it overriding filetype-specific "wordchars". This makes the it easy to chose filetype-specific "wordchars", where before user had not only to update this setting, but also the filetype.common "whitespace_chars" setting if it listed one or more of the new characters for the change to actually have an effect -- and changing "whitespace_chars" for every filetype. Closes #3429368.
-
Colomban Wendling yazdı
-
Colomban Wendling yazdı
Closes #3574723.
-
- 01 Eki, 2012 1 kayıt (commit)
-
-
Colomban Wendling yazdı
-
- 30 Eyl, 2012 4 kayıt (commit)
-
-
trongthanh yazdı
-
trongthanh yazdı
-
trongthanh yazdı
-
Colomban Wendling yazdı
Closes #2130612.
-
- 28 Eyl, 2012 2 kayıt (commit)
-
-
Colomban Wendling yazdı
-
Colomban Wendling yazdı
Closes #3167355.
-
- 26 Eyl, 2012 1 kayıt (commit)
-
-
Frank Lanitz yazdı
-
- 25 Eyl, 2012 4 kayıt (commit)
-
-
Frank Lanitz yazdı
-
Colomban Wendling yazdı
If we generated methods, properties or class children tags for a variable, generate a class tag for the variable itself so the children aren't orphaned.
-
Colomban Wendling yazdı
If a property value had more than one token, the parser choked on it and failed to parse further properties of the object. Fix that by properly skipping the property's value. If that value is a sub-object, parse it recursively. Closes #3470609.
-
Colomban Wendling yazdı
Closes #3036476.
-
- 24 Eyl, 2012 6 kayıt (commit)
-
-
Colomban Wendling yazdı
This fixes parsing of the following unterminated statements: if () { foo = 42 } if () { foo = new Object() } if () { foo = ({a:1,b:2}) }
-
Colomban Wendling yazdı
-
Colomban Wendling yazdı
-
Colomban Wendling yazdı
If an `if` haven't had braces, the code used to check itself for an `else` after it, eating the next token if it wasn't actually an `else`. So, drop the check for the else altogether since parseLine() handles `else`s by calling parseIf() anyway. This fixes constructs like: if (foo) bar(); function baz() { // ... } Closes #3568542.
-
Oleg Eterevsky yazdı
-
Colomban Wendling yazdı
This makes `Foo.bar = function()` properly report a function tag "bar" with scope "Foo" rather than a function tag "Foo.bar" with no scope. Part of #3570192.
-
- 22 Eyl, 2012 6 kayıt (commit)
-
-
Colomban Wendling yazdı
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.
-
Colomban Wendling yazdı
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.
-
Lex Trotman yazdı
GCC 4.7.1 gives a incompatible pointer warning because gtk_adjustment_new returns a GObject* not a GtkAdjustment* (new compiler default).
-
Lex Trotman yazdı
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
-
Lex Trotman yazdı
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.
-
Lex Trotman yazdı
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.
-
- 21 Eyl, 2012 1 kayıt (commit)
-
-
Colomban Wendling yazdı
Instead of adding the scope to the tag name, properly add it as the tag's scope. Closes #3570192.
-
- 17 Eyl, 2012 4 kayıt (commit)
-
-
Colomban Wendling yazdı
-
Colomban Wendling yazdı
-
Colomban Wendling yazdı
Don't only match the current function as the current scope, but also classes, namespaces and others containers. Closes #1996778.
-
Colomban Wendling yazdı
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.
-