6281 Commits

Author SHA1 Message Date
Colomban Wendling
484f6fcdef Make sure to only use as much data as it was actually read
When reading a C macro, make sure to only use as much byes we actually
got and not as much as we requested.  This should not be a problem
anymore now 61c5216 fixed a too long read, but it's safer anyway.
2012-08-25 16:02:21 +02:00
Colomban Wendling
61c5216083 Fix an off-by-one issue in C macro parsing code
Closes #3556536.
2012-08-25 15:50:09 +02:00
Colomban Wendling
9817c14202 Add a few missing Haxe keywords
Closes #3448664.
2012-08-24 23:26:11 +02:00
Colomban Wendling
ce742b45dd Remove spurious semicolons 2012-08-24 20:20:09 +02:00
Colomban Wendling
d80bc7ce56 Update FSF address
Closes #3557875.
2012-08-24 19:25:57 +02:00
Frank Lanitz
2b77157e5e Update of Russian translation provided by Igor Burmistrov 2012-08-20 09:46:07 +02:00
oco
e20a57927d Use all supported keyword sets for Scintilla Forth lexer
Submitted on geany-devel mailing list
2012-08-16 18:35:27 -07:00
Matthew Brush
7b65d76d5f Fix comment style and wording from last commit
Don't use C99/C++ style comments and elaborate a bit on the purpose
of the call.
2012-08-16 17:52:22 -07:00
Yosef Or
e1a1c54d78 Keep code direction LTR 2012-08-16 17:37:01 -07:00
Matthew Brush
d36db75bcb ClassBuilder: Defy GTK+ conventions and instead generate valid C code 2012-08-10 21:05:41 -07:00
Matthew Brush
7193a1161b Minor style changes from last commit 2012-08-10 18:19:54 -07:00
Alexander Eberspächer
a17e37bcd8 Test against the lexer instead of the filetype when computing
indentation. This fixes Cython indentation.
2012-08-10 11:34:56 +02:00
Matthew Brush
9a63e05f63 Change plugin manager's OK button response to GTK_RESPONSE_OK
Used to be GTK_RESPONSE_CANCEL for some reason.
2012-08-09 22:36:03 -07:00
Matthew Brush
bc5b68822d Remove indirection from callback handler 2012-08-09 22:35:16 -07:00
Matthew Brush
e62bec43fc Use g_build_filename() instead of g_strconcat() for paths 2012-08-09 18:21:43 -07:00
Colomban Wendling
c2c6a70515 Open files with leading or trailing whitespaces through the socket 2012-08-08 15:35:46 +02:00
Colomban Wendling
d152c5ce22 Properly indent even if the indenting character isn't the last one
For all languages, this change allows comments at the end of the
checked line, e.g.:

	if 42:  # magic number
		print("I'm indented!")

For languages with braces, it also properly indent if there is code
on the same line as the opening brace, e.g.:

	if (42) { printf("some code here...");
		printf("...but I'm properly indented");
	} else { /* comment! */
		printf("normal block is fine too, of course");
	}

Although this is uncommon (and quite ugly) it's valid and should be
handled properly.
2012-08-07 17:50:17 +02:00
Colomban Wendling
4c2d8998d7 Fix a reference to a function in the documentation 2012-08-07 15:37:38 +02:00
Matthew Brush
63249c71e8 Dedent switch block from last commit, pure noise 2012-08-03 19:07:58 -07:00
Matthew Brush
e76a35c271 Minor tweak to D "!" template parameter list parsing code
Note:
Indentation left as is so that the diff is readable, next commit contains
the indentation fix.
2012-08-03 19:07:58 -07:00
Colomban Wendling
89b7e089c4 Fix invalid use of strcpy() on overlapping memory
strcpy()'s behavior on overlapping memory is undefined, so replace such
uses with memmove().

Based on CTags r783: https://ctags.svn.sourceforge.net/svnroot/ctags@783
2012-07-31 00:33:53 +02:00
Colomban Wendling
fd40e4aa54 Mark a few things as static
Based on CTags r779: https://ctags.svn.sourceforge.net/svnroot/ctags@779
2012-07-31 00:32:53 +02:00
Colomban Wendling
3a460a2c5b Remove and unused structure member
Based on CTags r769: https://ctags.svn.sourceforge.net/svnroot/ctags@769
2012-07-31 00:31:43 +02:00
Colomban Wendling
13e5c0202a Fix Haskell parsing when a comment is the first thing inside a type
Closes #3552129.
2012-07-30 20:15:08 +02:00
Colomban Wendling
cb54ccf8e1 Merge branch 'scintilla-update' 2012-07-30 17:06:00 +02:00
Colomban Wendling
5110fab0e1 Fix search and replacement of empty matches (again)
f4eb89cd7d79738a9c6c45e29abdd9d15d22e4fd was partially wrong and
removed legitimate re-matches when two different matches ends at the
same position.  Particularly, the replacement changes are reverted.

Interestingly, Perl and Python does not agree on how to do such
replacements.  Python does what I did in the above-cited commit, e.g.
doesn't replace twice if the match end overlaps, but Perl does.
Perl looks more legitimate here since both Python and Perl does find
the overlapping matches when performing a search, so Python is the odd
guy here doing it differently on replace than it does upon search.

For example, replacing using the pattern "a?(?=b)" and the replacement
string "_":

	Python: ababcdb -> _b_bcd_b
	Perl:   ababcdb -> __b__bcd_b

But finding using the same pattern on the same input gives the same
results on both:

	Python: ababcdb -> ['a', '', 'a', '', '']
	Perl:   ababcdb -> ['a', '', 'a', '', '']

Anyway, GLib and us claim to support "Perl-compatible regular
expressions", so we gotta follow Perl, especially in such doubtful
situations.
2012-07-28 19:23:37 +02:00
Colomban Wendling
1ce4b1fac5 Fix a reference to a file in HACKING 2012-07-28 00:32:26 +02:00
Colomban Wendling
95d767f873 Document sci_get_lexer()
This function is part of the plugin API but missed its documentation,
leading to it not appearing in the generated API documentation.
2012-07-28 00:32:26 +02:00
Colomban Wendling
f4eb89cd7d Fix search and replacement of empty matches
Regular expressions might match empty ranges, which weren't handled
properly, but generally simply omitted.

For example, the regular expression "^$" (empty line) never matched
because we assumed empty results were not interesting, and actually
needed more care in the code.  Alike, an expression matching only on
its lookahead part, like "a?(?=b)" against "b", would stop further
search, although it could even match a non-empty range if "ab" is
present later in the input.  This last kind of expressions also lead
to double-replacement because they first matched "ab" and then "b"
alone when re-matching after the "a" replacement.

This commit fixes:
 * searching when the matched range is empty;
 * step-by-step search when matching an empty range;
 * double replacement when the pattern re-matches an empty range
   straight after a replacement;
 * replacement to and empty string when the matching an empty range.

A know issue though is the step-by-step replacement that won't replace
an empty match but rather find the next match.
2012-07-28 00:32:26 +02:00
Colomban Wendling
a091238617 Fix searching out of document range
If a search matched the very last character of the document, next
search attempt started out of the document bounds.  This even lead
to an infinite loop due to an improper sanity check.

By the way, this fixes matching of contiguous results, as the next
search used to improperly skip one character after the result.
Although this looks like a huge issue, it was actually visible almost
only on the match count since the whole matching line was printed.
2012-07-28 00:32:26 +02:00
Nick Treleaven
f90bdc5957 Only set Find in Files directory once per-document
Use the current document's directory unless the directory field has
already been edited and the current document has not changed.
Otherwise, prepend the current document's directory to the drop-down
history in case it is wanted.

This is useful to avoid losing the edited directory when it is less
likely the user wants to use the current document's directory.
2012-07-26 16:13:34 +01:00
Nick Treleaven
98452edcc9 Update manual for search pref changes; add some links 2012-07-26 15:34:45 +01:00
Nick Treleaven
9248820989 Fix installing data files with MSYS (Windows makefiles) 2012-07-26 13:27:58 +01:00
Nick Treleaven
14daf925ac indent switch, add braces 2012-07-26 12:58:55 +01:00
Matthew Brush
5fff1e69c2 Add NULL guard for reloading "untitled" documents
Previously it was using a GLIB assertion which shouldn't be used
to detect a normal condition and so it caused a warning on the
console output when clicking "Reload" with an "untitled" document.
2012-07-24 17:56:29 -07:00
Colomban Wendling
d11f9a51b9 Rely on GModule for adding or not the --export-dynamic linker flag
We explicitly use GModule's .pc since 7b2f0fe, and it provides the
appropriate flag: we don't need to add it ourselves anymore.  Moreover,
since this flag is not needed (nor available) on all platforms (e.g.
Windows or MacOS X), it is safer to let GModule deal with adding it
anyway.
2012-07-17 23:09:00 +02:00
Colomban Wendling
4cdcaa22e6 Update for new Scintilla styles 2012-07-14 15:30:03 +02:00
Colomban Wendling
03509ee1a8 Update Scintilla to version 3.2.1
Closes #3540469
2012-07-14 15:30:03 +02:00
Nick Treleaven
f0f3fc83ad Allow '!' char in D parameter lists 2012-07-09 13:31:05 +01:00
Nick Treleaven
8d26450f07 Add status bar warning if Windows spawn timed out 2012-07-09 13:31:04 +01:00
Colomban Wendling
deb5f3542b Bump API version to reflect Scintilla's SCI_{GET,SET}USEPALETTE removal
Scintilla deprecated SCI_GETUSEPALETTE and SCI_SETUSEPALETTE messages,
and since we don't build with deprecated API support they aren't
available anymore.
2012-07-09 01:07:52 +02:00
Nick Treleaven
5af4dab5f0 Fix showing project name in sidebar documents
This was broken if the base path ended with a directory separator.
2012-07-06 13:17:54 +01:00
Nick Treleaven
74959b9cb9 Support MSYS=1 to enable building with MSYS; use $/ instead of DIRSEP
Defining MSYS=1 is cleaner than requiring users to define CP, RM, etc.
2012-07-04 17:13:14 +01:00
Nick Treleaven
65fe863691 Use PREFIX=C:/libs and minor cleanup (Windows makefiles)
This PREFIX works on both cmd.exe and MSYS, whereas backslash confuses
MSYS.
Use copy /y in doc/makefile.win32.
Remove unused targets binclean, exec.
2012-07-04 16:47:38 +01:00
Nick Treleaven
bfa2db50d6 Merge branch 'tm/tree-refactoring'
This moves CTags files into their own subdirectory and moves the
tagmanager source and header files into their own subdirectory.

The bulk of the work was done by Colomban.
2012-07-04 12:40:41 +01:00
Nick Treleaven
c72dce06a5 Merge remote-tracking branch 'origin/master' into tm/tree-refactoring
Conflicts:
	makefile.win32
	src/makefile.win32
2012-07-04 12:15:53 +01:00
Colomban Wendling
40ab39d8fd Map all filetype's character styles to 'character' named style 2012-07-01 15:20:21 +02:00
Colomban Wendling
409c1a68a5 Make argument checking in Scintilla update script more strict 2012-06-30 22:00:42 +02:00
Colomban Wendling
f0b245cdae Fix a typo in the Scintilla update script (oops) 2012-06-30 21:58:09 +02:00
Colomban Wendling
a6c0dc0978 Merge branch 'scintilla-update' 2012-06-30 20:13:56 +02:00