- tagmanager/php.c:
Fix parsing keyword-qualified functions strictly, e.g. don't
parse 'staticfunction' or 'fatfunction'.
- src/utils.c, src/utils.h, src/editor.c:
Use GRegex for snippet indentation replacement - fixes wrong
behaviour with Mac line endings.
- tagmanager/lregex.c, TODO:
Use GRegex for CTags instead of POSIX regex - GRegex is more
powerful. This also fixes a (HTML) performance issue on Windows.
Geany will now print a debug warning when using the "b" CTags
regex flag option for non-extended syntax. This is not currently
used by Geany's parsers.
Note: GNU regex can't be removed yet as it's still used elsewhere
by Geany.
- src/build.c, doc/pluginsignals.c:
When saving on build, prompt for a filename if necessary.
Emit the "build-start" signal only if saving succeeds.
- src/build.c:
Use #ifdef SYNC_SPAWN instead of G_OS_WIN32 for easier testing with
glib's asynchronous spawning (which doesn't work on Windows).
- src/win32.c, src/win32.h, src/dialogs.c:
Use GTK unsaved file dialog on Windows too because the button names
should be specific.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5987 ea778897-0a13-0410-b9d1-a72fbfd435f5
Use read_current_word() in editor_start_auto_complete() not to
duplicate some code. This also brings non-ASCII characters as
part of a word, first step for non-ASCII word completions.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5900 ea778897-0a13-0410-b9d1-a72fbfd435f5
Use Scintilla's definition of a "word" when fetching the current word
to perform a search. This is needed when we perform a whole-word
search for Scintilla to find the matches.
Closes#3386129.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5895 ea778897-0a13-0410-b9d1-a72fbfd435f5
Most notably, utils_get_line_endings() and document_open_file_list()
don't support -1 as the size anymore. If the size should be computed
from null-terminated data, the caller code must take care of doing so.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5855 ea778897-0a13-0410-b9d1-a72fbfd435f5
Previously we could put into a message a string where escape sequences
were already translated.
In the code, now we pass the original text together with the one
that is actually searched for. New `original_text' field was added to
GeanySearchData. A bug was fixed in document.c:show_replace_summary(): it
did not escape the "No matches found for ..." string.
Patch by Eugene Arshinov, thanks.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5832 ea778897-0a13-0410-b9d1-a72fbfd435f5
Fix idle tag list updating not to update the tag list if the current
document isn't the one to update anymore. In this case, mark the
document as needing an update and re-schedule an idle update next time
the document gets the focus.
This fixes updating the tag list after switching documents, which
resulted in displaying the wrong tag list.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5738 ea778897-0a13-0410-b9d1-a72fbfd435f5
Reset the pending update delay when we get a Scintilla change not to
reparse the tags when the user is actively typing.
This should not be a problem since the user is unlikely to care about
the tags being updated if he's actively typing, and should avoid
annoying delays when actively typing inside very large files.
Patch by Yura Siamashka, thanks.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5735 ea778897-0a13-0410-b9d1-a72fbfd435f5
No need to set the font for some specific styles that are set up anyway
when we set the font for all styles from 0 to STYLE_MAX.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5700 ea778897-0a13-0410-b9d1-a72fbfd435f5
Updating the parent may lead to performance issues if an object have
too many parents since they are updated recursively.
Parent objects are still updated when saving the file.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5642 ea778897-0a13-0410-b9d1-a72fbfd435f5
G_(UN)?LIKELY() should be only used on whole conditional expressions,
and only if the branching is very highly predictable, not if it is only
more probable.
These macros should be used with care because a wrong prediction may
be a lot worst than what a good prediction can give.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5625 ea778897-0a13-0410-b9d1-a72fbfd435f5
* Don't use strlen(..) > 0 or == 0, simply check the first character
against 0;
* Fix a return without a value (my bad in last commit);
* Fix storing a literal in a non-const string.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5610 ea778897-0a13-0410-b9d1-a72fbfd435f5
This is for better performances since appending to a list means walking
it to find the last element to append to. When the list ordering
matters, simply reverse the list after prepengins.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5586 ea778897-0a13-0410-b9d1-a72fbfd435f5
Enabled by default, using a minimal delay of 250ms between two updates.
Also add a preference to configure this in Geany's UI, under
Preferences -> Editor -> Completion.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5557 ea778897-0a13-0410-b9d1-a72fbfd435f5
the whole paragraph, which could have mixed indentation.
Fix memory leak and off-by-one bug on first line when using Select
Paragraph command.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5408 ea778897-0a13-0410-b9d1-a72fbfd435f5