6366 Commits

Author SHA1 Message Date
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
4db0813a79 Rewrite GTK printing using Scintilla
We used to draw the pages to print ourselves, but it is a tedious and
error-prone task (and we did made mistakes) that Scintilla would do
better by itself.  So, rewrite the GTK (e.g. non-external) print code
to use Scintilla's built-in capabilities of drawing the buffer's
content on the pages.

Not only this makes the code a lot simpler and shorter, but it gives a
more accurate render (proper handling of tab stops, wrapping on word
boundaries, no missing character when a wrapped line spans on multiple
pages, ...), and it is noticeably faster (around 3 times).

Additionally we now paginate properly, which fixes printing starting
after page 1 or printing non-contiguous pages (we used to always print
starting from page 1 and counting, no matter what pages were selected).

However, note that obviously the render is not the same, even though
it's quite similar.
2012-07-30 03:37:00 +02:00
Colomban Wendling
5772178d3a printing: Avoid an useless allocation 2012-07-30 01:38:59 +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
Colomban Wendling
098f127087 Drop now unused "scalar" named style 2012-06-30 01:54:08 +02:00
Colomban Wendling
3d23023930 Fix a few Shell style mappings 2012-06-30 01:54:08 +02:00
Colomban Wendling
ad0297f42f Fix a few Perl style mappings 2012-06-30 01:54:08 +02:00
Nick Treleaven
4ad643f756 Fix makefile.win32:install for MSYS 2012-06-27 16:33:34 +01:00
Nick Treleaven
78144ab606 Make makefile.win32:install target work without MSYS
Based on patch by Dimitar Zhekov.
MSYS users should now define 'CP_R = cp -r'.
Removed override of MAKE, as this is set automatically.
2012-06-27 14:26:39 +01:00
Colomban Wendling
7c0d4d1245 Add a script to update Scintilla 2012-06-27 01:27:45 +02:00
Colomban Wendling
298ce94c5d Update for new Scintilla styles 2012-06-26 23:26:30 +02:00
Colomban Wendling
f1dbdabf76 Add Scintilla update to NEWS 2012-06-26 23:26:25 +02:00
Dimitar Zhekov
08d751daf2 Fix building with makefile.win32 from Windows command prompt, not MSYS 2012-06-26 21:39:56 +01:00
Colomban Wendling
4dd0fe9175 Update Scintilla to version 3.2.0 2012-06-26 20:48:16 +02:00
Nick Treleaven
40da14b5b1 Add keybinding for 'Go to Start of Display Line' (#3182425) 2012-06-25 14:31:36 +01:00
Chow Loong Jin
8187268ad0 Link export plugin against libm (-lm)
The export plugin uses the pow() function from libm without linking against
it. It has worked so far because Geany itself has a link against libm, but
should that be removed in the future, this would fail to resolve symbols.

Signed-off-by: Chow Loong Jin <hyperair@debian.org>
Signed-off-by: Colomban Wendling <ban@herbesfolles.org>
2012-06-21 16:03:20 +02:00
Frank Lanitz
74115db381 Update of Swedish translation 2012-06-20 17:09:25 +02:00
Enrico Tröger
920fe57834 Add missing files in the Windows installer
Even this has been done post-release, the changes were also used
for the 1.22 release.
2012-06-19 00:02:48 +02:00
Colomban Wendling
d13ee0406a Update making-a-release for Git and new sever setup 2012-06-18 19:18:31 +02:00