geany-1.32/0000755000175000017500000000000013204261074007542 500000000000000geany-1.32/ChangeLog0000644000175000017500000577772413204261073011270 00000000000000# Generated by Makefile. Do not edit. commit 918b5f07f52058af1ed9e93ba58c77d33cc6e559 Author: Enrico Tröger Date: Sun Nov 19 11:46:31 2017 +0100 Set release date doc/geany.1.in | 2 +- doc/geany.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) commit 525952cebf08b3f080819b019a77efc258ad5000 Author: Enrico Tröger Date: Sun Nov 19 11:44:04 2017 +0100 Update NEWS for 1.32 NEWS | 57 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 56 insertions(+), 1 deletion(-) commit 26985624ea00737ba116a4086e128ee7c8e1d5e7 Author: Frank Lanitz Date: Thu Nov 16 23:04:04 2017 +0100 Update of Greek translation NEWS | 3 +- po/el.po | 172 +++++++++++++++++++++++++++++---------------------------------- 2 files changed, 82 insertions(+), 93 deletions(-) commit 4a5ccf748ac2ce13a6c71cc41b354c33b6abd715 Author: Colomban Wendling Date: Mon Aug 14 21:59:16 2017 -0700 Fix backward compatibility of the geometry saving setting Keep the previous behavior if the user had disabled saving window position and geometry, by using the existing setting as default for the new one. src/keyfile.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 667d0b51420844ba8ea82659684bffedd7c7ce3a Author: Colomban Wendling Date: Mon Aug 14 21:58:58 2017 -0700 Fix indentation src/keyfile.c | 8 ++++---- src/prefs.c | 16 ++++++++-------- 2 files changed, 12 insertions(+), 12 deletions(-) commit b0d3b5ed0faadb34edb68bfd7715ffd5d9e0878a Author: LarsGit223 Date: Tue Nov 14 23:02:00 2017 +0100 Close "Deleted from Disk" Infobar on Reload. (#1628) Cancel 'MSG_TYPE_RESAVE' info bar if still open in function 'document_reload_force'. This closes the "Deleted from Disk" message if the user clicks on the reload button. Fixes #1330. src/document.c | 4 ++++ 1 file changed, 4 insertions(+) commit 66abc600f38fec83b5bc644eee80e0e33f951c03 Author: Frank Lanitz Date: Mon Nov 13 14:12:29 2017 +0100 Update of Spanish translation NEWS | 2 +- po/es.po | 111 ++++++++++++++++++++++++++++----------------------------------- 2 files changed, 51 insertions(+), 62 deletions(-) commit a14adc78c9be246e3b0f06170db159325606ee5a Author: Enrico Tröger Date: Mon Nov 13 10:25:14 2017 +0100 Reword two phrases in German translation (#1686) Including typo fixes. po/de.po | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit dd58ab6f49e8b382d9278c3ebc533f08b8aec84e Author: elextr Date: Thu Nov 9 21:54:36 2017 +1000 Make Python comment hash space (#1682) data/filedefs/filetypes.python | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit b54a117de1026879cdb779884a1cfbbdd1d24d25 Author: Giuseppe Date: Thu Nov 9 09:01:45 2017 +0000 updated it.po (#1680) * updated it.po * Small update of metadata on Italian translation po/it.po | 56 +++++++++++++++++++++++--------------------------------- 1 file changed, 23 insertions(+), 33 deletions(-) commit f770ff3df960514af113469a3a70722e99800519 Author: Frank Lanitz Date: Tue Nov 7 12:49:12 2017 +0100 Update NEWS to reflect latest translations updates NEWS | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit fdaabd4720a73e2ef38cf1da3ac157006d81a856 Author: gymka Date: Tue Nov 7 13:47:00 2017 +0200 updated lithuanian trasnlation (#1676) * updated lithuanian translation * Revert "updated lithuanian translation" This reverts commit e45985679464ed2e495bef6bf16383a472a237c4. * updated lithuanian translation po/lt.po | 46 ++++++++++++++++++---------------------------- 1 file changed, 18 insertions(+), 28 deletions(-) commit d1cdfe097173cbe6cd389029271075a355a679c0 Author: 柳东原 LIU Dongyuan Date: Tue Nov 7 19:45:29 2017 +0800 Update zh_CN.po (#1677) * Update zh_CN.po * Update metadata po/zh_CN.po | 77 ++++++++++++++++++++++++++----------------------------------- 1 file changed, 33 insertions(+), 44 deletions(-) commit 54a98688fbf5b5841c3e4d8dcf3e46bff59131f3 Author: Peter C. S. Scholtens Date: Tue Nov 7 10:20:23 2017 +0100 Update of Dutch translation. (#1674) po/nl.po | 126 ++++++++++++++++++++++++++++++--------------------------------- 1 file changed, 59 insertions(+), 67 deletions(-) commit 687813b5240a3667ccb34997f25e1848bb9b7dbb Author: Frank Lanitz Date: Mon Nov 6 21:28:48 2017 +0100 Sync NEWS-file with update translations for 1.32 NEWS | 3 +++ 1 file changed, 3 insertions(+) commit bc39afa4112827db0c27b8a10638a7b8a11d66e4 Author: Frank Lanitz Date: Mon Nov 6 21:25:52 2017 +0100 Update of Portuguese translation po/pt.po | 608 +++++++++++++++++++++++++++++++-------------------------------- 1 file changed, 301 insertions(+), 307 deletions(-) commit 26f8539c1017da4e25c9a7c0de6fdcd645fbdb46 Author: Frank Lanitz Date: Mon Nov 6 21:22:20 2017 +0100 Update of Catalan translation po/ca.po | 55 +++++++++++++++++++++++-------------------------------- 1 file changed, 23 insertions(+), 32 deletions(-) commit e7b4c3406c4b0dd94fba8c3a466ef03ab0a9854b Author: Frank Lanitz Date: Mon Nov 6 21:20:21 2017 +0100 Small update of Italian translation This is based upon a suggestion by Andrea on i18n mailing list po/it.po | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 393cdb301a38ba0a496e85934c35d07a62915cb4 Author: Andrej Herceg Date: Mon Nov 6 20:59:09 2017 +0100 Update of Slovak translation (#1673) po/sk.po | 51 ++++++++++++++++++++------------------------------- 1 file changed, 20 insertions(+), 31 deletions(-) commit 2c8f754988bb597bcc6d3493f58d55c8b36c0c9f Merge: a8512a2a cb669e2a Author: Enrico Tröger Date: Sun Nov 5 23:02:24 2017 +0100 Merge pull request #1667 from eht16/issue1018_win_execute_builtin_path Use utils_get_uri_file_prefix() as file URI prefix commit a8512a2a1fc7ab4a155672234d160baf831330a0 Author: Frank Lanitz Date: Sun Nov 5 20:33:48 2017 +0100 Update of German translation po/de.po | 31 +++++++++++++------------------ 1 file changed, 13 insertions(+), 18 deletions(-) commit 47cfe3e2709becb7db7f9a0c0d8bd729a532748b Author: Frank Lanitz Date: Sun Nov 5 14:42:09 2017 +0100 Update po-files for string freeze of Geany 1.32 po/ar.po | 1441 ++++++++++++++++++++++++++++++---------------------------- po/ast.po | 1450 ++++++++++++++++++++++++++++++---------------------------- po/be.po | 1449 ++++++++++++++++++++++++++++++---------------------------- po/bg.po | 1448 ++++++++++++++++++++++++++++++---------------------------- po/ca.po | 1449 ++++++++++++++++++++++++++++++---------------------------- po/cs.po | 1449 ++++++++++++++++++++++++++++++---------------------------- po/de.po | 392 ++++++++-------- po/el.po | 1451 ++++++++++++++++++++++++++++++---------------------------- po/en_GB.po | 1449 ++++++++++++++++++++++++++++++---------------------------- po/es.po | 1450 ++++++++++++++++++++++++++++++---------------------------- po/et.po | 1441 ++++++++++++++++++++++++++++++---------------------------- po/eu.po | 1445 ++++++++++++++++++++++++++++++---------------------------- po/fa.po | 1449 ++++++++++++++++++++++++++++++---------------------------- po/fi.po | 1449 ++++++++++++++++++++++++++++++---------------------------- po/fr.po | 2 +- po/gl.po | 1449 ++++++++++++++++++++++++++++++---------------------------- po/he.po | 1449 ++++++++++++++++++++++++++++++---------------------------- po/hi.po | 1435 ++++++++++++++++++++++++++++++---------------------------- po/hu.po | 1449 ++++++++++++++++++++++++++++++---------------------------- po/id.po | 1450 ++++++++++++++++++++++++++++++---------------------------- po/it.po | 1450 ++++++++++++++++++++++++++++++---------------------------- po/ja.po | 1453 ++++++++++++++++++++++++++++++----------------------------- po/kk.po | 1449 ++++++++++++++++++++++++++++++---------------------------- po/ko.po | 1448 ++++++++++++++++++++++++++++++---------------------------- po/lb.po | 1450 ++++++++++++++++++++++++++++++---------------------------- po/lt.po | 1449 ++++++++++++++++++++++++++++++---------------------------- po/mn.po | 1440 ++++++++++++++++++++++++++++++---------------------------- po/nl.po | 1450 ++++++++++++++++++++++++++++++---------------------------- po/nn.po | 1435 ++++++++++++++++++++++++++++++---------------------------- po/pl.po | 1451 ++++++++++++++++++++++++++++++---------------------------- po/pt.po | 1449 ++++++++++++++++++++++++++++++---------------------------- po/pt_BR.po | 1449 ++++++++++++++++++++++++++++++---------------------------- po/ro.po | 1446 ++++++++++++++++++++++++++++++---------------------------- po/ru.po | 1449 ++++++++++++++++++++++++++++++---------------------------- po/sk.po | 1449 ++++++++++++++++++++++++++++++---------------------------- po/sl.po | 1450 ++++++++++++++++++++++++++++++---------------------------- po/sr.po | 1449 ++++++++++++++++++++++++++++++---------------------------- po/sv.po | 404 +++++++++-------- po/tr.po | 1448 ++++++++++++++++++++++++++++++---------------------------- po/uk.po | 1448 ++++++++++++++++++++++++++++++---------------------------- po/vi.po | 1448 ++++++++++++++++++++++++++++++---------------------------- po/zh_CN.po | 1449 ++++++++++++++++++++++++++++++---------------------------- po/zh_TW.po | 1449 ++++++++++++++++++++++++++++++---------------------------- 43 files changed, 30343 insertions(+), 28365 deletions(-) commit b305936983b9d41a2091a7aa927bcbb0d3f082c6 Author: Frank Lanitz Date: Sat Nov 4 22:20:53 2017 +0100 Update of Latvian translation po/lv.po | 426 ++++++++++++++++++++++++++++++++++----------------------------- 1 file changed, 227 insertions(+), 199 deletions(-) commit cb669e2a019eb5cb9a62e39c886ce928350ba699 Author: Enrico Tröger Date: Sun Oct 29 16:20:53 2017 +0100 Use utils_get_uri_file_prefix() as file URI prefix utils_get_uri_file_prefix() gives "file:///" for Windows and "file://" for all other platforms. So we don't need "g_path_skip_root()" any longer. Using "g_path_skip_root()" removed the drive letter from the URI which worked only as long as the file to be opened was on drive C: (or whatever drive Windows considers as the default). But since local file URIs including the drive letter are supported on Windows, we should use it, so opening files on other drives works as well. Fixes #1018. src/build.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) commit a1991c4d379cc76917dd8f85e68fcc9b0b3aa301 Author: Enrico Tröger Date: Sun Oct 29 16:16:17 2017 +0100 Use utility function to get a file URI prefix On Windows, we need "file:///" for local file URIs while on all other platforms the prefix is "file://" for absolute filenames. The utility function saves us from replicating the platform specific logic. src/utils.c | 22 +++++++++++++++------- src/utils.h | 1 + 2 files changed, 16 insertions(+), 7 deletions(-) commit fca450e10b8631641731e8cb01ad89f23873f211 Author: Jean-Philippe Moal Date: Wed Oct 25 09:14:34 2017 +0200 Update of French translation (#1653) po/fr.po | 1484 ++++++++++++++++++++++++++++++++------------------------------ 1 file changed, 761 insertions(+), 723 deletions(-) commit 958974338d4a8a64736101c7ac8f1896da3e4a7b Author: Colomban Wendling Date: Mon Oct 16 00:33:01 2017 -0700 Remove redundant and erroneous file patterns from Doxygen doc/Doxyfile.in | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) commit 960a0d5aae9c4b8697b33f84b26cff67c357429d Author: Matthew Brush Date: Sat Oct 14 22:52:45 2017 -0700 Improve CLI argument help src/libmain.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) commit 9185395c40c68b87cc462fe8ac5bdc95e069ea93 Merge: deff041a 83e8ae17 Author: Colomban Wendling Date: Thu Oct 12 15:14:11 2017 -0700 Merge pull request #1636 from techee/kb_osx_fix Make sure GDK_MOD2_MASK is cleared when getting modifiers. commit deff041a66868cb566c63baa1398a269ac1c58cc Author: Frank Lanitz Date: Thu Oct 12 23:29:51 2017 +0200 Make translation of a string consistent in German translation Fixes #390 po/de.po | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) commit 83e8ae1737910d9be8520ac9246cc8f77703040d Author: Jiří Techet Date: Thu Oct 12 19:27:56 2017 +0200 Make sure GDK_MOD2_MASK is cleared when getting modifiers gtk_accelerator_get_default_mod_mask() behaves differently on OS X under GTK 3 when compared to GTK 2. On GTK 2 it used to clear the GDK_MOD2_MASK bit while on GTK 3 it's preserved. We need to clear it ourselves otherwise e.g. S leads to S and none of the keybindings work under GTK 3. src/keybindings.c | 3 +++ 1 file changed, 3 insertions(+) commit 3fb94c235c91a980a7fd7aa159f373b457833148 Author: Jiří Techet Date: Sat Oct 7 02:48:47 2017 +0200 Use non-symlinked VTE libraries on macOS (#1625) * Try non-symlinked VTE libraries on macOS before the symlinked ones Plugins using VTE such as multiterm or debugger are linked against the non-symlinked version of the library like libvte.9.dylib and not libvte.dylib. When a bundle is created, all symlinks are replaced by a copy of the symlinked file. This means there are both libvte.dylib and libvte.9.dylib in the bundle both containing the same code. When Geany loads libvte.dylib and plugins load libvte.9.dylib the same code gets loaded twice and when the same type gets registered by GTK, it fails and the whole application freezes. This problem doesn't exist on linux or when running from the command line on macOS because the operating system detects it's the same library because of the symlink and it's loaded only once. Loading the same library as the one used by plugins fixes the issue with macOS bundle. The original symlinked name is still used as a fallback. The patch also adds #ifdef __APPLE__ around the Apple-specific library names which also prevents unnecessary retries on other platforms. Loading *.so libraries is still kept as a fallback on Apple as these are legal too and could in theory be used on OS X as well. * Try loading newer VTE versions before older ones on GTK 2 src/vte.c | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) commit b4415b16dacff0d79ff15747dfdbf87b2a282848 Author: Frank Lanitz Date: Fri Oct 6 15:52:33 2017 +0200 Update of Swedish translation po/sv.po | 1295 +++++++++++++++++++++++++++++++------------------------------- 1 file changed, 654 insertions(+), 641 deletions(-) commit 0e26c726e3bc54f1e6e8c9f20058a8368b10ee3f Author: Frank Lanitz Date: Tue Oct 3 10:21:30 2017 +0200 Update of German translation po/de.po | 1118 +++++++++++++++++++++++++++++++------------------------------- 1 file changed, 565 insertions(+), 553 deletions(-) commit fda8b97ea634877952acc86d58b75b25537486bb Author: Colomban Wendling Date: Sat Aug 19 17:17:48 2017 -0700 Keep the current tab when closing documents to the right of another tab src/notebook.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) commit 87b7e3cf426c25343716c94fbdeacebde720435d Author: Frank Lanitz Date: Tue Sep 12 11:10:09 2017 +0200 Add Latvian translation po/lv.po | 6011 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 6011 insertions(+) commit b1e0d0948c48153ec11e6f4b6c5fa5012c87293d Author: Colomban Wendling Date: Fri Sep 1 23:57:42 2017 -0700 Fix a typo (#1597) po/ar.po | 2 +- po/ast.po | 2 +- po/be.po | 2 +- po/bg.po | 2 +- po/ca.po | 2 +- po/cs.po | 2 +- po/de.po | 2 +- po/el.po | 2 +- po/en_GB.po | 2 +- po/es.po | 2 +- po/et.po | 2 +- po/eu.po | 2 +- po/fa.po | 2 +- po/fi.po | 2 +- po/fr.po | 2 +- po/gl.po | 2 +- po/he.po | 2 +- po/hi.po | 2 +- po/hu.po | 2 +- po/id.po | 2 +- po/it.po | 2 +- po/ja.po | 2 +- po/kk.po | 2 +- po/ko.po | 2 +- po/lb.po | 2 +- po/lt.po | 2 +- po/mn.po | 2 +- po/nl.po | 2 +- po/nn.po | 2 +- po/pl.po | 2 +- po/pt.po | 2 +- po/pt_BR.po | 2 +- po/ro.po | 2 +- po/ru.po | 2 +- po/sk.po | 2 +- po/sl.po | 2 +- po/sr.po | 2 +- po/sv.po | 2 +- po/tr.po | 2 +- po/uk.po | 2 +- po/vi.po | 2 +- po/zh_CN.po | 2 +- po/zh_TW.po | 2 +- src/document.c | 2 +- 44 files changed, 44 insertions(+), 44 deletions(-) commit 76c69a9bac4eeb11dc65483820b2b8a62c351b76 Author: Matthew Brush Date: Sun Feb 14 02:16:20 2016 -0800 Add GNU assembler extensions Closes #904 data/filetype_extensions.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 0dc1e4c6d3129135b768f20b848c653e84c135ee Author: Frank Lanitz Date: Mon Aug 28 10:07:12 2017 +0200 Change wordorder on Russian translation to fit with actual meaning of button Closes #1589 po/ru.po | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit f1b84c995bac5df2effa3d291a48533ec0aa43ac Author: LarsGit223 Date: Tue Aug 22 01:38:31 2017 +0200 Mention G_GNUC_UNUSED macro. (#1582) Mention G_GNUC_UNUSED as an alternative to `-Wno-unused-parameter`. HACKING | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) commit 3ffc5773a032e9a741792981cca6733143a11f8a Author: Colomban Wendling Date: Sat Aug 19 17:16:21 2017 -0700 Mark a local function static src/notebook.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit adc22a453b546b05f507fd6522ea13f3a92943c2 Author: kloun Date: Tue Aug 8 07:40:58 2017 +0300 bash may not found in the system (#1574) exampe openbsd. tests/ctags/runner.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 44f96d08a8c4b171e637b8964fbf4e38c83040e6 Author: Matthew Brush Date: Sun Sep 11 07:07:26 2016 -0700 Mark tm_get_real_path with G_DEPRECATED_FOR This will allow the compiler to notify any callers that it's deprecated. The macro is guarded-out for when Geany is compiling so it won't cause warnings when tagmanager uses it internally and for the utils_ wrapper. src/tagmanager/tm_source_file.c | 2 +- src/tagmanager/tm_source_file.h | 6 +++++- src/utils.c | 2 +- 3 files changed, 7 insertions(+), 3 deletions(-) commit 4a60cdd12727f8f252a3e0d6921e26377ef84904 Author: Matthew Brush Date: Sun Sep 11 06:58:34 2016 -0700 Add utils_get_real_path() and use it This is a wrapper around tm_get_real_path() but is in a more suitable namespace/module. src/app.h | 2 +- src/document.c | 8 ++++---- src/libmain.c | 2 +- src/plugindata.h | 2 +- src/tagmanager/tm_source_file.c | 2 ++ src/utils.c | 29 ++++++++++++++++++++++++++++- src/utils.h | 1 + 7 files changed, 38 insertions(+), 8 deletions(-) commit 7261742f8169b19fd5ac7f10a0845a684287e2d9 Author: Matthew Brush Date: Sat Sep 17 18:45:50 2016 -0700 Allow plugins to get the data they set src/plugindata.h | 3 ++- src/pluginutils.c | 18 ++++++++++++++++++ 2 files changed, 20 insertions(+), 1 deletion(-) commit a108f9162cc98e501e2458cd8b35c499b7f87384 Author: Matthew Brush Date: Wed Oct 5 09:27:34 2016 -0700 Re-enable SIGTERM handling Now that a new enough GLib is available the signal can be handled cleanly on the main loop using the GSource for Unix signals. This replaces the illegal SIGTERM handling that was disabled in fbb89f523af47b35e238678d348cfa98e56c760a. Closes #1255 src/libmain.c | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) commit fd38a49b55d7a4bfdb98069ac3bc839bf49d803b Author: Matthew Brush Date: Sat Oct 29 07:31:48 2016 -0700 Add note about data types to HACKING Closes #1282 HACKING | 5 +++++ 1 file changed, 5 insertions(+) commit 092f2a936af3d2973055d7d4125f19a4a6d8e5c1 Author: Matthew Brush Date: Sat Oct 29 05:38:53 2016 -0700 Fixups HACKING | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) commit ea217b7d4d9997e46a41f97d0da180639105d6ad Author: Matthew Brush Date: Sat Oct 29 04:52:48 2016 -0700 Update HACKING for best practices (C99) HACKING | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) commit a40823084e1615e04464f974f616794a7b3570da Author: Matthew Brush Date: Thu Jan 12 08:58:05 2017 -0800 Add "Close Documents to the Right" feature Similar to applications like Firefox and Chromium. src/notebook.c | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) commit 3e864317ba051512c102beb2a939caa4698515de Author: Jiří Techet Date: Mon Feb 20 16:17:17 2017 +0100 filebrowser: Don't change directory on project save This behavior might be unwanted when changing project settings which is unrelated to project base path and also fixes filebrowser behavior with the updated way project-save signal is emitted. The patch also handles the situation where "realized" is called after project-save is called and overrides file browser's path (which is something we don't want). plugins/filebrowser.c | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) commit e43c8d831445669bd94f960ff289bc1155668cd0 Author: Jiří Techet Date: Mon Feb 20 15:53:43 2017 +0100 Always emit the project-save signal when writing project file For some reason "project-save" isn't emitted when closing project - see write_config(FALSE) in project_close(). This means that in this case plugins cannot save their configuration into the config file. This doesn't even correspond to the documentation of the signal "Sent when a project is saved (happens when the project is created, the properties dialog is closed or Geany is exited)" as the signal isn't emitted when exiting Geany because at this point Geany closes the project. The comment seems to indicate that the reason is that "project-save" shouldn't be emitted when "project-close" is emitted but I don't see any reason why. Bump API so plugins can rely on the changed behavior. doc/pluginsignals.c | 5 +++-- src/project.c | 20 +++++++------------- 2 files changed, 10 insertions(+), 15 deletions(-) commit 180e1da427b4b23478360c720549c4c4e6ec92a7 Author: Thomas Martitz Date: Fri Aug 4 09:50:14 2017 +0200 api: the commits 745f424 and 169feae should have incremented the API version, do so now Increment one time for both, and fix the corresponding doc comments. The comment for keybindings_load_keyfile() is reflowed to split into brief/detail sections properly. src/keybindings.c | 17 +++++++++-------- src/plugindata.h | 2 +- src/tagmanager/tm_tag.c | 2 +- 3 files changed, 11 insertions(+), 10 deletions(-) commit 38147b2590f6d4e695c3637dd360631a1b7cc7f5 Author: delt Date: Fri Mar 31 00:24:52 2017 -0400 Added an option to save/reload either window position or size, but optionally not both. data/geany.glade | 24 ++++++++++++++++++++---- src/keyfile.c | 8 +++++--- src/libmain.c | 32 ++++++++++++++++++++------------ src/prefs.c | 14 ++++++++++---- src/prefs.h | 1 + 5 files changed, 56 insertions(+), 23 deletions(-) commit 745f424b7752e1f181e0ef82b1d00ed99d6c69a7 Author: Jiří Techet Date: Wed Mar 15 21:32:06 2017 +0100 Export keybindings_load_keyfile() for plugins This allows plugins to reload keybindings later during their execution. For more info see the comment in the commit. Closes #1430 src/keybindings.c | 9 +++++++++ src/keybindings.h | 4 ++-- 2 files changed, 11 insertions(+), 2 deletions(-) commit 169feae90e72d54049c7765c6975fa9a009268aa Author: Thomas Martitz Date: Mon Apr 10 08:18:08 2017 +0200 api: export tm_tag_get_type() This indicates that TMTag is GBoxed-derived, and can be copied/ref'd. This helps plugins that must store a tag pointer for later usage while the tagmanager might let it go in the meantime (can happen quickly if the user comments a function out when starting a doxygen-comment). Closes #1465 doc/Doxyfile.in | 1 + src/tagmanager/tm_tag.c | 6 +++++- src/tagmanager/tm_tag.h | 5 ++--- 3 files changed, 8 insertions(+), 4 deletions(-) commit bc7e64f78f33ef867c9c1dfc2dc3ab76fd962ed1 Author: Matthew Brush Date: Thu Aug 3 22:20:40 2017 -0700 Fix message formatting string src/sciwrappers.c | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) commit f90ebafe563280662c7e7553f1c80e9d8131a594 Author: Matthew Brush Date: Thu Aug 3 19:57:18 2017 -0700 Improve Scintilla status messages output src/sciwrappers.c | 31 ++++++++++++++++++++++++++----- 1 file changed, 26 insertions(+), 5 deletions(-) commit 6d663cbb0ee2d2da9d65be4f704044cafa9bbe42 Author: Matthew Brush Date: Thu Aug 3 19:19:08 2017 -0700 Change all scintilla_send_message calls to use SSM macro src/callbacks.c | 2 +- src/document.c | 2 +- src/editor.c | 6 +++--- src/keybindings.c | 8 ++++++-- src/printing.c | 14 +++++++------- src/search.c | 4 ++-- src/symbols.c | 10 +++++----- 7 files changed, 25 insertions(+), 21 deletions(-) commit 6c6eccd994dd4af68afe32b6b606b935e7328d2d Author: Matthew Brush Date: Thu Aug 3 19:11:58 2017 -0700 Check Scintilla status in debug builds In the future, this could be moved to release-mode runtime errors which try and pop-up a dialog message and/or recover gracefully. src/sciwrappers.c | 26 ++++++++++++++++++++++++++ src/sciwrappers.h | 13 +++++++++---- 2 files changed, 35 insertions(+), 4 deletions(-) commit 371810181dcdd0752d4b299073c6deef6204a437 Author: Matthew Brush Date: Thu Aug 3 18:34:31 2017 -0700 Remove redundant SSM macros src/editor.c | 4 ---- src/highlighting.c | 4 ---- src/sciwrappers.c | 3 --- src/sciwrappers.h | 5 +++++ 4 files changed, 5 insertions(+), 11 deletions(-) commit b7c4bb0b4d3022bb0102627cb6baa854cec93dd1 Author: Jiří Techet Date: Tue Apr 25 23:50:39 2017 +0200 Create correct path for filetype config files Since filedef config files are now stored under the "filedef" subdirectory of app->datadir, we need to add the subdirectory name when creating path from the corresponding app->configdir otherwise the file isn't found. Closes #1482 src/ui_utils.c | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) commit 08e2714c1cf6e341da9a9c253ab938ae5bea12c5 Author: sinpowei Date: Sat Jun 10 21:18:43 2017 +0800 Add an editor option to enable IME's candidate window display inline, fix the issue that candidate window can't follow cursor. Closes #1514 doc/geany.txt | 3 +++ src/editor.c | 5 ++++- src/editor.h | 1 + src/keyfile.c | 2 ++ 4 files changed, 10 insertions(+), 1 deletion(-) commit 59e6a8c75f3a742de7b2550b56e6ec564e14375c Author: Enrico Tröger Date: Fri Aug 4 08:03:50 2017 +0200 Add missing string and comment styles for various lexers (#1502) * Add missing string and comment styles for various lexers A bunch of string and comment styles were missing and so Geany could not detect the corresponding styles in code. * Add more string styles * Add regex styles as string styles src/highlighting.c | 100 +++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 97 insertions(+), 3 deletions(-) commit df2a99f2751b9601e37b69bcde71a8dda908904d Author: Franz König Date: Sat Jul 29 16:43:23 2017 +0200 a little typo in the list of translators (#1565) src/about.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 03e5bb9facd4e35ac0757781e054c7389362d129 Author: Colomban Wendling Date: Thu Jul 27 21:15:55 2017 -0700 Fix crash if plugin manager is opened more than once (#1564) Do not allow more than one plugin manager dialog at a time. It doesn't make sense and the code is not fully re-entrant and leads to a crash toggling plugins in both dialogs. Fixes #1563. src/plugins.c | 7 +++++++ 1 file changed, 7 insertions(+) commit 18d524525df6612a8ab7fd690aa99d815c59f80d Author: Thomas Martitz Date: Wed Jul 26 09:33:35 2017 +0200 editor: fix incorrect variable reference The variable used for setting the cursor isn't used anymore and was used uninitialized. It's simply deleted now and the correct var is used. This was only a problem if editor_insert_text_block() was used directly, the snippet code path doesn't reach to it. src/editor.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 18360460abb4f4bec23dff127031ecf4e9120f7f Author: Colomban Wendling Date: Mon Jul 24 16:24:05 2017 -0700 Update Scintilla to version 3.7.5 (#1503) * Update Scintilla to version 3.7.5 This now requires a C++11-capable compiler. Closes #1308. * Test using newer dist on Travis Since Scintilla needs C++11 * Add debugging code for when configure fails * Workaround a pkg-config-corsswrapper bug on Ubuntu 14.04 See https://bugs.launchpad.net/ubuntu/+source/mingw-w64/+bug/1327242 .travis.yml | 5 +- configure.ac | 1 + m4/ax_cxx_compile_stdcxx_11.m4 | 142 +++++ scintilla/Makefile.am | 1 + scintilla/gtk/PlatGTK.cxx | 158 +++--- scintilla/gtk/ScintillaGTK.cxx | 154 +++--- scintilla/gtk/ScintillaGTK.h | 90 ++-- scintilla/gtk/ScintillaGTKAccessible.cxx | 83 +-- scintilla/gtk/ScintillaGTKAccessible.h | 44 +- scintilla/include/Platform.h | 12 +- scintilla/include/SciLexer.h | 1 + scintilla/include/Scintilla.h | 7 + scintilla/include/Scintilla.iface | 36 +- scintilla/lexers/LexAsm.cxx | 22 +- scintilla/lexers/LexBash.cxx | 17 +- scintilla/lexers/LexBasic.cxx | 22 +- scintilla/lexers/LexCPP.cxx | 108 ++-- scintilla/lexers/LexD.cxx | 22 +- scintilla/lexers/LexDiff.cxx | 2 +- scintilla/lexers/LexFortran.cxx | 242 ++++++++- scintilla/lexers/LexHTML.cxx | 8 +- scintilla/lexers/LexHaskell.cxx | 22 +- scintilla/lexers/LexLaTeX.cxx | 4 +- scintilla/lexers/LexLua.cxx | 30 +- scintilla/lexers/LexPerl.cxx | 22 +- scintilla/lexers/LexPowerShell.cxx | 16 +- scintilla/lexers/LexProps.cxx | 18 +- scintilla/lexers/LexPython.cxx | 322 +++++++---- scintilla/lexers/LexRust.cxx | 22 +- scintilla/lexers/LexSQL.cxx | 22 +- scintilla/lexers/LexVHDL.cxx | 8 +- scintilla/lexers/LexVerilog.cxx | 42 +- scintilla/lexers/LexYAML.cxx | 6 +- scintilla/lexlib/Accessor.cxx | 12 +- scintilla/lexlib/CharacterCategory.cxx | 771 ++++++++++++++++++++++---- scintilla/lexlib/CharacterCategory.h | 6 + scintilla/lexlib/CharacterSet.cxx | 15 +- scintilla/lexlib/CharacterSet.h | 11 + scintilla/lexlib/LexAccessor.h | 2 +- scintilla/lexlib/LexerBase.cxx | 9 +- scintilla/lexlib/LexerModule.cxx | 8 +- scintilla/lexlib/LexerModule.h | 4 +- scintilla/lexlib/LexerNoExceptions.cxx | 16 +- scintilla/lexlib/LexerSimple.cxx | 8 +- scintilla/lexlib/PropSetSimple.cxx | 5 +- scintilla/lexlib/StyleContext.cxx | 8 +- scintilla/lexlib/StyleContext.h | 9 +- scintilla/lexlib/WordList.cxx | 17 +- scintilla/scintilla_changes.patch | 3 +- scintilla/src/AutoComplete.cxx | 28 +- scintilla/src/AutoComplete.h | 6 +- scintilla/src/CallTip.cxx | 37 +- scintilla/src/CallTip.h | 12 +- scintilla/src/CaseConvert.cxx | 222 +++++++- scintilla/src/CaseFolder.h | 4 +- scintilla/src/Catalogue.cxx | 23 +- scintilla/src/CellBuffer.cxx | 186 +++---- scintilla/src/CellBuffer.h | 97 ++-- scintilla/src/CharClassify.cxx | 4 +- scintilla/src/CharClassify.h | 2 +- scintilla/src/ContractionState.cxx | 110 ++-- scintilla/src/ContractionState.h | 55 +- scintilla/src/Decoration.cxx | 142 +++-- scintilla/src/Decoration.h | 27 +- scintilla/src/Document.cxx | 682 +++++++++++------------ scintilla/src/Document.h | 263 ++++----- scintilla/src/EditModel.cxx | 22 +- scintilla/src/EditModel.h | 15 +- scintilla/src/EditView.cxx | 500 +++++++++-------- scintilla/src/EditView.h | 62 ++- scintilla/src/Editor.cxx | 897 ++++++++++++++++--------------- scintilla/src/Editor.h | 258 +++++---- scintilla/src/ExternalLexer.cxx | 101 +--- scintilla/src/ExternalLexer.h | 28 +- scintilla/src/Indicator.cxx | 8 +- scintilla/src/KeyMap.cxx | 2 +- scintilla/src/LineMarker.cxx | 26 +- scintilla/src/LineMarker.h | 30 +- scintilla/src/MarginView.cxx | 64 ++- scintilla/src/MarginView.h | 8 +- scintilla/src/Partitioning.h | 23 +- scintilla/src/PerLine.cxx | 273 ++++------ scintilla/src/PerLine.h | 114 ++-- scintilla/src/Position.h | 1 + scintilla/src/PositionCache.cxx | 127 +++-- scintilla/src/PositionCache.h | 54 +- scintilla/src/RESearch.cxx | 38 +- scintilla/src/RESearch.h | 17 +- scintilla/src/RunStyles.cxx | 37 +- scintilla/src/RunStyles.h | 9 +- scintilla/src/ScintillaBase.cxx | 59 +- scintilla/src/ScintillaBase.h | 31 +- scintilla/src/Selection.cxx | 72 +-- scintilla/src/Selection.h | 46 +- scintilla/src/SparseVector.h | 122 ++--- scintilla/src/SplitVector.h | 153 ++++-- scintilla/src/Style.cxx | 3 +- scintilla/src/Style.h | 5 +- scintilla/src/UniConversion.cxx | 53 +- scintilla/src/UniConversion.h | 7 +- scintilla/src/UniqueString.h | 34 ++ scintilla/src/ViewStyle.cxx | 195 ++++--- scintilla/src/ViewStyle.h | 33 +- scintilla/src/XPM.cxx | 40 +- scintilla/src/XPM.h | 10 +- scintilla/version.txt | 2 +- scripts/cross-build-mingw.sh | 5 +- 107 files changed, 4735 insertions(+), 3364 deletions(-) commit b2668dae67dcca97740d5f4adc4200519cdde8a0 Author: Thomas Martitz Date: Fri Jul 21 08:42:58 2017 +0200 Better snippets (#1470) * snippets: Allow keybinding overloading of snippet-next-cursor. This allows to use the same key as for inserting snippets, or plugins to map something to the same keybinding (e.g. if they implement a similar facility). * snippets: Remove cursor position at the end of constructs. This is not consistently done for all languages, and hard to get right e.g. for python. It's probably not terribly useful either. * snippets: Use Scintilla indicators for cursor posititons * api: Increment API version. * snippets: restore behavior of cursor-less snippets * snippts: use ascii character for the placeholder. Do not require documents to be UTF-8 for using snippets. * snippets: fix start/end detection, when searching for the next cursor Tested @vfaronov data/snippets.conf | 34 +++++------ src/editor.c | 173 +++++++++++++++++++++++++++++------------------------ src/editor.h | 5 +- src/highlighting.c | 5 ++ src/keybindings.c | 4 +- src/plugindata.h | 2 +- 6 files changed, 123 insertions(+), 100 deletions(-) commit e0dd1ee109132f77a82794facced7b229193783d Author: klaxian Date: Fri Jul 21 02:02:56 2017 -0400 Added missing PHP keywords, especially for PHP 7.x. (#1547) data/filedefs/filetypes.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 2abf72a178301c6b90656229bbc11c9eb0b81765 Author: Vasiliy Faronov Date: Fri Jul 21 08:59:36 2017 +0300 Push current position to navqueue before navigating back (#1537) src/navqueue.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) commit 088aaefea0c67a4de1c5ec45a707e70bb66b94c1 Merge: 75a69aad 8b25d099 Author: Colomban Wendling Date: Thu Jul 20 21:32:49 2017 -0700 Merge pull request #1544 from b4n/python/sub-identifiers Python: Don't highlight sub-identifiers as keywords commit 8b25d09978a5e37e2918a130add3a700111c6a0f Author: Colomban Wendling Date: Wed Jul 19 22:07:13 2017 -0700 Cython: Inherit lexer properties from the Python filetype data/filedefs/filetypes.Cython.conf | 2 ++ 1 file changed, 2 insertions(+) commit c03af5b4348c16ee8da3508fc07cf9551a8a1792 Author: Colomban Wendling Date: Wed Jul 19 22:02:17 2017 -0700 Python: Remove obsolete lexer property data/filedefs/filetypes.python | 1 - 1 file changed, 1 deletion(-) commit 75a69aad932e81c97291b4944a738b90df75b033 Author: Mark O'Donovan Date: Mon Jul 17 08:44:54 2017 +0100 Added option to auto reload files changed on disk (#1246) When option is enabled geany automatically reloads files which have changed on disk but have no changes in the buffer. When the option is disabled (default) geany shows the reload dialog as before. Tested @vfaronov doc/geany.txt | 5 +++++ src/document.c | 6 ++++++ src/document.h | 1 + src/keyfile.c | 2 ++ 4 files changed, 14 insertions(+) commit 2d9f97debd308ef891903731e48b215255be8411 Author: Enrico Tröger Date: Sun Jul 16 15:29:55 2017 +0200 Post release version bump Say hello to Geany 1.32 "Bemos"! NEWS | 3 +++ configure.ac | 2 +- doc/geany.txt | 2 +- geany.exe.manifest | 2 +- geany_private.rc | 4 ++-- src/geany.h | 2 +- 6 files changed, 9 insertions(+), 6 deletions(-) commit 4af55534c59b149e81432f3a6bb8e46f3fd956dd Author: Enrico Tröger Date: Sun Jul 16 12:58:13 2017 +0200 Set release date NEWS | 2 +- doc/geany.1.in | 2 +- doc/geany.txt | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) commit b2b81359c3e271f7ea835fd1ba25bd2ca59514d9 Author: Colomban Wendling Date: Sat Jul 15 21:03:53 2017 -0700 Python: Don't highlight sub-identifiers as keywords For example, highlight `file` as a builtin when appearing by itself, but not in a construct like `obj.file`. Fixes #1542. data/filedefs/filetypes.python | 1 + 1 file changed, 1 insertion(+) commit 30f23bb8477bce7f611b34e158cad8a56ff645ce Author: Enrico Tröger Date: Sat Jul 15 12:57:19 2017 +0200 Add recently merged PRs to NEWS NEWS | 3 +++ 1 file changed, 3 insertions(+) commit e185f4784f1d93f2b9b322ee9ba132ba286607ab Merge: 70273779 4f1b2a03 Author: Enrico Tröger Date: Sat Jul 15 12:37:12 2017 +0200 Merge pull request #1536 from vfaronov/fix-color-chooser Fix converting color to hex for insertion commit 70273779981e4ce3610955ee4d27f557188c3717 Author: Vasiliy Faronov Date: Wed Jul 12 02:44:53 2017 +0300 Update HTML keywords (#1530) * Add newly standardized HTML elements to filetypes.html To enable highlighting them as keywords in HTML documents, add the following elements defined in W3C HTML 5.1 (https://www.w3.org/TR/html51/fullindex.html#index-elements): - menuitem - picture - rb - rtc - template as well as the following elements defined in WHATWG HTML Living Standard (https://html.spec.whatwg.org/multipage/indices.html#elements-3): - math - slot - svg * Add newly standardized HTML attributes to filetypes.html To enable highlighting them as keywords in HTML documents, add 30 attributes defined in W3C HTML 5.1 (https://www.w3.org/TR/html51/fullindex.html#attributes-table) and a further 15 attributes defined in the WHATWG HTML Living Standard (https://html.spec.whatwg.org/multipage/indices.html#attributes-3). * Sort the list of HTML keywords data/filedefs/filetypes.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 71b8fea91da0fab6b17f1ebb85a3099cd256282e Author: Colomban Wendling Date: Mon Jul 10 18:49:21 2017 -0700 Update NEWS NEWS | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) commit 4f1b2a031377cd4104d3bc60c02c7f3ee89268dd Author: Vasiliy Faronov Date: Sat Jul 8 18:46:01 2017 +0300 Fix converting color to hex for insertion Fixes #1527. In win32_show_color_dialog, utils_scale_round is not necessary at all because Get{R,G,B}Value [1] already return 0..255, which we can immediately render as hex. [1] https://msdn.microsoft.com/en-us/library/windows/desktop/dd144923.aspx src/utils.c | 14 +++++++++----- src/win32.c | 5 +---- 2 files changed, 10 insertions(+), 9 deletions(-) commit 35a5d457f48c92ecb71b5a2ecf7d718701d5ef63 Author: Frank Lanitz Date: Sun Jul 2 18:47:42 2017 +0200 Update of Lithuanian translation po/lt.po | 152 ++++++++++++++++++++++++++++++++------------------------------- 1 file changed, 77 insertions(+), 75 deletions(-) commit 1d100ae45748f63804016f6367a7ed550ae1468a Author: Frank Lanitz Date: Sun Jul 2 18:45:45 2017 +0200 Update of Japanese translation po/ja.po | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) commit 4406ccf97055dd4d6a8fa19faeff9555da198aed Author: Yan Pashkovsky Date: Tue Jun 27 10:15:30 2017 +0300 Cmake and Csharp Keywords (#1315) * cmake cs keywords * cs and cmake keywords update c sharp keywords https://msdn.microsoft.com/en-us/library/x53a06bb.aspx * reviewed cmake keywords reviewed cmake keywords according to https://cmake.org/cmake/help/v3.0/manual/cmake-commands.7.html * public private interface * cmake alphabetical kws * comments data/filedefs/filetypes.cmake | 6 +++--- data/filedefs/filetypes.cs | 3 ++- 2 files changed, 5 insertions(+), 4 deletions(-) commit 174fac750c886e172ff91f71a6982fe47b40cc5e Author: Frank Lanitz Date: Sun Jun 25 11:02:09 2017 +0200 Update po-files for string freeze of Geany 1.31 po/ar.po | 126 ++--- po/ast.po | 126 ++--- po/be.po | 126 ++--- po/bg.po | 126 ++--- po/ca.po | 32 +- po/cs.po | 126 ++--- po/de.po | 34 +- po/el.po | 1775 +++++++++++++++++++++++++++++++++-------------------------- po/en_GB.po | 126 ++--- po/es.po | 32 +- po/et.po | 126 ++--- po/eu.po | 126 ++--- po/fa.po | 126 ++--- po/fi.po | 126 ++--- po/fr.po | 126 ++--- po/gl.po | 126 ++--- po/he.po | 126 ++--- po/hi.po | 126 ++--- po/hu.po | 126 ++--- po/id.po | 129 ++--- po/it.po | 126 ++--- po/ja.po | 126 ++--- po/kk.po | 126 ++--- po/ko.po | 126 ++--- po/lb.po | 126 ++--- po/lt.po | 126 ++--- po/mn.po | 126 ++--- po/nl.po | 126 ++--- po/nn.po | 126 ++--- po/pl.po | 126 ++--- po/pt.po | 126 ++--- po/pt_BR.po | 126 ++--- po/ro.po | 126 ++--- po/ru.po | 126 ++--- po/sk.po | 126 ++--- po/sl.po | 126 ++--- po/sr.po | 126 ++--- po/sv.po | 126 ++--- po/tr.po | 126 ++--- po/uk.po | 126 ++--- po/vi.po | 126 ++--- po/zh_CN.po | 126 ++--- po/zh_TW.po | 126 ++--- 43 files changed, 3504 insertions(+), 3286 deletions(-) commit fbe6106216353fa112b92635248b32b4a59d313c Author: Giorgioggì Date: Fri Jun 23 18:52:43 2017 +0200 Fix comment/uncomment keyboard shortcut for Arduino filetype (#1510) data/filedefs/filetypes.Arduino.conf | 13 +++++++++++++ 1 file changed, 13 insertions(+) commit 1305b43a9813e952f4a85be4c22e7589961c7467 Author: Samsul Ma'arif Date: Thu May 25 15:20:15 2017 +0700 Update Indonesian translation (#1501) Signed-off-by: Samsul Ma'arif THANKS | 3 ++ po/id.po | 112 ++++++++++++++++++++++++------------------------------------ src/about.c | 3 ++ 3 files changed, 51 insertions(+), 67 deletions(-) commit 84253714771f48dbc7fab02f7de43f253734dee2 Author: Colomban Wendling Date: Tue May 2 05:46:28 2017 +0200 Haxe: Update keywords (#1216) Update keywords with https://haxe.org/manual/expression.html#keywords. `trace` is kept although it's not a keyword, because it was already there and http://try.haxe.org/ highlights it identically to some other keywords. data/filedefs/filetypes.haxe | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit fefc3a51b95c9c15193bff50c377164c8f8edc68 Author: Vasiliy Faronov Date: Tue May 2 01:42:59 2017 +0300 Explain the behavior of search keybindings regarding word boundaries (#1478) Fixes #1467. doc/geany.txt | 23 +++++++++++++++-------- 1 file changed, 15 insertions(+), 8 deletions(-) commit 9f4407ca29ac4dd6401fbc0688fb8c244158ae3d Author: Jacob H. Pratt Date: Fri Apr 28 21:20:38 2017 -0400 Add `require_relative` in ruby syntax highlighting (#1472) data/filedefs/filetypes.ruby | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit dbcf456031127ce7e371606dcc75507024eb95df Author: Vasiliy Faronov Date: Tue Apr 25 11:09:40 2017 +0300 Update HACKING (#1479) * Update obsolete references to GLib 2.27/28 in HACKING Fixes #1476. * Replace obsolete gcc -W option with -Wextra in HACKING According to gcc --help=warnings, -W is a deprecated option and -Wextra should be used instead. HACKING | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) commit c296efed642611f3dba238c5c576b712786b424e Author: yurayko Date: Sun Apr 23 21:07:29 2017 +0400 fix typo in russian translation (#1474) po/ru.po | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) commit 6f692112e39fa0714d882332b8f935419fd69a27 Author: Colomban Wendling Date: Thu Apr 20 08:57:02 2017 +0200 C: Fix line continuation handling (#1370) Escaped newlines were properly handled inside preprocessor directives, but not otherwise. Seeing `continue` here suggests the code used to work a long time ago but some loop refactoring broke it, as now it would not stay in the loop unless in a preprocessor directive. Or maybe it only ever worked for preprocessor directives, and the `continue` was superfluous? Fixes #1370. ctags/main/lcpp.c | 5 ++++- tests/ctags/Makefile.am | 1 + tests/ctags/backslashes.c | 29 +++++++++++++++++++++++++++++ tests/ctags/backslashes.c.tags | 12 ++++++++++++ 4 files changed, 46 insertions(+), 1 deletion(-) commit 2707006286fa52400776c24ad6c393d2459324fa Author: Jiří Techet Date: Sat Apr 15 12:48:03 2017 +0200 Fix crash when plugin_set_key_group() is called several times by plugins (#1426) When plugin calls plugin_set_key_group() several times for the same group (when creating keybindings dynamically and needs to reset them), it crashes with the current code the second time it gets called. The reason is that group->plugin_keys is an array into which entries of group->key_items point and when calling g_ptr_array_set_size(group->key_items, 0); it calls free_key_binding() for every item - when these items are deallocated by g_free(group->plugin_keys) previously, calls of free_key_binding() reference an invalid memory. Just first resizing group->key_items (and calling free_key_binding() for its items) and freeing group->plugin_keys afterwards fixes the problem. src/keybindings.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) commit 5539c3f908f9957ac2a181e38b3d10e392a0e551 Author: Nick Treleaven Date: Fri Apr 7 13:10:41 2017 +0100 Update status bar after clicking detect indent type menu item src/callbacks.c | 1 + 1 file changed, 1 insertion(+) commit 2386153df445c905710b0d4f3d905c2f5d97ed8e Author: Baurzhan Muftakhidinov Date: Mon Mar 27 20:37:16 2017 +0500 Fix the typo in Kazakh translation (#1447) po/kk.po | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit d34ebce039389cdbf911540cb333e269346b2788 Author: Robert Antoni Buj Gelonch Date: Wed Mar 22 11:18:16 2017 +0100 Update Catalan translators (#1440) THANKS | 1 + src/about.c | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) commit 33762f5225cb7751e42808cce6d65f471c2dc678 Author: A. Tombs Date: Wed Mar 22 00:06:47 2017 +0000 Add parfor to Matlab keyword list (#1021) Add parfor to Matlab keyword list Add `parfor` to the list of keywords to be highlighted in Matlab script sources. `parfor` is a Matlab keyword that can be used in place of `for` to achieve parallel processing. data/filedefs/filetypes.matlab | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 06f70e5b786941e6ce25c31ef38b1178e71a33b7 Author: Robert Antoni Buj Gelonch Date: Sun Mar 19 18:58:51 2017 +0100 Catalan translation: use unique accelerator keys for menus (#1434) po/ca.po | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) commit 6e1a1633b5192cd5a788dc30810978caa86bc7e2 Author: Frank Lanitz Date: Sun Mar 19 18:57:38 2017 +0100 Update bugtracker URL to github configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 4f388e515ce76535766cef730f1fdcab2fc396ef Merge: 46812c47 a1929f1c Author: Frank Lanitz Date: Sun Mar 19 18:52:45 2017 +0100 Backmerge bugfix release branch 1.30 from 1.30.1 to master commit 46812c47fbb363cd8d8f418cf3c7b10f280f7051 Author: Colomban Wendling Date: Sun Mar 19 18:18:11 2017 +0100 Fix scripts/set-release-date when LC_TIME is set We actually need to override LC_TIME if it is set, so use LC_ALL which overrides everything rather than LANG that is used as a fallback. scripts/set-release-date | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit a1929f1c80695489be4e687d74217f5f970ec9c0 Author: Colomban Wendling Date: Sun Mar 19 18:16:55 2017 +0100 Set release date NEWS | 2 +- doc/geany.1.in | 2 +- doc/geany.txt | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) commit 0dd13069a0d5bf33d8c2a0f15e18a5ed8f501f6b Merge: be91746d 79f9a716 Author: Frank Lanitz Date: Sat Mar 18 20:55:31 2017 +0100 Merge pull request #1433 from b4n/po/copyright-years Fix copyright years translations commit 79f9a716c25aaa7910c84f8db15aaa7481332b70 Author: Colomban Wendling Date: Sat Mar 18 20:17:47 2017 +0100 Unfuzzy strings that were only marked as such because of years update po/be.po | 1 - po/cs.po | 1 - po/et.po | 1 - po/eu.po | 1 - po/fi.po | 1 - po/gl.po | 1 - po/he.po | 1 - po/hu.po | 1 - po/id.po | 1 - po/lt.po | 1 - po/pl.po | 1 - po/pt_BR.po | 1 - po/sl.po | 1 - po/sr.po | 1 - 14 files changed, 14 deletions(-) commit def32abfed702be8ffe27818e3e86b9b0c2ad909 Author: Colomban Wendling Date: Sat Mar 18 20:01:31 2017 +0100 Fixup copyright years translations po/ar.po | 2 +- po/ast.po | 2 +- po/be.po | 4 ++-- po/bg.po | 2 +- po/ca.po | 4 ++-- po/cs.po | 4 ++-- po/en_GB.po | 2 +- po/et.po | 4 ++-- po/eu.po | 4 ++-- po/fa.po | 2 +- po/fi.po | 4 ++-- po/fr.po | 4 ++-- po/gl.po | 4 ++-- po/he.po | 4 ++-- po/hi.po | 2 +- po/hu.po | 4 ++-- po/id.po | 4 ++-- po/it.po | 4 ++-- po/ja.po | 4 ++-- po/kk.po | 4 ++-- po/ko.po | 2 +- po/lb.po | 2 +- po/lt.po | 4 ++-- po/mn.po | 2 +- po/nl.po | 4 ++-- po/nn.po | 2 +- po/pl.po | 4 ++-- po/pt.po | 4 ++-- po/pt_BR.po | 4 ++-- po/ro.po | 2 +- po/ru.po | 4 ++-- po/sk.po | 4 ++-- po/sl.po | 4 ++-- po/sr.po | 4 ++-- po/sv.po | 4 ++-- po/tr.po | 4 ++-- po/uk.po | 2 +- po/vi.po | 2 +- po/zh_CN.po | 4 ++-- po/zh_TW.po | 2 +- 40 files changed, 66 insertions(+), 66 deletions(-) commit 1aa82c3e6e0ac62f8cc7fa5469298dc0d254f26c Author: Colomban Wendling Date: Sat Mar 18 19:59:52 2017 +0100 Add a script to fixup copyright years translations scripts/update-year-in-po.sh | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) commit aada81e8caac9f95402985303ea83b20d907f528 Author: Frank Lanitz Date: Sat Mar 18 17:44:52 2017 +0100 Update NEWS and cleanup a unneeded fuzzy string inside Catalan translation NEWS | 2 +- po/ca.po | 100 +++++++++++++++++++++++++++++++-------------------------------- 2 files changed, 51 insertions(+), 51 deletions(-) commit 231e29c79ecf5f78c52680573a3fbff5c0e2e406 Author: Robert Antoni Buj Gelonch Date: Sat Mar 18 17:42:34 2017 +0100 Update Catalan translation (#1432) po/ca.po | 38 ++++++++++++++++++-------------------- 1 file changed, 18 insertions(+), 20 deletions(-) commit be91746d7e516f619c5d52dc9eeebf2697f8dbc8 Author: Robert Antoni Buj Gelonch Date: Sat Mar 18 17:42:34 2017 +0100 Update Catalan translation (#1432) po/ca.po | 38 ++++++++++++++++++-------------------- 1 file changed, 18 insertions(+), 20 deletions(-) commit 28b046722a8cddfddf6af0f027a62fd33bfda609 Author: Frank Lanitz Date: Fri Mar 17 23:02:08 2017 +0100 Update NEWS for 1.30.1 for backported translations NEWS | 3 +++ 1 file changed, 3 insertions(+) commit 6e0e6a4aabf085e5bb0fbd53467996fc1617527a Author: Frank Lanitz Date: Fri Mar 17 15:55:39 2017 +0100 Update of Greek translation po/el.po | 1826 +++++++++++++++++++++++++++----------------------------------- 1 file changed, 804 insertions(+), 1022 deletions(-) commit b4eb662b8202600cecbad78a3a503eef6b7944fa Author: Frank Lanitz Date: Wed Mar 15 15:42:04 2017 +0100 Small update of German translation po/de.po | 100 +++++++++++++++++++++++++++++++-------------------------------- 1 file changed, 50 insertions(+), 50 deletions(-) commit 8d88401292ac745c014ed860147449df258befcb Author: Frank Lanitz Date: Mon Mar 13 10:52:31 2017 +0100 Update of Spanish translation po/es.po | 106 +++++++++++++++++++++++++++++++-------------------------------- 1 file changed, 53 insertions(+), 53 deletions(-) commit ec1bde008db0e8174947ac8760358a0804b6af1e Author: Andrej Herceg Date: Mon Mar 6 20:01:24 2017 +0100 Update of Slovak translation (#1424) po/sk.po | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) commit 420c10960974e193a611cf6c00c71ae280060482 Author: Colomban Wendling Date: Fri Mar 17 20:44:06 2017 +0100 Update NEWS NEWS | 4 ++++ 1 file changed, 4 insertions(+) commit 03ee2e2b00c707ce6451694c1b59ec77b832957c Author: Colomban Wendling Date: Mon Mar 6 14:16:35 2017 +0100 GTK: Fix popup positioning on monitors not positioned at 0,0 Fixes #1422. X-Scintilla-Bug-URL: https://sourceforge.net/p/scintilla/bugs/1920/ X-Scintilla-Commit-ID: 8e0cb37c4972cd66b33293b88031acf453685cfd scintilla/gtk/PlatGTK.cxx | 34 ++++++++++++++-------------------- 1 file changed, 14 insertions(+), 20 deletions(-) commit 241402972769b617dfaf1a2fbbc60f0b9f903ed7 Author: Colomban Wendling Date: Fri Mar 17 20:19:56 2017 +0100 Bump version in preparation for 1.30.1 NEWS | 3 +++ configure.ac | 2 +- doc/geany.txt | 2 +- geany.exe.manifest | 2 +- geany_private.rc | 4 ++-- 5 files changed, 8 insertions(+), 5 deletions(-) commit ffb71f95b3024501e10849ed8ba6a95a065c606d Author: Frank Lanitz Date: Fri Mar 17 15:55:39 2017 +0100 Update of Greek translation po/el.po | 1826 +++++++++++++++++++++++++++----------------------------------- 1 file changed, 804 insertions(+), 1022 deletions(-) commit 7514212d32d3a562051c03ee2e9522ba3c13bf1f Author: Colomban Wendling Date: Mon Mar 6 14:16:35 2017 +0100 GTK: Fix popup positioning on monitors not positioned at 0,0 Fixes #1422. X-Scintilla-Bug-URL: https://sourceforge.net/p/scintilla/bugs/1920/ X-Scintilla-Commit-ID: 8e0cb37c4972cd66b33293b88031acf453685cfd scintilla/gtk/PlatGTK.cxx | 34 ++++++++++++++-------------------- 1 file changed, 14 insertions(+), 20 deletions(-) commit 2a2b8d11b8ab84cc80039c951ef11ee498d9e209 Author: Frank Lanitz Date: Wed Mar 15 15:42:04 2017 +0100 Small update of German translation po/de.po | 100 +++++++++++++++++++++++++++++++-------------------------------- 1 file changed, 50 insertions(+), 50 deletions(-) commit 709acc0be219c6868f1e9322719647241045d6ce Author: Frank Lanitz Date: Mon Mar 13 10:52:31 2017 +0100 Update of Spanish translation po/es.po | 106 +++++++++++++++++++++++++++++++-------------------------------- 1 file changed, 53 insertions(+), 53 deletions(-) commit 994cb4797d50c6d9a100d2f2188f3daa6888b6e0 Author: Andrej Herceg Date: Mon Mar 6 20:01:24 2017 +0100 Update of Slovak translation (#1424) po/sk.po | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) commit 3303bde75844033e4262f649a3437e0dbcc316d0 Author: Colomban Wendling Date: Sun Mar 5 16:17:03 2017 +0100 Post release version bump Say hello to Geany 1.31 "Trevin"! NEWS | 3 +++ configure.ac | 2 +- doc/geany.txt | 2 +- geany.exe.manifest | 2 +- geany_private.rc | 4 ++-- src/geany.h | 2 +- 6 files changed, 9 insertions(+), 6 deletions(-) commit a15dcc3b715097fd7f29dc4449031d2de4721856 Author: Colomban Wendling Date: Sun Mar 5 15:12:53 2017 +0100 Finish updating NEWS NEWS | 8 ++++++++ 1 file changed, 8 insertions(+) commit 119f05e5e2b8d9f5e9aab0311bd3a1217acf5126 Author: Colomban Wendling Date: Sun Mar 5 14:40:26 2017 +0100 Small update of the French translation NEWS | 2 +- po/fr.po | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) commit 7ccd37bd04d77c483a250557e906f652b3f6e7f5 Author: Enrico Tröger Date: Sun Mar 5 14:37:39 2017 +0100 Update NEWS preparing for next release NEWS | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) commit 5a7a308adacdda8d119a0addc0f869f0e425decb Author: Enrico Tröger Date: Sun Mar 5 14:00:43 2017 +0100 Set release date NEWS | 4 ++-- doc/geany.1.in | 2 +- doc/geany.txt | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) commit 344de2d442ce1fef994f7303a7b676c3f21cd4f1 Author: Frank Lanitz Date: Sun Mar 5 13:42:10 2017 +0100 Remove faulty empty lines INSTALL | 5 ----- 1 file changed, 5 deletions(-) commit fc6f3ffebee174db268daec4b0fb114767c43acf Author: Enrico Tröger Date: Sun Mar 5 13:27:15 2017 +0100 Update copyright years README | 2 +- doc/geany.txt | 2 +- geany.nsi.in | 2 +- geany_private.rc | 2 +- src/about.c | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) commit 3838a0800e0132a401005be215d7805284f006da Author: Frank Lanitz Date: Sun Mar 5 12:42:01 2017 +0100 There was also an it.po update for 1.30 INSTALL | 5 +++++ NEWS | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) commit 94620f4450b91476dfa3cce3c5be3bbcf0bcf2c1 Author: Giuseppe Date: Fri Mar 3 23:50:22 2017 +0100 updated it.po (#1405) po/it.po | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) commit cc7f7f7164956c8ba872f6c9ffa5ed0f6712a9d7 Merge: 8001086b 7b091809 Author: elextr Date: Fri Mar 3 21:00:27 2017 +1000 Merge pull request #1406 from kugel-/for-upstream api: new function geany_api_version for dynamic languages checking API version at runtime commit 8001086ba54e9f21442514b6311252e8382905e4 Author: Frank Lanitz Date: Thu Mar 2 12:30:13 2017 +0100 Fix po creation time meta data po/sr.po | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit a32ee97760136330abfbb6cd413169b0230aa56b Author: Frank Lanitz Date: Thu Mar 2 12:28:17 2017 +0100 Set language metadata in header of some po files po/ar.po | 2 +- po/en_GB.po | 2 +- po/fa.po | 2 +- po/fi.po | 2 +- po/lb.po | 2 +- po/ro.po | 2 +- po/uk.po | 2 +- 7 files changed, 7 insertions(+), 7 deletions(-) commit b7900b3f05d37818a1cd38f2c83e2c17e22c47ee Merge: 3b105ec8 ed46b65c Author: Colomban Wendling Date: Mon Feb 27 18:09:59 2017 +0100 Merge pull request #1399 from techee/osx_start Avoid gdk_display_get_name() on OS X commit 3b105ec8279aa53001cab68dc68dfa0bee1ba51c Merge: 6d006220 9a230e1f Author: Colomban Wendling Date: Mon Feb 27 14:18:50 2017 +0100 Merge pull request #1404 from b4n/search/gtk-3-20-history Fix search history filling on GTK >= 3.20 commit 6d0062201ee2701acceed9af0227c61e9777037d Author: Colomban Wendling Date: Tue Feb 21 22:18:34 2017 +0100 Scintilla: speed up converting byte offsets to character offsets Use a per-line cache to avoid re-computing the offset from the start of the buffer each time. This dramatically speeds up multiple replacements on large files. X-Scintilla-Bug-ID: https://sourceforge.net/p/scintilla/bugs/1910/ scintilla/gtk/ScintillaGTKAccessible.cxx | 7 +++++++ scintilla/gtk/ScintillaGTKAccessible.h | 16 +++++++++++++++- 2 files changed, 22 insertions(+), 1 deletion(-) commit b07c8b01c08e0f85b0122211129c952b2f22aecb Merge: 1421a3f9 0b85db49 Author: Colomban Wendling Date: Sun Feb 26 20:24:13 2017 +0100 Merge branch 'scintilla/update-373' Update Scintilla to version 3.7.3 plus a fix for a regression on it. Closes #1320. commit 1421a3f9c59a41074636a26cca6b431c3af40226 Author: Colomban Wendling Date: Sun Feb 26 20:01:52 2017 +0100 scintilla: Fix crash after destroying the widget on GTK < 3.3.6 On GTK2 and GTK3 < 3.3.6 there is no GtkAccessibleClass::widget_unset() method, so we can't destroy our accessible object right away. So, to avoid accessing a destroyed widget, we need to check whether the widget still exists in the the ScintillaGTKAccessible destructor. In other methods it's not necessary because the wrapping GObject class makes sure not to forward other when the widget has been destroyed, but we still have to destroy the C++ instance no matter what, so the check has to be on this side. Fixes #1410. scintilla/gtk/ScintillaGTKAccessible.cxx | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) commit df05fc87120141da8e9fc5b67ac10dd550891e04 Author: Frank Lanitz Date: Sun Feb 26 12:07:15 2017 +0100 Update NEWS NEWS | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 7125769d54903c7de1e67fc45732fd12508af2cf Author: Frank Lanitz Date: Sun Feb 26 12:04:20 2017 +0100 Update NEWS NEWS | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit f4c3363c6943e77cb47c724156ae56fe06881a87 Author: Frank Lanitz Date: Sun Feb 26 12:03:33 2017 +0100 Update of Portuguese translation po/pt.po | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) commit 7b091809db5d03d6373e39183bd796a8b485e709 Author: Thomas Martitz Date: Thu Feb 23 07:41:40 2017 +0100 api: new function geany_api_version This allows plugins to detect the API version of Geany at runtime. This enables soft dependencies based on Geany's API version, perhaps using a new feature with a fallback for older API versions. Previously the only alternatives were hard-depending on a more recent Geany version or ignoring new features. src/plugindata.h | 2 +- src/pluginutils.c | 16 ++++++++++++++++ src/pluginutils.h | 1 + 3 files changed, 18 insertions(+), 1 deletion(-) commit 1c2d35a5419a9222cc72dbe23ffa7b8277a624ed Author: Abel Serrano Juste Date: Fri Feb 24 09:16:41 2017 +0100 Solved spanish fuzzy translation for Geany 1.30 (#1408) po/es.po | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) commit 0b85db49e6ca258746546f9221ee0ec1e1b071b5 Author: Colomban Wendling Date: Tue Feb 21 22:58:01 2017 +0100 GTK: Fix double scrolling under X11 Really restrict smooth scrolling handling to Wayland. X-Scintilla-Bug-URL: https://sourceforge.net/p/scintilla/bugs/1901/ X-Scintilla-Commit-ID: ae52e0c68190d423505624ae1d26e442e015d48f scintilla/gtk/ScintillaGTK.cxx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit ed4fd6a5c7f2b4d377e9400e93246ed86d4515df Author: Frank Lanitz Date: Wed Feb 22 18:00:00 2017 +0100 Update po-files for string freeze of Geany 1.30 po/ar.po | 794 +++++++++++++++++++++++++++++---------------------------- po/ast.po | 795 +++++++++++++++++++++++++++++---------------------------- po/be.po | 791 +++++++++++++++++++++++++++++---------------------------- po/bg.po | 795 +++++++++++++++++++++++++++++---------------------------- po/ca.po | 791 +++++++++++++++++++++++++++++---------------------------- po/cs.po | 791 +++++++++++++++++++++++++++++---------------------------- po/el.po | 389 ++++++++++++++-------------- po/en_GB.po | 795 +++++++++++++++++++++++++++++---------------------------- po/es.po | 389 ++++++++++++++-------------- po/et.po | 790 ++++++++++++++++++++++++++++----------------------------- po/eu.po | 794 +++++++++++++++++++++++++++++---------------------------- po/fa.po | 795 +++++++++++++++++++++++++++++---------------------------- po/fi.po | 793 +++++++++++++++++++++++++++++---------------------------- po/fr.po | 791 +++++++++++++++++++++++++++++---------------------------- po/gl.po | 791 +++++++++++++++++++++++++++++---------------------------- po/he.po | 791 +++++++++++++++++++++++++++++---------------------------- po/hi.po | 790 ++++++++++++++++++++++++++++----------------------------- po/hu.po | 791 +++++++++++++++++++++++++++++---------------------------- po/id.po | 830 ++++++++++++++++++++++++++++++------------------------------ po/it.po | 793 +++++++++++++++++++++++++++++---------------------------- po/ja.po | 791 +++++++++++++++++++++++++++++---------------------------- po/kk.po | 791 +++++++++++++++++++++++++++++---------------------------- po/ko.po | 791 +++++++++++++++++++++++++++++---------------------------- po/lb.po | 795 +++++++++++++++++++++++++++++---------------------------- po/lt.po | 797 +++++++++++++++++++++++++++++---------------------------- po/mn.po | 795 +++++++++++++++++++++++++++++---------------------------- po/nl.po | 791 +++++++++++++++++++++++++++++---------------------------- po/nn.po | 789 ++++++++++++++++++++++++++++----------------------------- po/pl.po | 793 +++++++++++++++++++++++++++++---------------------------- po/pt.po | 792 ++++++++++++++++++++++++++++----------------------------- po/pt_BR.po | 791 +++++++++++++++++++++++++++++---------------------------- po/ro.po | 795 +++++++++++++++++++++++++++++---------------------------- po/ru.po | 791 +++++++++++++++++++++++++++++---------------------------- po/sk.po | 791 +++++++++++++++++++++++++++++---------------------------- po/sl.po | 791 +++++++++++++++++++++++++++++---------------------------- po/sr.po | 790 +++++++++++++++++++++++++++++---------------------------- po/sv.po | 791 +++++++++++++++++++++++++++++---------------------------- po/tr.po | 791 +++++++++++++++++++++++++++++---------------------------- po/uk.po | 795 +++++++++++++++++++++++++++++---------------------------- po/vi.po | 795 +++++++++++++++++++++++++++++---------------------------- po/zh_CN.po | 791 +++++++++++++++++++++++++++++---------------------------- po/zh_TW.po | 795 +++++++++++++++++++++++++++++---------------------------- 42 files changed, 16230 insertions(+), 16281 deletions(-) commit 9a230e1f45275d8b293e00d78b06862c20144b24 Author: Colomban Wendling Date: Tue Feb 21 23:15:36 2017 +0100 Fix search history filling on GTK >= 3.20 Since GTK 3.19.12, GtkComboBox has an intermediate GtkBox internal child wrapping the inner GtkEntry. To get the entry, `gtk_bin_get_child()` still works as it is part of the API, but the change breaks the assumption we had that it works the other way around, that `gtk_widget_get_parent(gtk_bin_get_child(combobox)) == combobox`. So, while this assumption seemed reasonable, stop relying on it as it is effectively not correct on GTK 3.20 and newer. See: https://git.gnome.org/browse/gtk+/commit/?id=222c43fc60362eeb97ce2d5e3a5583a69a2e30ef src/search.c | 48 ++++++++++++++++++++++++------------------------ 1 file changed, 24 insertions(+), 24 deletions(-) commit 93f273428aeecfbf47236c22b85f6a1ecc1dfba0 Author: Colomban Wendling Date: Tue Feb 21 14:16:56 2017 +0100 Update for new Scintilla styles data/filedefs/filetypes.python | 4 ++++ src/highlighting.c | 4 ++++ src/highlightingmappings.h | 4 ++++ 3 files changed, 12 insertions(+) commit 2219ab720cf69362f08bc4506ae6cb6b58007368 Author: Colomban Wendling Date: Tue Feb 21 14:16:23 2017 +0100 Update Scintilla to version 3.7.3 scintilla/gtk/PlatGTK.cxx | 62 +++++++++++--- scintilla/gtk/ScintillaGTK.cxx | 42 ++++++++- scintilla/gtk/ScintillaGTK.h | 2 + scintilla/include/SciLexer.h | 4 + scintilla/include/Scintilla.iface | 8 +- scintilla/lexers/LexDiff.cxx | 4 +- scintilla/lexers/LexLua.cxx | 4 +- scintilla/lexers/LexMatlab.cxx | 33 +++++-- scintilla/lexers/LexPython.cxx | 175 ++++++++++++++++++++++++++++++-------- scintilla/lexlib/WordList.cxx | 10 +-- scintilla/src/Document.cxx | 2 +- scintilla/src/Document.h | 2 +- scintilla/src/EditView.cxx | 10 ++- scintilla/src/EditView.h | 2 +- scintilla/src/Editor.cxx | 6 +- scintilla/src/ScintillaBase.cxx | 2 +- scintilla/src/XPM.cxx | 2 +- scintilla/src/XPM.h | 2 +- scintilla/version.txt | 2 +- 19 files changed, 293 insertions(+), 81 deletions(-) commit f096fa2163c1b05ce1f3b8fd32c050e33d6ef5b3 Author: Frank Lanitz Date: Sun Feb 19 19:14:26 2017 +0100 Small update of German translation po/de.po | 130 +++++++++++++++++++++++++++++++-------------------------------- 1 file changed, 65 insertions(+), 65 deletions(-) commit ed46b65c00ff3b5c33782a8761c75b47fa953b52 Author: Jiří Techet Date: Thu Feb 16 11:45:46 2017 +0100 Avoid gdk_display_get_name() on OS X More in the comment. src/socket.c | 7 +++++++ 1 file changed, 7 insertions(+) commit 73476315635faab9a30102956362dce19a39ba1a Author: Vasiliy Faronov Date: Thu Feb 16 01:44:53 2017 +0300 Fix setting menu item labels dynamically Fixes https://github.com/geany/geany-plugins/issues/462 src/build.c | 15 ++------------- 1 file changed, 2 insertions(+), 13 deletions(-) commit 170ebf610f33ac414799f1a841ae01c1e058d567 Author: Colomban Wendling Date: Wed Feb 8 22:39:24 2017 +0100 scintilla: Fix build with older GCC Don't convert function pointer to non-function pointer. This is undefined behavior, and some older GCC don't like it. scintilla/gtk/ScintillaGTKAccessible.cxx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit b0f71a166651b65a0a6184b02d90327d696cfea2 Merge: 0df7d5a0 2c1a71ad Author: Colomban Wendling Date: Sun Feb 5 17:32:54 2017 +0100 Merge branch 'Forkest/copy-items-nonlatin' Work around incorrect keybinding handling with multiple layouts so cut/copy/delete keybindings work via menuitem activation if we failed to trigger the action ourselves. Closes #1386. commit 2c1a71ad2bbe7bc73abb37cb94f065c0137f84c7 Author: Colomban Wendling Date: Sun Feb 5 15:34:24 2017 +0100 Use :select/:deselect signals for consistency Instead of having a handler on 2 separate objects, use :select and :deselect on the same one. Those signals are appropriate, as the documentation mentions that submenus are popped up on :select. data/geany.glade | 4 ++-- src/callbacks.c | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) commit 67d6562f203ad1d46969c36be70606fee0b73096 Author: Forkest Date: Sun Feb 5 02:15:22 2017 +0200 Fix cut and copy actions in non-Latin keyboard layouts Mark the associated menu items sensitive when the menu is hidden, so that GTK's accelerator handling can trigger them. This works around incorrect handling in Geany's code of keybindings coming from multiple layouts for cut/copy/delete actions. Partial workaround for #998, #1286 and #1368. data/geany.glade | 1 + src/callbacks.c | 10 ++++++++++ src/ui_utils.c | 15 +++++++++++---- src/ui_utils.h | 2 ++ 4 files changed, 24 insertions(+), 4 deletions(-) commit 0df7d5a03a3f3681294d246d3b3adcf9a9d01485 Author: Colomban Wendling Date: Thu Feb 2 14:33:56 2017 +0100 scintilla: Prevent running signal handlers on a destroyed a11y object Avoid crash when detaching the widget from the accessible object without destroying that widget. In such situations, the widget is still valid but we will have destroyed the orphaned accessible object. Thus, we must make sure we disconnected the signal handlers the late accessible had set up on the widget, as they won't be implicitly disconnected by widget finalization in this case. Fixes #1385. scintilla/gtk/ScintillaGTKAccessible.cxx | 1 + 1 file changed, 1 insertion(+) commit 38d59835dbcf44bba73ea86b8511b60ef8c1626e Author: Robert Antoni Buj Gelonch Date: Tue Jan 24 09:38:15 2017 +0100 Update Catalan translation (#1375) po/ca.po | 25 ++++++++++++++----------- 1 file changed, 14 insertions(+), 11 deletions(-) commit 00a3aef94de14f157b27a0fabb9cd19f6d66708a Merge: 59935a35 c6984699 Author: Colomban Wendling Date: Mon Jan 23 14:10:45 2017 +0100 Merge pull request #1361 from Akronix/keywords-js.filetypes Updated filetypes.javascript keywords commit c6984699d3fc9f7055eb25a5362afe990b9c82a6 Author: Abel 'Akronix' Serrano Juste Date: Sat Jan 14 21:26:36 2017 +0100 Removed 'alert' from secondary keywords since it depends on a DOM environment data/filedefs/filetypes.javascript | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 59935a3579df0d418cb483aa7f63515210690ce1 Merge: 1724bab3 d4a35947 Author: Colomban Wendling Date: Thu Jan 12 19:39:42 2017 +0100 Merge pull request #1356 from b4n/snippets-keybindings-signature Fix snippets keybindings not blocking handled events commit c328051382385ea663eca73c1bb0aa1d969ef321 Author: Abel 'Akronix' Serrano Juste Date: Wed Jan 11 23:06:23 2017 +0100 Some adjustmenys in javascript keywords: Deleted 'each' from secondary keywords data/filedefs/filetypes.javascript | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 6fad4c017cf6edcf03ddb78b82f0cfade0d26df7 Author: Abel 'Akronix' Serrano Juste Date: Wed Jan 11 23:05:05 2017 +0100 Updated js keywords with ES6 data/filedefs/filetypes.javascript | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 1724bab3b8048d8c37046f0128d85cf5bda523bf Author: Colomban Wendling Date: Wed Jan 11 14:32:37 2017 +0100 scripts/github-news: Fix issues link Closes #1360. scripts/github-news | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit d4a35947d31fa1c150d90e3fd1cc6b060baed9a3 Author: Colomban Wendling Date: Mon Jan 9 14:42:20 2017 +0100 Fix snippets keybindings not blocking handled events Fix signature of the snippets keybindings callback, properly blocking further propagation of handled events thus avoiding possibly activating another action (like a builtin Scintilla keybinding). Fixes #1354. src/editor.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) commit 43b7982b2efe48c858e902a14cf33ef57d428ec9 Merge: 4780b2a8 129389c7 Author: Colomban Wendling Date: Mon Jan 9 14:18:16 2017 +0100 Merge pull request #1350 from kugel-/for-upstream api: rework GeanyProxyProbeResults compat symbols as defines commit 4780b2a82751c69975b2bed63eaf4065bc168a87 Author: Frank Lanitz Date: Fri Jan 6 14:52:50 2017 +0100 Update of German translation po/de.po | 323 ++++++++++++++++++++++++++++++++------------------------------- 1 file changed, 162 insertions(+), 161 deletions(-) commit c914598dbaf12a1b6877f590604d5e4b8c0d439c Author: Colomban Wendling Date: Fri Dec 30 18:29:43 2016 +0100 Update Scintilla to version 3.7.2 scintilla/src/EditView.cxx | 5 +-- scintilla/src/EditView.h | 2 +- scintilla/src/Editor.cxx | 79 +++++++++++++++++++++++-------------------- scintilla/src/Editor.h | 3 +- scintilla/src/PositionCache.h | 17 ++++++++++ scintilla/version.txt | 2 +- 6 files changed, 67 insertions(+), 41 deletions(-) commit 16ea1d35a6fa9cd0164bddf2b2813b7db8e2455e Author: Enrico Tröger Date: Wed Dec 28 23:20:47 2016 +0100 Fix file names of generated tags files for C, PHP and Python scripts/create_c_tags.sh | 2 +- scripts/create_php_tags.py | 4 ++-- scripts/create_py_tags.py | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) commit 59f080d058a0eb6f602e770ee6b71c0c63cabd79 Author: Enrico Tröger Date: Wed Dec 28 22:59:46 2016 +0100 Update tags and filedefs path references in scripts This is a follow-up of #485. scripts/create_c_tags.sh | 2 +- scripts/create_php_tags.py | 4 ++-- scripts/create_py_tags.py | 4 ++-- scripts/update-python-identifiers.sh | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) commit 129389c75bd416c33d10e64cb73017df47c90ab5 Author: Thomas Martitz Date: Wed Dec 28 00:30:54 2016 +0100 api: rework GeanyProxyProbeResults compat symbols as defines Constants with different namespace in the same enum confuse g-ir-scanner. src/plugindata.h | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) commit cad224d204b08f0e0b96f87dfa4bfefadfeb9a77 Merge: a8bc8905 19af3caa Author: Colomban Wendling Date: Thu Dec 22 13:54:16 2016 +0100 Merge pull request #1280 from b4n/current-scope Fix the current scope shown in the statusbar commit 19af3caa73a916d51ab9f151bc15015026dbd598 Author: Colomban Wendling Date: Thu Oct 27 17:33:58 2016 +0200 Fix the current scope shown in the statusbar Since the Scintilla C++ lexer started to fold on `()` [1], the code looking up the current scope is confused whenever the function signature spans multiple lines. Fix this by skipping fold levels that correspond to parentheses. Fixes #1279. [1] https://sourceforge.net/p/scintilla/feature-requests/1138/ imported in 24f91981c057a7e212c09da66fb974c3ccc85bd6 src/symbols.c | 48 ++++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 44 insertions(+), 4 deletions(-) commit a8bc8905411ff65f825a504966fcf8fbef49af86 Merge: 9fdb014b 07c66519 Author: Colomban Wendling Date: Tue Dec 20 21:46:28 2016 +0100 Merge branch 'scintilla/accessible-fixes' Fix some various issues with accessibility code in Scintilla. commit 07c665197f8130b293007a7e3d7a58cf51af18fb Author: Colomban Wendling Date: Sun Dec 18 16:36:13 2016 +0100 GTK: Ensure styles are valid when retrieving them for accessibility purposes scintilla/gtk/ScintillaGTKAccessible.cxx | 7 ++++--- scintilla/gtk/ScintillaGTKAccessible.h | 6 ++++++ 2 files changed, 10 insertions(+), 3 deletions(-) commit a31a43efe15a55ea249c2224f6688c9dcf5f5b64 Author: Colomban Wendling Date: Sun Dec 18 16:35:22 2016 +0100 GTK: Fix reporting deletion length in the accessible We cannot compute the length in characters after the text has been deleted, so we need to compute it in BEFOREDELETE. However, we need to emit the signal once the buffer has actually changed, so we need to cache the value in-between those events. scintilla/gtk/ScintillaGTKAccessible.cxx | 10 ++++++++-- scintilla/gtk/ScintillaGTKAccessible.h | 2 ++ 2 files changed, 10 insertions(+), 2 deletions(-) commit 745d15de2e82a636985c32d5ac149416783ef5a6 Author: Colomban Wendling Date: Sun Dec 18 16:35:06 2016 +0100 GTK: Fix off-by-one error in accessible attribute runs scintilla/gtk/ScintillaGTKAccessible.cxx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) commit 2f327b767b1b6659083d0d6e0a1f34ae52fb6a12 Author: Colomban Wendling Date: Sun Dec 18 16:34:20 2016 +0100 GTK: Fix accessible object lifetime on GTK < 3.8 scintilla/gtk/ScintillaGTKAccessible.cxx | 40 ++++++++++++++++---------------- 1 file changed, 20 insertions(+), 20 deletions(-) commit 407cb36cebdc58231c08fbc7f7bb535fcdc0e465 Author: Colomban Wendling Date: Mon Oct 24 12:22:26 2016 +0200 GTK: Add some documentation on accessible object reference ownerships scintilla/gtk/ScintillaGTKAccessible.cxx | 22 ++++++++++++++++++++++ scintilla/gtk/ScintillaGTKAccessible.h | 1 + 2 files changed, 23 insertions(+) commit 9fdb014b073f9035bc8df9b843213a9d1e997ccb Author: Colomban Wendling Date: Sun Dec 18 17:28:23 2016 +0100 javascript: Partial highlighting of ES6 template strings This doesn't support nested templates or escaped `es, but at least handles the most obvious cases for now. Part of #934. data/filedefs/filetypes.javascript | 2 ++ 1 file changed, 2 insertions(+) commit 21b37f553fdcaa37463465bd24d9ca5537800f0a Author: SukkoPera Date: Thu Dec 15 00:21:27 2016 +0100 Add Arduino custom filetype Closes #1339 data/Makefile.am | 1 + data/filedefs/filetypes.Arduino.conf | 44 ++++++++++++++++++++++++++++++++++++ data/filetype_extensions.conf | 3 ++- 3 files changed, 47 insertions(+), 1 deletion(-) commit 9573a3886d92c1ffa28e7aab9afa1fa535d7dd28 Author: tsvisimcha Date: Fri Dec 16 00:27:00 2016 -0800 Update HACKING (#1340) HACKING | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 3ddea9c3aefc5efcaf03a2b293d4785d7d5ed9ec Author: Colomban Wendling Date: Sat Dec 10 11:31:50 2016 +0100 Update NEWS for Scintilla 3.7.1 It actually introduces a few new things worth mentioning. NEWS | 10 ++++++++++ 1 file changed, 10 insertions(+) commit aa11c3ea48a67eee384605cace71e3111745b68f Author: Colomban Wendling Date: Mon Dec 5 14:23:34 2016 +0100 Update Scintilla to version 3.7.1 scintilla/Makefile.am | 4 + scintilla/gtk/PlatGTK.cxx | 7 +- scintilla/gtk/ScintillaGTK.cxx | 401 ++++------ scintilla/gtk/ScintillaGTK.h | 287 +++++++ scintilla/gtk/ScintillaGTKAccessible.cxx | 1205 ++++++++++++++++++++++++++++++ scintilla/gtk/ScintillaGTKAccessible.h | 171 +++++ scintilla/include/Platform.h | 4 - scintilla/include/SciLexer.h | 10 + scintilla/include/Scintilla.h | 66 +- scintilla/include/Scintilla.iface | 59 +- scintilla/lexers/LexCPP.cxx | 2 +- scintilla/lexers/LexMatlab.cxx | 117 ++- scintilla/lexers/LexPerl.cxx | 2 +- scintilla/lexers/LexYAML.cxx | 76 +- scintilla/lexlib/LexerModule.h | 2 +- scintilla/scintilla_changes.patch | 5 +- scintilla/src/CaseConvert.cxx | 9 + scintilla/src/CaseConvert.h | 3 + scintilla/src/CellBuffer.h | 16 - scintilla/src/ContractionState.cxx | 32 +- scintilla/src/ContractionState.h | 8 + scintilla/src/Document.cxx | 12 +- scintilla/src/EditModel.cxx | 1 + scintilla/src/EditModel.h | 1 + scintilla/src/EditView.cxx | 236 +++++- scintilla/src/EditView.h | 8 +- scintilla/src/Editor.cxx | 78 +- scintilla/src/Editor.h | 9 +- scintilla/src/Indicator.cxx | 15 +- scintilla/src/Indicator.h | 2 +- scintilla/src/PositionCache.cxx | 8 +- scintilla/src/PositionCache.h | 12 +- scintilla/src/ScintillaBase.cxx | 14 +- scintilla/src/ScintillaBase.h | 4 +- scintilla/src/SparseVector.h | 186 +++++ scintilla/src/ViewStyle.cxx | 13 + scintilla/src/ViewStyle.h | 4 + scintilla/version.txt | 2 +- 38 files changed, 2596 insertions(+), 495 deletions(-) commit cdd12cfaeb2a14d7d58b6be1ef9389bb25bca914 Author: Frank Lanitz Date: Wed Nov 23 18:26:20 2016 +0100 Update NEWS for recent Lithuanian translation update NEWS | 3 +++ 1 file changed, 3 insertions(+) commit 5425e308bc2576320efb7cee42d84ffca5876952 Merge: b29a9732 62a2294a Author: Frank Lanitz Date: Wed Nov 23 18:23:18 2016 +0100 Merge branch 'master' of git://github.com/zygimantus/geany commit 62a2294a00932458503acd33ccbae0bb5f882a22 Author: zygimantus Date: Tue Nov 22 23:05:20 2016 +0200 Lithuanian translation changes po/lt.po | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) commit b29a973217979f8a32e47460cad8b2bac165ef47 Author: Chris Pilkington Date: Fri Nov 18 12:25:03 2016 +1100 Grammar "and the end of lines" -> "at the end of lines" (#1307) po/en_GB.po | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 8330c68a296e611d8d1e147adc793941185f3ff1 Author: Frank Lanitz Date: Fri Nov 18 02:23:50 2016 +0100 Fix a small grammatical issue data/geany.glade | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 0d29e1b8de605be202aea148e0b8398811b21df1 Author: Colomban Wendling Date: Sun Nov 13 19:06:55 2016 +0100 Update making-a-release to mention new scripts doc/making-a-release | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) commit 26c0d6266eea68d715254fd3a4439a9a9e8789a1 Author: Colomban Wendling Date: Sun Nov 13 19:04:37 2016 +0100 Add a script to set the release date scripts/set-release-date | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) commit a4990e9da549c9224740a304ddeaf11123c81e48 Author: Colomban Wendling Date: Sun Nov 13 18:48:20 2016 +0100 Add a script to make the version bump scripts/version-bump | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) commit 5241f40dcfe2bf2287c0f81b7b4bbc463873f775 Author: Colomban Wendling Date: Sun Nov 13 18:15:45 2016 +0100 Add a script to convert NEWS to GitHub release format scripts/github-news | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) commit a0449320b79eeda3e2994e5a004131ce82b69980 Author: Colomban Wendling Date: Sun Nov 13 18:03:47 2016 +0100 Post release version bump Say hello to Geany 1.30 "Calron"! NEWS | 3 +++ configure.ac | 2 +- doc/geany.txt | 2 +- geany.exe.manifest | 2 +- geany_private.rc | 4 ++-- src/geany.h | 2 +- 6 files changed, 9 insertions(+), 6 deletions(-) commit a249866d06b2bd3a214b9c61148c514cf8122dbc Author: Colomban Wendling Date: Sun Nov 13 16:43:45 2016 +0100 Set release date NEWS | 2 +- doc/geany.1.in | 2 +- doc/geany.txt | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) commit e3b74214771bd3de920d44a8001aa08d4857d774 Author: Enrico Tröger Date: Sun Nov 13 16:35:36 2016 +0100 Update NEWS for Windows related changes NEWS | 11 +++++++++++ 1 file changed, 11 insertions(+) commit 5f879126cecd443d2e1a4be4eacaf8ac1d43ffa8 Merge: 156c64b3 b9605ee0 Author: Colomban Wendling Date: Sun Nov 13 16:29:43 2016 +0100 Merge pull request #1095 from eht16/issue1076_win32_build_working_dir_locale Windows: Improve executing external commands on non-ASCII paths, effectively fixing most known issues. commit 156c64b36cb0bed389c457629d5d5aad3ee845c0 Merge: 88137b9b 973a7215 Author: Enrico Tröger Date: Sun Nov 13 15:12:59 2016 +0000 Merge pull request #1301 from eht16/issue1229_win_grep_from_msys2 Use pre-compiled 'grep' binary from MSYS2 on Windows commit b9605ee02eb389cb16abb5cd00d8e4f1da4fe042 Author: Enrico Tröger Date: Sun Nov 13 13:56:13 2016 +0100 Windows: install and remove new run script helper in the installer geany.nsi.in | 4 ++++ 1 file changed, 4 insertions(+) commit d61b92f20260389222d2ab5fd48a65825afb363c Author: Enrico Tröger Date: Sun Nov 13 01:51:00 2016 +0100 Revert "Implement the run helper as a script" on non-Windows This restores the previous behavior as it has been on non-Windows systems before. Post-1.29 we will merge #1300 which implements run helper script support for non-Windows systems more sophisticated. src/Makefile.am | 2 -- src/build.c | 86 ++++++++++++++++++++++++++++++++++++++++++++-------- src/geany-run-helper | 28 ----------------- 3 files changed, 74 insertions(+), 42 deletions(-) commit f1f577ea72352b4d6010f87cd8097179d0642d54 Author: Colomban Wendling Date: Sat Nov 12 18:50:45 2016 +0100 spawn: Don't depend on utils.h, and fix locale compat on Windows utils_get_utf8_from_locale() is actually a no-op on Windows, so use the GLib conversion directly. We really mean locale here, not "filename encoding". src/Makefile.am | 4 ++-- src/build.c | 6 +++++- src/geany-run-helper | 5 ++++- src/geany-run-helper.bat | 5 ++++- src/spawn.c | 18 +++++++++++++----- src/win32.c | 0 src/win32.h | 0 7 files changed, 28 insertions(+), 10 deletions(-) commit 1d5d4e278ab5a9e4f364f4534e39048f613748b4 Author: Colomban Wendling Date: Sat Nov 12 11:59:46 2016 +0100 Implement the run helper as a script Apparently using arguments instead of putting paths directly in the script is enough for it to work on Windows, so use a simple script instead of a program, so it's both shorter and easier to tune. src/Makefile.am | 10 ++- src/build.c | 37 +++++---- src/geany-run-helper | 25 ++++++ src/geany-run-helper.bat | 27 ++++++ src/geany-run-helper.c | 208 ----------------------------------------------- src/win32.c | 45 +++------- src/win32.h | 4 - 7 files changed, 88 insertions(+), 268 deletions(-) commit 265e27a7f31b470f5845d8831def9b6a34776025 Author: Colomban Wendling Date: Wed Nov 9 19:38:28 2016 +0100 Use a program run helper rather than a script This removes all encoding issues from passing on a script to cmd.exe on Windows, as it now uses proper wide character API there. Not much changes on other OSes, but we don't create temporary scripts anymore. src/Makefile.am | 7 ++ src/build.c | 102 ++++++------------------ src/geany-run-helper.c | 208 +++++++++++++++++++++++++++++++++++++++++++++++++ src/prefix.h | 1 + src/utils.c | 3 + src/utils.h | 1 + 6 files changed, 243 insertions(+), 79 deletions(-) commit a45091413a0dae1bc72546281210674fa250db5c Author: Colomban Wendling Date: Mon Nov 7 15:47:19 2016 +0100 spawn: Use Wide API on Windows Try and use Unicode variants of the Windows process creation API in order to support filenames (and possibly environment) outside the locale codepage. WARNING: Implications on using Unicode environment are unknown. It might affect the called process, or not, not sure. src/spawn.c | 123 ++++++++++++++++++++++++++++++++---------------------------- 1 file changed, 66 insertions(+), 57 deletions(-) commit 26adcabd694014328f61b3ca5fe0d5be610849c0 Author: Enrico Tröger Date: Tue Jun 28 16:46:46 2016 +0200 Windows: Convert generated batch script into system codepage Instead of fiddling with the "chcp" command in the generated batch script on Windows, convert the whole script content into the system codepage before executing it. src/build.c | 15 +++---- src/spawn.c | 129 +++++++++++++++++++++++++++++++++++++----------------------- src/win32.c | 22 ++++++++++- src/win32.h | 2 + 4 files changed, 110 insertions(+), 58 deletions(-) commit 127e94199ba92f2584d9c83fb90126e42265bbb9 Author: Enrico Tröger Date: Tue Jun 28 00:36:20 2016 +0200 Windows: Convert working directory into locale encoding before spawning commands The working directory is passed in in UTF-8 encoding but Windows API expects locale encoding here, so convert it. Fixes #1076. src/build.c | 9 ++++++++- src/spawn.c | 48 ++++++++++++++++++++++++++++++++++++++++++++++-- src/win32.c | 12 ++++++++++++ src/win32.h | 2 ++ 4 files changed, 68 insertions(+), 3 deletions(-) commit 973a721574364f10995eb94a03e501e4c60c1d56 Author: Enrico Tröger Date: Sun Nov 13 11:33:59 2016 +0100 Use pre-compiled 'grep' binary from MSYS2 on Windows This drops the self-compiled 'grep' version which caused issues with recursive searches on Windows as well as with non-ASCII characters in paths. The pre-compiled 'grep' binary from MSYS2 (matching the target ABI) seems to solve probably all of the known problems on Windows. The only drawback is that we need to ship a few additional MSYS2 libraries on which the 'grep' binary depends. Closes #1229 and #1260. scripts/gtk-bundle-from-msys2.sh | 46 +++++++++++++++++++++++----------------- 1 file changed, 26 insertions(+), 20 deletions(-) commit 88137b9b087325465644ee892d1b4eb19bcbd01a Author: Frank Lanitz Date: Sun Nov 13 13:35:46 2016 +0100 Update of German translation po/de.po | 417 +++++++++++++++++++++++++++++++-------------------------------- 1 file changed, 207 insertions(+), 210 deletions(-) commit fdd9768978b0ead00483e82d68cb0a5373d7f26e Author: Frank Lanitz Date: Sun Nov 13 13:33:16 2016 +0100 Fix a little inside NEWS NEWS | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit a74a6af2574d2b24b000f1e14fa9a0802db7d88a Author: Frank Lanitz Date: Sat Nov 12 17:19:40 2016 +0100 Another small update of Dutch translation po/nl.po | 64 +++++++++++++++++++++++++++++++--------------------------------- 1 file changed, 31 insertions(+), 33 deletions(-) commit 2e97ec493ea79f6126e0650c826de726a10a9dad Author: Frank Lanitz Date: Fri Nov 11 09:22:20 2016 +0100 Update of Greek translation NEWS | 2 +- po/el.po | 539 +++++++++++++++++++++++++++++++-------------------------------- 2 files changed, 270 insertions(+), 271 deletions(-) commit 16760235bd333fd7c83c7be59a742f07c5263d2f Author: Frank Lanitz Date: Mon Nov 7 17:32:14 2016 +0100 NEWS: Update updates translations NEWS | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) commit 0890d74b0e6f0c92792211e692f760c451ccc3c5 Author: Frank Lanitz Date: Mon Nov 7 17:26:20 2016 +0100 Update of Spanish translation po/es.po | 435 +++++++++++++++++++++++++++++++-------------------------------- 1 file changed, 217 insertions(+), 218 deletions(-) commit 5753b3c15da8ecd2031b4cfdeabfeaa3339854fb Author: Peter C. S. Scholtens Date: Mon Nov 7 17:17:10 2016 +0100 Update of Dutch transation. (#1289) * Update of Dutch transation. * Update nl.po po/nl.po | 38 +++++++++++++++++++------------------- 1 file changed, 19 insertions(+), 19 deletions(-) commit 42a9098959c2b05f33bb8caef9d40e3ed58c4b3a Author: 柳东原 LIU Dongyuan Date: Tue Nov 8 00:15:06 2016 +0800 Update zh_CN translation (#1292) po/zh_CN.po | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) commit 513659372463af2cd24319f39dec4836572746c3 Author: Andrej Herceg Date: Sat Nov 5 23:50:50 2016 +0100 Update of Slovak translation (#1291) po/sk.po | 27 +++++++-------------------- 1 file changed, 7 insertions(+), 20 deletions(-) commit e1450f5dea6b7f19d7a523cb08d500ae1b965f1b Author: Abel Serrano Juste Date: Thu Nov 3 08:15:46 2016 +0100 Updated spanish translation es.po (#1288) po/es.po | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) commit b9c8abb4b80a6cc7a5067f4b9bbb11878b6abbc1 Author: Colomban Wendling Date: Tue Nov 1 11:23:11 2016 +0100 Small NEWS updates NEWS | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) commit 743e30ddea398915449f86ff547a684d7f7d56fc Merge: 96b11092 b0cb8440 Author: Colomban Wendling Date: Tue Nov 1 11:10:25 2016 +0100 Merge pull request #1181 from b4n/vte-2.91 Support for VTE 2.91 commit 96b11092f74588b0f0fac50cb774e701784d13b9 Author: Giuseppe Date: Tue Nov 1 07:45:51 2016 +0000 updated it.po (#1285) po/it.po | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) commit ac5c261c0b7f0220e292f49f7a9ad1805bb1e5d0 Author: Baurzhan Muftakhidinov Date: Mon Oct 31 14:00:43 2016 +0500 Update Kazakh translation. (#1284) po/kk.po | 34 +++++++++++++++------------------- 1 file changed, 15 insertions(+), 19 deletions(-) commit 3d6524ea90e6186369b4710f0dce76a3cec27e7f Author: Bervianto Leo Pratama Date: Mon Oct 31 15:58:18 2016 +0700 Update Indonesian Translation (#1283) "kata" should not in there. po/id.po | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 689f32e861da87793f9c36f78139f05a62ed575d Author: Frank Lanitz Date: Sun Oct 30 18:13:03 2016 +0100 Update of Portuguese translation NEWS | 2 +- po/pt.po | 21 +++++++++++---------- 2 files changed, 12 insertions(+), 11 deletions(-) commit 869457377e19549b82265fe3aa07ff4f9dd0ad4e Author: Frank Lanitz Date: Sun Oct 30 12:59:58 2016 +0100 Added es as updated translation NEWS | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 02cd961edd569962f4e90bfcd70595e963c2cf3e Author: FabianInostroza Date: Sun Oct 30 08:59:13 2016 -0300 Better translation. (#1242) po/es.po | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 6db87912c6cf064f82a8eb1f2c48276a59d5abd0 Author: Frank Lanitz Date: Sun Oct 30 12:56:18 2016 +0100 Add update trnaslations NEWS | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 805fee50ea534b73eb33c5f10cfc3ebbaa41e5b5 Author: Frank Lanitz Date: Sun Oct 30 12:55:02 2016 +0100 Fix some typos in Catalan translation. This is based upon PR #1273 but ported manually. po/ca.po | 25 ++++++++++++------------- 1 file changed, 12 insertions(+), 13 deletions(-) commit 41102a6c2e141cb3e00c2490e9f65b4e1ba674a6 Author: Frank Lanitz Date: Sun Oct 30 12:47:31 2016 +0100 i18n: Indonesian seems to only have one plural form po/id.po | 7 ------- 1 file changed, 7 deletions(-) commit 93ab56fd7876931953305690905bff0e99dd6c2c Author: Frank Lanitz Date: Sun Oct 30 12:45:25 2016 +0100 i18n: Adding plural form definition for Indonesian po/id.po | 1 + 1 file changed, 1 insertion(+) commit 879249b638fbdaeff19e8646b9e07e054a821d36 Merge: af79e6bb 9bb459d5 Author: Frank Lanitz Date: Sun Oct 30 12:43:09 2016 +0100 Update Indonesian translation commit 9bb459d53e9a88f3154439e736f2328bc3ebe41e Author: Bervianto Leo Pratama Date: Sun Oct 30 16:33:11 2016 +0700 Update id.po po/id.po | 12 ------------ 1 file changed, 12 deletions(-) commit fb081f77320cb4a375e3399d8afb10e932f2bd11 Author: bervianto <13514047@std.stei.itb.ac.id> Date: Sun Oct 30 23:08:14 2016 +0700 update id.po po/id.po | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) commit 4695f6f2aa8f72e7d16c596922eb9477fc2f021f Merge: ee16fdca 5b588f67 Author: bervianto <13514047@std.stei.itb.ac.id> Date: Sun Oct 30 23:05:20 2016 +0700 rebase commit 5b588f67b595209bdf2de4a1434a47796f47c78a Author: bervianto <13514047@std.stei.itb.ac.id> Date: Sun Oct 30 23:02:23 2016 +0700 Update id.po po/id.po | 74 +++++++++++++++++++++++++++++++--------------------------------- 1 file changed, 36 insertions(+), 38 deletions(-) commit 38d2fb9df1be93eebfe0c94197293bf20afb1b60 Author: Bervianto Leo Pratama Date: Sat Oct 29 02:42:57 2016 +0700 Improvement Indonesian Translation Change with kata baku in Indonesia po/id.po | 50 +++++++++++++++++++++++++------------------------- 1 file changed, 25 insertions(+), 25 deletions(-) commit 361642b7b5c3af1dc1b27b8291b3d57472b31aeb Author: Bervianto Leo Pratama Date: Sat Oct 29 02:02:45 2016 +0700 Update id.po po/id.po | 91 ++++++++++++++++++++++++++++++++-------------------------------- 1 file changed, 45 insertions(+), 46 deletions(-) commit 5056a855b3cd52def1144feaff036330b5a46091 Author: Bervianto Leo Pratama Date: Fri Oct 28 12:12:52 2016 +0700 Update id.po po/id.po | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) commit ee16fdca50a8a989855b41b669f241f4b3a52f21 Author: Bervianto Leo Pratama Date: Sat Oct 29 03:27:34 2016 +0700 Update id.po po/id.po | 6661 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 6659 insertions(+), 2 deletions(-) commit af79e6bb5d7608065fcf68294f9ea1402b246a47 Author: Frank Lanitz Date: Sat Oct 29 20:38:27 2016 +0200 Update po files in preperation of 1.29 cycle po/ar.po | 1268 +++++++++++++++++---------------- po/ast.po | 1269 +++++++++++++++++---------------- po/be.po | 1269 +++++++++++++++++---------------- po/bg.po | 1269 +++++++++++++++++---------------- po/ca.po | 2272 ++++++++++++++++++++++++++++++++--------------------------- po/cs.po | 1269 +++++++++++++++++---------------- po/de.po | 64 +- po/el.po | 1278 ++++++++++++++++----------------- po/en_GB.po | 1269 +++++++++++++++++---------------- po/es.po | 1285 ++++++++++++++++----------------- po/et.po | 1269 +++++++++++++++++---------------- po/eu.po | 1269 +++++++++++++++++---------------- po/fa.po | 1269 +++++++++++++++++---------------- po/fi.po | 1269 +++++++++++++++++---------------- po/fr.po | 54 +- po/gl.po | 1269 +++++++++++++++++---------------- po/he.po | 1269 +++++++++++++++++---------------- po/hi.po | 1267 +++++++++++++++++---------------- po/hu.po | 1278 ++++++++++++++++----------------- po/id.po | 1278 ++++++++++++++++----------------- po/it.po | 1278 ++++++++++++++++----------------- po/ja.po | 1289 ++++++++++++++++----------------- po/kk.po | 1269 +++++++++++++++++---------------- po/ko.po | 1269 +++++++++++++++++---------------- po/lb.po | 1269 +++++++++++++++++---------------- po/lt.po | 1269 +++++++++++++++++---------------- po/mn.po | 1267 +++++++++++++++++---------------- po/nl.po | 1278 ++++++++++++++++----------------- po/nn.po | 1267 +++++++++++++++++---------------- po/pl.po | 1269 +++++++++++++++++---------------- po/pt.po | 1278 ++++++++++++++++----------------- po/pt_BR.po | 1269 +++++++++++++++++---------------- po/ro.po | 1269 +++++++++++++++++---------------- po/ru.po | 1278 ++++++++++++++++----------------- po/sk.po | 1276 ++++++++++++++++----------------- po/sl.po | 1269 +++++++++++++++++---------------- po/sr.po | 1269 +++++++++++++++++---------------- po/sv.po | 1278 ++++++++++++++++----------------- po/tr.po | 1279 ++++++++++++++++----------------- po/uk.po | 1268 +++++++++++++++++---------------- po/vi.po | 1269 +++++++++++++++++---------------- po/zh_CN.po | 1276 ++++++++++++++++----------------- po/zh_TW.po | 1269 +++++++++++++++++---------------- 43 files changed, 27099 insertions(+), 26175 deletions(-) commit 638b999e8eeea79c50ee37530a73d5b49ae82c03 Author: Colomban Wendling Date: Sat Oct 29 17:11:55 2016 +0200 Update NEWS for recent items NEWS | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) commit b7839a6e421431c8fa83204db351ccee3411cce1 Author: Matthew Brush Date: Sat Sep 10 18:28:15 2016 -0700 Add "project-before-close" signal to API Closes #1223. doc/pluginsignals.c | 9 +++++++++ src/geanyobject.c | 6 ++++++ src/geanyobject.h | 1 + src/plugindata.h | 2 +- src/project.c | 2 ++ 5 files changed, 19 insertions(+), 1 deletion(-) commit b0cb8440b15b08368d28ae643ad9ed051969969e Author: Colomban Wendling Date: Mon Aug 22 15:03:46 2016 +0200 VTE: Respect GTK setting for whether to show the IM method menu src/vte.c | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) commit 6cdb1842be9e3a5ff8fe994c44ed212b26575e7b Author: Colomban Wendling Date: Fri Aug 19 01:49:12 2016 +0200 VTE: Remove support for background image It's a more than questionable feature that was dropped in VTE 2.91, so remove it altogether instead of conditionally supporting it. data/geany.glade | 76 ++++++++------------------------------------------------ src/keyfile.c | 2 -- src/prefs.c | 7 ------ src/vte.c | 10 -------- src/vte.h | 1 - 5 files changed, 10 insertions(+), 86 deletions(-) commit 16e90968c7d01d7435b2f21f8ea7fc89c6d7f46a Author: Colomban Wendling Date: Fri Aug 19 01:48:09 2016 +0200 VTE: add VTE 2.91 DSO names src/vte.c | 1 + 1 file changed, 1 insertion(+) commit f4b4f2b540452e34e1cdaf1b256b1a9d35ae712e Author: Colomban Wendling Date: Fri Aug 19 00:23:34 2016 +0200 VTE: Don't hard-require vte_terminal_im_append_menuitems() VTE 2.91 dropped it, and it seems that recent GTK3 doesn't have IM context menu entries in input field's popups anymore anyway. src/vte.c | 28 +++++++++++++++++----------- 1 file changed, 17 insertions(+), 11 deletions(-) commit 65710c526a5c605705cbaf8c333ea86d898f5845 Author: Colomban Wendling Date: Fri Aug 19 00:20:31 2016 +0200 VTE: Add support for 2.91 GdkRGBA API variant The 2.91 API switched from GdkColor to GdkRGBA, but kept the same function names, so we need to detect this version and wrap the affected API to convert our GdkColors to GdkRGBAs. src/vte.c | 88 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 81 insertions(+), 7 deletions(-) commit 65e2c7cb05916debb919b6f6d1b60e7e711e0b1d Author: Colomban Wendling Date: Fri Aug 19 00:12:39 2016 +0200 VTE: don't hard-require vte_terminal_set_word_chars() VTE 0.38 removed it, so only use it when available. With >= 0.40, use vte_terminal_set_word_char_exceptions() instead. src/vte.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) commit 5c757d9ec2f088709a6b743660168af52f301017 Author: Colomban Wendling Date: Thu Sep 25 16:52:05 2014 +0200 VTE: add debugging info to known which library was actually loaded src/vte.c | 1 + 1 file changed, 1 insertion(+) commit 079fe58ce9e75be3be2dbf8bae5be01024d937be Author: Colomban Wendling Date: Thu Sep 25 16:50:46 2014 +0200 VTE: add support for vte_terminal_spawn_sync() VTE 0.38 removed vte_terminal_fork_command() in favor of the new vte_terminal_spawn_sync(), so add support for this. src/vte.c | 32 ++++++++++++++++++++++++++++---- 1 file changed, 28 insertions(+), 4 deletions(-) commit f789aa138d1f43532998bfc61c642f9abd64ff0f Author: Colomban Wendling Date: Thu Sep 25 16:18:32 2014 +0200 VTE: drop support for selecting the emulated terminal VTE 0.38 dropped the capability to emulate various terminals to only support xterm. This shouldn't be so much of a problem for us, as our setting to select the emulated terminal is hidden since 2008 and defaults to xterm since forever, and xterm is highly compatible. doc/geany.txt | 3 --- src/keyfile.c | 3 --- src/vte.c | 4 ---- src/vte.h | 1 - 4 files changed, 11 deletions(-) commit 20cb94255bd132c7ff1370cd3fd62b6cfd15e1c6 Author: Colomban Wendling Date: Thu Sep 25 16:07:00 2014 +0200 VTE: stop using vte_terminal_set_font_from_string() vte_terminal_set_font_from_string() has been removed in 0.38, so use vte_terminal_set_font() instead. src/vte.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) commit d27831fa30998c4404676777469ccac518d17719 Author: Colomban Wendling Date: Thu Sep 25 14:47:37 2014 +0200 VTE: use proper accessor for the vertical adjustment Use vte_terminal_get_adjustment() to get the adjustment, and provide an appropriate default implementation for use if it isn't available (on VTE < 0.9 or > 0.36). src/vte.c | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) commit 931df75faa4a48ea248e157e18360b06481c4d05 Merge: ae114e26 85a2f4bc Author: Colomban Wendling Date: Sat Oct 29 15:35:21 2016 +0200 Merge pull request #1233 from b4n/proxy/dotted-extension-warning-only Do not strip dots from proxy plugin extensions commit 85a2f4bc6fbb9f3f5f4de26b676ae0120554b707 Author: Colomban Wendling Date: Fri Sep 16 11:48:31 2016 +0200 Do not strip dots from proxy plugin extensions Only warn when an extension starts with a dot, because it's unlikely to be what the author wanted, but leave the dot there. This forces the author to fix the extension instead of ignoring the warning. Also, include the proxy plugin name in the warning message. Follow-up to #1212. src/plugins.c | 20 +++++++------------- 1 file changed, 7 insertions(+), 13 deletions(-) commit ae114e263c058f44738484c6da7ba1207beb0451 Merge: 6f54690b bee3806d Author: Colomban Wendling Date: Sat Oct 29 15:15:43 2016 +0200 Merge pull request #1185 from b4n/error-indic-color Allow to configure the error indicator color commit 054576e972ccb3dce8cd63a954589241deb68633 Author: Bervianto Leo Pratama Date: Sat Oct 29 03:02:56 2016 +0700 Update id.po po/id.po | 6660 +------------------------------------------------------------- 1 file changed, 2 insertions(+), 6658 deletions(-) commit 7b875dc96f3b92bcbeed5add6c3d66ec0f9128ea Author: Bervianto Leo Pratama Date: Sat Oct 29 03:01:37 2016 +0700 Update id.po po/id.po | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit bc9facd815c14f34bfc63f3c7300dda0bb5e7ce5 Author: Bervianto Leo Pratama Date: Sat Oct 29 02:42:57 2016 +0700 Improvement Indonesian Translation Change with kata baku in Indonesia po/id.po | 50 +++++++++++++++++++++++++------------------------- 1 file changed, 25 insertions(+), 25 deletions(-) commit 124dd24ad71937ba8dfa101f10594fc68fda865a Author: Bervianto Leo Pratama Date: Sat Oct 29 02:02:45 2016 +0700 Update id.po po/id.po | 91 ++++++++++++++++++++++++++++++++-------------------------------- 1 file changed, 45 insertions(+), 46 deletions(-) commit c4307ce11de3e79d6a25bd4b5342525934d48659 Author: Bervianto Leo Pratama Date: Fri Oct 28 12:12:52 2016 +0700 Update id.po po/id.po | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) commit 6f54690b0b94e8750dd769d3f0c90c7f7732b1a2 Author: Colomban Wendling Date: Thu Oct 27 10:30:55 2016 +0200 Small update of the French translation po/fr.po | 1255 ++++++++++++++++++++++++++++++++------------------------------ 1 file changed, 638 insertions(+), 617 deletions(-) commit 460f8dec00df5e3cf1d4f1185f4ebf9d018e9048 Author: Frank Lanitz Date: Mon Oct 24 20:18:17 2016 +0200 Update of German translation po/de.po | 1236 ++++++++++++++++++++++++++++++++------------------------------ 1 file changed, 629 insertions(+), 607 deletions(-) commit bee3806d47aed09f495bb74dbd6b48032a70f166 Author: Colomban Wendling Date: Sun Aug 21 14:20:21 2016 +0200 Allow to configure the error indicator color Related to #1116. data/filedefs/filetypes.common | 3 +++ doc/geany.txt | 7 +++++++ src/highlighting.c | 5 ++++- 3 files changed, 14 insertions(+), 1 deletion(-) commit dba7c763eddee4575d06b0b732920e61c05f0b3a Merge: 6834c5a8 9fa27cb1 Author: Colomban Wendling Date: Mon Oct 24 11:31:24 2016 +0200 Merge pull request #1272 from b4n/splitwindow/show-menu-gtk316 splitwindow: Fix document selection popup on GTK >= 3.15.9 && <= 3.21.4 commit 6834c5a830a3e446a89560fb04a207f099acf5de Author: Colomban Wendling Date: Sun Oct 23 10:41:27 2016 +0200 GTK: Don't forward calls to NULL scrollbars Once Dispose() has been called, scrollbars will be NULL, so we need to check against this in code that might run after Dispose(). Fixes scary warnings on certain widget destruction scenarios. Closes #993. X-Scintilla-Bug-URL: https://sourceforge.net/p/scintilla/bugs/1873/ X-Scintilla-Commit-ID: 4e67e6ee45732a048907ef1577cf1efc25729313 scintilla/gtk/ScintillaGTK.cxx | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) commit 605bfa833949bb29178cb4e1ec639ec9c011f38c Author: Colomban Wendling Date: Sun Oct 23 16:27:32 2016 +0200 Update NEWS preparing for next release NEWS | 32 +++++++++++++++++++++++++++++++- 1 file changed, 31 insertions(+), 1 deletion(-) commit 9fa27cb16ba6f82489fa91514052854774f000f6 Author: Colomban Wendling Date: Sat Oct 22 15:09:50 2016 +0200 splitwindow: Fix document selection popup on GTK >= 3.15.9 && <= 3.21.4 Works around GTK bug https://bugzilla.gnome.org/show_bug.cgi?id=769287. Stop emission of the ::show-menu signal if it was first emitted from an inactive toggle button, which happens only in the buggy case. This workaround tries to not negatively affect a correctly behaving GTK version in the unlikely case some distributions patched their version. Fixes #1149. plugins/splitwindow.c | 37 +++++++++++++++++++++++++++++++++++-- 1 file changed, 35 insertions(+), 2 deletions(-) commit 21845805c696ecb95f7f970f55e472b9b62422c8 Merge: f5c4b1b6 dd4c851c Author: Colomban Wendling Date: Fri Oct 21 14:47:26 2016 +0200 Merge pull request #1200 from b4n/terminal-focus Fix focusing the Terminal tab in the message window commit f5c4b1b6e52f556d1abbd17d2c707b1e6223d70d Author: Colomban Wendling Date: Sun Oct 16 22:37:40 2016 +0200 Update Scintilla to version 3.7.0 scintilla/include/SciLexer.h | 59 ++--- scintilla/include/Scintilla.h | 10 + scintilla/include/Scintilla.iface | 332 ++++++++++++++----------- scintilla/lexers/LexCoffeeScript.cxx | 72 +++++- scintilla/lexers/LexPowerShell.cxx | 2 + scintilla/lexers/LexYAML.cxx | 24 +- scintilla/lexlib/CharacterSet.cxx | 8 +- scintilla/lexlib/CharacterSet.h | 9 +- scintilla/lexlib/StyleContext.cxx | 17 ++ scintilla/lexlib/StyleContext.h | 23 +- scintilla/lexlib/WordList.cxx | 60 +++++ scintilla/lexlib/WordList.h | 1 + scintilla/src/Document.cxx | 462 ++++++++++++++++++++++++++--------- scintilla/src/Document.h | 36 +-- scintilla/src/EditView.cxx | 62 +++-- scintilla/src/Editor.cxx | 75 ++++-- scintilla/src/Editor.h | 2 + scintilla/src/MarginView.cxx | 5 +- scintilla/src/SplitVector.h | 22 +- scintilla/src/ViewStyle.cxx | 16 +- scintilla/src/ViewStyle.h | 20 +- scintilla/version.txt | 2 +- 22 files changed, 920 insertions(+), 399 deletions(-) commit 87111f268f13f56dc9cb57ee450fb956d25e9a82 Author: Colomban Wendling Date: Sun Oct 9 12:58:44 2016 +0200 Ferite: Fix a memory leak ctags/parsers/c.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) commit 7ae1d031efe8dd1b967c89ee404ab6fb2172ec4c Merge: 12b9f27a 40396a39 Author: Colomban Wendling Date: Tue Oct 4 18:10:24 2016 +0200 Merge pull request #1251 from techee/bool CTags: boolean to C99 bool conversion and vStringTerminate() removal commit 40396a392e5239ed79aad79ad1b1f1239670cbe7 Author: Jiří Techet Date: Sun Oct 2 00:35:50 2016 +0200 ctags: drop vStringTerminate() It's call is unnecesssary. Corresponds to universal-ctags commit cfc45e3bd9000e8ce193399c7e0ecf2bbeb57977. HACKING | 1 - ctags/main/args.c | 2 -- ctags/main/lcpp.c | 1 - ctags/main/lregex.c | 1 - ctags/main/options.c | 1 - ctags/main/parse.c | 1 - ctags/main/read.c | 1 - ctags/main/routines.c | 3 --- ctags/main/vstring.c | 3 +-- ctags/main/vstring.h | 1 - ctags/parsers/abaqus.c | 1 - ctags/parsers/abc.c | 3 --- ctags/parsers/asciidoc.c | 2 -- ctags/parsers/asm.c | 4 ---- ctags/parsers/basic.c | 3 --- ctags/parsers/c.c | 5 ----- ctags/parsers/conf.c | 3 --- ctags/parsers/css.c | 2 -- ctags/parsers/diff.c | 1 - ctags/parsers/docbook.c | 1 - ctags/parsers/erlang.c | 1 - ctags/parsers/fortran.c | 11 ----------- ctags/parsers/go.c | 2 -- ctags/parsers/haskell.c | 1 - ctags/parsers/haxe.c | 6 ------ ctags/parsers/jscript.c | 8 -------- ctags/parsers/json.c | 3 --- ctags/parsers/latex.c | 3 --- ctags/parsers/lua.c | 1 - ctags/parsers/make.c | 2 -- ctags/parsers/markdown.c | 2 -- ctags/parsers/matlab.c | 2 -- ctags/parsers/nsis.c | 3 --- ctags/parsers/objc.c | 4 ---- ctags/parsers/perl.c | 1 - ctags/parsers/php.c | 9 --------- ctags/parsers/powershell.c | 6 ------ ctags/parsers/python.c | 4 ---- ctags/parsers/r.c | 2 -- ctags/parsers/rest.c | 1 - ctags/parsers/ruby.c | 2 -- ctags/parsers/sh.c | 1 - ctags/parsers/sql.c | 4 ---- ctags/parsers/tcl.c | 1 - ctags/parsers/txt2tags.c | 1 - ctags/parsers/verilog.c | 1 - ctags/parsers/vhdl.c | 1 - 47 files changed, 1 insertion(+), 122 deletions(-) commit 662765852fb2f5ca72de8087646ab8bd6d82c889 Author: Jiří Techet Date: Sun Oct 2 00:06:58 2016 +0200 ctags: Use bool definitions from stdbool.h Since Geany requires C99 parser, the patch just simply includes stdbool.h in general.h and drops the TRUE, FALSE definitions inside the same file. The rest is purely mechanical boolean -> bool TRUE -> true FALSE -> false plus some alignment fixes. This patch corresponds to universal-ctags commit ce990805a0a0269c. ctags/main/args.c | 10 +- ctags/main/args.h | 4 +- ctags/main/entry.c | 14 +- ctags/main/entry.h | 10 +- ctags/main/general.h | 12 +- ctags/main/keyword.c | 8 +- ctags/main/kind.h | 2 +- ctags/main/lcpp.c | 146 +++++++-------- ctags/main/lcpp.h | 6 +- ctags/main/lregex.c | 50 ++--- ctags/main/main.c | 7 +- ctags/main/main.h | 2 +- ctags/main/mio.c | 44 ++--- ctags/main/mio.h | 4 +- ctags/main/options.c | 88 ++++----- ctags/main/options.h | 68 +++---- ctags/main/parse.c | 100 +++++----- ctags/main/parse.h | 30 +-- ctags/main/read.c | 64 +++---- ctags/main/read.h | 16 +- ctags/main/routines.c | 66 +++---- ctags/main/routines.h | 10 +- ctags/main/sort.c | 6 +- ctags/main/sort.h | 4 +- ctags/main/strlist.c | 44 ++--- ctags/main/strlist.h | 12 +- ctags/main/vstring.c | 4 +- ctags/main/vstring.h | 2 +- ctags/main/xtag.c | 30 +-- ctags/main/xtag.h | 8 +- ctags/parsers/abaqus.c | 10 +- ctags/parsers/abc.c | 20 +- ctags/parsers/asciidoc.c | 10 +- ctags/parsers/asm.c | 52 ++--- ctags/parsers/basic.c | 12 +- ctags/parsers/c.c | 458 ++++++++++++++++++++++----------------------- ctags/parsers/conf.c | 14 +- ctags/parsers/css.c | 16 +- ctags/parsers/diff.c | 6 +- ctags/parsers/docbook.c | 16 +- ctags/parsers/erlang.c | 18 +- ctags/parsers/fortran.c | 204 ++++++++++---------- ctags/parsers/go.c | 70 +++---- ctags/parsers/haskell.c | 8 +- ctags/parsers/haxe.c | 16 +- ctags/parsers/jscript.c | 178 +++++++++--------- ctags/parsers/json.c | 28 +-- ctags/parsers/latex.c | 18 +- ctags/parsers/lua.c | 12 +- ctags/parsers/make.c | 42 ++--- ctags/parsers/markdown.c | 14 +- ctags/parsers/matlab.c | 8 +- ctags/parsers/nsis.c | 10 +- ctags/parsers/objc.c | 78 ++++---- ctags/parsers/pascal.c | 74 ++++---- ctags/parsers/perl.c | 78 ++++---- ctags/parsers/php.c | 112 +++++------ ctags/parsers/powershell.c | 40 ++-- ctags/parsers/python.c | 68 +++---- ctags/parsers/r.c | 6 +- ctags/parsers/rest.c | 14 +- ctags/parsers/ruby.c | 66 +++---- ctags/parsers/rust.c | 142 +++++++------- ctags/parsers/sh.c | 14 +- ctags/parsers/sql.c | 166 ++++++++-------- ctags/parsers/tcl.c | 12 +- ctags/parsers/txt2tags.c | 20 +- ctags/parsers/verilog.c | 38 ++-- ctags/parsers/vhdl.c | 44 ++--- 69 files changed, 1537 insertions(+), 1546 deletions(-) commit 12b9f27a795f7ec8c1faf6c225314a09b6c5f7af Author: Colomban Wendling Date: Thu Sep 22 15:43:04 2016 +0200 Fix double escaping of markup in bold labels (oops) 2499b96ea1d1eb523733c95e7ec73af827b6032e fixed missing escaping of markup text, but failed to remove explicit escaping from ui_label_new_bold(), leading to dual escaping of bold labels. src/ui_utils.c | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) commit d8ee2ccf8e4a477dd663c7966ed28c137cb00aa1 Author: Landrok Date: Mon Sep 19 09:33:47 2016 +0200 Fix some typos in French translation (#1227) po/fr.po | 52 ++++++++++++++++++++++++++-------------------------- 1 file changed, 26 insertions(+), 26 deletions(-) commit 2a2ae728341d12b7cea29b671beb08e441f62d95 Merge: 6bc43f74 3f140861 Author: Enrico Tröger Date: Sun Sep 11 11:12:18 2016 +0200 Merge pull request #1166 from eht16/fix_template_error_message Improve template command error message commit 6bc43f745e27a45a7fd1b981ca452e8b97929c0e Merge: cc18dd0e 7b2b9609 Author: Matthew Brush Date: Sat Sep 10 19:40:38 2016 -0700 Merge pull request #1203 from codebrainz/document-data Document data commit cc18dd0e60938141bc702ed3da3218e1144de2a4 Author: Matthew Brush Date: Sat Sep 10 19:24:16 2016 -0700 Gracefully handle proxies registering invalid extensions (#1212) It is very hard to debug if the proxy plugin happens to give extensions starting with a dot. If they do, detect this case, warn in the debug messages, and fix the extension. It seems unlikely that files with two dot extensions will be desired, so it should case no harm. src/plugins.c | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) commit 7d172ceeb3b024c6d206758a0b80631c0b935590 Author: Matthew Brush Date: Sat Sep 10 19:18:10 2016 -0700 Improve GeanyProxyProbeResults a litte (#1213) * Add GEANY_ prefix to enumerators. * Use a discrete set of enumerators so the proxy doesn't have to worry about flag bitmasks, which isn't required. * Update documentation. * Use the new enumerators in Geany. * Improve debug output for bogus values a bit. doc/plugins.dox | 13 ++++++------- plugins/demoproxy.c | 2 +- src/plugindata.h | 39 ++++++++++++++++++++++++++------------- src/plugins.c | 13 ++++++++----- 4 files changed, 41 insertions(+), 26 deletions(-) commit afaec63ffb0fb7e52e2a7d97e9c8fba33faaff1e Merge: 13ef73d1 63c054a6 Author: Colomban Wendling Date: Sat Sep 10 09:24:15 2016 +0200 Merge pull request #1160 from techee/ctags_sync Ctags sync, part 1 commit 13ef73d109ad6fba3189b2f69c3c88b3f30e9772 Author: Simon Marchi Date: Mon Mar 28 14:20:26 2016 -0400 Recognize .exp (Expect) files as Tcl Expect [1] scripts filenames generally end in .exp, although the code itself is actually in Tcl. I find my self manually selecting Tcl quite often, so I think it would be nice if Geany would recognize it direcly as Tcl. [1] http://expect.sourceforge.net/ Signed-off-by: Simon Marchi data/filetype_extensions.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 63c054a61ec0294f0a473be3c44e3b2cfc2aed45 Author: Jiří Techet Date: Fri Sep 9 18:00:41 2016 +0200 #if 0 currently unused code to avoid compiler warning ctags/main/main.c | 4 ++++ 1 file changed, 4 insertions(+) commit f511787f31905e74baa4a91f12d2607b1105b2a2 Author: Jiří Techet Date: Fri Sep 9 17:46:13 2016 +0200 Add missing prototypes ctags/main/parse.h | 1 + ctags/main/read.h | 3 +++ 2 files changed, 4 insertions(+) commit 1e14667bbce230964384b8756bf752c039bd2c75 Author: Jiří Techet Date: Fri Sep 9 17:18:17 2016 +0200 Don't compare foreign values to enumeration type Clang warns when comparing an enumeration type with a value not found in this enumeration: warning: comparison of constant VALUE with expression of type 'TYPE' is always false [-Wtautological-constant-out-of-range-compare] If the compiler then decides to optimize the test away because it assumes the it is indeed always false, it can lead to pretty subtle and nasty issues. Ported universal-ctags patch from Colomban Wendling ctags/parsers/c.c | 5 +++-- ctags/parsers/fortran.c | 5 +++-- ctags/parsers/go.c | 5 +++-- ctags/parsers/jscript.c | 5 +++-- ctags/parsers/php.c | 5 +++-- ctags/parsers/sql.c | 5 +++-- 6 files changed, 18 insertions(+), 12 deletions(-) commit a5a888c5e3c4be965907e1fa6671e3510815658d Merge: db6f6711 c9d0bd72 Author: Colomban Wendling Date: Wed Sep 7 11:09:52 2016 +0200 Merge pull request #1217 from b4n/filetypes/c-lexer-properties Inherit C lexer_properties in all filetypes inheriting C styles commit db6f671135511bd107d18d512270503047eb19ac Author: Colomban Wendling Date: Tue Sep 6 19:56:17 2016 +0200 GTK: Fix autoc font size on GTK >= 3.21.0 GTK 3.21.0 fixed font size handling, leading to properly interpreting pixels and points in CSS declarations. However, as older versions incorrectly handled those, the code has to handle both behaviours. From CSS, GTK < 3.21.0 actually applied the conversion to points, but incorrectly: 10px was used as 10pt, but 10pt was scaled up twice. So, assuming 96 DPI, it leads to: font-size | 3.20.0 | 3.21.0 | ----------|---------|---------| 10px | 13.33px | 10px | 10pt | 17.77px | 13.33px | So, we need to fix the code to accommodate for both (either scaling ourselves, or adapting the unit: I chose the second, simpler, option). See https://git.gnome.org/browse/gtk+/commit/?id=df08fc91bdc1d2e4c866122304fabe4dd298a7de X-Scintilla-Bug-URL: https://sourceforge.net/p/scintilla/bugs/1859/ X-Scintilla-Commit-ID: a4b5da8b3a0a05a1e67ba7eb08474106d421b088 scintilla/gtk/PlatGTK.cxx | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) commit 3f140861061ad0367f004a06caf391f1b9f94507 Author: Enrico Tröger Date: Sun Aug 7 16:37:28 2016 +0200 Improve template command error message The previous string was a bit confusing what the placeholders could mean. There was an error in the German translation where the second placeholder was interpreted as template name instead of the error message. This change should make it more clear and also put the error message to the end of the string. src/templates.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) commit c9d0bd7214b01a436ad9af99351a17accaf1eb92 Author: Colomban Wendling Date: Tue Sep 6 12:18:48 2016 +0200 Inherit C lexer_properties in all filetypes inheriting C styles `lexer.cpp.track.preprocessor` lexer properties affects which styles are used, and we don't set those, so no filetype inheriting C styles should set it to 1. Similarly, some properties like `styling.within.preprocessor` are mostly general settings rather than selecting syntax details, so they should probably match in all filetypes for consistency. So, inherit the C lexer_properties everywhere C styles are used, and only override specific properties in the inheriting filetype. data/filedefs/filetypes.CUDA.conf | 4 +--- data/filedefs/filetypes.Genie.conf | 2 +- data/filedefs/filetypes.Graphviz.conf | 4 ++-- data/filedefs/filetypes.JSON.conf | 2 ++ data/filedefs/filetypes.Scala.conf | 2 +- data/filedefs/filetypes.actionscript | 2 ++ data/filedefs/filetypes.cpp | 4 +--- data/filedefs/filetypes.cs | 4 +--- data/filedefs/filetypes.ferite | 2 ++ data/filedefs/filetypes.glsl | 4 +--- data/filedefs/filetypes.go | 3 +-- data/filedefs/filetypes.haxe | 2 +- data/filedefs/filetypes.java | 1 + data/filedefs/filetypes.javascript | 2 ++ data/filedefs/filetypes.vala | 4 +--- 15 files changed, 20 insertions(+), 22 deletions(-) commit bbdf56fc2e2c978de6a61c3be56dfeb5bc6963ef Author: Colomban Wendling Date: Tue Sep 6 11:31:57 2016 +0200 Haxe: Do not track preprocessor for styling We don't set the styles for inactive preprocessor sections, so we should make sure they aren't used. Also, Haxe has different preprocessor directives than C does, which confuses LexCPP tracking anyway. Fixes #936. data/filedefs/filetypes.haxe | 4 ++++ 1 file changed, 4 insertions(+) commit 09796ef727aa430588ee12fa6c83223acd1794a2 Author: Colomban Wendling Date: Tue Sep 6 11:08:52 2016 +0200 Remove SciTE properties from filetype definitions Those are SciTE-specific things that Scintilla itself never used, and that were simply erroneously imported into Geany. data/filedefs/filetypes.CUDA.conf | 4 ---- data/filedefs/filetypes.Graphviz.conf | 1 - data/filedefs/filetypes.c | 4 ---- data/filedefs/filetypes.cpp | 4 ---- data/filedefs/filetypes.cs | 4 ---- data/filedefs/filetypes.glsl | 4 ---- data/filedefs/filetypes.vala | 4 ---- 7 files changed, 25 deletions(-) commit 18db459632b62aa95bc3699a9e38c914d1220e79 Author: Colomban Wendling Date: Mon Sep 5 22:14:48 2016 +0200 Update Scintilla to version 3.6.7 Fixes #1143. scintilla/gtk/ScintillaGTK.cxx | 2 +- scintilla/include/Scintilla.h | 1 + scintilla/include/Scintilla.iface | 1 + scintilla/lexers/LexAbaqus.cxx | 14 ++++++------ scintilla/lexers/LexCPP.cxx | 17 +++++++++++--- scintilla/lexers/LexHTML.cxx | 13 ++++++++++- scintilla/src/CharClassify.cxx | 2 +- scintilla/src/CharClassify.h | 2 +- scintilla/src/Document.cxx | 2 +- scintilla/src/Document.h | 2 +- scintilla/src/Editor.cxx | 47 +++++++++++++++++++++++++-------------- scintilla/src/Editor.h | 3 ++- scintilla/src/ScintillaBase.cxx | 2 +- scintilla/src/XPM.cxx | 4 ++-- scintilla/version.txt | 2 +- 15 files changed, 76 insertions(+), 38 deletions(-) commit b7688b04b26deee0a23a965e11574489605fb1cf Author: Frank Lanitz Date: Mon Sep 5 11:13:26 2016 +0200 Update of Swedish translation NEWS | 2 +- po/sv.po | 148 ++++++++++++++++++++++++++++----------------------------------- 2 files changed, 67 insertions(+), 83 deletions(-) commit d51daca2840fadf633d014e5a321368fe177d29f Author: Frank Lanitz Date: Sun Sep 4 17:36:50 2016 +0200 Little update of NEWS for recent translation updates NEWS | 3 +++ 1 file changed, 3 insertions(+) commit 39eb8ac66f666ac5a97bb1d17a38013b7557cc12 Author: Robert Antoni Buj Gelonch Date: Sun Sep 4 13:06:08 2016 +0200 Update Catalan translation (#1206) po/ca.po | 2219 +++++++++++++++++++++++++++++--------------------------------- 1 file changed, 1053 insertions(+), 1166 deletions(-) commit 7ccee5287afb660f1085f68f1045f33eff12e390 Author: Marcelo Camargo Date: Fri Sep 2 09:50:45 2016 -0300 i18n: Fixed incorrect word in pt_BR (#1202) * Changed gender of noun IDE * Fixed incorrect word in pt_BR po/pt_BR.po | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) commit 7b2b9609e473bdc591010a68794df46dac52e1be Author: Matthew Brush Date: Thu Sep 1 18:40:40 2016 -0700 Add plugin API functions to get/set document data TODO: add doc-comment annotations for GObject-Introspection src/plugins.c | 39 ++++++++++++++ src/pluginutils.c | 153 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/pluginutils.h | 11 ++++ 3 files changed, 203 insertions(+) commit ce6c0fad9481549c62c308a42ccfe774bacf3b55 Author: Matthew Brush Date: Wed Aug 31 21:02:24 2016 -0700 Add support for Keyed Data Lists for documents src/document.c | 23 +++++++++++++++++++++++ src/document.h | 7 +++++++ src/documentprivate.h | 2 ++ 3 files changed, 32 insertions(+) commit dd4c851cabad8f52c7aba00f71e675740217ffa2 Author: Colomban Wendling Date: Tue Aug 30 16:19:58 2016 +0200 Fix focusing the Terminal tab in the message window Use more generic code to not fall into the same issue next time layout changes, and to potentially support plugin tabs in the message window. Fixes #1198. src/keybindings.c | 33 +++++++++++++++++++++++++++++++-- 1 file changed, 31 insertions(+), 2 deletions(-) commit 095d88958296200ee890dc2b45e0123f1559705b Author: Colomban Wendling Date: Mon Aug 22 19:52:25 2016 +0200 VTE: Fix crash when trying to change VTE directory at startup 2150302fe6e88f88e5eba78502b478be2b78c662 introduced a bug, because configuration_load_session_files() calls VTE code if vte_info.have_vte is non-FALSE, before vte_init() has been called. So, it relied in the implicit 0-initialization of the vte_info global, which the above commit changed carelessly. So, instead of altering vte_info.have_vte early, add a specific flag for whether VTE is disabled on the command line. Also, explicitly initialize vte_info to suggest to the reader the default values does matter. src/keyfile.c | 2 +- src/libmain.c | 6 ++---- src/vte.c | 2 +- src/vte.h | 5 +++-- 4 files changed, 7 insertions(+), 8 deletions(-) commit cb7da79824ccd023c495de37f047ae1441b45fd5 Author: Jiří Techet Date: Mon Aug 22 14:54:19 2016 +0200 Add CTAGS_ATTR_ prefix to UNUSED() and PRINTF() macros Also fix the macro use in objc.c to appear behind variables. ctags/main/general.h | 8 ++++---- ctags/main/lregex.c | 30 +++++++++++++++--------------- ctags/main/mio.h | 4 ++-- ctags/main/options.c | 2 +- ctags/main/options.h | 2 +- ctags/main/parse.c | 2 +- ctags/main/parse.h | 2 +- ctags/main/routines.h | 2 +- ctags/main/xtag.c | 2 +- ctags/parsers/c.c | 4 ++-- ctags/parsers/lua.c | 2 +- ctags/parsers/objc.c | 10 +++++----- 12 files changed, 35 insertions(+), 35 deletions(-) commit d3b0bbec268c7f063a2d018c9f27602f989e0d81 Merge: c5d40934 a4a4accc Author: Colomban Wendling Date: Sun Aug 21 13:56:25 2016 +0200 Merge pull request #1154 from b4n/lines-around-scroll Add support for keeping the cursor a number of lines from the edges commit a4a4accc42de4f21fde16bb183844dc1bf8db4d4 Author: Colomban Wendling Date: Fri Jul 29 16:06:58 2016 +0200 Add support for keeping the cursor a number of lines from the edges Closes #1152. data/geany.glade | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ doc/geany.txt | 6 ++++++ src/editor.c | 9 ++++++++- src/editor.h | 1 + src/keyfile.c | 2 ++ 5 files changed, 65 insertions(+), 1 deletion(-) commit c5d409340b8a488ecd4cb47c19709d5866761d3f Merge: 42c02db1 29bffe69 Author: Colomban Wendling Date: Sat Aug 20 19:58:42 2016 +0200 Merge pull request #1174 from b4n/escape-markup Escape format arguments passed to ui_label_set_markup(), and deprecate ui_frame_new_with_alignment() which exposed a broken API because of it. commit 42c02db149391e32801543f3b6dbebcf43b4ff3b Merge: 5002f92d e3f7d256 Author: Colomban Wendling Date: Sat Aug 20 19:55:26 2016 +0200 Merge pull request #1155 from b4n/cxx-check Test whether the C++ compiler works by compiling a test program commit 5002f92dc6418849e7f88ab9ae809f64721ff6b0 Merge: 0c01192a 2150302f Author: Colomban Wendling Date: Sat Aug 20 01:48:43 2016 +0200 Merge pull request #651 from b4n/vte-in-various-prefs Show some hidden VTE preferences in the Various preferences page commit 2150302fe6e88f88e5eba78502b478be2b78c662 Author: Colomban Wendling Date: Sat Aug 20 01:47:30 2016 +0200 VTE: Don't show the various settings when VTE is disabled on the CLI src/keyfile.c | 2 +- src/libmain.c | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) commit 29bffe6923b803ce4559a032b51e1b1f14ca8519 Author: Colomban Wendling Date: Fri Aug 19 21:39:48 2016 +0200 Deprecate ui_frame_new_with_alignment() It has no usage inside Geany itself, had a bug in handling of markup in the label, has only one user in Geany-Plugins, and is fairly easy to reproduce. src/ui_utils.c | 2 ++ src/ui_utils.h | 4 ++-- 2 files changed, 4 insertions(+), 2 deletions(-) commit b7f7ce267546d4e43511b613594daeb6e8051559 Author: Jiří Techet Date: Fri Aug 19 15:16:32 2016 +0100 Drop vi modelines ctags/main/args.c | 2 -- ctags/main/args.h | 2 -- ctags/main/ctags.h | 2 -- ctags/main/entry.c | 2 -- ctags/main/entry.h | 2 -- ctags/main/general.h | 2 -- ctags/main/keyword.c | 2 -- ctags/main/keyword.h | 2 -- ctags/main/lcpp.c | 2 -- ctags/main/lcpp.h | 2 -- ctags/main/lregex.c | 2 -- ctags/main/main.c | 2 -- ctags/main/main.h | 2 -- ctags/main/nestlevel.c | 2 -- ctags/main/nestlevel.h | 2 -- ctags/main/options.c | 2 -- ctags/main/options.h | 2 -- ctags/main/parse.c | 2 -- ctags/main/parse.h | 2 -- ctags/main/parsers.h | 2 -- ctags/main/read.c | 2 -- ctags/main/read.h | 2 -- ctags/main/routines.c | 3 --- ctags/main/routines.h | 2 -- ctags/main/sort.c | 2 -- ctags/main/sort.h | 2 -- ctags/main/strlist.c | 2 -- ctags/main/strlist.h | 2 -- ctags/main/vstring.c | 2 -- ctags/main/vstring.h | 2 -- ctags/parsers/asciidoc.c | 2 -- ctags/parsers/asm.c | 2 -- ctags/parsers/basic.c | 2 -- ctags/parsers/c.c | 1 - ctags/parsers/cobol.c | 2 -- ctags/parsers/conf.c | 2 -- ctags/parsers/diff.c | 2 -- ctags/parsers/erlang.c | 2 -- ctags/parsers/fortran.c | 1 - ctags/parsers/haskell.c | 2 -- ctags/parsers/html.c | 2 -- ctags/parsers/jscript.c | 1 - ctags/parsers/lua.c | 2 -- ctags/parsers/make.c | 2 -- ctags/parsers/matlab.c | 2 -- ctags/parsers/nsis.c | 2 -- ctags/parsers/pascal.c | 2 -- ctags/parsers/perl.c | 2 -- ctags/parsers/php.c | 2 -- ctags/parsers/powershell.c | 2 -- ctags/parsers/python.c | 2 -- ctags/parsers/r.c | 2 -- ctags/parsers/rest.c | 2 -- ctags/parsers/ruby.c | 2 -- ctags/parsers/sh.c | 2 -- ctags/parsers/sql.c | 2 -- ctags/parsers/tcl.c | 2 -- ctags/parsers/verilog.c | 2 -- ctags/parsers/vhdl.c | 2 -- 59 files changed, 116 deletions(-) commit a974f35752558173a470df92fb505cabb395af2a Author: Jiří Techet Date: Tue Aug 16 13:18:50 2016 +0100 Define KEYWORD_NONE in keyword.h so it doesn't have to be defined by parsers ctags/main/keyword.h | 2 ++ ctags/parsers/c.c | 1 - ctags/parsers/fortran.c | 1 - ctags/parsers/go.c | 1 - ctags/parsers/jscript.c | 1 - ctags/parsers/php.c | 1 - ctags/parsers/sql.c | 1 - 7 files changed, 2 insertions(+), 6 deletions(-) commit d0cc3dc132558b277444c7b269874b1120ee806b Author: Jiří Techet Date: Wed Aug 10 11:55:02 2016 +0200 Remove TagEntryFunction check in c.c It's always non-null in Geany, it's value is checked in makeTagEntry() anyway and parsers shouldn't know about it. ctags/parsers/c.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) commit 2499b96ea1d1eb523733c95e7ec73af827b6032e Author: Colomban Wendling Date: Wed Aug 10 03:00:56 2016 +0200 Escape format arguments passed to ui_label_set_markup() src/ui_utils.c | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) commit 0c01192a31f38c0472fe49f545bef5ba5592f1be Author: Colomban Wendling Date: Wed Aug 10 02:16:48 2016 +0200 search: Fix the tooltip to mention Perl-like, not PCRE regular expressions Follow-up to #1168. Closes #1170. src/search.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit fa699cc4c9f270b98094398d96a2229ec44155c3 Author: Stefan Date: Tue Aug 9 07:32:18 2016 +0200 Fixes spelling mistake in German translation for geany.glade.h:425. (#1167) po/de.po | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 0eca258e58693ebdf0670b74e6934acc6ed2a7b9 Author: Jiří Techet Date: Tue Aug 9 00:34:29 2016 +0200 Fix incorrect use of MIO ctags/main/entry.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit e866a976c960fe4d2a6150c3980ff278b21ed8b2 Author: Jiří Techet Date: Mon Aug 8 23:01:14 2016 +0200 entry: Move functions around a bit to reduce the amount of diffs ctags/main/entry.c | 76 +++++++++++++++++++++++++++--------------------------- 1 file changed, 38 insertions(+), 38 deletions(-) commit c354384c3a466b5416a0ce4603f0dd9e9399c829 Author: Colomban Wendling Date: Mon Aug 8 21:39:51 2016 +0200 search: Fix the tooltip to mention PCRE, not POSIX regular expressions src/search.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit ca65fa22367042ea8c88efab7e76d5f0ba209947 Author: Jiří Techet Date: Sun Aug 7 16:57:55 2016 +0200 Sync whitespace and comments in main ctags/main/args.c | 8 ++++---- ctags/main/args.h | 15 ++++++++------- ctags/main/ctags.h | 12 +++++++----- ctags/main/entry.c | 21 ++++++++++----------- ctags/main/entry.h | 13 ++++++------- ctags/main/general.h | 13 ++++++------- ctags/main/lcpp.c | 2 +- ctags/main/lregex.c | 5 +++-- ctags/main/main.c | 2 +- ctags/main/nestlevel.c | 2 +- ctags/main/nestlevel.h | 8 ++++---- ctags/main/options.c | 15 +++++++-------- ctags/main/options.h | 6 +++--- ctags/main/parse.c | 11 +++++------ ctags/main/parse.h | 33 ++++++++++++++++----------------- ctags/main/parsers.h | 13 ++++++------- ctags/main/read.c | 8 ++++---- ctags/main/read.h | 33 +++++++++++++++------------------ ctags/main/routines.c | 11 +++++------ ctags/main/sort.c | 15 +++++++-------- ctags/main/sort.h | 12 ++++++------ ctags/main/strlist.c | 2 +- ctags/main/strlist.h | 8 ++++---- ctags/main/vstring.c | 14 +++++++------- ctags/main/vstring.h | 50 +++++++++++++++++++++++++------------------------- 25 files changed, 162 insertions(+), 170 deletions(-) commit 967b572240513689fc2f6f9aefa929e7d54f6bfc Author: Jiří Techet Date: Sun Aug 7 12:16:24 2016 +0200 Rename MIO variables from fp to mio ctags/main/entry.c | 4 ++-- ctags/main/read.c | 14 +++++++------- ctags/main/read.h | 2 +- 3 files changed, 10 insertions(+), 10 deletions(-) commit 02138f9e59cc5d57b3db617561d00bb09110b1a0 Author: Jiří Techet Date: Sun Aug 7 11:51:24 2016 +0200 Rename TM_DEBUG macro to DEBUG ctags/main/keyword.c | 2 +- ctags/main/keyword.h | 2 +- ctags/main/main.c | 2 +- ctags/parsers/c.c | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) commit 25c1d220cf5b54d0908fc4b8bf1768043d0447bf Author: Jiří Techet Date: Sun Aug 7 11:29:49 2016 +0200 objc: Remove unnecessary redefinition of UNUSED ctags/parsers/objc.c | 11 ----------- 1 file changed, 11 deletions(-) commit a59f82ec69737cc50533367c172ba3ddadbd51d1 Author: Jiří Techet Date: Sun Aug 7 01:41:14 2016 +0200 Rename getArglistFromFilePos() to cppGetArglistFromFilePos() to match the rest ctags/main/lcpp.c | 4 ++-- ctags/main/lcpp.h | 2 +- ctags/parsers/c.c | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) commit 20ad9ad4285b93ee80757408fa3a9d8d0d7dd9b9 Author: Jiří Techet Date: Sun Aug 7 01:38:56 2016 +0200 Make getArglistFromStr() static ctags/main/lcpp.c | 60 +++++++++++++++++++++++++------------------------- ctags/main/lcpp.h | 1 - ctags/parsers/python.c | 2 +- 3 files changed, 31 insertions(+), 32 deletions(-) commit d1222299020b7fb81e04e6441d900ac3a9b03ba0 Author: Jiří Techet Date: Sun Aug 7 01:29:28 2016 +0200 Rename skipOverCComment() to cppSkipOverCComment() ctags/main/lcpp.c | 4 ++-- ctags/main/lcpp.h | 2 +- ctags/parsers/verilog.c | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) commit 4910e2554bbe4aefeb29b25b743c8ae0d2cb284a Author: Jiří Techet Date: Sun Aug 7 01:26:30 2016 +0200 Rename getDirectiveNestLevel() to cppGetDirectiveNestLevel() ctags/main/lcpp.c | 2 +- ctags/main/lcpp.h | 3 ++- ctags/parsers/c.c | 6 +++--- 3 files changed, 6 insertions(+), 5 deletions(-) commit 2638899379cafb09fbf4ef5cbfa3dd7e58834692 Author: Jiří Techet Date: Sun Aug 7 01:24:21 2016 +0200 Rename isBraceFormat to cppIsBraceFormat() ctags/main/lcpp.c | 2 +- ctags/main/lcpp.h | 2 +- ctags/parsers/c.c | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) commit 88a8724d1ce42c1c2c1437c6c1ac137c3f5e2f84 Author: Jiří Techet Date: Sun Aug 7 01:22:21 2016 +0200 Rename isident1() to cppIsident1() ctags/main/lcpp.c | 6 +++--- ctags/main/lcpp.h | 2 +- ctags/parsers/c.c | 22 +++++++++++----------- 3 files changed, 15 insertions(+), 15 deletions(-) commit 95f94629f0fd5d4d40d7d3343014f79b2cc75988 Author: Jiří Techet Date: Sun Aug 7 01:19:23 2016 +0200 Rename isident() to cppIsident() ctags/main/lcpp.c | 8 ++++---- ctags/main/lcpp.h | 2 +- ctags/parsers/c.c | 4 ++-- 3 files changed, 7 insertions(+), 7 deletions(-) commit 1d48599d3cf6f0c8c92b2e1fb8d61b9b8af96769 Author: Jiří Techet Date: Sun Aug 7 01:14:38 2016 +0200 Remove R regex parser Unused by us, not present in uctags. ctags/parsers/r.c | 26 -------------------------- 1 file changed, 26 deletions(-) commit 2671d73b6759a9ba2c7cab1ae54a84e52cb40874 Author: Jiří Techet Date: Sun Aug 7 01:12:21 2016 +0200 Use skipToCharacterInInputFile() in all parsers ctags/parsers/jscript.c | 16 +++------------- ctags/parsers/php.c | 12 +----------- ctags/parsers/powershell.c | 12 +----------- 3 files changed, 5 insertions(+), 35 deletions(-) commit 76818f94394c5715ba08e31e9e39639279fc32ad Author: Jiří Techet Date: Sun Aug 7 01:06:39 2016 +0200 Change getSourceFileName() to getInputFileName() ctags/main/read.c | 3 +++ ctags/main/read.h | 3 +-- ctags/parsers/rust.c | 2 +- 3 files changed, 5 insertions(+), 3 deletions(-) commit 2161b73864973cc63a85526158cea35f59e849a8 Author: Jiří Techet Date: Sun Aug 7 00:59:54 2016 +0200 Change isHeaderFile() to isInputHeaderFile() ctags/main/lcpp.c | 2 +- ctags/main/read.c | 1 + ctags/main/read.h | 2 +- ctags/parsers/c.c | 2 +- 4 files changed, 4 insertions(+), 3 deletions(-) commit 7bd81abc1d95b0033257967f6849351d6def262b Author: Jiří Techet Date: Sun Aug 7 00:57:17 2016 +0200 Change isLanguage() to isInputLanguage() ctags/main/read.c | 1 + ctags/main/read.h | 2 +- ctags/parsers/c.c | 136 +++++++++++++++++++++++++++--------------------------- 3 files changed, 70 insertions(+), 69 deletions(-) commit 082a9724f12d2beda1002081b2ed16611e04e12f Author: Jiří Techet Date: Sun Aug 7 00:49:51 2016 +0200 Use ARRAY_SIZE() in parsers ctags/parsers/c.c | 14 +++++++------- ctags/parsers/perl.c | 2 +- ctags/parsers/php.c | 4 ++-- ctags/parsers/powershell.c | 4 +--- ctags/parsers/ruby.c | 2 +- ctags/parsers/verilog.c | 3 +-- 6 files changed, 13 insertions(+), 16 deletions(-) commit 9745d470c6288d88b455436a918f92e13e271df4 Author: Jiří Techet Date: Sun Aug 7 00:35:51 2016 +0200 Sync whitespace in parsers ctags/parsers/asm.c | 2 +- ctags/parsers/basic.c | 3 +- ctags/parsers/c.c | 413 ++++++++++++++++++++++++------------------------ ctags/parsers/fortran.c | 84 +++++----- ctags/parsers/html.c | 1 - ctags/parsers/jscript.c | 23 +-- ctags/parsers/pascal.c | 46 +++--- ctags/parsers/php.c | 2 +- ctags/parsers/python.c | 39 +++-- ctags/parsers/r.c | 37 ++--- ctags/parsers/ruby.c | 8 +- ctags/parsers/sql.c | 154 +++++++++--------- ctags/parsers/tcl.c | 4 +- 13 files changed, 407 insertions(+), 409 deletions(-) commit 11dcc5e3e5a0014905fbb76457b52991135dc410 Author: Jiří Techet Date: Sat Aug 6 22:42:37 2016 +0200 Fix indentation ctags/main/routines.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) commit 026da60fd0a28d8c86a22ead262d261b9e6c7be4 Author: Jiří Techet Date: Sat Aug 6 22:42:15 2016 +0200 Move selected() under Miscellaneous macros ctags/main/routines.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 0650707ce548273b1a0bb73680246645b2e3f49a Author: Jiří Techet Date: Sat Aug 6 22:06:41 2016 +0200 Fix pascal tag initizalization ctags/parsers/pascal.c | 3 +++ 1 file changed, 3 insertions(+) commit 0ec3590e199eb9f4576eacaffc7785dca2e5f847 Author: Jiří Techet Date: Sat Aug 6 22:01:05 2016 +0200 Remove makeSimpleScopedTag() and fix scope for conf filetype ctags/main/parse.c | 18 ------------------ ctags/main/parse.h | 1 - ctags/parsers/conf.c | 12 ++++++++---- ctags/parsers/haxe.c | 10 ---------- 4 files changed, 8 insertions(+), 33 deletions(-) commit 530f47584a6d3ff48362951857f95ad854bd9756 Author: Jiří Techet Date: Sat Aug 6 16:34:37 2016 +0200 Revert "Rename "mio" member of sInputFile to "fp"" Let's rename fp to mio in uctags instead. This reverts commit 3dd1fb4853952d8fd80963952a03299e9b2c8012. Conflicts: ctags/main/read.c ctags/main/read.h ctags/main/lcpp.c | 12 ++++----- ctags/main/read.c | 76 +++++++++++++++++++++++++++---------------------------- ctags/main/read.h | 2 +- ctags/parsers/c.c | 2 +- 4 files changed, 46 insertions(+), 46 deletions(-) commit eb45c80058bc74fb3331e91d78d41e54b1ff482b Author: Jiří Techet Date: Wed Aug 3 12:21:51 2016 +0200 Always define ExecutableName variable ctags/main/routines.c | 3 --- 1 file changed, 3 deletions(-) commit 7e0845b083e56f59b87390507df9444c4f99b826 Author: Jiří Techet Date: Wed Aug 3 12:20:57 2016 +0200 Make PathDelimiters match the declaration in header ctags/main/routines.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 9c4c113488f6d5743c79865c74f2d6d4e8dd875a Author: Jiří Techet Date: Wed Aug 3 12:00:14 2016 +0200 Remove some additional functions from ctags which we don't need in Geany These are useless for Geany and introduce some compilation errors at the moment so drop them for now. ctags/main/main.c | 102 -------------------------------------------------- ctags/main/routines.c | 4 -- 2 files changed, 106 deletions(-) commit ea72ecc00fc22f24eced3ffce7c7db67d5f02271 Author: Jiří Techet Date: Wed Aug 3 00:27:22 2016 +0200 Remove ctags.c and move its content to routines.c, main.c and options.c This is mostly just moving code with just some minor modifications: - removal of code of unsupported platforms (VAX, OS2, etc.) - syncing includes/headers of affected files with uctags - removal of some functions we don't need in Geany and whose movement would require additional changes (those will get added back when doing final sync with uctags) - minor whitespace syncs ctags/Makefile.am | 3 +- ctags/main/args.c | 2 +- ctags/main/ctags.c | 1397 ----------------------------------------------- ctags/main/entry.c | 1 + ctags/main/general.h | 111 +--- ctags/main/lregex.c | 2 +- ctags/main/main.c | 277 ++++++++++ ctags/main/main.h | 66 +-- ctags/main/nestlevel.c | 2 + ctags/main/options.c | 59 +- ctags/main/options.h | 4 +- ctags/main/parse.c | 1 + ctags/main/routines.c | 788 ++++++++++++++++++++++++++ ctags/main/routines.h | 82 ++- ctags/main/sort.c | 2 +- ctags/main/strlist.c | 2 +- ctags/main/vstring.c | 2 +- ctags/parsers/asm.c | 1 - ctags/parsers/c.c | 1 - ctags/parsers/fortran.c | 1 - ctags/parsers/jscript.c | 1 - ctags/parsers/json.c | 1 - ctags/parsers/matlab.c | 2 +- ctags/parsers/pascal.c | 1 - ctags/parsers/perl.c | 1 - ctags/parsers/php.c | 1 - ctags/parsers/sh.c | 1 - ctags/parsers/sql.c | 1 - 28 files changed, 1210 insertions(+), 1603 deletions(-) commit d440a81166e62d41e2b06d555b471db5fdd8d80d Author: Jiří Techet Date: Mon Aug 1 23:48:06 2016 +0200 Add tagRegexTable to parserDefinition and use it to define regex parsers Also whitespace-format regexes so they match uctags. ctags/main/parse.c | 32 +++++++++++++++++--- ctags/main/parse.h | 22 +++++++++++++- ctags/parsers/actionscript.c | 62 +++++++++++++++++++------------------- ctags/parsers/cobol.c | 38 ++++++++++++----------- ctags/parsers/html.c | 49 +++++++++++++----------------- src/tagmanager/tm_ctags_wrappers.c | 2 +- 6 files changed, 121 insertions(+), 84 deletions(-) commit 1b32ac5481d826a4fbc729ef06a4b664e5448d21 Author: Jiří Techet Date: Mon Aug 1 18:58:27 2016 +0200 Add full xtag implementation and use it to check XTAG_QUALIFIED_TAGS ctags/Makefile.am | 1 + ctags/main/options.c | 3 +- ctags/main/options.h | 12 ++-- ctags/main/routines.h | 3 + ctags/main/xtag.c | 155 ++++++++++++++++++++++++++++++++++++++++++++++++++ ctags/main/xtag.h | 55 ++++++++++++++++++ ctags/parsers/c.c | 2 +- ctags/parsers/go.c | 4 +- ctags/parsers/perl.c | 4 +- 9 files changed, 227 insertions(+), 12 deletions(-) commit 8c0bfbb0f388124f601049301e2742bb1d7ccf1b Author: Jiří Techet Date: Mon Aug 1 18:33:21 2016 +0200 Add parserNewFull() and use it for selected parsers For now just to eliminate diff from parsers, the actual custom file tag isn't supported (unused by Geany anyway). ctags/main/kind.h | 2 ++ ctags/main/parse.c | 9 +++++++++ ctags/main/parse.h | 1 + ctags/parsers/objc.c | 2 +- ctags/parsers/ruby.c | 2 +- ctags/parsers/rust.c | 2 +- ctags/parsers/sql.c | 2 +- 7 files changed, 16 insertions(+), 4 deletions(-) commit 781f4ef1caba2c0c3fbaa5dbc9481a9e14a031a9 Author: Jiří Techet Date: Mon Aug 1 01:34:50 2016 +0200 Use getInputLineNumber() instead of getSourceLineNumber() in parsers We want the line number of the tag appearance, not the line after #line directives are processed. ctags/parsers/c.c | 2 +- ctags/parsers/css.c | 2 +- ctags/parsers/fortran.c | 4 ++-- ctags/parsers/go.c | 8 ++++---- ctags/parsers/jscript.c | 12 ++++++------ ctags/parsers/json.c | 4 ++-- ctags/parsers/php.c | 6 +++--- ctags/parsers/powershell.c | 6 +++--- ctags/parsers/rust.c | 4 ++-- ctags/parsers/sql.c | 10 +++++----- 10 files changed, 29 insertions(+), 29 deletions(-) commit 4fbd38f6904a9ba93b1961a10d9d977bb83d277c Author: Jiří Techet Date: Mon Aug 1 00:43:18 2016 +0200 Pass kind information into initTagEntry() The usage in lregex is hacky (casting const char * to char *) but it's the quickest way to implement it right now (the question is whether we shouldn't revert back to POSIX regex and simply use the uctags implementation). ctags/main/entry.c | 3 ++- ctags/main/entry.h | 5 ++--- ctags/main/kind.h | 5 +++++ ctags/main/lcpp.c | 10 ++++++---- ctags/main/lcpp.h | 3 ++- ctags/main/lregex.c | 22 +++++++--------------- ctags/main/parse.c | 34 ++++++++++++++++++++++++---------- ctags/main/parse.h | 2 ++ ctags/main/read.c | 9 ++++++--- ctags/main/read.h | 4 ++++ ctags/parsers/abc.c | 4 +--- ctags/parsers/asciidoc.c | 4 +--- ctags/parsers/c.c | 6 ++---- ctags/parsers/css.c | 4 +--- ctags/parsers/erlang.c | 4 +--- ctags/parsers/fortran.c | 4 +--- ctags/parsers/go.c | 4 +--- ctags/parsers/jscript.c | 4 +--- ctags/parsers/json.c | 4 +--- ctags/parsers/markdown.c | 4 +--- ctags/parsers/objc.c | 4 +--- ctags/parsers/pascal.c | 6 +----- ctags/parsers/perl.c | 5 +---- ctags/parsers/php.c | 8 ++------ ctags/parsers/powershell.c | 4 +--- ctags/parsers/python.c | 24 +++++++++--------------- ctags/parsers/r.c | 5 +---- ctags/parsers/rest.c | 4 +--- ctags/parsers/ruby.c | 4 +--- ctags/parsers/rust.c | 5 +---- ctags/parsers/sql.c | 4 +--- ctags/parsers/txt2tags.c | 5 +---- src/tagmanager/tm_source_file.c | 2 +- 33 files changed, 93 insertions(+), 126 deletions(-) commit 359c60b81b8d80af4551f638b2b8c894066cd82c Author: Jiří Techet Date: Sun Jul 31 21:00:58 2016 +0200 Rename get.c/h to lcpp.c/h ctags/Makefile.am | 4 ++-- ctags/main/{get.c => lcpp.c} | 8 +++++--- ctags/main/{get.h => lcpp.h} | 8 ++++---- ctags/parsers/c.c | 2 +- ctags/parsers/verilog.c | 2 +- 5 files changed, 13 insertions(+), 11 deletions(-) commit e3f7d256c32307d211b728582fb688512cddfb24 Author: Colomban Wendling Date: Sun Jul 31 00:40:58 2016 +0200 Test whether the C++ compiler works by compiling a test program This is more reliable than using `which`, which doesn't work if the CXX environment variable is set to something else than an executable (e.g contains options), and is apparently less portable on some systems. See: * http://lists.geany.org/pipermail/devel/2009-September/001367.html, which lead to 5bb28825aadb43ea8ba536c34970d53860b50759. * https://sourceforge.net/p/geany/bugs/455/, which lead to a revert of the above, 5b9605a9d6d799629b8ed3163596069c8c948b06. Fixes #829. configure.ac | 6 +----- m4/geany-prog-cxx.m4 | 20 ++++++++++++++++++++ 2 files changed, 21 insertions(+), 5 deletions(-) commit 0ed5c16b4614a12e6881a897bc8b2eb28e708c3e Author: Jiří Techet Date: Sat Jul 30 16:04:06 2016 +0200 Rename tagEntryInfo.extensionFields.scope This requires moving kindOption into a separate file because of circular include dependency. Also eliminate now redundant tagLetter() function in c.c. ctags/Makefile.am | 1 + ctags/main/entry.h | 6 +++++- ctags/main/kind.h | 20 ++++++++++++++++++++ ctags/main/parse.c | 6 +++--- ctags/main/parse.h | 7 ------- ctags/parsers/asciidoc.c | 4 ++-- ctags/parsers/c.c | 42 +++++++++++++---------------------------- ctags/parsers/erlang.c | 4 ++-- ctags/parsers/fortran.c | 4 ++-- ctags/parsers/go.c | 4 ++-- ctags/parsers/jscript.c | 4 ++-- ctags/parsers/json.c | 4 ++-- ctags/parsers/objc.c | 4 ++-- ctags/parsers/php.c | 4 ++-- ctags/parsers/powershell.c | 4 ++-- ctags/parsers/python.c | 20 ++++++++++---------- ctags/parsers/rest.c | 4 ++-- ctags/parsers/ruby.c | 4 ++-- ctags/parsers/rust.c | 4 ++-- ctags/parsers/sql.c | 4 ++-- ctags/parsers/txt2tags.c | 4 ++-- src/tagmanager/tm_source_file.c | 6 +++--- 22 files changed, 83 insertions(+), 81 deletions(-) commit cb1c15483bce9e5bad735113ca2b185cb7ff8924 Author: Jiří Techet Date: Sat Jul 30 13:49:53 2016 +0200 Eliminate some trivial diffs in read.c Mostly indentation and comment stuff. We can replace the implementation of readSourceLine() with readLineFromBypass() as it's never used in Geany. ctags/main/read.c | 64 ++++++++++++++++++++++++++----------------------------- 1 file changed, 30 insertions(+), 34 deletions(-) commit 781738fe10153e808dbce08879618f1ce91d685f Author: Jiří Techet Date: Sat Jul 30 13:11:45 2016 +0200 Replace fileGetc() with getcFromInputFile() also in comments ctags/main/read.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) commit ba2209e4a614731f7b1035af225bd9d2f1dcff07 Author: Jiří Techet Date: Sat Jul 30 13:10:10 2016 +0200 Rename readLine() to readLineRaw() Plus make some minor changes in its implementation to match uctags. ctags/main/entry.c | 8 ++++---- ctags/main/lregex.c | 2 +- ctags/main/parse.c | 2 +- ctags/main/read.c | 21 ++++++++++----------- ctags/main/read.h | 2 +- ctags/main/sort.c | 2 +- ctags/main/strlist.c | 2 +- 7 files changed, 19 insertions(+), 20 deletions(-) commit bbbbb309baa0ff6a94f50437e99cc962aa7b047f Author: Jiří Techet Date: Sat Jul 30 12:57:22 2016 +0200 Rename fileReadLine() to readLineFromInputFile() ctags/main/lregex.c | 2 +- ctags/main/read.c | 6 +++--- ctags/main/read.h | 2 +- ctags/parsers/abaqus.c | 2 +- ctags/parsers/abc.c | 2 +- ctags/parsers/asciidoc.c | 2 +- ctags/parsers/asm.c | 2 +- ctags/parsers/basic.c | 2 +- ctags/parsers/conf.c | 2 +- ctags/parsers/diff.c | 2 +- ctags/parsers/docbook.c | 2 +- ctags/parsers/erlang.c | 2 +- ctags/parsers/haxe.c | 2 +- ctags/parsers/latex.c | 2 +- ctags/parsers/lua.c | 2 +- ctags/parsers/markdown.c | 2 +- ctags/parsers/matlab.c | 2 +- ctags/parsers/nsis.c | 2 +- ctags/parsers/objc.c | 6 +++--- ctags/parsers/pascal.c | 4 ++-- ctags/parsers/perl.c | 6 +++--- ctags/parsers/python.c | 4 ++-- ctags/parsers/r.c | 4 ++-- ctags/parsers/rest.c | 2 +- ctags/parsers/ruby.c | 2 +- ctags/parsers/sh.c | 2 +- ctags/parsers/tcl.c | 2 +- ctags/parsers/txt2tags.c | 2 +- 28 files changed, 37 insertions(+), 37 deletions(-) commit bf2b64239a7958168ae1ffc9e9623c320e14d2ab Author: Jiří Techet Date: Sat Jul 30 12:51:24 2016 +0200 Rename fileGetNthPrevC() to getNthPrevCFromInputFile() ctags/main/get.c | 6 +++--- ctags/main/read.c | 2 +- ctags/main/read.h | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) commit 61278d40314db93beab70377f593cce586e7f312 Author: Jiří Techet Date: Sat Jul 30 12:50:57 2016 +0200 Rename fileSkipToCharacter() to skipToCharacterInInputFile() ctags/main/read.c | 2 +- ctags/main/read.h | 2 +- ctags/parsers/go.c | 2 +- ctags/parsers/sql.c | 8 ++++---- 4 files changed, 7 insertions(+), 7 deletions(-) commit 357e4fe1bd55861e5a6f70b3d2417a05ca2b29a0 Author: Jiří Techet Date: Sat Jul 30 12:31:59 2016 +0200 Rename fileUngetc() to ungetcToInputFile() ctags/main/get.c | 36 ++++++++++++++++++------------------ ctags/main/read.c | 2 +- ctags/main/read.h | 2 +- ctags/parsers/css.c | 4 ++-- ctags/parsers/fortran.c | 6 +++--- ctags/parsers/go.c | 12 ++++++------ ctags/parsers/haskell.c | 4 ++-- ctags/parsers/jscript.c | 20 ++++++++++---------- ctags/parsers/json.c | 2 +- ctags/parsers/make.c | 10 +++++----- ctags/parsers/php.c | 34 +++++++++++++++++----------------- ctags/parsers/powershell.c | 12 ++++++------ ctags/parsers/sql.c | 12 ++++++------ ctags/parsers/verilog.c | 2 +- 14 files changed, 79 insertions(+), 79 deletions(-) commit acdc44074fc79183c5813b1fad5ca2151cfd2d1b Author: Jiří Techet Date: Sat Jul 30 12:23:42 2016 +0200 Rename fileGetc() to getcFromInputFile() ctags/main/get.c | 58 +++++++++++------------ ctags/main/read.c | 4 +- ctags/main/read.h | 2 +- ctags/parsers/css.c | 16 +++---- ctags/parsers/fortran.c | 20 ++++---- ctags/parsers/go.c | 16 +++---- ctags/parsers/haskell.c | 16 +++---- ctags/parsers/jscript.c | 28 +++++------ ctags/parsers/json.c | 6 +-- ctags/parsers/make.c | 4 +- ctags/parsers/php.c | 116 ++++++++++++++++++++++----------------------- ctags/parsers/powershell.c | 24 +++++----- ctags/parsers/rust.c | 2 +- ctags/parsers/sql.c | 18 +++---- ctags/parsers/verilog.c | 8 ++-- ctags/parsers/vhdl.c | 6 +-- 16 files changed, 172 insertions(+), 172 deletions(-) commit 1e36d2367e2b1180a84d7830b0f0e79be2dc44c8 Author: Jiří Techet Date: Sat Jul 30 11:53:26 2016 +0200 Add separate "input" entry to sInputFile and use it This patch basically just replaces sInputFile.name -> sInputFile.input.name sInputFile.lineNumber -> sInputFile.input.lineNumber plus some minor related stuff. ctags/main/entry.c | 2 +- ctags/main/read.c | 25 +++++++++++++------------ ctags/main/read.h | 29 +++++++++++++++++------------ ctags/main/vstring.c | 10 ++++++++++ ctags/main/vstring.h | 2 ++ ctags/parsers/sh.c | 2 +- 6 files changed, 44 insertions(+), 26 deletions(-) commit 7ac17b662facd503d0c822cd61726f329b3a4607 Author: Jiří Techet Date: Sat Jul 30 00:40:37 2016 +0200 Eliminate readNextChar() and pushBackChar() ctags/main/read.c | 39 ++++++++++++++------------------------- 1 file changed, 14 insertions(+), 25 deletions(-) commit 3dd1fb4853952d8fd80963952a03299e9b2c8012 Author: Jiří Techet Date: Sat Jul 30 00:32:59 2016 +0200 Rename "mio" member of sInputFile to "fp" ctags/main/get.c | 12 ++++++------ ctags/main/read.c | 52 ++++++++++++++++++++++++++-------------------------- ctags/main/read.h | 2 +- ctags/parsers/c.c | 2 +- 4 files changed, 34 insertions(+), 34 deletions(-) commit ae8dc545cec1eb7e951d5c36d053615ea548b486 Author: Jiří Techet Date: Fri Jul 29 22:50:11 2016 +0200 Add keywordTable to parserDefinition and use a common way to initialize keywords ctags/main/parse.c | 39 +++++++++++++++++++++++++++++++++++---- ctags/main/parse.h | 7 +++++++ ctags/parsers/asm.c | 14 ++------------ ctags/parsers/fortran.c | 18 ++++-------------- ctags/parsers/go.c | 10 ++-------- ctags/parsers/jscript.c | 17 +++-------------- ctags/parsers/objc.c | 17 ++--------------- ctags/parsers/php.c | 17 ++++------------- ctags/parsers/sql.c | 17 +++-------------- ctags/parsers/vhdl.c | 10 ++-------- 10 files changed, 64 insertions(+), 102 deletions(-) commit 6bc579798716dbe94a171a016f9989c92c4b67e2 Author: Jiří Techet Date: Fri Jul 29 22:03:56 2016 +0200 Don't use combination of tabs and spaces for indentation This was done using Geany's "replace tabs with spaces" followed by "replace spaces with tabs" plus a lot of manual work because the indentation was inconsistent in many cases. ctags/main/args.c | 320 +++++----- ctags/main/args.h | 40 +- ctags/main/ctags.c | 1496 +++++++++++++++++++++++----------------------- ctags/main/ctags.h | 12 +- ctags/main/entry.c | 458 +++++++------- ctags/main/entry.h | 70 +-- ctags/main/general.h | 12 +- ctags/main/main.h | 2 +- ctags/main/options.c | 144 ++--- ctags/main/options.h | 100 ++-- ctags/main/parse.c | 798 ++++++++++++------------- ctags/main/parse.h | 52 +- ctags/main/parsers.h | 106 ++-- ctags/main/read.c | 796 ++++++++++++------------ ctags/main/read.h | 100 ++-- ctags/main/sort.c | 254 ++++---- ctags/main/sort.h | 6 +- ctags/main/vstring.c | 170 +++--- ctags/main/vstring.h | 44 +- ctags/parsers/asciidoc.c | 2 +- ctags/parsers/c.c | 2 +- ctags/parsers/conf.c | 48 +- ctags/parsers/css.c | 14 +- ctags/parsers/diff.c | 2 +- ctags/parsers/fortran.c | 44 +- ctags/parsers/haskell.c | 494 +++++++-------- ctags/parsers/haxe.c | 326 +++++----- ctags/parsers/latex.c | 336 +++++------ ctags/parsers/matlab.c | 32 +- ctags/parsers/nsis.c | 2 +- ctags/parsers/pascal.c | 508 ++++++++-------- ctags/parsers/python.c | 4 +- ctags/parsers/r.c | 288 ++++----- ctags/parsers/rest.c | 2 +- ctags/parsers/sh.c | 114 ++-- ctags/parsers/vhdl.c | 248 ++++---- 36 files changed, 3723 insertions(+), 3723 deletions(-) commit bf0702e2ec63009c731a6a65d40c89f5ac6695d2 Author: Jiří Techet Date: Fri Jul 29 16:55:07 2016 +0200 Use uctags implementation of keyword.c/h Basically just the stuff I added to uctags to improve hashing of keywords. This patch drops some extra stuff from uctags we don't need at the moment and which would require changes in other files. ctags/main/keyword.c | 284 ++++++++++++++++++++++++--------------------------- ctags/main/keyword.h | 15 ++- 2 files changed, 138 insertions(+), 161 deletions(-) commit 282ed7def72c8e736eb45a88d07b705a2667f3dc Author: Jiří Techet Date: Thu Jul 28 23:55:12 2016 +0200 Define ARRAY_SIZE() and use it instead of KIND_COUNT() ctags/main/parse.h | 2 -- ctags/main/routines.h | 28 ++++++++++++++++++++++++++++ ctags/parsers/abaqus.c | 3 ++- ctags/parsers/abc.c | 3 ++- ctags/parsers/asciidoc.c | 3 ++- ctags/parsers/asm.c | 2 +- ctags/parsers/basic.c | 2 +- ctags/parsers/c.c | 16 ++++++++-------- ctags/parsers/conf.c | 3 ++- ctags/parsers/css.c | 2 +- ctags/parsers/diff.c | 2 +- ctags/parsers/docbook.c | 3 ++- ctags/parsers/erlang.c | 2 +- ctags/parsers/fortran.c | 4 ++-- ctags/parsers/go.c | 2 +- ctags/parsers/haskell.c | 5 +++-- ctags/parsers/haxe.c | 3 ++- ctags/parsers/jscript.c | 2 +- ctags/parsers/json.c | 2 +- ctags/parsers/latex.c | 3 ++- ctags/parsers/lua.c | 2 +- ctags/parsers/make.c | 2 +- ctags/parsers/markdown.c | 3 ++- ctags/parsers/matlab.c | 3 ++- ctags/parsers/nsis.c | 3 ++- ctags/parsers/objc.c | 2 +- ctags/parsers/pascal.c | 2 +- ctags/parsers/perl.c | 2 +- ctags/parsers/php.c | 4 ++-- ctags/parsers/powershell.c | 3 ++- ctags/parsers/python.c | 2 +- ctags/parsers/r.c | 3 ++- ctags/parsers/rest.c | 3 ++- ctags/parsers/ruby.c | 2 +- ctags/parsers/rust.c | 2 +- ctags/parsers/sh.c | 2 +- ctags/parsers/sql.c | 2 +- ctags/parsers/tcl.c | 2 +- ctags/parsers/txt2tags.c | 3 ++- ctags/parsers/verilog.c | 2 +- ctags/parsers/vhdl.c | 2 +- 41 files changed, 92 insertions(+), 51 deletions(-) commit 001c7f65e485a223530e23146604d84fa867a9aa Author: Jiří Techet Date: Thu Jul 28 23:27:59 2016 +0200 Move keywordTable definition to parse.h and use it for all parsers ctags/main/parse.h | 5 +++++ ctags/parsers/asm.c | 11 +++-------- ctags/parsers/fortran.c | 12 ++---------- ctags/parsers/go.c | 12 ++---------- ctags/parsers/jscript.c | 12 ++---------- ctags/parsers/objc.c | 10 ++-------- ctags/parsers/php.c | 9 ++------- ctags/parsers/sql.c | 13 ++----------- ctags/parsers/verilog.c | 11 +++-------- ctags/parsers/vhdl.c | 11 +++-------- 10 files changed, 26 insertions(+), 80 deletions(-) commit 7b9d0dd83ce0874593758a620a9b9a2d256503c1 Author: Jiří Techet Date: Thu Jul 28 21:54:26 2016 +0200 Make parser includes closer to uctags and sync parser license header Adds (currently empty) debug.h, routines.h and xtag.h and uses them at the same places like uctags. ctags/Makefile.am | 3 +++ ctags/main/debug.h | 0 ctags/main/routines.h | 0 ctags/main/xtag.h | 0 ctags/parsers/asm.c | 4 +++- ctags/parsers/basic.c | 3 ++- ctags/parsers/c.c | 10 ++++++---- ctags/parsers/cobol.c | 3 ++- ctags/parsers/css.c | 3 ++- ctags/parsers/diff.c | 3 ++- ctags/parsers/erlang.c | 4 ++-- ctags/parsers/fortran.c | 9 ++++++--- ctags/parsers/go.c | 6 ++++++ ctags/parsers/html.c | 3 ++- ctags/parsers/jscript.c | 6 +++++- ctags/parsers/json.c | 4 +++- ctags/parsers/lua.c | 3 ++- ctags/parsers/make.c | 4 +++- ctags/parsers/objc.c | 3 ++- ctags/parsers/pascal.c | 5 +++-- ctags/parsers/perl.c | 5 ++++- ctags/parsers/php.c | 4 +++- ctags/parsers/python.c | 7 +++++-- ctags/parsers/r.c | 7 ++++--- ctags/parsers/ruby.c | 2 ++ ctags/parsers/rust.c | 3 ++- ctags/parsers/sh.c | 6 ++++-- ctags/parsers/sql.c | 6 +++--- ctags/parsers/tcl.c | 3 ++- ctags/parsers/verilog.c | 11 +++++++---- ctags/parsers/vhdl.c | 2 ++ 31 files changed, 92 insertions(+), 40 deletions(-) commit f791e91e1884a76754d88b7cd92fff4df3383947 Author: Jiří Techet Date: Thu Jul 28 21:06:59 2016 +0200 ctags: Rename Geany-specific tagEntryInfo::arglist to upstream's ::signature Based on patch from Colomban Wendling. ctags/main/entry.h | 2 +- ctags/main/get.c | 4 ++-- ctags/parsers/c.c | 6 +++--- ctags/parsers/go.c | 2 +- ctags/parsers/jscript.c | 2 +- ctags/parsers/pascal.c | 2 +- ctags/parsers/php.c | 2 +- ctags/parsers/powershell.c | 2 +- ctags/parsers/python.c | 2 +- ctags/parsers/rust.c | 2 +- src/tagmanager/tm_source_file.c | 4 ++-- 11 files changed, 15 insertions(+), 15 deletions(-) commit 7068e7c89219c333632ba9ce700f2ac992e55ad8 Author: Jiří Techet Date: Thu Jul 28 21:02:40 2016 +0200 ctags: Remove useless Geany-specific tagEntryInfo::type field Original patch from Colomban Wendling, only converted to apply to the new ctags location in the source tree. ctags/main/entry.h | 1 - ctags/parsers/c.c | 9 ++++----- 2 files changed, 4 insertions(+), 6 deletions(-) commit ffa09b0ae2d2486b80ac32da49584dacacb77e08 Author: Jiří Techet Date: Thu Jul 28 20:57:03 2016 +0200 ctags: Remove unused Geany-specific tagEntryInfo fields Original patch from Colomban Wendling, only converted to apply to the new ctags location in the source tree. ctags/main/entry.h | 2 -- 1 file changed, 2 deletions(-) commit 5d8e291c6f7e5dfdfaf11cfe11e46684ffc669b5 Merge: cbe2c542 af3ad0b6 Author: Colomban Wendling Date: Mon Jul 25 02:06:20 2016 +0200 Merge pull request #1070 from techee/tm_move Move TM and ctags files commit cbe2c542e0a8bf809c7ea43674941053c1fee05e Merge: 3cf01615 b7f47f29 Author: Colomban Wendling Date: Mon Jul 25 02:02:50 2016 +0200 Merge pull request #1133 from techee/readme_rst Minor README updates commit b7f47f29328b0c5a32893674da91fc271a830cc2 Author: Jiří Techet Date: Mon Jul 25 01:02:59 2016 +0200 Update Colomban's email address README | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit af3ad0b6f0b877696f832d9c719b9ee6864035bb Author: Jiří Techet Date: Sat Jul 23 00:36:04 2016 +0200 Rename variable to avoid warning about variable being shadowed ctags/main/mio.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 3cf0161527db804f0393a6f49e67dee97ef7f46e Author: Jiří Techet Date: Mon Feb 29 14:49:43 2016 +0100 Store "equal" tags into binary trees instead of lists in Symbol tree At the moment tags with identical names are stored into a linked list in tags_table and parents_table. This however leads to quadratic complexity when looking up the nearest parent or tag in tree because the whole list has to be traversed. Use binary trees indexed by line number instead of lists so the lookup can be performed in log(N) time and the overall complexity is N*log(N) instead of N^2. The GTree API is a little stupid because during the search it doesn't give access to the value and it doesn't tell when a leaf node was reached. For this reason the lookup has to be made in two steps - first, the best line number is found (returned in user_data) and then a normal search for the found line number is made to get the value stored in the tree. This patch fixes the problem described in #577 when e.g. a big json export file contains many identically named tags. src/symbols.c | 239 ++++++++++++++++++++++++++++++++++------------------------ 1 file changed, 141 insertions(+), 98 deletions(-) commit f95656cbe818d69bb4432d14b978ec83764872b2 Author: Jiří Techet Date: Sun Jun 12 23:13:35 2016 +0200 Remove makefile.win32 based build system No more needed using MSYS2. HACKING | 3 - Makefile.am | 4 +- ctags/Makefile.am | 3 - ctags/makefile.win32 | 60 -------- doc/Makefile.am | 3 +- doc/makefile.win32 | 36 ----- doc/making-a-release | 3 +- makefile.win32 | 71 ---------- plugins/Makefile.am | 1 - plugins/makefile.win32 | 80 ----------- scintilla/Makefile.am | 3 +- scintilla/gtk/makefile.win32 | 80 ----------- src/Makefile.am | 3 +- src/makefile.win32 | 99 ------------- src/tagmanager/Makefile.am | 3 - src/tagmanager/makefile.win32 | 57 -------- win32-config.h | 319 ------------------------------------------ 17 files changed, 5 insertions(+), 823 deletions(-) commit 3b4d9fadf8cf5f2a063217ba932602f5c4ac2d3e Author: Jiří Techet Date: Sat Jun 11 14:08:42 2016 +0200 Rename js.c to jscript.c to match universal-ctags ctags/Makefile.am | 2 +- ctags/parsers/{js.c => jscript.c} | 0 2 files changed, 1 insertion(+), 1 deletion(-) commit 470d99ee944244e66b591c3814e1607486ecae4d Author: Jiří Techet Date: Sat Jun 11 14:08:02 2016 +0200 Update various comments mentioning tagmanager/src HACKING | 2 +- ctags/main/parsers.h | 2 +- scripts/create_php_tags.py | 4 ++-- src/filetypes.h | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) commit 03becc77894bf4e3c2ac357bdf3d07f5e16a97c4 Author: Jiří Techet Date: Sat Jun 11 14:07:01 2016 +0200 Update paths for doxygen doc/Doxyfile.in | 12 ++++++------ doc/Makefile.am | 8 ++++---- 2 files changed, 10 insertions(+), 10 deletions(-) commit eb2865a8199f3808d72a14f3149183a0b428037c Author: Jiří Techet Date: Sat Jun 11 13:47:20 2016 +0200 Separate ctags into parsers and main sources configure.ac | 1 - ctags/Makefile.am | 90 +++++++++++++++++++++++++++++++++- ctags/main/Makefile.am | 89 --------------------------------- ctags/{main => }/makefile.win32 | 0 ctags/{main => parsers}/abaqus.c | 0 ctags/{main => parsers}/abc.c | 0 ctags/{main => parsers}/actionscript.c | 0 ctags/{main => parsers}/asciidoc.c | 0 ctags/{main => parsers}/asm.c | 0 ctags/{main => parsers}/basic.c | 0 ctags/{main => parsers}/c.c | 0 ctags/{main => parsers}/cobol.c | 0 ctags/{main => parsers}/conf.c | 0 ctags/{main => parsers}/css.c | 0 ctags/{main => parsers}/diff.c | 0 ctags/{main => parsers}/docbook.c | 0 ctags/{main => parsers}/erlang.c | 0 ctags/{main => parsers}/fortran.c | 0 ctags/{main => parsers}/go.c | 0 ctags/{main => parsers}/haskell.c | 0 ctags/{main => parsers}/haxe.c | 0 ctags/{main => parsers}/html.c | 0 ctags/{main => parsers}/js.c | 0 ctags/{main => parsers}/json.c | 0 ctags/{main => parsers}/latex.c | 0 ctags/{main => parsers}/lua.c | 0 ctags/{main => parsers}/make.c | 0 ctags/{main => parsers}/markdown.c | 0 ctags/{main => parsers}/matlab.c | 0 ctags/{main => parsers}/nsis.c | 0 ctags/{main => parsers}/objc.c | 0 ctags/{main => parsers}/pascal.c | 0 ctags/{main => parsers}/perl.c | 0 ctags/{main => parsers}/php.c | 0 ctags/{main => parsers}/powershell.c | 0 ctags/{main => parsers}/python.c | 0 ctags/{main => parsers}/r.c | 0 ctags/{main => parsers}/rest.c | 0 ctags/{main => parsers}/ruby.c | 0 ctags/{main => parsers}/rust.c | 0 ctags/{main => parsers}/sh.c | 0 ctags/{main => parsers}/sql.c | 0 ctags/{main => parsers}/tcl.c | 0 ctags/{main => parsers}/txt2tags.c | 0 ctags/{main => parsers}/verilog.c | 0 ctags/{main => parsers}/vhdl.c | 0 src/tagmanager/Makefile.am | 3 +- 47 files changed, 89 insertions(+), 94 deletions(-) commit 18b7527fcc237053716c5b8d54a15c1d36dca0ef Author: Jiří Techet Date: Sat Jun 11 13:02:23 2016 +0200 Use the single-file implementation of MIO from universal-ctags The version of MIO corresponds to commit 509a47dbc in universal-ctags which contains just minimal changes mostly related to changing MIO from a library into a single ctags source file: - replaced the glib types with ordinary C types - removed the "virtual" calls and replaced them with simple if/else - made the implementation in a single file - reformatted the library to more or less match universal-ctags style - removed the MIO_FORCE_ANSI ifdef as it included some glib file and we don't really need it - added mio_flush() - of course makes sense just for the file backend (calls fflush()) - made mio_free() return error code from fclose() - changed mio_new_fp() to return NULL when the passed FILE is NULL (simplifies logic at one place in ctags and makes sense IMO) configure.ac | 1 - ctags/Makefile.am | 2 +- ctags/main/Makefile.am | 4 +- ctags/main/c.c | 2 +- ctags/main/entry.h | 3 +- ctags/main/fortran.c | 2 +- ctags/main/js.c | 2 +- ctags/main/lregex.c | 2 +- ctags/main/mio.c | 1063 ++++++++++++++++++++++++++++++++++++++++++++++ ctags/main/mio.h | 178 ++++++++ ctags/main/parse.c | 2 +- ctags/main/read.h | 2 +- ctags/mio/COPYING | 339 --------------- ctags/mio/Makefile.am | 13 - ctags/mio/README | 3 - ctags/mio/makefile.win32 | 53 --- ctags/mio/mio-file.c | 175 -------- ctags/mio/mio-memory.c | 480 --------------------- ctags/mio/mio.c | 656 ---------------------------- ctags/mio/mio.h | 221 ---------- 20 files changed, 1251 insertions(+), 1952 deletions(-) commit 3d2e7d4fcacf39c5331af5d226a5e0037b880c52 Author: Jiří Techet Date: Sat Jun 11 12:35:11 2016 +0200 Move TM into src Move the tag manager implementation to src as it really is part of Geany sources and start making the ctags directory structure similar to the universal-ctags one. In principle, the patch does mv tagmanager/src src/tagmanager mv tagmanager/ctags tagmanager/main mv tagmanager ctags plus corresponding Makefile.am and configure.ac updates. Makefile.am | 2 +- configure.ac | 8 ++++---- {tagmanager => ctags}/Makefile.am | 2 +- {tagmanager/ctags => ctags/main}/Makefile.am | 0 {tagmanager/ctags => ctags/main}/abaqus.c | 0 {tagmanager/ctags => ctags/main}/abc.c | 0 {tagmanager/ctags => ctags/main}/actionscript.c | 0 {tagmanager/ctags => ctags/main}/args.c | 0 {tagmanager/ctags => ctags/main}/args.h | 0 {tagmanager/ctags => ctags/main}/asciidoc.c | 0 {tagmanager/ctags => ctags/main}/asm.c | 0 {tagmanager/ctags => ctags/main}/basic.c | 0 {tagmanager/ctags => ctags/main}/c.c | 0 {tagmanager/ctags => ctags/main}/cobol.c | 0 {tagmanager/ctags => ctags/main}/conf.c | 0 {tagmanager/ctags => ctags/main}/css.c | 0 {tagmanager/ctags => ctags/main}/ctags.c | 0 {tagmanager/ctags => ctags/main}/ctags.h | 0 {tagmanager/ctags => ctags/main}/diff.c | 0 {tagmanager/ctags => ctags/main}/docbook.c | 0 {tagmanager/ctags => ctags/main}/entry.c | 0 {tagmanager/ctags => ctags/main}/entry.h | 0 {tagmanager/ctags => ctags/main}/erlang.c | 0 {tagmanager/ctags => ctags/main}/fortran.c | 0 {tagmanager/ctags => ctags/main}/general.h | 0 {tagmanager/ctags => ctags/main}/get.c | 0 {tagmanager/ctags => ctags/main}/get.h | 0 {tagmanager/ctags => ctags/main}/go.c | 0 {tagmanager/ctags => ctags/main}/haskell.c | 0 {tagmanager/ctags => ctags/main}/haxe.c | 0 {tagmanager/ctags => ctags/main}/html.c | 0 {tagmanager/ctags => ctags/main}/js.c | 0 {tagmanager/ctags => ctags/main}/json.c | 0 {tagmanager/ctags => ctags/main}/keyword.c | 0 {tagmanager/ctags => ctags/main}/keyword.h | 0 {tagmanager/ctags => ctags/main}/latex.c | 0 {tagmanager/ctags => ctags/main}/lregex.c | 0 {tagmanager/ctags => ctags/main}/lua.c | 0 {tagmanager/ctags => ctags/main}/main.h | 0 {tagmanager/ctags => ctags/main}/make.c | 0 {tagmanager/ctags => ctags/main}/makefile.win32 | 0 {tagmanager/ctags => ctags/main}/markdown.c | 0 {tagmanager/ctags => ctags/main}/matlab.c | 0 {tagmanager/ctags => ctags/main}/nestlevel.c | 0 {tagmanager/ctags => ctags/main}/nestlevel.h | 0 {tagmanager/ctags => ctags/main}/nsis.c | 0 {tagmanager/ctags => ctags/main}/objc.c | 0 {tagmanager/ctags => ctags/main}/options.c | 0 {tagmanager/ctags => ctags/main}/options.h | 0 {tagmanager/ctags => ctags/main}/parse.c | 0 {tagmanager/ctags => ctags/main}/parse.h | 0 {tagmanager/ctags => ctags/main}/parsers.h | 0 {tagmanager/ctags => ctags/main}/pascal.c | 0 {tagmanager/ctags => ctags/main}/perl.c | 0 {tagmanager/ctags => ctags/main}/php.c | 0 {tagmanager/ctags => ctags/main}/powershell.c | 0 {tagmanager/ctags => ctags/main}/python.c | 0 {tagmanager/ctags => ctags/main}/r.c | 0 {tagmanager/ctags => ctags/main}/read.c | 0 {tagmanager/ctags => ctags/main}/read.h | 0 {tagmanager/ctags => ctags/main}/rest.c | 0 {tagmanager/ctags => ctags/main}/ruby.c | 0 {tagmanager/ctags => ctags/main}/rust.c | 0 {tagmanager/ctags => ctags/main}/sh.c | 0 {tagmanager/ctags => ctags/main}/sort.c | 0 {tagmanager/ctags => ctags/main}/sort.h | 0 {tagmanager/ctags => ctags/main}/sql.c | 0 {tagmanager/ctags => ctags/main}/strlist.c | 0 {tagmanager/ctags => ctags/main}/strlist.h | 0 {tagmanager/ctags => ctags/main}/tcl.c | 0 {tagmanager/ctags => ctags/main}/txt2tags.c | 0 {tagmanager/ctags => ctags/main}/verilog.c | 0 {tagmanager/ctags => ctags/main}/vhdl.c | 0 {tagmanager/ctags => ctags/main}/vstring.c | 0 {tagmanager/ctags => ctags/main}/vstring.h | 0 {tagmanager => ctags}/mio/COPYING | 0 {tagmanager => ctags}/mio/Makefile.am | 0 {tagmanager => ctags}/mio/README | 0 {tagmanager => ctags}/mio/makefile.win32 | 0 {tagmanager => ctags}/mio/mio-file.c | 0 {tagmanager => ctags}/mio/mio-memory.c | 0 {tagmanager => ctags}/mio/mio.c | 0 {tagmanager => ctags}/mio/mio.h | 0 plugins/Makefile.am | 2 +- src/Makefile.am | 5 +++-- {tagmanager/src => src/tagmanager}/Makefile.am | 6 +++--- {tagmanager/src => src/tagmanager}/makefile.win32 | 0 {tagmanager/src => src/tagmanager}/tm_ctags_wrappers.c | 0 {tagmanager/src => src/tagmanager}/tm_ctags_wrappers.h | 0 {tagmanager/src => src/tagmanager}/tm_parser.c | 0 {tagmanager/src => src/tagmanager}/tm_parser.h | 0 {tagmanager/src => src/tagmanager}/tm_source_file.c | 0 {tagmanager/src => src/tagmanager}/tm_source_file.h | 0 {tagmanager/src => src/tagmanager}/tm_tag.c | 0 {tagmanager/src => src/tagmanager}/tm_tag.h | 0 {tagmanager/src => src/tagmanager}/tm_workspace.c | 0 {tagmanager/src => src/tagmanager}/tm_workspace.h | 0 97 files changed, 13 insertions(+), 12 deletions(-) commit 89d3bf71555a715ce58d7d01bf31cbb308957a5d Merge: 313b85a1 5d74eef5 Author: Colomban Wendling Date: Sat Jul 16 03:38:06 2016 +0200 Merge pull request #1137 from b4n/adwaita-fixes Custom theming fixes for Adwaita 3.20/GTK 3.20 commit 5d74eef5468400c0064148995b4985b1a2d817b2 Author: Colomban Wendling Date: Thu Jul 14 17:07:38 2016 +0200 Set custom selection color on no-match search entry on GTK2 Follows the GTK3 behavior, and avoid text becoming invisible if the selection background is too light (unlikely, but possible). data/geany.gtkrc | 1 + 1 file changed, 1 insertion(+) commit 4b163bcdab5e9ae4e167e656b4c18a4f549033f2 Author: Colomban Wendling Date: Thu Jul 14 17:06:55 2016 +0200 Restore custom selection color on no-match search entry on GTK3 data/geany.css | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) commit a35816c92fe5d43a65b3bfd83740690ce84f7420 Author: Colomban Wendling Date: Thu Jul 14 16:55:36 2016 +0200 Fix custom search entry background on Adwaita 3.20 under GTK2 Adwaita 3.20 on GTK2 uses the pixmap engine to set a background image on all states of all GtkEntries. Earlier versions did the same but with a transparent background, thus not hiding our background color. Fixes #1135, fixes #1101. data/geany.gtkrc | 9 +++++++++ 1 file changed, 9 insertions(+) commit 313b85a149dcb71940073062839087dd0245af04 Author: Matthew Brush Date: Wed Jul 13 16:06:17 2016 -0700 Move enumerator to end of enum (oops) This fixes the plugin ABI break that happened in previous commmit. src/keybindings.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 14904a18ff75926a75a648f55dcf71376cc2be23 Author: Abel 'Akronix' Serrano Juste Date: Wed Jul 13 01:23:18 2016 +0200 Added keybinding for Delete from line start to current position Closes #1134 doc/geany.txt | 3 +++ src/editor.c | 1 + src/keybindings.c | 6 ++++++ src/keybindings.h | 1 + 4 files changed, 11 insertions(+) commit 88ee4983f9f590a8d61ed6ba26d969b09af1badc Author: Jiří Techet Date: Mon Jul 11 22:35:22 2016 +0200 README: Update part regarding patch submission README | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) commit 4928ed437ce535bc4ba0e91af9fa100ec51c9f70 Author: Jiří Techet Date: Mon Jul 11 23:12:54 2016 +0200 Minor formal updates of README - slight rst formatting improvements - Mac OSX -> Mac OS - punctuation README | 29 +++++++++++++++-------------- 1 file changed, 15 insertions(+), 14 deletions(-) commit fdcf8601567d86d6097b623cd68c2f3a51bf05d0 Author: Enrico Tröger Date: Sun Jul 10 16:30:01 2016 +0200 Add the IRC command to get channel OP permissions doc/making-a-release | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 69b44afbb5a4147e55210031a34de5fc828d9972 Author: Colomban Wendling Date: Sun Jul 10 16:27:44 2016 +0200 Improve making-a-release a little doc/making-a-release | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) commit 5b6b89fd5b783b9d77c33dfce127c3bb32c0a112 Author: Colomban Wendling Date: Sun Jul 10 16:07:56 2016 +0200 Post release version bump Say hello to Geany 1.29 "Jowar"! NEWS | 3 +++ configure.ac | 2 +- doc/geany.txt | 2 +- geany.exe.manifest | 2 +- geany_private.rc | 4 ++-- src/geany.h | 2 +- win32-config.h | 2 +- 7 files changed, 10 insertions(+), 7 deletions(-) commit 06e85355f116553ab0997e756a696e765208f68d Author: Colomban Wendling Date: Sun Jul 10 14:22:20 2016 +0200 Set release date doc/geany.1.in | 2 +- doc/geany.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) commit f81a3c734d6ef0d17091fdd8c21233bd66098546 Author: Enrico Tröger Date: Sun Jul 10 12:40:32 2016 +0200 NEWS: add release date, line break and a PR prefix NEWS | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) commit 1f915bd03a768d7e732bee18e934abd9d9bcad27 Merge: 0c166678 acd4a921 Author: Enrico Tröger Date: Sat Jul 9 23:40:13 2016 +0200 Merge pull request #1108 from eht16/win32_installer_c_runtime Windows installer: C and GTK runtime installation commit 0c16667875c8850a939042c604322ee1bcffcb28 Author: Colomban Wendling Date: Sat Jul 9 22:19:07 2016 +0200 Small NEWS update NEWS | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) commit 5ce91157139cab3697c9dc099c8565134bd3eeb4 Author: Frank Lanitz Date: Sat Jul 9 14:01:26 2016 +0200 Another small update of NEWS to reflect latest changes on translations NEWS | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 7ff5580c5059a33809dadcaae691a213cddbf977 Author: RPG Date: Sat Jul 9 12:36:47 2016 +0400 Update Russian translation (#1131) po/ru.po | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) commit 6cd266186d33b86bddfc97d0a780acb097a8d091 Author: Frank Lanitz Date: Sat Jul 9 01:09:17 2016 +0200 Update NEWS for recent translation updates NEWS | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 005c8c3eae25541f14d51b12aa6e25e69ea76aba Author: zygimantus Date: Sat Jul 9 02:08:28 2016 +0300 Lithuanian translation updates (#1129) po/lt.po | 82 +++++++++++++++++++++++++--------------------------------------- 1 file changed, 32 insertions(+), 50 deletions(-) commit a260a5ac9ad7cdf915e6ee7578dce51787a8aac4 Merge: 8384e2fd 9ba7f672 Author: Colomban Wendling Date: Sat Jul 9 00:26:32 2016 +0200 Merge pull request #1126 from b4n/plugin-key-group-strings-lifetime Don't require plugin key group name and label strings to be static commit 9ba7f67238dad49e36e5754df9784f47f2c4881e Author: Colomban Wendling Date: Thu Jul 7 17:53:43 2016 +0200 Don't require plugin key group name and label strings to be static Take a copy of the strings not to require them to live live as long as the plugin does. This is mostly useful for plugins implemented in dynamic languages (e.g. through a plugin proxy), as most C plugins will use a static string here; but it makes the API more straightforward and avoids odd issues if any plugin doesn't use static strings here, even C ones. Closes #1125. src/keybindings.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) commit aafbfa02b2158ca0d1917583de1602b7434d39a0 Author: zygimantus Date: Fri Jul 8 23:27:06 2016 +0300 Lithuanian translation updates po/lt.po | 82 +++++++++++++++++++++++++--------------------------------------- 1 file changed, 32 insertions(+), 50 deletions(-) commit 8384e2fdcf4c62d0f602bf43952f2823f3e4d5af Author: Philipp Wiesemann Date: Wed Jul 6 22:42:35 2016 +0200 Fix typos in French translation (#1119) po/fr.po | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) commit 1abd2b6b668a5569cd424b0691844f5a07a5adec Author: Frank Lanitz Date: Tue Jul 5 21:16:07 2016 +0200 Update of Portuguese translation NEWS | 2 +- po/pt.po | 23 +++++++++++------------ 2 files changed, 12 insertions(+), 13 deletions(-) commit 30f8481c840d6781718b4d4ca72700093703d2ed Author: Frank Lanitz Date: Tue Jul 5 21:11:45 2016 +0200 Update of Catalan translation NEWS | 2 +- po/ca.po | 1555 +++++++++++--------------------------------------------------- 2 files changed, 258 insertions(+), 1299 deletions(-) commit 8ac5946a950e442ef198481ad56b1c3ef157c401 Author: Frank Lanitz Date: Mon Jul 4 20:44:31 2016 +0200 Update of NEWS NEWS | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit c4630c8b3f344da8a721d2a78c39361545be0a89 Author: Frank Lanitz Date: Mon Jul 4 20:43:47 2016 +0200 Update of Spanish translation po/es.po | 33 ++++++++++++++++----------------- 1 file changed, 16 insertions(+), 17 deletions(-) commit 91b63049852964fe4d9a32c5245f74c0f6c104bf Author: Colomban Wendling Date: Mon Jul 4 19:19:36 2016 +0200 Fix utils_spawn_async()::child_pid annotations src/utils.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit eb7cc73660f30d03e1412cce0149925ea5cb3d83 Author: Enrico Tröger Date: Sun Jul 3 11:30:30 2016 +0200 Ignore generated doc/doxygen_* files For example "doc/doxygen_sqlite3.db" is created on Windows/MSYS2. .gitignore | 1 + 1 file changed, 1 insertion(+) commit 8925ddb5d4ff008d4bd016f2e7b5c01cf08e3301 Author: Enrico Tröger Date: Sun Jul 3 11:22:00 2016 +0200 Ignore generated file src/geany_private.res The location of the file changed since we are using MSYS2. .gitignore | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 296ad2488d375b217f199a15126e88dd9a979780 Merge: 6a4cb61a 613bb135 Author: Frank Lanitz Date: Sat Jul 2 19:34:13 2016 +0200 Merge pull request #1109 from andrej-herceg/sk-po Update of Slovak translation commit 613bb135c0b6e215b612cb8d991161daa6c44695 Author: Andrej Herceg Date: Sat Jul 2 16:02:37 2016 +0200 Update of Slovak translation po/sk.po | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) commit acd4a92199e03b65a3f099cdc785bae89e379f20 Author: Enrico Tröger Date: Sat Jul 2 14:46:05 2016 +0200 Windows installer: Add C runtime libraries to default installation While the installation of the GTK runtime environment is optional, we need the C runtime environment in every case and so install it unconditionally. geany.nsi.in | 4 ++++ 1 file changed, 4 insertions(+) commit 6a4cb61a554a01c542a5b829a8bd6e5aa89b0008 Author: Enrico Tröger Date: Sat Jul 2 14:39:13 2016 +0200 Windows installer: copyright and NSIS version update geany.nsi.in | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 4a150096ca1a8096fbe74a2fc05e8e51f5858df4 Author: Frank Lanitz Date: Sat Jul 2 11:24:17 2016 +0200 Change a proposition at German translation based upon a suggestion from i18n mailing list po/de.po | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 1a817910edab5433ea30b7fa74d16ff0f4a023dd Author: Frank Lanitz Date: Sat Jul 2 11:19:03 2016 +0200 Update of Japanese translation NEWS | 2 +- po/ja.po | 86 +++++++++++++++++++++++++--------------------------------------- 2 files changed, 35 insertions(+), 53 deletions(-) commit 8cda93063409820103dc04fa2619a684dd04a30d Author: Frank Lanitz Date: Sat Jul 2 11:14:08 2016 +0200 Correct string in German translation to be more clear po/de.po | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit be73ff0f5ab8a56085e66c2019597cf211a07af7 Merge: 52f4f731 85f7f934 Author: Frank Lanitz Date: Sat Jul 2 00:33:51 2016 +0200 Merge pull request #1106 from philippwiesemann/fix-po-de-fuzzy Fix fuzzy entries in German translation commit 85f7f9344ce8b6de8c1765444a7fa02d138d521c Author: Philipp Wiesemann Date: Fri Jul 1 23:07:07 2016 +0200 Fix fuzzy entries in German translation po/de.po | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) commit 52f4f731467f3b582ab7267c3e314b8ce1c7c734 Author: Frank Lanitz Date: Fri Jul 1 11:17:42 2016 +0200 Update NEWS for recent i18n updates NEWS | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit af48d2fac7d3403c0aa5fbeaea6f5a2512e50a4e Merge: 87ab6052 d084c6ba Author: Frank Lanitz Date: Fri Jul 1 11:16:56 2016 +0200 Merge pull request #1105 from xhacker/update-zh-cn Update zh_CN translation commit d084c6ba41a505dc95c561086efa4b56f2ed53fc Author: 柳东原 LIU Dongyuan Date: Fri Jul 1 00:53:30 2016 -0700 Update zh_CN translation po/zh_CN.po | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) commit 87ab6052bdd59a1afb3d155a858c43208fd50de7 Author: Colomban Wendling Date: Fri Jul 1 01:52:05 2016 +0200 CSS: Add missing `:last-child` pseudo-class Fixes #1102. data/filedefs/filetypes.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit a14a492c32804a8c5c43c9a229a7d6cebfa81339 Merge: f9ea9c4e e7a316f7 Author: Frank Lanitz Date: Thu Jun 30 23:18:57 2016 +0200 Merge pull request #1103 from giuspen/giuspen updated it.po for upcoming 1.28 commit e7a316f769430fc58ba3a251a5f452a3f2085e12 Author: Giuseppe Penone Date: Thu Jun 30 19:09:23 2016 +0100 updated it.po for upcoming 1.28 po/it.po | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) commit f9ea9c4e26d16aa6a394de5c245a6d3b24f6e3f8 Merge: 0dbe74a0 b1267cc8 Author: Colomban Wendling Date: Wed Jun 29 17:45:51 2016 +0200 Merge pull request #1093 from kugel-/api-tmtag Properly expose TMTag which already contains documented members. commit b1267cc82cc271684f3d19b024469743aed93c7f Author: Colomban Wendling Date: Wed Jun 29 17:44:56 2016 +0200 api: Annotate element type for TMSourceFile::tags_array tagmanager/src/tm_source_file.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 0dbe74a02619f87429fb1d67f4c63251b3da6bfa Author: Colomban Wendling Date: Wed Jun 29 16:56:26 2016 +0200 autotools: Avoid listing the same files twice doc/Makefile.am | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) commit 987124d41729088f9f857530bd8c67f68b0fe4ad Author: Colomban Wendling Date: Wed Jun 29 16:23:38 2016 +0200 autotools: Fix circular dependencies in doc/ when building in srcdir Don't use wildcards that can catch generated files. While at it, also avoid Doxygen picking up those generated files. doc/Doxyfile.in | 6 +++++- doc/Makefile.am | 7 +++++-- 2 files changed, 10 insertions(+), 3 deletions(-) commit 659b277ef6861ea1b55e996e62ece24f9134a94b Author: Thomas Martitz Date: Tue Jun 28 16:52:46 2016 +0200 api: annotate element types in the TMWorkspace arrays This allows GI-based plugins to traverse/inspect the array and consequently Geany loaded tags. tagmanager/src/tm_workspace.h | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) commit cef4751fa4e6f4770770c5e20a55a11feb42ded2 Author: Thomas Martitz Date: Mon Jun 27 23:01:42 2016 +0200 doxygen: make doxygen scan necessary tagmanager files tm_tag.h and tm_parser.h contain documented symbols so doxygen shall process them. doc/Doxyfile.in | 1 + doc/Makefile.am | 4 +++- 2 files changed, 4 insertions(+), 1 deletion(-) commit 989af29bb14853f9eb793f8ea4a664188d447384 Author: Thomas Martitz Date: Mon Jun 27 22:59:56 2016 +0200 api: formally put struct TMTag into the API It's members are already documented so it's kind of half-exported anyway. Since geanygendoc already uses the structure (and I plan on writing a plugin that requires it too) just make it official. tagmanager/src/tm_tag.h | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) commit 2ebe961c9e86197ce1b6224b8d2d41b13e631889 Author: Colomban Wendling Date: Tue Jun 28 20:47:22 2016 +0200 Add missing element-type annotation for GeanyData::filetypes_by_title src/plugindata.h | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) commit 114e339a7eb6296f0ad8a0ea7764ea22dcea47c3 Author: Colomban Wendling Date: Tue Jun 28 20:46:24 2016 +0200 Restore element-type annotation for GeanyData::documents_array Broken in #966. src/plugindata.h | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) commit 64edf2d3ba9918f8b7f32cc8c21c95bb41439d83 Merge: c2168714 24c8d4c3 Author: Colomban Wendling Date: Tue Jun 28 20:27:56 2016 +0200 Merge pull request #1087 from b4n/readme-autogen Improve README commit c2168714d6459d2db47408e28be993ecae01fb8e Author: Frank Lanitz Date: Tue Jun 28 20:21:41 2016 +0200 Little update of NEWS for 1.28 for recent udpated translations NEWS | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 0f721bc65a305caa35a0daffc59266dfc20a778d Author: Frank Lanitz Date: Tue Jun 28 20:21:14 2016 +0200 Update of Turkish translation po/tr.po | 223 ++++++++++++++++++++++++++++----------------------------------- 1 file changed, 98 insertions(+), 125 deletions(-) commit 8cf5569442b89fb45a8780d6e96bed1d0145598b Author: Frank Lanitz Date: Mon Jun 27 22:36:06 2016 +0200 Update of Greek translation po/el.po | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) commit 300f2f294d2424582b0b7ac0147272125d3ab318 Author: Frank Lanitz Date: Mon Jun 27 18:58:01 2016 +0200 Update po files for string freeze of Geany 1.28 po/ar.po | 1056 +++++++++++++++++++++++++-------------------------- po/ast.po | 1058 +++++++++++++++++++++++++-------------------------- po/be.po | 1058 +++++++++++++++++++++++++-------------------------- po/bg.po | 1058 +++++++++++++++++++++++++-------------------------- po/ca.po | 1058 +++++++++++++++++++++++++-------------------------- po/cs.po | 1057 +++++++++++++++++++++++++-------------------------- po/de.po | 404 ++++++++++---------- po/el.po | 664 ++++++++++++++++---------------- po/en_GB.po | 1057 +++++++++++++++++++++++++-------------------------- po/es.po | 1064 ++++++++++++++++++++++++++-------------------------- po/et.po | 1050 +++++++++++++++++++++++++-------------------------- po/eu.po | 1050 +++++++++++++++++++++++++-------------------------- po/fa.po | 1057 +++++++++++++++++++++++++-------------------------- po/fi.po | 1056 +++++++++++++++++++++++++-------------------------- po/fr.po | 176 ++++----- po/gl.po | 1058 +++++++++++++++++++++++++-------------------------- po/he.po | 1056 +++++++++++++++++++++++++-------------------------- po/hi.po | 1050 +++++++++++++++++++++++++-------------------------- po/hu.po | 1062 ++++++++++++++++++++++++++-------------------------- po/id.po | 1062 ++++++++++++++++++++++++++-------------------------- po/it.po | 1051 ++++++++++++++++++++++++++------------------------- po/ja.po | 1063 ++++++++++++++++++++++++++-------------------------- po/kk.po | 1053 +++++++++++++++++++++++++-------------------------- po/ko.po | 1062 ++++++++++++++++++++++++++-------------------------- po/lb.po | 1058 +++++++++++++++++++++++++-------------------------- po/lt.po | 1056 +++++++++++++++++++++++++-------------------------- po/mn.po | 1058 +++++++++++++++++++++++++-------------------------- po/nl.po | 1204 ++++++++++++++++++++++++++++++----------------------------- po/nn.po | 1049 +++++++++++++++++++++++++-------------------------- po/pl.po | 1058 +++++++++++++++++++++++++-------------------------- po/pt.po | 673 +++++++++++++++++---------------- po/pt_BR.po | 1058 +++++++++++++++++++++++++-------------------------- po/ro.po | 1058 +++++++++++++++++++++++++-------------------------- po/ru.po | 1065 ++++++++++++++++++++++++++-------------------------- po/sk.po | 1062 ++++++++++++++++++++++++++-------------------------- po/sl.po | 1057 +++++++++++++++++++++++++-------------------------- po/sr.po | 1058 +++++++++++++++++++++++++-------------------------- po/sv.po | 1058 +++++++++++++++++++++++++-------------------------- po/tr.po | 1057 +++++++++++++++++++++++++-------------------------- po/uk.po | 1058 +++++++++++++++++++++++++-------------------------- po/vi.po | 1058 +++++++++++++++++++++++++-------------------------- po/zh_CN.po | 1060 ++++++++++++++++++++++++++-------------------------- po/zh_TW.po | 1056 +++++++++++++++++++++++++-------------------------- 43 files changed, 22003 insertions(+), 21298 deletions(-) commit 24c8d4c3ebf8086a209ec6820a7b51a5dcb70d00 Author: Enrico Tröger Date: Mon Jun 27 16:10:57 2016 +0200 README: Further improve installation instructions README | 41 +++++++++++++++++++++++++++-------------- 1 file changed, 27 insertions(+), 14 deletions(-) commit 076f510e8c0ceb6e49cd2f871cb1ab43fc2ecd5b Author: Colomban Wendling Date: Sun Jun 26 14:03:34 2016 +0200 README: Update year README | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 4401dc7268708a8c788d67ca9bbd2d66618d887d Author: Enrico Tröger Date: Sun Jun 26 13:54:33 2016 +0200 README: Update Windows section README | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) commit 513d4bcd20404c05f5a97a39d8c5aa79edcae32b Author: Colomban Wendling Date: Sat Jun 25 16:55:05 2016 +0200 README: State we like Git-formatted patches too README | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) commit 3fcacc6ae5b3865943d59f2d92355df41df3f0b0 Author: Colomban Wendling Date: Sat Jun 25 16:54:52 2016 +0200 README: Advertise we have plugin support README | 1 + 1 file changed, 1 insertion(+) commit 754f4c5721c2cf037fd86d4f727ebe8277ef55fe Author: Colomban Wendling Date: Sat Jun 25 16:52:17 2016 +0200 README: Fix reSt syntax and improve some styling README | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) commit cf631fb2571f8bb6b889070019f3cf91007a8999 Author: Colomban Wendling Date: Sat Jun 25 16:48:56 2016 +0200 README: Extend build instructions README | 42 ++++++++++++++++++++++++++++++------------ 1 file changed, 30 insertions(+), 12 deletions(-) commit 945f10cd6001dfd7ab61af9b3b23d723aa7c74e1 Author: Colomban Wendling Date: Sat Jun 25 16:59:32 2016 +0200 Add a README.rst link for GitHub to know the format and render it README.rst | 1 + 1 file changed, 1 insertion(+) commit 65988f51f0634d29d4454602f367f03f925fc6d2 Author: Colomban Wendling Date: Sat Jun 25 16:15:08 2016 +0200 style: Reduce scope of several variables No behavioral changes. src/callbacks.c | 10 ++++------ src/document.c | 26 ++++++++++++-------------- src/editor.c | 17 +++++++++-------- src/encodings.c | 3 ++- src/keyfile.c | 4 ++-- src/msgwindow.c | 4 ++-- src/prefs.c | 3 ++- src/search.c | 4 ++-- src/sidebar.c | 3 +-- src/socket.c | 3 +-- src/symbols.c | 4 ++-- src/templates.c | 14 ++++++-------- src/toolbar.c | 12 ++++++++---- src/tools.c | 4 ++-- src/ui_utils.c | 14 ++++++-------- src/vte.c | 21 ++++++++------------- 16 files changed, 69 insertions(+), 77 deletions(-) commit a7570e84f02a1e4517677db033f399a66f49cfd4 Author: Erik de Castro Lopo Date: Fri Jun 24 03:00:49 2016 +0200 ctags: Avoid unnecessary and hard-to-read use of the comma operator Closes #1074. X-Universal-CTags-Commit-ID: 91c6773373864da345a7a9e0f5bd01a25588471c tagmanager/ctags/get.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) commit 7bc84224bfc53d6367b559187d2a5e8f2da199b7 Author: Colomban Wendling Date: Fri Jun 24 00:24:02 2016 +0200 README: Mention additional dependencies when building from Git Fixes #756. README | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) commit 93977f4ad10cb767ff40c9575ce9dc6e696d6542 Author: Colomban Wendling Date: Fri Jun 24 00:17:04 2016 +0200 HACKING: Update instructions to add a tags parser HACKING | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) commit 2ec9e1b0328d064a20b3158678994aced0eeca85 Author: Colomban Wendling Date: Fri Jun 24 00:16:02 2016 +0200 HACKING: Update Universal-CTags URL HACKING | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit f570d408ebe7ea7c47855cc5f982877f7bdbdb2a Author: Colomban Wendling Date: Thu Jun 23 23:56:39 2016 +0200 Update NEWS preparing for next release NEWS | 37 ++++++++++++++++++++++++++++++++++++- 1 file changed, 36 insertions(+), 1 deletion(-) commit b7c121963602f9f5450359d64c14a1b504e33f8b Author: Colomban Wendling Date: Thu Jun 23 23:55:15 2016 +0200 Small update of the French translation po/fr.po | 986 ++++++++++++++++++++++++++++++++------------------------------- 1 file changed, 501 insertions(+), 485 deletions(-) commit 6e9c126b3314769c2a769bf446f25b93375e4774 Author: Colomban Wendling Date: Thu Jun 23 23:41:31 2016 +0200 TM: Don't call tm_tags_dedup() on a NULL array tagmanager/src/tm_workspace.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) commit d6c98f5ae671a2fd0cb5102a9927a4c2f34f4986 Merge: 5ad6316e 72482e8e Author: Colomban Wendling Date: Thu Jun 23 23:34:19 2016 +0200 Merge pull request #966 from codebrainz/private-globals Privatize global and publicize docs commit 72482e8e328d9a39c5d9a9c997ff0b22200d802d Author: Colomban Wendling Date: Thu Jun 23 23:30:39 2016 +0200 docs: Fix references to renamed symbols src/document.c | 4 ++-- src/document.h | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) commit 5ad6316e7b4a39b9212d53c142c70ddb09fde323 Merge: c5f95072 ec15b6f5 Author: Colomban Wendling Date: Thu Jun 23 23:15:23 2016 +0200 Merge pull request #1038 from kugel-/gi-signals Fix signals for GI commit ec15b6f5298b4a03b96a46ea49c13153450594df Author: Colomban Wendling Date: Sat Jun 18 18:40:20 2016 +0200 scripts/cross-build-mingw.sh: Use newer support libraries with GTK2 Combine the libraries from the GTK3 bundle with GTK from the GTK2 one to get newer GLib & co for GTK2 builds. scripts/cross-build-mingw.sh | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) commit 314a5c180ee6489248e9f94306a53ab623d68178 Author: Thomas Martitz Date: Tue May 17 13:01:34 2016 +0200 geanyobject: properly register signals If possible, register signals with the proper argument types (boxed or gobject). This is required for successful introspection of the signals and important for GI-based plugins. As for the marshallers, if available use a predefined one from glib. Otherwise use the generic marshaller available since 2.30 (in theory all signals could use that one but it has a bit of overhead). This builds on the gboxed conversions of earlier commits. This also bumps the minimum glib requirement. - g_cclosure_marshal_generic requires 2.30 (if NULL is passed as marshaller to g_signal_new()) - G_TYPE_KEYFILE requires 2.32 configure.ac | 9 +-- src/geanyobject.c | 213 ++++++++++-------------------------------------------- 2 files changed, 40 insertions(+), 182 deletions(-) commit c5f9507207b1610609bcea1ad9e71f40efabb7fc Merge: 586e64b8 bd2bec65 Author: Colomban Wendling Date: Thu Jun 23 20:02:45 2016 +0200 Merge pull request #1071 from erikd/master geany.desktop.in: Add Keywords field entry commit 586e64b842b2a77958bafd8f8b443b2436997c49 Merge: fda89798 d097e8cd Author: Colomban Wendling Date: Thu Jun 23 19:38:25 2016 +0200 Merge pull request #527 from techee/eol_undo Fix undo of line end type change commit d097e8cd05c5af53dedf340f421adc066af25a38 Author: Jiří Techet Date: Thu Jun 23 18:15:21 2016 +0200 Make UNDO_ENCODING updates similar to other updates Simply call ui_update_statusbar() and ui_document_show_hide() like in other undo actions. src/document.c | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) commit 6a3a53f421a6868ca041352ac04c91e67886b458 Author: Jiří Techet Date: Thu Jun 23 18:10:50 2016 +0200 Fix undo of line end type change At the moment undo of line end type change only undos the changes made in the document but the different line ending settings remains active. This patch fixes the issue by combining the line end scintilla undo action with a new UNDO_EOL action responsible for updating the line ending settings. Fixes #409 src/callbacks.c | 7 +++++++ src/document.c | 38 ++++++++++++++++++++++++++++++++++++++ src/documentprivate.h | 1 + 3 files changed, 46 insertions(+) commit c6f1fadf0bd1517ae426f71fc702e691f1050f21 Author: Thomas Martitz Date: Tue May 31 09:07:10 2016 +0200 plugin api: export scnotification_get_type Updated scintilla_changes.patch accordingly scintilla/gtk/ScintillaGTK.cxx | 1 + scintilla/scintilla_changes.patch | 8 ++++++++ 2 files changed, 9 insertions(+) commit 2acba3dc3193176f447a06d4ac03c561da1ad978 Author: Thomas Martitz Date: Tue May 17 12:46:49 2016 +0200 plugin api: export geanyobject geanyobject can be used by plugins to connect to plugin signals directly (required for GI-based plugins). Access through GeanyData::object. The related doxygen comments are @gironly for now, since plugin_signal_connect() is still preferred. Finally, the useless function pointer prototypes are removed from the GeanyObjectClass structure as they became useless (they have been unused and generally wrong since ever). src/geanyobject.c | 6 ++++++ src/geanyobject.h | 25 ++++--------------------- src/plugindata.h | 6 ++++++ src/plugins.c | 3 ++- 4 files changed, 18 insertions(+), 22 deletions(-) commit be64b177ca0308ba1fa4b8a14d6b22bd2326e6ef Author: Thomas Martitz Date: Wed Apr 27 16:33:51 2016 +0200 plugin api: convert GeanyEditor to GBoxed internally GeanyObject signals require GTypes to be gobject-introspection compatible. src/editor.c | 12 ++++++++++++ src/editor.h | 4 ++++ 2 files changed, 16 insertions(+) commit 7702a4639b5ce711ce1560bb14d4c94cf5e5de28 Author: Thomas Martitz Date: Wed Apr 27 16:30:50 2016 +0200 plugin api: convert GeanyFiletype to GBoxed internally GeanyObject signals require GTypes to be gobject-introspection compatible. src/filetypes.c | 12 ++++++++++++ src/filetypes.h | 3 +++ 2 files changed, 15 insertions(+) commit 60fb01d6db459cd03a2cbe8e77e1d4b46920e933 Author: Thomas Martitz Date: Wed Apr 27 16:26:58 2016 +0200 plugin api: convert GeanyDocument to GBoxed internally GeanyObject signals require GTypes to be gobject-introspection compatible. src/document.c | 12 ++++++++++++ src/document.h | 3 +++ 2 files changed, 15 insertions(+) commit fda89798a468c65afc1c0d56d0cf9b68a0f98dea Merge: 9a471d33 756d3ce5 Author: Enrico Tröger Date: Mon Jun 20 23:07:10 2016 +0200 Merge pull request #912 from eht16/spawn_debug_output Allow spawn debug output also with GEANY_DEBUG commit 9a471d336dc74699bcf78561a3d47f80f2e2b874 Merge: a57a10b2 871a9089 Author: Enrico Tröger Date: Mon Jun 20 23:06:39 2016 +0200 Merge pull request #1079 from eht16/win32_open_uri_error_handling2 Win32: Add UI error message if an URL could not be opened commit 871a9089b471657ce59442643ebebe2b4a38517f Author: Enrico Tröger Date: Mon Jun 20 01:13:45 2016 +0200 Win32: Add UI error message if an URL could not be opened src/win32.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit a57a10b20124d8709772dc5e4f01d12315dbed87 Merge: b28d14bb 6aaaba6b Author: Enrico Tröger Date: Mon Jun 20 23:03:08 2016 +0200 Merge pull request #1080 from eht16/issue1077_runcmd_error_message Improve error message on Build->Run errors commit 6aaaba6b41119cfbe3705d0c993a5cac3223f085 Author: Enrico Tröger Date: Mon Jun 20 01:39:56 2016 +0200 Improve error message on Build->Run errors Reword the error message and use the full executed command line in the error message, not only the configured Terminal command. Fixes #1077. src/build.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) commit b28d14bb2be30180472635568785cbb1ef3f3369 Author: Enrico Troeger Date: Fri Jun 17 20:42:49 2016 +0200 Windows: Add new indirect dependencies to the bundle scripts/gtk-bundle-from-msys2.sh | 2 ++ 1 file changed, 2 insertions(+) commit bd2bec655d45dabe4ff4e0be1d0cdd10702519b8 Author: Erik de Castro Lopo Date: Tue Jun 14 20:18:59 2016 +1000 geany.desktop.in: Add Keywords field entry This entry matches the `Keywords` field in Gedit. geany.desktop.in | 1 + 1 file changed, 1 insertion(+) commit 8a67c094ea3cc68990490e5f307bbc0aa78b17bc Merge: 0ec12ca1 be4ed86f Author: Frank Lanitz Date: Thu Jun 16 09:04:02 2016 +0200 Merge pull request #1073 from philippwiesemann/change-java-template Change array type syntax in Java file template commit be4ed86f35808e36d0d8e62afcb8af30cff18c20 Author: Philipp Wiesemann Date: Wed Jun 15 23:05:09 2016 +0200 Change array type syntax in Java file template Square brackets following the element type are more common. data/templates/files/main.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 0ec12ca11d348e32d30bbf8298307199f027dbdd Author: Frank Lanitz Date: Sun Jun 12 14:44:59 2016 +0200 Minor update of German translation po/de.po | 476 ++++++++++++++++++++++++++++++++------------------------------- 1 file changed, 239 insertions(+), 237 deletions(-) commit d1d0eb618694062efa2b6de8b118fd61d3230c96 Merge: f4890438 50123626 Author: Jiří Techet Date: Sat Jun 11 10:21:07 2016 +0200 Merge pull request #1068 from b4n/tm/run-tests TM: Fix actually running the mapping self-tests commit f489043864b644216ccecd9415abbf4b850a130f Merge: 021bbfb8 064a2897 Author: Colomban Wendling Date: Sat Jun 11 01:09:49 2016 +0200 Merge pull request #946 from techee/scintilla_quartz Enable buffered draw on newer GTK versions on OS X commit 50123626c756ff7fe2f87c023252132936ead69e Author: Colomban Wendling Date: Sat Jun 11 01:02:54 2016 +0200 TM: Fix actually running the mapping self-tests tagmanager/src/tm_workspace.c | 1 + 1 file changed, 1 insertion(+) commit 021bbfb82b7adc54907511606e2def3ce5bf526c Merge: 60147a8c 20e36815 Author: Colomban Wendling Date: Fri Jun 10 23:47:57 2016 +0200 Merge pull request #958 from techee/goto_popup Improve Goto Symbol popup contents commit 60147a8c8dafc453a244c5b2329a1dc93aac10f7 Merge: 7fbe6ad8 c7bf89a4 Author: Colomban Wendling Date: Fri Jun 10 23:30:02 2016 +0200 Merge pull request #857 from techee/cpp_h Treat the "h" extension as a C++ file commit 7fbe6ad83242fad6ef32ac56e64ab0ff7882e467 Merge: e328434a 27e44555 Author: Colomban Wendling Date: Fri Jun 10 23:09:09 2016 +0200 Merge pull request #957 from techee/ctags_hook TagManager cleanups commit 27e445550285f2ee8785ad84822c3463a238f95c Author: Jiří Techet Date: Thu Jun 9 10:30:07 2016 +0200 Drop g_list_reverse() Since the original include list is already reordered by the hash table, it makes no sense to reverse the resulting list as it's in a different order anyway. tagmanager/src/tm_workspace.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 379eefa831595fa98e3f6841967bae26075d12c6 Author: Jiří Techet Date: Thu Jun 9 10:24:47 2016 +0200 Use '\0' for non-existent tag kind instead of '-' Shouldn't collide with real tag kind symbols and a non-visible character is more probably unused by ctags than a visible one. tagmanager/src/tm_parser.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 20e368155812e611f2ec991273b05fae914f1c45 Author: Jiří Techet Date: Thu Jun 9 10:01:59 2016 +0200 Try harder when definition/declaration was not found Even when we know when should be searching for definition (or declaration), we can keep searching for the opposite type too when we didn't find anything with the "correct" def/decl type. So at least we find "something" of that name. src/symbols.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) commit ca8ef9643e7ca347a03875798fa1bbd122e9c917 Author: Jiří Techet Date: Thu Jun 9 09:41:09 2016 +0200 Add parentheses in an if to make the condition more clear src/symbols.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit e328434a1fb1a42289ca1b4f28f03d143d5f048b Merge: 81a5b771 3dda6180 Author: Colomban Wendling Date: Wed Jun 8 23:54:39 2016 +0200 Merge pull request #980 from cjmayo/ecma_classes javascript: Add ECMAScript 6 classes keywords commit 81a5b771b51c45a11584e091ba0995984e1f4495 Author: Colomban Wendling Date: Wed Jun 8 12:30:03 2016 +0200 scripts/cross-build-mingw.sh: Allow to specify the build directory This can be useful to maintain 2 separate build directories in parallel, i.e. for GTK2 and 3 builds. scripts/cross-build-mingw.sh | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) commit d95111d4cd02e51eac90f814c4cd24ed8014a4c6 Merge: 9bc5857f 9356514e Author: Colomban Wendling Date: Tue May 31 16:53:29 2016 +0200 Merge pull request #1039 from techee/highlight_fix2 Fix inconsistent typename highlighting updating. Closes #1020, #1022. commit 9bc5857f899016efab507419e538fe67c0118c09 Author: Masatake YAMATO Date: Fri May 20 09:18:58 2016 +0900 make: fix a typo in parenthesis handling Signed-off-by: Masatake YAMATO Signed-off-by: Colomban Wendling X-Universal-CTags-Commit-ID: 39c1236cc1a40aac6b93c60537d30489912bbbb2 X-Universal-CTags-Issue: universal-ctags/ctags#944 tagmanager/ctags/make.c | 2 +- tests/ctags/Makefile.am | 1 + tests/ctags/make-parentheses.mak | 6 ++++++ tests/ctags/make-parentheses.mak.tags | 5 +++++ 4 files changed, 13 insertions(+), 1 deletion(-) commit b007cc009ef609a4b7fc77876113b906eb5e52b2 Author: Colomban Wendling Date: Mon May 30 12:22:24 2016 +0200 Remove redundant typedef with new Scintilla that breaks Windows builds src/editor.h | 2 -- 1 file changed, 2 deletions(-) commit 916c41e1e6eb8603078f18dfba3645a40f178e8a Merge: d7750a44 04296390 Author: Colomban Wendling Date: Thu May 26 19:23:08 2016 +0200 Merge branch 'scintilla/update-366' commit 04296390dea9d7e288adb7b559badf803b60dff8 Author: Colomban Wendling Date: Sun May 22 20:16:16 2016 +0200 scintilla: Don't build with C++11 regex support It seems to cause some compatibility issues with some current compilers and we don't use it nor need it for extended regex support, so stay on the safe side at least for the moment. scintilla/Makefile.am | 2 +- scintilla/gtk/makefile.win32 | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) commit 934b47158cb0a45457949ebd541ba9457a172721 Author: Colomban Wendling Date: Sun May 22 20:06:38 2016 +0200 scintilla: Remove obsolete flag building Scintilla `-DG_THREADS_IMPL_NONE` was a hack, and it has no effect since 3.6.5, so drop it altogether. scintilla/Makefile.am | 2 +- scintilla/gtk/makefile.win32 | 10 ++-------- 2 files changed, 3 insertions(+), 9 deletions(-) commit 64025cfcfc1582f2aff58f9933f0d49ba080a6cf Author: Colomban Wendling Date: Sun May 22 20:02:28 2016 +0200 Update Scintilla to version 3.6.6 scintilla/gtk/Converter.h | 31 ++++++--------- scintilla/gtk/PlatGTK.cxx | 16 ++++---- scintilla/gtk/ScintillaGTK.cxx | 60 +++++++++++++++++++---------- scintilla/gtk/scintilla-marshal.c | 73 +++++++++++++++++++++++++++--------- scintilla/gtk/scintilla-marshal.h | 25 ++++++++---- scintilla/gtk/scintilla-marshal.list | 3 +- scintilla/include/Scintilla.h | 9 ++++- scintilla/include/Scintilla.iface | 2 +- scintilla/include/ScintillaWidget.h | 8 +++- scintilla/scintilla_changes.patch | 28 -------------- scintilla/src/Document.cxx | 6 +-- scintilla/src/Editor.cxx | 6 ++- scintilla/src/Editor.h | 1 + scintilla/version.txt | 2 +- 14 files changed, 160 insertions(+), 110 deletions(-) commit 9356514e457c34da3169b6531862b538e1a961bb Author: Jiří Techet Date: Tue May 17 22:58:47 2016 +0200 Perform typename re-colourisation only when typename list changes To detect the change of typename list since the last time the colourisation happened, we could store the complete typename string used during the last colourization and compare it with the current string. For lots of typenames this might be quite a huge string stored for every opened tab (well, it's also stored in Scintilla already for every document but better not to have it twice). Instead, we can store an uint hash of the string. We could also use a better hash function with longer hash value but uint size should be enough for this case (and in the case of a collision nothing terrible happens). src/document.c | 11 +++++++++-- src/documentprivate.h | 1 + 2 files changed, 10 insertions(+), 2 deletions(-) commit 9313b17559f4ea60acae95db96523dbd02c80e35 Author: Jiří Techet Date: Tue May 17 22:09:48 2016 +0200 Don't accumulate multiple colourises I don't know if this ever happens but the check shouldn't hurt. src/document.c | 3 +++ 1 file changed, 3 insertions(+) commit 4896db17fe3e943981fddd9a816cf3df35e1ef63 Author: Jiří Techet Date: Tue May 17 22:04:28 2016 +0200 Revert "Colourise only the visible area when highlighting typenames" This reverts commit b361b83276816633ac5a0d6d391b6f6e8ebe6cf1. The patch doesn't quite work e.g. when using replace to replace a typename. src/document.c | 12 ++++-------- src/documentprivate.h | 1 - src/editor.c | 26 +++++--------------------- 3 files changed, 9 insertions(+), 30 deletions(-) commit d7750a44796b0ddc1c7a8968fd53aad91382d686 Author: Colomban Wendling Date: Tue May 17 02:45:03 2016 +0200 Fix canceling keybinding overriding by discarding the dialog Properly handle discarding the dialog asking whether to override a keybinding as canceling it rather than as allowing multiple identical keybindings. In the way, simplify and fix dialogs_show_prompt() not to perform odd and useless response mapping that effectively go round back, and that don't handle what the comment above it suggests. Simply document it can return GTK_RESPONSE_DELETE_EVENT and handle it in the caller side, as it's a possibly valuable information. Only one current caller is affected, and it doesn't change anything as it doesn't change behavior but only documents it. Closes #714. src/dialogs.c | 8 ++------ src/prefs.c | 2 +- 2 files changed, 3 insertions(+), 7 deletions(-) commit 96818888069f8c5d7a1b5d3e1d3f9a4d73c7ffb7 Merge: b81f41ce 854a5d5a Author: Colomban Wendling Date: Sun May 15 15:58:05 2016 +0200 Merge pull request #1014 from b4n/streamline-builtin-tags Streamline builtin tags commit b81f41ce3288dc3c83612ce71e4aef11d1639557 Merge: cb8151b2 175d9873 Author: elextr Date: Sat May 14 19:36:24 2016 +1000 Merge pull request #1024 from Yanpas/java-review Reviewed java keywords commit cb8151b29b22e3248092e8d697c77423832d8992 Author: Colomban Wendling Date: Wed May 11 23:00:37 2016 +0200 GTK: Avoid possible IdleWork() calls on destructed objects The idle callback removal clause in the ScintillaGTK destructor got broken in the last Scintilla update [1], leading to the callback not being removed thus possibly running after the instance destruction. Indeed, gdk_threads_add_idle() wraps g_idle_add() with a custom user data, thus making the g_source_remove_by_user_data() call in the destructor incorrect, as we give it our own user data, not GDK's wrapper one. Fix the callback removal not to use user data matching to avoid this. Closes #1033. [1] https://sourceforge.net/p/scintilla/code/ci/4e5c321dda8e69104cb7b639c3107dc11dbc00f6/ X-Scintilla-Bug-URL: https://sourceforge.net/p/scintilla/bugs/1827/ X-Scintilla-Commit-ID: d889200cd9de032e278745f48b9c3108ccfa5984 scintilla/gtk/ScintillaGTK.cxx | 21 ++++++++++++++++----- scintilla/src/Editor.h | 4 +--- 2 files changed, 17 insertions(+), 8 deletions(-) commit 8ca8b26051ddb81130a81d053dd975725970f8cf Merge: a291a423 6b608974 Author: elextr Date: Thu May 12 17:54:30 2016 +1000 Merge pull request #1029 from AleXoundOS/AleXoundOS-patch-2 Fix Haskell single line comments by adding space commit 6e89ee5ebef888e5d07407d33ffb4d455831e752 Author: Jiří Techet Date: Fri May 6 22:00:14 2016 +0200 Check for fclose() success tagmanager/src/tm_workspace.c | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) commit b959801d8f03e83bf58333f047f8314ec2e401c7 Author: Jiří Techet Date: Fri May 6 21:56:47 2016 +0200 Rename append_to_temp_file() to combine_include_files() tagmanager/src/tm_workspace.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 7fe549d4803442ef0efa71deb04d759cfcda2013 Author: Jiří Techet Date: Fri May 6 21:47:04 2016 +0200 Make sure not to leak tmp_errfile if only outf creation fails tagmanager/src/tm_workspace.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) commit 084c23bbb163fd95d00e2032698ec3371d366693 Author: Jiří Techet Date: Fri May 6 21:43:50 2016 +0200 Use g_strdup() instead of strdup() tagmanager/src/tm_workspace.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit bd9d26a0d121f9bcabd2fcce26fb5c77b7bfa81a Author: Jiří Techet Date: Fri May 6 21:42:13 2016 +0200 Fix crash in lookup_includes() Right now geany -g foo.c.tags \" makes Geany crash. tagmanager/src/tm_workspace.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) commit 9ae93e34a00bcc2e3f3a8c672443f5d5db177ce8 Author: Jiří Techet Date: Fri May 6 21:08:24 2016 +0200 Check return value of write_tag() If we were strict, we should check every single fprintf() int write_tag() but it's highly improbable that some of the middle fprintf()s fail and the last one doesn't so the current implementation of write_tag() is probably sufficient. tagmanager/src/tm_source_file.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) commit 8c27ea1042e56cce7031545155a294cd4ff18cc8 Author: Jiří Techet Date: Fri May 6 17:34:26 2016 +0200 Remove invalid part of a comment tagmanager/src/tm_source_file.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) commit c05e3eabf14df61d7de54a18f713cb50ef2dc8b8 Author: Jiří Techet Date: Fri May 6 17:29:54 2016 +0200 Split tm_ctags_callback into two One to inform about a new tag, the other informing about a start of a new pass. tagmanager/src/tm_ctags_wrappers.c | 12 ++++++------ tagmanager/src/tm_ctags_wrappers.h | 14 ++++++++++---- tagmanager/src/tm_source_file.c | 28 ++++++++++++---------------- 3 files changed, 28 insertions(+), 26 deletions(-) commit 9b188a20ef77410891231ff36fa950286be1cb8d Author: Jiří Techet Date: Fri May 6 17:06:57 2016 +0200 Use g_error() instead of g_warning() in parser type verification tagmanager/src/tm_parser.c | 21 ++++++--------------- 1 file changed, 6 insertions(+), 15 deletions(-) commit f147f36dafd3c3241c159faf9ac533b7b7d9c7ed Author: Colomban Wendling Date: Thu May 5 14:37:18 2016 +0200 Reduce some repetitions in tag type mapping code * Use a streamlined name for each map, `map_LANGUAGE`, where `LANGUAGE` is the CTags parser name from tm_parser.h. This allows some further automation. * Make sure the maps are referenced at the correct index in `parser_map`, even if they were not in the same order as in the `TMParserType` enumeration by using explicit sub-object initializers. * As explicit sub-object initialization might lead to a missing initializer for a non-last index going unnoticed, add a check for uninitialized entries to properly reject them even for regex parsers. tagmanager/src/tm_parser.c | 215 ++++++++++++++++++++++++--------------------- 1 file changed, 117 insertions(+), 98 deletions(-) commit 0833974e1ed460f1c36b3e2408726345f256d6a3 Author: Colomban Wendling Date: Wed May 4 19:29:24 2016 +0200 Convert parser map size check to a static assertion tagmanager/src/tm_parser.c | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) commit 4036d7d18a22af98beee1644d393e73240e3aee5 Author: Colomban Wendling Date: Wed May 4 19:09:17 2016 +0200 Remove not useless tm_source_file_ctags_init() indirection tagmanager/src/tm_source_file.c | 6 ------ tagmanager/src/tm_source_file.h | 2 -- tagmanager/src/tm_workspace.c | 3 ++- 3 files changed, 2 insertions(+), 9 deletions(-) commit fdc4510864f715248a9e83b65cc89df514714166 Author: Colomban Wendling Date: Wed May 4 19:08:43 2016 +0200 Don't use char array subscript as it may be signed tagmanager/src/tm_parser.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 6b608974c0217fab182285c71cb9991fc630629a Author: Alexander Date: Fri May 6 02:15:51 2016 +0400 Fix Haskell single line comments by adding space Haskell single line comments consist of at least two dashes "--", not followed by special symbol. So in practice everywhere in code you will see a space following "--". Reference: Haskell 2010 Language Report -> Chapter 2 -> Lexical Structure data/filedefs/filetypes.haskell | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 056e53c2c510602b9e35e79a128bdea77dd4de04 Author: Colomban Wendling Date: Wed May 4 19:01:26 2016 +0200 Make our convenience libraries more self-contained Make each convenience library depend on the ones it requires, which is pretty straightforward for us as they each only depend on a single other one, avoiding any worry about double linking of static objects. src/Makefile.am | 2 -- tagmanager/Makefile.am | 2 +- tagmanager/ctags/Makefile.am | 2 ++ tagmanager/mio/Makefile.am | 1 + tagmanager/src/Makefile.am | 2 ++ 5 files changed, 6 insertions(+), 3 deletions(-) commit 7411f9b5cf46462ff15cae6959376382f22c2613 Author: Colomban Wendling Date: Wed May 4 18:59:39 2016 +0200 Remove an unused variable tagmanager/src/tm_source_file.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 2bdc96776c62d171920b7b2a18374bc2d84577f6 Author: Colomban Wendling Date: Wed May 4 18:59:02 2016 +0200 Use proper C prototypes tagmanager/src/tm_ctags_wrappers.c | 4 ++-- tagmanager/src/tm_ctags_wrappers.h | 4 ++-- tagmanager/src/tm_source_file.c | 2 +- tagmanager/src/tm_source_file.h | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) commit 175d9873054d21f953f41b940b759c22169c6b5e Author: Yan Pashkovsky Date: Wed May 4 16:21:13 2016 +0300 Reviewed java data/filedefs/filetypes.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit a291a4239a656044f250dba5653fc3f4dac7bf9c Merge: 05870d9e f948916a Author: Colomban Wendling Date: Tue May 3 00:32:51 2016 +0200 Merge branch 'gtk-3-20-fixes' commit f948916ad07d08bdb4ede16b7ea733ff3d12ea55 Author: Colomban Wendling Date: Mon May 2 23:38:21 2016 +0200 Don't get properties of a non-current style state to please GTK 3.20 GTK 3.20 doesn't like getting a style property for a non-current state, unless the call is wrapped in a save()/restore() pair. So, fix the code to either use the current state or temporarily save the context. gb.c now uses different states, but it shouldn't really matter given how they are used, and even gives a native behavior when the window loses focus, as it now properly reacts to BACKDROP state. src/build.c | 8 +++++++- src/document.c | 2 +- src/gb.c | 7 ++++--- 3 files changed, 12 insertions(+), 5 deletions(-) commit 75063e9159bbc582e4d41b91bc187a040021e6d5 Merge: c4f56bfc bf314000 Author: Colomban Wendling Date: Mon May 2 15:26:39 2016 +0200 Merge branch 'scintilla/gtk-3-20' into gtk-3-20-fixes commit c4f56bfcd6a16d8c04ad86fb50ed9f77107cb550 Author: Colomban Wendling Date: Tue Apr 26 21:44:35 2016 +0200 Fix some custom CSS selectors to work on GTK 3.20 data/geany.css | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) commit 5851f5616e85ae3e43fd04f0ca67328fc27a8bd9 Merge: 05870d9e 62be0b9b Author: Colomban Wendling Date: Mon May 2 15:21:36 2016 +0200 Merge branch 'gtk-version-specific-css' into gtk-3-20-fixes Merges pull request #994. commit bf3140004d1618e0ae5fad1595aadf6835a97551 Author: Neil Hodgson Date: Sun May 1 08:59:04 2016 +1000 Do not call deprecated functions on newer GTK+. X-Scintilla-Bug-URL: https://sourceforge.net/p/scintilla/bugs/1825/ X-Scintilla-Commit-ID: 5e4f2e6c167ee30e2c2bfadd1b1579c3d8716c60 scintilla/gtk/ScintillaGTK.cxx | 6 ++++++ 1 file changed, 6 insertions(+) commit 0a0c9bb7ce3d58939e32a8f47e46a3624c02e22d Author: Neil Hodgson Date: Sat Apr 30 14:03:28 2016 +1000 Move function braces for consistency. X-Scintilla-Bug-URL: https://sourceforge.net/p/scintilla/bugs/1825/ X-Scintilla-Commit-ID: cdded8beb41e4a494e68b76a6bafeeae14b0d103 scintilla/gtk/PlatGTK.cxx | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) commit ba58a391c73024a9b40c638757352e171dd53333 Author: Colomban Wendling Date: Wed Apr 27 16:01:17 2016 +0200 GTK: Get border for the exact current style's state on GTK 3 GTK 3.20 doesn't seem to like it so much when looking up details of a non-exact current style context state, so use the current one. This is GTK being really picky as in this case we are just missing the `DIR_LTR` flag, which we definitely don't care about, but let's make it happy. X-Scintilla-Bug-URL: https://sourceforge.net/p/scintilla/bugs/1825/ X-Scintilla-Commit-ID: 9fc624da4a3d935633c45fb56d0e9a77ef9b5af1 scintilla/gtk/PlatGTK.cxx | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) commit abf0365e43156be12cc0a03b0a5fb6325039b6f0 Author: Colomban Wendling Date: Wed Apr 27 16:01:17 2016 +0200 GTK: Fix auto-completion popup sizing code for GTK 3.20 GTK 3.20's GtkScrolledWinodw doesn't like having a too small allocation and spews scary assertion failures. Fix that by requesting the real size we'd like instead of hard-coding 1 as small-enough value in our overriding height requisition method. The actual value doesn't really matter so long as it's small enough anyway, as we resize the popup to fit later on. Note: this moves the actual implementation of ListBoxX::GetRowHeight() to the new convenience function treeViewGetRowHeight(), with no changes in implementation. X-Scintilla-Bug-URL: https://sourceforge.net/p/scintilla/bugs/1825/ X-Scintilla-Commit-ID: 5a0afdd87d56d837dd8068e234aed8e2b6bdbe93 scintilla/gtk/PlatGTK.cxx | 63 +++++++++++++++++++++++++++++------------------ 1 file changed, 39 insertions(+), 24 deletions(-) commit 2723727ecdcc124f87f914ffe1018e4eb6d044a3 Author: Colomban Wendling Date: Wed Apr 27 16:01:17 2016 +0200 GTK: Plug a memory leak X-Scintilla-Bug-URL: https://sourceforge.net/p/scintilla/bugs/1825/ X-Scintilla-Commit-ID: 4f96ed32ebb94809ca419c0f77d37de41984cf76 scintilla/gtk/PlatGTK.cxx | 1 + 1 file changed, 1 insertion(+) commit ead0e9ee5fb6d0242a729f86991c16979ff90fae Author: Colomban Wendling Date: Wed Apr 27 16:01:17 2016 +0200 GTK: Fix fetching the frame border width on GTK 3.20 GTK 3.20 introduced a sub-node named "border" to the frame, requiring to lookup the border on that sub-node rather than on the frame itself. Unfortunately supporting this requires to be built against GTK 3.20, as it requires API this version introduced. This means that a build against an older version won't be able to get the popup sizing right if running on 3.20. To mitigate this, add reasonable fallback defaults when running 3.20 but built on an earlier version, to try and avoid X-Scintilla-Bug-URL: https://sourceforge.net/p/scintilla/bugs/1825/ X-Scintilla-Commit-ID: 83d56b1fc63a206e4c1b776f5991b3b17ccb3473 2px-scrolling on GTK 3.20's default theme. scintilla/gtk/PlatGTK.cxx | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) commit 28a99f8188724a999f74751501c1e223c2d61a7f Author: Colomban Wendling Date: Wed Apr 27 16:01:17 2016 +0200 GTK: Properly ask wText what size it wants to please GTK 3.20 It's not really of any use as we do know any size would do as wText is ours anyway, but GTK 3.20 doesn't like allocating without querying the preferred size beforehand, so do it. As wText has a size_request() of 100x100, this might change how we allocate in case we used to underallocate it, but AFAIK we don't, and it is the real minimum size expected. X-Scintilla-Bug-URL: https://sourceforge.net/p/scintilla/bugs/1825/ X-Scintilla-Commit-ID: d06e3db3e26842cd136328df17eb6f864b3adc02 scintilla/gtk/ScintillaGTK.cxx | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) commit 915e8b781c22fc2e8a3a9a3bdae227c89db01296 Author: Colomban Wendling Date: Wed Apr 27 16:01:16 2016 +0200 GTK: Fix popup font on GTK >= 3.20 X-Scintilla-Bug-URL: https://sourceforge.net/p/scintilla/bugs/1825/ X-Scintilla-Commit-ID: a28863773874af35d3cc8912ae3c028fb0462ea9 scintilla/gtk/PlatGTK.cxx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 62be0b9b9669483fa9f84aa6473b0b6e48f990a2 Author: Colomban Wendling Date: Tue Apr 26 21:40:03 2016 +0200 Fix our tab close buttons appearance on GTK 3.20 data/geany-3.20.css | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) commit 05870d9ebc409a549cc953a7148cf678147b6e83 Merge: a5a47da9 1c83b18e Author: Colomban Wendling Date: Sat Apr 30 00:22:58 2016 +0200 Merge pull request #973 from techee/osx_keybindings osx: force resync menus when changing keybindings commit a5a47da9f29dcc329eac45176073c5c47c88df44 Author: Yan Pashkovsky Date: Sat Apr 16 22:15:44 2016 +0300 classbuilder: Use .hpp instead of .h for C++ header file extension .hpp is a C++-specific extension avoiding any confusion, and better supported as C++ out of the box by Geany. Closes #999. plugins/classbuilder.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 854a5d5af826c7dfbebc50dbcf687e508d7444c5 Author: Colomban Wendling Date: Fri Apr 29 01:39:11 2016 +0200 Don't special-case tags files distributed with Geany Load those tags files just as any user tags files, removing unnecessary code redundancy. data/Makefile.am | 10 ++--- .../{html_entities.tags => entities.html.tags} | 0 data/tags/{pascal.tags => std.pas.tags} | 0 data/tags/{php.tags => std.php.tags} | 0 data/tags/{python.tags => std.py.tags} | 0 data/tags/{c99.tags => std99.c.tags} | 0 src/symbols.c | 52 +--------------------- 7 files changed, 6 insertions(+), 56 deletions(-) commit 6b262bb4ec041f4449d2736b38cf457ae9add822 Author: Colomban Wendling Date: Fri Apr 29 01:26:51 2016 +0200 Make html_entities.tags a real tags file This removes a fair amount of specific code that is just as well handled by the generic symbols completion code. data/tags/html_entities.tags | 3 +-- src/editor.c | 48 ++++---------------------------------------- src/symbols.c | 45 +++++------------------------------------ src/symbols.h | 2 -- src/utils.c | 19 ------------------ src/utils.h | 2 -- 6 files changed, 10 insertions(+), 109 deletions(-) commit 1403d352b2f38c68a10e0ce4b6eb686fbef8920d Author: Colomban Wendling Date: Fri Apr 29 01:12:20 2016 +0200 Update Scintilla to version 3.6.5 scintilla/gtk/PlatGTK.cxx | 272 +++----------------------------------- scintilla/gtk/ScintillaGTK.cxx | 49 +++---- scintilla/include/SciLexer.h | 15 +++ scintilla/include/Scintilla.iface | 17 +++ scintilla/lexers/LexCPP.cxx | 3 + scintilla/lexers/LexPython.cxx | 16 ++- scintilla/lexers/LexRust.cxx | 2 +- scintilla/lexlib/Accessor.cxx | 4 +- scintilla/lexlib/WordList.cxx | 4 +- scintilla/scintilla_changes.patch | 3 +- scintilla/src/Document.cxx | 4 +- scintilla/src/EditView.cxx | 2 +- scintilla/src/Editor.cxx | 5 +- scintilla/src/Editor.h | 2 +- scintilla/src/KeyMap.h | 1 + scintilla/src/Position.h | 15 ++- scintilla/src/RESearch.h | 2 +- scintilla/version.txt | 2 +- 18 files changed, 116 insertions(+), 302 deletions(-) commit 4374769b7c181e56bcc01e1f0117566638d5da46 Author: Quentin Glidic Date: Mon Apr 11 17:20:22 2016 +0200 ui-utils: Fix ui_path_box_new with GTK+ >= 3.20 They introduced[1] a GtkBox between the GtkEntry and the GtkComboBox to add some magic in the layout computation. [1] Signed-off-by: Quentin Glidic src/ui_utils.c | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) commit 1f392b75bfda21255349e48163ba5afe220ed55f Author: Quentin Glidic Date: Mon Apr 11 15:32:41 2016 +0200 ui-utils: Load per-version GTK+ CSS file Signed-off-by: Quentin Glidic data/Makefile.am | 5 ++++- data/geany-3.0.css | 10 ++++++++++ data/geany-3.20.css | 8 ++++++++ data/geany.css | 5 ----- geany.nsi.in | 1 + src/ui_utils.c | 20 +++++++++++++++++++- 6 files changed, 42 insertions(+), 7 deletions(-) commit f74fdd8d1ce0f1c18071d9d963fc45683f67c817 Merge: 3967ce58 ad81720d Author: elextr Date: Mon Apr 11 09:21:17 2016 +1000 Merge pull request #991 from philippwiesemann/fix-plugin-doc-typos Fix typos in plugin documentation commit ad81720d9880c380f38bfcb68bb0403a71430c35 Author: Philipp Wiesemann Date: Sat Apr 9 23:25:25 2016 +0200 Fix typos in plugin documentation doc/plugins.dox | 22 +++++++++++----------- doc/pluginsignals.c | 8 ++++---- doc/pluginsymbols.c | 2 +- 3 files changed, 16 insertions(+), 16 deletions(-) commit 3dda6180ceb293a1aa6661443cda04ec58806359 Author: Chris Mayo Date: Mon Mar 28 19:40:37 2016 +0100 javascript: Add support for ECMAScript 6 classes keywords https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes http://www.ecma-international.org/ecma-262/6.0/#sec-keywords http://www.ecma-international.org/ecma-262/6.0/#sec-constructor data/filedefs/filetypes.javascript | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 3967ce582fe876a82dd6e2f2404fe62cd60c6e4a Author: Frank Lanitz Date: Sat Mar 26 09:37:32 2016 +0100 Update of Greek translation NEWS | 3 + po/el.po | 650 +++++++++++++++++++++++++++++++-------------------------------- 2 files changed, 320 insertions(+), 333 deletions(-) commit 1c83b18e22c20c29514ba85196022dbb8db74c52 Author: Jiří Techet Date: Wed Mar 23 20:45:47 2016 +0100 osx: force resync menus when changing keybindings Normally menu items are updated only when adding or removing them on osx. They are however not redrawn when just changing keybindings so the old keybinding is displayed after the change. Force the menu update to show the updated keybindings. src/prefs.c | 5 +++++ 1 file changed, 5 insertions(+) commit 5d9376ea801a6e6c3ec22748741362a3a2eff7ac Author: Jiří Techet Date: Tue Mar 22 17:03:16 2016 +0100 Add explicit mapping of ctags tag types to Geany tag types At the moment tag types are changed in ctags to match the types Geany uses internally. This introduces differences between the parsers used in ctags and the ones used in Geany. Instead, perform the "ctags tag type"->"geany tag type" mapping explicitly in TM and leave the tag types in individual parsers identical to ctags. For parsers which are present in ctags (and which don't seem to be completely different from the parsers used in Geany) revert the tag type change in the parsers so the parser tag definitions match universal-ctags. This patch doesn't do anything with the tag types of parsers not present in universal-ctags and leaves them as they are. Parsers which previously had a mapping to an non-existent Geany type have now the mapping explicitly set to tm_tag_undef_t. Since the mapping is now made through the one-letter type, some of the parsers had to be adjusted because they used single letter for multiple tag types (probably by mistake). Because the whole mapping process might be a bit fragile and error-prone to changes in ctags parsers, the patch also performs some consistency checks: * whether the parser number in ctags/TM matches * whether for the given language the tag type number is identical in TM mapping and ctags definition * whether all tag types defined in ctags parser are mapped in TM and in reverse, whether all mapped tags in TM are defined in ctags parser * whether there aren't duplicate tag types Unfortunately the checks are possible only for parsers not using regex because regex definitions are not exposed by ctags (TODO). A bonus side effect of the changes is we can now use real tag types defined for each languages in ctags when parsing ctags tag files instead of using the hard-coded static values which mostly work just for C/C++. tagmanager/ctags/actionscript.c | 4 +- tagmanager/ctags/asm.c | 8 +- tagmanager/ctags/basic.c | 8 +- tagmanager/ctags/c.c | 14 +- tagmanager/ctags/cobol.c | 14 +- tagmanager/ctags/css.c | 4 +- tagmanager/ctags/erlang.c | 4 +- tagmanager/ctags/fortran.c | 16 +- tagmanager/ctags/go.c | 10 +- tagmanager/ctags/html.c | 2 +- tagmanager/ctags/js.c | 4 +- tagmanager/ctags/json.c | 12 +- tagmanager/ctags/make.c | 2 +- tagmanager/ctags/parse.c | 2 +- tagmanager/ctags/parse.h | 1 + tagmanager/ctags/pascal.c | 2 +- tagmanager/ctags/perl.c | 12 +- tagmanager/ctags/php.c | 4 +- tagmanager/ctags/python.c | 6 +- tagmanager/ctags/r.c | 6 +- tagmanager/ctags/ruby.c | 4 +- tagmanager/ctags/rust.c | 4 +- tagmanager/ctags/sql.c | 10 +- tagmanager/ctags/tcl.c | 6 +- tagmanager/ctags/verilog.c | 14 +- tagmanager/ctags/vhdl.c | 2 +- tagmanager/src/Makefile.am | 1 + tagmanager/src/tm_ctags_wrappers.c | 52 +++ tagmanager/src/tm_ctags_wrappers.h | 10 + tagmanager/src/tm_parser.c | 647 +++++++++++++++++++++++++++++++++++++ tagmanager/src/tm_parser.h | 45 +++ tagmanager/src/tm_source_file.c | 103 +----- tagmanager/src/tm_tag.c | 48 +-- tagmanager/src/tm_tag.h | 32 +- 34 files changed, 854 insertions(+), 259 deletions(-) commit d75873f9bc574e98ef024dc562100348595d959e Author: Enrico Tröger Date: Tue Mar 22 08:44:11 2016 +0100 Windows installer: fix broken installation tags files geany.nsi.in | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit bd8caf2a85719ffac5687e735979d6ae30dfb3b9 Author: Enrico Tröger Date: Mon Mar 21 23:16:12 2016 +0100 GTK bundle creation: don't delete necessary GLib schema files The files in share/glib-2.0/schemas are necessary for GTK3, so don't delete them but everything else on the same directory level. scripts/gtk-bundle-from-msys2.sh | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) commit e1a9929e9cfdad375938018d5ab7b1228e7d6c5b Author: Enrico Tröger Date: Mon Mar 21 23:01:05 2016 +0100 Windows installer: install data files into new locations This adapts the paths in the installer for the tags and filedefs files as changed in #485. Also simply include everything in share/ when including a GTK3 runtime environment instead of a fixed list of subdirectories, share/glib-2.0 doesn't exist anymore when using MSYS2 packages. geany.nsi.in | 25 ++++++++----------------- 1 file changed, 8 insertions(+), 17 deletions(-) commit aea7d7845917843dd6b02e5a8dc9031cabc87a86 Author: Jiří Techet Date: Thu Mar 10 16:52:07 2016 +0100 Remove some unused return values and unnecessary checks tagmanager/src/tm_tag.c | 32 ++++++++++++++++---------------- tagmanager/src/tm_tag.h | 6 +++--- 2 files changed, 19 insertions(+), 19 deletions(-) commit b72b8596346c5dcecb4ecb55d12311b2405a470f Author: Jiří Techet Date: Fri Mar 11 12:13:12 2016 +0100 Clean up messy tm_workspace_create_global_tags() At the same time ignore tags of the type tm_tag_undef_t when parsing - we cannot query them anyway and this eliminates the need to call tm_tags_extract(source_file->tags_array, tm_tag_max_t); when creating tags file. tagmanager/src/tm_source_file.c | 17 ++- tagmanager/src/tm_workspace.c | 304 +++++++++++++++++++++------------------- 2 files changed, 173 insertions(+), 148 deletions(-) commit 1c4aaa0eb72aa9e3c60cd604d4c20ca5f7dc5c8f Author: Jiří Techet Date: Wed Mar 9 21:50:13 2016 +0100 Add an API-like ctags layer At the moment it is a bit hard to distinguish which of the functions we are using belong to ctags. To make more explicit what we need from ctags, wrap all ctags-related code and access ctags only using this layer. The interface from tm_ctags_wrappers.h can serve as a base for proper ctags interface if ctags becomes a library. tagmanager/src/Makefile.am | 4 +- tagmanager/src/tm_ctags_wrappers.c | 119 +++++++++++++++++++++++++++++++++++++ tagmanager/src/tm_ctags_wrappers.h | 49 +++++++++++++++ tagmanager/src/tm_source_file.c | 82 +++++++------------------ 4 files changed, 193 insertions(+), 61 deletions(-) commit 103d2c535862ae2682022dcfd714c2ffd983c42f Author: Jiří Techet Date: Thu Mar 10 21:37:56 2016 +0100 Move code related to various tag file formats into tm_source_file.c This patch moves code related to reading/writing various tag file formats into form TMTag and TMWorkspace to TMSourceFile. The benefits of this change are: * only tm_source_file.c interfaces with ctags after this change * tagEntryInfo is removed from headers, no redefinitions needed any more * source code is more evenly distributed among tm_source_file.c, tm_tag.c and tm_workspace.c after the change (tm_tag.c got smaller) * all tag reading/writing is at a single place Despite its size, this patch mostly just moves code. Notable changes are: * tm_tag_new() now creates just an empty tag. The tag is filled by various init_* functions inside tm_source_file.c * there are new functions tm_source_file_read_tags_file() and tm_source_file_write_tags_file() - these hide tags file reading/writing details from tm_workspace.c * tm_source_file_write() debugging function got removed - tm_source_file_write_tags_file() does a similar thing and there's no need to keep around two functions doing the same. tagmanager/src/tm_source_file.c | 624 +++++++++++++++++++++++++++++++++++++--- tagmanager/src/tm_source_file.h | 9 +- tagmanager/src/tm_tag.c | 527 +-------------------------------- tagmanager/src/tm_tag.h | 23 +- tagmanager/src/tm_workspace.c | 69 +---- 5 files changed, 604 insertions(+), 648 deletions(-) commit 4dcc829e724a9018f92a8ef5201c2c0f257eeaa7 Author: Jiří Techet Date: Wed Mar 9 14:08:56 2016 +0100 Remove unused tm_tagmanager.h Nobody uses it, the comment there doesn't provide any valuable information and we don't need an umbrella TM header like this. tagmanager/src/Makefile.am | 2 -- tagmanager/src/tm_tagmanager.h | 39 --------------------------------------- 2 files changed, 41 deletions(-) commit 75c5cb6a9c8009ad018ca08d2c583f8ae06d9514 Author: Jiří Techet Date: Wed Mar 9 13:57:46 2016 +0100 Use G_BEGIN_DECLS/G_END_DECLS tagmanager/src/tm_source_file.h | 9 ++------- tagmanager/src/tm_tag.h | 9 ++------- tagmanager/src/tm_workspace.h | 9 ++------- 3 files changed, 6 insertions(+), 21 deletions(-) commit 1de139854f4ba791fc7fce8358490cec90e695d3 Author: Jiří Techet Date: Mon Jan 11 12:52:52 2016 +0100 Improve ctags callback API Communicate with ctags only using function calls and don't assign ctags variables directly. tagmanager/ctags/entry.c | 2 +- tagmanager/ctags/parse.c | 8 ++++++++ tagmanager/ctags/parse.h | 5 +++-- tagmanager/src/tm_source_file.c | 15 +++++---------- 4 files changed, 17 insertions(+), 13 deletions(-) commit 7be40f5832c082ca27bce5e4756c602b5d022580 Author: Jiří Techet Date: Fri Mar 11 11:56:05 2016 +0100 Initialize ctags at a single place instead of four src/libmain.c | 3 ++- tagmanager/src/tm_source_file.c | 36 +++++++----------------------------- tagmanager/src/tm_source_file.h | 2 ++ tagmanager/src/tm_workspace.c | 3 +++ 4 files changed, 14 insertions(+), 30 deletions(-) commit f61a64be29cbba0162f92eb5c1fe4aa2af33fd33 Author: Jiří Techet Date: Mon Jan 11 12:10:51 2016 +0100 Remove the TagEntrySetArglistFunction hook The direct python parser -> tagmanager callback is rather hacky and unnecessary as we can do the same in the normal ctags callback upon receiving a tag. tagmanager/ctags/entry.c | 6 ---- tagmanager/ctags/entry.h | 1 - tagmanager/ctags/parse.c | 1 - tagmanager/ctags/parse.h | 2 -- tagmanager/ctags/python.c | 30 ------------------ tagmanager/src/tm_source_file.c | 68 +++++++++++++++++++++-------------------- 6 files changed, 35 insertions(+), 73 deletions(-) commit 801698ddeda2c682bf159a41b22f6475bb1c7a10 Merge: 83c2a0de 0bafb067 Author: Colomban Wendling Date: Sat Mar 19 23:35:16 2016 +0100 Merge pull request #965 from kugel-/gi-fix-structs gtkdoc: fix gtkdoc header script for structs with inline types commit 83c2a0de696736f0abf11c92d41bad1cc37ac1ff Merge: 9febf022 e46093d1 Author: Colomban Wendling Date: Sat Mar 19 23:22:38 2016 +0100 Merge branch 'ruby/uctags-update' Update Ruby parser from Universal-CTags. Closes #587. commit 9febf02261e17f3d91bd16029599e97ed8b89a03 Merge: 813f756c 3640b3bc Author: Colomban Wendling Date: Sat Mar 19 23:15:37 2016 +0100 Merge pull request #485 from techee/ft_menu Move filetypes.* and *.tags to separate directories commit 813f756c84475b9a2bac0b85c1513aae0937d681 Author: Matthew Brush Date: Mon Mar 14 14:26:45 2016 -0700 Add /doc/Doxyfile-gi.stamp generated file to .gitignore .gitignore | 1 + 1 file changed, 1 insertion(+) commit d4aab06f9ba8bc0534303ce4b59b837a687be848 Author: Matthew Brush Date: Mon Mar 14 14:21:57 2016 -0700 Move some documentation to show up in API docs. The Doxygen comments were on the non-public global filetypes_array and filetypes_by_title variables instead of the GeanyData members which are exposed to the plugin API and reference manual. src/filetypes.c | 14 -------------- src/plugindata.h | 16 ++++++++++++++-- 2 files changed, 14 insertions(+), 16 deletions(-) commit 76ede69ef49c6f4ac3e11068a3cd5ecdb4425d1b Author: Matthew Brush Date: Mon Mar 14 14:11:56 2016 -0700 Remove `documents_array` global from plugin API The global was never accessible to plugins on Windows and hasn't been accessible to plugins on Linux and others since the linkage-cleanup changes. Move documentation from the global variable to the GeanyData member of the same name. Closes #964 src/document.c | 18 ------------------ src/document.h | 3 +-- src/plugindata.h | 18 +++++++++++++++++- 3 files changed, 18 insertions(+), 21 deletions(-) commit e46093d1fcd4209f509314aaeb9ff8ebea1f4651 Author: Masatake YAMATO Date: Thu Nov 19 12:11:14 2015 +0900 Ruby: delete rspec related kinds Close universal-ctags/ctags#453. (This is about a bug spotted in universal-ctags/ctags#453 by @mislav and in universal-ctags/ctags#11 by @NewAlexandria.) Kinds C and d are for Rspec. Parts of code related to above kinds assume a ruby string comes after Rspec keywords (describe or context). This is a wrong assumption. A class name can be used there. It is nice if ctags can handle these rspec code well, but we don't have enough resource to make it now. So in this commit I delete rspec related code temporary. I just reserve a kind letter 'd' for rspec for the future. 'C' is completely deleted because (1) describe and context have the same meaning in rspec, and (2) we would like to assign 'C' for Ruby constant as ripper-tags does. Signed-off-by: Masatake YAMATO tagmanager/ctags/ruby.c | 21 ++++++--------------- 1 file changed, 6 insertions(+), 15 deletions(-) commit 885b994ec2acfc17068a6f17e0ba22439022731d Author: Colomban Wendling Date: Mon Mar 14 19:40:50 2016 +0100 ruby: License under GPLv2+ as per Universal CTags See https://github.com/universal-ctags/ctags/pull/578 tagmanager/ctags/ruby.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit ab6a012119294bce1fb5bd650a62363a9f954f19 Author: Colomban Wendling Date: Sun Jul 26 15:12:39 2015 +0200 ruby: Unify identifier character classification tagmanager/ctags/ruby.c | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) commit 116c749cd941b64c884d5f2d6a1adb8c135aa329 Author: Colomban Wendling Date: Fri Jul 24 02:06:43 2015 +0200 ruby: Report singleton type inside anonymous classes at a class level New test case contributed by @masatake in universal-ctags/ctags#456. Closes universal-ctags/ctags#455 and universal-ctags/ctags#456. tagmanager/ctags/ruby.c | 19 ++++++++++++++++++- tests/ctags/ruby-class-method-in-lt-lt-self.rb | 6 ++++++ tests/ctags/ruby-class-method-in-lt-lt-self.rb.tags | 2 ++ tests/ctags/ruby-scope-after-anonymous-class.rb.tags | 2 +- 4 files changed, 27 insertions(+), 2 deletions(-) commit 7d116cb4829d684864a0ab8319c688d523ca5d8c Author: Colomban Wendling Date: Fri Jul 24 02:02:08 2015 +0200 ruby: Report proper scope type tagmanager/ctags/ruby.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) commit 9e9774675173fe45c8372540512a2581bb105c4d Author: Colomban Wendling Date: Fri Jul 24 01:56:59 2015 +0200 ruby: Use nestlevel instead of string lists This will simplify some upcoming fixes. tagmanager/ctags/ruby.c | 32 +++++++++++++++++--------------- 1 file changed, 17 insertions(+), 15 deletions(-) commit 17606d8af7daa7f3a25d1eeae9e925955289e417 Author: Colomban Wendling Date: Fri Jul 24 01:24:45 2015 +0200 ruby: Fix scope after anonymous classes tagmanager/ctags/ruby.c | 3 +++ tests/ctags/Makefile.am | 1 + tests/ctags/ruby-scope-after-anonymous-class.rb | 10 ++++++++++ tests/ctags/ruby-scope-after-anonymous-class.rb.tags | 4 ++++ 4 files changed, 18 insertions(+) commit 1ed29f1d7b948e7d7fde70499491673e65a04954 Author: Colomban Wendling Date: Thu Jul 23 22:50:24 2015 +0200 ruby: Fix parsing qualified identifiers The implementation is a bit hacky, but avoids the need for complex logic to pop several scopes at once. Closes universal-ctags/ctags#452. tagmanager/ctags/ruby.c | 40 +++++++++++++++++++++++++++---- tests/ctags/Makefile.am | 1 + tests/ctags/ruby-namespaced-class.rb | 8 +++++++ tests/ctags/ruby-namespaced-class.rb.tags | 4 ++++ 4 files changed, 49 insertions(+), 4 deletions(-) commit eaf6c82af8f6f00b5231ea5254db3fb3a2569ad8 Author: Colomban Wendling Date: Thu Jul 23 18:11:38 2015 +0200 ruby: Fix keyword matching After an identifier there can be anything but an identifier character. tagmanager/ctags/ruby.c | 62 +++++++++++++++++++++++++++---------- tests/ctags/Makefile.am | 1 + tests/ctags/ruby-block-call.rb | 10 ++++++ tests/ctags/ruby-block-call.rb.tags | 3 ++ 4 files changed, 59 insertions(+), 17 deletions(-) commit e003da2beafb02406a4a3912d5885f6db317d821 Author: Colomban Wendling Date: Thu Jul 23 18:08:28 2015 +0200 ruby: Properly skip documentation contents tagmanager/ctags/ruby.c | 2 ++ tests/ctags/Makefile.am | 1 + tests/ctags/ruby-doc.rb | 22 ++++++++++++++++++++++ tests/ctags/ruby-doc.rb.tags | 5 +++++ 4 files changed, 30 insertions(+) commit e9e9b9988d889a06bc01d1a99fb6620e7d4fa115 Author: Masatake YAMATO Date: Wed May 13 01:53:26 2015 +0900 ruby: handle singleton method including ?!= in its name(sf.bug:364) This patch is intended a bug reported as sf.bug:364. https://sourceforge.net/p/ctags/bugs/364/ Writing a test case is helped by Dmitry Gutov. Signed-off-by: Masatake YAMATO tagmanager/ctags/ruby.c | 7 +++++++ tests/ctags/Makefile.am | 1 + tests/ctags/ruby-sf-bug-364.rb | 16 ++++++++++++++++ tests/ctags/ruby-sf-bug-364.rb.tags | 8 ++++++++ 4 files changed, 32 insertions(+) commit 68322fcb54bda53137429321c58000b2683fc2d8 Author: Masatake YAMATO Date: Wed May 13 01:38:46 2015 +0900 ruby: fix wrong memory access in catMatch fuzz target reports canMatch access wrong memory area when php-anonymous_functions.d/input.php is given as input. This patch fixes it. Signed-off-by: Masatake YAMATO tagmanager/ctags/ruby.c | 5 +++++ 1 file changed, 5 insertions(+) commit a71dbcbeca82a4368d24873fb2d3497c443ccc3b Author: Masatake YAMATO Date: Fri Nov 21 10:52:42 2014 +0900 ruby: Use NULL for initialize an pointer variable Suppress a warning reported by sparse. Signed-off-by: Masatake YAMATO tagmanager/ctags/ruby.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) commit e129043c9810cbbcb87b811d5f5b2bfd7842405a Author: Artem Nezvigin Date: Fri Jul 4 17:24:09 2014 -0700 Honor --ruby-kinds option in ruby.c Fixes universal-ctags/ctags#49 tagmanager/ctags/ruby.c | 4 ++++ 1 file changed, 4 insertions(+) commit 2269c42dde2ea76228ee150cf0cc9796340877ac Author: Ram Singla Date: Tue Jan 18 13:24:46 2011 +0800 RSpec Code added. Courtesy: mortice tagmanager/ctags/ruby.c | 28 +++++++++++++++++++++++++--- 1 file changed, 25 insertions(+), 3 deletions(-) commit 0bafb067b9ce0b1d5218f7523473052bcd0dab75 Author: Thomas Martitz Date: Mon Mar 14 08:26:45 2016 +0100 gtkdoc: fix gtkdoc header script for structs with inline types Doxygen adds unhandled xml output for structs that define types inline, for example struct Foo { enum { FOO, BAR } baz; }. A type definitions precedes the members. The script wrongly assumed the first sectiondef child of compounddef would contain all members, but actually this is the case for sectiondefs with kind=public-attrib (the sectiondef defining the type has kind=public-type). scripts/gen-api-gtkdoc.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) commit 3640b3bc4461f302cc2375e4998c58f7729493eb Author: Jiří Techet Date: Fri May 1 20:08:49 2015 +0200 Move *.tags files to the tags directory ignore.tags is still in ~/.config/geany data/Makefile.am | 10 +++++----- data/{ => tags}/c99.tags | 0 data/{ => tags}/html_entities.tags | 0 data/{ => tags}/pascal.tags | 0 data/{ => tags}/php.tags | 0 data/{ => tags}/python.tags | 0 src/geany.h | 1 + src/symbols.c | 8 ++++---- 8 files changed, 10 insertions(+), 9 deletions(-) commit e513e5a099db21cfb518483b459d433d509c948c Author: Jiří Techet Date: Fri May 1 11:58:05 2015 +0200 Move filetypes.* to the filedefs directory data/Makefile.am | 136 ++++++++++++------------- data/{ => filedefs}/filetypes.CUDA.conf | 0 data/{ => filedefs}/filetypes.Clojure.conf | 0 data/{ => filedefs}/filetypes.Cython.conf | 0 data/{ => filedefs}/filetypes.Genie.conf | 0 data/{ => filedefs}/filetypes.Graphviz.conf | 0 data/{ => filedefs}/filetypes.JSON.conf | 0 data/{ => filedefs}/filetypes.Scala.conf | 0 data/{ => filedefs}/filetypes.abaqus | 0 data/{ => filedefs}/filetypes.abc | 0 data/{ => filedefs}/filetypes.actionscript | 0 data/{ => filedefs}/filetypes.ada | 0 data/{ => filedefs}/filetypes.asciidoc | 0 data/{ => filedefs}/filetypes.asm | 0 data/{ => filedefs}/filetypes.batch | 0 data/{ => filedefs}/filetypes.c | 0 data/{ => filedefs}/filetypes.caml | 0 data/{ => filedefs}/filetypes.cmake | 0 data/{ => filedefs}/filetypes.cobol | 0 data/{ => filedefs}/filetypes.coffeescript | 0 data/{ => filedefs}/filetypes.common | 0 data/{ => filedefs}/filetypes.conf | 0 data/{ => filedefs}/filetypes.cpp | 0 data/{ => filedefs}/filetypes.cs | 0 data/{ => filedefs}/filetypes.css | 0 data/{ => filedefs}/filetypes.d | 0 data/{ => filedefs}/filetypes.diff | 0 data/{ => filedefs}/filetypes.docbook | 0 data/{ => filedefs}/filetypes.erlang | 0 data/{ => filedefs}/filetypes.f77 | 0 data/{ => filedefs}/filetypes.ferite | 0 data/{ => filedefs}/filetypes.forth | 0 data/{ => filedefs}/filetypes.fortran | 0 data/{ => filedefs}/filetypes.freebasic | 0 data/{ => filedefs}/filetypes.glsl | 0 data/{ => filedefs}/filetypes.go | 0 data/{ => filedefs}/filetypes.haskell | 0 data/{ => filedefs}/filetypes.haxe | 0 data/{ => filedefs}/filetypes.html | 0 data/{ => filedefs}/filetypes.java | 0 data/{ => filedefs}/filetypes.javascript | 0 data/{ => filedefs}/filetypes.latex | 0 data/{ => filedefs}/filetypes.lisp | 0 data/{ => filedefs}/filetypes.lua | 0 data/{ => filedefs}/filetypes.makefile | 0 data/{ => filedefs}/filetypes.markdown | 0 data/{ => filedefs}/filetypes.matlab | 0 data/{ => filedefs}/filetypes.nsis | 0 data/{ => filedefs}/filetypes.objectivec | 0 data/{ => filedefs}/filetypes.pascal | 0 data/{ => filedefs}/filetypes.perl | 0 data/{ => filedefs}/filetypes.php | 0 data/{ => filedefs}/filetypes.po | 0 data/{ => filedefs}/filetypes.powershell | 0 data/{ => filedefs}/filetypes.python | 0 data/{ => filedefs}/filetypes.r | 0 data/{ => filedefs}/filetypes.restructuredtext | 0 data/{ => filedefs}/filetypes.ruby | 0 data/{ => filedefs}/filetypes.rust | 0 data/{ => filedefs}/filetypes.sh | 0 data/{ => filedefs}/filetypes.sql | 0 data/{ => filedefs}/filetypes.tcl | 0 data/{ => filedefs}/filetypes.txt2tags | 0 data/{ => filedefs}/filetypes.vala | 0 data/{ => filedefs}/filetypes.verilog | 0 data/{ => filedefs}/filetypes.vhdl | 0 data/{ => filedefs}/filetypes.xml | 0 data/{ => filedefs}/filetypes.yaml | 0 data/{ => filedefs}/filetypes.zephir | 0 src/filetypes.c | 8 +- src/libmain.c | 2 +- tests/ctags/runner.sh | 2 +- 72 files changed, 75 insertions(+), 73 deletions(-) commit 24f91981c057a7e212c09da66fb974c3ccc85bd6 Author: Colomban Wendling Date: Sun Mar 13 15:50:36 2016 +0100 Update Scintilla to version 3.6.4 scintilla/gtk/ScintillaGTK.cxx | 4 +++- scintilla/include/ScintillaWidget.h | 2 +- scintilla/lexers/LexCPP.cxx | 4 ++-- scintilla/lexers/LexHTML.cxx | 2 +- scintilla/lexers/LexRuby.cxx | 46 ++++++++++++++++++++++++++++++++++++- scintilla/lexers/LexRust.cxx | 26 +++++++++++++++++++-- scintilla/scintilla_changes.patch | 2 +- scintilla/src/Document.cxx | 36 ++++++++++++++--------------- scintilla/src/Document.h | 4 ++++ scintilla/src/EditView.cxx | 2 +- scintilla/src/Editor.cxx | 23 ++++++++++++++++--- scintilla/src/MarginView.cxx | 10 ++++---- scintilla/version.txt | 2 +- 13 files changed, 126 insertions(+), 37 deletions(-) commit 3615f5a91c680e24717f0c93a29c6a94121247aa Author: Colomban Wendling Date: Sun Mar 13 14:32:44 2016 +0100 Fix a typo in NEWS NEWS | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit ea94d2a9a1b582dff1e4a11c824a2bfe326ff4bf Author: Colomban Wendling Date: Sun Mar 13 14:32:20 2016 +0100 Post release version bump Say hello to Geany 1.28 "Malvek"! NEWS | 3 +++ configure.ac | 2 +- doc/geany.txt | 2 +- geany.exe.manifest | 2 +- geany_private.rc | 4 ++-- src/geany.h | 2 +- win32-config.h | 2 +- 7 files changed, 10 insertions(+), 7 deletions(-) commit 40e15c388bc835fd4aa548d4b07f4314aec08b3d Author: Colomban Wendling Date: Sun Mar 13 13:27:54 2016 +0100 Set release date NEWS | 2 +- doc/geany.1.in | 2 +- doc/geany.txt | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) commit 2df9512b6ff18c34fd7491b933dcbb95b099001d Author: Colomban Wendling Date: Sun Mar 13 13:25:04 2016 +0100 Update NEWS for last changes NEWS | 3 +++ 1 file changed, 3 insertions(+) commit 3c213f6d9347caf365f1ac446e63391512e6249d Author: Colomban Wendling Date: Sun Mar 13 13:19:16 2016 +0100 Update displayed copyright years doc/geany.txt | 2 +- geany_private.rc | 2 +- src/about.c | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) commit 214365777d4f56aa2adf1ea353a87a6a2161f73e Merge: c344baca 34088fbb Author: Colomban Wendling Date: Sun Mar 13 13:10:02 2016 +0100 Merge pull request #769 from eht16/drop_waf_build_system Drop Waf build system support commit c344baca07474e6ee413446c335f62112ffc76b6 Merge: f8f0951e 479cf3dc Author: Enrico Tröger Date: Sun Mar 13 12:47:53 2016 +0100 Merge pull request #959 from eht16/gtk_bundle_script Improve Windows GTK runtime bundle creation script commit f8f0951ef7289b38db1df8072bc4dee2a9eba43b Merge: 12f6ad69 38f07367 Author: Enrico Tröger Date: Sun Mar 13 12:47:04 2016 +0100 Merge pull request #961 from codebrainz/non-native-project-open Respect native dialog pref in Project->Open commit 38f073673eef2f630f8ba742521dc1669e7fb775 Author: Matthew Brush Date: Sat Mar 12 11:53:41 2016 -0800 Respect native dialog pref in Project->Open Fixes #960 src/project.c | 104 +++++++++++++++++++++++++++++----------------------------- 1 file changed, 52 insertions(+), 52 deletions(-) commit 12f6ad69159c723bd6264e5f18b7aa58ca19438d Author: Enrico Tröger Date: Sat Mar 12 18:32:40 2016 +0100 Install and uninstall ReadMe.Dependencies.Geany.txt geany.nsi.in | 3 +++ 1 file changed, 3 insertions(+) commit 479cf3dc53494530a584d541ea507fc234e70003 Author: Enrico Tröger Date: Sat Mar 12 15:19:15 2016 +0100 Improve Windows GTK runtime bundle creation script Update the list of dependencies, include sort.exe and grep.exe, create a information file with all download links of included binaries and re-structure the script for better readability. See #560 for details. scripts/gtk-bundle-from-msys2.sh | 338 +++++++++++++++++++++++++++++---------- 1 file changed, 251 insertions(+), 87 deletions(-) commit 8254271b3373ec0e53ce2b07c206ebd6418e61fb Merge: fc811ecd 2f5eca2c Author: Enrico Tröger Date: Sat Mar 12 16:22:28 2016 +0100 Merge pull request #937 from eht16/win32_open_uri_error_handling Add error reporting for opening URIs on Windows commit fc811ecdc7df38d6c1ba34c6a82403bbb2053a20 Author: Frank Lanitz Date: Fri Mar 11 23:15:18 2016 +0100 Small update of German translation po/de.po | 31 +++++++++++++++---------------- 1 file changed, 15 insertions(+), 16 deletions(-) commit 65f84df5cae544deaf3a4ca56c7f29d8e13329d3 Author: Jiří Techet Date: Fri Mar 11 11:29:50 2016 +0100 Improve Goto Symbol popup contents * always filter-out symbol from the current line from the list * when clicked on a symbol on the current line always swap definition/declaration search even if there are more symbols from the current search direction Fixes #950 src/symbols.c | 130 ++++++++++++++++++++++++++++++++-------------------------- 1 file changed, 71 insertions(+), 59 deletions(-) commit 7798a041b7212352f6f947fbe77a72dc6dfbf878 Author: Colomban Wendling Date: Thu Mar 10 01:06:54 2016 +0100 Update NEWS preparing for next release NEWS | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) commit c3c67c96d44009a3a1c5a9e1d70b778002d5f847 Author: Thomas Martitz Date: Sat Mar 5 21:45:22 2016 +0100 doc: Generate geany-sciwrappers-gtkdoc.h along geany-gtkdoc.h geany-sciwrappers-gtkdoc.h contains all scintilla_object_* methods. It is intended that they are going to be exposed through a separate .gir file, therefore a separate header makes things easier. This is useful when you want scintlla-related stuff in a separate .gir file or oarse it specially otherwise. gen-api-gtkdoc.py: Add switch to write out scintilla_object methods .gitignore | 1 + doc/Doxyfile.in | 3 ++- doc/Makefile.am | 11 +++++++---- scripts/gen-api-gtkdoc.py | 24 ++++++++++++++++++++++++ 4 files changed, 34 insertions(+), 5 deletions(-) commit 1e911051abb6cdc8b7fc1ee5aebfe17fbd736358 Merge: ed700a9d d868130d Author: Colomban Wendling Date: Wed Mar 9 23:32:22 2016 +0100 Merge pull request #956 from kugel-/tm-gir-fix Fix and cleanup GtkDoc header generation regarding TagManager's types. commit d868130d784f3a4b615dd0f10b3bd9071c24bc21 Author: Thomas Martitz Date: Wed Mar 9 19:31:28 2016 +0100 tagmanager: make doxygen comments and typedefs gtkdoc generation friendly Because of the missing "typedef struct TMFoo" it was missing from the gtkdoc header (the struct listings are always without typedef). This is also consistent with the rest of geany. @gironly for TMParserType so it's picked up as well. doc/Doxyfile.in | 3 ++- scripts/gen-api-gtkdoc.py | 2 -- tagmanager/src/tm_parser.h | 3 +++ tagmanager/src/tm_source_file.h | 6 +++--- tagmanager/src/tm_workspace.h | 10 +++++----- 5 files changed, 13 insertions(+), 11 deletions(-) commit 4a54ee86f3a4401e76d1fa001ce2b5d4be9adca4 Author: Thomas Martitz Date: Wed Mar 9 22:19:10 2016 +0100 Include more headers into geany-gtkdoc.h gtkcompat.h is more convinient, and includes gtk.h and glib.h. Due to including ScintillaWidget.h, the manual ScintillaObject typedef isn't required anymore. scripts/gen-api-gtkdoc.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) commit ed700a9dc6f046a63d14c25ebb7e2877bfb1b5a6 Author: Colomban Wendling Date: Wed Mar 9 19:09:43 2016 +0100 Fix forward reference to enumeration types in GtkDoc header It's invalid to forward-declare enumerations, yet they might be referenced by typedefs. Fix this by outputting enumerations first so typedefs can references them. As enumerations can't reference other types, it's safe to place them before anything else. Closes #952. Closes #955. scripts/gen-api-gtkdoc.py | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) commit e18011fa7d9d07bf3077fbf1b4d208126591f646 Author: Frank Lanitz Date: Wed Mar 9 19:58:59 2016 +0100 Update of Portuguese translation po/pt.po | 898 +++++++++++++++++++++++++++++++-------------------------------- 1 file changed, 442 insertions(+), 456 deletions(-) commit 88b7e7a991eb604aea41781098f542ec0ffb8873 Author: Frank Lanitz Date: Wed Mar 9 19:57:57 2016 +0100 Update NEWS to reflect latest po-file updates NEWS | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) commit 0feba302e890503b07123959fa4cfca0ef810b25 Merge: 32be0c91 6e59ea0b Author: Frank Lanitz Date: Wed Mar 9 19:44:02 2016 +0100 Merge pull request #954 from scriptum/russian-translation Update of Russian translation commit 6e59ea0b706d54173141eb35f031ff4926dbae1e Author: Pavel Roschin Date: Wed Mar 9 20:21:43 2016 +0300 Update of Russian translation po/ru.po | 63 +++++++++++++++++++++++---------------------------------------- 1 file changed, 23 insertions(+), 40 deletions(-) commit 32be0c910fd13c9b0753a0d0648281ac491709c1 Merge: fe598274 c84c41e4 Author: Colomban Wendling Date: Wed Mar 9 16:09:48 2016 +0100 Merge pull request #923 from techee/typedef_goto Don't show the goto popup for typedef synonyms commit fe598274fbe09dae1de0549c6c40f5dfd10094ae Merge: eeb1d53c e5c11cd4 Author: Colomban Wendling Date: Wed Mar 9 16:07:48 2016 +0100 Merge pull request #947 from techee/fix_warning Use correct flag for `gtk_style_get_color()` commit e5c11cd46a2da5d45b2f01075c5a28176edbda53 Author: Jiří Techet Date: Tue Mar 8 20:40:08 2016 +0100 Use correct flag for gtk_style_get_color() src/document.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit eeb1d53c6f36bcd3efab6876db5ed7f37184ef98 Merge: e1338396 77d4c208 Author: Frank Lanitz Date: Tue Mar 8 18:40:20 2016 +0100 Merge pull request #944 from peter-scholtens/master Update of Dutch translation. commit e133839633827b6908babae897bbebb663e5fdbd Merge: 6818ba6b fa5c7ba7 Author: Frank Lanitz Date: Tue Mar 8 13:36:22 2016 +0100 Merge pull request #945 from andrej-herceg/sk-po Update of Slovak translation commit 064a2897054a685bf40f2f4fd22e99edebf88007 Author: Jiří Techet Date: Tue Mar 8 13:20:45 2016 +0100 Enable buffered draw on newer Gtk versions on OS X Buffered draw seems to be faster and with newer Gtk versions works correctly on HiDPI screens. I haven't checked precisely since which Gtk version this works (didn't work in 3.10, might have been fixed in a later version) but it isn't as important because even with 3.16 the build is highly unstable because of Gtk issues (Gtk 3.18 seems to be promising though). src/editor.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) commit fa5c7ba7f6eea63bbbb8cf8d84fbbf2462e2f420 Author: Andrej Herceg Date: Mon Mar 7 21:56:38 2016 +0100 Update of Slovak translation po/sk.po | 79 +++++++++++++++++++++++----------------------------------------- 1 file changed, 28 insertions(+), 51 deletions(-) commit 77d4c208eb54e1c7d0c4a2da2185124b29aaf03f Author: Benno Schulenberg Date: Mon Mar 7 19:42:21 2016 +0100 Update of Dutch translation. po/nl.po | 1364 ++++++++++++++++++++++++++++------------------------------- src/about.c | 2 +- 2 files changed, 659 insertions(+), 707 deletions(-) commit 6818ba6baf8bef4afe3b88b36b9eb2b5a8c2fcc9 Author: Colomban Wendling Date: Mon Mar 7 15:46:34 2016 +0100 Avoid NULL dereference when typing a dot in a file without tags tagmanager/src/tm_workspace.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 69d7a1aa673be1710fc9b728d23425e4b29b3b79 Merge: 7ba7fa02 bef06691 Author: Colomban Wendling Date: Mon Mar 7 14:40:28 2016 +0100 Merge pull request #941 from b4n/objc/uctags-update Import Objective-C parser changes from universal-ctags commit bef06691b5545e9d51169e994e66ebb45d1077bc Author: solawing <316786359@qq.com> Date: Sun Jul 12 17:48:31 2015 +0800 objc: fix property parser won't exit bug Based on 21e74e6a019975045a7975bc611ae63f0917f976 from universal-ctags, and update the tests accordingly, thanks to @JX7P. Closes #940. X-Universal-CTags-Commit-ID: 21e74e6a019975045a7975bc611ae63f0917f976 tagmanager/ctags/objc.c | 1 + tests/ctags/objectivec_property.mm.tags | 1 + 2 files changed, 2 insertions(+) commit fec974687c70878bd7148a96eb1fa1e0cfb6716d Author: solawing <316786359@qq.com> Date: Sun Jul 12 17:35:32 2015 +0800 objc: fix property Protocol type error X-Universal-CTags-Commit-ID: 43330bfe114658726bd3926c8a48bfe1858352fa tagmanager/ctags/objc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit e3d066c203c3578065767955c9effae9a97bfdc8 Author: Colomban Wendling Date: Mon May 18 20:11:49 2015 +0200 Do not generate tags for disabled kinds Closes universal-ctags/ctags#324. X-Universal-CTags-Commit-ID: 4a95e4a55f67230fc4eee91ffb31c18c422df6d3 tagmanager/ctags/objc.c | 4 ++++ 1 file changed, 4 insertions(+) commit 6180b102264fe94e58da76749a3ae8d6baecb54d Author: Masatake YAMATO Date: Wed Oct 8 01:58:56 2014 +0900 suppress the compiler warnings by adding static Signed-off-by: Masatake YAMATO X-Universal-CTags-Commit-ID: 9be84d26c1fd1653f20e9feda6a67484f7e86bd9 tagmanager/ctags/objc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 07a37727000b83a591ea9de73ee45cf235b958c0 Author: Masatake YAMATO Date: Sun Aug 3 18:22:43 2014 +0900 ObjectiveC: free memory blocks allocated at initialize method Signed-off-by: Masatake YAMATO X-Universal-CTags-Commit-ID: 882c5f8506159d77acd6c418239e33c5439bd290 tagmanager/ctags/objc.c | 1 + 1 file changed, 1 insertion(+) commit 7ba7fa02ec6fa4c77dee07ecd1af8c98dd7e0de3 Merge: c9a799bb ca6890a9 Author: Frank Lanitz Date: Sun Mar 6 23:59:45 2016 +0100 Merge pull request #938 from xhacker/update-translation Update zh_CN translation commit ca6890a98f4d4c5105933016654c19ef7d47b8d8 Author: 柳东原 LIU Dongyuan Date: Sun Mar 6 12:26:59 2016 -0800 Update zh_CN translation po/zh_CN.po | 67 +++++++++++++++++++++++-------------------------------------- 1 file changed, 25 insertions(+), 42 deletions(-) commit c9a799bb0c6a69a43ac690cbd78c9c464a1c6414 Author: Enrico Tröger Date: Sun Mar 6 16:50:32 2016 +0100 Windows Installer: fix documentation installation paths geany.nsi.in | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 0556b89d08e7c8597245fe1dfb5759228cc24ffb Merge: 32476434 b0cf5f6c Author: Colomban Wendling Date: Sun Mar 6 16:28:03 2016 +0100 Merge pull request #603 from eht16/create_php_tags_update Rewrite PHP tag creation script using up to date upstream tag definitions. commit 3247643446cc5e6a93f24c9148243e93d967a6cd Merge: b883c823 9a854751 Author: Colomban Wendling Date: Sun Mar 6 16:26:51 2016 +0100 Merge pull request #932 from b4n/filetype_id Deprecate filetype_id. commit b883c82378d26433af923e3302d7e7b7ac49d435 Merge: 52f5b888 6ecfb8b5 Author: Colomban Wendling Date: Sun Mar 6 16:25:59 2016 +0100 Merge pull request #933 from techee/socket_info Rename socket_info_struct to SocketInfo commit 52f5b88873c44486157cfb6127598e92f909172e Author: Enrico Tröger Date: Sun Mar 6 16:14:46 2016 +0100 Windows Installer: declare files to be reserved for faster startup This tells NSIS to place the necessary libraries at the beginning of the packed installer so the installer does not need to extract everything before it can start. geany.nsi.in | 6 ++++++ 1 file changed, 6 insertions(+) commit 2f5eca2cfd0def376e7430f8f71ce9401cf2c0e1 Author: Enrico Tröger Date: Sun Mar 6 11:16:52 2016 +0100 Add error reporting for opening URIs on Windows Before it silently failed if there was any error. Now at least a console warning is logged. src/win32.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) commit b0cf5f6cdad33db2256676ae59daf6c2b36807c6 Author: Enrico Tröger Date: Sat Aug 8 12:21:09 2015 +0200 Rewrite PHP tag creation script using up to date upstream tag definitions Fixes #584. data/php.tags | 14541 +++++++++++++++++++++++++++++------------- scripts/create_php_tags.php | 74 - scripts/create_php_tags.py | 105 + 3 files changed, 10227 insertions(+), 4493 deletions(-) commit 6ecfb8b5a6d688fea4d75d160535fddc658c6996 Author: Jiří Techet Date: Sat Mar 5 11:55:57 2016 +0100 Rename socket_info_struct to SocketInfo src/socket.c | 2 +- src/socket.h | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) commit c84c41e44a69727a51abebf58936b65bd80659c6 Author: Jiří Techet Date: Sat Mar 5 11:10:38 2016 +0100 Don't show the goto popup for typedef synonyms For instance when performing goto tag for Foo and Foo is defined as typedef struct Foo {} Foo; go immediately to the struct location without showing the goto popup with both the struct name and typedef. When there are more occurrences of the name, filter the list and don't show the synonyms in the popup. In addition, if the cursor is on the same line as the typedef, go to the struct and vice versa. Note the missing g_strcmp0(second->var_type, first->name) == 0 in the check - in this particular case we won't get the type to which the typedef refers inside var_type because at the time the typedef tag is generated in c.c the struct tag doesn't exist yet. On the other hand there's no second->var_type == NULL either because this behaviour seems to be rather implementation-specific and might easily change in the future. The existing checks are probably sufficient for the real-world code. src/symbols.c | 31 +++++++++++++++++++++++++++---- 1 file changed, 27 insertions(+), 4 deletions(-) commit 9a854751e1d5ae2be0d3714eae83111ded7c8a20 Author: Colomban Wendling Date: Fri Mar 4 23:21:23 2016 +0100 Fix GtkDoc header generation script to handle references inside typedef scripts/gen-api-gtkdoc.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 5858bc3c084d5a955914828c4df2e897790465fd Author: Colomban Wendling Date: Fri Mar 4 23:08:32 2016 +0100 Deprecate filetype_id in favor of GeanyFiletypeID src/filetypes.h | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) commit 856ee6633f393ca9e230599570af1b06c74b9ea8 Author: Colomban Wendling Date: Fri Mar 4 23:07:04 2016 +0100 Replace filetype_id with GeanyFiletypeID Used only in static functions so no API change. src/filetypes.c | 8 ++++---- src/symbols.c | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) commit f4b270a60e1d825de2dcc4db9951463fe32d5914 Author: Colomban Wendling Date: Thu Mar 3 16:29:01 2016 +0100 Use the same DOCDIR on Windows than on other platforms NSIS installer changes were not tested, hopefully they'll work. Closes #928. geany.nsi.in | 7 +++---- src/utils.c | 4 ++-- wscript | 8 +++----- 3 files changed, 8 insertions(+), 11 deletions(-) commit be29bad098792298fa53901f50fd267cb5994e2e Merge: debe1454 2d88bc9a Author: Colomban Wendling Date: Fri Mar 4 20:06:10 2016 +0100 Merge pull request #906 from techee/scope_fallout Scope completion fallout patches commit debe14549d6c9ae488ae4fb2be20315a27d39e5d Author: Colomban Wendling Date: Thu Mar 3 15:00:15 2016 +0100 Improve API docs related to keybindings configuration file src/keybindings.c | 4 ++-- src/pluginutils.c | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) commit 78c6a2ad6dfafb206024e828cb76ec3229768ab4 Author: Colomban Wendling Date: Thu Mar 3 14:46:25 2016 +0100 Fix check for GtkDoc header generation dependencies The checks itself were correct, but the logic for the final decision didn't properly handle `--enable-gtkdoc-header=auto`, which also happens to be the default. Also fix hiding error messages from Python when trying to import the `lxml` module to see whether it's available or not. Closes #929. m4/geany-gtkdoc-header.m4 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 0619801b74b6d0575ee422363abd92eefa78248e Author: Frank Lanitz Date: Wed Mar 2 19:59:46 2016 +0100 Small update of German translation po/de.po | 544 +++++++++++++++++++++++++++++++-------------------------------- 1 file changed, 272 insertions(+), 272 deletions(-) commit 6ba26cf1fe35375e589ef6f4e8bb290265388904 Author: Colomban Wendling Date: Tue Mar 1 22:31:47 2016 +0100 Use "symbol" instead of "tag" in comments too src/symbols.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 85f556b38118b6f5a2d11d719c519c146354ded5 Author: Colomban Wendling Date: Tue Mar 1 20:32:10 2016 +0100 Make Doxygen happy about signallist.i Doesn't alter the documentation output in anyway, but shuts Doxygen up about it not finiding the file. doc/Doxyfile.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 47816339b6e14d2d365247cf899fb7dc68258b65 Merge: d7c2a385 b70dbc44 Author: Colomban Wendling Date: Tue Mar 1 19:25:53 2016 +0100 Merge pull request #911 from b4n/deprecations Deprecations cleanup and improvement commit b70dbc44bd2973f9a08996d3fb0aee8e1ede33f7 Author: Colomban Wendling Date: Wed Feb 24 23:37:27 2016 +0100 Use our own deprecation macros This allows us to conditionally enable our deprecation warnings, like when building Geany itself or when `GEANY_DISABLE_DEPRECATION_WARNINGS` is defined. doc/Doxyfile.in | 4 ++-- src/geany.h | 8 ++++++++ src/plugindata.h | 7 ++++--- src/sciwrappers.h | 7 ++++--- src/ui_utils.h | 3 ++- 5 files changed, 20 insertions(+), 9 deletions(-) commit d7c2a38509c749329e6ea5c432758f090a246b15 Merge: 3fda6988 e9dd2269 Author: Colomban Wendling Date: Tue Mar 1 19:11:21 2016 +0100 Merge pull request #925 from techee/doxygen_warning Comment-out some options not available on older Doxygen versions commit 3fda6988b3b5b00dba25999de2cdb1540154701e Merge: d6ce561e 44694f63 Author: Colomban Wendling Date: Tue Mar 1 18:53:08 2016 +0100 Merge pull request #890 from kugel-/gtkdoc-hdr Generated and ship a GtkDoc header suitable for GObject Introspection. commit 44694f638bb342713384965a13b6f601d1c2bd57 Author: Colomban Wendling Date: Tue Mar 1 16:37:08 2016 +0100 Remove unused classes from the GtkDoc header generation script scripts/gen-api-gtkdoc.py | 15 --------------- 1 file changed, 15 deletions(-) commit 9ce7c22ad74c0d706bf857477c421320b1c9941e Author: Colomban Wendling Date: Tue Mar 1 16:34:05 2016 +0100 Fix Doxygen generation instead of working around incorrect output Make Doxygen ignore `G_{BEGIN,END}_DECLS` and `GEANY_API_SYMBOL` itself instead of stripping those manually when parsing the XML output. This makes Doxygen parsing more robust by ignoring some odd C syntax, and also improves the HTML version removing some incorrect C code references. doc/Doxyfile.in | 3 +++ scripts/gen-api-gtkdoc.py | 8 ++++---- 2 files changed, 7 insertions(+), 4 deletions(-) commit d6ce561eea74b9d9231efe1ac28e0df647c7211f Merge: 532c61c6 e49bca18 Author: Frank Lanitz Date: Mon Feb 29 23:13:50 2016 +0100 Merge pull request #926 from giuspen/master updated it.po commit e49bca185065c6ad59dd84ccea89da88afc5aaae Author: Giuseppe Penone Date: Mon Feb 29 21:40:20 2016 +0000 updated it.po po/it.po | 107 ++++++++++++++++++++++++++++++++------------------------------- 1 file changed, 54 insertions(+), 53 deletions(-) commit e9dd2269c2a4e2306c738a6b569fa761d7826377 Author: Jiří Techet Date: Mon Feb 29 21:28:46 2016 +0100 Comment-out some options not available on older doxygen versions This eliminates some warnings with doxygen 1.8.7 on Ubuntu 14.04.4 LTS based system. The default values of these options are equal to the commented-out values so nothing should be broken by this change. doc/Doxyfile.in | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) commit 6f79a94cec19df0099402a5e68e92f78d86aec9c Author: Colomban Wendling Date: Mon Feb 29 00:34:27 2016 +0100 Add GPL header to GtkDoc header generation script scripts/gen-api-gtkdoc.py | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) commit 532c61c64c737fdfd0277116960750e2780dcdbc Author: Colomban Wendling Date: Sun Feb 28 19:49:23 2016 +0100 Small update of the French translation po/fr.po | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) commit ceca962a4a130c5adeaba946d646eb5e17554a81 Merge: 49cdc278 7fcda040 Author: Colomban Wendling Date: Sun Feb 28 19:42:34 2016 +0100 Merge pull request #547 from techee/locale_utf8 Locale/utf8 fixes commit 49cdc2789772fc3b419d9ed392b2615ad2660689 Author: Jiří Techet Date: Sun Feb 28 17:05:03 2016 +0100 Document the new symbol goto popup doc/geany.txt | 7 +++++++ 1 file changed, 7 insertions(+) commit 2d88bc9a63a57fccad4ae072faf74a914860a7cf Author: Jiří Techet Date: Sun Feb 28 16:22:45 2016 +0100 Bump GEANY_API_VERSION for langType rename src/plugindata.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit e99a73ef73e4ddf1f71bffb92256a157e15979cf Author: Frank Lanitz Date: Sun Feb 28 14:18:17 2016 +0100 Update po files for string freeze for 1.27 po/ar.po | 1880 +++++++++++++++++++------------------ po/ast.po | 1892 ++++++++++++++++++++------------------ po/be.po | 1887 +++++++++++++++++++------------------ po/bg.po | 1885 +++++++++++++++++++------------------ po/ca.po | 1892 ++++++++++++++++++++------------------ po/cs.po | 1892 ++++++++++++++++++++------------------ po/de.po | 256 +++--- po/el.po | 1899 ++++++++++++++++++++------------------ po/en_GB.po | 1892 ++++++++++++++++++++------------------ po/es.po | 259 +++--- po/et.po | 1885 +++++++++++++++++++------------------ po/eu.po | 1885 +++++++++++++++++++------------------ po/fa.po | 1892 ++++++++++++++++++++------------------ po/fi.po | 1892 ++++++++++++++++++++------------------ po/fr.po | 248 ++--- po/gl.po | 1892 ++++++++++++++++++++------------------ po/he.po | 1889 +++++++++++++++++++------------------ po/hi.po | 1858 +++++++++++++++++++------------------ po/hu.po | 2962 +++++++++++++++++++++++++++++++++++------------------------ po/id.po | 2013 +++++++++++++++++++++------------------- po/it.po | 259 +++--- po/ja.po | 605 ++++++------ po/kk.po | 250 ++--- po/ko.po | 638 +++++++------ po/lb.po | 1892 ++++++++++++++++++++------------------ po/lt.po | 1896 ++++++++++++++++++++------------------ po/mn.po | 1870 +++++++++++++++++++------------------ po/nl.po | 1908 +++++++++++++++++++------------------- po/nn.po | 1865 +++++++++++++++++++------------------ po/pl.po | 1890 ++++++++++++++++++++------------------ po/pt.po | 603 ++++++------ po/pt_BR.po | 1892 ++++++++++++++++++++------------------ po/ro.po | 1891 ++++++++++++++++++++------------------ po/ru.po | 1899 ++++++++++++++++++++------------------ po/sk.po | 1945 ++++++++++++++++++++------------------- po/sl.po | 1889 +++++++++++++++++++------------------ po/sr.po | 1886 +++++++++++++++++++------------------ po/sv.po | 1888 +++++++++++++++++++------------------ po/tr.po | 1892 ++++++++++++++++++++------------------ po/uk.po | 1887 +++++++++++++++++++------------------ po/vi.po | 1894 ++++++++++++++++++++------------------ po/zh_CN.po | 1892 ++++++++++++++++++++------------------ po/zh_TW.po | 1889 +++++++++++++++++++------------------ 43 files changed, 36784 insertions(+), 33686 deletions(-) commit d44f06a8b5bf25dd569b73c6c91fab670e2b0f16 Merge: 725083ff 8b61b9f9 Author: Colomban Wendling Date: Sun Feb 28 13:30:07 2016 +0100 Merge pull request #406 from techee/multi_tag_goto If more tags are found during tag definition/declaration goto, let the user select which one to use. commit 8b61b9f94166e32a921cf839377f0a3b6bfeec3c Author: Colomban Wendling Date: Sun Feb 28 13:27:31 2016 +0100 Mark the goto popup label as translatable for localized colons It could arguably not be translatable and only `filename:line` display, but as we have already a space on the right of the colon it's not, and allowing translation is not a problem and can give better localization. src/symbols.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) commit 00f0ce5991098ed0533e7577c18eb5b402c6be63 Author: Colomban Wendling Date: Sun Feb 28 04:49:51 2016 +0100 PEP8 the GtkDoc header generator script a little But use 110 as line length and leave visual operators alignment alone. scripts/gen-api-gtkdoc.py | 48 ++++++++++++++++++++++++++--------------------- 1 file changed, 27 insertions(+), 21 deletions(-) commit 871c562589abd587f113a773ee334bc2d0fbf47d Author: Colomban Wendling Date: Sun Feb 28 02:35:43 2016 +0100 Further improve annotations rendition in HTML output doc/Doxyfile.in | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) commit f90da20359e551a8785f35b6ed94c619fc2f9b83 Author: Colomban Wendling Date: Sun Feb 28 02:12:35 2016 +0100 Add `@nullable` annotations everywhere src/build.c | 2 +- src/dialogs.c | 8 ++++---- src/document.c | 34 +++++++++++++++++----------------- src/editor.c | 16 ++++++++-------- src/encodings.c | 4 ++-- src/filetypes.c | 4 ++-- src/keybindings.c | 4 ++-- src/pluginutils.c | 4 ++-- src/spawn.c | 38 +++++++++++++++++++------------------- src/stash.c | 2 +- src/ui_utils.c | 10 +++++----- src/utils.c | 28 ++++++++++++++-------------- 12 files changed, 77 insertions(+), 77 deletions(-) commit 1be0bc7c74606cf590c4c8a18a99a9c7daddfd1e Author: Colomban Wendling Date: Sun Feb 28 02:03:04 2016 +0100 Mark output parameters as such src/encodings.c | 2 +- src/spawn.c | 6 +++--- src/utils.c | 6 +++--- 3 files changed, 7 insertions(+), 7 deletions(-) commit e4bdf45cc6b293717a95038f97105c6f8b1eca16 Author: Colomban Wendling Date: Sun Feb 28 01:58:48 2016 +0100 Add support for `out` and `optional` GI annotations doc/Doxyfile.in | 2 ++ scripts/gen-api-gtkdoc.py | 2 ++ 2 files changed, 4 insertions(+) commit f69c72f4861eba9e81ed8fdc3d0d07b0a5e3b8b6 Author: Colomban Wendling Date: Sun Feb 28 01:58:04 2016 +0100 Improve HTML rendition of some annotations doc/Doxyfile.in | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) commit 2b8cfb3f840a165ac7b001d9efcd23349523c78a Author: Colomban Wendling Date: Sun Feb 28 01:02:52 2016 +0100 Use `%NULL`, `%FALSE` and `%TRUE` in the GtkDoc output scripts/gen-api-gtkdoc.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) commit d57ca1daef98d79b9e7fbb448afcdce5ff1eb795 Author: Colomban Wendling Date: Sun Feb 28 00:03:12 2016 +0100 Fix inclusion of spurious `@`s in the GtkDoc header Apparently Doxygen doesn't like `\only` tags when not preceded by another command. But use a no-op instead of `\a`. doc/Doxyfile.in | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) commit 86cb9aeac0f3d32c6a93688dbe49039fb24f15e8 Author: Jiří Techet Date: Fri Feb 26 01:40:37 2016 +0100 Make the use of TMParserType private Or semi-private by removing the docstring. src/filetypes.h | 2 +- tagmanager/src/tm_parser.h | 4 ++++ tagmanager/src/tm_source_file.h | 2 +- tagmanager/src/tm_tag.h | 2 +- 4 files changed, 7 insertions(+), 3 deletions(-) commit 833921e6ee793d5d27a4e1ac4a9ef212676c2328 Author: Jiří Techet Date: Fri Feb 26 01:29:50 2016 +0100 Install tm_parser.h Included now in other headers and needed for successful plugin compilation. tagmanager/src/Makefile.am | 3 ++- wscript | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) commit 292383c197b72c56f44b68b14845093adfed7133 Author: Jiří Techet Date: Sat Feb 20 23:50:23 2016 +0100 Some more uses of TMParserType instead of int src/filetypes.c | 6 +++--- src/symbols.c | 4 ++-- src/symbols.h | 4 +--- tagmanager/src/tm_workspace.c | 6 +++--- tagmanager/src/tm_workspace.h | 2 +- 5 files changed, 10 insertions(+), 12 deletions(-) commit 00cb498ebcc6b73499b9c5d2991490f64a5c765e Author: Jiří Techet Date: Sat Feb 13 11:51:30 2016 +0100 Don't use ctags types inside Geany We should isolate ctags from Geany completely and use separate types. At the moment langType is shared by both Geany and ctags. For Geany redefine it as TMParserType (which was currently used as the name of the enum and was unused) and use everywhere in Geany. At the same time convert some ints to TMParserType where they denote the parser. This is strictly speaking an API change but no plugin uses langType at the moment so its renaming doesn't cause any problems. The only remaining visible ctags type is tagEntryInfo - it is however used only inside tagmanager (and can be later removed quite easily too by slightly reorganizing TM source files). src/filetypes.h | 8 ++++---- tagmanager/src/tm_parser.h | 5 +++-- tagmanager/src/tm_source_file.c | 4 ++-- tagmanager/src/tm_source_file.h | 12 +++++------- tagmanager/src/tm_tag.c | 8 ++++---- tagmanager/src/tm_tag.h | 8 ++++---- tagmanager/src/tm_workspace.c | 22 +++++++++++----------- tagmanager/src/tm_workspace.h | 6 +++--- 8 files changed, 36 insertions(+), 37 deletions(-) commit d1a5ceac424158218d585f8a34e527a537c17e5e Author: Jiří Techet Date: Sat Feb 13 02:00:30 2016 +0100 Don't pass multiple copies of identical type name to scintilla for colorization For instance for the boost library this makes the resulting string passed to scintilla 6x shorter. Because scintilla goes through this list more or less linearly for every single word in the document, this can bring significant reductions of time spent when recolorizing. src/symbols.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) commit cb307e5b92479ce984aff01b106b1bdad346c0e8 Author: Jiří Techet Date: Sat Feb 13 01:52:53 2016 +0100 Use the langs_compatible() function when passing typenames to scintilla This requires making the function public and tm_tag.c seems to be a better place for the function than tm_workspace so move there and add the prefix. src/symbols.c | 6 +----- tagmanager/src/tm_tag.c | 16 ++++++++++++++++ tagmanager/src/tm_tag.h | 2 ++ tagmanager/src/tm_workspace.c | 22 +++------------------- 4 files changed, 22 insertions(+), 24 deletions(-) commit 5030f7f3da945c0caeb42e090991ad362d30a743 Author: Jiří Techet Date: Sat Feb 13 01:43:35 2016 +0100 Cleanup NONE/AUTO filetype definitions At the moment the Geany code uses arbitrary combination of the following synonyms TM_PARSER_NONE / LANG_IGNORE / -2 TM_PARSER_AUTO / LANG_AUTO / -1 Especially using just the numbers makes things very confusing. In the Geany code this patch replaces all occurrences of -2 and LANG_IGNORE with TM_PARSER_NONE. It also removes LANG_IGNORE from the header which isn't needed any more. In addition, TM_PARSER_AUTO/LANG_AUTO shouldn't be used at all. We want filetype detection based on Geany's definitions and not based on the hard-coded ctags definitions. Remove it completely. Finally, as it's clearer now what the constants mean, the patch fixes the implementation of langs_compatible() (tag or file can never be of type AUTO but we should rather check for NONE filetypes which we should consider incompatible between each other). src/filetypes.c | 2 +- src/symbols.c | 4 ++-- tagmanager/src/tm_parser.h | 9 +-------- tagmanager/src/tm_source_file.c | 19 ++++++------------- tagmanager/src/tm_workspace.c | 7 ++++--- 5 files changed, 14 insertions(+), 27 deletions(-) commit 77f6e98de8e50d0b9e270c113c8ba3b2828bbe19 Author: Jiří Techet Date: Sat Jan 16 14:25:01 2016 +0100 Add scope completion for namespaces Pop up scope completion dialog for namespaces too; e.g. for boost:: show all symbols defined in the namespace. Determine whether the namespace scope completion should be used based on whether user typed a scope separator. If so, perform completion for namespaces before normal scope completion - this seems to work better e.g. for Scintilla where Scintilla:: would otherwise pop up the varible sci instead of showing everything in the namespace (might be more questionable for languages where the scope separator is identical to the dereference operator like Java's "." but we have to make some choice anyway). The performance seems to be reasonable - for the completion all tags have to be walked but after testing with big C++ projects like boost and Mozilla, the completion takes only something like 0.2s which is acceptable as the delay happens only on typing the scope completion separator and feels kind of expected. Also tested with linux kernel sources which normally lack any scope information by hacking TM a bit and injecting 10-character scope for each tag - then the completion takes something over 0.5s. src/editor.c | 12 +++++--- tagmanager/src/tm_workspace.c | 65 ++++++++++++++++++++++++++++++++----------- tagmanager/src/tm_workspace.h | 2 +- 3 files changed, 57 insertions(+), 22 deletions(-) commit b46e183cbc689ba7dd69a21d3575c863d762eea5 Author: Jiří Techet Date: Sat Feb 20 16:02:11 2016 +0100 Move the popup 1px further so it isn't below mouse pointer Otherwise the mouse pointer highlights a wrong value if the popup is large enough to extend above the mouse pointer. src/symbols.c | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) commit c8dd52eb46ec348bb05539124104db910a45c894 Author: Colomban Wendling Date: Sat Feb 20 15:35:26 2016 +0100 Position the popup at the very click position if any src/symbols.c | 54 ++++++++++++++++++++++++++---------------------------- 1 file changed, 26 insertions(+), 28 deletions(-) commit 653990c01137342d5ca1776662594fe976702992 Author: Colomban Wendling Date: Sat Feb 20 15:24:45 2016 +0100 Pass the actual event button to gtk_menu_popup() In case it's actually useful. Also properly free the GdkEvent returned by gtk_get_current_event(). src/symbols.c | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) commit a168f69887ce29345d6592b8df566629f014ed7f Author: Jiří Techet Date: Sat Feb 20 00:09:59 2016 +0100 Make sure the mouse cursor is out of the popup The x coordinate is now taken from the scintilla caret position. However, when performing ctrl+click, we have to distinguish two cases: 1. the click happens in the second half of a letter - in this case the caret is placed behind the letter and the popup appears behind it - no problem 2. the click happens in the first part of a letter - caret is placed before the letter and the popup appears before the position where the click happened - this means that the mouse cursor is above the popup which causes that the mouse cursor highlights the item at the position of the cursor instead of having the first item in the menu highlighted. The patch calculates offset between caret and the mouse click event position and uses this value to adjust the popup positioning so it's outside the mouse cursor. src/symbols.c | 31 +++++++++++++++++++++++++------ 1 file changed, 25 insertions(+), 6 deletions(-) commit 848a123f00ba519c47af61c584fece1c5bead1e8 Author: Colomban Wendling Date: Fri Feb 19 02:30:37 2016 +0100 Improve placement of the goto tag popup src/symbols.c | 53 ++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 50 insertions(+), 3 deletions(-) commit 1f9bfdf65fd43e80975aeb8eea37a427e379785a Author: Jiří Techet Date: Thu Feb 18 22:12:56 2016 +0100 Set push_in parameter to false This behaves a bit strangely when the list is long and when clicked at the bottom of the screen (the top part of the popup is empty). src/symbols.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 61582a42f9a7acb86a2b2b79b17fb5fc80e86755 Author: Jiří Techet Date: Thu Feb 18 22:11:08 2016 +0100 Always select the first item for better keyboard manipulation Even when the user Ctrl+clicks to perform goto tag definition, it should be possible to select the item from the list using keyboard (and have the first item automatically selected so ctrl+click plus enter afterwards always gets you somewhere). src/symbols.c | 24 ++++-------------------- 1 file changed, 4 insertions(+), 20 deletions(-) commit 943bfa52c5f98e3adc0f8581845e492203c1218c Author: Colomban Wendling Date: Mon Feb 15 17:45:25 2016 +0100 Re-implement goto tag popup with a poped-up GtkMenu src/symbols.c | 171 +++++++++++++++++++--------------------------------------- 1 file changed, 54 insertions(+), 117 deletions(-) commit 4c0c76e6f40e0ad12fa1aac676872200b948a45b Author: Jiří Techet Date: Tue Jul 14 13:31:50 2015 +0200 If more tags are found during tag definition/declaration goto, let user select which one to use If only a single tag is found, just perform the goto. If more tags are found, show them in a popup. Try to help the user find the right file by putting the "best" tag at the first position and emphasizing it. Thanks to Colomban Wendling for various improvements of this patch. src/symbols.c | 365 ++++++++++++++++++++++++++++++++++++++++++++++------------ 1 file changed, 292 insertions(+), 73 deletions(-) commit 1f5355200789dbb0ff393bf7f904b053e71a64cb Author: Thomas Martitz Date: Thu Feb 25 14:50:25 2016 +0100 Undo removal of "can be NULL" remark Also remove a unecessary empty line. src/keybindings.c | 2 +- src/utils.c | 3 +-- 2 files changed, 2 insertions(+), 3 deletions(-) commit 3d51d8f6a64d49ac5b223075cbee530bd678e89c Author: Thomas Martitz Date: Thu Feb 25 14:49:18 2016 +0100 GeanyFiletypeGroupID shall be gir-only src/filetypes.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) commit 725083ffe702aa644790af11721d8845dfd2d741 Author: Colomban Wendling Date: Thu Feb 25 02:06:47 2016 +0100 Small update of the French translation NEWS | 2 +- po/fr.po | 1873 ++++++++++++++++++++++++++++++++------------------------------ 2 files changed, 957 insertions(+), 918 deletions(-) commit 17e4a604c57cf520699ebc564f2e39a3b587fb2b Author: Thomas Martitz Date: Tue Dec 15 10:28:24 2015 +0100 plugin api: export editor_set_indent_width() Plugins can now change the indentation width of an editor. Closes #903. src/editor.c | 7 +++++++ src/editor.h | 4 ++-- src/plugindata.h | 2 +- 3 files changed, 10 insertions(+), 3 deletions(-) commit 269980ca4500025e66b4297a3ff667182d197a67 Merge: 77324b5e 9b627f4e Author: Colomban Wendling Date: Thu Feb 25 00:40:13 2016 +0100 Merge pull request #914 from eht16/update_doc_images Update images/screenshots in the manual for 1.27 commit 8bce6031b5260c794134e4063890a4eb9bed540c Author: Colomban Wendling Date: Wed Feb 24 23:08:48 2016 +0100 Avoid use of deprecated API from core plugins plugins/filebrowser.c | 8 ++++---- plugins/htmlchars.c | 11 ++++++----- 2 files changed, 10 insertions(+), 9 deletions(-) commit 7af832da80a52a7f75c1fed464d409810afddfab Author: Colomban Wendling Date: Wed Feb 24 23:03:35 2016 +0100 Avoid confusing Doxygen with function attributes doc/Doxyfile.in | 2 ++ 1 file changed, 2 insertions(+) commit 77324b5e7d3d76da55e43e1926178f62a23d1610 Author: Frank Lanitz Date: Wed Feb 24 22:14:49 2016 +0100 Update of German translation po/de.po | 589 +++++++++++++++++++++++++++++++++------------------------------ 1 file changed, 309 insertions(+), 280 deletions(-) commit 409fe1a3234cf9e1fa74f81d1404fa3123e7c973 Author: Colomban Wendling Date: Wed Feb 24 20:31:58 2016 +0100 Try and avoid meaningless deprecation warnings from GLib and GTK Avoid deprecation warnings from GLib and GTK versions newer than what we currently require by default. To undo this and get all deprecation warnings back, undefine `GLIB_VERSION_MIN_REQUIRED` and `GDK_DISABLE_DEPRECATION_WARNINGS` on the command line (e.g. using `-U...` in `CFLAGS`). HACKING | 14 ++++++++++++++ configure.ac | 7 +++++++ 2 files changed, 21 insertions(+) commit 3654b8f6f17e73e8380224c7770718488ed0d345 Author: Frank Lanitz Date: Wed Feb 24 21:27:04 2016 +0100 Small update of NEWS to reflect latest translation updates NEWS | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 417a096356192b6eec9561def45bba591f3d26f0 Author: Frank Lanitz Date: Wed Feb 24 21:25:43 2016 +0100 Update of Spanish translation po/es.po | 1878 ++++++++++++++++++++++++++++++++------------------------------ 1 file changed, 961 insertions(+), 917 deletions(-) commit 3b2174b3f7ab578ca5ffca8cb851a16f15b36d17 Merge: 231814ad 95f0c6a7 Author: Frank Lanitz Date: Wed Feb 24 21:22:15 2016 +0100 Merge pull request #915 from crayxt/master Update of Kazakh translation commit 231814ad1facfa87c5f32cd603806528608a7e53 Merge: 2f55540f 04c58ffe Author: Frank Lanitz Date: Wed Feb 24 21:20:14 2016 +0100 Merge pull request #909 from giuspen/master Updated language Italian commit 3973892e29e5755d8b940870c6884fdbe94dd138 Author: Colomban Wendling Date: Wed Feb 24 19:29:44 2016 +0100 Move deprecated setptr() macro inside GEANY_DISABLE_DEPRECATED guards src/utils.h | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) commit 95f0c6a752946f5f7f509c799bd8f1ac756399eb Author: Baurzhan Muftakhidinov Date: Wed Feb 24 15:03:38 2016 +0500 Update of Kazakh translation po/kk.po | 1886 ++++++++++++++++++++++++++++++++------------------------------ 1 file changed, 965 insertions(+), 921 deletions(-) commit 9b627f4e3a3602fa04a413fa63e04a62907e03e3 Author: Enrico Tröger Date: Tue Feb 23 01:03:57 2016 +0100 Update images/screenshots in the manual for 1.27 doc/images/build_menu_commands_dialog.png | Bin 53471 -> 58390 bytes doc/images/find_dialog.png | Bin 17199 -> 22820 bytes doc/images/find_in_files_dialog.png | Bin 25211 -> 27172 bytes doc/images/main_window.png | Bin 73968 -> 88195 bytes doc/images/pref_dialog_edit_completions.png | Bin 54063 -> 64205 bytes doc/images/pref_dialog_edit_display.png | Bin 47272 -> 56210 bytes doc/images/pref_dialog_edit_features.png | Bin 38688 -> 43978 bytes doc/images/pref_dialog_edit_indentation.png | Bin 40477 -> 47779 bytes doc/images/pref_dialog_files.png | Bin 49600 -> 56651 bytes doc/images/pref_dialog_gen_misc.png | Bin 42951 -> 49642 bytes doc/images/pref_dialog_gen_startup.png | Bin 42976 -> 45304 bytes doc/images/pref_dialog_interface_interface.png | Bin 42346 -> 53042 bytes doc/images/pref_dialog_interface_notebook.png | Bin 41551 -> 46578 bytes doc/images/pref_dialog_interface_toolbar.png | Bin 38006 -> 43424 bytes doc/images/pref_dialog_keys.png | Bin 46262 -> 50802 bytes doc/images/pref_dialog_printing.png | Bin 35005 -> 37487 bytes doc/images/pref_dialog_templ.png | Bin 41548 -> 41617 bytes doc/images/pref_dialog_tools.png | Bin 36754 -> 36071 bytes doc/images/pref_dialog_various.png | Bin 47404 -> 53035 bytes doc/images/pref_dialog_vte.png | Bin 45780 -> 51623 bytes doc/images/replace_dialog.png | Bin 21677 -> 28978 bytes 21 files changed, 0 insertions(+), 0 deletions(-) commit 756d3ce5b047a884ff248c0d15dbbbdf0bb9a5ef Author: Enrico Tröger Date: Mon Feb 22 00:57:12 2016 +0100 Allow spawn debug output also with GEANY_DEBUG And remove a trailing unnecessary newline in the debug message. src/spawn.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit b22fbe734c48a62981723fc376cf13bac1ee2548 Author: Colomban Wendling Date: Sun Feb 21 02:09:45 2016 +0100 Mark deprecated API so GCC can warn about it Also suggest replacement when appropriate. src/plugindata.h | 6 +++--- src/sciwrappers.h | 6 +++--- src/ui_utils.h | 2 +- 3 files changed, 7 insertions(+), 7 deletions(-) commit b4c3d6a737ebc9a99bcd5e186c23f709bcb7aebe Author: Colomban Wendling Date: Sun Feb 21 01:57:35 2016 +0100 Move deprecated declarations inside GEANY_DISABLE_DEPRECATED guards Not all deprecated declarations were guarded this way, making it harder to catch them. src/plugindata.h | 102 ++++++++++++++++++++++++++---------------------------- src/sciwrappers.h | 8 +++-- src/ui_utils.h | 7 ++-- 3 files changed, 60 insertions(+), 57 deletions(-) commit 04c58ffe191bc5f686c57f0b6544586906635f74 Author: Giuseppe Penone Date: Sat Feb 20 21:54:15 2016 +0000 Updated language Italian po/it.po | 595 +++++++++++++++++++++++++++++++++------------------------------ 1 file changed, 313 insertions(+), 282 deletions(-) commit 7f9129c9384e03895170ed5b0c4b70a0c995556b Author: Colomban Wendling Date: Fri Feb 19 17:51:47 2016 +0100 Mark private fields as private in the GtkDoc header scripts/gen-api-gtkdoc.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) commit 2280ca43030646719033b6279ebfebd02a9a026d Author: Thomas Martitz Date: Sat Feb 20 22:44:13 2016 +0100 project: fix build with old glib versions src/project.h | 1 + 1 file changed, 1 insertion(+) commit 21dfbd0edf2f739379655cf32bc537de5385d919 Merge: 31b7a2d6 2f55540f Author: Giuseppe Penone Date: Sat Feb 20 21:34:39 2016 +0000 Merge branch 'master' of https://github.com/geany/geany commit 91daa9f9db0b83f069388c954bf985a4436f42fa Author: Colomban Wendling Date: Fri Feb 19 00:03:30 2016 +0100 Fix handling of some GtkDoc annotations scripts/gen-api-gtkdoc.py | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) commit 3e9eb359ea73aa22addf1cde0f8224ae7b12a9ac Author: Colomban Wendling Date: Thu Feb 18 23:55:10 2016 +0100 Install python-lxml on Travis for the GtkDoc header generation .travis.yml | 1 + 1 file changed, 1 insertion(+) commit 66c3323afbe88c7519dd7084825d4330b201dd01 Author: Colomban Wendling Date: Thu Feb 18 23:39:43 2016 +0100 Force enable GtkDoc header on distcheck This allows to make sure this is tested, and part of the distribution.c Makefile.am | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) commit 91a8bb6c6aa155085be370e9301cca324cea8914 Author: Colomban Wendling Date: Thu Feb 18 23:38:54 2016 +0100 Don't generate GtkDoc header stuff if GtkDoc header will not be built doc/Makefile.am | 43 +++++++++++++++++++++++++------------------ 1 file changed, 25 insertions(+), 18 deletions(-) commit 240b5903be6be32b4f5050878bc0263ecee84b25 Author: Colomban Wendling Date: Thu Feb 18 23:13:49 2016 +0100 Fix distcheck We need to distribute the GtkDoc header generation script. We need not to distribute the generated header, otherwise the VPATH lookup would find the distributed one in $(srcdir) and try to update it; but touching $(srcdir) is a bad thing. Makefile.am | 1 + doc/Makefile.am | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) commit e9e2ddf581f1a510e5fdc63b78da444094912908 Author: Colomban Wendling Date: Thu Feb 18 22:51:30 2016 +0100 Add an option to control GtkDoc header generation This allows explicit activation or deactivation of the GtkDoc header generation. This might allow to e.g. force enable it on distcheck. configure.ac | 2 +- doc/Makefile.am | 2 +- m4/geany-docutils.m4 | 26 -------------------------- m4/geany-gtkdoc-header.m4 | 42 ++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 44 insertions(+), 28 deletions(-) commit 2f55540f75ef9b633647e745593197e93da3f6ad Merge: 4afe6a58 9b686871 Author: Colomban Wendling Date: Wed Feb 17 22:54:55 2016 +0100 Merge pull request #582 from techee/tags_are_symbols Use the word "symbol" instead of "tag" in the UI and documentation commit 9b686871dead3d2fb20d61508034ba4a7b052160 Author: Jiří Techet Date: Sun Jul 19 21:25:44 2015 +0200 Use the word "symbol" instead of "tag" in the UI and documentation For users a tag is so the naming can be confusing. The only exception where we probably shouldn't use the word symbol is the "tags file" (*.tags) containing global tags - this has already the "tags" extension and is more related to ctags and using "symbols file" is a bit strange in this case. As a result, the only places where this patch leaves the word "tag" are: * phrase "tags file(s)" * phrase "tags parser(s)" * documentation mentioning the "tags" directory * documentation mentioning the *.tags extension and of course where it means the HTML/XML markup . The rest of the uses of the word "tag" is replaced with "symbol". Documentation is updated accordingly. Fixes #579. data/geany.glade | 8 +-- doc/geany.txt | 160 +++++++++++++++++++++++++++--------------------------- src/filetypes.c | 2 +- src/keybindings.c | 4 +- src/libmain.c | 2 +- src/sidebar.c | 2 +- src/symbols.c | 10 ++-- 7 files changed, 93 insertions(+), 95 deletions(-) commit 4afe6a584ae88676ddda1b0a9506e6797bdfb7ea Author: Colomban Wendling Date: Wed Feb 17 20:33:28 2016 +0100 manual: Improve the error_regex description doc/geany.txt | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) commit 444a18b5e14ea089dbd7f3c294f87f8f32c2d17c Author: Colomban Wendling Date: Wed Feb 17 18:49:32 2016 +0100 calltips: Allow for C++-style explicit specialization after the name Closes #496. Based on PR#496 by @DThought, thanks. src/editor.c | 11 +++++++++++ 1 file changed, 11 insertions(+) commit 989e0df412956396d6f6a50fc7797e296e77014d Author: Colomban Wendling Date: Wed Feb 17 18:45:45 2016 +0100 calltips: Allow for more than one space between the brace and the word src/editor.c | 3 +++ 1 file changed, 3 insertions(+) commit d0cd11188300d3bd1c31a3923c3531897dd28fe3 Merge: 43168725 b361b832 Author: Colomban Wendling Date: Wed Feb 17 17:37:21 2016 +0100 Merge pull request #575 from techee/colourise Colourise only the visible area when highlighting typenames commit 4316872503ca5494701bd5366294ce2875591bce Author: ZoomRmc Date: Fri Jul 31 15:43:27 2015 +0300 Rust: Updated suggested indentation defaults Indentation per official style guide: https://github.com/rust-lang/rust/blob/master/src/doc/style/style/whitespace.md Closes #595. data/filetypes.rust | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 372d7632e840652d59f53dc5174d76133859b63a Merge: 8dd77590 54613a26 Author: Colomban Wendling Date: Tue Feb 16 22:24:24 2016 +0100 Merge branch 'tsahlin/more-cc-kb' Closes #858. commit 54613a26cfc10186a6d383d1a433e2bacaa1de66 Author: Colomban Wendling Date: Mon Jan 18 18:16:09 2016 +0100 Update documentation for additional custom commands keybindings doc/geany.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 74e3dd6d1c036a37a6071a597f8cc9fd9a248ce1 Author: Thomas Sahlin Date: Fri Jan 8 10:38:12 2016 +0100 Added keybindings for custom commands 4-9 src/keybindings.c | 36 ++++++++++++++++++++++++++++++++++++ src/keybindings.h | 6 ++++++ src/tools.c | 6 ++++++ 3 files changed, 48 insertions(+) commit 607c95ed98a39e0e442ffb8cd7e936246eb451dc Author: Thomas Martitz Date: Tue Feb 16 15:50:01 2016 +0100 stash: drop @transfer annotation, not needed for boxed types src/stash.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit f2ebd288b378cbd2b5e9a2318e19b5a5ed410cf6 Author: Thomas Martitz Date: Mon Feb 15 21:14:16 2016 +0100 doc: gir annotations cleanup - @skip -> @girskip - @null -> @nullable - @addtogir -> @gironly - changed internal xml representation of @cb, @cbdata, @cbfree - @girskip keybindings_set_item() too doc/Doxyfile.in | 15 +++++++-------- doc/Makefile.am | 2 +- src/editor.h | 2 +- src/keybindings.c | 7 ++++--- src/pluginutils.c | 29 +++++++++++++++-------------- src/search.h | 2 +- src/spawn.c | 3 +-- src/ui_utils.c | 10 ++++++---- src/utils.c | 4 ++-- 9 files changed, 38 insertions(+), 36 deletions(-) commit c35f29ae367c36746670a0e9b3035827235946b8 Author: Thomas Martitz Date: Mon Feb 15 17:51:32 2016 +0100 scripts: gen-api-gtkdoc.py cleanup - do not write out scintilla_object_* functions - remove scioutput file parameter - do not open output file until after xml parsing to avoid stale files - fixed simplesect handling - handle output being a pipe to head or tail scripts/gen-api-gtkdoc.py | 70 ++++++++++++++++++++++------------------------- 1 file changed, 32 insertions(+), 38 deletions(-) commit b741ea76dfb091602e6d065c8e000a635a840d62 Author: Thomas Martitz Date: Mon Feb 15 07:16:58 2016 +0100 doc: Makefile.am cleanup - split doxygen make recipe up - rename geany_includedir to geany_gtkdocincludedir - removed all references to geany-scintilla-gtkdoc.h Also, remove geany-scintilla-gtkdoc.h from .gitignore .gitignore | 1 - doc/Makefile.am | 14 +++++++------- 2 files changed, 7 insertions(+), 8 deletions(-) commit c0bde0dbf487a9450c04472ccef10a9078e2333d Author: Matthew Brush Date: Sun Feb 7 10:35:48 2016 -0800 Add check for lxml package if Python is enabled This prevents a make-time error later if it can't be imported. lxml is considered optional so there's no build failure if Python doesn't exist or if the lxml package can't be imported. m4/geany-docutils.m4 | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) commit 8033e2618010a5ae67e456cf39222a4ba6af8ebd Author: Matthew Brush Date: Sun Feb 7 10:08:10 2016 -0800 Remove commented-out code scripts/gen-api-gtkdoc.py | 5 ----- 1 file changed, 5 deletions(-) commit 5a391c79c3db13f8ee8e1a4279373b3652c7d4d0 Author: Matthew Brush Date: Sun Feb 7 10:06:02 2016 -0800 Replace comments and asserts with doc-comments and doc-tests scripts/gen-api-gtkdoc.py | 32 +++++++++++++++++++++----------- 1 file changed, 21 insertions(+), 11 deletions(-) commit 4f3e32e95f907b03aef4c8cffdbeee291520044c Author: Matthew Brush Date: Sun Feb 7 09:52:55 2016 -0800 Rename global "constant" to follow PEP-8 naming scripts/gen-api-gtkdoc.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 402e771c9b99a8dc22dec30948e499a6067f31ec Author: Matthew Brush Date: Sun Feb 7 09:48:29 2016 -0800 Use 4-space indentation to follow PEP-8 The other Python scripts already follow this convention. scripts/gen-api-gtkdoc.py | 720 +++++++++++++++++++++++----------------------- 1 file changed, 360 insertions(+), 360 deletions(-) commit 5534e5cca02351cecd145aed882d5cab9fae0515 Author: Matthew Brush Date: Sun Feb 7 09:46:57 2016 -0800 Move globals into main() function This prevents running a bunch of top-level code if the module is ever imported and cleans-up the global namespace. scripts/gen-api-gtkdoc.py | 175 ++++++++++++++++++++++++---------------------- 1 file changed, 90 insertions(+), 85 deletions(-) commit 5290f18916e86b1d6bc92b3a8353765708ccfdc6 Author: Matthew Brush Date: Sun Feb 7 09:42:13 2016 -0800 Exclude new generated files from VCS .gitignore | 3 +++ 1 file changed, 3 insertions(+) commit 7279037dd697143881071a3c5cd467ed0a96b9a4 Author: Thomas Martitz Date: Thu Feb 11 07:18:47 2016 +0100 project: change GeanyProject::file_patterns type to GStrv GStrv is identical to gchar ** (as per typedef) but a bit more gir friendly. This does not break the ABI or API. src/project.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 8dd77590480852b9f112dce906d2c981cc664ce9 Author: Colomban Wendling Date: Sat Feb 13 18:23:10 2016 +0100 spawn: Don't truncate a NULL GString src/spawn.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) commit a5a976249885f43fd76f2e5fe518874b37afaa69 Author: Frank Lanitz Date: Sat Feb 13 11:42:38 2016 +0100 Update of Portuguese translation NEWS | 2 +- po/pt.po | 1798 +++++++++++++++++++++++++++++++------------------------------- 2 files changed, 904 insertions(+), 896 deletions(-) commit 64fbf3cbfe681348764bfdf8af82b76940a34162 Merge: 2c99c882 dff861cc Author: Frank Lanitz Date: Fri Feb 12 23:44:01 2016 +0100 Merge pull request #883 from blogcin/trans Update Korean Translations commit 2c99c8827f463ce7abd261826a9cf1352af6020d Author: Colomban Wendling Date: Thu Feb 11 15:48:50 2016 +0100 c++: Fix a test result 748137bd1dfa648948d9d127aa3e27b6857db764 improved return types, but as this test case was added in parallel it wasn't updated as needed for the new, more correct, results. tests/ctags/cxx11-raw-strings.cpp.tags | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) commit a775da0714b8c7d22e7726ff274058658e6d4858 Merge: e38c7e3b 6b2e99d0 Author: Colomban Wendling Date: Thu Feb 11 15:30:09 2016 +0100 Merge pull request #862 from techee/tm_workspace_find_cleanup3 Rewrite scope completion v3. Closes #488 and #505. commit e38c7e3b6781668269267b08893015b63765b9f0 Merge: 1438a99e b40d1f25 Author: Colomban Wendling Date: Thu Feb 11 15:26:32 2016 +0100 Merge pull request #879 from b4n/c/cxx11-raw-strings c++: Fix parsing of C++11 raw string literals. commit 1438a99e178ba79048df803467366af20f219001 Merge: 1d58c7fa 748137bd Author: Colomban Wendling Date: Thu Feb 11 15:25:49 2016 +0100 Merge pull request #889 from b4n/c/return-type C, C++, C#, D: Improve return type and var type recognition. commit 1d58c7faf8c3d10d64015c4dccfdea09e5b6f94e Author: Frank Lanitz Date: Wed Feb 10 23:02:47 2016 +0100 Update i18n on NEWS NEWS | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 7344907df88a2fb3e9e7a03aeb88209c7fae123e Author: Frank Lanitz Date: Wed Feb 10 23:00:18 2016 +0100 Update of German translation po/de.po | 1582 +++++++++++++++++++++++++++++++------------------------------- 1 file changed, 799 insertions(+), 783 deletions(-) commit f413f0239559f8c095791526690d9d77d5da531b Merge: 1ca2554b 88ca58e2 Author: Frank Lanitz Date: Mon Feb 8 20:52:23 2016 +0100 Merge pull request #898 from zygimantus/master lt translation updated commit 88ca58e2d63b8aa19943f026a468292a11f9d9b9 Author: zygimantus Date: Mon Feb 8 08:31:49 2016 +0200 lt translation updated po/lt.po | 37 +++++++++++++++++++------------------ 1 file changed, 19 insertions(+), 18 deletions(-) commit 658821d2dd89feb347f860dd3831b569b7a40164 Author: Thomas Martitz Date: Mon Aug 10 17:31:16 2015 +0200 api: add script to generate {geany,geany-scintilla}-gtkdoc.h The script reads the doxygen xml output and generates two headers (optionally a single header) that contains all of the plugin API in gtk-doc format. Two headers because it's preferrable to group Scintilla related stuff into its own namespace. This is a lot easier if g-ir-scanner can work with a separate header file. If we change minds later on the script is prepared to generate only one header. configure.ac | 1 + doc/Doxyfile.in | 3 +- doc/Makefile.am | 24 ++- m4/geany-docutils.m4 | 13 ++ scripts/gen-api-gtkdoc.py | 411 ++++++++++++++++++++++++++++++++++++++++++++++ 5 files changed, 449 insertions(+), 3 deletions(-) commit bfa0946420d49a23caeec17af21c95b11de5a5fe Author: Thomas Martitz Date: Wed Sep 16 22:52:23 2015 +0200 doxygen: various doxygen-related fixes in preparation for gtkdoc generation doc/Doxyfile.in | 13 ++++++++++++- doc/pluginsymbols.c | 4 +++- src/document.c | 18 +++++++++--------- src/editor.c | 2 +- src/editor.h | 2 ++ src/filetypes.c | 19 +++++++++++++------ src/filetypes.h | 3 +++ src/keybindings.c | 10 +++++----- src/plugindata.h | 4 ++-- src/pluginutils.c | 16 +++++++++++----- src/search.h | 9 ++++++--- src/spawn.c | 1 + src/stash.c | 2 +- src/ui_utils.c | 29 +++++++++++++++++++---------- src/utils.c | 15 ++++++++------- tagmanager/src/tm_workspace.c | 4 ++-- 16 files changed, 98 insertions(+), 53 deletions(-) commit d8f75b7d0f325ed930aed03f8d3122279b3a3a03 Author: Thomas Martitz Date: Mon Aug 10 16:54:45 2015 +0200 doxygen: generate xml too in preparation for gtkdoc generation A script will use the xml to generate a gtkdoc'ized header of the plugin API. The xml files are also installed so that external users can use the xml that corresponds to the installed version of Geany. For now a separet doxyfile is used because the gtkdoc'ized header needs a few types to be documented which not desired to be documented generally. .gitignore | 1 + doc/Makefile.am | 16 +++++++++++++--- 2 files changed, 14 insertions(+), 3 deletions(-) commit 1ca2554b3a4fc556eefc9dc97a6870fd2831f624 Merge: 1be0a255 632b215f Author: Enrico Tröger Date: Sun Feb 7 14:27:03 2016 +0000 Merge pull request #878 from eht16/drop_obsolete_plugin_test_script Remove obsolete scripts/plugin_test.c commit 1be0a255f7d2cc591a36ff41b729b16bd1a64b5d Author: Frank Lanitz Date: Thu Jan 28 19:47:00 2016 +0100 Update of Japanese translation po/ja.po | 1691 +++++++++++++++++++++++++++++++------------------------------- 1 file changed, 849 insertions(+), 842 deletions(-) commit 6b2e99d0670ab349ec1e6f7d4f24cece6cc33720 Author: Jiří Techet Date: Wed Jan 27 01:06:56 2016 +0100 Remove scope prefix of variable types We only perform search based on variable name so if a variable is e.g. of the type std::Foo, we can drop the std:: prefix and search only for the Foo type. tagmanager/src/tm_workspace.c | 48 +++++++++++++++++++++++++++++++++---------- 1 file changed, 37 insertions(+), 11 deletions(-) commit 748137bd1dfa648948d9d127aa3e27b6857db764 Author: Colomban Wendling Date: Tue Jan 26 15:52:37 2016 +0100 C, C++, C#, D: Improve return type and var type recognition This is far from perfect and contains a lot of guessing. It showed good results based on our tests cases, fixing several issues and not introducing any more issues (admittedly, after working around a subtle one regarding D static ifs). Closes #845. tagmanager/ctags/c.c | 70 ++++++++++++++++++++++++++++---- tests/ctags/Makefile.am | 1 + tests/ctags/bit_field.c.tags | 8 ++-- tests/ctags/bug1799340.cpp.tags | 6 +-- tests/ctags/bug1907083.cpp.tags | 8 ++-- tests/ctags/bug1924919.cpp.tags | 4 +- tests/ctags/c-digraphs.c.tags | 4 +- tests/ctags/c-trigraphs.c.tags | 4 +- tests/ctags/indexer.cs.tags | 2 +- tests/ctags/interface_indexers.cs.tags | 2 +- tests/ctags/keyword_const.cs.tags | 4 +- tests/ctags/keyword_virtual.cs.tags | 2 +- tests/ctags/keyword_volatile.cs.tags | 2 +- tests/ctags/simple.d.tags | 2 +- tests/ctags/var-and-return-type.cpp | 40 ++++++++++++++++++ tests/ctags/var-and-return-type.cpp.tags | 20 +++++++++ 16 files changed, 146 insertions(+), 33 deletions(-) commit 496d51210c2e3f8d83ddfdabc67c15a362c8d85c Merge: 85f16ebf 43737733 Author: Colomban Wendling Date: Mon Jan 25 23:10:37 2016 +0100 Merge pull request #839 from kugel-/gboxed-types GBoxed types commit 85f16ebf7878374a414262b026b3aeab2057b099 Merge: a32a0d5b a032ed50 Author: Colomban Wendling Date: Mon Jan 25 23:09:17 2016 +0100 Merge pull request #874 from kugel-/sci-api-export scintilla: add scintilla_object_* to the plugin api commit b40d1f255bcfb1c58c2d038f046bd5d7777e4be2 Author: Colomban Wendling Date: Mon Jan 25 14:31:35 2016 +0100 Use explicit character literal instead of numerical value tagmanager/ctags/get.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) commit dff861cc36913ce31b1deac2f1b13c775cbedd2b Author: blogcin Date: Tue Jan 26 03:11:28 2016 +0900 Update Korean Translations po/ko.po | 2403 ++++++++++++++++++++++++++++---------------------------------- 1 file changed, 1092 insertions(+), 1311 deletions(-) commit a32a0d5be397711527015fd6d84113f5e0406d77 Author: Giuseppe Penone Date: Sun Jan 24 21:59:56 2016 +0000 updated language Italian po/it.po | 1516 +++++++++++++++++++++++++++++++------------------------------- 1 file changed, 764 insertions(+), 752 deletions(-) commit 31b7a2d6ad514a5d4f259a11721167786858b061 Author: Giuseppe Penone Date: Sun Jan 24 21:59:56 2016 +0000 updated language Italian po/it.po | 1516 +++++++++++++++++++++++++++++++------------------------------- 1 file changed, 764 insertions(+), 752 deletions(-) commit 5a279f0bf6cb94eccaadc8b6a947c4553ff1e634 Author: Colomban Wendling Date: Sun Jan 24 15:30:00 2016 +0100 c++: Fix parsing of prefixed C++11 raw string literals See http://en.cppreference.com/w/cpp/language/string_literal tagmanager/ctags/get.c | 6 +++++- tests/ctags/cxx11-raw-strings.cpp | 13 +++++++++++++ tests/ctags/cxx11-raw-strings.cpp.tags | 12 ++++++++++++ 3 files changed, 30 insertions(+), 1 deletion(-) commit cdabbecd375be45f13b5e4f8c37053c96cd81499 Author: Colomban Wendling Date: Sun Jan 24 15:26:11 2016 +0100 read: Avoid possible NULL dereference in getNthPrevCFromInputFile() Also, don't perform subtractions to check pointer bounds, to avoid unsigned value wraparound. This is very unlikely as it would either mean a very large `nth` value or a very small value for the current line pointer, but better safe than sorry. tagmanager/ctags/read.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) commit 67f3add7c7bed2b86769c9b86f2d6178b6daef6a Author: Colomban Wendling Date: Sun Jan 24 15:20:06 2016 +0100 read: Move logic for getting a previous character into a read function This ties related logic together, making it less of a hack and easier to maintain, as well as accessible by all parsers if needed. tagmanager/ctags/get.c | 5 +---- tagmanager/ctags/read.c | 12 ++++++++++++ tagmanager/ctags/read.h | 1 + 3 files changed, 14 insertions(+), 4 deletions(-) commit a14aa908c5f0a945f6d817a1aa46173b492193e6 Author: Colomban Wendling Date: Sat Jan 23 20:28:13 2016 +0100 c++: Fix parsing of C++11 raw string literals See http://en.cppreference.com/w/cpp/language/string_literal Closes #877. --- This contains a pretty ugly hack to fetch the previous character, in order not to get fooled by string concatenation hidden behind a macro, like in `FOUR"five"`, which is not a raw string literal but simply the identifier `FOUR` followed by the string `"five"`. While this may sound uncommon, it is not and lead to complaints [2][3] when Scintilla [1] broke this when they introduced C++11 raw string literal support themselves. The implementation here still contains a bug with line continuations: a raw literal of the form: ```c const char *str = R\ "xxx(...)xxx"; ``` is not properly recognized as such, although it's perfectly valid (yet probably very uncommon). For the record, Scintilla has also suffers from this but nobody complained about it yet. [1] http://scintilla.org/ [2] https://sourceforge.net/p/scintilla/bugs/1207/ [3] https://sourceforge.net/p/scintilla/bugs/1454/ tagmanager/ctags/c.c | 2 +- tagmanager/ctags/get.c | 92 +++++++++++++++++++++++++++++++++- tagmanager/ctags/get.h | 3 +- tests/ctags/Makefile.am | 1 + tests/ctags/cxx11-raw-strings.cpp | 21 ++++++++ tests/ctags/cxx11-raw-strings.cpp.tags | 11 ++++ 6 files changed, 127 insertions(+), 3 deletions(-) commit 632b215f776d8c561906c77711fdf993c0881e16 Author: Enrico Tröger Date: Sat Jan 23 15:29:03 2016 +0100 Remove obsolete scripts/plugin_test.c This script was used in the nightly builds to verify plugins will load and have no undefined symbol references. Since the new way plugins are built and linked, this is no longer necessary. Additionally, this script won't work with new style geany_load_module() plugins. scripts/plugin_test.c | 123 -------------------------------------------------- 1 file changed, 123 deletions(-) commit 43737733acc46eee7dff88eb922622694faba29b Author: Thomas Martitz Date: Wed Sep 16 22:42:14 2015 +0200 plugin api: convert StashGroup to GBoxed internally Because the stash_group_new() is an exported API, it has to be at least a boxed type to be usable for gobject introspection. The boxed type uses reference counting as opposed to memory duplication. The obligatory stash_group_dup() is not exported (doesn't have to). src/stash.c | 46 +++++++++++++++++++++++++++++++++------------- src/stash.h | 1 + 2 files changed, 34 insertions(+), 13 deletions(-) commit 9a38b7ac209dcf319f1b5fa97d6081b96f031b4a Author: Thomas Martitz Date: Wed Sep 16 17:02:18 2015 +0200 plugin api: convert TMSourceFile to GBoxed internally Because the tm_source_file_new() is an exported API, it has to be at least a boxed type to be usable for gobject introspection. The boxed type uses reference counting as opposed to memory duplication. The obligatory tm_source_file_dup() is not exported (doesn't have to). tagmanager/src/tm_source_file.c | 52 ++++++++++++++++++++++++++++++++++------- tagmanager/src/tm_source_file.h | 3 +++ 2 files changed, 47 insertions(+), 8 deletions(-) commit a032ed506e4847ae20093fd5fab484a704c89bf2 Author: Thomas Martitz Date: Tue Jan 19 08:13:32 2016 +0100 scintilla: add scintilla_object_* to the plugin api Analogous to their legacy counterparts. Also required for gir-bindings generated via g-ir-scanner. scintilla/gtk/ScintillaGTK.cxx | 3 +++ scintilla/scintilla_changes.patch | 28 +++++++++++++++++++++++++--- 2 files changed, 28 insertions(+), 3 deletions(-) commit c653741a3ce7ce1daf7da6cb44f3885e9ff151b5 Author: Jiří Techet Date: Tue Jan 19 00:40:06 2016 +0100 Fix member scope completion with nested members First, the search for existing type with the given scope should be done also for namespaces. Second, with the string operations we get no scope as empty string "" but the rest of TM functions expect scope to be set to NULL in such case. Fix that. tagmanager/src/tm_workspace.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) commit f10747ae5ab668931706f864a12776662b294ee6 Author: Jiří Techet Date: Mon Jan 18 23:00:19 2016 +0100 Remove duplicate names from scope search popup There may be duplicate tag names in the list e.g. when performing namespace search and overloaded methods are found. tagmanager/src/tm_workspace.c | 3 +++ 1 file changed, 3 insertions(+) commit cd1a58f0a503f2d18592ebd77a1a7fb104e863cd Author: Jiří Techet Date: Sun Jan 10 17:42:53 2016 +0100 Use language-specific context separator instead of hard-coded "::" This makes it possible to popup scope completion dialog for more languages. src/editor.c | 25 +++++++++++-------------- tagmanager/src/tm_tag.c | 3 ++- 2 files changed, 13 insertions(+), 15 deletions(-) commit f38068f04e9514269161a884df278b0af3e5c2c3 Author: Jiří Techet Date: Thu Dec 10 16:50:32 2015 +0100 Skip typedef resolution in namespace search if not needed When we already have a struct-like type in namespace search, we don't need any extra resolution - we already have the right type. Skip the whole typedef resolution in this case. tagmanager/src/tm_workspace.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) commit 5801844d7eb15a8de3b2dab96c50ace1ef89b75c Author: Jiří Techet Date: Wed Dec 9 16:02:20 2015 +0100 Improve anonymous type handling Make sure the anonymous types are from the same file as the variable of that type (or, when performing typedef resolution, from the same file as the typedef). On the way, simplify find_scope_members() a bit and fix some minor problems. tagmanager/src/tm_workspace.c | 78 +++++++++++++++++-------------------------- 1 file changed, 31 insertions(+), 47 deletions(-) commit 981320c3b882ca4aa2e7af152e5513dbf985d079 Author: Jiří Techet Date: Wed Dec 9 17:25:41 2015 +0100 Skip [] when performing scope autocompletion In addition to skipping function parameters, we can also skip indexes so in something like foo[2]. we get autocompletion for foo's type members. src/editor.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) commit 5cd573464227268a9b3c10bca1ee274340ceeaae Author: Jiří Techet Date: Wed May 27 21:49:54 2015 +0200 Minor cleanup Make the unused code compile and remove unused tm_get_current_function() (we have similar symbols_get_current_function() and there's no reason to keep it) tagmanager/src/tm_tag.c | 12 ------------ tagmanager/src/tm_workspace.c | 4 ++-- 2 files changed, 2 insertions(+), 14 deletions(-) commit ad77ee15dac78d3cc2a01e16828dfbcad33fa2d3 Author: Jiří Techet Date: Fri Jan 15 15:46:00 2016 +0100 Add a "prefix" search for non-scope autocompletion The main reason for separating m_workspace_find() into two parts is the fact that when matching only the prefix, the result may contain too many results and we need to go through all of them, return them and at the end discard most of them. For instance, when considering the linux kernel project with 2300000 tags and when autocompletion is set to be invoked after typing a single character, we get on average something like 100000 results (tag_num/alphabet_size). But from these 100000 results, we get only the first 30 which we display in the popup and discard the rest which means going through the list of the 100000 tags and comparing them for no reason. Thanks to using binary search for the start and the end of the sequence of matching tags (added in a separate patch), we can get the start of the sequence and the length of the sequence very quickly without going through it. For the prefix search we can limit the number of tags we are interested in and go through at most this number of returned tags (to be precise, times two, because we need to go both through the workspace array and global tags array and remove the extras only after sorting the two). It would be possible to combine both tm_workspace_find() and tm_workspace_find_prefix() into a single function but the result is a bit hard to read because some of the logic is used only in tm_workspace_find() and some only in tm_workspace_find_prefix() so even though there is some code duplication, I believe it's easier to understand this way. src/editor.c | 9 ++-- tagmanager/src/tm_workspace.c | 96 ++++++++++++++++++++++++++++++++----------- tagmanager/src/tm_workspace.h | 4 +- 3 files changed, 77 insertions(+), 32 deletions(-) commit 5b4c6f96b20cd309026e42c02133b28d1e0e64df Author: Jiří Techet Date: Sun May 24 21:06:55 2015 +0200 Don't use anon_struct_* and similar members unless we are sure it's the right one We can only be sure it's the right one if we previously resolved a typedef to it and the typedef was in the same file. tagmanager/src/tm_workspace.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) commit 02105d77d74da4954dce165bba9ead31cbf5ed72 Author: Jiří Techet Date: Sat May 23 21:29:08 2015 +0200 Simplify tag type specifications in scope search Consider types with members to have the same properties everywhere (this might differ language to language but this assumption should behave reasonably for any language). Don't check member type in find_scope_members_tags() - we already check scope which should be sufficient and will work even if some language uses function/variable instead of method/member/field. tagmanager/src/tm_workspace.c | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) commit 67916dc4038918a940f38d08d073a9bbb4aea89b Author: Jiří Techet Date: Fri May 22 00:49:03 2015 +0200 Use only binary search to find first/last element in a row of equal tags The linear part may become expensive when there are many equal tags which can happen when partial search, used for non-scope completion, is used. tagmanager/src/tm_tag.c | 82 +++++++++++++++++++++++++++++-------------------- 1 file changed, 49 insertions(+), 33 deletions(-) commit 2682d7973f0518ccfb3806901170ff8314c311c6 Author: Jiří Techet Date: Thu May 28 16:06:24 2015 +0200 Remove anon_* elements when performing namespace search These correspond to anonymous structs, enums, etc. but they don't have any name so the name shouldn't be listed. tagmanager/src/tm_tag.c | 14 ++++++++++++++ tagmanager/src/tm_tag.h | 2 ++ tagmanager/src/tm_workspace.c | 3 ++- 3 files changed, 18 insertions(+), 1 deletion(-) commit 7a3d6a4ee1e743aec67c7a27c20ed1714f1250ea Author: Jiří Techet Date: Sat May 23 13:26:37 2015 +0200 Filter scope autocompletion list based on user input When scope autocompletion list shows, start filtering it when when the user types some more characters. As long as the list is non-empty, don't switch to normal autocompletion and show only the scope autocompletion results. src/editor.c | 61 ++++++++++++++++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 55 insertions(+), 6 deletions(-) commit 932dc71fe2edc0c58b15aface319d38855c5e612 Author: Jiří Techet Date: Sun Jan 10 12:41:59 2016 +0100 Don't use struct/class/... member types when the edited text isn't a member For instance, consider class A { int a; int b; } class B { A c; void foo() { c. //<---- (3) } } int main() { c. //<---- (1) foo.c. //<---- (2) } Consider cases (1) and (2) first - in the case (1) scope completion shouldn't be performed because c isn't a global variable; however, in case (2) it should be performed because c is a member. To fix this, we can check whether the typed variable ('c' in this case) is preceeded by another dot - if it is, use member tags for scope completion; otherwise don't use them. There's one exception from this rule - in the case (3) we are accessing a member variable from a member function at the same scope so the function should have access to the variable. For this we can use the scope at the position of the cursor. It should be B::foo in this case, more generally ...::class_name::function_name. We need to check if class_name exists at the given scope and if the member variable we are trying to access is inside ...::class_name - if so, scope completion can be performed using member tags (without explicit invocation on a member). src/editor.c | 14 ++++++- tagmanager/src/tm_workspace.c | 88 +++++++++++++++++++++++++++++++++++++------ tagmanager/src/tm_workspace.h | 2 +- 3 files changed, 91 insertions(+), 13 deletions(-) commit 99938dd821efb4b920db029a509b1a42ef86ea3c Author: Colomban Wendling Date: Mon Jan 18 04:22:26 2016 +0100 Update Scintilla to version 3.6.3 Includes improvements for Lua 5.3 and Perl 5.22. scintilla/gtk/PlatGTK.cxx | 2 +- scintilla/gtk/ScintillaGTK.cxx | 138 ++++++++++++++----------------- scintilla/include/Platform.h | 2 +- scintilla/include/Scintilla.h | 6 ++ scintilla/include/Scintilla.iface | 20 ++++- scintilla/include/ScintillaWidget.h | 27 ++++-- scintilla/lexers/LexBash.cxx | 82 +++++++++++++------ scintilla/lexers/LexCPP.cxx | 6 +- scintilla/lexers/LexCaml.cxx | 6 +- scintilla/lexers/LexCmake.cxx | 2 +- scintilla/lexers/LexLaTeX.cxx | 10 +-- scintilla/lexers/LexLua.cxx | 2 +- scintilla/lexers/LexMatlab.cxx | 10 +-- scintilla/lexers/LexPO.cxx | 32 ++++---- scintilla/lexers/LexPerl.cxx | 134 ++++++++++++++++++++++++------ scintilla/lexers/LexRust.cxx | 6 +- scintilla/lexers/LexSQL.cxx | 10 +-- scintilla/scintilla_changes.patch | 16 ++-- scintilla/src/CellBuffer.cxx | 19 +++++ scintilla/src/CellBuffer.h | 1 + scintilla/src/Document.cxx | 42 ++++++++-- scintilla/src/Document.h | 8 +- scintilla/src/EditModel.h | 2 +- scintilla/src/EditView.cxx | 21 +++-- scintilla/src/Editor.cxx | 158 +++++++++++++++++++++++++++--------- scintilla/src/Editor.h | 8 +- scintilla/src/Indicator.cxx | 2 +- scintilla/src/PerLine.cxx | 3 +- scintilla/src/ScintillaBase.cxx | 4 +- scintilla/src/UniConversion.cxx | 4 - scintilla/src/UniConversion.h | 4 + scintilla/version.txt | 2 +- 32 files changed, 528 insertions(+), 261 deletions(-) commit f3a5dd609a51cbb0921d020b32a3778e24bf52e4 Author: Daniel Șuteu Date: Tue Dec 29 10:03:06 2015 +0200 Add file-extensions for Clojure The extensions are from Wikipedia: https://en.wikipedia.org/wiki/Clojure Closes #842. data/filetype_extensions.conf | 1 + 1 file changed, 1 insertion(+) commit bfd5587f4fa15dc36fd6f42a1b68e26d3681328e Merge: 50212093 e083c8d1 Author: Colomban Wendling Date: Mon Jan 18 03:40:56 2016 +0100 Merge pull request #852 from b4n/reflow-hang Fix hang in reflow command (and small improvements around) commit 50212093babea8561792bdd14dd4f0457128067f Merge: a7ce20dc 9365110c Author: Colomban Wendling Date: Mon Jan 18 03:34:02 2016 +0100 Merge pull request #831 from b4n/cuda/tags CUDA: Use C++ ctags parser commit a7ce20dc5904cea701e59615fb747eb2f3731697 Merge: 1c4a9d8d 9f6f6cfb Author: Colomban Wendling Date: Mon Jan 18 03:19:15 2016 +0100 Merge pull request #826 from kugel-/doxygen-fixes2 Doxygen API fixes and cleanup. commit 9f6f6cfb78f8fce294751fa54c1a241ca803c046 Author: Thomas Martitz Date: Tue Dec 15 07:48:45 2015 +0100 gir: keybindings: adhere to user_data naming convention This helps g-ir-scanner recognizing the data parameter as context storage, allowing object methods to be used as callback (via wrappers). It goes even so far that g_object_unref is propery passed as destroy func to keybindings_set_item_full() and plugin_set_key_group_full(). src/keybindings.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 1c4a9d8dd3b1c991052088aee3b7641fb54197dd Author: Colomban Wendling Date: Sun Jan 17 03:49:18 2016 +0100 C++: Fix parsing of global scope qualifiers in base class lists See also https://sourceforge.net/p/ctags/bugs/194/ I didn't use the exact upstream patch only altering the C++ code path, because as far as I know no c.c language recognize two consecutive colons separated by whitespace as a single token, so there's no point in carrying on mistakes from the past. tagmanager/ctags/c.c | 2 +- tests/ctags/bug1799343-1.cpp.tags | 5 +++-- tests/ctags/bug1799343-2.cpp.tags | 5 +++-- 3 files changed, 7 insertions(+), 5 deletions(-) commit 440a736018709e88f14e886f14766edbe5444b61 Author: Colomban Wendling Date: Sun Jan 17 03:30:06 2016 +0100 C++, C#: Properly set scope on namespaces Closes #871. tagmanager/ctags/c.c | 3 --- tests/ctags/bug1799343-2.cpp.tags | 2 +- tests/ctags/bug665086.cpp.tags | 2 +- tests/ctags/general.cs.tags | 4 ++-- tests/ctags/keyword_namespace.cs.tags | 2 +- tests/ctags/namespace.cpp.tags | 2 +- 6 files changed, 6 insertions(+), 9 deletions(-) commit 6e0d4ac6ec7153e5efcc16d3cca68afcf51f641b Merge: e7429d4c 1ea072e1 Author: Colomban Wendling Date: Wed Jan 13 17:43:03 2016 +0100 Merge pull request #581 from techee/symbollist_sort Make it possible to define default symbol_list_sort_mode commit 740ecb00fb4313096b36939101ed9f3e4a54212e Author: Thomas Martitz Date: Tue Jan 12 07:15:54 2016 +0100 doxygen: fix doxygen warnings about filetypes_array references. src/filetypes.h | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) commit 1ea072e1258057516445fcfcd392b84409d0a17b Author: Jiří Techet Date: Mon Jan 11 23:36:50 2016 +0100 Make it possible to define default symbol_list_sort_mode Both sorting by name and appearance makes sense for most languages. Some users may prefer sorting by appearance so make it configurable in preferences (the possibility to override the settings for specific filetypes is preserved). Thanks to Colomban Wendling for lots of improvements of this patch. Fixes #313. data/geany.glade | 68 ++++++++++++++++++++++++++++++++++++++++++++++++++++++-- src/callbacks.c | 8 +++++++ src/document.c | 5 ++++- src/filetypes.c | 2 +- src/keyfile.c | 6 +++++ src/prefs.c | 3 +-- src/ui_utils.h | 1 + 7 files changed, 87 insertions(+), 6 deletions(-) commit e7429d4cdbc2a2eb09f8f9c6c9c9f0c6df7fc98a Merge: 4d4573c5 2e1117e0 Author: Colomban Wendling Date: Mon Jan 11 00:46:54 2016 +0100 Merge branch 'gb-new' Nothing to see here, is there :) commit e0122592d95f8cd5347729c3d15c05c40094edcd Author: Jiří Techet Date: Sat May 23 15:56:18 2015 +0200 Perform scope autocompletion based on function return types We just need to skip the (...) and perform autocompletion as before. Shift pos by 1 in the whole function so we don't have to look 2 characters back (makes the function easier to read). Functions contain pointers in their return values - remove them before searching for the type. Also restrict the searched variable/function/type tags a bit only to types which make sense for the search. src/editor.c | 38 +++++++++++++++++++++++++++++--------- tagmanager/src/tm_workspace.c | 22 +++++++++++++++++++--- tagmanager/src/tm_workspace.h | 3 ++- 3 files changed, 50 insertions(+), 13 deletions(-) commit 4bc5f4a7e482d577cdbff9badf422479cb19714b Author: Jiří Techet Date: Mon May 11 12:12:36 2015 +0200 Popup scope autocompletion dialog in more cases * for PHP and Rust scope separator :: * when there's more than one whitespace between the identifier and operator src/editor.c | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) commit c4b1cd49381a777274897ba2613fc89758acbb0a Author: Jiří Techet Date: Sat May 23 15:13:15 2015 +0200 Perform "namespace" search (autocomplete for A:: where A is a type) In principle this is very similar to the normal scope search. If the provided name belongs to a type that can contain members (contrary to a variable in scope search), perform the namespace search. With namespace search show all possible members that are at the given scope. Since we perform the scope search at file level, don't perform the namespace search for tags that can span multiple files otherwise we get incomplete results which could be confusing to users. This involves namespaces and packages. tagmanager/src/tm_workspace.c | 58 ++++++++++++++++++++++++++----------------- 1 file changed, 35 insertions(+), 23 deletions(-) commit 1281d0c942322d99da626ad00edd6077425f2c8d Author: Jiří Techet Date: Sun May 10 21:04:20 2015 +0200 Get members from the same file as the type/struct/union Rethink how to extract members from the struct types. Inspired by the patch using the same file as the typedef to search for structs, we can do the same to extract the members only from the file containing the struct and not the whole workspace. This makes this operation fast enough so we don't have to keep the extracted members in a special array (this will become especially useful for namespace search because for it we would have to extract all tags and then the extracted array would have the same size as the workspace so we'd lose the performance gain). Since the above works only for tags having the file information, that is, not the global tags, we'll lose some performance when searching the global tags. I think people don't create the tag files for complete projects but rather for header files which contain less tags and still the performance should be better than before this patch set because we go through the global tag list only once (was twice before). On the way, clean up the source a bit, add more comments and move some code from find_scope_members() to find_scope_members_tags(). tagmanager/src/tm_workspace.c | 107 +++++++++++++++++------------------------- tagmanager/src/tm_workspace.h | 2 - 2 files changed, 42 insertions(+), 67 deletions(-) commit 30fa28bac7d8c5928dd613c34d5d833b3dfead2b Author: Jiří Techet Date: Sun May 10 12:12:55 2015 +0200 Don't use enums for scoped search Even though enums contain members, their members are accessed in a different way than members of classes and structs. E.g. consider: typedef enum {A, B, C, D} MyEnum; Variable of this type is declared as MyEnum myVar; myVar can be assigned a value from MyEnum; however, we don't access myVar over the dot operator so we don't need the list of all members after typing myVar. This patch eliminates some false positives after typing . tagmanager/src/tm_workspace.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) commit bf17c90bd66d17811d1a25c454af3115c14318ee Author: Jiří Techet Date: Sun May 10 11:41:04 2015 +0200 Improve tag searching for "typedef struct {...}" cases When resolving typedef, search for the subsequent type in the file where the typedef was defined. For more info see the comment in the patch. tagmanager/src/tm_workspace.c | 38 +++++++++++++++++++++++++------------- 1 file changed, 25 insertions(+), 13 deletions(-) commit 13755122f2c3193d6e630970ab3ec38dabe36f56 Author: Jiří Techet Date: Fri May 22 23:31:18 2015 +0200 Move symbols_get_context_separator() implementation to TM This way we can use it inside TM. src/symbols.c | 26 +------------------------- tagmanager/src/tm_tag.c | 30 ++++++++++++++++++++++++++++++ tagmanager/src/tm_tag.h | 2 ++ tagmanager/src/tm_workspace.c | 5 +---- 4 files changed, 34 insertions(+), 29 deletions(-) commit e13aac0deab9533ca5f40c170895dcee0ca807c3 Author: Jiří Techet Date: Sat May 9 20:56:15 2015 +0200 Remove unused tm_workspace_find_namespace_members() The implementation of this function is almost the same like the original m_workspace_find_scoped_members() and there's nothing interesting here we wouldn't be able to recreate trivially. tagmanager/src/tm_workspace.c | 203 ------------------------------------------ 1 file changed, 203 deletions(-) commit 809a9a7ea5e65a1500349b38afd415095d00d48e Author: Jiří Techet Date: Sat May 9 20:22:40 2015 +0200 Merge add_member() and find_scope_members_tags() By comparing the file pointer in the loop we can speed it up a bit because we can avoid the strcmp() (this function is the slowest part of the scope completion based on profiling). Also move the pointer array creation to this function and return it which is a bit cleaner. tagmanager/src/tm_workspace.c | 55 +++++++++++++++++-------------------------- 1 file changed, 22 insertions(+), 33 deletions(-) commit 8ff8cbc3a33ba920a6113a8a9cb62ea007789641 Author: Jiří Techet Date: Fri May 22 22:32:19 2015 +0200 Sane implementation of find_scope_members_tags() Disclaimer: I have absolutely no idea how the original function works. After gazing into the code for one hour, I just gave up and wrote my own version of it based on what I think the function should do but maybe I'm just missing something what justifies the original implementation's insanity. tagmanager/src/tm_workspace.c | 110 ++++-------------------------------------- 1 file changed, 10 insertions(+), 100 deletions(-) commit 140a7b6617e89dfcb31d876364d62b3902af0d3c Author: Jiří Techet Date: Sat May 9 16:46:59 2015 +0200 When extracting members, get them from single file only The previous commit fixed the situation when e.g. anon_struct_0 was in the current file by checking the current file first. In the case the struct type definition isn't found in the current file, at the moment we get all members from all anon_struct_0 which can be a really long list. This list isn't very helpful to users because all the members from all the structs are mixed. Moreover, not all possible members are in the list because there are e.g. just members from anon_struct_0 but not from anon_struct_1 etc. which from the point of view of this function is a different type. Instead, restrict the returned members to just a single file (anonymous structs have unique name per file so it means there will be just one from the file). Of course the picked file can be wrong and the returned members might be from a different struct the user wanted but at least the list will make more sense to users. tagmanager/src/tm_workspace.c | 23 +++++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) commit b6b93036f682bbc73399b3372168849d0b31fc4f Author: Jiří Techet Date: Sat May 9 16:10:06 2015 +0200 Get scope members only from corresponding tag arrays At the moment it can happen that even though a member is found in the currently edited file, the search at the end of the function finds the type inside another file. This typically happens for anonymous structs so e.g. for anon_struct_0{...} from the current file we get members from anon_struct_0{...} from all open documents plus gloabl tags. Search in an increasing "circle" - start with current file only (trying all possible types of the variable), continue with workspace array and finally, if not found, search in the global tags. src/editor.c | 31 +++---------- tagmanager/src/tm_workspace.c | 105 +++++++++++++++++++++++++++++------------- tagmanager/src/tm_workspace.h | 4 +- 3 files changed, 81 insertions(+), 59 deletions(-) commit 4d4573c5d88e1c10eff08e1bd304aa54084c48ce Merge: 28f7c169 5620c7df Author: Colomban Wendling Date: Sat Jan 9 20:18:29 2016 +0100 Merge pull request #855 from techee/changelog Concatenate ChangeLog.pre-0-17 and ChangeLog.pre-1-22 commit 28f7c169fcad406fc12a5363d768bbe98789c07e Merge: 8099fddd 9729f354 Author: Colomban Wendling Date: Sat Jan 9 20:07:23 2016 +0100 Merge pull request #652 from b4n/kb/file-properties Allow to set a keybinding for File->Properties commit 8099fddd9262be2888986a40e842b78f13dac050 Author: Colomban Wendling Date: Sat Jan 9 19:59:09 2016 +0100 Remove leftover references to SVN Closes #856. README.I18N | 2 +- configure.ac | 4 ++-- m4/geany-revision.m4 | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) commit c7bf89a46444c6d75ac89395f0663c99cd5e79d4 Author: Jiří Techet Date: Thu Jan 7 23:28:18 2016 +0100 Treat the "h" extension as a C++ file The extension is used by both C and C++ and lexing/parsing C headers with the C++ parser causes less problems (identifiers named like C++ keywords get highlighted and tags aren't generated for them) than parsing C++ headers with the C parser (parsing and lexing completely broken). data/filetype_extensions.conf | 2 +- tests/ctags/bug639639.h.tags | 2 ++ tests/ctags/extern_variable.h.tags | 2 +- 3 files changed, 4 insertions(+), 2 deletions(-) commit 5620c7df32ff98ea5e8890cb622e502395c058a9 Author: Jiří Techet Date: Wed Jan 6 21:52:46 2016 +0100 Concatenate ChangeLog.pre-0-17 and ChangeLog.pre-1-22 These files aren't updated (and probably read by anyone) any more and it's better to have less "garbage" files in the root. ChangeLog.pre-0-17 | 12806 -------------------------------------------------- ChangeLog.pre-1-22 | 12807 ++++++++++++++++++++++++++++++++++++++++++++++++++- Makefile.am | 1 - 3 files changed, 12806 insertions(+), 12808 deletions(-) commit 4a2890667e47af88212819e85061948f82788ad5 Author: Colomban Wendling Date: Wed Jan 6 14:30:03 2016 +0100 vhdl: Fix a typo This has no actual impact as the kind is not used anywhere anyway. Part of #849. tagmanager/ctags/vhdl.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 001fd5c52f94f6d748155771c4df7df20e3624c6 Merge: d1fcd9f2 2df9f83b Author: Frank Lanitz Date: Wed Jan 6 10:56:51 2016 +0100 Merge pull request #849 from BenWiederhake/master Fix a huge amount of type inside overall Geany commit 7fcda040abed69893157e6114f5570c7476d0a10 Author: Jiří Techet Date: Thu Jul 2 18:14:56 2015 +0200 Fix various utf8/locale problems in build and message window Non-ascii characters in file/directory names caused: 1. build commands didn't succeed 2. characters in the message window weren't shown in correct encoding 3. clicking on a row with error in the message window didn't open the file with error. This patch fixes these three issues. src/build.c | 32 +++++++++++++------------------- src/msgwindow.c | 35 ++++++++++++++++++++++------------- 2 files changed, 35 insertions(+), 32 deletions(-) commit e083c8d1c933aadc7b5c8892810902e99de5f752 Author: Colomban Wendling Date: Mon Jan 4 22:30:32 2016 +0100 reflow: Use plain ASCII space instead of `GDK_space` `GDK_space` is not guaranteed to have the value of an ASCII space (although it does in practice), and using a GDK constant does not make sense inside a text manipulation function. src/keybindings.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) commit ffde79e8ef1d91dc7de3c793c34373e33e5cc9a1 Author: Colomban Wendling Date: Mon Jan 4 22:21:19 2016 +0100 reflow: Don't split right before a whitespace Avoid splitting lines right before a whitespace when reflowing (e.g. in case of several consecutive ones) not to move whitespaces at the start of the next line, which, while they will be removed later on, can lead to incorrect reflow width and even fully empty lines. Prefer leave trailing spaces then, which is less of a problem. src/keybindings.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) commit 46ed77bf195c6bc08601b0e5a2055de2fc4b9cff Author: Colomban Wendling Date: Mon Jan 4 21:58:42 2016 +0100 reflow: Fix infinite loop on some input with many consecutive spaces Avoid triggering auto-indentation with consecutive whitespaces when reflowing, as it can lead to infinite loop if auto-indent leads to inserting full lines. Fixes #848. src/keybindings.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) commit 2df9f83bf279ebb90e5faa0466f53e5389b49d43 Author: Ben Wiederhake Date: Sun Jan 3 18:44:00 2016 +0100 Typos overlooked by codespell tests/ctags/moniker.x68.asm | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) commit 29a6b9c003f56b0f3c428e4d514776c5a2041682 Author: Ben Wiederhake Date: Sun Jan 3 18:33:25 2016 +0100 Fix typos All of these typos were found by codespell, so credits go the the authors of this incredibly useful tool. I manually confirmed and adapted all changes, which includes reflowing over-long lines or filling up with spaces for alignment. Some of these typos may need forwarding to their original authors. codespell reported a lot words where I am unsure; I have not included those corrections. HACKING | 2 +- README.Packagers | 2 +- doc/Doxyfile.in | 2 +- doc/geany.txt | 8 ++++---- doc/plugins.dox | 8 ++++---- geany.spec.in | 2 +- scintilla/lexers/LexCaml.cxx | 6 +++--- scintilla/lexers/LexCmake.cxx | 2 +- scintilla/src/SVector.h | 2 +- src/plugindata.h | 4 ++-- src/plugins.c | 4 ++-- src/pluginutils.c | 4 ++-- tagmanager/ctags/actionscript.c | 2 +- tagmanager/ctags/c.c | 4 ++-- tagmanager/ctags/ctags.c | 2 +- tagmanager/ctags/entry.c | 2 +- tagmanager/ctags/entry.h | 2 +- tagmanager/ctags/haxe.c | 2 +- tagmanager/ctags/html.c | 2 +- tagmanager/ctags/js.c | 4 ++-- tagmanager/ctags/json.c | 2 +- tagmanager/ctags/sql.c | 4 ++-- tagmanager/src/tm_tag.c | 2 +- tagmanager/src/tm_workspace.c | 2 +- tests/ctags/3526726.tex | 16 ++++++++-------- tests/ctags/bug1111214.v | 2 +- tests/ctags/bug612019.pas | 2 +- tests/ctags/bug852368.cpp | 4 ++-- tests/ctags/jsFunc_tutorial.js | 2 +- tests/ctags/lanus.for | 2 +- tests/ctags/members.f90 | 2 +- tests/ctags/misc_types.f | 2 +- tests/ctags/moniker.x68.asm | 6 +++--- 33 files changed, 57 insertions(+), 57 deletions(-) commit 9941c2d044f088242b341c805ce83fe6af7543d0 Author: Ben Wiederhake Date: Sun Jan 3 18:01:10 2016 +0100 Fix obvious typo HACKING | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit ae0fac33f4e9149f59f126257936b6b5b9261669 Author: Thomas Martitz Date: Mon Dec 21 17:47:18 2015 +0100 doxygen: undo export of some items from commit 302b40e Some types were undocumented on purpose and shall not be exported just yet. src/editor.h | 9 ++++----- src/filetypes.h | 3 --- src/search.h | 2 +- 3 files changed, 5 insertions(+), 9 deletions(-) commit d1fcd9f2269b33c5f24bb8205b61b16cd4535e4f Author: Devyn Collier Johnson Date: Sat Nov 7 21:58:16 2015 -0500 Add *.asm51 and *.a51 extensions for 8051 assembly The *.a51 extension is also used for Adobe Authorware files, but we are unlikely to ever support those. Closes #739 data/filetype_extensions.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 8d643d668880b074e91487ca27056b451f6c6c4c Author: Colomban Wendling Date: Thu Nov 26 00:47:30 2015 +0100 Fix missing progress bar during build runs Restore progress bar pulsation while a build is running, as it was lost by accident in 690cb922be902f023881d455ae0c0a87d1c62170. Closes #765. src/build.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) commit 45f531cd4b9902ec4cce8f4bcae1ae4bc56cb18d Author: Matthew Brush Date: Sun Dec 13 15:30:34 2015 -0800 Fix known memory leak in win32_show_folder_dialog() src/win32.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) commit 9365110c4c0fa23c99cb9b79149f68f4049e342e Author: Colomban Wendling Date: Fri Dec 18 21:23:47 2015 +0100 CUDA: Use C++ ctags parser Closes #830. data/filetypes.CUDA.conf | 1 + 1 file changed, 1 insertion(+) commit 302b40e9778ff49407902f3ef9f272ed202f4547 Author: Thomas Martitz Date: Thu Dec 17 09:35:06 2015 +0100 doxygen: various doxygen-related fixes in preparation for gtkdoc generation Major changes are: - Some types were accidentally documented, even though they couldn't be accessed by any exported API functions. Those are removed (especially from encodings.h). - Some types were not documented where they should. Documentation is added for them. Members are not necessarily documented separately if names are self-explanatory. - @a XXX refers to parameters of the function, it's inappropriate for highlighting NULL (change to @c) - As per consensus, build_info is removed from GeanyData (replaced by pointer to avoid ABI break; added grep-able abi-todo tag so it doesn't get forgotten) doc/pluginsymbols.c | 14 ++++++++------ src/build.c | 4 ++-- src/build.h | 30 +++++++++++++++--------------- src/editor.c | 2 +- src/editor.h | 9 +++++---- src/encodings.h | 5 +---- src/filetypes.h | 20 ++++++++++++++------ src/keybindings.c | 4 ++-- src/plugindata.h | 2 +- src/plugins.c | 2 +- src/search.h | 2 +- src/utils.c | 20 ++++++++++---------- 12 files changed, 61 insertions(+), 53 deletions(-) commit 6098f550329bb1d9a17eafda18670645d5b7abfb Author: Thomas Martitz Date: Thu Dec 17 09:31:06 2015 +0100 encodings: move private stuff into private header encodings.h had a pretty large GEANY_PRIVATE part so it's worthwhile to separate that into its own header (as per HACKING). What's left is used by the plugin API. src/Makefile.am | 1 + src/dialogs.c | 1 + src/document.c | 1 + src/encodings.c | 1 + src/encodings.h | 70 ++--------------------------------------- src/encodingsprivate.h | 84 ++++++++++++++++++++++++++++++++++++++++++++++++++ src/keyfile.c | 1 + src/libmain.c | 2 +- src/prefs.c | 2 +- src/search.c | 1 + src/templates.c | 2 +- src/ui_utils.c | 2 +- 12 files changed, 96 insertions(+), 72 deletions(-) commit 402e669be1f1f9f35c4165972995a76f93f32c5a Author: Andrea Stacchiotti Date: Wed Dec 16 03:07:55 2015 +0100 Added some extra Markdown extensions data/filetype_extensions.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 34088fbbb8535539e588520756aa418934b80941 Author: Enrico Tröger Date: Sun Nov 22 23:53:12 2015 +0100 Drop Waf build system support See #768. .gitignore | 7 - HACKING | 9 +- Makefile.am | 2 - doc/geany.txt | 67 +--- doc/making-a-release | 2 +- geany.spec.in | 4 - scripts/wafinit.sh | 72 ---- waf | Bin 91846 -> 0 bytes wscript | 981 --------------------------------------------------- 9 files changed, 5 insertions(+), 1139 deletions(-) commit b361b83276816633ac5a0d6d391b6f6e8ebe6cf1 Author: Jiří Techet Date: Sat Dec 12 15:07:22 2015 +0100 Colourise only the visible area when highlighting typenames Colorizing the whole document is rather expensive and unnecessary as Scintilla colorizes the visible part of the document when scrolling happens. Instead, colorize only the visible area when highlighting typenames. src/document.c | 12 ++++++++---- src/documentprivate.h | 1 + src/editor.c | 26 +++++++++++++++++++++----- 3 files changed, 30 insertions(+), 9 deletions(-) commit 27628c0028fe15fc89e95c885d4981ce86698614 Merge: 48217703 e49093b7 Author: Colomban Wendling Date: Mon Nov 30 19:25:24 2015 +0100 Merge pull request #773 from zhekov/pointer-from-integer Fix warnings about casting pointer from/to different size integer commit 48217703e13a42dcd51a799cc00417794281eaa0 Author: Colomban Wendling Date: Wed Nov 25 20:31:48 2015 +0100 Simplify encoding menu creation loop Simplify and optimize creation of the sorted menus by taking advantage of the fact they might already be partially sorted, and that we can at least add one entry to each group in each run. This goes from 4032 runs to 882, which while definitely not optimal for adding 126 items, is probably totally good enough and don't warrant duplicating the encoding array and sort it. Though, such optimization doesn't matter as it's not what takes time in this function, which is probably rather the widgets creation. src/encodings.c | 46 ++++++++++++++++++++++++---------------------- 1 file changed, 24 insertions(+), 22 deletions(-) commit 8f9f9c5cf363e4b14a72211755b6e01c7bd6862d Author: Colomban Wendling Date: Wed Nov 25 19:13:59 2015 +0100 Simplify and cleanup encoding menu building Rewrite a part of `encodings_init()` to remove duplication and some hard-coded values. This gives us the item for UHC back, that was lost when adding CP932 in 9d9f40cd15ad121ff3e3fffd40073706c297f2dd, due to a missing update of the hard-coded group elements count. src/encodings.c | 98 ++++++++++++++++++++++----------------------------------- 1 file changed, 38 insertions(+), 60 deletions(-) commit e49093b75fb29ac4d0fb4b02cdce402e4feb039e Author: Dimitar Zhekov Date: Tue Nov 24 21:04:05 2015 +0200 Fix warnings about casting pointer from/to different size integer These appear under 64-bit Windows. Only the sciwrappers.c warning is potentially dangerous. For win32.c, the "handle" provides some useful information, while "lStdHandle" does not. src/sciwrappers.c | 2 +- src/win32.c | 2 +- tagmanager/src/tm_workspace.c | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) commit 1a84bb6e34f00199e8659edcf53376f3b0047117 Author: Colomban Wendling Date: Sun Nov 22 00:01:06 2015 +0100 Fix the `caret_width` example in the documentation doc/geany.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 1cc171aa7c38a83b606576919294d5d1a5c0cbbc Author: Colomban Wendling Date: Sat Nov 21 19:03:12 2015 +0100 Drop use of unneeded deprecated GLib API src/encodings.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit aa57582a7c73f5bb01e69d2eb40626745cd2aff0 Author: Colomban Wendling Date: Sat Nov 21 19:00:47 2015 +0100 Fix build with GLib < 2.32 Closes #764. src/spawn.c | 4 ++++ 1 file changed, 4 insertions(+) commit ef0cf9cb43586fd0639d295344c1616da9057100 Author: Frank Lanitz Date: Tue Nov 17 23:12:42 2015 +0100 Update of Italian translation NEWS | 3 + po/it.po | 230 +++++++++++++++++++++++++++++++-------------------------------- 2 files changed, 117 insertions(+), 116 deletions(-) commit 8afbc7a0b6ba8ae8b3299d887c418771a2192d38 Author: Colomban Wendling Date: Mon Nov 16 19:07:40 2015 +0100 Update Scintilla to version 3.6.2 Keep scrollbar disposal changes that were backported and are not part of 3.6.2. scintilla/gtk/PlatGTK.cxx | 16 +- scintilla/gtk/ScintillaGTK.cxx | 43 ++--- scintilla/include/Scintilla.h | 1 + scintilla/include/Scintilla.iface | 1 + scintilla/lexers/LexCoffeeScript.cxx | 4 + scintilla/lexers/LexMarkdown.cxx | 2 +- scintilla/lexers/LexPO.cxx | 20 +-- scintilla/lexers/LexPascal.cxx | 54 +++--- scintilla/lexers/LexPerl.cxx | 86 ++++----- scintilla/lexers/LexPowerShell.cxx | 12 +- scintilla/lexers/LexPython.cxx | 339 ++++++++++++++++++++++++++--------- scintilla/lexers/LexR.cxx | 10 +- scintilla/lexers/LexRuby.cxx | 126 ++++++------- scintilla/lexers/LexRust.cxx | 64 +++---- scintilla/lexers/LexSQL.cxx | 44 ++--- scintilla/lexers/LexTCL.cxx | 4 +- scintilla/lexers/LexTxt2tags.cxx | 22 +-- scintilla/lexers/LexVHDL.cxx | 65 +++---- scintilla/lexers/LexVerilog.cxx | 189 ++++++++++--------- scintilla/lexers/LexYAML.cxx | 48 ++--- scintilla/scintilla_changes.patch | 2 +- scintilla/src/Document.cxx | 2 +- scintilla/src/EditView.cxx | 63 +++---- scintilla/src/Editor.cxx | 83 +++++---- scintilla/src/RESearch.cxx | 2 +- scintilla/src/Selection.cxx | 4 + scintilla/src/Selection.h | 1 + scintilla/src/ViewStyle.cxx | 51 ++++-- scintilla/src/ViewStyle.h | 6 +- scintilla/version.txt | 2 +- 30 files changed, 793 insertions(+), 573 deletions(-) commit ad354b7477dc5734933244dcde3b62bc8c5e9560 Author: Colomban Wendling Date: Sun Nov 15 14:53:01 2015 +0100 Post release version bump Say hello to Geany 1.27 "Rezer"! NEWS | 3 +++ configure.ac | 2 +- doc/geany.txt | 2 +- geany.exe.manifest | 2 +- geany_private.rc | 4 ++-- src/geany.h | 2 +- win32-config.h | 2 +- 7 files changed, 10 insertions(+), 7 deletions(-) commit b49fa9a13aee9a2d47dfcf99dbd3d54f8d4ba900 Author: Colomban Wendling Date: Sun Nov 15 12:36:15 2015 +0100 Set release date NEWS | 2 +- doc/geany.1.in | 2 +- doc/geany.txt | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) commit 3e151bf42bf3fdf75dc738ded46c857a0f232b4d Author: Colomban Wendling Date: Sun Nov 15 12:21:25 2015 +0100 Small NEWS udpate NEWS | 3 +++ 1 file changed, 3 insertions(+) commit 2bee7120b0fff687a7eea641fe547c76f00bcb3e Author: Colomban Wendling Date: Sun Nov 15 01:16:22 2015 +0100 Allow calls to plugin_module_make_resident() from geany_load_module() This is useful if a plugin registers i.e. GTypes from its geany_load_module(), i.e. to implement plugin functions as GObject class methods. The implementation can be considered a slight hack, but we need the module to be know already in geany_load_module(), which is called too early for the normal process to set it. Closes #719. src/plugindata.h | 1 + src/plugins.c | 4 ++++ 2 files changed, 5 insertions(+) commit 945d6b6364daaf6a82882a221adde8ce7e7375cc Merge: d1ea9ede 3d439b4c Author: Colomban Wendling Date: Sun Nov 15 00:19:53 2015 +0100 Merge pull request #746 from techee/scintilla_dispose Backport Scintilla patch correctly disposing scrollbars commit d1ea9ede48018b183037074aef6a1c723da9d094 Merge: c21db7d8 fa1788fe Author: Colomban Wendling Date: Sun Nov 15 00:11:05 2015 +0100 Merge pull request #755 from b4n/python/identifiers Update keywords and identifiers list for Python 3 Part of #748. commit fa1788fe5f93ad8a0fbbab3c5e60845ca41282a7 Author: Colomban Wendling Date: Sun Nov 15 00:03:13 2015 +0100 python: Update keywords for Python 3 data/filetypes.python | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) commit f12edc0299c8140cfda0cb2787464e20abd73ae9 Author: Colomban Wendling Date: Sat Nov 14 23:58:37 2015 +0100 Update keywords too from the Python identifiers update script scripts/update-python-identifiers.sh | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) commit 498764bcafd7f4e95567e155a3c2313790401642 Author: Colomban Wendling Date: Sat Nov 14 23:46:12 2015 +0100 Refactor the Python identifiers update script for better flexibility scripts/update-python-identifiers.sh | 24 ++++++++++++++++-------- 1 file changed, 16 insertions(+), 8 deletions(-) commit 301a482555cb762c88607a1fd1e1efe2a00b936a Author: Colomban Wendling Date: Thu Nov 12 17:34:10 2015 +0100 python: Update identifiers for Python 3 data/filetypes.python | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 59e13f9e446acfc901d9ff42245b1d2da964ed30 Author: Colomban Wendling Date: Thu Nov 12 17:33:13 2015 +0100 Add a script to update Python filetype's identifiers list scripts/update-python-identifiers.sh | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) commit 3d439b4cfc42652d923bd5b9c454fde6d3737e4a Author: Jiří Techet Date: Sat Nov 14 10:26:07 2015 +0100 Backport Scintilla patch correctly disposing scrollbars The unparent method should be called in dispose(), not in finalize(). This patch fixes that which removes some ugly warnings from OS X command line. scintilla/gtk/ScintillaGTK.cxx | 32 +++++++++++++++++++++++++++----- 1 file changed, 27 insertions(+), 5 deletions(-) commit c21db7d80c0ec86c5774f95616a333f7ab2f8991 Author: Colomban Wendling Date: Sun Oct 25 15:22:07 2015 +0100 Fix line end movement on display lines when EOLs are visible Closes #712. X-Scintilla-Bug-URL: http://sourceforge.net/p/scintilla/bugs/1772/ X-Scintilla-Commit-ID: 2ce775c433b4910f2fde53c4b5d89bb16b45e3eb scintilla/src/EditView.cxx | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) commit a1145c6ef6172262248007f0bfd3645e8c363bf8 Author: Colomban Wendling Date: Sun Oct 25 21:57:36 2015 +0100 GTK: Fix autoc popup row height on GTK2 when it changes at runtime Now the popup is cached the row height has to be re-computed when the font changes on GTK2 too. Mostly closes #702. X-Scintilla-Bug-URL: http://sourceforge.net/p/scintilla/bugs/1774/ X-Scintilla-Commit-ID: 547de78f2477e16b0d7241a217a1ead83a14c42b scintilla/gtk/PlatGTK.cxx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 43e13e61bf0e80aef284a1605e0d7e6d92da4667 Author: Colomban Wendling Date: Thu Nov 12 15:08:41 2015 +0100 Mention autogen.sh in README Closes #747. README | 3 +++ 1 file changed, 3 insertions(+) commit 1af507c3f5d325c6e732024857db90affa76aa14 Author: Frank Lanitz Date: Wed Nov 11 19:23:56 2015 +0100 Update of Hungarian translation NEWS | 2 +- po/hu.po | 1172 +++++++++++++++++--------------------------------------------- 2 files changed, 319 insertions(+), 855 deletions(-) commit d7a7c130271cfbf6e840e880849a1ac306a0053e Merge: 1569fc8a 7b5e9a93 Author: Frank Lanitz Date: Tue Nov 10 22:30:10 2015 +0100 Merge pull request #741 from eht16/waf_deprecation_notice Add a deprecation notice when using the Waf build system commit 1569fc8a7642f85f53aaa8eb3fbdbe1b19938d24 Author: Frank Lanitz Date: Mon Nov 9 23:30:08 2015 +0100 Add Slovak and Indonesian translations updates to NEWS NEWS | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit e2ab39006f1bbc9d74a87c4c9de997ea1f458eb4 Merge: 7844ecc6 101903eb Author: Frank Lanitz Date: Mon Nov 9 23:26:40 2015 +0100 Merge pull request #743 from andrej-herceg/sk-po Update of Slovak translation commit 101903ebab811f299d848a8bdfd10c21948dec9e Author: Andrej Herceg Date: Mon Nov 9 15:58:11 2015 +0100 Update of Slovak translation po/sk.po | 1510 ++++++++++++++++++++++++++++++-------------------------------- 1 file changed, 730 insertions(+), 780 deletions(-) commit 7844ecc61dfad142576ef21cb1e5b14d6c42932d Author: Colomban Wendling Date: Mon Nov 9 13:48:24 2015 +0100 Update NEWS NEWS | 51 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) commit 1ce1b600d4a56153c31b6b10ee9909d188a711e8 Merge: a4223053 44a4c802 Author: Frank Lanitz Date: Mon Nov 9 08:20:45 2015 +0100 Merge pull request #740 from samsulmaarif/master Indonesian translation update commit 7b5e9a93cb99fe601a75bb36eddf7db84eb84611 Author: Enrico Tröger Date: Sun Nov 8 23:46:49 2015 +0100 Add a deprecation notice when using the Waf build system As Waf is to be dropped after the 1.26 release, inform the user to better use the Autotools build system. wscript | 10 ++++++++++ 1 file changed, 10 insertions(+) commit 44a4c8024d3ef89905e15d50b8602f03753f757b Author: Samsul Ma'arif Date: Sun Nov 8 22:33:53 2015 +0700 Indonesian Translation update Signed-off-by: Samsul Ma'arif po/id.po | 567 +++++++++++++++++++++++++++++++-------------------------------- 1 file changed, 280 insertions(+), 287 deletions(-) commit a42230539c8a33b0b7b3484b3041b17fe6b1f70d Author: Frank Lanitz Date: Sat Nov 7 23:23:22 2015 +0100 Small update of NEWS NEWS | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit ee2809f92a4adb4d314f73eb3cb43303ad0d59fd Merge: 19e98669 6c967387 Author: Samsul Ma'arif Date: Sun Nov 8 18:02:25 2015 +0700 Merge pull request #1 from geany/master Update from geany/geany commit 6c96738740f0241ccf2ec67762af6f25cf0bde87 Merge: bc21947d ac486449 Author: Frank Lanitz Date: Sat Nov 7 23:30:35 2015 +0100 Merge pull request #731 from DevynCJohnson/patch-4 Update filetype_extensions.conf commit bc21947d3d3b401684760da7eb24b34c0cdd1fba Merge: 756d4abd 5c72d540 Author: Frank Lanitz Date: Sat Nov 7 23:20:07 2015 +0100 Merge pull request #736 from scriptum/rpg-translate-ru Update of Russian translation commit 5c72d5409080a292275b47696e5ee392577c4fbe Author: Pavel Roschin Date: Sun Nov 8 01:05:12 2015 +0300 Update of Russian translation po/ru.po | 63 +++++++++++++++++++++++++++++++++------------------------------ 1 file changed, 33 insertions(+), 30 deletions(-) commit 756d4abdb2155271a28a53835433dd021cb8998a Merge: 01ed8c7c 3b884b91 Author: Frank Lanitz Date: Thu Nov 5 09:53:05 2015 +0100 Merge pull request #733 from peter-scholtens/master After update of ./waf updatepo commit 01ed8c7c01e4546d1162c152383862ae995b9996 Merge: 38f827d0 ccead15b Author: Frank Lanitz Date: Thu Nov 5 08:12:46 2015 +0100 Merge pull request #735 from crayxt/patch-1 Fix missing accelerator mark in Kazakh translation commit ccead15b22409c5cf3cbaa8ce8f9bb8cbd15cb17 Author: Baurzhan Muftakhidinov Date: Thu Nov 5 07:06:16 2015 +0500 Fix missing accelerator mark in Kazakh translation po/kk.po | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 3b884b9190b2d081f43c74950e62d19594ea8f2e Merge: 2d244515 38f827d0 Author: Peter C. S. Scholtens Date: Wed Nov 4 22:16:02 2015 +0100 Merge branch 'master' of git://github.com/geany/geany commit 38f827d0870c27b7dc7675eda69031da6508ffee Merge: 6efa9bff 60bda546 Author: Colomban Wendling Date: Wed Nov 4 21:58:39 2015 +0100 Merge pull request #533 from techee/doc_changed Force disk status document check in some specific cases commit 2d2445152e3bfbb5fed310be194e4dc24eff4111 Author: Peter C. S. Scholtens Date: Wed Nov 4 21:47:36 2015 +0100 After update of ./waf updatepo po/nl.po | 90 +++++++++++++++++++++++++++++++++++++--------------------------- 1 file changed, 52 insertions(+), 38 deletions(-) commit 60bda546264af1efc863cd3a264e9a24cb7bea1a Author: Jiří Techet Date: Wed Jun 24 16:17:16 2015 +0200 Check whether the current document changed when Geany window activated This captures the common case when e.g. changing the document outside Geany and switching back to Geany. Remove the osx-specific code doing the same for osx only. src/libmain.c | 10 ++++++++++ src/osx.c | 10 ---------- 2 files changed, 10 insertions(+), 10 deletions(-) commit 2f59aa4a9a124f88336c284fd488cf1acce94c94 Author: Jiří Techet Date: Wed Jun 24 15:25:09 2015 +0200 Force-check document disk status when switching tabs The document_check_disk_status() guarantees that there's no check performed when switching pages using Ctrl+Tab - remove the outdated comment and idle call and perform force-check. src/callbacks.c | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) commit 6efa9bff526fcf857cd26fe5ac7512c8a157cc4e Author: Colomban Wendling Date: Wed Nov 4 18:27:04 2015 +0100 French translation update NEWS | 2 +- po/fr.po | 60 ++++++++++++++++++++++++++++++------------------------------ 2 files changed, 31 insertions(+), 31 deletions(-) commit 757de2012643db081e016e7aa6532209f0bceb51 Author: Frank Lanitz Date: Wed Nov 4 18:15:50 2015 +0100 Update of Greek translation po/el.po | 75 +++++++++++++++++++++++++++++++--------------------------------- 1 file changed, 36 insertions(+), 39 deletions(-) commit 84a3e3c275542a680c96bf03b921328b90688883 Author: Frank Lanitz Date: Wed Nov 4 18:09:12 2015 +0100 Update of Kazzakh translation NEWS | 2 +- po/kk.po | 195 ++++++++++++++++++++++++++++++++------------------------------- 2 files changed, 101 insertions(+), 96 deletions(-) commit 5beeacf26716c0571e7b6f8f042f8faa3c147f2d Author: Frank Lanitz Date: Wed Nov 4 18:02:09 2015 +0100 Update of Spanish translation NEWS | 2 +- po/es.po | 84 +++++++++++++++++++++++++++++++--------------------------------- 2 files changed, 42 insertions(+), 44 deletions(-) commit 10f7cb24b26d1a62cdf4851788e4363efacb1b78 Author: Jiří Techet Date: Wed Nov 4 12:50:57 2015 +0100 Avoid possible invalid memory access when activating plugin It may happen (and happens on OS X) that plugin activation using plugin_new() triggers some action which causes the tree view to update. However, as the old plugin was freed before, the tree view contains an invalid pointer to p which causes invalid memory access. After freeing the old pointer, set the tree view value to NULL - the plugin pointer is checked at other places for NULL value so it doesn't crash. src/plugins.c | 3 +++ 1 file changed, 3 insertions(+) commit 23323f53779ae54c8a9349bc4b1e0e48ac4acb5f Author: Dimitar Zhekov Date: Sun Nov 1 20:23:35 2015 +0200 Cast windows HANDLE to intptr_t, not long The cast in g_warning is not fixed. It's unimportant, displaying a handle value does not provide any meaningful information anyway. Closes #727. src/win32.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit ac486449046338e81f0d8a3e8d9c8e0e5651c47f Author: Devyn Collier Johnson Date: Tue Nov 3 10:38:43 2015 -0500 Update filetype_extensions.conf Changes - Ensured consistency by ending every line with a semicolon - Added two MathML file-extensions (*.mml and *.mathml;) to "XML=" Justification for proposed changes - Code consistency is important in programming - MathML is a form of XML that is commonly used and is part of the HTML5 standard - W3 MathML Specification: http://www.w3.org/TR/MathML3/ - Geany properly highlights the code when the MathML file-extension is recognized data/filetype_extensions.conf | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) commit a11e43e22a1086308eb4473ad7389302de0e24e2 Author: Frank Lanitz Date: Tue Nov 3 08:15:45 2015 +0100 Update of Portuguese translation po/pt.po | 88 +++++++++++++++++++++++++++++++--------------------------------- 1 file changed, 43 insertions(+), 45 deletions(-) commit 64cb6aff946474518118e38cb420bc98184f1ffc Merge: a68df6ef ad77aed3 Author: Frank Lanitz Date: Tue Nov 3 07:53:29 2015 +0100 Merge pull request #729 from xhacker/zh_CN Update zh_CN.po commit a68df6ef4f29cf05bbdba07002949058f7d18bfe Merge: d4f3ff6e 17892335 Author: Frank Lanitz Date: Tue Nov 3 07:53:08 2015 +0100 Merge pull request #730 from peter-scholtens/master Update of Dutch translation. commit 17892335c4a7aae792e68974ec3c4ead3da05373 Author: Peter C. S. Scholtens Date: Mon Nov 2 23:15:28 2015 +0100 Update of Dutch translation. po/nl.po | 136 +++++++++++++++++++++++++++++++-------------------------------- 1 file changed, 67 insertions(+), 69 deletions(-) commit ad77aed367d23b0a8bdfbe63e1f9b20bbc4da2ec Author: LIU Dongyuan / 柳东原 Date: Mon Nov 2 12:52:27 2015 -0800 Update zh_CN.po po/zh_CN.po | 62 +++++++++++++++++++++++++++++-------------------------------- 1 file changed, 29 insertions(+), 33 deletions(-) commit d4f3ff6eb44c6f4e890beb5ecc35528f5b8eaeb6 Author: Frank Lanitz Date: Sun Nov 1 19:21:00 2015 +0100 Another small update of German translation po/de.po | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) commit 9734acdbc1e059d4bebb897c7b80563080d41ead Author: Frank Lanitz Date: Sun Nov 1 19:18:59 2015 +0100 Update of German translation po/de.po | 41 +++++++++++++++-------------------------- 1 file changed, 15 insertions(+), 26 deletions(-) commit 8934d32ab20e70556d535515fd2f4abcf81a6fa4 Author: Frank Lanitz Date: Sun Nov 1 19:04:21 2015 +0100 Another update of po files as a merge changed some strings po/ar.po | 102 ++++++++++++++++++++++++++++++-------------- po/ast.po | 118 ++++++++++++++++++++++++++++++++++++--------------- po/be.po | 115 +++++++++++++++++++++++++++++++++++--------------- po/bg.po | 121 +++++++++++++++++++++++++++++++++++++--------------- po/ca.po | 117 +++++++++++++++++++++++++++++++++++---------------- po/cs.po | 116 +++++++++++++++++++++++++++++++++++--------------- po/de.po | 138 ++++++++++++++++++++++++++++++++++++++++++------------------ po/el.po | 125 ++++++++++++++++++++++++++++++++++++++---------------- po/en_GB.po | 111 +++++++++++++++++++++++++++++++++--------------- po/es.po | 124 ++++++++++++++++++++++++++++++++++++++---------------- po/et.po | 90 ++++++++++++++++++++++++++++----------- po/eu.po | 97 +++++++++++++++++++++++++++++++----------- po/fa.po | 111 +++++++++++++++++++++++++++++++++--------------- po/fi.po | 106 ++++++++++++++++++++++++++++++++-------------- po/fr.po | 130 +++++++++++++++++++++++++++++++++++++++----------------- po/gl.po | 118 ++++++++++++++++++++++++++++++++++++--------------- po/he.po | 106 ++++++++++++++++++++++++++++++++-------------- po/hi.po | 79 ++++++++++++++++++++++++---------- po/hu.po | 118 ++++++++++++++++++++++++++++++++++++--------------- po/id.po | 123 +++++++++++++++++++++++++++++++++++++---------------- po/it.po | 118 ++++++++++++++++++++++++++++++++++++--------------- po/ja.po | 110 +++++++++++++++++++++++++++++++++--------------- po/kk.po | 118 ++++++++++++++++++++++++++++++++++++--------------- po/ko.po | 110 +++++++++++++++++++++++++++++++++--------------- po/lb.po | 118 ++++++++++++++++++++++++++++++++++++--------------- po/lt.po | 106 ++++++++++++++++++++++++++++++++-------------- po/mn.po | 108 +++++++++++++++++++++++++++++++++-------------- po/nl.po | 118 ++++++++++++++++++++++++++++++++++++--------------- po/nn.po | 79 ++++++++++++++++++++++++---------- po/pl.po | 118 ++++++++++++++++++++++++++++++++++++--------------- po/pt.po | 124 ++++++++++++++++++++++++++++++++++++++---------------- po/pt_BR.po | 122 +++++++++++++++++++++++++++++++++++++---------------- po/ro.po | 118 ++++++++++++++++++++++++++++++++++++--------------- po/ru.po | 115 +++++++++++++++++++++++++++++++++++--------------- po/sk.po | 118 ++++++++++++++++++++++++++++++++++++--------------- po/sl.po | 107 ++++++++++++++++++++++++++++++++-------------- po/sr.po | 119 ++++++++++++++++++++++++++++++++++++--------------- po/sv.po | 119 +++++++++++++++++++++++++++++++++++---------------- po/tr.po | 116 +++++++++++++++++++++++++++++++++++--------------- po/uk.po | 112 ++++++++++++++++++++++++++++++++++-------------- po/vi.po | 118 ++++++++++++++++++++++++++++++++++++--------------- po/zh_CN.po | 108 +++++++++++++++++++++++++++++++++-------------- po/zh_TW.po | 106 ++++++++++++++++++++++++++++++++-------------- 43 files changed, 3452 insertions(+), 1418 deletions(-) commit b317da6a0d83a1c51c6f77f2c8bc184928ff3b99 Merge: fa0a034d 63908309 Author: Colomban Wendling Date: Sun Nov 1 19:01:54 2015 +0100 Merge pull request #701 from zhekov/improve-spawning-errors Alter spawn to return the error message only in error->message Closes #541. commit fa0a034d97caf250c25a40ef7f78a54f455ddb80 Author: Frank Lanitz Date: Sun Nov 1 18:58:14 2015 +0100 Update of German translation NEWS | 2 +- po/de.po | 22 ++++++++++++---------- 2 files changed, 13 insertions(+), 11 deletions(-) commit 7a8140b76ac5f24a4e51d46cd5c50ac70571bdfe Author: Frank Lanitz Date: Sun Nov 1 17:46:28 2015 +0100 Update po files for string freeze for 1.26 po/ar.po | 878 ++++++++++++++++++++++++++++++----------------------------- po/ast.po | 878 ++++++++++++++++++++++++++++++----------------------------- po/be.po | 826 +++++++++++++++++++++++++++++--------------------------- po/bg.po | 878 ++++++++++++++++++++++++++++++----------------------------- po/ca.po | 880 ++++++++++++++++++++++++++++++----------------------------- po/cs.po | 880 ++++++++++++++++++++++++++++++----------------------------- po/de.po | 866 ++++++++++++++++++++++++++++++---------------------------- po/en_GB.po | 878 ++++++++++++++++++++++++++++++----------------------------- po/es.po | 868 ++++++++++++++++++++++++++++++---------------------------- po/et.po | 879 ++++++++++++++++++++++++++++++----------------------------- po/eu.po | 879 ++++++++++++++++++++++++++++++----------------------------- po/fa.po | 878 ++++++++++++++++++++++++++++++----------------------------- po/fi.po | 879 ++++++++++++++++++++++++++++++----------------------------- po/fr.po | 462 ++++++++++++++++--------------- po/gl.po | 880 ++++++++++++++++++++++++++++++----------------------------- po/he.po | 880 ++++++++++++++++++++++++++++++----------------------------- po/hi.po | 876 ++++++++++++++++++++++++++++++----------------------------- po/hu.po | 880 ++++++++++++++++++++++++++++++----------------------------- po/id.po | 880 ++++++++++++++++++++++++++++++----------------------------- po/it.po | 880 ++++++++++++++++++++++++++++++----------------------------- po/ja.po | 880 ++++++++++++++++++++++++++++++----------------------------- po/kk.po | 879 ++++++++++++++++++++++++++++++----------------------------- po/ko.po | 878 ++++++++++++++++++++++++++++++----------------------------- po/lb.po | 878 ++++++++++++++++++++++++++++++----------------------------- po/lt.po | 880 ++++++++++++++++++++++++++++++----------------------------- po/mn.po | 878 ++++++++++++++++++++++++++++++----------------------------- po/nl.po | 879 ++++++++++++++++++++++++++++++----------------------------- po/nn.po | 877 ++++++++++++++++++++++++++++++----------------------------- po/pl.po | 879 ++++++++++++++++++++++++++++++----------------------------- po/pt.po | 79 +++--- po/pt_BR.po | 880 ++++++++++++++++++++++++++++++----------------------------- po/ro.po | 878 ++++++++++++++++++++++++++++++----------------------------- po/ru.po | 883 +++++++++++++++++++++++++++++++----------------------------- po/sk.po | 880 ++++++++++++++++++++++++++++++----------------------------- po/sl.po | 881 ++++++++++++++++++++++++++++++----------------------------- po/sr.po | 879 ++++++++++++++++++++++++++++++----------------------------- po/sv.po | 880 ++++++++++++++++++++++++++++++----------------------------- po/tr.po | 880 ++++++++++++++++++++++++++++++----------------------------- po/uk.po | 878 ++++++++++++++++++++++++++++++----------------------------- po/vi.po | 878 ++++++++++++++++++++++++++++++----------------------------- po/zh_CN.po | 826 +++++++++++++++++++++++++++++--------------------------- po/zh_TW.po | 878 ++++++++++++++++++++++++++++++----------------------------- 42 files changed, 18426 insertions(+), 17147 deletions(-) commit d3ca4299e77c7b395f68e3e70ec351f98f173407 Author: Frank Lanitz Date: Sun Nov 1 17:42:28 2015 +0100 Update of Greek translation po/el.po | 465 +++++++++++++++++++++++++++++++++------------------------------ 1 file changed, 246 insertions(+), 219 deletions(-) commit 63908309533731ecdd8865e4cf118db1005e1bb4 Author: Dimitar Zhekov Date: Sun Nov 1 16:19:40 2015 +0200 Fix custom command spawning error message They are configured in Custom Commands, not Preferences. Also fix the duplicated g_error_free(). src/tools.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) commit a99454f4a0b740085bd5a5974aab8e5b12615db3 Author: Dimitar Zhekov Date: Sun Nov 1 16:00:03 2015 +0200 Clarify the template command spawning message src/templates.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit ca76d87cac33d59c0b726a4f47d47b7948aca55e Author: Dimitar Zhekov Date: Sun Nov 1 15:34:26 2015 +0200 Fix context action spawning error message Properly display what configuration should be checked, and show the entire command line on parsing error. src/callbacks.c | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) commit f50a1a9fc4b3b83e2caf0a55f7d2400582b31ec7 Merge: e44e00af 9b458b9f Author: elextr Date: Sat Oct 31 11:47:43 2015 +1000 Merge pull request #672 from kugel-/reload-docmsg document: show informational doc message after first reload Closes #562 commit 9b458b9fd5332570e9d94a21059180dbaa2d8fd4 Author: Thomas Martitz Date: Fri Oct 30 15:27:52 2015 +0100 document: Revert 6f5d5db and d6d4728 Now that there is a proper user indication for the "maintain history on reload" feature we can toggle it on by default. The setting is also renamed so that the default is effective for everyone (this was the plan). doc/geany.txt | 2 +- src/keyfile.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) commit b1e9c4f3b6655517f0ebf6eccabfc75cd7090f96 Author: Thomas Martitz Date: Fri Jun 26 11:55:23 2015 +0200 document: show informational doc message after first reload 6f5d5db and d6d4728 disabled "maintain history on reload" by default, with the intention to reenable it when we have a better method to make it discoverable for the user. This was necessary since it became enabled by default but could be surprising given Geany warned about losing data before. This commit tries to resolve the discoverability, by providing an informational doc message that is shown once to the user, after the first reload. The doc message also gives the option to disable this feature. src/document.c | 34 ++++++++++++++++++++++++++++++++++ src/document.h | 1 + src/documentprivate.h | 1 + src/keyfile.c | 2 ++ 4 files changed, 38 insertions(+) commit e44e00afe02c980068cbca0ca3870b0b2a663397 Author: Dimitar Zhekov Date: Fri Sep 18 19:38:42 2015 +0300 Fix configdir encoding configdir is initially in locale (glib) encoding. Converting it from UTF-8 is wrong, and it must be converted _to_ UTF-8 when used in geany_debug() - otherwise, Help -> Debug Messages fails assertion. POSIX only, under Windows the glib encoding is also UTF-8. Closes #658. src/libmain.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) commit 4c6bd09b5a67064a92c36c77776246d18b20f40d Merge: 4335804d 06f2cbe6 Author: Colomban Wendling Date: Sun Oct 25 16:37:34 2015 +0100 Merge pull request #711 from geany/elextr-patch-1 Add ".adoc" extension to asciidoc filetype commit 4335804d236bd43d7545a48272fd313adc36ce1f Merge: 5dea35ad 326c39f8 Author: Colomban Wendling Date: Sun Oct 25 16:09:21 2015 +0100 Merge branch 'mio/update' Manually import some upstream MIO changes. commit 5dea35ada9afe202c5507fc35729a91d03175b9e Author: Colomban Wendling Date: Sun Oct 25 14:05:37 2015 +0100 Respect Smart Home Key setting in Go To Start of Display Line src/keybindings.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 326c39f8d59769237b80463631d57bef58a5a162 Author: Colomban Wendling Date: Sat Oct 24 20:16:44 2015 +0200 Add printf attribute to vprintf() functions This allows GCC to check vprintf() format, and makes `-Wsuggest-attribute=format` happy. tagmanager/mio/mio-file.c | 1 + tagmanager/mio/mio-memory.c | 1 + tagmanager/mio/mio.h | 4 ++-- 3 files changed, 4 insertions(+), 2 deletions(-) commit cbc85b7444da9e5210f1a7ac18a1e223af784af9 Author: Colomban Wendling Date: Sat Mar 24 22:52:37 2012 +0100 Improve memory backend of mio_read() Drop the loop in mem_read() in favor of a single memcpy() call. This greatly improves performances when nmemb > 1, for a small loss for some values of size when nmemb == 1. Gain can theoretically be infinite since swapping nmemb and size parameters changes almost nothing while it had a dramatic performance impact previously. Loss is up to about 25% in the worst case for some values of size when nmemb is 1. Also, now the function always copies as much data as possible, not only whole blocks. This follows the glibc implementation of fread() and simplifies the code. Doing so also fixes the position after a partial read to be at the last readable character rather than the end of the last read block. tagmanager/mio/mio-memory.c | 40 ++++++++++++++++++++-------------------- 1 file changed, 20 insertions(+), 20 deletions(-) commit 06f2cbe6f6a25ebdcc8a48ee6e5be91a69785ca3 Author: elextr Date: Fri Oct 23 16:34:25 2015 +1000 Add ".adoc" extension to asciidoc filetype Closes #708 data/filetype_extensions.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 7fbe99fd8a0f140ebd037128e181570a12f0713a Merge: 459983ed 1c6b908c Author: Colomban Wendling Date: Thu Oct 22 21:53:32 2015 +0200 Merge pull request #707 from b4n/waf/c99 waf: Check and enable C99 compiler support commit 1c6b908c9e7f4d6d1ca0754de4c6564f3c8ac7a7 Author: Colomban Wendling Date: Wed Oct 21 16:30:47 2015 +0200 waf: Check and enable C99 compiler support Closes #679. wscript | 65 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 60 insertions(+), 5 deletions(-) commit 459983ed15a68a25e829f166af7a59a6b79d24eb Author: Frank Lanitz Date: Tue Oct 20 22:42:38 2015 +0200 Update of Portuguese translation NEWS | 3 +- po/pt.po | 849 ++++++++++++++++++++++++++++++++------------------------------- 2 files changed, 434 insertions(+), 418 deletions(-) commit 748f5689ccf58b5172d3ec80b67bbde4cc3ea1a5 Author: Dimitar Zhekov Date: Tue Oct 20 20:38:37 2015 +0300 Unify the spawn callers error messages: custom command src/tools.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) commit d8318b6366369b6c94eb2e709c3e5d0d9b4efd3d Author: Dimitar Zhekov Date: Tue Oct 20 20:37:23 2015 +0300 Unify the spawn callers error messages: template replacement command src/templates.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) commit 389c0a223dc391a1a2a84891ab2411e76a92d64b Author: Dimitar Zhekov Date: Tue Oct 20 20:35:12 2015 +0300 Unify the spawn callers error messages: print command src/printing.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) commit 897197ae51cb51c7f07281ef7c6e118b27f25718 Author: Dimitar Zhekov Date: Tue Oct 20 20:33:41 2015 +0300 Unify the spawn callers error messages: context action src/callbacks.c | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) commit 421f8a0ce08178bc5d76fd7922c253994492bf1d Author: Dimitar Zhekov Date: Tue Oct 20 20:31:37 2015 +0300 Unify the spawn callers error messages: terminal command src/build.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit e74dc40e1134e3bb7df9e45bc95f9e3c71507841 Author: Dimitar Zhekov Date: Tue Oct 20 20:30:00 2015 +0300 Unify the spawn callers error messages: grep tool src/search.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 5aa0b02f00e84c6412be8632432726c5894e1ff3 Author: Dimitar Zhekov Date: Tue Oct 20 20:22:51 2015 +0300 Sync spawn glib/unix and Windows messages In particular, the exec() and CreateProcess() errors are reported directly, but failures in other any functions, which are extremely rare, include some descriptive text, such as "Failed to set pipe handle to inheritable (Access denied)". The example is artificial. src/spawn.c | 32 +++++++++++++++++++++----------- 1 file changed, 21 insertions(+), 11 deletions(-) commit d60a4b789d28dabc97801d8579e74cd1fdfee524 Author: Dimitar Zhekov Date: Mon Oct 19 20:43:23 2015 +0300 Alter spawn to cut glib citing of the program name or working dir Mostly translate the G_SPAWN error codes back to errno, and get the curresponding g_strerror() message. src/spawn.c | 79 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 78 insertions(+), 1 deletion(-) commit 716c785e34f9b016ddf200048e7642f6eb1ffab2 Author: Dimitar Zhekov Date: Mon Oct 19 20:00:36 2015 +0300 Alter spawn to return the error message only in error->message That is, do not cite the original text, program name, or the failed OS function name (except when the testing program is compiled). Also cut glib citing of the original text on bad quoting. src/spawn.c | 54 +++++++++++++++++++++++++++++++++++------------------- 1 file changed, 35 insertions(+), 19 deletions(-) commit 9420ec84939ed8625611047b6764da5488c09537 Merge: d5e484ca f9e6ceac Author: Colomban Wendling Date: Mon Oct 19 15:45:28 2015 +0200 Merge pull request #697 from techee/val_if_fail Use g_return_val_if_fail() to fix build on OS X commit d5e484cadb9275e5f6600c4834299fc766cf3a24 Author: Matthew Brush Date: Sat Oct 17 11:00:56 2015 -0700 Update manual for changes to view menu/color schemes dialog Closes #699 doc/geany.txt | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) commit f9e6ceaceef1ca01961b045801c88149987f2f96 Author: Jiří Techet Date: Thu Oct 15 20:52:08 2015 +0200 Use g_return_val_if_fail() to fix build on OS X src/plugins.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 7215c5027711546cbe899fe4ccf828bd945c1d66 Merge: b2879e9f 6db80a24 Author: Colomban Wendling Date: Tue Oct 13 22:35:16 2015 +0200 Merge pull request #646 from b4n/new-cl-files-once Don't open more than one document for non-existing paths from the CLI commit b2879e9fca00f544105029b45974bd808cbb9b7b Author: Colomban Wendling Date: Mon Oct 12 19:20:02 2015 +0200 tagmanager: Fix handling of scopes starting with a non-ASCII character Fix handling of scopes starting with a non-ASCII character. Actually, just drop the check on the first byte of the scope, as it doesn't seem to serve any purpose as it only checks the first byte (so isn't any kind of real validation; and as it predates Geany it's impossible to know the real reason behind this check), and breaks support for non-ASCII scopes. tagmanager/src/tm_tag.c | 4 +--- tests/ctags/Makefile.am | 1 + tests/ctags/non-ascii-ident1.php | 12 ++++++++++++ tests/ctags/non-ascii-ident1.php.tags | 5 +++++ 4 files changed, 19 insertions(+), 3 deletions(-) commit 152103392c04827a38e9486e3b55888effbb5372 Merge: d6e94cf9 d4f26fdb Author: Colomban Wendling Date: Sat Oct 10 13:57:47 2015 +0200 Merge pull request #376 from kugel-/keybindings-rework3 Keybindings rework commit d6e94cf9d4b41b55f06bafe185b1b0a7fc61bd30 Author: Dimitar Zhekov Date: Mon Oct 5 22:52:54 2015 +0300 Use GStatBuf instead of plain `struct stat` Especially under Windows, there are 32-bit and 64-bit stat, and g_[l]stat may use the non-default one. Closes #677 src/dialogs.c | 2 +- src/socket.c | 2 +- tagmanager/ctags/ctags.c | 16 ++++++++-------- tagmanager/src/tm_source_file.c | 4 ++-- tagmanager/src/tm_workspace.c | 2 +- 5 files changed, 13 insertions(+), 13 deletions(-) commit c6952c75999c3775a5d7342bc3892c5c9451fb39 Merge: 25bd2418 d0f94460 Author: Colomban Wendling Date: Tue Oct 6 15:53:14 2015 +0200 Merge pull request #629 from kugel-/pluxy Add support for plugins acting as proxies for foreign plugins, promoting foreign plugins to first-class citizen. commit d0f94460eacfc555683187e7055ef5dec7f279b8 Author: Colomban Wendling Date: Tue Oct 6 15:42:54 2015 +0200 Bump plugin API version for proxy plugins support src/plugindata.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 6cb443e8631681c7b74ccef25c7656bdbc9f9305 Author: Thomas Martitz Date: Sun Oct 4 00:04:57 2015 +0200 plugins: enforce geany_plugin_register_proxy() can be called once In the future we might want to enable calling it again to set new supported plugin types/extensions. This is not implemented yet, but in order to allow this in the future we have to prevent it now, otherwise we'd need to break the API. src/plugins.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) commit 6dfe5ce9420c3674e2e779339e72ce5d79ae70b9 Author: Thomas Martitz Date: Mon Sep 21 23:51:54 2015 +0200 plugins: use GQueue to restore GLib compatibility g_ptr_array_insert() is too recent (2.40), but prepending is required. GQueue is a fine replacement with better old-glib support, at the expense of working with a doubly-linked list instead of plain array. src/plugins.c | 32 +++++++++++++++----------------- src/utils.h | 8 ++++++++ 2 files changed, 23 insertions(+), 17 deletions(-) commit 7ac89deebdaf4052ed795495cfbbb8c35043a29f Author: Thomas Martitz Date: Mon May 19 06:55:11 2014 +0200 plugins: improve PM dialog for proxy and sub-plugins Geany now remembers how many plugins depend on a pluxy. It uses this information to disable the "Active" checkbox in the PM dialog. Additionally, the PM dialog displays plugins in a hierarchical manner, so that sub-plugins are shown next to pluxy. This is espcially handy since it makes the sub-plugin <-> pluxy relationship really obvious, and it's easier to spot which plugins need to be disabled before the pluxy can be disabled. This allows to remove code to re-select the plugin because the row (respective to the hierarchy level) does not change anymore. src/pluginprivate.h | 2 + src/plugins.c | 243 +++++++++++++++++++++++++++++++++++++++++----------- 2 files changed, 196 insertions(+), 49 deletions(-) commit bbf8e882c2ea76c2d400decfbd6d5b44978eb3fa Author: Thomas Martitz Date: Wed Aug 26 23:58:31 2015 +0200 demoproxy: add a demo proxy showcasing how to create a proxy plugin This demo proxy does not actually do anything useful. It simply loads pseudo-plugins from an ini-style file. The point is that there will be a plugin in the PM dialog for each ini. Each ini-plugin also causes a menu item to be generated. plugins/Makefile.am | 10 ++- plugins/demoproxy.c | 202 +++++++++++++++++++++++++++++++++++++++++++++++ plugins/demoproxytest.px | 15 ++++ po/POTFILES.skip | 1 + 4 files changed, 226 insertions(+), 2 deletions(-) commit 25bd24187ba30497109e01938365e8a4ca2a12fd Merge: e7e5d51d daf4dd45 Author: Colomban Wendling Date: Tue Oct 6 15:00:11 2015 +0200 Merge pull request #621 from techee/remote_mtime Fix the "source file has been modified" issue Closes #605. commit 8ac9d56fff28a6a8b296bfde3f7c047bc8762e61 Author: Thomas Martitz Date: Wed Aug 26 23:58:28 2015 +0200 plugins: reselect when toggling the current plugin When enabling/disabling pluxys in the PM dialog the list of available plugins might change. If plugins before the pluxy go/come then the wrong plugin becomes selected (the selected row number stays the same). Re-apply the selection to the current one in the toggle callback to overcome this issue. src/plugins.c | 53 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) commit 6e5ca69e2e9ddbfc2cc44527a1aa5fca8db09167 Author: Thomas Martitz Date: Wed Aug 26 23:58:25 2015 +0200 plugins: add geany_plugin_register_proxy() to the plugin API This function finally allows plugins to register themselves as a proxy for one or more file extensions. Lots of documentation is added to doc/plugins.dox, please refer to that for more details. doc/plugins.dox | 397 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/plugindata.h | 43 +++++- src/plugins.c | 52 ++++++++ 3 files changed, 487 insertions(+), 5 deletions(-) commit 3ccf959013edb6744ab58f6953a2b44dfb1abef3 Author: Thomas Martitz Date: Wed Aug 26 23:58:21 2015 +0200 plugins: introduce probe() for proxy plugins When a file extension alone is ambigious as to whether a potential plugin is really handled then the proxy should use the probe hook to find out. This can be especially helpful when two pluxies work on the same file extension. The proxy's probe() should return PROXY_IGNORED or PROXY_MATCHED accordingly. A special flag value, PROXY_NOLOAD, can be or'ed into PROXY_MATCHED to say that the file belongs to the proxy, but isn't directly loaded and should not be handled by any other proxy or geany itself. Example for PROXY_IGNORED: geanypy only supports python2 at the moment. So, scripts written for python3 aren't handled by it and should be skipped for the PM dialog. Or perhaps they are handled by another proxy that supports python3. Example for PROXY_NOLOAD: A pluxy registers for the metadata file extension (.plugin) where author etc is in. The actual implmentation is in a python script (.py). The .py file is tied to the .plugin and should not be processed by other pluxies. Thus, the pluxy also registers for the .py extension but returns PROXY_MATCHED|PROXY_NOLOAD for it (if it would return only PROXY_MATCHED the sub-plugin would show up twice in the PM dialog). src/plugindata.h | 10 ++++++++++ src/plugins.c | 17 ++++++++++++++++- 2 files changed, 26 insertions(+), 1 deletion(-) commit e5bb6571c60be2169c3d66ae38c72d72709bf10e Author: Thomas Martitz Date: Wed Aug 26 23:58:18 2015 +0200 plugins: when loading active ones, loop until no more proxy plugins are added During the loading of the active plugins they are also initialized (done at startup). As a result, these plugins could be pluxys and make more plugins available, some of which may be active as well. Because of this the loop has to be restarted if pluxies become available to also load active plugins that depend on the pluxy. The loop is only restarted at the end so only nested pluxys could possibly cause the loop to be run more than twice. src/plugins.c | 37 ++++++++++++++++++++++--------------- 1 file changed, 22 insertions(+), 15 deletions(-) commit 203644a23397a0f4bca56eff820bac547208561b Author: Thomas Martitz Date: Wed Aug 26 23:58:15 2015 +0200 plugins: refactor GtkListStore population code into separate function src/plugins.c | 57 +++++++++++++++++++++++++++++++++------------------------ 1 file changed, 33 insertions(+), 24 deletions(-) commit bdaab9c8378913016d8bc6c76d2100e6d6a9baab Author: Thomas Martitz Date: Wed Aug 26 23:58:12 2015 +0200 plugins: generic load_data instead of module pointer in Plugin struct Being a GModule is actually a detail of standard plugins. Future proxy plugins might need different handles. Therefore replace the module field with a more generic pointer and encapsulate the GModule detail further. This pointer shall be returned from GeanyProxyFuncs::load and is passed back to GeanyProxyFuncs::unload, and isn't interpreted by Geany. src/plugindata.h | 4 +-- src/pluginprivate.h | 5 ++- src/plugins.c | 100 ++++++++++++++++++++++++++++++++++++++++------------ src/pluginutils.c | 11 ++---- 4 files changed, 86 insertions(+), 34 deletions(-) commit d008675b1bb1360f32360c98f54175783c5f0f2f Author: Thomas Martitz Date: Wed Aug 26 23:58:09 2015 +0200 plugins: introduce load and unload functions for plugins Currently they encapsulate loading and unloading of standard plugins. In the future plugins can provide such functions to load their types of plugins. Such a dummy proxy plugin is implemented now to load standard plugins so that these aren't going to be specially handled. src/plugindata.h | 9 ++ src/pluginprivate.h | 9 +- src/plugins.c | 237 +++++++++++++++++++++++++++++++++++----------------- 3 files changed, 177 insertions(+), 78 deletions(-) commit e7e5d51d0a239ea64fae9921d467272ea48fb27f Merge: 932e98fa 4742cac8 Author: Frank Lanitz Date: Sun Oct 4 14:58:03 2015 +0200 Merge branch 'konsolebox-master' commit 4742cac866c97f61f081ee78a971dcca90e8909b Merge: 932e98fa c2b7c279 Author: Frank Lanitz Date: Sun Oct 4 14:57:42 2015 +0200 Merge branch 'master' of https://github.com/konsolebox/geany into konsolebox-master commit 932e98fa91da4b73956e73576e5c62ed8070a09d Author: Frank Lanitz Date: Sun Oct 4 12:24:39 2015 +0200 Update of Greek translation NEWS | 2 +- po/el.po | 527 ++++++++++++++++++++++++++++++++------------------------------- 2 files changed, 270 insertions(+), 259 deletions(-) commit daf4dd45b874f7d29e30f8eddd4fbb6cae40e687 Author: Jiří Techet Date: Tue Aug 18 19:46:08 2015 +0200 Don't mix POSIX/GIO operations when opening/saving/stat()ing files GVFS uses different backends for "native" GIO operations and POSIX operations which use the FUSE backend. If the two kinds of operations are mixed, we may get races. The patch checks the value of file_prefs.use_gio_unsafe_file_saving and based on it either uses GIO operations or POSIX operations for file loading, saving and checking modification time. src/document.c | 101 ++++++++++++++++++++++++++++++++++++++++----------------- 1 file changed, 72 insertions(+), 29 deletions(-) commit c2b7c279e98ce620f3111bd3981f3c14c9d92196 Author: Ross Konsolebox Date: Wed Sep 23 17:46:22 2015 +0800 Update msgid for "Use multi-line matchin_g" This also includes obvious changes to msgstr of some languages. Languages that didn't explicitly use 'l' as previous shortcut or didn't have 'g' on their translation were left untouched. po/ar.po | 2 +- po/ast.po | 2 +- po/be.po | 2 +- po/bg.po | 2 +- po/ca.po | 2 +- po/cs.po | 2 +- po/de.po | 2 +- po/el.po | 2 +- po/en_GB.po | 2 +- po/es.po | 2 +- po/et.po | 2 +- po/eu.po | 2 +- po/fa.po | 2 +- po/fi.po | 2 +- po/gl.po | 2 +- po/he.po | 2 +- po/hi.po | 2 +- po/hu.po | 2 +- po/id.po | 2 +- po/it.po | 2 +- po/ja.po | 2 +- po/kk.po | 2 +- po/ko.po | 2 +- po/lb.po | 2 +- po/lt.po | 2 +- po/mn.po | 2 +- po/nl.po | 2 +- po/nn.po | 2 +- po/pl.po | 2 +- po/pt.po | 2 +- po/pt_BR.po | 2 +- po/ro.po | 2 +- po/ru.po | 2 +- po/sk.po | 2 +- po/sl.po | 2 +- po/sr.po | 2 +- po/sv.po | 2 +- po/tr.po | 2 +- po/uk.po | 2 +- po/vi.po | 2 +- po/zh_CN.po | 4 ++-- po/zh_TW.po | 2 +- 42 files changed, 43 insertions(+), 43 deletions(-) commit 04ef30ea06982865cf6ba097e5c6f630f2a554bf Author: Colomban Wendling Date: Sun Sep 20 18:37:11 2015 +0200 Update Scintilla to version 3.6.1 data/filetypes.coffeescript | 1 + scintilla/Makefile.am | 7 +- scintilla/gtk/PlatGTK.cxx | 108 +-- scintilla/gtk/ScintillaGTK.cxx | 138 ++-- scintilla/include/ILexer.h | 48 +- scintilla/include/Makefile.am | 3 +- scintilla/include/SciLexer.h | 19 + scintilla/include/Sci_Position.h | 21 + scintilla/include/Scintilla.h | 36 +- scintilla/include/Scintilla.iface | 65 +- scintilla/lexers/LexAbaqus.cxx | 50 +- scintilla/lexers/LexAda.cxx | 10 +- scintilla/lexers/LexAsm.cxx | 26 +- scintilla/lexers/LexBash.cxx | 24 +- scintilla/lexers/LexBasic.cxx | 24 +- scintilla/lexers/LexBatch.cxx | 500 ++++++++++++++ scintilla/lexers/LexCOBOL.cxx | 30 +- scintilla/lexers/LexCPP.cxx | 72 +- scintilla/lexers/LexCSS.cxx | 24 +- scintilla/lexers/LexCaml.cxx | 27 +- scintilla/lexers/LexCmake.cxx | 34 +- scintilla/lexers/LexCoffeeScript.cxx | 55 +- scintilla/lexers/LexD.cxx | 26 +- scintilla/lexers/LexDiff.cxx | 153 +++++ scintilla/lexers/LexErlang.cxx | 14 +- scintilla/lexers/LexForth.cxx | 4 +- scintilla/lexers/LexFortran.cxx | 37 +- scintilla/lexers/LexHTML.cxx | 80 +-- scintilla/lexers/LexHaskell.cxx | 50 +- scintilla/lexers/LexLaTeX.cxx | 73 +- scintilla/lexers/LexLisp.cxx | 18 +- scintilla/lexers/LexLua.cxx | 24 +- scintilla/lexers/LexMake.cxx | 144 ++++ scintilla/lexers/LexMarkdown.cxx | 26 +- scintilla/lexers/LexMatlab.cxx | 26 +- scintilla/lexers/LexNsis.cxx | 40 +- scintilla/lexers/LexNull.cxx | 40 ++ scintilla/lexers/LexOthers.cxx | 1149 -------------------------------- scintilla/lexers/LexProps.cxx | 189 ++++++ scintilla/lexlib/Accessor.cxx | 8 +- scintilla/lexlib/Accessor.h | 4 +- scintilla/lexlib/LexAccessor.h | 54 +- scintilla/lexlib/LexerBase.cxx | 4 +- scintilla/lexlib/LexerBase.h | 8 +- scintilla/lexlib/LexerModule.cxx | 8 +- scintilla/lexlib/LexerModule.h | 6 +- scintilla/lexlib/LexerNoExceptions.cxx | 8 +- scintilla/lexlib/LexerNoExceptions.h | 12 +- scintilla/lexlib/LexerSimple.cxx | 4 +- scintilla/lexlib/LexerSimple.h | 4 +- scintilla/lexlib/StyleContext.cxx | 20 +- scintilla/lexlib/StyleContext.h | 54 +- scintilla/src/AutoComplete.cxx | 2 + scintilla/src/CallTip.cxx | 2 + scintilla/src/CaseConvert.cxx | 1 + scintilla/src/CaseFolder.cxx | 1 + scintilla/src/Catalogue.cxx | 1 + scintilla/src/CellBuffer.cxx | 1 + scintilla/src/CharClassify.cxx | 2 + scintilla/src/ContractionState.cxx | 2 + scintilla/src/Decoration.cxx | 2 + scintilla/src/Document.cxx | 44 +- scintilla/src/Document.h | 49 +- scintilla/src/EditModel.cxx | 1 + scintilla/src/EditView.cxx | 23 +- scintilla/src/Editor.cxx | 1023 +++++++++++++++++----------- scintilla/src/Editor.h | 20 +- scintilla/src/ExternalLexer.cxx | 1 + scintilla/src/Indicator.cxx | 1 + scintilla/src/KeyMap.cxx | 1 + scintilla/src/LineMarker.cxx | 1 + scintilla/src/MarginView.cxx | 1 + scintilla/src/PerLine.cxx | 7 +- scintilla/src/Position.h | 22 + scintilla/src/PositionCache.cxx | 1 + scintilla/src/RESearch.cxx | 2 + scintilla/src/RunStyles.cxx | 1 + scintilla/src/ScintillaBase.cxx | 20 +- scintilla/src/ScintillaBase.h | 2 +- scintilla/src/Selection.cxx | 14 + scintilla/src/Selection.h | 2 + scintilla/src/SplitVector.h | 3 + scintilla/src/Style.cxx | 2 + scintilla/src/Style.h | 2 +- scintilla/src/UniConversion.cxx | 2 + scintilla/src/ViewStyle.cxx | 2 + scintilla/src/XPM.cxx | 1 + scintilla/version.txt | 2 +- src/highlightingmappings.h | 3 +- wscript | 3 +- 90 files changed, 2615 insertions(+), 2264 deletions(-) commit c081983e850c4c49df208d603459e79555f22d50 Author: Colomban Wendling Date: Sun Sep 20 17:53:13 2015 +0200 Scintilla update script: properly abort on lexer copy error scripts/update-scintilla.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 9729f354e5c9d0e729555861b22ee2033a4bd925 Author: Colomban Wendling Date: Thu Sep 10 19:20:18 2015 +0200 Allow to set a keybinding for File->Properties Closes #622. data/geany.glade | 2 +- src/callbacks.c | 2 +- src/callbacks.h | 2 ++ src/keybindings.c | 5 +++++ src/keybindings.h | 1 + src/ui_utils.c | 2 +- 6 files changed, 11 insertions(+), 3 deletions(-) commit 1a935ccb45c4c02f28da68d5c148d20054ee64f5 Author: Colomban Wendling Date: Thu Sep 10 15:42:33 2015 +0200 vte: Show some hidden preferences in the Various preferences page Show `send_cmd_prefix` and `send_selection_unsafe` VTE preferences in the Various preferences page instead of having them totally hidden. src/keyfile.c | 37 ++++++++++++++++++++----------------- 1 file changed, 20 insertions(+), 17 deletions(-) commit 7c0bb4c6ca15fecbb295d90d2493ef39d0307d10 Author: Colomban Wendling Date: Thu Sep 10 14:47:37 2015 +0200 Small update of the French translation po/fr.po | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) commit 83c5ddf3533e7d4d20305e232210213f61c117d0 Author: Colomban Wendling Date: Thu Sep 10 14:46:08 2015 +0200 Strip spurious backslashes in an UI string data/geany.glade | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit af3b15c5ef3f98c25ac01e62542241acb14e1156 Author: Colomban Wendling Date: Wed Sep 9 20:25:41 2015 +0200 Small update of the French translation po/fr.po | 450 ++++++++++++++++++++++++++++++++------------------------------- 1 file changed, 228 insertions(+), 222 deletions(-) commit 927b364311c785fd9b1d11e21da69709201fff23 Merge: 8b767fea 8253e2bd Author: Colomban Wendling Date: Wed Sep 9 20:01:37 2015 +0200 Merge pull request #647 from konsolebox/master Use 'g' as mnemonic key for "Use multi-line matching" instead of 'l'. Closes #589. commit 8253e2bd481e10c49bf5367d996dd36126c82ded Author: Ross Konsolebox Date: Wed Sep 9 13:29:23 2015 +0800 Use 'g' as shortcut key for "Use multi-line matching" instead of 'l'. The current shorcut key for "Use multi-line matching" conflicts with "In Selection" when "Use regular expressions" is enabled. It should be convenient if we change it. We choose 'g' since other letters are already in use: u: "Use regular expressions" s: "Search for" e: "Use escape sequences" m: "Mark" l: "In Selection" t: "Match from start of word" i: "In Document" n: "Replace & Find" a: "Case sensitive" c: "Close" h: "Replace with" src/search.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 6db80a247f6969ffc14272189da449d566a745c0 Author: Colomban Wendling Date: Tue Sep 8 16:23:57 2015 +0200 Don't open more than one document for non-existing paths from the CLI When creating a new document for a non-existing file from the command line, check if we don't already have opened it and simply show the existing one if we do. This avoids creating new documents that will be saved to the same location again and again. Closes https://bugs.launchpad.net/linuxmint/+bug/1482558 src/libmain.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) commit 8b767fea49f8698ee89e152c8be81d62ef0d8637 Merge: db7a13b4 80c4cd0d Author: elextr Date: Wed Sep 2 09:10:33 2015 +1000 Merge pull request #638 from Akronix/master Added multiline comment for filetypes.haskell commit 80c4cd0de0ba8447d9b7fe04ad9c301b9d791992 Author: Abel 'Akronix' Serrano Juste Date: Tue Sep 1 19:12:59 2015 +0200 Added multiline comment for filetypes.haskell data/filetypes.haskell | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit d4f26fdb13ff7e76728397c19b6dc8677ce7efaa Author: Thomas Martitz Date: Wed Aug 26 23:51:33 2015 +0200 plugin api: bump API number for new keybindings APIs src/plugindata.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 7c2c9dc27a909129007d74bb40ac67a643f6a2f4 Author: Thomas Martitz Date: Fri May 29 07:14:05 2015 +0200 plugin api: add destroy_notify to the new keybinding APIs The destroy_notify can be used to make Geany automatically free the per-KeyGroup or per-KeyBinding user_data. This is particularly useful for vala-based plugins or other (future) language bindings. The destroy functions can be conviniently hooked into the destroy_notify of the underlying GPtrArrays, therefore this commit also implements such notifies internally. src/keybindings.c | 61 +++++++++++++++++++++++++++++++----------------- src/keybindings.h | 6 +++-- src/keybindingsprivate.h | 1 + src/pluginutils.c | 5 +++- src/pluginutils.h | 2 +- 5 files changed, 50 insertions(+), 25 deletions(-) commit d3f6237505f1627d5b12c9ae5bed6dc736249878 Author: Thomas Martitz Date: Fri Aug 22 16:09:49 2014 +0200 plugin api: introduce keybindings_set_item_full and plugin_set_key_group_full These function actually set the new GeanyKeyGroupFunc and GeanyKeyBindingFunc and are exported for plugins src/keybindings.c | 39 +++++++++++++++++++++++++++++++++++++++ src/keybindings.h | 4 ++++ src/pluginutils.c | 30 ++++++++++++++++++++++++++++++ src/pluginutils.h | 3 +++ 4 files changed, 76 insertions(+) commit 1d08d3db4a0c7f6dc91309f3986d232b26cffb08 Author: Thomas Martitz Date: Fri Aug 22 06:35:47 2014 +0200 plugin api: introduce GeanyKeyGroupFunc and GeanyKeyBindingFunc These are new keybinding callback functions that take a few more parameters. Most importantly they have pdata pointer which allows plugins to store context information. This is especially useful for future plugins in OOP languages to store an instance pointer there, or interpreted ones to store interpreter context. src/keybindings.c | 58 +++++++++++++++++++++++++++--------------------- src/keybindings.h | 48 +++++++++++++++++++++++++++------------ src/keybindingsprivate.h | 2 ++ 3 files changed, 69 insertions(+), 39 deletions(-) commit db7a13b4781895546ea8e616e633ccda4cea4afd Author: Enrico Tröger Date: Tue Aug 25 21:53:23 2015 +0200 Mark "Open in New Window" menu item as translatable src/notebook.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit b8a99752f0946bfb2840feb3f3ea59085f658dc6 Author: Colomban Wendling Date: Mon Aug 24 19:40:17 2015 +0200 Bump API version for new plugin entry points (oops) Closes #624. src/plugindata.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 280163a24411f84a01b107c524d4a6c4f87a6710 Merge: b7bcf14d 765000be Author: Colomban Wendling Date: Sun Aug 23 23:50:44 2015 +0200 Merge pull request #469 from kugel-/new_hooks Plugin loader redesign commit b7bcf14ddf8ff2f606e5b4c6cd50ec8a31d36bc0 Merge: c251dcb4 568787bc Author: Colomban Wendling Date: Sun Aug 23 23:48:39 2015 +0200 Merge pull request #613 from SiegeLord/even_more_rust_updates Rust updates commit 765000be92262cb3395de82fa933511b6635c9be Author: Thomas Martitz Date: Sun Aug 23 15:23:39 2015 +0200 plugins: Clarify which API functions may be called within geany_load_module() Since geany_load_module() is called for non-enabled plugins you may not use the plugin API here yet. The only exceptions to this rule are API functions required for plugin registration. This rule is hard to enforce (would need to g_return_if_val(PLUGIN_LOADED_OK(p)) for all API functions (well, those taking a plugin pointer anyway), so this rule is only documented for now. doc/plugins.dox | 3 +++ src/plugindata.h | 8 ++++++++ 2 files changed, 11 insertions(+) commit 437837d3a54367393c41d6c1e1f4d1af4481627e Author: Thomas Martitz Date: Sun Aug 23 15:23:37 2015 +0200 plugins: separate geany_plugin_set_data() dual-use It was found that because geany_plugin_set_data() could be used by both plugin's init() and geany_load_module(), that it introduced some uncertainty as to when to call the free_func. init() callers might expect the call around the same time as cleanup() is called, while geany_load_module() callers expected the call at module unload time. It was indeed called at module unload time. But that means that init() callers cannot call it again reliably after in a init()->cleanup()->init() flow (when toggling the plugin) without fully unloading the plugin (which is what we do currently but that's we would want to change). With the separation we can actually destroy the data depending on where it was set and do everything unambigiously. doc/plugins.dox | 37 +++++++++++++++++----------------- src/plugindata.h | 20 +++++++++++++++--- src/pluginprivate.h | 2 ++ src/plugins.c | 58 +++++++++++++++++++++++++++++++++++++++++++++++++++++ src/pluginutils.c | 15 +++++++++----- 5 files changed, 106 insertions(+), 26 deletions(-) commit d54b65b9ac6d981a7f770abfb11f6dba2e875e2c Author: Thomas Martitz Date: Sun Aug 23 15:23:35 2015 +0200 plugins: Updated doxygen for the new plugin loader The documentation provides a quite detailed description of the new loader In addition it adds a "how to transition" that briefly describes the old loader (for curious newcomers) and lots of hints for porting legacy plugins to the new loader. doc/plugins.dox | 551 ++++++++++++++++++++++++++++++++++++++-------------- doc/pluginsymbols.c | 8 +- src/plugindata.h | 5 + 3 files changed, 412 insertions(+), 152 deletions(-) commit 58c8144afc10d31ce4473d70fd542369349c1f70 Author: Thomas Martitz Date: Sun Aug 23 15:23:33 2015 +0200 plugins: Pass pdata to PluginCallback function by default If the plugin did not set its own user_data we set it to whatever it set with geany_plugin_register_full() or geany_plugin_set_data(). This is particularly convinient because PluginCallback is usually statically allocated, at which point dynamically allocated plugin data doesn't exists yet. plugins/demoplugin.c | 16 +++++++++++++--- src/plugindata.h | 4 +++- src/plugins.c | 3 ++- 3 files changed, 18 insertions(+), 5 deletions(-) commit 43c58e0fdde9e79fb902925a5854cde81db8db20 Author: Thomas Martitz Date: Sun Aug 23 15:23:31 2015 +0200 plugins: change return codes of geany_load_module() and GeanyPluginFuncs::init - The return value from geany_load_module is removed (void). It was ignored anyway and we have to check separately whether the plugin loaded OK or not anyway. If the plugin specific code fails it should simply not call geany_plugin_register() (which it should only call iff all other conditions are good). - GeanyPluginFuncs::init() now returns a bool to allow failing initialization. Some plugins might want to defer work to their init() (i.e. only do it when the plugin was activated by the user), and some of that work can possibly fail (e.g. GtkBuilder fails to load .xml). Note that the GUI integration of the latter is less than ideal but this kind of GUI/policy work is out of scope for this patch set. Therefore a plugin failing to init is simply removed from the PM dialog as if it became incompatible. However, as the code that generates the list does not call init they will show up again if the PM dialog is re-opened. plugins/demoplugin.c | 8 +++++--- src/plugindata.h | 4 ++-- src/plugins.c | 24 ++++++++++++++++++------ 3 files changed, 25 insertions(+), 11 deletions(-) commit 8241278472ceb23e7341a946c758bc8a30ef0fa8 Author: Thomas Martitz Date: Sun Aug 23 15:23:29 2015 +0200 demoplugin: Adapt demoplugin to the new loader Demoplugin, while not installed by default, is a nice starting point and mini-howto. Therefore it should advertise the new loader from the beginning. plugins/Makefile.am | 2 +- plugins/demoplugin.c | 70 +++++++++++++++++++++++++++++----------------------- 2 files changed, 40 insertions(+), 32 deletions(-) commit 75827c69c0ba5c1b01cd0992fc6ef6354a9b0c38 Author: Thomas Martitz Date: Sun Aug 23 15:23:27 2015 +0200 plugins: Refactor legacy plugin support With geany_plugin_set_data() the legacy plugin support can be made more transparent by using wrapper functions that call the actual plugin_* functions. This allows to remove the differentiation in code that's not directly concerned with actually loading plugins. This commit doesn't change anything except for one thing: legacy plugins now cannot call geany_plugin_set_data(). But it is meant for new-style plugins anyway. src/pluginprivate.h | 22 +-------- src/plugins.c | 125 +++++++++++++++++++++++++++++++--------------------- src/pluginutils.c | 24 ++++------ 3 files changed, 86 insertions(+), 85 deletions(-) commit f2579141bb4188d4fc97eee494ba36e809661ddf Author: Thomas Martitz Date: Sun Aug 23 15:23:24 2015 +0200 plugins: Replace geany_plugin_register() pdata with a separate API function The API function adds a free_func parameter, and can also be called after geany_plugin_register(), i.e. in the plugin's init() callback. This fixes a by-design memory leak and gives greater flexibility. src/plugindata.h | 7 ++++--- src/pluginprivate.h | 1 + src/plugins.c | 12 ++++++++---- src/pluginutils.c | 47 +++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 60 insertions(+), 7 deletions(-) commit babf0083353b1d3501fee439b6228c2fbe84cc82 Author: Thomas Martitz Date: Sun Aug 23 15:23:22 2015 +0200 plugins: Let plugins fill GeanyPlugin::callbacks instead of passing their own pointer This is easier to handle if we decide to add callbacks. Since we can zero-initialize callbacks before passing it to the plugin we can be certain as to which callbacks the plugin knew about when it was compiled. This is exactly the same method used for GeanyPlugin::info already and easier than inspecting the API version. src/plugindata.h | 14 ++++++++------ src/plugins.c | 27 +++++++++++++++------------ 2 files changed, 23 insertions(+), 18 deletions(-) commit 721009e262e9bc279122566a60e14af0048d9094 Author: Thomas Martitz Date: Sun Aug 23 15:23:20 2015 +0200 plugins: plugin loader redesign The old plugin loader has a number of deficiencies: - plugins need to export a couple of callback functions into the global namespace - plugins need to export data pointers, that are written by Geany - the exported functions have no user_data param, so there is no way to pass context/state back to the plugin (it needs global storage for that) - plugin registration is implicit, plugins have no way to not register themselves (it may want that due to missing runtime dependencies) - plugins perform the ABI/API verification, and even though we provide a convinience wrapper, it may get that wrong As a result, I designed a new loader with the following design principles - semantics of callbacks should not change, but they they shouldn't be mess with the global namespace - each callback receives a self-identifying param (the GeanyPlugin instance) and a plugin-defined data pointer for their own use - explicit registration through a new API function - in-core API/ABI checks The following principles shall be left unchanged: - The scan is done on startup and when the PM dialog is opened - Geany allocates GeanyPluginPrivate for each plugin, and GeanyPlugin is a member of it - Geany initially probes for the validity of the plugin, including file type and API/ABI check, thus Geany has the last word in determining what a plugin is - the PM dialog is updated with the proper, translated plugin information - the PM dialog GUI and user interaction in general is unchanged With the redesign, plugins export a single function: geany_load_module(). This is called when the GModule is loaded. The main purpose of this function is to call geany_plugin_register() (new API function) to register the plugin. This is the only function that is learned about through g_module_symbol(). Within this call the plugin should a) set the localized info fields of GeanyPlugin::info b) pass compiled-against and minimum API version as well as compiled-against ABI version, to allow Geany to verify compatibility c) pass a pointer to an instance of GeanyPluginFuncs which holds pointers to enhanced versions of the known callbacks (except configure_single which is dropped). d) optionally pass a plugin-private data pointer for later callbacks Enhanced means that all callbacks receive the GeanyPlugin pointer as the first and a pdata pointer as the last. pdata is private to the plugin and is set by geany_plugin_register(). The callbacks need (should) not be globally defined anymore, and the global GeanyData, GeanyPlugin and GeanyFunctions pointers are ignored and not set anymore. GeanyData is available through GeanyPlugin::geany_data. src/plugindata.h | 72 +++++++++-- src/pluginprivate.h | 36 +++++- src/plugins.c | 349 ++++++++++++++++++++++++++++++++++------------------ src/pluginutils.c | 20 +-- 4 files changed, 331 insertions(+), 146 deletions(-) commit 568787bc2f48b8762fcc46a64f2d2ef77cb0bdbc Author: Pavel Sountsov Date: Fri Aug 21 21:21:18 2015 -0700 Change Rust tests to be in line with the ones in the universal-ctags tests. tests/ctags/test_input.rs | 15 ++++++++++----- tests/ctags/test_input.rs.tags | 4 +++- tests/ctags/test_input2.rs | 2 ++ tests/ctags/test_input2.rs.tags | 1 + 4 files changed, 16 insertions(+), 6 deletions(-) commit 91ee4376406007b3fceb516059517820527e4c70 Author: Pavel Sountsov Date: Sun Aug 16 20:45:06 2015 -0700 Parse 'where' bounds correctly. tagmanager/ctags/rust.c | 3 ++- tests/ctags/test_input.rs | 13 +++++++++++++ tests/ctags/test_input.rs.tags | 4 ++++ 3 files changed, 19 insertions(+), 1 deletion(-) commit 6814fc1a6210b257cb76396474c8e20ea602432a Author: Pavel Sountsov Date: Sun Aug 16 20:16:35 2015 -0700 Update Rust keywords. data/filetypes.rust | 4 +-- tests/ctags/test_input.rs | 71 ++++++++++++++++++++--------------------- tests/ctags/test_input.rs.tags | 6 ++-- tests/ctags/test_input2.rs | 15 ++++----- tests/ctags/test_input2.rs.tags | 4 +-- 5 files changed, 48 insertions(+), 52 deletions(-) commit c251dcb45f6333ea63fcc2275f7971e6d01ae5e1 Merge: 31325bb2 624048ea Author: Colomban Wendling Date: Fri Aug 21 22:26:41 2015 +0200 Merge pull request #394 from SiegeLord/selection_document_mods Make Document > Strip trailing spaces/Replace tabs/Replace spaces use the current selection. commit 3495cf05abf42e5f08952a19d3798cc27a50b6e6 Author: Jiří Techet Date: Mon Aug 17 17:06:49 2015 +0200 Remove saved file's mtime check comparing it with the current time As the edited file can be a remote file on a server with a different time zone, the mtime can actually be in the future. In this case the check not only shows the misleading warning but more importantly the doc->priv->mtime < st.st_mtime check never happens and the user doesn't get the modified file prompt. Setting doc->priv->mtime = time(NULL); to the current time on file creation isn't harmful in any way because the saved file's mtime is taken but it's a bit misleading so better to set it to 0. src/document.c | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) commit 624048ea5e731336097b6e0be5901b77aae075a8 Author: Colomban Wendling Date: Mon Jan 5 15:40:35 2015 +0100 Keep selection stable when replacing tabs and spaces src/editor.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) commit 2a887fee30c4444db29be4e05a53cb323bc9a5c5 Author: Pavel Sountsov Date: Thu Jan 15 20:30:17 2015 -0800 Don't strip spaces from the next line when whole lines are selected. src/editor.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) commit 186a43c1d1ea5227ff3d607fd49ce6a633cea415 Author: Pavel Sountsov Date: Fri Dec 26 20:21:54 2014 -0800 Document the changes to space/tab replacement doc/geany.txt | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) commit 795230c5728a5d91c57d989c5356460dd5209854 Author: Pavel Sountsov Date: Thu Dec 25 12:23:09 2014 -0800 Use current selection when replacing tabs/spaces from the menu. When saving the file, the tabs are removed from the whole file as usual. src/callbacks.c | 4 ++-- src/document.c | 2 +- src/editor.c | 31 ++++++++++++++++++++++++------- src/editor.h | 4 ++-- 4 files changed, 29 insertions(+), 12 deletions(-) commit 381d74b1a72d5feef85fef56b25bb15d5403f955 Author: Pavel Sountsov Date: Thu Dec 25 11:55:02 2014 -0800 Use current selection when stripping trailing whitespace from the menu. When the lines are stripped due to the file being saved, ignore the selection. src/callbacks.c | 2 +- src/document.c | 2 +- src/editor.c | 18 +++++++++++++++--- src/editor.h | 2 +- 4 files changed, 18 insertions(+), 6 deletions(-) commit 31325bb2310f3946668ba420910f0e44a734b0fa Author: Frank Lanitz Date: Wed Aug 5 20:50:09 2015 +0200 Update of Swedish translation NEWS | 4 ++- po/sv.po | 97 +++++++++++++++++++++++++++++++--------------------------------- 2 files changed, 50 insertions(+), 51 deletions(-) commit a26a2257db248e77c192e5284708a7b9149cd71f Merge: bff71b3a a6c3cdc2 Author: Dominic Hopf Date: Wed Aug 5 10:24:52 2015 +0200 Merge pull request #599 from oliwer/perlkeywords Add new keywords for recent versions of Perl commit a6c3cdc2cdc4bb8ccb261246bc971a9d815d2edc Author: Olivier Duclos Date: Wed Aug 5 10:05:02 2015 +0200 Add new keywords for recent versions of Perl This commit adds the following new keywords for perl: - say - state - given, when, default - __SUB__ While __SUB__ was introduced in perl 5.16, the others date back to v5.10 released in 2007! data/filetypes.perl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit bff71b3a88f6fc77a32a642d8d638ed91742ce98 Author: Matthew Brush Date: Mon Jul 27 17:52:15 2015 -0700 Fix "Open in New Window" command arguments Closes #590 src/utils.c | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) commit 1b5ec633e3a0f15f17ed29b9947cb346a6ee669b Author: Wayne Nilsen Date: Wed Jul 8 18:39:53 2015 +0200 Use Cargo tool for Rust build commands Closes PR #557 data/filetypes.rust | 27 +++++++++++++++++++-------- 1 file changed, 19 insertions(+), 8 deletions(-) commit c0898618f9a162913dfdddc74e2526019dcfb9ea Merge: 50b150b6 2ae6c7fd Author: Colomban Wendling Date: Wed Jul 22 21:52:10 2015 +0200 Merge pull request #574 from eht16/doxygen_fixes Fix Doxygen warnings commit 50b150b66d6ee659446f89749382cf9bd6158a19 Merge: c5b0fc45 97fca1b2 Author: Enrico Tröger Date: Wed Jul 22 21:50:57 2015 +0200 Merge pull request #583 from eht16/win32_fix_native_dialogs Windows: restore modern design of native file dialogs commit 2ae6c7fd0fcc84cc73fa7506e874ab8a813dba36 Author: Enrico Tröger Date: Tue Jul 14 00:08:51 2015 +0200 Fix Doxygen warnings This resolves warnings from Doxygen about non-existing commands caused by unescaped backslashes as well as multiply defined section names. doc/plugins.dox | 4 ++-- src/spawn.c | 14 ++++++++++---- 2 files changed, 12 insertions(+), 6 deletions(-) commit c5b0fc459a1251c824a44edb5dfab4a8feb0bd00 Merge: 5510a5a0 87496f65 Author: Enrico Tröger Date: Wed Jul 22 19:59:38 2015 +0200 Merge pull request #573 from zhekov/cleanup-win32defines Cleanup win32defines commit 5510a5a00e2579f4971fca65b1162d3c153668ca Merge: fb63f9e4 21bb11dd Author: Enrico Tröger Date: Tue Jul 21 21:31:43 2015 +0200 Merge pull request #585 from codebrainz/remove-style-debug-print Remove needless debug print commit 21bb11ddd7bfb06573b29e696172c98aec532eec Author: Matthew Brush Date: Tue Jul 21 11:15:27 2015 -0700 Remove needless debug print Prevents spamming the console when SCLEX_CONTAINER is activated (ex. by plugins). src/editor.c | 6 ------ 1 file changed, 6 deletions(-) commit 97fca1b29d5ca7311180c28084e3f0e07526a277 Author: Enrico Tröger Date: Sun Jul 19 23:13:45 2015 +0200 Windows: restore modern design of native file dialogs This restores the previously used "modern design" of the Windows native file open/save dialogs. Also make the dialogs resizable. Fixes #578. src/win32.c | 35 +++++++++-------------------------- 1 file changed, 9 insertions(+), 26 deletions(-) commit fb63f9e43a9d81425d14754d6cf02ddfc564201d Author: Jiří Techet Date: Sat Jul 18 21:28:40 2015 +0200 Use monospace font for the message window by default Since both gcc and llvm use ^ to mark the position of the error now, monospace font seems to be a better default font for the message window to avoid the ^ character misalignment. Fixes #435. src/keyfile.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 1658babe452f58f37c84ebcfb34df97e14726351 Author: Colomban Wendling Date: Tue Jul 14 15:44:47 2015 +0200 Remove obsolete GTK compatibility code plugins/classbuilder.c | 1 - src/about.c | 1 - src/gtkcompat.h | 8 -------- src/prefs.c | 2 +- 4 files changed, 1 insertion(+), 11 deletions(-) commit 2328f84e37328a8d2e8a5fa58dcf8a836885fa41 Author: Jiří Techet Date: Sat May 9 13:19:07 2015 +0200 Disallow the possibility to use tm_tags_find() on unsorted array This function won't work correctly on unsorted array because the second part of the function (after the tags search) expects the array is sorted by name. The only user of this is tm_source_file_set_tag_arglist() in which we can go through the tags manually by ourselves (it needs only a single value so the original behavior of tm_tags_find() wasn't a problem). Eliminate the tags_search() function as it isn't needed any more. Just cleanup, not functional change. tagmanager/src/tm_source_file.c | 18 ++++++++++-------- tagmanager/src/tm_tag.c | 37 ++++++------------------------------- tagmanager/src/tm_tag.h | 2 +- tagmanager/src/tm_workspace.c | 2 +- 4 files changed, 18 insertions(+), 41 deletions(-) commit 99e222ea370933ddb28f4a103b28de48b842ba2d Author: Jiří Techet Date: Fri May 8 06:29:26 2015 +0200 Eliminate calls of slow tm_tags_extract() on big arrays Do the same with struct/class/union... member tags as we do with typenames - extract them from the edited file and merge them with the array containing all of them so while editing, there should be no slowdowns because one file usually doesn't contain so many tags. This eliminates about 2s freeze when typing "." on a linux kernel project with 2300000 tags. Extract typename and member tags also for global tags in case someone creates a giant tags file - this needs to be done just once when loading the tag files. All the remaining tm_tags_extract() in Geany are called on file tag array only so there shouldn't be any performance problems. src/symbols.c | 4 +--- tagmanager/src/tm_workspace.c | 56 +++++++++++++++++++++++++++---------------- tagmanager/src/tm_workspace.h | 3 +++ 3 files changed, 39 insertions(+), 24 deletions(-) commit 5c18b3d1328b8d3dff923a2a02bc3cc6b41a333c Author: Jiří Techet Date: Fri May 8 01:29:08 2015 +0200 Improve scoped search This patch contains a bit too many things which are however related. It started by the part in editor.c (where we previously used only the first type we found to perform scoped search) by going through all the possible variable types until the scoped search returns some result (this is useful if variable foo is used once as int and once as struct and if the int is the first type found, we won't get the struct's members). This didn't work. After an hour of debugging, it turned out that because tm_workspace_find_scope_members() calls internally tm_workspace_find() and this function returns static array, this invalidates the array returned by the tm_workspace_find() used previously to get all the possible variable types. Since this is really dangerous and hard to notice, I tried to eliminate the static returns from both tm_workspace_find() and tm_workspace_find_scoped_members(). The tm_workspace_find_scoped_members() function is where I got stuck because as I started to understand what it's doing, I found many problems there. This patch does the following in this function: 1. Eliminates search_global and no_definitions parameters because we always search the whole workspace and this simplifies the slightly strange logic at the end of the function. 2. Returns members from global tags even when something found in workspace tags - previously global tags were skipped when something was found from workspace tags but I don't see a reason why. 3. Adds the lang parameter to restrict tags by language (we do this with normal search and the same should be done here). 4. Previously when searching for types with members the function returned NULL when more than one such type was found (there should have been >=1 instead of ==1 at line 906). This patch improves the logic a bit and if multiple types are found, it tries to use the one which is other than typedef because it probably has some members (the typedef can resolve to e.g. int). 5. Previously the function prevented only direct typedef loops like typedef A B; typedef B A; but a loop like A->B->C->A would lead to an infinite cycle. This patch restricts the number how many times the typedef can be resolved by using for loop with limited number of repetitions and giving up when nothing useful is resolved. 6. Finally the patch tries to simplify the function a bit, make it easier to read and adds some comments to make it clearer what the function does. src/editor.c | 60 +++++++---- tagmanager/src/tm_workspace.c | 230 ++++++++++++++++++------------------------ tagmanager/src/tm_workspace.h | 8 +- 3 files changed, 144 insertions(+), 154 deletions(-) commit ee3eeeb758ff6519db5d82d4ed01a7e0ea45e9bd Author: Jiří Techet Date: Sat May 23 14:25:16 2015 +0200 Merge tm_workspace_find() and tm_workspace_find_scoped() They are basically identical except: 1. _scoped() compares scope in addition 2. _scoped() is missing the C/CPP tag compatibility part 3. _scoped() allows returning just single result (unused) 4. _scoped() allows not searching in global tags (unused) Since we now always put lang also under tag->lang, the match_langs() function is not necessary. Extend the add_filtered_tags() (and rename it to fill_find_tags_array()) to perform the tm_tags_find(), compare the scope and add scope as parameter of tm_workspace_find() and eliminate tm_workspace_find_scoped() completely. src/editor.c | 10 ++-- tagmanager/src/tm_workspace.c | 123 +++++++----------------------------------- tagmanager/src/tm_workspace.h | 8 +-- 3 files changed, 27 insertions(+), 114 deletions(-) commit 5c6b423f70a73906bf3a8216c7206ca4a98cdd7e Author: Jiří Techet Date: Thu May 7 01:02:29 2015 +0200 Clean up tm_workspace_find() 1. Factor-out the part common to tags_array and global_tags 2. Get both C/CPP tags when either of the languages is specified (both for global_tags and tags_array) 3. Remove unnecessary strcmp()s (tm_tags_find() should return only tags with the specified name) 4. Various minor cleanups tagmanager/src/tm_workspace.c | 102 +++++++++++++++--------------------------- 1 file changed, 35 insertions(+), 67 deletions(-) commit 87496f657dccb4294e08e7566116b0e5f4edf591 Author: Dimitar Zhekov Date: Mon Jul 13 19:46:17 2015 +0300 Cleanup win32defines The git PR for this change contains a long explanation. src/Makefile.am | 2 +- src/socket.c | 2 -- src/spawn.c | 2 -- src/win32.c | 5 ++++- src/win32defines.h | 32 -------------------------------- 5 files changed, 5 insertions(+), 38 deletions(-) commit 0f5e379ec8199ba68f7fa44e642d210a71df7d40 Author: Colomban Wendling Date: Mon Jul 13 00:47:18 2015 +0200 Update making-a-release * geany.nsi and doc/geany.html are now generated; * freecode.com is dead. doc/making-a-release | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) commit a50306cab3e0d07bd568861dc6b43bbea78d63d3 Author: Colomban Wendling Date: Sun Jul 12 19:30:44 2015 +0200 Post release version bump Say hello to Geany 1.26 "Rosset"! NEWS | 3 +++ configure.ac | 2 +- doc/geany.txt | 2 +- geany.exe.manifest | 2 +- geany_private.rc | 4 ++-- src/geany.h | 2 +- win32-config.h | 2 +- wscript | 2 +- 8 files changed, 11 insertions(+), 8 deletions(-) commit 7d9264a6e7498f6ba2fc454ba0cdca29fb0cb6fb Author: Colomban Wendling Date: Sun Jul 12 18:04:56 2015 +0200 Set release date NEWS | 2 +- doc/geany.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) commit ffe7206cc85801e93f5f12d4e43ce7fcb854f9c5 Merge: 59185ae8 e5471fb5 Author: Enrico Tröger Date: Sun Jul 12 15:50:15 2015 +0000 Merge pull request #570 from eht16/win32_header_order Include win32defines.h before win32.h to fix build errors commit e5471fb5cedd11ed508971f909939da95a628c15 Author: Enrico Tröger Date: Sun Jul 12 16:46:08 2015 +0200 Include win32defines.h before win32.h to fix build errors src/socket.c | 3 ++- src/spawn.c | 3 ++- src/win32.c | 8 +++---- src/win32defines.h | 63 +++++++++++++++++++++++++++--------------------------- 4 files changed, 40 insertions(+), 37 deletions(-) commit 59185ae8e0a3eb0bb29c3558d55c598c4a1242be Author: Frank Lanitz Date: Sun Jul 12 17:06:10 2015 +0200 Update copyright string to reflect year 2015 README | 2 +- doc/geany.txt | 4 ++-- src/about.c | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) commit 6c9a55d6ef2361eb189a7a6ccd547950a4ce2cd1 Author: Frank Lanitz Date: Sun Jul 12 17:05:45 2015 +0200 Update release date inside man-page doc/geany.1.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 290a80ab71773520d982486ce5f1c547e16793ed Merge: 64fb9f9a bb28bdd1 Author: Colomban Wendling Date: Sun Jul 12 16:46:47 2015 +0200 Merge pull request #569 from b4n/spawn-wif-and-doc Prefix the WIF* macros with SPAWN_ and add short doc comments, and fix Doxygen integration. commit bb28bdd1d39a58e8682a54077b1933ad72d3dbb0 Author: Colomban Wendling Date: Sun Jul 12 16:22:13 2015 +0200 Fix spawn documentation so it appears in the API docs doc/plugins.dox | 1 + src/spawn.c | 4 ++++ 2 files changed, 5 insertions(+) commit feca48b59e838dcd6ca4a8d03697495163d73692 Author: Colomban Wendling Date: Sun Jul 12 16:18:38 2015 +0200 spawn: Move macros documentation so Doxygen can find them src/spawn.h | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) commit 7819cd11c7ac237eb08fbabc210a55eb95c9a0fb Author: Dimitar Zhekov Date: Sun Jul 12 17:12:20 2015 +0300 Make the search.c exit status checks platform independent src/search.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) commit 2f237c91a104a8b8260047f5a7de9a265278a150 Author: Dimitar Zhekov Date: Sun Jul 12 17:06:02 2015 +0300 Prefix the WIF* macros with SPAWN_ and add short doc comments src/build.c | 2 +- src/search.c | 6 +++--- src/spawn.c | 4 ++-- src/spawn.h | 9 ++++++--- src/tools.c | 2 +- 5 files changed, 13 insertions(+), 10 deletions(-) commit 64fb9f9a51bc1a6d406bd902161e4dd4bde8cdd4 Author: Colomban Wendling Date: Sun Jul 12 14:39:39 2015 +0200 Don't return with an argument in a function returning void src/search.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit f11a2eb0139b39e4513394af62bcda3743d54cb3 Merge: 5b341b12 b891c845 Author: Enrico Tröger Date: Sun Jul 12 12:51:12 2015 +0000 Merge pull request #563 from geany/elextr-news-addition Update NEWS to mention windows command quoting commit b891c84582ea1932206fea074f96150947c4db40 Author: elextr Date: Sun Jul 12 10:29:57 2015 +1000 Update NEWS to mention windows command quoting NEWS | 2 ++ 1 file changed, 2 insertions(+) commit 5b341b12316ed0a23d8809a86df5c3f2459fb6eb Author: Colomban Wendling Date: Sun Jul 12 14:19:28 2015 +0200 spawn: Fix a typo in Windows compatibility code Thanks to Dimitar for spotting this. src/spawn.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 01b01cc83a9c15f41b509072aff476184e2a6a4e Merge: a54cca73 6c753e59 Author: Colomban Wendling Date: Sun Jul 12 14:15:30 2015 +0200 Merge pull request #561 from b4n/filebrowser-use-spawn filebrowser: Use Spawn module to launch the external command commit a54cca738f788bf0493801abcfab17101f2e2b65 Author: Enrico Tröger Date: Sun Jul 12 10:02:56 2015 +0200 Install src/spawn.h as it is part of the plugin API src/Makefile.am | 1 + wscript | 1 + 2 files changed, 2 insertions(+) commit c021447394d5b4510212d3c3f450c6b9a4c5d810 Author: Colomban Wendling Date: Sun Jul 12 01:45:39 2015 +0200 Fix a few typos in NEWS NEWS | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 676f3794fcae6068da770eecc1570c5868bd8a44 Merge: 73822e77 d6d4728f Author: Colomban Wendling Date: Sat Jul 11 22:34:41 2015 +0200 Merge pull request #553 from b4n/no-reload-maintain-history-by-default Disable "maintain history on reload" by default commit 73822e77ec3e6c99048298c07d7c06f8c9498532 Merge: 05f35ed6 e0eb1764 Author: Colomban Wendling Date: Sat Jul 11 22:22:09 2015 +0200 Merge pull request #556 from b4n/gtk3-in-news Replace references to GTK2 with GTK+ and "stabilize" GTK3 in NEWS commit 6c753e591befda8eefe51f4ca3a4f7b8111c5e36 Author: Colomban Wendling Date: Sat Jul 11 22:14:25 2015 +0200 filebrowser: Use Spawn module to launch the external command This makes the command syntax consistent with other Geany ones and more native on Windows. plugins/filebrowser.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 05f35ed68327513727765cb09be7564db7718ac0 Author: Colomban Wendling Date: Sat Jul 11 22:12:08 2015 +0200 Include spawn.h in geanyplugin.h as it has Plugin API bits in it plugins/geanyplugin.h | 1 + 1 file changed, 1 insertion(+) commit 5379e1387fcddc28c3bbcc02faa9bbd1b7cdcd8a Author: Enrico Tröger Date: Sat Jul 11 16:36:03 2015 +0200 Windows installer: fix plugin installation directory geany.nsi.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit d6d4728f2e708ed275ea9a2b045a8c58c509f138 Author: Colomban Wendling Date: Sat Jul 11 15:35:36 2015 +0200 Rename "maintain history on reload" setting temporarily for 1.25 We want it disabled by default in 1.25 for everyone, but want to be able to get it back on by default later on when the UI is more polished. So we will need to have a way to tell whether the configuration comes from 1.25 and should be upgraded or was willfully disabled by the user in a later version. So, use a temporary setting name that defaults to disabled for 1.25 See #553. doc/geany.txt | 2 +- src/keyfile.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) commit 8c907dc00f44e66adcfbd50608e8d8a9d38386f4 Merge: fd06d47c e3442137 Author: Colomban Wendling Date: Sat Jul 11 15:27:02 2015 +0200 Merge pull request #555 from b4n/less-spawn-api spawn: Do not export unnecessary API commit fd06d47c7bec0659e0ce338ac6eee82de6ca9542 Merge: 860e3fb1 41184e4b Author: Colomban Wendling Date: Sat Jul 11 14:59:56 2015 +0200 Merge pull request #548 from techee/run_script_escape Properly escape working directory in run script Closes #554. commit 860e3fb12e3ccc785b72c0ea030f0ed954d745be Merge: 8d367d49 10e9dd70 Author: Colomban Wendling Date: Sat Jul 11 14:09:58 2015 +0200 Merge pull request #550 from b4n/fix-ubuntu-libdir autotools: Workaround a Ubuntu issue when installing in /usr/local/lib commit 8d367d49b98f63a28e2d1a7441faa360f1292fa4 Merge: cea34734 3e2b4a26 Author: Enrico Tröger Date: Sat Jul 11 10:05:30 2015 +0200 Merge pull request #360 from b4n/travis-test travis: Add a Travis CI settings file commit 3e2b4a269b592908a6a80240a2c5338c70c25b4a Author: Colomban Wendling Date: Fri Jul 10 23:45:48 2015 +0200 travis: Make it a bit easier to change GTK bundle URLs scripts/cross-build-mingw.sh | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) commit 02e6682ea65ad0094d2cee0b14a2c8c4afa738b6 Author: Colomban Wendling Date: Fri Jul 3 15:33:09 2015 +0200 travis: Enable Windows cross-compilation We unfortunately can't run tests as they require running the just build (foreign) executable, but at least it tries and build the Windows code paths. .travis.yml | 24 +++++++--- scripts/cross-build-mingw.sh | 102 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 119 insertions(+), 7 deletions(-) commit e0eb1764189b3b44e1c2d4c16af30ea8b6a3d51b Author: Colomban Wendling Date: Fri Jul 10 23:00:22 2015 +0200 Mention that GTK3 version is not experimental anymore NEWS | 1 + 1 file changed, 1 insertion(+) commit 3bd7c80776b0fcdb8c6929d5f4553cb865bd31b9 Author: Colomban Wendling Date: Fri Jul 10 22:58:48 2015 +0200 Replace references to GTK2 with GTK+ This allows to be GTK version agnostic, not to single out GTK3 builds. README | 4 ++-- configure.ac | 2 +- doc/geany.txt | 2 +- geany.desktop.in | 2 +- geany.pc.in | 2 +- geany.spec.in | 2 +- po/ar.po | 4 ++-- po/ast.po | 4 ++-- po/be.po | 4 ++-- po/bg.po | 2 +- po/ca.po | 4 ++-- po/cs.po | 4 ++-- po/de.po | 4 ++-- po/el.po | 4 ++-- po/en_GB.po | 4 ++-- po/es.po | 4 ++-- po/et.po | 6 +++--- po/eu.po | 4 ++-- po/fa.po | 4 ++-- po/fi.po | 4 ++-- po/fr.po | 4 ++-- po/gl.po | 4 ++-- po/he.po | 4 ++-- po/hi.po | 4 ++-- po/hu.po | 4 ++-- po/id.po | 4 ++-- po/it.po | 4 ++-- po/ja.po | 4 ++-- po/kk.po | 4 ++-- po/ko.po | 4 ++-- po/lb.po | 4 ++-- po/lt.po | 4 ++-- po/mn.po | 2 +- po/nl.po | 4 ++-- po/nn.po | 4 ++-- po/pl.po | 4 ++-- po/pt.po | 4 ++-- po/pt_BR.po | 4 ++-- po/ro.po | 4 ++-- po/ru.po | 4 ++-- po/sk.po | 2 +- po/sl.po | 4 ++-- po/sr.po | 2 +- po/sv.po | 4 ++-- po/tr.po | 4 ++-- po/uk.po | 4 ++-- po/vi.po | 4 ++-- po/zh_CN.po | 4 ++-- po/zh_TW.po | 4 ++-- 49 files changed, 90 insertions(+), 90 deletions(-) commit e34421377c7f82cbb4d7965227a64c6d3162466d Author: Colomban Wendling Date: Fri Jul 10 22:41:02 2015 +0200 spawn: Remove unnecessary and redundant comments src/spawn.c | 21 +-------------------- 1 file changed, 1 insertion(+), 20 deletions(-) commit 7a91a8661dceff94623da7569b381cd479af301b Author: Colomban Wendling Date: Fri Jul 10 18:15:14 2015 +0200 spawn: Do not export unnecessary API Hide spawn_get_program_name(), spawn_async_with_pipes() and spawn_get_exit_status_cb(), which are not used by anyone else and should not be part of the plugin API unless explicitly required. See http://lists.geany.org/pipermail/devel/2015-June/thread.html#9521 Note: this duplicates some documentation when a now hidden function was referred to. NEWS | 8 +++----- src/spawn.c | 63 ++++++++++++++++++++++++++++++++++++++++--------------------- src/spawn.h | 8 -------- 3 files changed, 44 insertions(+), 35 deletions(-) commit cea34734c472c0374ddbfc0b0655665d47027413 Author: Colomban Wendling Date: Wed Jul 8 18:39:53 2015 +0200 Update NEWS NEWS | 24 ++++++++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) commit 96d5eec50f35b9daeb7da882ed6b98ff47edaf17 Merge: c5b86474 4476ed9c Author: Colomban Wendling Date: Wed Jul 8 18:04:05 2015 +0200 Merge pull request #544 from b4n/cxx11-override c++: Properly parse C++11 overrides, finals and noexcepts commit 6f5d5db2cb6da4970aa78a64efee3a91727fea51 Author: Colomban Wendling Date: Wed Jul 8 17:47:49 2015 +0200 Disable "maintain history on reload" by default While the feature is nice, it might be unexpected and lacks user feedback. This might lead to user thinking they lost their work because they don't know they can undo the reload operation. So, disable the feature by default until we introduce appropriate user feedback allowing the user to learn about the feature and new behavior. See http://lists.geany.org/pipermail/devel/2015-June/thread.html#9537 NEWS | 4 ++-- doc/geany.txt | 2 +- src/keyfile.c | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) commit c5b86474adccb2dbcbf4631e96631bb653dae759 Merge: 6ebf90ad 71ce7c07 Author: Colomban Wendling Date: Tue Jul 7 17:34:43 2015 +0200 Merge pull request #539 from kugel-/win32-fix Win32 Autotools build and installer fixes. commit 71ce7c077d05353adbe1f0a78cc3c5204ceeb1ec Author: Thomas Martitz Date: Wed Jul 1 16:39:08 2015 +0200 win32: Add some window-specifc LDFLAGS to geany itself as well Since we build libgeany some ld flags were applied to libgeany only. Some of them need to be applied to the main binary as well. This fixes the problem that a sticky terminal window starts together with geany. src/Makefile.am | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) commit 9224c3c3912960e321d29875353cb166427060e6 Author: Thomas Martitz Date: Tue Jun 23 07:11:08 2015 +0200 win32: run geany.nsi.in through automake to replace @GTK_VERSION@ variable This automatically keeps the installer's idea of Gtk version with the one used to compile geany in sync. Traditionally we use the bundles from gtk.org to compile geany, and this is also used for the installer. With msys2, we can use precompiled msys2 binaries. These exist for GTK3 as well so we can actually provide a GTK3 based installer. The installer naturually should reflect this. Msys2's GTK2 is also newer. Use the new script gtk-bundle-from-msys2.sh to extract the precompiled GTK binaries from msys2 / pacman for packing the installer (can also be used to make a zip for sharing). mkdir gtk; cd gtk; ../scripts/gtk-bundle-from-msys.sh [-c] [-z] [-2 | -3] waf is also adapted to process geany.nsi.in. This implies geany.nsi is now under _build_, not in the root anymore. .gitignore | 1 + configure.ac | 2 + geany.nsi => geany.nsi.in | 23 +++++++-- scripts/gtk-bundle-from-msys2.sh | 109 +++++++++++++++++++++++++++++++++++++++ wscript | 10 ++++ 5 files changed, 140 insertions(+), 5 deletions(-) commit 2e76e3792e7d8a568aeadc5a9cdbf37c9eca8661 Author: Thomas Martitz Date: Tue Jun 23 07:07:02 2015 +0200 win32: port some defines from win32-config.h & waf to a new win32defines.h autotools based build system uses only config.h. This file was lacking some important defines. Rather than maintaining the defines in all build systems, we can simply define in a specialized header that is included by all .c files that use windows.h src/Makefile.am | 2 +- src/socket.c | 1 + src/spawn.c | 1 + src/win32.c | 4 ++-- src/win32defines.h | 31 +++++++++++++++++++++++++++++++ win32-config.h | 6 ------ wscript | 3 --- 7 files changed, 36 insertions(+), 12 deletions(-) commit ba80af0822da934f6d11a1c7564d0013bdebf976 Author: Thomas Martitz Date: Tue Jun 23 07:05:35 2015 +0200 win32: install a few more files needed by the installer Makefile.am | 9 +++++++++ 1 file changed, 9 insertions(+) commit 10e9dd70899cf7bc28246d84dce8a6483ed85f80 Author: Colomban Wendling Date: Sun Jul 5 16:17:55 2015 +0200 autotools: Workaround a Ubuntu issue when installing in /usr/local/lib Ubuntu's linker apparently has a bug when installing in /usr/local/lib, as it is setup in such a way that makes libtool recognize it correctly as a system path so doesn't add RPATH to our executable, but ld can't find the library without an explicit ldconfig call (unlike when installing in /usr/lib). So, workaround this by explicitly calling ldconfig when installing in /usr/local/lib -- and when our library is actually not found, to try and avoid doing something unnecessary on working systems, like e.g. Debian. src/Makefile.am | 13 +++++++++++++ 1 file changed, 13 insertions(+) commit 6ebf90ad1d04b5c8eb50f69e9b497486ac66a10c Author: Colomban Wendling Date: Sun Jul 5 02:04:22 2015 +0200 Add an explicit entry about libgeany in the NEWS NEWS | 2 ++ 1 file changed, 2 insertions(+) commit 43a76923dbee4726e140879714eeefc026fb528c Author: Colomban Wendling Date: Sat Jul 4 18:44:39 2015 +0200 Fix a small inconsistency in the French translation In the VTE, the "Input Method" string mimics a GTK string, so use the same translation as GTK. po/fr.po | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 4017442f86b2374dce86cb3855b48d3d7c9e24fe Merge: a90b99b9 8a6fbd97 Author: Enrico Tröger Date: Sat Jul 4 12:52:46 2015 +0200 Merge pull request #477 from eht16/ctags_powershell Add PowerShell tag parser commit a90b99b968be529c59d0f371975c8be0bfbfa258 Merge: aa40250f 0b4228b9 Author: Enrico Tröger Date: Sat Jul 4 12:29:22 2015 +0200 Merge pull request #540 from kugel-/win32-plugindir win32: change default plugin dir to match Linux. commit 41184e4b986b513da7163136da38eb6401ca88e5 Author: Jiří Techet Date: Fri Jul 3 10:30:23 2015 +0200 Properly escape working directory in run script using g_shell_quote() The g_strescape() function escapes non-ASCII characters so that bash doesn't understand them. src/build.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit e22f0ca05417d026b434518ce60e344a62514738 Author: Colomban Wendling Date: Mon Oct 20 18:49:41 2014 +0200 travis: Add a Travis CI settings file .travis.yml | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) commit b6f1eb9136323b0aa8e770ff636053888d3a47f4 Author: Jiří Techet Date: Thu Jul 2 18:04:22 2015 +0200 Show tooltip in correct encoding in the file browser Clearly a typo in the original code. plugins/filebrowser.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 0b4228b94c6d647cb761f96ffd9f619bb38c4306 Author: Thomas Martitz Date: Sat Jun 27 23:49:20 2015 +0200 win32: change default plugin dir to match Linux. There is no need to do it differently as Linux here, and it confuses the autotools based compilation of geany-plugins which installs to libdir/geany unconditionally. geany.nsi | 2 +- plugins/Makefile.am | 4 ---- src/utils.c | 2 +- wscript | 2 +- 4 files changed, 3 insertions(+), 7 deletions(-) commit aa40250fdab5b1b5867b48a19d12c2a9cf2ecf7b Author: Colomban Wendling Date: Wed Jul 1 23:03:38 2015 +0200 Fix invalid memory access when quitting When quitting and the prefs dialog has been created, the StashPrefs are destroyed before the stash tree and so the stash tree cleanup code accesses freed memory. Fix this by removing access to the StashPref in the tree cleanup code, as fixing it properly is a bit of a mess. Closes #538. src/stash.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) commit 11d0d54552aa3565c88db646169a13405b6692aa Merge: 89f7a2ee 891997a5 Author: Enrico Tröger Date: Wed Jul 1 20:42:12 2015 +0200 Merge pull request #519 from techee/cxx_o2 Add -O2 flag also for C++ files when building with waf commit 4476ed9c4b238072f52cefd7baf93f725048cde1 Author: Colomban Wendling Date: Wed Jul 1 03:30:29 2015 +0200 c++: Add a small test combining various C++14 things tests/ctags/Makefile.am | 1 + tests/ctags/cxx14-combined.cpp | 8 ++++++++ tests/ctags/cxx14-combined.cpp.tags | 6 ++++++ 3 files changed, 15 insertions(+) commit f60b31385e4da74d3b926c8e0c8f97c00a508d7b Author: Colomban Wendling Date: Wed Jul 1 03:21:04 2015 +0200 c++: Handle C++11 noexcept tagmanager/ctags/c.c | 4 +++- tests/ctags/Makefile.am | 1 + tests/ctags/cxx11-noexcept.cpp | 7 +++++++ tests/ctags/cxx11-noexcept.cpp.tags | 5 +++++ 4 files changed, 16 insertions(+), 1 deletion(-) commit 95a0d4db7e2188a62cf7770496ee2a51591f1962 Author: Colomban Wendling Date: Tue Jun 30 14:40:55 2015 +0200 c++: Properly parse C++11 override and final members As `override` and `final` aren't real keywords, handle them manually not to break identifiers of those names. tagmanager/ctags/c.c | 8 +++++++- tests/ctags/Makefile.am | 1 + tests/ctags/cxx11-final.cpp | 2 +- tests/ctags/cxx11-override.cpp | 23 +++++++++++++++++++++++ tests/ctags/cxx11-override.cpp.tags | 9 +++++++++ 5 files changed, 41 insertions(+), 2 deletions(-) commit 641863c2647c21abb36aedc40ac93e6cc478f920 Author: Colomban Wendling Date: Tue Jun 30 23:15:09 2015 +0200 c++: Fix handling of the `final` contextual keyword `final` is not a normal keyword, as it only have a special meaning in some specific context. So, use a special case instead of a keyword not to break identifiers of that name. tagmanager/ctags/c.c | 19 ++++++++++--------- tests/ctags/Makefile.am | 1 + tests/ctags/cxx11-final.cpp | 23 +++++++++++++++++++++++ tests/ctags/cxx11-final.cpp.tags | 9 +++++++++ 4 files changed, 43 insertions(+), 9 deletions(-) commit 89f7a2eec92b8d37dd71349952328f091f096b42 Author: Jiří Techet Date: Tue Jun 30 13:23:02 2015 +0200 Fix leaking typename_array in tag manager tagmanager/src/tm_workspace.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) commit 8a6fbd978691fa324bd5c5ff171bcd508e3b466c Author: Enrico Tröger Date: Sat Apr 25 16:17:03 2015 +0200 Add PowerShell tag parser src/filetypes.c | 2 +- src/symbols.c | 3 +- tagmanager/ctags/Makefile.am | 1 + tagmanager/ctags/makefile.win32 | 2 +- tagmanager/ctags/parsers.h | 3 +- tagmanager/ctags/powershell.c | 628 ++++++++++++++++++++++++++++++++++++++++ tagmanager/src/tm_parser.h | 1 + tests/ctags/Makefile.am | 1 + tests/ctags/simple.ps1 | 112 +++++++ tests/ctags/simple.ps1.tags | 16 + wscript | 1 + 11 files changed, 766 insertions(+), 4 deletions(-) commit db30fdc6ecfb4dc0580bd635541854bfb5d8dc53 Author: Colomban Wendling Date: Sat Jun 27 15:17:34 2015 +0200 Recognize XPM files as C sources data/filetype_extensions.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit d32ca92a8a7077472cd98ef89954557405186927 Merge: 01612a95 14bcd9c8 Author: Colomban Wendling Date: Sat Jun 27 14:37:13 2015 +0200 Merge pull request #537 from b4n/fix-binreloc Fix binary relocation support commit 01612a9505cd3671e6b5d899454b098cfae28d0a Merge: 46a123d6 fc82f9d9 Author: Colomban Wendling Date: Sat Jun 27 14:33:11 2015 +0200 Merge pull request #536 from zhekov/spawn Spawn fixes/improvements commit 14bcd9c87df27ee64e17c22ba01194c6011f4a02 Author: Colomban Wendling Date: Fri Jun 26 22:33:16 2015 +0200 Fix binary relocation support src/Makefile.am | 4 ++++ src/utils.c | 1 + 2 files changed, 5 insertions(+) commit fc82f9d9e1bc3077f7d36feb690a7f90bba1399d Author: Dimitar Zhekov Date: Fri Jun 26 18:57:44 2015 +0300 Fix spawn with -DSPAWN_TEST not to require GEANY_API_SYMBOL As stated in spawn.c, "This module does not depend on Geany when compiled for testing (-DSPAWN_TEST)." src/spawn.c | 1 + 1 file changed, 1 insertion(+) commit 8aebf54b4716c7ca443851c1c72e6bc926e03371 Author: Dimitar Zhekov Date: Fri Jun 26 18:44:56 2015 +0300 Fix spawn_async_with_pipes() to work without watch for child_pid=NULL On child_pid=NULL, the Windows process handle is now closed ASAP, so no main glib event loop is required. src/spawn.c | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-) commit 46a123d6fe6279896197738d709d4420861df651 Author: Colomban Wendling Date: Sat Jun 20 14:04:17 2015 +0200 python: Fix handling of inline comments If there was two hashes (#) in an inline comment, only the content between the two was considered a comment. X-Universal-CTags-Commit-ID: ee93f5b9f393e76a850cf8c894cc748a62981156 tagmanager/ctags/python.c | 5 ++++- tests/ctags/Makefile.am | 1 + tests/ctags/python-comments.py | 8 ++++++++ tests/ctags/python-comments.py.tags | 2 ++ 4 files changed, 15 insertions(+), 1 deletion(-) commit d2052b55bafeb0a6433dfdc9f3b7f95623bb73c2 Merge: 54eff298 6781ab30 Author: Colomban Wendling Date: Thu Jun 25 22:39:02 2015 +0200 Merge pull request #532 from techee/optimize_python python: optimize skipEverything() commit 6781ab30c54efdb29d41e45bc20cc2eec0124f66 Author: Jiří Techet Date: Thu Jun 25 22:10:32 2015 +0200 python: optimize skipEverything() Most of the time there's no start of a string which means all the 10 strcmp()s are done for every character of the input. This is very expensive: before this patch this function alone takes 55% of the parser time. When comparing by character (and avoiding further comparison if the first character doesn't match), this function takes only 11% of the parser time so the performance of the parser nearly doubles. In addition check for the "rb" prefix which is possible in Python 3. Ported from universal-ctags. tagmanager/ctags/python.c | 33 ++++++++++++++++++++------------- 1 file changed, 20 insertions(+), 13 deletions(-) commit 54eff298bdff43bf86c40fb12210e2a761abeca6 Author: elextr Date: Thu Jun 25 05:56:43 2015 +1000 Fix Manual for Build Menu Keybindings Only fixed items can have keybindings but this manual entry was missed when one execute item was changed from fixed to optional. doc/geany.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 98748707b80eca34bd939cfac06095b2323132cb Author: Frank Lanitz Date: Wed Jun 24 15:47:01 2015 +0200 Update of Belarussian translation po/be.po | 2081 +++++++++++++++++++++++++++----------------------------------- 1 file changed, 918 insertions(+), 1163 deletions(-) commit d124f563759e6dfd133bf37d61dc74344f773806 Merge: b165de1f e7a52cce Author: Frank Lanitz Date: Wed Jun 24 10:30:35 2015 +0200 Merge pull request #529 from xhacker/zh_CN Update Simplified Chinese translation commit e7a52ccec5731835fae13d9ceb1348d0fd96745d Author: LIU Dongyuan / 柳东原 Date: Tue Jun 23 23:10:52 2015 -0700 Update Simplified Chinese translation po/zh_CN.po | 156 ++++++++++++++++++++++++++++-------------------------------- 1 file changed, 73 insertions(+), 83 deletions(-) commit b165de1f77d4c726489b9eaac665df4c81b25962 Author: Colomban Wendling Date: Tue Jun 23 01:54:22 2015 +0200 Fix color of unmodified build commands on GTK3 Also, as changing the color of the label button doesn't currently work on GTK2, but would on GTK3 with this change, explicitly skip it for consistency. Closes #528. src/build.c | 28 +++++++++++++++++++++++----- 1 file changed, 23 insertions(+), 5 deletions(-) commit 09cd9b4d30fc92ccc0d966ee314f424a34fa3171 Author: Colomban Wendling Date: Tue Jun 23 00:04:19 2015 +0200 Small update of the French translation po/fr.po | 26 ++++++++++++-------------- 1 file changed, 12 insertions(+), 14 deletions(-) commit 15f012c2bf32f9b700c0e7eb9ef7f1def6229fa3 Author: Frank Lanitz Date: Mon Jun 22 23:14:02 2015 +0200 Update of Portuguese translation po/pt.po | 76 ++++++++++++++++++++++++++++++++++------------------------------ 1 file changed, 40 insertions(+), 36 deletions(-) commit e274dba084378aeb9ee87ff137b1a984da6097a7 Author: Frank Lanitz Date: Mon Jun 22 21:56:02 2015 +0200 Update of German translation po/de.po | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) commit a26bd58639123d91b703e3b27269705184cf6437 Merge: 094a71c2 3c38434d Author: Frank Lanitz Date: Mon Jun 22 19:13:20 2015 +0200 Merge pull request #526 from b4n/po/fr French translation update commit 094a71c2cbc3f60a0ede5d37fbf2cb8901433a0c Author: Frank Lanitz Date: Mon Jun 22 19:12:14 2015 +0200 Update of Spanish translation po/es.po | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 0cc3bf31c2b83d53d48b9e3feda90715833e84ed Author: Colomban Wendling Date: Mon Jun 22 15:46:11 2015 +0200 Move comment meant for translators so xgettext can pick them Apparently xgettext only recognize comments that are straight above the translation, so move them where it can find them. src/spawn.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) commit 3c38434d51e270940f4a20ffa15c0fd2763af398 Author: Colomban Wendling Date: Mon Jun 22 15:40:55 2015 +0200 French translation update po/fr.po | 27 +++++++++++++++++---------- 1 file changed, 17 insertions(+), 10 deletions(-) commit d37588241a6664ac2ad57b557daa9b56b28b47c9 Merge: 5e917651 5bb21066 Author: Frank Lanitz Date: Mon Jun 22 10:35:31 2015 +0200 Merge pull request #525 from scriptum/russian-translation Update of Russian translation commit 5bb21066abd274981c0e7b235825a790e25bbc34 Author: Pavel Roschin Date: Mon Jun 22 11:00:00 2015 +0300 Update of Russian translation po/ru.po | 56 ++++++++++++++++++++++++++------------------------------ 1 file changed, 26 insertions(+), 30 deletions(-) commit 5e9176512dca0a22f00debc6ae8854ee27419cad Author: Frank Lanitz Date: Sun Jun 21 15:17:46 2015 +0200 Update of Spanish translation po/es.po | 114 +++++++++++++++++++++++++++++++-------------------------------- 1 file changed, 57 insertions(+), 57 deletions(-) commit 5ebed27d4bc691908825a4af06605215cee6206e Author: Colomban Wendling Date: Sun Jun 21 14:23:44 2015 +0200 Fix incorrect variadic argument type fetch (oops) src/symbols.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 37794432ccf22acd24dbc3b29000ad06ad904afc Author: Matthew Brush Date: Sat Jun 20 20:25:08 2015 -0700 Add G_BEGIN_DECLS and G_END_DECLS to spawn.h src/spawn.h | 4 ++++ 1 file changed, 4 insertions(+) commit f7a036aab8f022195ba017895a4b77283a6da65c Author: Colomban Wendling Date: Sat Jun 20 19:03:31 2015 +0200 VTE: Switch directory on startup when following current document's path src/vte.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) commit 5c2ac4c856061d7f4c383d6073e4fa78894db670 Author: Frank Lanitz Date: Sat Jun 20 18:17:26 2015 +0200 Initial update of po files for string freeze of Geany 1.25 po/ar.po | 3291 +++++++++++++++++++++++--------------------- po/ast.po | 3340 ++++++++++++++++++++++---------------------- po/be.po | 3320 ++++++++++++++++++++++---------------------- po/bg.po | 3345 ++++++++++++++++++++++---------------------- po/ca.po | 3336 ++++++++++++++++++++++---------------------- po/cs.po | 3332 ++++++++++++++++++++++---------------------- po/de.po | 445 +++--- po/el.po | 1858 +++++++++++++------------ po/en_GB.po | 3327 ++++++++++++++++++++++---------------------- po/es.po | 3345 ++++++++++++++++++++++---------------------- po/et.po | 3292 +++++++++++++++++++++++--------------------- po/eu.po | 3292 +++++++++++++++++++++++--------------------- po/fa.po | 3325 ++++++++++++++++++++++---------------------- po/fi.po | 3333 ++++++++++++++++++++++---------------------- po/fr.po | 1990 +++++++++++++-------------- po/gl.po | 4397 +++++++++++++++++++++++++++++++--------------------------- po/he.po | 3322 +++++++++++++++++++++++--------------------- po/hi.po | 3171 +++++++++++++++++++++--------------------- po/hu.po | 4423 +++++++++++++++++++++++++++++++---------------------------- po/id.po | 4290 +++++++++++++++++++++++++++++++++------------------------ po/it.po | 1960 +++++++++++++------------- po/ja.po | 1681 ++++++++++++----------- po/kk.po | 3310 +++++++++++++++++++++++--------------------- po/ko.po | 3319 ++++++++++++++++++++++---------------------- po/lb.po | 3341 ++++++++++++++++++++++---------------------- po/lt.po | 3335 ++++++++++++++++++++++---------------------- po/mn.po | 3326 ++++++++++++++++++++++---------------------- po/nl.po | 1690 ++++++++++++----------- po/nn.po | 3251 ++++++++++++++++++++++--------------------- po/pl.po | 1762 ++++++++++++------------ po/pt.po | 1646 +++++++++++----------- po/pt_BR.po | 507 +++---- po/ro.po | 3337 ++++++++++++++++++++++---------------------- po/ru.po | 1767 ++++++++++++------------ po/sk.po | 3331 ++++++++++++++++++++++---------------------- po/sl.po | 3345 ++++++++++++++++++++++---------------------- po/sr.po | 869 ++++++------ po/sv.po | 3331 ++++++++++++++++++++++---------------------- po/tr.po | 3326 ++++++++++++++++++++++---------------------- po/uk.po | 3333 ++++++++++++++++++++++---------------------- po/vi.po | 3337 ++++++++++++++++++++++---------------------- po/zh_CN.po | 3321 +++++++++++++++++++++++--------------------- po/zh_TW.po | 3320 ++++++++++++++++++++++---------------------- 43 files changed, 65128 insertions(+), 60391 deletions(-) commit 3a8ef62794731c3c0541296e4dba5c832bd08494 Author: Matthew Brush Date: Fri Jun 19 17:12:53 2015 -0700 Fix GLib version number missed in last bump (oops) configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 3b1f20037b8cfc7d63ff852be1d654d3f806714f Merge: f427a3a6 3ad16272 Author: Enrico Tröger Date: Thu Jun 18 23:11:32 2015 +0200 Merge pull request #291 from bittner/master Autodetect .bashrc, .bash_aliases, and the like commit f427a3a6e19fe8c7190b0f8a1c269f3e739fbfb3 Merge: f715f8a3 358758c9 Author: Colomban Wendling Date: Thu Jun 18 16:49:37 2015 +0200 Merge pull request #455 from techee/filebrowser_icons Show icons corresponding to MIME types in the file browser plugin commit f715f8a35c79e7f5c1ef70b276d7b1bbc51d0bc2 Merge: 67b464a5 5a8e89ce Author: Colomban Wendling Date: Thu Jun 18 16:22:25 2015 +0200 Merge pull request #425 from b4n/remove-some-unused-sciwrappers Remove a few unused Scintilla wrappers functions commit 891997a5bf55f50d2ded04dbbd9b09f517d26b84 Author: Jiří Techet Date: Thu Jun 18 10:28:02 2015 +0200 Add -O2 -g flags also for C++ files when building with waf wscript | 4 ++++ 1 file changed, 4 insertions(+) commit 67b464a586f62d2e4294f9325ac72d977ad34828 Author: Colomban Wendling Date: Tue Jun 2 14:45:22 2015 +0200 GTK: Fix runtime completion popup warning GtkScrolledWindow in GTK 3.16 might have a minimum and natural height of 0 if GTK_OVERLAY_SCROLLING is enabled (which is the default), so we need to fix our overridden minimal height to never be greater than the natural height. Do that by only changing the minimal height if it is greater than what we want. I don't know why we didn't use to set 0 here, but it might be that a height of 0 caused problems on older GTK versions, so keep 1 to be sure. X-Scintilla-Commit-ID: e9f9c964236a6b740f75d09a8b0ac76e5d6dd09f scintilla/gtk/PlatGTK.cxx | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) commit 3ad162724981b65937edbb4a9776b77a11063574 Author: Peter Bittner Date: Thu Jun 19 16:24:07 2014 +0200 Autodetect .bashrc, .bash_aliases, and the like Autodetect /etc/bash_completion (and the like) Splitted up autodetection patterns for Bash This will match: - `*.bash` (any manufactured Bash scripts) - `~/.bashrc` (hidden Bash configuration in your home directory) - `~/.bash_*` (partials included by bashrc, e.g. `.bash_aliases`, `.bash_history`, `.bash_logout`) - `/etc/bash.bashrc` (global Bash configuration) - `/etc/bash_completion` (and potentially any other `/etc/bash_*` file) data/filetype_extensions.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 358758c9f8feddac6c3a06005f309b53506c99d5 Author: Jiří Techet Date: Tue Jun 16 15:43:45 2015 +0200 Show icons corresponding to MIME types in the file browser plugin plugins/filebrowser.c | 48 ++++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 44 insertions(+), 4 deletions(-) commit f86b39c7cb5242cd0753ef31e3d30f1026a07de0 Merge: 1306bc52 ecc4e028 Author: Colomban Wendling Date: Mon Jun 15 21:39:22 2015 +0200 Merge pull request #491 from techee/ft_config Add filetype configuration menu entries commit ecc4e0285af770865edb96a293913c80c0b1fd66 Author: Jiří Techet Date: Mon Jun 15 17:14:00 2015 +0200 Add filetype configuration menu entries This adds a "Filetype Configuration" under Tools->Configuration Files with all filetype configuration files (grouped by language type). This patch mostly reuses the stuff we already have in Geany - the menu creation code from Document->Set Filetype, file creation in the .config directory if it doesn't exist (similarly to filetypes.common) and config file reloading when the file gets updated. src/filetypes.c | 82 +++++++++++++++++++++++++++++++++++++++------------------ src/ui_utils.c | 15 ++++++++++- src/ui_utils.h | 3 +-- 3 files changed, 72 insertions(+), 28 deletions(-) commit 1306bc52d8e081ce0dee45d3610ebe1f83c10621 Merge: 6f60de36 8eaaf723 Author: Colomban Wendling Date: Mon Jun 15 15:39:24 2015 +0200 Merge pull request #506 from techee/msgwin_resize Don't resize message window when changing Geany's window height commit 6f60de3656b48b954da5d2b3dd1dc46c96844025 Merge: 48ea3e6f e26c9ba2 Author: Colomban Wendling Date: Mon Jun 15 14:56:07 2015 +0200 Merge pull request #514 from techee/linear_tag_remove Add linear tag remove path for cases where not many files are open commit 48ea3e6f85d2d86353a552c6542b8f3684703cb1 Merge: 733b10ef cdd07e15 Author: Colomban Wendling Date: Mon Jun 15 14:29:12 2015 +0200 Merge pull request #515 from b4n/symbol-icons-fixes Fix unreffing NULL icons when generating tags commit 733b10efc4f3d757726376e453e880d6409db62d Merge: 195d2e3a 882687ec Author: Colomban Wendling Date: Mon Jun 15 00:10:09 2015 +0200 Merge branch 'universal-ctags-fixes' Import some various parser fixes from Universal CTags. commit cdd07e15f5f4ad48b2aff3979b620916cfd78446 Author: Colomban Wendling Date: Sun Jun 14 23:43:17 2015 +0200 Fix unreffing NULL icons when generating tags src/symbols.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) commit 195d2e3a77f6922b7575c52c5abb11b44667bb6d Author: Colomban Wendling Date: Sun Jun 14 23:17:27 2015 +0200 Don't try and query the theme when we don't have a screen This happens when generating tags. src/ui_utils.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) commit 23eff5cadfd6a824d745fd4cffd0749d41ff44fc Author: Colomban Wendling Date: Sun Jun 14 20:19:55 2015 +0200 Over-engineer symbol tree icon cache a little This will get useful to fix problems when generating tags. src/symbols.c | 418 ++++++++++++++++++++++++++++++---------------------------- 1 file changed, 217 insertions(+), 201 deletions(-) commit 882687ec37d41bcd74e07ab13ead45ce2141ecad Author: Colomban Wendling Date: Mon May 18 18:39:32 2015 +0200 C#: Don't ignore the character following an '@' The character following an '@' was dropped if it didn't start a string literal. This could lead to unexpected problems if '@' was valid in other situations. X-Universal-CTags-Commit-ID: 2e62f475af1db08850447de46f56db14ce99d2eb tagmanager/ctags/get.c | 2 ++ 1 file changed, 2 insertions(+) commit dbbc042786e7d78e16a7b63dc2fd58cae0fab8f1 Author: Colomban Wendling Date: Mon May 18 18:38:09 2015 +0200 c family: Add support for digraphs See http://www.open-std.org/jtc1/sc22/WG14/www/docs/n1256.pdf 6.4.6§3. Note: This is not exactly the upstream Universal CTags commit because it depends on another change for adding the `enter` label, which was then included here. X-Universal-CTags-Commit-ID: 3b3b60c7664a321a31ec87de336fc6bda90c405e tagmanager/ctags/get.c | 37 +++++++++++++++++++++++++++++++++++++ tests/ctags/Makefile.am | 1 + tests/ctags/c-digraphs.c | 35 +++++++++++++++++++++++++++++++++++ tests/ctags/c-digraphs.c.tags | 12 ++++++++++++ 4 files changed, 85 insertions(+) commit b737f031cab65e345cb29504c2b39f1924900781 Author: Colomban Wendling Date: Mon May 18 14:51:44 2015 +0200 c family: Fix trigraph handling X-Universal-CTags-Commit-ID: d6d1a0f2b90a600bdec9cd6ba964ee69382743e4 tagmanager/ctags/get.c | 4 +-- tests/ctags/Makefile.am | 1 + tests/ctags/c-trigraphs.c | 56 ++++++++++++++++++++++++++++++++++++++++++ tests/ctags/c-trigraphs.c.tags | 15 +++++++++++ 4 files changed, 73 insertions(+), 3 deletions(-) commit b975c2652da201c9e84f4b817c18408814364f36 Author: Colomban Wendling Date: Mon May 18 14:43:10 2015 +0200 read: Allow to unget up to 3 characters Some parsers need to unget more than one characters, so add support for this. X-Universal-CTags-Commit-ID: 956af0555d3a8ef33304c5ae6ed873f22b4e4284 tagmanager/ctags/read.c | 12 ++++++++---- tagmanager/ctags/read.h | 3 ++- 2 files changed, 10 insertions(+), 5 deletions(-) commit e26c9ba2ced88d5bcf1804e228918b63cae76b20 Author: Jiří Techet Date: Sun Jun 14 17:52:24 2015 +0200 Add linear tag remove path for cases where not many files are open When tested with 200000 LOC python file (created by making many copies of scripts/create_py_tags.py), the tm_tags_remove_file_tags() function takes about 50% of the CPU time when only this file is open. After adding the linear path to tm_tags_remove_file_tags() it takes just about 2%. See the comment in the patch for more details. tagmanager/src/tm_tag.c | 74 +++++++++++++++++++++++++++++++++---------------- 1 file changed, 50 insertions(+), 24 deletions(-) commit 944bffb9673660b4d0b37fee2037541b148f0627 Author: Colomban Wendling Date: Tue Jun 9 15:06:12 2015 +0200 json: Fix handling of tags containing a dot X-Universal-CTags-Commit-ID: 7ae28a3d8a7ad5f8a9d6399a4e357fcf19ad2b2e tagmanager/ctags/json.c | 10 +--------- tests/ctags/Makefile.am | 1 + tests/ctags/dotted-names.json | 25 +++++++++++++++++++++++++ tests/ctags/dotted-names.json.tags | 20 ++++++++++++++++++++ 4 files changed, 47 insertions(+), 9 deletions(-) commit f30b72d91e266236af145f84b8fc01444c66c813 Author: Colomban Wendling Date: Tue Jun 9 19:09:55 2015 +0200 vstring: Add vStringTruncate() Add API to truncate a vString to a certain length. This doesn't support growing the string, only shrinking it. X-Universal-CTags-Commit-ID: 4e3d9edf2e7a8a476ff97bc678e71c3919b960f9 tagmanager/ctags/vstring.c | 13 ++++++++++--- tagmanager/ctags/vstring.h | 1 + 2 files changed, 11 insertions(+), 3 deletions(-) commit d75598cc4895c0dc68dbd00a5ed819943a31242f Author: Colomban Wendling Date: Wed Jun 10 15:01:24 2015 +0200 python: Fix resetting scope on anonymous blocks The previous fix, coming from [CTags bug #1988026], was incorrect if the parent was not a root-level element, as it checked the level name (unqualified) against the parent name (qualified). However, there is no need to check the level name, all what counts is the indentation level itself: if it's smaller than an existing level, it ends it. This fixes [CTags bug #356]. [CTags bug #1988026]: https://sourceforge.net/p/ctags/bugs/227/ [CTags bug #356]: https://sourceforge.net/p/ctags/bugs/356/ X-Universal-CTags-Commit-ID: ab91e6e1ae84b80870a1e8712fc7f3133e4b5542 tagmanager/ctags/python.c | 18 ++++++------------ tests/ctags/Makefile.am | 1 + .../ctags/python-anonymous-nestlevel_ctags-bug-356.py | 6 ++++++ .../python-anonymous-nestlevel_ctags-bug-356.py.tags | 4 ++++ 4 files changed, 17 insertions(+), 12 deletions(-) commit 935c389f285e52fb690dc6d743c90ad3f26d0b49 Merge: 7006bdfd 6792bf0d Author: Colomban Wendling Date: Fri Jun 12 19:06:41 2015 +0200 Merge pull request #509 from techee/child_icon + followup Cache symbol tree icons commit 6792bf0db761332742c133b93419d10a18fb9316 Author: Colomban Wendling Date: Fri Jun 12 18:54:34 2015 +0200 Simplify some code a little src/symbols.c | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) commit 9458d5cfe62b9164512b62a7ced32d25404d64da Author: Colomban Wendling Date: Fri Jun 12 18:48:29 2015 +0200 Release symbols icons when quitting src/symbols.c | 9 +++++++++ 1 file changed, 9 insertions(+) commit 7006bdfd8ca696f7f53328cc7f0414fefe9ca94a Author: Jiří Techet Date: Wed Jun 10 23:46:23 2015 +0200 Sync the fold_changed() implementation with SciTE SciTE added the SCI_GETALLLINESVISIBLE check in revision 8dc4127cc8d76ecdf988928ac34e79955c09bda4: "Minimize cost of processing fold level changes to ensure visibility for the common case where the whole document is already visible." When nothing is folded, this improves the performance considerably which is visible e.g. when pasting larger amounts of text. Closes #507. src/editor.c | 28 ++++++++++++++++------------ 1 file changed, 16 insertions(+), 12 deletions(-) commit 62e6de9f10cd6143478c1f8f8b1004d50f502e65 Author: Jiří Techet Date: Thu Jun 11 12:42:28 2015 +0200 Cache symbol tree icons When profiling Geany I/O activity, there are lots of I/O operations happening when just typing in the editor caused by the updates of the symbol tree and loading the icon files. In addition, in the case of tag_other the leaves of the tree use classviewer-var instead of the parent icon (e.g. with enums). In this case the icon is loaded from the disk every time it's requested which takes about 70% of the tree creation time when the tree consists only of such nodes. To fix these problems load the icons once and return the loaded icons when requested instead of reloading them from the disk all the time. src/symbols.c | 300 ++++++++++++++++++++++++++++++---------------------------- 1 file changed, 157 insertions(+), 143 deletions(-) commit ccec1fe29acc88c72b8324d74d2e63c1b0bc8466 Merge: e38b803c 65c34bd3 Author: Enrico Tröger Date: Fri Jun 5 18:45:56 2015 +0200 Merge pull request #414 from eht16/plugin_manager_usability Plugin manager usability improvements commit 65c34bd37e8d0102696a0ccbd8eeec04da34c862 Author: Jiří Techet Date: Sun Feb 22 18:58:34 2015 +0100 Improved search for the plugin manager Search in name, description, author fields and show all results which contain all the words from the search query. Search plugins also by filename src/plugins.c | 33 ++++++++++++++++++++++++--------- 1 file changed, 24 insertions(+), 9 deletions(-) commit e38b803ccde65f40fc25b1c21edde82bf67cdaf8 Author: Colomban Wendling Date: Wed Jun 3 14:45:29 2015 +0200 stash: Fix invalid free in sync from object property src/stash.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) commit 94389788da4c332776c4d37ab024257bd4f0146a Author: Colomban Wendling Date: Wed Jun 3 14:43:39 2015 +0200 stash: Fix sync to object property src/stash.c | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) commit 8eaaf723b8c1fff2c752d7ae31d19e42ef023018 Author: Jiří Techet Date: Thu May 28 21:21:54 2015 +0200 Don't resize message window when changing Geany's window height At the moment the message window is set to resize when the height of the main window changes. This is a bit annoying when the message window size is set to fit all the tabs exactly and when shrinking the window, the tabs don't fit the shrinked message window. Set the flag not to resize the notebook_info notebook (similar thing is already done with the sidebar in the horizontal direction so no change needed there). Works fine also when the message window is set to be on the right side. data/geany.glade | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 3c9e5459748a9f46fbdcee7811e51ae75c17fd36 Merge: f1c98e54 97a431fa Author: Colomban Wendling Date: Thu May 28 17:55:46 2015 +0200 Merge pull request #501 from b4n/wordchars-default Respect filetype.common's wordchars if a filetype doesn't have its own commit 97a431faf2c146cc79534fb23ab9032d7f435974 Author: Colomban Wendling Date: Thu May 28 17:55:21 2015 +0200 Update the documentation on wordchars doc/geany.txt | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) commit f1c98e5423bab3b159f1a6e9a7b37673752eeb30 Merge: b5702f03 dde13c7a Author: Colomban Wendling Date: Thu May 28 16:50:01 2015 +0200 Merge pull request #481 from techee/go Go ctags parser, Scintilla lexer and Geany support improvements Closes #238. commit dde13c7a1627fa3e614e4a3900bad8c0f2b43ca4 Author: Jiří Techet Date: Wed May 20 15:28:28 2015 +0200 Syntax-highlight go types src/document.c | 1 + 1 file changed, 1 insertion(+) commit 4665034cb274a2e42d59e4a897f3104a7929fdb6 Author: Jiří Techet Date: Tue May 19 11:24:27 2015 +0200 Update go keywords error was missing in secondary keywords (also sorted alphabetically now) Add true false iota nil into primary keywords which, while not strictly speaking keywords (they are predeclared identifiers), are nice to have highlighted. data/filetypes.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit a6e7893c10dd9524aceca23b0a49822b49c57ca6 Author: Jiří Techet Date: Thu May 28 16:18:26 2015 +0200 Enable backquoted strings for go in cpp lexer In addition, disable (or make less visible) syntax highlighting not related to go. data/filetypes.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) commit 95368425f4058112a021590b9f8fb52f9e51fb48 Author: Jiří Techet Date: Thu Apr 30 23:27:32 2015 +0200 Use pascal-like function prototypes for go in symbol tree src/editor.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) commit 206379a272ebce073910a49dbcb15b21909b3d3a Author: Jiří Techet Date: Thu May 28 16:27:23 2015 +0200 Parse return value of go functions Unfortunately varType is Geany-only so this patch cannot be ported to ctags. The removal of the extra { read is not the most elegant thing but making skipType() aware of the argList collection complicates things too much. tagmanager/ctags/go.c | 43 ++++++++++++++++++++++++++-------------- tests/ctags/Makefile.am | 1 + tests/ctags/return-types.go | 16 +++++++++++++++ tests/ctags/return-types.go.tags | 6 ++++++ tests/ctags/test.go.tags | 12 +++++------ 5 files changed, 57 insertions(+), 21 deletions(-) commit e973841ceca799c3301830f792df0c39d9bab1b2 Author: Jiří Techet Date: Mon Mar 16 22:45:27 2015 +0100 Show go interfaces, structs and struct members in symbol tree src/symbols.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) commit e433490672da19a19554bc7f40aa6e90c67fb08b Author: Jiří Techet Date: Wed May 27 16:15:01 2015 +0200 Sync go parser with fishman-ctags New features include: * struct/interface detection * struct member parsing * function prototype parsing tagmanager/ctags/go.c | 249 ++++++++++++++++++++++++++++++++++++++--------- tests/ctags/test.go | 9 +- tests/ctags/test.go.tags | 21 ++-- 3 files changed, 220 insertions(+), 59 deletions(-) commit b5702f03dc04d774a165ff9e023ade0af38fec1e Author: Frank Lanitz Date: Wed May 27 21:59:27 2015 +0200 Update of German translation po/de.po | 49 +++++++++++++++++++++++++++++++++++++------------ 1 file changed, 37 insertions(+), 12 deletions(-) commit e12fa5d270a6f8a7093977b0df77482bb46a18a7 Merge: de8470dc 942d4c6b Author: Colomban Wendling Date: Tue May 26 22:49:58 2015 +0200 Merge pull request #456 from techee/osx_vte_improvements Osx vte improvements commit de8470dc5661474739ebe8f6ef8100ac6377723a Merge: 4b9f816a 09ee4965 Author: Colomban Wendling Date: Tue May 26 22:37:34 2015 +0200 Merge pull request #499 from techee/vte_prompt VTE prompt fixes commit 4b9f816a0388f90c4d1a56e6f9a2bb52abb2d37a Author: Colomban Wendling Date: Tue May 26 13:25:04 2015 +0200 Update NEWS Note that although the last Scintilla update was a pre-release update, the final 3.5.6 release has no changes. NEWS | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 9b98d55defc918c951660f05e9ebdd30e9bfb184 Author: Colomban Wendling Date: Sun May 24 18:44:02 2015 +0200 Update Scintilla to 3.5.6 pre-release Fixes broken auto-completion popup on Windows. scintilla/gtk/PlatGTK.cxx | 18 +++++++++++++++++- scintilla/gtk/ScintillaGTK.cxx | 2 +- scintilla/lexers/LexCPP.cxx | 6 ++---- scintilla/lexers/LexFortran.cxx | 1 + scintilla/lexers/LexVHDL.cxx | 7 ++++--- scintilla/lexers/LexVerilog.cxx | 4 +++- scintilla/src/Document.cxx | 2 ++ scintilla/src/EditModel.h | 2 +- scintilla/src/Editor.h | 2 +- scintilla/src/ScintillaBase.h | 2 +- scintilla/version.txt | 2 +- 11 files changed, 34 insertions(+), 14 deletions(-) commit 19da68e1d02f99dae1a193c0e29eb5b9bf916909 Author: Colomban Wendling Date: Sat May 23 12:25:50 2015 +0200 Fix a small typo in NEWS NEWS | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 3748895e32211de1ee71de02c52821dbae17ef75 Merge: 3e42c9b0 c1533332 Author: Frank Lanitz Date: Sun May 24 10:58:21 2015 +0200 Merge pull request #504 from philippwiesemann/update-links Update some links commit c1533332a79ead73c6d55021d82c705dc4972c9b Author: Philipp Wiesemann Date: Fri May 22 23:14:47 2015 +0200 Update link in translation file The old link was an empty page. po/de.po | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 8ffe0467b782802eea14974ffb68a5cd2dd1a6cf Author: Philipp Wiesemann Date: Fri May 22 23:11:25 2015 +0200 Update link in development documentation The old link was a 404 page. HACKING | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 62157ebbdf86127f51847f9c43c6f3bbf98fe20f Author: Philipp Wiesemann Date: Fri May 22 23:06:18 2015 +0200 Update link in development documentation The project moved from Google to GitHub. HACKING | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 3e42c9b05b40498a9abf6d6ef0e81226c8f79f4d Author: Colomban Wendling Date: Thu May 21 22:39:55 2015 +0200 Initial NEWS update to prepare for 1.25 NEWS | 134 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 134 insertions(+) commit 02ca046991d4679c59a5a8025a730b227e3e4c63 Author: Enrico Tröger Date: Tue May 19 17:42:34 2015 +0200 Add src/spawn.c to translatable files to fix 'make check' po/POTFILES.in | 1 + 1 file changed, 1 insertion(+) commit 40b9a2ba0d2e75196682451e78dbc1dc10333994 Author: Colomban Wendling Date: Tue May 19 14:25:40 2015 +0200 Respect filetype.common's wordchars if a filetype doesn't have its own Use filetype.common's wordchars instead of GEANY_WORDCHARS as default for filetypes not having their own. This allows to change the wordchars for all filetypes at once. Part of issue #492. data/filetypes.common | 1 + src/highlighting.c | 10 ++++++---- 2 files changed, 7 insertions(+), 4 deletions(-) commit 93950a6a7b7b62fe285334914f0b371d5c09fb67 Merge: b5eabc59 9be6ce81 Author: Frank Lanitz Date: Tue May 19 13:44:02 2015 +0200 Merge pull request #500 from fbobraga/master Fix header of translation file commit 9be6ce81e48b2aa035e30f3e1a30320096bda1e9 Author: Felipe Braga Date: Tue May 19 07:57:51 2015 -0300 Fixed heade po/pt_BR.po | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) commit 09ee4965f7ad56fe03dbd3b87f3d28842b447f0c Author: Jiří Techet Date: Tue May 19 11:55:40 2015 +0200 Add TERM_PROGRAM to excluded environment variables for VTE On OS X /etc/bashrc does some Apple-terminal-specific thing: # Tell the terminal about the working directory at each prompt. if [ "$TERM_PROGRAM" == "Apple_Terminal" ] && [ -z "$INSIDE_EMACS" ]; then update_terminal_cwd() { # Identify the directory using a "file:" scheme URL, # including the host name to disambiguate local vs. # remote connections. Percent-escape spaces. local SEARCH=' ' local REPLACE='%20' local PWD_URL="file://$HOSTNAME${PWD//$SEARCH/$REPLACE}" printf '\e]7;%s\a' "$PWD_URL" } PROMPT_COMMAND="update_terminal_cwd; $PROMPT_COMMAND" fi This however doesn't work in VTE when Geany is started from the Terminal application so we get some strange prefix for the prompt. Unset the TERM_PROGRAM variable so it isn't set to Apple_Terminal when running inside VTE. src/vte.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit b5eabc5986d415614079c847bbf5b456f552fb79 Author: Frank Lanitz Date: Mon May 18 07:58:07 2015 +0200 Small Update of German translation po/de.po | 408 +++++++++++++++++++++++++++++++-------------------------------- 1 file changed, 199 insertions(+), 209 deletions(-) commit 9c2d51f92012b74ce75c967d9940c97fd71c5fa0 Merge: 826f6516 2693a7b6 Author: Frank Lanitz Date: Mon May 18 09:14:37 2015 +0200 Merge pull request #498 from fbobraga/master Updated pt_BR translation commit 2693a7b6484c3c9f96d9a3c43683293bfa479e97 Author: Felipe Braga Date: Sun May 17 18:44:32 2015 -0300 Updated pt_BR translation po/pt_BR.po | 1943 +++++++++++++++++++++++++++++------------------------------ 1 file changed, 957 insertions(+), 986 deletions(-) commit bd4956b555dfccb7546796866261d7946450536d Author: Jiří Techet Date: Sun May 17 18:22:32 2015 +0200 Fix corrupted initial prompt The initial prompt may get corrupted so it looks something like any/src $ het-vm ~/projects/gea instead of techet@techet-vm ~/projects/geany/src $ This is just the initial display problem - when enter is pressed, the second line already shows correct prompt. It appears that VTE isn't fully initialized when starting the shell process and when the shell start is delayed a bit (performed on idle), the prompt looks correct. src/vte.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) commit 826f6516d36ec7a7bed35116fda32d42449c1e5d Merge: cdb7521b df39fc7b Author: Colomban Wendling Date: Fri May 15 18:54:23 2015 +0200 Merge pull request #441 from zhekov/spawn Add a spawn module for Geany Thanks a lot for Dimitar's hard work, commitment and endless patience! Closes #274, #441, and https://sourceforge.net/p/geany/bugs/943/ Should also fix https://sourceforge.net/p/geany/bugs/898/ commit cdb7521b9bb52697a4169811893eaae84290da2b Author: Frank Lanitz Date: Thu May 14 20:34:48 2015 +0200 Update of German translation po/de.po | 1380 +++++++++++++++++++++++++++++++------------------------------- 1 file changed, 697 insertions(+), 683 deletions(-) commit 48977780c6ab7216cdcb17c79cbd689383f5bd8c Merge: ece9fb37 d665c23a Author: Frank Lanitz Date: Mon May 11 16:48:04 2015 +0200 Merge pull request #490 from philippwiesemann/fix-typos-messages Fix typos in messages commit d665c23a03b58004f35a305c0d2898e8e1e9cbb4 Author: Philipp Wiesemann Date: Sun May 10 21:36:39 2015 +0200 Fix typo in message It was already fixed in source. po/ar.po | 2 +- po/ast.po | 2 +- po/be.po | 2 +- po/bg.po | 2 +- po/ca.po | 2 +- po/cs.po | 2 +- po/el.po | 2 +- po/en_GB.po | 4 ++-- po/es.po | 2 +- po/et.po | 2 +- po/eu.po | 2 +- po/fa.po | 4 ++-- po/fi.po | 2 +- po/gl.po | 2 +- po/he.po | 2 +- po/hi.po | 2 +- po/hu.po | 2 +- po/id.po | 2 +- po/it.po | 2 +- po/kk.po | 2 +- po/ko.po | 2 +- po/lb.po | 2 +- po/lt.po | 2 +- po/mn.po | 2 +- po/nn.po | 2 +- po/ro.po | 2 +- po/sk.po | 2 +- po/sl.po | 2 +- po/sv.po | 2 +- po/tr.po | 2 +- po/uk.po | 2 +- po/vi.po | 2 +- po/zh_CN.po | 2 +- po/zh_TW.po | 2 +- 34 files changed, 36 insertions(+), 36 deletions(-) commit 999e17a5fb41f81c5247e81ccfe2968ce4fc3347 Author: Philipp Wiesemann Date: Sun May 10 21:30:06 2015 +0200 Fix typo in messages data/geany.glade | 6 +++--- po/ar.po | 6 +++--- po/ast.po | 6 +++--- po/be.po | 6 +++--- po/bg.po | 6 +++--- po/ca.po | 6 +++--- po/cs.po | 6 +++--- po/de.po | 6 +++--- po/el.po | 6 +++--- po/en_GB.po | 12 ++++++------ po/es.po | 6 +++--- po/et.po | 6 +++--- po/eu.po | 6 +++--- po/fa.po | 12 ++++++------ po/fi.po | 6 +++--- po/fr.po | 6 +++--- po/gl.po | 6 +++--- po/he.po | 6 +++--- po/hi.po | 6 +++--- po/hu.po | 6 +++--- po/id.po | 6 +++--- po/it.po | 6 +++--- po/ja.po | 6 +++--- po/kk.po | 6 +++--- po/ko.po | 6 +++--- po/lb.po | 6 +++--- po/lt.po | 6 +++--- po/mn.po | 6 +++--- po/nl.po | 6 +++--- po/nn.po | 6 +++--- po/pl.po | 6 +++--- po/pt.po | 6 +++--- po/pt_BR.po | 6 +++--- po/ro.po | 6 +++--- po/ru.po | 6 +++--- po/sk.po | 6 +++--- po/sl.po | 6 +++--- po/sr.po | 6 +++--- po/sv.po | 6 +++--- po/tr.po | 6 +++--- po/uk.po | 6 +++--- po/vi.po | 6 +++--- po/zh_CN.po | 6 +++--- po/zh_TW.po | 6 +++--- 44 files changed, 138 insertions(+), 138 deletions(-) commit 32ee98da17f1118868b691d69526de5a8a4ae498 Author: Philipp Wiesemann Date: Sun May 10 21:20:55 2015 +0200 Fix typo in message po/ar.po | 2 +- po/ast.po | 2 +- po/be.po | 2 +- po/bg.po | 2 +- po/ca.po | 2 +- po/cs.po | 2 +- po/de.po | 2 +- po/el.po | 2 +- po/en_GB.po | 2 +- po/es.po | 2 +- po/et.po | 2 +- po/eu.po | 2 +- po/fa.po | 2 +- po/fi.po | 2 +- po/fr.po | 2 +- po/gl.po | 2 +- po/he.po | 4 ++-- po/hi.po | 2 +- po/hu.po | 2 +- po/id.po | 2 +- po/it.po | 2 +- po/ja.po | 2 +- po/kk.po | 2 +- po/ko.po | 2 +- po/lb.po | 2 +- po/lt.po | 2 +- po/mn.po | 2 +- po/nl.po | 2 +- po/nn.po | 2 +- po/pl.po | 2 +- po/pt.po | 2 +- po/pt_BR.po | 2 +- po/ro.po | 2 +- po/ru.po | 2 +- po/sk.po | 2 +- po/sl.po | 2 +- po/sr.po | 2 +- po/sv.po | 2 +- po/tr.po | 2 +- po/uk.po | 2 +- po/vi.po | 2 +- po/zh_CN.po | 2 +- po/zh_TW.po | 2 +- src/libmain.c | 2 +- 44 files changed, 45 insertions(+), 45 deletions(-) commit ece9fb37c75acc210c3edd6aaacdef51f9ccb063 Merge: 5cfc3f20 2d5428b0 Author: Frank Lanitz Date: Sun May 10 06:56:18 2015 +0200 Merge pull request #489 from philippwiesemann/fix-wrong-po-de Fix wrong German translations commit 2d5428b09ebf4a36eaa56c187a5a8c8236c27085 Author: Philipp Wiesemann Date: Sat May 9 23:19:05 2015 +0200 Add three exclamation marks in German translation po/de.po | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) commit 19883aeb8a2f9b0568e65a536d3fad842c7163e1 Author: Philipp Wiesemann Date: Sat May 9 23:15:59 2015 +0200 Add three hyphens in German translation The translation for "document" already had one. po/de.po | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) commit ab43cd9839ee2f3eac6b4a2fa56a2edb0c5d1e11 Author: Philipp Wiesemann Date: Sat May 9 23:10:41 2015 +0200 Fix wrong German translation The translation did not distinguish between "source file" and "file" although it makes sense (e.g. for diff files which are not source). po/de.po | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 7db70998bf82d9780854072b91edf2a83d52475b Author: Philipp Wiesemann Date: Sat May 9 23:07:26 2015 +0200 Fix two wrong German translations po/de.po | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 5cfc3f20f6525b1c7c8071808fbfdecd2f562189 Merge: 3973362c 81fb120f Author: Colomban Wendling Date: Wed May 6 19:03:18 2015 +0200 Merge pull request #487 from techee/goto_tag_fix Fix language check in tm_workspace_find() commit 3973362c1bb844754c7e05e6da5b3c4c278eef13 Merge: dbcbd57e 1903b0a9 Author: Colomban Wendling Date: Wed May 6 18:51:43 2015 +0200 Merge pull request #486 from techee/fix_empty_symbol_tree Fix empty symbol tree under some conditions commit 1903b0a9b9991733dd48f8cd55446200c647efbd Author: Jiří Techet Date: Tue May 5 23:37:51 2015 +0200 Add a flag indicating the tag tree needs updating When the Symbols tab isn't shown, symbol tree isn't updated. However, we should record the cases when update should have been performed and once the symbols tab is shown, perform update if something changed. Thanks to this patch we also don't have to always perform symbol tree update when switching to the Symbols tab but only when something has actually changed. src/documentprivate.h | 2 ++ src/sidebar.c | 8 ++++++-- 2 files changed, 8 insertions(+), 2 deletions(-) commit 81fb120f508be4b8f472a818b708039c3942b642 Author: Jiří Techet Date: Wed May 6 18:37:46 2015 +0200 Fix language check in tm_workspace_find() The tags_lang variable is set from the first tag in the found array but the array may actually contain tags from several languages. This may lead to two things: 1. Goto tag definition goes to a tag from a different filetype 2. Worse, the first tag is from a different language than the current file and we get a message that no tag was found Get lang for every tag in the array and rename tags_lang to tag_lang. tagmanager/src/tm_workspace.c | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) commit dbcbd57ee638d410de73032cad29c9a4c9de9a99 Author: Frank Lanitz Date: Tue May 5 19:55:15 2015 +0200 Update of Serbian translation po/sr.po | 4736 ++++++++++++++++++++++++++++++++------------------------------ 1 file changed, 2439 insertions(+), 2297 deletions(-) commit 80d7aa213c0eb8d353032882616957f155b49380 Author: Colomban Wendling Date: Sun May 3 23:41:32 2015 +0200 Allow to select None filetype in Open File dialog Closes #483. src/dialogs.c | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) commit 62a8232901a831c694109b491f60b35aeaa579cc Merge: 97b869bc 44fec8f7 Author: Colomban Wendling Date: Sun May 3 22:36:16 2015 +0200 Merge pull request #475 from techee/retval_refresh Reload tooltip in the symbol tree also on tag update commit 97b869bcd6ed19d8050f954c9c22f25439934998 Merge: b92b4ad3 d31c770a Author: Colomban Wendling Date: Sun May 3 22:35:08 2015 +0200 Merge pull request #476 from techee/dirty_vte Communicate terminal dirty-ness to users in a better way commit 44fec8f7518d63eeb4e1a784ec7fe465d0002270 Author: Jiří Techet Date: Sun May 3 11:34:30 2015 +0200 Prepend values to GtkTreeStore to eliminate quadratic complexity The tree model nodes consist of GNode structs: struct GNode { gpointer data; GNode *next; GNode *prev; GNode *parent; GNode *children; }; where children are a linked list. To append a value, the list has to be walked to the end and with nodes with many children (which is our case) this becomes very expensive. We sort the tree afterwards anyway so it doesn't matter where we insert the value. src/symbols.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 8ffd687af78f372da8063a4a480f4b0480613cc4 Author: Jiří Techet Date: Mon Apr 20 23:47:49 2015 +0200 Don't update the symbol tree when not shown src/sidebar.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) commit e3e46ed63b722a83510acfa2615e34d1f0e23f32 Author: Jiří Techet Date: Mon Apr 20 21:41:36 2015 +0200 Use gtk_tree_store_insert_with_values() to speed-up tree creation About 30% faster tree creation. src/symbols.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) commit 35bde6c5ad0d008f807b88f8430517c282d2bc00 Author: Jiří Techet Date: Mon Apr 20 21:23:54 2015 +0200 Reload a tag in the sidebar only when it differs from the existing tag gtk_tree_store_set() becomes very slow when the tree gets bigger because internally it calls gtk_tree_store_get_path() which counts all the entries in a linked list of elements at the same tree level to get the tree path. Avoid the call of this function when not needed. src/symbols.c | 28 ++++++++++++++++------------ tagmanager/src/tm_tag.c | 20 ++++++++++++++++++++ tagmanager/src/tm_tag.h | 1 + 3 files changed, 37 insertions(+), 12 deletions(-) commit 5d94d15976ab83f8bea2a6bda866d19a549f787e Author: Jiří Techet Date: Sun Apr 19 18:53:42 2015 +0200 Reload tooltip in the symbol tree also on tag update Because function return types are not used to determine tag equality, we need to also update the tooltip of an existing tag otherwise the return type doesn't get updated when changed. src/symbols.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) commit b92b4ad36426fd6a4db4488b058808032fbe4818 Merge: 3b484d8f 14e110ec Author: Frank Lanitz Date: Sun May 3 17:09:39 2015 +0200 Merge pull request #482 from philippwiesemann/fix-typos-po-de Fix typos in German translation commit 14e110ecdc76315e22fafd35c1b9488e7b464d1e Author: Philipp Wiesemann Date: Sat May 2 22:34:58 2015 +0200 Fix typos in German translation po/de.po | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) commit d31c770a3d408778540fffc6c1441fde484d3c03 Author: Jiří Techet Date: Sun Apr 26 11:55:41 2015 +0200 Tell users how to clear the terminal in the error message This is not completely obvious - when I first saw the message, I started pressing backspace which really doesn't help. Also clarify and shorten the message a bit - in "Could not execute the file in the VTE because it probably contains a command" it's not clear if it's the file or VTE which contains the command. Also use "terminal" instead of "VTE" which is more user-friendly. src/build.c | 6 +++--- src/vte.c | 7 +++---- 2 files changed, 6 insertions(+), 7 deletions(-) commit 9f0bfec04526b07882ab644830bef4c9c8ddebba Author: Jiří Techet Date: Fri Apr 24 22:15:10 2015 +0200 Add "dirty" terminal indication Right now users are confused when various VTE actions don't work because there's no indication that the terminal is in the non-clean state. Visualise "modified" terminal in the same way as modified document - by a red label in the tab so it's clearer when terminal isn't clean. Avoid quick red flashes when pressing enter by delaying the color change a bit. data/geany.css | 5 +++++ data/geany.gtkrc | 3 +++ src/vte.c | 44 ++++++++++++++++++++++++++++++++++++++------ 3 files changed, 46 insertions(+), 6 deletions(-) commit 3b484d8f9e5526709dd8ff8d0604cc541ca1ce5e Merge: 9fd566e0 a23f4b2d Author: Enrico Tröger Date: Sat Apr 25 10:22:52 2015 +0000 Merge pull request #464 from eht16/undeprecate_plugins Remove deprecated and unnecessary use of GeanyFunctions declaration commit 9fd566e0407281ded5a1475c1bfad45e165741eb Author: Enrico Tröger Date: Sat Apr 25 12:19:28 2015 +0200 Windows: don't link geany_private.rc to libgeany as it is not necessary wscript | 1 - 1 file changed, 1 deletion(-) commit df39fc7bf7f6d429acded128476220a53668c6a4 Author: Dimitar Zhekov Date: Fri Apr 24 19:35:59 2015 +0300 Mark the exported spawn functions as GEANY_API_SYMBOL and @since 1.25 src/spawn.c | 33 ++++++++++++++++++++++++++++++--- 1 file changed, 30 insertions(+), 3 deletions(-) commit b6fc3e97df348297e8efb8b91b1b8221fe110eee Author: Daniel Guerrero Miralles Date: Tue Apr 21 17:51:39 2015 +0200 Fix catalan translation This small patch fixes some entries in the contextual menu. po/ca.po | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) commit 10a04f71c372734f6bfec3d7a04e4e4064cfbe14 Author: Colomban Wendling Date: Tue Apr 21 16:21:37 2015 +0200 Update Scintilla to version 3.5.5 scintilla/gtk/ScintillaGTK.cxx | 13 ++++++------ scintilla/include/Platform.h | 6 ------ scintilla/include/Scintilla.h | 4 ++-- scintilla/include/Scintilla.iface | 40 +++++++++++++++++++++++++----------- scintilla/lexers/LexSQL.cxx | 9 ++++---- scintilla/lexers/LexTCL.cxx | 7 ++----- scintilla/lexers/LexVHDL.cxx | 10 ++++++++- scintilla/lexers/LexVerilog.cxx | 43 +++++++++++++++++++++++++++++++++------ scintilla/lexlib/SubStyles.h | 3 ++- scintilla/src/AutoComplete.cxx | 4 +++- scintilla/src/EditView.cxx | 5 +++-- scintilla/src/EditView.h | 1 + scintilla/src/Editor.cxx | 2 ++ scintilla/src/Style.cxx | 3 --- scintilla/version.txt | 2 +- 15 files changed, 102 insertions(+), 50 deletions(-) commit 2523a25f9ca2db34f369f1b0bdb7107895bae762 Merge: 1d9bb56c 39daab1d Author: Colomban Wendling Date: Tue Apr 21 16:19:11 2015 +0200 Merge branch 'scintilla-update-script' Small improvements to the Scintilla update script commit 39daab1dc758550b993dc4ba4cea212aa9754d5b Author: Colomban Wendling Date: Tue Apr 21 16:09:57 2015 +0200 hacking: Add a section on how to upgrade the bundled Scintilla copy HACKING | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) commit efb639435c8ad0790951d7bde261463e57376905 Author: Colomban Wendling Date: Tue Apr 21 15:40:15 2015 +0200 Scintilla update script: only ask for checking when something changed Only ask the user to check the SciLexer.h diff if the file actually changed. scripts/update-scintilla.sh | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) commit 264df2ec7bc883e27b2668f43b08aad0cc244afb Author: Colomban Wendling Date: Tue Apr 21 15:39:30 2015 +0200 Scintilla update script: improve success banner scripts/update-scintilla.sh | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) commit 96cc37946f24ba8ff203cbfed5e816b966fa95d6 Author: Colomban Wendling Date: Tue Apr 21 15:34:54 2015 +0200 Scintilla update script: strip "a/" and "b/" automatically scripts/update-scintilla.sh | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) commit 1d9bb56c4a01f758244e86b81a8b0715ae0be4c1 Author: Colomban Wendling Date: Tue Apr 21 15:12:44 2015 +0200 Fix incorrect safety check in non-regex search code Only warn if MULTILINE is passed *together* with REGEX, but simply ignore if it not. src/search.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 97ab68244cd889730c61842eb94c1d23b20460b6 Author: Colomban Wendling Date: Mon Apr 20 20:34:00 2015 +0200 Fix "select-all" to work with any GtkTextView, not only the scribble This makes the code more generic and allows the "select-all" keybinding to work in any GtkTextView, e.g. potentially plugin's ones. src/callbacks.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 2110fc785d77355600229b9d41c399c565d13bf9 Merge: b839611e 4c504c2b Author: Colomban Wendling Date: Mon Apr 20 22:19:49 2015 +0200 Merge pull request #467 from pik/splitwindow Fix basic callbacks to work with splitwindow Closes #460 and #467. commit 4c504c2be245e3860ad546948f64553263c2fe79 Author: pik Date: Sun Apr 19 12:28:34 2015 -0400 Reorganize select callback * select_all now works with splitwindow * select_all now works with file-browser pane * menu_select_all now works everywhere select_all hotkey does src/callbacks.c | 22 ++++++++++++++++++++-- src/keybindings.c | 54 ++++++++++++------------------------------------------ 2 files changed, 32 insertions(+), 44 deletions(-) commit c214056ea1d000c6e53b158f616b680d1e02eb53 Author: pik Date: Sun Apr 19 12:20:55 2015 -0400 Fix callbacks to scintilla functions to work with splitwindow * Use Scintilla focus object instead of notebook document to fix splitwindow behaviour for cut, copy, paste and delete callbacks. * move else-if to same line (style) src/callbacks.c | 44 +++++++++++++++----------------------------- src/keybindings.c | 11 +++++------ 2 files changed, 20 insertions(+), 35 deletions(-) commit b839611e517f9ae853fc1eb9232ff3452a7e36bd Merge: 5e8c17ee 04c721c3 Author: Colomban Wendling Date: Mon Apr 20 20:04:47 2015 +0200 Merge branch 'ctags/make' Import make parser improvements from fishman/ctags#272 commit 04c721c3b41dee1fbc82e94dab74f35087b60333 Author: Colomban Wendling Date: Tue Apr 7 04:10:10 2015 +0200 make: Avoid reading an uninitialized value on empty target names Fixing this is however only theoretically useful, as: * no actual code paths can currently lead to it; * even if the code actually ended up reading the uninitialized value, it would still have a fully defined behavior as the result of the check is irrelevant in the only case the uninitialized read can happen. Anyway, fix this to avoid any possible bad surprises in the future. tagmanager/ctags/make.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 39f359b09aeeaeca18be4da06ec89bd9d18ea806 Author: Colomban Wendling Date: Sat Apr 4 01:27:58 2015 +0200 make: Add support for GNU make pattern rules tagmanager/ctags/make.c | 2 +- tests/ctags/Makefile.am | 1 + tests/ctags/make-gnumake-pattern-rules.mak | 8 ++++++++ tests/ctags/make-gnumake-pattern-rules.mak.tags | 6 ++++++ 4 files changed, 16 insertions(+), 1 deletion(-) commit a11d67bb0b46a94d08ff32676a724838be97a680 Author: Colomban Wendling Date: Thu Apr 2 20:00:40 2015 +0200 make: Fix handling comments inside rules A line consisting only of blanks or comments should not end a rule, even if it doesn't start with a tabulation character. tagmanager/ctags/make.c | 14 ++++++-------- tests/ctags/Makefile.am | 1 + tests/ctags/make-comment-in-rule.mak | 17 +++++++++++++++++ tests/ctags/make-comment-in-rule.mak.tags | 2 ++ 4 files changed, 26 insertions(+), 8 deletions(-) commit 2d31d8f836e3a16ae86dfb3f3426e5a272ca6f8c Author: Colomban Wendling Date: Thu Apr 2 17:19:43 2015 +0200 make: Support for combined targets tagmanager/ctags/make.c | 130 +++++++++++++-------------------- tests/ctags/Makefile.am | 1 + tests/ctags/make-multi-target.mak | 8 ++ tests/ctags/make-multi-target.mak.tags | 5 ++ tests/ctags/simple.mak.tags | 2 +- 5 files changed, 67 insertions(+), 79 deletions(-) commit 5bed3b58f337c95f7069ffbc9fbd23e83f55ad04 Author: Colomban Wendling Date: Thu Apr 2 14:56:16 2015 +0200 make: Support for variable expansions in target names tagmanager/ctags/make.c | 37 +++++------------------ tests/ctags/Makefile.am | 1 + tests/ctags/make-target-with-parentheses.mak | 1 + tests/ctags/make-target-with-parentheses.mak.tags | 3 ++ tests/ctags/simple.mak.tags | 1 + 5 files changed, 14 insertions(+), 29 deletions(-) commit 0d60359428a82b8c371b920ba0a7bce0e59e59db Author: Colomban Wendling Date: Wed Apr 1 18:31:26 2015 +0200 make: Fix incorrectly generating tags for rules content tagmanager/ctags/make.c | 3 ++- tests/ctags/Makefile.am | 1 + tests/ctags/make-variable-on-cmdline.mak | 2 ++ tests/ctags/make-variable-on-cmdline.mak.tags | 2 ++ tests/ctags/simple.mak.tags | 2 -- 5 files changed, 7 insertions(+), 3 deletions(-) commit 5e8c17eea266a936738c05a763a95fbb1f899ac0 Author: Frank Lanitz Date: Mon Apr 20 07:43:50 2015 +0200 Update of Portuguese translation po/pt.po | 1073 +++++++++++++++++++++++++++++++------------------------------- 1 file changed, 536 insertions(+), 537 deletions(-) commit c1db044b30d202c9a74d7490b332d9cf72dc5faa Author: Dimitar Zhekov Date: Sun Apr 19 19:17:44 2015 +0300 Separate spawn_read_cb() condition into input_cond and failure_cond src/spawn.c | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) commit 26a417d04d2ce58821a487ed32a78f9043721093 Author: Enrico Tröger Date: Sun Apr 19 16:09:09 2015 +0200 Fix typo tagmanager/ctags/php.c | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) commit e3ef006d59bbf2f034638be07e874cb8688da178 Author: Enrico Tröger Date: Sun Apr 19 16:04:26 2015 +0200 Drop the paragraph about self-hosted GTK API docs We assume that the GTK 2.24 API docs will remain online in the long-term so there is no reason why we should self-host those docs any longer. This is the last missing bit of #245. HACKING | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) commit 3f89d8d6a38442a25c877c6a7bd0aa45f3f01e35 Author: Enrico Tröger Date: Sat Apr 18 10:46:54 2015 +0000 Add translation block to properly set version information This seems necessary to properly display version information in the Windows Explorer file properties dialog. I think it worked on older Windows versions without but at least on Windows 7 this seems necessary. geany_private.rc | 4 ++++ 1 file changed, 4 insertions(+) commit d8ad369f8edf2468c31e3391c43648af7fe3d518 Merge: 902681d2 b8684a00 Author: Dimitar Zhekov Date: Sat Apr 18 12:31:41 2015 +0300 Merge branch 'master' of https://github.com/geany/geany into spawn Conflicts: src/build.c src/tools.c commit 902681d260435fde5181652839a9e49170150c41 Author: Dimitar Zhekov Date: Sat Apr 18 11:47:31 2015 +0300 Fix for the broken I/O watch conditions on child exit under OSX Under OSX, after child death, the read watches receive input conditions instead of error conditions, so we convert the termination statuses (ERROR and EOF) into their respective conditions. Should not hurt the other OS. src/spawn.c | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) commit b8684a00f0b9bccbe739f797ffea92bb6b33613a Merge: 723f4302 e9f4365a Author: Frank Lanitz Date: Sat Apr 18 09:43:07 2015 +0200 Merge pull request #472 from huth/fixes Fix typos in comments commit e9f4365a378ad254e97c8d43a70499958ce3224e Author: Thomas Huth Date: Sat Apr 18 08:25:59 2015 +0200 Fix typos in comments (discovered with the codespell utility) doc/pluginsignals.c | 2 +- doc/pluginsymbols.c | 2 +- src/build.c | 4 ++-- src/dialogs.c | 4 ++-- src/msgwindow.c | 6 +++--- src/tools.c | 4 ++-- src/utils.c | 2 +- 7 files changed, 12 insertions(+), 12 deletions(-) commit 723f4302e0d7bbd938c789b9730366f7c7e03080 Author: Colomban Wendling Date: Fri Apr 17 15:11:00 2015 +0200 autotools: Avoid building non-shared versions of the object files libtool apparently builds every object twice by default when shared and static objects need to be build differently. As we never use the statically linked objects, avoid building them at all. configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit a98c9d50843911340f89b17db5bf707aa00557c2 Merge: 331a2bba db4bf54b Author: Colomban Wendling Date: Wed Apr 15 14:01:40 2015 +0200 Merge pull request #468 from techee/link_warning Compile prefix.c and osx.c only when needed to avoid warnings commit 331a2bbab9aae45c7eef7abd9825c463f893798f Author: Frank Lanitz Date: Wed Apr 15 00:56:46 2015 +0200 Update of Portuguese translation po/pt.po | 5222 ++++++++++++++++++++++++++++++++++---------------------------- 1 file changed, 2860 insertions(+), 2362 deletions(-) commit 83f261fd64b1a1e53782aee4b9ce9970696d3f81 Author: Jiří Techet Date: Sat Apr 4 22:26:58 2015 +0200 filebrowser: Add a flag to the tree model to indicate whether en entry is a directory Used by the subsequent patch which changes "stock-id" to GIcon and disables row type detection using FILEVIEW_COLUMN_ICON. plugins/filebrowser.c | 24 ++++++++++-------------- 1 file changed, 10 insertions(+), 14 deletions(-) commit db4bf54b2f963ce2259a0422e22d7e63aa43337b Author: Jiří Techet Date: Tue Apr 14 22:21:34 2015 +0200 Compile prefix.c and osx.c only when needed to avoid warnings When mac integration or binary relocation are disabled, the compiled object file contains no symbols because the guards in the source files hide all code. On OS X there's a warning during compilation saying: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: .libs/libgeany.a(libgeany_la-prefix.o) has no symbols If these features are disabled, don't compile the corresponding sources to avoid the warnings. Interestingly, waf compilation works without warnings - it appears linking is done through g++ which doesn't produce these warnings. m4/geany-binreloc.m4 | 6 ++++-- m4/geany-mac-integration.m4 | 3 ++- src/Makefile.am | 10 ++++++++-- 3 files changed, 14 insertions(+), 5 deletions(-) commit b0f7f2859ba46e908e84c75b68e72908ac20d06d Author: Enrico Tröger Date: Sat Feb 14 14:20:45 2015 +0100 Add a filter entry in the plugin manager dialog Let the user filter plugins by searching the plugin names and descriptions. While at it, group the plugin buttons into the dialog's action area to save some space. Rename OK button to Close in the plugin manager dialog Set the input focus to the filter entry and set initial plugin button state src/plugins.c | 204 ++++++++++++++++++++++++++++++++++++++++++---------------- 1 file changed, 150 insertions(+), 54 deletions(-) commit 31ae06f7e59993c2a6d2ef7d96db1b48e9787fae Merge: d97709ff f6fbda76 Author: Enrico Tröger Date: Tue Apr 14 20:01:45 2015 +0000 Merge pull request #466 from techee/waf_build_tree waf: explicitly set the location of signallist.i and geany.html in the b... commit f6fbda768e67ec7ac943dc5381eaf8b4aef7129c Author: Jiří Techet Date: Mon Apr 13 23:00:43 2015 +0200 waf: explicitly set the location of signallist.i and geany.html in the build tree On OS X signallist.i is always rebuilt because waf looks for it in the build tree but generates it inside the source tree for some reason so it's always missing in the build tree. Set the target explicitly to the build tree to fix the problem. Similarly, set the target for geany.html to the build tree. Thanks to this waf also creates the 'doc' directory in the build tree which is otherwise missing and the cwd command fails for this reason (e.g. when the _build_ directory is removed). These two task generators are the only ones that don't use the 'features' parameter - the features in the other task generators should already handle the source/build tree problems for us (see the Waf Book section 6.3.3. Nodes, tasks, and task generators). wscript | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit d97709ff8662736520e53343409301b5bcc36100 Merge: ab6c145d ccfe8f23 Author: Colomban Wendling Date: Mon Apr 13 17:59:54 2015 +0200 Merge pull request #462 from techee/waf_install waf: Disable build/install phase interleaving commit ab6c145d45c96f9bff6add928c330faf82708366 Merge: d14ecd68 a7ada396 Author: Colomban Wendling Date: Mon Apr 13 17:57:54 2015 +0200 Merge pull request #457 from techee/icon2 Two more Geany icon updates commit d14ecd68c5de7055bfd5a6000c55650951ffb784 Author: Colomban Wendling Date: Mon Apr 13 14:11:45 2015 +0200 Add a missing accelerator in the French translation po/fr.po | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit d0a431e071fa09165abacbde1dad33a24fac1cf1 Author: Matthew Brush Date: Sun Apr 27 04:53:01 2014 -0700 Remove pre-GTK+ 2.24 preprocessor checks and related code src/dialogs.c | 6 +----- src/gtkcompat.h | 25 ------------------------- src/printing.c | 2 -- src/ui_utils.c | 25 +------------------------ 4 files changed, 2 insertions(+), 56 deletions(-) commit bdc082cb7782828bd3be5992ca2e6006f2330890 Author: Matthew Brush Date: Sun Apr 27 04:25:38 2014 -0700 Bump min. version of GTK2 to 2.24 and GLib to 2.28 Note: This is mostly search and replace. I've only tested with my GTK+ 2.24.20 and not at all the Waf build system. HACKING | 10 +++++----- README | 4 ++-- configure.ac | 4 ++-- data/geany.glade | 2 +- doc/geany.txt | 4 ++-- wscript | 4 ++-- 6 files changed, 14 insertions(+), 14 deletions(-) commit a23f4b2d39f8427eae024ad9a81f565baaa0b88a Author: Enrico Tröger Date: Sun Apr 12 23:11:28 2015 +0200 Remove deprecated and unnecessary use of GeanyFunctions declaration plugins/classbuilder.c | 1 - plugins/demoplugin.c | 1 - plugins/export.c | 1 - plugins/filebrowser.c | 1 - plugins/htmlchars.c | 1 - plugins/saveactions.c | 1 - plugins/splitwindow.c | 1 - 7 files changed, 7 deletions(-) commit b9e090d2c84d7114a01537fad2968b93e978747e Merge: f0320674 d1a3ec18 Author: Enrico Tröger Date: Sun Apr 12 22:54:22 2015 +0200 Merge branch 'master' of github.com:geany/geany commit f03206744361baac1c811db97f5d2816409d7787 Author: Enrico Tröger Date: Sun Apr 12 22:54:16 2015 +0200 Windows: Compile geany_private.rc into Geany.exe for version data and icon wscript | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) commit 36f01551b2c4e2285c6541f24bb13010e8959605 Author: Enrico Tröger Date: Sun Apr 12 22:53:24 2015 +0200 Windows Installer: add geany-0.dll to the installer geany.nsi | 1 + 1 file changed, 1 insertion(+) commit a7ada396e262e347e4e1e1d1957fd1c947c8e32d Author: Jiří Techet Date: Sun Apr 12 22:44:50 2015 +0200 icon: regenerate png/ico files based on the svg icons/16x16/geany.png | Bin 856 -> 857 bytes icons/32x32/geany.png | Bin 2368 -> 2369 bytes icons/48x48/geany.png | Bin 4240 -> 4233 bytes icons/geany.ico | Bin 23558 -> 23558 bytes 4 files changed, 0 insertions(+), 0 deletions(-) commit ccfe8f23c154327ef2f033933f4f6e6a34cb67bf Author: Jiří Techet Date: Sun Apr 12 20:57:17 2015 +0200 waf: Disable build/install phase interleaving When doing "./waf install" and some source files are modified so they need to be rebuilt, the build and install phase can be interleaved so one thread is still performing build while other thread is already performing install tasks. This appears to be a problem (at least on OS X) when some of the Geany plugins are still being built and libgeany is already being installed in parallel. Create a separate group for the install phase to eliminate the problem. wscript | 3 +++ 1 file changed, 3 insertions(+) commit d1a3ec1849c3cd337c3eef9cd25374248da97bab Author: Colomban Wendling Date: Sun Apr 12 17:33:55 2015 +0200 Small update of the French translation po/fr.po | 1335 +++++++++++++++++++++++++++++++------------------------------- 1 file changed, 670 insertions(+), 665 deletions(-) commit 87ee835ef22c6a8658eb479b29981e7379fa5c83 Author: Matthew Brush Date: Sat Apr 11 11:44:55 2015 -0700 Export scintilla_get_type() from libgeany This is useful for plugins to be able to subclass the ScintillaObject and use its full GObject features. The Overview plugin is one known plugin that needs this. Also update scintilla_changes.patch by running update-scintilla.sh script with patch application commented-out and generating a reverse diff using `git -R`, and manually remove `a/` and `b/` prefixes from the resulting diff so it can be used with update-scintilla.sh script. scintilla/gtk/ScintillaGTK.cxx | 1 + scintilla/scintilla_changes.patch | 33 +++++++++++++++++++++------------ src/plugindata.h | 2 +- 3 files changed, 23 insertions(+), 13 deletions(-) commit 8bbe58cdf79b91aa1eb38d1ac933fafdf280dc6a Author: Matthew Brush Date: Fri Apr 10 18:52:46 2015 -0700 Fix a compiler warning about const src/utils.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) commit f3078ebbc60b9747683029df0fa283d8f3e762a5 Merge: 4e6da78f 5caf2b3e Author: Colomban Wendling Date: Fri Apr 10 16:54:30 2015 +0200 Merge branch 'kugel-/linkage-cleanup_rebase-for-merge' This merges PR#429 with only small history cleanup (no code changes), and ABI bump. Closes #355, #358 and #429. commit 5caf2b3e77780daf52d59a4088efa5b8628e3f22 Author: Colomban Wendling Date: Fri Apr 10 16:52:30 2015 +0200 Bump ABI version for new linkage mechanism src/plugindata.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 07dacb66d23b58b34eee51aac28a8ad2fcf5693c Author: Colomban Wendling Date: Mon Apr 6 01:52:38 2015 +0200 waf: Improve passing of export and visibility flags wscript | 31 ++++++++++++++++--------------- 1 file changed, 16 insertions(+), 15 deletions(-) commit 7ac4bf3d24a08533e2557c30624aa961c3547c4e Author: Colomban Wendling Date: Mon Apr 6 02:22:53 2015 +0200 waf: Don't abuse static libraries Instead of abusing static libraries putting shared objects in them, and manually setting the flags required to build shared objects, use sets of objects and Waf's own cshlib/cxxshlib flags. Also explicitly call the appropriate build context method instead of only listing features in order to make it clear what is built. Some references: * http://docs.waf.googlecode.com/git/book_16/single.html#_predefined_task_generators * http://docs.waf.googlecode.com/git/book_16/single.html#_local_libraries * https://code.google.com/p/waf/issues/detail?id=1398 wscript | 42 ++++++++++++++++-------------------------- 1 file changed, 16 insertions(+), 26 deletions(-) commit 01db7f0cac907d283a84976ff3b542160c317a7a Author: Colomban Wendling Date: Sun Apr 5 00:38:59 2015 +0000 Add signallist.i to gitignore .gitignore | 1 + 1 file changed, 1 insertion(+) commit 5b9bb1d7b20f61c092d31bff1dbfe89eda566d87 Author: Colomban Wendling Date: Sun Apr 5 00:27:47 2015 +0000 Include geanyplugin.h from geanyfunctions.h for compatibility geanyfunctions.h used to bring all function declarations, and some plugins depend on this side effect instead of properly including geanyplugin.h directly. So, reintroduce the behavior for compatibility with those plugins. plugins/geanyfunctions.h | 1 + 1 file changed, 1 insertion(+) commit ede1faca54dcd96848047f4cde5fe989e9813e3a Author: Colomban Wendling Date: Sun Apr 5 00:24:28 2015 +0000 Move GeanyFunctions declaration back in plugindata.h This avoids breaking plugins that don't use geanyplugin.h as they should but include some random headers. plugins/geanyfunctions.h | 4 ---- src/plugindata.h | 5 +++++ 2 files changed, 5 insertions(+), 4 deletions(-) commit e4ab28058d1482b1b7383138dfee8cfc6f4c5d7f Author: Thomas Martitz Date: Sun Apr 5 20:03:59 2015 +0200 waf: set rpath for executable Whether rpath is liked or not, it allows geany to Just Work and is consistent with autotools wscript | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) commit 7649a6921fc36a518a38d0c35006ed100ad5486b Author: Thomas Martitz Date: Sun Apr 5 16:55:11 2015 +0200 waf: Fix core plugins on Linux The -fvisibility=hidden flag for libgeany.so is also applied to plugins. This is not desirable. wscript | 2 ++ 1 file changed, 2 insertions(+) commit a1f2d0b94a8b49ce656f217afcc288fe49ff9aef Author: Thomas Martitz Date: Sun Apr 5 16:54:55 2015 +0200 waf: Don't use temp variables wscript | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) commit 11b5c0216fab87a743ffa9adba66c60811ec8626 Author: Thomas Martitz Date: Wed Apr 1 21:13:00 2015 +0200 stash_group_add_boolean is an API function, misplaced within GEANY_PRIVATE src/stash.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) commit 1c27e41bfa4bee44ef425f05bf3eabb8bd4ca2fe Author: Thomas Martitz Date: Wed Apr 1 07:19:59 2015 +0200 The mkstemps special case for windows is not necessary tagmanager/ctags/ctags.c | 4 ---- 1 file changed, 4 deletions(-) commit a320609d5f3e25104f072c196484ef8072bb4ea1 Author: Thomas Martitz Date: Wed Apr 1 07:18:46 2015 +0200 waf: Fixes for libgeany - libgeany install dir was wrong on win32 - comdlg32 is required - more headers need to be installed - -fPIC is required on some platforms - LINKFLAGS_cprogram now have to be applied to libgeany.dll wscript | 52 ++++++++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 44 insertions(+), 8 deletions(-) commit 05f362b3bd5247dc9102c908d98b393cc0175242 Author: Thomas Martitz Date: Wed Apr 1 07:56:30 2015 +0200 Have to include a few more headers for plugins plugins/geanyplugin.h | 3 +++ 1 file changed, 3 insertions(+) commit b2ba6c84d51890ce9366c6620f5a48ba720d14a1 Author: Colomban Wendling Date: Sun Mar 15 23:54:17 2015 +0100 autotools: Cleanup makefile a little src/Makefile.am | 4 ---- 1 file changed, 4 deletions(-) commit 4e02f5884770726fdb6464ff8dcd0a469fae5549 Author: Colomban Wendling Date: Sun Mar 15 20:39:52 2015 +0100 autotools: Remove useless declaration There is no need for tricking Automake to use the C++ linker to link the main executable anymore, this is done for libgeany now. src/Makefile.am | 1 - 1 file changed, 1 deletion(-) commit e61948adbda8597fdaf1ffeb7b92f3dbfed63c01 Author: Colomban Wendling Date: Sun Mar 15 18:24:04 2015 +0100 Fix or remove incorrect comments src/Makefile.am | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) commit 90b5e9b76f6650ea016f665613c660d54a089432 Author: Colomban Wendling Date: Sun Mar 15 14:30:14 2015 +0100 waf: Add rule to generate signallist.i Based on previous work from Matthew Brush. wscript | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) commit dbe910ca5e059cc67b53b1dac62147e1fcdd7e3c Author: Thomas Martitz Date: Wed Mar 11 08:02:04 2015 +0100 GEANY_API_SYMBOL for project_write_config() src/project.c | 1 + 1 file changed, 1 insertion(+) commit 56b9189a6cf42d877de5cbab64b22e722a0097ab Author: Colomban Wendling Date: Tue Mar 10 23:20:55 2015 +0100 Fix generation of `signallist.i` with BSD sed 4.2BSD sed doesn't understand the `+` quantifier, so use `{1,}`. src/Makefile.am | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit c85b846eeb08ff9c3260f35a51367736e8b87287 Author: Colomban Wendling Date: Tue Mar 10 22:41:06 2015 +0100 Simplify automated signal connection Instead of processing a template C source in the build system, generate a list to be included by the preprocessor. This simplifies the build system code as it now only generates the list and doesn't take care of processing the template. It incidentally fixes build on systems with 4.2BSD sed (at least OSX and FreeBSD) as it removes some offending sed code. src/Makefile.am | 16 ++++++---------- src/callbacks.c | 34 +++++++++++++++++++++++++++++++++- src/signalconn.c.in | 32 -------------------------------- 3 files changed, 39 insertions(+), 43 deletions(-) commit 11d4bcf7c29b587b59a0bd1fbec754c7e1439c6f Author: Thomas Martitz Date: Tue Mar 10 22:41:09 2015 +0100 Only use LIBGEANY_CFLAGS on libgeany. It includes stuff like -fvisibility which isn't appropriate for the main binary. src/Makefile.am | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 43037b379b10637eca15dc5c2ce4de80abd73f0c Author: Enrico Tröger Date: Sun Jan 18 16:44:57 2015 +0100 waf: Implement check whether compiler supports -fvisibility=hidden This is a bit better than compiler == 'gcc'. Tested with gcc 4.9 (success) and gcc 3.4.5 (not supported). wscript | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) commit 3d0bdbd6da48ea2000aff937b34baec57f98bb2b Author: Enrico Tröger Date: Sun Jan 18 16:23:00 2015 +0100 waf: The GEANY_*_SYMBOL flags also need to be defined for C++ In Waf, we need to add the new flags to CFLAGS *and* CXXFLAGS otherwise the Scintilla build would break. To keep it more reabable, we first populate a temporary list geany_symbol_flags which is then added to CFLAGS and CXXFLAGS. Concerning the quote FIXME: no further qoting is necessary here. wscript | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) commit abc5f3239b45d6a3853276678f72de59ebf67c53 Author: Enrico Tröger Date: Sun Jan 18 15:53:01 2015 +0100 waf: Adjust to build and use libgeany wscript | 29 +++++++++++++++++++---------- 1 file changed, 19 insertions(+), 10 deletions(-) commit 616cbe3da9cfb69f6e9f265cdfd35715d7ab4e9d Author: Thomas Martitz Date: Wed Feb 25 17:01:02 2015 +0100 src: Makefile.am cleanup src/Makefile.am | 163 ++++++++++++++++++++++++++------------------------------ 1 file changed, 76 insertions(+), 87 deletions(-) commit 9eee68b71d322e7bbc74d48d4719e0713825d474 Author: Colomban Wendling Date: Tue Oct 28 15:38:12 2014 +0100 Fix exporting Scintilla symbols scintilla/gtk/ScintillaGTK.cxx | 2 ++ scintilla/scintilla_changes.patch | 20 ++++++++++++++++++++ src/sciwrappers.c | 8 -------- 3 files changed, 22 insertions(+), 8 deletions(-) commit 9644fb0ae21601b5acb6a5a5763a1e558a95c315 Author: Colomban Wendling Date: Tue Oct 28 15:31:01 2014 +0100 Define GEANY_{EXPORT,API}_SYMBOL from the build system This makes it easier to define it consistently to what the compiler and platform supports, and avoids having to include a special header everywhere, which is some kind of a problem for separate libraries like TagManager and especially Scintilla. As we only use these macros from the source and not the headers, it is fine for it to be defined to a configure-time check from the build system. Warning: Although Waf and Windows makefiles are updated they are not tested an will probably required tuning. m4/geany-lib.m4 | 55 ++++++++++++++++++++++++++++------------- scintilla/gtk/makefile.win32 | 4 ++- src/Makefile.am | 1 - src/build.c | 1 - src/callbacks.c | 1 - src/dialogs.c | 1 - src/document.c | 1 - src/editor.c | 1 - src/encodings.c | 1 - src/filetypes.c | 1 - src/highlighting.c | 1 - src/keybindings.c | 1 - src/libmain.c | 1 - src/makefile.win32 | 4 ++- src/msgwindow.c | 1 - src/navqueue.c | 1 - src/pluginexport.h | 34 ------------------------- src/pluginutils.c | 1 - src/project.c | 1 - src/sciwrappers.c | 1 - src/search.c | 1 - src/stash.c | 1 - src/symbols.c | 1 - src/templates.c | 1 - src/ui_utils.c | 1 - src/utils.c | 1 - tagmanager/src/makefile.win32 | 4 ++- tagmanager/src/tm_source_file.c | 1 - tagmanager/src/tm_workspace.c | 1 - wscript | 13 ++++++++++ 30 files changed, 60 insertions(+), 78 deletions(-) commit 4e6da78f54e8734dc84386c2df1610985da91931 Author: Colomban Wendling Date: Fri Apr 10 00:24:20 2015 +0200 PHP: Use the variable style for variable interpolated in strings Use the same variable style for simple interpolations ("$foo") than for complex ones ("${foo}") instead of using the string style itself. This gives a visual feedback for simple interpolations. data/filetypes.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 1bed458ab9e9c9d3d37440a8c7543c27b073e556 Merge: 11e16eed 4e0193d8 Author: Colomban Wendling Date: Thu Apr 9 01:06:57 2015 +0200 Merge pull request #270 from b4n/zephir-filetype Zephir filetype commit 5cf2511945f9598530401f31b62403a3a40bd8b6 Author: Jiří Techet Date: Sun Apr 5 11:45:49 2015 +0200 icon: Adjust the color of the inside of the bottleneck The (almost) black color of the inside of the bottleneck is a bit too high contrast and doesn't fit the rest of the icon (the only black part of it). Use the "lamp yellow" as the base and lower the L in HSL representation of the color so it just looks as darker lamp material. icons/scalable/geany.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit cbd13b8f71bf788273f73e2e109fd3702d0c9be6 Author: Jiří Techet Date: Sun Apr 5 11:32:24 2015 +0200 icon: Adjust the left-bottom curve of the bottleneck After making the bottleneck wider (by shifting the curve to the left), the curve became flatter which looks strange. Make the curve a bit more round in the middle. icons/scalable/geany.svg | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 942d4c6b7fbc10eaf984b4c6d51fcf4efd56f2fa Author: Jiří Techet Date: Mon Apr 6 19:19:55 2015 +0200 Start bash as a login shell in VTE under OS X Graphical applications on OS X are started using launchd and don't inherit shell's environment variables so we don't get the PS1 value. Do the same as the OS X terminal emulator which runs the shell as a login shell (and yes, on OS X .bash_profile is read for shells started in the terminal application instead of .bashrc). src/keyfile.c | 7 +++++++ 1 file changed, 7 insertions(+) commit ed3142d0dfacded023fc78d4bd2f0a5b81fe588b Author: Jiří Techet Date: Mon Apr 6 19:12:34 2015 +0200 Use editor's default font also for VTE On OS X Monospace 10 is too small (and using non-standard font). As we already have a special OS X font for the editor, use this value (having identical fonts both for the editor and VTE seems to be a good default). src/keyfile.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit bfa93af5cc3ee23cd049e5a144f2c393aba45e95 Author: Dimitar Zhekov Date: Sun Apr 5 18:49:28 2015 +0300 Remove the includes of and from *.c These are included from spawn.h under Unix now. Also fixes spawn.c including without src/search.c | 5 ----- src/spawn.c | 3 --- src/tools.c | 5 ----- 3 files changed, 13 deletions(-) commit e838ef744b930695a913aabbc0a82a92b3378aa8 Author: Dimitar Zhekov Date: Sun Apr 5 18:43:11 2015 +0300 Define the WIF* and WEXITSTATUS macros in spawn.h under all OS In particular, include and under Unix. src/spawn.h | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) commit 2f0c9686e23b96544fef66073f4ff1e772a0e921 Author: Dimitar Zhekov Date: Sat Apr 4 19:46:45 2015 +0300 Improved blanks handling in Windows command lines The argument quoting must be permissive (g_ascii_isspace() doesn't handle '\v'), the program name to arguments separator must be fixed to restrictive, and the leading spaces are somewhere between. Also fixed the test program to check for exactly 2 arguments. src/spawn.c | 24 ++++++++++++++++-------- 1 file changed, 16 insertions(+), 8 deletions(-) commit 11e16eed6fdb66e6a4046ea5cf6c718c6ce830cd Author: Colomban Wendling Date: Sat Mar 28 23:43:33 2015 +0100 Remove an unused argument src/symbols.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit ac00cc0ff6b8555cfe7142579ff6f82f7d6fde3d Author: Dimitar Zhekov Date: Wed Apr 1 21:45:25 2015 +0300 Add working directory to the "execute" test src/spawn.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) commit 8745ba58ae8e5582de7b3c828ac1eefa4e62e134 Author: Dimitar Zhekov Date: Wed Apr 1 21:16:23 2015 +0300 Fix Windows attempts to run 2+ unquoted tokens as a program When passed Foo Bar Qux as a command line, Windows will try to run Foo.exe Bar Qux, then "Foo Bar.exe" Qux, and last "Foo Bar Qux.exe", for maximum flexibility. Quoting Foo supresses this behaviour. src/spawn.c | 79 ++++++++++++++++++++++++++++++++++++++++++++++++------------- src/spawn.h | 2 ++ 2 files changed, 64 insertions(+), 17 deletions(-) commit d4f707bb78d0dff94bf2f64d12dd6ca393dcfbef Author: Frank Lanitz Date: Tue Mar 31 07:10:31 2015 +0200 Small update of German translation po/de.po | 110 +++++++++++++++++++++++++++++++++++---------------------------- 1 file changed, 61 insertions(+), 49 deletions(-) commit 47a7b507a7f0d4febf94d58368572b4db644856d Author: Dimitar Zhekov Date: Mon Mar 30 20:33:55 2015 +0300 Remove the unneeded win32_spawn() and win32_get_exit_status() These are not part of the plugin interface, and are not used in Geany any more after the spawn changes. src/win32.c | 493 ------------------------------------------------------------ src/win32.h | 5 - 2 files changed, 498 deletions(-) commit 7bebf64f3da1fa3ae72e56c6ee4a9039701c8be5 Author: Dimitar Zhekov Date: Sun Mar 29 13:51:07 2015 +0300 Fix SPAWN_UNBUFFERED description src/spawn.h | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) commit b3f3bfeee0d92509a2554463286a42ffbe1b0554 Author: Dimitar Zhekov Date: Sun Mar 29 13:47:13 2015 +0300 Alter utils.c to use the new spawning module Also simplified the utils_open_browser() loop. src/utils.c | 80 +++++++++++++++++++------------------------------------------ 1 file changed, 24 insertions(+), 56 deletions(-) commit 0aee6de04586bf56e40b8588f586259582f0055b Author: Dimitar Zhekov Date: Sat Mar 28 13:35:20 2015 +0200 Single-quote file name in the default printing command under Unix src/keyfile.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 44dc8a1c2e850bd0c370bd2ddafc2ed5702c360a Author: Dimitar Zhekov Date: Sat Mar 28 13:13:27 2015 +0200 Fix a small leak and the checks for output/errors from the child In particular, if the child is executed successfully, and did not emit anything to stderr, an empty output is considered valid. The original tried to check, and leave the selection unchanged on empty output, but it did not always work. src/tools.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) commit ca02c593e732c27c91cbf072abd798246d867d30 Merge: 1cea0b6a 3e6cea69 Author: Colomban Wendling Date: Fri Mar 27 14:44:55 2015 +0100 Merge pull request #445 from bengtan/erlang-fishman-ctags Implement Erlang ctags commit 3e6cea696a86fa54be9c9b2cc7947b9280147195 Author: Beng Tan Date: Fri Mar 27 11:03:17 2015 +0800 Update Erlang ctags test. tests/ctags/test.erl.tags | 2 ++ 1 file changed, 2 insertions(+) commit 36d1db4bc761cb666f2594dbf1a8f6380da60d43 Author: Beng Tan Date: Fri Mar 27 10:56:25 2015 +0800 Change kind names for Erlang ctags parser ... so the tags will appear in Geany. tagmanager/ctags/erlang.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 1cea0b6a79c020bc5c44558fa9509affaee956ec Merge: f3561475 1a36eeaf Author: Colomban Wendling Date: Thu Mar 26 22:53:29 2015 +0100 Merge pull request #411 from techee/shadows Use consistent shadows across Geany commit f5cad4365aaa7a85c5ac8673ce6362c5bd10fec9 Author: Dimitar Zhekov Date: Thu Mar 26 18:31:08 2015 +0200 Fix a small leak and re-utf8 of grep cmd / extra options in Messages ixed a small memory leak (argv_prefix) introduced with the spawning change. Simplified the utf8_dir handling, there's no reason to re- convert it to utf-8. Restored the original grep command display in Messages (as entered in Tools vs. found by g_find_program_in_path), but fixed the re-utf8-izing of the command and extra options. Grouped in one commit, since these changes affect the same lines, and are actually small. src/search.c | 28 ++++++++++++---------------- 1 file changed, 12 insertions(+), 16 deletions(-) commit a3af98cfc99884c8040f1de0b5fa8d3f57421ddb Author: Dimitar Zhekov Date: Mon Mar 23 20:02:43 2015 +0200 Altered keyfile.c to use the new spawning module In particular, changed the default printcmd not to "single quote paths on Win32 for g_spawn_command_line_async", but use the native double quotes. Also fixed it not to g_strconcat(NULL, ...) if lpr is missing under Unix. It works, but glib says the first string must not be NULL, and the command becomes wrong anyway. src/keyfile.c | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) commit 6e92c5f64aa4bcf4434a8d2b191f7e85724d231e Author: Dimitar Zhekov Date: Mon Mar 23 19:46:04 2015 +0200 Altered tools.c to work with the new spawning module The tools (from Edit -> Format -> Send Selection to) are now spawned synchronously, which guarantees that both the document and it's selection will be unchanged when the tool completes. src/tools.c | 257 ++++++++---------------------------------------------------- 1 file changed, 34 insertions(+), 223 deletions(-) commit 0f179331ef0760af7c5e7a61dbb9f70ba8c8e43f Author: Enrico Tröger Date: Sat Jan 31 17:27:31 2015 +0100 Add a popup menu to the plugin list in the plugin manager dialog This makes it easier to reach plugins' configure, keybindings and help functions. src/plugins.c | 62 +++++++++++++++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 56 insertions(+), 6 deletions(-) commit 1a36eeaf4d6a5cab39d2cfd2c69a1a2f6e2bce70 Author: Jiří Techet Date: Sun Mar 22 15:32:54 2015 +0100 Use consistent shadows across Geany In principle, any scrolled window should have GTK_SHADOW_IN so the scrollbars are not above the surface and there is a frame around the scrolled area. The only exception are the elements of the main window where adding GTK_SHADOW_IN causes there are too many shadows (or lines in 2D themes) around the windows and the result isn't nice. So use GTK_SHADOW_NONE for all main editor scrolled windows. (One additional exception is the Help->Credits page which is gray and the extra frame doesn't look good.) Replace frame around VTE with GtkViewport to avoid the extra line around. Raise the second editor from the splitwindow plugin so it's at the same level as the main editor. data/geany.glade | 4 ++-- plugins/htmlchars.c | 4 ++-- plugins/splitwindow.c | 9 +++++++-- src/gb.c | 4 +--- src/highlighting.c | 2 +- src/keybindings.c | 2 +- src/log.c | 1 + src/sidebar.c | 1 + src/toolbar.c | 4 ++-- src/vte.c | 9 +++------ 10 files changed, 21 insertions(+), 19 deletions(-) commit 3566baa60861933435dff39fadcb82693ea95a25 Author: Dimitar Zhekov Date: Sat Mar 21 19:58:11 2015 +0200 Alter printing.c to use the new spawning module src/printing.c | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) commit 353b748cf75b29d3d342757759d220d9f47aa563 Author: Dimitar Zhekov Date: Sat Mar 21 19:45:38 2015 +0200 Alter callbacks.c to use the new spawning module src/callbacks.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) commit a3f4170a4bd503e26208a5eb5dbab93b4761fbfe Author: Dimitar Zhekov Date: Sat Mar 21 19:36:14 2015 +0200 Alter templates.c to use the new spawning module src/templates.c | 44 ++++++++++++++++++++++---------------------- 1 file changed, 22 insertions(+), 22 deletions(-) commit 74171cca5026e915e68b55f420b986b266ddcf7f Author: Dimitar Zhekov Date: Thu Mar 19 20:03:33 2015 +0200 Alter search.c to use the new spawning module Also enabled the Grep tool setting to be used as a command line, instead of an executable name only, and fixed a small bug where the search text displayed in Messages was re-utf8-ed. src/search.c | 162 ++++++++++++++++++++++------------------------------------- 1 file changed, 61 insertions(+), 101 deletions(-) commit 4a0ea0ce1f8e0b85fe390d8aa1c7e967a9c92ce7 Author: Dimitar Zhekov Date: Thu Mar 19 19:08:46 2015 +0200 Do not reallocate the build output/error text received by spawn src/build.c | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) commit 3b723b8ce000ce5bd60a5dc41cb3c620bfaba381 Author: Dimitar Zhekov Date: Thu Mar 19 19:03:59 2015 +0200 Fix a memory leak when checking a spawn command line src/spawn.c | 1 + 1 file changed, 1 insertion(+) commit f35614757ba56cfb53d58fa506dbad1afee17059 Author: Colomban Wendling Date: Tue Mar 17 14:09:31 2015 +0100 Mark an argument const src/utils.c | 2 +- src/utils.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) commit faa6cd8614f59b16babbe0e48396659e0a411021 Author: Dimitar Zhekov Date: Mon Mar 16 22:25:54 2015 +0200 Clarify that a spawn stdout/stderr cb may modify the passed string src/spawn.h | 2 ++ 1 file changed, 2 insertions(+) commit dccd421a798d549b935e4dd674fa6a87e4b52ed5 Author: Dimitar Zhekov Date: Mon Mar 16 22:23:28 2015 +0200 Don't check a spawned command line twice under Unix src/spawn.c | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) commit 05415e53b63c89e104e93bc729bb8b3344d61525 Author: Dimitar Zhekov Date: Mon Mar 16 22:10:30 2015 +0200 Unify the build command spawning Also, don't check build_spawn_cmd() cmd argument under Unix, since it may be valid shell command rejected by glib g_shell_parse_argv(). src/build.c | 21 +++++++++------------ 1 file changed, 9 insertions(+), 12 deletions(-) commit 9c829aeb3c917deb028303bd51bc39a9e8fa758e Author: Colomban Wendling Date: Mon Mar 16 14:55:50 2015 +0100 make: Fix parsing of empty continuation lines tagmanager/ctags/make.c | 2 +- tests/ctags/Makefile.am | 1 + tests/ctags/continuation.mak | 11 +++++++++++ tests/ctags/continuation.mak.tags | 3 +++ 4 files changed, 16 insertions(+), 1 deletion(-) commit aae13ed26dc777ad159e8f974e25333cbe42fac8 Merge: 78a45805 243480b8 Author: Colomban Wendling Date: Mon Mar 16 02:01:58 2015 +0100 Merge pull request #444 from techee/handle Geany icon improvements commit 243480b83d031f52b3ecfe1fdaed9539c367ae65 Author: Jiří Techet Date: Sun Mar 15 23:31:40 2015 +0100 Regenerate png/ico icons from svg and add the 32x32 size The 32x32 size can be created by downsampling the 48x48 icon by gtk at runtime but the result will be worse than doing the same directly from the svg icon (48->32 conversion means downsampling by 1.5 which can introduce some moire artifacts and loss of information). Since 32x32 are quite commonly used, it makes sense to ship this icon size with Geany. The png files have been optimized by pngoptim to remove metadata and compress the icon better. icons/16x16/geany.png | Bin 897 -> 856 bytes icons/32x32/Makefile.am | 7 ++++++- icons/32x32/geany.png | Bin 0 -> 2368 bytes icons/48x48/geany.png | Bin 4314 -> 4240 bytes icons/geany.ico | Bin 23558 -> 23558 bytes wscript | 1 + 6 files changed, 7 insertions(+), 1 deletion(-) commit 34f911939c0d051b35322d6efc6252702ab62283 Author: Jiří Techet Date: Sun Mar 15 21:09:13 2015 +0100 Make the geany icon bottleneck a bit wider This way the non-highlighted part can still be shown. icons/scalable/geany.svg | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) commit 45a375caeb45f4bcca17462db7fe9179f3d4b665 Author: Jiří Techet Date: Sun Mar 15 11:57:26 2015 +0100 Fix geany icon handle The handle of the lamp icon looks strange. While the image of the lamp itself is taken from top, the handle looks it's taken from bottom. Fix this by moving the wide part of the handle down and moving the "shine" line to copy the outer edge. Also adjust the handle curves a bit to connect the lamp in a more natural way. icons/scalable/geany.svg | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) commit 78a45805f1ce24b315ad1c99be4cc323d4c00959 Author: Colomban Wendling Date: Sun Mar 15 15:31:31 2015 +0100 autotools: Fix make dist after Scintilla makefile.win32 move 8ebac60901c239a7dc36461a077139595bed12b8 moved the makefile.win32, so we need to use the new location. scintilla/Makefile.am | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit ae7ecde1dff2ea3a91ee14df0346f852007ab3ea Author: Colomban Wendling Date: Sun Mar 15 15:26:06 2015 +0100 autotools: Fix generating geanyfunctions.h in out-of-tree builds plugins/Makefile.am | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit fc766eda22fa3acc06245b2b20d10c45451aea41 Author: Jiří Techet Date: Sun Mar 15 00:02:01 2015 +0100 Fix visual problems around the bottle neck The Light sublayer of the Lamp layer covers the lamp border partly so it appears cut off. In addition, the Shine sublayer doesn't follow the border properly. Adjust the curves in both of these sublayers to fix the problem. icons/scalable/geany.svg | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) commit 2199158b153cb27fb5f48f00bd99636e9a9ba8bc Author: Jiří Techet Date: Sat Mar 14 23:43:10 2015 +0100 Subdivide the icon into layers for better navigation No visual change. icons/scalable/geany.svg | 347 ++++++++++++++++++++++++++++++----------------- 1 file changed, 223 insertions(+), 124 deletions(-) commit 9721faff62533c98e920e6e10bc87ab05255ef49 Author: Beng Tan Date: Sun Mar 15 15:55:45 2015 +0800 Add (and fix) ctags unit tests for Erlang. tests/ctags/Makefile.am | 1 + tests/ctags/maze.erl.tags | 15 ++++++++++----- tests/ctags/test.erl | 16 ++++++++++++++++ tests/ctags/test.erl.tags | 4 ++++ 4 files changed, 31 insertions(+), 5 deletions(-) commit b0c5d221a5ef2f52a485b1d686f9c65a01efe533 Author: Beng Tan Date: Sun Mar 15 13:41:23 2015 +0800 Implement Erlang ctags. Using erlang.c from fishman/ctags. src/filetypes.c | 2 +- tagmanager/ctags/Makefile.am | 1 + tagmanager/ctags/erlang.c | 194 ++++++++++++++++++++++++++++++++++++++++ tagmanager/ctags/makefile.win32 | 2 +- tagmanager/ctags/parsers.h | 1 + tagmanager/src/tm_parser.h | 1 + wscript | 1 + 7 files changed, 200 insertions(+), 2 deletions(-) commit 690cb922be902f023881d455ae0c0a87d1c62170 Author: Dimitar Zhekov Date: Sat Mar 14 21:36:05 2015 +0200 Alter build.c to use the new spawning module The wrong and misleading "Failed to change the working directory" is changed to a generic "Invalid working directory". Under Windows, the build commands are run directly as command lines, while under Unix, /bin/sh is used - for compatibility, and because that's probably what a *nix user expects. The run script is always run as a command line, since it contains it's own shell, and because that lets us specify %c under Windows. In fact, %c (or "%c") should probably be the default, since CreateProcess() runs batch files with the default shell, instead of some our value. Also changed build_spawn_cmd() and build_run_cmd() to void, since their return values are not used anywhere. src/build.c | 279 ++++++++++-------------------------------------------------- 1 file changed, 45 insertions(+), 234 deletions(-) commit 07aeafab81b00365406488b71f8b3a8cf9659048 Author: Colomban Wendling Date: Wed Mar 11 02:39:45 2015 +0100 autotools: Fix installation directory of plugins on Windows For some reason we expect the plugins directly inside `$(libdir)` on Windows instead of `$(libdir)/geany`, so install the plugins there on Windows. plugins/Makefile.am | 4 ++++ 1 file changed, 4 insertions(+) commit 2bfd394803cba185b3836d9c25b3d126f750ac13 Author: Colomban Wendling Date: Tue Oct 28 16:13:10 2014 +0100 Don't export on_motion_event() callback unnecessarily src/callbacks.c | 1 - 1 file changed, 1 deletion(-) commit bc013ae9fea0d312a12b89098aa135f2ff9850a4 Author: Colomban Wendling Date: Tue Oct 28 15:27:41 2014 +0100 Rename LIBGEANY_LIBS to LIBGEANY_LDFLAGS and only use it on libgeany.la The flags in this variables are used to tune the linker behavior on the final libgeany (currently set the version information), so should only used on really linked libraries, not Libtool helper libraries. m4/geany-lib.m4 | 4 ++-- scintilla/Makefile.am | 1 - src/Makefile.am | 8 ++++---- tagmanager/ctags/Makefile.am | 2 -- tagmanager/mio/Makefile.am | 1 - tagmanager/src/Makefile.am | 2 -- 6 files changed, 6 insertions(+), 12 deletions(-) commit 361bf702e0b9ebf8052c39b15cba434ad4d85692 Author: Colomban Wendling Date: Mon Oct 27 00:48:24 2014 +0100 Explicitly cast string literals to non-constant pointers src/Makefile.am | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit a264b7ab77ba13f9c4268c237a8b9051a3d77915 Author: Colomban Wendling Date: Mon Oct 27 00:47:23 2014 +0100 Properly initialize Libtool configure.ac | 1 + 1 file changed, 1 insertion(+) commit bcc7a35c062b947b244b0e9136c55201ef14a23f Author: Matthew Brush Date: Sun Oct 19 16:01:55 2014 -0700 Don't export GtkBuilder callbacks anymore They are connected inside the library now rather than using GModule to find the symbols. Mark local callback handlers as static since they aren't global or exported anymore, they should be static. Since they're static now, all of the forward-declarations of the functions local to callbacks.c are pointless, so just remove them. src/callbacks.c | 350 ++++++++++++++++++++++---------------------------------- src/project.c | 3 +- 2 files changed, 137 insertions(+), 216 deletions(-) commit 1d64d5211fc7c660d9facbc5c927bbce32029863 Author: Matthew Brush Date: Sun Oct 19 13:49:58 2014 -0700 Replace dynamic exports with codegen for GtkBuilder callbacks This prevents having to export those callbacks and put them in the global namespace. Also, use inline shell script in Makefile.am instead of a Python script which should be more portable (by default) and gets rid of the helper script. m4/geany-lib.m4 | 23 ++----- scripts/dynamicsymbols.py | 73 --------------------- src/Makefile.am | 24 +++++-- src/callbacks.c | 2 + src/callbacks.h | 3 + src/dynamicsymbols.list | 161 ---------------------------------------------- src/signalconn.c.in | 32 +++++++++ src/ui_utils.c | 2 +- 8 files changed, 61 insertions(+), 259 deletions(-) commit eb36500ac425c2b4f038bbcb1d3e38f353f0402c Author: Matthew Brush Date: Mon Oct 13 23:07:11 2014 -0700 Improve Autotools build system for libgeany Checks if the compiler supports -fvisibility and the linker supports -dynamic-list arguments and use them instead of hardcoding. The new geany-lib.m4 also accomodates future use of Libtool versioning. configure.ac | 3 +++ m4/geany-lib.m4 | 48 ++++++++++++++++++++++++++++++++++++++++++++ scintilla/Makefile.am | 5 +++-- src/Makefile.am | 21 +++++++++---------- tagmanager/ctags/Makefile.am | 3 ++- tagmanager/mio/Makefile.am | 3 ++- tagmanager/src/Makefile.am | 4 +++- 7 files changed, 71 insertions(+), 16 deletions(-) commit d33758da926ca124db674240c431b8b07bb0e683 Author: Matthew Brush Date: Mon Oct 13 19:29:36 2014 -0700 Move Geany's core into a library (libgeany) This will allow plugins to link against the core when accessing API functions, now that the macro/struct/funcptr stuff is gone. Also convert the helper libraries into Libtool helper libraries as linking a shared library against static libraries is (apparently) not portable. configure.ac | 3 - geany.pc.in | 2 +- plugins/Makefile.am | 15 +- po/POTFILES.in | 2 +- scintilla/Makefile.am | 7 +- src/Makefile.am | 45 +- src/libmain.c | 1406 ++++++++++++++++++++++++++++++++++++++++++ src/main.c | 1385 +---------------------------------------- src/main.h | 2 + tagmanager/ctags/Makefile.am | 7 +- tagmanager/mio/Makefile.am | 6 +- tagmanager/src/Makefile.am | 7 +- 12 files changed, 1462 insertions(+), 1425 deletions(-) commit 860df27696de75ab41765ed5700eb8e9991bccab Author: Matthew Brush Date: Mon Oct 13 19:08:57 2014 -0700 Remove struct/macro/funcptr linkage control for plugin API Add rest of headers needed for declarations of all public API functions. Add HAVE_PLUGINS define to geanyplugins.h since some headers need this and it should always be valid for this header. geanyfunctions.h left for source-level backwards compatibility for plugins which might `#include` this header directly. I don't know why they do it, but some Geany-Plugins do this. doc/Doxyfile.in | 1 - doc/Makefile.am | 1 - doc/plugins.dox | 7 +- plugins/Makefile.am | 14 +- plugins/geanyfunctions.h | 463 +++----------------------------------------- plugins/geanyplugin.h | 15 +- plugins/genapi.py | 98 ---------- src/Makefile.am | 6 + src/plugindata.h | 490 ----------------------------------------------- src/plugins.c | 326 +------------------------------ 10 files changed, 47 insertions(+), 1374 deletions(-) commit 1e630e6f12c211a1b046d94421a8282682152eb6 Author: Matthew Brush Date: Mon Oct 13 18:07:48 2014 -0700 Remove redundant GEANY_EXPORT_SYMBOL usage in callbacks.h It only needs to be specified in one place for each function. src/callbacks.c | 1 + src/callbacks.h | 121 ++++++++++++++++++++++++++++---------------------------- 2 files changed, 61 insertions(+), 61 deletions(-) commit 056e7cb4c8bd193e85f1c834a3c9f0beb06b8828 Author: Matthew Brush Date: Mon Oct 13 18:04:16 2014 -0700 Change to GEANY_EXPORT_SYMBOL for callback functions This allows them to be dynamically exported when -fvisibility=hidden is applied. TODO: remove the CFLAGS hack in configure.ac configure.ac | 3 + src/callbacks.c | 422 ++++++++++++++++++++++++++++---------------------------- src/callbacks.h | 121 ++++++++-------- src/project.c | 3 +- 4 files changed, 277 insertions(+), 272 deletions(-) commit 2f0867076368fdd0333cfe61805f4fdebce34fe9 Author: Matthew Brush Date: Mon Oct 13 16:36:36 2014 -0700 Mark all plugin API functions to have "default" (public) visibility Adds a new header `pluginexport.h` to put the macros in, could be moved into an existing header (support.h?) by I didn't want to drag a bunch of existing stuff into the source files for this one macro. TagManager has relative include, this could be fixed by changing the include directories for it if it's a problem. Mark the Scintilla functions exported by re-declaring them in sciwrappers.c with the attribute to avoid changing upstream Scintilla code. src/Makefile.am | 2 +- src/build.c | 9 ++++-- src/dialogs.c | 6 ++++ src/document.c | 25 +++++++++++++++++ src/editor.c | 16 +++++++++++ src/encodings.c | 4 +++ src/filetypes.c | 6 ++++ src/highlighting.c | 6 ++++ src/keybindings.c | 5 ++++ src/main.c | 4 +++ src/msgwindow.c | 7 +++++ src/navqueue.c | 2 ++ src/pluginexport.h | 34 ++++++++++++++++++++++ src/pluginutils.c | 10 +++++++ src/sciwrappers.c | 62 +++++++++++++++++++++++++++++++++++++++++ src/search.c | 2 ++ src/stash.c | 21 ++++++++++++++ src/symbols.c | 2 ++ src/templates.c | 2 ++ src/ui_utils.c | 22 +++++++++++++++ src/utils.c | 24 ++++++++++++++++ tagmanager/src/tm_source_file.c | 4 +++ tagmanager/src/tm_workspace.c | 5 ++++ 23 files changed, 276 insertions(+), 4 deletions(-) commit a40ab0a4d9715b5f2c334f777e46ecb0fb6c5530 Author: Matthew Brush Date: Mon Oct 13 14:00:41 2014 -0700 Explicitly list symbols to dynamically export Uses a Python script to generate a listing used by the linker to determine which symbols to dynamically export. This provides finer grained control of which symbols are dynamically exported, limiting only to the ones needed for GtkBuilder signal connections. The build system integration could probably be done a little cleaner. configure.ac | 2 +- scripts/dynamicsymbols.py | 73 +++++++++++++++++++++ src/Makefile.am | 11 +++- src/dynamicsymbols.list | 161 ++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 245 insertions(+), 2 deletions(-) commit ce0fa6ffa17befa0969653a0312b38a5429f1d6e Author: Dimitar Zhekov Date: Tue Mar 10 21:24:42 2015 +0200 Add a spawn module for Geany g_spawn_async_with_pipes() under Windows has various drawbacks: - There is no g_shell_parse_argv() for windows. It's not hard to write one, but the command line recreated by mscvrt may be wrong. - GLib converts the argument vector to UNICODE. For non-UTF8 arguments, the result is often "Invalid string in argument vector at %d: %s: Invalid byte sequence in conversion input" (YMMV). Our tools (make, grep, gcc, ...) are "ANSI", so converting to UNICODE and then back only causes problems. - For various reasons, GLib uses an intermediate program to start children (see gspawn-win32.c), with the side effect that the grandchildren output (such as make -> gcc) is not captured. - With non-blocking pipes, the g_io_add_watch() callbacks are never invoked, while with blocking pipes, g_io_channel_read_line() blocks. - Some smaller problems, explained in spawn.c as inline comments. The spawn module tries to fix these problems, and to provide easier APIs, which guarantee that the callbacks will synchronized as expected, and g_io_channel_read_line() will not be required, since even under Unix, it may buffer lines of unlimited length. This initial commit only adds the module source and header files, and includes it in the various build systems. You can see PR 274 for a long discussion about the module. src/Makefile.am | 1 + src/makefile.win32 | 2 +- src/spawn.c | 1247 ++++++++++++++++++++++++++++++++++++++++++++++++++++ src/spawn.h | 102 +++++ wscript | 2 +- 5 files changed, 1352 insertions(+), 2 deletions(-) commit 7254bf96644058afa84b0aabd603f87d611615d0 Merge: e64cb973 3cf8c3a6 Author: Colomban Wendling Date: Sun Mar 8 14:34:04 2015 +0100 Merge branch 'scintilla-update-354' commit 3cf8c3a6bef74b985a08a965f832f691f906b5c0 Author: Colomban Wendling Date: Sun Mar 8 14:31:26 2015 +0100 objectivec: Enable escapes in verbatim strings Enable new Scintlla lexer.cpp.verbatim.strings.allow.escapes lexer property for ObjectiveC. data/filetypes.objectivec | 1 + 1 file changed, 1 insertion(+) commit 8ac86ce42377ee99eacd91ab8737347c0badb12e Author: Colomban Wendling Date: Sun Mar 8 14:30:34 2015 +0100 Update Scintilla to version 3.5.4 scintilla/gtk/ScintillaGTK.cxx | 8 +- scintilla/include/Scintilla.h | 14 + scintilla/include/Scintilla.iface | 33 ++ scintilla/lexers/LexCPP.cxx | 9 +- scintilla/lexers/LexRuby.cxx | 805 ++++++++++++++++++++------------------ scintilla/lexers/LexRust.cxx | 4 +- scintilla/lexers/LexSQL.cxx | 50 +-- scintilla/lexers/LexTCL.cxx | 370 +++++++++--------- scintilla/lexers/LexVHDL.cxx | 7 +- scintilla/lexers/LexVerilog.cxx | 95 ++++- scintilla/src/CellBuffer.cxx | 5 + scintilla/src/Document.cxx | 45 ++- scintilla/src/Document.h | 2 + scintilla/src/EditModel.cxx | 1 + scintilla/src/EditModel.h | 1 + scintilla/src/EditView.cxx | 58 ++- scintilla/src/Editor.cxx | 163 +++++--- scintilla/src/Editor.h | 2 + scintilla/src/Indicator.cxx | 69 ++-- scintilla/src/Indicator.h | 34 +- scintilla/src/PositionCache.cxx | 14 +- scintilla/src/PositionCache.h | 2 +- scintilla/src/RESearch.cxx | 4 +- scintilla/src/ScintillaBase.cxx | 22 +- scintilla/src/UniConversion.cxx | 8 +- scintilla/src/UniConversion.h | 6 + scintilla/src/ViewStyle.cxx | 16 + scintilla/src/ViewStyle.h | 2 + scintilla/version.txt | 2 +- 29 files changed, 1127 insertions(+), 724 deletions(-) commit e64cb973329fde122fc8fad8900d81f45a7b1d6e Author: Colomban Wendling Date: Fri Mar 6 17:36:15 2015 +0100 Make the editor tab close buttons smaller on GTK3 Also remove extra padding around the button's image to reduce its size and try and avoid it expanding the tab's height. This at least fixes the editor tabs height on Adwaita theme, where they were 1px taller than normal. data/geany.css | 3 +++ 1 file changed, 3 insertions(+) commit c3d7acfe812f2c750d810a746dc3bdf7af1c7865 Merge: 93c217aa 888d3dc9 Author: Colomban Wendling Date: Fri Mar 6 02:45:39 2015 +0100 Merge pull request #433 from b4n/statusbar-eol-short-name Use the short name for EOL mode in the statusbar commit 93c217aae9b01a5448ff965b2fdda2a17629f95d Merge: e1c35d2d 8d19ea4c Author: Colomban Wendling Date: Fri Mar 6 01:47:42 2015 +0100 Merge pull request #412 from techee/rules_hint Disable "rules hint" for the Documents tab commit 8d19ea4c9fa7f74a3cf29db479ec5b7be11463db Author: Jiří Techet Date: Thu Mar 5 10:21:11 2015 +0100 Disable "rules hint" for the Documents tab The "rules hint" property is used to tell the theme for which TreeView even/odd rows should have a different color. This is typically used for long rows or rows which need to be visually separated for some reason. Currently the Documents sidebar view uses it which doesn't make much sense because the row is short and neither of the other tabs in the sidebar use it. data/geany.glade | 1 - 1 file changed, 1 deletion(-) commit e1c35d2dc170bd62e0d88bede88c8718df63fdc5 Merge: a40acf52 709cbd51 Author: Colomban Wendling Date: Wed Mar 4 22:57:02 2015 +0100 Merge branch 'techee/leaks' Merges PR #417. commit 2e1117e027ec6e4cbcfaaf22516b368b61a9d1b3 Author: Colomban Wendling Date: Wed Mar 4 19:27:35 2015 +0100 Greatly simplify trigger callback src/gb.c | 54 ++++++++++-------------------------------------------- 1 file changed, 10 insertions(+), 44 deletions(-) commit 393629aa7bc64cb7e6c8f3d14a19895a52e74c1e Author: Colomban Wendling Date: Thu Aug 14 03:18:36 2014 +0200 Replace gb with a new thing src/gb.c | 2005 ++++++++++++-------------------------------------------------- 1 file changed, 363 insertions(+), 1642 deletions(-) commit a40acf52b4f3687cb931b8bb7142f9b6bccfee6d Author: Frank Lanitz Date: Wed Mar 4 19:05:05 2015 +0100 Update of German translation po/de.po | 386 +++++++++++++++++++++++++++++++-------------------------------- 1 file changed, 193 insertions(+), 193 deletions(-) commit 709cbd512b26ce42134dcf9460f7ed570eb5afac Author: Colomban Wendling Date: Wed Mar 4 16:39:36 2015 +0100 Explicitly initialize some variables for which we use the default value This does not change anything in practice because static variables are initialized implicitly as we need them anyway, but this makes things clearer and more explicit. src/highlighting.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit e0116ccd9c58996bc7adecfc99efefe7d03c6bd2 Merge: 96e2635a b2e5d08d Author: Colomban Wendling Date: Wed Mar 4 15:58:47 2015 +0100 Merge pull request #418 from b4n/spell-windows-windows Spell "Windows" as "Windows", not "Win". commit 888d3dc9dc06b5c6ac5211460dead1b06b1721be Author: Colomban Wendling Date: Wed Mar 4 15:57:26 2015 +0100 Use the short name for EOL mode in the statusbar See discussion in https://github.com/geany/geany/pull/418 src/ui_utils.c | 2 +- src/utils.c | 11 +++++++++++ src/utils.h | 2 ++ 3 files changed, 14 insertions(+), 1 deletion(-) commit 96e2635abe86f855c8173eba57e7701a120807b9 Merge: 05e19be0 51ce1018 Author: Colomban Wendling Date: Wed Mar 4 15:04:34 2015 +0100 Merge pull request #431 from techee/absolute_prjname Always use absolute path when opening projects from command-line commit 51ce1018cccbc6a6c0c3614d1d4e29daea9ab606 Author: Jiří Techet Date: Wed Mar 4 14:34:55 2015 +0100 Always use absolute path when opening projects from command-line At the moment when geany project is loaded from commandline using e.g. "geany myproject.geany", the relative path is used by geany so e.g. Project->Recent Projects shows the relative path instead of the absolute one (also if the project is already in the list with an absolute path, additional entry with relative path is created). Use main_get_argv_filename(), which is already used for ordinary files, also for opening .geany files. src/main.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) commit 05e19be0a3c83d169217ad6708e56eeed286e30c Merge: b032f2e2 7fa8b3a6 Author: Colomban Wendling Date: Wed Mar 4 14:08:11 2015 +0100 Merge pull request #419 from techee/osx-integration OS X integration commit b032f2e214eb52fb79803532fb2b7a7f581be362 Merge: 185d4fff 7b5df86b Author: Colomban Wendling Date: Wed Mar 4 13:58:02 2015 +0100 Merge pull request #426 from techee/run_script_tmp Create geany_run_script.sh in the temporary directory instead of the working directory. commit 185d4fff933ec5cc7837ef69ab3eae8d0cee3ea3 Merge: 87af9597 9df204ab Author: Nick Treleaven Date: Wed Mar 4 12:40:15 2015 +0000 Merge pull request #430 from techee/fix_warning Fix compiler warning commit 9df204ab78551fd8988b660325d78fd3330a3bb0 Author: Jiří Techet Date: Wed Mar 4 12:47:20 2015 +0100 Fix compiler warning src/document.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 7fa8b3a6953f734593e027a7ef7a8f93064be04c Author: Jiří Techet Date: Tue Mar 3 16:49:24 2015 +0100 Backport adaptive scrolling patch from scintilla scintilla/gtk/ScintillaGTK.cxx | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) commit a9912c3c35dd231d8232e88564a664a8d91e4bf0 Author: Jiří Techet Date: Tue Feb 24 19:11:51 2015 +0100 Don't use single menu for "New with template" shared by toolbar and menubar The current implementation uses single menu for the toolbar and menubar and reparents it when file menu is shown/hidden. Connectiong "show"/"hide" signals doesn't work for menu items on OS X (and I suppose Ubuntu either) so the template submenu is never shown in the File menu. The easiest fix seems to be having two identical menus the same way we have them for recent files. src/templates.c | 81 +++++++++++++++++++-------------------------------------- 1 file changed, 27 insertions(+), 54 deletions(-) commit 3031ac7e410b346950d2651f8fa53e96d6a7e173 Author: Jiří Techet Date: Mon Feb 23 19:47:26 2015 +0100 Check disk status when Geany enters foreground Since we have a simple way to check Geany has entered foreground on OS X, use it to check the current document's disk status. src/osx.c | 10 ++++++++++ 1 file changed, 10 insertions(+) commit 2e1dc7aebac720f58c71bb2decee9421713cf883 Author: Jiří Techet Date: Wed Feb 18 21:25:23 2015 +0100 Don't use expose-event/draw signals of the menu The expose-event/draw signals were used to reenable the menu after it has been disabled when VTE overrides the given keybinding. This doesn't work on OS X where GtkMenuBar isn't displayed (there may be a similar problem with the global menubar on Ubuntu). The reason why these signals were used was probably slight flickering of the menubar when using ordinary g_idle_add() to reenable the menu (the dimmed menu gets drawn after which it gets reenabled and redrawn non-dimmed). It is however possible to use idle function with higher than redraw priority in which case the menu is enabled before the redraw so the dimmed menu isn't drawn at all. Fixes https://sourceforge.net/p/geany/bugs/1081/ src/keybindings.c | 28 +--------------------------- 1 file changed, 1 insertion(+), 27 deletions(-) commit 232d4dacded6d98a827414d62fa9879f618fb4f1 Author: Jiří Techet Date: Wed Feb 18 17:19:57 2015 +0100 Add right-click launcher icon entry creating a new window Normal clicking the launcher icon just brings the application to the foreground so there must be a way users can create a new instance of Geany. Add an entry "New Window" to the context menu which is shown when right-clicking the Geany icon in the launcher (most applications have the "New Window" entry there). In addition, fix "Open in new window" when using app bundle. Since both of these functionalities create a new Geany instance, factor-out the instance creation code into a new utility function and use it in both cases. src/notebook.c | 23 ++++------------------- src/osx.c | 15 ++++++++++++++- src/utils.c | 33 +++++++++++++++++++++++++++++++++ src/utils.h | 2 ++ 4 files changed, 53 insertions(+), 20 deletions(-) commit 562885765dbd600626558372a409832cb4cda77e Author: Jiří Techet Date: Wed Feb 18 17:06:01 2015 +0100 React to various useful gtk-mac-integration signals NSApplicationBlockTermination signal is emitted when clicking the Quit menu to check whether the application permits quitting - react accordingly. --- NSApplicationOpenFile signal is emitted when * file is dragged on the application icon * application is selected from "Open with" menu after right-clicking the file * when double-clicking a file for which the application is default editor/viewer * when file is opened from command-line When the application isn't running, it is first started and then this signal is emitted. Use the signal to open files. In addition, when the opened file has the ".geany" suffix, open it (but only if the project isn't already open). The project has to be opened in idle function because blocking the signal handler for a long time by the project-close confirmation dialog causes problems. src/osx.c | 61 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 60 insertions(+), 1 deletion(-) commit ada4595264def0f96d40e223f41243b46580fc1b Author: Jiří Techet Date: Wed Feb 4 01:01:13 2015 +0100 Use global menubar on OS X We have to disable quartz accelerator handling because otherwise accelerators are performed also from other windows than the main Geany editor (e.g. Ctrl+V with find dialog open performs the keybinding Ctrl+V and inserts the text to the editor). OS X applications have an extra menu entry to the left of the File menu - an "application menu". This menu usually contains About, Preferences, Quit. Many users, however, may be used to Geany from other platforms and expect Preferences to be under the Edit menu so leave them there. Quit and About are rarely used and the application menu is the place where they are supposed to be - move these entries from other Geany menus there and hide them in the affected menus (the quit entry is inserted automatically, we just need to hide it from File). Also tell OS X the Help menu is dedicated to help (we get search in menu entries by name for free thanks to this). The global menu should refresh automatically based on user actions. Unfortunately this is not the case when gtk_menu_reorder_child() is used because it does not emit any signals so the gtk-mac-integration library doesn't see this call. Refresh the menu manually after calling this function. src/Makefile.am | 2 +- src/main.c | 3 +++ src/osx.c | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ src/osx.h | 6 ++++++ src/ui_utils.c | 20 +++++++++++++++++--- wscript | 2 +- 6 files changed, 77 insertions(+), 5 deletions(-) commit 18d517bd95ea29cb04e7652631c56a0376e6f098 Author: Jiří Techet Date: Wed Feb 4 00:27:34 2015 +0100 Use gtk-mac-integration so app bundle can be created on OS X This patch adds the gtk-mac-integration library and uses it to adjust various paths in Geany to point it inside the app bundle if Geany runs from inside the bundle. It adds the utils_resource_dir() utility function to return correct directories for various kinds of resources for all supported operating systems. Using this function the patch adjusts all Geany resource, plugin, icon, doc, and locale paths. configure.ac | 1 + m4/geany-mac-integration.m4 | 18 +++++++++++++ src/Makefile.am | 4 ++- src/main.c | 64 ++++++++++++--------------------------------- src/osx.h | 30 +++++++++++++++++++++ src/plugins.c | 12 +-------- src/utils.c | 59 +++++++++++++++++++++++++++++++++++++++++ src/utils.h | 14 ++++++++++ wscript | 9 ++++++- 9 files changed, 151 insertions(+), 60 deletions(-) commit 7b5df86bd14dac77e1d66ede4b8240cd99e8ba48 Author: Jiří Techet Date: Sun Feb 22 22:46:25 2015 +0100 Create geany_run_script.sh in the temporary directory instead of the working directory Under some conditions, geany_run_script.sh is not deleted and we have no means to detect this in Geany (e.g. when the terminal emulator is started correctly but it fails to execute the script for some reason). In this case it is better to keep the garbage in /tmp than the working directory. Apart from that, it eliminates potential transfer of the run script over a NFS and eliminates the visibility of the script in working directory on Windows. Apart from that this patch fixes some locale/utf8 conversion problems and other subtle problems with the previous implementation. doc/geany.txt | 5 +- src/build.c | 167 +++++++++++++++++++++++++--------------------------------- 2 files changed, 74 insertions(+), 98 deletions(-) commit 87af9597fc66dc87e7a5aea21d9dec91f6d4b684 Author: Colomban Wendling Date: Tue Mar 3 20:10:41 2015 +0100 Make sci_get_cursor_virtual_space() GEANY_PRIVATE src/sciwrappers.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit a5b99dc96dfed95bb08940e33b8ce5153f5069d5 Author: Dimitar Zhekov Date: Tue Mar 3 16:09:19 2015 +0200 Add virtual column and selected chars to the statusbar Closes https://sourceforge.net/p/geany/patches/10/ doc/geany.txt | 8 ++++++-- src/sciwrappers.c | 11 +++++++++++ src/sciwrappers.h | 1 + src/ui_utils.c | 19 ++++++++++++------- 4 files changed, 30 insertions(+), 9 deletions(-) commit 9694338e71bdfabd0700980252dbde7095606f57 Merge: 1a6adc0d cc6602c2 Author: Colomban Wendling Date: Tue Mar 3 17:05:44 2015 +0100 Merge pull request #428 from kugel-/mingw-datadir Fix installation of data files on Windows with the Autotools build system. commit 1a6adc0d6363e5c52a328c64b4edc03d97723b53 Author: Colomban Wendling Date: Tue Mar 3 15:12:52 2015 +0100 Fix build with GLib < 2.30 (oops) src/ui_utils.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 1c1d76721dddf56bb9b5aa07f4513ea7e64554b4 Author: Colomban Wendling Date: Sat Feb 28 19:15:00 2015 +0100 Fix several tooltips to properly use plain text instead of markup Most of our tree view tooltips were set from plain text values but parsed as markup by GTK, which sometimes lead to markup errors, when the tooltip value contained markup control characters. This also adds ui_tree_view_set_tooltip_text_column() to the plugin API so plugins can easily set plain text tooltips from tree views columns. Fixes https://sourceforge.net/p/geany/bugs/1091/ plugins/filebrowser.c | 2 +- plugins/geanyfunctions.h | 2 ++ src/plugindata.h | 3 ++- src/plugins.c | 3 ++- src/sidebar.c | 4 ++-- src/symbols.c | 3 --- src/tools.c | 2 +- src/ui_utils.c | 61 ++++++++++++++++++++++++++++++++++++++++++++++++ src/ui_utils.h | 2 ++ 9 files changed, 73 insertions(+), 9 deletions(-) commit cc6602c2b6096739c8a3d5dad51b35885e31b895 Author: Thomas Martitz Date: Tue Feb 24 23:59:46 2015 +0100 autotools: Install to $prefix/data on win32 setup_paths() sets app->datadir to $prefix/win32. With mingw-via-autotools, it installed data to $prefix/share/geany (like on Linux). With this change data is installed to $prefix/data ($datarootdir is not changed). This fixes geany startup after make install with autotools. Linux: pkgdatadir = ${datarootdir}/geany GEANY_DATA_DIR = /path/to/prefix/share/geany Win32: pkgdatadir = ${prefix}/data GEANY_DATA_DIR = /path/to/prefix/data configure.ac | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) commit a8a2d14711cd983f3ae094237c33dedb1821d72e Merge: 8aa4f11c e454b896 Author: Colomban Wendling Date: Tue Feb 24 18:08:46 2015 +0100 Merge pull request #415 from b4n/json Add JSON filetype (with tag parser) commit 5a8e89ce8a268055d2af56e1a1ccb6b2278ce798 Author: Colomban Wendling Date: Sat Feb 21 19:18:58 2015 +0100 sciwrappers: Remove a few unused functions src/sciwrappers.c | 24 ------------------------ src/sciwrappers.h | 5 ----- 2 files changed, 29 deletions(-) commit 8aa4f11cad2cf8404bc58f93464fdcd2140a2f69 Author: Colomban Wendling Date: Sat Feb 21 18:56:51 2015 +0100 Optimize notebook page -> document lookup and remove dead code This actually fixes a theoretical bug introduced when notebook pages stopped being ScintillaWidgets, but this bug had no effect because it was in a dead code path -- because no, `page_num` never is -1 nor `page` NULL. src/callbacks.c | 5 +---- src/document.c | 21 +++++++++++++++------ src/document.h | 2 ++ 3 files changed, 18 insertions(+), 10 deletions(-) commit 1a8de8fb09959ef22281328f25a6b03ede1fbafe Author: Colomban Wendling Date: Sat Feb 21 18:53:59 2015 +0100 Optimize document -> notebook page lookup src/document.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) commit 99552dbe1256e5051a96623db4f0c68bbf591fbc Author: Colomban Wendling Date: Sat Feb 21 18:00:52 2015 +0100 Fix emission of the ::document-activate signal The ::document-activate signal was not emitted when opening the first tab of the notebook, e.g. when the tab count changed from 0 to 1. This is because the ::document-activate signal is emitted in response to the GtkNotebook::switch-page signal, which is emitted whenever the currently displayed page changes. When there already is a current page (when there is one or more pages), adding a new page does not trigger the signal, as this new page doesn't become the current one (we will switch to it later). However, when there are none, the newly added one becomes current, and so the signal is emitted right away. This is problematic because when we add the page to the notebook, the document associated with it is not yet ready (only partly initialized), and so we can't emit the signal on a valid document, and we discard it. Not emitting this signal leads to inconsistent behavior introducing subtle bugs in plugins relying on it. To work this around, only show the page widget (the child added to the notebook) after we finished initializing everything. This is the simplest fix, because a lot of the code around document creation and opening depend on the fact the page is already added, so while delaying the page addition sounds like the more sensible fix, it has non-trivial consequences that would require a large amount of work to overcome. Note that interestingly, in addition to our problem, GtkNotebook seems to have a bug as it emits the ::switch-page right when adding the first page even if that page is not visible. However, it properly emits it again when the child becomes visible, so we just still discard the first emission like we used to. src/document.c | 25 ++++++++++++++++++++----- src/notebook.c | 10 ++++++++-- 2 files changed, 28 insertions(+), 7 deletions(-) commit 91630a85a2f6c25b0101efa0ab6d3e436455966a Author: Colomban Wendling Date: Fri Feb 20 22:30:58 2015 +0100 autotools: Check for docutils tools with a `.py` suffix too Docutils tools are apparently installed with an extension suffix by default, so check for this too. Closes #424. m4/geany-docutils.m4 | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) commit ea79be32f23c1d6a9687da2da15746f8f8e08784 Author: Colomban Wendling Date: Fri Feb 20 22:28:26 2015 +0100 autotools: Remove useless code AC_PATH_PROG supports overrides of its variable, so there is no need for manual handling. m4/geany-docutils.m4 | 6 ++---- m4/geany-doxygen.m4 | 4 +--- 2 files changed, 3 insertions(+), 7 deletions(-) commit b87254e1b39a26ecb13a2312df849e36a771e7f8 Author: Frank Lanitz Date: Wed Feb 18 00:40:19 2015 +0100 Fix lost <> inside thanks THANKS | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit a6885865bb08af407ca67c87a31bd1ffc935b3a6 Author: Frank Lanitz Date: Wed Feb 18 00:35:44 2015 +0100 Change contact data for brahmann THANKS | 2 +- src/about.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) commit a65cecd59e82e1e9cc802d5eb429705c78707202 Merge: 15f75ca2 b0786efc Author: Frank Lanitz Date: Sun Feb 15 16:32:03 2015 +0100 Merge pull request #422 from strepon/master update Czech translation commit b0786efc66b2d2e91b1b013199755466d32a95f1 Author: Stanislav Horacek Date: Sun Feb 15 14:33:10 2015 +0100 update Czech translation po/cs.po | 153 +++++++++++++++++++++++---------------------------------------- 1 file changed, 55 insertions(+), 98 deletions(-) commit 15f75ca2ac1e57a8e2fe375d3be8b605182e0f7d Author: Colomban Wendling Date: Fri Feb 13 14:11:30 2015 +0100 Fix a few indentation style issues src/gtkcompat.h | 16 ++++++++-------- src/keybindings.c | 22 +++++++++++----------- 2 files changed, 19 insertions(+), 19 deletions(-) commit 0c1edb113cf8c45f022ca309af3a636f416c51b4 Author: Jiří Techet Date: Fri Feb 13 12:47:04 2015 +0100 Bump API to reflect the addition of keybindings_get_modifiers() and GEANY_PRIMARY_MOD_MASK src/plugindata.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit ba0d364f64bea634610e92cfffad9457a77bf953 Merge: 308041da e613d931 Author: Colomban Wendling Date: Fri Feb 13 01:01:17 2015 +0100 Merge pull request #420 from techee/vte_keybindings Revert some OS X keybinding changes for VTE commit e613d931878a98118f39c8f2f92fe4ec23508c4c Author: Jiří Techet Date: Fri Feb 13 00:37:21 2015 +0100 Revert some OS X keybinding changes for VTE While all normal keybindings use the Command key instead of control key on OS X, all the command-line applications and terminal emulators use the Ctrl key like on Linux. This includes Ctrl+C (SIGINT) and Ctrl+D (EOF) for which there is some special handling in the VTE support in Geany and which should use GDK_CONTROL_MASK instead of GEANY_PRIMARY_MOD_MASK. src/vte.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 308041da8d0f7ee938a075cae5d84d90da91c5eb Merge: 7b17db66 be2b2803 Author: Colomban Wendling Date: Wed Feb 11 18:33:19 2015 +0100 Merge branch 'ctags/python' Import Python changes from https://github.com/fishman/ctags/ commit be2b280377b0479db749cfcf573ff7b35d70693b Author: Markus Heidelberg Date: Tue Feb 10 04:07:39 2015 +0100 python: do not ignore the character after a skipped string Regression for the triple start string issue has been introduced in SVN revision 669 (fishman git a314e11158307db84c0dadb758846b2302fe69cd) on 2008-06-11. In ctags 5.7 it did work, in 5.8 not anymore. See also http://sourceforge.net/p/ctags/bugs/229/ for the original bug, which led to the old fix. The other issue with normal strings in skipEverything() is even older. tagmanager/ctags/python.c | 3 +++ tests/ctags/Makefile.am | 1 + tests/ctags/py-skipped-string.py | 30 ++++++++++++++++++++++++++++++ tests/ctags/py-skipped-string.py.tags | 4 ++++ 4 files changed, 38 insertions(+) commit 99a509de7e6dce381e8bc23c5d080f8c8e5c5e12 Author: Colomban Wendling Date: Mon Feb 2 17:40:03 2015 +0100 python: Fix out of bounds access on unmatched Cython array declaration tagmanager/ctags/python.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) commit 0a97439701466011cf4231b838860c543d442e17 Author: Colomban Wendling Date: Thu Jan 29 16:14:12 2015 +0100 python: Improve and generalize access reporting Anything at the module/file level: * _... is protected * rest is public Anything at the class level: * __...__ is public (magic method) * __... is private * _... is protected * rest is public Anything at the function/method level: * everything is private Closes https://github.com/fishman/ctags/issues/216. tagmanager/ctags/python.c | 43 +++++++++++++++++++++++++++++++------------ 1 file changed, 31 insertions(+), 12 deletions(-) commit 7b17db666eb7a17fcfd33ebe6dba5bf528c3485a Author: Frank Lanitz Date: Tue Feb 10 18:56:42 2015 +0100 Small update of German translation po/de.po | 550 +++++++++++++++++++++++++++++++-------------------------------- 1 file changed, 275 insertions(+), 275 deletions(-) commit ae68b10b04aad477efb29acc1d547dac0ff30c1e Merge: 642fedef e9c9e9a2 Author: Frank Lanitz Date: Tue Feb 10 18:55:00 2015 +0100 Merge branch 'master' of github.com:geany/geany commit b2e5d08dad61b725f8cb89fc753497123d5570ec Author: Colomban Wendling Date: Tue Feb 10 17:15:38 2015 +0100 Spell "Windows" as "Windows", not "Win" This makes the labels more clear using the canonical name, and avoids any confusion with the English word "win". data/geany.glade | 2 +- src/utils.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) commit e9c9e9a2fa021e22ab3235b089c3e651f0094016 Merge: 16404717 1ab9eac7 Author: Colomban Wendling Date: Tue Feb 10 17:12:30 2015 +0100 Merge pull request #396 from techee/osx OS X improvements commit 1ab9eac7047d60e89345694134626fcd1f3a67ac Author: Jiří Techet Date: Tue Feb 10 11:56:04 2015 +0100 Use the .dylib extension when loading VTE on OS X src/vte.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 6a132ef3fa4a01f7e05a0b8d673407429e3e6c8a Author: Jiří Techet Date: Fri Feb 6 11:23:10 2015 +0100 CR line endings are used on old Mac OS systems only - make it more explicit in labels Also don't default to CR if OS is neither Windows nor Unix (including OS X). There's no other GTK backend right now so it doesn't matter much but still if something else appears, it will most probably not have CR line endings. data/geany.glade | 2 +- src/document.h | 4 +--- src/utils.c | 2 +- 3 files changed, 3 insertions(+), 5 deletions(-) commit 16404717522c3594cc5fdfc6eca5ba9e2c0f9f0e Merge: d5cca379 7229aa9c Author: Enrico Tröger Date: Sun Feb 8 10:42:32 2015 +0000 Merge pull request #413 from eht16/backup_copy_file_perm SaveActions: Set file permissions of backup copies to 0600 (SF #125) commit ca21a8759aada71a8f083ef8fc528bfb8988bc89 Author: Jiří Techet Date: Fri Feb 6 00:32:10 2015 +0100 Don't use "echo -n" in shell scripts The standard says: If the first operand is -n, or if any of the operands contain a backslash ( '\' ) character, the results are implementation-defined. On OS X it simply prints the "-n" string and everything which follows, including the newline. Use printf instead. m4/geany-status.m4 | 2 +- po/intl_stats.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) commit f2cab560c64d15e8568a64d0f02f0a6b76d82a9c Author: Jiří Techet Date: Fri Feb 6 15:18:43 2015 +0100 Eliminate some minor leaks Found using the Instruments XCode tool on OS X. src/highlighting.c | 2 ++ src/keyfile.c | 4 ++++ src/project.c | 3 ++- 3 files changed, 8 insertions(+), 1 deletion(-) commit 642fedef98a1792ab5873b0b8e34b39a19a14f8a Author: Frank Lanitz Date: Sun Feb 1 22:07:53 2015 +0100 Small update of German translation po/de.po | 835 +++++++++++++++++++++++++++++++-------------------------------- 1 file changed, 417 insertions(+), 418 deletions(-) commit e454b8962cdb68cf8d41813ffc55a1a620925845 Merge: b0cf3b4e 270e3232 Author: Colomban Wendling Date: Sat Jan 31 22:17:26 2015 +0100 Merge branch 'json-tag-parser' into json Import JSON tag parser from CTags: https://github.com/fishman/ctags/blob/master/json.c commit 270e32327f4d9776afb2047108da8550afbf3f83 Author: Colomban Wendling Date: Sat Jan 31 22:14:10 2015 +0100 json: Enable tag parser and adapt test case for Geany data/filetypes.JSON.conf | 1 + tagmanager/ctags/json.c | 12 ++++++------ tests/ctags/Makefile.am | 1 + tests/ctags/simple.json.tags | 39 ++++++++++++++++++++------------------- 4 files changed, 28 insertions(+), 25 deletions(-) commit 0bd95857041091a3d17d2c728ac0a69c8ea04c52 Author: Colomban Wendling Date: Fri Nov 28 16:46:39 2014 +0100 json: Optimize memory usage by not collecting string values When a string is not used as an object property the parser doesn't need to know its value. Not collecting it into memory lowers memory consumption and avoids high memory consumption with huge string values. tagmanager/ctags/json.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) commit 2ff1386d9690147af9d5089d319dd57aca044151 Author: Colomban Wendling Date: Fri Nov 28 16:22:33 2014 +0100 Add new parser for JSON tagmanager/ctags/Makefile.am | 1 + tagmanager/ctags/json.c | 396 ++++++++++++++++++++++++++++++++++++++++ tagmanager/ctags/makefile.win32 | 2 +- tagmanager/ctags/parsers.h | 3 +- tagmanager/src/tm_parser.h | 1 + tests/ctags/simple.json | 25 +++ tests/ctags/simple.json.tags | 19 ++ wscript | 1 + 8 files changed, 446 insertions(+), 2 deletions(-) commit b0cf3b4e2ddaacc952c1683375965c9ff2e0d51e Author: Colomban Wendling Date: Sat Jan 31 20:27:07 2015 +0100 Add JSON custom filetype Closes #384. data/Makefile.am | 1 + data/filetype_extensions.conf | 3 ++- data/filetypes.JSON.conf | 14 ++++++++++++++ 3 files changed, 17 insertions(+), 1 deletion(-) commit d5cca3792269160d19530b3af1c63c880adef2d4 Author: Enrico Tröger Date: Sat Jan 31 18:44:10 2015 +0100 Change donate link to our own redirection As discussed in #410, the previous SF redirect is better replaced by a redirect on www.geany.org which we can control. This way we can also quickly change the target URL if it changes at Paypal. src/geany.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 7229aa9cff84b6d42f75edba5b26babd2f6b8b64 Author: Enrico Tröger Date: Sat Jan 31 16:11:48 2015 +0100 SaveActions: Set file permissions of backup copies to 0600 As discussed in SF bug #125, it might be dangerous to store backup copies in a publicly accessable directory like /tmp with default permissions, especially on multi-user systems. So set the file permissions on non-Windows systems to 0600 by default. Also improve the documentation of the save Actions plugin to reflect this change. doc/geany.txt | 19 +++++++++++++++++-- plugins/saveactions.c | 14 ++++++++++++++ 2 files changed, 31 insertions(+), 2 deletions(-) commit d33a23c40c4297c9ea8c2b53a4033a34db0cd10e Author: Colomban Wendling Date: Wed Jan 28 15:55:33 2015 +0100 Add missing documentation for message window orientation setting doc/geany.txt | 6 ++++++ 1 file changed, 6 insertions(+) commit 7fba0317d05effab1f1c3cc1a4c40163669631af Author: Thomas Martitz Date: Sat Nov 2 14:20:20 2013 +0100 document: Remove duplicated code. Since document_compare_by_tab_order_reverse does the exact reverse of document_compare_by_tab_order the code need not to be duplicated. Instead document_compare_by_tab_order can be called and the return value be reversed. src/document.c | 15 +-------------- 1 file changed, 1 insertion(+), 14 deletions(-) commit f403e7e8c26a100534017f8ca2c5c1f1f9bac81f Merge: 44eecc25 660c441b Author: Colomban Wendling Date: Wed Jan 28 15:05:30 2015 +0100 Merge pull request #188 from artros/feature/keep-edit-history-on-reload Maintain edit history on document reload Conflicts: * src/callbacks.c: document_reload_prompt(). Amendments: * src/document.c: document_redo(), document_undo(): for loop style. commit 44eecc25c3352d0197b94f1458d8496bc48668ae Merge: 526294d7 1b1a1da4 Author: Colomban Wendling Date: Wed Jan 28 14:30:43 2015 +0100 Merge pull request #187 from artros/bug/clear-redo-on-edit Clear redo stack on edit commit 526294d72c2a2de94c4bc7712dd7d3e7e3c8f233 Merge: bb41cb22 d48859db Author: Colomban Wendling Date: Mon Jan 26 17:24:19 2015 +0100 Merge pull request #399 from b4n/ui/message-window-hierarchy Drop useless scrolled window around the message window notebook commit bb41cb2275757b1ad5ce3d20cf0aa40260388df7 Merge: 14f1468f 9506c7ae Author: Nick Treleaven Date: Sat Jan 24 16:39:20 2015 +0000 Merge pull request #408 from ntrel/sci-make Fix strangely undefined GTK for PlatGtk.cxx by moving build dir (#1001) commit 9506c7ae59d22ed68af0c00a3922e05aec142be7 Author: Nick Treleaven Date: Thu Jan 22 16:50:39 2015 +0000 Remove unneeded -liberty flag src/makefile.win32 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 8ebac60901c239a7dc36461a077139595bed12b8 Author: Nick Treleaven Date: Thu Jan 22 16:45:14 2015 +0000 Fix strangely undefined GTK for PlatGtk.cxx by moving build dir (#1001) makefile.win32 | 4 ++-- scintilla/{ => gtk}/makefile.win32 | 24 +++++++++++------------- 2 files changed, 13 insertions(+), 15 deletions(-) commit 6cad08ae1eebe76c1ebb24fb415834438b8566c4 Author: Nick Treleaven Date: Thu Jan 22 16:27:57 2015 +0000 Port scintilla/gtk/makefile differences (Windows makefiles) scintilla/makefile.win32 | 142 +++++++++++------------------------------------ 1 file changed, 33 insertions(+), 109 deletions(-) commit 47a5b9fc5fdbd5060671413565f354247f678f75 Author: Jiří Techet Date: Thu Jan 8 12:49:03 2015 +0100 Use better default fonts on OS X Fonts are rendered much smaller on OS X so use bigger sizes by default. Also, by default they use the Light style which is extremely thin - use Medium instead. Finally, use better monospace font than the default Courier (Menlo is derived from Dejavu Sans Mono and is used by XCode and other editors). src/keyfile.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) commit daecf69c9cd29891c661d3c52dd0fa7ba451d972 Author: Jiří Techet Date: Thu Jan 8 12:01:30 2015 +0100 Make keybindings_get_modifiers() part of plugin API plugins/geanyfunctions.h | 2 ++ src/keybindings.c | 9 +++++++++ src/keybindings.h | 5 +++++ src/plugindata.h | 2 +- src/plugins.c | 3 ++- 5 files changed, 19 insertions(+), 2 deletions(-) commit 508216b7b47fba88c35c3b4af25a4a1e245f222d Author: Jiří Techet Date: Thu Jan 8 22:34:14 2015 +0100 Use the open command to open a directory in Finder on OS X plugins/filebrowser.c | 2 ++ 1 file changed, 2 insertions(+) commit 98ae34f1dcc671bc691c40fa9896ab5624818e7f Author: Jiří Techet Date: Thu Jan 8 22:32:17 2015 +0100 Perform execute using the default terminal application on OS X In order to execute the runner script using the terminal application, the script has to be executable, otherwise it's not executed. In addition, when the terminal application starts, it sets $HOME as the working directory. For this reason the working directory has to be set in the runner script (to avoid additional ifdefs, this part is shared with other unix systems where the additional "cd" shouldn't matter). src/build.c | 22 +++++++++++++++++----- src/keyfile.c | 2 ++ 2 files changed, 19 insertions(+), 5 deletions(-) commit 82b413e5062b46b3237ede6b764f40aa8bb22ab2 Author: Jiří Techet Date: Fri Jan 2 19:51:44 2015 +0100 Fix keybindings on OS X On OS X the Command key is used for common keybindings instead of Ctrl. Introduce a new macro, GEANY_PRIMARY_MOD_MASK that represents the Command key on OS X and Ctrl on other platforms. For some events, such as mouse key press, GDK_MOD2_MASK is returned for the Command key by GTK instead of GDK_META_MASK (which is returned when Command is pressed together with some other key). To hide this behavior from users, introduce keybindings_get_modifiers() which can be used instead of gtk_accelerator_get_default_mod_mask() and which inserts GDK_META_MASK when GDK_MOD2_MASK is found in the mask on OS X. src/callbacks.c | 2 +- src/editor.c | 4 +- src/keybindings.c | 138 +++++++++++++++++++++++++++++------------------------- src/keybindings.h | 7 +++ src/notebook.c | 4 +- src/prefs.c | 2 +- src/sidebar.c | 4 +- src/vte.c | 9 ++-- 8 files changed, 95 insertions(+), 75 deletions(-) commit ac76c84fdcf0f9bc2551ec4453df316531c81a9a Author: Jiří Techet Date: Tue Dec 30 12:15:54 2014 +0100 Use Safari as the default browser on OS X Since Safari isn't on PATH, the open command has to be used src/keyfile.c | 4 ++++ 1 file changed, 4 insertions(+) commit 558d21f2f29bf6f70655afebf8e10b55f523c864 Author: Jiří Techet Date: Mon Dec 29 17:43:12 2014 +0100 Fix clang warning regarding mismatching types The Option initialization didn't match the struct - there was an extra initialization of -e parameter and missing initialization of --etags-include a bit later. This means the initializations of the fields were shifted by one between these two. tagmanager/ctags/options.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 9767f79e50408911508577cb68906658872afe3b Author: Jiří Techet Date: Mon Dec 29 17:14:36 2014 +0100 Improve ui_get_mime_icon() It may happen that even though we get GIcon, the actual icon dosen't exist (typically on Windows and OS X). Check if we can find the actual icon. In addition, use "icon name" instead of "stock id" - the latter doesn't work on OS X / Windows for some reason. src/ui_utils.c | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) commit 3c01fae8d95f51340e16247f51d0e654500d43f5 Author: Jiří Techet Date: Sat Dec 27 15:24:41 2014 +0100 Disable scintilla buffer draw on OS X (with Quartz backend) This delagates font rendering to Quartz so it can be rendered in 2x resolution on "retina" displays. src/editor.c | 5 +++++ 1 file changed, 5 insertions(+) commit 5356c4549ace052b2e3be5451c9c6410ab3d9e41 Author: Jiří Techet Date: Sat Dec 27 14:40:57 2014 +0100 Fix infinite loop on OS X when using find in files The GIOCondition is always set to G_IO_IN even when input end is reached (and no other flags are set) so the read_fif_io() function never returns FALSE which causes an infinite loop. It is necessary to check also the return value of g_io_channel_read_line() and return FALSE on EOF or error. src/search.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) commit 14f1468f7889b6ebc61f32dfa3e3111fc69fdc15 Merge: 6584cc59 e6fa2c2a Author: Colomban Wendling Date: Tue Jan 20 16:09:49 2015 +0100 Merge pull request #377 from b4n/autotools-mingw-cross Autotools: Fix MinGW cross-compilation commit e6fa2c2ac74bf8b7ba282565edf3ed0ff81acbe2 Author: Colomban Wendling Date: Thu Oct 30 02:33:03 2014 +0100 Autotools: Improve the rule to compile Windows resource file src/Makefile.am | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 700c05e413189479259a399878ba2383acbbcceb Author: Colomban Wendling Date: Wed Oct 29 15:27:51 2014 +0100 Autotools: Build plugins with Libtool on MinGW too plugins/Makefile.am | 72 +++++++++++++++++++---------------------------------- 1 file changed, 26 insertions(+), 46 deletions(-) commit 6584cc5936eb282aa827c6451cd453329809715c Author: Colomban Wendling Date: Tue Jan 20 15:06:17 2015 +0100 verilog: Add code style categorization Implement code style categorization (comment/string/code) for Verilog. src/highlighting.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) commit d80fa8f72a8595de2916effa26709d7c864e2e66 Author: Colomban Wendling Date: Tue Jan 20 15:05:24 2015 +0100 Fix reference to a renamed function in some comments src/highlightingmappings.h | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) commit 3996ae9268bc433c4b3c73c0c422fd6e75053dee Author: Colomban Wendling Date: Tue Jan 20 15:05:04 2015 +0100 Update Scintilla to version 3.5.3 Closes [bugs:#1041]. data/filetypes.verilog | 6 + scintilla/gtk/ScintillaGTK.cxx | 395 +++++++++++------ scintilla/include/Platform.h | 5 + scintilla/include/SciLexer.h | 27 ++ scintilla/include/Scintilla.iface | 33 ++ scintilla/lexers/LexBash.cxx | 14 +- scintilla/lexers/LexCPP.cxx | 4 +- scintilla/lexers/LexVerilog.cxx | 876 +++++++++++++++++++++++++++++++------- scintilla/lexlib/LexAccessor.h | 3 + scintilla/lexlib/WordList.cxx | 2 + scintilla/scintilla_changes.patch | 5 +- scintilla/src/Document.cxx | 18 +- scintilla/src/Editor.cxx | 26 +- scintilla/src/Editor.h | 1 + scintilla/src/MarginView.cxx | 18 +- scintilla/src/ScintillaBase.cxx | 4 +- scintilla/src/UniConversion.cxx | 14 +- scintilla/src/UniConversion.h | 4 +- scintilla/version.txt | 2 +- src/highlightingmappings.h | 14 +- 20 files changed, 1142 insertions(+), 329 deletions(-) commit 9c4f1081ebbe71003567dc0c86603b9152905fa3 Merge: 8eccb079 657c7e73 Author: Colomban Wendling Date: Wed Jan 14 18:58:24 2015 +0100 Merge pull request #404 from ntrel/enum-base Parse D enum base type & refactor commit 657c7e73bed9c025bfb404e0e319a67269e8bce5 Author: Nick Treleaven Date: Tue Jan 13 16:27:53 2015 +0000 Parse D enum base type & refactor Merge and extend fishman/ctags enum inheritance parsing for C++, D, and add simple.d.t/input.d test. tagmanager/ctags/c.c | 28 +++++++--------- tests/ctags/Makefile.am | 1 + tests/ctags/runner.sh | 2 +- tests/ctags/simple.d | 82 +++++++++++++++++++++++++++++++++++++++++++++++ tests/ctags/simple.d.tags | 24 ++++++++++++++ 5 files changed, 120 insertions(+), 17 deletions(-) commit 8eccb079ab8e9bbaa6b49f29c45f94cae67014dc Author: Frank Lanitz Date: Tue Jan 13 21:29:38 2015 +0100 Update SQL keywords based on a list by the Drupal project data/filetypes.sql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 91d5079c8d56c69d78cad6d4cb9600b89a86d085 Merge: 627c0aa1 740c12c0 Author: Colomban Wendling Date: Sun Jan 11 17:33:40 2015 +0100 Merge pull request #378 from b4n/remove-macro-list Remove "Show macro list" keybinding and feature commit 740c12c0caed4e464480ea6458a77a7fb8b6bdfc Author: Colomban Wendling Date: Sun Nov 9 19:05:51 2014 +0100 Remove "Show macro list" keybinding and feature This feature looks like a poorly implemented subset of "Complete word", but lacks some important features like prefix filtering. It is also misnamed as it shows not only macros, but also variables and enums. It also only shows `editor_prefs.autocompletion_max_entries`, but does so from *each* file, not as a whole. So drop it altogether, as this feature doesn't really look useful and the current implementation seem to suffer of too many shortcomings for it to realistically be actually used. doc/geany.txt | 3 --- src/editor.c | 16 ---------------- src/editor.h | 2 -- src/keybindings.c | 5 ----- src/keybindings.h | 3 ++- src/symbols.c | 54 ------------------------------------------------------ src/symbols.h | 2 -- 7 files changed, 2 insertions(+), 83 deletions(-) commit 627c0aa10e9ea62b440c21040180086b56a01079 Merge: f32b6f3b df03bcac Author: Enrico Tröger Date: Sat Jan 10 11:07:18 2015 +0000 Merge pull request #401 from techee/waf waf: Don't relink scintilla and geany on every build commit df03bcace008b8dcc77f595d2441790e77f4e707 Author: Jiří Techet Date: Fri Jan 9 01:35:43 2015 +0100 waf: Don't relink scintilla and geany on every build The ant_glob() function doesn't return a list of strings but rather a list of waflib.Node.Nod3 objects. These print as paths so build works but apparently confuse waf which thinks the files have changed every time the waf command is performed. Relinking scintilla and geany on every waf invocation is especially problemmatic during "sudo waf install" where scintilla and geany binaries get owned by the root user. This isn't a big problem on Linux but on OS X this prevents subsequent waf calls to update the binaries and the build fails. To fix the issue, just convert the waflib.Node.Nod3 objects to relative (string) paths. wscript | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit f32b6f3b93df96026fc9ff233458949e97a5a7b9 Author: landroni Date: Tue May 20 02:56:14 2014 +0200 R: Fix keywords and wordchars Currently the R filetype has a rather random collection of keywords. This commit fixes the primary keywords (as used in RStudio, an IDE specialized for R), and also adds the appropriate list of built-in constants. See https://github.com/rstudio/rstudio/blob/master/src/gwt/acesupport/acemode/r_highlight_rules.js for the list of keywords used in RStudio. Furthermore, the commit adds the `.` (dot) to `wordchars`. In R the set of symbols which can be used in object names is `[A-Za-z0-9_.]` (with code portability and platform compatibility in mind). For more gruesome details see: http://cran.r-project.org/doc/manuals/r-release/R-intro.html#R-commands_003b-case-sensitivity-etc RStudio also treats the dot as part of the "word". For some background see: http://landroni.wordpress.com/2013/07/27/using-geany-for-programming-in-r/ Closes #273. data/filetypes.r | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) commit e06f47d774bd296ed406378c6748ff12d3bd0fb6 Merge: fb7d9fa2 fd5ac727 Author: Colomban Wendling Date: Mon Jan 5 16:26:03 2015 +0100 Merge pull request #289 from mspacek/build_line_num Add %l current line number substitution to build commands commit d48859db8e5e91fd1dbfb1951917087dc781a1ef Author: Colomban Wendling Date: Fri Jan 2 19:48:06 2015 +0100 Drop useless scrolled window around the message window notebook data/geany.glade | 231 ++++++++++++++++++++++++++----------------------------- src/main.c | 2 +- src/msgwindow.c | 2 +- 3 files changed, 110 insertions(+), 125 deletions(-) commit fb7d9fa25f361b823f289cbb2c83201496c711b9 Merge: b864733c b7338da5 Author: Frank Lanitz Date: Fri Jan 2 19:34:24 2015 +0100 Merge pull request #388 from peter-scholtens/master Update of dutch translation for geany commit b864733cdb31a2366eb878f0382e338369c200ae Author: Jiří Techet Date: Tue Dec 30 19:30:07 2014 +0100 Avoid double-shadow around message window Message window should be at the same level as the sidebar and editor. Instead, it is 2 shadows deeper. Fix that. data/geany.glade | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) commit b7338da5e688c3ca2d3ceb318723cf5b99e678b1 Author: Peter C. S. Scholtens Date: Fri Jan 2 17:28:09 2015 +0100 Updated Dutch translations. po/nl.po | 3053 +++++++++++++++++++++++++++++++------------------------------- 1 file changed, 1550 insertions(+), 1503 deletions(-) commit f1a1d8c234eaae51e9ec6987d0d4eccf6b32a980 Merge: 08568b11 c131466a Author: Colomban Wendling Date: Tue Dec 30 22:50:54 2014 +0100 Merge pull request #397 from techee/revert Remove useless TM micro-optimization from a profile misread. commit c131466a0035b0421e40661d50181db1ca8de3f6 Author: Jiří Techet Date: Tue Dec 30 17:09:18 2014 +0100 Revert "Microoptimization in merge" This reverts commit cb9e4bbf7446e45365cad2242087f2a766662f20. tagmanager/src/tm_tag.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) commit 08568b11f587000e7226694a22300aa79db473de Merge: 3b8ea98f 29cc8b4d Author: Colomban Wendling Date: Thu Dec 25 19:54:12 2014 +0100 Merge PR#393 from 'c/keyword-types' Fix parsing typedefs to size_t (C/C++/D) and wchar_t (C/D). commit 29cc8b4d28a8abb2cbde6503b5b910baf8688fa3 Author: Colomban Wendling Date: Thu Dec 25 16:46:55 2014 +0100 d: size_t and wchar_t aren't keywords in D tagmanager/ctags/c.c | 4 ++-- tests/ctags/Makefile.am | 1 + tests/ctags/size_t_wchar_t_alias.d | 3 +++ tests/ctags/size_t_wchar_t_alias.d.tags | 3 +++ 4 files changed, 9 insertions(+), 2 deletions(-) commit 43a8986d2cd8f40e2daff2fc31f8677669514d6f Author: Colomban Wendling Date: Thu Dec 25 16:45:35 2014 +0100 c: Add a test case for size_t and wchar_t handling tests/ctags/Makefile.am | 1 + tests/ctags/size_t_wchar_t_typedef.c | 3 +++ tests/ctags/size_t_wchar_t_typedef.c.tags | 3 +++ 3 files changed, 7 insertions(+) commit 371301a84da81fdcd894715eb58af0efccd3a523 Author: Colomban Wendling Date: Thu Dec 25 01:36:27 2014 +0100 c: Don't parse wchar_t as a keyword tagmanager/ctags/c.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit e091a56a18ef20f65e088d78fc78fcdb310526b2 Author: Colomban Wendling Date: Thu Dec 25 01:35:28 2014 +0100 c, c++: Don't parse size_t as a keyword This fixes handling of typedefs defining this name. tagmanager/ctags/c.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 3b8ea98f00cdacd84217adf049dbb5d10c6057c9 Author: Colomban Wendling Date: Thu Dec 25 00:53:03 2014 +0100 c: Fix C11 keywords (oops) List keywords from ISO/IEC 9899:201x N1570 (2011-04-12), not N1425 (2009-11-24). data/filetypes.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit ef6f8a0c6595fba0e267860cac3145e264dca633 Author: Colomban Wendling Date: Wed Dec 24 19:02:23 2014 +0100 c++: Remove non-keyword types from keywords list Closes #391. data/filetypes.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 20be6c9bb464d958f336cf229f841c9ef7622e97 Author: Colomban Wendling Date: Wed Dec 24 19:01:14 2014 +0100 c: Add missing size_t type to the C99 tag file Closes #392. data/c99.tags | 1 + 1 file changed, 1 insertion(+) commit f4045fb3369adbaf01321532e2f9c3bda3a44dcd Author: Colomban Wendling Date: Wed Dec 24 18:48:45 2014 +0100 c: Add missing C11 keywords data/filetypes.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit d80ee82072a188297c4a3d1bd304e65741f7a4f0 Author: Colomban Wendling Date: Thu Dec 18 02:42:05 2014 +0100 Select the default scheme in the Color Scheme dialog by default Always select the default scheme by default in the Color Scheme dialog not to end up selecting none in case of broken or nonexistent configuration. This matches which scheme is actually used, and fixes use of an uninitialized iter when no scheme would be selected. src/highlighting.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) commit d6601cbafa57841acf7303dfb019e2bcfbb933a3 Merge: 87331093 fc73fabe Author: Nick Treleaven Date: Fri Dec 12 13:11:29 2014 +0000 Merge pull request #387 from philippwiesemann/fix-typos-doc Fix typos in documentation commit fc73fabe4bf6b0416750472ab82e7a9f8e04177c Author: Philipp Wiesemann Date: Thu Dec 11 22:58:57 2014 +0100 Fix typos in documentation doc/geany.txt | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) commit 87331093a93cd64bb47b8bdcc3c17459dcca9d7f Merge: 89c32188 233ca08e Author: Colomban Wendling Date: Thu Dec 11 00:07:41 2014 +0100 Merge pull request #361 from techee/prj_write Add project_write_config() to force project file rewrite commit 89c321883c631f57eebe269aa2d58a5218530513 Merge: 7c22ceac 1f9f2300 Author: Frank Lanitz Date: Mon Dec 8 19:15:36 2014 +0100 Merge pull request #386 from b4n/po/fr Small French translation update commit 1f9f23004578f8a9c45f4e09dc4aa4e6b2fbabc3 Author: Colomban Wendling Date: Mon Dec 8 16:09:58 2014 +0100 Use French quotes in the French translation po/fr.po | 144 ++++++++++++++++++++++++++++++++------------------------------- 1 file changed, 73 insertions(+), 71 deletions(-) commit 469a345f180e451a23def0e5701b2712af0153c2 Author: Colomban Wendling Date: Mon Dec 8 15:53:45 2014 +0100 Small update of the French translation po/fr.po | 3201 ++++++++++++++++++++++++++++++++------------------------------ 1 file changed, 1657 insertions(+), 1544 deletions(-) commit 7c22ceacf996ea0ac773349afca39eed6af4b9ea Author: Jiří Techet Date: Sun Dec 7 22:25:13 2014 +0100 Update the go parser to the latest version from ctags tagmanager/ctags/go.c | 78 ++++++++++++++++++++++----------------------------- 1 file changed, 34 insertions(+), 44 deletions(-) commit 0184083a7e1216169d0879d66b67799e9bf638c9 Author: Colomban Wendling Date: Thu Dec 4 14:38:57 2014 +0100 Fix an assertion failure when trying to scope-complete in a 2-characters C++ file src/editor.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit f08af8046f8cbbd7d48fc767155d1fe805c1c45d Merge: 0a58f501 02bc3b36 Author: Colomban Wendling Date: Tue Dec 2 15:03:20 2014 +0100 Merge branch 'js-update' Import back JavaScript parser changes from fishman/ctags. commit 02bc3b36387671061ed61dba4cdd31f843c44ed3 Author: Colomban Wendling Date: Tue Dec 2 01:32:09 2014 +0100 javascript: Improve string literals handling 1. Don't include the newline itself in a line continuation construct. This fixes generation of e.g. properties with embedded line continuations. 2. Don't continue parsing strings past an unescaped newline (as naked newlines are invalid inside strings). This avoids parsing the whole remaining file as a string in case of broken input. It is both useful to better support partly written files and to avoid loading a whole malformed file in memory while reading it as a string. See section 7.8.4 "String Literals" of ECMA-262: http://www.ecma-international.org/publications/files/ECMA-ST/Ecma-262.pdf tagmanager/ctags/js.c | 25 +++++++++++++++++++++++-- tests/ctags/Makefile.am | 2 ++ tests/ctags/js-broken-strings.js | 10 ++++++++++ tests/ctags/js-broken-strings.js.tags | 5 +++++ tests/ctags/js-string-continuation.js | 19 +++++++++++++++++++ tests/ctags/js-string-continuation.js.tags | 6 ++++++ 6 files changed, 65 insertions(+), 2 deletions(-) commit 69a15cf2c1c8def91ffd7bc51ca8a1bfd2df563d Author: Colomban Wendling Date: Mon Dec 1 23:43:20 2014 +0100 javascript: Stop using longjmp() and friends Fixes some memory leaks with malformed or partial files. tagmanager/ctags/js.c | 77 +++++++++++++++++++-------------------------------- 1 file changed, 28 insertions(+), 49 deletions(-) commit 0a58f5012ba8e379f92c2f6751b16b9bea363db6 Author: Colomban Wendling Date: Tue Dec 2 13:50:11 2014 +0100 Update Scintilla to version 3.5.2 scintilla/gtk/PlatGTK.cxx | 4 +- scintilla/gtk/ScintillaGTK.cxx | 37 ++- scintilla/include/Scintilla.h | 9 +- scintilla/include/Scintilla.iface | 9 +- scintilla/lexers/LexCoffeeScript.cxx | 2 +- scintilla/lexers/LexVHDL.cxx | 3 +- scintilla/src/Catalogue.cxx | 2 +- scintilla/src/CellBuffer.cxx | 2 +- scintilla/src/Decoration.cxx | 4 +- scintilla/src/Document.cxx | 504 ++++++++++++++++++++++++++++++++--- scintilla/src/Document.h | 19 +- scintilla/src/EditModel.cxx | 1 + scintilla/src/EditView.cxx | 45 +++- scintilla/src/EditView.h | 10 + scintilla/src/Editor.cxx | 105 +++++--- scintilla/src/Editor.h | 1 + scintilla/src/LineMarker.cxx | 5 + scintilla/src/LineMarker.h | 10 + scintilla/src/MarginView.cxx | 11 +- scintilla/src/MarginView.h | 9 + scintilla/src/PositionCache.cxx | 1 + scintilla/src/RESearch.h | 2 +- scintilla/src/ScintillaBase.cxx | 1 + scintilla/src/UniConversion.cxx | 46 ++++ scintilla/src/UniConversion.h | 4 + scintilla/version.txt | 2 +- 26 files changed, 724 insertions(+), 124 deletions(-) commit 69096276414b1532618f354950896db45e0e9256 Author: Frank Lanitz Date: Mon Dec 1 13:05:19 2014 +0100 Update of Portuguese (Brazilian) translation po/pt_BR.po | 3045 ++++++++++++++++++++++++++++++----------------------------- 1 file changed, 1560 insertions(+), 1485 deletions(-) commit 94aa892c8177e93d0dff3edf853854e872f19d20 Merge: af7d63cd ccb15a31 Author: Colomban Wendling Date: Sun Nov 30 02:03:00 2014 +0100 Merge pull request #373 from techee/go_ctags Add a Go ctags parser. commit ccb15a31be106273a19a6c3d4dfa29f3adbb17a8 Author: Jiří Techet Date: Fri Nov 7 17:09:53 2014 +0100 Add the go ctags parser Make go one of the builtin filetypes, add the parser and update the related source and config files. While there, remove Rust from [Groups] in filetype_extensions.conf because it's already a builtin filetype as well. The parser itself is stolen from the fishman/ctags repo. data/Makefile.am | 2 +- data/filetype_extensions.conf | 2 +- data/{filetypes.Go.conf => filetypes.go} | 1 - src/filetypes.c | 1 + src/filetypes.h | 1 + src/highlighting.c | 2 + src/highlightingmappings.h | 7 + src/symbols.c | 12 + tagmanager/ctags/Makefile.am | 1 + tagmanager/ctags/go.c | 687 +++++++++++++++++++++++++++++++ tagmanager/ctags/makefile.win32 | 2 +- tagmanager/ctags/parsers.h | 3 +- tagmanager/src/tm_parser.h | 1 + tests/ctags/Makefile.am | 1 + tests/ctags/test.go | 47 +++ tests/ctags/test.go.tags | 34 ++ wscript | 1 + 17 files changed, 800 insertions(+), 5 deletions(-) commit af7d63cdf28945d2d177149a11565b24eaf4ee13 Merge: b78d833d 72897bac Author: Colomban Wendling Date: Sat Nov 29 23:40:58 2014 +0100 Merge pull request #319 from b4n/better-txt2tags-parser Better txt2tags parser commit b78d833d5c1ebe6bbd1f239da84b296a67bea30d Merge: 6e1c2787 24bf1d3e Author: Colomban Wendling Date: Sat Nov 29 23:21:09 2014 +0100 Merge branch 'css3-flex' Closes PR#333. commit 24bf1d3e930bb54191eac1f0e6d19e81dcb3abf4 Author: Colomban Wendling Date: Sat Nov 29 23:19:00 2014 +0100 CSS: Add missing and remove obsolete flex properties See http://www.w3.org/TR/css3-flexbox/#property-index data/filetypes.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 50787dfafe9f20694cdaf66377539b919b6ec390 Author: Hannes Heute Date: Wed Sep 17 20:02:42 2014 +0200 CSS: Add some flex-properties to css3-properties data/filetypes.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 6e1c2787c1ecf7d6a178d5c3cbaaa93240ca79cf Merge: 173c09ea 8da955ec Author: Colomban Wendling Date: Sat Nov 29 22:49:57 2014 +0100 Merge branch 'recent-list-cleanup' commit 173c09eab2afcd9549b75cd779bedca54fc9f718 Merge: e6b74d9d 961ccf38 Author: Colomban Wendling Date: Sat Nov 29 22:48:01 2014 +0100 Merge pull request #302 from kernc/common_linters Common linters by default in the Build menu commit 961ccf38c5a50fbdfa9eea0ca481ac8a3a04f694 Author: Kernc Date: Thu Jul 17 22:03:43 2014 +0200 Migrated some old-style build_settings to new-style build-menu data/filetypes.c | 17 +++++++++-------- data/filetypes.cpp | 17 +++++++++-------- data/filetypes.haskell | 13 ++++++------- data/filetypes.python | 13 ++++++------- data/filetypes.ruby | 10 +++++++--- data/filetypes.sh | 9 +++------ 6 files changed, 40 insertions(+), 39 deletions(-) commit 7a0285eef857bf99361eedae3cfe125254b99f4c Author: Kernc Date: Thu Jul 17 21:35:27 2014 +0200 Added some default common linters in the Build menu data/filetypes.c | 8 +++++++- data/filetypes.cpp | 7 +++++++ data/filetypes.haskell | 8 ++++++++ data/filetypes.javascript | 10 +++++----- data/filetypes.python | 9 +++++++++ data/filetypes.sh | 8 ++++++++ data/filetypes.xml | 9 +++++++++ doc/geany.txt | 15 +++++++++++++++ 8 files changed, 68 insertions(+), 6 deletions(-) commit e6b74d9d85149b687c4acd99ffd45f38554d178f Merge: d0986dd3 7ce24941 Author: Colomban Wendling Date: Wed Nov 26 20:06:15 2014 +0100 Merge branch nullEuro/coffeescript-ft Add CoffeScript syntax highlighting. Closes #230. commit 7ce24941421a8305b37a372f1bcda4038ff539fa Author: Colomban Wendling Date: Wed Nov 26 19:42:26 2014 +0100 coffeescript: Import last lexer version from Scintilla HG This fixes handling of "/*" and removes dead code. scintilla/lexers/LexCoffeeScript.cxx | 180 +++-------------------------------- 1 file changed, 13 insertions(+), 167 deletions(-) commit 21e5c0e0e9bf6c28f83af3936836f9fca3e27cc9 Author: Colomban Wendling Date: Wed Nov 26 19:40:22 2014 +0100 Fix Scintilla patch for CoffeeScript inclusion scintilla/scintilla_changes.patch | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 4074843b42218f59e7b1696f27e8306fd9b6c4ad Author: Colomban Wendling Date: Wed Nov 26 19:36:41 2014 +0100 coffeescript: Recognize string and comment styles src/highlighting.c | 10 ++++++++++ 1 file changed, 10 insertions(+) commit 07002d252a36b77d150536ffe0c860fa91f4f61d Author: Mark Dresselhaus Date: Mon Mar 24 00:55:59 2014 +0100 Add coffescript syntax highlighting imported lexer from Scintilla and added coffeescript filetype data/Makefile.am | 1 + data/filetype_extensions.conf | 1 + data/filetypes.coffeescript | 48 +++ scintilla/Makefile.am | 1 + scintilla/lexers/LexCoffeeScript.cxx | 569 +++++++++++++++++++++++++++++++++++ scintilla/makefile.win32 | 1 + scintilla/src/Catalogue.cxx | 1 + src/filetypes.c | 1 + src/filetypes.h | 1 + src/highlighting.c | 2 + src/highlightingmappings.h | 28 ++ 11 files changed, 654 insertions(+) commit d0986dd3f606dcd564bc99829ff993a94737fd22 Merge: 846335b3 55b4b867 Author: Colomban Wendling Date: Mon Nov 24 03:55:55 2014 +0100 Merge branch 'js-update' Import back JavaScript parser changes from CTags and fishman/ctags. commit 55b4b867f31203ae13e651d65c57f94d6a0aa0cb Author: Colomban Wendling Date: Mon Nov 24 03:50:00 2014 +0100 javascript: Don't use invalid syntax in a test case A regex is not a valid JavaScript property name, and the test case was not meant to specifically check for handling of invalid syntax but rather valid regex syntax with embedded quotes. tests/ctags/1878155.js | 2 +- tests/ctags/1878155.js.tags | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) commit 5793694134f21652d4191dc56e087fa32c413ffb Author: Colomban Wendling Date: Sun Nov 23 20:32:50 2014 +0100 javascript: Add support for the `let` keyword `let` is not yet part of the current ECMAScript standard but is part of the ECMAScript 6 draft and is supported by Mozilla, and people already use it in some contexts. Also, the current ECMAScript standard marks `let` as a "considered reserved word" (7.6.1.2), so it is already a reserved keyword in strict mode. See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/let tagmanager/ctags/js.c | 4 ++++ tests/ctags/Makefile.am | 1 + tests/ctags/js-let.js | 8 ++++++++ tests/ctags/js-let.js.tags | 8 ++++++++ 4 files changed, 21 insertions(+) commit ef8c40f1e44e03059f34f7dc00ff82a8a089b10a Author: Colomban Wendling Date: Sun Nov 23 19:31:09 2014 +0100 javascript: Add support for the `const` keyword `const` is not yet part of the current ECMAScript standard but is part of the ECMAScript 6 draft and is supported by popular engines including Mozilla and WebKit, and people already use it. See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/const tagmanager/ctags/js.c | 20 ++++++++++++++------ tests/ctags/Makefile.am | 1 + tests/ctags/js-const.js | 10 ++++++++++ tests/ctags/js-const.js.tags | 8 ++++++++ 4 files changed, 33 insertions(+), 6 deletions(-) commit b85d7546102cdbe368cf130a37e67689f317fc81 Author: Colomban Wendling Date: Sun Nov 23 17:09:02 2014 +0100 javascript: Improve support for unterminated statements Add support for implicit semicolons so many unterminated statements' end are properly recognized. The implementation doesn't follow the ECMAScript standard because doing so requires to recognize precise grammar of all constructs, and the parser doesn't currently work this way. So instead it uses some heuristics that should work most of the time and only consider implicit semicolons where they would be explicitly relevant to avoid most false- positives. See the extensive comment in `readTokenFull()` for details. In practice, this mostly fixes handling of files using unterminated variable assignations like the following: var v1 = 0 var v2 = 1 // ... function f1() { // ... } In such situations the parser used not to be able to really tell where the variable assignation would end and would not recognize any statement before the next semicolon or closing curly brace at the same level. In practice, it wouldn't have emitted any tag for this example, not even `v1` as it generates tags when reaching the statement's end. tagmanager/ctags/js.c | 133 +++++++++++++++++++++-------- tests/ctags/Makefile.am | 1 + tests/ctags/js-implicit-semicolons.js | 16 ++++ tests/ctags/js-implicit-semicolons.js.tags | 15 ++++ 4 files changed, 131 insertions(+), 34 deletions(-) commit f2b368e2cc507f9b074ff12f412ea222d273bb84 Author: Colomban Wendling Date: Fri Nov 21 02:06:14 2014 +0100 javascript: Report function signature tagmanager/ctags/js.c | 147 +++++++++++++++------- tests/ctags/1795612.js.tags | 4 +- tests/ctags/1850914.js.tags | 2 +- tests/ctags/1878155.js.tags | 2 +- tests/ctags/1880687.js.tags | 80 ++++++------ tests/ctags/2023624.js.tags | 4 +- tests/ctags/3470609.js.tags | 6 +- tests/ctags/Makefile.am | 1 + tests/ctags/arraylist.js.tags | 4 +- tests/ctags/bracematch.js.tags | 10 +- tests/ctags/bug1950327.js.tags | 12 +- tests/ctags/bug2888482.js.tags | 4 +- tests/ctags/bug3036476.js.tags | 6 +- tests/ctags/bug3571233.js.tags | 18 +-- tests/ctags/complex-return.js.tags | 34 ++--- tests/ctags/js-class-related-unterminated.js.tags | 24 ++-- tests/ctags/js-scope.js.tags | 6 +- tests/ctags/js-signature.js | 38 ++++++ tests/ctags/js-signature.js.tags | 10 ++ tests/ctags/js-sub-block-scope.js.tags | 14 +-- tests/ctags/js-unknown-construct-nesting.js.tags | 6 +- tests/ctags/jsFunc_tutorial.js.tags | 88 ++++++------- tests/ctags/no_terminator.js.tags | 10 +- tests/ctags/parenthesis-rvalue.js.tags | 24 ++-- tests/ctags/regexp.js.tags | 4 +- tests/ctags/secondary_fcn_name.js.tags | 8 +- tests/ctags/shebang.js.tags | 2 +- tests/ctags/simple.js.tags | 34 ++--- tests/ctags/ui5.controller.js.tags | 10 +- 29 files changed, 360 insertions(+), 252 deletions(-) commit f65dec49e796fa7770d9ee1b56a570b7987a7aad Author: Colomban Wendling Date: Mon Nov 24 02:48:55 2014 +0100 javascript: Fix more handling of class-related unterminated statements tagmanager/ctags/js.c | 5 ++++- tests/ctags/js-class-related-unterminated.js | 12 ++++++++++++ tests/ctags/js-class-related-unterminated.js.tags | 3 +++ 3 files changed, 19 insertions(+), 1 deletion(-) commit 9c84a91bb360653e96c38e8e1a31cce7b02696d8 Author: Colomban Wendling Date: Thu Nov 20 16:38:37 2014 +0100 javascript: Fix scope inside nested blocks (if/else/while/for/etc.) tagmanager/ctags/js.c | 38 +++++++++++++++++----------------- tests/ctags/Makefile.am | 1 + tests/ctags/js-sub-block-scope.js | 17 +++++++++++++++ tests/ctags/js-sub-block-scope.js.tags | 8 +++++++ 4 files changed, 45 insertions(+), 19 deletions(-) commit e01ae923a15a01245dbe52d5023f9a8db5d17758 Author: Colomban Wendling Date: Thu Nov 20 15:30:28 2014 +0100 javascript: Cleanup `findCmdTerm()` callers a bit Move the check for unterminated inside `findCmdTerm()` itself and return it rather than having each caller do it itself. tagmanager/ctags/js.c | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) commit 7e6215661e64475a891921848149bd12a57c8a65 Author: Colomban Wendling Date: Thu Nov 20 15:28:27 2014 +0100 javascript: Fix handling some class-related unterminated statements tagmanager/ctags/js.c | 11 +++-- tests/ctags/Makefile.am | 1 + tests/ctags/js-class-related-unterminated.js | 50 +++++++++++++++++++++++ tests/ctags/js-class-related-unterminated.js.tags | 13 ++++++ 4 files changed, 71 insertions(+), 4 deletions(-) commit 5a1a22d9306fdf0e4352127b12cafd8555ea55b8 Author: Colomban Wendling Date: Wed Nov 19 23:39:15 2014 +0100 javascript: Properly handle nested unknown blocks Properly match open curly braces when parsing a statement not to possibly get fooled by unexpected nested blocks, e.g. after a `switch`'s `case` or a label. This mostly reverts c54c3ad5e815d16e3b48f3c477465627808aadee and replaces it with a more correct and complete solution. tagmanager/ctags/js.c | 40 +++++++----------------- tests/ctags/Makefile.am | 1 + tests/ctags/js-unknown-construct-nesting.js | 23 ++++++++++++++ tests/ctags/js-unknown-construct-nesting.js.tags | 5 +++ 4 files changed, 40 insertions(+), 29 deletions(-) commit f158f5d362404a3bec09c8841537e981ade5de2f Author: Colomban Wendling Date: Fri Nov 21 00:26:04 2014 +0100 javascript: Fix scope after some constructs tagmanager/ctags/js.c | 1 - tests/ctags/Makefile.am | 1 + tests/ctags/js-scope.js | 18 ++++++++++++++++++ tests/ctags/js-scope.js.tags | 4 ++++ tests/ctags/ui5.controller.js.tags | 6 +++--- 5 files changed, 26 insertions(+), 4 deletions(-) commit f886f7084a007feda682051fbdbbd533f2127460 Author: dfishburn Date: Fri Sep 19 19:03:59 2014 +0000 Javascript parser: Removed warning of unused variable is_inside_class and cleanUp git-svn-id: https://svn.code.sf.net/p/ctags/code/trunk@815 c5d04d22-be80-434c-894e-aa346cc9e8e8 tagmanager/ctags/js.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) commit c54c3ad5e815d16e3b48f3c477465627808aadee Author: dfishburn Date: Wed May 7 20:37:00 2014 +0000 Added new method findMatchingToken() to skip over blocks of code. Updated parseSwitch() to use the new method. Updated tests/ctags/ui5.ui.controller.js with code that broke the switch statement. git-svn-id: https://svn.code.sf.net/p/ctags/code/trunk@809 c5d04d22-be80-434c-894e-aa346cc9e8e8 tagmanager/ctags/js.c | 35 +++++++++++++++++++++++++++-------- tests/ctags/ui5.controller.js | 8 ++++++++ tests/ctags/ui5.controller.js.tags | 1 + 3 files changed, 36 insertions(+), 8 deletions(-) commit 52d2d735272b2d9298aedbf202ed1853b840ada9 Author: dfishburn Date: Mon May 5 19:03:04 2014 +0000 Udated jscript to be able to parse SAPUI5 controller and view files. Added test case tests/ctags/ui5.controller.js git-svn-id: https://svn.code.sf.net/p/ctags/code/trunk@808 c5d04d22-be80-434c-894e-aa346cc9e8e8 tagmanager/ctags/js.c | 55 ++++++++++++++++++++++++++++++++++++++ tests/ctags/Makefile.am | 1 + tests/ctags/ui5.controller.js | 23 ++++++++++++++++ tests/ctags/ui5.controller.js.tags | 5 ++++ 4 files changed, 84 insertions(+) commit 846335b3f03c4d522a6e5ff99c08645c2faf9c7e Author: Frank Lanitz Date: Tue Nov 18 17:28:28 2014 +0100 Update of Japanese translation po/ja.po | 2897 +++++++++++++++++++++++++++++++------------------------------- 1 file changed, 1469 insertions(+), 1428 deletions(-) commit 50cbe660fa91fa10ac72229a945269368b3261eb Merge: 299f624f 58e01b2d Author: Frank Lanitz Date: Tue Nov 18 14:54:37 2014 +0100 Merge pull request #382 from cousteaulecommandant/patch-3 Update es.po commit 58e01b2d248706fc22939cbed22a22d9c8c0d60d Author: cousteaulecommandant Date: Tue Nov 18 13:12:11 2014 +0100 Update es.po Use same text in Split Window menu as in Keybindings dialog. Also, translate "Side by side" as "Izquierda y derecha" ("left and right") rather than "Yuxtapuestos" ("juxtaposed") which is a rather weird (and inaccurate) word. po/es.po | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) commit 299f624f65cc5c5a1ee4be6f38053a2f7ebc2a4b Author: Colomban Wendling Date: Tue Nov 11 18:55:54 2014 +0100 Autotools: Fix checking for Git revision Fix check when building out of tree, and properly handle errors. m4/geany-revision.m4 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit c40263709f2143494dad939d510407ddd1fe26f6 Merge: 67cc8faf f765463a Author: Colomban Wendling Date: Tue Nov 11 18:38:42 2014 +0100 Merge branch 'css-update' commit 8da955ec949b3d60a68402847703c2a16f617f70 Author: Colomban Wendling Date: Tue Nov 11 17:28:57 2014 +0100 Make the currently open project insensitive in the recent menu src/project.c | 1 + src/ui_utils.c | 29 +++++++++++++++++++++++++++++ src/ui_utils.h | 2 ++ 3 files changed, 32 insertions(+) commit 3fa41cc0dadb3470a64f4511d394670d10712e5f Author: Colomban Wendling Date: Tue Nov 11 17:01:34 2014 +0100 Cleanup code for updating recent file menus src/ui_utils.c | 112 ++++++++++++++++++++++++--------------------------------- 1 file changed, 47 insertions(+), 65 deletions(-) commit f765463af0aa8dad6d39399da2c138e8b5041bc4 Author: Colomban Wendling Date: Tue Nov 11 02:01:41 2014 +0100 Import new CSS parser from fishman-ctags Some highlights: * Fixes handling of comments * Adds support for attribute and namespace selectors * Adds support for @supports blocks * Fixes tag type for many selectors * Adds support for pseudo-classes with arguments tagmanager/ctags/css.c | 388 +++++++++++---------- tests/ctags/css-at-rules.css.tags | 4 +- tests/ctags/css-at-supports.css.tags | 5 +- tests/ctags/css-attribute-selectors.css.tags | 16 +- tests/ctags/css-namespace-selectors.css.tags | 7 +- tests/ctags/css-pseudo-classes.css.tags | 33 +- tests/ctags/css-simple.css.tags | 18 +- .../css-singlequote-in-comment-issue2.css.tags | 1 + tests/ctags/css-tag-types.css.tags | 40 +-- 9 files changed, 264 insertions(+), 248 deletions(-) commit 207279728317082bac040e7f32c50697919090b0 Author: Colomban Wendling Date: Tue Nov 11 01:59:12 2014 +0100 Import CSS test cases from fishman-ctags tests/ctags/Makefile.am | 10 ++++++ tests/ctags/css-at-rules.css | 27 +++++++++++++++ tests/ctags/css-at-rules.css.tags | 3 ++ tests/ctags/css-at-supports.css | 6 ++++ tests/ctags/css-at-supports.css.tags | 5 +++ tests/ctags/css-attribute-selectors.css | 6 ++++ tests/ctags/css-attribute-selectors.css.tags | 12 +++++++ tests/ctags/css-comma-no-space.css | 1 + tests/ctags/css-comma-no-space.css.tags | 3 ++ tests/ctags/css-namespace-selectors.css | 4 +++ tests/ctags/css-namespace-selectors.css.tags | 5 +++ tests/ctags/css-pseudo-classes.css | 15 +++++++++ tests/ctags/css-pseudo-classes.css.tags | 23 +++++++++++++ tests/ctags/css-simple.css | 27 +++++++++++++++ tests/ctags/css-simple.css.tags | 11 +++++++ tests/ctags/css-singlequote-in-comment-issue2.css | 2 ++ .../css-singlequote-in-comment-issue2.css.tags | 2 ++ tests/ctags/css-tag-types.css | 38 ++++++++++++++++++++++ tests/ctags/css-tag-types.css.tags | 37 +++++++++++++++++++++ tests/ctags/css-trivial.css | 5 +++ tests/ctags/css-trivial.css.tags | 6 ++++ 21 files changed, 248 insertions(+) commit 67cc8faf4be7778cda8c2901785b038319c1f01a Author: Colomban Wendling Date: Sun Nov 9 22:14:12 2014 +0100 Fix closing of the "missing file" infobar The issue was introduced in b646424ddb715382a937d233a75bc684c22e18ec as it removed the default handler that used to destroy the infobar. Now, the infobar is properly closed, but only if the action succeeded. Closes #375. src/document.c | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) commit 4cc943666fae526ea3f0098ad0c34e5996872547 Author: Colomban Wendling Date: Wed Oct 29 14:10:34 2014 +0100 Autotools: MinGW: Fix building .res file in VPATH builds From a patch by Valentin Kunz, thanks! Part of https://sourceforge.net/p/geany/patches/17/ geany_private.rc | 2 +- src/Makefile.am | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) commit 1dc09597b24d19683abc597d45d7c28d37c199f0 Author: Colomban Wendling Date: Sun Nov 9 17:11:31 2014 +0100 Fix check for fnmatch and remove strict dependency on it for Windows Strict dependency on fnmatch was removed in 52076d19e8fe7ab41ebc92928e. We still have an optional dependency on it from CTags, but I don't think we use this code, and anyways the checks we had for the optional path to be taken were incorrect, so it was never actually used. So, drop the dependency on libibrety for Windows builds, and fix the remaining checks for an optional fnmatch so if it is found it can actually be used. configure.ac | 2 +- m4/geany-mingw.m4 | 2 -- src/Makefile.am | 2 +- wscript | 3 ++- 4 files changed, 4 insertions(+), 5 deletions(-) commit fea71a282fe91629335167f2c05ff2239c8e02e4 Author: Enrico Tröger Date: Sun Nov 9 11:22:16 2014 +0100 Allow MRU file list length to be set to 0 to disable it Since the rest of the code is already prepared for it, setting mru_length to 0 just disables the recent files menu. data/geany.glade | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit aa06427c71ef337f0a80e8d3eb001771a226fece Merge: 8c77accf d4135c98 Author: Colomban Wendling Date: Sun Nov 9 00:19:14 2014 +0100 Merge branch 'plugin-symbols-protoypes' commit 8c77accfd090c794e8eb1366772f417596052eb1 Merge: ba8ff712 fd4f31cc Author: Colomban Wendling Date: Sat Nov 8 19:37:20 2014 +0100 Merge PR#356 from 'b4n/techee/tm' Huge TagManager improvements commit ba8ff712b0b5d4cc08f0f6a89f5738e43a9ce3e9 Merge: 202ecf8b 53101dd5 Author: Colomban Wendling Date: Sat Nov 8 19:04:20 2014 +0100 Merge pull request #374 from kugel-/for-upstream project: Remove unecessary calls after loading project files commit fd4f31cc07fa86cc5287f493e7c2fad925b9868f Author: Colomban Wendling Date: Sat Nov 8 18:34:15 2014 +0100 Bump Geany API and ABI for TagManager API changes src/plugindata.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 6a0673f4ae8d18ada42afb7f3df46929f540cc3f Author: Colomban Wendling Date: Sat Nov 8 18:32:41 2014 +0100 TM: Don't allow passing NULL to tm_workspace API src/dialogs.c | 11 +++++++---- src/document.c | 7 +++++-- tagmanager/src/tm_workspace.c | 13 ++++++++----- 3 files changed, 20 insertions(+), 11 deletions(-) commit 0ed236db307d0bf76520bd8841a43b7d89dc8d8d Author: Colomban Wendling Date: Sat Nov 8 18:10:48 2014 +0100 TM: Fix some test results after sort changes from 90944c77 tests/ctags/debian_432872.f90.tags | 2 +- tests/ctags/keyword_explicit.cs.tags | 2 +- tests/ctags/keyword_implicit.cs.tags | 2 +- tests/ctags/keyword_names.f90.tags | 2 +- tests/ctags/keyword_struct.cs.tags | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) commit b38f1f99d54d0f8a95d1485f38bc8bb10467a17c Author: Colomban Wendling Date: Sat Nov 8 17:09:14 2014 +0100 TM: Use gsize everywhere for the memory buffer size tagmanager/ctags/read.c | 2 +- tagmanager/ctags/read.h | 2 +- tagmanager/src/tm_source_file.c | 2 +- tagmanager/src/tm_source_file.h | 2 +- tagmanager/src/tm_workspace.c | 4 ++-- tagmanager/src/tm_workspace.h | 2 +- 6 files changed, 7 insertions(+), 7 deletions(-) commit 53101dd5fa3c622b60be2e99163f0469246e0bc9 Author: Thomas Martitz Date: Sat Nov 8 17:59:05 2014 +0100 project: Remove unecessary calls after loading project files document_new_file_if_non_open() and ui_focus_current_document() only make sense when files where actually opened, but the preceeding configuration_load_session_files() only loads the file names into the global session_files variable, from which the files are actually opened by a later call to configuration_open_files(). These two calls should be done after that one and the callers generally do this already. src/project.c | 2 -- 1 file changed, 2 deletions(-) commit 202ecf8bcbe0add75e242739fc47961bc98bcae1 Merge: 4e5ed012 e67f63dd Author: Frank Lanitz Date: Fri Nov 7 16:31:23 2014 +0100 Merge pull request #372 from cousteaulecommandant/patch-1 "Execute commands" -> "Comandos de ejecución" commit e67f63dd0b69b3c04d1d43e0b19cc0e0844fd726 Author: cousteaulecommandant Date: Fri Nov 7 12:48:04 2014 +0100 "Execute commands" -> "Comandos de ejecución" "Execute commands" (from the Set Build Commands dialog) is translated to Spanish as if it were a sentence (like "Execute these commands"), but it's actually a name (" commands", "Independent commands", and "Execute commands"; so it means "Commands for 'execute'"). Therefore, +"Comandos de ejecución" is a better translation than -"Ejecutar comandos". po/es.po | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit f441a121d3b13207467566b953dd6d18e1831db2 Author: Jiří Techet Date: Thu Nov 6 11:38:40 2014 +0100 Parse file from buffer only if the file isn't too big By loading e.g. a huge DB dump into memory we could run out of memory. Check the size of the file and determine whether to use file parsing or buffer parsing. Give up early if LANG_IGNORE set - there's no need to read the file in this case. tagmanager/src/tm_source_file.c | 45 +++++++++++++++++++++++++++++++++-------- 1 file changed, 37 insertions(+), 8 deletions(-) commit 0ad85aee04a03ca395bff0b1426575beda1ecd46 Author: Jiří Techet Date: Wed Nov 5 20:58:52 2014 +0100 Fix comment wording tagmanager/src/tm_workspace.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit a95fc1a994a90e4bf3d1a27a4dc4accdc14fa91c Author: Jiří Techet Date: Wed Nov 5 20:52:03 2014 +0100 Don't expose the source file update function to plugins plugins/geanyfunctions.h | 2 -- src/document.c | 2 +- src/plugindata.h | 1 - src/plugins.c | 1 - tagmanager/src/tm_workspace.c | 16 +++++++--------- tagmanager/src/tm_workspace.h | 4 ++-- 6 files changed, 10 insertions(+), 16 deletions(-) commit 90944c77b0c304de28d26297687c12383d76ef39 Author: Jiří Techet Date: Wed Nov 5 20:21:33 2014 +0100 Unify tag sorting and simplify tag comparison function Use the same (or compatible) sorting criteria everywhere. Add tm_tag_attr_line_t to sort options so even after merging file tags into workspace tags, the same tags defined at different lines are preserved and not removed as duplicates. Sort type before scope because it's cheaper to compare (string vs int comparison). For some reason, the above changes make the sorting performance worse. Simplify the tag comparison function a bit and reorder the case statements in the switch to match the sort order. This (again not sure why), makes the performance like before. tagmanager/src/tm_tag.c | 32 +++++++++++++------------------- tagmanager/src/tm_workspace.c | 41 ++++++++++++++++++++++++++--------------- 2 files changed, 39 insertions(+), 34 deletions(-) commit 29000cf10465ab739e688eee711ba14ecfbfba7f Author: Jiří Techet Date: Mon Nov 3 11:29:39 2014 +0100 Always parse buffer instead of file This brings the linux kernel parsing time from about 20s to 12s on my machine. tagmanager/src/tm_source_file.c | 34 ++++++++++++++++++---------------- 1 file changed, 18 insertions(+), 16 deletions(-) commit 448f1fd20ef8b640a4702e3d47da1fc086cad0b6 Author: Jiří Techet Date: Mon Nov 3 10:57:58 2014 +0100 Make sure gboolean tm_source_file_parse() returns the right value Previously, after finishing the while loop TRUE was returned - this is wrong because the while was running because parsing was unsuccessful. Make it work the same way as in ctags (parser() always succeeds, parser2() returns whether to retry or not). (The return value actually isn't used, it's just to make sure we know what we are doing.) tagmanager/src/tm_source_file.c | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) commit f35d0b9c0c8f54b75eff4f12bc762cc5ced0d390 Author: Jiří Techet Date: Sun Nov 2 11:34:44 2014 +0100 Move tm_get_current_tag() from tm_workspace to tm_tag This function has nothing to do with the workspace so it rather belongs to tm_tag. tagmanager/src/tm_tag.c | 41 +++++++++++++++++++++++++++++++++++++++++ tagmanager/src/tm_tag.h | 2 ++ tagmanager/src/tm_workspace.c | 40 ---------------------------------------- tagmanager/src/tm_workspace.h | 2 -- 4 files changed, 43 insertions(+), 42 deletions(-) commit 71cc1ecb2084deb9e3c7dd8ba1e88946a1767280 Author: Jiří Techet Date: Fri Oct 31 23:26:16 2014 +0100 Cleaner and safer TMWorkspace API With the previous TMWorkspace API it was possible to make the workspace inconsistent by e.g. removing source files and forgetting to update workspace. This could lead to non-obvious and not immediately visible crashes. The new set of the public (but also Geany private) API calls always updates the workspace accordingly and neither of the calls can lead to an inconsistent state of the workspace. In addition, perform some minor cleanups and simplifications - unify parsing from buffer and from file, support "parsing" of 0-sized buffers and improve documentation. plugins/geanyfunctions.h | 10 +- src/dialogs.c | 2 +- src/document.c | 17 +- src/plugindata.h | 9 +- src/plugins.c | 5 +- tagmanager/src/tm_source_file.c | 96 ++++------- tagmanager/src/tm_source_file.h | 7 +- tagmanager/src/tm_workspace.c | 366 ++++++++++++++++++++++------------------ tagmanager/src/tm_workspace.h | 13 +- 9 files changed, 259 insertions(+), 266 deletions(-) commit 48718f4b792914ce206e5b423d4dfbf240bba4de Author: Colomban Wendling Date: Fri Oct 31 20:25:59 2014 +0100 Remove an unused parameter tagmanager/src/tm_tag.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 013c47c6e3edf5ed556e5cc1ebe2bf28c3600f42 Author: Colomban Wendling Date: Fri Oct 31 20:25:13 2014 +0100 TM: Fix various integer signedness issues tagmanager/src/tm_source_file.c | 4 ++-- tagmanager/src/tm_tag.c | 12 ++++++------ tagmanager/src/tm_workspace.c | 12 ++++++------ 3 files changed, 14 insertions(+), 14 deletions(-) commit 61ee7de86ecd5e10cf077b9c519d818013f52b8b Author: Colomban Wendling Date: Fri Oct 31 20:19:47 2014 +0100 Return an unisgned tag count in tm_tags_find() There is no reason to return a signed value an it help unifying caller's types. tagmanager/src/tm_source_file.c | 2 +- tagmanager/src/tm_tag.c | 6 +++--- tagmanager/src/tm_tag.h | 2 +- tagmanager/src/tm_workspace.c | 5 +++-- 4 files changed, 8 insertions(+), 7 deletions(-) commit 42a9603f4a1e5ec4a0dc7b74c6964fdf7bb7c10d Author: Colomban Wendling Date: Fri Oct 31 20:07:27 2014 +0100 Use TMTagType everywhere to hold tag types src/editor.c | 2 +- src/symbols.c | 12 ++++++------ tagmanager/src/tm_tag.c | 8 ++++---- tagmanager/src/tm_tag.h | 2 +- tagmanager/src/tm_workspace.c | 22 ++++++++++++---------- tagmanager/src/tm_workspace.h | 6 +++--- 6 files changed, 27 insertions(+), 25 deletions(-) commit 4e5ed012f29f57f1e82c0bca23ea621f8504a7f5 Author: Nick Treleaven Date: Thu Oct 30 17:12:14 2014 +0000 Recommend Glade 3.8.5, add link for fishman ctags fork HACKING | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) commit d7ed48f86be3957afb155edcb5a9c16afdc4054f Author: Jiří Techet Date: Fri Oct 31 02:03:13 2014 +0100 Fix a problem in tm_tags_remove_file_tags() when more tags of the same name exist tagmanager/src/tm_tag.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) commit cb9e4bbf7446e45365cad2242087f2a766662f20 Author: Jiří Techet Date: Thu Oct 30 19:36:10 2014 +0100 Microoptimization in merge Improves performance by about 10%. tagmanager/src/tm_tag.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) commit bdee1336aa11d2064c6f71661697cfe84bc0d658 Author: Jiří Techet Date: Thu Oct 30 18:46:46 2014 +0100 Keep a separate list of typenames for Scintilla syntax highlighting Manage the list the same way as workspace tags_array by the fast tag removal and merge. Thanks to this, typename tags don't have to be extracted from tags_array periodically, which speeds up editing. src/document.c | 3 +-- src/highlighting.c | 19 +------------------ src/symbols.c | 16 ++++++---------- src/symbols.h | 4 +--- tagmanager/src/tm_tag.c | 5 +++++ tagmanager/src/tm_tag.h | 3 +++ tagmanager/src/tm_workspace.c | 33 ++++++++++++++++++++++++++------- tagmanager/src/tm_workspace.h | 1 + 8 files changed, 44 insertions(+), 40 deletions(-) commit 32a3dfab7f6e75f102a2cac79c6ce3eac7c2a216 Author: Jiří Techet Date: Thu Oct 30 16:57:33 2014 +0100 Use binary search when removing file tags Even though the binary search requires expensive string comparisons, there are just log(n) of them to find the tag in the workspace array and the result is much faster than scanning the array linearly (this of course works only under the condition that len(source_file->tags_array) << len(workspace_array) This is however satisfied for big projects (and doesn't matter for small projects). Also make the tm_tags_find() function more user friendly by returning tagCount 0 when no tags found. tagmanager/src/tm_tag.c | 32 ++++++++++++++++++++++++++++---- 1 file changed, 28 insertions(+), 4 deletions(-) commit be131b00f9822309089c61a053125378bdefa005 Author: Jiří Techet Date: Wed Oct 29 16:13:02 2014 +0100 Extend dedup() and merge() to unref the duplicate tag when needed src/editor.c | 2 +- src/symbols.c | 2 +- tagmanager/src/tm_tag.c | 21 +++++++++++++++------ tagmanager/src/tm_tag.h | 8 +++++--- tagmanager/src/tm_workspace.c | 18 +++++++++--------- 5 files changed, 31 insertions(+), 20 deletions(-) commit 6ba3bb46a455040a8780fd494a99d080913800d9 Author: Jiří Techet Date: Wed Oct 29 15:28:12 2014 +0100 Don't pass arguments to search/sort functions using static variables Instead of qsort() it's possible to use g_ptr_array_sort_with_data() with similar performance. Unfortunately it seems there's no bsearch_with_data() anywhere so the patch uses a modified bsearch() implementation from libc (still probably cleaner than passing arguments using static variables). tagmanager/src/tm_tag.c | 99 ++++++++++++++++++++++++++++++++----------------- 1 file changed, 65 insertions(+), 34 deletions(-) commit 15c90b63c9b6e21ac7485f06023ea3b92724d6ba Author: Jiří Techet Date: Wed Oct 29 13:53:16 2014 +0100 Get rid of lazy initialization in TM Lazy initializing various member pointers doesn't bring any real performance improvement but it requires lots of additional NULL checks - get rid of this. Make some more cleanups on the way. In addition, remove success/failure return values from tm_workspace_add_source_file() and tm_workspace_remove_source_file() which have no real use. src/document.c | 7 +- src/plugindata.h | 4 +- tagmanager/src/tm_source_file.c | 24 ++---- tagmanager/src/tm_tag.c | 62 +++++++-------- tagmanager/src/tm_workspace.c | 162 ++++++++++++---------------------------- tagmanager/src/tm_workspace.h | 4 +- 6 files changed, 92 insertions(+), 171 deletions(-) commit 43b8ab8d236850bec929d981d05122dfabca99c7 Author: Jiří Techet Date: Tue Oct 28 00:07:24 2014 +0100 Only keep the minimal set of parameter in the TM API calls Avoid "utility" parameters like do_free for which we already have API calls and which actually don't perform any free if the source file isn't in TM. Clarify when to set the update_workspace parameter. src/dialogs.c | 3 ++- src/document.c | 6 ++++-- src/plugindata.h | 2 +- tagmanager/src/tm_workspace.c | 26 +++++++++++++------------- tagmanager/src/tm_workspace.h | 2 +- 5 files changed, 21 insertions(+), 18 deletions(-) commit 0285ec28a5c813cd5c82b1ad390b584e122c1873 Author: Jiří Techet Date: Mon Oct 27 23:44:20 2014 +0100 Move tm_source_file_update() to tm_workspace.c The placement of this function in tm_source_file is not right - by moving it to the workspace we can make the source file unaware of the existence of the workspace (no inclusion of tm_workspace.h in tm_source_file any more). Also change tm_source_file_new() so it doesn't offer the source file update. After this change * TMWorkspace knows TMSourceFile and TMTag * TMSourceFile knows TMTag * TMTag knows TMSourceFile plugins/geanyfunctions.h | 4 +- src/document.c | 4 +- src/plugindata.h | 4 +- src/plugins.c | 2 +- tagmanager/src/tm_source_file.c | 102 +++------------------------------------- tagmanager/src/tm_source_file.h | 11 ++--- tagmanager/src/tm_workspace.c | 102 ++++++++++++++++++++++++++++++++++++---- tagmanager/src/tm_workspace.h | 9 ++-- 8 files changed, 117 insertions(+), 121 deletions(-) commit cfcbc6a2056100c741514b6df8d02438854d26cd Author: Nick Treleaven Date: Thu Oct 30 12:50:55 2014 +0000 Make Next/Previous Message keybindings work without a document open src/keybindings.c | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) commit 4546b6f7a660f0aa81d115baa06a75bd1b608505 Merge: fc5d8d14 41dcde62 Author: Colomban Wendling Date: Mon Oct 27 21:19:57 2014 +0100 Merge pull request #363 from techee/prj_dialog Always set project description and file patterns in the dialog commit 41dcde623db0c785e6bf7fc64a7117f7f8774aea Author: Jiří Techet Date: Mon Oct 27 20:58:59 2014 +0100 Always set project description and file patterns in the dialog Set them also when they are NULL in the project (which happens when new project is created) because otherwise there are left-over values from the previous project. src/project.c | 22 +++++++++------------- 1 file changed, 9 insertions(+), 13 deletions(-) commit fc5d8d145a7b14e8e3a82fa55e9b489c1a2285c6 Merge: a7a893a2 36c155cb Author: Colomban Wendling Date: Mon Oct 27 19:24:09 2014 +0100 Merge pull request #362 from ntrel/fb-cmd Make File Browser use explorer as default open command on Windows commit a7a893a22f15078d498ea6c61ba0a3c79aa8b85b Author: Enrico Tröger Date: Sun Oct 26 23:44:19 2014 +0100 Set -O2 compiler flag by default for gcc But only if no other optimization flags could be found. wscript | 2 ++ 1 file changed, 2 insertions(+) commit 36c155cbe855f4c05425d868fa4194ee165ca362 Author: Nick Treleaven Date: Sun Oct 26 15:06:16 2014 +0000 Make File Browser use explorer as default open command on Windows plugins/filebrowser.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) commit 233ca08e886f6a1d543aa87fc454057e61a20e0c Author: Jiří Techet Date: Sat Oct 25 22:29:21 2014 +0200 Add project_write_config() to force project file rewrite Since plugins don't have direct access to the project file, only through the project-save signal, they need some way to emit this signal when saving their preferences outside the project dialog, which is what this function does. plugins/geanyfunctions.h | 2 ++ src/plugindata.h | 8 ++++++++ src/plugins.c | 7 ++++++- src/project.c | 12 ++++++++++++ src/project.h | 3 +++ 5 files changed, 31 insertions(+), 1 deletion(-) commit a183d9cb97c3adde33e6a7dfd08591d802bc2316 Author: Jiří Techet Date: Wed Oct 22 16:58:38 2014 +0200 Move the refcount TMTag member up in the structure and don't document it for plugins tagmanager/src/tm_tag.h | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) commit 11866938ccbc77cec7b1e600c65efb175d1bca96 Author: Jiří Techet Date: Wed Oct 22 16:23:07 2014 +0200 Remove unused return value tagmanager/src/tm_tag.c | 2 +- tagmanager/src/tm_tag.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) commit 6ef41c65a9504f54bab17253359edaafb9d771fa Author: Jiří Techet Date: Wed Oct 22 16:14:59 2014 +0200 Various cleanups in the merge algorithm Remove the continue statement and use if/else instead. Initialize the val1 variable only with the value used for the chosen path (normal/fast). tagmanager/src/tm_tag.c | 44 +++++++++++++++++++++++--------------------- 1 file changed, 23 insertions(+), 21 deletions(-) commit 9a2a55a252a0c456b8a18a79da1d55eb1393329c Author: Jiří Techet Date: Wed Oct 22 16:04:06 2014 +0200 Reinclude tm_tag.h in tm_workspace.c To make Colomban happy. tagmanager/src/tm_workspace.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit d8b178e4cbf4c0569a4b5c67e8c48f566d58a5b1 Author: Jiří Techet Date: Wed Oct 22 15:59:36 2014 +0200 Whitespace changes tagmanager/src/tm_source_file.c | 48 ++++++++++++++++++++--------------------- tagmanager/src/tm_workspace.c | 4 ++-- tagmanager/src/tm_workspace.h | 12 +++++------ 3 files changed, 32 insertions(+), 32 deletions(-) commit 11ea0ed637efc299b129aebc3d7ead71303a884f Author: Colomban Wendling Date: Wed Oct 22 15:06:14 2014 +0200 Remove some dead code tagmanager/src/tm_tag.c | 1 - tagmanager/src/tm_workspace.c | 2 -- 2 files changed, 3 deletions(-) commit a671c1e26d94bccf68120b327ea2002b9d10ab0c Author: Colomban Wendling Date: Wed Oct 22 15:05:35 2014 +0200 Fix signed vs unsigned comparisons tagmanager/src/tm_tag.c | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) commit d4135c9842bb7fc0c8701fc47a1ab148bed5e992 Author: Colomban Wendling Date: Mon Oct 20 17:55:32 2014 +0200 Add prototypes for all plugin symbols This allows the compilers to check that the plugin's symbols have the proper prototype. Doing so can avoid subtle and hard-to-find bugs in case a plugin's symbol has incorrect signature as dlsym() can't check if the signature is actually the one we expect. As a bonus, it helps when using -Wmissing-prototypes as it provides the prototypes. src/plugindata.h | 26 +++++++++++++++++--------- 1 file changed, 17 insertions(+), 9 deletions(-) commit c35dedf35f95511d0e4f9fd204ddee5dddd1a409 Author: Colomban Wendling Date: Mon Oct 20 16:17:19 2014 +0200 Rename internal plugin_init() to avoid confusion with plugins entry point src/plugins.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) commit 62332e19aa9182593dccea5f21fcd1c34b99f144 Author: Jiří Techet Date: Sat Oct 18 13:46:01 2014 +0200 Since lang is now always part of TMTag, always set its value This makes it less confusing for code accessing TMTag so it can always find the language in tag->lang and there is no need to access it through tag->file.lang. src/symbols.c | 5 +---- tagmanager/src/tm_tag.c | 1 + tagmanager/src/tm_tag.h | 4 +--- tagmanager/src/tm_workspace.c | 6 +----- 4 files changed, 4 insertions(+), 12 deletions(-) commit 54a9fd83ea0c98b6ba34fe7cd75f1e3a73daa0be Author: Jiří Techet Date: Sat Oct 18 12:34:05 2014 +0200 Get rid of the nested members in TMTag The only real change is the removal of struct and union in TMTag, the rest is purely mechanical removal of "atts.entry." everywhere. src/editor.c | 26 +++---- src/sidebar.c | 2 +- src/symbols.c | 64 ++++++++-------- tagmanager/src/tm_source_file.c | 4 +- tagmanager/src/tm_tag.c | 160 ++++++++++++++++++++-------------------- tagmanager/src/tm_tag.h | 36 ++++----- tagmanager/src/tm_workspace.c | 108 +++++++++++++-------------- 7 files changed, 198 insertions(+), 202 deletions(-) commit 48725e4188764b71b97f4e68291f89a222d91a5d Author: Jiří Techet Date: Sat Oct 18 12:24:21 2014 +0200 Get rid of the file struct in TMTag, preparation for the union removal The union on TMTag is very confusing and rather dangerous. The fields file/timestamp and line/lang overlap. Some implicit assumptions are made in the code - timestamp is never set so when file is NULL, the file struct should be used to get the lang member. Rather avoid using unions and move the lang member to the entry struct together with the other attributes. src/symbols.c | 9 +++++---- tagmanager/src/tm_tag.c | 2 +- tagmanager/src/tm_tag.h | 11 ++++------- tagmanager/src/tm_workspace.c | 4 ++-- 4 files changed, 12 insertions(+), 14 deletions(-) commit a7c6e0733fab4a236bdc0b0bba756b2b522391a8 Author: Jiří Techet Date: Sat Oct 18 12:04:12 2014 +0200 Remove tm_tag_file_t and all its uses File tags aren't used for anything in geany and neither the existing global tag files seem to use them - remove this concept from geany. tagmanager/src/tm_tag.c | 109 ++++++++++++++---------------------------------- tagmanager/src/tm_tag.h | 2 +- 2 files changed, 33 insertions(+), 78 deletions(-) commit 0f9b778ae55b74c688970a532baf5ac99d607980 Author: Jiří Techet Date: Fri Oct 17 22:37:17 2014 +0200 Fix division by 0 tagmanager/src/tm_tag.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 9eefdb0efcdc22d3d65e6f1d4e975f225eb18569 Author: Jiří Techet Date: Fri Oct 17 00:43:33 2014 +0200 Where possible, convert functions to static in TM tagmanager/src/tm_source_file.c | 90 ++++++++++++++++++++--------------------- tagmanager/src/tm_source_file.h | 13 ------ tagmanager/src/tm_tag.c | 10 ++--- tagmanager/src/tm_tag.h | 10 ----- tagmanager/src/tm_workspace.c | 2 +- tagmanager/src/tm_workspace.h | 2 - 6 files changed, 51 insertions(+), 76 deletions(-) commit 034ef6d79de3bf61907894674cc8efadfadd5bde Author: Jiří Techet Date: Fri Oct 17 00:15:07 2014 +0200 Remove the unused (and misleading) tm_tag_free() It just calls unref() which might not actually free the tag if the refnum is more than 1. tagmanager/src/tm_tag.c | 10 ---------- tagmanager/src/tm_tag.h | 6 ------ 2 files changed, 16 deletions(-) commit 344eca020474fb3ce948af529c318bd719f09ba9 Author: Jiří Techet Date: Fri Oct 17 00:12:54 2014 +0200 Add #if 0 around unused TM functions and move them to the end of the file Similarly, add #if TM_DEBUG around various unused debugging functions. The #if 0 surrounded functions are good candidate for future removal if decided they are not needed any more. tagmanager/src/tm_source_file.c | 69 ++++----- tagmanager/src/tm_source_file.h | 2 - tagmanager/src/tm_tag.c | 4 + tagmanager/src/tm_tag.h | 5 + tagmanager/src/tm_workspace.c | 318 ++++++++++++++++++++-------------------- tagmanager/src/tm_workspace.h | 16 +- 6 files changed, 212 insertions(+), 202 deletions(-) commit 2c09333b6a3deb4f38a0b70888122829cc6e3818 Author: Jiří Techet Date: Thu Oct 16 23:26:52 2014 +0200 Remove unused tm_tags_custom_sort() and tm_tags_custom_dedup() and friends tagmanager/src/tm_tag.c | 49 ++----------------------------------------------- tagmanager/src/tm_tag.h | 18 +++--------------- 2 files changed, 5 insertions(+), 62 deletions(-) commit 4e98021689fbc744b75a773f5095d4f7472f4430 Author: Jiří Techet Date: Thu Oct 16 23:14:09 2014 +0200 Swap the merge arguments if len(small_array) > len(big_array) tagmanager/src/tm_tag.c | 30 +++++++++++++++++++++--------- tagmanager/src/tm_tag.h | 2 +- tagmanager/src/tm_workspace.c | 4 ++-- 3 files changed, 24 insertions(+), 12 deletions(-) commit fe98ea61564d4195f9d7619f48b4983f5417eece Author: Jiří Techet Date: Thu Oct 16 23:06:40 2014 +0200 Use the new merge implementation also for global tags tagmanager/src/tm_tag.c | 46 ------------------------------------------- tagmanager/src/tm_tag.h | 3 --- tagmanager/src/tm_workspace.c | 14 +++++++++++-- 3 files changed, 12 insertions(+), 51 deletions(-) commit 0470f45e0cac539efed63e3f01d519ac01623f74 Author: Jiří Techet Date: Wed Oct 15 15:05:19 2014 +0200 TM: move function descriptions from headers to sources To make it consistent with the rest of Geany. tagmanager/src/tm_source_file.c | 78 ++++++++++++++++++++ tagmanager/src/tm_source_file.h | 79 -------------------- tagmanager/src/tm_tag.c | 154 ++++++++++++++++++++++++++++++++++++++- tagmanager/src/tm_tag.h | 156 ---------------------------------------- tagmanager/src/tm_workspace.c | 80 ++++++++++++++++++++- tagmanager/src/tm_workspace.h | 83 +-------------------- 6 files changed, 311 insertions(+), 319 deletions(-) commit 4903d79dcc7ed1e8e0d54f85f00d07dbb62e33dc Author: Jiří Techet Date: Wed Oct 15 14:20:06 2014 +0200 TM: use the same format of docstrings as in the rest of Geany tagmanager/src/tm_source_file.h | 78 ++++++------- tagmanager/src/tm_tag.h | 248 ++++++++++++++++++++-------------------- tagmanager/src/tm_tagmanager.h | 8 +- tagmanager/src/tm_workspace.c | 2 +- tagmanager/src/tm_workspace.h | 92 +++++++-------- 5 files changed, 214 insertions(+), 214 deletions(-) commit 74706374eb1afcf8e3db422365f722e33dd1715a Author: Jiří Techet Date: Wed Oct 15 13:49:10 2014 +0200 Remove the unused inactive flag in TM It is set only when read from a file but it never gets written to the file with the TRUE value. tagmanager/src/tm_source_file.c | 1 - tagmanager/src/tm_source_file.h | 1 - tagmanager/src/tm_tag.c | 14 ++------------ tagmanager/src/tm_tag.h | 3 +-- 4 files changed, 3 insertions(+), 16 deletions(-) commit d686674ecae5e6c5dc889741d6a96c783b5678e4 Author: Jiří Techet Date: Sun Oct 12 22:36:03 2014 +0200 On single file update only merge the file's tags into workspace tags Since both the file tags and workspace tags are sorted, it is unnecessary to completely resort the tags for the workspace - instead, remove the tags belonging to the file from the workspace tags and merge the updated file's tags into the workspace tags. The merge is optimized for merging small number of tags into a large array. For instance, the total number of tags in linux kernel is about 2300000 while the average number of tags per file is about 65 (35000 source files). Most of the time merge won't be performed so we can avoid expensive string comparisons and try to make bigger jumps to see if some merge is needed or not (more details in the source file comments). tagmanager/src/tm_source_file.c | 16 +++++- tagmanager/src/tm_tag.c | 113 ++++++++++++++++++++++++++++++++++++++++ tagmanager/src/tm_tag.h | 4 ++ tagmanager/src/tm_workspace.c | 28 +++++++++- tagmanager/src/tm_workspace.h | 3 ++ 5 files changed, 160 insertions(+), 4 deletions(-) commit 8c25ff871c2770fe5a53974f8e0ed6f482dee1ab Author: Jiří Techet Date: Sun Oct 12 21:26:44 2014 +0200 Make tm_workspace_update() public plugins/geanyfunctions.h | 2 ++ src/plugindata.h | 1 + src/plugins.c | 3 ++- tagmanager/src/tm_workspace.h | 10 +++++----- 4 files changed, 10 insertions(+), 6 deletions(-) commit 52076d19e8fe7ab41ebc92928ef7832c248a51f2 Author: Jiří Techet Date: Fri Oct 10 23:04:45 2014 +0200 Remove unused tm_file_entry.[ch] tagmanager/src/Makefile.am | 2 - tagmanager/src/makefile.win32 | 3 +- tagmanager/src/tm_file_entry.c | 281 ----------------------------------------- tagmanager/src/tm_file_entry.h | 124 ------------------ tagmanager/src/tm_tagmanager.h | 1 - wscript | 1 - 6 files changed, 1 insertion(+), 411 deletions(-) commit 26587454b043971d3f1557a5bace257a51125eba Author: Jiří Techet Date: Fri Oct 10 16:18:06 2014 +0200 Remove TmWorkObject and all the OO related stuff In addition, rename all functions, parameters, comments etc. mentioning work_object and remove unnecessary parameters of various functions. Delete dead code paths. Also move common functions like tm_get_real_path() from tm_work_object to tm_source_file. doc/Doxyfile.in | 2 - doc/Makefile.am | 1 - plugins/geanyfunctions.h | 12 +- src/dialogs.c | 2 +- src/document.c | 16 +-- src/document.h | 4 +- src/editor.c | 2 +- src/main.c | 2 +- src/plugindata.h | 11 +- src/plugins.c | 6 +- src/symbols.c | 41 +++--- tagmanager/src/Makefile.am | 3 - tagmanager/src/makefile.win32 | 2 +- tagmanager/src/tm_file_entry.c | 3 +- tagmanager/src/tm_source_file.c | 195 ++++++++++++++++++-------- tagmanager/src/tm_source_file.h | 61 ++++---- tagmanager/src/tm_tag.c | 5 +- tagmanager/src/tm_tagmanager.h | 1 - tagmanager/src/tm_work_object.c | 298 ---------------------------------------- tagmanager/src/tm_work_object.h | 191 ------------------------- tagmanager/src/tm_workspace.c | 157 +++++++-------------- tagmanager/src/tm_workspace.h | 60 +++----- wscript | 3 +- 23 files changed, 287 insertions(+), 791 deletions(-) commit 94a7762f9136b7a0a31a6547f4b15d2925546e77 Author: Frank Lanitz Date: Sat Oct 18 19:52:38 2014 +0200 Small update of German translation po/de.po | 88 +++++++++++++++++++++++++++++++++------------------------------- 1 file changed, 46 insertions(+), 42 deletions(-) commit d42837f021105c1060f7b31ff527478fca2acb70 Merge: 5a243fd2 6242d194 Author: Colomban Wendling Date: Sat Oct 18 18:13:45 2014 +0200 Merge pull request #351 from techee/guards Protect private definitions by the GEANY_PRIVATE macro in headers commit 5a243fd2241059da111f5078bade141d0b0711bc Author: Enrico Tröger Date: Wed Oct 15 17:33:57 2014 +0200 Explicitly define Windows version for older Mingw environments wscript | 3 +++ 1 file changed, 3 insertions(+) commit 608ab0f60c4475da960686841a6dee761998fefe Author: Colomban Wendling Date: Tue Oct 14 23:18:38 2014 +0200 Document the fact utils_spawn_sync() accepts NULL for all output arguments src/utils.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) commit c38f59bbc422e2e39eeb1e5bdae2258214a0e86a Author: Colomban Wendling Date: Mon Oct 13 23:53:00 2014 +0200 autotools: Only uninstall what we actually installed Only manually uninstall the files we manually installed, as uninstall-local might be run in parallel to Automake's own uninstall targets. We don't uninstall the directories as some docs seems to suggest `rmdir` isn't really portable. Anyway, Automake don't uninstall directories either so it's not a real problem. An alternative solution would be to keep the recursive removal of `$(DOCDIR)` but move it to `uninstall-hook`, which is guaranteed to be run after other uninstall rules. However, recursive deletion is not always sensible as it might remove files we didn't install, e.g. if the user added them manually. doc/Makefile.am | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) commit 16716e498d133a627f593007b96d8b5d83e0f1d5 Author: Colomban Wendling Date: Mon Oct 13 23:52:22 2014 +0200 autotools: Remove new Doxygen temporary files doc/Makefile.am | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 0650e707f14096ca224790da97d1cde0c483c78f Author: Colomban Wendling Date: Mon Oct 13 23:50:50 2014 +0200 autotools: Properly clean up hacking.html We don't distribute it, so we need to clean it. doc/Makefile.am | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) commit 75af73875f9b03eaca657991bebdd5be63415968 Author: elextr Date: Mon Oct 13 12:41:05 2014 +1100 Add note about -D_FILE_OFFSET_BITS=64 README.Packagers | 3 +++ 1 file changed, 3 insertions(+) commit 6242d1947195b322573bf6c8246d9b7561a271c2 Author: Jiří Techet Date: Sun Oct 12 23:49:52 2014 +0200 Add all headers to libtagmanager_a_SOURCES in tag manager makefile So they become part of tarball. tagmanager/src/Makefile.am | 7 +++++++ 1 file changed, 7 insertions(+) commit dbcf67d449542007b0a8e8ffe276c8bf7f3a11a0 Author: Jiří Techet Date: Sun Oct 12 23:37:00 2014 +0200 Define the GEANY_PRIVATE macro for tag manager in makefile.win32 tagmanager/src/makefile.win32 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 6d6dd7444b57b41cf657f61f6c514afead12e598 Author: Jiří Techet Date: Sun Oct 12 23:33:51 2014 +0200 Fix doxygen warnings Make documents_array public and accessible by doxygen and describe all parameters of tm_source_file_new(). src/document.h | 3 +-- tagmanager/src/tm_source_file.h | 7 ++++++- 2 files changed, 7 insertions(+), 3 deletions(-) commit f5230f334e28248c91fa6f58f3557f0b40f40233 Author: Colomban Wendling Date: Sun Oct 12 17:58:26 2014 +0200 Fix moving editor tabs through keybindings src/keybindings.c | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) commit 9caa0046bd9956cdc36a36dd3e6b63a747e1f3ea Author: Enrico Tröger Date: Sun Oct 12 16:40:12 2014 +0200 Prepare Windows installer for embedded GTK 2.24 geany.nsi | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) commit 3966ba8c4b2656c12bed7a5bf96a39eadc49d5a7 Author: Enrico Tröger Date: Sun Oct 12 16:35:46 2014 +0200 Query GdkWindow reference only if available On startup, the Geany main window doesn't have a GdkWindow yet (probably because it is not yet mapped). This causes many 'gdkdrawable-win32.c:2013 drawable is not a pixmap or window' warnings when resolving shortcuts on Windows. Since we pass the SLR_NO_UI to the Windows API, we probably don't need the parent hWnd reference at all. src/win32.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) commit 75ab7103f1b8d5e48a07474a09e0542d2a449f04 Merge: 2d59f110 f1da4b99 Author: Colomban Wendling Date: Sun Oct 12 16:02:40 2014 +0200 Merge pull request #353 from b4n/tm-no-update-on-quit Don't rebuild TagManager workspace tags when quitting commit 2d59f110df184516305aa4c98a12a4bf736652d9 Merge: 82985017 ab7a0018 Author: Nick Treleaven Date: Sun Oct 12 13:27:00 2014 +0100 Merge pull request #350 from ntrel/reload-prompt Don't prompt for reload from infobar when there are no unsaved changes commit 82985017179d295121b3fd8e45eee07c85ed1f83 Merge: eb7fd066 700e0b90 Author: Frank Lanitz Date: Sun Oct 12 10:27:31 2014 +0200 Merge pull request #344 from marcelocamargobr/master Changed wrong translation of identation commit eb7fd066b12aa505614d0f8c51a9c191d17808cc Author: Colomban Wendling Date: Sat Oct 11 14:52:14 2014 +0200 Don't alter GeanyEditor internal state in editor_create_widget() When editor_create_widget() is used on an editor with already existing widget, don't reset the internal indentation settings of that editor. src/editor.c | 6 ++++++ 1 file changed, 6 insertions(+) commit 41c66e0eb06358b9ab07ae5564370331ea452b52 Author: Matthew Brush Date: Fri Oct 10 18:40:54 2014 -0700 Change "replace_and_find_by_default" default to true doc/geany.txt | 2 +- src/keyfile.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) commit bae420a768975aa1d4818121eec80098d9e0064a Merge: 0362a228 3df962a3 Author: Matthew Brush Date: Fri Oct 10 18:02:29 2014 -0700 Merge branch 'rpalli/replace1' Closes #189 commit f1da4b99146d261ec2e640bfb64ef5eee548f035 Author: Colomban Wendling Date: Sat Oct 11 01:40:10 2014 +0200 Don't rebuild TagManager workspace tags when quitting Updating the workspace is useless as the application will be shut down, and not doing it can save a lot of time (almost 50% speedup quitting an instance with all Geany source from `src/` open). src/document.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit ab7a0018b2518793f26af2fe20a06a8a1886e031 Author: Nick Treleaven Date: Tue Oct 7 14:43:33 2014 +0100 Don't prompt for reload from infobar when there are no unsaved changes Also warn about losing undo history when there are no changes. src/document.c | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) commit 0362a2281b1d558b42992a82a988f09a9d631425 Author: Nick Treleaven Date: Fri Oct 10 16:41:01 2014 +0100 Define _WIN32_IE for SHGFP_TYPE win32-config.h | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) commit 3df962a37152d697b1258aae7267c2a8b845f1b9 Author: Roland Pallai Date: Fri Oct 10 00:26:25 2014 +0200 A small styling of the documentation doc/geany.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 9b2ccb9965266f1dcda93e3fa17c64389201ad59 Author: Roland Pallai Date: Thu Oct 9 23:57:03 2014 +0200 Turn "replace and find by default" boolean pref into a "various" preference. data/geany.glade | 17 ----------------- doc/geany.txt | 8 +++++--- src/keyfile.c | 2 ++ src/search.c | 5 +---- src/search.h | 2 +- 5 files changed, 9 insertions(+), 25 deletions(-) commit 10a28b4191f1c7343d80b249f707e23147a6d320 Author: Jiří Techet Date: Thu Oct 9 20:51:32 2014 +0200 Protect private definitions by the GEANY_PRIVATE macro in headers In addition, this patch defines the GEANY_PRIVATE macro for the tag manager library where it wasn't defined before, removes 2 tag manager headers from distribution as they are not needed by plugins and in the tag manager changes the docstrings to ordinary comments for private definitions. src/app.h | 5 ++ src/build.h | 89 ++++++++++++++-------------- src/dialogs.h | 29 ++++++---- src/document.h | 93 ++++++++++++++++-------------- src/editor.h | 113 ++++++++++++++++++------------------ src/encodings.h | 105 ++++++++++++++++++---------------- src/filetypes.h | 24 +++++--- src/geany.h | 13 +++-- src/highlighting.h | 15 +++-- src/keybindings.h | 27 +++++---- src/main.h | 17 ++++-- src/msgwindow.h | 30 +++++----- src/navqueue.h | 9 ++- src/prefs.h | 11 ++-- src/project.h | 4 ++ src/sciwrappers.h | 124 +++++++++++++++++++++++----------------- src/search.h | 56 +++++++++--------- src/stash.h | 30 ++++++---- src/symbols.h | 9 ++- src/templates.h | 38 ++++++------ src/toolbar.h | 5 ++ src/ui_utils.h | 105 ++++++++++++++++++---------------- src/utils.h | 97 ++++++++++++++++--------------- tagmanager/src/Makefile.am | 3 +- tagmanager/src/tm_file_entry.h | 42 +++++++------- tagmanager/src/tm_source_file.h | 36 ++++++------ tagmanager/src/tm_tag.h | 63 ++++++++++---------- tagmanager/src/tm_tagmanager.h | 4 +- tagmanager/src/tm_work_object.h | 59 ++++++++++--------- tagmanager/src/tm_workspace.h | 34 ++++++----- wscript | 5 +- 31 files changed, 717 insertions(+), 577 deletions(-) commit 985829afe06a9b07832669a7be4f7a06d96008f6 Author: Roland Pallai Date: Thu Oct 9 02:07:58 2014 +0200 Documentation change for the "Replace&Find by default" behaviour. doc/geany.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 2cae5f337b98ab7318c8b2ec3ca7a3165a390ef7 Author: Roland Pallai Date: Thu Oct 9 02:00:30 2014 +0200 Better preferences sentence for the "Replace&Find by default" behaviour. data/geany.glade | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 245ae6696cfd8ec391531cd7057f29772d40726d Author: Nick Treleaven Date: Tue Oct 7 15:30:19 2014 +0100 Require WINVER=WindowsXP for SHGetFolderPathAndSubDirW win32-config.h | 2 ++ 1 file changed, 2 insertions(+) commit c0a8a1a9434a5d2b47e9cabcda19b3f2fceaf023 Author: Nick Treleaven Date: Tue Oct 7 14:50:07 2014 +0100 Fix Windows build tagmanager/src/makefile.win32 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 63266a1254e9cf7fbce30d4588f611437a3a0810 Author: Enrico Tröger Date: Mon Oct 6 17:28:10 2014 +0200 Remove unused variable src/win32.c | 1 - 1 file changed, 1 deletion(-) commit b1b9e6d19a3983de02aebebd49496407ca722a91 Author: Colomban Wendling Date: Mon Oct 6 16:24:26 2014 +0200 Fix configuration directory location on non-Windows 3e089e4c2c914a4b8885daa65e784a227bd2d6b0 accidentally switched from `g_get_user_config_dir()` to `g_get_user_data_dir()` as the location for the user's configuration directory. src/utils.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit e69bbe25fd49d8a31a06bed395bcc9c65efa0563 Merge: fa20ec4f 541cb8db Author: Nick Treleaven Date: Mon Oct 6 12:20:54 2014 +0100 Merge pull request #342 from ntrel/save-disk-check Force disk check before save to prevent accidental overwriting commit fa20ec4ffb89a8f5e9e0a4506565dbd144af2835 Merge: 17375793 7a8c091a Author: Nick Treleaven Date: Mon Oct 6 12:20:15 2014 +0100 Merge pull request #343 from ntrel/more-project-prefs Add project prefs for line breaking column & multiline comment completion commit 17375793ad84fa18631cefa9792c01ad92d26e92 Merge: 3e089e4c ce46f8f0 Author: Colomban Wendling Date: Sun Oct 5 23:50:08 2014 +0200 Merge pull request #347 from techee/master Remove unused tag manager files commit ce46f8f0b4f67cc76971ae2d4b0e8afc578fbba5 Author: Jiří Techet Date: Sun Oct 5 22:28:54 2014 +0200 Remove unused tm_tagmanager.c tagmanager/src/Makefile.am | 1 - tagmanager/src/tm_tagmanager.c | 11 ----------- wscript | 1 - 3 files changed, 13 deletions(-) commit 464632387837ef0ebe237b79fbf7debef25a2860 Author: Jiří Techet Date: Sun Oct 5 19:26:37 2014 +0200 Remove unused tm_symbol tagmanager/src/Makefile.am | 2 - tagmanager/src/tm_symbol.c | 319 ----------------------------------------- tagmanager/src/tm_symbol.h | 80 ----------- tagmanager/src/tm_tagmanager.h | 1 - wscript | 3 +- 5 files changed, 1 insertion(+), 404 deletions(-) commit b512aa0368b3431852e11a9ba93f5b9fdb5353f8 Author: Jiří Techet Date: Sun Oct 5 19:19:35 2014 +0200 Remove unused tm_project and all its references in docstrings tagmanager/src/Makefile.am | 2 - tagmanager/src/tm_project.c | 568 ---------------------------------------- tagmanager/src/tm_project.h | 207 --------------- tagmanager/src/tm_source_file.c | 2 +- tagmanager/src/tm_source_file.h | 4 +- tagmanager/src/tm_tagmanager.h | 3 +- tagmanager/src/tm_work_object.c | 2 +- tagmanager/src/tm_work_object.h | 12 +- tagmanager/src/tm_workspace.c | 10 +- tagmanager/src/tm_workspace.h | 15 +- wscript | 3 +- 11 files changed, 22 insertions(+), 806 deletions(-) commit 3e089e4c2c914a4b8885daa65e784a227bd2d6b0 Author: Enrico Tröger Date: Sun Oct 5 12:55:33 2014 +0200 Reading the config directory from the Windows API instead of GLib Before we used g_get_user_config_dir() but GLib changed the returned location in newer versions, so use the Windows API directly to get the old location, at least for now. Also add utils_get_user_config_dir() wrapper. Code is based almost completely on a patch from Matthew. src/main.c | 2 +- src/utils.c | 10 ++++++++++ src/utils.h | 2 ++ src/win32.c | 27 +++++++++++++++++++++++++++ src/win32.h | 2 ++ 5 files changed, 42 insertions(+), 1 deletion(-) commit 700e0b906fc84bcb3149c84c660da82e46032243 Author: Marcelo Camargo Date: Sat Oct 4 00:13:47 2014 -0300 Updated last translator po/pt_BR.po | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 5e01664777cc4fc3bd7237a8d60d21f2b6c69b12 Author: Marcelo Camargo Date: Fri Oct 3 23:53:03 2014 -0300 Changed wrong translation of identantion In portuguese, there is no "endentação", but "indentação". po/pt_BR.po | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) commit 7a8c091af09e5cc0ea8ead68007901905f262cc6 Author: Nick Treleaven Date: Fri Oct 3 17:42:23 2014 +0100 Reformat g_signal_connect calls src/project.c | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) commit e566aae6b2218eb1d3689340c3d9eebc0b96cbf4 Author: Nick Treleaven Date: Thu Oct 2 17:50:39 2014 +0100 Add project prefs for line breaking column & multiline comments data/geany.glade | 152 +++++++++++++++++++++++++++++++++++++++++++++------ src/editor.c | 19 +++---- src/editor.h | 7 +-- src/project.c | 5 ++ src/projectprivate.h | 14 +++-- 5 files changed, 161 insertions(+), 36 deletions(-) commit f262f5986da5e04a1761daa2ef9212e26d68d99b Merge: 5df59cef 6d2d2ffe Author: Matthew Brush Date: Thu Oct 2 11:48:01 2014 -0700 Merge pull request #341 from philippwiesemann/fix-typo-readme Fix typo in README commit 6d2d2ffee9f128ab9dd47a76dca1474e8b70ead6 Author: Philipp Wiesemann Date: Wed Oct 1 23:41:01 2014 +0200 Fix typo in README README | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 541cb8dbccdab127a08e63855cea00f0f5608787 Author: Nick Treleaven Date: Fri Sep 26 12:00:07 2014 +0100 Force disk check before save to prevent accidental overwriting Useful e.g. with Save All when the modified file is not the current tab. src/document.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) commit 5df59cefcb5ce45c13b4f35dc52bfa8680abbe22 Author: Colomban Wendling Date: Tue Sep 30 16:31:44 2014 +0200 Fix build with GLib 2.20 Don't use `g_regex_get_compile_flags()` that is new in 2.26, but we only depend on 2.20. Closes #340. src/search.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) commit 52a0c3160673b9a019f9a7d09485dee1d881d4e4 Author: Frank Lanitz Date: Mon Sep 29 23:34:14 2014 +0200 Update of German translation po/de.po | 71 ++++++++++++++++++++++++++++++++++------------------------------ 1 file changed, 38 insertions(+), 33 deletions(-) commit 9eb865dab366ca8de07b7d1ff34cef71d092b513 Merge: 2b98487a bbf63d13 Author: Nick Treleaven Date: Mon Sep 29 16:16:50 2014 +0100 Merge pull request #337 from ntrel/project-line-wrap Project line wrapping pref commit bbf63d131a84a099c9e1627ac5ec321985052fb4 Author: Nick Treleaven Date: Thu Sep 25 17:47:05 2014 +0100 Fixups Fix adding stash group and applying defaults. Don't let Properties dialog override per-document line wrapping state. Use "editor" for key group name. Remove code already handled by stash group. src/editor.c | 26 ++++++++++---------------- src/project.c | 29 ++++++++++++++--------------- 2 files changed, 24 insertions(+), 31 deletions(-) commit cb2aebcfd98c8c53a98ffe00f33b7497c9c3f34a Author: Tim Tassonis Date: Thu Sep 25 12:43:34 2014 +0100 Enable per-project line wrapping data/geany.glade | 16 ++++++++++++++++ src/editor.c | 13 +++++++++++++ src/project.c | 10 ++++++++++ src/projectprivate.h | 1 + 4 files changed, 40 insertions(+) commit 2b98487a70953fc268a5fa76c774f1c676adf0d2 Merge: 96806bf6 3ab65790 Author: Nick Treleaven Date: Fri Sep 26 11:45:27 2014 +0100 Merge pull request #335 from ntrel/save-cleanup Notify user when trying to save read-only document commit 3ab65790910c494cf94db67d7e65bd5738aae6f1 Author: Nick Treleaven Date: Wed Sep 24 16:57:16 2014 +0100 Notify user when trying to save read-only document src/document.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) commit 4ceb9fb1f27b7a73631566bf0f3df273fe16f7db Author: Nick Treleaven Date: Wed Sep 24 16:49:33 2014 +0100 Add comment about throwing away read-only for renamed documents src/document.c | 1 + src/documentprivate.h | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) commit 96806bf639d08038c1406854c7e031bdc18b3313 Merge: 187dca29 d7aa4b59 Author: Colomban Wendling Date: Fri Sep 26 00:31:03 2014 +0200 Merge branch 'scintilla-update-351-pre' commit d7aa4b591622a09e0c7c1c16a548ba99f05f01ab Author: Colomban Wendling Date: Fri Sep 26 00:20:18 2014 +0200 Update for new Scintilla styles data/filetypes.sql | 1 + data/filetypes.vhdl | 1 + src/highlightingmappings.h | 4 +++- 3 files changed, 5 insertions(+), 1 deletion(-) commit 1e59b15c618720bad5036c39b203a41114d41002 Author: Colomban Wendling Date: Fri Sep 26 00:09:04 2014 +0200 Update Scintilla to 3.5.1 pre-release scintilla/gtk/PlatGTK.cxx | 29 ++++++--- scintilla/gtk/ScintillaGTK.cxx | 2 +- scintilla/include/SciLexer.h | 10 +++ scintilla/include/Scintilla.h | 5 ++ scintilla/include/Scintilla.iface | 23 +++++++ scintilla/lexers/LexSQL.cxx | 32 +++++++++- scintilla/lexers/LexVHDL.cxx | 124 +++++++++++++++++++++++++++++++------- scintilla/scintilla_changes.patch | 3 +- scintilla/src/Document.cxx | 14 +++-- scintilla/src/EditModel.cxx | 1 + scintilla/src/EditModel.h | 2 + scintilla/src/EditView.cxx | 13 ++-- scintilla/src/EditView.h | 4 +- scintilla/src/Editor.cxx | 17 +++--- scintilla/src/Editor.h | 1 - scintilla/src/Indicator.h | 7 ++- scintilla/src/RESearch.cxx | 3 +- scintilla/src/ViewStyle.cxx | 12 +--- scintilla/version.txt | 2 +- 19 files changed, 229 insertions(+), 75 deletions(-) commit 187dca29573f9247dab607738274341b08e105a1 Author: Colomban Wendling Date: Tue Sep 23 14:37:01 2014 +0200 Use named constants everywhere for msgwin/compiler internal columns src/msgwindow.c | 31 ++++++++++++++++++++----------- 1 file changed, 20 insertions(+), 11 deletions(-) commit 88a36268efd91b91f188024019c01ed68896667d Merge: ed0fa453 9d669a72 Author: Nick Treleaven Date: Thu Sep 25 11:53:16 2014 +0100 Merge pull request #334 from ntrel/confirm-infobar-reload Confirm infobar reload when document has modifications commit 9d669a72f74b9433b9ad8f40f1a1424c77f3172d Author: Nick Treleaven Date: Wed Sep 24 17:22:01 2014 +0100 API: Rename document_reload_file -> document_reload_force New name is clearer against document_reload_prompt. Add deprecated alias. plugins/geanyfunctions.h | 4 ++-- src/document.c | 4 ++-- src/document.h | 2 +- src/plugindata.h | 6 ++++-- src/plugins.c | 2 +- 5 files changed, 10 insertions(+), 8 deletions(-) commit ed0fa4538f3b3b296e38203591a07d7c33b4c6cb Author: Frank Lanitz Date: Wed Sep 24 20:09:15 2014 +0200 Update of German translation po/de.po | 381 ++++++++++++++++++++++++++++++++------------------------------- 1 file changed, 194 insertions(+), 187 deletions(-) commit b646424ddb715382a937d233a75bc684c22e18ec Author: Nick Treleaven Date: Wed Sep 24 12:06:33 2014 +0100 Only close reload infobar if the response succeeded src/document.c | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) commit 3830240cb8a7b0a7699125b1870d5169b2dcdf70 Author: Nick Treleaven Date: Tue Sep 23 15:38:02 2014 +0100 Confirm info-bar reload when document has modifications src/document.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 09411956ada70783dac30de1f29d36613d8caf65 Merge: ae45e834 0a80a72f Author: Nick Treleaven Date: Wed Sep 24 12:20:03 2014 +0100 Merge pull request #326 from ntrel/reload-modified Don't set document text as changed when file on disk is newer commit 0a80a72f0bbf2ca883c50cccc8540910a9c9969d Author: Nick Treleaven Date: Wed Sep 3 15:22:10 2014 +0100 Set status id to STATUS_DISK_CHANGED when protecting document src/document.c | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) commit 9a02525d1c27bd3a5256162940916ccebb5e619a Author: Nick Treleaven Date: Wed Aug 27 16:32:25 2014 +0100 Don't set document text as changed when file on disk is newer Setting the document text as changed makes it too easy to accidentally overwrite the file - e.g. when closing you're reminded to save it. It also makes it slower to close documents you no longer want open. Setting text as changed is still done if the user cancels the warning. src/document.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) commit ae45e8344f20968cc2f1655a63471ca447dd16ab Merge: 22ab1631 06e40e51 Author: Nick Treleaven Date: Tue Sep 23 15:24:48 2014 +0100 Merge pull request #328 from ntrel/infobar-save Confirm whether to save protected documents instead of ignoring save commit 06e40e512fd4d88aeed8401e6e433ea24bc31e18 Author: Nick Treleaven Date: Wed Sep 3 17:43:17 2014 +0100 Confirm whether to save protected documents (Reuses existing strings). src/document.c | 44 +++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 43 insertions(+), 1 deletion(-) commit 7450a992b51f239ce2a3c10d375ebe9dcec2301e Author: Nick Treleaven Date: Thu Sep 4 11:53:32 2014 +0100 Use 'Overwrite' rather than Save for clarity in reload infobar src/document.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit a6d11cb4f848ea6a9bb3d0fdf367e30fdb4694f1 Author: Thomas Martitz Date: Mon Jun 9 12:31:35 2014 +0200 Use custom document info bar response IDs src/document.c | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) commit 22ab1631debcd64b761dfc436c30fc027e6954dc Merge: 34f7ce9c 08437056 Author: Colomban Wendling Date: Mon Sep 22 19:38:46 2014 +0200 Merge branch 'scintilla/autoc-sizing' Backport changes applied upstream not to hard-code auto-completion popup frame border size. commit 34f7ce9cc993b9aec41c36fa04fa196cc4f7b402 Merge: 634a4b11 20c31b62 Author: Colomban Wendling Date: Mon Sep 22 19:38:41 2014 +0200 Merge branch 'about-banner-fix' commit 084370560896ad50a3030136cc7739eaf189a26f Author: Colomban Wendling Date: Tue Sep 16 23:06:36 2014 +0200 GTK: Don't hardcode auto-completion popup frame border width scintilla/gtk/PlatGTK.cxx | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) commit 20c31b62ff0289ba51954e10f315c8bd96eb9ce3 Author: Colomban Wendling Date: Mon Sep 22 19:25:03 2014 +0200 Fix custom about dialog style overriding Don't assume changing the style inside a style-set handler results in recursion, as it would be wrong if the next signal emission was triggered asynchronously. Instead, only modify the style if it isn't already as we want it. This fixes the about dialog's style-set handlers on GTK 3.10 which didn't liked constant style updating. src/about.c | 26 ++++++-------------------- 1 file changed, 6 insertions(+), 20 deletions(-) commit 76d6e9faa900773bcc45e0f947b532c9a5233af0 Author: Colomban Wendling Date: Mon Sep 22 18:19:20 2014 +0200 Revert "Fix GTK frame clock warnings with our about dialog" This reverts commit ec7071062c5dc39d5f893a830b3c26968a579251. Apparently the selected state of an event box doesn't necessary mean it will be styled with a selection background color. This e.g. isn't the case in GTK 3.14's Adwaita (default) theme. So, revert the commit that removed custom style overrides. Next commit will fix the GTK 3.10 problem this reverted commit fixed. src/about.c | 38 ++++++++++++++++++++++++++++++++++++-- 1 file changed, 36 insertions(+), 2 deletions(-) commit 634a4b111fd14eec9045653bb328c018285aa6ec Author: Matthew Brush Date: Wed Sep 17 16:45:32 2014 -0700 Highlight C types from tags in C++ code Useful for when using, for example, GTK+, SDL, and other C-only APIs in files with the C++ filetype. Before only the symbol auto-completion worked, but not the highlighting of type names. TODO: figure out why taking something like SDL.c.tags and making a copy as SDL.cpp.tags doesn't work, once that's fixed, this extra condition could probably be removed. src/symbols.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) commit 87592539b4bbbeb2e4117f075c604369ea79a546 Author: Frank Lanitz Date: Wed Sep 17 20:20:20 2014 +0200 Update of Polish translation po/pl.po | 2958 +++++++++++++++++++++++++++++++------------------------------- 1 file changed, 1495 insertions(+), 1463 deletions(-) commit e42cd4d6e920daea6c48512a8d69cc0cc3fc1232 Merge: e84cf128 069e2d4e Author: Colomban Wendling Date: Mon Sep 15 16:03:43 2014 +0200 Merge branch 'scintilla/autoc-sizing' Backport changes applied upstream to fix auto-completion popup sizing. commit e84cf128cbf85ffba4fb2176b5ae7057838fe720 Merge: 93c9e2ce df5b2fd8 Author: Colomban Wendling Date: Mon Sep 15 16:03:13 2014 +0200 Merge branch 'scintilla/gtk3-dead-windows' Backport patches applied upstream to cache auto-completion windows, hopefully avoiding dead popup windows lying around on GTK3 builds in some high stress scenarios. commit 069e2d4ec56f84436682cddfe06e6b4ca9d0576c Author: Colomban Wendling Date: Fri Sep 12 18:09:18 2014 +0200 GTK: Fix auto-completion popup sizing on some themes scintilla/gtk/PlatGTK.cxx | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) commit 4d66bd3745eb3759539b116e7784d11d035ebd44 Author: Colomban Wendling Date: Fri Sep 12 17:08:34 2014 +0200 GTK: Allow the auto-completion popup to be as small as needed scintilla/gtk/PlatGTK.cxx | 45 ++++++++++++++++++++++++++++++++------------- 1 file changed, 32 insertions(+), 13 deletions(-) commit d1e519c11dec18e6738b80b3c76f16935f82f3ad Author: Colomban Wendling Date: Thu Sep 11 14:37:20 2014 +0200 GTK: Fix auto-completion popup width to better fit contents scintilla/gtk/PlatGTK.cxx | 25 +++++++++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) commit 61eaf23a266d3fa0d00e3d148b1d128906b46fac Author: Colomban Wendling Date: Thu Sep 11 14:37:12 2014 +0200 GTK: Fix auto-completion popup height to better fit contents scintilla/gtk/PlatGTK.cxx | 52 +++++++++++++++++++++++++++-------------------- 1 file changed, 30 insertions(+), 22 deletions(-) commit 93c9e2ce860d09e74b642ef50a6961d91f3177e5 Merge: d6d836c5 683c380d Author: Frank Lanitz Date: Fri Sep 12 19:34:11 2014 +0200 Merge pull request #331 from scriptum/rpg-translate-ru Update of Russian translation commit 683c380d10d828e10c7be98d793ddc9425be32ea Author: Pavel Roschin Date: Fri Sep 12 19:14:38 2014 +0400 Update of Russian translation po/ru.po | 2923 ++++++++++++++++++++++++++++++++------------------------------ 1 file changed, 1491 insertions(+), 1432 deletions(-) commit d6d836c59fc522fcbb96fab7917311c2c6613ea7 Author: Enrico Tröger Date: Thu Sep 11 19:16:24 2014 +0200 Don't match regexes on empty strings Save As on an empty document would cause warnings like: sys:1: Warning: g_regex_match_full: assertion 'string != NULL' failed because SCI_GETRANGEPOINTER returns NULL then. On a Ubuntu 12.04 system this warning even crashed Geany at writing the log message. So, simply don't search for anything if the document is empty. src/search.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) commit 7d38ff67ecf18f9f331ed1fad849878a6089097d Merge: d6a9a44e df5b2fd8 Author: Colomban Wendling Date: Wed Sep 10 23:23:01 2014 +0200 Merge branch 'scintilla/gtk3-dead-windows' Backport patches applied upstream to cache auto-completion windows, hopefully avoiding dead popup windows lying around on GTK3 builds in some high stress scenarios. commit df5b2fd81065650259a87b8eb901343d36676e59 Author: Colomban Wendling Date: Thu Sep 4 00:04:54 2014 +0200 GTK: fix cached completion popup window sizing Only cache the popup window itself and not its content, as it seems the window sizing is affected whether the content was just created or not. scintilla/gtk/PlatGTK.cxx | 27 ++++++++++++++------------- 1 file changed, 14 insertions(+), 13 deletions(-) commit e6f8547e3e0d9ad42e7abdd360e4f3b2aac7b534 Author: Colomban Wendling Date: Mon Sep 1 20:03:13 2014 +0200 GTK: cache the completion popup window This avoids creating and destroying windows quickly under stress, which may lead to XID collisions. See e.g. https://bugzilla.gnome.org/show_bug.cgi?id=581526 and https://bugzilla.gnome.org/show_bug.cgi?id=590690 Closes [scintilla:bugs:1649]. scintilla/gtk/PlatGTK.cxx | 25 ++++++++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-) commit d6a9a44efebacf4eaf9dc4ce5f866402dd7c22ec Author: Frank Lanitz Date: Sun Sep 7 19:13:16 2014 +0200 Update of German translation po/de.po | 2909 ++++++++++++++++++++++++++++++++------------------------------ 1 file changed, 1482 insertions(+), 1427 deletions(-) commit 22700ab332ac459f4bd4609b0243360881095d5c Author: Frank Lanitz Date: Sun Sep 7 18:55:07 2014 +0200 Update of Swedish translation po/sv.po | 128 +++++++++++++++++++++------------------------------------------ 1 file changed, 42 insertions(+), 86 deletions(-) commit a733bf9b2a7e04156a60f43ed2c41b4090b63762 Merge: d2ce3d6f 7047152a Author: Nick Treleaven Date: Mon Sep 1 17:01:41 2014 +0100 Merge pull request #327 from ntrel/open-file-exists Allow user to edit open dialog filename when file doesn't exist commit d2ce3d6fa11223a636483b517a545d8d55975ea2 Merge: 666fdf30 0453991a Author: Colomban Wendling Date: Fri Aug 29 17:07:08 2014 +0200 Merge branch 'doc/untrack-geany.html' commit 666fdf30fa776566dbbaccaaf7aec67427b2e322 Author: Colomban Wendling Date: Fri Aug 29 15:30:24 2014 +0200 Document document_find_by_id() parameter so Doxygen is happy src/document.c | 1 + 1 file changed, 1 insertion(+) commit 6e755985a8e8847fed176dea21976dc2eefbed3e Author: Colomban Wendling Date: Fri Aug 29 15:22:49 2014 +0200 Update Doxyfile doc/Doxyfile.in | 2382 ++++++++++++++++++++++++++++++++++--------------------- 1 file changed, 1479 insertions(+), 903 deletions(-) commit 0453991a61c57550555327707c3ecdefcf4de009 Author: Colomban Wendling Date: Fri Aug 29 16:58:26 2014 +0200 Don't try to install the HTML documentation if we don't have it doc/Makefile.am | 5 +++++ m4/geany-docutils.m4 | 8 +++++++- 2 files changed, 12 insertions(+), 1 deletion(-) commit 7125075168198f00f66001cbeaeb3d2318c0abf7 Author: Colomban Wendling Date: Fri Aug 29 16:48:01 2014 +0200 Fix HTML documentation installation for VPATH builds doc/Makefile.am | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) commit f219ea1b38d06c15e8e53a705c1aa09f04bf97fb Author: Enrico Tröger Date: Fri Aug 29 16:12:40 2014 +0200 Cleanup apidoc and hackingdoc commands to use ctx.top_dir and ctx.out_dir This should be cleaner and safer than using '../' mixed with os.chdir(). wscript | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) commit 5bd878cb7cab25beed42166e42fe67690207e9fe Author: Enrico Tröger Date: Fri Aug 29 15:46:44 2014 +0200 Reuse ConfigurationContext when searching for programs if we have one This enables proper logging when checking for rst2html during configuration. wscript | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) commit 9307a6877c75169118672e453c55b54fd9a6ab3b Author: Enrico Tröger Date: Fri Aug 29 15:40:47 2014 +0200 Explicitly specify extensions when searching for rst2html This is cleaner than searching for rst2html and rst2html.py since Waf offers the API for this and this change enables Windows support. While at it, add binary name 'rst2html2' for ArchLinux support. wscript | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 6ecf750759b0611542586818b27a0638f23fb97f Author: Enrico Tröger Date: Fri Aug 29 14:39:26 2014 +0200 The missing bits for HTML docs: only on GIT build and support in-tree geany.html wscript | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) commit 8961f0b6e96de3591aa30b3886572147c4321c2f Author: Enrico Tröger Date: Fri Aug 29 14:27:12 2014 +0200 Add option --disable-html-docs wscript | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) commit 985cd9146ffae3ab6022c5127946f6f594378a2e Author: Enrico Tröger Date: Fri Aug 29 14:13:57 2014 +0200 Add "hackingdoc" as proper action and remove non-working --hackingdoc option wscript | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) commit 15c2fafff6b76cb6d7e2032840832bae14a5aa7b Author: Enrico Tröger Date: Fri Aug 29 14:11:14 2014 +0200 Update Waf to 1.7.16 waf | Bin 90923 -> 91846 bytes 1 file changed, 0 insertions(+), 0 deletions(-) commit 8d5e666d9eab5518f300b45a71295027b2e9047a Author: Enrico Tröger Date: Fri Aug 29 14:10:56 2014 +0200 Build HTML documentation automatically during the build process This is an improvement as requested in #322 to update the HTML docs after geany.txt or geany.css have changed. Also, with this change the resulting HTML will be generated in the outdir, not in srcdir/doc anymore. wscript | 43 +++++++++++++++++++++++-------------------- 1 file changed, 23 insertions(+), 20 deletions(-) commit 7047152a1f3ee79cd4e08dd77d1fe9039acc9834 Author: Nick Treleaven Date: Fri Aug 29 12:18:53 2014 +0100 Allow user to edit open dialog filename when file doesn't exist src/dialogs.c | 23 ++++++++++++++++++----- 1 file changed, 18 insertions(+), 5 deletions(-) commit 82cd83183c93f912c5610d58249a6a2f4afef70b Merge: 102169ee ee79b2eb Author: Colomban Wendling Date: Wed Aug 27 19:07:22 2014 +0200 Merge branch 'doc/auto-enable-api' Closes PR#324. commit 102169ee3200176178bfd2290ae5db45b545df4f Merge: 2f681584 64910a4e Author: Colomban Wendling Date: Wed Aug 27 19:06:22 2014 +0200 Merge branch 'doc/untrack-geany.html' Closes PR#322. commit 64910a4ea1f3f902ffa08dfdf6422c8e69ad98fd Author: Colomban Wendling Date: Wed Aug 27 19:02:24 2014 +0200 Fix Waf build after HTML documentation untracking wscript | 5 +++++ 1 file changed, 5 insertions(+) commit 2f6815841de2d0abea7fdb0629802a0dad54af14 Merge: d62fd48b 18181c2e Author: Nick Treleaven Date: Wed Aug 27 16:19:33 2014 +0100 Merge pull request #256 from ntrel/doc-id Support pseudo-unique IDs for documents commit d62fd48b44c5d404440e34143a74991b972ca427 Merge: 132b93c5 355f0c80 Author: Nick Treleaven Date: Wed Aug 27 16:17:03 2014 +0100 Merge pull request #315 from ntrel/move-session Properly handle existing session when creating new project commit 355f0c804ebab24e03339aa6498bd7f0d79a7883 Author: Nick Treleaven Date: Fri Aug 22 12:00:33 2014 +0100 Fix GLib warning 'app->project == NULL failed' Occurred on Project->New with an existing project when closing an unsaved file was cancelled. src/project.c | 10 +++++----- src/project.h | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) commit 5964d2e086d60005fd677e9c107729a78ecd37bf Author: Nick Treleaven Date: Thu Aug 21 17:15:21 2014 +0100 Properly close abandoned new project that couldn't be written Also rewrite the default session in case it was cleared. src/project.c | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) commit 132b93c591f79907f16360e133a43886f7bba1c2 Author: Frank Lanitz Date: Mon Aug 25 13:31:12 2014 +0200 SQL: Adding print to list of keywords e.g. used to 'print' debug output to log on e.g. Sybase ASA data/filetypes.sql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit ee79b2eb3f8f79112eca28c4974b355bdbef230e Author: Colomban Wendling Date: Sat Aug 23 18:33:50 2014 +0200 Enable API documentation generation automatically when possible m4/geany-doxygen.m4 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 32bda2e6cb1d6c0ecafebd70c12f3e09d1aae269 Author: Colomban Wendling Date: Sat Aug 23 18:22:52 2014 +0200 Don't clean HTML manual if we didn't build it Clean the HTML manual upon 'maintainer-clean' rather than 'clean' in case it was not built by Make but rather part of the distribution. This is fine even then, as configure will properly require what is needed to build it again if it is missing. doc/Makefile.am | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) commit 74006b069c1525af2d52cc8d488d8cbe03dd43a1 Author: Colomban Wendling Date: Sat Aug 23 18:14:56 2014 +0200 Cleanup doc Makefile so that each conditional set all its targets Don't set clean-local and all-local dependencies all together at the end and rather let each section add the appropriate dependencies. This makes each conditional more self-contained, and is safe as Make allows adding extra dependencies to existing targets. doc/Makefile.am | 21 ++++++--------------- 1 file changed, 6 insertions(+), 15 deletions(-) commit 288b4f29d8a62a5cc2baa6f0ddefa6a3fe201ade Author: Colomban Wendling Date: Sat Aug 23 17:56:14 2014 +0200 Enable HTML manual building by default but for distribution tarballs Enable building of the HTML manual by default unless not building from Git and with an existing local copy (which is included in distribution tarballs). This makes sure we can install the HTML manual without having it checked in VCS, yet not require rst2html for tarball builds. m4/geany-docutils.m4 | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) commit c990cd9dca40ac67a7404ed2ba36b3c6e134e13b Author: Nick Treleaven Date: Thu Aug 14 12:25:14 2014 +0100 Properly handle existing session when creating new project Ask whether to adopt the existing session documents. Also fixes the existing bug of not reloading the default session when an existing project is open and a new project is cancelled. src/keyfile.c | 56 ++++++++++++++++++++++++++++++++++++++------------------ src/keyfile.h | 2 ++ src/project.c | 56 +++++++++++++++++++++++++++++++++++++++++++++++++++----- 3 files changed, 91 insertions(+), 23 deletions(-) commit 602ae0b324397d25a587af35738e5f034526a1e2 Author: Colomban Wendling Date: Wed Aug 20 16:40:25 2014 +0200 Properly remove generated HTML documentation on clean doc/Makefile.am | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) commit a4dfc9c12b7a6880ebf5922614823565dc7cfb4a Author: Colomban Wendling Date: Wed Aug 20 15:52:03 2014 +0200 Enable documentation generation automatically when possible m4/geany-docutils.m4 | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) commit 80c648e7f3731a36ef7213be7e4a42cfb4d470ab Author: Colomban Wendling Date: Wed Aug 20 15:44:07 2014 +0200 Remove generated HTML documentation from version control As it is generated by the build system it doesn't have to be checked in, and having it in became a whole lot more annoying since it started being generated automatically on `make all` instead of specific (and weird) `make doc`, as it means whenever the documentation changes the HTML is re-generated on any make run. This is particularly problematic if using a different Docutils version than the one used to generate the checked-in version as it would create local noise that should not be committed, yet keep being annoying. This situation probably leads to most people disabling (or at least, not enabling) the documentation generation on normal builds, itself leading to more hassle updating of the documentation. .gitignore | 1 + doc/geany.html | 6970 -------------------------------------------------------- 2 files changed, 1 insertion(+), 6970 deletions(-) commit 1424b608a34995e7583fc524e482b3dcd8f1c00a Merge: d78c8fb5 92e34baa Author: Colomban Wendling Date: Tue Aug 19 17:06:06 2014 +0200 Merge branch 'ntrel/make-win-doc' commit 72897bac7d5475170eeefab82060c1ffffe3cc0f Author: Colomban Wendling Date: Tue Aug 19 16:44:40 2014 +0200 Add a Txt2tags test case for titles This is simply extracted from the rules.t2t test, but with unique title content as the tagmanager removes duplicate tags in tags files. tests/ctags/Makefile.am | 1 + tests/ctags/titles.t2t | 40 ++++++++++++++++++++++++++++++++++++++++ tests/ctags/titles.t2t.tags | 17 +++++++++++++++++ 3 files changed, 58 insertions(+) commit 18181c2e9043add8b13c1fc94c66db2ca5b885be Author: Nick Treleaven Date: Fri May 2 15:33:44 2014 +0100 Support pseudo-unique IDs for documents Add GeanyDocument::id, document_find_by_id() to plugin API. This also fixes clicking on a Messages item whose document has been closed and reused. Now the click will be ignored instead of jumping to an unexpected line in the new document. plugins/geanyfunctions.h | 2 ++ src/document.c | 45 ++++++++++++++++++++++++++++++++++++++++++--- src/document.h | 6 ++++++ src/msgwindow.c | 31 +++++++++++++++++++++---------- src/plugindata.h | 3 ++- src/plugins.c | 3 ++- 6 files changed, 75 insertions(+), 15 deletions(-) commit ff0fde30cbad0bf7597783c827235c29489c020c Author: Nick Treleaven Date: Wed Apr 30 16:11:48 2014 +0100 Use enum for Messages list store IDs src/msgwindow.c | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) commit a1466f656fd260739f48e2d0e162ac7805ffb4ac Author: Colomban Wendling Date: Tue Aug 19 16:34:21 2014 +0200 Add a Txt2tags test case From the official docs: https://txt2tags.googlecode.com/svn/trunk/samples/sample.t2t tests/ctags/Makefile.am | 1 + tests/ctags/sample.t2t | 225 ++++++++++++++++++++++++++++++++++++++++++++ tests/ctags/sample.t2t.tags | 14 +++ 3 files changed, 240 insertions(+) commit e587038dea5215cb2db1b6c61ed0a287e5ed1fd1 Author: Colomban Wendling Date: Tue Aug 19 16:24:48 2014 +0200 Add a Txt2tags test case From the official docs: https://txt2tags.googlecode.com/svn/trunk/doc/English/rules.t2t tests/ctags/Makefile.am | 1 + tests/ctags/rules.t2t | 782 +++++++++++++++++++++++++++++++++++++++++++++ tests/ctags/rules.t2t.tags | 22 ++ 3 files changed, 805 insertions(+) commit 92e34baa4f02b0fda3c878434e4fac88e39835fb Author: Nick Treleaven Date: Tue Aug 19 15:14:03 2014 +0100 Update HACKING for changed doc generation instructions HACKING | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) commit b7b34ec451c70927520f57ed773bd1b0736af2c0 Author: Colomban Wendling Date: Tue Aug 19 16:11:23 2014 +0200 Rewrite the Txt2tags parser for better conformance and features This fixes parsing indented titles and titles with embedded delimiter characters, and adds support for title nesting information. Syntax: http://txt2tags.org/rules.html Closes [feature-requests:#690]. src/symbols.c | 1 + tagmanager/ctags/txt2tags.c | 176 ++++++++++++++++++++++++++++++-------------- 2 files changed, 121 insertions(+), 56 deletions(-) commit d78c8fb5d91da58bf5ee8bde918d8db7d65dc89c Author: Frank Lanitz Date: Tue Aug 19 14:32:29 2014 +0200 SQL: Adding keyword hold Adding new keyword hold, used e.g. on SQLAnywhere to open a cursor 'with hold' data/filetypes.sql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 9e18884390157de3e557a7210e8159fef40620f5 Merge: 0817dddc a8e8e2cd Author: Colomban Wendling Date: Tue Aug 19 14:06:11 2014 +0200 Merge branch 'master' of github.com:geany/geany commit 0817dddc855a062521e64172810b3ede913eb004 Author: Colomban Wendling Date: Tue Aug 19 13:44:52 2014 +0200 FreeBasic: Add missing `endif` keyword From a patch by TJF. Part of [feature-requests:#691]. data/filetypes.freebasic | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit a8e8e2cd9e34d91fb769101cdcda8f696ce067ae Merge: dc140165 ed20a437 Author: elextr Date: Tue Aug 19 18:05:38 2014 +1000 Merge pull request #312 from elextr/reflow_fix Make reflow paragraph leave cursor at end of reflowed text, which is more likely to be useful than where it was left at the start of the last line. commit dc140165ae1022d518984a1e7a3bc7862e528cc4 Author: Colomban Wendling Date: Tue Aug 19 03:42:58 2014 +0200 Use GeanyFindFlags instead of plain integer when expecting Geany find flags This makes the API more obvious on what argument is expected, and avoid confusion between Geany and Scintilla find flags. src/callbacks.c | 2 +- src/document.c | 10 +++++----- src/document.h | 8 ++++---- src/search.c | 28 ++++++++++++++-------------- src/search.h | 45 +++++++++++++++++++++++---------------------- 5 files changed, 47 insertions(+), 46 deletions(-) commit bdc0f720e7509ca3fcd65b0c3dab051f1efc9a53 Author: Colomban Wendling Date: Tue Aug 19 03:40:52 2014 +0200 Remove unused flags from document_search_bar_find() Passed-in flags was always 0, so the argument is not useful. Also, this function expected Scintilla search flags rather than Geany ones, making the API confusing for no good reason. src/callbacks.c | 4 ++-- src/document.c | 6 +++--- src/document.h | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) commit 8812e39e2e937d1e7cfee1526af23e6ba3a45938 Author: Colomban Wendling Date: Tue Aug 19 03:31:34 2014 +0200 Fix searching backwards from the Find dialog search_find_prev() wasn't properly updated to work on GeanyFindFlags leading to incorrect flags handling. src/search.c | 24 ++++++++++++------------ src/symbols.c | 2 +- 2 files changed, 13 insertions(+), 13 deletions(-) commit 0a063c1a7268117dbe59308967d4fc2ec058d993 Author: asmblur Date: Mon Aug 18 19:06:27 2014 -0500 Fix regexp search & replace. src/search.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 1d08d3cc806969c0da1f8678224a86f819629fa6 Merge: cf672424 bb25ba6e Author: Colomban Wendling Date: Tue Aug 19 00:29:03 2014 +0200 Merge branch 'freebasic-ft-update' commit bb25ba6ed2aca71ac63e2398bb5b5dc8fb4004a8 Author: Colomban Wendling Date: Tue Aug 19 00:10:40 2014 +0200 FreeBasic: Update keywords Patch from TJF. Part of [feature-requests:#691] data/filetypes.freebasic | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 8278d7f9f0c3adc1c69eddd880eb28a600a862cd Author: Colomban Wendling Date: Mon Aug 18 23:57:49 2014 +0200 FreeBasic: Fix preprocessor keywords list See http://www.freebasic.net/wiki/wikka.php?wakka=CatPgFunctIndex Part of [feature-requests:#691] data/filetypes.freebasic | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 7276c49949ae6762ec4978ef7532784362582f23 Author: Colomban Wendling Date: Mon Aug 18 23:55:03 2014 +0200 Sort FreeBasic keywords alphabetically data/filetypes.freebasic | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 1f8d2de53b0bb3c5856278ba817e7b236caa984d Author: Nick Treleaven Date: Mon Aug 18 13:21:07 2014 +0100 Remove doc, hacking-doc targets (Windows) doc/makefile.win32 | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) commit cf6724240a176fa48f3facaedf98c5389d14d4f4 Author: Colomban Wendling Date: Mon Aug 18 00:07:43 2014 +0200 Fix "Contributing to this document" for new HTML/PDF generation process doc/geany.txt | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) commit 874b019e4ed9ec4013317cb724da367681662128 Author: James Lownie Date: Sun Aug 17 14:13:13 2014 +1000 Clarified the location of the "Use project-based session files" option doc/geany.txt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) commit 7435a81d83707302ce83a833b8f32263a4b82cc9 Author: Colomban Wendling Date: Sun Aug 17 01:31:40 2014 +0200 Fix a named style misspelling in the Lua filetype data/filetypes.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 768659b89fc8bc6727f5bce7605d417edc859f4a Author: Colomban Wendling Date: Sat Aug 16 17:59:10 2014 +0200 i18n: don't restrict LINGUAS at configure time Don't use the $LINGUAS at configure time to set ALL_LINGUAS, and let the translations Makefile properly honor the $LINGUAS itself, which it already does better than we do, cleanly ignoring translations it doesn't know. If we do set ALL_LINGUAS=$LINGUAS, it will result in a build failure if we do not have a translation for some of the language(s) specified in $LINGUAS, and would make it impossible to build other languages without re-configuring. So, just drop that part and let the build-time support kick in. Closes #507. m4/geany-i18n.m4 | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) commit 91d0ed218341e6e0c7c9eb47f2f8fa8846b0a806 Author: Colomban Wendling Date: Thu Aug 14 17:12:58 2014 +0200 Find in Files: start search when pressing return in all field Patch partly from Yosef Or Boczko, thanks. Closes #959. src/search.c | 2 ++ 1 file changed, 2 insertions(+) commit 328c22eaf6164b8e8cdc7e4ad4193d9122197903 Author: Colomban Wendling Date: Wed Aug 13 14:07:03 2014 +0200 Update Scintilla to version 3.5.0 scintilla/gtk/ScintillaGTK.cxx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 521778ad311d076d1d423c4d9e4421fd66c57bf3 Author: Colomban Wendling Date: Tue Aug 12 20:40:21 2014 +0200 Color scheme dialog: scroll to the initially selected item src/highlighting.c | 4 ++++ 1 file changed, 4 insertions(+) commit df964312b2b2e27b28d127aa30e814d5d367a0c3 Author: Colomban Wendling Date: Tue Aug 12 20:38:59 2014 +0200 Remove a global in colorscheme dialog code src/highlighting.c | 29 ++++++++++++----------------- 1 file changed, 12 insertions(+), 17 deletions(-) commit 8b0990e52a1c2bfaf8678d4e14fb18a256618ddb Author: Colomban Wendling Date: Tue Aug 12 16:38:42 2014 +0200 Fix relative project base path when creating a new project Closes #1062. src/project.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit cc1c36d0093de8c2559dfeb65eb60cc957489239 Author: Colomban Wendling Date: Tue Aug 12 16:24:03 2014 +0200 project: Sanitize entries_modified scope src/project.c | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) commit 87c6cefc1940a8d8e4e02f842bdbfc4bf05e3e37 Author: Colomban Wendling Date: Tue Aug 12 16:17:39 2014 +0200 Remove dead assignment `entries_modified` global is only used by on_name_entry_changed() and on_entries_changed(), both of which are only ever called from project_new() scope -- which already initializes this variable. src/project.c | 2 -- 1 file changed, 2 deletions(-) commit 0b2b647a6dfd76dd2e8ff4ff0b8e0eea84bad3c8 Author: Colomban Wendling Date: Tue Aug 12 14:39:53 2014 +0200 Remove an unnecessary dynamic allocation src/project.c | 66 +++++++++++++++++++++++++++++------------------------------ 1 file changed, 32 insertions(+), 34 deletions(-) commit 6ed6a995651dc8e239df3ba23dda2f3df3aa23ac Author: Colomban Wendling Date: Tue Aug 12 14:38:48 2014 +0200 about: Don't leak global variables to the program scope src/about.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit ba8899b09cb8635a3b3c67bef07d9ea4cba9780f Merge: 5832c4b6 36a6dd2e Author: Colomban Wendling Date: Tue Aug 12 14:18:04 2014 +0200 Merge branch 'small-dialogs-cleanup' commit 36a6dd2e2c1808adedcc1135ffc70a210c77350d Author: Colomban Wendling Date: Mon Aug 11 16:52:26 2014 +0200 dialogs: Don't abuse GObject data src/dialogs.c | 70 +++++++++++++++++++++++++++++++---------------------------- 1 file changed, 37 insertions(+), 33 deletions(-) commit 571239e0bf07752b2059376ca815f3b1efa115a9 Author: Colomban Wendling Date: Mon Aug 11 16:38:09 2014 +0200 dialogs: Remove an unnecessary function indirection Having add_input_widgets() didn't really make the code any simpler, rather obfuscating it a little. src/dialogs.c | 54 ++++++++++++++++++++++-------------------------------- 1 file changed, 22 insertions(+), 32 deletions(-) commit 5fcacf066d7150cdfa9408b82141230209bafe2e Author: Colomban Wendling Date: Mon Aug 11 15:44:51 2014 +0200 Add user data to GeanyInputCallback, avoiding global variable hacks src/build.c | 4 ++-- src/dialogs.c | 35 ++++++++++++++++++----------------- src/dialogs.h | 4 ++-- 3 files changed, 22 insertions(+), 21 deletions(-) commit 5832c4b64c293e6091cf4da555b59d7931b13cb9 Merge: a8a6ef7d 2559cda9 Author: Colomban Wendling Date: Sun Aug 10 16:28:56 2014 +0200 Merge branch 'prefs-less-globals' commit 2559cda95408bd8b32a96baff1918a78ce649c75 Author: Colomban Wendling Date: Sun Aug 10 15:28:29 2014 +0200 prefs: Remove some global state in keybinding-related code Use gtk_dialog_run() to run the key input dialog, which is modal anyway. This avoids having to pass the label and the iter around for the dialog response callback to have them, as they now only are used directly in the function setting them in the first place. src/prefs.c | 53 +++++++++++++++++++++++++---------------------------- 1 file changed, 25 insertions(+), 28 deletions(-) commit 852f3266507ccd06a894a797c67881cc21e5dca7 Author: Colomban Wendling Date: Sun Aug 10 14:57:33 2014 +0200 prefs: Pack keybinding-related globals together and avoid much direct access This however doesn't get rid of any of the global data itself, it only pack it in a struct and passes pointer to this struct around instead of accessing the global whenever possible. src/prefs.c | 162 +++++++++++++++++++++++++++++------------------------------- 1 file changed, 79 insertions(+), 83 deletions(-) commit a8a6ef7d131e49e1cc5ed843ebec3167fd7b018b Merge: 593b9dd2 74ef1b83 Author: Colomban Wendling Date: Sun Aug 10 02:23:21 2014 +0200 Merge branch 'scintilla-update-350-pre' commit 74ef1b8344a34810771f69ef7b82a8aeca57e894 Author: Colomban Wendling Date: Sun Aug 10 02:21:54 2014 +0200 Update for new Scintilla styles data/filetypes.rust | 3 +++ src/highlighting.c | 3 +++ src/highlightingmappings.h | 5 ++++- 3 files changed, 10 insertions(+), 1 deletion(-) commit d77fe4c6b78f1b3d6f7650370d2f46eaec0e6f8d Author: Colomban Wendling Date: Sun Aug 10 02:17:32 2014 +0200 Update Scintilla to 3.5.0 pre-release scintilla/Makefile.am | 6 + scintilla/gtk/PlatGTK.cxx | 12 +- scintilla/gtk/ScintillaGTK.cxx | 284 +++- scintilla/include/SciLexer.h | 18 + scintilla/include/Scintilla.h | 15 +- scintilla/include/Scintilla.iface | 48 +- scintilla/lexers/LexHTML.cxx | 12 +- scintilla/lexers/LexMatlab.cxx | 5 +- scintilla/lexers/LexRuby.cxx | 36 +- scintilla/lexers/LexRust.cxx | 105 +- scintilla/lexlib/LexerModule.h | 7 +- scintilla/makefile.win32 | 3 + scintilla/scintilla_changes.patch | 3 +- scintilla/src/CellBuffer.cxx | 40 +- scintilla/src/CellBuffer.h | 12 + scintilla/src/ContractionState.cxx | 18 +- scintilla/src/ContractionState.h | 4 +- scintilla/src/Document.cxx | 59 + scintilla/src/Document.h | 8 +- scintilla/src/EditModel.cxx | 74 + scintilla/src/EditModel.h | 67 + scintilla/src/EditView.cxx | 2072 ++++++++++++++++++++++++++ scintilla/src/EditView.h | 163 +++ scintilla/src/Editor.cxx | 2795 +++++------------------------------- scintilla/src/Editor.h | 130 +- scintilla/src/LineMarker.cxx | 96 +- scintilla/src/MarginView.cxx | 455 ++++++ scintilla/src/MarginView.h | 41 + scintilla/src/PerLine.cxx | 70 + scintilla/src/PerLine.h | 17 + scintilla/src/PositionCache.cxx | 25 +- scintilla/src/PositionCache.h | 7 +- scintilla/src/RESearch.cxx | 17 +- scintilla/src/RESearch.h | 1 - scintilla/src/ScintillaBase.cxx | 5 +- scintilla/src/ScintillaBase.h | 4 +- scintilla/src/Selection.cxx | 11 +- scintilla/src/Selection.h | 1 + scintilla/src/ViewStyle.cxx | 14 + scintilla/src/ViewStyle.h | 4 + scintilla/version.txt | 2 +- 41 files changed, 4007 insertions(+), 2759 deletions(-) commit 593b9dd2c9345c381a8929c8aaabbba968b2e472 Merge: 604e05cb 83deafed Author: Colomban Wendling Date: Sun Aug 10 01:51:48 2014 +0200 Merge branch 'single-line-regex' commit 83deafeddaa9bf2a0eca6eb34056e61cc7a2021c Author: Colomban Wendling Date: Sat Aug 2 16:04:42 2014 +0200 Update the documentation for single-line regular expressions doc/geany.txt | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) commit 673c3c36a3acb4218567eccbdee87d6eb5d4d402 Author: Colomban Wendling Date: Sun Aug 10 01:46:31 2014 +0200 Add UI elements to control single-line regex settings src/search.c | 59 ++++++++++++++++++++++++++++++++--------------------------- 1 file changed, 32 insertions(+), 27 deletions(-) commit 482d2732af20c2501f299990c4214e00badf5e32 Author: Colomban Wendling Date: Sun Aug 10 01:46:16 2014 +0200 Add support for single-line regular expressions src/callbacks.c | 6 +++--- src/document.c | 6 +++--- src/keybindings.c | 4 ++-- src/search.c | 59 +++++++++++++++++++++++++++++++++++++------------------ src/search.h | 9 +++++++++ 5 files changed, 57 insertions(+), 27 deletions(-) commit 604e05cb2d84a2f6d10f9dde3b2e53a6e9078969 Author: Frank Lanitz Date: Thu Aug 7 15:30:54 2014 +0200 Adding message to client/log keywords to SQL type data/filetypes.sql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit a26bdd628f7a7d6a5937195083b7829be09b1a81 Author: Colomban Wendling Date: Thu Aug 7 15:14:22 2014 +0200 Fix crash when closing a document with visible infobars Apparently the ::unrealize symbol is sent too late, after we destroyed the widget and freed the GeanyDocument, and some signals like ::focus-in-event can still be fired on the widget after that. So, properly use the ::destroy signal that is supposed to be fired when others should release references to that instance. src/document.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit ed20a4373da28564be76028df6e137f0f2194d80 Author: elextr Date: Wed Aug 6 12:25:59 2014 +1000 Make reflow paragraph leave cursor at end. The cursor was left at the beginning of the last line, leaving it at the end is more likely to be a useful position to continue typing. src/keybindings.c | 1 + 1 file changed, 1 insertion(+) commit 8341228ffa5a69970e85cddc7adb6d1f49f247d9 Author: Colomban Wendling Date: Sun Aug 3 23:55:25 2014 +0200 JavaScript: fix handling of parentheses around an rvalue Properly skip parentheses around an rvalue, and then properly recognize the surrounded value. This allows to properly recognize e.g. rvalue `({...})` as an object, or `(function(){})` as a function. As the implementation is tolerant regarding garbage after the statement, function expressions called straight away (`(function(){})()`) are implicitly supported. This however removes support for the following invalid JavaScript syntax that was previously supported as a function/method declaration: var func = () {} This syntax is not present in the ECMA standard nor is supported by popular JavaScript engines. See: * http://www.ecma-international.org/publications/files/ECMA-ST/Ecma-262.pdf section 13, "Function Definition" * http://ecma262-5.com/ELS5_HTML.htm#Section_13 * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions_and_function_scope#Defining_functions tagmanager/ctags/js.c | 61 ++++++++++++++-------------------- tests/ctags/Makefile.am | 1 + tests/ctags/parenthesis-rvalue.js | 35 +++++++++++++++++++ tests/ctags/parenthesis-rvalue.js.tags | 23 +++++++++++++ tests/ctags/simple.js | 2 +- 5 files changed, 85 insertions(+), 37 deletions(-) commit 35e8fbbe2886b2c5c82686f7e0435e5aa6aad32f Author: Colomban Wendling Date: Sun Aug 3 23:24:33 2014 +0200 JavaScript: fix handling of various missing semicolons in loops tagmanager/ctags/js.c | 16 +++++++++----- tests/ctags/1880687.js | 53 ++++++++++++++++++++++++++++++++++++++++++++- tests/ctags/1880687.js.tags | 12 ++++++++++ 3 files changed, 75 insertions(+), 6 deletions(-) commit 3ff01aeeb30462fe8b9c82740cae4a2e419c9587 Author: Colomban Wendling Date: Sun Aug 3 19:07:59 2014 +0200 JavaScript: recognize assignation to a parenthesized expression tagmanager/ctags/js.c | 4 ++++ tests/ctags/bug2777310.js | 2 ++ tests/ctags/bug2777310.js.tags | 2 ++ 3 files changed, 8 insertions(+) commit b596aa14e82967d02d711c48cd62e631c29bea65 Author: Colomban Wendling Date: Sun Aug 3 16:57:26 2014 +0200 JavaScript: don't choke when returning object literals tagmanager/ctags/js.c | 4 +++ tests/ctags/Makefile.am | 1 + tests/ctags/complex-return.js | 61 ++++++++++++++++++++++++++++++++++++++ tests/ctags/complex-return.js.tags | 18 +++++++++++ 4 files changed, 84 insertions(+) commit bc9b2fa4445b6b870f2be942aa27d49994985ae9 Author: Colomban Wendling Date: Sun Aug 3 16:34:24 2014 +0200 JavaScript: don't choke on array lists tagmanager/ctags/js.c | 4 ++++ tests/ctags/Makefile.am | 1 + tests/ctags/arraylist.js | 20 ++++++++++++++++++++ tests/ctags/arraylist.js.tags | 9 +++++++++ 4 files changed, 34 insertions(+) commit 3c2d93eca42d550fe416a9200e6a67a82bcd7afe Author: Matthew Brush Date: Sun Aug 3 04:23:19 2014 -0700 Refactor win32 native dialog-mainloop update code Just cleaning up last commit. src/win32.c | 74 +++++++++++++++++++++++++++++++++---------------------------- 1 file changed, 40 insertions(+), 34 deletions(-) commit eb267d30cbe1fe603d315d7f165bdff7ed574b2c Author: Matthew Brush Date: Sat Aug 2 20:29:02 2014 -0700 For native win32 dialogs, pump main window loop a bit Mostly gets rid of re-drawing issues, however is not great. src/win32.c | 87 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 80 insertions(+), 7 deletions(-) commit fc0e8fa56644230aeb4b7cdfde4271280565ce76 Merge: d4acd1e0 c47c8482 Author: Dominic Hopf Date: Sat Aug 2 23:02:21 2014 +0200 Merge pull request #311 from philippwiesemann/fix-typo-doc Fix typo in documentation commit c47c84820e6f48be9eb70261d4d790229b1b3294 Author: Philipp Wiesemann Date: Sat Aug 2 22:03:34 2014 +0200 Fix typo in documentation doc/geany.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit d4acd1e061211cb5c113b50dbe9786d62e67786e Author: Nick Treleaven Date: Fri Aug 1 12:10:17 2014 +0100 *View->Change Font* should respect native dialog setting (Windows, #1059) src/dialogs.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) commit 4cfe71a487dfabdc3a4ce79bfa924567101c8838 Merge: 257de659 f1ce9afa Author: Colomban Wendling Date: Fri Aug 1 17:26:54 2014 +0200 Merge branch 'tm/faster-current-tag' This makes tm_get_current_tag() roughly 4.5 times faster. commit 257de6597cd7fb0f7cd75d20c67c0de1d85d491a Author: Colomban Wendling Date: Fri Aug 1 16:05:09 2014 +0200 fortran: Make sure not to index kinds out of bounds This also makes recent GCC shut up about indexing below the bounds as it detected the code checked for a negative index yet didn't guard the actual access. For now GCC doesn't understand the more comprehensive check, but it might come back if GCC becomes smart enough. Anyway, this makes the Assert() more correct, and addition of the explicit kinds array size makes sure any future kind addition won't miss its entry. tagmanager/ctags/fortran.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit e1988964c17b57fdaf7741105d384235fec1bff1 Author: Nick Treleaven Date: Fri Aug 1 12:00:20 2014 +0100 Fix Windows build src/build.c | 1 + src/dialogs.c | 1 + src/document.c | 1 + src/main.c | 1 + src/plugins.c | 1 + src/project.c | 1 + src/socket.c | 1 + src/tools.c | 1 + src/ui_utils.c | 1 + src/utils.c | 1 + 10 files changed, 10 insertions(+) commit 01b3103eafd787b9a94d14026c3872691d6e1f90 Author: Nick Treleaven Date: Fri Aug 1 11:54:05 2014 +0100 Remove unread variable src/document.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) commit c250195b81827b159c32a2c8d4c0d6f4bda7d35d Author: elextr Date: Wed Jul 30 16:07:50 2014 +1000 Add HTML and XML template extensions Add *.tpl and *.xtpl. data/filetype_extensions.conf | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit aea113f1c5095fa28790f1c330f1c5220d813d59 Merge: c8dab25e db977a99 Author: Colomban Wendling Date: Tue Jul 29 18:23:11 2014 +0200 Merge pull request #306 from SiegeLord/more_rust_updates commit db977a999d52f34713b11430a3d02fd6386a880a Author: SiegeLord Date: Tue Jul 29 11:27:25 2014 -0400 Rust: Add keyword data/filetypes.rust | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 58f0a20bcc640a7973b22b3f7647750eaa1838c2 Author: SiegeLord Date: Tue Jul 29 11:20:56 2014 -0400 Rust: Update test sources to be valid Rust code. tests/ctags/test_input.rs | 20 ++++++++++---------- tests/ctags/test_input.rs.tags | 2 +- tests/ctags/test_input2.rs | 2 +- 3 files changed, 12 insertions(+), 12 deletions(-) commit d9e569398a0dbdac961cf4aa9e624d51fbdfa1f0 Author: SiegeLord Date: Tue Jul 29 11:14:34 2014 -0400 Rust: Add new comment handling test. tests/ctags/test_input2.rs | 1 + tests/ctags/test_input2.rs.tags | 1 + 2 files changed, 2 insertions(+) commit 5e469dc5aeb1982a046703b95893dfd52e5a1174 Author: SiegeLord Date: Tue Jul 29 11:10:14 2014 -0400 Rust: Update comment parsing. Rust now allows CRLF line endings in source files, which doesn't actually change any lexing here but the comment was wrong. Also, the hashbang initial comment has a special case where #![ doesn't count as a comment (but instead an inner attribute that just happens to be on the first line). tagmanager/ctags/rust.c | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) commit cf9385c6d49eaee4788847b4bda5b9b7b727d087 Author: SiegeLord Date: Tue Jul 29 10:55:15 2014 -0400 Rust: Add test for character literals. tests/ctags/test_input.rs | 9 +++++++++ tests/ctags/test_input.rs.tags | 2 ++ 2 files changed, 11 insertions(+) commit 756344d901afba9e5a51ae099aa7c1fe9ecef019 Author: SiegeLord Date: Tue Jul 29 10:51:36 2014 -0400 Rust: Parse character literals. These were omitted by mistake. Caused bugs like '"' being interpreted as a start/end of a string, '}' as the end of a block etc. tagmanager/ctags/rust.c | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) commit fba9d19ec775161f722adab322ec384483d4b05c Author: SiegeLord Date: Tue Jul 29 09:34:04 2014 -0400 Rust: Add a test for the new string lexer. tests/ctags/test_input.rs | 2 ++ tests/ctags/test_input.rs.tags | 1 + 2 files changed, 3 insertions(+) commit d96a314a68a6ca779f3e447dd25724df4881a93a Author: SiegeLord Date: Tue Jul 29 09:23:42 2014 -0400 Rust: Change/simplify how the string tokens are handled. Previously, only the string contents were stored in lexerState::token_str (i.e. not including the delimeters). Now, the delimeters are stored as well, thus preserving them. This also simplifies the code a bit. A new function is added to handle the character storage, which is also now applied for normal identifiers. To that end, the MAX_STRING_LENGTH was boosted to 256 so that all reasonably sized identifiers may fit. tagmanager/ctags/rust.c | 49 ++++++++++++++++++++----------------------------- 1 file changed, 20 insertions(+), 29 deletions(-) commit c8dab25e6e608f3f928c2c1c0dbc7f444b1dffc1 Merge: b65f4990 19e98669 Author: Frank Lanitz Date: Sat Jul 26 19:08:16 2014 +0200 Merge pull request #303 from samsulmaarif/master Update Indonesian Translation commit b65f49902f726d76178c7b72c244e901ccfa419d Author: Colomban Wendling Date: Sat Jul 26 14:55:58 2014 +0200 Fix closing the documents when quitting When quitting we avoid doing some unnecessary actions, and used to simply destroy the Scintilla widget (and thus the notebook page) instead of the elaborate UI updates. Unfortunately, when the infobars landed they changed what is packed as a notebook page, and now destroying the Scintilla widget alone is not enough to close the page. Fix this by properly removing the whole page no matter what it contains. This issue was visible when quitting Geany with a project open. src/document.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 0682a255853bada9bb5a07a575100925997e1de9 Author: Colomban Wendling Date: Sat Jul 26 13:36:19 2014 +0200 Fix crash when quitting with an infobar visible When the infobar gets closed/destroyed it tries to focus the possibly destroyed document, leading to a crash. src/document.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) commit 19e98669f473b7ea6f7433b505156b8aa5763223 Author: Samsul Ma'arif Date: Fri Jul 25 03:53:40 2014 +0700 Update Indonesian Translation po/id.po | 1898 ++++++++++++++++++++------------------------------------------ 1 file changed, 619 insertions(+), 1279 deletions(-) commit a87655480ffbfdb8c29a843c77ba23e5c00dc79a Merge: 6768a1b7 ffcec43d Author: Colomban Wendling Date: Fri Jul 11 18:06:59 2014 +0200 Merge most of PR#298 commit 6768a1b78f131dc857ba7674c213a70ef19edc5d Author: Frank Lanitz Date: Fri Jul 11 17:06:47 2014 +0200 Update of Greek translation po/el.po | 43 ++++++++++++++++++++++--------------------- 1 file changed, 22 insertions(+), 21 deletions(-) commit 81a9026c3b7c7100bef800ad8652d0e99d68d8c0 Author: Frank Lanitz Date: Tue Jul 8 21:00:34 2014 +0200 Update of Greek translation po/el.po | 4557 +++++++++++++++++++++++++++++--------------------------------- 1 file changed, 2145 insertions(+), 2412 deletions(-) commit 487b8aea0ba904103eaddaf81f2dd6647b8bc7b3 Author: Colomban Wendling Date: Sat Jul 5 19:16:24 2014 +0200 Custom commands dialog: Make sure the selected item is always visible Always bring back the selected item after an user action, so the user can see what she's doing. src/tools.c | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) commit 47e9e6c000e7f0742ef416e56a73e5c02ef93778 Author: Colomban Wendling Date: Fri Jul 4 17:52:48 2014 +0200 Ask whether to overwrite the project file when creating a new project src/project.c | 10 ++++++++++ 1 file changed, 10 insertions(+) commit 7f7f66978bca26581cae16f27b6e8bf4e58d1a54 Author: Colomban Wendling Date: Fri Jul 4 17:52:13 2014 +0200 Add tooltips to explain the purpose of the New Project dialog fields src/project.c | 7 +++++++ 1 file changed, 7 insertions(+) commit 11b50493fcd65216014d4bcab157d79cc33d9e7b Author: Colomban Wendling Date: Fri Jul 4 17:50:37 2014 +0200 Use ui_button_new_with_image() to build image buttons src/project.c | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) commit 98fa600a2ff40cd55ec8010bff258ed0b32ff8aa Author: Colomban Wendling Date: Fri Jul 4 03:06:17 2014 +0200 Update Scintilla to version 3.4.4 scintilla/gtk/PlatGTK.cxx | 41 ++-- scintilla/gtk/ScintillaGTK.cxx | 28 +-- scintilla/include/Scintilla.h | 8 +- scintilla/include/Scintilla.iface | 10 + scintilla/lexers/LexBash.cxx | 11 +- scintilla/lexers/LexCPP.cxx | 22 ++- scintilla/lexers/LexHTML.cxx | 11 +- scintilla/lexers/LexHaskell.cxx | 2 +- scintilla/lexers/LexPerl.cxx | 2 +- scintilla/lexers/LexRuby.cxx | 5 +- scintilla/lexers/LexRust.cxx | 2 +- scintilla/lexers/LexTCL.cxx | 2 +- scintilla/lexers/LexVHDL.cxx | 2 +- scintilla/lexlib/Accessor.cxx | 2 +- scintilla/lexlib/CharacterCategory.cxx | 2 +- scintilla/lexlib/CharacterSet.cxx | 2 +- scintilla/lexlib/LexAccessor.h | 20 +- scintilla/lexlib/LexerBase.cxx | 2 +- scintilla/lexlib/LexerModule.cxx | 14 +- scintilla/lexlib/LexerModule.h | 9 +- scintilla/lexlib/LexerNoExceptions.cxx | 2 +- scintilla/lexlib/LexerSimple.cxx | 2 +- scintilla/lexlib/StyleContext.cxx | 2 +- scintilla/lexlib/StyleContext.h | 4 +- scintilla/lexlib/WordList.cxx | 2 +- scintilla/src/CaseFolder.cxx | 2 +- scintilla/src/Catalogue.cxx | 2 +- scintilla/src/CellBuffer.cxx | 13 +- scintilla/src/CellBuffer.h | 4 +- scintilla/src/Document.cxx | 26 +-- scintilla/src/Document.h | 9 +- scintilla/src/Editor.cxx | 343 ++++++++++++--------------------- scintilla/src/Editor.h | 30 ++- scintilla/src/ExternalLexer.cxx | 2 +- scintilla/src/Indicator.cxx | 4 +- scintilla/src/Indicator.h | 2 +- scintilla/src/LineMarker.cxx | 2 +- scintilla/src/LineMarker.h | 2 +- scintilla/src/PositionCache.cxx | 41 ++-- scintilla/src/PositionCache.h | 28 ++- scintilla/src/ScintillaBase.cxx | 56 ++++-- scintilla/src/ScintillaBase.h | 1 + scintilla/src/Selection.cxx | 8 + scintilla/src/Selection.h | 2 + scintilla/src/Style.cxx | 4 + scintilla/src/Style.h | 4 +- scintilla/src/ViewStyle.cxx | 37 ++++ scintilla/src/ViewStyle.h | 3 +- scintilla/version.txt | 2 +- 49 files changed, 413 insertions(+), 423 deletions(-) commit db90411b0e7684fb5d7868309e1fc96a93df664b Author: Thomas Martitz Date: Sat Jun 28 14:17:54 2014 +0200 main: Refactor quit functions Move quit-related functions to main.c and make them static. main_quit() now does all the heavy work and can be called from signal handlers. src/callbacks.c | 54 ++--------------------------------------------------- src/keybindings.c | 3 ++- src/main.c | 56 ++++++++++++++++++++++++++++++++++++++++++++++++++++--- src/main.h | 2 +- 4 files changed, 58 insertions(+), 57 deletions(-) commit fd5ac727cbb687cc66c2de596f1dde8d957af051 Author: Martin Spacek Date: Wed Jun 11 22:17:48 2014 -0700 Add %l current line number substitution to build commands doc/geany.txt | 1 + src/build.c | 14 +++++++++++--- 2 files changed, 12 insertions(+), 3 deletions(-) commit ffcec43d01609ea0cc8a8e25d77bd4325b5b1e27 Author: Thomas Martitz Date: Sun Jun 8 14:22:56 2014 +0200 document.c: Immediately mark as changed when document is externally deleted Before infobar it didn't matter because the dialog was modal and interaction with the doc was impossible. Now that you can interact it the doc should be marked changed immediately. src/document.c | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) commit 0f7db113e7da5b15957754388af74992d738b100 Author: Thomas Martitz Date: Fri Jun 6 22:17:46 2014 +0200 document.c: Restore lost document_set_text_changed(doc, TRUE) call It got lost by accident in 5117940. src/document.c | 1 + 1 file changed, 1 insertion(+) commit c8970e23316fb41f06a20af310f4b109f5f059d3 Author: Thomas Martitz Date: Mon Jun 9 10:52:40 2014 +0200 info bars: Show additional save button for the "reload file?" info bar This allows overwriting the file right from the info bar. src/document.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) commit 4b8f42cd9e4206e672539dd559e9d41e831a39bd Author: Thomas Martitz Date: Mon Jun 9 12:35:22 2014 +0200 info bars: Explicitely move focus back to the editor when closing This does not seem to happen automatically, at least on GTK3. src/document.c | 2 ++ 1 file changed, 2 insertions(+) commit ab426623099dee3b8a187eefb662c7c022669b83 Author: Thomas Martitz Date: Fri Jun 6 22:11:11 2014 +0200 Fix racy glib assertion failure Use g_signal_connect_object() to establish automatic and race-free signal disconnection instead of the hand-crafted mechanism. src/document.c | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) commit 0870b8663fa6a40d1870f1b015b87db5148ea37e Author: danyalzia Date: Thu Jun 19 22:16:37 2014 +0500 Add remaining D keywords data/filetypes.d | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 35a212dffc34ae2f7bc532f69caf9bdea695ef39 Merge: 3ce25db6 0d03fad7 Author: Colomban Wendling Date: Fri Jun 27 22:32:38 2014 +0200 Merge branch 'callbacks-cleanup' commit 3ce25db632e7142159fc86081f36afefe9f317ce Author: Colomban Wendling Date: Fri Jun 27 22:05:46 2014 +0200 Remove line number zoom hack as it is no longer necessary Since cbf9813632d7ee921ffa1fda0d1f69128b2bc755 we have a proper solution for maintaining line number consistent with the editor zoom, so drop the old hack. This also allows to remove the now useless third argument of sci_set_line_numbers(). src/callbacks.c | 7 ------- src/document.c | 4 ++-- src/editor.c | 6 +++--- src/printing.c | 2 +- src/sciwrappers.c | 7 +------ src/sciwrappers.h | 2 +- src/ui_utils.c | 2 +- 7 files changed, 9 insertions(+), 21 deletions(-) commit cccc6ea0df885eefa07ba6ba99141e23574a1849 Author: Colomban Wendling Date: Thu Jun 26 20:04:15 2014 +0200 Remove some dead code src/callbacks.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) commit 6c804880374058fbc1ed44084f4768b6c20d0038 Author: Colomban Wendling Date: Thu Jun 26 20:00:24 2014 +0200 Make sure the current document is still the same after Save All Save All updates the sidebar and title bar with the document that was the current one when the action was triggered, but the action could have changed the focused document if an non-file-backed file required saving. So, make sure current document is the same after the action. src/callbacks.c | 1 + 1 file changed, 1 insertion(+) commit 0d03fad7bf478b7bd7aeaee04b1d04be96eb8e86 Author: Colomban Wendling Date: Thu Jun 26 18:36:22 2014 +0200 Move date insert callbacks to the UI code where they belong src/callbacks.c | 73 ------------------------------------------------------ src/callbacks.h | 4 --- src/ui_utils.c | 77 +++++++++++++++++++++++++++++++++++++++++++++++++++++++-- 3 files changed, 75 insertions(+), 79 deletions(-) commit a51bc3d6545b48eddb18de3b10a4381dc459614c Author: Colomban Wendling Date: Thu Jun 26 18:31:05 2014 +0200 Move include insert callbacks to the UI code where they belong src/callbacks.c | 44 -------------------------------------------- src/callbacks.h | 4 ---- src/ui_utils.c | 51 ++++++++++++++++++++++++++++++++++++++++++++++----- 3 files changed, 46 insertions(+), 53 deletions(-) commit 00ec175d63931075fcf82c48497d9245a65da70b Author: Colomban Wendling Date: Thu Jun 26 18:23:34 2014 +0200 Callbacks: get rid of the ugly `insert_callback_from_menu` global src/callbacks.c | 191 ++++++++++++++++++++++++++++---------------------------- 1 file changed, 96 insertions(+), 95 deletions(-) commit 721769e682b142c0d07b12a3d7158695ccc3dacb Author: Thomas Martitz Date: Tue Jun 24 23:07:08 2014 +0200 Fix build warning about missing return value. src/document.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit cc2f1879a83aeb95bd9aa6b0d6362b32016c0432 Author: Colomban Wendling Date: Tue Jun 24 18:30:54 2014 +0200 Add printf attribute to document_show_message() for better safety Add G_GNUC_PRINTF attribute to document_show_message() so some compilers can check the format arguments match the format string. src/document.c | 6 ++++++ 1 file changed, 6 insertions(+) commit 9bf647c5c3117d36c4ea7c99f05ad99e03106045 Author: Colomban Wendling Date: Tue Jun 24 18:26:44 2014 +0200 Move on_clone1_activate() to callbacks.c src/callbacks.c | 11 +++++++++++ src/document.c | 10 ---------- 2 files changed, 11 insertions(+), 10 deletions(-) commit 0b32227bf0892f8bf430d712cae1fa73741c906a Author: Colomban Wendling Date: Tue Jun 24 18:15:46 2014 +0200 Don't manually connect handlers Glade can connect for us Don't bother manually connecting handlers that Glade can connect for us just as well. data/geany.glade | 3 +++ src/callbacks.c | 6 ++++-- src/callbacks.h | 6 +----- src/main.c | 6 ------ 4 files changed, 8 insertions(+), 13 deletions(-) commit ab3b7ce49660cfec1b4b21e549257bf2b7b4a7a5 Author: Colomban Wendling Date: Tue Jun 24 18:11:34 2014 +0200 Use the appropriate prototype for the window's delete-event callback src/callbacks.c | 6 +++--- src/callbacks.h | 2 +- src/main.c | 6 +++--- 3 files changed, 7 insertions(+), 7 deletions(-) commit 2113537e939aa7c73130c80ded791a698f05fbc1 Author: Colomban Wendling Date: Tue Jun 24 18:07:29 2014 +0200 Add two missing Glade-only prototypes src/callbacks.c | 2 ++ 1 file changed, 2 insertions(+) commit a398b087da51db03f0b89c8883ea6a239b0af8bf Author: Colomban Wendling Date: Tue Jun 24 18:04:11 2014 +0200 Remove redundant toolbar-specific callbacks src/callbacks.c | 52 ++-------------------------------------------------- src/callbacks.h | 20 ++++---------------- src/toolbar.c | 18 +++++++++--------- 3 files changed, 15 insertions(+), 75 deletions(-) commit 517bf5f960fd4559073bf62039893aa39f8a4bf8 Author: Colomban Wendling Date: Tue Jun 24 17:48:54 2014 +0200 Move Glade-only callbacks out of callbacks.h There is no need to expose the Glade-only callbacks in the header as nobody uses them directly anyway; and not having them makes the header a little less bloated. src/callbacks.c | 75 +++++++++++++++++++++++++++++ src/callbacks.h | 146 +------------------------------------------------------- 2 files changed, 77 insertions(+), 144 deletions(-) commit 3b1fbc16e5a01d4643d01f29abc7e8e8504688f6 Author: Colomban Wendling Date: Tue Jun 24 16:52:21 2014 +0200 Normalize callbacks prototypes src/callbacks.h | 757 ++++++++++++++++---------------------------------------- 1 file changed, 216 insertions(+), 541 deletions(-) commit 220545d988ab90c46699fa5586d8115de104c0d6 Author: Colomban Wendling Date: Tue Jun 24 16:44:10 2014 +0200 Don't export callbacks not used from Glade src/callbacks.c | 46 +++++++++++++++++++++++----------------------- src/callbacks.h | 48 ++++++++++++++++++++++++------------------------ 2 files changed, 47 insertions(+), 47 deletions(-) commit 69a44997ad2ddf0d07244fb6c1901de819a2703a Author: Colomban Wendling Date: Tue Jun 24 16:43:11 2014 +0200 Remove prototypes of non-existing callbacks src/callbacks.h | 21 --------------------- 1 file changed, 21 deletions(-) commit d6382e443fa966c4333cf320db9d754d89812148 Author: Colomban Wendling Date: Tue Jun 24 15:04:37 2014 +0200 VTE: avoid exporting callbacks that are only used internally src/vte.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) commit 2490df9b45a2b5c3707436971a8bb5f3538fc006 Author: Colomban Wendling Date: Tue Jun 24 15:02:31 2014 +0200 Avoid passing non-literals to string formatting functions Having a string literal allows the compiler to check the arguments match the format, so avoid passing non-literal whenever possible. src/filetypes.c | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) commit 135b60d25ef7557d2ea75a1a4f684ee49b5c3463 Author: Thomas Martitz Date: Tue Jun 24 09:13:44 2014 +0200 callbacks: Refactor on_reload_as_activate() as document_reload_prompt() The callback wasn't used from glade but is useful for some other places so it's worth moving into document.c. This also fixes a bug where reload via sidebar always reloads the current document instead of the actually clicked one. src/callbacks.c | 36 +----------------------------------- src/callbacks.h | 4 ---- src/document.c | 32 ++++++++++++++++++++++++++++++++ src/document.h | 2 ++ src/encodings.c | 23 ++++++++++++++++------- src/sidebar.c | 2 +- 6 files changed, 52 insertions(+), 47 deletions(-) commit d6c980f2fcdf49b731aacbd9e4751cbb9d85cafe Author: Colomban Wendling Date: Mon Jun 23 18:36:25 2014 +0200 Printing: properly claim ownership of the printing Scintilla widget This avoids a GObject warning about unref-ing a floating object on print termination. src/printing.c | 2 ++ 1 file changed, 2 insertions(+) commit 881ca4fa0243c29ace29e56955d85fcad255e90f Author: Enrico Tröger Date: Sun Jun 22 14:09:04 2014 +0200 Fix typo in generated geany.pc wscript | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit ec7071062c5dc39d5f893a830b3c26968a579251 Author: Colomban Wendling Date: Sat Jun 21 18:35:17 2014 +0200 Fix GTK frame clock warnings with our about dialog We used to set the widget's style in a style-set handler, and despite guarding ourselves from recursive invocations, the GTK frame clock introduced by GTK 3.8 didn't like it very much. So, replace the manual color modification by a simpler global widget state modification, making the code simpler and smaller, yet achieving the same result (or so I hope and see). src/about.c | 38 ++------------------------------------ 1 file changed, 2 insertions(+), 36 deletions(-) commit 40662e4c01c3eac83beb522d2e5bbc775b413724 Author: Frank Lanitz Date: Thu Jun 19 14:20:16 2014 +0200 SQL: Adding uniqueidentifier as keyword uniqueidentifier is a data type e.g. used on SAP/Sybase SQLAnywhere data/filetypes.sql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit d5fd29baabfc76cee6718ddfaad97e0ba5446924 Author: Frank Lanitz Date: Thu Jun 12 18:41:27 2014 +0200 Update of Slovenian translation po/sl.po | 54 ++++++++++++++++++++++++------------------------------ 1 file changed, 24 insertions(+), 30 deletions(-) commit d3b96283151f7a6e71763a9ec5f392f3b89dd804 Author: Frank Lanitz Date: Thu Jun 12 18:38:48 2014 +0200 Update of Italian translation po/it.po | 2677 +++++++++++++++++++++++++++++++------------------------------- 1 file changed, 1350 insertions(+), 1327 deletions(-) commit c79c983364c8754a0944693cae0439d97b874067 Author: Colomban Wendling Date: Wed Jun 4 14:31:12 2014 +0200 Fix build with GLib < 2.32 Second part of #1047. src/document.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) commit ea6ebaf48f40945374ea1075ceeaeedc56adee8e Author: Colomban Wendling Date: Wed Jun 4 14:16:39 2014 +0200 Fix build with GTK < 2.24 Part of #1047. src/document.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) commit 01cf9a9fdc6795b971cbad59585d33bfcb796b74 Author: Enrico Tröger Date: Thu May 29 17:47:37 2014 +0200 Do not use backward slashes in geany.pc on Windows And explicitly convert backward slashes in the global prefix to forward slashes as tools like pkg-config or gcc could interpret the backward slashes as escape sequences. wscript | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) commit 147167cfa5883107fe7592b3ea24728f53bba1a1 Author: Colomban Wendling Date: Wed May 28 18:01:23 2014 +0200 infobars: Use wrap labels to avoid cropped infobars Since the infobar is backed in a GtkPaned that allows "shrink", if the content is too wide, it's far end will just get cropped. Also, wrap labels are nicer to display possibly long texts as it flows naturally. src/document.c | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) commit d6e9e40ccc7966228aa684e8b00caa7150448378 Author: Colomban Wendling Date: Tue May 27 20:25:04 2014 +0200 Fix a few missing/extra includes src/ui_utils.c | 1 + src/ui_utils.h | 1 - src/utils.h | 4 +++- 3 files changed, 4 insertions(+), 2 deletions(-) commit 7a4b5246611193cece08161c965c9a81b1e6b04d Author: Colomban Wendling Date: Tue May 27 17:59:48 2014 +0200 Avoid code duplication in document_get_current() src/document.c | 16 ++-------------- 1 file changed, 2 insertions(+), 14 deletions(-) commit 46f01bff59073905a01c799219fd0118c041f9c7 Author: Colomban Wendling Date: Tue May 27 17:55:00 2014 +0200 Properly mirror document_get_from_page() in document_get_notebook_page() Now document_get_from_page() supports arbitrary nesting inside the notebook page, update document_get_notebook_page() to support it also, by searching up for the direct notebook child rather than assuming it is the ScintillaWidget's direct parent. src/document.c | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) commit d399957471fbbde0dcaea3691933e51ad9df973f Author: Colomban Wendling Date: Tue May 27 16:02:59 2014 +0200 Fix an inverted check src/document.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 4adbd5088060839421eb34adb42dd762d6e5b034 Author: Colomban Wendling Date: Tue May 27 15:42:57 2014 +0200 Remove some empty table rows and columns from the Glade file Cleanup some useless placeholders, and replace some one-column tables with vertical boxes. No UI changes. data/geany.glade | 162 ++++++++++++++++++------------------------------------- 1 file changed, 52 insertions(+), 110 deletions(-) commit 73a1589618f71d7cd0aee0913613683c4fbfbb53 Author: Colomban Wendling Date: Mon May 26 18:11:58 2014 +0200 Remove empty table rows in the Glade file This avoids glade from emitting some useless placeholders. No UI changes. data/geany.glade | 60 ++++++++++++-------------------------------------------- 1 file changed, 13 insertions(+), 47 deletions(-) commit e9795732b600895c1e6f0954915ba52bf6417a20 Merge: 2b9ecc2e 62077c62 Author: Colomban Wendling Date: Mon May 26 16:45:25 2014 +0200 Merge PR#113 commit 2b9ecc2e4ff59e9805261a3aa4fe553c93e69531 Author: Colomban Wendling Date: Mon May 26 16:24:24 2014 +0200 Remove unused variables and avoid variable shadowing src/document.c | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) commit 6e58ef3755e1d69c4edf3300ac17ae34413b8545 Author: Colomban Wendling Date: Mon May 26 16:21:16 2014 +0200 Don't use the notebook page widget for tab popup Directly use the GeanyDocument rather than pass the notebook page widget and get the document from that. This makes the code more future proof and less weird. src/callbacks.c | 15 ++++----------- src/notebook.c | 19 +++++-------------- 2 files changed, 9 insertions(+), 25 deletions(-) commit 54724ee2ad4a67eb394aa55a29327da1689d394b Author: Thomas Marititz Date: Mon May 26 10:44:57 2014 +0200 notebook: Fix crash on tab close Since infobars notebook_tab_close_clicked_cb() wants a GeanyDocument as userdata. show_tab_bar_popup_menu() on the other hand wants the actual GtkNotebook child. src/notebook.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) commit 8ea54993c5d599f82b6060550f304e06302b46d6 Merge: f3ac7480 19e24fb5 Author: Matthew Brush Date: Sun May 25 18:55:07 2014 -0700 Merge branch 'kugel/document-messages2' This is an extension of the long-lived `document-messages` branch. It is mostly adjusted according to the feedback on the mailing list. There might existing some usability issues to be resolved, but this is the first step towards non-modal document notifications. commit 19e24fb5ee53cb70de02669fc2d1dc0cdbd82c11 Author: Thomas Martitz Date: Sat May 24 16:53:59 2014 +0200 infobars: Dismiss the info bar when reloading via toolbar button/keybinding. src/document.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) commit b96daf6fc0f17780642e73e0cce7591af930b29e Author: Thomas Martitz Date: Sat May 24 16:32:58 2014 +0200 infobars: Do not use GeanyWrapLabel for now, it has problems on gtk3. src/document.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) commit 100e0e1bf17e496dbe728a3637d199157d93b10e Author: Thomas Martitz Date: Sat May 24 14:37:24 2014 +0200 infobars: Intercept some keys when the info bar is shown to allow interacting with it using the keyboard only. When the info bar is shown tab/shift+tab and escape are intercepted. * tab/shift+tab change the focus to the info bar buttons which can then be cycled through with more tab presses * escape closes the info bar (same as clicking cancel) Both keys aren't needed for the document because it's read-only. Other keys, such arrow/page up/down, remain to the document for navigating. src/document.c | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) commit 1dc96f1e50fad6d68ef1d27aa44ef25a9652db38 Author: Thomas Martitz Date: Wed May 21 08:11:37 2014 +0200 infobars: Cancel "reload file" dialog when spawning the "resave file" one. When the file was deleted from disk the message that the file is newer on disk has become out of date and irrelevent. src/document.c | 3 +++ 1 file changed, 3 insertions(+) commit b487d8dea3c2c3d448431ae91e06470b43d7d6bc Author: Thomas Martitz Date: Wed May 21 07:11:56 2014 +0200 infobars: Do not show reload and resave messages more than once since only the last one (respectively) is significant to the user. src/document.c | 52 +++++++++++++++++++++++++++++++++++---------------- src/documentprivate.h | 9 +++++++++ 2 files changed, 45 insertions(+), 16 deletions(-) commit 5117940ff6e6457b24e7ee0989d3092ff38bac7d Author: Thomas Martitz Date: Tue May 20 07:14:10 2014 +0200 infobars: Make document read-only while infobar is shown. This avoids accidental changes the file until the infobar is ackowledged. The document can still be viewed and scrolled through but modifications and saving are disabled. Of course ignoring the document by changing to another one is also possible. src/document.c | 42 +++++++++++++++++++++++++++++++++++++++--- src/documentprivate.h | 3 +++ 2 files changed, 42 insertions(+), 3 deletions(-) commit 43bff93046d891cdf250704d520e4785f5f07cd4 Author: Matthew Brush Date: Sun Nov 13 06:05:53 2011 -0800 Make locate_sci_in_container() search recursively Supports changes to the widget heirarchy in the future. src/document.c | 11 +++++++++++ 1 file changed, 11 insertions(+) commit e469aa6acc76fb47194c322efef3d4f900f990a2 Author: Matthew Brush Date: Wed May 21 07:52:57 2014 +0200 Use document_show_message() when a file is removed from disk The close button is removed from the dialog also since the user can easily choose to close the document normally. Setting default response removed since it's not working yet. src/document.c | 38 +++++++++++++++++--------------------- 1 file changed, 17 insertions(+), 21 deletions(-) commit 667c35a004aeabfb254da3d91186b8f523869cf0 Author: Matthew Brush Date: Sun Nov 6 15:59:32 2011 -0800 Use document_show_message() when a file is externally modified Two other related changes are that document_set_text_changed() is used to indicate that the buffer is different from what's on disk and also that the 'Close' button has been removed from the dialog since the user can easily just close the document themselves the normal way. src/document.c | 26 ++++++++++++++------------ 1 file changed, 14 insertions(+), 12 deletions(-) commit a6bbea53c8a7f9e1d278c00eebbc6aa483fee416 Author: Matthew Brush Date: Tue May 20 06:45:23 2014 +0200 Add new function document_show_message() src/document.c | 115 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 114 insertions(+), 1 deletion(-) commit 9f587e9c265893e9fa3081c2387a0246d3e3c9c9 Author: Matthew Brush Date: Sun Nov 6 12:29:37 2011 -0800 Pack Scintilla widgets into a GtkVBox and use it as the notebook page. This is to allow stacking widgets such as GtkInfoBar above the Scintilla widget in each tab. notebook.c need to be changed because the document isn't the direct widget anymore which was assumed for tab closing. src/document.c | 51 ++++++++++++++++++++++++++++++++++++++++++++------- src/notebook.c | 27 +++++++++++++++------------ 2 files changed, 59 insertions(+), 19 deletions(-) commit f3ac7480c52d71188d16ddb350ea12fdbf18083d Author: Enrico Tröger Date: Sat May 24 13:33:27 2014 +0200 Re-order header includes and cleanup unused imports src/win32.c | 37 +++++++++++++++++++------------------ 1 file changed, 19 insertions(+), 18 deletions(-) commit 34de4b655ee967506b5c3eae657bebbc3e6e67de Merge: 1bacf869 238ab562 Author: Enrico Tröger Date: Sat May 24 13:15:39 2014 +0200 Merge pull request #276 from codebrainz/win32-includes Re-order win32.[ch] includes a little bit to unbreak build commit 238ab562791311b533d7eaa56cdd9a5d101c49e3 Author: Matthew Brush Date: Sat May 24 04:01:09 2014 -0700 Re-order win32.[ch] includes a little bit to unbreak build src/win32.c | 3 +-- src/win32.h | 5 ++++- 2 files changed, 5 insertions(+), 3 deletions(-) commit 1bacf869e076ef37caa768196d21d941a657d1e7 Author: Enrico Tröger Date: Sat May 24 11:32:45 2014 +0200 Extend use of os.path.join() to construct platform compliant paths wscript | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) commit 7d38f0512190d8f5b8e3cec6715f7ce6e50bd7e7 Author: Colomban Wendling Date: Mon Dec 24 03:18:52 2012 +0100 Initial support for single-line regular expressions matching src/search.c | 41 ++++++++++++++++++++++++++++++++++++----- 1 file changed, 36 insertions(+), 5 deletions(-) commit 46affaf19eab08712174faac8638d4428c9e6516 Author: Colomban Wendling Date: Thu May 22 03:31:31 2014 +0200 Update Scintilla to 3.4.2 final release No code changes. scintilla/lexers/LexCPP.cxx | 4 ++-- scintilla/lexers/LexFortran.cxx | 2 +- scintilla/lexers/LexPerl.cxx | 6 +++--- scintilla/lexers/LexRuby.cxx | 2 +- scintilla/src/AutoComplete.h | 2 +- scintilla/src/Editor.cxx | 8 ++++---- scintilla/src/RESearch.cxx | 4 ++-- 7 files changed, 14 insertions(+), 14 deletions(-) commit 4d22aa48502ff818102af42495daaa55e6c6694e Merge: 3d549f59 50feb0e0 Author: Matthew Brush Date: Wed May 21 15:43:40 2014 -0700 Merge branch 'header-cleanup' Closes #272 commit 50feb0e05c87ff973ca678e255842e5fe43badc3 Author: Matthew Brush Date: Mon May 19 22:57:14 2014 -0700 Improve support of compiling without gettext * If GETTEXT_PACKAGE is not defined (ex. by build system/user) then define it to NULL. Most GLib gettext-functions allow passing NULL to use the domain set with textdomain(). * Improve the ngettext() wrapper macro. * Improve/fix bind_textdomain_codeset() wrapper macro. * Fix argument in bindtextdomain() * Cast bind*textdomain*() results with (void) to get rid of compiler warnings when building without GETTEXT_PACKAGE defined. src/main.c | 4 ++-- src/support.h | 9 +++++---- 2 files changed, 7 insertions(+), 6 deletions(-) commit 34888d6bafd1df9ae2e3456b066c2b44ea676ae8 Author: Matthew Brush Date: Mon May 19 01:38:33 2014 -0700 Add some info about header includes to `HACKING` file HACKING | 72 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 72 insertions(+) commit 4efcbab33234d13a7c6d1dea2901535d9317e4e1 Author: Matthew Brush Date: Sun May 18 17:31:51 2014 -0700 Include what you use This is a mega-commit - because most of it had to be done in one go otherwise some commits would fail to compile - that attempts to fix a few problems with Geany's includes as well as various other related cleanups. After this change it's easier to use includes and there's little worry about which order things are included in or who includes what. Overview of changes: * Include config.h at the start of each source file if HAVE_CONFIG_H is defined (and never in headers). * Go through each source file and make the includes section generally like this: - Always config.h first as above - Then if the file has a header with the same name, include that - Then include in alphabetical order each other internal/geany header. - Then include standard headers - Then include non-standard system headers - Then include GLib/GTK+ related stuff * Doing as above makes it easier to find implicit header include dependencies and it exposed quite a few weird problems with includes or forward declarations, fix those. * Make geany.h contain not much besides some defines. - Add a little header file "app.h" for GeanyApp and move it there - Move "app" global to new "app.h" file - Move "ignore_callback" global to "callbacks.h" - Move "geany_object" global to "geanyobject.h" * Add an include in "geany.h" for "app.h" since GeanyApp used to be defined there and some plugins included this header to access GeanyApp. * Include "gtkcompat.h" everywhere instead of gtk/gtk.h so that everywhere sees the same definitions (not a problem in practice AFAIK so this could be changed back if better that way. * Remove forward declarations from previous commits as some people apparently consider this bad style, despite that it reduces inter- header dependencies. TODO: * As always, to test on win32 * As always, to test with not Autotools * Test plugins better, both builtin and geany-plugins, likely API/ABI bump * Test with various defines/flags that may change what is included * win32.[ch] not really touched since I couldn't test plugins/geanyplugin.h | 6 ++-- src/Makefile.am | 2 ++ src/about.c | 17 ++++++---- src/app.h | 60 +++++++++++++++++++++++++++++++++++ src/build.c | 38 +++++++++++++---------- src/build.h | 17 +++++----- src/callbacks.c | 71 ++++++++++++++++++++---------------------- src/callbacks.h | 5 +-- src/dialogs.c | 35 ++++++++++----------- src/dialogs.h | 11 +++---- src/document.c | 56 ++++++++++++++++----------------- src/document.h | 33 ++++++++++---------- src/documentprivate.h | 2 +- src/editor.c | 45 ++++++++++++++------------- src/editor.h | 11 +++++-- src/encodings.c | 18 ++++++----- src/encodings.h | 2 +- src/filetypes.c | 27 +++++++++------- src/filetypes.h | 12 +++++-- src/filetypesprivate.h | 4 +-- src/gb.c | 5 ++- src/geany.h | 50 +++++++---------------------- src/geanyentryaction.c | 9 ++++-- src/geanyentryaction.h | 2 +- src/geanymenubuttonaction.c | 7 +++-- src/geanymenubuttonaction.h | 2 +- src/geanyobject.c | 5 ++- src/geanyobject.h | 36 +++++++++++---------- src/geanywraplabel.c | 5 +-- src/geanywraplabel.h | 2 +- src/highlighting.c | 37 +++++++++++----------- src/highlighting.h | 14 +++++---- src/highlightingmappings.h | 5 ++- src/keybindings.c | 45 +++++++++++++-------------- src/keybindings.h | 2 +- src/keybindingsprivate.h | 3 +- src/keyfile.c | 47 +++++++++++++++------------- src/log.c | 13 +++++--- src/main.c | 76 +++++++++++++++++++++------------------------ src/msgwindow.c | 24 +++++++------- src/msgwindow.h | 5 ++- src/navqueue.c | 17 +++++----- src/navqueue.h | 2 ++ src/notebook.c | 23 ++++++++------ src/notebook.h | 7 ++--- src/plugindata.h | 3 +- src/pluginprivate.h | 4 ++- src/plugins.c | 51 ++++++++++++++---------------- src/pluginutils.c | 15 ++++++--- src/pluginutils.h | 3 +- src/prefix.c | 2 -- src/prefs.c | 49 ++++++++++++++--------------- src/printing.c | 24 ++++++++------ src/printing.h | 7 ++--- src/project.c | 34 ++++++++++---------- src/projectprivate.h | 3 +- src/sciwrappers.c | 11 ++++--- src/sciwrappers.h | 7 +++-- src/search.c | 23 ++++++++------ src/search.h | 4 +-- src/sidebar.c | 29 ++++++++--------- src/sidebar.h | 17 +++++----- src/socket.c | 28 ++++++++++------- src/stash.c | 9 +++--- src/stash.h | 2 +- src/symbols.c | 41 +++++++++++++----------- src/symbols.h | 13 ++++---- src/templates.c | 26 ++++++++++------ src/templates.h | 17 +++++----- src/toolbar.c | 20 +++++++----- src/toolbar.h | 2 +- src/tools.c | 28 ++++++++--------- src/tools.h | 7 ++--- src/ui_utils.c | 43 +++++++++++++------------ src/ui_utils.h | 27 ++++++++-------- src/utils.c | 28 ++++++++--------- src/utils.h | 1 + src/vte.c | 30 +++++++++--------- src/vte.h | 2 +- src/win32.c | 3 +- src/win32.h | 2 +- wscript | 2 +- 82 files changed, 827 insertions(+), 705 deletions(-) commit 6f87aac118fac7730fd981d11b41c8438e2f4649 Author: Matthew Brush Date: Sun May 18 17:07:50 2014 -0700 Normalize use of header guards and extern "C" guards * Always define GEANY_FOO_H to 1 in the header guards * Always put a G_BEGIN_DECLS/G_END_DECLS guard in every header for consistency, even private ones where it doesn't matter. * Always include either , or some other header that will provide G_BEGIN_DECLS before using it. In a lot of headers that use glib.h and gtk/gtk.h stuff anyway, this resolves an implicit dependency they had on them being included before that header. * Always put a comment at the #endif part of the guard so it's easier to see what it applies to. * Always use an underscore between the header guard identifier's words even though the filename doesn't have one. src/about.h | 11 ++++++++--- src/build.h | 4 +++- src/callbacks.h | 8 ++++++++ src/dialogs.h | 8 +++++++- src/document.h | 4 +++- src/documentprivate.h | 9 +++++++-- src/editor.h | 3 ++- src/encodings.h | 6 ++++-- src/filetypes.h | 3 ++- src/filetypesprivate.h | 9 +++++++-- src/geany.h | 4 ++-- src/geanyentryaction.h | 4 +++- src/geanymenubuttonaction.h | 4 +++- src/geanyobject.h | 6 +++--- src/geanywraplabel.h | 4 +++- src/gtkcompat.h | 2 +- src/highlighting.h | 7 ++++--- src/highlightingmappings.h | 9 ++++++--- src/keybindings.h | 4 +++- src/keyfile.h | 7 ++++++- src/log.h | 10 ++++++++-- src/main.h | 10 ++++++++-- src/msgwindow.h | 4 +++- src/navqueue.h | 7 +++++-- src/notebook.h | 8 +++++++- src/plugindata.h | 19 ++++++++++--------- src/pluginprivate.h | 9 ++++++--- src/plugins.h | 12 +++++++++--- src/pluginutils.h | 10 +++++++--- src/prefix.h | 7 ++++++- src/prefs.h | 4 +++- src/printing.h | 8 +++++++- src/project.h | 4 +++- src/projectprivate.h | 6 +++++- src/sciwrappers.h | 10 +++++++--- src/search.h | 12 ++++++------ src/sidebar.h | 8 +++++++- src/socket.h | 6 +++++- src/stash.h | 6 ++++-- src/support.h | 5 +++++ src/symbols.h | 8 +++++++- src/templates.h | 4 +++- src/toolbar.h | 6 ++++-- src/tools.h | 8 +++++++- src/ui_utils.h | 2 +- src/utils.h | 6 +++--- src/vte.h | 9 +++++++-- src/win32.h | 11 ++++++++++- 48 files changed, 248 insertions(+), 87 deletions(-) commit fec15c61c4a8e5c1f8054b17d21a599790ed1b5c Author: Matthew Brush Date: Sun May 18 16:20:25 2014 -0700 Move typedefs out of geany.h and into their own headers This helps to avoid the requirement that geany.h be included before using any of the changed headers. src/build.h | 12 ++++++++---- src/dialogs.h | 7 +++++-- src/document.h | 20 ++++++++++++-------- src/editor.h | 16 ++++++++++------ src/filetypes.h | 15 +++++++++------ src/geany.h | 7 ------- src/geanyobject.h | 25 +++++++++++++++---------- src/highlighting.h | 4 +++- src/notebook.h | 5 ++++- src/plugindata.h | 4 +++- src/printing.h | 4 +++- src/search.h | 7 +++++-- src/sidebar.h | 12 +++++++----- src/symbols.h | 11 +++++++---- src/templates.h | 12 ++++++++---- src/tools.h | 5 ++++- src/ui_utils.h | 24 +++++++++++++----------- 17 files changed, 116 insertions(+), 74 deletions(-) commit 23d9cad7dcbc93e5f6cfcc5688bc928692c11bcd Author: Matthew Brush Date: Sun May 18 15:49:22 2014 -0700 Start to make it easier to compile the core in isolation This is for work on making the files scannable by GObject-Introspection but is still useful otherwise (even fixes a FIXME in the comments). I made this by using a simple GNU Make file and trying to compile the sources each on their own without all the build system infrastructure. * Add keybindingsprivate.h file to hold private GeanyKeyGroup structure and remove it from the GEANY_PRIVATE guard in keybindings.h. * Move private members that were guarded by GEANY_PRIVATE from GeanyFiletypes to GeanyFiletypesPrivate and remove guarded build.h include. * Move private members that were guarded by GEANY_PRIVATE from GeanyProject to GeanyProjectPrivate. src/Makefile.am | 11 ++++- src/build.c | 118 +++++++++++++++++++++++------------------------ src/editor.c | 6 +-- src/filetypes.c | 9 ++-- src/filetypes.h | 18 -------- src/filetypesprivate.h | 15 ++++++ src/keybindings.c | 2 +- src/keybindings.h | 14 ------ src/keybindingsprivate.h | 44 ++++++++++++++++++ src/keyfile.c | 1 + src/main.c | 1 + src/plugins.c | 2 +- src/prefs.c | 2 +- src/project.c | 52 ++++++++++----------- src/project.h | 6 --- src/projectprivate.h | 4 ++ src/support.h | 4 +- 17 files changed, 172 insertions(+), 137 deletions(-) commit 3d549f59e8fd325a6e0f08983f67f29127618873 Author: Colomban Wendling Date: Wed May 21 16:13:22 2014 +0200 Fix a sign comparison warning src/socket.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 894207d0e3ed5101f6e97ce82ac10de0aef54134 Author: Colomban Wendling Date: Wed May 21 16:08:38 2014 +0200 Don't use deprecated gdk_get_display() src/socket.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) commit 0a03e414e743fbc82c5b43814a1b88646c0f6026 Author: Frank Lanitz Date: Tue May 20 20:24:16 2014 +0200 Fix a little typo on Dutch translation Fixes a little typo on Dutch translation reported by MarioJC po/nl.po | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit df5edd00322e637e2a673f9ea502092f2b4ee2b9 Author: Colomban Wendling Date: Mon May 19 03:19:09 2014 +0200 Scintilla: fix missing redraws on GTK < 3.9.2 Also, make the recent redraw fixes depend on the GTK version Scintilla is running against, rather than built against. This allows for the same build to work with both GTK < 3.9.2 or >= 3.9.2. scintilla/gtk/ScintillaGTK.cxx | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) commit e566435dfae4e410f65efbb463f682221788354c Merge: f3d96ef9 67329f2b Author: Colomban Wendling Date: Sat May 17 22:23:43 2014 +0200 Merge branch 'scintilla-update-342' This fixes flickering under GTK >= 3.10. commit 67329f2b9860a970cf9afe6bf85b25ef7402df6e Author: Colomban Wendling Date: Sat May 17 22:17:44 2014 +0200 Update for new Scintilla styles The new C styles escapesequence and taskmarker are currently mapped conservatively, and may benefit from a more visible mapping. data/filetypes.c | 2 ++ src/highlighting.c | 6 ++++-- src/highlightingmappings.h | 4 +++- 3 files changed, 9 insertions(+), 3 deletions(-) commit 9bcdd64be9add144cc7cfbb9456797511631e300 Author: Colomban Wendling Date: Sat May 17 22:15:57 2014 +0200 Update Scintilla to 3.4.2 pre-release scintilla/gtk/ScintillaGTK.cxx | 65 ++- scintilla/include/Platform.h | 24 +- scintilla/include/SciLexer.h | 13 + scintilla/include/Scintilla.h | 5 +- scintilla/include/Scintilla.iface | 22 +- scintilla/lexers/LexCPP.cxx | 486 ++++++++++++---- scintilla/lexers/LexHTML.cxx | 8 +- scintilla/lexers/LexLua.cxx | 2 +- scintilla/lexlib/LexerModule.h | 2 +- scintilla/lexlib/PropSetSimple.cxx | 5 - scintilla/scintilla_changes.patch | 3 +- scintilla/src/CallTip.cxx | 63 +- scintilla/src/CharClassify.cxx | 5 - scintilla/src/ContractionState.cxx | 4 + scintilla/src/ContractionState.h | 1 + scintilla/src/Document.cxx | 113 ++-- scintilla/src/Document.h | 20 +- scintilla/src/Editor.cxx | 1121 +++++++++++++++++++----------------- scintilla/src/Editor.h | 11 +- scintilla/src/Indicator.cxx | 72 +-- scintilla/src/LineMarker.cxx | 168 +++--- scintilla/src/PositionCache.cxx | 19 +- scintilla/src/PositionCache.h | 2 +- scintilla/src/RESearch.cxx | 5 - scintilla/src/ScintillaBase.cxx | 59 +- scintilla/src/Selection.cxx | 8 + scintilla/src/Selection.h | 1 + scintilla/src/ViewStyle.cxx | 8 +- scintilla/src/ViewStyle.h | 2 +- scintilla/src/XPM.cxx | 8 +- scintilla/version.txt | 2 +- 31 files changed, 1381 insertions(+), 946 deletions(-) commit 4e0193d8f14ece47fa30ce7239e4e49c482f457b Author: Colomban Wendling Date: Thu May 15 18:08:25 2014 +0200 Zephir: add some tag parser tests tests/ctags/Makefile.am | 2 ++ tests/ctags/return-hint.zep | 14 ++++++++++++++ tests/ctags/return-hint.zep.tags | 5 +++++ tests/ctags/simple.zep | 19 +++++++++++++++++++ tests/ctags/simple.zep.tags | 5 +++++ 5 files changed, 45 insertions(+) commit b1f93c29770a9de30c2172ce7ee6ad5ca981c9a4 Author: Colomban Wendling Date: Thu May 15 17:03:56 2014 +0200 Add Zephir filetype data/Makefile.am | 3 ++- data/filetype_extensions.conf | 1 + data/filetypes.zephir | 24 ++++++++++++++++++++++++ src/filetypes.c | 1 + src/filetypes.h | 1 + src/highlighting.c | 2 ++ src/highlightingmappings.h | 7 +++++++ src/symbols.c | 2 ++ 8 files changed, 40 insertions(+), 1 deletion(-) commit f6068d0e86331e65422bd6542b010f2d2ca08203 Author: Colomban Wendling Date: Thu May 15 16:58:04 2014 +0200 Add a Zephir tag parser This Zephir parser uses the PHP parser with minor tweaking not to require the initial PHP open tag and skip function return type hints. tagmanager/ctags/parsers.h | 3 ++- tagmanager/ctags/php.c | 57 +++++++++++++++++++++++++++++++++++++++------- tagmanager/src/tm_parser.h | 1 + 3 files changed, 52 insertions(+), 9 deletions(-) commit c1aba3862d6c0b240c67b028779af04e8d7c84be Author: Colomban Wendling Date: Thu May 15 16:37:22 2014 +0200 Handle PHPSCRIPT like HTML but for markup cases src/editor.c | 4 ++++ src/highlighting.c | 2 ++ 2 files changed, 6 insertions(+) commit 7aa647b9d3ba412d3afb0ba2b907b0240386b25a Author: Colomban Wendling Date: Thu May 15 16:35:23 2014 +0200 Enable PHPSCRIPT lexer scintilla/scintilla_changes.patch | 2 +- scintilla/src/Catalogue.cxx | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) commit f3d96ef91db976a81b48f34a37ffd7c856dc7527 Author: Colomban Wendling Date: Thu May 15 03:13:11 2014 +0200 Re-generate with Glade 3.8.5 3.8.5 is supposed to fix the unstable file output, hopefully making further edits generate small diffs, not rearranging the whole file for no good reason. Note that this commit may introduce UI problems if the output actually isn't equivalent, the diff making it nearly impossible to review manually. Keep an eye open for such problems. data/geany.glade | 6601 ++++++++++++++++++++++++++---------------------------- 1 file changed, 3144 insertions(+), 3457 deletions(-) commit d8aaa59f9ab506e92f474bd9007127a6dbac016c Author: Colomban Wendling Date: Mon May 12 21:46:09 2014 +0200 Python: fix parsing of variables assigned to triple quoted strings Fixes #262. tagmanager/ctags/python.c | 66 ++++++++++++++++++++---------------------- tests/ctags/bug1906062.py.tags | 1 + 2 files changed, 33 insertions(+), 34 deletions(-) commit 0e5d699a139a8e7e4ed273b9fa248ee53150ac5a Author: Colomban Wendling Date: Mon May 12 21:41:43 2014 +0200 Python: remove a redundant macro tagmanager/ctags/python.c | 2 -- 1 file changed, 2 deletions(-) commit a6b1433e6673d4cdb159818187233f0cde3245e8 Author: Colomban Wendling Date: Wed May 7 16:00:49 2014 +0200 Fix modulo by zero, resulting in FPE Fix modulo zero error resulting in floating point exception, and then crash. This was introduced in fd6ce2da11e9f2d20cb96236753662c23feaecb4. Closes #265. src/keyfile.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit de57548a716045a1bbadac290758759dd1d050ce Author: Colomban Wendling Date: Mon May 5 16:03:25 2014 +0200 Fix a few unlikely corner-case leaks Fix a few leaks that can only happen in case of programming error. Thanks to Pavel Roschin and his cppcheck for spotting them! src/symbols.c | 3 ++- src/templates.c | 3 ++- src/utils.c | 6 +++--- 3 files changed, 7 insertions(+), 5 deletions(-) commit f366150f7a12de1ee591c4c14771510e811fbf26 Author: Colomban Wendling Date: Mon May 5 14:52:05 2014 +0200 Fix return with no value within a function returning non-void (oops) src/editor.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 435d32ad1dc048031319775ff73c21ea5ba889db Author: Colomban Wendling Date: Mon May 5 14:49:26 2014 +0200 Fix duplicate msgids in Japanese translation (oops) 75e10f49fc8b12b5fefc719e0e15e2dfe43eeda3 broke Japanese translation because it had been re-generated since the first recent mnemonic changes, leading for the automatic update in that commit to create duplicate entries. po/ja.po | 28 ++++------------------------ 1 file changed, 4 insertions(+), 24 deletions(-) commit 70ce9d81417fd9cfe23978ca750ad6977c24f998 Author: Colomban Wendling Date: Mon May 5 05:32:52 2014 +0200 Small update of the British English translation for new and updated strings po/en_GB.po | 217 ++++++++++++++++++++++-------------------------------------- 1 file changed, 80 insertions(+), 137 deletions(-) commit 75e10f49fc8b12b5fefc719e0e15e2dfe43eeda3 Author: Colomban Wendling Date: Mon May 5 04:21:39 2014 +0200 Update translations for recent mnemonic and wording fixes There is no need to require the translators to review their translation for these changes as the mnemonics and wordings are specific to the language. The update here will only save translators from having to manually check and and remove the fuzzy marks from those strings. po/ar.po | 44 +++++++++++++++--------------- po/ast.po | 44 +++++++++++++++--------------- po/be.po | 44 +++++++++++++++--------------- po/bg.po | 44 +++++++++++++++--------------- po/ca.po | 44 +++++++++++++++--------------- po/cs.po | 44 +++++++++++++++--------------- po/de.po | 44 +++++++++++++++--------------- po/el.po | 44 +++++++++++++++--------------- po/en_GB.po | 90 ++++++++++++++++++++++++++++++------------------------------- po/es.po | 44 +++++++++++++++--------------- po/et.po | 44 +++++++++++++++--------------- po/eu.po | 44 +++++++++++++++--------------- po/fa.po | 76 +++++++++++++++++++++++++-------------------------- po/fi.po | 44 +++++++++++++++--------------- po/fr.po | 44 +++++++++++++++--------------- po/gl.po | 44 +++++++++++++++--------------- po/he.po | 44 +++++++++++++++--------------- po/hi.po | 44 +++++++++++++++--------------- po/hu.po | 44 +++++++++++++++--------------- po/id.po | 44 +++++++++++++++--------------- po/it.po | 44 +++++++++++++++--------------- po/ja.po | 42 ++++++++++++++--------------- po/kk.po | 44 +++++++++++++++--------------- po/ko.po | 44 +++++++++++++++--------------- po/lb.po | 44 +++++++++++++++--------------- po/lt.po | 44 +++++++++++++++--------------- po/mn.po | 44 +++++++++++++++--------------- po/nl.po | 44 +++++++++++++++--------------- po/nn.po | 44 +++++++++++++++--------------- po/pl.po | 44 +++++++++++++++--------------- po/pt.po | 44 +++++++++++++++--------------- po/pt_BR.po | 44 +++++++++++++++--------------- po/ro.po | 44 +++++++++++++++--------------- po/ru.po | 44 +++++++++++++++--------------- po/sk.po | 44 +++++++++++++++--------------- po/sl.po | 44 +++++++++++++++--------------- po/sr.po | 44 +++++++++++++++--------------- po/sv.po | 44 +++++++++++++++--------------- po/tr.po | 44 +++++++++++++++--------------- po/uk.po | 44 +++++++++++++++--------------- po/vi.po | 44 +++++++++++++++--------------- po/zh_CN.po | 44 +++++++++++++++--------------- po/zh_TW.po | 44 +++++++++++++++--------------- 43 files changed, 983 insertions(+), 985 deletions(-) commit 1e405ce88e8e1f99f442aaed937cab7af99e5f2b Author: Colomban Wendling Date: Mon May 5 05:05:09 2014 +0200 Keep exact menu item string as keybinding label Using the exact same string avoids duplicate translation, and here only mnemonic changes were introduced with commit 95306ac8db4fc38ad7ba7e172328cef5117efaf0. src/keybindings.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) commit 1e50962de2c7afcd132c3c10c2fc7fd6ea7d6a31 Author: Colomban Wendling Date: Mon May 5 02:34:17 2014 +0200 Fix some conflicting mnemonics in the menus data/geany.glade | 32 ++++++++++++++++---------------- src/keybindings.c | 8 ++++---- 2 files changed, 20 insertions(+), 20 deletions(-) commit e61bba1bc36e1fc801685a23f0ea47d7f31aa293 Author: Matt Copperwaite Date: Mon Oct 28 16:03:02 2013 +0000 Reword "replace by tabs/spaces" as "replace with" data/geany.glade | 10 +++++----- doc/geany.html | 8 ++++---- doc/geany.txt | 8 ++++---- src/document.c | 4 ++-- src/keybindings.c | 4 ++-- 5 files changed, 17 insertions(+), 17 deletions(-) commit f94976495d09d3e2b709a51efd6f83577a7eca45 Author: Matthew Brush Date: Thu May 1 17:25:22 2014 -0700 Add more details about menu mnemonics README.I18N | 24 +++++++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) commit 9b6b5f2401a4d20ee3a5aa7300e36b50384e0653 Author: Frank Lanitz Date: Sun May 4 12:05:20 2014 +0200 Adding an HTML5-template in addition to xhtml 1.0 strict one data/Makefile.am | 1 + data/templates/files/file_html5.html | 14 ++++++++++++++ 2 files changed, 15 insertions(+) commit b2ce441fb1ac7c463232d131fde0e58901c7f9b9 Author: Matthew Brush Date: Sat May 3 21:37:41 2014 -0700 Update Vala file template Vala is not Java data/templates/files/main.vala | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) commit f1923c79b43099a9929dcc99aeffda65e72bb1d3 Author: Matthew Brush Date: Sat May 3 21:22:00 2014 -0700 Simulate `main` function in Python data/templates/files/main.py | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) commit 1f67e42b1206165f6a96e0e892f6e3bd604a39a8 Author: Matthew Brush Date: Sat May 3 21:20:18 2014 -0700 Replace tabs with 4 spaces in main.py template data/templates/files/main.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) commit ace6d6b3edca4033e8f012dfe9247a2220b55c4c Author: NiKaro127 Date: Thu Sep 26 10:10:16 2013 +0200 Add VBS extension to FreeBasic syntax Just adding '*.vbs' to 'FreeBasic' line. data/filetype_extensions.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 007d5395c29e89318b52fd70d9b73518fb76dfb3 Author: Igor Shaula Date: Sun Oct 28 00:45:16 2012 +0300 Disable commenting out blank lines by 'Toggle line commentation' src/editor.c | 15 +++++++++------ src/editor.h | 2 +- 2 files changed, 10 insertions(+), 7 deletions(-) commit 53d17aecfd3176dcbc12a537f551f01f060bb268 Author: Colomban Wendling Date: Sat May 3 18:46:29 2014 +0200 CSS: remove some pseudo elements listed as pseudo classes data/filetypes.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 1944e26ee03bc0574769b2563f6ad28fb7581d32 Author: Colomban Wendling Date: Sat May 3 18:45:07 2014 +0200 CSS: fix mappings to non-existing styles data/filetypes.css | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) commit 81114783565b1c8db235f1560bd523795066b5b9 Author: Frank Lanitz Date: Sat May 3 08:25:08 2014 +0200 Update of Japanese translation po/ja.po | 916 ++++++++++++++++++++++++++++++++------------------------------- 1 file changed, 459 insertions(+), 457 deletions(-) commit fd6ce2da11e9f2d20cb96236753662c23feaecb4 Author: Colomban Wendling Date: Sat May 3 00:52:23 2014 +0200 Fix UI updating after loading a project When loading a project and focusing the last document, the UI wouldn't get properly updated for the displayed file -- because for performance reasons we disable notebook page switch handlers when loading session files. Fix this by synthesizing a notebook page switch event when done loading. src/keyfile.c | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) commit 09b2cf159291e87699782d75bc965861351f0e6e Author: Colomban Wendling Date: Fri May 2 21:41:02 2014 +0200 Fix Waf build for recent Doxyfile changes Recent changes to Doxyfile.in added new placeholders the build system has to replace, and Waf recognized them but failed, not knowing what to replace them with. wscript | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) commit e186ba50c0b8b8f824f11c75bc584afe4cc40cdd Merge: cc64ee75 7a5883e2 Author: Colomban Wendling Date: Fri May 2 01:14:39 2014 +0200 Merge branch 'b4n/use-rst2pdf' commit cc64ee7578456105f51c008f5f5a2d43f8d6dd0f Merge: f205c973 a13b033d Author: Colomban Wendling Date: Thu May 1 15:12:42 2014 +0200 Merge branch 'plugin-dialog-cleanup' commit a13b033d424bd25d013518d4c18d20eb681042f4 Author: Colomban Wendling Date: Thu May 1 03:18:04 2014 +0200 Hide column headers in plugin manager dialog They are not very useful and waste both vertical (the headers themselves) and horizontal (first column wider because of title) screen space. src/plugins.c | 1 + 1 file changed, 1 insertion(+) commit f205c97362b26563c221268cfe555c29827456e5 Author: Frank Lanitz Date: Thu May 1 00:35:16 2014 +0200 Update open string on filebrowser plugin to make clearer, that the file will be opened in Geany plugins/filebrowser.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 2b1616d8295c3fb2d02325e353d5fae36f93905e Author: Frank Lanitz Date: Thu May 1 00:21:19 2014 +0200 Update tooltip string for check_cmdline_new_files data/geany.glade | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 95306ac8db4fc38ad7ba7e172328cef5117efaf0 Author: Frank Lanitz Date: Thu May 1 00:07:23 2014 +0200 Try to fix some duplicated accelerators inside Edit->Commands data/geany.glade | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) commit 2be9b551cdf1ac34702cdc14c1695d86964dcd22 Merge: 3f50f357 d58c3445 Author: Enrico Tröger Date: Tue Apr 29 21:55:40 2014 +0200 Merge pull request #249 from b4n/b4n/waf/link-libm Waf: correctly link libm as required commit 3f50f357d358873cd6977f201cc25482b9ec1c58 Author: Frank Lanitz Date: Tue Apr 29 14:13:42 2014 +0200 Adding while to list of SQL keywords data/filetypes.sql | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) commit d58c344585b5fbb4d34a792da41aca7bb6655b93 Author: Colomban Wendling Date: Tue Apr 29 02:03:06 2014 +0200 Waf: correctly link libm as required wscript | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) commit 7a5883e29448c1ffba0b9f6ec083848ec23340f1 Author: Colomban Wendling Date: Mon Apr 28 17:04:46 2014 +0200 Use rst2pdf instead of rst2latex and pdflatex to generate PDF manual doc/Makefile.am | 22 +++++----------------- m4/geany-docutils.m4 | 17 +++++++---------- 2 files changed, 12 insertions(+), 27 deletions(-) commit 16072c9cb5a584ae8227a693b05a9703eaa3660f Merge: 0605a56c 5ff38b4d Author: Colomban Wendling Date: Mon Apr 28 16:40:44 2014 +0200 Merge branch 'ntrel/fix-valid-doc-dox' commit 0605a56c56727a5c246eb06ed85e4ace355c0c29 Author: Colomban Wendling Date: Mon Apr 28 16:38:59 2014 +0200 Enable PDF generation on distcheck Makefile.am | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit db995a37cf8aee7665c8ec5d6beb7ec1221e7609 Author: Colomban Wendling Date: Mon Apr 28 16:38:39 2014 +0200 Don't truncate pdflatex warnings doc/Makefile.am | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 86d2e90d4c4e2bbb0e11130939a0eb79348854ef Author: Colomban Wendling Date: Mon Apr 28 16:38:12 2014 +0200 Fix distchecking with PDF enabled doc/Makefile.am | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) commit 5ff38b4daa332b1d90af991dd369857df3798b70 Author: Nick Treleaven Date: Thu Oct 31 14:14:00 2013 +0000 Fix document pointer documentation Improve clarity and remove wrong documentation about using `is_valid` to check if a document still exists. src/document.c | 15 ++++++++------- src/document.h | 8 +++----- 2 files changed, 11 insertions(+), 12 deletions(-) commit d65c5d107e27079e0e11e92d1182a499ea77245a Author: Nick Treleaven Date: Mon Apr 28 11:57:35 2014 +0100 Replace autoconf directory variables with sed (Windows makefile) doc/makefile.win32 | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) commit 8ee8d8c4f134e8cea167759b60890147197a4c8c Author: Matthew Brush Date: Sun Apr 27 19:15:48 2014 -0700 Unconditionally install HTML manual (oops) doc/Makefile.am | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) commit 29b525797a54ec973caffba819380eebf143fac8 Author: Matthew Brush Date: Sun Apr 27 18:02:39 2014 -0700 Add `--enable-html-docs` to distcheck flags FIXME: `--enable-pdf-docs` not added because I can't make it pass distcheck due to quirks of `pdflatex` (see comments in `doc/Makefile.am`) Makefile.am | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 86cd6c50274ef02da3e6abfb4957e9483b8044a8 Author: Matthew Brush Date: Sun Apr 27 16:49:00 2014 -0700 Use improved Docutils Autotools support FIXME: The `install-html-local` rule might be wrong since it's copying `$(srcdir)/geany.html` instead of `$(builddir)/geany.html` because for some reason generated `geany.html` is checked-in to version control in the source `doc` directory. .gitignore | 5 +++ doc/Makefile.am | 106 ++++++++++++++++++++++++++++++++++++++------------------ 2 files changed, 78 insertions(+), 33 deletions(-) commit 87f57812586dc1045ff9e95874f908fd87307ab3 Author: Matthew Brush Date: Sun Apr 27 15:19:56 2014 -0700 Improve Docutils (and friends) support in Autotools * Add `--enable-html-docs` and `--enable-pdf-docs` arguments (off by default) * Add `RST2HTML`, `RST2LATEX` and `PDFLATEX` to override path to these tools. * Add HTML and PDF doc status messages to configure summary configure.ac | 2 ++ m4/geany-docutils.m4 | 62 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 64 insertions(+) commit 5eb526f9d0385fb62f83425c3ccdc13b3940d17f Author: Colomban Wendling Date: Sun Apr 27 22:36:25 2014 +0200 Improve implementation of utils_str_equal() src/utils.c | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) commit 8befd03b7c4da86d67e2ec61181fa7380e84beb1 Author: Colomban Wendling Date: Sun Apr 27 19:02:31 2014 +0200 Force enabling API docs on distcheck Makefile.am | 1 + 1 file changed, 1 insertion(+) commit 1794be565cc068a2cfa8b3d4273d246026807154 Author: Colomban Wendling Date: Sun Apr 27 18:41:36 2014 +0200 Remove unnecessary $(builddir) prefixes doc/Makefile.am | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) commit bde741ab433e4f4c1e11601940abb3ede6839023 Author: Colomban Wendling Date: Sun Apr 27 18:37:59 2014 +0200 Fix doc/Doxyfile.stamp rule portability $< is only portable in suffix rules, so don't use it there. doc/Makefile.am | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 63a2f075f6c910add7f56e69c9d24b2757aee5fa Merge: d769e51e 5758b9ca Author: Colomban Wendling Date: Sun Apr 27 18:06:01 2014 +0200 Merge branch 'ntrel/doc-macro-examples' commit d769e51e97a5e9f5572b91060e4d1377c56bde1a Author: Colomban Wendling Date: Sun Apr 27 17:49:02 2014 +0200 Fail if Doxygen is enabled but not found m4/geany-doxygen.m4 | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) commit c67caf03a555dc0f2f3b433b5eab649ec19ff189 Author: Nick Treleaven Date: Sun Apr 27 16:39:08 2014 +0100 Fix unsigned >= 0 comparison warning tagmanager/ctags/r.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 916b65b661a505a51f45a6169b7798067a98e76e Author: Nick Treleaven Date: Sun Apr 27 16:38:37 2014 +0100 Fix sign comparison warning src/win32.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) commit 5758b9ca679eb3813c5d8582fe998f76ea507545 Author: Nick Treleaven Date: Sun Apr 27 15:53:18 2014 +0100 Add foreach_document(), documents[] examples src/document.c | 6 ++++-- src/document.h | 20 ++++++++++++++++---- 2 files changed, 20 insertions(+), 6 deletions(-) commit 5475d15b87ad45bfbe266eaddf3ef854dfa3b62b Author: Matthew Brush Date: Sun Apr 27 03:53:59 2014 -0700 Remove comment noise from `doc/plugins.dox` and make it a build depend doc/Makefile.am | 1 + doc/plugins.dox | 712 ++++++++++++++++++++++++++++---------------------------- 2 files changed, 357 insertions(+), 356 deletions(-) commit 747be883cd747ba8556e887c3608c5a3aa6d608e Author: Matthew Brush Date: Sun Apr 27 03:16:48 2014 -0700 Re-enable Markdown support now that major bugs are fixed I went through each link from the API docs and everything seems fine since the extra leading whitespaces were removed in commits `edaa6f713f1b8e037a56652da15032aac56e2227` and `67ae7707364ecc09da8675803b48575d61b82fcf`. doc/Doxyfile.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 206cc158a87d83a4dcb60575aac57f43d880d5c7 Author: Matthew Brush Date: Sun Apr 27 03:06:07 2014 -0700 Remove some redundant path info from `doc/Makefile.am` doc/Makefile.am | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) commit c5cefd20df7743c30b07d9e75a405824db8f4fb8 Author: Matthew Brush Date: Sat Apr 26 23:11:53 2014 -0700 Use improved Doxygen Autotools support .gitignore | 1 + doc/Makefile.am | 26 ++++++++++++++++++++++++-- 2 files changed, 25 insertions(+), 2 deletions(-) commit 595b4459843ad75b353fcb0c6b62f95dc21b2f8e Author: Matthew Brush Date: Sat Apr 26 23:05:22 2014 -0700 Improve Doxygen support in Autotools build system * Add `m4/geany-doxygen.m4` file * Support `DOXYGEN` environment variable setting which Doxygen to use * Support `--enable-api-docs` to activate building Doxygen docs (off by default) configure.ac | 2 ++ m4/geany-doxygen.m4 | 24 ++++++++++++++++++++++++ 2 files changed, 26 insertions(+) commit 93560c5e53317892ea18eeb70cdf128d75e5dd74 Author: Matthew Brush Date: Sat Apr 26 21:15:30 2014 -0700 Support out-of-tree builds by not hardcoding paths doc/Doxyfile.in | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) commit 67ae7707364ecc09da8675803b48575d61b82fcf Author: Colomban Wendling Date: Sun Apr 27 04:31:28 2014 +0200 Strip more double leading spaces doc/pluginsignals.c | 218 +++++++++++++++++++++++++++------------------------- 1 file changed, 113 insertions(+), 105 deletions(-) commit edaa6f713f1b8e037a56652da15032aac56e2227 Author: Colomban Wendling Date: Sun Apr 27 04:08:40 2014 +0200 Strip double leading spaces These are weird and break Doxygen Markdown support. doc/plugins.dox | 344 ++++++++++++++++++++++++++++---------------------------- 1 file changed, 172 insertions(+), 172 deletions(-) commit 82f556d2a5e1962605cc9df357e51443395f176c Author: Colomban Wendling Date: Sun Apr 27 04:05:07 2014 +0200 Disable Markdown support in our Doxyfile At least the "Plugin Writing Guidelines" and "Plugin HowTo" sections are displaying undesirable side effects of Markdown support, so disable it at least for now. doc/Doxyfile.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit bc4e76582b24c822f9acdce242e322d9b529805d Merge: 6cba1e0a b28e5db7 Author: Colomban Wendling Date: Sun Apr 27 02:43:20 2014 +0200 Merge branch 'scriptum/sidebar-middle-button-close' commit b28e5db7ce72965cc5e45da41e2ab8d768b593c1 Author: Pavel Roschin Date: Sat Sep 28 15:56:35 2013 +0400 Close documents in sidebar with middle mouse button src/sidebar.c | 5 +++++ 1 file changed, 5 insertions(+) commit 605ec0b02ec8f563fc683b76f2b5684018bcfa31 Author: Colomban Wendling Date: Fri Apr 25 18:46:14 2014 +0200 Cleanup Plugin Manager dialog Merge "Name" and "Description" columns, and move plugin details to tooltips. src/plugins.c | 168 ++++++++++++++++++++++++++++++---------------------------- 1 file changed, 86 insertions(+), 82 deletions(-) commit 6cba1e0a47794282932383a08c8cd41ce65c1f21 Merge: d775d28c b77e8101 Author: Colomban Wendling Date: Wed Apr 16 18:58:31 2014 +0200 Merge branch '1.24' commit b77e8101996a0e846931346060be9226c5c85219 Author: Colomban Wendling Date: Wed Apr 16 17:19:22 2014 +0200 Re-generate HTML manual doc/geany.html | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) commit b0cdf31d902f9cb6cb43051dd478ce49a6883fad Author: Colomban Wendling Date: Wed Apr 16 17:19:06 2014 +0200 Set release date NEWS | 2 +- doc/geany.1.in | 2 +- doc/geany.txt | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) commit d775d28c226097c24e83e34067b47869d9c33cd3 Author: Colomban Wendling Date: Tue Apr 15 15:47:28 2014 +0200 Small update of the French translation po/fr.po | 699 ++++++++++++++++++++++++++++++++------------------------------- 1 file changed, 357 insertions(+), 342 deletions(-) commit 5217d683caf6b9d747125923c55eaea16515b347 Author: Colomban Wendling Date: Tue Apr 15 15:42:51 2014 +0200 Reword "Detect from file extension" from the open dialog We don't actually detect from file extension only, and other references of the feature always use "Detect from file", so use it also in the open dialog. src/dialogs.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit bb61dfcdc3eef225f7eb61c6c48651b300eb7bbe Author: Colomban Wendling Date: Tue Apr 15 15:30:00 2014 +0200 Add a translation context to the open dialog's "View" button The "View" button string is the same as the View menu one, but one is an action (verb) and the other a noun, and as such might need to be translated differently. src/dialogs.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 45f193a17a8722dce003a05a84b092610f1c0ba7 Merge: aeab183e 420891ae Author: Colomban Wendling Date: Tue Apr 15 15:57:26 2014 +0200 Merge branch 'cleaner-filetype-combo-box' commit aeab183ef2a40943a4b7751a3e5127a5de63749a Merge: a96a2b08 8c5e198c Author: Colomban Wendling Date: Tue Apr 15 15:57:13 2014 +0200 Merge branch 'unified-encoding-combo-boxes' commit 420891ae81b5bd470ba62c9579edd37e7c0e95bd Author: Colomban Wendling Date: Fri Jan 17 22:56:04 2014 +0100 Group filetypes in the Open dialog filetype combo box Display the filetypes in the Open dialog filetype combo box grouped, as they are in the filetypes menu. This makes it easier to select a filetype, because they are better sorted and follows the filetypes menu layout. src/dialogs.c | 125 ++++++++++++++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 113 insertions(+), 12 deletions(-) commit 8c5e198cf12c619596bae2b5976f52c7e52bad80 Author: Colomban Wendling Date: Fri Jan 17 21:56:51 2014 +0100 Unify encoding combo boxes Make all encoding combo box display a list with encodings grouped by categories into sub-menus, making it easier to find the appropriate encoding than in a big single-level list. This is what was used in the Open dialog, but not in the Preferences dialog or the Find in Files dialog. This also makes the encoding combo boxes behave more like the encoding menus. data/geany.glade | 18 +-------- src/dialogs.c | 117 +++---------------------------------------------------- src/encodings.c | 117 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/encodings.h | 9 +++++ src/prefs.c | 47 ++++++++++++---------- src/search.c | 17 ++------ src/symbols.c | 45 ++------------------- src/ui_utils.c | 91 +++++++++++++++++++++++++++++++++++++++++++ src/ui_utils.h | 7 ++++ 9 files changed, 264 insertions(+), 204 deletions(-) commit a851f87a62a970c380469ba7daf707df249d017b Author: Colomban Wendling Date: Tue Apr 15 14:58:36 2014 +0200 Update NEWS NEWS | 3 +++ 1 file changed, 3 insertions(+) commit 64bc67916d9d27c7e4ddb0d0a399cbf157a135cc Author: Matthew Brush Date: Mon Apr 14 19:39:07 2014 -0700 Distribute `geany.gtkrc` and `geany.css` files Maybe they aren't dist'ed if they are in Automake conditional? This probably makes both GTK2 and GTK3 files installed unconditionally. Makefile.am | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) commit 15a2366e361057b26f91c51be8e0dccdf165586e Author: Colomban Wendling Date: Tue Apr 15 14:57:54 2014 +0200 Revision bump NEWS | 3 +++ configure.ac | 2 +- doc/geany.txt | 2 +- geany.exe.manifest | 2 +- geany.nsi | 4 ++-- geany_private.rc | 4 ++-- win32-config.h | 2 +- wscript | 2 +- 8 files changed, 12 insertions(+), 9 deletions(-) commit a96a2b08ce5c70bcb2955ce5b7ee70b60f431117 Author: Colomban Wendling Date: Tue Apr 15 14:41:26 2014 +0200 Cleanup documentation files installation Don't use wildcards to select files to install, nor manually perform the installation when Automake could do it for us. doc/Makefile.am | 54 +++++++++++++++++++++++++++++++++++++----------------- 1 file changed, 37 insertions(+), 17 deletions(-) commit 451d58a2dd8eb0c068b5b24bbf663b4a8ef4b48e Author: Colomban Wendling Date: Tue Apr 15 14:30:00 2014 +0200 Cleanup data files installation Don't use wildcards to select files to install, nor manually perform the installation when Automake could do it for us. Using wildcards makes it hard to know what will really be installed, and may results in installing files not part of the distribution. HACKING | 2 + Makefile.am | 55 +++----------------------- configure.ac | 1 + data/Makefile.am | 116 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 124 insertions(+), 50 deletions(-) commit d11066561e79d3a907b714ae68c37022f8488ccd Merge: 54f3c0a9 157b44f4 Author: Matthew Brush Date: Mon Apr 14 19:50:50 2014 -0700 Merge pull request #242 from codebrainz/dist-gtkrc Distribute `geany.gtkrc` and `geany.css` files commit 157b44f443557f05543a9f4d05322ef1f4f24903 Author: Matthew Brush Date: Mon Apr 14 19:39:07 2014 -0700 Distribute `geany.gtkrc` and `geany.css` files Maybe they aren't dist'ed if they are in Automake conditional? This probably makes both GTK2 and GTK3 files installed unconditionally. Makefile.am | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) commit 54f3c0a904245c7be41d4ed940ecba0250dc725f Merge: 0b4ec549 1abee904 Author: Colomban Wendling Date: Mon Apr 14 20:32:59 2014 +0200 Merge branch 'wip/configurable-mime-type-gicon' commit 1abee90434649c6f84f037021743cb11699f9555 Author: Colomban Wendling Date: Mon Apr 14 20:27:35 2014 +0200 Plug a memory leak src/ui_utils.c | 3 +++ 1 file changed, 3 insertions(+) commit 3ec0369f474935c8d137a44dc3c21ac7054be3b1 Merge: 0b4ec549 01e7fe4b Author: Colomban Wendling Date: Mon Apr 14 20:21:40 2014 +0200 Merge branch 'wip/configurable-mime-type--gicon' into wip/configurable-mime-type-gicon commit 0b4ec549fc02d781a6213fad109f954dcaf28f40 Merge: d32ae832 06068d38 Author: Colomban Wendling Date: Mon Apr 14 16:46:30 2014 +0200 Merge branch 'scintilla-update-341' commit 06068d38d8d49f365c8b1c3ee3de6df08a04998d Author: Colomban Wendling Date: Mon Apr 14 16:37:29 2014 +0200 Fix a typo in the update script scripts/update-scintilla.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 9a41f919c17ab0fffd11e4979a75ec562e01d4d2 Author: Colomban Wendling Date: Mon Apr 14 16:36:05 2014 +0200 Update mappings for new Scintilla data/filetypes.c | 1 + data/filetypes.freebasic | 6 +++++- src/highlighting.c | 6 +++++- src/highlightingmappings.h | 5 +++++ 4 files changed, 16 insertions(+), 2 deletions(-) commit b81c35e4e3a6fd8fb780d67f2f4783ffe3761eaf Author: Colomban Wendling Date: Mon Feb 3 14:19:21 2014 +0100 Fix const promotion with updated Scintilla src/editor.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) commit 6c5a0dd7179b3f0ff183134059d596632a52e9cb Author: Colomban Wendling Date: Mon Apr 14 16:25:01 2014 +0200 Update Scintilla to version 3.4.1 scintilla/Makefile.am | 1 + scintilla/gtk/Converter.h | 4 +- scintilla/gtk/PlatGTK.cxx | 38 ++-- scintilla/gtk/ScintillaGTK.cxx | 50 +++-- scintilla/include/Platform.h | 12 +- scintilla/include/SciLexer.h | 19 +- scintilla/include/Scintilla.h | 42 ++-- scintilla/include/Scintilla.iface | 142 +++++++----- scintilla/lexers/LexAbaqus.cxx | 15 -- scintilla/lexers/LexAsm.cxx | 13 +- scintilla/lexers/LexBash.cxx | 9 +- scintilla/lexers/LexBasic.cxx | 92 ++++++-- scintilla/lexers/LexCPP.cxx | 44 +++- scintilla/lexers/LexCmake.cxx | 14 +- scintilla/lexers/LexForth.cxx | 9 - scintilla/lexers/LexFortran.cxx | 235 ++++++++++--------- scintilla/lexers/LexHTML.cxx | 29 +-- scintilla/lexers/LexMarkdown.cxx | 8 +- scintilla/lexers/LexMatlab.cxx | 13 +- scintilla/lexers/LexOthers.cxx | 3 +- scintilla/lexers/LexPerl.cxx | 2 +- scintilla/lexers/LexSQL.cxx | 2 +- scintilla/lexers/LexTxt2tags.cxx | 8 +- scintilla/lexers/LexVHDL.cxx | 2 +- scintilla/lexlib/Accessor.h | 2 +- scintilla/lexlib/CharacterCategory.cxx | 3 +- scintilla/lexlib/LexAccessor.h | 7 +- scintilla/lexlib/LexerModule.cxx | 2 +- scintilla/lexlib/LexerSimple.h | 2 +- scintilla/lexlib/PropSetSimple.cxx | 4 +- scintilla/lexlib/SparseState.h | 2 +- scintilla/lexlib/StringCopy.h | 36 +++ scintilla/lexlib/StyleContext.h | 4 +- scintilla/lexlib/SubStyles.h | 2 +- scintilla/lexlib/WordList.cxx | 10 +- scintilla/lexlib/WordList.h | 2 +- scintilla/scintilla_changes.patch | 8 +- scintilla/src/AutoComplete.cxx | 14 +- scintilla/src/AutoComplete.h | 6 +- scintilla/src/CallTip.cxx | 8 +- scintilla/src/CaseConvert.cxx | 12 +- scintilla/src/CellBuffer.cxx | 4 + scintilla/src/CellBuffer.h | 4 +- scintilla/src/Decoration.h | 2 +- scintilla/src/Document.cxx | 8 +- scintilla/src/Document.h | 14 +- scintilla/src/Editor.cxx | 400 +++++++++++++++++---------------- scintilla/src/Editor.h | 23 +- scintilla/src/ExternalLexer.cxx | 8 +- scintilla/src/ExternalLexer.h | 10 +- scintilla/src/FontQuality.h | 3 + scintilla/src/KeyMap.cxx | 21 +- scintilla/src/KeyMap.h | 18 +- scintilla/src/LineMarker.cxx | 47 ++-- scintilla/src/Partitioning.h | 4 +- scintilla/src/PerLine.cxx | 8 +- scintilla/src/PositionCache.cxx | 54 ++++- scintilla/src/PositionCache.h | 7 +- scintilla/src/RESearch.cxx | 36 +-- scintilla/src/RESearch.h | 2 +- scintilla/src/ScintillaBase.cxx | 28 ++- scintilla/src/ScintillaBase.h | 1 + scintilla/src/Selection.cxx | 17 +- scintilla/src/Selection.h | 5 +- scintilla/src/SplitVector.h | 4 +- scintilla/src/UniConversion.cxx | 2 +- scintilla/src/ViewStyle.cxx | 14 +- scintilla/src/ViewStyle.h | 4 +- scintilla/src/XPM.cxx | 10 +- scintilla/src/XPM.h | 9 +- scintilla/version.txt | 2 +- 71 files changed, 1015 insertions(+), 684 deletions(-) commit d32ae832022361bbe14cb133fe0fd104d83166a8 Author: Colomban Wendling Date: Mon Apr 14 02:38:50 2014 +0200 Apply filetype-specific indentation settings for newly opened files Fix the check enabling filetype-specific indentation settings to also pass if the document has no filetype set yet, e.g. when opening it. src/document.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 8f713377c403e6b0368ff1aae918876f756c1564 Merge: 24f2363f 75542c6d Author: Colomban Wendling Date: Sun Apr 13 20:07:26 2014 +0200 Merge branch '1.25/safer-plugin_signal_connect' commit 75542c6d3c51663a0c23243a8c7cf2555fa12858 Author: Colomban Wendling Date: Fri Apr 11 23:04:14 2014 +0200 Add defensive checks on plugin_signal_connect()'s sensitive arguments src/pluginutils.c | 3 +++ 1 file changed, 3 insertions(+) commit 27a073f1a65c60e0568a5b379a6eaad385c717b0 Author: Colomban Wendling Date: Fri Apr 11 22:56:30 2014 +0200 Make plugin_signal_connect() safe on any object Watch the lifetime of objects referenced in plugin->signal_ids and remove our references to them if they get destroyed. This avoids possibly trying to disconnect signals on destroyed objects when the plugin is unloaded. Supporting this case is safer, and is useful for objects that may or may not outlive the plugin (like ScintillaObjects), because in such cases plugin_signal_connect() is handy to make sure the signals are disconnected if the object is still alive, but used to crash if the object was destroyed. src/plugindata.h | 2 +- src/pluginprivate.h | 3 +++ src/plugins.c | 34 ++++++++++++++++++++++++++++++++++ src/pluginutils.c | 11 +++++++++-- 4 files changed, 47 insertions(+), 3 deletions(-) commit 24f2363fb702ac5e8b87fc16b5b30d761abd4fb9 Author: Colomban Wendling Date: Sun Apr 13 19:33:23 2014 +0200 Post release version bump Say hello to Geany 1.25 "Veed"! NEWS | 3 +++ configure.ac | 2 +- doc/geany.txt | 2 +- geany.exe.manifest | 2 +- geany.nsi | 4 ++-- geany_private.rc | 4 ++-- src/geany.h | 2 +- win32-config.h | 2 +- wscript | 2 +- 9 files changed, 13 insertions(+), 10 deletions(-) commit 1514993a6a8a86e8ee464a12751c262ee14930d4 Author: Colomban Wendling Date: Sun Apr 13 18:02:49 2014 +0200 Fix generating distcheck on clean sources There is no point in runner.sh depending on the generated Geany executable, and this breaks running `make distcheck` before building the sources, as the Geany executable doesn't exist yet. tests/ctags/Makefile.am | 2 -- 1 file changed, 2 deletions(-) commit d28fb783c7def3b195465e645735c9816c6a91d3 Author: Colomban Wendling Date: Sun Apr 13 18:00:50 2014 +0200 Re-generate HTML manual doc/geany.html | 169 +++++++++++++++++++++++++++++++++++++-------------------- 1 file changed, 109 insertions(+), 60 deletions(-) commit 6f56bdd32da5d63daa9cc953a0f301a78b2073bf Author: Colomban Wendling Date: Sun Apr 13 18:00:39 2014 +0200 Set release date NEWS | 2 +- doc/geany.1.in | 2 +- doc/geany.txt | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) commit ec3cc4dcbe789d304746a8804afd7ccc68f4c4c2 Author: Colomban Wendling Date: Sun Apr 13 17:26:53 2014 +0200 Add a few more bug references in NEWS NEWS | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) commit 33cbd11a0f070c676adee771617120325c9b683f Merge: d52a918e 187e06bc Author: Enrico Tröger Date: Sun Apr 13 17:17:08 2014 +0200 Merge branch 'master' of github.com:geany/geany commit d52a918e3e626715b89bd894ef0b102246abd895 Author: Enrico Tröger Date: Sun Apr 13 17:16:56 2014 +0200 Add missing items, remove duplicates and fix typos NEWS | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) commit 187e06bcb1c8b604b8a5665a58401ecbd6e9b9ff Author: Colomban Wendling Date: Sun Apr 13 16:19:32 2014 +0200 Use proper argument lists src/main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 3533584d1e642ee6ff2ce724582ccb59fff13017 Author: Enrico Tröger Date: Sun Apr 13 16:02:14 2014 +0200 Add eht16's changes These are way too few changes from me over a one-year period :(. NEWS | 7 +++++++ 1 file changed, 7 insertions(+) commit 00fbbced252a2fba9427b3fe068dc1c17c4d136b Author: Colomban Wendling Date: Sun Apr 13 15:50:48 2014 +0200 Add some missing NEWS items NEWS | 3 +++ 1 file changed, 3 insertions(+) commit 725cf3ea5b2a3bb32deac1c868afe5c54ae97c57 Author: Colomban Wendling Date: Sun Apr 13 15:32:18 2014 +0200 Update NEWS for missing translation updates NEWS | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 8fe9fa68c110a395e2651e21f79810ea94901b1f Author: Colomban Wendling Date: Sun Apr 13 00:54:11 2014 +0200 Update displayed copyright years README | 2 +- doc/geany.html | 2 +- doc/geany.txt | 2 +- geany.nsi | 2 +- geany_private.rc | 2 +- po/ar.po | 2 +- po/ast.po | 2 +- po/be.po | 2 +- po/bg.po | 2 +- po/ca.po | 4 ++-- po/cs.po | 4 ++-- po/de.po | 4 ++-- po/el.po | 2 +- po/en_GB.po | 2 +- po/es.po | 4 ++-- po/et.po | 4 ++-- po/eu.po | 4 ++-- po/fa.po | 2 +- po/fi.po | 4 ++-- po/fr.po | 4 ++-- po/gl.po | 4 ++-- po/he.po | 4 ++-- po/hi.po | 2 +- po/hu.po | 4 ++-- po/id.po | 2 +- po/it.po | 4 ++-- po/ja.po | 4 ++-- po/kk.po | 4 ++-- po/ko.po | 2 +- po/lb.po | 2 +- po/lt.po | 4 ++-- po/mn.po | 2 +- po/nl.po | 2 +- po/nn.po | 2 +- po/pl.po | 2 +- po/pt.po | 4 ++-- po/pt_BR.po | 4 ++-- po/ro.po | 2 +- po/ru.po | 4 ++-- po/sk.po | 4 ++-- po/sl.po | 4 ++-- po/sr.po | 4 ++-- po/sv.po | 4 ++-- po/tr.po | 4 ++-- po/uk.po | 2 +- po/vi.po | 2 +- po/zh_CN.po | 4 ++-- po/zh_TW.po | 2 +- src/about.c | 2 +- 49 files changed, 73 insertions(+), 73 deletions(-) commit e802194ad395201cfddf6fd1548446244f2748f3 Author: Enrico Tröger Date: Sun Apr 13 15:14:35 2014 +0200 Re-add the previous workaround to remember the directory Geany was started from My previous fix (e1ce9cfbec) didn't fix all possible use cases (opening files from CLI when starting Geany). This one should close the gap. src/main.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) commit 9462367afcd9a8757e58a3387ce76e0b913dabce Author: Frank Lanitz Date: Sun Apr 13 14:44:55 2014 +0200 Fix a little typo on NEWS NEWS | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit cfe43e297930a4f4a59f25f1b737901a4f914fc9 Author: Enrico Tröger Date: Sun Apr 13 11:34:58 2014 +0200 Add colorschemes from the geany-themes project if available geany.nsi | 2 ++ 1 file changed, 2 insertions(+) commit e5eb69b20c103925a8a6494f5f4fc4d4ce8b978e Author: Enrico Tröger Date: Sun Apr 13 11:00:56 2014 +0200 Add linker flags -static-libgcc and -static-libstdc++ on Windows This seems necessary with newer gcc versions to not require libgcc*.dll libraries on runtime. wscript | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) commit 9f294c25c316ef7165f1f0f75882f3ba8be9d608 Author: Enrico Tröger Date: Sun Apr 13 10:43:55 2014 +0200 Add --no-scm configure option to bypass SCM detection wscript | 6 ++++++ 1 file changed, 6 insertions(+) commit 6fce95cb10ab4ea57da33a224d181dcc0732509c Author: Frank Lanitz Date: Sat Apr 12 20:11:28 2014 +0200 Update list of updated translation of NEWS file NEWS | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit fc942f607d51083f94996e5a5f7cfddfd6612ca1 Merge: 14828335 929c7f74 Author: Frank Lanitz Date: Sat Apr 12 19:55:14 2014 +0200 Merge pull request #241 from kgkilo/master Updated Hungarian translation commit 148283356d0bde15925af4a613bb878829a576ea Author: Colomban Wendling Date: Sat Apr 12 16:17:52 2014 +0200 Fix a missing cast (oops) src/document.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 3cf35f24c535f46dd549f4636b523ce8e48af5ec Author: Colomban Wendling Date: Sat Apr 12 15:59:07 2014 +0200 Fix possible crash on quit When quitting, we still have to destroy the Scintilla widget to avoid any possibility for us to receive signals from it after we destroyed the associated editor and/or document (used in signal handlers). I myself don't suffer from the issue, but it is theoretically possible for Scintilla to emit signals anytime before it is destroyed, so it is safer like this anyway. And an user on IRC suffered from crashes on quit because of this issue, so it seems to actually happen in some situations. src/document.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) commit 929c7f7402d7b2da192673dc5859539da8c9d9e6 Author: kilo aka Gabor Kmetyko Date: Sat Apr 12 00:38:46 2014 +0200 Updated Hungarian translation po/hu.po | 1693 ++++++++++++++++++++++++++++---------------------------------- 1 file changed, 752 insertions(+), 941 deletions(-) commit f74b4ed494f467b0f2fd58ecbb7b1995ec38758a Author: Frank Lanitz Date: Fri Apr 11 23:29:51 2014 +0200 Update of Portuguese translation NEWS | 2 +- po/pt.po | 1106 +++++++++++++++++--------------------------------------------- 2 files changed, 305 insertions(+), 803 deletions(-) commit 95edb95a38dad3755a0b6fd5820b82d25c021f8f Author: Colomban Wendling Date: Fri Apr 11 22:47:10 2014 +0200 Add a warning about using plugin_signal_connect() on short-lived objects src/pluginutils.c | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) commit e656043874c922ce88886ca5fe47980f029fc0d7 Author: Enrico Tröger Date: Fri Apr 11 00:07:33 2014 +0200 Add a new section to the Windows installer to install header files geany.nsi | 12 ++++++++++++ 1 file changed, 12 insertions(+) commit 82842b230b06e87b15069ccc0384d06cdee22d2e Author: Enrico Tröger Date: Fri Apr 11 00:06:29 2014 +0200 Install header files and geany.pc also on Windows wscript | 35 +++++++++++++++++------------------ 1 file changed, 17 insertions(+), 18 deletions(-) commit 3d403b6d9fe9231190dd332ee0143a07b89c1886 Author: Pavel Roschin Date: Thu Apr 10 22:27:30 2014 +0400 Update of Russian translation po/ru.po | 185 +++++++++++++++++++++------------------------------------------ 1 file changed, 61 insertions(+), 124 deletions(-) commit 6834c3458cce0477e7e830b24c70ba448f6002e9 Merge: e1ce9cfb 2cde2cc5 Author: Enrico Tröger Date: Thu Apr 10 22:25:50 2014 +0200 Merge branch 'master' of https://github.com/geany/geany commit e1ce9cfbecf432f8033ecf15322c2b273d377c34 Author: Enrico Tröger Date: Thu Apr 10 22:24:15 2014 +0200 Change the working directory on Windows properly On Windows we need to change the working directory on startup to not lock the directory Geany was started from (bug #2626124). However we can't change the directory to late in the startup process otherwise plugins maybe unable to load resources from the installation directory. Though we also can't change it too early otherwise opening files given with relative paths in Geany from the command line won't work anymore (bug #3613096). This change should fix both issues by changing the working directory after command line file handling happened and before plugins will be loaded. src/main.c | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) commit 2cde2cc5f7bebed99af8830667ac9483a42d53d6 Author: Frank Lanitz Date: Thu Apr 10 22:21:15 2014 +0200 Adding tr update to NEWS file NEWS | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) commit fd660e4dd84273ebd77d34d5c99e383b70cfecae Author: Frank Lanitz Date: Thu Apr 10 22:16:03 2014 +0200 Update of Turkish translation po/tr.po | 163 ++++++++++++++++++++++++--------------------------------------- 1 file changed, 61 insertions(+), 102 deletions(-) commit 9ea8b9d11afa2ecc17775ef3ddd347a3a823457c Author: Colomban Wendling Date: Thu Apr 10 17:31:29 2014 +0200 Fix conflicting mnemonics in the French translation po/fr.po | 56 ++++++++++++++++++++++++++++---------------------------- 1 file changed, 28 insertions(+), 28 deletions(-) commit 9f4ef363f2fc86780f98ad4bf5bea98af8ad8048 Author: Colomban Wendling Date: Thu Apr 10 14:13:56 2014 +0200 Html chars: fix translation of category names Although the strings were properly marked for translation, they weren't actually translated because they missed run-time replacement. plugins/htmlchars.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 264d2ad6bdbece309aa0d7e47e50202cfb674174 Author: Frank Lanitz Date: Thu Apr 10 09:12:50 2014 +0200 Add Dutch translation update to NEWS NEWS | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit f0a12433e3ca2b1ef39a55d5e57192d1b66137c8 Merge: aff07fb2 55034a35 Author: Frank Lanitz Date: Thu Apr 10 09:11:46 2014 +0200 Merge pull request #239 from peter-scholtens/master Update nl.po commit aff07fb2dc31a36524e89634125ae31f49713f43 Author: Colomban Wendling Date: Wed Apr 9 23:13:30 2014 +0200 French translation update po/fr.po | 83 +++++++++++++++++++++++++++------------------------------------- 1 file changed, 35 insertions(+), 48 deletions(-) commit 55034a358e17acc3d46b069f3cb4705d877f93ca Author: Peter Scholtens Date: Wed Apr 9 22:49:18 2014 +0200 Update nl.po First contrib in Github po/nl.po | 143 +++++++++++++++++++++++---------------------------------------- 1 file changed, 52 insertions(+), 91 deletions(-) commit 90658b2a82453242b2404468c9887067261027a5 Author: Frank Lanitz Date: Wed Apr 9 22:10:22 2014 +0200 Update of Russian translation po/ru.po | 48 +++++++++++++++++++++++++----------------------- 1 file changed, 25 insertions(+), 23 deletions(-) commit 6a432d2a9b6907ec49172c12dec2a4d113204bc3 Author: Frank Lanitz Date: Wed Apr 9 19:02:58 2014 +0200 Update NEWS with recent translation updates NEWS | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit c7b1a7a659870dca642203b050eafc37d3d910fa Author: Frank Lanitz Date: Wed Apr 9 19:01:22 2014 +0200 Update of Kazakh translation po/kk.po | 245 +++++++++++++++++++++++++++------------------------------------ 1 file changed, 105 insertions(+), 140 deletions(-) commit fb9da9714cbc1d81e9fd67d2410e85816ed3774a Author: Frank Lanitz Date: Wed Apr 9 18:58:36 2014 +0200 Update of Catalan translation po/ca.po | 182 ++++++++++++++++++++++++--------------------------------------- 1 file changed, 70 insertions(+), 112 deletions(-) commit de2eaa38abb982ab1539950ac4256359199f028c Author: Colomban Wendling Date: Wed Apr 9 18:14:36 2014 +0200 Update NEWS NEWS | 6 ++++++ 1 file changed, 6 insertions(+) commit f8564585e65acbc0700d6406a84fb4ea0fba5002 Merge: e135da8a 85af6532 Author: Colomban Wendling Date: Wed Apr 9 18:08:17 2014 +0200 Merge branch 'export/fixes' commit 85af65323b33df5a6cbbd40fb5df651df5a249c9 Author: Colomban Wendling Date: Wed Apr 9 16:48:10 2014 +0200 Export: escape file name in case it contains HTML control characters plugins/export.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) commit 1032d0fc68fa8cf3005d00fc2579b1e79f84c751 Author: Colomban Wendling Date: Wed Apr 9 15:18:15 2014 +0200 Export: use `DOC_FILENAME()` instead of re-implementing it manually plugins/export.c | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) commit 527dee720362a20063b730cbcad97f184c636f17 Author: Colomban Wendling Date: Wed Apr 9 15:05:44 2014 +0200 Export: fix LaTeX export for more than 2 consecutive '-', '<' or '>' Fix escaping of '-', '<' and '>' characters to properly handle inputs with more than 2 consecutive identical characters of this set. plugins/export.c | 40 +++++++--------------------------------- 1 file changed, 7 insertions(+), 33 deletions(-) commit 874c822328ed046cb15b4fe2d3dc7839eeac2b94 Author: Colomban Wendling Date: Wed Apr 9 15:01:50 2014 +0200 Export: don't include unused, random styles Fix the bounds checking on included styles only to check for inclusion actually defined styles, not to include random styles based on uninitialized array indices. plugins/export.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 4eb8205f5605e680f83ce062e7d03fcf2bc26c3e Author: Colomban Wendling Date: Wed Apr 9 14:44:26 2014 +0200 Export: don't try to read past the document end A faulty bound checking resulted in reading a byte past the document end, which resulted in Scintilla returning byte 0 because the position was invalid. By adding this NUL byte to the string used to build the body, the body was truncated after the last document byte (as C strings are NUL-terminated), leading to any format structure after it to be missing from the output. This broke HTML and LaTeX export if the last line didn't end with a newline, as the last line's style closing structure were missing. plugins/export.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit e135da8a79fa2a96d836b18159b535d0f7294ecd Author: Colomban Wendling Date: Wed Apr 9 02:57:10 2014 +0200 Fix replacing colors with "0x" prefix with length different than 6 We used to assume that if the selected text started with "0x" when inserting a color, we had to replace exactly 6 bytes after the "0x" prefix. Although this is generally the case as most color formats use 6 hexadecimal digits, it still would erase either too many or too few characters if actually replacing something shorter (i.e. "0xfff") or longer (i.e. "0xffffffffffff"). It could even partially override multi-byte characters if the 8th byte after the selection start was in the middle of a character, as the length was in bytes and not characters. Fix this by honoring the actual selection end. src/editor.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) commit ab6390fc8cd49bea62a94e9efcd9b30e9e1b61c8 Author: Colomban Wendling Date: Tue Apr 8 14:50:15 2014 +0200 Update NEWS with newer changes NEWS | 31 ++++++++++++++++++++++++++++--- 1 file changed, 28 insertions(+), 3 deletions(-) commit d7e3d4247f244611a5150c87a6726b242b52c990 Author: Frank Lanitz Date: Mon Apr 7 22:16:30 2014 +0200 Update of Galician translation by José Manuel Castroagudín Silva po/gl.po | 1733 +++++++++++++++++++++++++++----------------------------------- 1 file changed, 763 insertions(+), 970 deletions(-) commit bd811b96cad7f700a97e30eb0ede279dad55c8c2 Author: Enrico Tröger Date: Sun Apr 6 21:52:17 2014 +0200 Change include order on Windows As suggested by a preprocessor warning from winsock2.h (i686-w64-mingw32/include/winsock2.h:15:2: warning: #warning Please include winsock2.h before windows.h). src/socket.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 20547265e601b72330b705e0ef9339990c5354f9 Author: Enrico Tröger Date: Sun Apr 6 21:43:17 2014 +0200 Add /waf-* to exclude Waf on Windows .gitignore | 2 ++ 1 file changed, 2 insertions(+) commit d9fca40de33f45a420fec1230ad12264e9fc24a9 Author: Enrico Tröger Date: Sun Apr 6 21:40:56 2014 +0200 Include missing header It seems this header is necessary on Windows 7 or newer gcc versions (not sure which one requires it) but according to the docs, it is necessary anyways. src/win32.c | 1 + 1 file changed, 1 insertion(+) commit b31e66d32192db2ecff12c09c3d81506ed3280dd Author: gymka Date: Sun Apr 6 08:42:21 2014 +0300 updated lithuanian translation po/lt.po | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) commit e94d162d300adb465bcc7dcd41bc8c584c3eec61 Merge: 16d9bbb2 e4c6aa3d Author: Colomban Wendling Date: Wed Apr 2 19:56:24 2014 +0200 Merge branch 'SiegeLord/rust_updates' commit e4c6aa3d9ca9a4814b207cadb9b7f4ffab142395 Author: SiegeLord Date: Wed Apr 2 13:41:40 2014 -0400 Rust: Add a test for leading 'priv'. tests/ctags/test_input.rs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) commit e89c4af47cc71f7dcf61e6069629dee0a03c3895 Author: SiegeLord Date: Wed Apr 2 13:05:57 2014 -0400 Rust: Add some more syntax examples to the CTags test file. Also, made it compile again. tests/ctags/test_input.rs | 6 ++++-- tests/ctags/test_input2.rs | 4 +++- 2 files changed, 7 insertions(+), 3 deletions(-) commit 530d047c9d80f1abc7b71e29b10bd89cfe11ad63 Author: SiegeLord Date: Tue Apr 1 21:22:38 2014 -0400 Rust: Skip 'pub' keyword in front of struct fields. tagmanager/ctags/rust.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) commit ff796360ce9b9f95cf562566051d02c06aa6cfa5 Author: SiegeLord Date: Sun Mar 23 13:50:53 2014 -0400 Rust: Update keywords data/filetypes.rust | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 2a80759a3aa323ab393e79864bfec0c35b0f6afb Author: SiegeLord Date: Sun Mar 23 13:40:12 2014 -0400 Rust: Update ctags tests. Also, make them compile again with the Rust compiler. tests/ctags/test_input.rs | 24 +++++++++++++++++++++++- tests/ctags/test_input.rs.tags | 7 +++++++ tests/ctags/test_input2.rs | 2 ++ 3 files changed, 32 insertions(+), 1 deletion(-) commit 478534e63523b5d7b3998b7b56c82b62600a45ea Author: SiegeLord Date: Tue Mar 25 18:04:06 2014 -0400 Rust: Allow [] delimeters for macros. New Rust syntax. tagmanager/ctags/rust.c | 27 +++++++++++++++------------ 1 file changed, 15 insertions(+), 12 deletions(-) commit 2bde26b2027d683619a8c6013db8d63a92291a75 Author: SiegeLord Date: Sun Mar 23 12:44:17 2014 -0400 Rust: Fix parsing of attributes in structs/enums. Previously, things like: struct Foo { #[bar] baz: int } or struct Foo { #![bar] baz: int } would horribly confuse the parser and prevent proper parsing of the rest of the file. tagmanager/ctags/rust.c | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) commit 52a179dce1717a673e8b4e57d507adea2fca6b59 Author: SiegeLord Date: Sun Mar 23 12:21:22 2014 -0400 Rust: Fix parsing of function pointer struct fields. Previously, skipUntil was confused by the -> token. tagmanager/ctags/rust.c | 9 +++++++++ 1 file changed, 9 insertions(+) commit 16d9bbb26739bb14947fe25cb57de08a5c19e62f Merge: 4b6e27c5 98be8b1c Author: Frank Lanitz Date: Tue Apr 1 21:45:21 2014 +0200 Merge pull request #236 from federeghe/translate Update Italian translation commit 98be8b1cf3696e88e8e545babfdd9d9ccadd8926 Author: federeghe Date: Tue Apr 1 21:35:15 2014 +0200 Updated Italian translation po/it.po | 20 +++++++------------- 1 file changed, 7 insertions(+), 13 deletions(-) commit 4b6e27c5166434dbf745b2287d1fd71cd6fa88b3 Author: Yosef Or Boczko Date: Tue Apr 1 00:40:13 2014 +0300 Updated Hebrew translation po/he.po | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) commit ea53365b813b967d06d797b0ce9a428207b2fd45 Merge: 60af2f1b 726ee2b3 Author: Frank Lanitz Date: Tue Apr 1 11:28:14 2014 +0200 Merge pull request #235 from xhacker/zh_CN Update zh_CN.po commit 726ee2b372ddba08092d96f06d363ea526ec6c42 Author: LIU Dongyuan / 柳东原 Date: Mon Mar 31 17:37:45 2014 -0700 Update zh_CN.po po/zh_CN.po | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) commit 60af2f1bcd2d8847af5f73176a6e456c6855fe59 Author: Frank Lanitz Date: Mon Mar 31 20:53:08 2014 +0200 Update NEWS files for more updated translations NEWS | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 8e06d0dc1de7861f849ba7a064fb47e394dd6060 Author: Frank Lanitz Date: Mon Mar 31 20:52:03 2014 +0200 Update of Spnaish translation po/es.po | 163 +++++++++++++++++++++++---------------------------------------- 1 file changed, 60 insertions(+), 103 deletions(-) commit aed357254ca3f10febe3d07fca017e563660c46f Author: Stanislav Horáček Date: Mon Mar 31 19:07:45 2014 +0200 Updated Czech translation po/cs.po | 52 +++++++++++++++++++++++----------------------------- 1 file changed, 23 insertions(+), 29 deletions(-) commit cf3da8c661a293167880281a188bd5b7715ba337 Author: Frank Lanitz Date: Sun Mar 30 20:52:21 2014 +0200 Update NEWS files for more updated translations NEWS | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit c6e3c578ad1e822053e0a9398b5b111f5199b827 Author: Frank Lanitz Date: Sun Mar 30 20:51:36 2014 +0200 Update of German translation po/de.po | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) commit 3b56809a45f5c563902f2ffcc7b468973a8f0881 Author: Frank Lanitz Date: Sun Mar 30 20:49:21 2014 +0200 Update of po files for string freeze of Geany 1.24 po/ar.po | 1951 +++++++++++++------------ po/ast.po | 1974 +++++++++++++------------ po/be.po | 1973 +++++++++++++------------ po/bg.po | 1963 +++++++++++++------------ po/ca.po | 4530 ++++++++++++++++++++++++++++++--------------------------- po/cs.po | 1982 +++++++++++++------------ po/de.po | 16 +- po/el.po | 1963 +++++++++++++------------ po/en_GB.po | 1978 +++++++++++++------------ po/es.po | 4268 ++++++++++++++++++++++++++++-------------------------- po/et.po | 1968 +++++++++++++------------ po/eu.po | 1962 +++++++++++++------------ po/fa.po | 1977 +++++++++++++------------ po/fi.po | 1982 +++++++++++++------------ po/fr.po | 945 ++++++------ po/gl.po | 3214 ++++++++++++++++++++++------------------- po/he.po | 12 +- po/hi.po | 1891 ++++++++++++------------ po/hu.po | 3176 +++++++++++++++++++++------------------- po/id.po | 1978 +++++++++++++------------ po/it.po | 335 +++-- po/ja.po | 1986 +++++++++++++------------ po/kk.po | 1962 +++++++++++++------------ po/ko.po | 1960 +++++++++++++------------ po/lb.po | 1977 +++++++++++++------------ po/lt.po | 16 +- po/mn.po | 1924 +++++++++++++------------ po/nl.po | 1981 +++++++++++++------------ po/nn.po | 1914 ++++++++++++------------ po/pl.po | 1979 +++++++++++++------------ po/pt.po | 1982 +++++++++++++------------ po/pt_BR.po | 4584 +++++++++++++++++++++++++++++++--------------------------- po/ro.po | 1972 +++++++++++++------------ po/ru.po | 1982 +++++++++++++------------ po/sk.po | 12 +- po/sl.po | 848 ++++++----- po/sr.po | 1937 +++++++++++++------------ po/sv.po | 1982 +++++++++++++------------ po/tr.po | 4643 ++++++++++++++++++++++++++++++++--------------------------- po/uk.po | 1958 +++++++++++++------------ po/vi.po | 1973 +++++++++++++------------ po/zh_CN.po | 12 +- po/zh_TW.po | 1966 +++++++++++++------------ 43 files changed, 44221 insertions(+), 39367 deletions(-) commit 1d0fc64ce8b07b6b03320b293724cd70eca05c22 Author: Steven Valsesia Date: Fri Mar 7 21:15:28 2014 +0100 Add the choice to use Windows or Gtk color chooser dialog Modification of the string "Use Windows File Open/Save dialogs" to "Use Windows native dialogs". Signed-off-by: bestel Signed-off-by: Colomban Wendling data/geany.glade | 4 ++-- src/tools.c | 14 ++++++++------ 2 files changed, 10 insertions(+), 8 deletions(-) commit 8846ef2c5d41f87aab6754153bcb33ddf8f1e0f0 Author: LIU Dongyuan / 柳东原 Date: Sat Mar 29 21:42:09 2014 -0700 Update zh_CN.po po/zh_CN.po | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit f05e8001e90276fa54ca68ce98a04bd76493fd11 Author: LIU Dongyuan / 柳东原 Date: Sat Mar 29 21:37:51 2014 -0700 Update zh_CN.po po/zh_CN.po | 1976 +++++++++++++++++++++++++++++++---------------------------- 1 file changed, 1027 insertions(+), 949 deletions(-) commit d4900df553c10287de80c6f820e221af4f4f41df Author: Enrico Tröger Date: Sun Mar 30 12:17:41 2014 +0200 Fix restructuredText syntax HACKING | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) commit 8f511b66f37524d13d9e532e040e6703bf57341f Merge: a7440003 aaed5e02 Author: Frank Lanitz Date: Sat Mar 29 22:30:03 2014 +0100 Merge pull request #224 from bestel74/update_HACKING_file Update the HACKING file: add "pull request" before "patches" commit a74400036248a28166246e51bec44383c83d95b6 Author: Frank Lanitz Date: Sat Mar 29 22:26:48 2014 +0100 Update of German translation po/de.po | 399 ++++++++++++++++++++++++++++++++++----------------------------- 1 file changed, 216 insertions(+), 183 deletions(-) commit 1e918d4f4eb3cb4bbe312d0ae65580b84e4ba06a Author: Yosef Or Boczko Date: Sat Mar 29 23:05:19 2014 +0300 Updated Hebrew translation po/he.po | 3311 +++++++++++++++++++++++++++++++------------------------------- 1 file changed, 1675 insertions(+), 1636 deletions(-) commit cb07852ba5b9672408831878363d0d1cdc562691 Merge: bd06d7a1 a70ab6a5 Author: Frank Lanitz Date: Fri Mar 28 15:14:13 2014 +0100 Merge pull request #232 from stefan-it/enhancement/lang-de-corrections Typo corrections for German language file. commit a70ab6a5f774722b842ba226459512a75593a413 Author: Stefan Schweter Date: Fri Mar 28 14:33:45 2014 +0100 Typo corrections for German language file. po/de.po | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) commit aaed5e028eaad0a212671949e235bed5020aa94f Author: Steven Valsesia Date: Tue Mar 11 11:53:51 2014 +0100 Update the HACKING file, explain PR Add the new way of contributing for geany. HACKING | 35 ++++++++++++++++++++++++++++++++--- 1 file changed, 32 insertions(+), 3 deletions(-) commit bd06d7a1021b3f6f32e6ee02e917e083425326da Author: Enrico Tröger Date: Sun Mar 23 15:23:42 2014 +0100 Update Doxyfile.in for newer doxygen versions Automatic config file update by running 'doxygen -u'. All previous settings are kept but old, deprecated settings were removed to avoid annoying warnings when executing doxygen (e.g. on the nightly cronjob to update the API docs on geany.org). Furthermore, the update tool added a lot of comments above the options, which is probably good. doc/Doxyfile.in | 1584 ++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 1569 insertions(+), 15 deletions(-) commit 40db23752adcb01d61a01003c58c2bba950c9bf7 Merge: 608817f4 1f0898be Author: Frank Lanitz Date: Sun Mar 23 10:49:38 2014 +0100 Merge pull request #227 from fiacobelli/master changed filetypes.latex to add Bibtex compilation commit 608817f4bd8ebcd5807c8cca298b05bcc34a5236 Merge: b27b3678 5141f98f Author: Frank Lanitz Date: Sun Mar 23 10:47:17 2014 +0100 Merge pull request #228 from gymka/master Updated Lithuanian translation commit 5141f98f8c221daf4d7cf589d1ddda82f51b5518 Author: gymka Date: Sun Mar 23 09:10:15 2014 +0200 updated Lithuanian translation po/lt.po | 1978 ++++++++++++++++++++++++++++++++------------------------------ 1 file changed, 1028 insertions(+), 950 deletions(-) commit 1f0898be05c59ab993075fd152476b760d6ad79b Author: Francisco Iacobelli Date: Fri Mar 21 15:29:55 2014 -0500 changed filetypes.latex to add Bibtex compilation data/filetypes.latex | 3 +++ 1 file changed, 3 insertions(+) commit b27b3678dd787719a96832cd3a53102e0d66e177 Author: elextr Date: Fri Mar 21 15:46:45 2014 +1100 Add boolean to Pascal keyword list Pascal has a boolean type (see wikipedia entry) fixes bug #1033 data/filetypes.pascal | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit c96e09f76fee933ad3264f150ec483270e54290c Author: Frank Lanitz Date: Tue Mar 18 19:57:26 2014 +0100 Update of Slovak translation NEWS | 2 +- po/sk.po | 4171 +++++++++++++++++++++++++++++++++----------------------------- 2 files changed, 2215 insertions(+), 1958 deletions(-) commit 71b48bd6fb2e499e3352ad70c3e2cfa567ef667b Author: Enrico Tröger Date: Sun Mar 16 13:20:05 2014 +0100 Regenerate 16x16 Geany icon to be not cutoff For some reason, the icon was cutoff in the upper left corner. From the GIT history, I can't find any real reference for the reason, so I guess this was just a mistake when convertig the 32x32 icon to 16x16. If anyone knows better, please tell me. icons/16x16/geany.png | Bin 830 -> 897 bytes 1 file changed, 0 insertions(+), 0 deletions(-) commit d76323260c85eebdbe54c8155ffa51ae68a205aa Author: elextr Date: Fri Mar 14 15:03:12 2014 +1100 Put Makefile comments at start of line. In a makefile comments in recipes must start at the beginning of the line (see [1]). Thanks to cousteau on IRC. [1] http://www.gnu.org/software/make/manual/make.html#Recipe-Syntax data/filetypes.makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 4a8910fc4afc67fb0bf898592763322854a33b32 Author: Colomban Wendling Date: Wed Mar 12 14:26:04 2014 +0100 Fix GTK 2.16 support (oops) src/ui_utils.c | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) commit bd6db90e297116e0b4168216a644fe1dbee8969f Author: Colomban Wendling Date: Tue Mar 11 15:45:49 2014 +0100 Windows: add default extension to native save dialogs Fixes bug #1021. Based on an initial work by Steven Valsesia, thanks! src/dialogs.c | 2 +- src/win32.c | 15 ++++++++++++--- src/win32.h | 2 +- 3 files changed, 14 insertions(+), 5 deletions(-) commit 1e2be9e7b49bfe2b61a04b60ae3314e314a00dd9 Author: Colomban Wendling Date: Tue Mar 11 13:14:03 2014 +0100 Add a note in the docs about shell constructs in custom commands doc/geany.txt | 6 ++++++ 1 file changed, 6 insertions(+) commit 9ae07905620e78da3550945f47d01f2c7ea14edb Merge: 717f8e1b 77b82845 Author: Colomban Wendling Date: Fri Mar 7 22:12:04 2014 +0100 Merge branch 'bestel74/add_apply_button_color_chooser' Closes PR #223. commit 77b82845edcc796380cddc26cc4064329f0817cd Author: Colomban Wendling Date: Fri Mar 7 22:09:40 2014 +0100 Fix color chooser button order src/tools.c | 2 ++ src/ui_utils.c | 35 +++++++++++++++++++++++++++++++++++ src/ui_utils.h | 3 +++ 3 files changed, 40 insertions(+) commit dbf9061a52b9ea32b3928be14b30dc1637019fc0 Author: Steven Valsesia Date: Fri Mar 7 15:27:18 2014 +0100 Feature request #686 : Add apply button on Gtk color chooser feature request : http://sourceforge.net/p/geany/feature-requests/686/ Signed-off-by: Steven Valsesia src/tools.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) commit 717f8e1b137f7a51a78ffbf12d1c0c15b1784bc3 Author: Colomban Wendling Date: Thu Mar 6 15:01:38 2014 +0100 Windows: fix possible buffer overflows Fix improper use of MultiByteToWideChar() that could have led to buffer overflows. src/win32.c | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) commit 467f56ae7e70437f9c180f750e35520dc8811858 Author: Steven Valsesia Date: Tue Mar 4 17:04:44 2014 +0100 Add a new feature: autosave when the editor lose focus Documented unwanted behavior: pop-up saving. Closes feature request #683. Signed-off-by: Steven Valsesia doc/geany.txt | 8 ++++++++ plugins/saveactions.c | 57 ++++++++++++++++++++++++++++++++++++++++++++++++++- 2 files changed, 64 insertions(+), 1 deletion(-) commit 9c45ffd8ed312a8140bd652897e3a1864e45df58 Author: Steven Valsesia Date: Tue Mar 4 14:33:47 2014 +0100 Add documentation for the auto-save feature. Signed-off-by: Steven Valsesia doc/geany.txt | 8 ++++++++ 1 file changed, 8 insertions(+) commit 2f120d73c9dd13f3aa7aeb4bbe59979750c14c93 Author: Colomban Wendling Date: Thu Feb 27 14:33:45 2014 +0100 Fix typo in "deque" include name Fixes bug #1027. src/ui_utils.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 8930ba80eb7a5fb2c489772fa37fc269202ba2d3 Merge: 26d2ef8d 5965b5eb Author: Colomban Wendling Date: Sun Feb 23 20:30:11 2014 +0100 Merge branch 'fortran/improvements' commit 5965b5ebd3797b846ff3b92e9a5079d0834537f1 Author: Adam Hirst Date: Sun Feb 23 20:16:29 2014 +0100 Fortran: add a few more test cases tests/ctags/Makefile.am | 2 ++ tests/ctags/block.f90 | 51 +++++++++++++++++++++++++++++++++++++++++ tests/ctags/block.f90.tags | 7 ++++++ tests/ctags/interfaces.f90 | 45 ++++++++++++++++++++++++++++++++++++ tests/ctags/interfaces.f90.tags | 8 +++++++ 5 files changed, 113 insertions(+) commit d8954bbf67d575883a3fb3687e776cb92793d88c Author: Colomban Wendling Date: Sat Feb 22 17:50:56 2014 +0100 Fortran: add support for "len" and "kind" qualifiers Test cases contributed by Adam Hirst, thanks. tagmanager/ctags/fortran.c | 6 ++++++ tests/ctags/Makefile.am | 2 ++ tests/ctags/members.f90 | 19 +++++++++++++++++++ tests/ctags/members.f90.tags | 8 ++++++++ tests/ctags/qualified_types.f90 | 12 ++++++++++++ tests/ctags/qualified_types.f90.tags | 11 +++++++++++ 6 files changed, 58 insertions(+) commit ed1dc50062c27e1c00d94404d96e6bc3dd051e29 Author: Colomban Wendling Date: Sat Feb 22 16:54:30 2014 +0100 Fortran: allow keywords as names Allow keywords for names of modules, programs, types, interfaces, structures and enums. Test case contributed by Adam Hirst, thanks. tagmanager/ctags/fortran.c | 38 +++++++++++++++++++++++++++----------- tests/ctags/Makefile.am | 1 + tests/ctags/keyword_names.f90 | 28 ++++++++++++++++++++++++++++ tests/ctags/keyword_names.f90.tags | 8 ++++++++ 4 files changed, 64 insertions(+), 11 deletions(-) commit e47d45eb281a968b733241aab431c045d61569f9 Author: Colomban Wendling Date: Sat Feb 22 17:05:08 2014 +0100 Fortran: fix handling of preprocessor directives on the first line Fix a race initialization leading to incorrect handling of preprocessor directives on the first input line. Test case contributed by Adam Hirst, thanks. tagmanager/ctags/fortran.c | 13 +++++++------ tests/ctags/Makefile.am | 1 + tests/ctags/preprocessor.f90 | 17 +++++++++++++++++ tests/ctags/preprocessor.f90.tags | 5 +++++ 4 files changed, 30 insertions(+), 6 deletions(-) commit 98717999d0dd7362078514ec0964b39db605307d Author: Colomban Wendling Date: Thu Feb 20 23:07:20 2014 +0100 Fortran: add missing `block` and `endblock` keywords data/filetypes.fortran | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit ef4c72501e0f8532e31a9fac91a3a29c3e078ce4 Author: Colomban Wendling Date: Thu Feb 20 22:47:55 2014 +0100 Fortran: generate fake tags for anonymous structures, interfaces and enums This allows both to show those anonymous elements, as well as giving a parent to their children, fixing display in the symbols tree. src/symbols.c | 1 + tagmanager/ctags/fortran.c | 38 +++++++++++++--------- tests/ctags/enum.f90.tags | 70 +++++++++++++++++++++------------------- tests/ctags/enumerators.f90.tags | 31 ++++++++++-------- tests/ctags/numlib.f90.tags | 1 + tests/ctags/recursive.f95.tags | 2 ++ tests/ctags/structure.f.tags | 3 +- 7 files changed, 81 insertions(+), 65 deletions(-) commit 9520e7f7d7b7a9570db2feb165653ef1d68e547a Author: Colomban Wendling Date: Thu Feb 20 19:26:00 2014 +0100 Fortran: parse Fortran 2003 enums Allow for not-yet-standard enum naming using `:: name` syntax, see http://docs.cray.com/books/S-3692-51/html-S-3692-51/z970507905n9123.html Test cases contributed by Adam Hirst, thanks. tagmanager/ctags/fortran.c | 105 +++++++++++++++++++++++++++++++++------ tests/ctags/Makefile.am | 2 + tests/ctags/enum.f90 | 52 +++++++++++++++++++ tests/ctags/enum.f90.tags | 46 +++++++++++++++++ tests/ctags/enumerators.f90 | 55 ++++++++++++++++++++ tests/ctags/enumerators.f90.tags | 26 ++++++++++ 6 files changed, 271 insertions(+), 15 deletions(-) commit 329b2cb40135b759322a9a3f942ddad64ae5c78b Author: Colomban Wendling Date: Thu Feb 20 22:43:12 2014 +0100 Fortran: don't generate tags for interface content tagmanager/ctags/fortran.c | 2 +- tests/ctags/numlib.f90.tags | 3 --- tests/ctags/recursive.f95.tags | 8 -------- 3 files changed, 1 insertion(+), 12 deletions(-) commit 26d2ef8d99c6c66796d7ab8b4a09aa230c9905ac Merge: 7d760632 044120e8 Author: Colomban Wendling Date: Wed Feb 19 16:15:52 2014 +0100 Merge branch 'win32-quote-spawn-args' Closes bug #943 and PR #180. commit 044120e87ce8ce021832868ae690d282f59d3b15 Author: Colomban Wendling Date: Mon Feb 3 15:42:56 2014 +0100 Windows: properly initialize errno before checking it errno is never reset to 0 by the system libraries, so if we test its value we need to reset it to 0 before the call that may change it to something else. src/win32.c | 1 + 1 file changed, 1 insertion(+) commit 0ebf6ab82e8a9232caaabf0dd845390307fa1c80 Author: Colomban Wendling Date: Mon Feb 3 15:41:44 2014 +0100 Windows: convert the spawned command to locale encoding Converting to locale encoding is required to allows non-ASCII characters in the command, e.g. in the file names. src/win32.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) commit 6af27eeb7af7fbb458c93bf98133a6a177014a5e Author: Colomban Wendling Date: Mon Feb 3 15:40:37 2014 +0100 Windows: add a debug to show the command as it is run src/win32.c | 1 + 1 file changed, 1 insertion(+) commit 5c893e9b0eac95cc26f35a5dc279872ff1588f27 Author: Colomban Wendling Date: Mon Feb 3 15:36:28 2014 +0100 Windows: fix spawning commands with spaces Fix spawnning command under Windows when they contain spaces in both the executable and the arguments. Apparently system() quoting is unexpected, and doesn't work properly if there is more than 2 quotes in the whole command. To work this around, spawn the command through `cmd.exe /S /C`. src/win32.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit f1ce9afadd743dee5a6184b12eb5125305570d4d Author: Colomban Wendling Date: Wed Feb 19 01:10:07 2014 +0100 TM: don't needlessly duplicate array when searching for current tag tagmanager/src/tm_workspace.c | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) commit c078a13019dc7a0a2789bf672feceaa9cb91f1c3 Author: Colomban Wendling Date: Wed Feb 19 01:05:37 2014 +0100 TM: simplify match test for current tag tagmanager/src/tm_workspace.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) commit 5a67a4f64c633e83d0764eb71caaa6707e19c71f Author: Colomban Wendling Date: Tue Feb 18 19:33:39 2014 +0100 Fortran: report interfaces tagmanager/ctags/fortran.c | 2 +- tests/ctags/bug734933.f90.tags | 1 + tests/ctags/numlib.f90.tags | 3 +++ tests/ctags/recursive.f95.tags | 8 ++++++++ 4 files changed, 13 insertions(+), 1 deletion(-) commit 29336ffed0742a876ef49ae3d6be220f09e554f2 Author: Colomban Wendling Date: Tue Feb 18 19:10:58 2014 +0100 Fortran: display components src/symbols.c | 1 + tagmanager/ctags/fortran.c | 2 +- tests/ctags/array-spec.f90.tags | 4 ++++ tests/ctags/bug565813.f90.tags | 1 + tests/ctags/bug734933.f90.tags | 4 ++++ tests/ctags/invalid_name.f90.tags | 3 +++ tests/ctags/misc_types.f90.tags | 2 ++ tests/ctags/square_parens.f90.tags | 2 ++ tests/ctags/structure.f.tags | 9 +++++++++ tests/ctags/union.f.tags | 4 ++++ 10 files changed, 31 insertions(+), 1 deletion(-) commit 362a5cc6548982efa0898eaeabc353c089397580 Author: Colomban Wendling Date: Tue Feb 18 18:28:35 2014 +0100 Fortran: properly report scope for programs, subroutines and types To do this we change the internal types to only use types matched by symbols_get_current_scope(). This is a bit of a hack, but the tag types were already questionable and simply mapped to ones the TagManager know. This however merges Functions and Subroutines under the same top-level item in the symbol list. src/symbols.c | 6 +++--- tagmanager/ctags/fortran.c | 6 +++--- tests/ctags/array-spec.f90.tags | 2 +- tests/ctags/auto.f.tags | 2 +- tests/ctags/bug565813.f90.tags | 6 +++--- tests/ctags/bug670433.f90.tags | 2 +- tests/ctags/bug726712.f90.tags | 6 +++--- tests/ctags/bug734933.f90.tags | 6 +++--- tests/ctags/bug858165.f90.tags | 2 +- tests/ctags/bug877956.f90.tags | 2 +- tests/ctags/byte.f.tags | 2 +- tests/ctags/common.f.tags | 2 +- tests/ctags/debian_432872.f90.tags | 2 +- tests/ctags/forall_module.f90.tags | 2 +- tests/ctags/fortran_associate.f90.tags | 2 +- tests/ctags/invalid_name.f90.tags | 2 +- tests/ctags/misc_types.f.tags | 2 +- tests/ctags/misc_types.f90.tags | 4 ++-- tests/ctags/namelist.f.tags | 2 +- tests/ctags/procedure_pointer_module.f90.tags | 2 +- tests/ctags/procpoint.f90.tags | 2 +- tests/ctags/square_parens.f90.tags | 6 +++--- tests/ctags/stdcall.f.tags | 4 ++-- tests/ctags/structure.f.tags | 14 +++++++------- tests/ctags/union.f.tags | 4 ++-- tests/ctags/value.f.tags | 2 +- 26 files changed, 47 insertions(+), 47 deletions(-) commit 7d760632824efacd44231f89d46de3a1deac64ec Author: Colomban Wendling Date: Mon Feb 17 23:17:35 2014 +0100 Fortran: fix handling of pointer association operator Test case contributed by Adam Hirst, thanks. Closes #1030. tagmanager/ctags/fortran.c | 3 ++- tests/ctags/Makefile.am | 1 + tests/ctags/procpoint.f90 | 32 ++++++++++++++++++++++++++++++++ tests/ctags/procpoint.f90.tags | 13 +++++++++++++ 4 files changed, 48 insertions(+), 1 deletion(-) commit 1c0fa99e1d84b0331d65e56dcab4002f0006ccb1 Author: Adam Hirst Date: Sat Feb 15 14:29:22 2014 +0000 Support F2003 array syntax and F2008 coarrays Fortran 2003 allows '[' and ']' as array constructors in addition to the legacy '(/' and '/)'. Fortran 2008 allows '[]' as part of a CODIMENSION specifier, which can either be `codimension[]` in the type-spec; or as either `variable[]` or `variable()[]` in the entry-spec. Credit to Colomban Wendling for the skipOverSquares logic, and treating `codimension` as a special-case. Last part of bug #1023. tagmanager/ctags/fortran.c | 49 +++++++++++++++++++++++++++++--------- tests/ctags/Makefile.am | 1 + tests/ctags/square_parens.f90 | 39 ++++++++++++++++++++++++++++++ tests/ctags/square_parens.f90.tags | 13 ++++++++++ 4 files changed, 91 insertions(+), 11 deletions(-) commit 20f12872e28d9ff10db2fb477905edcdededb360 Author: Dimitar Zhekov Date: Fri Feb 14 22:11:10 2014 +0200 re-fix regex error message parsing (match count returns # of subgroups) src/filetypes.c | 40 ++++++++++++++++++++++++---------------- 1 file changed, 24 insertions(+), 16 deletions(-) commit 497bfaed465ac3aa3baf394029189a01a043ff2e Author: Colomban Wendling Date: Sat Feb 15 00:28:01 2014 +0100 Fortran: fix line continuation inside comments Fix improperly handling '&' at the end of the first comment line after a non-comment line as a line continuation. Part of bug #1023. tagmanager/ctags/fortran.c | 8 ++++---- tests/ctags/Makefile.am | 1 + tests/ctags/fortran_line_continuation.f90 | 17 +++++++++++++++++ tests/ctags/fortran_line_continuation.f90.tags | 3 +++ 4 files changed, 25 insertions(+), 4 deletions(-) commit f22c028ca4c4bdf1d0669023fe22aaaeab93d5f1 Merge: df9a1b15 e1b115ee Author: Colomban Wendling Date: Fri Feb 14 19:32:17 2014 +0100 Merge branch 'aphirst/patch-1' Closes PR#209. commit e1b115ee52cecce68277f850f6ebb18cc0f044fc Author: Adam Hirst Date: Fri Feb 14 18:27:04 2014 +0000 Added tests for the inclusion of ASSOCIATE in the tag manager tests/ctags/Makefile.am | 1 + tests/ctags/fortran_associate.f90 | 20 ++++++++++++++++++++ tests/ctags/fortran_associate.f90.tags | 5 +++++ 3 files changed, 26 insertions(+) commit 2085e8a57c1623eb8fdd950c5eeda61c85c9b1ac Author: Adam Hirst Date: Fri Feb 14 16:56:00 2014 +0000 Symbol browser breaks with END ASSOCIATE Related to bug #1023. tagmanager/ctags/fortran.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) commit df9a1b15c60f91be2af558112dc201569b9863d2 Author: Dimitar Zhekov Date: Tue Jan 21 20:22:28 2014 +0200 fix regex error message parsing (GRegex indexes subgroups, not matches) src/filetypes.c | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) commit b1d6291f7d15e3aed00f5def034d2fe4cf4ed7ab Author: Colomban Wendling Date: Tue Feb 11 18:15:00 2014 +0100 Fix unused warning when building without VTE support src/keyfile.c | 2 ++ 1 file changed, 2 insertions(+) commit 5d3b2f6269dc9151d9d72ab550539e6de37a439f Author: elextr Date: Mon Feb 10 12:19:45 2014 +1100 Fix crash if document closed while custom command is executing Custom command callback never checked that the doc was still valid. Can still paste in the wrong doc if user closes and opens while the command is running, but not crash. src/tools.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 09c2315bc43778537db987aa38d54dd5bf97381d Author: Enrico Tröger Date: Sun Feb 9 09:26:36 2014 +0100 Change expected tag kind for Python imports in tests since the parser has changed This fixes the tests which failed because I changed the parsing yesterday to classify Python as externvars and not as namespace tags anymore. tests/ctags/cython_sample2.pyx.tags | 2 +- tests/ctags/py_constructor_arglist.py.tags | 26 +++++++++++++------------- tests/ctags/simple.py.tags | 2 +- 3 files changed, 15 insertions(+), 15 deletions(-) commit 3d9908df8cf63c857d2f38b6653df018acb67ba8 Author: Enrico Tröger Date: Sat Feb 8 10:26:08 2014 +0100 Set tag kind for Python imports to externvar and map them in the symbol list. This fixes 'Go to Tag definition' for parsed Python imports as before the import statement was chosen as the definition while we prefer the class definition as target. src/symbols.c | 2 +- tagmanager/ctags/python.c | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) commit c4b0f0f74dc370ee43a14f76af3f4ba9fab48139 Author: Enrico Tröger Date: Sat Feb 8 10:23:30 2014 +0100 Add new symbol list category "Extern variables" This is a requirement for an upcoming Python parser fix. This new category will be currently only used by Python, C and D parsers. Before this change, in C & D extern variables were sorted into the category "Other", now they have their own category. src/symbols.c | 8 ++++++++ 1 file changed, 8 insertions(+) commit c3aeb731945b6502bebc9e55375a45a75da3d5f8 Author: Frank Lanitz Date: Sun Feb 2 21:53:27 2014 +0100 Minimal update of Spanish translation to fix misstranslated string. po/es.po | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 465378d72a5d3672750dc9ba87792f2208adcc00 Author: Frank Lanitz Date: Thu Jan 30 23:20:48 2014 +0100 Update of Italian translation po/it.po | 782 ++++++++++++++++++++++++++++++++------------------------------- 1 file changed, 401 insertions(+), 381 deletions(-) commit 986c59aecb06f3e727d7242368422745f6917775 Author: Matthew Brush Date: Tue Jan 28 17:16:50 2014 -0800 Use GeanyFiletypeGroupID enum in a few places Also move the `group_menus` global variable to the top of the file with the other globals. src/filetypes.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) commit 6a85a50d21b6297fe1ea51ecc8792f6a1f81cf58 Author: Colomban Wendling Date: Wed Jan 29 01:34:26 2014 +0100 Replace bare CTags parser ID numbers with an enumeration Avoid using magic numbers in the source for better readability and easier maintenance. HACKING | 9 +-- src/filetypes.c | 126 +++++++++++++++++++++-------------------- tagmanager/ctags/parsers.h | 51 +---------------- tagmanager/src/Makefile.am | 1 + tagmanager/src/tm_parser.h | 75 ++++++++++++++++++++++++ tagmanager/src/tm_tagmanager.h | 1 + wscript | 2 +- 7 files changed, 149 insertions(+), 116 deletions(-) commit 576be4ca3b16326d3c6812c51db0062a9140d9fa Author: Matthew Brush Date: Mon Jan 27 18:11:34 2014 -0800 Reformat builtin filetype initialization code into tabular format * Add an initialization function ft_init() * Add a function-like macro to call ft_init() with shorter arguments * Search and replace old code with FT_INIT() usage * Layout into columns and add documentation above src/filetypes.c | 527 ++++++++++---------------------------------------------- 1 file changed, 88 insertions(+), 439 deletions(-) commit c674f0660ab9571c9071b84fc9eb38e1c6a60d4d Author: Matthew Brush Date: Mon Jan 27 17:04:38 2014 -0800 Cleanup filetype_make_title() a bit and use it more * Adds TITLE_NONE, TITLE_SCRIPT and TITLE_DOCUMENT. * Only a few filetype titles were tweaked but we should review the rest as we could use TITLE_SCRIPT and TITLE_DOCUMENT a lot more probably. * Make filetype_make_title() not care about GeanyFiletype type and return result instead of internally setting ft state. src/filetypes.c | 139 +++++++++++++++++++++++++++++--------------------------- 1 file changed, 73 insertions(+), 66 deletions(-) commit 8449b5f9b17e38d36065096287518d4443e3e41b Author: Frank Lanitz Date: Sun Jan 26 22:31:51 2014 +0100 Minor update of German translation po/de.po | 707 ++++++++++++++++++++++++++++++++------------------------------- 1 file changed, 356 insertions(+), 351 deletions(-) commit d40932ce4d05e57573a6d6c8f89f4aea8c42d4f3 Author: Colomban Wendling Date: Thu Jan 2 18:07:35 2014 +0100 C++: mitigate matching error on generics containing an expression Mitigate parse error with generics like `foo x;` by avoiding matching past a semicolon (";") or open curly brace ("{"), which can't be part of the generic. This isn't a proper fix, but mitigates the impact of such constructs. tagmanager/ctags/c.c | 10 ++++++++++ tests/ctags/bug1563476.cpp.tags | 2 ++ 2 files changed, 12 insertions(+) commit f227076dc425052b85091e495b04f6d5b7a3f965 Author: elextr Date: Thu Jan 23 21:07:37 2014 +1100 Improve Asciidoc title parsing 1) Prevent parsing titles inside delimited blocks 2) Always detect -- lines as open block delimiters not titles 3) Support single line titles tagmanager/ctags/asciidoc.c | 94 +++++++++++++++++++++++++++++---------------- 1 file changed, 61 insertions(+), 33 deletions(-) commit c2dcec7107514c0632d8f657c3325b3963cf22a6 Author: Colomban Wendling Date: Sat Jan 18 15:15:11 2014 +0100 Don't use G_LIKELY() in macros commonly used in g_return_if_fail() g_return_if_fail() puts itself its condition in a G_LIKELY() clause, and nested G_LIKELY() lead to warnings about shadowed variables, as well as not being of any use. Also, hiding G_LIKELY() in a macro may lead to unexpected use of it which may hint the compiler incorrectly. src/document.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 7473e4b1d94acd502c0aeb5e17d0b62235414294 Author: Colomban Wendling Date: Sat Jan 18 15:12:22 2014 +0100 Add defensive checks for function receiving a GeanyDocument argument Always check the passed-in GeanyDocument argument is a valid one, not to possibly work on an invalid document. src/build.c | 12 +++++++++++- src/dialogs.c | 4 +++- src/document.c | 2 ++ src/filetypes.c | 2 ++ src/keybindings.c | 8 ++++---- src/navqueue.c | 3 ++- src/printing.c | 3 +-- src/search.c | 6 +++--- src/sidebar.c | 2 ++ src/symbols.c | 4 +++- src/templates.c | 12 +++++++++--- src/tools.c | 4 ++-- src/ui_utils.c | 14 ++++++++++++++ 13 files changed, 58 insertions(+), 18 deletions(-) commit c4549b1e73fd2ea588dbaa5323b3fbf6960f5522 Author: elextr Date: Wed Jan 22 09:45:02 2014 +1100 Add new automake products to .gitignore Newer automake creates .dirstamp and config.h.in~ .gitignore | 2 ++ 1 file changed, 2 insertions(+) commit 5d62030667b917a942ff05562807ef761a120728 Author: elextr Date: Wed Jan 22 08:59:14 2014 +1100 Fix "leaks" of geany_run_script (bug 975) In build_run_cmd() the script was not deleted when any one of several errors occurred. The errors are not related to script contents so it makes no sense to leave the script. Also fixes failure to delete script if a working dir was set. src/build.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) commit df4770362fff8f17513447e905db731d99a0d949 Merge: 7c6f48e4 05dda6b0 Author: Matthew Brush Date: Mon Jan 20 07:41:53 2014 -0800 Merge pull request #205 from aphirst/fortran-keywords Corrections and Amendments to the Fortran "filetype" files commit 05dda6b001ac71d0fc8592f480e30b8a52e2def5 Author: Adam Hirst Date: Mon Jan 20 15:21:36 2014 +0000 Updated keywords and intrinsic functions in accordance with the Fortran 2008 standard. data/filetypes.fortran | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 10ac2816af2d57326251d7a4101273f068cc13f4 Author: Adam Hirst Date: Mon Jan 20 15:20:12 2014 +0000 Removed years-old typo from the keyword list. data/filetypes.f77 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 7c6f48e4f56999eef6e5f29b4106c3e1d05ffe47 Author: Colomban Wendling Date: Fri Jan 17 18:26:23 2014 +0100 Workaround a slowness in multi-column combo boxes under GTK3 Always set the combo boxes' wrap-width after their models are fully filled to work around dramatic slowness described in GTK bug https://bugzilla.gnome.org/show_bug.cgi?id=722388 data/geany.glade | 2 -- src/dialogs.c | 2 +- src/prefs.c | 9 ++++++++- 3 files changed, 9 insertions(+), 4 deletions(-) commit 5975931be8b43086da947728406408e6dc332445 Author: Colomban Wendling Date: Tue Jan 14 22:26:54 2014 +0100 Add a section on how to add a test for a parser in HACKING HACKING | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) commit 7205b83abf4fe88a2445e0a9323a5789a74bbae6 Author: Colomban Wendling Date: Tue Jan 14 21:14:37 2014 +0100 Update NEWS for Rust filetype NEWS | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit e5495627924c5505425d1699fdc7380ae0465670 Merge: 1a5554c4 416c3dae Author: Colomban Wendling Date: Tue Jan 14 21:09:10 2014 +0100 Merge branch 'SiegeLord/rust' Closes PR#181. commit 416c3daecc649b63c96503f5c43de37b19220b11 Author: SiegeLord Date: Fri Oct 18 17:33:33 2013 -0400 Clean up Rust ctag tests and make them more comprehensive tests/ctags/test_input.rs | 72 +++++++++++++++++++++++++++++++++++------- tests/ctags/test_input.rs.tags | 11 ++++++- tests/ctags/test_input2.rs | 5 +-- 3 files changed, 71 insertions(+), 17 deletions(-) commit 370666865bea7ccb73689990231af87446cfe19a Author: Colomban Wendling Date: Thu Oct 17 20:13:33 2013 -0400 Add Rust tests to the makefile tests/ctags/Makefile.am | 2 ++ 1 file changed, 2 insertions(+) commit 09cb24c7c718fe587d1f3f97feff811c05a8ab72 Author: dobkeratops Date: Thu Oct 17 20:08:57 2013 -0400 Add Rust ctag tests tests/ctags/test_input.rs | 90 +++++++++++++++++++++++++++++++++++++++++ tests/ctags/test_input.rs.tags | 33 +++++++++++++++ tests/ctags/test_input2.rs | 43 ++++++++++++++++++++ tests/ctags/test_input2.rs.tags | 19 +++++++++ 4 files changed, 185 insertions(+) commit 828df0ab5fc6a2a25a3b1a524a34c442dc01921f Author: SiegeLord Date: Wed Oct 16 18:27:10 2013 -0400 Add shebang filetype detection for Rust src/filetypes.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) commit 3d7ade4e0232f4292b3d966e20f012afb4a2856e Author: SiegeLord Date: Wed Oct 16 17:19:29 2013 -0400 Integrate the Rust lexer with the rest of Geany's functionality data/filetype_extensions.conf | 2 +- data/filetypes.Rust.conf | 61 ----------------------------------------- data/filetypes.rust | 31 +++++++++++++++------ src/document.c | 1 + src/editor.c | 7 +++++ src/highlighting.c | 14 ++++++++++ src/highlightingmappings.h | 35 +++++++++++++++++++++++ src/symbols.c | 16 +++++++++++ tagmanager/ctags/makefile.win32 | 2 +- wscript | 1 + 10 files changed, 99 insertions(+), 71 deletions(-) commit a08557321296e9fa63dae7b25a2bf71a31a92b39 Author: SiegeLord Date: Thu Oct 17 20:22:48 2013 -0400 Use :: as the context separator for Rust src/symbols.c | 1 + 1 file changed, 1 insertion(+) commit aa7e938164dc14cb1d866effb0c11b42ec11ff6e Author: Colomban Wendling Date: Fri Oct 18 15:06:09 2013 +0200 Update our Scintilla patch for the addition of Rust lexer scintilla/scintilla_changes.patch | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 36537c4dcd7d3f78075289128c0e0a4a13544880 Author: SiegeLord Date: Sun Jan 12 13:57:03 2014 -0500 Update Rust Scintilla lexer to Scintilla revision 4946:4d9978010c3a scintilla/lexers/LexRust.cxx | 177 +++++++++++++++++++++++-------------------- 1 file changed, 95 insertions(+), 82 deletions(-) commit 4d33223c9877c81bdb5da0bacb31392e843f4d33 Author: SiegeLord Date: Wed Oct 16 12:25:57 2013 -0400 Import the Rust lexer from Scintilla scintilla/Makefile.am | 1 + scintilla/lexers/LexRust.cxx | 768 +++++++++++++++++++++++++++++++++++++++++++ scintilla/makefile.win32 | 1 + scintilla/src/Catalogue.cxx | 1 + 4 files changed, 771 insertions(+) commit b17b4be1260e8828f62c56c87cf8bf886cbbf3b4 Author: dobkeratops Date: Thu Oct 17 20:07:18 2013 -0400 Added the Rust filetype data/filetypes.rust | 51 +++++++++++++++++++++++++++++++++++++++++++++++++++ src/filetypes.c | 9 +++++++++ src/filetypes.h | 1 + 3 files changed, 61 insertions(+) commit ad59468f3e4efb8e49503a1e5e687196f5013ede Author: Colomban Wendling Date: Sun Jan 12 13:50:45 2014 +0100 rust: Don't use fileEOF() as it behaves unexpectedly fileEOF() actually returns TRUE anywhere after the last newline when using the file*() API, which includes a last line without newline. This is an implementation detail which makes this function not usable with the rest of the file*() API. fileEOF() should actually probably be called iFileEOF(), but that's outside the scope of this parser. However, even if fileEOF() did work properly with fileGetc(), the very last byte in the input would have been omitted because we actually read ahead by one byte, which means the actual read reaches EOF one byte before our "current byte" does. Checking whether we reached EOF by checking whether our current byte isn't equal to `EOF` fixes it, and isn't worse since it's actually how fileEOF() is implemented anyway. tagmanager/ctags/rust.c | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) commit c84eb2c1c978bf1af165630208f0df596e07065e Author: SiegeLord Date: Thu Oct 17 20:00:42 2013 -0400 Add a Rust ctags generator. Thanks to Colomban Wendling for reviewing and finding and fixing many issues. tagmanager/ctags/Makefile.am | 1 + tagmanager/ctags/parsers.h | 4 +- tagmanager/ctags/rust.c | 909 +++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 913 insertions(+), 1 deletion(-) commit 1a5554c41cffce0c90252c1f6503aae369659b88 Author: Colomban Wendling Date: Fri Jan 10 18:33:04 2014 +0100 Add our stock icons manually Although GtkIconFactory implements GtkBuildable properly and works just fine, Glade can't handle it and keeps removing it upon save. So, drop the automatic setup to a manual one so the UI description is editable with Glade again, and which also has the small advantage of not repeating the stock ID strings. data/geany.glade | 7 ------- src/ui_utils.c | 25 ++++++++++++++++++++++++- 2 files changed, 24 insertions(+), 8 deletions(-) commit 17a7469b6870461766c9872791f743156e038760 Author: Colomban Wendling Date: Thu Jan 9 17:50:30 2014 +0100 Avoid a few unnecessary widget lookups src/search.c | 13 +++++-------- src/ui_utils.c | 10 ++++------ 2 files changed, 9 insertions(+), 14 deletions(-) commit 680a556fffa5311d227f476e8e154d20da638414 Author: Colomban Wendling Date: Thu Jan 9 17:34:50 2014 +0100 Find when activating the find entry in the replace dialog src/search.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) commit ee891e189eef1c168349a9420a28af02e5127738 Author: Sam Lin Date: Fri Dec 13 21:56:25 2013 +0800 Update zh_TW.po fix typo po/zh_TW.po | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit dd7c20a19470f588eaea6196d864142458d3d5ee Author: Colomban Wendling Date: Thu Jan 9 02:13:54 2014 +0100 python: Improve access reporting See: * http://www.python.org/dev/peps/pep-0008/#method-names-and-instance-variables * http://www.python.org/dev/peps/pep-0008/#designing-for-inheritance tagmanager/ctags/python.c | 50 +++++++++++++++++++++++++++++++++++------------ 1 file changed, 37 insertions(+), 13 deletions(-) commit 625c7b829d45a72951fe75b8fe6cf7aab4189fb6 Author: Dimitar Zhekov Date: Tue Dec 24 18:29:40 2013 +0200 fix unexisting keys assigned to "Send selection to -> ..." src/tools.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) commit 5412f73d02f0d40b96d3e2a666e09faaa44ddbf9 Author: Colomban Wendling Date: Thu Jan 9 02:12:44 2014 +0100 python: Don't duplicate the kind names tagmanager/ctags/python.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) commit 8d5c7fbdc1dcf773d1463a39c5a62e344aca8dca Author: kuroidoruido Date: Tue Jan 7 18:24:05 2014 +0100 Update filetypes.sql Add loop and replace keywords data/filetypes.sql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 99e07cd294b1447f2741de033dd93c4cf33f1144 Author: Frank Lanitz Date: Fri Dec 27 12:00:28 2013 +0100 Swedish translation has also been updated for 1.24 NEWS | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit a7884ee2f8b746e70cc2d71cf898a4d5a95172e0 Author: Colomban Wendling Date: Tue Dec 24 19:28:20 2013 +0100 JavaScript: fix parsing of files starting with a shebang Closes #1016. tagmanager/ctags/js.c | 16 ++++++++++++++++ tests/ctags/Makefile.am | 1 + tests/ctags/shebang.js | 3 +++ tests/ctags/shebang.js.tags | 2 ++ 4 files changed, 22 insertions(+) commit e13cd014be208085a43cb637b67840add68b8bbb Author: Colomban Wendling Date: Sun Dec 22 20:47:33 2013 +0100 Fix portability of make rules to build documentation Support for "$<" automatic variable in non-suffix rules is a GNU Make extension: don't use it. doc/Makefile.am | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) commit 4c8d2fb9286227861c62d2ef1c80d6627d032e3d Author: Colomban Wendling Date: Thu Dec 19 20:36:07 2013 +0100 Fix handling of --list-documents when no other instance are running Properly exit when passed --list-documents, even if no other instance were already running. This makes this option behave the same in any case, making it easier to use in e.g. scripts. NEWS | 2 ++ src/main.c | 30 ++++++++++++++++-------------- 2 files changed, 18 insertions(+), 14 deletions(-) commit 3693889c48b68e9e791bde9df5a83486b02081c4 Author: Colomban Wendling Date: Tue Dec 17 21:47:00 2013 +0100 Update NEWS NEWS | 62 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 59 insertions(+), 3 deletions(-) commit 0eec7764af5cbcf70e10e44d2eb7b486e5c7cd53 Author: Colomban Wendling Date: Tue Dec 17 16:17:21 2013 +0100 Fix truncation of the data retrieved with --list-documents Do not truncate the document list to the size of the buffer used for communication. Since we now read multiple times, we need to make sure to always send ETX so a reader don't hang reading the next chunk if the data sent had exactly the size of the buffer. src/socket.c | 28 +++++++++++++++------------- 1 file changed, 15 insertions(+), 13 deletions(-) commit c0a233fcc3860aa98a38754d1d5e69e51e991ac5 Author: Colomban Wendling Date: Tue Dec 17 16:09:56 2013 +0100 Fix a typo in the documentation's markup doc/geany.txt | 1 + 1 file changed, 1 insertion(+) commit f94650b48ee10b4356675fde5d0b56d3e3135d0b Author: Colomban Wendling Date: Tue Dec 17 15:54:07 2013 +0100 Autotools: use the target file as the base rule for building documentation This allows automatic building of the file when required, and allows user to request building that specific file. doc/Makefile.am | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) commit 9a236fb04e8d5f4eb6dc340e23e51f1ff013fe3c Author: Colomban Wendling Date: Tue Dec 17 15:50:07 2013 +0100 Autotools: fix building the documentation in VPATH builds doc/Makefile.am | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) commit dec7b939fb07dd29bd61d9625a88503183ab14b6 Author: Colomban Wendling Date: Tue Dec 17 15:42:34 2013 +0100 Autotools: always put object files in the source file's directory Enable Automake option "subdir-object" to put all object files next to their source file rather than in the directory containing the Makefile. This is quite expected, and will be the future behavior of Automake in all cases, so enabling it now avoids future unexpected change. configure.ac | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) commit 0592b4410cd24eaad3ebb6547620dbc0b8b4d1c1 Author: Colomban Wendling Date: Tue Dec 17 15:41:22 2013 +0100 Autotools: enable Automake warnings configure.ac | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) commit 98b82550a8344c2615c986fb235096e7d517911a Author: Colomban Wendling Date: Thu Dec 5 20:31:07 2013 +0100 Plug a few possible small memory leaks src/keyfile.c | 6 +++--- src/toolbar.c | 3 +++ 2 files changed, 6 insertions(+), 3 deletions(-) commit ddf67a8586302e1dced6dbb6062e5f1797a18a9e Author: Colomban Wendling Date: Thu Dec 5 20:18:27 2013 +0100 VTE: properly use the default value for invalid configured colors src/keyfile.c | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) commit 4aff511b018f43bcefa108269c78c974848b27c4 Author: Colomban Wendling Date: Thu Dec 5 20:16:54 2013 +0100 Remove unnecessary allocation for VTE color settings src/keyfile.c | 10 ++++------ src/prefs.c | 4 ++-- src/vte.c | 16 +++++----------- src/vte.h | 4 ++-- 4 files changed, 13 insertions(+), 21 deletions(-) commit 69f1cc7136dcb44bba21c9d6a4a54c2c7219f27f Author: Colomban Wendling Date: Wed Dec 4 15:49:47 2013 +0100 Remove useless rotate_rgb() src/highlighting.c | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) commit 4ce6409e898b3b7d9b63f98b8e4017a138533dde Author: Colomban Wendling Date: Wed Dec 4 15:46:05 2013 +0100 Remove useless utils_invert_color() src/highlighting.c | 2 +- src/utils.c | 12 ------------ src/utils.h | 2 -- 3 files changed, 1 insertion(+), 15 deletions(-) commit 898097063098b5ec73611f5d0359d963922b9dd3 Author: Colomban Wendling Date: Wed Dec 4 15:31:17 2013 +0100 Unify color parsing Change utils_parse_color() to use gdk_color_parse() and follow its syntax, additionally supporting our "0x" prefix as a synonym for the "#" prefix; and use this everywhere. Also add utils_color_to_bgr() and utils_parse_color_to_bgr() to provide conversion to the 24 bits BGR format used by Scintilla. src/highlighting.c | 2 +- src/keyfile.c | 4 ++-- src/prefs.c | 2 +- src/sciwrappers.c | 2 +- src/tools.c | 12 ++-------- src/utils.c | 65 +++++++++++++++++++++++------------------------------- src/utils.h | 6 ++++- src/win32.c | 2 +- 8 files changed, 40 insertions(+), 55 deletions(-) commit 1590007862ce13b14e3af6e0f4f1d1b5afb73554 Author: Colomban Wendling Date: Wed Dec 4 14:59:05 2013 +0100 Remove an unnecessary allocation src/prefs.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) commit 3522e81d7344c584a78c2f52cf8bcd32f14dd38d Merge: f07b5457 3759562d Author: Colomban Wendling Date: Tue Dec 3 03:09:41 2013 +0100 Merge branch 'wip/color-parsing-improvements' commit f07b5457d6505ce8127c4b823b18ee42ffbc7730 Author: Colomban Wendling Date: Mon Dec 2 23:19:44 2013 +0100 Simplify fold toggling code using higher-level Scintilla API src/editor.c | 41 ++++++++++++----------------------------- 1 file changed, 12 insertions(+), 29 deletions(-) commit 3759562d7c3b53b19f363a47413a8b04b75661a7 Author: Colomban Wendling Date: Mon Dec 2 22:58:54 2013 +0100 Simplify reading highlighting colors with new utils_parse_color() Drop redundant code converting # and short formats to hex colors now utils_parse_color() can parse them. src/highlighting.c | 32 ++++---------------------------- 1 file changed, 4 insertions(+), 28 deletions(-) commit ebde42617a5c4e57ae0d717b56a03201f51e0988 Author: Colomban Wendling Date: Mon Dec 2 22:53:35 2013 +0100 Accept colors with only 1 digit per channel in utils_parse_color() AKA short HTML color notation. src/utils.c | 25 ++++++++++++++++++------- 1 file changed, 18 insertions(+), 7 deletions(-) commit 11a2f0ee91be81991c9d1b3dfe9b8b9680ca3abf Author: Colomban Wendling Date: Mon Dec 2 22:44:40 2013 +0100 Properly validate input in utils_parse_color() src/utils.c | 33 ++++++++++++++++----------------- 1 file changed, 16 insertions(+), 17 deletions(-) commit 507005ca549a4f6b7c45c1c27b4a219ca6b03f7e Author: Colomban Wendling Date: Mon Dec 2 22:38:11 2013 +0100 Rename utils_strtod() to utils_parse_color() Rename the function to a more sensible name, and remove unnecessary arguments. Now, format (# or 0x) is auto-detected. src/highlighting.c | 2 +- src/sciwrappers.c | 2 +- src/utils.c | 33 ++++++++++++++------------------- src/utils.h | 2 +- src/win32.c | 2 +- 5 files changed, 18 insertions(+), 23 deletions(-) commit f99e627bb0d28821168a44553f92fd5dd60eafe3 Author: Colomban Wendling Date: Sat Nov 23 00:45:39 2013 +0100 Fix folding of the very last line in a level when unfolding children Fix an off-by-one mistake resulting on the very last line of a nested folded level not to be unfolded when recursively unfolding it's parent. This was only visible when the last fold point was only one line long, otherwise unfolding the (N-1)th line was enough. Closes #1007. src/editor.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit cff36e7497be16cefede1b393207e61709c71c2e Author: Colomban Wendling Date: Wed Nov 20 18:41:11 2013 +0100 R: properly display sources and libraries in the symbol list src/symbols.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 10893c4ada3be907a97dd4e472de029442e687bc Author: Colomban Wendling Date: Wed Nov 20 18:40:22 2013 +0100 R: fix invalid memory access in the tag parser tagmanager/ctags/r.c | 24 +++++++++++++++++------- 1 file changed, 17 insertions(+), 7 deletions(-) commit 1dfc1077c7f52070ceb65fe97ea2a8da3cc5c93e Author: Colomban Wendling Date: Mon Nov 18 22:22:57 2013 +0100 Fix crash in fallback mime icon loading code under GTK3 src/ui_utils.c | 3 +++ 1 file changed, 3 insertions(+) commit b63eb87599a6f9f8a44d7b94e94e31a26bbf2910 Author: Roland Pallai Date: Thu Nov 14 00:53:40 2013 +0100 "Enter in replace entry does Replace & Find instead of Replace" setting in General/Misc/Search. data/geany.glade | 17 +++++++++++++++++ doc/geany.txt | 3 +++ src/search.c | 7 ++++++- src/search.h | 1 + 4 files changed, 27 insertions(+), 1 deletion(-) commit cebc20a47c0b9955259c4e3a740cd48af58e1623 Author: Colomban Wendling Date: Mon Nov 11 18:54:08 2013 +0100 Use proper argument list tagmanager/ctags/cobol.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit bbc0fa3b69eb4f939a70b9ff27411e146a59400d Author: Colomban Wendling Date: Mon Nov 11 18:52:45 2013 +0100 Don't depend on an implementation detail of S_ISREG and S_ISDIR tagmanager/src/tm_file_entry.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 660c441b4af272fe4e40eb6a6cda2badb8f17eac Author: Arthur Rosenstein Date: Wed Nov 6 16:28:09 2013 +0000 Don't prompt for reload confirmation if keeping edit history No work is lost in that case (except for the redo stack, which is normal), so the extra confirmation step seems bothersome. src/callbacks.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) commit 322fa65ff555be84dee05761665fe87d0daa9432 Author: Arthur Rosenstein Date: Wed Nov 6 16:17:26 2013 +0000 Maintain undo stack when reloading a document src/document.c | 75 +++++++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 72 insertions(+), 3 deletions(-) commit 1b338d9d7dd23c1dc0828408e6687a9b47e94fc1 Author: Arthur Rosenstein Date: Wed Nov 6 14:52:54 2013 +0000 Add UNDO_RELOAD action src/document.c | 50 +++++++++++++++++++++++++++++++++++++++++++++++++- src/documentprivate.h | 8 ++++++++ 2 files changed, 57 insertions(+), 1 deletion(-) commit 6f6dfda8a8e6af4a84897db543885a9261481ba4 Author: Arthur Rosenstein Date: Wed Nov 6 14:28:43 2013 +0000 Add documentation for keep_edit_history_on_reload option doc/geany.txt | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) commit 9a03d32449b5d8c831d2b53a264db56ab57e8699 Author: Arthur Rosenstein Date: Wed Nov 6 14:16:11 2013 +0000 Add keep_edit_history_on_reload option When this option is set, the undo stack is maintained when reloading a document. src/document.h | 1 + src/keyfile.c | 2 ++ 2 files changed, 3 insertions(+) commit 1b1a1da4edfbf7168dd9afa8593cab77aca7f3a3 Author: Arthur Rosenstein Date: Wed Nov 6 12:44:14 2013 +0000 Clear redo stack when adding undo action This fixes a bug in Geany where modifying the document does not clear the redo actions stack. src/document.c | 23 ++++++++++++++++++----- 1 file changed, 18 insertions(+), 5 deletions(-) commit 1f2279aefe165b874a42457f4a24af498f92dc27 Author: Colomban Wendling Date: Sun Nov 10 01:41:01 2013 +0100 Always use proper functions argument lists src/dialogs.c | 4 ++-- src/document.c | 4 ++-- src/editor.c | 2 +- src/filetypes.c | 4 ++-- src/highlighting.c | 2 +- src/keybindings.c | 2 +- src/main.c | 2 +- src/navqueue.c | 8 ++++---- src/notebook.c | 4 ++-- src/prefix.c | 2 +- src/sidebar.c | 2 +- src/win32.c | 2 +- tagmanager/src/tm_workspace.c | 2 +- 13 files changed, 20 insertions(+), 20 deletions(-) commit 0a5378134a0f93569d86890762963e6b48bb758f Author: Arthur Rosenstein Date: Wed Nov 6 12:36:07 2013 +0000 Add document_undo_clear_stack() This function clears a single undo/redo stack. src/document.c | 31 ++++++++++++------------------- 1 file changed, 12 insertions(+), 19 deletions(-) commit 39fa004619d211a84ea46a5e45f7470106d19b9c Author: Colomban Wendling Date: Thu Nov 7 23:07:33 2013 +0100 Fasten utils_tidy_path() a little and fix possible leaks in it Fix possible leaks with bad paths, and also speed up some part of the function by avoiding unnecessary allocations and string length computations. src/utils.c | 27 +++++++++++++++------------ 1 file changed, 15 insertions(+), 12 deletions(-) commit c074817b8b2bd63b8f2881a7b79636dd15febf4d Author: Colomban Wendling Date: Thu Nov 7 22:57:40 2013 +0100 Fix 2 unlikely memory leaks src/build.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 1d8dd84a47b7993f14ba4737c3fcd23f60697cee Author: Colomban Wendling Date: Thu Nov 7 21:28:23 2013 +0100 Fix some small type issues in printf formats src/build.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) commit 5c22c9d73e14f77959d0de27c8363a1fe8fe8940 Author: Colomban Wendling Date: Mon Nov 4 17:42:05 2013 +0100 R has braces src/editor.c | 1 + 1 file changed, 1 insertion(+) commit 7b2f39a852bc29feb196710d5752faae70a50832 Author: Colomban Wendling Date: Mon Nov 4 16:01:29 2013 +0100 Remove an unused variable and plug a theoretical memory leak src/build.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) commit b2f4717ad301777ca9cfb77fca38f4dc8d3d90a6 Author: Colomban Wendling Date: Sun Nov 3 23:35:00 2013 +0100 Plug a memory leak on Windows src/build.c | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) commit 5918532ab23fdd310266792b999e3133de996747 Author: Colomban Wendling Date: Sun Nov 3 22:28:02 2013 +0100 Explicit a valid cast src/main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit cb588a1b82d0e85c0cdb9e422d073b4dc9b04a30 Author: Colomban Wendling Date: Sun Nov 3 22:25:01 2013 +0100 Plug a possible memory leak src/main.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) commit 0cb139638f18c8b633ce7ad5bd3fb0a4f0dfc869 Author: Colomban Wendling Date: Sun Nov 3 22:18:50 2013 +0100 Plug a memory leak src/templates.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit bc6c345153f2020fb64827e5a8442e4ecc2794e9 Author: Colomban Wendling Date: Sun Nov 3 22:18:26 2013 +0100 Remove an unused variable that could be leaked src/build.c | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) commit 6e46cca735fc4ab19c629f5a2d47aad2180cb302 Author: Colomban Wendling Date: Sun Nov 3 01:52:27 2013 +0100 Fix mismatching allocation and deallocation When allocation with g_malloc(), the memory should be freed using g_free(), not plain free(). Also, use g_try_malloc() instead of g_malloc() where the code carefully handles allocation failures itself. tagmanager/ctags/sort.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) commit 47609ec102eb31dcd7d558a7cb8a1bcdbffff81d Author: Colomban Wendling Date: Sun Nov 3 01:52:12 2013 +0100 Plug a possible memory leak src/utils.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) commit 02852b33b07491d99ad44f6f58fd654bee76244e Author: Colomban Wendling Date: Sun Nov 3 01:51:03 2013 +0100 Simplify utils_get_hex_from_color() and plug a possible memory leak in it src/utils.c | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) commit fd18b7455c154a51b91c45c5216c9ecc047b4227 Author: Colomban Wendling Date: Sat Nov 2 22:10:32 2013 +0100 Plug a possible memory leak There is no need to check doc->real_path since the usage is NULL-safe, and if it actually is empty or NULL it isn't a bug in the caller itself anyway, and this could leak. src/editor.c | 2 -- 1 file changed, 2 deletions(-) commit 6a19a4488d7037591083001f11f9f4fe2065aafa Author: Nick Treleaven Date: Thu Oct 31 13:54:31 2013 +0000 Add info on how g_spawn is broken on Windows src/win32.c | 3 +++ 1 file changed, 3 insertions(+) commit ef331759b01a415ba4d09b4940aa052f9ceedf7c Author: Colomban Wendling Date: Sun Oct 20 15:19:56 2013 +0200 If we write C99, we better make sure we compile as such configure.ac | 1 + 1 file changed, 1 insertion(+) commit 131b608d5b430df6bb960ecdd63611cb5cda4be8 Author: Matthew Brush Date: Sun Oct 20 05:59:21 2013 -0700 Update HACKING a bit for C99 standard HACKING | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) commit 7d79df7975dab3aa6a2c824cf5a504069c291077 Merge: b645eccf 635b7c24 Author: Colomban Wendling Date: Wed Oct 16 15:45:01 2013 +0200 Merge branch 'scintilla-update-336' commit 635b7c24a6898fe92768b1fa593a1a468e96adb9 Author: Colomban Wendling Date: Wed Oct 16 15:36:57 2013 +0200 Update Scintilla to version 3.3.6 scintilla/gtk/PlatGTK.cxx | 14 +--- scintilla/gtk/ScintillaGTK.cxx | 23 +++--- scintilla/include/ILexer.h | 2 + scintilla/include/Platform.h | 18 ----- scintilla/include/SciLexer.h | 22 ++++++ scintilla/include/Scintilla.h | 4 + scintilla/include/Scintilla.iface | 32 ++++++++ scintilla/lexers/LexCPP.cxx | 8 ++ scintilla/lexers/LexOthers.cxx | 13 ++- scintilla/lexers/LexPascal.cxx | 21 ++--- scintilla/lexers/LexPerl.cxx | 28 ++++--- scintilla/lexers/LexSQL.cxx | 162 ++++++++++++++++++++++++++++++-------- scintilla/lexlib/StyleContext.h | 4 +- scintilla/lexlib/SubStyles.h | 25 ++++-- scintilla/lexlib/WordList.cxx | 40 +++++----- scintilla/scintilla_changes.patch | 5 +- scintilla/src/Document.cxx | 2 +- scintilla/src/Editor.cxx | 45 ++++++----- scintilla/src/ScintillaBase.cxx | 30 ++++++- scintilla/src/ScintillaBase.h | 2 +- scintilla/src/ViewStyle.cxx | 4 +- scintilla/src/ViewStyle.h | 2 +- scintilla/version.txt | 2 +- 23 files changed, 354 insertions(+), 154 deletions(-) commit b645eccf6e4a83a513a689034181cb96d51d5dff Author: Colomban Wendling Date: Tue Oct 15 16:01:02 2013 +0200 Do not ignore keys inside inherited groups When inheriting a group in a filetypes file, do not ignore local keys. This allows for partial overrides of the parent group, like: [settings=Parent] key=value All keys from Parent's group "settings" would be imported, but now the "key" key wouldn't be ignored anymore and would override a "key" key from the group copied from Parent if it exists. src/filetypes.c | 25 ++++++++++++++++--------- 1 file changed, 16 insertions(+), 9 deletions(-) commit 01e7fe4b79d0697ac2d03ab5ba18bd92a664ffc2 Author: Colomban Wendling Date: Tue Oct 15 15:56:44 2013 +0200 Use GIcon for the filetype icon rather than rendered pixbuf This allows to re-use the icon more easily since it's not rendered at a particular size but simply an icon description. It also allows for implicit icon updating when the theme changes if the display code implements it (and GTK widgets does). src/dialogs.c | 6 ++---- src/filetypes.c | 23 ++--------------------- src/filetypes.h | 4 +--- src/main.c | 4 ++++ src/sidebar.c | 18 +++++++++--------- src/ui_utils.c | 49 ++++++++----------------------------------------- src/ui_utils.h | 2 +- 7 files changed, 27 insertions(+), 79 deletions(-) commit d29b5912fff974b79ef767e7afc75d7ffbc64192 Author: Colomban Wendling Date: Tue Oct 15 02:39:24 2013 +0200 Read filetype's mime type from the configuration files This allows custom filetypes to define a mime type, hence the icon displayed for this filetype; as well as moving ones for built-in filetypes out of the code to the configuration files. data/filetypes.Go.conf | 6 +++- data/filetypes.Graphviz.conf | 3 ++ data/filetypes.Scala.conf | 3 ++ data/filetypes.abc | 2 ++ data/filetypes.actionscript | 3 ++ data/filetypes.ada | 3 ++ data/filetypes.c | 3 ++ data/filetypes.caml | 3 ++ data/filetypes.cmake | 3 ++ data/filetypes.cobol | 3 ++ data/filetypes.cpp | 3 ++ data/filetypes.cs | 3 ++ data/filetypes.css | 3 ++ data/filetypes.d | 3 ++ data/filetypes.diff | 3 ++ data/filetypes.docbook | 3 ++ data/filetypes.erlang | 3 ++ data/filetypes.f77 | 3 ++ data/filetypes.fortran | 3 ++ data/filetypes.haskell | 3 ++ data/filetypes.html | 3 ++ data/filetypes.java | 3 ++ data/filetypes.javascript | 3 ++ data/filetypes.latex | 3 ++ data/filetypes.lua | 3 ++ data/filetypes.makefile | 3 ++ data/filetypes.markdown | 3 ++ data/filetypes.matlab | 3 ++ data/filetypes.objectivec | 3 ++ data/filetypes.pascal | 3 ++ data/filetypes.perl | 3 ++ data/filetypes.php | 3 ++ data/filetypes.po | 3 ++ data/filetypes.python | 3 ++ data/filetypes.restructuredtext | 3 ++ data/filetypes.ruby | 3 ++ data/filetypes.sh | 3 ++ data/filetypes.sql | 3 ++ data/filetypes.tcl | 3 ++ data/filetypes.txt2tags | 3 ++ data/filetypes.vala | 3 ++ data/filetypes.verilog | 3 ++ data/filetypes.vhdl | 3 ++ data/filetypes.xml | 3 ++ data/filetypes.yaml | 3 ++ doc/geany.txt | 4 +++ src/filetypes.c | 79 ++++++++++++++--------------------------- src/filetypes.h | 2 ++ src/sidebar.c | 5 +-- src/ui_utils.c | 2 +- 50 files changed, 173 insertions(+), 56 deletions(-) commit 48fe855b50528ef27c45160959e324c08b2e0676 Author: Enrico Tröger Date: Sun Oct 13 18:55:16 2013 +0200 Adjust test case tags file for fixed Python parser (class arglist assignment) tests/ctags/cython_sample.pyx.tags | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 3443e288fe608306606f6b6a846886a377e46aff Author: Enrico Tröger Date: Sun Oct 13 18:52:56 2013 +0200 Add flag to tm_tags_find() to indicate the tags array may not be sorted tm_tags_find() relies on a sorted tags array to be passed in but in tm_source_file_set_tag_arglist() we don't have a sorted array yet and sorting it on demand seems more heavy than the alternative: make tm_tags_find() search the array linear if the new flag is set. This fixes a bug in the Python parser when assigning the argument list of __init__() methods to their class' argument list which annoyed me for years already. Also add a test case for this. tagmanager/src/tm_source_file.c | 3 ++- tagmanager/src/tm_tag.c | 37 ++++++++++++++++++++++++------ tagmanager/src/tm_tag.h | 12 ++++++---- tagmanager/src/tm_workspace.c | 7 +++--- tests/ctags/Makefile.am | 1 + tests/ctags/py_constructor_arglist.py | 28 ++++++++++++++++++++++ tests/ctags/py_constructor_arglist.py.tags | 16 +++++++++++++ 7 files changed, 89 insertions(+), 15 deletions(-) commit a408938e957939594f549bc2bf5867699ece973d Author: Nick Treleaven Date: Sun Oct 13 12:54:58 2013 +0100 Set group for Clojure filetype data/filetype_extensions.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 49056ba984ef9c9ad90713e437f82962cb91baa7 Author: Yosef Or Boczko Date: Sun Oct 13 13:31:37 2013 +0300 Updated Hebrew translation po/he.po | 252 +++++++++++++++++++++++++++++++++------------------------------ 1 file changed, 131 insertions(+), 121 deletions(-) commit b3b6d4efade37d608894ecd897d77975b32601b8 Author: Nick Treleaven Date: Fri Oct 11 16:47:04 2013 +0100 Fix missing warning section HACKING | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 15fb2f321ad400ca911c8b69a9b1a78b3baa3b51 Author: Nick Treleaven Date: Fri Oct 11 16:41:16 2013 +0100 Improve custom filetype formatting/links doc/geany.txt | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) commit 18d27364ac9c526527fc7e56ee7f2a4e6effdb4d Author: Nick Treleaven Date: Fri Oct 11 16:23:07 2013 +0100 Update notes for adding a custom filetype HACKING | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) commit 40cd633d5fc6f0bea1fda6edd03ee41e7604ae43 Author: Frank Lanitz Date: Fri Oct 11 09:56:08 2013 +0200 Update of Slovenian translation by Jože Klepec po/sl.po | 2981 ++++++++++++++++++++++++++++++++------------------------------ 1 file changed, 1532 insertions(+), 1449 deletions(-) commit d51079d5987a8e3f63c6ddd5bf8c0a58608a8705 Author: Nick Treleaven Date: Thu Oct 10 12:40:07 2013 +0100 Fix mingw-gcc 'ordered comparison of pointer with integer zero' warning src/build.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 1ab97fe2e0c4222900bb6e4e8d54655cfefd8756 Author: Colomban Wendling Date: Tue Sep 24 23:58:16 2013 +0200 Plug a memory leak when reading misnamed tag files Don't leak the file name if we can't determine to which filetype it belongs. Thanks to Pavel Roschin for spotting this. Also, remove an useless second function indirection that simply made the code harder to understand. This will make Matthew happy ;) src/symbols.c | 46 ++++++++++++++++++++++------------------------ 1 file changed, 22 insertions(+), 24 deletions(-) commit 8f11c62dc9004a15088abfbe3c607ef4e194323b Author: Colomban Wendling Date: Tue Sep 24 16:26:57 2013 +0200 Fix some module-specific globals not declared static This prevents the symbol to be exported and possibly conflict with another one. tagmanager/ctags/php.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit e4eacef82b58f202bca379d8b4ca4df72662b578 Author: Colomban Wendling Date: Tue Sep 24 16:23:48 2013 +0200 Plug a memory leak Thanks to Pavel Roschin for spotting it. src/keybindings.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) commit af3421e688af3a8a81ffdaca1701dbeb49b5ebaa Author: Colomban Wendling Date: Mon Sep 23 21:54:30 2013 +0200 Plug a memory leak Do not evaluate a macro argument multiple times if it gets passed an expression, especially if that expression allocates memory. Thanks to Pavel Roschin for spotting the leak. src/build.c | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) commit 32b971cf1cb79891956a006da8432e4f22e3d515 Author: Colomban Wendling Date: Mon Sep 23 16:52:55 2013 +0200 JavaScript: fix parsing of regular expressions in a return statement tagmanager/ctags/js.c | 9 +++++---- tests/ctags/regexp.js | 11 +++++++++++ tests/ctags/regexp.js.tags | 2 ++ 3 files changed, 18 insertions(+), 4 deletions(-) commit c427ddb656a64c77d6e1421ab92b72630fbc94fc Author: Colomban Wendling Date: Thu Sep 19 19:40:56 2013 +0200 SQL: fix single-line comment marker Closes [bugs:#997]. data/filetypes.sql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit b428042278634f9c0b9311b951a0de33fa785f30 Author: Nick Treleaven Date: Thu Sep 19 14:09:45 2013 +0100 Add sci_word_start_position, sci_word_end_position wrappers src/editor.c | 14 +++++++------- src/sciwrappers.c | 15 +++++++++++++++ src/sciwrappers.h | 2 ++ 3 files changed, 24 insertions(+), 7 deletions(-) commit 6d2f26c494d9459dfbb023655cbe046365424f52 Author: Nick Treleaven Date: Thu Sep 19 13:49:46 2013 +0100 Don't ignore word matches that vary only by case The user needs to see all case variants, even when they want searching to be done case-insensitively (which isn't supported yet). src/editor.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit dcfbf22cf291b48ad511135c612ca57c8d3e99da Author: Nick Treleaven Date: Thu Sep 19 13:37:23 2013 +0100 Don't allocate initial size based on autocompletion_max_entries The user may have set that too high. src/editor.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 798849b64cb3f21066814450e06d69fb5e3c707a Merge: 3f27961e 8d20c596 Author: Colomban Wendling Date: Wed Sep 18 15:23:06 2013 +0200 Merge branch 'scintilla-update-335' commit 8d20c5961197dfd256dc7558f4eb0c5c3f51c153 Author: Colomban Wendling Date: Wed Sep 18 15:15:53 2013 +0200 Update NEWS NEWS | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit b07d1a1ecc05f74f0a614a431763e2dafa2de995 Author: Colomban Wendling Date: Wed Sep 18 15:15:05 2013 +0200 Update Scintilla to version 3.3.5 scintilla/gtk/Converter.h | 13 + scintilla/gtk/PlatGTK.cxx | 24 +- scintilla/gtk/ScintillaGTK.cxx | 15 +- scintilla/include/SciLexer.h | 14 + scintilla/include/Scintilla.h | 6 + scintilla/include/Scintilla.iface | 35 ++ scintilla/lexers/LexAda.cxx | 2 +- scintilla/lexers/LexAsm.cxx | 2 +- scintilla/lexers/LexCOBOL.cxx | 8 +- scintilla/lexers/LexD.cxx | 8 +- scintilla/lexers/LexForth.cxx | 16 +- scintilla/lexers/LexHTML.cxx | 19 +- scintilla/lexers/LexLaTeX.cxx | 8 +- scintilla/lexers/LexLisp.cxx | 6 +- scintilla/lexers/LexNsis.cxx | 2 + scintilla/lexers/LexOthers.cxx | 2 +- scintilla/lexers/LexPerl.cxx | 2 +- scintilla/lexers/LexPython.cxx | 2 +- scintilla/lexers/LexR.cxx | 2 +- scintilla/lexers/LexYAML.cxx | 2 +- scintilla/lexlib/Accessor.cxx | 2 +- scintilla/lexlib/CharacterSet.cxx | 2 +- scintilla/lexlib/LexerBase.cxx | 2 +- scintilla/lexlib/LexerModule.cxx | 2 +- scintilla/lexlib/LexerNoExceptions.cxx | 2 +- scintilla/lexlib/LexerNoExceptions.h | 4 +- scintilla/lexlib/LexerSimple.cxx | 2 +- scintilla/lexlib/StyleContext.cxx | 2 +- scintilla/lexlib/WordList.cxx | 4 +- scintilla/scintilla_changes.patch | 5 +- scintilla/src/AutoComplete.cxx | 2 +- scintilla/src/CaseConvert.cxx | 256 ++++++------ scintilla/src/Catalogue.cxx | 11 +- scintilla/src/CellBuffer.cxx | 4 +- scintilla/src/Decoration.cxx | 4 +- scintilla/src/Document.cxx | 23 +- scintilla/src/Document.h | 3 + scintilla/src/Editor.cxx | 737 +++++++++++++++++---------------- scintilla/src/Editor.h | 31 +- scintilla/src/ExternalLexer.cxx | 2 +- scintilla/src/FontQuality.h | 13 + scintilla/src/KeyMap.h | 4 +- scintilla/src/LineMarker.h | 1 - scintilla/src/Partitioning.h | 9 + scintilla/src/PositionCache.cxx | 165 +++++--- scintilla/src/PositionCache.h | 41 +- scintilla/src/RunStyles.cxx | 5 +- scintilla/src/ScintillaBase.cxx | 2 +- scintilla/src/SplitVector.h | 8 + scintilla/src/UniConversion.cxx | 17 + scintilla/src/UniConversion.h | 17 + scintilla/src/UnicodeFromUTF8.h | 13 + scintilla/src/ViewStyle.cxx | 139 +++++-- scintilla/src/ViewStyle.h | 63 ++- scintilla/src/XPM.cxx | 2 +- scintilla/version.txt | 2 +- 56 files changed, 1084 insertions(+), 705 deletions(-) commit 3f27961ed760fb4d9ab26cf6d40ff7965e9cd818 Author: Frank Lanitz Date: Wed Sep 11 21:27:44 2013 +0200 Correct an ambiguous German translation po/de.po | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) commit d7041a0523f1e89312a8fafb70ac394f6248d914 Author: Frank Lanitz Date: Fri Sep 6 16:44:24 2013 +0200 Adding path for config on Windows7+ doc/geany.txt | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) commit 4786796e9aff75e67d8a6abdd61f5bbe7e1a7e66 Author: Colomban Wendling Date: Tue Aug 20 11:54:01 2013 +0200 Fix build (oops, sorry) src/printing.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 1fe7b4848ee47e7cc198082ccb49bb398a6bfb21 Author: Colomban Wendling Date: Mon Aug 19 14:07:27 2013 +0200 Fix printing under Windows For some reason the Scintilla widget's Pango context don't have a resolution set on Windows, so we get an invalid one. Fix this by correctly peek the resolution from the map if the context doesn't have one by itself. https://developer.gnome.org/pango/stable/pango-Cairo-Rendering.html#pango-cairo-context-get-resolution Thanks to Matthew Brush for debugging this! Closes #961. src/printing.c | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) commit 791cad305952f9f5cbab742a4f228563db72ab0c Author: Frank Lanitz Date: Tue Aug 20 11:39:37 2013 +0200 Update of Italian translation Giuseppe Penone po/it.po | 3113 +++++++++++++++++++++++++++++++------------------------------- 1 file changed, 1564 insertions(+), 1549 deletions(-) commit 0c2dac1e2032ce272ac0febeb9b681fecda8d103 Author: Frank Lanitz Date: Mon Aug 19 17:58:24 2013 +0200 Update of German translation po/de.po | 802 ++++++++++++++++++++++++++++++++------------------------------- 1 file changed, 402 insertions(+), 400 deletions(-) commit 4e924817b36e491d3f04aa7f4857bd175c8f3d7e Author: Matthew Brush Date: Sun Aug 18 19:53:16 2013 -0700 Use empty string on win32 when no print command In the preferences dialog it would show a single quote because the print command couldn't be found and the NULL prematurely terminated the g_strconcat() call, leaving a single quote in the print command entry. Thanks to Lex for finding where the problem was. src/keyfile.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) commit 82f82ed372a21d1f1648e79ddc27029d5d9d2ea7 Author: Colomban Wendling Date: Sun Aug 18 00:29:04 2013 +0200 Use GLib's portable version gethostname(): g_get_host_name() Drop our own portability layer and use GLib's one instead (which actually does exactly the same as our own). Thanks to Matthew for spotting this. configure.ac | 2 +- src/keyfile.c | 4 +--- src/socket.c | 3 +-- src/utils.c | 13 ------------- src/utils.h | 2 -- src/win32.c | 12 ------------ src/win32.h | 2 -- win32-config.h | 3 --- wscript | 1 - 9 files changed, 3 insertions(+), 39 deletions(-) commit 978fca130f6d768354bd745509ace5d24947ad31 Author: Colomban Wendling Date: Fri Aug 16 14:45:57 2013 +0200 Fix our Scintilla patch It got broken by df589a9d52086b22fe1dc7591482f5aa8f9bbc0e -- you have to fix the line change count in the block header too. scintilla/scintilla_changes.patch | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit f934d2cf945dd23e9fe73dc7626719a18c439c26 Author: Fitorec Date: Thu Jun 14 08:34:21 2012 -0500 Update the `create_php_tags.php` script * Uses more recent URL (as updated in other PR) * Downloads the funcsummary.txt file by itself * Support running the script from any directory Closes #47 scripts/create_php_tags.php | 28 ++++++++++++++++------------ 1 file changed, 16 insertions(+), 12 deletions(-) commit 05c9f10dd8d437a4ad078d5bd8a4eb738e79674d Author: TheHappyMarquis Date: Sat Oct 6 12:27:27 2012 +0300 Restore HTML filetype doublestring/hstring to original color Closes #74 and #75 data/filetypes.common | 2 +- data/filetypes.html | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) commit 7d4a2928b7d020c9d7e330550550f55422b4877b Author: Hoàng Minh Thắng Date: Sun Jan 13 18:57:46 2013 +0700 Add Clojure filetype Includes changes in referenced pull request comments. Closes #92 data/filetypes.Clojure.conf | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) commit 4c3730caf782d4286e8a84bd0a2c2766013f7c8f Author: Igor Shaula Date: Fri Apr 12 23:14:08 2013 +0300 LexPowerShell fixes and improvements * fix here-string highlighting * add doccomment keyword highlighting * add #region folding Closes #132 data/filetypes.powershell | 4 +++ scintilla/lexers/LexPowerShell.cxx | 51 ++++++++++++++++++++++++++++++++++++-- src/highlightingmappings.h | 32 +++++++++++++----------- 3 files changed, 71 insertions(+), 16 deletions(-) commit df589a9d52086b22fe1dc7591482f5aa8f9bbc0e Author: Igor Shaula Date: Wed Apr 10 20:54:59 2013 +0300 Add PowerShell filetype Windows PowerShell is a command-line shell and associated scripting language which comes out of the box with Windows 7/Server 2008/8/Server 2012. Original lexer from Scintilla is used. data/filetype_extensions.conf | 1 + data/filetypes.powershell | 55 ++++++++++ scintilla/Makefile.am | 1 + scintilla/lexers/LexPowerShell.cxx | 201 +++++++++++++++++++++++++++++++++++++ scintilla/makefile.win32 | 1 + scintilla/scintilla_changes.patch | 2 +- scintilla/src/Catalogue.cxx | 1 + src/filetypes.c | 6 ++ src/filetypes.h | 1 + src/highlighting.c | 2 + src/highlightingmappings.h | 30 ++++++ 11 files changed, 300 insertions(+), 1 deletion(-) commit d44dfdb9ac76924c94964545e1f600201e27903c Author: Matthew Brush Date: Thu Aug 9 16:53:33 2012 -0700 Save configuration when plugin manager dialog is closed Closes #62 src/plugins.c | 2 ++ 1 file changed, 2 insertions(+) commit ef7b092ef952abccf023b336c0bd3f03429ea552 Author: Antoine Turmel Date: Thu Aug 15 22:42:38 2013 +0200 Adding .properties file under Conf markup See http://en.wikipedia.org/wiki/.properties Closes #162 data/filetype_extensions.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 1a185d87a4e40a2b361bfa6c469190b7a3cfd927 Author: Benjamin Chrétien Date: Sat Jun 15 17:38:08 2013 +0900 Add CUDA C/C++ support Closes #147 data/filetype_extensions.conf | 5 ++-- data/filetypes.CUDA.conf | 60 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 63 insertions(+), 2 deletions(-) commit 706abfbf38c602fe1ec99d2b25e9ca150f3f24d0 Author: YosefOr Date: Sun Mar 10 17:48:27 2013 +0200 Add detection of PKGBUILD files as Shell scripts Closes #120 data/filetype_extensions.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 9e22ec85359ef97c1995f233f615767bb97a341a Author: Miro Hrončok Date: Fri Mar 22 18:14:43 2013 +0100 Added Graphviz custom filetype Closes #125 data/filetype_extensions.conf | 3 ++- data/filetypes.Graphviz.conf | 59 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 61 insertions(+), 1 deletion(-) commit b11a3adb7bc4f04d3cfc7b7a40cf8e3704dde523 Author: Ypnose Date: Fri Mar 22 19:49:59 2013 +0100 Add detection support for various Shell scripts * Add shebang detection of mksh and tcsh. * Add file extension detection of mksh, tcsh, and the various "profile" shell scripts. Closes #126 data/filetype_extensions.conf | 2 +- src/filetypes.c | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) commit 01b7191d661c5a2abbf521eeccaa9dcb0ed4adf0 Author: Edward Hutchins Date: Sat Jun 29 10:09:50 2013 -0700 Added hashbang detection for node=>javascript. Closes #149 src/filetypes.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) commit 03e3ba798748bcc5186dedaaaa5871faf6527322 Author: Felix Totir Date: Fri Feb 1 18:02:10 2013 +0100 Added keywords for Matlab classes syntax highlight Closes #136 data/filetypes.matlab | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit a1e920527086984ebfe2643e3daa6c6fa22bf7d0 Author: John Long Date: Sat May 4 19:11:30 2013 -0500 Update PHP source repo for tags and tags file The new tags file seems to have lots of new symbols. It needs testing by PHP programmers. Closes #137 data/php.tags | 6551 ++++++++++++++++++++++++++++--------------- scripts/create_php_tags.php | 4 +- 2 files changed, 4297 insertions(+), 2258 deletions(-) commit c615d8431fa2cf808ec692f1c605834186a39c08 Author: Nick Treleaven Date: Thu Aug 15 17:52:13 2013 +0100 Don't call getenv twice src/symbols.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) commit 17f9dac0c683375422996a78be8cea20a2fd23f1 Author: Colomban Wendling Date: Thu Aug 15 14:49:16 2013 +0200 Update our Scintilla patch for Batch lexer scintilla/scintilla_changes.patch | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 6063e077c37230d03ca4d7fd1844e9a3dea25a77 Author: Colomban Wendling Date: Fri Aug 9 00:59:49 2013 +0200 PHP: Recognize vertical tab (\v) and form-feed (\f) as whitespaces Even though PHP doesn't handle those very well (it emits warnings about "unexpected character"), it still counts them as whitespaces, so properly handle them as such. tagmanager/ctags/php.c | 18 +++++++++--------- tests/ctags/Makefile.am | 1 + tests/ctags/whitespaces.php | 34 ++++++++++++++++++++++++++++++++++ tests/ctags/whitespaces.php.tags | 9 +++++++++ 4 files changed, 53 insertions(+), 9 deletions(-) commit 0101365b1f23a804ebfca875a31846d441a09ca4 Author: Colomban Wendling Date: Fri Aug 9 00:59:20 2013 +0200 PHP: Add strings tests tests/ctags/Makefile.am | 1 + tests/ctags/strings.php | 24 ++++++++++++++++++++++++ tests/ctags/strings.php.tags | 9 +++++++++ 3 files changed, 34 insertions(+) commit a114d1c3e2ea28a5595e3e50d14065089c26a73d Author: Frank Lanitz Date: Thu Aug 15 14:43:36 2013 +0200 Update of German trnaslation to fix a double use of accelerator po/de.po | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 09e7d8398fd168fd0aabfd908ffbdf429d7fc53e Author: exbb2 Date: Sun Jul 21 19:45:28 2013 +0300 Haskell filetype improvements and support for Literal Haskell Closes #155 and also closes #139 data/filetype_extensions.conf | 2 +- data/filetypes.haskell | 20 +++++++++++++++----- src/editor.c | 4 +++- src/highlighting.c | 11 +++++++++-- src/highlightingmappings.h | 4 +++- 5 files changed, 31 insertions(+), 10 deletions(-) commit b518770dea6daeba90f5c16a9b194f16b7de39c9 Author: canou Date: Mon Aug 12 21:51:00 2013 +0200 Add support for DOS, OS/2 and Windows batch files * Uses existing LexOthers.cxx from Scintilla already in use by Geany * "identifier" style mapping goes to "string" for better presentation even if it's semantically incorrect, we'll change it back if it causes issues for anyone. * Filetype configuration and keywords taken from Don Ho's Notepad++. Closes #160 data/filetype_extensions.conf | 1 + data/filetypes.batch | 40 ++++++++++++++++++++++++++++++++++++++++ scintilla/src/Catalogue.cxx | 1 + src/filetypes.c | 6 ++++++ src/filetypes.h | 1 + src/highlighting.c | 2 ++ src/highlightingmappings.h | 21 +++++++++++++++++++++ 7 files changed, 72 insertions(+) commit a08f595b359361c5c0c28cb52fed4fd0f3daa231 Author: Fabio Ticconi Date: Fri Jul 26 16:46:15 2013 +0100 Erlang filetype and snippets improvements * Add .hrl Erlang "header" file * Add some useful snippets * Add template for Erlang files as per EDocs guidelines Closes #157 data/filetype_extensions.conf | 2 +- data/snippets.conf | 11 +++++++++++ data/templates/files/module.erl | 10 ++++++++++ 3 files changed, 22 insertions(+), 1 deletion(-) commit 0998f1c19c4a199c14920a3802172d820859be08 Author: Nick Treleaven Date: Sun Aug 11 14:10:57 2013 +0100 Make code more readable by renaming poorly named macros NZV and NVL Closes #159 plugins/classbuilder.c | 2 +- plugins/export.c | 2 +- plugins/filebrowser.c | 10 +++++----- plugins/htmlchars.c | 2 +- plugins/saveactions.c | 10 +++++----- src/build.c | 38 +++++++++++++++++++------------------- src/callbacks.c | 6 +++--- src/dialogs.c | 12 ++++++------ src/editor.c | 20 ++++++++++---------- src/filetypes.c | 14 +++++++------- src/highlighting.c | 8 ++++---- src/keyfile.c | 4 ++-- src/main.c | 4 ++-- src/msgwindow.c | 4 ++-- src/plugins.c | 8 ++++---- src/printing.c | 4 ++-- src/project.c | 12 ++++++------ src/search.c | 20 ++++++++++---------- src/sidebar.c | 4 ++-- src/socket.c | 2 +- src/symbols.c | 8 ++++---- src/templates.c | 8 ++++---- src/toolbar.c | 4 ++-- src/tools.c | 12 ++++++------ src/ui_utils.c | 2 +- src/utils.c | 14 +++++++------- src/utils.h | 11 ++++++++--- src/vte.c | 4 ++-- tagmanager/src/tm_symbol.c | 12 ++++++------ tagmanager/src/tm_tag.c | 14 +++++++------- tagmanager/src/tm_work_object.h | 2 +- 31 files changed, 141 insertions(+), 136 deletions(-) commit db140bb614e56a08546c2bc4eb58359dfe7d2c7c Author: Antoine Turmel Date: Tue Aug 13 10:12:43 2013 +0200 Adding .xul and .dtd extensions with XML See: http://en.wikipedia.org/wiki/.xul and http://en.wikipedia.org/wiki/.dtd Closes #161 data/filetype_extensions.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 5dbad33a240b6a922259881d1ac76007ed13f77a Merge: cba7fcfe 992ee22c Author: Frank Lanitz Date: Wed Aug 14 04:52:34 2013 -0700 Merge pull request #158 from duncannz/master Add various HTML5 keywords commit cba7fcfe9559c01a97d044db29654530938c5290 Author: Nick Treleaven Date: Mon Aug 12 15:18:20 2013 +0100 Fix full hashing on 64-bit platforms tagmanager/src/tm_workspace.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 6d334853370ca3c7091e82f6ea082633f426982b Author: Nick Treleaven Date: Sun Aug 11 14:53:35 2013 +0100 Fix warning 'comparison between signed and unsigned integer expressions' With gcc on Windows. src/socket.c | 4 ++++ 1 file changed, 4 insertions(+) commit 0c7cf8df103232a5ccee7da4e46d611b35eae033 Author: Nick Treleaven Date: Sun Aug 11 14:31:30 2013 +0100 Fix gcc warning 'cast to pointer from integer of different size' tagmanager/src/tm_workspace.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit c4f98d85cbd04b876b1925f69b1a8aff0004e7cf Author: Nick Treleaven Date: Sun Aug 11 10:54:19 2013 +0100 Use proper string comparison for portability src/dialogs.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) commit cc9e56e9bc1624dcebd4c2cae9010edd9acb1936 Author: Colomban Wendling Date: Thu Aug 8 17:23:42 2013 +0200 PHP: Fix parsing of anonymous functions using the "use" keyword http://www.php.net/manual/en/language.namespaces.php#104136 tagmanager/ctags/php.c | 30 ++++++++++++++++++++++++++++-- tests/ctags/anonymous_functions.php | 7 +++++++ tests/ctags/anonymous_functions.php.tags | 2 ++ 3 files changed, 37 insertions(+), 2 deletions(-) commit fb7bd34592e2905b83aee43c1a396354dfd6867a Author: Colomban Wendling Date: Thu Aug 8 16:52:54 2013 +0200 PHP: Fix parsing of anonymous functions returning a reference tagmanager/ctags/php.c | 14 ++++++++------ tests/ctags/Makefile.am | 1 + tests/ctags/anonymous_functions.php | 24 ++++++++++++++++++++++++ tests/ctags/anonymous_functions.php.tags | 7 +++++++ 4 files changed, 40 insertions(+), 6 deletions(-) commit 9fbe2bc3193a2c1ee5af43c7b40fa3e69372433c Author: Frank Lanitz Date: Thu Aug 8 11:42:48 2013 +0200 splitwindow: Change wording for keybinding to by in sync with tools-menu entries. Should fix #102 plugins/splitwindow.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit f15f61768d190dbddb58a7e25b72be035f7cffda Author: elextr Date: Mon Aug 5 12:13:42 2013 +1000 Fix sign comparison warning Since the previous line ensured len is < 100, just casting it is fine. src/editor.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 992ee22ce7ca53fc470036f90f03111ad2849362 Author: Duncan de Wet Date: Wed Jul 31 17:39:11 2013 +1200 Add various HTML5 keywords data/filetypes.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 0b010e2f45b2e874fc91ebbbabf176fc887290a9 Author: Colomban Wendling Date: Mon Jul 22 11:15:02 2013 +0200 Bash: Fix handling of quoted HereDoc delimiters Imported from upstream Scintilla bb784e214430498e91c9935bbc841c798629212f Closes [bugs:#952] scintilla/lexers/LexBash.cxx | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) commit 458f4f2e75d1a48eae2cb3d3f08c01e11dcb8243 Author: Colomban Wendling Date: Sun Jul 21 13:50:25 2013 +0200 Don't warn when trying to close a document when none are open When using the document close keybinding, it is legitimate for the callback to be called even if there are no documents open, so properly check for this. Closes [bugs:#941] src/callbacks.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) commit f0f3a6cd9926b2b36406986fad9c4e866b379b1d Author: Colomban Wendling Date: Sun Jul 21 11:52:17 2013 +0200 Update Scintilla to version 3.3.4 scintilla/Makefile.am | 7 + scintilla/gtk/PlatGTK.cxx | 2 +- scintilla/gtk/ScintillaGTK.cxx | 91 +- scintilla/include/ILexer.h | 2 + scintilla/include/Platform.h | 6 + scintilla/lexers/LexAda.cxx | 15 - scintilla/lexers/LexHaskell.cxx | 41 +- scintilla/lexers/LexLua.cxx | 35 +- scintilla/lexers/LexOthers.cxx | 5 +- scintilla/lexers/LexPerl.cxx | 118 +- scintilla/lexers/LexRuby.cxx | 2 +- scintilla/lexlib/CharacterCategory.cxx | 3303 ++++++++++++++++++++++++++++++++ scintilla/lexlib/CharacterCategory.h | 31 + scintilla/lexlib/LexAccessor.h | 6 + scintilla/lexlib/StyleContext.h | 150 +- scintilla/makefile.win32 | 3 + scintilla/scintilla_changes.patch | 2 +- scintilla/src/CaseConvert.cxx | 630 ++++++ scintilla/src/CaseConvert.h | 47 + scintilla/src/CaseFolder.cxx | 68 + scintilla/src/CaseFolder.h | 45 + scintilla/src/CellBuffer.cxx | 14 +- scintilla/src/CellBuffer.h | 2 +- scintilla/src/Document.cxx | 115 +- scintilla/src/Document.h | 20 +- scintilla/src/Editor.cxx | 222 +-- scintilla/src/Editor.h | 46 +- scintilla/src/PositionCache.cxx | 1 + scintilla/src/ScintillaBase.cxx | 1 + scintilla/src/Selection.cxx | 1 + scintilla/src/UnicodeFromUTF8.h | 19 + scintilla/src/ViewStyle.cxx | 7 +- scintilla/version.txt | 2 +- 33 files changed, 4605 insertions(+), 454 deletions(-) commit 7d1cd77eefdad27d228e9452443dbc415906d43b Author: Colomban Wendling Date: Sun Jul 21 11:33:40 2013 +0200 update-scintilla.sh: Fix displaying of the message for new files scripts/update-scintilla.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit e0ef859c7fd77215a4cde375fc96ab37731e97e1 Author: Colomban Wendling Date: Fri Jul 19 17:09:57 2013 +0200 Verilog: Fix parsing initializers Import upstream CTags fix for parsing Verilog initalizers (fixes parsing of test bug2747828.v). tagmanager/ctags/verilog.c | 1 + tests/ctags/bug2747828.v.tags | 1 - 2 files changed, 1 insertion(+), 1 deletion(-) commit c7e0fba6ca61ababf570953627436ca4756667bb Author: Colomban Wendling Date: Fri Jul 19 16:35:34 2013 +0200 ObjectiveC: Fix re-parsing Import upstream CTags fix for proper reinitialization of the ObjectiveC parser, fixing parsing after the first call. tagmanager/ctags/objc.c | 65 +++++++++++++++++++++++++++---------------------- 1 file changed, 36 insertions(+), 29 deletions(-) commit 8d3085b61c7b86457acb35c4b298d5afcea17082 Author: elextr Date: Thu Jul 18 13:00:06 2013 +1000 Add C++ member pointer operator to scope autocomplete operators C++ member pointers use the syntax ->* so the scope autocomplete list was showing after -> then disappearing when * was typed. Fixes #907 h. src/editor.c | 2 ++ 1 file changed, 2 insertions(+) commit cac1115ced305f4828cbc49f08c12d95e05d9e85 Author: elextr Date: Thu Jul 18 12:36:42 2013 +1000 Prevent reading past start of Scintilla buffer A quick check seemed to show Scintilla does not check the minimum value is positive, so just check here to be safe and log message if it fails. src/editor.c | 1 + 1 file changed, 1 insertion(+) commit 6e902613b38372486b831be121af7579f377a7c5 Author: Colomban Wendling Date: Tue Jul 16 18:37:58 2013 +0200 Improve some test ordering Spotted by Daniel Marjamäki, thanks. src/symbols.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) commit 768f86bf5ee1de2feff2f7231b6a5c3301943166 Author: Yosef Or Boczko Date: Mon Jul 15 14:00:25 2013 +0300 Updated Hebrew translation Signed-off-by: Frank Lanitz po/he.po | 443 +++++++++++++++++++++++++++++++-------------------------------- 1 file changed, 220 insertions(+), 223 deletions(-) commit b016e132fd3578c71f3362399b91562e2f6623c8 Author: Colomban Wendling Date: Mon Jul 15 17:42:00 2013 +0200 Java: Report enums and fix parsing them src/symbols.c | 1 + tagmanager/ctags/c.c | 29 +++++++++++++++++++++-------- tests/ctags/enum.java.tags | 10 ++++++++++ tests/ctags/java_enum.java | 5 +++++ tests/ctags/java_enum.java.tags | 11 +++++++++++ 5 files changed, 48 insertions(+), 8 deletions(-) commit 80ad5c145900ac29b9fefdab5b84345b2e26268c Merge: 66396e7c 3dc54228 Author: Colomban Wendling Date: Mon Jul 15 15:48:00 2013 +0200 Merge branch 'aeberspaecher/cython/ndarray-fix' commit 3dc54228608b01bccd4d198cec852912000730ad Author: Alexander Eberspächer Date: Mon Jul 8 14:27:28 2013 +0200 Add test for complex datatype Cython tag generation tests/ctags/Makefile.am | 1 + tests/ctags/cython_sample2.pyx | 11 +++++++++++ tests/ctags/cython_sample2.pyx.tags | 3 +++ 3 files changed, 15 insertions(+) commit e6878e5cbf47f1e7a000952380f1d6a3a7a63aa2 Author: Alexander Eberspächer Date: Mon Jul 8 13:08:05 2013 +0200 Fix ctags for complex Cython type declarations Cython allows the use NumPy arrays on a C level. In that context, a typical return type declaration could be e.g. "cpdef numpy.ndarray[dtype=double, ndim=1] name". This now generates a tag for the function. Previously, the equal sign prevented that. tagmanager/ctags/python.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) commit 66396e7ca7e892d734daf9b6579b3dce9a742548 Author: Colomban Wendling Date: Mon Jul 15 00:49:12 2013 +0200 PHP: Fix infinite loop reading an identifier ending at EOF Bit-wise operation is inappropriate here because `c` might be negative, since EOF is generally represented as -1. Since -1 is stored as all bits at 1 on most common architectures, the test will evaluate to true, hence entering an infinite loop. tagmanager/ctags/php.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 9ae90f3f877117c8d4fd7f03d2222aa19acc60bf Author: Yosef Or Boczko Date: Thu Jul 4 11:30:41 2013 +0300 Fix the my last name and update the my e-mail Signed-off-by: Frank Lanitz THANKS | 2 +- po/he.po | 4 ++-- src/about.c | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) commit b39f90c94d54dd80e1f025e90c03fbf6455fadb9 Author: Colomban Wendling Date: Sun Jul 14 20:34:44 2013 +0200 C++11, C#: Fix parsing of enums with a base type inside classes tagmanager/ctags/c.c | 16 ++++++++-------- tests/ctags/Makefile.am | 1 + tests/ctags/cxx11enum.cpp | 9 +++++++++ tests/ctags/cxx11enum.cpp.tags | 19 +++++++++++++++++++ tests/ctags/keyword_enum.cs.tags | 4 +++- 5 files changed, 40 insertions(+), 9 deletions(-) commit af5dfba9d8ab0f6af737f7ac17ad1df675e550ba Author: Colomban Wendling Date: Sun Jul 14 03:00:34 2013 +0200 C#: Correctly parse enums with a base type specifier See CSharp Language Specification 14.1. tagmanager/ctags/c.c | 3 ++- tests/ctags/bug1515910.cs.tags | 6 +++--- 2 files changed, 5 insertions(+), 4 deletions(-) commit d91c532f958dbb88c047f5bf9858f5b53f28a5a7 Author: Colomban Wendling Date: Sat Jul 13 23:00:43 2013 +0200 Remove a few dead assignments Spotted by clang --analyze. src/editor.c | 4 +--- src/symbols.c | 1 - 2 files changed, 1 insertion(+), 4 deletions(-) commit f23b7267cffcb615a4f970d824b38c04d58fc426 Author: Colomban Wendling Date: Sat Jul 13 22:13:07 2013 +0200 Fix possible dereference of NULL pointer Use g_set_error() instead of doing it manually and forgetting to check whether the pointer is NULL or not before dereferencing it. Spotted by clang --analyze. src/utils.c | 27 ++------------------------- 1 file changed, 2 insertions(+), 25 deletions(-) commit f0e590022b89ede69cd00ef270c05aa39cd3ed46 Author: Colomban Wendling Date: Fri Jul 12 15:39:57 2013 +0200 Fix the test suite with Automake < 1.13 The test suite uses a LOG_COMPILER, which requires the parallel-tests Automake test driver which is the default only since version 1.13, so explicitly enable it so it is used by earlier versions too. Moreover, the parallel-tests test diver was introduced by Automake 1.11, as was the option, so we need to depend on it too. It was released 2009-05-17, which is 2 months after GTK 2.16, the minimum GTK version we depend on (2009-03-13). If this is a problem, we could also rework the Automake test layout to use the older and a little deprecated serial-tests test driver that is the historical one. configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 4ec7757f2b18be981e60dbdd0cc1575f9e88e967 Author: Asier Iturralde Sarasola Date: Sat Jul 6 15:11:25 2013 +0200 Updated Basque translation Signed-off-by: Frank Lanitz po/eu.po | 225 ++++++++++++++++++++++++++++++++++----------------------------- 1 file changed, 122 insertions(+), 103 deletions(-) commit 4bfac4fcdacb93f58d36496769c5f03e7603788a Merge: d1f20057 436e0bf3 Author: Colomban Wendling Date: Wed Jul 3 19:27:19 2013 +0200 Merge branch 'wip/better-php-parser' commit 436e0bf3f3cf8461c3e2e7c146b18ede3edc2b56 Author: Colomban Wendling Date: Wed Jul 3 19:13:11 2013 +0200 PHP: add PHP 5.5 keywords data/filetypes.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit f842ed9aac47d1c51115df4f1b3880435fbdc115 Author: Colomban Wendling Date: Wed Jul 3 19:08:07 2013 +0200 Tests: add PHP case sensitivity test tests/ctags/Makefile.am | 1 + tests/ctags/case_sensitivity.php | 40 +++++++++++++++++++++++++++++++++++ tests/ctags/case_sensitivity.php.tags | 17 +++++++++++++++ 3 files changed, 58 insertions(+) commit 4de97daa8ce4622d5ff9d366291a29839ed960e1 Author: Colomban Wendling Date: Wed Jul 3 18:58:43 2013 +0200 Tests: add test for PHP 5.5 additional usage of the "class" keyword tests/ctags/Makefile.am | 1 + tests/ctags/php5_5_class_kw.php | 19 +++++++++++++++++++ tests/ctags/php5_5_class_kw.php.tags | 5 +++++ 3 files changed, 25 insertions(+) commit ad37ced1c240f8c724eac40e237a6285ca13cb43 Author: Colomban Wendling Date: Wed Jul 3 18:57:18 2013 +0200 PHP: recognize PHP 5.5 keywords finally and yield as such tagmanager/ctags/php.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) commit 9b1890b6054b0083860569fb3a066dbf2648b7fa Author: Colomban Wendling Date: Thu Jun 27 00:42:28 2013 +0200 PHP: add support for " geany-1.32/tests/ctags/simple.d0000644000175000017500000000162013204251306013357 00000000000000module test.simple; import std.stdio; alias AliasInt = int; struct Struct { union Union { bool quxx; int qar; } } enum Enum : int { foo, bar, } interface Interface { public AliasInt bar(); } class Class : Interface { private AliasInt _bar; public this(AliasInt x) { this._bar = x; } public AliasInt bar() { return this._bar; } protected: auto tfun(T)(T v) { return v; } } public { int missing; // FIXME - parse protection blocks } template Template(alias a, T...) { alias TemplateAlias = a!T; } Object obj; private: int i; /+ int error; +/ static if (is(typeof(__traits(getMember, a, name)) == function)) T conditional; static assert( num < TL.length, "Name '"~name~"' is not found"); __gshared int globalVar; void main(string[] args) { auto foo = new Class(1337); alias string AliasString; AliasString baz = "Hello, World!"; writefln("%s", foo.bar()); } geany-1.32/tests/ctags/simple.cbl0000644000175000017500000000161213204251306013675 00000000000000 IDENTIFICATION DIVISION. PROGRAM-ID. Program-Name. AUTHOR. Darren Hiebert. ENVIRONMENT DIVISION. INPUT-OUPUT SECTION. FILE-CONTROL. SELECT File-Name ASSIGN TO "SAMPLE.DAT" ORGANIZATION IS LINE SEQUENTIAL. DATA DIVISION. FILE SECTION. FD File-Name. 01 File-Group-Name. 02 File-Data-Item PIC 9(7). WORKING-STORAGE SECTION. 01 Group-Name. 02 Data-Item1 PIC 9 VALUE ZEROS. 03 SH-WORK-MMDDYYYY PIC 9(08) VALUE 0. 03 SH-WORK-MMDDYYYY-2 REDEFINES SH-WORK-MMDDYYYY. 03 DW-DAYS-IN-MONTHS VALUE "312831303130313130313031". 05 DW-DAYS-IN-MONTH OCCURS 12 TIMES PIC 9(02). PROCEDURE DIVISION. Begin. STOP RUN. Subprogram-Name. geany-1.32/tests/ctags/simple.bas0000644000175000017500000000030713204251306013702 00000000000000Gosub start Const one = 1 Common a As Integer Dim b As Integer DIM AS STRING str Type test a As Integer b As Integer End Type Function f() a = 3 End Function start: f() Return geany-1.32/tests/ctags/signature.cpp0000644000175000017500000000027513204251306014433 00000000000000/* Tests for collection of signature */ void foo (int a, char b) {} int bar (a, b) int a; char b; {} char *BAR::bar (char *c, double d[]) const {} void foobar __ARGS ((int a, char b)); geany-1.32/tests/ctags/shebang.js0000644000175000017500000000004613204251306013667 00000000000000#!/usr/bin/end nodejs function f(){} geany-1.32/tests/ctags/semicolon.f900000644000175000017500000000013413204251306014230 00000000000000 MODULE SEMI INTEGER (4) :: VAR1; INTEGER (4) VAR2 END MODULE SEMI geany-1.32/tests/ctags/secondary_fcn_name.js0000644000175000017500000000144013204251306016074 00000000000000/* * ctags should return the following for parsing this file using: * ctags -f - test.js * functions * D1 * D2 * D2A * theAdd * variables * my_global_var1 */ function D1(a, b) { var my_local_var1 = 'local'; return a+b; } alert(D1(1,2)); // produces 3 // Example D2 var D2=function(a, b) { return a+b; } alert(D2(1,2)); // produces 3 var my_global_var1 = 'global'; // Example D2A // Tags should be generated for both: // D2A // theAdd var D2A=function theAdd(a, b) { return a+b; } alert(D2A(1,2)); // produces 3 alert(theAdd(1,2)); // also produces 3 geany-1.32/tests/ctags/sample.t2t0000644000175000017500000001177013204251306013644 00000000000000TXT2TAGS SAMPLE Aurelio Jargas %%mtime(%m/%d/%Y) %!encoding: UTF-8 This text is before the introduction. But it's OK. = Introduction = Welcome to the txt2tags sample file. Here you have examples and a brief explanation of all marks. The first 3 lines of this file are used as headers, on the following format: ``` line1: document title line2: author name, email line3: date, version ``` Lines with balanced equal signs = around are titles. % a secret comment! %TODO link to program site http://txt2tags.org = Fonts and Beautifiers = We have two sets of fonts: The NORMAL type that can be improved with beautifiers. The TYPEWRITER type that uses monospaced font for pre-formatted text. We will now enter on a subtitle... == Beautifiers == The text marks for beautifiers are simple, just as you type on a plain text email message. We use double *, /, - and _ to represent **bold**, //italic//, --strike-- and __underline__. The **//bold italic//** style is also supported as a combination. == Pre-Formatted Text == We can put a code sample or other pre-formatted text: ``` here is pre-formatted //marks// are **not** ``interpreted`` ``` And also, it's easy to put a one line pre-formatted text: ``` prompt$ ls /etc Or use ``pre-formatted`` inside sentences. == More Cosmetics == Special entities like email (duh@somewhere.com) and URL (http://www.duh.com) are detected automagically, as long as the horizontal line: -------------------------------------------------------- ^ thin or large v ======================================================== You can also specify an [explicit link http://duh.org] or an [explicit email duh@somewhere.com] with label. And remember, A TAB in front of the line does a quotation. More TABs, more depth (if allowed). Nice. = Lists = A list of items is natural, just putting a **dash** or a **plus** at the beginning of the line. == Plain List == The dash is the default list identifier. For sublists, just add **spaces** at the beginning of the line. More spaces, more sublists. - Earth - America - South America - Brazil - How deep can I go? - Europe - Lots of countries - Mars - Who knows? The list ends with **two** consecutive blank lines. == Numbered List == The same rules as the plain list, just a different identifier (plus). + one + two + three - mixed lists! - what a mess + counting again + ... + four == Definition List == The definition list identifier is a colon, followed by the term. The term contents is placed on the next line. : orange a yellow fruit : apple a green or red fruit : other fruits - wee! - mixing lists + again! + and again! = Tables = Use pipes to compose table rows and cells. Double pipe at the line beginning starts a heading row. Natural spaces specify each cell alignment. | cell 1.1 | cell 1.2 | cell 1.3 | | cell 2.1 | cell 2.2 | cell 2.3 | | cell 3.1 | cell 3.2 | cell 3.3 | || heading 1 | heading 2 | heading 3 | | cell 1.1 | cell 1.2 | cell 1.3 | | cell 2.1 | cell 2.2 | cell 2.3 | |_ heading 1 | cell 1.1 | cell 1.2 | | heading 2 | cell 2.1 | cell 2.2 | | heading 3 | cell 3.1 | cell 3.2 | |/ heading | heading 1 | heading 2 | | heading 1 | cell 1.1 | cell 1.2 | | heading 2 | cell 2.1 | cell 2.2 | Without the last pipe, no border: | cell 1.1 | cell 1.2 | cell 1.3 | cell 2.1 | cell 2.2 | cell 2.3 | cell 3.1 | cell 3.2 | cell 3.3 || heading 1 | heading 2 | heading 3 | cell 1.1 | cell 1.2 | cell 1.3 | cell 2.1 | cell 2.2 | cell 2.3 |_ heading 1 | cell 1.1 | cell 1.2 | heading 2 | cell 2.1 | cell 2.2 | heading 3 | cell 3.1 | cell 3.2 |/ heading | heading 1 | heading 2 | heading 1 | cell 1.1 | cell 1.2 | heading 2 | cell 2.1 | cell 2.2 = Special Entities = Because things were too simple. == Images == The image mark is as simple as it can be: ``[filename]``. [img/photo.jpg] And with some targets the image is linkable : [[img/photo.jpg] http://www.txt2tags.org] - The filename must end in PNG, JPG, GIF, or similar. - No spaces inside the brackets! == Other == When the target needs, special chars like <, > and & are escaped. The handy ``%%date`` macro expands to the current date. So today is %%date on the ISO ``YYYYMMDD`` format. You can also specify the date format with the %? flags, as ``%%date(%m-%d-%Y)`` which gives: %%date(%m-%d-%Y). That's all for now. ------------------------------------------------------- %%% TRANSLATOR: Uncomment and translate the next two lines %Translated by John Smith. %------------------------------------------------------- [img/t2tpowered.png] ([%%infile %%infile]) % vim: tw=55 geany-1.32/tests/ctags/rules.t2t0000644000175000017500000005374213204251306013522 00000000000000Txt2tags Markup Rules %!includeconf: rules.conf This document describes all the details about each txt2tags mark. The target audience are **experienced** users. You may find it useful if you want to master the marks or solve a specific problem about a mark. If you are new to txt2tags or just want to know which are the available marks, please read the [Markup Demo MARKUPDEMO]. Note 1: This document is generated directly from the txt2tags test-suite. All the rules mentioned here are 100% in sync with the current program code. Note 2: A good practice is to consult [the sources rules.t2t] when reading, to see how the texts were made. Table of Contents: %%TOC ------------------------------------------------------------- = Paragraph =[paragraph] %INCLUDED(t2t) starts here: ../../../test/marks/paragraph.t2t BODYINIT %%% Syntax: Lines grouped together A paragraph is composed by one or more lines. A blank line (or a table, or a list) ends the current paragraph. %%% Syntax: Leading and trailing spaces are ignored Leading and trailing spaces are ignored. %%% Syntax: A comment don't close a paragraph A comment line can be placed inside a paragraph. % this comment will be ignored It will not affect it. %%% Closing: EOF closes the open paragraph The end of the file (EOF) closes the currently open paragraph. = Comment =[comment] %INCLUDED(t2t) starts here: ../../../test/marks/comment.t2t BODYINIT %%% Syntax: The % character at the line beginning (column 1) %glued with the % mark % separated from the % mark % very distant from the % mark %%%%%%% lots of % marks % a blank comment, used for vertical spacing: % % NOTE: what matters is the first % being at the line beginning, % the rest of the line is just ignored. %%% Syntax: Area (block) %%% You're not seeing this. %%% %%% Syntax: Area (block) with trailing spaces %%% You're not seeing this. %%% %%% Invalid: The % in any other position % not on the line beginning (at column 2) some text % half line comments are not allowed = Line =[line] %INCLUDED(t2t) starts here: ../../../test/marks/line.t2t BODYINIT %%% Syntax: At least 20 chars of - = _ -------------------- ==================== ____________________ %%% Syntax: Any kind of mixing is allowed %% Free mixing is allowed to make the line, %% but the first char is the identifier for %% the difference between separator ( - _ ) %% and strong ( = ) lines. =========----------- -_-_-_-_-_-_-_-_-_-_ =-=-=-=-=-=-=-=-=-=- =------------------= --------====-------- %%% Syntax: Leading and/or trailing spaces are allowed -------------------- -------------------- -------------------- %%% Invalid: Less than 20 chars (but strike matches) --------- %%% Invalid: Strange chars (but strike matches) --------- ---------- ---------+---------- ( -------------------- ) = Inline =[inline] %INCLUDED(t2t) starts here: ../../../test/marks/inline.t2t BODYINIT %%% Syntax: Marks are greedy and must be "glued" with contents %% GLUED: The contents must be glued with the marks, no spaces %% between them. Right after the opening mark there must be a %% non-blank character, as well as right before the closing mark. %% %% GREEDY: If the contents boundary character is the same as %% the mark character, it is considered contents, not mark. %% So ""****bold****"" turns to ""**bold**"" in HTML. i) **b** //i// __u__ --s-- ``m`` ""r"" ''t'' i) **bo** //it// __un__ --st-- ``mo`` ""ra"" ''tg'' i) **bold** //ital// __undr__ --strk-- ``mono`` ""raw"" ''tggd'' i) **bo ld** //it al// __un dr__ --st rk-- ``mo no`` ""r aw"" ''tg gd'' i) **bo * ld** //it / al// __un _ dr__ --st - rk-- ``mo ` no`` ""r " aw"" ''tg ' gd'' i) **bo **ld** //it //al// __un __dr__ --st --rk-- ``mo ``no`` ""r ""aw"" ''tg ''gd'' i) **bo ** ld** //it // al// __un __ dr__ --st -- rk-- ``mo `` no`` ""r "" aw"" ''tg '' gd'' i) ****bold**** ////ital//// ____undr____ ----strk---- ````mono```` """"raw"""" ''''tggd'''' i) ***bold*** ///ital/// ___undr___ ---strk--- ```mono``` """raw""" '''tggd''' %%% Syntax: Repetition is greedy %% When the mark character is repeated many times, %% the contents are expanded to the largest possible. %% Thats why they are greedy, the outer marks are %% the ones used. i) ***** ///// _____ ----- ````` """"" ''''' i) ****** ////// ______ ------ `````` """""" '''''' i) ******* /////// _______ ------- ``````` """"""" ''''''' i) ******** //////// ________ -------- ```````` """""""" '''''''' i) ********* ///////// _________ --------- ````````` """"""""" ''''''''' i) ********** ////////// __________ ---------- `````````` """""""""" '''''''''' %%% Invalid: No contents i) **** //// ____ ---- ```` """" '''' i) ** ** // // __ __ -- -- `` `` "" "" '' '' %%% Invalid: Contents not "glued" with marks %% Spaces between the marks and the contents in any side %% invalidate the mark. i) ** bold** // ital// __ undr__ -- strk-- `` mono`` "" raw"" '' tggd'' i) **bold ** //ital // __undr __ --strk -- ``mono `` ""raw "" ''tggd '' i) ** bold ** // ital // __ undr __ -- strk -- `` mono `` "" raw "" '' tggd '' = Link =[link] %INCLUDED(t2t) starts here: ../../../test/marks/link.t2t BODYINIT %%% Syntax: E-mail user@domain.com user@domain.com. user@domain.com. any text. any text: user@domain.com. any text. [label user@domain.com] %%% Syntax: E-mail with form data user@domain.com?subject=bla user@domain.com?subject=bla. user@domain.com?subject=bla, user@domain.com?subject=bla&cc=otheruser@domain.com user@domain.com?subject=bla&cc=otheruser@domain.com. user@domain.com?subject=bla&cc=otheruser@domain.com, [label user@domain.com?subject=bla&cc=otheruser@domain.com]. [label user@domain.com?subject=bla&cc=otheruser@domain.com.]. %%% Syntax: URL http://www.domain.com http://www.domain.com/dir/ http://www.domain.com/dir/// http://www.domain.com. http://www.domain.com, http://www.domain.com. any text. http://www.domain.com, any text. http://www.domain.com/dir/. any text. any text: http://www.domain.com. any text. any text: http://www.domain.com/dir/. any text. any text: http://www.domain.com/dir/index.html. any text. any text: http://www.domain.com/dir/index.html, any text. %%% Syntax: URL with anchor http://www.domain.com/dir/#anchor http://www.domain.com/dir/index.html#anchor http://www.domain.com/dir/index.html#anchor. http://www.domain.com/dir/#anchor. any text. http://www.domain.com/dir/index.html#anchor. any text. any text: http://www.domain.com/dir/#anchor. any text. any text: http://www.domain.com/dir/index.html#anchor. any text. %%% Syntax: URL with form data http://domain.com?a=a@a.a&b=a+b+c. http://domain.com?a=a@a.a&b=a+b+c, http://domain.com/bla.cgi?a=a@a.a&b=a+b+c. http://domain.com/bla.cgi?a=a@a.a&b=a+b+c@. %%% Syntax: URL with form data and anchor http://domain.com?a=a@a.a&b=a+b+c.#anchor http://domain.com/bla.cgi?a=a@a.a&b=a+b+c.#anchor http://domain.com/bla.cgi?a=a@a.a&b=a+b+c@.#anchor %%% Syntax: URL with login data http://user:password@domain.com/bla.html. http://user:password@domain.com/dir/. http://user:password@domain.com. http://user:@domain.com. http://user@domain.com. %%% Syntax: URL with login, form and anchor http://user:password@domain.com/bla.cgi?a=a@a.a&b=a+b+c.#anchor http://user:password@domain.com/bla.cgi?a=a@a.a&b=a+b+c@#anchor %%% Syntax: URL with label [label www.domain.com] %%% Syntax: URL with label (trailing spaces are discarded, leading are maintained) %TODO normalize this behavior [ label www.domain.com] [label www.domain.com] %%% Syntax: URL with label, stressing [anchor http://www.domain.com/dir/index.html#anchor.] [login http://user:password@domain.com/bla.html] [form http://www.domain.com/bla.cgi?a=a@a.a&b=a+b+c.] [form & anchor http://www.domain.com/bla.cgi?a=a@a.a&b=a+b+c.#anchor] [login & form http://user:password@domain.com/bla.cgi?a=a@a.a&b=a+b+c.] %%% Syntax: Link with label for local files [local link up ..] [local link file bla.html] [local link anchor #anchor] [local link file/anchor bla.html#anchor] [local link file/anchor bla.html#anchor.] [local link img abc.gif] %%% Syntax: Another link as a label [www.fake.com www.domain.com] %%% Syntax: URL with funny chars http://domain.com:8080/~user/_st-r@a=n$g,e/index%20new.htm http://domain.com:8080/~user/_st-r@a=n$g,e/index%20new.htm?a=/%22&b=+.@*_- http://domain.com:8080/~user/_st-r@a=n$g,e/index%20new.htm?a=/%22&b=+.@*_-#anchor_-1%. http://foo._user-9:pass!#$%&*()+word@domain.com:8080/~user/_st-r@a=n$g,e/index%20new.htm?a=/%22&b=+.@*_-#anchor_-1%. %%% Test: Various per line http://L1.com ! L2@www.com ! [L3 www.com] ! [L4 w@ww.com] ! www.L5.com %%% Feature: Guessed link, adding protocol automatically www.domain.com www2.domain.com ftp.domain.com WWW.DOMAIN.COM FTP.DOMAIN.COM [label www.domain.com] [label ftp.domain.com] [label WWW.DOMAIN.COM] [label FTP.DOMAIN.COM] %%% Invalid: Trailing space on link [label www.domain.com ] %%% Invalid: Label with ] char (use postproc) [label] www.domain.com] = Image =[image] %INCLUDED(t2t) starts here: ../../../test/marks/image.t2t BODYINIT %%% Syntax: Image name inside brackets: [img] [img.png] %%% Syntax: Image pointing to a link: [[img] link] [[img.png] http://txt2tags.org] %%% Align: Image position is preserved when inside paragraph [img.png] Image at the line beginning. Image in the middle [img.png] of the line. Image at the line end. [img.png] %%% Align: Image alone with spaces around is aligned [img.png] [img.png] [img.png] %%% Test: Two glued images with no spaces (left & right) [img.png][img.png] %%% Test: Various per line Images [img.png] mixed [img.png] with [img.png] text. Images glued together: [img.png][img.png][img.png]. %%% Invalid: Spaces inside are not allowed [img.png ] [ img.png] [ img.png ] = Macro =[macro] %INCLUDED(t2t) starts here: ../../../test/marks/macro.t2t BODYINIT %%% Syntax: Macro without formatting string Date : %%date - %%date() Mtime : %%mtime - %%mtime() Infile : %%infile - %%infile() Outfile : %%outfile - %%outfile() %%% Syntax: Macro name is case insensitive Date : %%dAtE Mtime : %%mTiMe Infile : %%iNfIlE Outfile : %%oUtFiLe %%% Syntax: Macro with formatting string Date : %%date(txt %C txt) Mtime : %%mtime(txt %C txt) Infile : %%infile(txt %e txt) Outfile : %%outfile(txt %e txt) %%% Syntax: Leading and trailing spaces are preserved Date : (%%date( txt )) - (%%date( %C )) Mtime : (%%mtime( txt )) - (%%mtime( %C )) Infile : (%%infile( txt )) - (%%infile( %e )) Outfile : (%%outfile( txt )) - (%%outfile( %e )) %%% Test: Expansion of the percent char Date : %%date(%) - %%date(%%) - %%date(%%%) - %%date(%%%) Mtime : %%mtime(%) - %%mtime(%%) - %%mtime(%%%) - %%mtime(%%%) Infile : %%infile(%) - %%infile(%%) - %%infile(%%%) - %%infile(%%%) Outfile : %%outfile(%) - %%outfile(%%) - %%outfile(%%%) - %%outfile(%%%) %%% Test: Various per line, glued Date : %%date(%C)%%date%%date Mtime : %%mtime(%C)%%mtime%%mtime Infile : %%infile(%e)%%infile%%infile Outfile : %%outfile(%e)%%outfile%%outfile %%% Test: Path formatters Path : %%infile(%p) Path : %%outfile(%p) Dirname : %%infile(%d, %D) Dirname : %%outfile(%d, %D) File : %%infile(%F + %e = %f) File : %%outfile(%F + %e = %f) = Numbered Title =[numtitle] See [Title #title], the same rules apply. = Title =[title] %INCLUDED(t2t) starts here: ../../../test/marks/title.t2t BODYINIT %%% Syntax: Balanced equal signs (from 1 to 5) = Title Level 1 = == Title Level 2 == === Title Level 3 === ==== Title Level 4 ==== ===== Title Level 5 ===== %%% Label: Between brackets, alphanumeric [A-Za-z0-9_-] = Title Level 1 =[lab_el-1] == Title Level 2 ==[lab_el-2] === Title Level 3 ===[lab_el-3] ==== Title Level 4 ====[lab_el-4] ===== Title Level 5 =====[lab_el-5] %%% Syntax: Spaces around and/or inside are allowed (and ignored) ===Title Level 3=== === Title Level 3 === === Title Level 3 === === Title Level 3 === === Title Level 3 === === Title Level 3 ===[lab_el-9] %%% Invalid: Unbalanced equal signs =Not Title ==Not Title= ===Not Title==== %%% Invalid: Level deeper than 5 ======Not Title 6====== =======Not Title 7======= %%% Invalid: Space between title and label =Not Title= [label1] %%% Invalid: Space inside label =Not Title=[ label ] %%% Invalid: Strange chars inside label =Not Title=[la/bel] = Quote =[quote] %INCLUDED(t2t) starts here: ../../../test/marks/quote.t2t BODYINIT %%% Syntax: TAB defines quote To quote a paragraph, just prefix it by a TAB character. All the lines of the paragraph must begin with a TAB. Any non-tabbed line closes the quote block. %%% Nesting: Creating deeper quotes The number of leading TABs identifies the quote block depth. This is quote level 1. With two TABs, we are on the quote level 2. The more TABs, more deep is the quote level. There isn't a limit. %%% Nesting: Reverse nesting works This quote starts at level 4. Then its depth is decreased. Counting down, one by one. Until the level 1. %%% Nesting: Random count Unlike lists, any quote block is independent, not part of a tree. The TAB count don't need to be incremental by one. The nesting don't need to follow any rule. Quotes can be opened and closed in any way. You choose. %%% Nesting: When not supported Some targets (as sgml) don't support the nesting of quotes. There is only one quote level. In this case, no matter how much TABs are used to define the quote block, it always will be level 1. %%% Syntax: Spaces after TAB Spaces AFTER the TAB character are allowed. But be careful, it can be confusing. %%% Invalid: Spaces before TAB Spaces BEFORE the TAB character invalidate the mark. It's not quote. %%% Invalid: Paragraphs inside Paragraph breaks inside a quote aren't possible. This sample are two separated quoted paragraphs, not a quote block with two paragraphs inside. %%% Closing: EOF closes the open block The end of the file (EOF) closes the currently open quote block. = Raw =[raw] See [Verbatim #verbatim], the same rules apply. = Verbatim =[verbatim] %INCLUDED(t2t) starts here: ../../../test/marks/verbatim.t2t BODYINIT %%% Syntax: A single line ``` A verbatim line. %%% Syntax: A single line with leading spaces ``` Another verbatim line, with leading spaces. %%% Syntax: Area (block) ``` A verbatim area delimited by lines with marks. ``` %%% Syntax: Area (block) with trailing spaces ``` Trailing spaces and TABs after the area marks are allowed, but not encouraged nor documented. ``` %%% Invalid: No space between mark and contents ```Not a verbatim line, need one space after mark. %%% Invalid: Leading spaces on block marks ``` Not a verbatim area. The marks must be at the line beginning, no leading spaces. ``` %%% Closing: EOF closes the open block ``` The end of the file (EOF) closes the currently open verbatim area. ``` = Definition List =[deflist] See [List #list], the same rules apply. = Numbered List =[numlist] See [List #list], the same rules apply. = List =[list] %INCLUDED(t2t) starts here: ../../../test/marks/list.t2t BODYINIT %%% Items: Prefixed by hyphen - Use the hyphen to prefix list items. - There must be one space after the hyphen. - The list is closed by two consecutive blank lines. %%% Items: Free leading spacing (indentation) - The list can be indented on the source document. - You can use any number of spaces. - The result will be the same. %%% Items: Vertical spacing between items - Let one blank line between the list items. - It will be maintained on the conversion. - Some targets don't support this behavior. - This one was separated by a line with blanks. You can also put a blank line inside the item contents and it will be preserved. %%% Items: Exactly ONE space after the hyphen -This is not a list (no space) - This is not a list (more than one space) - This is not a list (a TAB instead the space) %%% Items: Catchy cases - - This is a list - + This is a list - : This is a list %%% Nesting: Creating sublists - This is the "mother" list first item. - Here is the second, but inside this item, - there is a sublist, with its own items. - Note that the items of the same sublist - must have the same indentation. - And this can go on, opening sublists. - Just add leading spaces before the - hyphen and sublists will be opened. - The two blank lines closes them all. %%% Nesting: Free leading spacing (indentation) - When nesting lists, the additional spaces are free. - You can add just one, - or many. - What matters is to put more than the previous. - But remember that the other items of the same list - must use the same indentation. %%% Nesting: Maximum depth - There is not a depth limit, - you can go deeper and deeper. - But some targets may have restrictions. - The LaTeX maximum is here, 4 levels. - This one and the following sublists - are moved up to the level 4 - when converting to LaTeX. - On the other targets, - it is just fine - to have a very deep list. %%% Nesting: Reverse doesn't work - Reverse nesting doesn't work. - Because a sublist *must* have a mother list. - It's the list concept, not a txt2tags limitation. - All this sublists will be bumped to mother lists. - At level 1, like this one. %%% Nesting: Going deeper and back %% When nesting back to an upper level, the previous sublist %% is automatically closed. - Level 1 - Level 2 - Level 3 - Level 4 - Level 3 -- (closed Level 4) - Level 2 -- (closed Level 3) - Level 1 -- (closed Level 2) %% More than one list can be closed when nesting back. - Level 1 - Level 2 - Level 3 - Level 4 - Level 1 -- (closed Level 4, Level 3 and Level 2) %%% Nesting: Vertical spacing between lists - Level 1 - Level 2 -- blank BEFORE and AFTER (in) - Level 3 % comment lines are NOT considered blank lines - Level 4 % comment lines are NOT considered blank lines - Level 3 - Level 2 -- blank BEFORE and AFTER (out) - Level 1 - Level 2 -- blank BEFORE (spaces) and AFTER (TAB) - Level 3 %%% Nesting: Messing up %% Be careful when going back on the nesting, %% it must be on a valid level! If not, it will %% be bumped up to the previous valid level. - Level 1 - Level 2 - Level 3 - Level 4 - Level 3.5 ??? - Level 3 - Level 2.5 ??? - Level 2 - Level 1.5 ??? - Level 1 %%% Closing: Two (not so) empty lines - This list is closed by a line with spaces and other with TABs - This list is NOT closed by two comment lines % comment lines are NOT considered blank lines % comment lines are NOT considered blank lines - This list is closed by a line with spaces and TAB, - then a comment line, then an empty line. % comment lines are NOT considered blank lines %%% Closing: Empty item closes current (sub)list %% The two blank lines closes ALL the lists. %% To close just the current, use an empty item. - Level 1 - Level 2 - Level 3 - Level 2 - Level 1 - %% The empty item can have trailing blanks. - Empty item with trailing spaces. - - Empty item with trailing TAB. - %%% Closing: EOF closes the lists - If the end of the file (EOF) is hit, - all the currently opened list are closed, - just like when using the two blank lines. = Table =[table] %INCLUDED(t2t) starts here: ../../../test/marks/table.t2t BODYINIT %%% Syntax: Lines starting with a pipe | | Cell 1 %%% Syntax: Extra pipes separate cells | Cell 1 | Cell 2 | Cell 3 %%% Syntax: With a trailing pipe, make border | Cell 1 | Cell 2 | Cell 3 | %%% Syntax: Table lines starting with double pipe are heading || Cell 1 | Cell 2 | Cell 3 | %%% Align: Spaces before the leading pipe centralize the table | Cell 1 | Cell 2 | Cell 3 | %%% Align: Spaces inside the cell denote its alignment || Heading | Heading | Heading | % comments don't close an opened table | <- | -- | -> | | -- | -- | -- | | -> | -- | <- | %%% Span: Column span is defined by extra pipes at cell closing || 1 | 2 | 3+4 || | 1 | 2 | 3 | 4 | | 1+2+3 ||| 4 | | 1 | 2+3 || 4 | | 1+2+3+4 |||| %%% Test: Empty cells are placed as expected | 0 | 1 | 2 | | | 4 | 5 | | 7 | | 8 | | A | B | | | D | E | F | %%% Test: Lines with different number of cells | 1 | | 1 | 2 | | 1 | 2 | 3 | | 1 | 2 | 3 | 4 | | 1 | 2 | 3 | 4 | 5 | %%% Test: Empty cells + Span + Messy cell number = Fun! | Jan | | Fev || | Mar ||| | Apr |||| | May ||||| | 20% | 40% | 60% | 80% | 100% | | | | / | | | | | / / / / / ||| | | / / / / / / / / / ||||| | | o | | o | | | | | . | | | | | = = = = ||| | | 01 | 02 | | | 05 | | 07 | | | | | 11 | | 13 | | | 16 | | 17 | | 19 | 20 | | | 23 | | | 25 | 26 | | | 29 | 30 | | 32 | | | | 35 | | 37 | | 39 | 40 | %%% Test: Lots of cells at the same line | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F | %%% Test: Empty lines | | | | | | %%% Invalid: There must be at least one space around the pipe |this|is|not|a|table| |this| is| not| a| table| |this |is |not |a |table | %%% Invalid: You must use spaces, not TABs | this | is | not | a | table | ------------------------------------------------------------ The End. geany-1.32/tests/ctags/ruby-sf-bug-364.rb0000644000175000017500000000023213204251306014720 00000000000000class D def self.x? end def self.y! end def self.z=(a) end def self._a? end def self._b! end def self._c=(a) end end D._c=1 D.z=1 geany-1.32/tests/ctags/ruby-scope-after-anonymous-class.rb0000644000175000017500000000014313204251306020565 00000000000000class C class << self def foo() end end def bar(); end end puts C.foo puts C.new.bar geany-1.32/tests/ctags/ruby-namespaced-class.rb0000644000175000017500000000010013204251306016420 00000000000000module A module B end end class A::B::C; end puts A::B::C geany-1.32/tests/ctags/ruby-doc.rb0000644000175000017500000000025013204251306013770 00000000000000def f0; end =begin def bug1 end =end def f1; end =begin def bug2 end =end def f2; end =begin def doesntcount end def bug3 end =end def notparsed end def f3; end geany-1.32/tests/ctags/ruby-block-call.rb0000644000175000017500000000013513204251306015230 00000000000000 def plop [ 1, 2, 3, 4 ].each do |x| x > 0 end.all? end def nothing puts "nothing" end geany-1.32/tests/ctags/return-types.go0000644000175000017500000000041713204251306014734 00000000000000package main func foo() *struct {a int; b func()} { return nil } func bar() (a int, b func(a int), c interface{}, d string) { return 0, nil, nil, "" } func baz() *[20*3+1]map[chan<- /* map[int]int */<-chan int]map[interface{}]*string { return nil } func main() { }geany-1.32/tests/ctags/return-hint.zep0000644000175000017500000000030113204251306014713 00000000000000class Test { public function first(string str) -> string { function nested() { } } public function second(int i) -> int { } } geany-1.32/tests/ctags/regexp.js0000644000175000017500000000150513204251306013553 00000000000000/* * ctags should return the following for parsing this file using: * ctags -f - simple.js * * functions: * func1 * func2 * * variables: * no_re1 * no_re2 * no_re3 * no_re4 * no_re5 * no_re6 * re1 * re2 * re3 * re4 * re5 * re6 * str1 * str2 */ var no_re1 = 1 / 2; var no_re2 = 1 + (1 + 2) / 3; var no_re3 = 1 + {0:1}[0] / 2; var no_re4 = 1 + {0:1} / 8; // gives NaN var no_re5 = "foo" / 2; // so does this var no_re6 = no_re1 / 2; var re1 = /foo/; var re2 = /\//; var re3 = /[/]/; var re4 = /'/; var re5 = /["'/]/; var re6 = /\(([a-z]*_)+/; var str1 = "a/b/c".replace(/\//g, '-'); var str2 = "Hello".replace(/O/ig, 'O'); function func1() { return /function bug1(foo){/; } function func2() { return /\(/; } geany-1.32/tests/ctags/refcurs.sql0000644000175000017500000000375113204251306014122 00000000000000rem ----------------------------------------------------------------------- rem URL: http://www.orafaq.com/scripts/plsql/refcurs.txt rem Filename: refcurs.sql rem Purpose: Pass result sets (REF CURSOR) between procedures and rem functions rem Date: 15-Jun-2001 rem Author: Frank Naude (frank@ibi.co.za) rem ----------------------------------------------------------------------- set serveroutput on -- Define TYPES package separately to be available to all programming -- environments... CREATE OR REPLACE PACKAGE types AS TYPE cursortyp is REF CURSOR; -- use weak form END; / -- Create test package to demonstrate passing result sets... CREATE OR REPLACE PACKAGE test_ref_cursor AS PROCEDURE main; FUNCTION get_cursor_ref(typ NUMBER) RETURN types.cursortyp; PROCEDURE process_cursor(cur types.cursortyp); END; / show errors CREATE OR REPLACE PACKAGE BODY test_ref_cursor AS -- Main program entry point PROCEDURE main IS BEGIN process_cursor( get_cursor_ref(1) ); process_cursor( get_cursor_ref(2) ); END; -- Get and return a CURSOR REF/ Result Set FUNCTION get_cursor_ref(typ NUMBER) RETURN types.cursortyp IS cur types.cursortyp; BEGIN if typ = 1 THEN OPEN cur FOR SELECT * FROM emp WHERE ROWNUM < 5; ELSE OPEN cur FOR SELECT * FROM dept WHERE ROWNUM < 5; END IF; RETURN cur; END; -- Process rows for an EMP or DEPT cursor PROCEDURE process_cursor(cur types.cursortyp) IS empRec emp%ROWTYPE; deptRec dept%ROWTYPE; BEGIN LOOP FETCH cur INTO empRec; -- Maybe it was an EMP cursor, try to fetch... EXIT WHEN cur%NOTFOUND; dbms_output.put_line('EMP ROW: '||empRec.ename); END LOOP; EXCEPTION WHEN ROWTYPE_MISMATCH THEN -- OK, so it was't EMP, let's try DEPT. LOOP FETCH cur INTO deptRec; EXIT WHEN cur%NOTFOUND; dbms_output.put_line('DEPT ROW: '||deptRec.dname); END LOOP; END; END; / show errors EXEC test_ref_cursor.main; geany-1.32/tests/ctags/recursive.f950000644000175000017500000000303513204251306014257 00000000000000! result/recursive broken MODULE approx interface recursive function arcsin (angle, terms) ! no result keyword double precision arcsin1 double precision angle integer terms end function arcsin recursive function arcsin1 (angle, terms) result (value) ! no explicit type double precision angle integer terms double precision value end function arcsin1 double precision recursive function arcsin2 (angle, terms) result (value) ! type + recurs double precision angle integer terms end function arcsin2 ! only this function seems to be found recursive double precision function arcsin3 (angle, terms) result (value ) ! recurs + type double precision angle integer terms end function arcsin3 end interface double precision :: y integer :: parts END MODULE MODULE approx2 interface double precision recursive function as (angle, terms) result (value) ! type + recurs double precision angle integer terms end function as recursive double precision function as1 (angle, terms) result (value ) ! recurs + type double precision angle integer terms end function as1 ! but now I can see this one recursive function as2 (angle, terms) ! no result keyword double precision arcsin1 double precision angle integer terms end function as2 ! .. and this one! recursive function as3 (angle, terms) result (value) ! no explicit type double precision angle integer terms double precision value end function as3 end interface double precision :: z integer :: parts2 END MODULE geany-1.32/tests/ctags/readlong.sql0000644000175000017500000000272013204251306014237 00000000000000rem ----------------------------------------------------------------------- rem URL: http://www.orafaq.com/scripts/plsql/readlong.txt rem Filename: readlong.sql rem Purpose: Fetch Long column values piece-wise from PL/SQL rem Date: 12-Jan-1999 rem Author: Frank Naude (frank@ibi.co.za) rem ----------------------------------------------------------------------- set serveroutput on -- Create test table drop table longtable; create table longtable (longcol long) tablespace TOOLS; insert into longtable values ( rpad('x', 257, 'QWERTY') ); DECLARE cur1 PLS_INTEGER := DBMS_SQL.OPEN_CURSOR;; rc NUMBER; long_piece VARCHAR2(256); piece_len INTEGER := 0; long_tab DBMS_SQL.VARCHAR2S; long_len INTEGER := 0; BEGIN DBMS_SQL.PARSE(cur1, 'select longcol from longtable', DBMS_SQL.NATIVE); DBMS_SQL.DEFINE_COLUMN_LONG(cur1, 1); rc := DBMS_SQL.EXECUTE(cur1); rc := DBMS_SQL.FETCH_ROWS(cur1); -- Get one row -- Loop until all pieces of the long column are processed LOOP DBMS_SQL.COLUMN_VALUE_LONG(cur1, 1, 256, long_len, long_piece, piece_len); EXIT WHEN piece_len = 0; DBMS_OUTPUT.PUT_LINE('Long piece len='|| piece_len); long_tab( NVL(long_tab.LAST, 0)+1 ) := long_piece; -- Add piece to table long_len := long_len + piece_len; END LOOP; DBMS_SQL.CLOSE_CURSOR(cur1); DBMS_OUTPUT.PUT_LINE('Total long col fetched, len='|| long_len); END; / geany-1.32/tests/ctags/readlob.sql0000644000175000017500000000230413204251306014052 00000000000000rem ----------------------------------------------------------------------- rem URL: http://www.orafaq.com/scripts/plsql/readlob.txt rem Filename: readlob.sql rem Purpose: Fetch LOB column values piece-wise from PL/SQL rem Date: 12-Jun-2000 rem Author: Frank Naude (frank@ibi.co.za) rem ----------------------------------------------------------------------- set serveroutput on DROP TABLE lob_table; -- Create table to hols LOBs CREATE TABLE lob_table ( id INTEGER, b_lob BLOB, c_lob CLOB, b_file BFILE ); INSERT INTO lob_table -- Create sample record VALUES (1, EMPTY_BLOB(), 'abcde', NULL); DECLARE clob_locator CLOB; charbuf VARCHAR2(20); read_offset INTEGER; read_amount INTEGER; BEGIN -- First we need to get the lob locator SELECT c_lob INTO clob_locator FROM lob_table WHERE id = 1; DBMS_OUTPUT.PUT_LINE('CLOB Size: ' || DBMS_LOB.GETLENGTH(clob_locator)); -- Read LOB field contents read_offset := 1; read_amount := 20; dbms_lob.read(clob_locator, read_amount, read_offset, charbuf); dbms_output.put_line('CLOB Value: ' || charbuf); END; / geany-1.32/tests/ctags/random.sql0000644000175000017500000000520213204251306013722 00000000000000/* ------------------------------------------------------------------------------ URL: http://www.orafaq.com/scripts/plsql/random.txt Filename: random.txt Purpose: Random number/ string generator package Author: Unknown Original: http://www.orafaq.org/scripts/sql/random.txt Edits: 19990908 Phil Rand Added functions rand_string(), smaller(). ------------------------------------------------------------------------------ */ create or replace package random is procedure srand(new_seed in number); procedure get_rand(r OUT number); procedure get_rand_max(r OUT number, n IN number); function rand return number; function rand_max(n IN number) return number; function rand_string(ssiz IN number) return varchar2; function smaller(x IN number, y IN number) return number; pragma restrict_references(rand, WNDS); pragma restrict_references(rand_max, WNDS); pragma restrict_references(random, WNDS, RNPS); pragma restrict_references(rand_string, WNDS); pragma restrict_references(smaller, WNDS); end random; / create or replace package body random is multiplier constant number := 22695477; increment constant number := 1; "2^32" constant number := 2 ** 32; "2^16" constant number := 2 ** 16; "0x7fff" constant number := 32767; Seed number := 1; function smaller(x IN number, y IN number) return number is begin if x <= y then return x; else return y; end if; end smaller; function rand_string(ssiz IN number) return varchar2 is i number; m number; c char; result varchar2(2000) := ''; begin m := smaller(ssiz,2000); for i in 1..m loop c := substr('abcdefghijklmnopqrstuvwxyz0123456789',rand_max(36),1); result := result || c; end loop; return result; end rand_string; procedure srand(new_seed in number) is begin Seed := new_seed; end srand; function rand return number is begin Seed := mod(multiplier * Seed + increment, "2^32"); return bitand(Seed/"2^16", "0x7fff"); end rand; procedure get_rand(r OUT number) is begin r := rand; end get_rand; function rand_max(n IN number) return number is begin return mod(rand, n) + 1; end rand_max; procedure get_rand_max(r OUT number, n IN number) is begin r := rand_max(n); end get_rand_max; begin select userenv('SESSIONID') into Seed from dual; end random; / -- Some examples: select random.rand_max(10) from dual; select random.rand_max(10) from dual; select random.rand_string(20) from dual; select random.rand_string(20) from dual; geany-1.32/tests/ctags/qualified_types.f900000644000175000017500000000101613204251306015427 00000000000000module test implicit none type goodtype(p1, p2, p3, p4) ! the stuff in brackets after the name of the type shouldn't appear in the type's name ! this is already correctly handled, so that's fine integer, kind :: p1, p3 integer, len :: p2, p4 ! the question is whether or not these "kind" and "len"s should be shown as members real(kind=p1) :: c1 character(len=p2) :: c2 complex :: c3(p3) integer :: c4 = p1 contains end module test geany-1.32/tests/ctags/python-comments.py0000644000175000017500000000021013204251306015431 00000000000000 import foo ## as bug1 "hello" ## import bug2 "hi" # something # class bug3 for i in range(1, 2): ##class bug4 pass ## class bug5 geany-1.32/tests/ctags/python-anonymous-nestlevel_ctags-bug-356.py0000644000175000017500000000017513204251306022114 00000000000000class Testclass(): def main(self): variable = True if __name__ == "__main__": module_level_attribute = True geany-1.32/tests/ctags/py-skipped-string.py0000644000175000017500000000117513204251306015671 00000000000000# triple start string immediately after a normal string not detected def f1(): ''""" The string above was not detected as triple start string, but the one below instead. """ print "f1" def f2(): ''""" The string above was then detected as end string, and the one below as start string again. """ print "f2" def f3(): """ The string below is prepared so that ctags with the bug does not start a new triple string. For a clean precondition for the next test. ''""" print "f3" # normal string immediately after a normal string not detected ''" import os\ " ""' def fX():\ ' geany-1.32/tests/ctags/py_constructor_arglist.py0000644000175000017500000000222013204251306017112 00000000000000""" Test arglist parsing of a class' __init__ method: the __init__() method's argument list should be assigned to the class' argument list. This is somewhat special to Python and the Python parses uses tm_source_file_set_tag_arglist() to do this and tm_source_file_set_tag_arglist() uses tm_tags_find() which by default relies on a sorted tags array. However, when the parses uses tm_source_file_set_tag_arglist() the tags array is *not yet* sorted and so it might be the tag for the class SomeClass can't be found, hence this test. """ from bsddb import btopen import sys from django.contrib.auth.decorators import login_required, permission_required from django.http import HttpResponse, HttpResponseBadRequest from django.shortcuts import render_to_response from django.template.context import RequestContext from django.utils import simplejson from django.views.decorators.csrf import csrf_exempt from django.views.decorators.csrf import csrf_exempt2 from django.views.decorators.http import require_POST from vnstat.api.error import InterfaceDataValidationError class SomeClass(object): def __init__(self, filename, pathsep='', treegap=64): pass geany-1.32/tests/ctags/pure_elem.f950000644000175000017500000000176513204251306014235 00000000000000! elemental ! !Pure procedures are procedures declared with the PURE keyword and which !satisfy certain constraints that ensure they have no side !effects. They can be used in specification expressions and !within FORALL constructs and statements. !Elemental procedures can be written in Fortran 95 using the ELEMENTAL !keyword. Elemental procedures are automatically ``pure''. !Example: PURE REAL FUNCTION pure_func(x,y) ! pure okay IMPLICIT NONE REAL, INTENT(IN) :: x, y pure_func = x*x + y*y + 2*x*y + ASIN(MIN(x/y,y/x)) END FUNCTION pure_func PURE REAL FUNCTION F(x,y) ! pure broken returns 'PURE REAL FU' IMPLICIT NONE REAL, INTENT(IN) :: x, y F = x*x + y*y + 2*x*y + ASIN(MIN(x/y,y/x)) END FUNCTION F ELEMENTAL REAL FUNCTION elem_maxabs(a,b) ! elemental broke IMPLICIT NONE REAL,INTENT(IN) :: a,b elem_maxabs = MAX(ABS(a),ABS(b)) END PURE REAL FUNCTION pure_maxabs2(a,b) ! pure okay IMPLICIT NONE REAL,INTENT(IN) :: a,b pure_maxabs2 = MAX(ABS(a),ABS(b)) END geany-1.32/tests/ctags/prototype.h0000644000175000017500000000010213204251306014131 00000000000000int prototype_a (int a, char *b); extern void prototype_b (void); geany-1.32/tests/ctags/property.cs0000644000175000017500000000161413204251306014137 00000000000000// property.cs // Properties using System; public class Employee { public static int numberOfEmployees; private static int counter; private string name; // A read-write instance property: public string Name { get { return name; } set { name = value; } } // A read-only static property: public static int Counter { get { return counter; } } // Constructor: public Employee() { // Calculate the employee's number: counter = ++counter + numberOfEmployees; } } public class MainClass { public static void Main() { Employee.numberOfEmployees = 100; Employee e1 = new Employee(); e1.Name = "Claude Vige"; Console.WriteLine("Employee number: {0}", Employee.Counter); Console.WriteLine("Employee name: {0}", e1.Name); } } geany-1.32/tests/ctags/procpoint.f900000644000175000017500000000117513204251306014263 00000000000000module Test implicit none procedure(ProcOne), pointer :: MyProc => null(), & MyOtherProc => ProcTwo real, parameter :: myparameter contains function ProcOne(arg1, optformat) ! not relevant end function ProcOne function ProcTwo(arg1, optformat) ! not relevant end function ProcTwo end module Test program Main implicit none ! deliberately break up the line to make sure the tagparser doesn't choke on awkward cases procedure(:), pointer :: ProcPointOne & => null(), ProcPointTwo => & null() real :: variable, variable_two integer :: variable_three ProcPointOne => ProcTwo end program Main geany-1.32/tests/ctags/procedure_pointer_module.f900000644000175000017500000000044313204251306017340 00000000000000! a module that uses procedure pointer module proc_pointer real :: a procedure(sub), pointer :: my_pointer contains subroutine sub(x) real, intent(inout) :: x(:) integer :: i do i=1,size(x) x(i) = 0.5**i end do end subroutine sub end module proc_pointer geany-1.32/tests/ctags/preprocessor.f900000644000175000017500000000036613204251306014775 00000000000000#include ! preprocessor directives on line 1 (and only line 1) cause breakage module Invisible integer :: nope contains function SpillsOutside ! ... end function SpillsOutside end module Invisible program Main ! ... end program Main geany-1.32/tests/ctags/parenthesis-rvalue.js0000644000175000017500000000102213204251306016074 00000000000000 // plain values var a1 = 42; var a2 = (42); // functions var b1 = function(){ function b1sub(){} }; var b2 = (function(){ function b2sub(){} }); var b3 = ((function(){ function b3sub(){} })); // objects var c1 = {}; var c2 = ({}); var d1 = {a:'hello',b:'hi'}; var d2 = ({a:'hello',b:'hi'}); // function expressions called straight away var e1 = function(){ function e1sub(){} return 42; }(); var e2 = (function(){ function e2sub(){} return 42 })(); var e3 = ((function(){ function e3sub(){} return 42 })()); geany-1.32/tests/ctags/php5_5_class_kw.php0000644000175000017500000000022113204251306015414 00000000000000 1; =head2 quo This is 'quo' subroutine =cut sub quo; quo; Test::quo; sub quo { goto END; die; END: END2 : print "END!\n"; return; } sub xuz :lvalue; sub xtz (&@;$) :lvalue; sub # This should create a tag dude { 1; } 1; geany-1.32/tests/ctags/objectivec_protocol.mm0000644000175000017500000000006713204251306016316 00000000000000 @protocol Locking - (void)lock; - (void)unlock; @end geany-1.32/tests/ctags/objectivec_property.mm0000644000175000017500000000032513204251306016336 00000000000000 @interface Person : NSObject { @public NSString *m_name; @private int m_age; } @property(copy) NSString *personName; @property(readonly) int personAge; -(id)initWithAge:(int)age; @end geany-1.32/tests/ctags/objectivec_interface.mm0000644000175000017500000000245313204251306016416 00000000000000// // commentary test // SupaView // // Created by Vincent Berthoux on 14/06/10. // Copyright 2010 __MyCompanyName__. All rights reserved. // #import #import "LayoutTree.h" @class LayoutTree; @class FolderTree; #define A_MACRO_TEST typedef something SampleTypedefObjC; // Mer & no_struct_name must not be present in output // tag # define ANOTHER_MACRO( WITH, MOAR ) \ Mer( ) \ struct no_struct_name struct aStruct { int aStructMember; char *anotherStructMember[ NOT_IN_TAG ]; }; #pragma DONTCARE /* :-) */ @interface FileTree : NSObject { NSString *name; LayoutTree *representation; FolderTree *parent[THISISNOTATAG]; FileSize diskSize; } - (id)initWithName:(NSString*)treeName andSize:(uint64_t)size atPlace:(FolderTree*)parentFolder; - (id)initWithName:(NSString*)treeName atPlace:(FolderTree*)parentFolder; - (void)dealloc; - (FileSize)getDiskSize; - (LayoutTree*)createLayoutTree; @end @interface FolderTree : FileTree { NSMutableArray *children; } - (id)initWithName:(NSString*)treeName atPlace:(FolderTree*)parentFolder; - (void)dealloc; - (FolderTree*)addChild:(FileTree*)subTree; - (void) populateChildList:(NSString*)root; - (LayoutTree*)createLayoutTree; @end geany-1.32/tests/ctags/objectivec_implementation.mm0000644000175000017500000000565613204251306017513 00000000000000 @implementation FileTree - (FileSize)getDiskSize { return diskSize; } - (id)initWithName:(NSString*)treeName atPlace:(FolderTree*)parentFolder { self = [super init]; diskSize = 0; name = treeName; parent = parentFolder; [name retain]; representation = nil; return self; } - (id)initWithName:(NSString*)treeName andSize:(FileSize)size atPlace:(FolderTree*)parentFolder { self = [super init]; diskSize = size; name = treeName; parent = parentFolder; [name retain]; representation = nil; return self; } - (void)dealloc { [name release]; [representation release]; [super dealloc]; } - (LayoutTree*)createLayoutTree { return nil; } @end @implementation FolderTree - (id)initWithName:(NSString*)treeName atPlace:(FolderTree*)parentFolder { self = [super initWithName:treeName atPlace:parentFolder]; children = [[NSMutableArray alloc] init]; return self; } - (void)dealloc { [children release]; [super dealloc]; } + (void) createFileList: (NSString*)root atPlace:(FolderTree*)parentFolder { NSFileManager *localFileManager = [[NSFileManager alloc] init]; NSURL *rootUrl = [NSURL fileURLWithPath:root]; NSDirectoryEnumerator *dirEnumerator = [localFileManager enumeratorAtURL:rootUrl includingPropertiesForKeys:[NSArray arrayWithObjects: NSURLNameKey, NSURLIsDirectoryKey, nil] options:NSDirectoryEnumerationSkipsHiddenFiles errorHandler:nil]; for (NSURL *theURL in dirEnumerator) { [theURL getResourceValue:&fileName forKey:NSURLNameKey error:NULL]; // Ignore files under the _extras directory if ([isDirectory boolValue]==YES) { [folder populateChildList:root]; } else if ([isDirectory boolValue]==NO) { [parentFolder addChild:f]; } } } - (void) populateChildList:(NSString*)root { NSString *thisRoot = [[root stringByAppendingString:@"/"] stringByAppendingString:name]; [FolderTree createFileList:thisRoot atPlace:self]; for ( FileTree *f in children ) diskSize += [f getDiskSize]; } - (FolderTree*)addChild:(FileTree*)subTree { [children addObject:subTree]; return self; } - (LayoutTree*)createLayoutTree { return [[LayoutTree alloc] initWithFileList:children andTotalSize:diskSize]; } @end geany-1.32/tests/ctags/numlib.f900000644000175000017500000000441613204251306013535 00000000000000! Bug reported by Brian Helinski on 4 Feb 2003 module numerical_libraries interface subroutine a2ald (nf, nl, y, nrf, indrf, nef, nfef, indef, conper, iprint& , model, aov, ems, vc, ldvc, ymeans, wk, iwk, c13ksp) integer, intent(in) :: nf integer, dimension(*), intent(in) :: nl real(kind(1e0)), dimension(*) :: y integer, intent(in) :: nrf integer, dimension(*), intent(in) :: indrf integer, intent(in) :: nef integer, dimension(*), intent(in) :: nfef integer, dimension(*), intent(in) :: indef real(kind(1e0)), intent(in) :: conper integer, intent(in) :: iprint integer, intent(in) :: model real(kind(1e0)), dimension(*), intent(in) :: aov real(kind(1e0)), dimension(*), intent(inout) :: ems real(kind(1e0)), dimension(ldvc,*), intent(inout) :: vc integer, intent(in) :: ldvc real(kind(1e0)), dimension(*), intent(in) :: ymeans real(kind(1e0)), dimension(*), intent(inout) :: wk integer, dimension(*), intent(in) :: iwk character (len = 13), dimension(*), intent(out) :: c13ksp end subroutine subroutine b2lsf (fcn, m, n, xguess, ibtype, xlb, xub, xscale, fscale& , iparam, rparam, x, fvec, fjac, ldfjac, wk, iwk) integer, intent(in) :: m integer, intent(in) :: n real(kind(1e0)), dimension(*) :: xguess integer, intent(in) :: ibtype real(kind(1e0)), dimension(*), intent(inout) :: xlb real(kind(1e0)), dimension(*), intent(inout) :: xub real(kind(1e0)), dimension(*) :: xscale real(kind(1e0)), dimension(*) :: fscale integer, dimension(*) :: iparam real(kind(1e0)), dimension(*) :: rparam real(kind(1e0)), dimension(*) :: x real(kind(1e0)), dimension(*) :: fvec real(kind(1e0)), dimension(*) :: fjac integer, intent(in) :: ldfjac real(kind(1e0)), dimension(*) :: wk integer, dimension(*) :: iwk interface subroutine fcn(m, n, x, f) integer, intent(in) :: m, n real(kind(1e0)), intent(in) :: x(*) real(kind(1e0)), intent(out) :: f(*) end subroutine end interface end subroutine END INTERFACE end module geany-1.32/tests/ctags/non-ascii-ident1.php0000644000175000017500000000030013204251306015466 00000000000000r = $a * $b; } public function __toString() { return (string) $this->r; } } echo new ×(2, 2); geany-1.32/tests/ctags/no_terminator.js0000644000175000017500000000167513204251306015151 00000000000000function ts_resortTable(lnk) { if (span.getAttribute("sortdir") == 'down') { span.setAttribute('sortdir','up'); } else { span.setAttribute('sortdir','down'); } } function getParent(el, pTagName) { if (el == null) return null; else if (el.nodeType == 1 && el.tagName.toLowerCase() == pTagName.toLowerCase()) // Gecko bug, supposed to be uppercase return el; else return getParent(el.parentNode, pTagName); } function ts_sort_currency(a,b) { aa = ts_getInnerText(a.cells[SORT_COLUMN_INDEX]).replace(/[^0-9.]/g,''); bb = ts_getInnerText(b.cells[SORT_COLUMN_INDEX]).replace(/[^0-9.]/g,''); return parseFloat(aa) - parseFloat(bb); } function checkForUpdate() { if( 1==1 ) { document.write("hello from checkForUpdate
") } return 1; } function checkForUpdate2() { if( 1==1 ) { document.write("hello from checkForUpdate
"); } return 2; } geany-1.32/tests/ctags/namespaces.php0000644000175000017500000000136613204251306014560 00000000000000Tests for namespaces (braced version) Expected output is namespaces: Bar\Baz Foo classes: B [Bar\Baz] C [Foo] functions: __construct [Foo::C] __construct [Bar\Baz::B] a [Foo] a [Bar\Baz] b [Foo] c [Bar\Baz::B] d [Foo::C] inRoot meToo A ? BCS RETURNFALSE If no then re-enter CMP.B #('Z'+1),(A0)+ Check if char is < Z BCC RETURNFALSE If it is then it must be a cap SUBI.B #1,D4 Decrease s_name / f_name Length BNE CHECK2 jump if the sentence is not = 0 RETURNTRUE MOVE.B #1,D5 Moves a one to D5 to make CAPS ture RTS Jump back to the main program RETURNFALSE MOVE.B #0,D5 Moves a zero to D5 to make CAPS false RTS Jump back to the main program * Var's & Const's * =============== PROMPT1 DC.B 'Please enter your firstname (Max 80): ' PROMPT2 DC.B 'Please enter your surname (Max 80): ' F_NAME DS.B 80 S_NAME DS.B 80 DUMMY DS.B 1 END $1000 End of assembley geany-1.32/tests/ctags/mode.php0000644000175000017500000000332013204251306013355 00000000000000Tests for entering and leaving PHP mode Expected output is functions: a b c d e f g h i j function bug0() { // this should not appear } // PHP mode left function bug1() {} // PHP mode left function bug2() {} function bug3() {} // PHP mode left function bug4() { } // same here function bug5() { } // leaves PHP mode function bug4() {} ?> // left function bug6() {} // leave function bug7() {} function h() {} ?> function bug8() {} function bug9() {} // this won't enter PHP, no spaces are allowed between the "<" and "script" < script language = php > function bug10() {} // does nothing, just resets mode for some tools not aware of the "script" thing ?>

geany-1.32/tests/ctags/misc_types.f0000644000175000017500000000104113204251306014244 00000000000000! Provided by Brian Helsinki, 7 March 2003 ! cexternal ! cglobal ! pexternal ! pglobal ! inline ! virtual ! volatile ! pascal program specs VIRTUAL M(10,10), Y(100) VOLATILE V, Z, MAT, /INI/ EXTERNAL ABS ! variations of external and global CEXTERNAL ABS1 ! not supported CGLOBAL ABS2 ! not supported PEXTERNAL ABS3 ! not supported $IF DEFINED(MAC_DEP) PASCAL EXTERNAL ABS3_var2 ! not supported $ENDIF PGLOBAL ABS4 INTEGER INFOOBAR INLINE (INFOOBAR=00000) ! not supported INTEGER M(5) DATA M/5*0/ CALL INFOOBAR(5,4) END geany-1.32/tests/ctags/misc_types.f900000644000175000017500000000150013204251306014415 00000000000000! Provided by Brian Helsinki, 7 March 2003 program testalloc integer base_type automatic foobar_var ! automatic breaks parsing integer i2 static s_var ! static breaks parsing integer i3 volatile v_var ! volatile breaks var parsing integer i4 DLL_IMPORT foobar2 ! break var parsing DLL_EXPORT foobar ! breaks var parsing integer i5 common foobar_var, s_var, v_var integer i6 structure /my_struct/ integer(1) :: first_byte integer(1) :: %fill integer(2) :: align_second_16 end structure integer i7 record /m_struct/ the_struct ! break var parsing integer i8 real, dimension (:), allocatable :: list ! allocatable integer i, status i = 99 allocate (list(i), stat=status ) ! create array allocate list (1) = 1.2 deallocate (list) ! deallocate do i=1,100 j=i end do stop end geany-1.32/tests/ctags/members.f900000644000175000017500000000057513204251306013703 00000000000000module Members implicit none type HasMembers ! a "derived type" in Fortran is analogous to a "class" in other languages integer, kind :: kind_member integer, len :: len_member integer :: member contains procedure :: MyMethod end type HasMembers contains subroutine MySubroutine(arg) ! ... end subroutine MySubroutine end module Members geany-1.32/tests/ctags/maze.erl0000644000175000017500000001022713204251306013364 00000000000000-module(maze). -vsn('2002.0317'). -author('cpressey@catseye.mb.ca'). -copyright('Copyright (c)2002 Cat`s Eye Technologies. All rights reserved.'). %%% Redistribution and use in source and binary forms, with or without %%% modification, are permitted provided that the following conditions %%% are met: %%% %%% Redistributions of source code must retain the above copyright %%% notice, this list of conditions and the following disclaimer. %%% %%% Redistributions in binary form must reproduce the above copyright %%% notice, this list of conditions and the following disclaimer in %%% the documentation and/or other materials provided with the %%% distribution. %%% %%% Neither the name of Cat's Eye Technologies nor the names of its %%% contributors may be used to endorse or promote products derived %%% from this software without specific prior written permission. %%% %%% THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND %%% CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, %%% INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF %%% MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE %%% DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE %%% LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, %%% OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, %%% PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, %%% OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON %%% ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, %%% OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY %%% OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE %%% POSSIBILITY OF SUCH DAMAGE. -include("maze.hrl"). -export([build/0, generate/1]). %%% BEGIN maze.erl %%% %%% A simple maze-drawing program. %% Driver function ----------------------------------------------------- build() -> Tot = generate(#maze{}), tot_print(Tot). %% Maze generation function -------------------------------------------- generate(#maze{}=M) -> seed(), {X, Y} = {random:uniform(M#maze.width div 2) * 2, random:uniform(M#maze.height div 2) * 2}, R2 = tot_put(X, Y, tot_new(M#maze.width, M#maze.height, M#maze.wall), M#maze.space), generate(M, R2, X, Y). generate(#maze{}=M, R, X, Y) -> lists:foldl(fun({DX, DY}, A) -> NX = X + DX * 2, NY = Y + DY * 2, W = M#maze.wall, case catch tot_get(NX, NY, A) of W -> M1 = tot_put(X + DX, Y + DY, A, M#maze.space), M2 = tot_put(NX, NY, M1, M#maze.space), generate(M, M2, NX, NY); _ -> A end end, R, scramble([{-1,0}, {1,0}, {0,-1}, {0,1}])). %%% ToT (Tuple-of-Tuples) Utilities ------------------------------------ tot_new(W, H, Cell) -> erlang:make_tuple(H, erlang:make_tuple(W, Cell)). tot_get(X, Y, Tot) -> element(X, element(Y, Tot)). tot_put(X, Y, Tot, V) -> setelement(Y, Tot, setelement(X, element(Y, Tot), V)). tot_print(ToT) -> tot_print(1, ToT). tot_print(Y, ToT) when Y =< size(ToT) -> tot_print_tuple(element(Y, ToT)), io:fwrite("~n"), tot_print(Y+1, ToT); tot_print(Y, ToT) -> ok. tot_print_tuple(T) -> tot_print_tuple(1, T). tot_print_tuple(X, T) when X =< size(T) -> io:fwrite("~s", [[element(X, T)]]), tot_print_tuple(X+1, T); tot_print_tuple(X, T) -> ok. %%% Randomness Functions ----------------------------------------------- %% Seed the random number generator so that it will produce unpredictable %% values. Should be called once at startup, before using random numbers. seed() -> {H,M,S} = time(), random:seed(S,M,H), random:uniform(23). % prime the pump - first number can be iffy %% Pick a random element from a tuple or a list (equal chance for every %% element.) pick(Tuple) when tuple(Tuple) -> pick(tuple_to_list(Tuple)); pick(List) -> lists:nth(random:uniform(length(List)), List). %% Mix up the order (shuffle or scramble) a tuple or list. scramble(Tuple) when tuple(Tuple) -> list_to_tuple(scramble(tuple_to_list(Tuple))); scramble(List) -> scramble(List, []). scramble([], Acc) -> Acc; scramble(List, Acc) -> S = pick(List), scramble(List -- [S], Acc ++ [S]). %%% END of maze.erl %%% geany-1.32/tests/ctags/matlab_test.m0000644000175000017500000000010313204251306014371 00000000000000function [x,y,z] = func1 function x = func2 function func3 geany-1.32/tests/ctags/matlab_backtracking.m0000644000175000017500000000564013204251306016050 00000000000000% http://www.math.washington.edu/~burke/crs/516/HTML/backtrack.html % Backtracking Linesearch function [xn,fn,fcall] = backtrack(xc,d,fc,fnc,DDfnc,c,gamma,eps) % %GENERAL DESCRIPTION % %This function performs the basic backtracking subroutine. %The subroutine requires the following input: % xc = the current point, % d = the direction of search, % fc = the current function value, % fnc = a string variable for the function name, % DDfnc = the directional derivative of fnc at xc in the % direction d, must have DDfnc < 0, % c = the slope modification parameter in (0,1), % gamma = the backstepping parameter in (0,1), % eps = the stopping criteria for norm(xn - xc), % that is, the main algorithm stops when % norm(xn - xc) <= eps. % %The routine returns % xn = the new point, % fn = the function value at the new point, % fnc = the number of calls to fnc. % %TERMINATION CRITERIA % %The backtracking is terminated if the step to the new point %xn is so small that it triggers termination in the main algorithm, %i.e. norm(xc - xn) <= eps. In this case we return xn = xc if %fn >= fc (we have not reduced the function value); otherwise, %we return xn. % %THE MATH % %The backtracking routing attempts to find a step size for %reducing the value of the function fnc given the current point xc %and a direction d. It does this by successively trying step sizes %of the form gamma^s for s = 0,1,2... to find the smallest %value of s for which the inequality % % fnc(xc+gamma^s*d)\le fnc(xc)+c*gamma^s*DD % % is satisfied. The new point to be returned is then given % by xn = xc+gamma^s*d. % %CHECK INPUT SPECIFICATIONS % if DDfnc >= 0, error('The backtracking subroutine has been sent a direction of nondesce nt. Program has been terminated.') end if c<= 0 | c>= 1, error('The slope modification parameter c in the backtracking subroutine is not in (0,1).') end if gamma<=0 | gamma >=1, error('The backtracking parameter gamma is not in (0,1).') end if eps <= 0, error('The termination criteria eps sent to the backtracking line search is not positive.') end % %CHECK DIMENSIONS % if size(xc)~=size(d) error('The vectors sent to backtrack are not of the same dimension.') end % % %EXECUTE THE LINE SEARCH % % xn = xc+d; cDDfnc = c*DDfnc; fn = feval(fnc,xn); fcall = 1 ; while fn > fc+cDDfnc, d = gamma*d; cDDfnc = gamma*cDDfnc; xn = xc+d; fn = feval(fnc,xn); fcall = fcall+1; %Check if the step to xn is too small. if norm(d) <= eps, disp('linesearch step too small') if fn >= fc, xn = xc; end break end end geany-1.32/tests/ctags/masm.asm0000644000175000017500000000105113204251306013356 00000000000000.MODEL medium .DATA Msg DB "Text string" .CODE QUACK PROC PUBLIC enter 0, 0 ; May be an instruction or a macro mov bx, OFFSET DGROUP:Msg mov bx, [bp+6] mov WORD PTR [bx], ax leave ret 2 QUACK ENDP END myequ EQU 3 myequal = 4 ; http://www.xploiter.com/mirrors/asm/asm_1.htm hllequal := 4 BYTE_BUFFER LABEL BYTE WORD_BUFFER DW 512 dup (?) mov bx, ax LabelMaker1: xor ax, ax LabelMaker2: mymacro macro args endm mystruct struct ends geany-1.32/tests/ctags/make-variable-on-cmdline.mak0000644000175000017500000000002713204251306017136 00000000000000fixme: cmd -g FOO=BAR geany-1.32/tests/ctags/make-target-with-parentheses.mak0000644000175000017500000000003513204251306020103 00000000000000$(obj)/raid6int1.c: F := 6 geany-1.32/tests/ctags/make-parentheses.mak0000644000175000017500000000010013204251306015637 00000000000000A=X.c B=Y.c $(A)-$(A:.c=.o): echo $@ ${B}-${B:.c=.o}: echo $@ geany-1.32/tests/ctags/make-multi-target.mak0000644000175000017500000000006413204251306015745 00000000000000 all: foo bar foo bar: baz echo $@ baz: echo $@ geany-1.32/tests/ctags/make-gnumake-pattern-rules.mak0000644000175000017500000000007513204251306017563 00000000000000%.o: %.c touch $@ %.p %.q: %.d touch $@ %a b%: touch $@ geany-1.32/tests/ctags/make-comment-in-rule.mak0000644000175000017500000000030013204251306016333 00000000000000# all this is one single rule all: a=1; echo "$$a" # foo b=2; echo "$$b" # foo c=3; echo "$$c" # foo d=4; echo "$$d" # foo e=5; echo "$$e" f=6; echo "$$f" # foo g=7; echo "$$g" geany-1.32/tests/ctags/macros.c0000644000175000017500000000031213204251306013346 00000000000000#define VARIABLE_LIKE some_value #define FUNCTION_LIKE(a,b) (a + b) #pragma weak WeakSymbol = StrongSymbol /* handling of spoofing macros */ MACRO(foo); void prototype __ARGS((int arg1, void *arg2)); geany-1.32/tests/ctags/local.c0000644000175000017500000000046513204251306013165 00000000000000main () { int a; int b = 3; a = 2; } static boolean isContextualKeyword (const tokenInfo *const token) { boolean result; label: goto label; switch (token->keyword) { case KEYWORD_UNION: result = TRUE; break; default: result = FALSE; break; } return result; } geany-1.32/tests/ctags/line_directives.c0000644000175000017500000000023413204251306015235 00000000000000/* ANSI format */ # line 10 "a.c" int a; /* GNU C format */ # 20 "b.c" int b; /* obsolete format */ # 30 c.c int c; /* invalid formats */ # 1 OK # 0 Not OK geany-1.32/tests/ctags/lanus.for0000644000175000017500000000342713204251306013562 00000000000000* From jlanus@netscape.net Thu Jan 16 20:38:12 2003 * Date: Tue, 24 Sep 2002 12:20:07 -0400 * From: Juan Lanus * To: ctags-users@lists.sourceforge.net * Subject: [Ctags] seeking for help to set ctags to work with old FORTRAN * * Hi * * I'm trying to set ctags to work with some old FORTRAN 77 programs. * I'm in Windows 2000, vim 6.1 and exuberant ctags 5.3.1. * The programs are for VAX FORTRAN 77 as of 1988. Written with tabs and 132 columns line length. * * [...] * * What am I doing wrong? This is my first contact with tags files of any sort and I'm vexed. * * A sample .DES file is included at the bottom. * * TIA * * Juan Lanus * TECNOSOL * Argentina * * **************** ********************************************************************* * * * Sistema Personalizado - descripcion de registros - CGA - 1/12/89 * * * * De tablas generales PERTAB012 - tabla 010 * * * ********************************************************************* character*6 FEC010 !Fecha de Proceso aa/mm/dd character*5 URE010 !Ultimo Numero de Pedido character*5 REM010 !Ultimo Numero de Remito character*5 FAC010 !Ultimo Numero de Factura character*40 PER010 !Registro de Fecha equivalence (PER010(1:1) ,FEC010(1:1)) equivalence (PER010(7:7) ,URE010(1:1)) equivalence (PER010(12:12),REM010(1:1)) equivalence (PER010(17:17),FAC010(1:1)) ****************** Fin Registro de Fecha *********************************** geany-1.32/tests/ctags/labels.sql0000644000175000017500000000015413204251306013705 00000000000000PROCEDURE outer_procedure IS BEGIN <> DECLARE x INTEGER; BEGIN END my_label; END geany-1.32/tests/ctags/keyword_volatile.cs0000644000175000017500000000023113204251306015630 00000000000000// csharp_volatile.cs class Test { public volatile int i; Test(int _i) { i = _i; } public static void Main() { } } geany-1.32/tests/ctags/keyword_virtual.cs0000644000175000017500000000256713204251306015515 00000000000000// cs_virtual_keyword.cs // Virtual and override using System; class TestClass { public class Dimensions { public const double pi = Math.PI; protected double x, y; public Dimensions() { } public Dimensions (double x, double y) { this.x = x; this.y = y; } public virtual double Area() { return x*y; } } public class Circle: Dimensions { public Circle(double r): base(r, 0) { } public override double Area() { return pi * x * x; } } class Sphere: Dimensions { public Sphere(double r): base(r, 0) { } public override double Area() { return 4 * pi * x * x; } } class Cylinder: Dimensions { public Cylinder(double r, double h): base(r, h) { } public override double Area() { return 2*pi*x*x + 2*pi*x*y; } } public static void Main() { double r = 3.0, h = 5.0; Dimensions c = new Circle(r); Dimensions s = new Sphere(r); Dimensions l = new Cylinder(r, h); // Display results: Console.WriteLine("Area of Circle = {0:F2}", c.Area()); Console.WriteLine("Area of Sphere = {0:F2}", s.Area()); Console.WriteLine("Area of Cylinder = {0:F2}", l.Area()); } } geany-1.32/tests/ctags/keyword_struct.cs0000644000175000017500000000113013204251306015334 00000000000000// keyword_struct.cs // struct declaration and initialization using System; public struct Point { public int x, y; public Point(int p1, int p2) { x = p1; y = p2; } } class MainClass { public static void Main() { // Initialize: Point myPoint = new Point(); Point yourPoint = new Point(10,10); // Display results: Console.Write("My Point: "); Console.WriteLine("x = {0}, y = {1}", myPoint.x, myPoint.y); Console.Write("Your Point: "); Console.WriteLine("x = {0}, y = {1}", yourPoint.x, yourPoint.y); } } geany-1.32/tests/ctags/keyword_static.cs0000644000175000017500000000215713204251306015311 00000000000000// cs_static_keyword.cs // Static members using System; public class Employee { public string id; public string name; public Employee () { } public Employee (string name, string id) { this.name = name; this.id = id; } public static int employeeCounter; public static int AddEmployee() { return ++employeeCounter; } } class MainClass: Employee { public static void Main() { Console.Write("Enter the employee's name: "); string name = Console.ReadLine(); Console.Write("Enter the employee's ID: "); string id = Console.ReadLine(); // Create the employee object: Employee e = new Employee (name, id); Console.Write("Enter the current number of employees: "); string n = Console.ReadLine(); Employee.employeeCounter = Int32.Parse(n); Employee.AddEmployee(); // Display the new information: Console.WriteLine("Name: {0}", e.name); Console.WriteLine("ID: {0}", e.id); Console.WriteLine("New Number of Employees: {0}", Employee.employeeCounter); } } geany-1.32/tests/ctags/keyword_sealed.cs0000644000175000017500000000046413204251306015256 00000000000000// cs_sealed_keyword.cs // Sealed classes using System; sealed class MyClass { public int x; public int y; } class MainClass { public static void Main() { MyClass mC = new MyClass(); mC.x = 110; mC.y = 150; Console.WriteLine("x = {0}, y = {1}", mC.x, mC.y); } } geany-1.32/tests/ctags/keyword_public.cs0000644000175000017500000000052513204251306015275 00000000000000// protected_public.cs // Public access using System; class MyClass1 { public int x; public int y; } class MyClass2 { public static void Main() { MyClass1 mC = new MyClass1(); // Direct access to public members: mC.x = 10; mC.y = 15; Console.WriteLine("x = {0}, y = {1}", mC.x, mC.y); } } geany-1.32/tests/ctags/keyword_protected.cs0000644000175000017500000000053413204251306016010 00000000000000// protected_keyword.cs using System; class MyClass { protected int x; protected int y; } class MyDerivedC: MyClass { public static void Main() { MyDerivedC mC = new MyDerivedC(); // Direct access to protected members: mC.x = 10; mC.y = 15; Console.WriteLine("x = {0}, y = {1}", mC.x, mC.y); } } geany-1.32/tests/ctags/keyword_private.cs0000644000175000017500000000101013204251306015457 00000000000000// private_keyword.cs using System; class Employee { public string name = "xx"; double salary = 100.00; // private access by default private int not_visible = 3; // strangely, not in original example public double AccessSalary() { return salary; } } class MainClass { public static void Main() { Employee e = new Employee(); // Accessing the public field: string n = e.name; // Accessing the private field: double s = e.AccessSalary(); } } geany-1.32/tests/ctags/keyword_params.cs0000644000175000017500000000112013204251306015272 00000000000000// cs_params.cs using System; public class MyClass { public static void UseParams(params int[] list) { for ( int i = 0 ; i < list.Length ; i++ ) Console.WriteLine(list[i]); Console.WriteLine(); } public static void UseParams2(params object[] list) { for ( int i = 0 ; i < list.Length ; i++ ) Console.WriteLine((object)list[i]); Console.WriteLine(); } public static void Main() { UseParams(1, 2, 3); UseParams2(1, 'a', "test"); int[] myarray = new int[3] {10,11,12}; UseParams(myarray); } } geany-1.32/tests/ctags/keyword_override.cs0000644000175000017500000000146213204251306015637 00000000000000// cs_override_keyword.cs // Calling overriden methods from the base class using System; class TestClass { public class Square { public double x; // Constructor: public Square(double x) { this.x = x; } public virtual double Area() { return x*x; } } class Cube: Square { // Constructor: public Cube(double x): base(x) { } // Calling the Area base method: public override double Area() { return (6*(base.Area())); } } public static void Main() { double x = 5.2; Square s = new Square(x); Square c = new Cube(x); Console.WriteLine("Area of Square = {0:F2}", s.Area()); Console.WriteLine("Area of Cube = {0:F2}", c.Area()); } } geany-1.32/tests/ctags/keyword_out.cs0000644000175000017500000000045413204251306014627 00000000000000// cs_out.cs using System; public class MyClass { public static int TestOut(out char i) { i = 'b'; return -1; } public static void Main() { char i; // variable need not be initialized Console.WriteLine(TestOut(out i)); Console.WriteLine(i); } } geany-1.32/tests/ctags/keyword_names.f900000644000175000017500000000062313204251306015112 00000000000000! For some reason, the Fortran standard does not prohibit this... module Program type Data integer :: contents end type Data integer :: i interface Program function myFunc(arg) !... end function myFunc end interface Program contains function MyFunc(arg) ! ... end function MyFunc end module Program program Interface use Program ! ... end program Interface geany-1.32/tests/ctags/keyword_namespace.cs0000644000175000017500000000104713204251306015753 00000000000000// cs_namespace_keyword.cs using System; namespace SomeNameSpace { public class MyClass { public static void Main() { Nested.NestedNameSpaceClass.SayHello(); } } namespace Nested // a nested namespace { public class NestedNameSpaceClass { public static void SayHello() { Console.WriteLine("Hello"); } } } } // namespace can nest multiple levels at once. namespace SomeNameSpace.Nested { public class AlternativeNestedNameSpaceClass { } } geany-1.32/tests/ctags/keyword_interface.cs0000644000175000017500000000163613204251306015763 00000000000000// keyword_interface.cs // Interface implementation using System; interface IPoint { // Property signatures: int x { get; set; } int y { get; set; } } class MyPoint : IPoint { // Fields: private int myX; private int myY; // Constructor: public MyPoint(int x, int y) { myX = x; myY = y; } // Property implementation: public int x { get { return myX; } set { myX = value; } } public int y { get { return myY; } set { myY = value; } } } class MainClass { private static void PrintPoint(IPoint p) { Console.WriteLine("x={0}, y={1}", p.x, p.y); } public static void Main() { MyPoint p = new MyPoint(2,3); Console.Write("My Point: "); PrintPoint(p); } } geany-1.32/tests/ctags/keyword_implicit.cs0000644000175000017500000000106013204251306015624 00000000000000// cs_keyword_implicit.cs using System; struct Digit { byte value; public Digit(byte value) { if (value < 0 || value > 9) throw new ArgumentException(); this.value = value; } // define implicit Digit-to-byte conversion operator: public static implicit operator byte(Digit d) { Console.WriteLine( "conversion occurred" ); return d.value; } } class Test { public static void Main() { Digit d = new Digit(3); // implicit (no cast) conversion from Digit to byte byte b = d; } } geany-1.32/tests/ctags/keyword_extern.cs0000644000175000017500000000057613204251306015332 00000000000000using System; using System.Runtime.InteropServices; class MyClass { [DllImport("User32.dll")] public static extern int MessageBox(int h, string m, string c, int type); public static int Main() { string myString; Console.Write("Enter your message: "); myString = Console.ReadLine(); return MessageBox(0, myString, "My Message Box", 0); } } geany-1.32/tests/ctags/keyword_explicit.cs0000644000175000017500000000100313204251306015630 00000000000000// cs_keyword_explicit.cs using System; struct Digit { byte value; public Digit(byte value) { if (value<0 || value>9) throw new ArgumentException(); this.value = value; } // define explicit byte-to-Digit conversion operator: public static explicit operator Digit(byte b) { Console.WriteLine("conversion occurred"); return new Digit(b); } } class Test { public static void Main() { byte b = 3; Digit d = (Digit)b; // explicit conversion } } geany-1.32/tests/ctags/keyword_event.cs0000644000175000017500000000645013204251306015143 00000000000000// event_keyword.cs using System; public delegate void MyDelegate(); // delegate declaration public interface I { event MyDelegate MyEvent; void FireAway(); } public class MyClass: I { public event MyDelegate MyEvent; public void FireAway() { if (MyEvent != null) MyEvent(); } } public class MainClass { static private void f() { Console.WriteLine("This is called when the event fires."); } static public void Main () { I i = new MyClass(); i.MyEvent += new MyDelegate(f); i.FireAway(); } } // event_keyword2.cs using System; using System.Collections; public delegate void MyDelegate1(int i); public delegate void MyDelegate2(string s); public delegate void MyDelegate3(int i, object o); public delegate void MyDelegate4(); public class PropertyEventsSample { private Hashtable eventTable = new Hashtable(); public event MyDelegate1 Event1 { add { eventTable["Event1"] = (MyDelegate1)eventTable["Event1"] + value; } remove { eventTable["Event1"] = (MyDelegate1)eventTable["Event1"] - value; } } public event MyDelegate1 Event2 { add { eventTable["Event2"] = (MyDelegate1)eventTable["Event2"] + value; } remove { eventTable["Event2"] = (MyDelegate1)eventTable["Event2"] - value; } } public event MyDelegate2 Event3 { add { eventTable["Event3"] = (MyDelegate2)eventTable["Event3"] + value; } remove { eventTable["Event3"] = (MyDelegate2)eventTable["Event3"] - value; } } public event MyDelegate3 Event4 { add { eventTable["Event4"] = (MyDelegate3)eventTable["Event4"] + value; } remove { eventTable["Event4"] = (MyDelegate3)eventTable["Event4"] - value; } } public event MyDelegate3 Event5 { add { eventTable["Event5"] = (MyDelegate3)eventTable["Event5"] + value; } remove { eventTable["Event5"] = (MyDelegate3)eventTable["Event5"] - value; } } public event MyDelegate4 Event6 { add { eventTable["Event6"] = (MyDelegate4)eventTable["Event6"] + value; } remove { eventTable["Event6"] = (MyDelegate4)eventTable["Event6"] - value; } } } public class MyClass { public static void Main() { } } // event_keyword3.cs using System; public delegate void MyDelegate1(); public interface I1 { event MyDelegate1 MyEvent; } public delegate int MyDelegate2(string s); public interface I2 { event MyDelegate2 MyEvent; } public class ExplicitEventsSample: I1, I2 { public event MyDelegate1 MyEvent; // normal implementation of I1.MyEvent. event MyDelegate2 I2.MyEvent // explicit implementation of I2.MyEvent { add { MyEvent2Storage += value; } remove { MyEvent2Storage -= value; } } private MyDelegate2 MyEvent2Storage; // underlying storage for I2.MyEvent. private void FireEvents() { if (MyEvent != null) MyEvent(); if (MyEvent2Storage != null) MyEvent2Storage("hello"); } } public class MyClass { public static void Main() { } } geany-1.32/tests/ctags/keyword_enum.cs0000644000175000017500000000125313204251306014762 00000000000000// C# Programmer's Reference: enum // keyword_enum.cs // enum initialization: using System; public class EnumTest { enum Days {Sat=1, Sun, Mon, Tue, Wed, Thu, Fri}; public static void Main() { int x = (int) Days.Sun; int y = (int) Days.Fri; Console.WriteLine("Sun = {0}", x); Console.WriteLine("Fri = {0}", y); } } // keyword_enum2.cs // Using long enumerators using System; public class EnumTest { enum Range :long {Max = 2147483648L, Min = 255L}; public static void Main() { long x = (long) Range.Max; long y = (long) Range.Min; Console.WriteLine("Max = {0}", x); Console.WriteLine("Min = {0}", y); } } geany-1.32/tests/ctags/keyword_delegate.cs0000644000175000017500000000216313204251306015571 00000000000000// keyword_delegate.cs // delegate declaration delegate void MyDelegate(int i); class Program { public static void Main() { TakesADelegate(new MyDelegate(DelegateFunction)); } public static void TakesADelegate(MyDelegate SomeFunction) { SomeFunction(21); } public static void DelegateFunction(int i) { System.Console.WriteLine("Called by delegate with number: {0}.", i); } } // // keyword_delegate2.cs // Calling both static and instance methods from delegates using System; // delegate declaration delegate void MyDelegate(); public class MyClass { public void InstanceMethod() { Console.WriteLine("A message from the instance method."); } static public void StaticMethod() { Console.WriteLine("A message from the static method."); } } public class MainClass { static public void Main() { MyClass p = new MyClass(); // Map the delegate to the instance method: MyDelegate d = new MyDelegate(p.InstanceMethod); d(); // Map to the static method: d = new MyDelegate(MyClass.StaticMethod); d(); } } geany-1.32/tests/ctags/keyword_const.cs0000644000175000017500000000100113204251306015133 00000000000000// const_keyword.cs // Constants using System; public class ConstTest { class MyClass { public int x; public int y; public const int c1 = 5; public const int c2 = c1 + 5; public MyClass(int p1, int p2) { x = p1; y = p2; } } public static void Main() { MyClass mC = new MyClass(11, 22); Console.WriteLine("x = {0}, y = {1}", mC.x, mC.y); Console.WriteLine("c1 = {0}, c2 = {1}", MyClass.c1, MyClass.c2 ); } } geany-1.32/tests/ctags/keyword_class.cs0000644000175000017500000000164713204251306015132 00000000000000// keyword_class.cs // class example using System; public class Kid { private int age; private string name; // Default constructor: public Kid() { name = "N/A"; } // Constructor: public Kid(string name, int age) { this.name = name; this.age = age; } // Printing method: public void PrintKid() { Console.WriteLine("{0}, {1} years old.", name, age); } } public class MainClass { public static void Main() { // Create objects // Objects must be created using the new operator: Kid kid1 = new Kid("Craig", 11); Kid kid2 = new Kid("Sally", 10); // Create an object using the default constructor: Kid kid3 = new Kid(); // Display results: Console.Write("Kid #1: "); kid1.PrintKid(); Console.Write("Kid #2: "); kid2.PrintKid(); Console.Write("Kid #3: "); kid3.PrintKid(); } } geany-1.32/tests/ctags/keyword_catch_try.cs0000644000175000017500000000111713204251306015775 00000000000000// Ordering catch clauses using System; class MyClass { public static void Main() { MyClass x = new MyClass(); try { string s = null; x.MyFn(s); } // Most specific: catch (ArgumentNullException e) { Console.WriteLine("{0} First exception caught.", e); } // Least specific: catch (Exception e) { Console.WriteLine("{0} Second exception caught.", e); } } public void MyFn(string s) { if (s == null) throw new ArgumentNullException(); } } geany-1.32/tests/ctags/keyword_abstract.cs0000644000175000017500000000153313204251306015622 00000000000000// abstract_keyword.cs // Abstract Classes using System; abstract class MyBaseC // Abstract class { protected int x = 100; protected int y = 150; public abstract void MyMethod(); // Abstract method public abstract int GetX // Abstract property { get; } public abstract int GetY // Abstract property { get; } } class MyDerivedC: MyBaseC { public override void MyMethod() { x++; y++; } public override int GetX // overriding property { get { return x+10; } } public override int GetY // overriding property { get { return y+10; } } public static void Main() { MyDerivedC mC = new MyDerivedC(); mC.MyMethod(); Console.WriteLine("x = {0}, y = {1}", mC.GetX, mC.GetY); } } geany-1.32/tests/ctags/jsFunc_tutorial.js0000644000175000017500000002564313204251306015445 00000000000000 /* * These samples were retrieved from this website: * http://www.permadi.com/tutorial/jsFunc/ * * This the output you should see from running: * ctags -f - Test/jsFunc_tutorial.js * functions * Ball1 * Ball3 * D1 * D2 * D2A * D3 * D4 * D5 * DT1 * DT2 * DT2A * DT3 * PT1 * calculate8 * getHalfOf7 * getHalfOf7.calculate * getHalfOf8 * getSalaryFunctionDT9 * myFunction4 * myFunction5 * myFunction6 * myFunction6A * myFunction6AE * myFunction6B * myFunction6E * myObject.add * savedFunc6B * sayName4A * theAdd * classes * DT4 * DT5 * DT6 * DT7 * DT7A * DT8 * DT9 * PT2 * PT3 * addSalaryFunction * addSalaryFunctionDT9 * methods * DT7.getSalary * DT7A.getSalary * DT8.getSalary * PT2.livesIn * PT2.price * PT3.addSalary * PT3.getSalary * variables * my_global_var1 */ // Example D1 function D1(a, b) { return a+b; } alert(D1(1,2)); // produces 3 var my_global_var1 = 'global'; // Example D2 var D2=function(a, b) { return a+b; } alert(D2(1,2)); // produces 3 // Example D2A var D2A=function theAdd(a, b) { return a+b; } alert(D2A(1,2)); // produces 3 alert(theAdd(1,2)); // also produces 3 var myObject=new Object(); myObject.add=function(a,b){return a+b}; // myObject now has a property/a method named "add" // and I can use it like below myObject.add(1, 2); // Example D3 var D3=new Function("a", "b", "return a+b;"); alert(D3(3,4)); // produces 7 // Example D4 var D4=new Function("a", "b", // separate string using "\" "('adding '+a+' and ' +b);\ return a+b;"); alert(D4(3,4)); // produces 7 // Example D5 function D5(myOperator) { return new Function("a", "b", "return a" + myOperator + "b;"); } var add=D5("+"); // creates "add" function var subtract=D5("-"); // creates "subtract" function var multiply=D5("*"); // created "multiply" function // test the functions alert("result of add="+add(10,2)); // result is 12 alert("result of subtract="+subtract(10,2)); // result is 8 alert("result of multiply="+multiply(10,2)); // result is 20 alert(add); // Example 1 function Ball1() // it may seem odd, but this declaration { // creates a object named Ball i=1; } alert(typeof Ball1); // produces "function" // Example 3 function Ball3() // it may seem odd, but declaration { // creates an object named Ball, and you can } // refer to it or add properties to it like below Ball3.callsign="The Ball"; // add property to Ball alert(Ball3.callsign); // produces "The Ball" // Example 4 function myFunction4(message) { alert(message); } var ptr=myFunction4; // ptr points to myFunction ptr("hello"); // executes myFunction which will prints "hello" // Example 4A function sayName4A(name) { alert(name); } var object1=new Object(); // creates 3 objects var object2=new Object(); var object3=new Object(); object1.sayMyName4A=sayName; // assign the function to all objects object2.sayMyName4A=sayName; object3.sayMyName4A=sayName; object1.sayMyName4A("object1"); // prints "object1" object2.sayMyName4A("object2"); // prints "object2" object3.sayMyName4A("object3"); // prints "object3" // Example 5 function myFunction5() { alert(myFunction.message); } myFunction5.message="old"; var ptr1=myFunction5; // ptr1 points to myFunction var ptr2=myFunction5; // ptr2 also points to myFunction ptr1(); // prints "old" ptr2(); // prints "old" myFunction5.message="new"; ptr1(); // prints "new" ptr2(); // prints "new" //Example 6: function myFunction6() { alert("Old"); } myFunction6(); // prints "Old" myFunction6E=function() { alert("New"); }; myFunction6E(); // prints "New" //Example 6A: function myFunction6A() { alert("Old"); } var savedFunction=myFunction6A; myFunction6AE=function() { alert("New"); }; myFunction6AE(); // prints "New" savedFunction(); // printf "Old" //Example 6B: function myFunction6B() { alert("Old"); } var savedFunc=myFunction6B; savedFunc6B=function() { alert("New"); }; myFunction6B(); // prints "Old" savedFunc6B(); // prints "New" // Example 7 function getHalfOf7(num1, num2, num3) { function calculate(number) { return number/2; } var result=""; result+=calculate(num1)+" "; result+=calculate(num2)+" "; result+=calculate(num3); } var resultString=getHalfOf7(10,20,30); alert(resultString); // prints "5 10 15" // Example 8 function calculate8(number) { return number/3; } function getHalfOf8(num1, num2, num3) { function calculate(number) { return number/2; } var result=""; result+=calculate(num1)+" "; result+=calculate(num2)+" "; result+=calculate(num3); } var resultString=getHalfOf8(10,20,30); alert(resultString); // prints "5 10 15" // Example DT1 function DT1() { } var ball0=new DT1(); // ball0 now points to a new object alert(ball0); // prints "Object" because ball0 is now an Object // Example DT2 function DT2(message) { alert(message); } var ball1=new DT2("creating new Ball"); // creates object & // prints the message ball1.name="ball-1"; // ball0 now has a "name" property alert(ball1.name); // prints "ball-0" // Example DT2A function DT2A(message) { alert(message); } var ball2=new Object(); ball2.construct=DT2A; ball2.construct("creating new ball2"); // executes ball0.Ball("creating.."); ball2.name="ball-2"; alert(ball2.name); // Example DT3 (creates 3 ball objects) function DT3() { } var ball3=new DT3(); // ball0 now points to a new instance of type Ball ball3.name="ball-3"; // ball0 now has a "name" property var ball4=new DT3(); ball4.name="ball-4"; var ball5=new DT3(); alert(ball0.name); // prints "ball-0" alert(ball1.name); // prints "ball-1" alert(ball2.name); // oops, I forgot to add "name" to ball2! // Example DT4 function DT4(message, specifiedName) { alert(message); this.name=specifiedName; } var ball6=new DT4("creating new Ball", "Soccer Ball"); alert(ball6.name); // prints "Soccer Ball" // Example DT5 function DT5(color, specifiedName, owner, weight) { this.name=specifiedName; this.color=color; this.owner=owner; this.weight=weigth; } var ball7=new DT5("black/white", "Soccer Ball", "John", 20); var ball8=new DT5("gray", "Bowling Ball", "John", 30); var ball9=new DT5("yellow", "Golf Ball", "John", 55); var balloon=new DT5("red", "Balloon", "Pete", 10); alert(ball7.name); // prints "Soccer Ball" alert(balloon.name); // prints "Balloon" alert(ball9.weight); // prints "55" // Example DT6 function DT6(name, salary, mySupervisor) { this.name=name; this.salary=salary; this.supervisor=mySupervisor; } var boss=new DT6("John", 200); var manager=new DT6("Joan", 50, boss); var teamLeader=new DT6("Rose", 50, boss); alert(manager.supervisor.name+" is the supervisor of "+manager.name); alert(manager.name+"\'s supervisor is "+manager.supervisor.name); // Example DT7 function DT7(name, salary) { this.name=name; this.salary=salary; this.addSalary=addSalaryFunction; this.getSalary=function() { return this.salary; }; } function addSalaryFunction(addition) { this.salary=this.salary+addition; } var boss=new DT7("John", 200000); boss.addSalary(10000); // boss gets 10K raise alert(boss.getSalary()); // print 210K function DT7A(name, salary) { this.name=name; this.salary=salary; this.addSalary=addSalaryFunction; this.getSalary=function() { return this.salary; }; } function addSalaryFunction(addition) { this.salary=this.salary+addition; } var boss=new DT7A("John", 200000); var boss2=new DT7A("Joan", 200000); var boss3=new DT7A("Kim", 200000); // Example DT8 function DT8(name, salary) { this.name=name; this.salary=salary; this.addSalary=addSalaryFunction; this.getSalary=function() { return this.salary; }; } function addSalaryFunction(addition) { this.salary=this.salary+addition; } var boss1=new DT8("John", 200000); var boss2=new DT8("Joan", 200000); // add properties to getSalary function object. boss1.getSalary.owner="boss1"; boss2.getSalary.owner="boss2"; alert(boss1.getSalary.owner); // prints "boss1" alert(boss2.getSalary.owner); // prints "boss2" // if both objects are pointing to the same function object, then // both output above should have printed "boss2". // add properties to addSalary function object. boss1.addSalary.owner="boss1"; boss1.addSalary.owner="boss2"; alert(boss1.addSalary.owner); // prints "boss2" alert(boss2.addSalary.owner); // prints "boss2" // since both objects are not pointing to the same function, // then changes in one, affects all instances (so, both prints "boss2"). // Example DT9 function DT9(name, salary) { this.name=name; this.salary=salary; this.addSalary=addSalaryFunctionDT9; this.getSalary=getSalaryFunctionDT9; } function getSalaryFunctionDT9() { return this.salary; } function addSalaryFunctionDT9(addition) { this.salary=this.salary+addition; } // Example PT1 function PT1() { } alert(PT1.prototype); // prints "Object" // Example PT2 function PT2(name, color) { this.name=name; this.color=color; } PT2.prototype.livesIn="water"; PT2.prototype.price=20; // Example PT3 function PT3(name, salary) { this.name=name; this.salary=salary; } PT3.prototype.getSalary=function getSalaryFunction() { return this.salary; } PT3.prototype.addSalary=function addSalaryFunction(addition) { this.salary=this.salary+addition; } geany-1.32/tests/ctags/js-unknown-construct-nesting.js0000644000175000017500000000041513204251306020060 00000000000000 var o = { aa: function () { foo: { return ; } }, bb: function (a) { switch (a) { case 1: if (1) { return 32 } break; case 2: return 31; } return 1; }, cc: function() {} }; geany-1.32/tests/ctags/js-sub-block-scope.js0000644000175000017500000000032713204251306015664 00000000000000 function parent() { function foo() { if (test) { function hello() { } } else { function hi() { } } } function bar() { function hello2() {} function hi2() {} } } geany-1.32/tests/ctags/js-string-continuation.js0000644000175000017500000000026113204251306016707 00000000000000 var o = { "first": function(){}, "sec\ ond": function(){}, "\ t\ h\ i\ r\ d\ ": function(){}, "fourth": function(){}, }; o.first(); o.second(); o.third(); o.fourth(); geany-1.32/tests/ctags/js-signature.js0000644000175000017500000000101113204251306014664 00000000000000 function f1() { } function f2(arg1, arg2) { } function f3( arg1, // first arg2, // second arg3 // last ) { // ... } function f4(a, b, c) { } function Cls(name) { this.name = name; } Cls.prototype = { get_name: function() { return this.name; }, set_name: function(name) { this.name = name; }, } Cls.prototype.hello = function(tpl) { if (tpl == undefined) tpl = "hello {}"; return tpl.replace ('{}', this.name); } main = function() { c = new Cls("John"); print(c.hello()); } main(); geany-1.32/tests/ctags/js-scope.js0000644000175000017500000000037213204251306014005 00000000000000 function A() { this.a = 1; } A.prototype = { m1 : function() { this.a = 2; foo.bar.baz.hello(1); foo.bar.baz.hello(2); foo.bar.baz.hello(3); }, m2: function() { return this.a; }, }; geany-1.32/tests/ctags/js-let.js0000644000175000017500000000012413204251306013453 00000000000000let a = 1; let b = 0; let group = { x:1, y:1, z:1, }; let func = function(){} geany-1.32/tests/ctags/js-implicit-semicolons.js0000644000175000017500000000044213204251306016655 00000000000000var a = 1 var b = function(){} function c() {} var d = {} function e() {} var f = [] function g() {} var h = (1) function i() {} do { } while(0) function j() {} var k = new Function('a','b','return a+b') function l() {} var m = 0 // a single comment doesn't eat the newline function n() {} geany-1.32/tests/ctags/js-const.js0000644000175000017500000000013713204251306014021 00000000000000 const A = 1; const B = 1; const Group = { X:1, Y:2, Z:3 }; const func = function () {} geany-1.32/tests/ctags/js-class-related-unterminated.js0000644000175000017500000000217013204251306020112 00000000000000 var Cls = { // add a member just so Cls is recognized as a class from the start A: {} } Cls.B = function(a, b) { this.a = a; this.b = b; } Cls.B.Sub = function() { this.a = 0 } Cls.B.prototype.m1 = function(a) { this.a = a; if (a > 2) { this.a *= 2 } } Cls.B.prototype.m2 = function(b) { var a = b } Cls.B.prototype.m3 = function(c) { this.c = c } Cls.B.prototype.m4 = function(d) { this.d = d } Cls.B.prototype.m5 = function(e) { /* this should rather be written `Cls.B.Sub.prototype.dyn1 = this.m6`, but * then parser then thinks it's a child of this very scope. it isn't really * possible to fix this as the only reason it's actually not a child of the * current scope is because it exists in the root scope but not in this one */ var Sub = Cls.B.Sub; Sub.prototype.dyn1 = this.m4 } Cls.B.prototype.m6 = function(f) { } Cls.C = function () { this.a = 0; } Cls.C.prototype = { n1: function() { Cls.C.prototype = Cls.C.prototype }, n2: function() { } } function main() { var c = new Cls.B(1, 2); var d = new Cls.B.Sub(); print(d.dyn1); c.m5(); print(d.dyn1); } main(); geany-1.32/tests/ctags/js-broken-strings.js0000644000175000017500000000053113204251306015640 00000000000000// this file willfully uses CR-LF line endings to check their handling var s1 = "I'm invalid because not terminated var s2 = "I'm valid, I have a line continuation:\ ; function bug1(){}"; var s3 = "I'm invalid because I'm not terminated either \ var bug2 = 'this is inside the s3 string' var s4 = 'this is a separate, valid string' geany-1.32/tests/ctags/java_enum.java0000644000175000017500000000037213204251306014534 00000000000000public class C { public enum TrivialEnum { FIRST_VALUE, SECOND_VALUE } public enum FancyEnum { A(1), B(2); private int i; FancyEnum(int i) { this.i = i; } void m() { } } public enum FancyEnum2 { X, Y; void m2() { } } } geany-1.32/tests/ctags/invalid_name.f900000644000175000017500000000061113204251306014666 00000000000000! Test of parsing type with invalid name Module TR_DetectionRecording Implicit None Save Integer :: DR_Lun Character*1024 DR_Filename Type Detection_Record Integer(2) :: Activity Integer(2) :: Type ! "Type" not valid entity name Integer(2) :: Face End Type Detection_Record End Module TR_DetectionRecording geany-1.32/tests/ctags/intro.tex0000644000175000017500000000320713204251306013601 00000000000000% http://sip.clarku.edu/tutorials/TeX/intro.html \documentclass[12pt]{article} \usepackage{amsmath} % need for subequations \chapter{chapter text} \include{chapter1-intro.inc} \section{section1 text} It is desirable to print program code exactly as it is typed in a monospaced font. Use \verb \begin{verbatim} and \section{Introduction} \part{Part1} It is desirable to print program code exactly as it is typed in a monospaced font. Use \verb \begin{verbatim} and \subsection{subsection2} It is desirable to print program code exactly as it is typed in a monospaced font. Use \verb \begin{verbatim} and \subsubsection{subsubsection3 with extra text} It is desirable to print program code exactly as it is typed in a monospaced font. Use \verb \begin{verbatim} and \section[short section4]{section4 text} \paragraph[short para1]{long paragraph1} \paragraph{long paragraph2} It is desirable to print program code exactly as it is typed in a monospaced font. Use \verb \begin{verbatim} and \part{Part2} \section[shorter intro2]*{Introduction2longtitle} It is desirable to print program code exactly as it is typed in a monospaced font. Use \verb \begin{verbatim} and \subsection[subsec5 text]*{subsection5} \subparagraph[short subpara1]{long subparagraph1} \subparagraph{long subparagraph2} It is desirable to print program code exactly as it is typed in a monospaced font. Use \verb \begin{verbatim} and \subsubsection{subsubsection6 with extra text} It is desirable to print program code exactly as it is typed in a monospaced font. Use \verb \begin{verbatim} and \chapter{chapter2} \include{chapter2-intro.inc} \end{document} geany-1.32/tests/ctags/intro_orig.tex0000644000175000017500000002152313204251306014622 00000000000000% http://sip.clarku.edu/tutorials/TeX/intro.html \documentclass[12pt]{article} \usepackage{amsmath} % need for subequations \usepackage{graphicx} % need for figures \usepackage{verbatim} % useful for program listings \usepackage{color} % use if color is used in text \usepackage{subfigure} % use for side-by-side figures \usepackage{hyperref} % use for hypertext links, including those to external documents and URLs % don't need the following. simply use defaults \setlength{\baselineskip}{16.0pt} % 16 pt usual spacing between lines \setlength{\parskip}{3pt plus 2pt} \setlength{\parindent}{20pt} \setlength{\oddsidemargin}{0.5cm} \setlength{\evensidemargin}{0.5cm} \setlength{\marginparsep}{0.75cm} \setlength{\marginparwidth}{2.5cm} \setlength{\marginparpush}{1.0cm} \setlength{\textwidth}{150mm} \begin{comment} \pagestyle{empty} % use if page numbers not wanted \end{comment} % above is the preamble \begin{document} \begin{center} {\large Introduction to \LaTeX} \\ % \\ = new line \copyright 2006 by Harvey Gould \\ December 5, 2006 \end{center} \section{Introduction} \TeX\ looks more difficult than it is. It is almost as easy as $\pi$. See how easy it is to make special symbols such as $\alpha$, $\beta$, $\gamma$, $\delta$, $\sin x$, $\hbar$, $\lambda$, $\ldots$ We also can make subscripts $A_{x}$, $A_{xy}$ and superscripts, $e^x$, $e^{x^2}$, and $e^{a^b}$. We will use \LaTeX, which is based on \TeX\ and has many higher-level commands (macros) for formatting, making tables, etc. More information can be found in Ref.~\cite{latex}. We just made a new paragraph. Extra lines and spaces make no difference. Note that all formulas are enclosed by \$ and occur in \textit{math mode}. The default font is Computer Modern. It includes \textit{italics}, \textbf{boldface}, \textsl{slanted}, and \texttt{monospaced} fonts. \section{Equations} Let us see how easy it is to write equations. \begin{equation} \Delta =\sum_{i=1}^N w_i (x_i - \bar{x})^2 . \end{equation} It is a good idea to number equations, but we can have a equation without a number by writing \begin{equation} P(x) = \frac{x - a}{b - a} , \nonumber \end{equation} and \begin{equation} g = \frac{1}{2} \sqrt{2\pi} . \nonumber \end{equation} We can give an equation a label so that we can refer to it later. \begin{equation} \label{eq:ising} E = -J \sum_{i=1}^N s_i s_{i+1} , \end{equation} Equation~\eqref{eq:ising} expresses the energy of a configuration of spins in the Ising model.\footnote{It is necessary to process (typeset) a file twice to get the counters correct.} We can define our own macros to save typing. For example, suppose that we introduce the macros: \begin{verbatim} \newcommand{\lb}{{\langle}} \newcommand{\rb}{{\rangle}} \end{verbatim} \newcommand{\lb}{{\langle}} \newcommand{\rb}{{\rangle}} Then we can write the average value of $x$ as \begin{verbatim} \begin{equation} \lb x \rb = 3 \end{equation} \end{verbatim} The result is \begin{equation} \lb x \rb = 3 . \end{equation} Examples of more complicated equations: \begin{equation} I = \! \int_{-\infty}^\infty f(x)\,dx \label{eq:fine}. \end{equation} We can do some fine tuning by adding small amounts of horizontal spacing: \begin{verbatim} \, small space \! negative space \end{verbatim} as is done in Eq.~\eqref{eq:fine}. We also can align several equations: \begin{align} a & = b \\ c &= d , \end{align} or number them as subequations: \begin{subequations} \begin{align} a & = b \\ c &= d . \end{align} \end{subequations} We can also have different cases: \begin{equation} \label{eq:mdiv} m(T) = \begin{cases} 0 & \text{$T > T_c$} \\ \bigl(1 - [\sinh 2 \beta J]^{-4} \bigr)^{\! 1/8} & \text{$T < T_c$} \end{cases} \end{equation} write matrices \begin{align} \textbf{T} &= \begin{pmatrix} T_{++} \hfill & T_{+-} \\ T_{-+} & T_{--} \hfill \end{pmatrix} , \nonumber \\ & = \begin{pmatrix} e^{\beta (J + B)} \hfill & e^{-\beta J} \hfill \\ e^{-\beta J} \hfill & e^{\beta (J - B)} \hfill \end{pmatrix}. \end{align} and \newcommand{\rv}{\textbf{r}} \begin{equation} \sum_i \vec A \cdot \vec B = -P\!\int\! \rv \cdot \hat{\mathbf{n}}\, dA = P\!\int \! {\vec \nabla} \cdot \rv\, dV. \end{equation} \section{Tables} Tables are a little more difficult. TeX automatically calculates the width of the columns. \begin{table}[h] \begin{center} \begin{tabular}{|l|l|r|l|} \hline lattice & $d$ & $q$ & $T_{\rm mf}/T_c$ \\ \hline square & 2 & 4 & 1.763 \\ \hline triangular & 2 & 6 & 1.648 \\ \hline diamond & 3 & 4 & 1.479 \\ \hline simple cubic & 3 & 6 & 1.330 \\ \hline bcc & 3 & 8 & 1.260 \\ \hline fcc & 3 & 12 & 1.225 \\ \hline \end{tabular} \caption{\label{tab:5/tc}Comparison of the mean-field predictions for the critical temperature of the Ising model with exact results and the best known estimates for different spatial dimensions $d$ and lattice symmetries.} \end{center} \end{table} \section{Lists} Some example of formatted lists include the following: \begin{enumerate} \item bread \item cheese \end{enumerate} \begin{itemize} \item Tom \item Dick \end{itemize} \section{Figures} We can make figures bigger or smaller by scaling them. Figure~\ref{fig:lj} has been scaled by 60\%. \begin{figure}[h] \begin{center} \includegraphics{figures/sine} \caption{\label{fig:typical}Show me a sine.} \end{center} \end{figure} \begin{figure}[h] \begin{center} \scalebox{0.6}{\includegraphics{figures/lj}} \caption{\label{fig:lj}Plot of the Lennard-Jones potential $u(r)$. The potential is characterized by a length $\sigma$ and an energy $\epsilon$.} \end{center} \end{figure} \section{Literal text} It is desirable to print program code exactly as it is typed in a monospaced font. Use \verb \begin{verbatim} and \verb \end{verbatim} as in the following example: \begin{verbatim} double y0 = 10; // example of declaration and assignment statement double v0 = 0; // initial velocity double t = 0; // time double dt = 0.01; // time step double y = y0; \end{verbatim} The command \verb \verbatiminput{programs/Square.java}\ allows you to list the file \texttt{Square.java} in the directory programs. \section{Special Symbols} \subsection{Common Greek letters} These commands may be used only in math mode. Only the most common letters are included here. $\alpha, \beta, \gamma, \Gamma, \delta,\Delta, \epsilon, \zeta, \eta, \theta, \Theta, \kappa, \lambda, \Lambda, \mu, \nu, \xi, \Xi, \pi, \Pi, \rho, \sigma, \tau, \phi, \Phi, \chi, \psi, \Psi, \omega, \Omega$ \subsection{Special symbols} The derivative is defined as \begin{equation} \frac{dy}{dx} = \lim_{\Delta x \to 0} \frac{\Delta y} {\Delta x} \end{equation} \begin{equation} f(x) \to y \quad \mbox{as} \quad x \to x_{0} \end{equation} \begin{equation} f(x) \mathop {\longrightarrow} \limits_{x \to x_0} y \end{equation} \noindent Order of magnitude: \begin{equation} \log_{10}f \simeq n \end{equation} \begin{equation} f(x)\sim 10^{n} \end{equation} Approximate equality: \begin{equation} f(x)\simeq g(x) \end{equation} \LaTeX\ is simple if we keep everything in proportion: \begin{equation} f(x) \propto x^3 . \end{equation} Finally we can skip some space by using commands such as \begin{verbatim} \bigskip \medskip \smallskip \vspace{1pc} \end{verbatim} The space can be negative. \section{\color{red}Use of Color} {\color{blue}{We can change colors for emphasis}}, {\color{green}{but}} {\color{cyan}{who is going pay for the ink?}} \section{\label{morefig}Subfigures} As soon as many students start becoming comfortable using \LaTeX, they want to use some of its advanced features. So we now show how to place two figures side by side. \begin{figure}[h!] \begin{center} \subfigure[Real and imaginary.]{ \includegraphics[scale=0.5]{figures/reim}} \subfigure[Amplitude and phase.]{ \includegraphics[scale=0.5]{figures/phase}} \caption{\label{fig:qm/complexfunctions} Two representations of complex wave functions.} \end{center} \end{figure} We first have to include the necessary package, \verb+\usepackage{subfigure}+, which has to go in the preamble (before \verb+\begin{document}+). It sometimes can be difficult to place a figure in the desired place. Your LaTeX document can be easily modified to make a poster or a screen presentation similar to (and better than) PowerPoint. Conversion to HTML is straightforward. Comments on this tutorial are appreciated. \begin{thebibliography}{5} \bibitem{latex}Helmut Kopka and Patrick W. Daly, \textsl{A Guide to \LaTeX: Document Preparation for Beginners and Advanced Users}, fourth edition, Addison-Wesley (2004). \bibitem{website}Some useful links are given at \url{}. \end{thebibliography} {\small \noindent Updated 5 December 2006.} \end{document} geany-1.32/tests/ctags/internal.cs0000644000175000017500000000015613204251306014067 00000000000000// Assembly1.cs // compile with: /target:library internal class BaseClass { public static int IntM = 0; } geany-1.32/tests/ctags/interfaces.f900000644000175000017500000000151613204251306014370 00000000000000module HasInterfaces ! INTERFACE blocks can have names ! usually only used for when overloading, but good practice anyway! interface MyFunc function Func1(arg) integer :: arg end function Func1 function Func2(arg) integer :: arg end function Func2 end interface MyFunc ! without a name we just use a generic one interface subroutine CHEEV(...) ! ... end subroutine CHEEV end interface contains function Func1(arg) integer :: arg, func1 func1 = arg end function Func1 function Func2(arg) integer :: arg, func2 func2 = arg end function Func2 end module HasInterfaces program Main use HasInterfaces ! can also occur in PROGRAMs interface MySubroutine subroutine Sub1(arg) ! ... end subroutine Sub1 end interface MySubroutine end program Main geany-1.32/tests/ctags/interface_properties.cs0000644000175000017500000000227013204251306016466 00000000000000// cs_interface_properties.cs // Interface Properties using System; interface IEmployee { string Name { get; set; } int Counter { get; } } public class Employee: IEmployee { public static int numberOfEmployees; private int counter; private string name; // Read-write instance property: public string Name { get { return name; } set { name = value; } } // Read-only instance property: public int Counter { get { return counter; } } // Constructor: public Employee() { counter = ++counter + numberOfEmployees; } } public class MainClass { public static void Main() { Console.Write("Enter number of employees: "); string s = Console.ReadLine(); Employee.numberOfEmployees = int.Parse(s); Employee e1 = new Employee(); Console.Write("Enter the name of the new employee: "); e1.Name = Console.ReadLine(); Console.WriteLine("The employee information:"); Console.WriteLine("Employee number: {0}", e1.Counter); Console.WriteLine("Employee name: {0}", e1.Name); } } geany-1.32/tests/ctags/interface_indexers.cs0000644000175000017500000000170513204251306016115 00000000000000// cs_interface_indexers.cs using System; // Indexer on an interface: public interface IMyInterface { // indexer declaration: int this[int index] { get; set; } } // Implementing the interface: class IndexerClass : IMyInterface { private int [] myArray = new int[100]; public int this [int index] // indexer declaration { get { // Check the index limits if (index < 0 || index >= 100) return 0; else return myArray[index]; } set { if (!(index < 0 || index >= 100)) myArray[index] = value; } } } public class MainClass { public static void Main() { IndexerClass b = new IndexerClass(); // call the indexer to initialize the elements #3 and #5: b[2] = 4; b[5] = 32; for (int i=0; i<=10; i++) { Console.WriteLine("Element #{0} = {1}", i, b[i]); } } } geany-1.32/tests/ctags/initialization.f900000644000175000017500000000124113204251306015267 00000000000000! Tests for correct parsing of complicated initialization MODULE funcon IMPLICIT NONE REAL(8),DIMENSION(3,3),PARAMETER :: & imat= reshape((/1.d0,0.d0,0.d0, & 0.d0,1.d0,0.d0, & 0.d0,0.d0,1.d0/),(/3,3/)) REAL(8),DIMENSION(6,6),PARAMETER :: & imat6= reshape((/1.d0,0.d0,0.d0,0.d0,0.d0,0.d0, & 0.d0,1.d0,0.d0,0.d0,0.d0,0.d0, & 0.d0,0.d0,1.d0,0.d0,0.d0,0.d0, & 0.d0,0.d0,0.d0,1.d0,0.d0,0.d0, & 0.d0,0.d0,0.d0,0.d0,1.d0,0.d0, & 0.d0,0.d0,0.d0,0.d0,0.d0,1.d0/),(/6,6/)) END MODULE funcon geany-1.32/tests/ctags/ingres_procedures.sql0000644000175000017500000000272313204251306016171 00000000000000CREATE PROCEDURE db0001 (short_name varchar(12) not null) BEGIN END; PROCEDURE db0002 (short_name varchar(12) not null) = DECLARE x = varchar(12) not null; n = i4 not null; err = varchar(80) not null not default; BEGIN if short_name = '' then err := 'db0001: Pusty short_name!'; raise error 8001 :err; return -1; endif; select :x = bank_sh_name from "cafa". banks_directory_066 where bank_sh_name = :short_name; if iierrornumber != 0 THEN rollback; err := 'db0001: Podczas sprawdzania unikalnosci short_name banku wystapil blad!'; raise error 8001 :err; return -1; endif; n := iirowcount; commit; return n; END; -- OR with AS instead of =: PROCEDURE db0003 (short_name varchar(12) not null) AS DECLARE x = varchar(12) not null; n = i4 not null; err = varchar(80) not null not default; BEGIN if short_name = '' then err := 'db0001: Pusty short_name!'; raise error 8001 :err; return -1; endif; select :x = bank_sh_name from "cafa". banks_directory_066 where bank_sh_name = :short_name; if iierrornumber != 0 THEN rollback; err := 'db0001: Podczas sprawdzania unikalnosci short_name banku wystapil blad!'; raise error 8001 :err; return -1; endif; n := iirowcount; commit; return n; END geany-1.32/tests/ctags/infinite_loop.java0000644000175000017500000000002413204251306015417 00000000000000class C { void maingeany-1.32/tests/ctags/indexer.cs0000644000175000017500000000140513204251306013707 00000000000000// cs_keyword_indexers.cs using System; class IndexerClass { private int [] myArray = new int[100]; public int this [int index] // indexer declaration { get { // Check the index limits if (index < 0 || index >= 100) return 0; else return myArray[index]; } set { if (!(index < 0 || index >= 100)) myArray[index] = value; } } } public class MainClass { public static void Main() { IndexerClass b = new IndexerClass(); // call the indexer to initialize the elements #3 and #5: b[3] = 256; b[5] = 1024; for (int i=0; i<=10; i++) { Console.WriteLine("Element #{0} = {1}", i, b[i]); } } } geany-1.32/tests/ctags/implied_program.f0000644000175000017500000000017713204251306015250 00000000000000C Bug reported by Brian Helinski on 28 Feb 2003 ! implicit program main integer i i = 5 write(*,*) i end geany-1.32/tests/ctags/hex2dec.sql0000644000175000017500000000252613204251306013772 00000000000000rem ----------------------------------------------------------------------- rem URL: http://www.orafaq.com/scripts/plsql/hex2dec.txt rem Filename: hex2dec.sql rem Purpose: Functions to convert Hex to Decimal and vice versa rem Author: Mark Malakanov, Feb-1999 + Anonymous rem ----------------------------------------------------------------------- CREATE OR REPLACE FUNCTION hex2dec (hexnum in char) RETURN number IS i number; digits number; result number := 0; current_digit char(1); current_digit_dec number; BEGIN digits := length(hexnum); for i in 1..digits loop current_digit := SUBSTR(hexnum, i, 1); if current_digit in ('A','B','C','D','E','F') then current_digit_dec := ascii(current_digit) - ascii('A') + 10; else current_digit_dec := to_number(current_digit); end if; result := (result * 16) + current_digit_dec; end loop; return result; END hex2dec; / show errors CREATE OR REPLACE FUNCTION num2hex (N in number) RETURN varchar2 IS H varchar2(64) :=''; N2 integer := N; BEGIN loop select rawtohex(chr(N2))||H into H from dual; N2 := trunc(N2 / 256); exit when N2=0; end loop; return H; END num2hex; / show errors -- Examples: select hex2dec('FF') from dual; select num2hex(10) from dual; geany-1.32/tests/ctags/general.cs0000644000175000017500000000114513204251306013667 00000000000000// General Structure of a C# Program // A skeleton of a C# program using System; namespace MyNamespace1 { class MyClass1 { } struct MyStruct { } interface IMyInterface { } delegate int MyDelegate(); enum MyEnum { } namespace MyNamespace2 { } class MyClass2 { public static void Main(string[] args) { } } } // Using Fully Qualified Names namespace N1 // N1 { class C1 // N1.C1 { class C2 // N1.C1.C2 { } } namespace N2 // N1.N2 { class C2 // N1.N2.C2 { } } } geany-1.32/tests/ctags/func_typedef.h0000644000175000017500000000006413204251306014546 00000000000000typedef SLIST_HEAD(symlist, symbol_node) symlist_t; geany-1.32/tests/ctags/fortran_line_continuation.f900000644000175000017500000000072513204251306017522 00000000000000! this is a comment and continuation must not be handled in it & ! this is another line of comment #if dummy function & ! just a test for support of comments after a line continuation ! below is a preprocessor line, also just to test continuation #endif ! still testing & do_stuff(a) end function do_stuff function & ! actually the ampersand isn't required at the start of the continuation line #pragma stuff do_stuff_again(b) end function do_stuff_again geany-1.32/tests/ctags/fortran_associate.f900000644000175000017500000000047613204251306015757 00000000000000module with_associate real :: a contains function do_stuff(a) result(c) real, intent(in) :: a associate (b => a) c = b end associate end function do_stuff subroutine do_other_stuff(a) real, intent(in out) :: a a = 2 * a end subroutine do_other_stuff end module with_associate geany-1.32/tests/ctags/format.pl0000644000175000017500000000016213204251306013546 00000000000000# Test format tag generation. format XYZ = @<<< @>>> "1", "a" . format = @>>> 24 . write; $~ = XYZ; write; geany-1.32/tests/ctags/forall_module.f900000644000175000017500000000055113204251306015067 00000000000000! a module that uses a forall block module with_forall real :: a contains subroutine sub_with_forall(x) real, intent(inout) :: x(:) integer :: i forall(i=1:size(x)) x(i) = 0.5**i end forall end subroutine sub_with_forall function two() result(res) real :: res res = 2.0 end function two end module with_forall geany-1.32/tests/ctags/extern_variable.h0000644000175000017500000000006413204251306015245 00000000000000extern int a; extern struct B b; struct S; class C; geany-1.32/tests/ctags/events.cs0000644000175000017500000001120313204251306013552 00000000000000// events1.cs using System; namespace MyCollections { using System.Collections; // A delegate type for hooking up change notifications. public delegate void ChangedEventHandler(object sender, EventArgs e); // A class that works just like ArrayList, but sends event // notifications whenever the list changes. public class ListWithChangedEvent: ArrayList { // An event that clients can use to be notified whenever the // elements of the list change. public event ChangedEventHandler Changed; // Invoke the Changed event; called whenever list changes protected virtual void OnChanged(EventArgs e) { if (Changed != null) Changed(this, e); } // Override some of the methods that can change the list; // invoke event after each public override int Add(object value) { int i = base.Add(value); OnChanged(EventArgs.Empty); return i; } public override void Clear() { base.Clear(); OnChanged(EventArgs.Empty); } public override object this[int index] { set { base[index] = value; OnChanged(EventArgs.Empty); } } } } namespace TestEvents { using MyCollections; class EventListener { private ListWithChangedEvent List; public EventListener(ListWithChangedEvent list) { List = list; // Add "ListChanged" to the Changed event on "List". List.Changed += new ChangedEventHandler(ListChanged); } // This will be called whenever the list changes. private void ListChanged(object sender, EventArgs e) { Console.WriteLine("This is called when the event fires."); } public void Detach() { // Detach the event and delete the list List.Changed -= new ChangedEventHandler(ListChanged); List = null; } } class Test { // Test the ListWithChangedEvent class. public static void Main() { // Create a new list. ListWithChangedEvent list = new ListWithChangedEvent(); // Create a class that listens to the list's change event. EventListener listener = new EventListener(list); // Add and remove items from the list. list.Add("item 1"); list.Clear(); listener.Detach(); } } } // events2.cs using System; namespace MyCollections { using System.Collections; // A class that works just like ArrayList, but sends event // notifications whenever the list changes: public class ListWithChangedEvent: ArrayList { // An event that clients can use to be notified whenever the // elements of the list change: public event EventHandler Changed; // Invoke the Changed event; called whenever list changes: protected virtual void OnChanged(EventArgs e) { if (Changed != null) Changed(this,e); } // Override some of the methods that can change the list; // invoke event after each: public override int Add(object value) { int i = base.Add(value); OnChanged(EventArgs.Empty); return i; } public override void Clear() { base.Clear(); OnChanged(EventArgs.Empty); } public override object this[int index] { set { base[index] = value; OnChanged(EventArgs.Empty); } } } } namespace TestEvents { using MyCollections; class EventListener { private ListWithChangedEvent List; public EventListener(ListWithChangedEvent list) { List = list; // Add "ListChanged" to the Changed event on "List": List.Changed += new EventHandler(ListChanged); } // This will be called whenever the list changes: private void ListChanged(object sender, EventArgs e) { Console.WriteLine("This is called when the event fires."); } public void Detach() { // Detach the event and delete the list: List.Changed -= new EventHandler(ListChanged); List = null; } } class Test { // Test the ListWithChangedEvent class: public static void Main() { // Create a new list: ListWithChangedEvent list = new ListWithChangedEvent(); // Create a class that listens to the list's change event: EventListener listener = new EventListener(list); // Add and remove items from the list: list.Add("item 1"); list.Clear(); listener.Detach(); } } } geany-1.32/tests/ctags/enumerators.f900000644000175000017500000000174213204251306014612 00000000000000module Enums real :: somevar ! we now have enumerators in F2003/8, for the sake of interop with C enum, bind(c) ! unnamed 1 enumerator :: red =1, blue enumerator gold, silver, bronze enumerator :: purple end enum ! here follow nonstandard enum declarations, which may become valid in a later standard ! no real harm implementing these as long as valid stuff isn't broken enum enumerator :: no_c_binding end enum enum :: Colons enumerator :: r end enum enum BodyPart enumerator :: arm, leg end enum enum(8) Paren_kind enumerator :: b end enum enum*8 Aster_kind enumerator :: c end enum enum(8) :: Paren_colon enumerator :: d end enum enum*8 :: Aster_colon enumerator :: e end enum enum, bind(c) :: Name_colon enumerator :: d end enum ! another entry to verify the parsing hasn't broken real, parameter :: othervar contains function Func(arg) ! ... end function Func end module Enums geany-1.32/tests/ctags/enum.java0000644000175000017500000000064513204251306013536 00000000000000public enum e { A, // should be 'e', not 'f' B(), // should be 'e', not 'm' C(1), // should be 'e', not missing D, // should be 'e', not 'f' E(), // should be 'e', not 'm' F(1), // should be 'e', not missing ; public String string; public final Shape shape; public final boolean twoKeywordsInARow; public String getString() { return string; } public final Shape getShape() { return shape; } } geany-1.32/tests/ctags/enum.f900000644000175000017500000000164113204251306013210 00000000000000module Constants implicit none real, parameter :: pi = 4 * atan(1.0) real, parameter :: E_e = 510998.91013 ! we now have enumerators in F2003/8, for the sake of interop with C enum, bind(c) ! unnamed 1 enumerator :: red =1, blue, black =5 enumerator yellow enumerator gold, silver, bronze enumerator :: purple enumerator :: pink, lavender end enum enum ! unnamed 2 enumerator :: a, b, c end enum enum :: Named1 enumerator :: x1, y1, z1 end enum enum Named2 enumerator :: x2, y2, z2 end enum enum(8) Named3 enumerator :: x3, y3, z3 end enum enum*8 Named4 enumerator :: x4, y4, z4 end enum enum(8) :: Named5 enumerator :: x5, y5, z5 end enum enum*8 :: Named6 enumerator :: x6, y6, z6 end enum enum, bind(c) :: Named7 enumerator :: x7, y7, z7 end enum real, parameter :: hc = 12398.4193 public end module Constants geany-1.32/tests/ctags/enum.c0000644000175000017500000000010213204251306013023 00000000000000enum test_enumeration { ENUM_1 = 1, ENUM_2, ENUM_3 }; geany-1.32/tests/ctags/dotted-names.json0000644000175000017500000000066313204251306015206 00000000000000{ "first.name": "John", "last.name": "Smith", "is.alive": true, "age": 25, "height_cm": 167.6, "address": { "street.address": "21 2nd Street", "city": "New York", "state": "NY", "postal.code": "10021-3100" }, "phone.numbers": [ { "type": "home", "number": "212 555-1234" }, { "type": "office", "number": "646 555-4567" } ], "children": [], "spouse": null } geany-1.32/tests/ctags/dopbl2.f0000644000175000017500000001465413204251306013265 00000000000000! Bug reported by Brian Helinski on 4 Feb 2003 DOUBLE PRECISION FUNCTION DOPBL2( SUBNAM, M, N, KKL, KKU ) * * -- LAPACK timing routine (version 3.0) -- * Univ. of Tennessee, Univ. of California Berkeley, NAG Ltd., * Courant Institute, Argonne National Lab, and Rice University * June 30, 1999 * * .. Scalar Arguments .. CHARACTER*6 SUBNAM INTEGER KKL, KKU, M, N * .. * * Purpose * ======= * * DOPBL2 computes an approximation of the number of floating point * operations used by a subroutine SUBNAM with the given values * of the parameters M, N, KL, and KU. * * This version counts operations for the Level 2 BLAS. * * Arguments * ========= * * SUBNAM (input) CHARACTER*6 * The name of the subroutine. * * M (input) INTEGER * The number of rows of the coefficient matrix. M >= 0. * * N (input) INTEGER * The number of columns of the coefficient matrix. * If the matrix is square (such as in a solve routine) then * N is the number of right hand sides. N >= 0. * * KKL (input) INTEGER * The lower band width of the coefficient matrix. * KL is set to max( 0, min( M-1, KKL ) ). * * KKU (input) INTEGER * The upper band width of the coefficient matrix. * KU is set to max( 0, min( N-1, KKU ) ). * * ===================================================================== * * .. Local Scalars .. CHARACTER C1 CHARACTER*2 C2 CHARACTER*3 C3 DOUBLE PRECISION ADDS, EK, EM, EN, KL, KU, MULTS * .. * .. External Functions .. LOGICAL LSAME, LSAMEN EXTERNAL LSAME, LSAMEN * .. * .. Intrinsic Functions .. INTRINSIC MAX, MIN * .. * .. Executable Statements .. * * Quick return if possible * IF( M.LE.0 .OR. .NOT.( LSAME( SUBNAM, 'S' ) .OR. LSAME( SUBNAM, $ 'D' ) .OR. LSAME( SUBNAM, 'C' ) .OR. LSAME( SUBNAM, 'Z' ) ) ) $ THEN DOPBL2 = 0 RETURN END IF * C1 = SUBNAM( 1: 1 ) C2 = SUBNAM( 2: 3 ) C3 = SUBNAM( 4: 6 ) MULTS = 0 ADDS = 0 KL = MAX( 0, MIN( M-1, KKL ) ) KU = MAX( 0, MIN( N-1, KKU ) ) EM = M EN = N EK = KL * * ------------------------------- * Matrix-vector multiply routines * ------------------------------- * IF( LSAMEN( 3, C3, 'MV ' ) ) THEN * IF( LSAMEN( 2, C2, 'GE' ) ) THEN * MULTS = EM*( EN+1.D0 ) ADDS = EM*EN * * Assume M <= N + KL and KL < M * N <= M + KU and KU < N * so that the zero sections are triangles. * ELSE IF( LSAMEN( 2, C2, 'GB' ) ) THEN * MULTS = EM*( EN+1.D0 ) - ( EM-1.D0-KL )*( EM-KL ) / 2.D0 - $ ( EN-1.D0-KU )*( EN-KU ) / 2.D0 ADDS = EM*( EN+1.D0 ) - ( EM-1.D0-KL )*( EM-KL ) / 2.D0 - $ ( EN-1.D0-KU )*( EN-KU ) / 2.D0 * ELSE IF( LSAMEN( 2, C2, 'SY' ) .OR. LSAMEN( 2, C2, 'SP' ) .OR. $ LSAMEN( 3, SUBNAM, 'CHE' ) .OR. $ LSAMEN( 3, SUBNAM, 'ZHE' ) .OR. $ LSAMEN( 3, SUBNAM, 'CHP' ) .OR. $ LSAMEN( 3, SUBNAM, 'ZHP' ) ) THEN * MULTS = EM*( EM+1.D0 ) ADDS = EM*EM * ELSE IF( LSAMEN( 2, C2, 'SB' ) .OR. $ LSAMEN( 3, SUBNAM, 'CHB' ) .OR. $ LSAMEN( 3, SUBNAM, 'ZHB' ) ) THEN * MULTS = EM*( EM+1.D0 ) - ( EM-1.D0-EK )*( EM-EK ) ADDS = EM*EM - ( EM-1.D0-EK )*( EM-EK ) * ELSE IF( LSAMEN( 2, C2, 'TR' ) .OR. LSAMEN( 2, C2, 'TP' ) ) $ THEN * MULTS = EM*( EM+1.D0 ) / 2.D0 ADDS = ( EM-1.D0 )*EM / 2.D0 * ELSE IF( LSAMEN( 2, C2, 'TB' ) ) THEN * MULTS = EM*( EM+1.D0 ) / 2.D0 - $ ( EM-EK-1.D0 )*( EM-EK ) / 2.D0 ADDS = ( EM-1.D0 )*EM / 2.D0 - $ ( EM-EK-1.D0 )*( EM-EK ) / 2.D0 * END IF * * --------------------- * Matrix solve routines * --------------------- * ELSE IF( LSAMEN( 3, C3, 'SV ' ) ) THEN * IF( LSAMEN( 2, C2, 'TR' ) .OR. LSAMEN( 2, C2, 'TP' ) ) THEN * MULTS = EM*( EM+1.D0 ) / 2.D0 ADDS = ( EM-1.D0 )*EM / 2.D0 * ELSE IF( LSAMEN( 2, C2, 'TB' ) ) THEN * MULTS = EM*( EM+1.D0 ) / 2.D0 - $ ( EM-EK-1.D0 )*( EM-EK ) / 2.D0 ADDS = ( EM-1.D0 )*EM / 2.D0 - $ ( EM-EK-1.D0 )*( EM-EK ) / 2.D0 * END IF * * ---------------- * Rank-one updates * ---------------- * ELSE IF( LSAMEN( 3, C3, 'R ' ) ) THEN * IF( LSAMEN( 3, SUBNAM, 'SGE' ) .OR. $ LSAMEN( 3, SUBNAM, 'DGE' ) ) THEN * MULTS = EM*EN + MIN( EM, EN ) ADDS = EM*EN * ELSE IF( LSAMEN( 2, C2, 'SY' ) .OR. LSAMEN( 2, C2, 'SP' ) .OR. $ LSAMEN( 3, SUBNAM, 'CHE' ) .OR. $ LSAMEN( 3, SUBNAM, 'CHP' ) .OR. $ LSAMEN( 3, SUBNAM, 'ZHE' ) .OR. $ LSAMEN( 3, SUBNAM, 'ZHP' ) ) THEN * MULTS = EM*( EM+1.D0 ) / 2.D0 + EM ADDS = EM*( EM+1.D0 ) / 2.D0 * END IF * ELSE IF( LSAMEN( 3, C3, 'RC ' ) .OR. LSAMEN( 3, C3, 'RU ' ) ) THEN * IF( LSAMEN( 3, SUBNAM, 'CGE' ) .OR. $ LSAMEN( 3, SUBNAM, 'ZGE' ) ) THEN * MULTS = EM*EN + MIN( EM, EN ) ADDS = EM*EN * END IF * * ---------------- * Rank-two updates * ---------------- * ELSE IF( LSAMEN( 3, C3, 'R2 ' ) ) THEN IF( LSAMEN( 2, C2, 'SY' ) .OR. LSAMEN( 2, C2, 'SP' ) .OR. $ LSAMEN( 3, SUBNAM, 'CHE' ) .OR. $ LSAMEN( 3, SUBNAM, 'CHP' ) .OR. $ LSAMEN( 3, SUBNAM, 'ZHE' ) .OR. $ LSAMEN( 3, SUBNAM, 'ZHP' ) ) THEN * MULTS = EM*( EM+1.D0 ) + 2.D0*EM ADDS = EM*( EM+1.D0 ) * END IF END IF * * ------------------------------------------------ * Compute the total number of operations. * For real and double precision routines, count * 1 for each multiply and 1 for each add. * For complex and complex*16 routines, count * 6 for each multiply and 2 for each add. * ------------------------------------------------ * IF( LSAME( C1, 'S' ) .OR. LSAME( C1, 'D' ) ) THEN * DOPBL2 = MULTS + ADDS * ELSE * DOPBL2 = 6*MULTS + 2*ADDS * END IF * RETURN * * End of DOPBL2 * END geany-1.32/tests/ctags/directives.c0000644000175000017500000000162113204251306014227 00000000000000/* Test simple cases */ #define VARIABLE_LIKE some_value #define FUNCTION_LIKE(a,b) (a + b) #pragma weak WeakSymbol = StrongSymbol #define with_long_comment /* line 1 line 2 */ /* Test usual case */ #ifdef MY_MACRO # define MACRO_TO_SEE1 1 int a; #elif YOUR_MACRO # define MACRO_TO_SEE2 2 int b; #elif defined (THEIR_MACRO) # define MACRO_TO_SEE3 3 int c; #else # define MACRO_TO_SEE4 4 int d; #endif /* Test commented-out case */ #if 0 #define IGNORE_MACRO int e; # if 0 # define ANOTHER_IGNORE_MACRO int f; # else # define YAIM # endif #else # define SEE_THIS_MACRO 1 int g; #endif /* Test path selection algorithm */ #ifdef OK #define PATH1 int foo1 (void) { #elif defined (OK) #define PATH2 int foo2 (void) { #else #define PATH3 int foo3 (void) { #endif } int bar1 (void) { #ifdef OK #define PATH1b } int p1; #elif defined (OK) #define PATH2b } int p2; #else #define PATH3b } int p3; #endif geany-1.32/tests/ctags/debian_432872.f900000644000175000017500000000055413204251306014321 00000000000000! { dg-do compile } ! PR18923 segfault after subroutine name confusion. module FOO contains subroutine FOO ! { dg-error "conflicts with PROCEDURE" } character(len=selected_int_kind(0)) :: C ! { dg-error "data declaration statement" } end subroutine ! { dg-error "Expecting END MODULE statement" } end ! { dg-warning "CONTAINS statement without FUNCTION" }geany-1.32/tests/ctags/db-trig.sql0000644000175000017500000000171113204251306013773 00000000000000rem ----------------------------------------------------------------------- rem URL: http://www.orafaq.com/scripts/plsql/db-trig.txt rem Filename: db-trig.sql rem Purpose: Demonstrate database triggers (available from Oracle 8i) rem Need DBA or CREATE ANY TRIGGER privs rem Date: 28-Aug-1998 rem Author: Frank Naude (frank@ibi.co.za) rem ----------------------------------------------------------------------- create or replace trigger restrict_login after logon on database declare flag number := 0; begin select 1 into flag from sys.v_$session where program like '%sqlplus%'; if flag = 1 then raise_application_error(-20000, 'No access from sqlplus'); end if; end; / show errors CREATE OR REPLACE TRIGGER startup_db after startup on database begin dbms_shared_pool.keep ('SYS.STANDARD','P'); dbms_shared_pool.keep ('SYS.DBMS_STANDARD','P'); end; / show errors geany-1.32/tests/ctags/cxx14-combined.cpp0000644000175000017500000000030613204251306015152 00000000000000struct Base { virtual void baz() const throw() = 0; }; struct Foo final : public Base { static constexpr auto bar() noexcept { return 1; } virtual void baz() const throw() final override; }; geany-1.32/tests/ctags/cxx11-raw-strings.cpp0000644000175000017500000000126413204251306015653 00000000000000 static const char* str1 = R"blah( lots of text )blah"; struct typ1 { int memb1; }; static const char* str2 = R"blah( lots of text including a quote" )blah"; struct typ2 { int memb2; }; /* check we don't get confused by string concatenation */ #define FOUR "four" static const char* str3 = FOUR"f(iv)e"; struct typ3 { int memb3; }; /* check for prefixes */ static const char* str4 = LR"blah(";int bug4;)blah"; struct typ4 { int memb4; }; static const char* str5 = u8R"blah(";int bug5;)blah"; struct typ5 { int memb5; }; static const char* str6 = uR"blah(";int bug6;)blah"; struct typ6 { int memb6; }; static const char* str7 = UR"blah(";int bug7;)blah"; struct typ7 { int memb7; }; geany-1.32/tests/ctags/cxx11-override.cpp0000644000175000017500000000033013204251306015203 00000000000000class Base { public: virtual void foo() = 0; }; class Derived : public Base { virtual void foo() override; virtual void override(); }; void Base::foo() { } void Derived::foo() { } void Derived::override() { } geany-1.32/tests/ctags/cxx11-noexcept.cpp0000644000175000017500000000020513204251306015212 00000000000000class Base { public: virtual void foo() noexcept = 0; virtual void bar() const noexcept = 0; int baz() noexcept { return 42; } }; geany-1.32/tests/ctags/cxx11-final.cpp0000644000175000017500000000032513204251306014461 00000000000000class Base { public: virtual void foo() = 0; }; class Derived final : public Base { virtual void foo() final; virtual void final(); }; void Base::foo() { } void Derived::foo() { } void Derived::final() { } geany-1.32/tests/ctags/cxx11enum.cpp0000644000175000017500000000024513204251306014260 00000000000000 enum A:int {A_a, A_b, A_c}; enum B:long {B_a, B_b, B_c}; enum C:unsigned int {C_a, C_b, C_c}; class Foo { enum D:int {a, b, c}; virtual void foo(enum D a); }; geany-1.32/tests/ctags/cython_sample2.pyx0000644000175000017500000000044513204251306015416 00000000000000# -*- cython-mode -*- # test code for cython functionality with complex datatypes import numpy as np cimport numpy as np cpdef np.ndarray[dtype=double, ndim=1] my_fun(np.ndarray[dtype=double, ndim=1] x): cdef np.ndarray[dtype=double, ndim=1, mode="c"] res res = 2*x return res geany-1.32/tests/ctags/cython_sample.pyx0000644000175000017500000000174013204251306015333 00000000000000# -*- cython-mode -*- # test code for python/cython functionality python_var = 1 cdef int i = 2 # cython identifiers are not indexed cdef : int j = 3 cdef k = 4 # no type here cdef int int_identity(int i) : return i # here is a long one cdef object int2string(int i) : return str(i) # a cdef class cdef class CDefClass : def __init__(self) : pass def standard_method(self,i) : return i cdef int c_method(self,int i) : return i # a python function def identity(x) : return x # a python class class StdClass : def return_me(self) : return "me" cdef CDefClass cdefObj = CDefClass() stdObj = StdClass() print "cython_sample: testing to make sure this file compiles and runs..." print "i is: ", i print "j is: ", j print "i via identity: ", int_identity(i) print "i via int2string: ", int2string(i) print "cdefObj: ", cdefObj.c_method(i) print "k via py identity", identity(k) print "py method call:", stdObj.return_me() geany-1.32/tests/ctags/css-trivial.css0000644000175000017500000000016213204251306014673 00000000000000 html{ font: sans-serif; } a{ color: red; } p{ text-align: justify; } input, textarea{ border: 1px solid green; } geany-1.32/tests/ctags/css-tag-types.css0000644000175000017500000000160013204251306015134 00000000000000a foo{ color: red } a #foo{ color: red } a .foo{ color: red } a foo bar{ color: red } a foo #bar{ color: red } a foo .bar{ color: red } a #foo bar{ color: red } a #foo #bar{ color: red } a #foo .bar{ color: red } a .foo bar{ color: red } a .foo #bar{ color: red } a .foo .bar{ color: red } #a foo{ color: red } #a #foo{ color: red } #a .foo{ color: red } #a foo bar{ color: red } #a foo #bar{ color: red } #a foo .bar{ color: red } #a #foo bar{ color: red } #a #foo #bar{ color: red } #a #foo .bar{ color: red } #a .foo bar{ color: red } #a .foo #bar{ color: red } #a .foo .bar{ color: red } .a foo{ color: red } .a #foo{ color: red } .a .foo{ color: red } .a foo bar{ color: red } .a foo #bar{ color: red } .a foo .bar{ color: red } .a #foo bar{ color: red } .a #foo #bar{ color: red } .a #foo .bar{ color: red } .a .foo bar{ color: red } .a .foo #bar{ color: red } .a .foo .bar{ color: red } geany-1.32/tests/ctags/css-singlequote-in-comment-issue2.css0000644000175000017500000000002513204251306021032 00000000000000a{x:0;/*'*/} b{y:0;} geany-1.32/tests/ctags/css-simple.css0000644000175000017500000000041613204251306014514 00000000000000 * { padding:0; } html { margin: 0 } .header { font-size: 200%; } #footer { font-size: 80%; } div.magic { /* haha */ text-decoration: blink; } .red { color: red } ul li { padding-left: 1em; } .foo a, .foo b { color: blue; } ul > li > a { font: monospace; } geany-1.32/tests/ctags/css-pseudo-classes.css0000644000175000017500000000073513204251306016161 00000000000000 tr:nth-child(2n+1) { background-color: light-gray } tr:nth-child(odd) { background-color: light-gray } tr:nth-child(2n) { background-color: light-gray } tr:nth-child(even) { background-color: light-gray } tr:nth-child(10n+0) { background-color: gray } span:nth-child(0n+1) { color: lime; } span:nth-child(1) { color: lime; } span:nth-child(-n+3) { color: lime; } span:not(:first-child) { color: red; } body :not(span) { color: green; } a:lang(en):after { content: "[en]" } geany-1.32/tests/ctags/css-namespace-selectors.css0000644000175000017500000000010313204251306017151 00000000000000 |a { color: red; } svg|a { color: green; } *|div { color: blue; } geany-1.32/tests/ctags/css-comma-no-space.css0000644000175000017500000000004713204251306016022 00000000000000input,textarea{border: 1px solid red;} geany-1.32/tests/ctags/css-attribute-selectors.css0000644000175000017500000000024213204251306017224 00000000000000 body { color: black; } a[href^="http://"] { color: red; } a[href^="https://"] { color: green; } a[lang~=en] { background-color: light-green; } p { color: gray } geany-1.32/tests/ctags/css-at-supports.css0000644000175000017500000000016213204251306015522 00000000000000 @supports ((test-property: 42) or (test-property2: 42)) { html { test-property: 42; } } html { color: blue; } geany-1.32/tests/ctags/css-at-rules.css0000644000175000017500000000062313204251306014757 00000000000000 @import "foo.css"; @namespace url(http://www.w3.org/1999/xhtml); @namespace svg url(http://www.w3.org/2000/svg); @media screen { body { font-size: 10pt; } } @media print { body { font-size: 12px; } } @media screen, print { body { line-height: 1.2 } } @page :first { margin: 2in; } @font-face { font-family: Sample; src: local("Sample"), url(Sample.ttf); } html { color: blue; } geany-1.32/tests/ctags/cpp_destructor.cpp0000644000175000017500000000007213204251306015465 00000000000000A::~A() { } B:: ~B () { } // bug 1585745 C:: ~ C () { } geany-1.32/tests/ctags/countall.sql0000644000175000017500000000301113204251306014257 00000000000000rem ----------------------------------------------------------------------- rem URL: http://www.orafaq.com/scripts/plsql/countall.txt rem Filename: countall.sql rem Purpose: Count the number of rows for ALL tables in current schema rem using PL/SQL rem Date: 15-Apr-2000 rem Author: Eberhardt, Roberto (Bolton) (reberhar@husky.ca) rem ----------------------------------------------------------------------- set serveroutput on size 1000000 DECLARE t_c1_tname user_tables.table_name%TYPE; t_command varchar2(200); t_cid integer; t_total_records number(10); stat integer; row_count integer; t_limit integer := 0; -- Only show tables with more rows cursor c1 is select table_name from user_tables order by table_name; BEGIN t_limit := 0; open c1; loop fetch c1 into t_c1_tname; exit when c1%NOTFOUND; t_command := 'SELECT COUNT(0) FROM '||t_c1_tname; t_cid := DBMS_SQL.OPEN_CURSOR; DBMS_SQL.PARSE(t_cid,t_command,dbms_sql.native); DBMS_SQL.DEFINE_COLUMN(t_cid,1,t_total_records); stat := DBMS_SQL.EXECUTE(t_cid); row_count := DBMS_SQL.FETCH_ROWS(t_cid); DBMS_SQL.COLUMN_VALUE(t_cid,1,t_total_records); if t_total_records > t_limit then DBMS_OUTPUT.PUT_LINE(rpad(t_c1_tname,55,' ')|| to_char(t_total_records,'99999999')||' record(s)'); end if; DBMS_SQL.CLOSE_CURSOR(t_cid); end loop; close c1; END; / geany-1.32/tests/ctags/continuation.mak0000644000175000017500000000006213204251306015124 00000000000000 A = \ a=b \ \ b=c \ \ c=d \ \ d=e \ B = dummy geany-1.32/tests/ctags/continuation.f900000644000175000017500000000024413204251306014754 00000000000000! Problem reported by Jim on 7 Jul 2002 module test real*8 :: & para_a, & ! para_a is ... para_b, & ! para_b is ... para_c ! para_c is ... geany-1.32/tests/ctags/complex-return.js0000644000175000017500000000167413204251306015254 00000000000000 function func1() { return { a: 1, b:2 }; } function func2() { return 42; } var class1 = function() { this.method1 = function() { return 42; }; this.method2 = function() { return { a:1, b:2 }; }; this.method3 = function() { return [1, 2, 3]; }; this.method4 = function() { return "hello"; }; }; var class2 = function() { this.c2m1 = function() { c2m3(function() { return { 'test': {} }; }); }; this.c2m2 = function(f) { return { 'ret': f() }; }; this.c2m3 = function(f) { return f(); }; }; var class3 = function() { this.c3m1 = function() { return function(n) { if (n == 42) { return 0; } else { return (n + 1) % 42; } }; }; this.c3m2 = function() { return 0; }; } var class4 = function() { this.method1 = function() { return [{a:1, b:2}, {a:3, b:4}, {a:5, b:6}]; }; this.method2 = function() { return 0; }; }; geany-1.32/tests/ctags/common.f0000644000175000017500000000017613204251306013365 00000000000000 PROGRAM main COMMON /common1/ c1a, c1b COMMON /common2/ c2a (1:3), c2b /common3/ c3a, c3b END geany-1.32/tests/ctags/classes.php0000644000175000017500000000056313204251306014074 00000000000000Expected output is classes: Bar Foo functions: __construct [Foo] __construct [Bar] method1 [Foo] method1 [Bar] method2 [Foo] typedef int matrix3??(3??); struct str ??< char *buf; unsigned int len, size; ??>; int main(void) ??< const char *hello = STRINGIFY(hello); matrix3 m = M3_INIT(1, 2, 3); return m??(2??); ??> /* FIXME: how to test "??'" ("^"), "??!" ("|") and "??-" ("~")? * I can't think of a construct CTags cares about using those */ ??=if 0 #define bug4 ??=endif /* test the same with untaken preprocessor paths (as they are then not read by * the C parser but get.c) */ #if 0 ??=define if0d_A 1 ??=define if0d_B 2 ??=define if0d_C 4 ???/ #define bug5 ??=define I ?????/ #define bug6 ??=define I ??????????/ #define bug7 #endif geany-1.32/tests/ctags/c-digraphs.c0000644000175000017500000000105013204251306014103 00000000000000 /* simple trigraphs */ %:define A 1 %:define B 2 %:define STRINGIFY_INTERN(x) %:x %:define STRINGIFY(x) STRINGIFY_INTERN(x) %:define M3_INIT(a, b, c) <% a, b, c %> typedef int matrix3<:3:>; struct str <% char *buf; unsigned int len, size; %>; int main(void) <% const char *hello = STRINGIFY(hello); matrix3 m = M3_INIT(1, 2, 3); return m<:2:>; %> %:if 0 #define bug4 %:endif /* test the same with untaken preprocessor paths (as they are then not read by * the C parser but get.c) */ #if 0 %:define if0d_A 1 %:define if0d_B 2 #endif geany-1.32/tests/ctags/byte.f0000644000175000017500000000021213204251306013027 00000000000000! Provided by Brian Helsinki, 7 March 2003 program byte_test BYTE A, B, C BYTE A1, B1, C1(10) BYTE A2 /'x'/, B2 /255/, C2(10) END geany-1.32/tests/ctags/bug961001.v0000644000175000017500000000126113204251306013347 00000000000000/* * In Verilog, the following two lines are both valid syntax: * * `define GUEST * `define GUEST * * The first defines "GUEST" as existing, but with no assigned * value. The second defines "GUEST" as existing with an * assigned value. Ctags55 correctly handles both cases, but * Ctags551 - Ctags554 only handles the `define with value * correctly. Here is some test code to demonstrate this: */ `define HOSTA `define HOSTB `define HOSTC `define HOSTD `define GUESTA 1 `define GUESTB 2 `define GUESTC 3 `define GUESTD 4 /* * Ctags55 correctly generates a tag for all `defines in the * code, but Ctags554 does not generate tags for "HOSTB" * or "HOSTD". */ geany-1.32/tests/ctags/bug960316.v0000644000175000017500000000250613204251306013362 00000000000000/************************************************************************** **** * test task one * the line below has 53 asteriks *****************************************************/ task pass_task_1; begin end endtask /************************************************************************** **** * test task one * the line below has 54 asteriks ******************************************************/ task fail_task_2; begin end endtask /************************************************************************** **** * test function one * the line below has 53 asteriks *****************************************************/ function pass_func_1; begin end endfunction /************************************************************************** **** * test function two * the line below has 54 asteriks ******************************************************/ function fail_func_2; begin end endfunction /************************************************************************** **** * test function one * the line below has 53 asteriks *****************************************************/ `define pass_define_1 1'b1; /************************************************************************** **** * test function two * the line below has 54 asteriks ******************************************************/ `define fail_define_2 1'b1; geany-1.32/tests/ctags/bug877956.f900000644000175000017500000000336613204251306013541 00000000000000! Bugs item #877956, was opened at 2004-01-15 17:59 ! Message generated for change (Tracker Item Submitted) made by Item Submitter ! You can respond by visiting: ! https://sourceforge.net/tracker/?func=detail&atid=106556&aid=877956&group_id=6556 ! ! Category: None ! Group: None ! Status: Open ! Resolution: None ! Priority: 5 ! Submitted By: Randy Hood (randy762) ! Assigned to: Nobody/Anonymous (nobody) ! Summary: Broken Fortran variable listing after =-1 ! ! Initial Comment: ! When I run ctags v5.5.2 on Redhat Linux 9 with the command ! ! ctags --Fortran-kinds=v -x test.f90 ! ! where test.f90 is ! ---------------------------------- PROGRAM test IMPLICIT NONE INTEGER :: cm1 =-1, c2 = 2 END PROGRAM test ! ------------------------------------- ! ! I only get this one line of output ! ! cm1 variable 4 test.f90 INTEGER :: cm1 =-1, c2 = 2 ! ! If I change one line of test.f90 so that it is now ! ---------------------------------------- PROGRAM test IMPLICIT NONE INTEGER :: cm1 = -1, c2 = 2 END PROGRAM test ! ----------------------------------------- ! and run the command ! ! ctags --Fortran-kinds=v -x test.f90 ! ! I get this correct output ! ! c2 variable 4 test.f90 INTEGER :: cm1 = -1, c2 = 2 ! cm1 variable 4 test.f90 INTEGER :: cm1 = -1, c2 = 2 ! ! ---------------------------------------------------------------------- ! You can respond by visiting: ! https://sourceforge.net/tracker/?func=detail&atid=106556&aid=877956&group_id=6556 geany-1.32/tests/ctags/bug872494.cpp0000644000175000017500000000243613204251306013712 00000000000000/* Bugs item #872494, was opened at 2004-01-07 16:33 Message generated for change (Tracker Item Submitted) made by Item Submitter You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=106556&aid=872494&group_id=6556 Category: None Group: None Status: Open Resolution: None Priority: 5 Submitted By: Igor Proskuriakov (proskig) Assigned to: Nobody/Anonymous (nobody) Summary: C++ class template specialization Initial Comment: Hi, some time ago I posted a bug related to C++ member template, which was fixed using patch bug849591.diff. Many thanks - it really fixed the problem ! Now about a different one. When parsing C++ file ctags seems to ignore template specialization, but I think that it maybe useful to add it as a configurable feature. Another problem is that template specialization seems to confuse patched version of ctags (patch bug849591.diff). When running a patched version against the following file */ template class TemplClass { double i;}; template<> class TemplClass< char* > { int i;}; class FooClass2{}; /* it does not generate tag for FooClass2 while ctags 5.5.2 does generate tag for FooClass2. Neither of them generate tag for specialization TemplClass. thanks in advance and let me know should you need more info! Igor */ geany-1.32/tests/ctags/bug858165.f900000644000175000017500000000145113204251306013521 00000000000000! Bugs item #858165, was opened at 2003-12-11 10:09 ! Message generated for change (Tracker Item Submitted) made by Item Submitter ! You can respond by visiting: ! https://sourceforge.net/tracker/?func=detail&atid=106556&aid=858165&group_id=6556 ! ! Category: None ! Group: None ! Status: Open ! Resolution: None ! Priority: 5 ! Submitted By: Blazej Krzeminski (blazk) ! Assigned to: Nobody/Anonymous (nobody) ! Summary: Fortran90: comment line after continuation character & ! ! Initial Comment: program test integer :: a, & !comment on variable a b, & !comment on variable b !more comment on variable b, CTAGS STOPS HERE c, & !comment on variable c d !comment on variable d end program test ! ctags will index program test, a,b but not c,d geany-1.32/tests/ctags/bug852368.cpp0000644000175000017500000000137713204251306013713 00000000000000/* Bugs item #852368, was opened at 2003-12-01 23:20 Message generated for change (Tracker Item Submitted) made by Item Submitter You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=106556&aid=852368&group_id=6556 Category: None Group: None Status: Open Resolution: None Priority: 5 Submitted By: Welti Marco (cider101) Assigned to: Nobody/Anonymous (nobody) Summary: c/c++ unabalanced template brackets in signature Initial Comment: hi, ctags 5.5x generates unbalanced template brackets in the method/function signature if a function parameter is a template. i.e. */ void foo(std::vector &); /* generates the following signature signature:void (std::vector<&) let me know if you need more details. regards cider */ geany-1.32/tests/ctags/bug849591.cpp0000644000175000017500000000305113204251306013706 00000000000000/* Bugs item #849591, was opened at 2003-11-26 11:35 Message generated for change (Tracker Item Submitted) made by Item Submitter You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=106556&aid=849591&group_id=6556 Category: None Group: None Status: Open Resolution: None Priority: 5 Submitted By: Igor Proskuriakov (proskig) Assigned to: Nobody/Anonymous (nobody) Summary: C++ Member templates Initial Comment: Hi, There seems to be a problem with how ctags treats C++ member templates. Example: */ void MainClass< ParamClass1&, ParamClass2>::Foo() { exit(0); }; /* Generates erroneous tag ParamClass1 test.cpp /^void MainClass< ParamClass1&, ParamClass2>::Foo()$/;" v Full ctags file: !_TAG_FILE_FORMAT 2 /extended format; --format=1 will not append ;" to lines/ !_TAG_FILE_SORTED 1 /0=unsorted, 1=sorted, 2=foldcase/ !_TAG_PROGRAM_AUTHOR Darren Hiebert /dhiebert@users.sourceforge.net/ !_TAG_PROGRAM_NAME Exuberant Ctags // !_TAG_PROGRAM_URL http://ctags.sourceforge.net /official site/ !_TAG_PROGRAM_VERSION 5.5.2 // Foo test.cpp /^void MainClass< const ParamClass1&, ParamClass2>::Foo()$/;" f class:ParamClass2 ParamClass1 test.cpp /^void MainClass< ParamClass1&, ParamClass2>::Foo()$/;" v ----- Removing space after first angle bracket: */ void MainClass::Foo() { exit(0); }; /* makes ctags to drop first letter from parameter class name: aramClass1 test.cpp /^void MainClass::Foo()$/;" v Let me know if you need any clarification with this issue. Many thanks in advance! */ geany-1.32/tests/ctags/bug842077.pl0000644000175000017500000000152513204251306013533 00000000000000# Bugs item #842077, was opened at 2003-11-14 10:57 # Message generated for change (Tracker Item Submitted) made by Item Submitter # You can respond by visiting: # https://sourceforge.net/tracker/?func=detail&atid=106556&aid=842077&group_id=6556 # Category: None # Group: None # Status: Open # Resolution: None # Priority: 5 # Submitted By: Christian Reis (kiko_async) # Assigned to: Nobody/Anonymous (nobody) # Summary: wrong precedence applied to perl POD and "here document" # Initial Comment: # Basically, ctags stops parsing when it reaches code # with the syntax below: # ... $this->print_log(< ctags -f - temp3.h foo temp3.h /^ int foo;$/;" m namespace: That last field should be "namespace:" and the kind field should be variable, not member. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=106556&aid=639644&group_id=6556 */ geany-1.32/tests/ctags/bug639639.h0000644000175000017500000000222513204251306013355 00000000000000/* Date: Sun, 17 Nov 2002 04:41:42 -0800 Subject: [ ctags-Bugs-639639 ] incorrect enum field for C++ header Bugs item #639639, was opened at 2002-11-17 13:41 You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=106556&aid=639639&group_id=6556 Category: None Group: None Status: Open Resolution: None Priority: 5 Submitted By: Matthias S. Benkmann (mbenkmann) Assigned to: Nobody/Anonymous (nobody) Summary: incorrect enum field for C++ header Initial Comment: ----------- temp2.h ------------- */ namespace Namespace1 { int function2(char* str); } enum {anon2=1000}; ---------------------------- /* > ctags --excmd=number --fields=+kKmnsSz --file-scope=no -f - temp2.h Namespace1 temp2.h 1;" kind:namespace line:1 anon2 temp2.h 6;" kind:enumerator line:6 enum:Namespace1 As you can see ctags thinks that anon2 belongs to enum Namespace1 which it obviously doesn't (Namespace1 is not even an enum). It should be enum:. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=106556&aid=639639&group_id=6556 */ geany-1.32/tests/ctags/bug620288.f0000644000175000017500000000446113204251306013345 00000000000000C Bugs item #620288, was opened at 2002-10-08 08:15 C You can respond by visiting: C https://sourceforge.net/tracker/?func=detail&atid=106556&aid=620288&group_id=6556 C C Category: None C Group: None C Status: Open C Resolution: None C Priority: 5 C Submitted By: Nobody/Anonymous (nobody) C Assigned to: Nobody/Anonymous (nobody) C Summary: fortran function definition C C Initial Comment: C C System Information: C -------------- C ctags version: C Exuberant Ctags 5.3.1, Copyright (C) 1996-2002 Darren C Hiebert C Compiled: Sep 12 2002, 10:22:42 C Addresses: , C http://ctags.sourceforge.net C Optional compiled features: +wildcards, +regex C C Unix: C HP-UX B.11.00 A 9000/800 551726527 C -------------- C C Symptoms: C -------------- C I have a fortran file that has a single function. This C function has a C return type of double precision. I type $ctags bar.f . C This produces the expected C tags file. However, tags does not contain the function C definition. C C This does not occur when the same function's return C type has been changed to C a integer or character data return type. C -------------- C C C Examples in which I can repeat the experience with their C respective tags files: C -------------- C C C foo.f C -------------- integer function foo(a) integer a foo = a end C -------------- C C C tags C -------------- C !_TAG_FILE_FORMAT 2 /extended C format; --format=1 will not append ;" to lines/ C !_TAG_FILE_SORTED 1 C /0=unsorted, 1=sorted, 2=foldcase/ C !_TAG_PROGRAM_AUTHOR Darren Hiebert C /dhiebert@users.sourceforge.net/ C !_TAG_PROGRAM_NAME Exuberant Ctags // C !_TAG_PROGRAM_URL C http://ctags.sourceforge.net /official site/ C !_TAG_PROGRAM_VERSION 5.3.1 // C foo foo.f /^ integer function foo(/;" f C -------------- C C C C bar.f C --------------- double precision function bar(a) double precision a bar = a end C -------------- C C tags C --------------- C !_TAG_FILE_FORMAT 2 /extended C format; --format=1 will not append ;" to lines/ C !_TAG_FILE_SORTED 1 C /0=unsorted, 1=sorted, 2=foldcase/ C !_TAG_PROGRAM_AUTHOR Darren Hiebert C /dhiebert@users.sourceforge.net/ C !_TAG_PROGRAM_NAME Exuberant Ctags // C !_TAG_PROGRAM_URL C http://ctags.sourceforge.net /official site/ C !_TAG_PROGRAM_VERSION 5.3.1 // C --------------- geany-1.32/tests/ctags/bug612621.pl0000644000175000017500000000230313204251306013514 00000000000000=pod Bugs item #612621, was opened at 2002-09-21 21:23 You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=106556&aid=612621&group_id=6556 Category: None Group: None Status: Open Resolution: None Priority: 5 Submitted By: Richard Donkin (rdonkin) Assigned to: Nobody/Anonymous (nobody) Summary: Perl POD syntax -> incomplete tags file Initial Comment: In the following test file, ctags 5.2.3 (compiled from source on Cygwin) only adds the first subroutine (bar) to the tags file, when run using: ctags --totals -- language-force=perl temp ----------------- =cut sub bar() { print "blah\n"; =for print "blah2\n"; # Note: next line has trailing space =cut } sub foo { print "hello\n"; } =pod The tags file looks like this: !_TAG_FILE_FORMAT 2 /extended format; -- format=1 will not append ;" to lines/ !_TAG_FILE_SORTED 1 /0=unsorted, 1=sorted/ !_TAG_PROGRAM_AUTHOR Darren Hiebert /dhiebert@users.sourceforge.net/ !_TAG_PROGRAM_NAME Exuberant Ctags // !_TAG_PROGRAM_URL http://ctags.sourceforge.net /official site/ !_TAG_PROGRAM_VERSION 5.2.3 // bar temp /^sub bar() {$/;" s The workaround is to delete the trailing space at the end of the '=cut' line. =cut geany-1.32/tests/ctags/bug612019.pas0000644000175000017500000000124313204251306013667 00000000000000(* Bugs item #612019, was opened at 2002-09-20 15:29 You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=106556&aid=612019&group_id=6556 Category: None Group: None Status: Open Resolution: None Priority: 5 Submitted By: Konstantin Stupnik (xecutor) Assigned to: Nobody/Anonymous (nobody) Summary: pascal parser Initial Comment: In attached sample there are some lines from tags file generated for object pascal sources. There are some problems with this lines. Generally speaking they are parsed incorrectly. *) unit a; interface type TTest=class procedure Test1; procedure Test2; procedure Test3; end; implementation end. geany-1.32/tests/ctags/bug565813.f900000644000175000017500000000133013204251306013510 00000000000000module ctags_bug implicit none private save type :: foo_t integer :: bar end type foo_t integer, parameter :: N = 1000 public :: foo_t public :: foo_setbar public :: foo_set_bar public :: foo_getbar contains subroutine foo_setbar (f,b) type(foo_t), intent(out) :: f integer, intent(in) :: b f%bar = b end subroutine foo_setbar pure subroutine foo_set_bar (f,b) type(foo_t), intent(out) :: f integer, intent(in) :: b f%bar = b end subroutine foo_set_bar integer function foo_getbar (f) type(foo_t), intent(in) :: f foo_getbar = f%bar end function foo_getbar end module ctags_bug geany-1.32/tests/ctags/bug556646.c0000644000175000017500000000130413204251306013341 00000000000000/* Bugs item #556646, was opened at 2002-05-16 14:36 You can respond by visiting: http://sourceforge.net/tracker/?func=detail&atid=106556&aid=556646&group_id=6556 Category: None Group: None Status: Open Resolution: None Priority: 5 Submitted By: Howard Wu (howardhbwu) Assigned to: Nobody/Anonymous (nobody) Summary: Some typedef can not be tagged in C code Initial Comment: My Ctags version: 5.2.3 */ typedef enum{ INDX_NIL = 0x00, INDX_P, INDX_S, INDX_M, INDX_S1, INDX_S2, INDX_S3, INDX_C1, INDX_C2, INDX_S4, INDX_T, INDX_L, INDX_R, INDX_R2, INDX_IM1, INDX_IM2, INDX_L2, INDX_T2, A = INDX_T2 } task_indx_type; /* "task_indx_type" can not be tagged with Ctags */ geany-1.32/tests/ctags/bug556645.c0000644000175000017500000000200713204251306013341 00000000000000/* From noreply@sourceforge.net Wed May 29 23:11:25 2002 Date: Wed, 15 May 2002 23:25:52 -0700 From: noreply@sourceforge.net To: noreply@sourceforge.net Subject: [ ctags-Bugs-556645 ] Some typedef can not be tagged in C code Bugs item #556645, was opened at 2002-05-16 14:25 You can respond by visiting: http://sourceforge.net/tracker/?func=detail&atid=106556&aid=556645&group_id=6556 Category: None Group: None Status: Open Resolution: None Priority: 5 Submitted By: Howard Wu (howardhbwu) Assigned to: Nobody/Anonymous (nobody) Summary: Some typedef can not be tagged in C code Initial Comment: My Ctags version:5.2.3 The typedef of "Qtype" as the following, */ #define A1(_type, _length) \ struct { \ unsigned int head; \ unsigned int tail; \ bool is_full; \ _type queue[_length]; \ } typedef A1(ilm_struct, 1) Qtype; /* As using ctags, the "Qtype" can not be tagged by it. */ geany-1.32/tests/ctags/bug538629.asm0000644000175000017500000000002413204251306013676 00000000000000 MYMACRO EQU 01234h geany-1.32/tests/ctags/bug507864.c0000644000175000017500000000014213204251306013336 00000000000000FUNCSTS func1(ENTSEQNO(seq)) {} FUNCSTS func2 (MEMTXT(form_msg), MEMTXT (text), MEMTXT (mail)) {} geany-1.32/tests/ctags/bug3571233.js0000644000175000017500000000225613204251306013612 00000000000000/* * "Functions nested inside methods show improper scope with the parent method * being reported as "function"" * * ctags -f - bug3571233.js should output: * * classes * MyClass * * methods * MyClass.method2 * * functions * MyClass.method2.nestedFunction1 * MyClass.method2.nestedFunction2 * function1 * function1.nestedFunction3 * function2 * function2.nestedFunction4 * function2.nestedFunction5 * * * Note that MyClass is shown both as a class and as a function (the parser * discovers it actually is a class only later on). This isn't really easy to * fix because a JavaScript function is only a class if it happen to be used as * one, for example it has prototypes. */ function MyClass() { } MyClass.prototype.method2 = function() { // these functions have improper scope function nestedFunction1() { } function nestedFunction2() { } }; // following work fine, just here as a reference function function1() { function nestedFunction3() { } }; function2 = function() { function nestedFunction4() { } function nestedFunction5() { } }; geany-1.32/tests/ctags/bug3168705.py0000644000175000017500000000014713204251306013631 00000000000000class A: def func1(): """this is a comment""" pass def func2(): pass geany-1.32/tests/ctags/bug3036476.js0000644000175000017500000000060513204251306013613 00000000000000/* * "Lowercase "object" isn't a keyword" * * ctags -f - bug3036476.js should output: * * variables: * container * * functions: * container.object * container.object.method1 * container.object.method2 */ var container = {}; container.object = function() {} container.object.method1 = function() {} container.object.method2 = function() {} geany-1.32/tests/ctags/bug2888482.js0000644000175000017500000000067213204251306013632 00000000000000function scrollEditBox() { var editBoxEl = document.getElementById("wpTextbox1"); var scrollTopEl = document.getElementById("wpScrolltop"); var editFormEl = document.getElementById("editform"); if (editBoxEl && scrollTopEl) { if (scrollTopEl.value) editBoxEl.scrollTop = scrollTopEl.value; editFormEl.onsubmit = function() { document.getElementById("wpScrolltop").value = document.getElementById("wpTextbox1").scrollTop; } } } geany-1.32/tests/ctags/bug2886870.tex0000644000175000017500000002163013204251306014012 00000000000000Sample LaTeX file The name of this file is intro.tex. \documentclass[12pt]{article} \usepackage{amsmath} % need for subequations \usepackage{graphicx} % need for figures \usepackage{verbatim} % useful for program listings \usepackage{color} % use if color is used in text \usepackage{subfigure} % use for side-by-side figures \usepackage{hyperref} % use for hypertext links, including those to external documents and URLs % don't need the following. simply use defaults \setlength{\baselineskip}{16.0pt} % 16 pt usual spacing between lines \setlength{\parskip}{3pt plus 2pt} \setlength{\parindent}{20pt} \setlength{\oddsidemargin}{0.5cm} \setlength{\evensidemargin}{0.5cm} \setlength{\marginparsep}{0.75cm} \setlength{\marginparwidth}{2.5cm} \setlength{\marginparpush}{1.0cm} \setlength{\textwidth}{150mm} \begin{comment} \pagestyle{empty} % use if page numbers not wanted \end{comment} % above is the preamble \begin{document} \begin{center} {\large Introduction to \LaTeX} \\ % \\ = new line \copyright 2006 by Harvey Gould \\ December 5, 2006 \end{center} \section{Introduction} \TeX\ looks more difficult than it is. It is almost as easy as $\pi$. See how easy it is to make special symbols such as $\alpha$, $\beta$, $\gamma$, $\delta$, $\sin x$, $\hbar$, $\lambda$, $\ldots$ We also can make subscripts $A_{x}$, $A_{xy}$ and superscripts, $e^x$, $e^{x^2}$, and $e^{a^b}$. We will use \LaTeX, which is based on \TeX\ and has many higher-level commands (macros) for formatting, making tables, etc. More information can be found in Ref.~\cite{latex}. We just made a new paragraph. Extra lines and spaces make no difference. Note that all formulas are enclosed by \$ and occur in \textit{math mode}. The default font is Computer Modern. It includes \textit{italics}, \textbf{boldface}, \textsl{slanted}, and \texttt{monospaced} fonts. \section{Equations} Let us see how easy it is to write equations. \begin{equation} \Delta =\sum_{i=1}^N w_i (x_i - \bar{x})^2 . \end{equation} It is a good idea to number equations, but we can have a equation without a number by writing \begin{equation} P(x) = \frac{x - a}{b - a} , \nonumber \end{equation} and \begin{equation} g = \frac{1}{2} \sqrt{2\pi} . \nonumber \end{equation} We can give an equation a label so that we can refer to it later. \begin{equation} \label{eq:ising} E = -J \sum_{i=1}^N s_i s_{i+1} , \end{equation} Equation~\eqref{eq:ising} expresses the energy of a configuration of spins in the Ising model.\footnote{It is necessary to process (typeset) a file twice to get the counters correct.} We can define our own macros to save typing. For example, suppose that we introduce the macros: \begin{verbatim} \newcommand{\lb}{{\langle}} \newcommand{\rb}{{\rangle}} \end{verbatim} \newcommand{\lb}{{\langle}} \newcommand{\rb}{{\rangle}} Then we can write the average value of $x$ as \begin{verbatim} \begin{equation} \lb x \rb = 3 \end{equation} \end{verbatim} The result is \begin{equation} \lb x \rb = 3 . \end{equation} Examples of more complicated equations: \begin{equation} I = \! \int_{-\infty}^\infty f(x)\,dx \label{eq:fine}. \end{equation} We can do some fine tuning by adding small amounts of horizontal spacing: \begin{verbatim} \, small space \! negative space \end{verbatim} as is done in Eq.~\eqref{eq:fine}. We also can align several equations: \begin{align} a & = b \\ c &= d , \end{align} or number them as subequations: \begin{subequations} \begin{align} a & = b \\ c &= d . \end{align} \end{subequations} We can also have different cases: \begin{equation} \label{eq:mdiv} m(T) = \begin{cases} 0 & \text{$T > T_c$} \\ \bigl(1 - [\sinh 2 \beta J]^{-4} \bigr)^{\! 1/8} & \text{$T < T_c$} \end{cases} \end{equation} write matrices \begin{align} \textbf{T} &= \begin{pmatrix} T_{++} \hfill & T_{+-} \\ T_{-+} & T_{--} \hfill \end{pmatrix} , \nonumber \\ & = \begin{pmatrix} e^{\beta (J + B)} \hfill & e^{-\beta J} \hfill \\ e^{-\beta J} \hfill & e^{\beta (J - B)} \hfill \end{pmatrix}. \end{align} and \newcommand{\rv}{\textbf{r}} \begin{equation} \sum_i \vec A \cdot \vec B = -P\!\int\! \rv \cdot \hat{\mathbf{n}}\, dA = P\!\int \! {\vec \nabla} \cdot \rv\, dV. \end{equation} \section{Tables} Tables are a little more difficult. TeX automatically calculates the width of the columns. \begin{table}[h] \begin{center} \begin{tabular}{|l|l|r|l|} \hline lattice & $d$ & $q$ & $T_{\rm mf}/T_c$ \\ \hline square & 2 & 4 & 1.763 \\ \hline triangular & 2 & 6 & 1.648 \\ \hline diamond & 3 & 4 & 1.479 \\ \hline simple cubic & 3 & 6 & 1.330 \\ \hline bcc & 3 & 8 & 1.260 \\ \hline fcc & 3 & 12 & 1.225 \\ \hline \end{tabular} \caption{\label{tab:5/tc}Comparison of the mean-field predictions for the critical temperature of the Ising model with exact results and the best known estimates for different spatial dimensions $d$ and lattice symmetries.} \end{center} \end{table} \section{Lists} Some example of formatted lists include the following: \begin{enumerate} \item bread \item cheese \end{enumerate} \begin{itemize} \item Tom \item Dick \end{itemize} \section{Figures} We can make figures bigger or smaller by scaling them. Figure~\ref{fig:lj} has been scaled by 60\%. \begin{figure}[h] \begin{center} \includegraphics{figures/sine} \caption{\label{fig:typical}Show me a sine.} \end{center} \end{figure} \begin{figure}[h] \begin{center} \scalebox{0.6}{\includegraphics{figures/lj}} \caption{\label{fig:lj}Plot of the Lennard-Jones potential $u(r)$. The potential is characterized by a length $\sigma$ and an energy $\epsilon$.} \end{center} \end{figure} \section{Literal text} It is desirable to print program code exactly as it is typed in a monospaced font. Use \verb \begin{verbatim} and \verb \end{verbatim} as in the following example: \begin{verbatim} double y0 = 10; // example of declaration and assignment statement double v0 = 0; // initial velocity double t = 0; // time double dt = 0.01; // time step double y = y0; \end{verbatim} The command \verb \verbatiminput{programs/Square.java}\ allows you to list the file \texttt{Square.java} in the directory programs. \section{Special Symbols} \subsection{Common Greek letters} These commands may be used only in math mode. Only the most common letters are included here. $\alpha, \beta, \gamma, \Gamma, \delta,\Delta, \epsilon, \zeta, \eta, \theta, \Theta, \kappa, \lambda, \Lambda, \mu, \nu, \xi, \Xi, \pi, \Pi, \rho, \sigma, \tau, \phi, \Phi, \chi, \psi, \Psi, \omega, \Omega$ \subsubsection{Test for ctags} \subsection{Special symbols} The derivative is defined as \begin{equation} \frac{dy}{dx} = \lim_{\Delta x \to 0} \frac{\Delta y} {\Delta x} \end{equation} \begin{equation} f(x) \to y \quad \mbox{as} \quad x \to x_{0} \end{equation} \begin{equation} f(x) \mathop {\longrightarrow} \limits_{x \to x_0} y \end{equation} \noindent Order of magnitude: \begin{equation} \log_{10}f \simeq n \end{equation} \begin{equation} f(x)\sim 10^{n} \end{equation} Approximate equality: \begin{equation} f(x)\simeq g(x) \end{equation} \LaTeX\ is simple if we keep everything in proportion: \begin{equation} f(x) \propto x^3 . \end{equation} Finally we can skip some space by using commands such as \begin{verbatim} \bigskip \medskip \smallskip \vspace{1pc} \end{verbatim} The space can be negative. \section{\color{red}Use of Color} {\color{blue}{We can change colors for emphasis}}, {\color{green}{but}} {\color{cyan}{who is going pay for the ink?}} \section{\label{morefig}Subfigures} As soon as many students start becoming comfortable using \LaTeX, they want to use some of its advanced features. So we now show how to place two figures side by side. \begin{figure}[h!] \begin{center} \subfigure[Real and imaginary.]{ \includegraphics[scale=0.5]{figures/reim}} \subfigure[Amplitude and phase.]{ \includegraphics[scale=0.5]{figures/phase}} \caption{\label{fig:qm/complexfunctions} Two representations of complex wave functions.} \end{center} \end{figure} We first have to include the necessary package, \verb+\usepackage{subfigure}+, which has to go in the preamble (before \verb+\begin{document}+). It sometimes can be difficult to place a figure in the desired place. Your LaTeX document can be easily modified to make a poster or a screen presentation similar to (and better than) PowerPoint. Conversion to HTML is straightforward. Comments on this tutorial are appreciated. \begin{thebibliography}{5} \bibitem{latex}Helmut Kopka and Patrick W. Daly, \textsl{A Guide to \LaTeX: Document Preparation for Beginners and Advanced Users}, fourth edition, Addison-Wesley (2004). \bibitem{website}Some useful links are given at \url{}. \end{thebibliography} {\small \noindent Updated 5 December 2006.} \end{document} Updated 6 February 2006. geany-1.32/tests/ctags/bug2781264.rb0000644000175000017500000000020413204251306013576 00000000000000 class Foo def foo File.open("foo", "r") do |infile| infile.readline end end def bar print "bar" end end geany-1.32/tests/ctags/bug2777310.js0000644000175000017500000000012613204251306013607 00000000000000var x = 1; var z = {}; var y = []; var a = (42 + 1) * 2; var b = 2 * (42 + 1); geany-1.32/tests/ctags/bug2747828.v0000644000175000017500000000004313204251306013451 00000000000000parameter ramaddr_0 = {1'b1,9'd0}; geany-1.32/tests/ctags/bug2411878.cs0000644000175000017500000000006313204251306013604 00000000000000public class C { private System.String m_name; } geany-1.32/tests/ctags/bug2374109.vhd0000644000175000017500000000030413204251306013751 00000000000000function Pow2( N, Exp : integer ) return mylib.myinteger is Variable Result : integer := 1; begin for i in 1 to Exp loop Result := Result * N; end loop; return( Result ); end Pow; geany-1.32/tests/ctags/bug2117073.java0000644000175000017500000000060013204251306014103 00000000000000public class AAssignmentExp { public AAssignmentExp(@SuppressWarnings("hiding") TAssign _token_, @SuppressWarnings("hiding") PLvalue _lvalue_, @SuppressWarnings("hiding") PExp _exp_) { setToken(_token_); setLvalue(_lvalue_); setExp(_exp_); } @Override void removeChild(@SuppressWarnings("unused") Node child) { } } geany-1.32/tests/ctags/bug2075402.py0000644000175000017500000000002213204251306013607 00000000000000y = 1 # """ x = 2 geany-1.32/tests/ctags/bug2049723.java0000644000175000017500000000020713204251306014114 00000000000000import javax.annotation.Nonnull; public class bug2049723 { public void m1(String arg) {} public void m2(@Nonnull String arg) {} } geany-1.32/tests/ctags/bug1988130.py0000644000175000017500000000024113204251306013624 00000000000000def testFunc(): print 'The following works now' + '"""' def main(): print 'nothing' print 'This is another quoted triple string: """.' return 0 geany-1.32/tests/ctags/bug1988027.py0000644000175000017500000000030313204251306013630 00000000000000#!/usr/bin/env python # encoding: utf-8 """ bla #""" """make a tarball with all the sources in it; return (distdirname, tarballname)""" # dummy class to generate a tag class dummy: pass geany-1.32/tests/ctags/bug1988026.py0000644000175000017500000000021313204251306013627 00000000000000 class testClass: my_var = 0 def main(): pass if __name__ == '__main__': testClass.main() def im_a_function(): pass geany-1.32/tests/ctags/bug1950327.js0000644000175000017500000000206213204251306013610 00000000000000// I've attached the simple test case as bugDemo.js. Trigger the bug by // uncommenting line 8. Attached are tags files with line 21 commented/not // commented. This is the current tip, svn r663. // // When the container.dirtyTab line is uncommented you see these methods: // TabChrome.createTabTile // TabChrome.init // // When the container.dirtyTab line is commented you see these methods: // TabChrome.createTabTile // TabChrome.destroyTabTile // TabChrome.init // TabChrome.prototype = { init: function() { this.browserMap = new Object(); }, createTabTile: function(browser) { //container.dirtyTab = {'url': false, 'title':false, 'snapshot':false, '*': false} return container; }, destroyTabTile: function(tile) { } } Different.prototype = { init: function() { this.browserMap = new Object(); }, createTabTile: function(browser) { container.dirtyTab = {'url': false, 'title':false, 'snapshot':false, '*': false} return container; }, destroyTabTile: function(tile) { } } geany-1.32/tests/ctags/bug1944150.sql0000644000175000017500000000014613204251306013771 00000000000000CREATE TRIGGER [tr_d_cash_trade_comment] ON dbo.cash_trade_comment FOR DELETE AS BEGIN END GO geany-1.32/tests/ctags/bug1938565.sql0000644000175000017500000000051413204251306014005 00000000000000CREATE OR REPLACE PACKAGE demo_pkg IS FUNCTION func1_proto( value in varchar ) RETURNS number; FUNCTION func2_proto( value in varchar ) RETURN number; FUNCTION func1( value in varchar ) RETURNS number IS BEGIN RETURN 1; END func1; FUNCTION func2( value in varchar ) RETURN number IS BEGIN RETURN 2; END func2; END demo_pkg; / geany-1.32/tests/ctags/bug1924919.cpp0000644000175000017500000000013313204251306013763 00000000000000#include namespace mud { std::string MajorVersion; std::string MinorVersion; }; geany-1.32/tests/ctags/bug1907083.cpp0000644000175000017500000000026313204251306013760 00000000000000// All of these should have "class:C", but m2-m4 have "class C::C" with ctags 5.7. C::T * C::m1() {} C::T * const C::m2() {} C::T const * C::m3() {} C::T const * const C::m4() {} geany-1.32/tests/ctags/bug1906062.py0000644000175000017500000000013013204251306013613 00000000000000include_file = ''' class (b) ''' # dummy class to generate a tag class dummy: pass geany-1.32/tests/ctags/bug1856363.py0000644000175000017500000000025313204251306013631 00000000000000#!/usr/bin/python def main(): # A broken ctags will see a function "initely_not_a_function" here. definitely_not_a_function = 0 return if __name__ == 'main': main() geany-1.32/tests/ctags/bug1830344.cs0000644000175000017500000000025113204251306013573 00000000000000public class C { public void m() { bool flagCheck = true; if (flagCheck == true) { Console.WriteLine("true"); } else { Console.WriteLine("false"); } } } geany-1.32/tests/ctags/bug1830343.cs0000644000175000017500000000026713204251306013601 00000000000000class ForEachTest { static void Main(string[] args) { int[] fibarray = new int[] { 0, 1, 2, 3, 5, 8, 13 }; foreach (int i in fibarray) { System.Console.WriteLine(i); } } } geany-1.32/tests/ctags/bug1809024.py0000644000175000017500000000063613204251306013626 00000000000000 def detach (self): model = self.view.props.model sort_id, sort_order = tree_sortable_get_sort_column_id (model) if sort_id >= 0: self.app.state.sort_column = self.find_item_class (id = sort_id) if sort_order == gtk.SORT_ASCENDING: self.app.state.sort_order = "ascending" else: self.app.state.sort_order = "descending" geany-1.32/tests/ctags/bug1800065.cs0000644000175000017500000000012113204251306013564 00000000000000using Gtk; public class C { private Gtk.Window window; private string title; } geany-1.32/tests/ctags/bug1799343-2.cpp0000644000175000017500000000045013204251306014125 00000000000000class P { protected: int x; }; namespace A { class P { protected: int x; }; class Q { int y; }; namespace C { class R: ::P, A::Q { int z; int f (int v) { return v + x; } }; } } namespace B { class S : A::C::R { int t; }; } geany-1.32/tests/ctags/bug1799343-1.cpp0000644000175000017500000000023213204251306014122 00000000000000#include struct C { int x; }; struct D : ::C { D() { x = 123; } ~D() { std::cout << x << std::endl; } }; int main(void) { D d; return 0; } geany-1.32/tests/ctags/bug1799340.cpp0000644000175000017500000000011613204251306013762 00000000000000std::string & f1() {} const std::string & f2() {} std::string const & f3() {} geany-1.32/tests/ctags/bug1777344.java0000644000175000017500000000032513204251306014123 00000000000000import java.util.*; public class bug1777344 { private HashMap map1; private HashMap map2 = new HashMap(), map3; private boolean b = (1 < 3), c; private boolean d = 1 < 3, e; } geany-1.32/tests/ctags/bug1773926.cpp0000644000175000017500000000026413204251306013770 00000000000000#include #define ERROR_HAPPENED 50 #define OK 2 #define NEXT_DEFINE 3 int main(int argc, char* argv[]) { printf("Hello world\n"); return 0; } geany-1.32/tests/ctags/bug1770479.cpp0000644000175000017500000000026013204251306013764 00000000000000#include int main (int argc, char **argv) { std::ostringstream a; a << "a"; std::ostringstream b; b << "b"; return 0; } int foo (int i) { return i; } geany-1.32/tests/ctags/bug1764148.py0000644000175000017500000000005513204251306013630 00000000000000#!/usr/bin/python def PyFunc(msg): print msg geany-1.32/tests/ctags/bug1764143.h0000644000175000017500000000104113204251306013416 00000000000000static inline void omap1_arch_reset(char mode) { /* * Workaround for 5912/1611b bug mentioned in sprz209d.pdf p. 28 * "Global Software Reset Affects Traffic Controller Frequency". */ if (cpu_is_omap5912()) { omap_writew(omap_readw(DPLL_CTL) & ~(1 << 4), DPLL_CTL); omap_writew(0x8, ARM_RSTCT1); } if (machine_is_voiceblue()) voiceblue_reset(); else omap_writew(1, ARM_RSTCT1); } static inline void arch_reset(char mode) { if (!cpu_is_omap24xx()) omap1_arch_reset(mode); else omap_prcm_arch_reset(mode); } #endif geany-1.32/tests/ctags/bug1743330.v0000644000175000017500000000024413204251306013433 00000000000000// somewhat contrived, but i came across a real-life file that caused this // crash. value= hello/ world; // dummy stuff to generate a tag module dummy; endmodule geany-1.32/tests/ctags/bug1742588.rb0000644000175000017500000000007013204251306013604 00000000000000class A def a() super(" do ") end def b() end end geany-1.32/tests/ctags/bug1691412.java0000644000175000017500000000073513204251306014117 00000000000000public class C { @NonNull @CheckReturnValue(explanation = "When this function returns, the caller can get the Cipher name selected by the user in the Dialog.") public static DefaultCipherDialog newInstance() { DefaultCipherDialog instance = new DefaultCipherDialog(); instance.init(); return instance; } @Override public String toString() { return "hello"; } } @Target(ElementType.METHOD) @Retention(RetentionPolicy.SOURCE) public @interface CustomAnnotation { } geany-1.32/tests/ctags/bug1611054.cs0000644000175000017500000000016013204251306013565 00000000000000class C { public String a() { return @"c:\"; } // this tag is missing in ctags 5.6 public void b() { } } geany-1.32/tests/ctags/bug1585745.cpp0000644000175000017500000000034113204251306013764 00000000000000// Despite the weird whitespace, all these destructors should be recognized and tagged. Class1::~Class1() { } Class2::~ Class2() { } Class3:: ~Class3() { } Class4:: ~ Class4() { } class Class5 { public: ~ Class5() { } }; geany-1.32/tests/ctags/bug1575055.cpp0000644000175000017500000000007613204251306013762 00000000000000namespace TheNamespace { class MyClass { }; int variable; } geany-1.32/tests/ctags/bug1570779.sql0000644000175000017500000000121513204251306014003 00000000000000-- This should find the "address" column when --sql-types=r is used -- ctags -f - --format=2 --excmd=pattern --fields=nks --sort=no --sql-types=cdfFlLPprstTvieURDVnxy bug1570779.sql -- employees bug1570779.sql /^CREATE TABLE employees ($/;" t line:2 -- employees.id bug1570779.sql /^ id integer NOT NULL,$/;" F line:3 -- employees.name bug1570779.sql /^ name varchar(20),$/;" F line:4 -- employees.address bug1570779.sql /^ address varchar(50),$/;" F line:5 CREATE TABLE employees ( id integer NOT NULL, name varchar(20), address varchar(50), primary key (id) ); geany-1.32/tests/ctags/bug1563476.cpp0000644000175000017500000000047013204251306013764 00000000000000int g() { } template< typename Accessor, typename bEnable = void > struct IntroduceBitDef; template< typename Accessor > struct IntroduceBitDef< Accessor, typename boost::enable_if_c< CoreConfig::VERSION <= 3 >::type > { // class body here // anything after this point is not parsed by ctags int f() { } }; geany-1.32/tests/ctags/bug1548443.cpp0000644000175000017500000000010713204251306013756 00000000000000union TestUnion { int _number; }; struct TestStruct { int _number; }; geany-1.32/tests/ctags/bug1515910.cs0000644000175000017500000000044413204251306013576 00000000000000// Simple generic classes. public class MyGenericClass1 { } // Derived enums. enum Enum1 : byte { Value1, Values } // Verbatim strings. public class C { private string str1 = @"abc\"; private int int1 = 123; private string str2 = @"abc\"; private string str3 = "abc"; } geany-1.32/tests/ctags/bug1491666.c0000644000175000017500000000015713204251306013427 00000000000000typedef struct { int x; float y; } my_struct; void main (void) { my_struct var1; my_struct var2; } geany-1.32/tests/ctags/bug1466117.c0000644000175000017500000000013413204251306013413 00000000000000typedef struct mystruct { int a; int b; }; typedef struct { int a; int b; } mystruct; geany-1.32/tests/ctags/bug1458930.c0000644000175000017500000000006113204251306013416 00000000000000// test with --c-kinds=+p char x(); wchar_t y(); geany-1.32/tests/ctags/bug1447756.java0000644000175000017500000000034713204251306014130 00000000000000// Java 1.5 generic interfaces appear to be tagged on the // parameterized type name instead of the interface name, // e.g., public interface Foo { public T bar(); } // is tagged on 'T' instead of 'Foo'. geany-1.32/tests/ctags/bug1201689.c0000644000175000017500000000167113204251306013423 00000000000000/* Bugs item #1201689, was opened at 2005-05-13 18:18 Message generated for change (Tracker Item Submitted) made by Item Submitter You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=106556&aid=1201689&group_id=6556 Category: None Group: None Status: Open Resolution: None Priority: 5 Submitted By: Scott Ferguson (shf301) Assigned to: Nobody/Anonymous (nobody) Summary: Variable Length Argument Lists in K&R Style not Parsed Initial Comment: A function with a K&R style parameter list that has a variable length argument list will not be added to the tags file. For example create a file, say test.c with the following code */ void test(a, ...) char a; { return; } /* Run ctags test.c. the tags file with only contain the line: a test.c /^char a;$/;" v This occurs with ctags 5.3 and 5.5.4. Variable length argument lists work fine if the function is in ANSI style, void test(char a, ...) will work fine. */ geany-1.32/tests/ctags/bug1111214.v0000644000175000017500000000117613204251306013426 00000000000000// File example.v // // Below is an example of a comment that is mis-parsed by exuberant ctags. // It uses the multi-line comment format, i.e. /* ... */ except that in // this case, the character sequence immediately preceding the closing // delimiter is an asterisk. (Any even number of asterisks would have the // same problem. // The line immediately afterwards is used to demonstrate the problem. // the module name 'wahoo' isn't recognised, because the parser mistakenly // thinks we are still in a multi-line comment. /* * I am a multi-line comment * I happen to end in a strange * (but legal) way: **/ module wahoo () begin end geany-1.32/tests/ctags/bug1111214-j-chan.v0000644000175000017500000000014113204251306014553 00000000000000/* * **/ module top(outsig, insig); output outsig; input insig; assign outsig = insig; endmodule geany-1.32/tests/ctags/bug1093123.cpp0000644000175000017500000000012313204251306013742 00000000000000#include int main() { using namespace std; cout << 0 << endl; int m; } geany-1.32/tests/ctags/bug1086609.c0000644000175000017500000000172213204251306013423 00000000000000/* Bugs item #1086609, was opened at 2004-12-16 13:07 Message generated for change (Tracker Item Submitted) made by Item Submitter You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=106556&aid=1086609&group_id=6556 Category: None Group: None Status: Open Resolution: None Priority: 5 Submitted By: Mikhail Kruk (meshko) Assigned to: Nobody/Anonymous (nobody) Summary: ctags getting confused by #if 0 Initial Comment: Here is a sample C program which confuses ctags. I think every line in it is significant. Dropping any of the #ifdefs or the #define makes the problem go away: */ #if 0 #define __PROC__ int func1( #if 0 #endif ) { } #endif int func2(int a) { } /* Somehow the opening brace from line 3 doesn't get ignored and the closing brace does get ignored and ctags drops out on "int func2(int a)" line with "failed to find match for '(' at line 11" error. Granted, having #if 0 in the middle of args list is weird, but perfeclty legal. */ geany-1.32/tests/ctags/bug1020715.c0000644000175000017500000000253513204251306013410 00000000000000/* Bugs item #1020715, was opened at 2004-09-01 22:42 Message generated for change (Tracker Item Submitted) made by Item Submitter You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=106556&aid=1020715&group_id=6556 Category: None Group: None Status: Open Resolution: None Priority: 5 Submitted By: Arne Georg Gleditsch (argggh) Assigned to: Nobody/Anonymous (nobody) Summary: Strange parsing of C code Initial Comment: Running ctags 5.5.4 like this /usr/local/bin/ctags --fields=+S --excmd=number -f - --c-types=+l /usr/src/source/2.6.6/drivers/scsi/aha152x.c | grep ^done returns a bogus entry for the function "done" on line 1745 with a wacky signature. The file aha152x.c is from Linux 2.6.6, but is appended for convenience. */ /* Date: 2007-08-14 01:00 Sender: elliotth Hide i don't really understand why the other lines in the test case were necessary to exercise the bug, but changing parseParens to call processAngleBracket instead of just skipToMatch("<>") fixes this bug. i've committed that since it causes no regressions. Date: 2007-08-14 00:34 Sender: elliotth Hide i've come up with a minimal test case, and committed it. it's pretty weird: */ void f() { done(a<<1); a->a; if (a->a) { } } /* change just about anything and the bizarre "done" tag goes away. you can't even switch from '->' to '.', which seems odd. */ geany-1.32/tests/ctags/bug1020715.cpp0000644000175000017500000000006113204251306013740 00000000000000void f() { done(a<<1); a->a; if (a->a) { } } geany-1.32/tests/ctags/bracematch.js0000644000175000017500000000125713204251306014356 00000000000000/* * "Braces aren't properly matched in findCmdTerm()" * * ctags -f - bracematch.js should output: * * functions: * Container * Container.x * Container.y * * classes: * MyClass * * methods: * MyClass.insert * MyClass.wrap */ function Container() { function x() { if (!x) x = { }; } function y() { } } // from prototype.js, a lot simplified to only show the issue MyClass = { insert: function(element, insertions) { element = $(element); if (condition) insertions = {bottom:insertions}; var content, insert, tagName, childNodes; }, wrap: function(element, wrapper, attributes) { // ... } } geany-1.32/tests/ctags/block.f900000644000175000017500000000157413204251306013343 00000000000000module Blocks implicit none integer :: i contains function MyFunc(thing) integer, intent(in) :: thing integer :: myfunc block ! these obviously won't show up, because variables inside functions inside modules don't anyway ! and that's fine integer :: tempint tempint = 1 if (tempint == 1) then tempint = 2 end if myfunc = tempint end block end function MyFunc end module Blocks program Main use Blocks implicit none ! these variable declarations should definitely show up in the symbol list integer :: otherint, moreint otherint = 3 block ! These shouldn't, because... integer :: newtempint newtempint = 2 block ! ...the damn things can be arbitrarily nested! integer :: newer_int newer_int = 3 end block newtempint = 2 * newtempint end block end program Main geany-1.32/tests/ctags/bit_field.c0000644000175000017500000000117613204251306014014 00000000000000struct bit_fields { unsigned int a: 1; unsigned int b: 1; unsigned int c: 2; }; struct { unsigned sign : 1; unsigned exp : _FP_EXPBITS_D; unsigned frac1 : _FP_FRACBITS_D - (_FP_IMPLBIT_D != 0) - _FP_W_TYPE_SIZE; unsigned frac0 : _FP_W_TYPE_SIZE; }; struct shortname_info { unsigned char lower:1, upper:1, valid:1; }; // Problem reported by Michael Brown on 23 October 2001. typedef struct { BYTE public: 1; BYTE bad2: 1; BYTE group: 1; BYTE personal: 1; } bitfield_flags; typedef struct { BYTE this; BYTE public; BYTE private; BYTE that; } mystruct; geany-1.32/tests/ctags/backslashes.c0000644000175000017500000000066113204251306014354 00000000000000typedef int T; int func1(\ int var1, int var2, ...); int func2(int var1, \ int var2, ...); int func3(T \ var1, T var2, ...); int func4(T var1, \ T var2, ...); int func5(int \ var1, int var2, ...); // check continuations in macros are properly handled #define MACRO1 \ ( int func6(void); #define MACRO2(x) \ int x(void); #define MACRO3(y) \ int \ y \ ( \ void \ ); int func7(int a); geany-1.32/tests/ctags/auto.f0000644000175000017500000000022213204251306013035 00000000000000! Provided by Brian Helsinki, 7 March 2003 program AUTO_TEST AUTOMATIC A, B, C AUTOMATIC REAL P, D, Q !IMPLICIT AUTOMATIC REAL (X-Z) END geany-1.32/tests/ctags/attributes.cs0000644000175000017500000000120613204251306014436 00000000000000[DllImport] public class MyDllimportClass {} [DllImport("user32.dll", SetLastError=false, ExactSpelling=false)] [DllImport("user32.dll", ExactSpelling=false, SetLastError=false)] [DllImport("user32.dll")] [Conditional("DEBUG"), Conditional("TEST1")] void TraceMethod() {} using System; [AttributeUsage(AttributeTargets.Class|AttributeTargets.Struct)] public class Author : Attribute { public Author(string name) { this.name = name; version = 1.0; } public double version; string name; } [AttributeUsage(AttributeTargets.Class|AttributeTargets.Struct, AllowMultiple=true)] // multiuse attribute public class Author : Attribute { } geany-1.32/tests/ctags/array-spec.f900000644000175000017500000000037713204251306014317 00000000000000 MODULE inm_df IMPLICIT none SAVE TYPE df_type REAL(8), POINTER :: & df_mb_time(:), df_wb_time(:) REAL(4), POINTER :: & df_mb_data(:,:), df_wb_data(:,:) END TYPE END MODULE inm_df geany-1.32/tests/ctags/array_spec.f900000644000175000017500000000054113204251306014372 00000000000000! Bug reported by Jim Chen on 31 Dec 2002 module Global_Variables implicit none ! Example of array-spec in entity-decl real*8, save :: & H (NDIM, NDIM) = 0.D0, & H0(NDIM, NDIM), & H1(NDIM, NDIM) = 0.D0, & H2(NDIM, NDIM) = 0.D0, & H3(NDIM, NDIM) = 0.D0, & H4(NDIM, NDIM) = 0.D0, & H5(NDIM, NDIM) = 0.D0 end module Global_Variables geany-1.32/tests/ctags/array_ref_and_out.cs0000644000175000017500000000143113204251306015733 00000000000000// Programmer's Reference: Passing Array Using ref and out public static void MyMethod(out int[] arr) { arr = new int[10]; // definite assignment of arr } public static void MyMethod(ref int[] arr) { arr = new int[10]; // arr initialized to a different array } using System; class TestOut { static public void FillArray(out int[] myArray) { // Initialize the array: myArray = new int[5] {1, 2, 3, 4, 5}; } static public void Main() { int[] myArray; // Initialization is not required // Pass the array to the callee using out: FillArray(out myArray); // Display the array elements: Console.WriteLine("Array elements are:"); for (int i=0; i < myArray.Length; i++) Console.WriteLine(myArray[i]); } } geany-1.32/tests/ctags/arraylist.js0000644000175000017500000000047613204251306014301 00000000000000 var a = []; var b = [1, 2, 3]; var c = [ { a: "hello", b: 42 }, { a: "hi", b: 41 } ]; var class = function() { this.test1 = { foo: [ 1, 2, 3], bar: [ 4, 5, 9] }; // FIXME: no tag is generated for test2 this.test2 = [ { a: {}, b: {} }, { a: {}, b: {} } ]; this.test3 = function() {} } geany-1.32/tests/ctags/anonymous_functions.php0000644000175000017500000000055613204251306016561 00000000000000 tar.gz tar zxvf snort-.tar.gz cd ./configure make su make install mkdir /var/log/snort cd etc vi snort.conf snort -D -c snort.conf exit \end{verbatim} ...and if you want to use our binary package uninstaller :-): \begin{verbatim} cd ; make uninstall \end{verbatim} And if you must, you can find some binaries at \htmladdnormallink{http://www.snort.org/snort-downloads}{http://www.snort.org/snort-downloads}. You can also find Snort in most BSD ports' trees. \subsection{How do I run Snort?} Run Snort in sniffer mode and make sure it can see the packets. \begin{verbatim}snort -dv\end{verbatim} Then run it with the HOME\_NET set appropriately for the network you're defending in your rules file. A default rules file comes with the snort distribution and is called ``snort.conf'' You can run this basic ruleset with the following command line: \begin{verbatim}snort -A full -c snort.conf\end{verbatim} If it's all set right, make sure the interface is in promiscuous mode by running the command from another window: \begin{verbatim}ifconfig -a\end{verbatim} The output from ifconfig should show if the interface is in promiscuous mode. If it's not, there should be a way to set it manually. Note that the default output mode (-A full) of Snort should not be used except in very controlled environments. It is the slowest way to run Snort and presents several hard to recover from problems with inode creation on filesystems. For people doing real IDS work, use something like (-A fast -b) to combine fast alert mode with tcpdump binary log files or use the unified format coupled with Barnyard. \subsection{Where are my log files located? What are they named?} The default location for logs is /var/log/snort. If snort is started with ``-l $<$directory$>$'', then the logs will be located in the directory specified. In the past, running Snort in daemon mode (-D) produced a file named ``snort.alert.'' For consistency's sake, this has been changed. Running Snort in both standard or daemon modes (-D) will produce a file named ``alert.'' Note the log file naming convention changed between 1.8 and 1.9. That funny alphanumeric soup at the end of the new names is a UNIX timestamp. This helps avoid file conflicts. \subsection{Why does Snort complain about /var/log/snort?} It requires this directory to log alerts to it. Try running the command: \begin{verbatim} mkdir -p /var/log/snort \end{verbatim} Make sure the logging directory is owned by the user Snort is running as. \subsection{Where's a good place to physically put a Snort sensor?} This is going to be heavily influenced by your organizations policy, and what you want to detect. One way of looking at it is determining if you want to place it inside or outside your firewall. Placing an IDS outside of your firewall will allow you monitor all attacks directed at your network, regardless of whether or not they are stopped at the firewall. This almost certainly means that the IDS will pick up on more events than an IDS inside the firewall, and hence more logs will be generated. Place an IDS inside your firewall if you are only interested in monitoring traffic that your firewall let pass. If resources permit, it may be best to place one IDS outside and one IDS inside of your firewall. This way you can watch for everything directed at your network, and anything that made it's way in. ADDENDA AD NAUSEUM Note: So this one still gets a lot of traffic even though it's in the FAQ. Erek Adams has noted this comprehensive and authoritative discussion of this perpetual discussion item---mildly edited, also see faq question about switches hubs and taps -dr If your router/switch can do port mirroring, then just connecting a network IDS to it would be fine. Or else a hub could be another option. Most network IDSes can have a NIC that acts as a passive sniffer anyway. As to where to place the sensor. I would go for both, one to monitor the external, one for the internal. I work in a distributor for security products, so over instrumentation is fun :) And in any case, if the traffic does not pass by the Sensor it will not get monitored. So some people deploy IDS on their internal segments too, I believe. {\bf In ``front'' of the firewall(s):} Pro: Higher state of alert you know what attacks you are facing. Con: Wall to Wall of data, boring? If your firewall has NAT turned on, tracking the sources originating from your internal network is difficult. {\bf ``Behind'' the firewall(s):} Pro: Only what gets through the firewall gets monitored? Less load on the IDS analyst. You get to see what hosts are sending traffic to the internet. Con: Less idea of the state of the environment, false sense of safety. {\bf Where should IDS be placed relative to firewalls? Explore the pros and cons of placing IDS inside or outside firewall. What are the drawbacks of each?} \begin{itemize} \item {\bf MARCUS RANUM from NFR Security:} "I'd put mine inside. Why should I care if someone is attacking the outside of my firewall? I care only if they succeed, which my IDS on the inside would ideally detect. Placing the IDS on the outside is going to quickly lull the administrator into complacency. I used to have a highly instrumented firewall that alerted me whenever someone attacked it. Two weeks later I was deleting its alert messages without reading them. Another important factor arguing for putting it inside is that not all intrusions come from the outside or the firewall. An IDS on the inside might detect new network links appearing, or attackers that got in via another avenue such as a dial-in bank.'' \item {\bf CURRY from IBM:} ``The IDS should be placed where it will be able to see as much of the network traffic you're concerned about as possible. For example, if you're concerned about attacks from the Internet, it makes the most sense to put the IDS outside the firewall. the most sense to put the IDS outside the firewall. This gives it an ``unobstructed'' view of everything that's coming in. If you put the IDS inside the firewall, then you're not seeing all the traffic the bad guys are sending at you, and this may impact your ability to detect intrusions.'' \item {\bf SUTTERFIELD from Wheel Group:} ``IDS ideally plays an important role both inside and outside a firewall. Outside a firewall, IDS watches legitimate traffic going to public machines such as e-mail and Web servers. More importantly IDS outside a firewall will see traffic that would typically be blocked by a firewall and would remain undetected by an internal system. This is especially important in detecting network sweeping which can be a first indication of attack. External systems will also give you the benefit of monitoring those services that firewalls determine are legitimate. Putting an IDS inside the firewall offers the added benefit of being able to watch traffic internal to the protected network. This adds an important element of protection against insider threats. The major drawback of IDS inside a firewall is that it cannot see a good deal of important traffic coming from untrusted networks and may fail to alert on obvious signals of an impending attack.'' \item {\bf CHRIS KLAUS from ISS:} ``Outside the firewall is almost always a good idea---it protects the DMZ devices from attack and dedicates an additional processor to protecting the internal network. Just inside the firewall is also useful-it detects attempts to exploit the tunnels that exist through the firewall and provides an excellent source of data for how well your firewall is working. Throughout your intranet may be the best place for IDS deployment, however. Everyone agrees that attacks aren't the only things we're worried about-there's internal mischief, fraud, espionage, theft, and general network misuse. Intrusion detection systems are just as effective inside the network as outside, especially if they're unobtrusive and easy to deploy.'' \item {\bf GENE SPAFFORD:} ``The IDS must be inside any firewalls to be able to detect insider abuse and certain kinds of attacks through the firewall. IDS outside the firewall may be useful if you want to monitor attacks on the firewall, and to sample traffic that the firewall doesn't let through. However, a true IDS system is likely to be wasted there unless you have some follow-through on what you see.'' \vspace{10pt} Bottom Line: {\bf DRAGOS RUIU:} ``Just pick a spot you're likely to look at the logs for. :-)'' \end{itemize} \subsection{Libpcap complains about permissions problems, what's going on?} You are not running Snort as root or your kernel is not configured correctly. \subsection{ I've got RedHat and ....} Check your version of libpcap. If it's not $>=$ 0.5, you should update. \subsection{Where do I get the latest version of libpcap? } You can find the most current version at: \htmladdnormallink{http://www.tcpdump.org}{http://www.tcpdump.org/} You might also want to have a look at Phil Wood's patches to libpcap for Linux: \htmladdnormallink{http://public.lanl.gov/cpw/}{http://public.lanl.gov/cpw/} \subsection{Where do I get the latest version of Winpcap?} \htmladdnormallink{http://winpcap.polito.it/}{http://winpcap.polito.it/} \subsection{What version of Winpcap do I need?\label{winpcap}} It depends. If you only have one processor, you can use the most current version (3.x). If you have a SMP box, you'll have to use either an older version ($<$ 2.3) or the 3.x version plus a patch from \htmladdnormallink{http://www.ntop.org/winpcap.html}{http://www.ntop.org/winpcap.html}. \subsection{Why does building Snort complain about missing references? } You must configure libpcap with the --install-incl option. (On Red Hat, install the libpcap-devel rpm.) \subsection{Why does building snort fail with errors about yylex and lex\_init? } You need the lex and yacc tools or their gnu equivalents flex and bison installed. \subsection{I want to build a Snort box. Will this $<$Insert list of hardware$>$ handle $<$this much$>$ traffic? } That depends. Lower the number of rules is a standard performance increase. Disable rules that you don't need or care about. There have been many discussions on 'tweaking performance' with lots of 'I handle XX mb with a \_\_\_ machine setup.' being said. Look at some of the discussions on the snort-users mailing lists. Here is an oft quoted bit on the subject from Marty: ``Hardware/OS recommendations'' Ok, here are the guidelines and some parameters. Intrusion detection is turning into one of the most high performance production computing fields that is in wide deployment today. If you think about the requirements of a NIDS sensor and the constraints that they are required to operate within, you'll probably start to realize that it's not too hard to find the performance wall with a NIDS these days. The things a NIDS needs are: \begin{enumerate} \item MIPS (Fast CPU) \item RAM (More is *always* better) \item I/O (Wide, fast busses and high performance NIC) \item AODS (Acres Of Disk Space) \end{enumerate} A NIDS also needs to be pretty quick internally at doing its job. Snort's seen better days in that regard (when 1.5 came out the architecture was a lot cleaner) but it's still considered to be one of the performance leaders available. As for OS selection, use what you like. When we implement Data Acquisition Plugin's in Snort 2.0 this may become more of a factor, but for now I'm hearing about a lot of people seeing a lot of success using Snort on Solaris, Linux, *BSD and Windows 2000. Personally, I develop Snort on FreeBSD and Sourcefire uses OpenBSD for our sensor appliance OS, but I've been hearing some good things about the RedHat Turbo Packet interface (which would require mods for Snort to use, not to mention my general objection to RedHat's breaking stuff all the time). (ed note: take a drink, see FAQ 7.2 -dr) \subsection{What are CIDR netmasks? } (Excerpt from url: \htmladdnormallink{http://public.pacbell.net/dedicated/cidr.html}{http://public.pacbell.net/dedicated/cidr.html}) CIDR is a new addressing scheme for the Internet which allows for more i efficient allocation of IP addresses than the old Class A, B, and C address scheme. \begin{center} \begin{tabular}{llr} {\bf CIDR Block} & {\bf Equivalent Class C} & {\bf Addresses}\\ /27 & 1/8th of a Class C & 32 hosts \\ /26 & 1/4th of a Class C & 64 hosts\\ /25 & 1/2 of a Class C & 128 hosts\\ /24 & 1 Class C & 256 hosts\\ /23 & 2 Class C & 512 hosts\\ /22 & 4 Class C & 1,024 hosts\\ /21 & 8 Class C & 2,048 hosts\\ /20 & 16 Class C & 4,096 hosts\\ /19 & 32 Class C & 8,192 hosts\\ /18 & 64 Class C & 16,384 hosts\\ /17 & 128 Class C & 32,768 hosts\\ /16 & 256 Class C & 65,536 hosts \\ /15 & 512 Class C & 131,072 hosts\\ /14 & 1,024 Class C & 262,144 hosts\\ /13 & 2,048 Class C & 524,288 hosts\\ \end{tabular} \end{center} For more detailed technical information on CIDR, check out the following RFCs: \begin{itemize} \item RFC 1517: Applicability Statement for the Implementation of CIDR \item RFC 1518: An Architecture for IP Address Allocation with CIDR \item RFC 1519: CIDR: An Address Assignment and Aggregation Strategy \item RFC 1520: Exchanging Routing Information Across Provider Boundaries in the CIDR Environment \end{itemize} RFCs are available at \htmladdnormallink{http://www.rfc-editor.org/rfcsearch.html}{http://www.rfc-editor.org/rfcsearch.html} \subsection{What is the use of the ``-r'' switch to read tcpdump files? } Used in conjunction with a Snort rules file, the tcpdump data can be analyzed for hostile content, port scans, or anything else Snort can be used to detect. Snort can also display the packets in a decoded format, which many people find is easier to read than native tcpdump output. \section{Configuring Snort} \subsection{How do I setup snort on a `stealth' interface? }\label{stealth} In *BSD and Linux: \begin{verbatim}ifconfig eth1 up\end{verbatim} Solaris: \begin{verbatim}ifconfig eth1 plumb ifconfig eth1 up\end{verbatim} For NT/W2K/XP users, try the following: NOTE: You are at your own risk if you follow these instructions. Editing your registry is DANGEROUS and should be done with extreme caution. Follow these steps at your OWN risk. \begin{enumerate} \item Get your device's hex value. ('snort -W' works for this) \item open Regedt32 \item Navigate to: HKEY\_LOCAL\_MACHINE$\backslash$SYSTEM$\backslash$CurrentControlSet$\backslash$Services$\backslash$Tcpip$\backslash$Parameters$\backslash$\linebreak Interfaces$\backslash$\{XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\} \item Select the network card you wish to setup as the monitoring interface (this will be the \{XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\} value). \item Set IPAddress:REG\_MULTI\_SZ: to null (Double click on the string, delete data in the Multi-String Editor, then click OK) \item Set SubnetMask:REG\_MULTI\_SZ: to null (Double click on the string, delete data in the Multi-String Editor, then click OK) \item Set DefaultGateway:REG\_MULTI\_SZ: to null (Double click on the string, delete data in the Multi-String Editor, then click OK) \item Close the Registry Editor, your changes will be saved automatically. \item In a command prompt, run 'ipconfig' to verify the interface does not have an IP bound to it. \end{enumerate} If you do not receive an IP address listing from the interface you modified, you are good to go. To run snort with the specified interface, use the -i flag such as 'snort -v -d -p -i1' \subsection{How do I setup a receive-only ethernet cable?} Use an ethernet tap, or build your own 'receive-only' ethernet cable. Anyway, here is the cable I use: \begin{verbatim} LAN Sniffer 1 -----\ /-- 1 2 ---\ | \-- 2 3 ---+-*------ 3 4 - | - 4 5 - | - 5 6 ---*-------- 6 7 - - 7 8 - - 8 \end{verbatim} Basically, 1 and 2 on the sniffer side are connected, 3 and 6 straight through to the LAN. 1 and 2 on the LAN side connect to 3 and 6 respectively. This fakes a link on both ends but only allows traffic from the LAN to the sniffer. It also causes the 'incoming' traffic to be sent back to the LAN, so this cable only works well on a hub. You can use it on a switch but you will get ...err... interesting results. Since the switch receives the packets back in on the port it sent them out, the MAC table gets confused and after a short while devices start to drop off the switch. Works like a charm on a hub though. Another method which uses a capacitor and should work on 100mbs links: \htmladdnormallink{http://www.geocities.com/samngms/sniffing\_cable}{http://www.geocities.com/samngms/sniffing_cable} And another: The UTP Y-Cable specified by Joe Lyman: A less noisy option: it involves a couple of cat 5 cables and a single speed hub. The idea is to use the rcv cables for the wire going to the sniffer box and use the xmit cables from another hub port. This will give you a link light and allow your sniffer to rcv only. Cannot xmit because the xmit cables are not connected. This has been successfully used on netgear single speed hubs. It wont work on dual speed hubs due to the negotiation of speed. Pin outs. They are reversed in the picture in order to prevent lines from crossing, and I only included the pins used. \begin{verbatim} * []HUB PORT 1 HUB PORT 2 ----- ----- x x r r r r x x 6 3 2 1 1 2 3 6 | | | | | | | | | ----------- | | | ------------- | | | | | | | | 6 3 2 1 r r x x ---- SNIFFER x = xmit r = rcv \end{verbatim} You could make it a single cable by adding a battery to simulate the voltage from the xmit cables on the nic, but batteries die. It's not recommended to cut the transmit side, shunt it to ground (pin 2). Some OS's will disable the interface if PIN 1 does not indicate a completed circuit. \subsection{What are HOME\_NET and EXTERNAL\_NET?} HOME\_NET and EXTERNAL\_NET are standard variable names that all of the Snort.org rules use. HOME\_NET refers to the network(s) that you want to protect, where EXTERNAL\_NET is the network(s) that you think attacks would come from. \subsection{My network spans multiple subnets. How do I define HOME\_NET?} Snort 1.7 supports IP lists. You can assign a number of addresses to a single variable. For example: \begin{verbatim}var HOME_NET [10.1.1.0/24,192.168.1.0/24]\end{verbatim} NOTE: Not all preprocessors support IP lists at this time. Unless otherwise stated, assume that any preprocessor using an IP list variable will use the first value as the HOME\_NET. The portscan preprocessor is an example. To catch all detectable portscans, pass 0.0.0.0/0 in as the first parameter. \begin{verbatim}preprocessor portscan: 0.0.0.0/0 5 3 portscan.log\end{verbatim} Use the portscan-ignorehosts preprocessor to fine tune and ignore traffic from noisy, trusted machines. \subsection{How do I set EXTERNAL\_NET?} Many people set EXTERNAL\_NET to ``any''. \begin{verbatim} var EXTERNAL_NET any \end{verbatim} By setting it to ``any'' Snort will alert you on any traffic matching a rule coming into or leaving your network. To cut down on the work that Snort has to do, many people set it to ``not HOME\_NET.'' \begin{verbatim} var EXTERNAL_NET !$HOME_NET \end{verbatim} This tells Snort to define EXTERNAL\_NET as everything except HOME\_NET. For most people this is the best thing to set it to. \subsection{How can I run Snort on multiple interfaces simultaneously?} LINUX: If you aren't running snort on linux 2.1.x/2.2.x kernel (with LPF available) the only way is to run multiple instances of snort, one instance per interface (with the -i option specifying the interface). However for linux 2.1.x/2.2.x and higher you can use libpcap library with S. Krahmer's patch which allows you to specify 'any' as interface name. In this case snort will be able to process traffic coming to all interfaces. *BSD: Use the ``bridge'' interface to combine your nics into a logical interface (bridge0). \subsection{My IP address is assigned dynamically to my interface, can I use Snort with it?} Yes. With Snort 1.7 and later, $<$interface$>$\_ADDRESS variable is available. The value of this variable will be always set to IP address/Netmask of the interface which you run snort at. if interface goes down and up again (and an IP address is reassigned) you will have to restart snort. For earlier versions of snort numerous scripts to achieve the same result are available. \subsection{I have one network card and two aliases, how can I force Snort to ``listen'' on both addresses?} If you're using at least version 1.7, you can specify an IP list like this: \begin{verbatim}var HOME_NET [ 192.168.10.0/24, 10.1.1.1/16 ]\end{verbatim} If you're using something older (version 1.6.3-patch2 or whatever) you can re-specify the HOME\_NET variable multiple times like this (for example): \begin{verbatim} var HOME_NET 10.1.1.0/24 include misc.rules var HOME_NET 192.168.1.0/24 include misc.rules \end{verbatim} \subsection{How do I ignore traffic coming from a particular host or hosts?} There are two basic ways to ignore traffic from a host: \begin{itemize} \item Pass Rules \item BPF Filters \end{itemize} Details: \begin{enumerate} \item Pass Rules: \begin{itemize} \item Advantages: \begin{itemize} \item Gives you rule based control over the packets. \item Puts all your changes into 'one place'-snort.conf. \end{itemize} \item Disadvantages: \begin{itemize} \item Reverses the Rule order, can cause some headaches in tracking down problems. \item One poorly written pass rule can 'blind' your whole network. \item The more specific the pass rule is, the more CPU snort needs to process it which may be important on loaded nets. \end{itemize} \item Example: For example to ignore ALL ICMP traffic from host using a pass rule: \begin{verbatim} pass icmp any -> $HOME_NET any \end{verbatim} \end{itemize} \item BPF Filters: \begin{itemize} \item Advantages: \begin{itemize} \item Drops the packet at the BPF interface, which saves on processing. \item Speeds up Snort since it 'never sees' those packets. \end{itemize} \item Disadvantages: \begin{itemize} \item Poorly constructed filters can 'blind-side' you. \end{itemize} \item Example: \begin{itemize} \item To ignore all traffic from 192.168.0.1: \begin{verbatim} snort not host 192.168.0.1 \end{verbatim} \item To ignore all ICMP ECHO-REQUESTS (pings) and ICMP-ECHO REPLY's (ping reply) from host $<$foo$>$: \begin{verbatim} snort ``not ( (icmp[0] = 8 or icmp[0] = 0) and host )'' \end{verbatim} \end{itemize} \end{itemize} \end{enumerate} \subsection{How do I get Snort to log the packet payload as well as the header?} It depends on how your Snort configuration logs. If it logs in binary format, you'll have to process the binary log in order to get cleartext. You also might have ``-A $<$foo$>$'' on the command line. Command line options always take override the .conf file. \subsection{Why are there no subdirectories under /var/log/snort for IP addresses?} It depends on how your snort configuration logs. If it logs in binary format, you'll have to process the binary log in order to get cleartext. \subsection{How do you get Snort to ignore some traffic?} Snort can be made to ignore traffic in a number of different ways: \begin{enumerate} \item Specify bpf filters on the command line the tcpdump man page has a description of bpf filters. \item Use a pass rule \item The portscan preprocessor has it's own special exclusion list with the portscan-ignorehosts.rules file directive \end{enumerate} \subsection{Why does the portscan plugin log ``stealth'' packets even though the host is in the portscan-ignorehosts list? } These types of tcp packets are inherently suspicious, no matter where they are coming from. The portscan detector was built with the assumption that {\em stealth} packets should be reported, even from hosts which are not monitored for portscanning. An option to ignore ``stealth'' packets may be added in the future. \subsection{What the heck is a ``Stealth scan''?} A Stealth scan can refer to more than one type of scan. \begin{itemize} \item {\bf Half-Open or SYN scan:} Instead of completing the full TCP three-way-handshake a full connection is not made. A SYN packet is sent to the system and if a SYN/ACK packet is received it is assumed that the port on the system is active. In that case a RST/ACK will be sent which will determined the listening state the system is in. If a RST/ACK packet is received, it is assumed that the port on the system is not active. \item {\bf FIN scan:} According to RFC 793 a system should send back an RST for all TCP ports closed when they receive a FIN packet for a specific port. \item {\bf XMAS tree scan:} According to RFC 793 a system should send back an RST for all TCP ports closed when they receive a FIN/URG/PUSH packet for a specific port. \item {\bf NULL scan:} According to RFC 793 a system should send back an RST for all TCP ports closed when they receive a packet without any specified IP flags for a specific port. \item {\bf Slow scan:} Any of the above scans could be used as a slow scan. A slow scan is when the attacker sends packets at a {\bf very} slow rate. Sometimes these scans can be conducted over hours, days, or weeks. The idea is since they are so slow, the victim's security measures won't ``notice'' the scan. \end{itemize} \subsection{What the heck is a SYNFIN scan?} SYNFIN scans got their name because there are both the SYN and FIN flags set. \subsection{Which takes precedence, commandline or rule file ?} The command line always gets precedence over the rules file. If people want to try stuff out quickly without having to manually edit the rules file, they should be able to override many things from the command line. \subsection{How does rule ordering work?} {\bf For $=>$ 2.0:} Please see the documents on v2.0 at: \htmladdnormallink{http://www.snort.org/docs/development-papers/}{http://www.snort.org/docs/development-papers/}. {\bf For $<=$ 1.9.X:} Marty has answered this many times on the snort-users mailing list. Here is an excerpt from a post on Thu, 22 Feb 2001 00:31:53 -0500, titled {\em ``Re: [Snort-users] order of evaluation of rules.''} Currently, the data structures that store Snort rule data are the RuleTreeNodes (RTN) and the OptTreeNodes (OTN). These data structs are stored in a two dimensinal linked list structure with the RTNs forming the top row of the ``Array'' and the OTNs forming the columns under the RTNs. Here's an ASCII illustration from the infamous ``lisapaper'': \begin{verbatim} RTN RTN RTN -------------- -------------- ----- | Chain Header | | Chain Header | | Chai | | | | | | Src IP | | Src IP | | Src | Dst IP |----->| Dst IP |----->| Dst ..... | Src Port | | Src Port | | Src | Dst Port | | Dst Port | | Dst | | | | | -------------- -------------- ----- | | | | | | OTN \|/ OTN \|/ -------V------ --------V------- | Chain Option | | Chain Option | | | | : | | Content | : | TCP Flags | : | ICMP Data | | Payload Size | | etc. | | | --------------- | | | OTN \|/ -------V------ | Chain Option | | | | Content | | TCP Flags | | ICMP data | | Payload Size | | etc. | | | -------------- | | \end{verbatim} Rules with similar rule headers (i.e. all the CGI rules, the old stealth port scan detection rules, most of the rules that focus on any single service, etc) are grouped under a single RTN for the sake of efficiency and the applicable OTNs are hung below them. For instance, if you have three rules like this: \begin{verbatim} alert tcp any any -> $HOME 80 (content: "foo"; msg: "foo";) alert tcp any any -> $HOME 80 (content: "bar"; msg: "bar";) alert tcp any any -> $HOME 80 (content: "baz"; msg: "baz";) \end{verbatim} They all get grouped under the same RTN and the OTNs are ``hung'' beneath them like this: \begin{verbatim} RTN -------------------- | SIP: any | | SP: any | | DIP: $HOME | | DP: 80 | -------------------- | | OTN \|/ ---------v---------- | content: foo | | msg: foo | --------------------- | | OTN \|/ ---------v---------- | content: bar | | msg: bar | --------------------- | | OTN \|/ ---------v---------- | content: baz | | msg: baz | --------------------- \end{verbatim} This is an efficient way to do things because we only need to check the data in the RTN once with this method. There is actually another dimension to this array: the function pointer list. Each node in the ``array'' has a linked list of function pointers attached to it. The functions in this list are the tests that need to be done to determine whether the data in the current packet matches the current rule node's information. Having this function pointer list gives us great efficiency and flexibility: we don't need to perform tests for things the current rule doesn't contain (e.g., ``any'' ports/IPs, packet content on non-content rules, etc). It also allows us to analyze the packet with any function without having to make major modifications to the whole program (which was the case in versions prior to version 1.5). There are a couple of implications of this architecture. For the sake of this discussion on rules ordering, the one we're interested in is that rule order is tricky to figure out. For instance: \begin{verbatim} alert tcp any any -> $HOME 80 (content: "foo"; msg: "foo";) alert tcp any any -> $HOME 1:1024 (flags: S; msg: "example";) alert tcp any any -> $HOME 80 (flags: S; msg: "Port 80 SYN!";) alert tcp any any -> $HOME 80 (content: "baz"; msg: "baz";) \end{verbatim} gets built like this: \begin{verbatim} RTN RTN -------------------- -------------------- | SIP: any | | SIP: any | | SP: any |-------->| SP: any | | DIP: \$HOME | | DIP: \$HOME | | DP: 80 | | DP: 1-1024 | -------------------- -------------------- | | | | OTN \|/ \|/ ---------v---------- ---------v---------- | content: foo | | flags: S | | msg: foo | | msg: example | -------------------- -------------------- | | OTN \|/ ---------v---------- | flags: S | | msg: Port 80 SYN! | -------------------- | | OTN \|/ ---------v---------- | content: baz | | msg: baz | -------------------- \end{verbatim} Note that all three of the port 80 rules will be checked before the ``1:1024'' rule due to the order in which the applicable RTN has been created. This is because the rules parser builds the first chain header for port 80 traffic and sticks it on the rules list, then on the next rule it sees that a new chain header is required, so it gets built and put in place. In this case you would intuitively expect to get the ``example'' message and never see the ``Port 80 SYN!,'' but the opposite is true. \subsection{How do I configure stream4?} \label{stream4} Stream4 is an entirely new preprocessor that preforms two functions: \begin{itemize} \item Stateful inspection of TCP sessions \item TCP stream reassembly \end{itemize} Marty implemented stream4 out of the desire to have more robust stream reassembly capabilities and the desire to defeat the latest ``stateless attacks'' that have been coming out against Snort (c.f. stick and snot). Stream4 is written with the intent to let Snort be able to handle performing stream reassembly for ``enterprise class'' users, people who need to track and reassemble more than 256 streams simultaneously. Marty optimized the code fairly extensively to be robust, stable, and fast. The testing and calculations I've performed lead me to be fairly confident that stream4 can provide full stream reassembly for several thousand simultaneous connections and stateful inspection for upwards of 64,000 simultaneous sessions. Stream4 is a large and complex piece of code (almost 2000 lines) and there are a lot of options associated with its runtime configuration, so I'll go over them here. \begin{verbatim} preprocessor stream4: [noinspect], [keepstats], [timeout ], [memcap] \end{verbatim} stream4\_reassemble defaults: \begin{verbatim} Reassemble client: ACTIVE Reassemble server: INACTIVE Reassemble ports: 21 23 25 53 80 143 110 111 513 Reassembly alerts: ACTIVE \end{verbatim} \subsection{Where does one obtain new/modifed rules? How do you merge them in?} New rules can be downloaded via CVS \myref{cvs} or, alternatively, may be found at www.snort.org. There is a mailing list dedicated to Snort rules, called snort-sigs hosted at Sourceforge. There are some scripts/programs to help you with rule management: \begin{itemize} \item oinkmaster: A simple Perl script to update the ruleset for you. \htmladdnormallink{http://www.algonet.se/~nitzer/oinkmaster/}{http://www.algonet.se/~nitzer/oinkmaster/} \item IDS Policy Manager: A win32 application that updates the ruleset using a GUI, then uploads your rulesets via scp. \htmladdnormallink{http://www.activeworx.com/idspm}{http://www.activeworx.com/idspm} \item snortpp: a program to merge multiple files into one master file sorted by SID. \htmladdnormallink{http://dragos.com/snortpp.tgz}{http://dragos.com/snortpp.tgz} \end{itemize} There is also this script that might be useful: \begin{verbatim} * []#!/bin/sh ########################################################################### #### # # Das Skript zum Herunterladen und installieren neuer IDS-Signaturen. # ########################################################################### #### MAILTO="admin@mydomain.de" MACHINE="machine1" #set -x SIGS_URL1="http://www.snort.org/dl/signatures/snortrules-stable.tar.gz" MD5_URL1="http://www.snort.org/dl/signatures/snortrules-stable.tar.gz.md5" WGET="/usr/bin/wget" #WGET_PARAMS="-N" WGET_PARAMS="-t 3 -T 5 -N -a /etc/snort/snort.log -P /etc/snort" # Wget parameters: # # -t : Retries (here 3) # -N : Get the file only if newer # -a : Append the log messages to the specified file # -P : Save the file to the specified directory # -T : Timeout ECHO="/bin/echo" TAR="/bin/tar" KILL="/bin/kill" PIDOF="/sbin/pidof" SNORT="/usr/local/bin/snort" SNORTUSER="snort" SNORTGROUP="snort" KILLSIG="SIGUSR1" SERVICE="/sbin/service" # Where is the Snort configuration dir: RULESPATH="/etc/snort/snortrules" SNORTCFGPATH="/etc/snort" MD5SUM="/usr/bin/md5sum" MD5SUM_PARAMS="" # The list of sensor interfacec divided by blanks IFACES="eth0" ########################################################################### #### # F U N C T I O N S # ########################################################################### #### ########################################################################### #### # Die Funktion, die Snort fuer alle def. Interfaces auf dem System startet # # # # Um sie zu erweitern muss man zwei Dinge tun: # # 1. Die Parameterliste von Interfaces erweitern # # 2. Das Konfigurationsfile unter /etc/snort/snort.conf_ethX anlegen # # # ########################################################################### #### restartsnort() { # Restarting Snort for all interfaces for i in $IFACES; do "$ECHO" "Setting up Snort for interface "$i"" $ECHO "Restarting Snort..." #/usr/bin/killall snort if [ -f /var/run/snort_"$i".pid ] then PID=$("$PIDOF" "$SNORT") if [ -z "$PID" ] then "$SERVICE" snort restart else #`cat /var/run/snort_"$i".pid` "$ECHO" "Restarting Snort running with PID "$PID" and reloading the rules..." "$KILL" -s "$KILLSIG" "$PID" fi else "$ECHO" "No PID file for interface "$i" found under /var/ run" fi "$ECHO" "Starting Snort" "$SNORT" -a -b -c "$SNORTCFGPATH""/snort.conf_""$i" -I -D -v -i $i -u "$SNORTUSER" -g "$SNORTGROUP" PID=`cat /var/run/snort_"$i".pid` "$ECHO" "Snort running now with PID "$PID"" done } ########################################################################### #### # Die Funktion zum ueberpruefen, ob und wie Snort auf dem System laeuft # ########################################################################### #### checksnort() { SNORTS=$("$PIDOF" "$SNORT" | wc -w | awk '{print $1}') SNORT_PIDS=$(/usr/bin/find /var/run -name snort\_eth[0-9]\.pid -ls | wc -l | awk '{print $1}') "$ECHO" "Snort instances counted: $SNORTS" "$ECHO" "Snort PID files found: $SNORT_PIDS" # 1. Fall: Snort laeuft nicht oder PID-File nicht da: if [ "$SNORTS" = "0" -o "$SNORT_PIDS" = "0" ] then "$ECHO" "Snort seems to be down or no PID file there..." "$ECHO" "Restarting Snort for all Interfaces..." "$SERVICE" snort restart fi # 2. Fall: Anzahl der Instanzen ungleich der Anzahl der PID-Files if [ "$SNORTS" -gt "$SNORT_PIDS" ] then "$ECHO" "More Snort instances than found PID files..." "$ECHO" "Something is wrong outthere..." "$ECHO" "Stopping all Snort processes..." # /usr/bin/killall -9 snort "$SERVICE" snort stop "$ECHO" "Hold on... Restarting Snort now..." "$SERVICE" snort restart fi # 3. Fall: Anzahl der Instanzen stimmt mit der Anzahl der PID-files ueberein } ########################################################################### #### ########################################################################### #### getrules() { # Get the rules, since we know that they are newer... $WGET $WGET_PARAMS $SIGS_URL1 $WGET $WGET_PARAMS $MD5_URL1 "$ECHO" "Readout the checksum..." # MD5-Summe auslesen if [ -f /etc/snort/snortrules-stable.tar.gz.md5 ] then MD5SUM1=`grep MD5 \ /etc/snort/snortrules-stable.tar.gz.md5|awk '{print $4}'` else "$ECHO" "Error! No MD5-file found" exit 1 fi "$ECHO" "Generating our own checksum..." # MD5-Summe bilden if [ -f /etc/snort/snortrules-stable.tar.gz ] then MD5SUM2=`md5sum /etc/snort/snortrules-stable.tar.gz|awk '{print $1}'` else "$ECHO" "Error! No rules file found" exit 1 fi if [ "$MD5SUM1" = "$MD5SUM2" ] then "$ECHO" "The MD5-Checksum fits!" "$ECHO" "$MD5SUM1" "$ECHO" "$MD5SUM2" "$ECHO" "$MD5SUM1" >> /etc/snort/snort.log "$ECHO" "$MD5SUM2" >> /etc/snort/snort.log "$ECHO" "Proceeding..." # /bin/sleep 1 else "$ECHO" "Error! Wrong checksum! Aborting!" "$ECHO" "Install rules manually!" "$ECHO" "$MD5SUM1" >> /etc/snort/snort.log "$ECHO" "$MD5SUM2" >> /etc/snort/snort.log exit 1 fi # Extract the new rules if [ -f "/etc/snort/snortrules-stable.tar.gz" ] then "$ECHO" "Extracting Snort rules..." "$TAR" -xzvf /etc/snort/snortrules-stable.tar.gz -C /etc/snort else "$ECHO" "Lost the file! Something is wrong!" "$ECHO" "Aborting!!" exit 1 fi # Deleting old rules # Existiert das Verzeichnis ueberhaupt? if [ -d "$RULESPATH" ] then # /bin/rm "$RULESPATH"/*.rules /bin/mv -f /etc/snort/rules/*.rules "$RULESPATH" /bin/cp -f /etc/snort/rules/classification.config "$SNORTCFGPATH" else "$ECHO" "Missing rules-directory!" "$ECHO" "Aborting!" exit 1 fi # Cleaning up... /bin/rm -rf /etc/snort/rules # Give everything to root /bin/chown root:root ${RULESPATH}/* } ########################################################################### #### # M A I N # ########################################################################### #### # Error handling first FCHK=$(/usr/bin/wget -spider -N -t 3 -T 5 "$SIGS_URL1" -P /etc/snort 2>&1) ERR_MSG=$("$ECHO" "$FCHK" | egrep -oi "failed error") # Log the error message explicitly "$ECHO" "$FCHK" >> /etc/snort/snort.log # If there is a word "failed" or "error" we break.. if [ "$("$ECHO" "$FCHK"| grep -i "failed")" ] || \ [ "$("$ECHO" "$FCHK"| grep -i "error")" ] then "$ECHO" "Error getting the files. The server seems to be not available." "$ECHO" "Error message:" "$ECHO" "$FCHK" "$ECHO" "Aborting!" exit 0 fi "$ECHO" "Checking/getting files..." # First extract the wget message FCHK=$(/usr/bin/wget -spider -N -t 3 -T 5 "$SIGS_URL1" \ -P /etc/snort 2>&1 | grep "not retrieving") /bin/date >> /etc/snort/snort.log "$ECHO" "Wget-output:" "$ECHO" $FCHK # Logging what we've done and when "$ECHO" "$FCHK" >> /etc/snort/snort.log if [ -z "$FCHK" ] then "$ECHO" "The files on the server seem to be newer." "$ECHO" "We will get them now..." getrules # Reload rules "$SERVICE" snort reload # restartsnort else # "$ECHO" "The signature files on the server are older or not newer." "$ECHO" "Doing nothing for now..." "$ECHO" "Checking if Snort is running...." checksnort exit 0 fi # Send Email "$ECHO" -e "`ls -lA "$RULESPATH"`\n\nSnort running with PID $("$PIDOF"\ "$SNORT")" | mail -s "Reloaded Snort signatures on $MACHINE"\ "$MAILTO" ########################################################################### #### ########################################################################### #### exit 0 #EOF \end{verbatim} \subsection{How do I use a remote syslog machine?} Add the syslog switch, -s, and put this statement syslog.conf: \begin{verbatim} auth.alert @managmentserverIP \end{verbatim} Look at your snort.conf file for more info on the facility and Priority settings. Make sure you have syslogd on the management server configured to allow syslog over UDP. Under RedHat, you can do this by editing /etc/sysconfig/syslog and adding the following line: \begin{verbatim} SYSLOGD_OPTIONS="-r -m 0" \end{verbatim} This will start syslogd with the mark interval set to 0 (turning it off) and set it to receive network connections. Then restart syslog. ``man syslogd'' for more info. You might also want to investigate syslog-ng\linebreak (\htmladdnormallink{http://www.balabit.hu/en/downloads/syslog-ng/}{http://www.balabit.hu/en/downloads/syslog-ng/}). Example invocation of snort: \begin{verbatim} /usr/local/bin/snort -c /etc/snort/snort.conf -I -A full -s 192.168.0.2:514 -i rl0 \end{verbatim} Note for Win32 users: Frank Knobbe wrote a patch for Snort to allow you to use `-s $<$host$>$' on the command line under Windows without nullifying the snort.conf. In other words, Snort still uses all settings from snort.conf but in addition uses the host from `-s' to send syslog alerts to. You can find the patch at: \htmladdnormallink{http://www.snort.org/dl/contrib/patches/win32syslog/}{http://www.snort.org/dl/contrib/patches/win32syslog/} \subsection{How do I get Snort and ACID working?} Acid has been unmaintained for quite some time. Use BASE instead (see below). \subsection{How do I build this BASE thing?} Read carefully through all the docs for each package. Getting BASE to work is a lot of work, since it depends on many packages. You need a working Apache, a working PHP, a working GD (and the many libraries GD depends on) and the ADODB package. This is a lot of stuff to configure. A typical sequence to get this all working on Solaris 8: Use some binary packages from a trusted Sun freeware site (sunfreeware.com). The most problems were with PHP and the GD library. GD itself needs a bunch of packages and libraries to work also. It needs the libpng stuff, the libjpeg stuff (if you want jpeg), etc, etc. Read through the readme for GD. So you either need to get these and compile them also, or get some binary packages. PHP is the most difficult thing to get compiled correctly. The PHP package needs to be compiled with lots of ``-with'' flags for GD to work properly, otherwise it gets lots of run-time unresolved reference errors. Just using a ``with'' for GD isn't sufficient. You also need to "with" each library which GD uses also, or PHP can't find the functions it needs. Here's the ``configure'' line you can use to get PHP working: \begin{verbatim} ./configure --with-mysql --with-apxs=/usr/apache/bin/apxs --with-gd --enable-sockets --with-jpeg-dir=/usr/local/lib --with-png-dir=/usr/local/ lib --with-zlib-dir=/usr/local/lib --with-xpm-dir=/usr/local/lib \end{verbatim} These `with' statements basically have the effect of the Makefile including -L and -R statements for each library so that both the compile and run time linkers can find all the functions needed to find in the Apache module environment. Apache doesn't seem to consult the LD\_LIBRARY\_PATH when running a module (or PHP doesn't, or there's some config item in the Apache conf files, but you can just use the ``withs''). Basically, you need to work from the bottom up. So you need to obtain/compile any libraries that GD needs and install them, and any libraries/packages those packages need. Then once you get GD compiled properly and installed, compile PHP. Then make a PHP script that calls phpinfo() and carefully examine the page produced. Once satisfied PHP is working, then the 'foundation' is ready for the other stuff. If they succeed, then install ADODB and BASE, tweak the config files, and it should all work. (heh, heh) BASE website: \htmladdnormallink{http://base.secureideas.net/}{http://base.secureideas.net/} \section{Rules and Alerts} \subsection{Errors loading rules files} Some common ones: \begin{itemize} \item \begin{verbatim}ERROR telnet.rules:YYY => Port value missing in rule!\end{verbatim} \item \begin{verbatim}ERROR telnet.rules:YYY => Bad port number: "(msg:"blah"\end{verbatim} \item \begin{verbatim}ERROR telnet.rules:YYY => Couldn't resolve hostname blah\end{verbatim} \end{itemize} What's going on? ``telnet.rules'' is the file where the syntax error occurred, and ``YYY'' is the line number it occurred on. There are a couple of possibilities: \begin{enumerate} \item The rule is missing a port value, has an invalid port number, or a bad hostname - in which case the ruleset author/maintainer should be notified. \item More often, the rule is just fine, but a variable in it was not declared. Open the rules file, look at the rule on the line number provided, and confirm that the variables it uses have been declared. You can read more about variables at \htmladdnormallink{http://www.snort.org/docs/writing\_rules/chap2.html\#tth\_sEc2.1.2}{http://www.snort.org/docs/writing\_rules/chap2.html\#tth\_sEc2.1.2} \end{enumerate} \subsection{Snort says ``Rule IP addr (``1.1.1.1'') didn't x-late, WTF?''} Get rid of the quotes around the IP address and try again. \subsection{Snort is behind a firewall (ipf/pf/ipchains/ipfilter) and awfully quiet...} Your firewall rules will also block traffic to the Snort processes. Note: This does not apply if Snort is installed {\bf on} the firewall box. \subsection{Does snort see packets filtered by IPTables/IPChains/IPF/PF?} Snort operates using libpcap. In general it sees everything the network adapter driver sees before the network stack munges it. Linux IPTables, Linux IPChains, BSD PF and IPF and other packet filters do not prevent snort from seeing a packet that is present on the network wire. Even if an inbound packet is denied by the packet filter Snort will still see and analyze the packet if it is listening to that interface. Snort/pcap sees whatever comes out of or goes into the network adapter. Note however that Snort is affected to the extent that the stream of data on the network wire is affected. Thus Snort will not see outbound packets which were denied while being sent since they will never reach the network adapter. Under OpenBSD you can snort just the PF rejects by using the /dev/pflogN interface. \subsection{I'm getting large amounts of $<$some alerts type$>$. What should I do? Where can I go to find out more about it? } Some rules are more prone to producing false positives than others. This often varies between networks. You first need to determine if it is indeed a false positive. Some rules are referenced with ID numbers. The following are some common identification systems, and where to go to find more information about a particular alert. \begin{tabular}{|l|l|l|} \hline {\bf System} & {\bf Example} & {\bf URL} \\ \hline\hline IDS & IDS182 & \htmladdnormallink{http://www.whitehats.com/IDS/182}{http://www.whitehats.com/IDS/182} \\ \hline CVE & CVE-2000-0138 & \htmladdnormallink{http://cve.mitre.org/cgi-bin/cvename.cgi?name=CAN-2000-0138}{http://cve.mitre.org/cgi-bin/cvename.cgi?name=CAN-2000-0138} \\ \hline Bugtraq & BugtraqID 1 & \htmladdnormallink{http://www.securityfocus.com/vdb/bottom.html?vid=1}{http://www.securityfocus.com/vdb/bottom.html?vid=1} \\ \hline McAfee & Mcafee 10225 & \htmladdnormallink{http://vil.nai.com/vil/dispVirus.asp?virus\_k=10225}{http://vil.nai.com/vil/dispVirus.asp?virus\_k=10225} \\ \hline Nessus & Nessus 11073 & \htmladdnormallink{http://cgi.nessus.org/plugins/dump.php3?id=11073}{http://cgi.nessus.org/plugins/dump.php3?id=11073}\\ \hline \end{tabular} It may be necessary to examine the packet payload to determine if the alert is a false positive. The packet payload is logged using the -d option. If you determine the alerts are false positives, you may want to write pass rules for machines that are producing a large number of them. If the rule is producing an unmanageable amount of false positives from a number of different machines, you could pass on the rule for all traffic. This should be used as a last resort. \subsection{What about all these false alarms? } Most think that a pile of false positives is infinitely preferable. Then people can turn off what they don't want. The reverse, having a small rule set, can lure people into complacency thinking that Snort is doing ``its thing'' and there is nothing to worry about. \subsection{What are all these ICMP files in subdirectories under /var/log/snort? } Most of them are likely destination unreachable and port unreachables that were detected by snort when a communications session attempt fails. \subsection{Why does the program generate alerts on packets that have pass rules? } The default order that the rules are applied in is alerts first, then pass rules, then log rules. This ordering ensures that you don't write 50 great alert rules and then disable them all accidentally with an errant pass rule. If you really want to change this order so that the pass rules are applied first, use the ``-o'' command line switch, or the ``order'' config directive. One other thing to keep in mind is that the alert might be generated from a preprocessor. If that is the case, then no pass rule will help you minimize the false positives. You will need to use a BPF filter. \subsection{What are all these ``ICMP destination unreachable'' alerts? } ICMP is the acronym for Internet Control Message Protocol They are failed connections ICMP unreach packet carries first 64 bits(8bytes) or more of the original datagrami and the original IP header. The ICMP Destination Unreachable (message type 3) is sent back to the originator when an IP packet could not be delivered to the destination address. The ICMP Code indicates why the packet could not be delivered. The original codes are: \begin{itemize} \item0 - net unreachable \item1 - host unreachable \item2 - protocol unreachable \item3 - port unreachable \item4 - fragmentation needed and DF bit set \item5 - source route failed \end{itemize} As far as why... ``it all depends...'' ICMP Unreachable Error Messages are divided into two groups: \begin{enumerate} \item ICMP Unreachable Error Messages issued by routers (all 16 of them) \item ICMP Unreachable Error Messages issued by a Host (only 2) \end{enumerate} What are the only 2 issued by a host? ICMP Port Unreachable - the destination port on the targeted host is closed (a.k.a. not in a listening state). ICMP Protocol Unreachable - the protocol we were trying to use is not being used on the targeted host. Both ICMP Type field and Code field indicates why the packets could not be delivered. Some snort ICMP alerts" are informational like the ICMP alerts found in icmp-info.rules. At this time there are no references or even classtypes associated with these rules. Other rules are more likely to be associated with untoward activity. For example, in icmp.rules you will find: \begin{verbatim} alert icmp $EXTERNAL_NET any -> $HOME_NET any (msg:"ICMP ISS Pinger"; content:"|495353504e475251|";itype:8;depth:32; reference:arachnids,158; classtype:attempted-recon; sid:465; rev:1;) \end{verbatim} which has a reference where the importance might be determined by checking out the arachnids reference. The classtype may indicate more or less the relative importance of the event. When a destination UDP port is closed on the targeted host, a.k.a. not in a listening state, the targeted host will issue an ICMP Port Unreachable error message back to the offending packets source IP address, given in the query. Some programs use these messages, like traceroute with *nix based machines. Windows based machines (tracert) will default to ICMP Echo requests... For further information about this, see: \begin{itemize} \item IP - ftp://ftp.isi.edu/in-notes/rfc791.txt \item ICMP - ftp://ftp.isi.edu/in-notes/rfc792.txt \item TCP - ftp://ftp.isi.edu/in-notes/rfc793.txt \item UDP - ftp://ftp.isi.edu/in-notes/rfc768.txt \end{itemize} and \htmladdnormallink{http://www.iana.org/assignments/icmp-parameters}{http://www.iana.org/assignments/icmp-parameters} Actually, putting this URL somewhere handy is a good idea: \htmladdnormallink{http://www.iana.org/}{http://www.iana.org/} There is also a good ICMP paper on \htmladdnormallink{http://www.sys-security.com/}{http://www.sys-security.com/} \subsection{Why do many Snort rules have the flags P (TCP PuSH) and A (TCP ACK) set? } One of the reasons it alerts on a PA flags is to minimize the false positive. You will only get an alert upon successful connections. If you want to see all the attempts, you either have to modify the signatures, add you own signatures or use your firewall logs to see if an attempt to specific a port occurred. \subsection{What are these IDS codes in the alert names? } IDS means "Intrusion Detection Signature" and identifies a known attack attempt. You can learn more about a specific IDS id at the arachNIDS search engine on \htmladdnormallink{http://www.whitehats.com/}{http://www.whitehats.com/}. The ``references'' keyword in rules can also be a good pointer for further research. \subsection{Snort says BACKDOOR SIGNATURE... does my machine have a Trojan? } If you are dumping the data part of the packet, review it. These rules are known to have high false rates as most of them are just based on numeric port numbers. \subsection{What about ``CGI Null Byte attacks?'' } It's a part of the http preprocessor. Basically, if the http decoding routine finds a \%00 in an http request, it will alert with this message. Sometimes you may see false positives with sites that use cookies with urlencoded binary data, or if you're scanning port 443 and picking up SSLencrypted traffic . If you're logging alerted packets you can check the actual string that caused the alert. Also, the unicode alert is subject to the same false positives with cookies and SSL. Having the packet dumps is the only way to tell for sure if you have a real attack on your hands, but this is true for any content-based alert. \subsection{Why do certain alerts seem to have `unknown' IPs in BASE? } See the BASE FAQ at \htmladdnormallink{http://base.secureideas.net/faq.php}{http://base.secureideas.net/faq.php} \subsection{Can priorities be assigned to alerts using BASE? } See the BASE FAQ at \htmladdnormallink{http://base.secureideas.net/faq.php}{http://base.secureideas.net/faq.php} \subsection{What about `SMB Name Wildcard' alerts? } Whitehats IDS177 \htmladdnormallink{http://dev.whitehats.com/cgi/test/new.pl/Show?\_id=netbios-name-query}{http://dev.whitehats.com/cgi/test/new.pl/Show?\_id=netbios-name-query} specifies traffic coming from {\em outside} of your local network. Allowing netbios traffic over public networks is usually very insecure. If the rule you are using also refers to ingres traffic only, then it would explain why you don't see a lot of false positives. For anyone reading that does see a lot of false postiives - if you change your rule to reflect the source address as being !\$HOME (or whatever variable you use to represent your internal network), then you should see most of the false positives go away. The value of this chack is that a default administrative share C\$ ADMIN\$ or some such has been accessed. This shouldn't happen in normal use - when people want to share files they should be implicitely defining the shares and ACL. \subsection{What the heck is a SYNFIN scan? } SYNFIN scans got their name because there are both the SYN and FIN flags set. \subsection{I am getting too many ``IIS Unicode attack detected'' and/or ``CGI Null Byte attack detected'' false positives. How can I turn this detection off? } These messages are produced by the http\_decode preprocessor. If you wish to turn these checks off, add -unicode or -cginull to your http\_decode preprocessor line respectively. \begin{verbatim}preprocessor http_decode: 80 8080 -unicode -cginull\end{verbatim} Your own internal users normal surfing can trigger these alerts in the preprocessor. Netscape in particular has been known to trigger them. Instead of disabling them,try a BPF filter to ignore your outbound http traffic such as: \begin{verbatim}snort -d -A fast -c snort.conf not (src net xxx.xxx and dst port 80)\end{verbatim} This has worked very well for us over a period of 5-6 months and Snort is still very able to decode actual and dangerous cgi null and unicode attacks on our public web servers. \subsection{How do I test Snort alerts and logging?} Try a rule that will fire off all the time like: \begin{verbatim}alert tcp any any -> any any (msg:"TCP traffic";)\end{verbatim} Also take a look at sneeze at http://snort.sourceforge.net/sneeze-1.0.tar Sneeze is a false positive generator that reads snort signatures and generates packets that will trigger the rules. \subsection{What is the difference between ``Alerting'' and ``Logging''?} There are two primary output facilities in Snort, logging and alerting. The alerting facility exists to let you know that something interesting has happened. The logging facility exists to log full packet information to the output format (pcap, ascii, database, etc). The ``alert'' action in Snort is hard coded to do two things when an event is detected by Snort, write an event to the alert facility and log as much as possible/desired to the output facility. The ``log'' action merely logs the current packet to the logging facility without generating an alert. This is done so you can log interesting things (telnet sessions, whatever) without having to generate an alert on every packet. The database plugin is something of an anomaly because it doesn't separate the two functionalities very much. The ``log'' option attaches the log facility and the ``alert'' option attaches it to the alert facility. What this means in practical terms is that if the db plugin is in alert mode, it will only receive output from alert rules, whereas if it's in ``log'' mode it will receive output from both log and alert rules. \subsection{Are rule keywords ORed or ANDed together?} >From Section 2.1 of the Snort Manual: \myquote{ All of the elements in that make up a rule must be true for the indicated rule action to be taken. When taken together, the elements can be considered to form a logical AND statement. At the same time, the various rules in a Snort rules library file can be considered to form a large logical OR statement. } \subsection{Can Snort trigger a rule by MAC addresses?} Not exactly. Snort logs MAC addresses and other L2 info within the packets. The arpwatch pre-processor can watch for games with MAC address changes. But there is no facility for triggering Rules form the L2 information. The content search keywords and depth and offset begin from the L3 payload, though we haven't tried playing with really big offsets yet :-). \subsection{How can I deactivate a rule?} Rules can be called from an included file in snort.conf, which tells Snort to follow the path to the rules file specified, and load it at initialization. Rules can also be included in snort.conf directly. If you want to deactivate a single rule within any list of rules, you can use one of these techniques: \begin{enumerate} \item Delete the rule and re-initialize Snort \item Place a \# in front of the rule, commenting it out, and re-initialize Snort \item Write a pass rule with the same properties in local.rules (or wherever you prefer), and re-initialize Snort with the -o option. \end{enumerate} \subsection{How can I define an address to be anything except some hosts?} Use the ! operator. E.g.: \begin{verbatim} var EXTERNAL_NET !$HOME_NET \end{verbatim} Note that the negation operator does not work inside a list so the following will NOT work: \begin{verbatim} var EXTERNAL_NET [!192.168.40.0/24,!10.14.0.0/16] \end{verbatim} but this will work: \begin{verbatim} var EXTERNAL_NET ![192.168.40.0/24,10.14.0.0/16] \end{verbatim} \subsection{After I add new rules or comment out rules how do I make Snort reload?} Usually a kill -HUP will work just fine. But if you are running inside of a chroot setup, this will not work as expected \myref{chroot}. If you're running like inside of a chroot jail, your best bet would be to kill and restart the snort process instead. \subsection{Where do the distance and within keywords work from to modify content searches in rules?} The ``distance'' keyword gives you a relative offset from the end of the last match, so it basically acts as a wildcarding mechanism. You can also use the new ``within'' keyword to limit how deep into the packet from the end of the distance it'll search before it stops. \subsection{How can I specify a list of ports in a rule?} You can't yet. You can specify a range of ports between X and Y with the notation X:Y. See the users manual (\htmladdnormallink{http://www.snort.org/docs/writing\_rules/chap2.html\#tth\_sEc2.2.4}{http://www.snort.org/docs/writing\_rules/chap2.html\#tth\_sEc2.2.4}) for more info on port ranges. \subsection{How can I protect web servers running on ports other than 80?} It is possible... It's a kludge, but it can work. Since the newer rules use the \$HTTP\_PORTS variable, you simply reset it and re-run the rules for the other ports. For example: \begin{verbatim} var HTTP_PORTS 80 include web.rules var HTTP_PORTS 8080 include web.rules \end{verbatim} \subsection{How do I turn off ``spp:possible EVASIVE RST detection'' alerts?} You want to pass the ``disable\_evasion\_alerts'' argument to stream4 in snort.conf. \subsection{Is there a private SID number range so my rules don't conflict?} Yes. Private SIDs start at 1000000. \subsection{How long can address lists, variables, or rules be?} The Snort parser has an 8K limit on variables and rules {\bf after} expansion. In practice, this is not a major limitation. :-) \subsection{What do the numbers (ie: [116:56:1]) in front of a Snort alert mean?} For this explanation, we'll use the following example: \begin{verbatim} [**] [116:56:1] (snort_decoder): T/TCP Detected [**] \end{verbatim} The first number is the Generator ID, this tells the user what component of Snort generated this alert. For a list of GIDs, please read etc/generators in the Snort source. In this case, we know that this event came from the ``decode'' (116) component of Snort. The second number is the Snort ID (sometimes referred to as Signature ID). For a list of preprocessor SIDs, please see etc/gen-msg.map. Rule-based SIDs are written directly into the rules with the ``sid'' option. In this case, ``56'' represents a T/TCP event. The third number is the revision ID. This number is primarily used when writing signatures, as each rendition of the rule should increment this number with the ``rev'' option. \section{Getting Fancy} \subsection{I hear people talking about ``Barnyard''. What's that?\label{barnyard}} Barnyard is a output system for Snort. Snort creates a special binary output format called ``unified.'' Barnyard reads this file, and then resends the data to a database backend. Unlike the database output plugin, Barnyard is aware of a failure to send the alert to the database, and it stops sending alerts. It is also aware when the database can accept connections again and will start sending the alerts again. \subsection{Are there other output systems for Snort besides ``Barnyard''?\label{spoolers}} FLoP (Fast Logging Project) and Mudpit are two other programs that can be used. FLoP adds a patch to Snort that creates an output plugin that writes alerts to a Unix domain socket instead of a file. These alerts (which are stored in memory) are then sent to a central server where they are then written to a database. Advantages are that database requests are made locally rather than over the wire and files don't need to be stored on the sensor. \htmladdnormallink{http://www.geschke-online.de/FLoP/}{http://www.geschke-online.de/FLoP/} Mudpit is similar to Barnyard in that it uses Snort's unified output. It however has the ability to process both alert and log files in parallel, choosing one that contains more information on a particular event. \htmladdnormallink{http://farm9.org/Mudpit/}{http://farm9.org/Mudpit/} \subsection{How do I process those Snort logs into reports?} \begin{enumerate} \item Barnyard \myref{barnyard} can be used to process unified output files into a number of formats, including output to a database for further analysis. \item SnortSnarf, a tool for producing HTML out of snort alerts for navigating through these alerts. % \htmladdnormallink{http://www.silicondefense.com/snortsnarf/}{http://www.silicondefense.com/snortsnarf/} \item If you want to set up logging to a database you could try BASE: \htmladdnormallink{http://base.secureideas.net/}{http://base.secureideas.net/} \item You can manipulate the unified output files directly without a separate database and browse/correlate them with Cerebus: \htmladdnormallink{http://dragos.com/cerebus/}{http://dragos.com/cerebus/} \item For GUI front ends with simple log browsing, look at: \begin{itemize} \item HenWen (OSX) \htmladdnormallink{http://homepage.mac.com/nickzman}{http://homepage.mac.com/nickzman} \htmladdnormallink{http://home.attbi.com/~rickzman/software/HenWen1.0.sit.bin}{http://home.attbi.com/~rickzman/software/HenWen1.0.sit.bin} \item IDS Center (Win32) \label{IDSCenter} \htmladdnormallink{http://www.packx.net/}{http://www.packx.net/} \item Puresecure (UNIX and Win32) (Formerly known as Demarc.) \htmladdnormallink{http://www.demarc.com/downloads/puresecure/}{http://www.demarc.com/downloads/puresecure/} \item SnortCenter (UNIX and Win32) \htmladdnormallink{http://users.pandora.be/larc/}{http://users.pandora.be/larc/} \item IDS Policy Manager (Win32) \htmladdnormallink{http://www.activeworx.com/IDSPM/}{http://www.activeworx.com/IDSPM/} \end{itemize} \end{enumerate} \subsection{How do I log to multiple databases or output plugins?} Feed the unified output files through Barnyard twice to separate databases, or... You can build redundancy by using multiple output plugins. Here are some examples. Multiple instantiations of the database plugin: \begin{verbatim} output log_database: mysql, dbname=snort host=localhost user=xyz output log_database: mysql, dbname=snort host=remote.loghost.com user=xyz \end{verbatim} Remote database and local tcpdump: \begin{verbatim} output log_database: mysql, dbname=snort host=remote.loghost.com user=xyz output log_tcpdump: /var/log/snort.tcpdump \end{verbatim} Then you can replay the tcpdump file through snort to recreate the database. CAVEAT: Just playing back the log packets might not trigger some of the state dependent pre-processors. \subsection{How can I test Snort without having an Ethernet card or a connection to other computers? } You have to use routing between two dummy devices: \begin{verbatim} modprobe -a dummy # (The dummy device has to be build by the kernel) ifconfig dummy0 192.168.0.1 ifconfig dummy0:0 192.168.0.2 telnet 192.168.0.3 12345 \end{verbatim} It's important that the second IP is on the same interface and not, e.g. dummy1 or dummy2 and that the IP you try to access is {\em not} one of those you put on the interfaces. Use snort's ability to hear in promiscious mode on an IP address range. (HOME\_NET=192.168.0.0/16) \subsection{How to start Snort as a win32 service? } \begin{enumerate} \item You must use complete paths for everything. This means EVERYTHING: Command line, configuration files, everything. Examples: All include statements must be full paths: WRONG: include scan-lib CORRECT: include C:\( \backslash \)snort\( \backslash \)scan-lib All command line options must be full paths: WRONG: snort.exe -l ./log CORRECT: snort.exe -l C:\( \backslash \)snort\( \backslash \)log \item YOU MUST ALWAYS HAVE A LOGGING DIRECTORY SET VIA THE COMMAND LINE (-l switch). If you do not set a logging directory the service will not start and, on NT/Win2k, your bootup will hang for about 4 minutes. \item Make sure that snort runs correctly from the command line, without yet worrying about any service related issues. Test that all of your desired command line parameters are causing snort to function as you expect, such as correctly generating logging and alert output. If you can't get this part to work, then you don't have much hope of snort miraculously starting to work as a service. \item Once you have step (3) running correctly, modify the command line parameters you used in step (3) to include the additional parameters ``/SERVICE /INSTALL.'' For example, if your command line in step (3) was: \begin{verbatim} snort -i1 -lC:\( \backslash \)snort\( \backslash \)log -cC:\( \ backslash \)snort\( \backslash \)snort.conf \end{verbatim} then you should change it to be: \begin{verbatim} snort /SERVICE /INSTALL -i1 -lC:\( \backslash \)snort\( \backslash \) log -cC:\( \backslash \)snort\( \backslash \)snort.conf \end{verbatim} Verify that the command line parameters were received correctly by running the command `snort /SERVICE /SHOW.' \item Start the service by running the command: \begin{verbatim} net start snortsvc \end{verbatim} Note that versions 1.9 (build 228), 2.0 (build 50), or any versions newer than these, will add entries to the Win32 event Log if there is ever a problem starting the service. Stop the service by running the command: \begin{verbatim} net stop snortsvc \end{verbatim} \item The service can be uninstalled by running the command: \begin{verbatim} snort /SERVICE /UNINSTALL \end{verbatim} \end{enumerate} \subsection{Is it possible with snort to add a ipfilter/ipfw rule to a firewall? } Yes. Select the appropriate DAQ module for your system. IPQ, NFQ, and IPFW DAQs are available, among others. See README.daq for details. Other possibilities are listed below. \begin{itemize} \item SnortSam \htmladdnormallink{http://www.snortsam.net}{http://www.snortsam.net} \item You also might wat to look at inline-snort at: \htmladdnormallink{http://www.snort.org/dl/contrib/patches/snort-inline}{http://www.snort.org/dl/contrib/patches/snort-inline} \item Guardian is available and is part of the contrib section at \htmladdnormallink{http://www.snort.org}{http://www.snort.org}. Guardian is a perl script which uses Snort to detect attacks, and then uses IPchains to deny any further attacks. The Guardian webpage can be found at: \htmladdnormallink{http://www.chaotic.org/~astevens/Guardian/index.html}{http://www.chaotic.org/~astevens/Guardian/index.html} or you can use the mirror, \htmladdnormallink{http://www.cyberwizards.com/~midnite/Guardian/index.html}{http://www.cyberwizards.com/~midnite/Guardian/index.html} \end{itemize} But one caveat... running external binaries can also be a performance limiter and your should read the caution below... CHRISTOPHER CRAMER wrote: \myquote{ I'm sure this has been mentioned before in similar discussions, but this feels like a \_really\_ bad idea. What if the bad guys realize what is going on and make use of your blocking method as a DoS attack. All one would have to do start sending a series of triggering packets with spoofed IP addresses. Since I am no longer interested in breaking into your site, but rather making your life hell, I don't worry about the resulting data getting back to me. All I have to do is start proceeding up a list of IP addresses that I think you should no longer be able to talk to. When you come in the next morning, you find that you can no longer access the world. Just my \$0.02. } Danger Will Robinson: Conventional wisdom says that auto-blocking is inherently dangerous. However, for those that like to live at the bleeding edge of tech (and the separate process scanning logs and processing firewall commands sounds like a good way to do this...): Please remember to include an exclusion list and put on them important sites such as root servers, other important dns servers (yours, and important sites for your users), and in general any host you don't want to receive phone calls about being DoSed when they are spoofed - usually inconveniently like that first time you actually manage to get on vacation.... (i.e. imagine ``Crisis: the CEO can't reach his favorite redlite.org game.... you have to fly back from the Carribean ASAP....'') \subsection{What is the best way to use Snort to block attack traffic?} \begin{verbatim}snort-inline > hogwash >> SnortSAM|Guardian >> flexresp\end{verbatim} \subsection{Snort complains about the ``react'' keyword...} Rerun configure with the --enable-flexresp option and rebuild/reinstall. \subsection{How do I get Snort to e-mail me alerts?} You can't. Such a process would slow Snort down too much to make it of any use. Instead, log to syslog and use swatch or logcheck to parse over the plaintext logfiles. With the Logsurfer docs, this might get you on the road to doing something with Snort and Logsurfer: \begin{itemize} \item \htmladdnormallink{http://www.obfuscation.org/emf/logsurfer/snort.txt}{http://www.obfuscation.org/emf/logsurfer/snort.txt} \end{itemize} JASON HAAR provided an example Swatch (3.1beta) config that emails alerts: \begin{itemize} \item \htmladdnormallink{http://www.theadamsfamily.net/~erek/snort/snort-swatch.conf.txt}{http://www.theadamsfamily.net/~erek/snort/snort-swatch.conf.txt} \end{itemize} Here are some docs on swatch: \begin{itemize} \item \htmladdnormallink{http://www.oit.ucsb.edu/~eta/swatch/}{http://www.oit.ucsb.edu/~eta/swatch/} \item \htmladdnormallink{http://www.stanford.edu/~atkins/swatch}{http://www.stanford.edu/~atkins/swatch} \item \htmladdnormallink{http://rr.sans.org/sysadmin/swatch.php}{http://rr.sans.org/sysadmin/swatch.php} \item \htmladdnormallink{http://www.enteract.com/~lspitz/swatch.html}{http://rr.sans.org/sysadmin/swatch.php} \item \htmladdnormallink{http://www.cert.org/security-improvement/implementations/i042.01.html}{http://www.cert.org/security-improvement/implementations/i042.01.html} \end{itemize} IDS Center \myref{IDSCenter} on Win32 will also mail alerts. \subsection{How do I log a specific type of traffic and send alerts to syslog?} An example addition to snort.conf: \begin{verbatim} ruletype redalert { type alert output alert_syslog: LOG_LOCAL2 output database: alert, postgresql, user=user dbname=snort password=pwd } \end{verbatim} Go into your local.rules and make sure you have something like: \begin{verbatim} redalert tcp any any -> any any (msg:"REDRUM REDRUM"; content:"redalerttest") \end{verbatim} Then just do a telnet and type `redalerttest.' Presto, alerts to both. \subsection{Is it possible to have Snort call an external program when an alert is raised?} Calling another program from within your main IDS loop is generally a bad idea. Having your IDS block while waiting for $<$something$>$ of dubious reliability and origin nevermind timing while the packets are piling up is inviting packet loss. Especially with the already oh-so-consistent ``Gee I think I'll go away for a minute'' rock steady even cpu slicing Windows gives you (that's sarcasm, sorry). Go with the second approach.... process invokation is expensive on Windows. You want to keep that IDS task humming and munching packets as efficiently as possible with as few interruptions as possible, imho, and not be invoking the penalty of process invocation.... particularly on Windows where process invocation is much much heavier task than *nix. Even in a secondary process... You'll probably find something that stays ``awake'' all the time will work out much more nicely than something that gets ``woken up'' on a per alert basis for the aforementioned reasons. As a better alternative go check out swatch or logwatch. Also for those new to UNIX, logging alerts to syslog and then using ``tail -f /var/log/messages'' might be what you are looking for. \subsection{How can I use Snort to log HTTP URLs or SMTP traffic?} It can be done with Snort, but you might find it faster to use mailsnarf and urlsnarf from Dug Song's dsniff package. Dsniff is available from: \htmladdnormallink{http://www.monkey.org/~dsong/dsniff/}{http://www.monkey.org/~dsong/dsniff/} You can get a win32 port of dsniff at: \htmladdnormallink{http://www.datanerds.net/~mike/dsniff.html}{http://www.datanerds.net/~mike/dsniff.html} \subsection{What are some resources that I can use to understand more about source addresses logged and where they are coming from?} \begin{itemize} \item \htmladdnormallink{http://www.arin.org/}{http://www.arin.org/} \item \htmladdnormallink{http://www.caida.org/tools/utilities/netgeo/}{http://www.caida.org/tools/utilities/netgeo/} \item \htmladdnormallink{http://netgeo.caida.org/perl/netgeo.cgi}{http://netgeo.caida.org/perl/netgeo.cgi} \item \htmladdnormallink{http://standards.ieee.org/regauth/oui/oui.txt}{http://standards.ieee.org/regauth/oui/oui.txt} \item \htmladdnormallink{http://www.codito.de/manufactor\_hash}{http://www.codito.de/manufactor_hash} \item \htmladdnormallink{http://coffer.com/mac\_find/}{http://coffer.com/mac_find/} \item \htmladdnormallink{http://www.idefense.com/Intell/CI022702.html}{http://www.idefense.com/Intell/CI022702.html} \item \htmladdnormallink{http://www.idefense.com/excelfiles/All.zip}{http://www.idefense.com/excelfiles/All.zip} \end{itemize} Also, try ``dig.'' \subsection{How do I understand this traffic and do IDS alert analysis?} \begin{enumerate} \item You'll need to understand some basics of IP, TCP, and UDP. Things like destination addresses, source addresses, common ports, what TCP SYN, FIN and RST mean, etc. The same kind of basic knowledge of the internet you need to successfully configure a multi-interface router applies here, although you don't need to know router syntax. Some useful online references: \begin{itemize} \item A truly basic ``intro to TCP/IP'' \htmladdnormallink{http://pclt.cis.yale.edu/pclt/COMM/TCPIP.HTM}{http://pclt.cis.yale.edu/pclt/COMM/TCPIP.HTM} \item A reasonable looking TCP/IP FAQ: \htmladdnormallink{http://www.itprc.com/tcpipfaq/default.htm}{http://www.itprc.com/tcpipfaq/default.htm} \item A basics of firewalls, DMZ's, etc. \htmladdnormallink{http://www.ibiblio.org/pub/Linux/docs/HOWTO/other-formats/html\_single/Firewall-HOWTO.html}{http://www.ibiblio.org/pub/Linux/docs/HOWTO/other-formats/html_single/Firewall-HOWTO.html} \end{itemize} \item You'll need to understand some basics of how network attacks work. I'd recommend skimming over ``Smashing the Stack for fun and profit'' by Aleph one. A deep understanding isn't necessary, but a casual read of this will give you some helpful basics in understanding the kinds of things that happen in an attack, and give you a better understanding of what to look for. \htmladdnormallink{http://www.insecure.org/stf/smashstack.txt}{http://www.insecure.org/stf/smashstack.txt} \item A good guide on securing systems is helpful, something like this one: \htmladdnormallink{http://www.openna.com/products/books/sol/solus.php}{http://www.openna.com/products/books/sol/solus.php} \htmladdnormallink{http://www.seifried.org/lasg/}{http://www.seifried.org/lasg/} \item You'll need to understand the basics of internet servers, ie: what DNS, HTTP, FTP, SMTP, etc. are for. Most of that should be covered in the various other references made here. \item An excellent reference on ``oddball'' traffic patterns commonly seen at network borders, also very helpful: \htmladdnormallink{http://www.robertgraham.com/pubs/firewall-seen.html}{http://www.robertgraham.com/pubs/firewall-seen.html} \item Also take a look at the ``Recommended Reading'' section \myref{courses} \end{enumerate} \subsection{How can I examine logged packets in more detail?} If you are using unified logging, you can use Barnyard \myref{barnyard} or the unified log to pcap converter written by Dragos: \htmladdnormallink{http://dragos.com/logtopcap.c}{http://dragos.com/logtopcap.c} You can also use the \texttt{getpacket} program from the FLoP project \myref{spoolers} You can then get additional decoding of the packet contents by analyzing these pcap files with either: \begin{itemize} \item Tcpdump - http://www.tcpdump.org \item Ethereal - http://www.ethereal.com \end{itemize} \section{Problems} \subsection{ I think I found a bug in Snort. Now what?} Get some more diagnostic information and post it to ``snort-users'' at \htmladdnormallink{http://www.sourceforge.net/lists/listinfo/snort-users}{http://www.sourceforge.net/lists/listinfo/snort-users}. To get diagnostic information, compile snort as either: \begin{verbatim}make clean; make CFLAGS=-ggdb\end{verbatim} or \begin{verbatim}make clean; make "CFLAGS=-ggdb -DDEBUG" \end{verbatim} trace coredump as: \begin{verbatim} gdb /path/to/snort /path/to/snort/core gdb> where gdb> bt gdb> print $varname, varname, \$\$varname etc.. \end{verbatim} or if corefile isn't generated, Snort should be started as: \begin{verbatim} gdb snort gdb> run snort\_args\_go\_here \end{verbatim} Then, when it crashes: \begin{verbatim} gdb> where gdb> bt gdb> print \$varname, varname, \$\$varname etc.. \end{verbatim} \subsection{SMB alerts aren't working, what's wrong? } The SMB alerting output plugin was removed in Snort 2.1 due to security issues. \subsection{Snort says ``Garbage Packet with Null Pointer discarded!'' Huh?} This was an internal diagnostic message triggered by an old bug in early versions of the defragmentation preprocessor. Upgrade to to the latest version of Snort. \subsection{Snort says ``Ran Out Of Space.'' Huh?} This is an internal diagnostic message when the defragmentation preprocessor runs into its ~32MB hard allocation space limit. Tell Dragos about it $<$dr@kyx.net$>$. \subsection{My BASE db connection times-out when performing long operations (e.g. deleting a large number of alerts).} PHP has an internal variable set to limit the length an script can execute. It is used to prevent poorly written code from executing indefinitely. In order to modify the time-out value, examine the 'max\_execution\_time' variable found in the 'php.ini' configuration file. \subsection{Why does snort report ``Packet loss statistics are unavailable under Linux?''} The Linux IP stack doesn't report lost packet stats. This also has been recently fixed with the 2.4+ kernel in the new version of libpcap...upgrade kernels and libpcap and it should now work. \subsection{My /var/log/snort directory gets very large...} Try this script to archive the files: \begin{verbatim} * []#!/bin/sh # # Logfile rotation script for snort written by jameso@elwood.net. # # This script is pretty basic. We start out by setting some vars. # Its job is tho rotate the days logfiles, e-mail you with what # it logged, keep one weeks worth of uncompressed logs, and also # keep compressed tgz files of all the logs. It is made to be run # at midnight everynight. This script expects you to have a base # dir that you keep all of your logs, rule sets etc in. You can # see what sub dirs it expects from looking at the var settings # below. # # Things to note in this script is that we run this script at 12 # every night, so we want to set the dirdate var the day the script # runs minus a day so we label the files with the correct day. We # Then create a dir for the days logs, move the log files into # todays dir. As soon as that is done restart snort so we don't miss # anything. Then delete any logs that are uncompressed and over a # week old. Then compress out todays logs and archive them away, and # end up by mailling out the logs to you. # # Define where you have the base of your snort install snortbase=/usr/snort # Define other vars # logdir - Where the logs are kept # oldlogs - Where you want the archived .tgz logs kept # weeklogs - This is where you want to keep a weeks worth of log files uncompressed # dirdate - Todays Date in Month - Day - Year format # olddirdate - Todays date in the same format as dirdate, minus a week logdir=$snortbase/log oldlogs=$snortbase/oldlogs weeklogs=$snortbase/weeklogs # When I first wrote this script, I only ran it on BSD systems. That was a # mistake, as BSD systems have a date command that apperently lets you walk the # date back pretty easily. Well, some systems don't have this feature, so I had # to change the way that dates are done in here. I left in the old way, because # it is cleaner, and I added in a new way that should be portable. If anyone # has any problems, just let me know and I will try to fix it. # # You have to change the system var to either bsd or other. Set it to bsd if # your system supports the "-v" flag. If you are not sure, set it to other. system=bsd if [ $system = bsd ] then dirdate=`date -v -1d "+%m-%d-%y"` olddirdate=`date -v -8d "+%m-%d-%y"` elif [ $system = other ] month=`date "+%m"` yesterday=`expr \`date "+%d"\` - 1` eightday=`expr \`date "+%d"\` - 8` year=`date "+%y"` dirdate=$month-$yesterday-$year olddirdate=$month-$eightday-$year fi # Create the Dir for todays logs. if [ ! -d $weeklogs/$dirdate ] then mkdir $weeklogs/$dirdate fi # Move the log files into todays log dir. This is done with # a for loop right now, because I am afriad that if a lot is # logged there may be to many items to move with a "mv *" # type command. There may a better way to do this, but I don't # know it yet. for logitem in `ls $logdir` ; do mv $logdir/$logitem $weeklogs/$dirdate done # Kill and restart snort now that the log files are moved. kill `cat /var/run/snort_fxp0.pid` # Restart snort in the correct way for you /usr/local/bin/snort -i fxp0 -d -D -h homeiprange/28 -l /usr/snort/log \ -c /usr/snort/etc/08292k.rules > /dev/null 2>&1 # Delete any uncompressed log files that over a week old. if [ -d $weeklogs/$olddirdate ] then rm -r $weeklogs/$olddirdate fi # Compress and save the log files to save for as long as you want. # This is done in a sub-shell because we change dirs, and I don't want # to do that within the shell that the script runs in. (cd $weeklogs; tar zcvf $oldlogs/$dirdate.tgz $dirdate > /dev/null 2>&1) # Mail out the log files for today. cat $weeklogs/$dirdate/snort.alert | mail -s "Snort logs" you@domain.com cat $weeklogs/$dirdate/snort_portscan.log | mail -s "Snort portscan logs" you@do main.com \end{verbatim} \subsection{Why does the `error deleting alert' message occur when attempting to delete an alert with BASE? } Most likely the DB user configure in BASE does not have sufficient privileges. In addition to those privileges granted to log the alerts into the database (INSERT, SELECT), DELETE is also required. This permission related issue can be confirmed by manually inserting a row into the database, then trying to delete it. \begin{enumerate} \item Log into MySQL with the same credentials (i.e. username, password) as you use in BASE: \begin{verbatim} mysql -u -p \end{verbatim} \item Insert a test row into the event table: \begin{verbatim} mysql> INSERT INTO event (sid, cid, signature, timestamp) VALUES (1,1000000, "test", "0"); \end{verbatim} (this assumes that you don't already have a row with an event ID=1000000. If you do just choose another event id \#) \item Now delete this newly inserted row: \begin{verbatim}mysql> DELETE FROM event WHERE sid=1 AND cid=10000000; \end{verbatim} If you were not able to delete, this confirms that this is a permission problem. Re-login to mysql as root, and issue a GRANT command (giving the DELETE permission) to the BASE DB user: \begin{verbatim}GRANT DELETE on snort.* to base@localhost\end{verbatim} (this assumes that my alert database is 'snort', username is 'base', and logging from the 'localhost') \end{enumerate} \subsection{BASE appears to be broken in Lynx } See the BASE FAQ at \htmladdnormallink{http://base.secureideas.net/faq.php}{http://base.secureideas.net/faq.php} \subsection{I am getting `snort [pid] uses obsolete (PF\_INET, SOCK\_PACKET)' warnings. What's wrong?} You are using an older libpcap version with recent linux kernel. There should be no problem with it as long as your kernel supports SOCK\_PACKET socket type. To get rid off the warning message however, you'll have to upgrade to some recent version of libpcap (a copy from www.tcpdump.org is recommended). \subsection{On HPUX I get device lan0 open: recv\_ack: promisc\_phys: Invalid argument} It's because there's another program running using the DLPI service. The HP-UX implementation doesn't allow more than one libpcap program at a time to run, unlike Linux (from snort.c). \subsection{Snort is dying with a `can not create file' error and I have plenty of diskspace. What's wrong?} You may run out of free inodes, which basically also means you can not create more files on the partition. The obvious solution is to rm some. ;-) \subsection{I am using Snort on Windows and receive an ``OpenPcap() error upon startup: ERROR: OpenPcap() device open: Error opening adapter'' message. What's wrong? } Either winpcap is not installed, or you are using an incompatible version. Try upgrading to the latest version (2.3 as of 01/17/03). It is available from \htmladdnormallink{http://netgroup-serv.polito.it/winpcap/}{http://netgroup-serv.polito.it/winpcap/}. It might also be an issue with SMP machines \myref{winpcap}. \subsection{Snort is not logging to my database} There are a number of problems that may be causing Snort to fail to log to a database. You should check these: \begin{enumerate} \item You did not set up the database plugin in your configuration file. \item You are using an older database schema, and should update it by running the create scripts from the ./schemas directory of the source tarball. \item You are using a command line option that overrides what you have in your configuration file. This is most often -A or -s. NOTE: If you wish to log to syslog as well, specify so in your configuration file rather then the command line. \item There is a problem with your database configuration itself. Make sure the user you specify has the correct permissions, or that the database is even up and running. \end{enumerate} \subsection{Portscans are not being logged to my database } You need to change the output facility to 'alert' rather then 'log'. The portscan preprocessor calls output plugins registered as 'alert' plugins rather then 'log'. \begin{verbatim}output database: alert, mysql, user=snort dbname=snort host=localhost\end{verbatim} \subsection{Snort is not logging to syslog} There are a number of problems that may be causing snort to fail to log to syslog. You should check these: \begin{itemize} \item You are using a command line option that overrides what you have in your configuration file. This is most often -A. \item It may be logging to the wrong place. Make sure syslog is configured correctly. \end{itemize} \subsection{I am still getting bombarded with spp\_portscan messages even though the IP that I am getting the portscan from is in my \$DNS\_SERVERs var } Try adding /32 netmasks to those addresses: \begin{verbatim}var DNS_SERVERS \[xxx.xx.0.3/32,xxx.xxx.0.2/32\]\end{verbatim} And make sure the \$DNS\_SERVERS variable is on the portscan-ignorehosts line: \begin{verbatim}preprocessor portscan-ignorehosts: $DNS_SERVERS\end{verbatim} \subsection{Why does chrooted Snort die when I send it a SIGHUP? \label{chroot}} It's a known problem with permissions. Workaround, restart snort instead. But the short answer is this: Due to the way the execv(2) call works, it "Restarts" snort from scratch. This has the odd side effect of making HUPS to a chrooted snort become recursive. For example, chroot to /snort. It now sees /snort as / . Now HUP snort. Snort now expects to have /snort/snort as /. In other words, you have to re-create your directories for your jail inside it. 4 HUPS and you will be in /snort/snort/snort/snort. \subsection{My snort crashes, how do I restart it?} Try one of these two shell scripts or daemontools (refer to website to daemontools) \begin{verbatim} * []#!/bin/sh #snorthup: Snort Restarter and Crash Logger #(dr@kyx..net with help from kmaxwell@superpages.com) $conf = "snort.conf" for $IFACE in fxp0 fxp1 do if [ -f /var/run/snort_$IFACE.pid ]; then if ! ps -p `cat /var/run/snort_$IFACE.pid` > /dev/null ; then /usr/bin/logger -p user.notice snorthup: removing bogus pidfile /usr/bin/ logger -p user.notice snorthup: restarting absentee snort o n $IFACE with conf file $i rm -f /var/run/snort_$IFACE.pid /usr/local/bin/snort -D -c $conf -i $IFACE fi; else /usr/bin/ logger -p user.notice snorthup: restarting snort on $IFACE with conf file $conf /usr/local/bin/snort -D -c $conf -i $IFACE fi done \end{verbatim} Another version: \begin{verbatim} * []#!/bin/ksh # snortstartd: Snort (Re)Starter # Dom De Vitto (dom@devitto..com) # (original idea by dr@kyx..net & kmaxwell@superpages.com) # # Note: You'd better get CONF and INTERFACES right or # this script will just keep trying to start snort. # Path to echo, sed, test, ps, grep, logger, rm, and sleep. PATH=$PATH:/usr/bin:/usr/local/bin ; export PATH # Point this to your conf file: CONF="/usr/local/share/examples/snort/snort.conf" # Which interfaces should Snort run on, e.g.: INTERFACES="hme0 hme1" # Wait this many seconds between checks: CHECKEVERY=5 # Full path to Snort: SNORTBINARY=/usr/local/bin/snort while :; do for INT in $INTERFACES do GREPSTRING="`echo $SNORTBINARY -N -D -c $CONF -i $INT|sed 's?\/?\\\/?g'`" PSCMDLINES=`(ps augxww 2>/dev/null||ps -ef 2>/dev/null) | grep "$GREPSTRING"|wc -l` if [ $PSCMDLINES = 0 ]; then logger -p user.notice -t "$0" "Starting Snort on $INT." $SNORTBINARY -N -D -c $CONF -i $INT 2>&1 > /dev/null fi done sleep $CHECKEVERY done \end{verbatim} \subsection{Why can't snort see one of the 10Mbps or 100Mbps traffic on my autoswitch hub?} Basically it's a function of the design and all autoswitching hubs will behave in this way. It's the result of just not being able to stuff all the 100 Mbps traffic into the 10Mbps CSMA/CD. One solution I use to the problem is these new cheapie four port switches... put all the 10Mbps on it's own hub/switch/whatever and then route that to the 100Mbps hub I use for monitoring but put a cheapie switch in between that works as an adapter basically mediating the 10 up to 100 and vice versa. The bad thing about hubs that {\em don't} have this ``feature,'' is that in order to support 10bt devices, they throttle the entire hub speed down to 10bt if there is one or more 10bt only devices hooked up to it. I have seen this behavior (and did the bandwidth tests to prove it) on old 3com office connect 10/100 hubs (newer ones do the 2 hubs with a switch thing.) So, the point of what I am saying is, since these old hubs have no switching capabilities, and they don't know which port the traffic is supposed to go to (no switch=no arp table), they have to throttle bandwidth. None of the hubs and switches have any significant amount of storage on the ethernet chip sets, and therefore {\em any} non-layer-three box that has 100 $->$ 10 capability can only handle small amounts of traffic before the chip set drops incoming packets on the floor. Guess one might call that throttled bandwidth, but at the expense of retransmission timeouts and retransmissions at the end nodes. If the box has a backplane, multiple cards and some network management functions, there is a higher {\em probability} the manufacturer has some additional buffering going on to keep dropped packets from happening on at least small bursts of traffic. In the most generic of terms, if a box supports 100 ``full-duplex,'' then its a switch (regardless of what the manufacturer calls it). If it supports 100 $->$ 10, there is 50-50 chance the box has some MAC address awareness. If a box only supports 10 $->$ 10 or 100 $->$ 100, there is a high probability it is not MAC address aware and therefore functions like a hub. Many hubs have different back planes, i.e., one for 10 and one for 100. >From a definition standpoint, a hub segment whether it be 10 or 100 is a single broadcast/collision domain. You will not see ANY traffic between segements without a bridge or layer3 route function between them. In a switched environment, typically each port is a separate collision domain but one big broadcast domain. VLANs can be created in some to separate into separate broadcast domains and some have built in layer 3 functionality which basically connects a router into the backplane so that it can route between vlans at wire speed. Think of a switch as a bridge with many ports. (that's what it is). Some switches support port mirroring or span ports. When you want to ``sniff'' frames in a switched environment (beyond just broadcast/multicast traffic) you need to be able to "see" the unicast traffic (telnet,http for example). You set up a port to mirror traffic from the ports that have the devices your interested in to the port you have your analysis device plugged into. Without doing so, you don't see the unicast conversations because the traffic is getting "switched" across the backplane so pc on port 1 talks to server on port 2 and no other ports get this traffic. If server on port 2 broadcasts or multicasts, the information is flooded out all ports. (multicast can be controlled on some switches so only those ports that have listening stations get the traffic. Not all switches have these capabilities. An excellent book on the topic is Interconnections by Radia Perlman. (Bridges and Routers). Additional caveat: if you deal with full duplex on a switched port, only a tap would save you - users have successfully used Shomiti's ones on 100MB FD ports, and used two Snort instances, capturing traffic on both directions. Port mirroring didn't work in that case ... \subsection{Trying to install snort it says: ``bad interpreter: No such file or directory''} Usually this error comes from editing files on Windows machines. Often it shows up on the ./configure step. The configure script should be looking for the /bin /sh shell as its interpreter. If /bin/sh doesn't exist then you'll get this error. Check that whatever comes after the \#! on the first line of configure is actually there. If the file has been edited on a Windows machine it can sometimes Add CR/LF (VM) characters on the end of each line, so \#!/bin/sh becomes \#!/bin/shVM and as the ctrl-v/ctrl-m characters are special, and hidden by default on most editors, it can create a really hard to find problem. To remove the extra CR characters that UNIXish machines don't like, simply use the dos2unix command: \begin{verbatim} * []dos2unix \end{verbatim} If your OS doesn't have dos2unix, then you can use: \begin{verbatim} * []cat | tr -d ``\r'' > \end{verbatim} \subsection{I'm not seeing any interfaces listed under Win32.} The reason you're seeing nothing in the interface list is a WinPcap problem. In previous versions of WinPcap there is a 1K buffer, which overflows if you have many interfaces (i.e., 10+). This has been replaced with an 8K buffer in more recent versions of WinPcap. The current snort distribution should already be linking against the newer WinPcap libraries, which should resolve this problem. Try obtaining a more recent build of snort. \subsection{It's not working on Win32, how can I tell if my problem is Snort or WinPcap?} See if WinDump will work with WinPcap. This should help you isolate which component is being bogus. \subsection{I just downloaded a new ruleset and now Snort fails, complaining about the rules.} First, make sure you downloaded the right ruleset for your version of snort. Snort.org generally hosts a ruleset for the released version of Snort, as well as rules for the development branch and sometimes copies for older versions of snort. This is generally the case for ``unknown keyword in rule'' type errors. If you have the rules that are correct for your version of snort be aware that the snort rules tarball contains a snort.conf file. From time to time the snort.conf included with the rules gets changed as new .rules files are added, and new variables are added to support a better ruleset. When downloading new rulesets you should always give the included snort.conf a quick look-over to see if new includes or vars have been added, or at least be aware you should consult it if things do not work as expected. This is generally the case if you get messages indicating that something is undefined in a rule. \subsection{Why am I seeing so many ``SMTP RCPT TO overflow'' alerts ?} That rule looks for a TCP frame going to your SMTP server which contains more than 800 bytes of data. Any email can easily set that off if pipelining is used. SMTP command pipelining allows several command lines lines to be sent as a single packet without waiting for an OK response. Any good high-volume mailserver will try to pipeline where possible, resulting in a single TCP frame containing a series of command lines, each of which is not very long, but in aggregate easily exceed the 800 byte threshold, particularly if there is a large recipient list. For more info on pipelining: \htmladdnormallink{http://www.faqs.org/rfcs/rfc1854.html}{http://www.faqs.org/rfcs/rfc1854.html} If your mailservers are not vulnerable to these overflows you can disable this rule and regain some peace... \subsection{I'm getting lots of *ICMP Ping Speedera*, is this bad?} Quite ordinary. Windows update uses speedera based DNS, among other things. Of course, if the speedera traffic is coming from a Dialup account (as there have been reports of) it's likely a hacker tool. ;-) \subsection{Why are my unified alert times off by +/- N hours?} Unified log and alert files are stored in UTC. \subsection{I try to start Snort and it gives an error like ``ERROR: Unable to open rules file: /root/.snortrc or /root//root/.snortrc.'' What can I do to fix this?} When Snort starts, it looks at the command line and checks for ``-c /some/path/ snort.conf.'' If thats not there, then it will look for the one of the following files: \begin{itemize} \item /etc/snort.conf \item ./snort.conf \item \$HOMEDIR/snort.conf \item \$HOMEDIR/.snortrc \item ./.snortrc \end{itemize} Make sure your .conf is in one of those locations and then Snort will be able to find it or use the -c parameter to tell Snort the full pathname to the snort.conf. \begin{verbatim} snort -c /usr/local/etc/snort.conf \end{verbatim} \subsection{Snort fails to respond to a kill signal on Linux. Why?} In Snort 2.6, a change was made to switch from performing the Snort shutdown function within the signal handlers. This was done to remove reentrant code from the signal handlers, and the vulnerabilities that entailed. The signal handler now simply sets a flag and returns. Snort now uses pcap\_dispatch() with a read timeout value. So, when a signal is received when snort is waiting for packets, the signal handler sets the flag and goes back to waiting for a packet. If the timeout is then reached, pcap\_dispatch() returns and Snort sees it received a signal to exit and exits cleanly. Per the pcap(3) man page, ``Not all platforms support a read timeout; on platforms that don't, the read timeout is ignored.'' Linux is one of the systems where this is not currently supported. Snort does receive the signal, but until a packet arrives, it does not get the chance to exit cleanly. There have been a number of patches created to implement the timeout on linux, and one example can be found here. \htmladdnormallink{http://www.ethereal.com/lists/ethereal-dev/199812/msg00019.html}{http://www.ethereal.com/lists/ethereal-dev/199812/msg00019.html} \subsection{A Rule with PCRE causes a failure to load snort.conf. Why?} Newer Snort rules are using PCRE named expressions (also known as named captures). PCRE only supports this with versions 4.0 and later, and if an earlier version of libpcre is being used, Snort will print the following error at startup. \begin{verbatim} unrecognized character after (? Fatal Error, Quitting.. \end{verbatim} A rule that may cause this problem is shown. \begin{verbatim} alert tcp $EXTERNAL_NET $HTTP_PORTS -> $HOME_NET any (msg:"WEB-CLIENT Microsoft Agent v1.5 ActiveX clsid access"; flow:established,to_client; content:"F5BE8BD2-7DE6-11D0-91FE-00C04FD701A5"; nocase; pcre:"/]*\s*classid\s*=\s*(?P\x22|\x27|)\s*clsid\s*\x3a\s* {?\s*F5BE8BD2-7DE6-11D0-91FE-00C04FD701A5\s*}?\s*(?P=q1)(\s|>)/si"; reference:cve,2005-1214; reference:cve,2006-3445; reference:cve,2007-1205; reference:url,www.microsoft.com/technet/security/bulletin/MS05-032.mspx; reference:url,www.microsoft.com/technet/security/bulletin/MS06-068.mspx; reference:url,www.microsoft.com/technet/security/bulletin/MS07-020.mspx; classtype:attempted-user; sid:4172; rev:3;) \end{verbatim} As of Snort 2.7.0, the minimum version of libpcre is 4.0. Because of various performance improvements and bug fixes within libpcre, it is recommended that Snort be compiled with libpcre version 7.0 or later. Visit \htmladdnormallink{http://www.pcre.org}{http://www.pcre.org} for details. \section{Development} \subsection{How do you put Snort in debug mode? } In Snort 1.9 or higher, \begin{enumerate} \item ./configure --enable-debug \item Look up the sections of Snort you'd like to debug ( look at src/snort\_debug.h ) and bitwise-or the flags together to create a hex value. For example, \begin{verbatim} #define DEBUG_PARSER 0x00000002 ... #define DEBUG_PATTERN_MATCH 0x00001000 \end{verbatim} To debug just the parser: \begin{verbatim} export SNORT_DEBUG=0x2 \end{verbatim} To debug both the parser and pattern matcher: \begin{verbatim} export SNORT_DEBUG=0x1002 \end{verbatim} Debugging preprocessors is similar, eg to debug frag3: \begin{verbatim} export SNORT_PP_DEBUG=0x1 \end{verbatim} \item Run snort as normal. You will need to redirect output to a file to cope with the large amounts of debug output. \end{enumerate} \section{Miscellaneous} \subsection{What's this about a Snort drinking game?} :-) Check it out for yourself: \htmladdnormallink{http://www.theadamsfamily.net/~erek/snort/drinking\_game.txt}{http://www.theadamsfamily.net/~erek/snort/drinking_game.txt} %\begin{thebibliography} %\bibitem[cite74] %\end{thebibliography} \end{document} geany-1.32/tests/ctags/3470609.js0000644000175000017500000000151013204251306013111 00000000000000/* * Test for properties values. Everything is valid here and must be * correctly parsed. * * Output of ctags -f - 3470609.js should be: * * Properties: * root.array * root.decimal * root.id * root.neg * root.parentheses * root.string * root.subObject.subProperty * * Classes: * root * root.subObject * * Methods: * root.method * root.subObject.subFunction * * Functions: * f */ var root = { 'string' : 'hello world', 'method' : function() { x = 42; }, 'id' : 1, 'neg' : -1, 'decimal' : 1.3, 'subObject' : { 'subProperty': 42, 'subFunction': function() { y = 43; } }, 'array' : [1, 2, 3], 'parentheses' : (2 * (2 + 3)) } function f() { } geany-1.32/tests/ctags/3184782.sql0000644000175000017500000000134213204251306013303 00000000000000create or replace package body p_test is procedure do_this_stuff is begin if true then for idx in z+1 .. myarr.last loop if myarr.exists(idx) then null; end if; end loop; elsif true then for idx in myarr.first .. myarr.last loop if myarr.exists(idx) then null; end if; end loop; end if; end do_this_stuff; procedure process_this ( p_flag in boolean ) is begin null; end process_this; procedure myfn1 ( p_str1 in varchar2, p_str2 in varchar2 ) is begin process_this(false); end myfn1; procedure myfn2 ( p_str1 in varchar2, p_str2 in varchar2 ) is begin process_this(true); end myfn2; end p_test; geany-1.32/tests/ctags/2023624.js0000644000175000017500000000061613204251306013105 00000000000000/* * Both functions should be tagged. * The embedded quote was fixed in issue: * [ 1878155 ] Javascript escaped quotation mark brakes output * [ 2023712 ] parseString for javascript broken on embedded quote * The fix will be part of the 5.8 release. */ function f1() { var str = 'This function will be listed.'; } function f2() { var str = 'This function won\'t.'; } geany-1.32/tests/ctags/1880687.js0000644000175000017500000000620313204251306013126 00000000000000 // All these examples contain various forms of statements // with missing semicolons. Each of these are valid and must // be accommodated. // // After running ctags: ctags -f tags 1880687.js // The following tags should be generated: // functions // a // aa // aa_sub1 [aa] // aa_sub2 [aa] // b // baz [f] // c // d // e // f // g // h // i // j // k // l // m // n // o // p // q // r // s // t // u // v // w // w_sub1 [w] // w_sub2 [w] // x // x_sub1 [x] // x_sub2 [x] // y // y_sub1 [y] // y_sub2 [y] // z // z_sub1 [z] // z_sub2 [z] // classes // MyClass // methods // MyClass_sub1 [MyClass] // MyClass_sub2 [MyClass] function a(flag){ if(flag) test(1); else test(2) } function b(){ var b= 33; } function c(flag){ if(flag) test(1); } function d(){ var b= 33; } function e(flag){ if(flag) test(1) } function f(){ var b= 33; if (foo) bar(); else test(2); function baz() { } } function g(flag){ if(flag) { test(1) } } function h(){ var b= 33; } function i(flag){ if(flag) { test(1); } } function j(){ var b= 33; } function k(flag){ if(flag) { test(1); } else flag = false; } function l(){ var b= 33; } function m(flag){ if(flag) { test(1); } else { flag = false; } } function n(){ var b= 33; } if (1) l(); function o(){ var b= 33; } if (1){ l(); } function p(){ var b= 33; } if (1){ l(); } else l(); function q(){ var b= 33; } function r(flag){ if (flag) { value = 33 } } function s(){ var b= 33; } function t(flag){ if (flag) { b= new Object() } } function u(flag){ if (flag) { b= ({}) } } function v(flag){ if (flag) { b= {} } } function w(){ function w_sub1(x){ if (! x) x = {foo:bar}; var dummy1, dummy2; } function w_sub2(){ } } MyClass = { MyClass_sub1: function(x){ if (! x) x = { }; var dummy3, dummy4; }, MyClass_sub2: function(x){ var dummy5 = 42; } }; function x(){ function x_sub1(){ while (1) x_sub2() } function x_sub2(){ } } function y(){ function y_sub1(){ while (1) { y_sub2() } } function y_sub2(){ } } function z(){ function z_sub1(){ do { z_sub2() } while (0) } function z_sub2(){ } } function aa(){ function aa_sub1(){ do aa_sub2() while (0) } function aa_sub2(){ } } geany-1.32/tests/ctags/1878155.js0000644000175000017500000000066213204251306013126 00000000000000// Tags should include: // functions // my_function // classes // RE // global variables // foo // // This should handle the escaped quote var RE={"bar":/foo\"/}; // This should also handle the escaped quote // A tag should be created for the global variable "foo". var foo="foo \" some other stuff"; // A tag should be created for this function "my_function". function my_function() { } geany-1.32/tests/ctags/1850914.js0000644000175000017500000000064313204251306013116 00000000000000// This file should generate the following tags: // // classes // objectLiteral // methods // objectLiteral.objLiteralMethod // properties // objectLiteral.objLiteralProperty /** * This is an object literal */ var objectLiteral = { /** * This is a literal object property */ objLiteralProperty : 1, /** * This is a literal object method */ objLiteralMethod : function(){} } geany-1.32/tests/ctags/1795612.js0000644000175000017500000000074213204251306013121 00000000000000 // This file should generate the following tags: // classes // Test.RPC // methods // Test.RPC.asyncMethod // Test.RPC.asyncRequest // properties // Test.RPC.request_id Test.RPC = { request_id: 0, asyncRequest: function( /* string */ uri, /* object */ data, /* object */ callback) { }, asyncMethod: function( /* string */ uri, /* string */ method, /* array */ params, /* object */ callback) { } }; geany-1.32/tests/ctags/Makefile.in0000644000175000017500000012176413204260456014010 00000000000000# Makefile.in generated by automake 1.15.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2017 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = { \ if test -z '$(MAKELEVEL)'; then \ false; \ elif test -n '$(MAKE_HOST)'; then \ true; \ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ true; \ else \ false; \ fi; \ } am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ TESTS = $(am__EXEEXT_3) subdir = tests/ctags ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/ax_cxx_compile_stdcxx_11.m4 \ $(top_srcdir)/m4/geany-binreloc.m4 \ $(top_srcdir)/m4/geany-docutils.m4 \ $(top_srcdir)/m4/geany-doxygen.m4 \ $(top_srcdir)/m4/geany-gtkdoc-header.m4 \ $(top_srcdir)/m4/geany-i18n.m4 $(top_srcdir)/m4/geany-lib.m4 \ $(top_srcdir)/m4/geany-mac-integration.m4 \ $(top_srcdir)/m4/geany-mingw.m4 \ $(top_srcdir)/m4/geany-plugins.m4 \ $(top_srcdir)/m4/geany-prog-cxx.m4 \ $(top_srcdir)/m4/geany-revision.m4 \ $(top_srcdir)/m4/geany-socket.m4 \ $(top_srcdir)/m4/geany-status.m4 \ $(top_srcdir)/m4/geany-the-force.m4 \ $(top_srcdir)/m4/geany-utils.m4 $(top_srcdir)/m4/geany-vte.m4 \ $(top_srcdir)/m4/intltool.m4 $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) DIST_COMMON = $(srcdir)/Makefile.am $(dist_check_SCRIPTS) \ $(am__DIST_COMMON) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) am__tty_colors_dummy = \ mgn= red= grn= lgn= blu= brg= std=; \ am__color_tests=no am__tty_colors = { \ $(am__tty_colors_dummy); \ if test "X$(AM_COLOR_TESTS)" = Xno; then \ am__color_tests=no; \ elif test "X$(AM_COLOR_TESTS)" = Xalways; then \ am__color_tests=yes; \ elif test "X$$TERM" != Xdumb && { test -t 1; } 2>/dev/null; then \ am__color_tests=yes; \ fi; \ if test $$am__color_tests = yes; then \ red=''; \ grn=''; \ lgn=''; \ blu=''; \ mgn=''; \ brg=''; \ std=''; \ fi; \ } am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__uninstall_files_from_dir = { \ test -z "$$files" \ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ $(am__cd) "$$dir" && rm -f $$files; }; \ } am__recheck_rx = ^[ ]*:recheck:[ ]* am__global_test_result_rx = ^[ ]*:global-test-result:[ ]* am__copy_in_global_log_rx = ^[ ]*:copy-in-global-log:[ ]* # A command that, given a newline-separated list of test names on the # standard input, print the name of the tests that are to be re-run # upon "make recheck". am__list_recheck_tests = $(AWK) '{ \ recheck = 1; \ while ((rc = (getline line < ($$0 ".trs"))) != 0) \ { \ if (rc < 0) \ { \ if ((getline line2 < ($$0 ".log")) < 0) \ recheck = 0; \ break; \ } \ else if (line ~ /$(am__recheck_rx)[nN][Oo]/) \ { \ recheck = 0; \ break; \ } \ else if (line ~ /$(am__recheck_rx)[yY][eE][sS]/) \ { \ break; \ } \ }; \ if (recheck) \ print $$0; \ close ($$0 ".trs"); \ close ($$0 ".log"); \ }' # A command that, given a newline-separated list of test names on the # standard input, create the global log from their .trs and .log files. am__create_global_log = $(AWK) ' \ function fatal(msg) \ { \ print "fatal: making $@: " msg | "cat >&2"; \ exit 1; \ } \ function rst_section(header) \ { \ print header; \ len = length(header); \ for (i = 1; i <= len; i = i + 1) \ printf "="; \ printf "\n\n"; \ } \ { \ copy_in_global_log = 1; \ global_test_result = "RUN"; \ while ((rc = (getline line < ($$0 ".trs"))) != 0) \ { \ if (rc < 0) \ fatal("failed to read from " $$0 ".trs"); \ if (line ~ /$(am__global_test_result_rx)/) \ { \ sub("$(am__global_test_result_rx)", "", line); \ sub("[ ]*$$", "", line); \ global_test_result = line; \ } \ else if (line ~ /$(am__copy_in_global_log_rx)[nN][oO]/) \ copy_in_global_log = 0; \ }; \ if (copy_in_global_log) \ { \ rst_section(global_test_result ": " $$0); \ while ((rc = (getline line < ($$0 ".log"))) != 0) \ { \ if (rc < 0) \ fatal("failed to read from " $$0 ".log"); \ print line; \ }; \ printf "\n"; \ }; \ close ($$0 ".trs"); \ close ($$0 ".log"); \ }' # Restructured Text title. am__rst_title = { sed 's/.*/ & /;h;s/./=/g;p;x;s/ *$$//;p;g' && echo; } # Solaris 10 'make', and several other traditional 'make' implementations, # pass "-e" to $(SHELL), and POSIX 2008 even requires this. Work around it # by disabling -e (using the XSI extension "set +e") if it's set. am__sh_e_setup = case $$- in *e*) set +e;; esac # Default flags passed to test drivers. am__common_driver_flags = \ --color-tests "$$am__color_tests" \ --enable-hard-errors "$$am__enable_hard_errors" \ --expect-failure "$$am__expect_failure" # To be inserted before the command running the test. Creates the # directory for the log if needed. Stores in $dir the directory # containing $f, in $tst the test, in $log the log. Executes the # developer- defined test setup AM_TESTS_ENVIRONMENT (if any), and # passes TESTS_ENVIRONMENT. Set up options for the wrapper that # will run the test scripts (or their associated LOG_COMPILER, if # thy have one). am__check_pre = \ $(am__sh_e_setup); \ $(am__vpath_adj_setup) $(am__vpath_adj) \ $(am__tty_colors); \ srcdir=$(srcdir); export srcdir; \ case "$@" in \ */*) am__odir=`echo "./$@" | sed 's|/[^/]*$$||'`;; \ *) am__odir=.;; \ esac; \ test "x$$am__odir" = x"." || test -d "$$am__odir" \ || $(MKDIR_P) "$$am__odir" || exit $$?; \ if test -f "./$$f"; then dir=./; \ elif test -f "$$f"; then dir=; \ else dir="$(srcdir)/"; fi; \ tst=$$dir$$f; log='$@'; \ if test -n '$(DISABLE_HARD_ERRORS)'; then \ am__enable_hard_errors=no; \ else \ am__enable_hard_errors=yes; \ fi; \ case " $(XFAIL_TESTS) " in \ *[\ \ ]$$f[\ \ ]* | *[\ \ ]$$dir$$f[\ \ ]*) \ am__expect_failure=yes;; \ *) \ am__expect_failure=no;; \ esac; \ $(AM_TESTS_ENVIRONMENT) $(TESTS_ENVIRONMENT) # A shell command to get the names of the tests scripts with any registered # extension removed (i.e., equivalently, the names of the test logs, with # the '.log' extension removed). The result is saved in the shell variable # '$bases'. This honors runtime overriding of TESTS and TEST_LOGS. Sadly, # we cannot use something simpler, involving e.g., "$(TEST_LOGS:.log=)", # since that might cause problem with VPATH rewrites for suffix-less tests. # See also 'test-harness-vpath-rewrite.sh' and 'test-trs-basic.sh'. am__set_TESTS_bases = \ bases='$(TEST_LOGS)'; \ bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \ bases=`echo $$bases` RECHECK_LOGS = $(TEST_LOGS) AM_RECURSIVE_TARGETS = check recheck am__EXEEXT_1 = am__EXEEXT_2 = 1795612.js.tags 1850914.js.tags 1878155.js.tags \ 1880687.js.tags 2023624.js.tags 3184782.sql.tags \ 3470609.js.tags 3526726.tex.tags 68hc11.asm.tags \ angle_bracket.cpp.tags anonymous_functions.php.tags \ arraylist.js.tags array_ref_and_out.cs.tags \ array_spec.f90.tags array-spec.f90.tags attributes.cs.tags \ auto.f.tags backslashes.c.tags bit_field.c.tags block.f90.tags \ bracematch.js.tags bug1020715.cpp.tags bug1020715.c.tags \ bug1086609.c.tags bug1093123.cpp.tags bug1111214-j-chan.v.tags \ bug1111214.v.tags bug1201689.c.tags bug1447756.java.tags \ bug1458930.c.tags bug1466117.c.tags bug1491666.c.tags \ bug1515910.cs.tags bug1548443.cpp.tags bug1563476.cpp.tags \ bug1570779.sql.tags bug1575055.cpp.tags bug1585745.cpp.tags \ bug1611054.cs.tags bug1691412.java.tags bug1742588.rb.tags \ bug1743330.v.tags bug1764143.h.tags bug1764148.py.tags \ bug1770479.cpp.tags bug1773926.cpp.tags bug1777344.java.tags \ bug1799340.cpp.tags bug1799343-1.cpp.tags \ bug1799343-2.cpp.tags bug1800065.cs.tags bug1809024.py.tags \ bug1830343.cs.tags bug1830344.cs.tags bug1856363.py.tags \ bug1906062.py.tags bug1907083.cpp.tags bug1924919.cpp.tags \ bug1938565.sql.tags bug1944150.sql.tags bug1950327.js.tags \ bug1988026.py.tags bug1988027.py.tags bug1988130.py.tags \ bug2049723.java.tags bug2075402.py.tags bug2117073.java.tags \ bug2374109.vhd.tags bug2411878.cs.tags bug2747828.v.tags \ bug2777310.js.tags bug2781264.rb.tags bug2886870.tex.tags \ bug2888482.js.tags bug3036476.js.tags bug3168705.py.tags \ bug3571233.js.tags bug507864.c.tags bug538629.asm.tags \ bug556645.c.tags bug556646.c.tags bug565813.f90.tags \ bug612019.pas.tags bug612621.pl.tags bug620288.f.tags \ bug639639.h.tags bug639644.hpp.tags bug665086.cpp.tags \ bug670433.f90.tags bug699171.py.tags bug722501.sql.tags \ bug726712.f90.tags bug726875.f90.tags bug734933.f90.tags \ bug762027.v.tags bug814263.java.tags bug823000.sql.tags \ bug842077.pl.tags bug849591.cpp.tags bug852368.cpp.tags \ bug858165.f90.tags bug872494.cpp.tags bug877956.f90.tags \ bug960316.v.tags bug961001.v.tags byte.f.tags \ c-digraphs.c.tags c-trigraphs.c.tags case_sensitivity.php.tags \ char-selector.f90.tags classes.php.tags common.f.tags \ complex-return.js.tags continuation.f90.tags \ continuation.mak.tags countall.sql.tags \ cpp_destructor.cpp.tags css-at-rules.css.tags \ css-at-supports.css.tags css-attribute-selectors.css.tags \ css-comma-no-space.css.tags css-namespace-selectors.css.tags \ css-pseudo-classes.css.tags css-simple.css.tags \ css-singlequote-in-comment-issue2.css.tags \ css-tag-types.css.tags css-trivial.css.tags \ cython_sample.pyx.tags cython_sample2.pyx.tags \ cxx11enum.cpp.tags cxx11-final.cpp.tags \ cxx11-noexcept.cpp.tags cxx11-override.cpp.tags \ cxx11-raw-strings.cpp.tags cxx14-combined.cpp.tags \ db-trig.sql.tags debian_432872.f90.tags directives.c.tags \ dopbl2.f.tags dotted-names.json.tags enum.c.tags enum.f90.tags \ enum.java.tags enumerators.f90.tags events.cs.tags \ extern_variable.h.tags forall_module.f90.tags format.pl.tags \ fortran_associate.f90.tags fortran_line_continuation.f90.tags \ func_typedef.h.tags general.cs.tags hex2dec.sql.tags \ implied_program.f.tags indexer.cs.tags infinite_loop.java.tags \ ingres_procedures.sql.tags initialization.f90.tags \ interface_indexers.cs.tags interface_properties.cs.tags \ interfaces.f90.tags internal.cs.tags intro_orig.tex.tags \ intro.tex.tags invalid_name.f90.tags java_enum.java.tags \ js-broken-strings.js.tags \ js-class-related-unterminated.js.tags js-const.js.tags \ js-implicit-semicolons.js.tags js-let.js.tags js-scope.js.tags \ js-signature.js.tags js-string-continuation.js.tags \ js-sub-block-scope.js.tags \ js-unknown-construct-nesting.js.tags jsFunc_tutorial.js.tags \ keyword_abstract.cs.tags keyword_catch_try.cs.tags \ keyword_class.cs.tags keyword_const.cs.tags \ keyword_delegate.cs.tags keyword_enum.cs.tags \ keyword_event.cs.tags keyword_explicit.cs.tags \ keyword_extern.cs.tags keyword_implicit.cs.tags \ keyword_interface.cs.tags keyword_namespace.cs.tags \ keyword_names.f90.tags keyword_out.cs.tags \ keyword_override.cs.tags keyword_params.cs.tags \ keyword_private.cs.tags keyword_protected.cs.tags \ keyword_public.cs.tags keyword_sealed.cs.tags \ keyword_static.cs.tags keyword_struct.cs.tags \ keyword_virtual.cs.tags keyword_volatile.cs.tags \ labels.sql.tags lanus.for.tags line_directives.c.tags \ local.c.tags macros.c.tags make-comment-in-rule.mak.tags \ make-gnumake-pattern-rules.mak.tags make-multi-target.mak.tags \ make-parentheses.mak.tags \ make-target-with-parentheses.mak.tags \ make-variable-on-cmdline.mak.tags masm.asm.tags \ matlab_backtracking.m.tags matlab_test.m.tags maze.erl.tags \ members.f90.tags misc_types.f90.tags misc_types.f.tags \ mode.php.tags moniker.x68.asm.tags namelist.f.tags \ namespace.cpp.tags namespaces2.php.tags namespaces.php.tags \ no_terminator.js.tags non-ascii-ident1.php.tags \ numlib.f90.tags objectivec_implementation.mm.tags \ objectivec_interface.mm.tags objectivec_property.mm.tags \ objectivec_protocol.mm.tags Package.pm.tags \ php5_5_class_kw.php.tags parenthesis-rvalue.js.tags \ preprocessor.f90.tags procedure_pointer_module.f90.tags \ procpoint.f90.tags property.cs.tags prototype.h.tags \ pure_elem.f95.tags py_constructor_arglist.py.tags \ py-skipped-string.py.tags \ python-anonymous-nestlevel_ctags-bug-356.py.tags \ python-comments.py.tags qualified_types.f90.tags \ random.sql.tags readlob.sql.tags readlong.sql.tags \ recursive.f95.tags refcurs.sql.tags regexp.js.tags \ return-hint.zep.tags return-types.go.tags \ ruby-block-call.rb.tags ruby-doc.rb.tags \ ruby-namespaced-class.rb.tags \ ruby-scope-after-anonymous-class.rb.tags \ ruby-sf-bug-364.rb.tags rules.t2t.tags sample.t2t.tags \ secondary_fcn_name.js.tags semicolon.f90.tags shebang.js.tags \ signature.cpp.tags simple.bas.tags simple.cbl.tags \ simple.d.tags simple.html.tags simple.js.tags simple.json.tags \ simple.ksh.tags simple.lua.tags simple.mak.tags \ simple.php.tags simple.pl.tags simple.ps1.tags simple.py.tags \ simple.rb.tags simple.sh.tags simple.tcl.tags simple.zep.tags \ size_t_wchar_t_alias.d.tags size_t_wchar_t_typedef.c.tags \ spurious_label_tags.c.tags sql_single_quote.sql.tags \ square_parens.f90.tags state_machine.v.tags \ static_array.c.tags stdcall.f.tags strings.php.tags \ strings.rb.tags structure.f.tags tabindent.py.tags \ test.erl.tags test.go.tags test.py.tags test.vhd.tags \ test_input.rs.tags test_input2.rs.tags titles.t2t.tags \ traffic_signal.v.tags traits.php.tags ui5.controller.js.tags \ union.f.tags value.f.tags var-and-return-type.cpp.tags \ whitespaces.php.tags $(am__EXEEXT_1) am__EXEEXT_3 = $(am__EXEEXT_2) TEST_SUITE_LOG = test-suite.log am__test_logs1 = $(TESTS:=.log) am__test_logs2 = $(am__test_logs1:@EXEEXT@.log=.log) TEST_LOGS = $(am__test_logs2:.tags.log=.log) TAGS_LOG_DRIVER = $(SHELL) $(top_srcdir)/build-aux/test-driver TAGS_LOG_COMPILE = $(TAGS_LOG_COMPILER) $(AM_TAGS_LOG_FLAGS) \ $(TAGS_LOG_FLAGS) am__set_b = \ case '$@' in \ */*) \ case '$*' in \ */*) b='$*';; \ *) b=`echo '$@' | sed 's/\.log$$//'`; \ esac;; \ *) \ b='$*';; \ esac am__DIST_COMMON = $(srcdir)/Makefile.in \ $(top_srcdir)/build-aux/test-driver DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) pkgdatadir = @pkgdatadir@ ACLOCAL = @ACLOCAL@ ALL_LINGUAS = @ALL_LINGUAS@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CATALOGS = @CATALOGS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DEPENDENCIES = @DEPENDENCIES@ DLLTOOL = @DLLTOOL@ DOXYGEN = @DOXYGEN@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GEANY_DATA_DIR = @GEANY_DATA_DIR@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GMOFILES = @GMOFILES@ GMSGFMT = @GMSGFMT@ GREP = @GREP@ GTHREAD_CFLAGS = @GTHREAD_CFLAGS@ GTHREAD_LIBS = @GTHREAD_LIBS@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ GTK_VERSION = @GTK_VERSION@ HAVE_CXX11 = @HAVE_CXX11@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLLIBS = @INTLLIBS@ INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ INTLTOOL_MERGE = @INTLTOOL_MERGE@ INTLTOOL_PERL = @INTLTOOL_PERL@ INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ INTLTOOL_V_MERGE = @INTLTOOL_V_MERGE@ INTLTOOL_V_MERGE_OPTIONS = @INTLTOOL_V_MERGE_OPTIONS@ INTLTOOL__v_MERGE_ = @INTLTOOL__v_MERGE_@ INTLTOOL__v_MERGE_0 = @INTLTOOL__v_MERGE_0@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBGEANY_CFLAGS = @LIBGEANY_CFLAGS@ LIBGEANY_EXPORT_CFLAGS = @LIBGEANY_EXPORT_CFLAGS@ LIBGEANY_LDFLAGS = @LIBGEANY_LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ MAC_INTEGRATION_CFLAGS = @MAC_INTEGRATION_CFLAGS@ MAC_INTEGRATION_LIBS = @MAC_INTEGRATION_LIBS@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGFMT_OPTS = @MSGFMT_OPTS@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POFILES = @POFILES@ POSUB = @POSUB@ PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@ PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@ PYTHON = @PYTHON@ PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@ PYTHON_PLATFORM = @PYTHON_PLATFORM@ PYTHON_PREFIX = @PYTHON_PREFIX@ PYTHON_VERSION = @PYTHON_VERSION@ RANLIB = @RANLIB@ RST2HTML = @RST2HTML@ RST2PDF = @RST2PDF@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ SORT = @SORT@ STRIP = @STRIP@ UNIQ = @UNIQ@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ intltool__v_merge_options_ = @intltool__v_merge_options_@ intltool__v_merge_options_0 = @intltool__v_merge_options_0@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ pkgpyexecdir = @pkgpyexecdir@ pkgpythondir = @pkgpythondir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ pyexecdir = @pyexecdir@ pythondir = @pythondir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ dist_check_SCRIPTS = runner.sh NULL = test_sources = \ 1795612.js \ 1850914.js \ 1878155.js \ 1880687.js \ 2023624.js \ 3184782.sql \ 3470609.js \ 3526726.tex \ 68hc11.asm \ angle_bracket.cpp \ anonymous_functions.php \ arraylist.js \ array_ref_and_out.cs \ array_spec.f90 \ array-spec.f90 \ attributes.cs \ auto.f \ backslashes.c \ bit_field.c \ block.f90 \ bracematch.js \ bug1020715.cpp \ bug1020715.c \ bug1086609.c \ bug1093123.cpp \ bug1111214-j-chan.v \ bug1111214.v \ bug1201689.c \ bug1447756.java \ bug1458930.c \ bug1466117.c \ bug1491666.c \ bug1515910.cs \ bug1548443.cpp \ bug1563476.cpp \ bug1570779.sql \ bug1575055.cpp \ bug1585745.cpp \ bug1611054.cs \ bug1691412.java \ bug1742588.rb \ bug1743330.v \ bug1764143.h \ bug1764148.py \ bug1770479.cpp \ bug1773926.cpp \ bug1777344.java \ bug1799340.cpp \ bug1799343-1.cpp \ bug1799343-2.cpp \ bug1800065.cs \ bug1809024.py \ bug1830343.cs \ bug1830344.cs \ bug1856363.py \ bug1906062.py \ bug1907083.cpp \ bug1924919.cpp \ bug1938565.sql \ bug1944150.sql \ bug1950327.js \ bug1988026.py \ bug1988027.py \ bug1988130.py \ bug2049723.java \ bug2075402.py \ bug2117073.java \ bug2374109.vhd \ bug2411878.cs \ bug2747828.v \ bug2777310.js \ bug2781264.rb \ bug2886870.tex \ bug2888482.js \ bug3036476.js \ bug3168705.py \ bug3571233.js \ bug507864.c \ bug538629.asm \ bug556645.c \ bug556646.c \ bug565813.f90 \ bug612019.pas \ bug612621.pl \ bug620288.f \ bug639639.h \ bug639644.hpp \ bug665086.cpp \ bug670433.f90 \ bug699171.py \ bug722501.sql \ bug726712.f90 \ bug726875.f90 \ bug734933.f90 \ bug762027.v \ bug814263.java \ bug823000.sql \ bug842077.pl \ bug849591.cpp \ bug852368.cpp \ bug858165.f90 \ bug872494.cpp \ bug877956.f90 \ bug960316.v \ bug961001.v \ byte.f \ c-digraphs.c \ c-trigraphs.c \ case_sensitivity.php \ char-selector.f90 \ classes.php \ common.f \ complex-return.js \ continuation.f90 \ continuation.mak \ countall.sql \ cpp_destructor.cpp \ css-at-rules.css \ css-at-supports.css \ css-attribute-selectors.css \ css-comma-no-space.css \ css-namespace-selectors.css \ css-pseudo-classes.css \ css-simple.css \ css-singlequote-in-comment-issue2.css \ css-tag-types.css \ css-trivial.css \ cython_sample.pyx \ cython_sample2.pyx \ cxx11enum.cpp \ cxx11-final.cpp \ cxx11-noexcept.cpp \ cxx11-override.cpp \ cxx11-raw-strings.cpp \ cxx14-combined.cpp \ db-trig.sql \ debian_432872.f90 \ directives.c \ dopbl2.f \ dotted-names.json \ enum.c \ enum.f90 \ enum.java \ enumerators.f90 \ events.cs \ extern_variable.h \ forall_module.f90 \ format.pl \ fortran_associate.f90 \ fortran_line_continuation.f90 \ func_typedef.h \ general.cs \ hex2dec.sql \ implied_program.f \ indexer.cs \ infinite_loop.java \ ingres_procedures.sql \ initialization.f90 \ interface_indexers.cs \ interface_properties.cs \ interfaces.f90 \ internal.cs \ intro_orig.tex \ intro.tex \ invalid_name.f90 \ java_enum.java \ js-broken-strings.js \ js-class-related-unterminated.js \ js-const.js \ js-implicit-semicolons.js \ js-let.js \ js-scope.js \ js-signature.js \ js-string-continuation.js \ js-sub-block-scope.js \ js-unknown-construct-nesting.js \ jsFunc_tutorial.js \ keyword_abstract.cs \ keyword_catch_try.cs \ keyword_class.cs \ keyword_const.cs \ keyword_delegate.cs \ keyword_enum.cs \ keyword_event.cs \ keyword_explicit.cs \ keyword_extern.cs \ keyword_implicit.cs \ keyword_interface.cs \ keyword_namespace.cs \ keyword_names.f90 \ keyword_out.cs \ keyword_override.cs \ keyword_params.cs \ keyword_private.cs \ keyword_protected.cs \ keyword_public.cs \ keyword_sealed.cs \ keyword_static.cs \ keyword_struct.cs \ keyword_virtual.cs \ keyword_volatile.cs \ labels.sql \ lanus.for \ line_directives.c \ local.c \ macros.c \ make-comment-in-rule.mak \ make-gnumake-pattern-rules.mak \ make-multi-target.mak \ make-parentheses.mak \ make-target-with-parentheses.mak \ make-variable-on-cmdline.mak \ masm.asm \ matlab_backtracking.m \ matlab_test.m \ maze.erl \ members.f90 \ misc_types.f90 \ misc_types.f \ mode.php \ moniker.x68.asm \ namelist.f \ namespace.cpp \ namespaces2.php \ namespaces.php \ no_terminator.js \ non-ascii-ident1.php \ numlib.f90 \ objectivec_implementation.mm \ objectivec_interface.mm \ objectivec_property.mm \ objectivec_protocol.mm \ Package.pm \ php5_5_class_kw.php \ parenthesis-rvalue.js \ preprocessor.f90 \ procedure_pointer_module.f90 \ procpoint.f90 \ property.cs \ prototype.h \ pure_elem.f95 \ py_constructor_arglist.py \ py-skipped-string.py \ python-anonymous-nestlevel_ctags-bug-356.py \ python-comments.py \ qualified_types.f90 \ random.sql \ readlob.sql \ readlong.sql \ recursive.f95 \ refcurs.sql \ regexp.js \ return-hint.zep \ return-types.go \ ruby-block-call.rb \ ruby-doc.rb \ ruby-namespaced-class.rb \ ruby-scope-after-anonymous-class.rb \ ruby-sf-bug-364.rb \ rules.t2t \ sample.t2t \ secondary_fcn_name.js \ semicolon.f90 \ shebang.js \ signature.cpp \ simple.bas \ simple.cbl \ simple.d \ simple.html \ simple.js \ simple.json \ simple.ksh \ simple.lua \ simple.mak \ simple.php \ simple.pl \ simple.ps1 \ simple.py \ simple.rb \ simple.sh \ simple.tcl \ simple.zep \ size_t_wchar_t_alias.d \ size_t_wchar_t_typedef.c \ spurious_label_tags.c \ sql_single_quote.sql \ square_parens.f90 \ state_machine.v \ static_array.c \ stdcall.f \ strings.php \ strings.rb \ structure.f \ tabindent.py \ test.erl \ test.go \ test.py \ test.vhd \ test_input.rs \ test_input2.rs \ titles.t2t \ traffic_signal.v \ traits.php \ ui5.controller.js \ union.f \ value.f \ var-and-return-type.cpp \ whitespaces.php \ $(NULL) test_results = $(test_sources:=.tags) TEST_EXTENSIONS = .tags TAGS_LOG_COMPILER = $(srcdir)/runner.sh EXTRA_DIST = $(test_sources) $(test_results) all: all-am .SUFFIXES: .SUFFIXES: .log .tags .tags$(EXEEXT) .trs $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tests/ctags/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu tests/ctags/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs tags TAGS: ctags CTAGS: cscope cscopelist: # Recover from deleted '.trs' file; this should ensure that # "rm -f foo.log; make foo.trs" re-run 'foo.test', and re-create # both 'foo.log' and 'foo.trs'. Break the recipe in two subshells # to avoid problems with "make -n". .log.trs: rm -f $< $@ $(MAKE) $(AM_MAKEFLAGS) $< # Leading 'am--fnord' is there to ensure the list of targets does not # expand to empty, as could happen e.g. with make check TESTS=''. am--fnord $(TEST_LOGS) $(TEST_LOGS:.log=.trs): $(am__force_recheck) am--force-recheck: @: $(TEST_SUITE_LOG): $(TEST_LOGS) @$(am__set_TESTS_bases); \ am__f_ok () { test -f "$$1" && test -r "$$1"; }; \ redo_bases=`for i in $$bases; do \ am__f_ok $$i.trs && am__f_ok $$i.log || echo $$i; \ done`; \ if test -n "$$redo_bases"; then \ redo_logs=`for i in $$redo_bases; do echo $$i.log; done`; \ redo_results=`for i in $$redo_bases; do echo $$i.trs; done`; \ if $(am__make_dryrun); then :; else \ rm -f $$redo_logs && rm -f $$redo_results || exit 1; \ fi; \ fi; \ if test -n "$$am__remaking_logs"; then \ echo "fatal: making $(TEST_SUITE_LOG): possible infinite" \ "recursion detected" >&2; \ elif test -n "$$redo_logs"; then \ am__remaking_logs=yes $(MAKE) $(AM_MAKEFLAGS) $$redo_logs; \ fi; \ if $(am__make_dryrun); then :; else \ st=0; \ errmsg="fatal: making $(TEST_SUITE_LOG): failed to create"; \ for i in $$redo_bases; do \ test -f $$i.trs && test -r $$i.trs \ || { echo "$$errmsg $$i.trs" >&2; st=1; }; \ test -f $$i.log && test -r $$i.log \ || { echo "$$errmsg $$i.log" >&2; st=1; }; \ done; \ test $$st -eq 0 || exit 1; \ fi @$(am__sh_e_setup); $(am__tty_colors); $(am__set_TESTS_bases); \ ws='[ ]'; \ results=`for b in $$bases; do echo $$b.trs; done`; \ test -n "$$results" || results=/dev/null; \ all=` grep "^$$ws*:test-result:" $$results | wc -l`; \ pass=` grep "^$$ws*:test-result:$$ws*PASS" $$results | wc -l`; \ fail=` grep "^$$ws*:test-result:$$ws*FAIL" $$results | wc -l`; \ skip=` grep "^$$ws*:test-result:$$ws*SKIP" $$results | wc -l`; \ xfail=`grep "^$$ws*:test-result:$$ws*XFAIL" $$results | wc -l`; \ xpass=`grep "^$$ws*:test-result:$$ws*XPASS" $$results | wc -l`; \ error=`grep "^$$ws*:test-result:$$ws*ERROR" $$results | wc -l`; \ if test `expr $$fail + $$xpass + $$error` -eq 0; then \ success=true; \ else \ success=false; \ fi; \ br='==================='; br=$$br$$br$$br$$br; \ result_count () \ { \ if test x"$$1" = x"--maybe-color"; then \ maybe_colorize=yes; \ elif test x"$$1" = x"--no-color"; then \ maybe_colorize=no; \ else \ echo "$@: invalid 'result_count' usage" >&2; exit 4; \ fi; \ shift; \ desc=$$1 count=$$2; \ if test $$maybe_colorize = yes && test $$count -gt 0; then \ color_start=$$3 color_end=$$std; \ else \ color_start= color_end=; \ fi; \ echo "$${color_start}# $$desc $$count$${color_end}"; \ }; \ create_testsuite_report () \ { \ result_count $$1 "TOTAL:" $$all "$$brg"; \ result_count $$1 "PASS: " $$pass "$$grn"; \ result_count $$1 "SKIP: " $$skip "$$blu"; \ result_count $$1 "XFAIL:" $$xfail "$$lgn"; \ result_count $$1 "FAIL: " $$fail "$$red"; \ result_count $$1 "XPASS:" $$xpass "$$red"; \ result_count $$1 "ERROR:" $$error "$$mgn"; \ }; \ { \ echo "$(PACKAGE_STRING): $(subdir)/$(TEST_SUITE_LOG)" | \ $(am__rst_title); \ create_testsuite_report --no-color; \ echo; \ echo ".. contents:: :depth: 2"; \ echo; \ for b in $$bases; do echo $$b; done \ | $(am__create_global_log); \ } >$(TEST_SUITE_LOG).tmp || exit 1; \ mv $(TEST_SUITE_LOG).tmp $(TEST_SUITE_LOG); \ if $$success; then \ col="$$grn"; \ else \ col="$$red"; \ test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG); \ fi; \ echo "$${col}$$br$${std}"; \ echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}"; \ echo "$${col}$$br$${std}"; \ create_testsuite_report --maybe-color; \ echo "$$col$$br$$std"; \ if $$success; then :; else \ echo "$${col}See $(subdir)/$(TEST_SUITE_LOG)$${std}"; \ if test -n "$(PACKAGE_BUGREPORT)"; then \ echo "$${col}Please report to $(PACKAGE_BUGREPORT)$${std}"; \ fi; \ echo "$$col$$br$$std"; \ fi; \ $$success || exit 1 check-TESTS: @list='$(RECHECK_LOGS)'; test -z "$$list" || rm -f $$list @list='$(RECHECK_LOGS:.log=.trs)'; test -z "$$list" || rm -f $$list @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) @set +e; $(am__set_TESTS_bases); \ log_list=`for i in $$bases; do echo $$i.log; done`; \ trs_list=`for i in $$bases; do echo $$i.trs; done`; \ log_list=`echo $$log_list`; trs_list=`echo $$trs_list`; \ $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) TEST_LOGS="$$log_list"; \ exit $$?; recheck: all $(dist_check_SCRIPTS) @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) @set +e; $(am__set_TESTS_bases); \ bases=`for i in $$bases; do echo $$i; done \ | $(am__list_recheck_tests)` || exit 1; \ log_list=`for i in $$bases; do echo $$i.log; done`; \ log_list=`echo $$log_list`; \ $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) \ am__force_recheck=am--force-recheck \ TEST_LOGS="$$log_list"; \ exit $$? .tags.log: @p='$<'; \ $(am__set_b); \ $(am__check_pre) $(TAGS_LOG_DRIVER) --test-name "$$f" \ --log-file $$b.log --trs-file $$b.trs \ $(am__common_driver_flags) $(AM_TAGS_LOG_DRIVER_FLAGS) $(TAGS_LOG_DRIVER_FLAGS) -- $(TAGS_LOG_COMPILE) \ "$$tst" $(AM_TESTS_FD_REDIRECT) @am__EXEEXT_TRUE@.tags$(EXEEXT).log: @am__EXEEXT_TRUE@ @p='$<'; \ @am__EXEEXT_TRUE@ $(am__set_b); \ @am__EXEEXT_TRUE@ $(am__check_pre) $(TAGS_LOG_DRIVER) --test-name "$$f" \ @am__EXEEXT_TRUE@ --log-file $$b.log --trs-file $$b.trs \ @am__EXEEXT_TRUE@ $(am__common_driver_flags) $(AM_TAGS_LOG_DRIVER_FLAGS) $(TAGS_LOG_DRIVER_FLAGS) -- $(TAGS_LOG_COMPILE) \ @am__EXEEXT_TRUE@ "$$tst" $(AM_TESTS_FD_REDIRECT) distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am $(MAKE) $(AM_MAKEFLAGS) $(dist_check_SCRIPTS) $(MAKE) $(AM_MAKEFLAGS) check-TESTS check: check-am all-am: Makefile installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: -test -z "$(TEST_LOGS)" || rm -f $(TEST_LOGS) -test -z "$(TEST_LOGS:.log=.trs)" || rm -f $(TEST_LOGS:.log=.trs) -test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: .MAKE: check-am install-am install-strip .PHONY: all all-am check check-TESTS check-am clean clean-generic \ clean-libtool cscopelist-am ctags-am distclean \ distclean-generic distclean-libtool distdir dvi dvi-am html \ html-am info info-am install install-am install-data \ install-data-am install-dvi install-dvi-am install-exec \ install-exec-am install-html install-html-am install-info \ install-info-am install-man install-pdf install-pdf-am \ install-ps install-ps-am install-strip installcheck \ installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am recheck tags-am \ uninstall uninstall-am .PRECIOUS: Makefile # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: geany-1.32/tests/ctags/runner.sh0000755000175000017500000000141313204251306013571 00000000000000#!/bin/sh # error out on undefined variable expansion, useful for debugging set -u # FIXME: get this from automake so we have $(EXEEXT) GEANY="${top_builddir:-../..}/src/geany" TMPDIR=$(mktemp -d) || exit 99 CONFDIR="$TMPDIR/config/" trap 'rm -rf "$TMPDIR"' EXIT # make sure we don't use an old or modified system version of the filetype # related configuration files mkdir -p "$CONFDIR" || exit 99 mkdir -p "$CONFDIR/filedefs/" || exit 99 cp "${srcdir:-.}"/../../data/filetype_extensions.conf "$CONFDIR" || exit 99 cp "${srcdir:-.}"/../../data/filedefs/filetypes.* "$CONFDIR/filedefs/" || exit 99 result="$1" source="${result%.*}" tagfile="$TMPDIR/test.${source##*.}.tags" "$GEANY" -c "$CONFDIR" -P -g "$tagfile" "$source" || exit 1 diff -u "$result" "$tagfile" || exit 2 geany-1.32/tests/ctags/Makefile.am0000644000175000017500000001576013204251306013767 00000000000000 dist_check_SCRIPTS = runner.sh NULL = test_sources = \ 1795612.js \ 1850914.js \ 1878155.js \ 1880687.js \ 2023624.js \ 3184782.sql \ 3470609.js \ 3526726.tex \ 68hc11.asm \ angle_bracket.cpp \ anonymous_functions.php \ arraylist.js \ array_ref_and_out.cs \ array_spec.f90 \ array-spec.f90 \ attributes.cs \ auto.f \ backslashes.c \ bit_field.c \ block.f90 \ bracematch.js \ bug1020715.cpp \ bug1020715.c \ bug1086609.c \ bug1093123.cpp \ bug1111214-j-chan.v \ bug1111214.v \ bug1201689.c \ bug1447756.java \ bug1458930.c \ bug1466117.c \ bug1491666.c \ bug1515910.cs \ bug1548443.cpp \ bug1563476.cpp \ bug1570779.sql \ bug1575055.cpp \ bug1585745.cpp \ bug1611054.cs \ bug1691412.java \ bug1742588.rb \ bug1743330.v \ bug1764143.h \ bug1764148.py \ bug1770479.cpp \ bug1773926.cpp \ bug1777344.java \ bug1799340.cpp \ bug1799343-1.cpp \ bug1799343-2.cpp \ bug1800065.cs \ bug1809024.py \ bug1830343.cs \ bug1830344.cs \ bug1856363.py \ bug1906062.py \ bug1907083.cpp \ bug1924919.cpp \ bug1938565.sql \ bug1944150.sql \ bug1950327.js \ bug1988026.py \ bug1988027.py \ bug1988130.py \ bug2049723.java \ bug2075402.py \ bug2117073.java \ bug2374109.vhd \ bug2411878.cs \ bug2747828.v \ bug2777310.js \ bug2781264.rb \ bug2886870.tex \ bug2888482.js \ bug3036476.js \ bug3168705.py \ bug3571233.js \ bug507864.c \ bug538629.asm \ bug556645.c \ bug556646.c \ bug565813.f90 \ bug612019.pas \ bug612621.pl \ bug620288.f \ bug639639.h \ bug639644.hpp \ bug665086.cpp \ bug670433.f90 \ bug699171.py \ bug722501.sql \ bug726712.f90 \ bug726875.f90 \ bug734933.f90 \ bug762027.v \ bug814263.java \ bug823000.sql \ bug842077.pl \ bug849591.cpp \ bug852368.cpp \ bug858165.f90 \ bug872494.cpp \ bug877956.f90 \ bug960316.v \ bug961001.v \ byte.f \ c-digraphs.c \ c-trigraphs.c \ case_sensitivity.php \ char-selector.f90 \ classes.php \ common.f \ complex-return.js \ continuation.f90 \ continuation.mak \ countall.sql \ cpp_destructor.cpp \ css-at-rules.css \ css-at-supports.css \ css-attribute-selectors.css \ css-comma-no-space.css \ css-namespace-selectors.css \ css-pseudo-classes.css \ css-simple.css \ css-singlequote-in-comment-issue2.css \ css-tag-types.css \ css-trivial.css \ cython_sample.pyx \ cython_sample2.pyx \ cxx11enum.cpp \ cxx11-final.cpp \ cxx11-noexcept.cpp \ cxx11-override.cpp \ cxx11-raw-strings.cpp \ cxx14-combined.cpp \ db-trig.sql \ debian_432872.f90 \ directives.c \ dopbl2.f \ dotted-names.json \ enum.c \ enum.f90 \ enum.java \ enumerators.f90 \ events.cs \ extern_variable.h \ forall_module.f90 \ format.pl \ fortran_associate.f90 \ fortran_line_continuation.f90 \ func_typedef.h \ general.cs \ hex2dec.sql \ implied_program.f \ indexer.cs \ infinite_loop.java \ ingres_procedures.sql \ initialization.f90 \ interface_indexers.cs \ interface_properties.cs \ interfaces.f90 \ internal.cs \ intro_orig.tex \ intro.tex \ invalid_name.f90 \ java_enum.java \ js-broken-strings.js \ js-class-related-unterminated.js \ js-const.js \ js-implicit-semicolons.js \ js-let.js \ js-scope.js \ js-signature.js \ js-string-continuation.js \ js-sub-block-scope.js \ js-unknown-construct-nesting.js \ jsFunc_tutorial.js \ keyword_abstract.cs \ keyword_catch_try.cs \ keyword_class.cs \ keyword_const.cs \ keyword_delegate.cs \ keyword_enum.cs \ keyword_event.cs \ keyword_explicit.cs \ keyword_extern.cs \ keyword_implicit.cs \ keyword_interface.cs \ keyword_namespace.cs \ keyword_names.f90 \ keyword_out.cs \ keyword_override.cs \ keyword_params.cs \ keyword_private.cs \ keyword_protected.cs \ keyword_public.cs \ keyword_sealed.cs \ keyword_static.cs \ keyword_struct.cs \ keyword_virtual.cs \ keyword_volatile.cs \ labels.sql \ lanus.for \ line_directives.c \ local.c \ macros.c \ make-comment-in-rule.mak \ make-gnumake-pattern-rules.mak \ make-multi-target.mak \ make-parentheses.mak \ make-target-with-parentheses.mak \ make-variable-on-cmdline.mak \ masm.asm \ matlab_backtracking.m \ matlab_test.m \ maze.erl \ members.f90 \ misc_types.f90 \ misc_types.f \ mode.php \ moniker.x68.asm \ namelist.f \ namespace.cpp \ namespaces2.php \ namespaces.php \ no_terminator.js \ non-ascii-ident1.php \ numlib.f90 \ objectivec_implementation.mm \ objectivec_interface.mm \ objectivec_property.mm \ objectivec_protocol.mm \ Package.pm \ php5_5_class_kw.php \ parenthesis-rvalue.js \ preprocessor.f90 \ procedure_pointer_module.f90 \ procpoint.f90 \ property.cs \ prototype.h \ pure_elem.f95 \ py_constructor_arglist.py \ py-skipped-string.py \ python-anonymous-nestlevel_ctags-bug-356.py \ python-comments.py \ qualified_types.f90 \ random.sql \ readlob.sql \ readlong.sql \ recursive.f95 \ refcurs.sql \ regexp.js \ return-hint.zep \ return-types.go \ ruby-block-call.rb \ ruby-doc.rb \ ruby-namespaced-class.rb \ ruby-scope-after-anonymous-class.rb \ ruby-sf-bug-364.rb \ rules.t2t \ sample.t2t \ secondary_fcn_name.js \ semicolon.f90 \ shebang.js \ signature.cpp \ simple.bas \ simple.cbl \ simple.d \ simple.html \ simple.js \ simple.json \ simple.ksh \ simple.lua \ simple.mak \ simple.php \ simple.pl \ simple.ps1 \ simple.py \ simple.rb \ simple.sh \ simple.tcl \ simple.zep \ size_t_wchar_t_alias.d \ size_t_wchar_t_typedef.c \ spurious_label_tags.c \ sql_single_quote.sql \ square_parens.f90 \ state_machine.v \ static_array.c \ stdcall.f \ strings.php \ strings.rb \ structure.f \ tabindent.py \ test.erl \ test.go \ test.py \ test.vhd \ test_input.rs \ test_input2.rs \ titles.t2t \ traffic_signal.v \ traits.php \ ui5.controller.js \ union.f \ value.f \ var-and-return-type.cpp \ whitespaces.php \ $(NULL) test_results = $(test_sources:=.tags) TEST_EXTENSIONS = .tags TAGS_LOG_COMPILER = $(srcdir)/runner.sh TESTS = $(test_results) EXTRA_DIST = $(test_sources) $(test_results) geany-1.32/tests/Makefile.in0000644000175000017500000005066513204260456012710 00000000000000# Makefile.in generated by automake 1.15.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2017 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = { \ if test -z '$(MAKELEVEL)'; then \ false; \ elif test -n '$(MAKE_HOST)'; then \ true; \ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ true; \ else \ false; \ fi; \ } am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = tests ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/ax_cxx_compile_stdcxx_11.m4 \ $(top_srcdir)/m4/geany-binreloc.m4 \ $(top_srcdir)/m4/geany-docutils.m4 \ $(top_srcdir)/m4/geany-doxygen.m4 \ $(top_srcdir)/m4/geany-gtkdoc-header.m4 \ $(top_srcdir)/m4/geany-i18n.m4 $(top_srcdir)/m4/geany-lib.m4 \ $(top_srcdir)/m4/geany-mac-integration.m4 \ $(top_srcdir)/m4/geany-mingw.m4 \ $(top_srcdir)/m4/geany-plugins.m4 \ $(top_srcdir)/m4/geany-prog-cxx.m4 \ $(top_srcdir)/m4/geany-revision.m4 \ $(top_srcdir)/m4/geany-socket.m4 \ $(top_srcdir)/m4/geany-status.m4 \ $(top_srcdir)/m4/geany-the-force.m4 \ $(top_srcdir)/m4/geany-utils.m4 $(top_srcdir)/m4/geany-vte.m4 \ $(top_srcdir)/m4/intltool.m4 $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ ctags-recursive dvi-recursive html-recursive info-recursive \ install-data-recursive install-dvi-recursive \ install-exec-recursive install-html-recursive \ install-info-recursive install-pdf-recursive \ install-ps-recursive install-recursive installcheck-recursive \ installdirs-recursive pdf-recursive ps-recursive \ tags-recursive uninstall-recursive am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive am__recursive_targets = \ $(RECURSIVE_TARGETS) \ $(RECURSIVE_CLEAN_TARGETS) \ $(am__extra_recursive_targets) AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ distdir am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) # Read a list of newline-separated strings from the standard input, # and print each of them once, without duplicates. Input order is # *not* preserved. am__uniquify_input = $(AWK) '\ BEGIN { nonempty = 0; } \ { items[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in items) print i; }; } \ ' # Make sure the list of sources is unique. This is necessary because, # e.g., the same source file might be shared among _SOURCES variables # for different programs/libraries. am__define_uniq_tagged_files = \ list='$(am__tagged_files)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) am__DIST_COMMON = $(srcdir)/Makefile.in DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) am__relativize = \ dir0=`pwd`; \ sed_first='s,^\([^/]*\)/.*$$,\1,'; \ sed_rest='s,^[^/]*/*,,'; \ sed_last='s,^.*/\([^/]*\)$$,\1,'; \ sed_butlast='s,/*[^/]*$$,,'; \ while test -n "$$dir1"; do \ first=`echo "$$dir1" | sed -e "$$sed_first"`; \ if test "$$first" != "."; then \ if test "$$first" = ".."; then \ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ else \ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ if test "$$first2" = "$$first"; then \ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ else \ dir2="../$$dir2"; \ fi; \ dir0="$$dir0"/"$$first"; \ fi; \ fi; \ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ done; \ reldir="$$dir2" pkgdatadir = @pkgdatadir@ ACLOCAL = @ACLOCAL@ ALL_LINGUAS = @ALL_LINGUAS@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CATALOGS = @CATALOGS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DEPENDENCIES = @DEPENDENCIES@ DLLTOOL = @DLLTOOL@ DOXYGEN = @DOXYGEN@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GEANY_DATA_DIR = @GEANY_DATA_DIR@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GMOFILES = @GMOFILES@ GMSGFMT = @GMSGFMT@ GREP = @GREP@ GTHREAD_CFLAGS = @GTHREAD_CFLAGS@ GTHREAD_LIBS = @GTHREAD_LIBS@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ GTK_VERSION = @GTK_VERSION@ HAVE_CXX11 = @HAVE_CXX11@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLLIBS = @INTLLIBS@ INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ INTLTOOL_MERGE = @INTLTOOL_MERGE@ INTLTOOL_PERL = @INTLTOOL_PERL@ INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ INTLTOOL_V_MERGE = @INTLTOOL_V_MERGE@ INTLTOOL_V_MERGE_OPTIONS = @INTLTOOL_V_MERGE_OPTIONS@ INTLTOOL__v_MERGE_ = @INTLTOOL__v_MERGE_@ INTLTOOL__v_MERGE_0 = @INTLTOOL__v_MERGE_0@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBGEANY_CFLAGS = @LIBGEANY_CFLAGS@ LIBGEANY_EXPORT_CFLAGS = @LIBGEANY_EXPORT_CFLAGS@ LIBGEANY_LDFLAGS = @LIBGEANY_LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ MAC_INTEGRATION_CFLAGS = @MAC_INTEGRATION_CFLAGS@ MAC_INTEGRATION_LIBS = @MAC_INTEGRATION_LIBS@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGFMT_OPTS = @MSGFMT_OPTS@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POFILES = @POFILES@ POSUB = @POSUB@ PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@ PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@ PYTHON = @PYTHON@ PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@ PYTHON_PLATFORM = @PYTHON_PLATFORM@ PYTHON_PREFIX = @PYTHON_PREFIX@ PYTHON_VERSION = @PYTHON_VERSION@ RANLIB = @RANLIB@ RST2HTML = @RST2HTML@ RST2PDF = @RST2PDF@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ SORT = @SORT@ STRIP = @STRIP@ UNIQ = @UNIQ@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ intltool__v_merge_options_ = @intltool__v_merge_options_@ intltool__v_merge_options_0 = @intltool__v_merge_options_0@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ pkgpyexecdir = @pkgpyexecdir@ pkgpythondir = @pkgpythondir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ pyexecdir = @pyexecdir@ pythondir = @pythondir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ SUBDIRS = ctags all: all-recursive .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tests/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu tests/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs # This directory's subdirectories are mostly independent; you can cd # into them and run 'make' without going through this Makefile. # To change the values of 'make' variables: instead of editing Makefiles, # (1) if the variable is set in 'config.status', edit 'config.status' # (which will cause the Makefiles to be regenerated when you run 'make'); # (2) otherwise, pass the desired values on the 'make' command line. $(am__recursive_targets): @fail=; \ if $(am__make_keepgoing); then \ failcom='fail=yes'; \ else \ failcom='exit 1'; \ fi; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" ID: $(am__tagged_files) $(am__define_uniq_tagged_files); mkid -fID $$unique tags: tags-recursive TAGS: tags tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) set x; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ $(am__define_uniq_tagged_files); \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: ctags-recursive CTAGS: ctags ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) $(am__define_uniq_tagged_files); \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" cscopelist: cscopelist-recursive cscopelist-am: $(am__tagged_files) list='$(am__tagged_files)'; \ case "$(srcdir)" in \ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ *) sdir=$(subdir)/$(srcdir) ;; \ esac; \ for i in $$list; do \ if test -f "$$i"; then \ echo "$(subdir)/$$i"; \ else \ echo "$$sdir/$$i"; \ fi; \ done >> $(top_builddir)/cscope.files distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ $(am__make_dryrun) \ || test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ $(am__relativize); \ new_distdir=$$reldir; \ dir1=$$subdir; dir2="$(top_distdir)"; \ $(am__relativize); \ new_top_distdir=$$reldir; \ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ ($(am__cd) $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$new_top_distdir" \ distdir="$$new_distdir" \ am__remove_distdir=: \ am__skip_length_check=: \ am__skip_mode_fix=: \ distdir) \ || exit 1; \ fi; \ done check-am: all-am check: check-recursive all-am: Makefile installdirs: installdirs-recursive installdirs-am: install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-recursive clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-recursive -rm -f Makefile distclean-am: clean-am distclean-generic distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive html-am: info: info-recursive info-am: install-data-am: install-dvi: install-dvi-recursive install-dvi-am: install-exec-am: install-html: install-html-recursive install-html-am: install-info: install-info-recursive install-info-am: install-man: install-pdf: install-pdf-recursive install-pdf-am: install-ps: install-ps-recursive install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: .MAKE: $(am__recursive_targets) install-am install-strip .PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \ check-am clean clean-generic clean-libtool cscopelist-am ctags \ ctags-am distclean distclean-generic distclean-libtool \ distclean-tags distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-pdf install-pdf-am install-ps install-ps-am \ install-strip installcheck installcheck-am installdirs \ installdirs-am maintainer-clean maintainer-clean-generic \ mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \ ps ps-am tags tags-am uninstall uninstall-am .PRECIOUS: Makefile # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: geany-1.32/tests/Makefile.am0000644000175000017500000000002113204251306012646 00000000000000 SUBDIRS = ctags geany-1.32/data/0000755000175000017500000000000013204261064010452 500000000000000geany-1.32/data/Makefile.in0000644000175000017500000005441513204260455012453 00000000000000# Makefile.in generated by automake 1.15.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2017 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = { \ if test -z '$(MAKELEVEL)'; then \ false; \ elif test -n '$(MAKE_HOST)'; then \ true; \ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ true; \ else \ false; \ fi; \ } am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ @GTK3_TRUE@am__append_1 = \ @GTK3_TRUE@ geany-3.0.css \ @GTK3_TRUE@ geany-3.20.css \ @GTK3_TRUE@ geany.css @GTK3_FALSE@am__append_2 = geany.gtkrc subdir = data ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/ax_cxx_compile_stdcxx_11.m4 \ $(top_srcdir)/m4/geany-binreloc.m4 \ $(top_srcdir)/m4/geany-docutils.m4 \ $(top_srcdir)/m4/geany-doxygen.m4 \ $(top_srcdir)/m4/geany-gtkdoc-header.m4 \ $(top_srcdir)/m4/geany-i18n.m4 $(top_srcdir)/m4/geany-lib.m4 \ $(top_srcdir)/m4/geany-mac-integration.m4 \ $(top_srcdir)/m4/geany-mingw.m4 \ $(top_srcdir)/m4/geany-plugins.m4 \ $(top_srcdir)/m4/geany-prog-cxx.m4 \ $(top_srcdir)/m4/geany-revision.m4 \ $(top_srcdir)/m4/geany-socket.m4 \ $(top_srcdir)/m4/geany-status.m4 \ $(top_srcdir)/m4/geany-the-force.m4 \ $(top_srcdir)/m4/geany-utils.m4 $(top_srcdir)/m4/geany-vte.m4 \ $(top_srcdir)/m4/intltool.m4 $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) DIST_COMMON = $(srcdir)/Makefile.am \ $(am__nobase_dist_pkgdata_DATA_DIST) $(am__DIST_COMMON) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__nobase_dist_pkgdata_DATA_DIST = colorschemes/alt.conf \ filedefs/filetypes.abaqus filedefs/filetypes.abc \ filedefs/filetypes.actionscript filedefs/filetypes.ada \ filedefs/filetypes.Arduino.conf filedefs/filetypes.asciidoc \ filedefs/filetypes.asm filedefs/filetypes.batch \ filedefs/filetypes.c filedefs/filetypes.caml \ filedefs/filetypes.Clojure.conf filedefs/filetypes.cmake \ filedefs/filetypes.cobol filedefs/filetypes.coffeescript \ filedefs/filetypes.common filedefs/filetypes.conf \ filedefs/filetypes.cpp filedefs/filetypes.cs \ filedefs/filetypes.css filedefs/filetypes.CUDA.conf \ filedefs/filetypes.Cython.conf filedefs/filetypes.d \ filedefs/filetypes.diff filedefs/filetypes.docbook \ filedefs/filetypes.erlang filedefs/filetypes.f77 \ filedefs/filetypes.ferite filedefs/filetypes.forth \ filedefs/filetypes.fortran filedefs/filetypes.freebasic \ filedefs/filetypes.Genie.conf filedefs/filetypes.glsl \ filedefs/filetypes.go filedefs/filetypes.Graphviz.conf \ filedefs/filetypes.haskell filedefs/filetypes.haxe \ filedefs/filetypes.html filedefs/filetypes.java \ filedefs/filetypes.javascript filedefs/filetypes.JSON.conf \ filedefs/filetypes.latex filedefs/filetypes.lisp \ filedefs/filetypes.lua filedefs/filetypes.makefile \ filedefs/filetypes.markdown filedefs/filetypes.matlab \ filedefs/filetypes.nsis filedefs/filetypes.objectivec \ filedefs/filetypes.pascal filedefs/filetypes.perl \ filedefs/filetypes.php filedefs/filetypes.po \ filedefs/filetypes.powershell filedefs/filetypes.python \ filedefs/filetypes.r filedefs/filetypes.restructuredtext \ filedefs/filetypes.ruby filedefs/filetypes.rust \ filedefs/filetypes.Scala.conf filedefs/filetypes.sh \ filedefs/filetypes.sql filedefs/filetypes.tcl \ filedefs/filetypes.txt2tags filedefs/filetypes.vala \ filedefs/filetypes.verilog filedefs/filetypes.vhdl \ filedefs/filetypes.xml filedefs/filetypes.yaml \ filedefs/filetypes.zephir tags/std99.c.tags tags/std.php.tags \ tags/std.py.tags tags/std.pas.tags tags/entities.html.tags \ templates/files/file.html templates/files/file_html5.html \ templates/files/file.php templates/files/file.rb \ templates/files/file.tex templates/files/main.c \ templates/files/main.cxx templates/files/main.d \ templates/files/main.java templates/files/main.py \ templates/files/main.vala templates/files/module.erl \ templates/files/program.pas templates/bsd templates/changelog \ templates/fileheader templates/function templates/gpl \ filetype_extensions.conf snippets.conf ui_toolbar.xml \ geany.glade geany-3.0.css geany-3.20.css geany.css geany.gtkrc am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__uninstall_files_from_dir = { \ test -z "$$files" \ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ $(am__cd) "$$dir" && rm -f $$files; }; \ } am__installdirs = "$(DESTDIR)$(pkgdatadir)" DATA = $(nobase_dist_pkgdata_DATA) am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) am__DIST_COMMON = $(srcdir)/Makefile.in DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) pkgdatadir = @pkgdatadir@ ACLOCAL = @ACLOCAL@ ALL_LINGUAS = @ALL_LINGUAS@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CATALOGS = @CATALOGS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DEPENDENCIES = @DEPENDENCIES@ DLLTOOL = @DLLTOOL@ DOXYGEN = @DOXYGEN@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GEANY_DATA_DIR = @GEANY_DATA_DIR@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GMOFILES = @GMOFILES@ GMSGFMT = @GMSGFMT@ GREP = @GREP@ GTHREAD_CFLAGS = @GTHREAD_CFLAGS@ GTHREAD_LIBS = @GTHREAD_LIBS@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ GTK_VERSION = @GTK_VERSION@ HAVE_CXX11 = @HAVE_CXX11@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLLIBS = @INTLLIBS@ INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ INTLTOOL_MERGE = @INTLTOOL_MERGE@ INTLTOOL_PERL = @INTLTOOL_PERL@ INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ INTLTOOL_V_MERGE = @INTLTOOL_V_MERGE@ INTLTOOL_V_MERGE_OPTIONS = @INTLTOOL_V_MERGE_OPTIONS@ INTLTOOL__v_MERGE_ = @INTLTOOL__v_MERGE_@ INTLTOOL__v_MERGE_0 = @INTLTOOL__v_MERGE_0@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBGEANY_CFLAGS = @LIBGEANY_CFLAGS@ LIBGEANY_EXPORT_CFLAGS = @LIBGEANY_EXPORT_CFLAGS@ LIBGEANY_LDFLAGS = @LIBGEANY_LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ MAC_INTEGRATION_CFLAGS = @MAC_INTEGRATION_CFLAGS@ MAC_INTEGRATION_LIBS = @MAC_INTEGRATION_LIBS@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGFMT_OPTS = @MSGFMT_OPTS@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POFILES = @POFILES@ POSUB = @POSUB@ PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@ PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@ PYTHON = @PYTHON@ PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@ PYTHON_PLATFORM = @PYTHON_PLATFORM@ PYTHON_PREFIX = @PYTHON_PREFIX@ PYTHON_VERSION = @PYTHON_VERSION@ RANLIB = @RANLIB@ RST2HTML = @RST2HTML@ RST2PDF = @RST2PDF@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ SORT = @SORT@ STRIP = @STRIP@ UNIQ = @UNIQ@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ intltool__v_merge_options_ = @intltool__v_merge_options_@ intltool__v_merge_options_0 = @intltool__v_merge_options_0@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ pkgpyexecdir = @pkgpyexecdir@ pkgpythondir = @pkgpythondir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ pyexecdir = @pyexecdir@ pythondir = @pythondir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ colorschemes = \ colorschemes/alt.conf filetypes = \ filedefs/filetypes.abaqus \ filedefs/filetypes.abc \ filedefs/filetypes.actionscript \ filedefs/filetypes.ada \ filedefs/filetypes.Arduino.conf \ filedefs/filetypes.asciidoc \ filedefs/filetypes.asm \ filedefs/filetypes.batch \ filedefs/filetypes.c \ filedefs/filetypes.caml \ filedefs/filetypes.Clojure.conf \ filedefs/filetypes.cmake \ filedefs/filetypes.cobol \ filedefs/filetypes.coffeescript \ filedefs/filetypes.common \ filedefs/filetypes.conf \ filedefs/filetypes.cpp \ filedefs/filetypes.cs \ filedefs/filetypes.css \ filedefs/filetypes.CUDA.conf \ filedefs/filetypes.Cython.conf \ filedefs/filetypes.d \ filedefs/filetypes.diff \ filedefs/filetypes.docbook \ filedefs/filetypes.erlang \ filedefs/filetypes.f77 \ filedefs/filetypes.ferite \ filedefs/filetypes.forth \ filedefs/filetypes.fortran \ filedefs/filetypes.freebasic \ filedefs/filetypes.Genie.conf \ filedefs/filetypes.glsl \ filedefs/filetypes.go \ filedefs/filetypes.Graphviz.conf \ filedefs/filetypes.haskell \ filedefs/filetypes.haxe \ filedefs/filetypes.html \ filedefs/filetypes.java \ filedefs/filetypes.javascript \ filedefs/filetypes.JSON.conf \ filedefs/filetypes.latex \ filedefs/filetypes.lisp \ filedefs/filetypes.lua \ filedefs/filetypes.makefile \ filedefs/filetypes.markdown \ filedefs/filetypes.matlab \ filedefs/filetypes.nsis \ filedefs/filetypes.objectivec \ filedefs/filetypes.pascal \ filedefs/filetypes.perl \ filedefs/filetypes.php \ filedefs/filetypes.po \ filedefs/filetypes.powershell \ filedefs/filetypes.python \ filedefs/filetypes.r \ filedefs/filetypes.restructuredtext \ filedefs/filetypes.ruby \ filedefs/filetypes.rust \ filedefs/filetypes.Scala.conf \ filedefs/filetypes.sh \ filedefs/filetypes.sql \ filedefs/filetypes.tcl \ filedefs/filetypes.txt2tags \ filedefs/filetypes.vala \ filedefs/filetypes.verilog \ filedefs/filetypes.vhdl \ filedefs/filetypes.xml \ filedefs/filetypes.yaml \ filedefs/filetypes.zephir tagfiles = \ tags/std99.c.tags \ tags/std.php.tags \ tags/std.py.tags \ tags/std.pas.tags \ tags/entities.html.tags template_files = \ templates/files/file.html \ templates/files/file_html5.html \ templates/files/file.php \ templates/files/file.rb \ templates/files/file.tex \ templates/files/main.c \ templates/files/main.cxx \ templates/files/main.d \ templates/files/main.java \ templates/files/main.py \ templates/files/main.vala \ templates/files/module.erl \ templates/files/program.pas templates = \ templates/bsd \ templates/changelog \ templates/fileheader \ templates/function \ templates/gpl nobase_dist_pkgdata_DATA = $(colorschemes) $(filetypes) $(tagfiles) \ $(template_files) $(templates) filetype_extensions.conf \ snippets.conf ui_toolbar.xml geany.glade $(am__append_1) \ $(am__append_2) all: all-am .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu data/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu data/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs install-nobase_dist_pkgdataDATA: $(nobase_dist_pkgdata_DATA) @$(NORMAL_INSTALL) @list='$(nobase_dist_pkgdata_DATA)'; test -n "$(pkgdatadir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(pkgdatadir)'"; \ $(MKDIR_P) "$(DESTDIR)$(pkgdatadir)" || exit 1; \ fi; \ $(am__nobase_list) | while read dir files; do \ xfiles=; for file in $$files; do \ if test -f "$$file"; then xfiles="$$xfiles $$file"; \ else xfiles="$$xfiles $(srcdir)/$$file"; fi; done; \ test -z "$$xfiles" || { \ test "x$$dir" = x. || { \ echo " $(MKDIR_P) '$(DESTDIR)$(pkgdatadir)/$$dir'"; \ $(MKDIR_P) "$(DESTDIR)$(pkgdatadir)/$$dir"; }; \ echo " $(INSTALL_DATA) $$xfiles '$(DESTDIR)$(pkgdatadir)/$$dir'"; \ $(INSTALL_DATA) $$xfiles "$(DESTDIR)$(pkgdatadir)/$$dir" || exit $$?; }; \ done uninstall-nobase_dist_pkgdataDATA: @$(NORMAL_UNINSTALL) @list='$(nobase_dist_pkgdata_DATA)'; test -n "$(pkgdatadir)" || list=; \ $(am__nobase_strip_setup); files=`$(am__nobase_strip)`; \ dir='$(DESTDIR)$(pkgdatadir)'; $(am__uninstall_files_from_dir) tags TAGS: ctags CTAGS: cscope cscopelist: distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(DATA) installdirs: for dir in "$(DESTDIR)$(pkgdatadir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-nobase_dist_pkgdataDATA install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-nobase_dist_pkgdataDATA .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic clean-libtool \ cscopelist-am ctags-am distclean distclean-generic \ distclean-libtool distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-nobase_dist_pkgdataDATA install-pdf install-pdf-am \ install-ps install-ps-am install-strip installcheck \ installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am tags-am uninstall \ uninstall-am uninstall-nobase_dist_pkgdataDATA .PRECIOUS: Makefile # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: geany-1.32/data/geany.gtkrc0000644000175000017500000000352413204251306012533 00000000000000# custom GTK2 style for Geany # make close button on the editor's tabs smaller style "geany-close-tab-button-style" { GtkWidget::focus-padding = 0 GtkWidget::focus-line-width = 0 xthickness = 0 ythickness = 0 } widget "*.geany-close-tab-button" style "geany-close-tab-button-style" # use monospaced font in search entries for easier reading of regexp (#1907117) style "geany-monospace" { font_name = "Monospace" } widget "GeanyDialogSearch.*.GtkEntry" style "geany-monospace" widget "GeanyDialogSearch.*.geany-search-entry-no-match" style "geany-monospace" # set red background for GtkEntries showing unmatched searches style "geany-search-entry-no-match-style" { base[NORMAL] = "#ffff66666666" text[NORMAL] = "#ffffffffffff" base[SELECTED] = "#777711111111" # try and remove the entry background image on pixmap engine so that our # background color is visible, and we don't end up with white text on white # background (workaround for Adwaita 3.20). engine "pixmap" { image { function = FLAT_BOX detail = "entry_bg" } } } widget "*.geany-search-entry-no-match" style "geany-search-entry-no-match-style" # document status colors style "geany-document-status-changed-style" { fg[NORMAL] = "#ffff00000000" fg[ACTIVE] = "#ffff00000000" } style "geany-document-status-disk-changed-style" { fg[NORMAL] = "#ffff7fff0000" fg[ACTIVE] = "#ffff7fff0000" } style "geany-document-status-readonly-style" { fg[NORMAL] = "#00007fff0000" fg[ACTIVE] = "#00007fff0000" } widget "*.geany-document-status-changed" style "geany-document-status-changed-style" widget "*.geany-document-status-disk-changed" style "geany-document-status-disk-changed-style" widget "*.geany-document-status-readonly" style "geany-document-status-readonly-style" # red "Terminal" label when terminal dirty widget "*.geany-terminal-dirty" style "geany-document-status-changed-style" geany-1.32/data/geany.css0000644000175000017500000000176313204251306012214 00000000000000/* custom GTK3 CSS for Geany */ /* make close button on the editor's tabs smaller */ #geany-close-tab-button { padding: 0; } #geany-close-tab-button GtkImage /* GTK < 3.20 */, #geany-close-tab-button image /* GTK >= 3.20 */ { padding: 0; } /* use monospaced font in search entries for easier reading of regexp (#1907117) */ #GeanyDialogSearch GtkEntry /* GTK < 3.20 */, #GeanyDialogSearch entry /* GTK >= 3.20 */ { font-family: monospace; } /* set red background for GtkEntries showing unmatched searches */ #geany-search-entry-no-match { color: #fff; background: #ff6666; } #geany-search-entry-no-match:selected /* GTK < 3.20 */, #geany-search-entry-no-match selection /* GTK >= 3.20 */ { background-color: #771111; } /* document status colors */ #geany-document-status-changed { color: #ff0000; } #geany-document-status-disk-changed { color: #ff7f00; } #geany-document-status-readonly { color: #007f00; } /* red "Terminal" label when terminal dirty */ #geany-terminal-dirty { color: #ff0000; } geany-1.32/data/geany-3.20.css0000644000175000017500000000031613204251306012565 00000000000000@import "geany.css"; /* make close button on the editor's tabs smaller */ #geany-close-tab-button { outline-offset: 0; outline-width: 0; margin: 0; margin-left: 0.5em; min-width: 0; min-height: 0; } geany-1.32/data/geany-3.0.css0000644000175000017500000000041113204251306012477 00000000000000@import "geany.css"; /* make close button on the editor's tabs smaller */ #geany-close-tab-button { -GtkWidget-focus-padding: 0; -GtkWidget-focus-line-width: 0; -GtkButton-default-border: 0; -GtkButton-default-outside-border: 0; -GtkButton-inner-border: 0; } geany-1.32/data/geany.glade0000644000175000017500000227170013204251306012502 00000000000000 3 1000 72 1 10 1 99 1 1 10 1000 72 1 10 5000 500 1 158.44 100 1 10 1 99 1 1 10 1 99 9 1 10 1 99 9 1 10 1 10000 9 1 10 10000 250 10 100 1000 72 1 10 50 4 1 10 10000 30 1 10 True False gtk-select-color 1 True False gtk-open 1 True False gtk-preferences 1 True False gtk-cancel 1 False _Toolbar Preferences True False True image3192 False True False _Hide Toolbar True False True image3193 False True False gtk-add 1 True False gtk-add 1 True False gtk-add 1 True False gtk-open 1 True False gtk-find 1 True False gtk-find 1 True False gtk-jump-to 1 True False gtk-save-as 1 True False gtk-add 1 False gtk-undo True False True True gtk-redo True False True True True False gtk-cut True False True True gtk-copy True False True True gtk-paste True False True True gtk-delete True False True True True False gtk-select-all True False True True True False True False _Edit True True False _Format True I_nsert True False True image4055 False False True False Insert _ChangeLog Entry True True False Insert _Function Description True True False Insert Mu_ltiline Comment True _More True False True image3761 False False True False Insert File _Header True True False Insert _GPL Notice True True False Insert _BSD License Notice True True False Insert Dat_e True False True image3762 False False False invisible True _Insert "include <...>" True False True image3763 False False False invisible True True False True False Insert Alternative _White Space True True False _Search True True False Open Selected F_ile True False True image3764 False Find _Usage True False True image3765 False Find _Document Usage True False True image3766 False Go to Symbol Defini_tion True False True image3767 False True False Conte_xt Action True True False gtk-new 1 True False geany-save-all 1 True False gtk-revert-to-saved 1 True False gtk-revert-to-saved 1 True False gtk-close 1 True False geany-close-all 1 True False gtk-cut 1 True False gtk-copy 1 True False gtk-indent 1 True False gtk-unindent 1 True False gtk-add 1 True False gtk-add 1 True False gtk-add 1 True False gtk-preferences 1 True False gtk-preferences 1 True False gtk-find 1 True False gtk-find-and-replace 1 True False gtk-go-down 1 True False gtk-go-up 1 True False gtk-jump-to 1 True False gtk-select-font 1 True False gtk-new 1 True False gtk-open 1 True False gtk-close 1 True False gtk-refresh 1 True False gtk-file 1 True False gtk-select-color 1 True False gtk-help 1 True False gtk-print 1 True False gtk-find 1 None Basic Current chars Match braces Left Right Top Bottom False Preferences True geany dialog True True False True False end gtk-apply True True True False True False False 0 gtk-cancel True True True False True False False 1 gtk-ok True True True True False True False False 2 gtk-help True True True False True False False 3 False True end 0 True True left True True True False 5 10 True False 0 none True False 12 True False 2 Load files from the last session True True False Opens at startup the files from the last session True True False False 0 Load virtual terminal support True False Whether the virtual terminal emulation (VTE) should be loaded at startup, disable it if you do not need it True True False False 1 Enable plugin support True True False True True False False 2 True False <b>Startup</b> True False True 0 True False 0 none True False 12 True False Save window size True True False Saves the window size and restores it at the start True True False False 0 Save window position True True False Saves the window position and restores it at the start True True False False 1 Confirm exit True True False Shows a confirmation dialog on exit True True False False 2 True False <b>Shutdown</b> True False True 1 True False 0 none True False 12 True False 3 3 6 3 True False 0 Startup path: GTK_FILL True True Path to start in when opening or saving files. Must be an absolute path. False False True True 1 2 True True False True False gtk-open 2 3 GTK_FILL True False 0 Project files: 1 2 GTK_FILL True True Path to start in when opening project files False False True True 1 2 1 2 True True False True False gtk-open 2 3 1 2 GTK_FILL True False 0 Extra plugin path: 2 3 GTK_FILL True True Geany looks by default in the global installation path and in the configuration directory. The path entered here will be searched additionally for plugins. Leave blank to disable. False False True True 1 2 2 3 True True False True False gtk-open 2 3 2 3 GTK_FILL True False <b>Paths</b> True False True 2 True False Startup False True False 5 10 True False 0 none True False 12 True False Beep on errors or when compilation has finished True True False Whether to beep if an error occurred or when the compilation process has finished True True False False 0 Switch to status message list at new message True True False Switch to the status message tab (in the notebook window at the bottom) if a new status message arrives True True False False 1 Suppress status messages in the status bar True True False Removes all messages from the status bar. The messages are still displayed in the status messages window. True True False False 2 Auto-focus widgets (focus follows mouse) True True False Gives the focus automatically to widgets below the mouse cursor. Works for the main editor widget, the scribble, the toolbar search and goto line fields and the VTE. True True False False 3 Use Windows native dialogs True True False Defines whether to use the Windows native dialogs or whether to use the GTK default dialogs True True False False 4 True False <b>Miscellaneous</b> True False True 0 True False 0 none True False 12 True False Always wrap search True True False Always wrap search around the document True True False False 0 Hide the Find dialog True True False Hide the Find dialog after clicking Find Next/Previous True True False False 1 Use the current word under the cursor for Find dialogs True True False Use current word under the cursor when opening the Find, Find in Files or Replace dialog and there is no selection True True False False 2 Use the current file's directory for Find in Files True True False True True False False 3 True False <b>Search</b> True False True 1 True False 0 none True False 12 True False Use project-based session files True True False Whether to store a project's session files and open them when re-opening the project True True False False 0 Store project file inside the project base directory True True False When enabled, a project file is stored by default inside the project base directory when creating new projects instead of one directory above the base directory. You can still change the path of the project file in the New Project dialog. True True False False 1 True False <b>Projects</b> True False True 2 1 True False Miscellaneous 1 False True False General False True True True False 5 10 True False 0 none True False 12 True False True False 0 none True False 12 True False Show symbol list True True False Toggle the symbol list on and off True True False False 0 True False 12 True False Default symbol sorting mode 12 True False Default sorting mode: False True 0 Name True True False True True False True 1 Appearance True True False True True radio_symbols_sort_by_name False True 2 True True 1 Show documents list True True False Toggle the documents list on and off True True False False 2 Show sidebar True True False True True False False 0 True False 12 True False Position: False False 0 Left True True False True True True False False 1 Right True True False True True radio_sidebar_left False False 2 False False 1 True False <b>Sidebar</b> True False True 0 True False 0 none True False 12 True False 12 True False Position: False False 0 Bottom True True False True True False True 1 Right True True False True True radio_msgwin_vertical False False 2 True False <b>Message window</b> True False False 1 True False 0 none True False 12 6 True False 3 2 24 3 True False 0 Symbol list: 1 2 GTK_FILL True False 0 Message window: 2 3 GTK_FILL True False 0 Editor: GTK_FILL True True False Sets the font for the message window False 1 2 2 3 GTK_FILL True True False Sets the font for the symbol list False 1 2 1 2 True True False Sets the editor font 1 2 GTK_FILL True False <b>Fonts</b> True False True 2 True False 0 none True False 12 True False Show status bar True True False Whether to show the status bar at the bottom of the main window True True False False 0 True False <b>Miscellaneous</b> True False True 3 True False Interface False True False 5 10 True False 0 none True False 12 True False Show editor tabs True True False True True False False 0 Show close buttons True True False Shows a small cross button in the file tabs to easily close files when clicking on it (requires restart of Geany) True True False False 1 True False 2 2 True False 0 Placement of new file tabs: GTK_FILL True False 12 Left True True False File tabs will be placed on the left of the notebook True True True False False 0 Right True True False File tabs will be placed on the right of the notebook True True radio_tab_left False False 1 1 2 GTK_FILL Next to current True True False Whether to place file tabs next to the current tab rather than at the edges of the notebook True True 1 2 1 2 GTK_FILL False True 2 Double-clicking hides all additional widgets True True False Calls the View->Toggle All Additional Widgets command True True False False 3 Switch to last used document after closing a tab True True False True False True 4 True False <b>Editor tabs</b> True False True 0 True False 0 none True False 12 True False 3 2 24 3 True False 0 Message window: 2 3 GTK_FILL True True tab_pos_list 0 1 2 2 3 GTK_FILL GTK_FILL True False 0 Sidebar: 1 2 GTK_FILL True True tab_pos_list 0 1 2 1 2 GTK_FILL GTK_FILL True False 0 Editor: GTK_FILL True True tab_pos_list 0 1 2 GTK_FILL GTK_FILL True False <b>Tab positions</b> True False True 1 1 True False Notebook tabs True 1 False True False 5 10 True False 0 none True False 12 True False 5 True False True False Show t_oolbar True True False True True False False 0 _Append toolbar to the menu True True False Pack the toolbar to the main menu to save vertical space True True False False 1 True True 0 True False True True False True False 0 0 True False 2 True False gtk-properties False False 0 True False Customize Toolbar True False False 1 False False 0 False False 1 False False 0 True False 0 none True False 12 True False 2 2 20 3 System _default True True False True True GTK_FILL Images _and text True True False True True radio_toolbar_style_default 1 2 GTK_FILL _Images only True True False True True radio_toolbar_style_default 1 2 GTK_FILL _Text only True True False True True radio_toolbar_style_default 1 2 1 2 GTK_FILL True False <b>Icon style</b> True False True 1 True False 0 none True False 12 True False 2 2 20 3 True S_ystem default True True False True True GTK_FILL _Small icons True True False True True radio_toolbar_icon_default 1 2 GTK_FILL _Very small icons True True False True True radio_toolbar_icon_default 1 2 GTK_FILL _Large icons True True False True True radio_toolbar_icon_default 1 2 1 2 GTK_FILL True False <b>Icon size</b> True False True 2 True False <b>Toolbar</b> True False True 0 2 True False Toolbar 2 False 1 True False Interface 1 False True True True False 5 10 True False 0 none True False 12 True False Line wrapping True True False Wrap the line at the window border and continue it on the next line. Note: line wrapping has a high performance cost for large documents so should be disabled on slow machines. True True False False 0 "Smart" home key True True False When "smart" home is enabled, the HOME key will move the caret to the first non-blank character of the line, unless it is already there, it moves to the very beginning of the line. When this feature is disabled, the HOME key always moves the caret to the start of the current line, regardless of its current position. True True False False 1 Disable Drag and Drop True True False Disable drag and drop completely in the editor window so you can't drag and drop any selections within or outside of the editor window True True False False 2 Code folding True True False True True False False 3 Fold/unfold all children of a fold point True True False Fold or unfold all children of a fold point. By pressing the Shift key while clicking on a fold symbol the contrary behavior is used. True True False False 4 Use indicators to show compile errors True True False Whether to use indicators (a squiggly underline) to highlight the lines where the compiler found a warning or an error True True False False 5 Newline strips trailing spaces True True False Enable newline to strip the trailing spaces on the previous line True True False False 6 True False 12 True False Line breaking column: False False 0 True True False False True True adjustment1 1 True False True 1 False True 7 True False 12 True False Comment toggle marker: False False 0 True True A string which is added when toggling a line comment in a source file, it is used to mark the comment as toggled. False False True True False True 1 False True 8 True False <b>Features</b> True False True 0 True False Features False True False 5 10 True False False False 0 True False 0 Note: To apply these settings to all currently open documents, use <i>Project->Apply Default Indentation</i>. True True False False 1 True False 0 none True False 12 True False True False 7 2 24 3 True False 0 Width: GTK_FILL True True The width in chars of a single indent False False True True adjustment2 1 True True if-valid 1 2 True False 0 Auto-indent mode: 6 7 GTK_FILL True False indent_mode_list 0 1 2 6 7 GTK_FILL GTK_FILL Detect type from file True True False Whether to detect the indentation type from file contents when a file is opened True True 1 2 5 6 GTK_FILL T_abs and spaces True True False Use spaces if the total indent is less than the tab width, otherwise use both True True 1 2 4 5 GTK_FILL _Spaces True True False Use spaces when inserting indentation True True radio_indent_both 1 2 3 4 GTK_FILL _Tabs True True False Use one tab per indent True True radio_indent_both 1 2 2 3 GTK_FILL Detect width from file True True False Whether to detect the indentation width from file contents when a file is opened True True 1 2 1 2 GTK_FILL True False 0 Type: 2 3 GTK_FILL False True 0 Tab key indents True True False Pressing tab/shift-tab indents/unindents instead of inserting a tab character True True False False 1 True False <b>Indentation</b> True False True 2 1 True False Indentation 1 False True False 5 10 True False 0 none True False 12 True False Snippet completion True True False Type a defined short character sequence and complete it to a more complex string using a single keypress True True False False 0 XML/HTML tag auto-closing True True False Insert matching closing tag for XML/HTML True True False False 1 Automatic continuation of multi-line comments True True False Continue automatically multi-line comments in languages like C, C++ and Java when a new line is entered inside such a comment True True False False 2 Autocomplete symbols True True False Automatic completion of known symbols in open files (function names, global variables, ...) True True False False 3 Autocomplete all words in document True True False True True False False 4 Drop rest of word on completion True True False True True False False 5 True False 4 2 12 3 True False 0 Max. symbol name suggestions: 2 3 GTK_FILL True False 0 Completion list height: 1 2 GTK_FILL True False 0 Characters to type for autocompletion: GTK_FILL True True The amount of characters which are necessary to show the symbol autocompletion list False False True True adjustment3 1 True 1 2 True True Display height in rows for the autocompletion list False False True True adjustment4 1 True 1 2 1 2 True True Maximum number of entries to display in the autocompletion list False False True True adjustment5 1 True 1 2 2 3 True False 0 Symbol list update frequency: 3 4 GTK_FILL True True Minimal delay (in milliseconds) between two automatic updates of the symbol list. Note that a too short delay may have performance impact, especially with large files. A delay of 0 disables real-time updates. False False True True adjustment6 1 True 1 2 3 4 False False 6 True False <b>Completions</b> True False True 0 True False 0 none True False 12 True False Parenthesis ( ) True True False Auto-close parenthesis when typing an opening one True True True True 0 Curly brackets { } True True False Auto-close curly bracket when typing an opening one True True True True 1 Square brackets [ ] True True False Auto-close square-bracket when typing an opening one True True True True 2 Single quotes ' ' True True False Auto-close single quote when typing an opening one True True True True 3 Double quotes " " True True False Auto-close double quote when typing an opening one True True True True 4 True False <b>Auto-close quotes and brackets</b> True False True 1 2 True False Completions 2 False True False 5 10 True False 0 none True False 5 12 6 True False Invert syntax highlighting colors True True False Invert all colors, by default using white text on a black background True True False False 0 Show indentation guides True True False Shows small dotted lines to help you to use the right indentation True True False False 1 Show white space True True False Marks spaces with dots and tabs with arrows True True False False 2 Show line endings True True False Shows the line ending character True True False False 3 Show line numbers True True False Shows or hides the Line Number margin True True False False 4 Show markers margin True True False Shows or hides the small margin right of the line numbers, which is used to mark lines True True False False 5 Stop scrolling at last line True True False Whether to stop scrolling one page past the last line of a document True True False False 6 True False Number of lines to maintain between the cursor and the top and bottom edges of the view. This allows some lines of context around the cursor to always be visible. If <i>Stop scrolling at last line</i> is <b>disabled</b>, the cursor will never reach the bottom edge when this value is greater than 0. 6 True False Lines visible _around the cursor: True spin_scroll_lines_around_cursor False True 0 True True False False True True adjustment13 True True 1 True True 7 True False <b>Display</b> True False True 0 True False 0 none True False 12 True False 4 2 24 3 True False 0 Column: 2 3 GTK_FILL True False 0 Color: 3 4 GTK_FILL True False 0 Type: 1 2 GTK_FILL True True False Sets the color of the long line marker Color Chooser 1 2 3 4 GTK_FILL True True The long line marker is a thin vertical line in the editor, it helps to mark long lines, or as a hint to break the line. Set this value to a value greater than 0 to specify the column where it should appear. False False True True adjustment7 1 True True 1 2 2 3 GTK_FILL True False 12 Line True True False Prints a vertical line in the editor window at the given cursor position (see below) True True False False 0 Background True True False The background color of characters after the given cursor position (see below) changed to the color set below, (this is recommended if you use proportional fonts) True True radio_long_line_line False False 1 1 2 1 2 GTK_FILL GTK_FILL Enabled True True False True True 2 GTK_FILL True False <b>Long line marker</b> True False True 1 True False 0 none True False 12 True False Disabled True True False Do not show virtual spaces True True False False 0 Only for rectangular selections True True False Only show virtual spaces beyond the end of lines when drawing a rectangular selection True True radio_virtualspace_disabled False False 1 Always True True False Always show virtual spaces beyond the end of lines True True radio_virtualspace_disabled False False 2 True False <b>Virtual spaces</b> True False True 2 3 True False Display 3 False 2 True False Editor 2 False True False 5 10 True False 0 none True False 12 True False 3 True False Open new documents from the command-line True True False Create a new file for each command-line filename that doesn't exist True True False False 0 True False 2 24 3 True False eol_list 0 1 2 GTK_FILL GTK_FILL True False 0 Default end of line characters: GTK_FILL False True 1 False True 0 True False <b>New files</b> True False True 0 True False 0 none True False 12 True False 6 True False True False 0 Default encoding (new files): False False 0 True False Sets the default encoding for newly created files True False False True 1 False True 0 Use fixed encoding when opening non-Unicode files True True False This option disables the automatic detection of the file encoding when opening non-Unicode files and opens the file with the specified encoding (usually not needed) True True False False 1 True False True False 0 Default encoding (existing non-Unicode files): False False 0 True False Sets the default encoding for opening existing non-Unicode files True False False True 1 False True 2 True False <b>Encodings</b> True False True 1 True False 0 none True False 12 True False Ensure new line at file end True True False Ensures that at the end of the file is a new line True True False False 0 Ensure consistent line endings True True False Ensures that newline characters always get converted before saving, avoiding mixed line endings in the same file True True False False 1 Strip trailing spaces and tabs True True False Removes trailing spaces and tabs at the end of lines True True False False 2 Replace tabs with space True True False Replaces all tabs in document with spaces True True False False 3 True False <b>Saving files</b> True False True 2 True False 0 none True False 12 True False True False 2 2 24 3 True False 0 7 Recent files list length: GTK_FILL True True Specifies the number of files which are stored in the Recent files list False False True True adjustment8 1 True True 1 2 GTK_FILL True False 0 Disk check timeout: 1 2 GTK_FILL True True How often to check for changes to document files on disk, in seconds. Zero disables checking. False False True True adjustment9 1 True True 1 2 1 2 GTK_FILL False True 0 True False <b>Miscellaneous</b> True False True 3 3 True False Files 3 False True False 5 10 True False 0 none True False 12 True False 12 True False False False 0 True False 3 3 6 3 True False 0 Terminal: GTK_FILL True False 0 Browser: 1 2 GTK_FILL True True A terminal emulator command (%c is substituted with the Geany run script filename) False False True True 1 2 True True Path (and possibly additional arguments) to your favorite browser False False True True 1 2 1 2 True True False True False gtk-open 2 3 GTK_FILL True True False True False gtk-open 2 3 1 2 GTK_FILL True False 0 Grep: 2 3 GTK_FILL True True False False True True 1 2 2 3 True True False True False gtk-open 2 3 2 3 GTK_FILL False True 1 True False <b>Tool paths</b> True False True 0 True False 0 none True False 12 True False 3 6 3 True False Context action: GTK_FILL True True Context action command. The currently selected word can be used with %s. It can appear anywhere in the given command and will be replaced before execution. False False True True 1 2 True True False True False gtk-open 2 3 GTK_FILL True False <b>Commands</b> True False True 1 4 True False Tools 4 False True False 5 10 True False 0 none True False 12 True False 12 True False False False 0 True False 8 2 6 6 True True email address of the developer False False True True 1 2 2 3 True True Initials of the developer name False False True True 1 2 1 2 True False 0 Initial version: 4 5 GTK_FILL True True Version number, which a new file initially has False False True True 1 2 4 5 True True Company name False False True True 1 2 3 4 True False 0 Developer: GTK_FILL True False 0 Company: 3 4 GTK_FILL True False 0 Mail address: 2 3 GTK_FILL True False 0 Initials: 1 2 GTK_FILL True True The name of the developer False False True True 1 2 True False 0 Year: 5 6 GTK_FILL True False 0 Date: 6 7 GTK_FILL True False 0 Date & time: 7 8 GTK_FILL True True Specify a format for the {datetime} wildcard. You can use any conversion specifiers which can be used with the ANSI C strftime function. False False True True 1 2 7 8 True True Specify a format for the {year} wildcard. You can use any conversion specifiers which can be used with the ANSI C strftime function. False False True True 1 2 5 6 True True Specify a format for the {date} wildcard. You can use any conversion specifiers which can be used with the ANSI C strftime function. False False True True 1 2 6 7 False True 1 True False <b>Template data</b> True False True 0 5 True False Templates 5 False True False 5 0 none True False 12 True False 5 True False False True 0 True True in True True True True True 1 True False 0.30000001192092896 5 C_hange True True False True False False 2 True False <b>Keyboard shortcuts</b> True 6 True False Keybindings 6 False True False 5 0 none True False 12 True False 10 True False 0 none True False 12 True False 5 True False Command: False False 0 True True Path to the command for printing files (use %f for the filename) False False True True True True 1 True True False True False gtk-open False False 2 Use an external command for printing True True False True True False False 0 True False 0 none True False 12 True False Print line numbers True True False Add line numbers to the printed page True True False False 0 Print page numbers True True False Add page numbers at the bottom of each page. It takes 2 lines of the page. True True False False 1 Print page header True True False Add a little header to every page containing the page number, the filename and the current date (see below). It takes 3 lines of the page. True True False False 2 True False 0 0 none True False 0 12 True False 1 Use the basename of the printed file True True False Print only the basename (without the path) of the printed file True True False False 0 True False 5 True False Date format: False False 0 True True Specify a format for the date and time stamp which is added to the page header on each page. You can use any conversion specifiers which can be used with the ANSI C strftime function. False False True True True True 1 False True 1 True True 3 Use native GTK printing True True False True True radio_print_external False True 1 True False <b>Printing</b> True 7 True False Printing 7 False False 6 0 none True False 12 True False 12 True False 5 3 6 6 True False 0 Font: GTK_FILL GTK_FILL True True True Sets the font for the terminal widget Choose Terminal Font 1 3 GTK_FILL True False 0 Foreground color: 1 2 GTK_FILL GTK_FILL True False 0 Background color: 2 3 GTK_FILL GTK_FILL True False 0 Scrollback lines: 3 4 GTK_FILL GTK_FILL True False 0 Shell: 4 5 GTK_FILL GTK_FILL True True True Sets the foreground color of the text in the terminal widget Color Chooser #000000000000 1 3 1 2 GTK_FILL True True True Sets the background color of the text in the terminal widget Color Chooser #000000000000 1 3 2 3 GTK_FILL True True Specifies the history in lines, which you can scroll back in the terminal widget False False True True adjustment12 True True 1 3 3 4 GTK_FILL True True Sets the path to the shell which should be started inside the terminal emulation False False True True 1 2 4 5 GTK_FILL True True True True False gtk-open 1 2 3 4 5 GTK_FILL GTK_FILL False True 0 True False Scroll on keystroke True True False Whether to scroll to the bottom if a key was pressed True False True 0 Scroll on output True True False Whether to scroll to the bottom when output is generated True False True 1 Cursor blinks True True False Whether to blink the cursor True False True 2 Override Geany keybindings True True False Allows the VTE to receive keyboard shortcuts (apart from focus commands) True False True 3 Disable menu shortcut key (F10 by default) True True False This option disables the keybinding to popup the menu bar (default is F10). Disabling it can be useful if you use, for example, Midnight Commander within the VTE. True False True 4 Follow path of the current file True True False Whether to execute "cd $path" when you switch between opened files True False True 5 Execute programs in the VTE True True False Run programs in VTE instead of opening a terminal emulation window. Please note, programs executed in VTE cannot be stopped True False True 6 Don't use run script True False True False Don't use the simple run script which is usually used to display the exit status of the executed program True False True 7 False True 1 True False <b>Terminal</b> True 8 True False Terminal 8 False True False 5 0 none True False 12 True False 5 True False False True 0 True True automatic automatic in True True True True True 1 True False False True 2 True False 0 5 True False 5 True False <i>Warning: read the manual before changing these preferences.</i> True False False 0 False False 3 True False <b>Various preferences</b> True 9 True False Various 9 False True True 6 2 button3 button4 button5 button_help False Geany geany Geany True False True False True False True False _File True False gtk-new True False True True New (with _Template) True False True image4056 False True False _Open... True False True image3 False True False Open Selected F_ile True True False Recent _Files True True False gtk-save True False True True Save _As... True False True image4 False Sa_ve All True False True image4057 False _Reload True False True image4058 False R_eload As True False True image4059 False False False invisible True True False gtk-properties True False True True True False True False Page Set_up True _Print... True False True image5 False True False gtk-close True False True True Close Ot_her Documents True False True image4060 False C_lose All True False True image4061 False True False gtk-quit True False True True True False _Edit True False gtk-undo True False True True gtk-redo True False True True True False gtk-cut True False True True gtk-copy True False True True gtk-paste True False True True gtk-delete True False True True True False gtk-select-all True False True True True False True False Co_mmands True False Cu_t Current Line(s) True False True image4062 False _Copy Current Line(s) True False True image4063 False True False _Delete Current Line(s) True True False D_uplicate Line or Selection True True False True False S_elect Current Line(s) True True False Se_lect Current Paragraph True True False True False _Move Line(s) Up True True False M_ove Line(s) Down True True False True False _Send Selection to Terminal True True False _Format True False True False _Reflow Lines/Block True True False T_oggle Case of Selection True True False True False _Comment Line(s) True True False U_ncomment Line(s) True True False _Toggle Line Commentation True True False _Increase Indent True False True image4064 False _Decrease Indent True False True image4065 False True False S_mart Line Indent True True False True False _Send Selection to True False False invisible True True False I_nsert Comments True False True image4066 False False True False Insert _ChangeLog Entry True True False Insert _Function Description True True False Insert Mu_ltiline Comment True True False True False Insert File _Header True True False Insert _GPL Notice True True False Insert _BSD License Notice True Insert Dat_e True False True image4067 False False False invisible True _Insert "include <...>" True False True image4068 False False False invisible True True False Insert Alternative _White Space True True False Preference_s True False True image4069 False P_lugin Preferences True False True image4070 False True False _Search True False _Find... True False True image6 False True False Find _Next True True False Find _Previous True True False Find in F_iles... True False True image4071 False _Replace... True False True image4072 False True False Next Me_ssage True False True image4073 False Pr_evious Message True False True image4074 False True False True False Go to Ne_xt Marker True True False Go to Pre_vious Marker True True False _Go to Line... True False True image4075 False True False _More True False True False Find Next _Selection True True False Find Pre_vious Selection True True False True False Find _Usage True True False Find _Document Usage True True False True False _Mark All True True False True False Go to Symbol Defini_tion True True False Go to Symbol Decl_aration True True False _View True False Change _Font... True False True image4076 False Change _Color Scheme... True False True image2 False True False True False Show _Markers Margin True True True False Show _Line Numbers True True True False Show White S_pace True True False Show Line _Endings True True False Show Indentation _Guides True True False True False Full_screen True True False Toggle All _Additional Widgets True True False Show Message _Window True True True False Show _Toolbar True True True False Show Side_bar True True True False gtk-zoom-in True False True True gtk-zoom-out True False True True gtk-zoom-100 True False True True True False _Document True False True False _Line Wrapping True True True False Line _Breaking True True False _Auto-indentation True True True False In_dent Type True False True False _Detect from Content True True False True False _Tabs True True True False _Spaces True tabs1 True False T_abs and Spaces True tabs1 True False Indent Widt_h True False True False _Detect from Content True True False True False _1 True True False _2 True indent_width_1 True False _3 True indent_width_1 True False _4 True True indent_width_1 True False _5 True indent_width_1 True False _6 True indent_width_1 True False _7 True indent_width_1 True False _8 True indent_width_1 True False True False Read _Only True True False _Write Unicode BOM True True False True False Set File_type True False False invisible True True False Set _Encoding True False False invisible True True False Set Line E_ndings True False True False Convert and Set to _CR/LF (Windows) True True False Convert and Set to _LF (Unix) True True crlf True False Convert and Set to CR (Classic _Mac) True crlf True False True False _Clone True True False _Strip Trailing Spaces True True False Replace Tabs with S_paces True True False _Replace Spaces with Tabs... True True False True False _Fold All True True False _Unfold All True True False True False Remove _Markers True True False Remove Error _Indicators True True False _Project True False _New... True False True image4077 False _Open... True False True image4078 False True False _Recent Projects True _Close True False True image4079 False True False True False Apply the default indentation settings to all documents _Apply Default Indentation True True False gtk-properties True False True True True False _Build True True False _Tools True False _Reload Configuration True False True image4080 False C_onfiguration Files True False True image4081 False True False _Color Chooser True False True image4082 False True False _Word Count True True False Load Ta_gs File... True True False _Help True False _Help True False True image4083 False True False Keyboard _Shortcuts True True False Debug _Messages True True False True False _Website True True False Wi_ki True True False Report a _Bug... True True False _Donate... True True False gtk-about True False True True False True 0 False False 0 True True 400 True True 167 True True True True True automatic automatic True True False True False Symbols False True True True True 1 True False Documents 1 False False True True True True True True True True True True left True True True automatic automatic True True False True True False Status False True True automatic automatic True True False 1 True False Compiler 1 False True True automatic automatic True True False True 2 True False Messages 2 False True True automatic automatic True True textbuffer1 3 True False Scribble 3 False False True True True 1 True False True False True True 0 False True 2 False Project Properties True geany dialog window1 True False True False end gtk-cancel True True True False True False False 0 gtk-ok True True True False True False False 1 False True end 0 True True 6 True False 6 5 2 6 6 True False 0 Filename: GTK_FILL GTK_FILL True False 0 Name: 1 2 GTK_FILL GTK_FILL True False 0 0 Description: 2 3 GTK_FILL GTK_FILL True False 0 Base path: 3 4 GTK_FILL GTK_FILL True False 0 File patterns: 4 5 GTK_FILL GTK_FILL True True False True True True 1 2 1 2 GTK_FILL 250 80 True True automatic automatic in True False none True True word 1 2 2 3 GTK_FILL True True Space separated list of file patterns used for the find in files dialog (e.g. *.c *.h) False True True True 1 2 4 5 GTK_FILL True False 0 True 1 2 GTK_FILL True False 6 True True Base directory of all files that make up the project. This can be a new path, or an existing directory tree. You can use paths relative to the project filename. False True True True True True 0 True True True True False gtk-open False True 1 1 2 3 4 GTK_FILL True False Project False True False 6 7 2 24 3 True False 0 Width: GTK_FILL True True The width in chars of a single indent False False True True adjustment10 1 True True if-valid 1 2 True False 0 Auto-indent mode: 6 7 GTK_FILL True False indent_mode_list 0 1 2 6 7 GTK_FILL GTK_FILL Detect type from file True True False Whether to detect the indentation type from file contents when a file is opened True True 1 2 5 6 GTK_FILL T_abs and spaces True True False Use spaces if the total indent is less than the tab width, otherwise use both True True 1 2 4 5 GTK_FILL _Spaces True True False Use spaces when inserting indentation True True radio_indent_both_project 1 2 3 4 GTK_FILL _Tabs True True False Use one tab per indent True True radio_indent_both_project 1 2 2 3 GTK_FILL True False 0 Type: 2 3 GTK_FILL Detect width from file True True False Whether to detect the indentation width from file contents when a file is opened True True 1 2 1 2 GTK_FILL 1 True False Indentation 1 False True False 5 10 True False 0 none True False 12 True False Line wrapping True True False Wrap the line at the window border and continue it on the next line. Note: line wrapping has a high performance cost for large documents so should be disabled on slow machines. True True False False 0 True False 12 True False Line breaking column: False False 0 True True False False True True adjustment1 1 True False True 1 False True 1 True False <b>Features</b> True False True 0 True False 0 none True False 12 Automatic continuation of multi-line comments True True False Continue automatically multi-line comments in languages like C, C++ and Java when a new line is entered inside such a comment True True True False <b>Completions</b> True False True 1 True False 0 none True False 12 True False 4 2 12 3 True False 0 Display: GTK_FILL True False 0 Column: 3 4 GTK_FILL Disabled True True False True True 1 2 GTK_FILL Custom True True False True True radio_long_line_disabled_project 1 2 2 3 GTK_FILL Use global settings True True False True True radio_long_line_disabled_project 1 2 1 2 GTK_FILL True True False False True True adjustment11 1 True True 1 2 3 4 GTK_FILL True False <b>Long line marker</b> True False True 2 2 True False Editor 2 False True False 5 10 True False 0 none True False 12 True False Ensure new line at file end True True False True True False False 0 Ensure consistent line endings True True False True True False False 1 Strip trailing spaces and tabs True True False True True False False 2 Replace tabs with space True True False True True False False 3 True False <b>Saving files</b> True False True 0 3 True False Files 3 False True True 2 cancelbutton1 okbutton1 False 5 300 dialog window1 True False 2 True False end gtk-close True True True True False False 1 False True end 0 True False 6 12 True False 6 True False 1 gtk-file True True 0 True False 0 file name True True True 1 True False 0 True False 8 2 10 10 True False 1 Type: True False 0 file type True 1 2 True False 1 Size: 1 2 True False 1 Location: 2 3 True False 1 Read-only: 3 4 True False 1 Encoding: 4 5 True False 1 Modified: 5 6 True False 1 Changed: 6 7 True False 1 Accessed: 7 8 True False 0 file size True 1 2 1 2 True False 0 file path True 1 2 2 3 (only inside Geany) True False False False False 0 True 1 2 3 4 True False 0 file encoding True 1 2 4 5 True False 0 file mdate True 1 2 5 6 True False 0 file cdate True 1 2 6 7 True False 0 file adate True 1 2 7 8 True False 1 True False 5 4 5 5 True True False 0 Permissions: 4 True False 0 Read: 1 2 1 2 True False 0 Write: 2 3 1 2 True False 0 Execute: 3 4 1 2 True False 1 Owner: 2 3 True False 1 Group: 3 4 True False 1 Other: 4 5 True False True False False True 1 2 2 3 True False True False False True 2 3 2 3 True False True False False True 3 4 2 3 True False True False False True 1 2 3 4 True False True False False True 2 3 3 4 True False True False False True 3 4 3 4 True False True False False True 1 2 4 5 True False True False False True 2 3 4 5 True False True False False True 3 4 4 5 True False 2 True True 1 button1 geany-1.32/data/ui_toolbar.xml0000644000175000017500000000245613204251306013260 00000000000000 geany-1.32/data/snippets.conf0000644000175000017500000001277613204251306013121 00000000000000# Geany's snippets configuration file # # use \n or %newline% for a new line (it will be replaced by the used EOL char(s) - LF, CR/LF, CR). # use \t or %ws% for an indentation step, it will be replaced according to the current document's indent mode. # use \s to force whitespace at beginning or end of a value ('key= value' won't work, use 'key=\svalue'). # use %key% for all keys defined in the [Special] section. # use %cursor% to define where the cursor should be placed after completion. You can define multiple # %cursor% wildcards and use the "Move cursor in snippet" to jump to the next defined cursor # position in the completed snippet. # You can define a section for each supported filetype to overwrite default settings, the section # name must match exactly the internal filetype name, run 'geany --ft-names' for a full list. # # Additionally, you can use most of the template wildcards like {developer}, {command:...}, # or {date} in the snippets. # See the documentation for details. # For a list of available filetype names, execute: # geany --ft-names # Default is used for all filetypes and keys can be overwritten by [filetype] sections [Default] # special keys to be used in other snippets, cannot be used "standalone" # can be used by %key%, e.g. %brace_open% # nesting of special keys is not supported (e.g. brace_open=\n{\n%brace_close% won't work) # key "wordchars" is very special, it defines the word delimiting characters when looking for # a word to auto complete, leave commented to use the default wordchars [Special] brace_open=\n{\n\t brace_close=}\n block=\n{\n\t%cursor%\n} block_cursor=\n{\n\t%cursor%\n} #wordchars=_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 # Optional keybindings to insert snippets # Note: these can be overridden by Geany's configurable keybindings [Keybindings] #for=7 [C] if=if (%cursor%)%block_cursor% else=else%block_cursor% for=for (i = 0; i < %cursor%; i++)%block_cursor% while=while (%cursor%)%block_cursor% do=do\n{\n\t%cursor%\n} while (%cursor%)\n switch=switch (%cursor%)%brace_open%case %cursor%:\n\t\t%cursor%\n\t\tbreak;\n\tdefault:\n\t\t%cursor%\n%brace_close% [C++] if=if (%cursor%)%block_cursor% else=else%block_cursor% for=for (int i = 0; i < %cursor%; i++)%brace_open%\n%brace_close% while=while (%cursor%)%block_cursor% do=do\n{\n\t%cursor%\n} while (%cursor%)\n switch=switch (%cursor%)%brace_open%case %cursor%:\n\t\t%cursor%\n\t\tbreak;\n\tdefault:\n\t\t%cursor%\n%brace_close% try=try%block%\ncatch (%cursor%)%block_cursor% [Java] if=if (%cursor%)%block_cursor% else=else%block_cursor% for=for (int i = 0; i < %cursor%; i++)%brace_open%\n%brace_close% while=while (%cursor%)%block_cursor% do=do\n{\n\t%cursor%\n} while (%cursor%)\n switch=switch (%cursor%)%brace_open%case %cursor%:\n\t\t%cursor%\n\t\tbreak;\n\tdefault:\n\t\t%cursor%\n%brace_close% try=try%block%\ncatch (%cursor%)%block_cursor% [PHP] if=if (%cursor%)%block_cursor% else=else%block_cursor% for=for ($i = 0; $i < %cursor%; $i++)%brace_open%\n%brace_close% while=while (%cursor%)%block_cursor% do=do\n{\n\t%cursor%\n} while (%cursor%)\n switch=switch (%cursor%)%brace_open%case %cursor%:\n\t\t%cursor%\n\t\tbreak;\n\tdefault:\n\t\t%cursor%\n%brace_close% try=try%block%\ncatch (%cursor%)%block_cursor% [Javascript] if=if (%cursor%)%block_cursor% else=else%block_cursor% for=for (i = 0; i < %cursor%; i++)%block_cursor% while=while (%cursor%)%block_cursor% do=do\n{\n\t%cursor%\n} while (%cursor%)\n switch=switch (%cursor%)%brace_open%case %cursor%:\n\t\t%cursor%\n\t\tbreak;\n\tdefault:\n\t\t%cursor%\n%brace_close% try=try%block%\ncatch (%cursor%)%block_cursor% [C#] if=if (%cursor%)%block_cursor% else=else%block_cursor% for=for (i = 0; i < %cursor%; i++)%block_cursor% while=while (%cursor%)%block_cursor% do=do\n{\n\t%cursor%\n} while (%cursor%)\n switch=switch (%cursor%)%brace_open%case %cursor%:\n\t\t%cursor%\n\t\tbreak;\n\tdefault:\n\t\t%cursor%\n%brace_close% try=try%block%\ncatch (%cursor%)%block_cursor% [Vala] if=if (%cursor%)%block_cursor% else=else%block_cursor% for=for (i = 0; i < %cursor%; i++)%block_cursor% while=while (%cursor%)%block_cursor% do=do\n{\n\t%cursor%\n} while (%cursor%)\n switch=switch (%cursor%)%brace_open%case %cursor%:\n\t\t%cursor%\n\t\tbreak;\n\tdefault:\n\t\t%cursor%\n%brace_close% try=try%block%\ncatch (%cursor%)%block_cursor% [ActionScript] if=if (%cursor%)%block_cursor% else=else%block_cursor% for=for (i = 0; i < %cursor%; i++)%block_cursor% while=while (%cursor%)%block_cursor% do=do\n{\n\t%cursor%\n} while (%cursor%)\n switch=switch (%cursor%)%brace_open%case %cursor%:\n\t\t%cursor%\n\t\tbreak;\n\tdefault:\n\t\t%cursor%\n%brace_close% try=try%block%\ncatch (%cursor%)%block_cursor% [Python] for=for i in xrange(%cursor%):\n\t if=if %cursor%:\n\t elif=elif %cursor%:\n\t else=else:\n\t while=while %cursor%:\n\t try=try:\n\t%cursor%\nexcept Exception, ex:\n\t with=with %cursor%:\n\t def=def %cursor% (%cursor%):\n\t""" Function doc """\n\t class=class %cursor%:\n\t""" Class doc """\n\t\n\tdef __init__ (self):\n\t\t""" Class initialiser """\n\t\tpass [Ferite] iferr=iferr%block_cursor%fix%block% monitor=monitor%block_cursor%handle%block% [Haskell] [HTML] table=\n\t\n\t\t\n\t\n
%cursor%
[Erlang] case=case %cursor% of\n\t%cursor% -> %cursor%\nend if=if\n\t%cursor% -> %cursor%\nend begin=begin\n\t%cursor%\nend fun=fun(%cursor%) ->\n\t%cursor%\nend try=try %cursor% of\n\t%cursor% ->\n\t%cursor%\ncatch\n\t%cursor% ->\n\t%cursor%\nend module=-module(%cursor%). export=-export(%cursor%). compile=-compile(%cursor%). include=-include(%cursor%). geany-1.32/data/filetype_extensions.conf0000644000175000017500000000451713204251306015346 00000000000000# Filetype extension configuration file for Geany # Insert as many items as you want, separate them with a ";". # See Geany's main documentation for details. [Extensions] Abaqus=*.inp; Abc=*.abc;*.abp; ActionScript=*.as; Ada=*.adb;*.ads; Arduino=*.ino;*.pde; Asciidoc=*.asciidoc;*.adoc; ASM=*.asm;*.asm51;*.a51;*.s;*.S;*.sx; Batch=*.bat;*.cmd;*.nt; CAML=*.ml;*.mli; C=*.c;*.xpm; C++=*.cpp;*.cxx;*.c++;*.cc;*.h;*.hpp;*.hxx;*.h++;*.hh;*.C;*.H; Clojure=*.clj;*.cljs;*.cljc; CUDA=*.cu;*.cuh;*.h; C#=*.cs; CMake=CMakeLists.txt;*.cmake;*.ctest; COBOL=*.cob;*.cpy;*.cbl;*.cobol; CoffeeScript=*.coffee;Cakefile;*.Cakefile;*.coffee.erb;*.iced;*.iced.erb; Conf=*.conf;*.ini;config;*rc;*.cfg;*.desktop;*.properties; CSS=*.css; Cython=*.pyx;*.pxd;*.pxi; D=*.d;*.di; Diff=*.diff;*.patch;*.rej; Docbook=*.docbook; Erlang=*.erl;*.hrl; F77=*.f;*.for;*.ftn;*.f77;*.F;*.FOR;*.FTN;*.fpp;*.FPP; Ferite=*.fe; Forth=*.fs;*.fth; Fortran=*.f90;*.f95;*.f03;*.f08;*.F90;*.F95;*.F03;*.F08; FreeBasic=*.bas;*.bi;*.vbs; Genie=*.gs; GLSL=*.glsl;*.frag;*.vert; Go=*.go; Graphviz=*.gv;*.dot; Haskell=*.hs;*.lhs;*.hs-boot;*.lhs-boot; Haxe=*.hx; HTML=*.htm;*.html;*.shtml;*.hta;*.htd;*.htt;*.cfm;*.tpl; Java=*.java;*.jsp; Javascript=*.js; JSON=*.json; LaTeX=*.tex;*.sty;*.idx;*.ltx;*.latex;*.aux;*.bib; Lisp=*.lisp; Lua=*.lua; Make=*.mak;*.mk;GNUmakefile;makefile;Makefile;makefile.*;Makefile.*; Markdown=*.mdml;*.markdown;*.md;*.mkd;*.mkdn;*.mdwn;*.mdown;*.mdtxt;*.mdtext; Matlab/Octave=*.m; NSIS=*.nsi;*.nsh; Objective-C=*.m;*.mm;*.h; Pascal=*.pas;*.pp;*.inc;*.dpr;*.dpk; Perl=*.pl;*.perl;*.pm;*.agi;*.pod; PHP=*.php;*.php3;*.php4;*.php5;*.phtml; Po=*.po;*.pot; Python=*.py;*.pyw;SConstruct;SConscript;wscript; PowerShell=*.ps1;*.psm1; reStructuredText=*.rest;*.reST;*.rst; R=*.R;*.r; Rust=*.rs; Ruby=*.rb;*.rhtml;*.ruby;*.gemspec;Gemfile;rakefile;Rakefile; Scala=*.scala;*.scl; Sh=*.sh;configure;configure.in;configure.in.in;configure.ac;*.ksh;*.mksh;*.zsh;*.ash;*.bash;.bashrc;bash.bashrc;.bash_*;bash_*;*.m4;PKGBUILD;*profile; SQL=*.sql; Tcl=*.tcl;*.tk;*.wish;*.exp; Txt2tags=*.t2t; Vala=*.vala;*.vapi; Verilog=*.v; VHDL=*.vhd;*.vhdl; XML=*.xml;*.sgml;*.xsl;*.xslt;*.xsd;*.xhtml;*.xul;*.dtd;*.xtpl;*.mml;*.mathml; YAML=*.yaml;*.yml; Zephir=*.zep; None=*; # Note: restarting is required after editing groups [Groups] Programming=Arduino;Clojure;CUDA;Cython;Genie;Scala; Script=Graphviz; Markup= Misc=JSON; None= geany-1.32/data/Makefile.am0000644000175000017500000000567213204251306012436 00000000000000 colorschemes = \ colorschemes/alt.conf filetypes = \ filedefs/filetypes.abaqus \ filedefs/filetypes.abc \ filedefs/filetypes.actionscript \ filedefs/filetypes.ada \ filedefs/filetypes.Arduino.conf \ filedefs/filetypes.asciidoc \ filedefs/filetypes.asm \ filedefs/filetypes.batch \ filedefs/filetypes.c \ filedefs/filetypes.caml \ filedefs/filetypes.Clojure.conf \ filedefs/filetypes.cmake \ filedefs/filetypes.cobol \ filedefs/filetypes.coffeescript \ filedefs/filetypes.common \ filedefs/filetypes.conf \ filedefs/filetypes.cpp \ filedefs/filetypes.cs \ filedefs/filetypes.css \ filedefs/filetypes.CUDA.conf \ filedefs/filetypes.Cython.conf \ filedefs/filetypes.d \ filedefs/filetypes.diff \ filedefs/filetypes.docbook \ filedefs/filetypes.erlang \ filedefs/filetypes.f77 \ filedefs/filetypes.ferite \ filedefs/filetypes.forth \ filedefs/filetypes.fortran \ filedefs/filetypes.freebasic \ filedefs/filetypes.Genie.conf \ filedefs/filetypes.glsl \ filedefs/filetypes.go \ filedefs/filetypes.Graphviz.conf \ filedefs/filetypes.haskell \ filedefs/filetypes.haxe \ filedefs/filetypes.html \ filedefs/filetypes.java \ filedefs/filetypes.javascript \ filedefs/filetypes.JSON.conf \ filedefs/filetypes.latex \ filedefs/filetypes.lisp \ filedefs/filetypes.lua \ filedefs/filetypes.makefile \ filedefs/filetypes.markdown \ filedefs/filetypes.matlab \ filedefs/filetypes.nsis \ filedefs/filetypes.objectivec \ filedefs/filetypes.pascal \ filedefs/filetypes.perl \ filedefs/filetypes.php \ filedefs/filetypes.po \ filedefs/filetypes.powershell \ filedefs/filetypes.python \ filedefs/filetypes.r \ filedefs/filetypes.restructuredtext \ filedefs/filetypes.ruby \ filedefs/filetypes.rust \ filedefs/filetypes.Scala.conf \ filedefs/filetypes.sh \ filedefs/filetypes.sql \ filedefs/filetypes.tcl \ filedefs/filetypes.txt2tags \ filedefs/filetypes.vala \ filedefs/filetypes.verilog \ filedefs/filetypes.vhdl \ filedefs/filetypes.xml \ filedefs/filetypes.yaml \ filedefs/filetypes.zephir tagfiles = \ tags/std99.c.tags \ tags/std.php.tags \ tags/std.py.tags \ tags/std.pas.tags \ tags/entities.html.tags template_files = \ templates/files/file.html \ templates/files/file_html5.html \ templates/files/file.php \ templates/files/file.rb \ templates/files/file.tex \ templates/files/main.c \ templates/files/main.cxx \ templates/files/main.d \ templates/files/main.java \ templates/files/main.py \ templates/files/main.vala \ templates/files/module.erl \ templates/files/program.pas templates = \ templates/bsd \ templates/changelog \ templates/fileheader \ templates/function \ templates/gpl nobase_dist_pkgdata_DATA = \ $(colorschemes) \ $(filetypes) \ $(tagfiles) \ $(template_files) \ $(templates) \ filetype_extensions.conf \ snippets.conf \ ui_toolbar.xml \ geany.glade if GTK3 nobase_dist_pkgdata_DATA += \ geany-3.0.css \ geany-3.20.css \ geany.css else nobase_dist_pkgdata_DATA += geany.gtkrc endif geany-1.32/data/templates/0000755000175000017500000000000013204261064012450 500000000000000geany-1.32/data/templates/gpl0000644000175000017500000000125213204251306013073 00000000000000This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. geany-1.32/data/templates/function0000644000175000017500000000004613204251306014136 00000000000000 name: {functionname} @param @return geany-1.32/data/templates/fileheader0000644000175000017500000000007113204251306014377 00000000000000{filename} Copyright {year} {developer} <{mail}> {gpl} geany-1.32/data/templates/changelog0000644000175000017500000000004613204251306014240 00000000000000{date} {developer} <{mail}> * geany-1.32/data/templates/bsd0000644000175000017500000000262413204251306013065 00000000000000Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * Neither the name of the {company} nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. geany-1.32/data/templates/files/0000755000175000017500000000000013204261064013552 500000000000000geany-1.32/data/templates/files/program.pas0000644000175000017500000000011213204251306015636 00000000000000{fileheader} program untitled; uses crt; var i : byte; BEGIN END. geany-1.32/data/templates/files/module.erl0000644000175000017500000000025313204251306015461 00000000000000%% ---------------------------------- %% @author {developer} <{mail}> %% @copyright {year} %% @doc %% @end %% ---------------------------------- -module(). -export([]). geany-1.32/data/templates/files/main.vala0000644000175000017500000000010413204251306015254 00000000000000{fileheader} public static int main(string[] args) { return 0; } geany-1.32/data/templates/files/main.py0000644000175000017500000000024313204251306014765 00000000000000#!/usr/bin/env python # -*- coding: utf-8 -*- # {fileheader} def main(args): return 0 if __name__ == '__main__': import sys sys.exit(main(sys.argv)) geany-1.32/data/templates/files/main.java0000644000175000017500000000013613204251306015257 00000000000000{fileheader} public class {untitled} { public static void main (String[] args) { } } geany-1.32/data/templates/files/main.d0000644000175000017500000000011313204251306014554 00000000000000{fileheader} import std.stdio; int main(string[] args) { return 0; } geany-1.32/data/templates/files/main.cxx0000644000175000017500000000012513204251306015136 00000000000000{fileheader} #include int main(int argc, char **argv) { return 0; } geany-1.32/data/templates/files/main.c0000644000175000017500000000012413204251306014555 00000000000000{fileheader} #include int main(int argc, char **argv) { return 0; } geany-1.32/data/templates/files/file.tex0000644000175000017500000000025013204251306015126 00000000000000\documentclass[a4paper]{article} \usepackage[T1]{fontenc} \usepackage[utf8]{inputenc} \usepackage{lmodern} \usepackage[english]{babel} \begin{document} \end{document} geany-1.32/data/templates/files/file.rb0000644000175000017500000000011413204251306014730 00000000000000{fileheader} class StdClass def initialize end end x = StdClass.new geany-1.32/data/templates/files/file.php0000644000175000017500000000061113204251306015116 00000000000000 {untitled} geany-1.32/data/templates/files/file_html5.html0000644000175000017500000000027513204251306016412 00000000000000 {fileheader} {untitled} geany-1.32/data/templates/files/file.html0000644000175000017500000000060013204251306015271 00000000000000{fileheader} {untitled} geany-1.32/data/tags/0000755000175000017500000000000013204261064011410 500000000000000geany-1.32/data/tags/entities.html.tags0000644000175000017500000000363213204251306015001 00000000000000#format=tagmanager Á á  ⠴ Æ æ à À ℵ Α α & ∧ ∠ ' Å å ≈ à ã Ä ä „ Β β ¦ • ∩ Ç ç ¸ ¢ χ Χ ˆ ♣ ≅ © ↵ ∪ ¤ ‡ † ⇓ ↓ ° δ Δ ♦ ÷ é É ê Ê è È ∅     ε Ε ≡ Η η ð Ð ë Ë € ∃ ƒ ∀ ½ ¼ ¾ ⁄ Γ γ ≥ > ↔ ⇔ ♥ … Í í Î î ¡ Ì ì ℑ ∞ ∫ Ι ι ¿ ∈ ï Ï κ Κ Λ λ ⟨ « ← ⇐ ⌈ “ ≤ ⌊ ∗ ◊ ‎ ‹ ‘ < ¯ — µ · − μ Μ ∇   – ≠ ∋ ¬ ∉ ⊄ Ñ ñ ν Ν Ó ó Ô ô œ Œ Ò ò ‾ ω Ω Ο ο ⊕ ∨ ª º Ø ø õ Õ ⊗ ö Ö ¶ ∂ ‰ ⊥ Φ φ π Π ϖ ± £ ″ ′ ∏ ∝ Ψ ψ " √ ⟩ » ⇒ → ⌉ ” ℜ ® ⌋ Ρ ρ ‏ › ’ ‚ š Š ⋅ § ­ σ Σ ς ∼ ♠ ⊂ ⊆ ∑ ⊃ ¹ ² ³ ⊇ ß τ Τ ∴ Θ θ ϑ   þ Þ ˜ × ™ Ú ú ↑ ⇑ û Û ù Ù ¨ ϒ Υ υ Ü ü ℘ Ξ ξ Ý ý ¥ Ÿ ÿ Ζ ζ ‍ ‌ geany-1.32/data/tags/std.pas.tags0000644000175000017500000001134513204251306013566 00000000000000# format=pipe arc||(X: SmallInt, Y: SmallInt, StAngle: Word, EndAngle: Word, Radius: Word)| assigncrt||(File: Text)| bar||(x1: SmallInt; y1: SmallInt; x2: SmallInt; y2: SmallInt)| bar3d||(x1: SmallInt; y1: SmallInt; x2: SmallInt; y2: SmallInt; depth: Word; top: Boolean)| begin||| black||| blink||| blue||| brown||| cleardevice||| closegraph||| clreol||| clrscr||| const||| cursorbig||| cursoroff||| cursoron||| cyan||| darkgray||| delay||(MS: Word)| delline|||(X: Byte, Y: Byte)| detectgraph||(GraphDriver: SmallInt; var GraphMode: SmallInt)| drawpoly||(NumPoints: Word; var polypoints)| ellipse||(X: SmallInt; Y: SmallInt; stAngle: Word; EndAngle: Word; XRadius: Word; YRadius: Word)| fillellipse||(X: SmallInt; Y: SmallInt; XRadius: Word; YRadius: Word)| fillpoly||(NumPoints: Word; var PolyPoints)| floodfill||(x: SmallInt; y: SmallInt; Border: Word)| fpioperm|cInt|(From: Cardinal; Num: Cardinal; Value: cInt)| fpiopl|cInt|(Level: cInt|) getarccoords||(var ArcCoords: ArcCoordsType)| getaspectratio||(Xasp: Word; Yasp: Word)| getbkcolor|word|| getcolor|word|| getdefaultpalette||(var Palette: PaletteType)| getdirectvideo|bool|| getdrivername|String|| getfillpattern||(var FillPattern: FillPatternType)| getfillsettings||(var Fillinfo: FillSettingsType)| getgraphmode|Smallint|| getlinesettings||(var ActiveLineInfo: LineSettingsType)| getmaxcolor|Word|| getmaxmode|Smallint|| getmaxx|Smallint|| getmaxy|Smallint|| getmodename|String|(ModeNumber: SmallInt)| getmoderange||(GraphDriver: SmallInt; var LoMode: SmallInt; var HiMode: SmallInt)| getpalette||(var Palette: PaletteType)| getpalettesize|Smallint|| gettextsettings||(var TextInfo: TextSettingsType)| getviewsettings||(var viewport: ViewPortType)| getx|Smallint|| gety|Smallint|| gotoxy||(x: Smallint, y: Smallint)| graphdefaults||| grapherrormsg|String|(ErrorCode: SmallInt)| graphresult|Smallint|| green||| highvideo||| initgraph||(var GraphDriver: SmallInt; var GraphMode: SmallInt; const PathToDriver: String) insline||| installuserdriver|Smallint|(Name: String; AutoDetectPtr: Pointer)| installuserfont|Smallint|(const FontFileName: String)| keypressed|bool|| lightblue||| lightcyan||| lightgray||| lightgreen||| lightmagenta||| lightred||| linerel||(Dx: SmallInt; Dy: SmallInt)| lineto||(X: SmallInt; Y: SmallInt)| lowvideo||| magenta||| moverel||(Dx: SmallInt; Dy: SmallInt)| moveto||(X: Smallint, Y: Smallint)| normvideo||| nosound||| operator||(**(float, float): float)| operator||(**(int64, int64): int64)| outtext||(const TextString: String)| pieslice||(X: SmallInt; Y: SmallInt; stangle: SmallInt; endAngle: SmallInt; Radius: Word)| procedure||| program||(Title)| queryadapterinfo|PModeInfo|| read||(Identifier)| readln||(Identifier)| readkey|char|| readport||(Port: LongInt; var Value: Byte)| readport||(Port: LongInt; var Value: LongInt)| readport||(Port: LongInt; var Value: Word)| readportb|Byte|(Port: LongInt)| readportb||(Port: LongInt; var Buf; Count: LongInt)| readportl|LongInt|(Port: LongInt)| readportl||(Port: LongInt; var Buf; Count: LongInt)| readportw|Word|(Port: LongInt)| readportw||(Port: LongInt; var Buf; Count: LongInt)| rectangle||(x1: SmallInt; y1: SmallInt; x2: SmallInt; y2: SmallInt)| red||| registerbgidriver|Smallint|(driver: pointer)| registerbgifont|Smallint|(font: pointer)| restorecrtmode||| sector||(x: SmallInt; y: SmallInt; StAngle: Word; EndAngle: Word; XRadius: Word; YRadius: Word)| setaspectratio||(Xasp: Word; Yasp: Word)| setbkcolor||(Color: Word)| setcolor||(Color: Word)| setdirectvideo||(DirectAccess: Boolean)| setfillpattern||(Pattern: FillPatternType; Color: Word)| setfillstyle||(Pattern: Word; Color: Word)| setgraphmode||(Mode: SmallInt)| setlinestyle||(LineStyle: Word; Pattern: Word; Thickness: Word)| setpalette||(ColorNum: Word; Color: ShortInt)| settextjustify||(horiz: Word; vert: Word)| settextstyle||(font: Word; direction: Word; charsize: Word)| setusercharsize||(Multx: Word; Divx: Word; Multy: Word; Divy: Word)| setviewport||(X1: SmallInt; Y1: SmallInt; X2: SmallInt; Y2: SmallInt; Clip: Boolean)| setwritemode||(WriteMode: SmallInt)| sound||(Hz: Word)| textbackground||(Color: Byte)| textcolor||(Color: Byte)| textheight|Word|(const TextString: String)| textmode||(Mode: Integer)| textwidth|Word|(const TextString: String)| uses||(Unitlist)| var||| wherex|Byte|| wherey|Byte|| white||| window||(X1: Byte, Y1: Byte, X2: Byte, Y2: Byte)| write||(Output)| writeln||(Output)| writeport||(Port: LongInt; Value: Byte)| writeport||(Port: LongInt; Value: LongInt)| writeport||(Port: LongInt; Value: Word)| writeportb||(Port: LongInt; Value: Byte)| wrtieportb||(Port: LongInt; var Buf; Count: LongInt)| writeportl||(Port: LongInt; Value: LongInt)| wrtieportl||(Port: LongInt; var Buf; Count: LongInt)| writeportw||(Port: LongInt; Value: Word)| wrtieportw||(Port: LongInt; var Buf; Count: LongInt)| yellow||| geany-1.32/data/tags/std.py.tags0000644000175000017500000063473013204251306013444 00000000000000# format=tagmanager - Automatically generated file - do not edit (created on Wed Sep 12 19:28:34 2012) 128 ABCMeta1(type) ARRAY128typ, len ASTVisitor1(object) AboutDialog1(Toplevel) AbstractBasicAuthHandler1 AbstractClassCode1(object) AbstractCompileMode1(object) AbstractDigestAuthHandler1 AbstractFormatter1(object) AbstractFunctionCode1(object) AbstractHTTPHandler1(BaseHandler) AbstractWriter1(NullWriter) AcquirerProxy1(BaseProxy) Action1(_AttributeHolder) ActivateConfigChanges128selfConfigDialog AddChangedItem128self, type, section, item, valueConfigDialog AddPackagePath128packagename, path AddSection128self, sectionIdleUserConfParser AddressList1(AddrlistClass) AddrlistClass1 Aifc_read1(object) Aifc_write1(object) AlreadyExistsError1(Exception) AmbiguousOptionError1(BadOptionError) ApplyKeybindings128selfEditorWindow ApplyResult1(object) Apply128selfConfigDialog Arena1(object) ArgInfo1(tuple) ArgList128(args, lparen=LParen(), rparen=RParen()) ArgSpec1(tuple) ArgumentDefaultsHelpFormatter1(HelpFormatter) ArgumentDescriptor1(object) ArgumentError1(Exception) ArgumentParser1(_AttributeHolder) ArgumentTypeError1(Exception) Arguments1(tuple) ArithmeticError1 ArrayProxy1(BaseProxy) Array128typecode_or_type, size_or_initializer, **kwds AssAttr1(Node) AssList1(Node) AssName1(Node) AssTuple1(Node) AssertionError1 Assert1(stmt) Assign1(stmt) AtEnd128 AtInsert128*args AtSelFirst128 AtSelLast128 AtomicObjectTreeItem1(ObjectTreeItem) AttachVarCallbacks128selfConfigDialog AttributeError1 AttributesImpl1 AttributesNSImpl1(AttributesImpl) Attribute1(expr) Attr128(obj, attr) Au_read1 Au_write1 AudioDev128 AugAssign1(stmt) AugGetattr1(Delegator) AugLoad1(expr_context) AugName1(Delegator) AugSlice1(Delegator) AugStore1(expr_context) AugSubscript1(Delegator) AuthenticationError1(ProcessError) AuthenticationString1(str) AutoCompleteWindow1 AutoComplete1 AutoExpand1 AutoProxy128token, serializer, manager=None, authkey=None, exposed=None, incref=True BCPPCompiler1(CCompiler) BMNode1(object) BUILD_LIST128self, countStackDepthTracker BUILD_SET128self, countStackDepthTracker BUILD_SLICE128self, argcStackDepthTracker BUILD_TUPLE128self, countStackDepthTracker BabylMailbox1(_Mailbox) BabylMessage1(Message) Babyl1(_singlefileMailbox) BackgroundBrowser1(GenericBrowser) Backquote1(Node) BadFutureParser1(object) BadOptionError1(OptParseError) BadStatusLine1(HTTPException) BadZipfile1(Exception) Balloon1(TixWidget) BaseBrowser1(object) BaseCGIHandler1(SimpleHandler) BaseConfigurator1(object) BaseCookie1(dict) BaseException1 BaseFix1(object) BaseHTTPRequestHandler1(StreamRequestHandler) BaseHandler1 BaseListProxy1(BaseProxy) BaseManager1(object) BasePattern1(object) BaseProxy1(object) BaseRequestHandler1 BaseRotatingHandler1(FileHandler) BaseServer1 BaseSet1(object) BaseWidget1(Misc) Base1(object) BasicModuleImporter1(_Verbose) BasicModuleLoader1(_Verbose) BastionClass1 Bastion128object, filter='', name=None, bastionclass='BastionClass' BdbQuit1(Exception) BigEndianStructure1(Structure) BinHex1 BinOp1(expr) Binary1 BitAnd1(operator) BitOr1(operator) BitXor1(operator) Bitand1(Node) BitmapImage1(Image) Bitmap1(CanvasItem) Bitor1(Node) Bitxor1(Node) BlankLine128() BlockFinder1 BlockingIOError1(IOError) Block1(object) BoolOp1(expr) BooleanVar1(Variable) BottomMatcher1(object) BoundaryError1(MessageParseError) BoundedSemaphore128*args, **kwargs Breakpoint1 Break1(stmt) BsdDbShelf1(Shelf) BufferError1 BufferTooShort1(ProcessError) BufferWrapper1(object) BufferedIOBase1(_BufferedIOBase) BufferedIncrementalDecoder1(IncrementalDecoder) BufferedIncrementalEncoder1(IncrementalEncoder) BufferedRWPair1(_BufferedIOBase) BufferedRandom1(_BufferedIOBase) BufferedReader1(_BufferedIOBase) BufferedSubFile1(object) BufferedWriter1(_BufferedIOBase) BufferingFormatter1(object) BufferingHandler1(Handler) BuildKeyString128selfGetKeysDialog BuiltinImporter1(Importer) ButtonBox1(TixWidget) Button1(Widget) BytesIO1(_BufferedIOBase) BytesWarning1 CALL_FUNCTION_KW128self, argcStackDepthTracker CALL_FUNCTION_VAR_KW128self, argcStackDepthTracker CALL_FUNCTION_VAR128self, argcStackDepthTracker CALL_FUNCTION128self, argcStackDepthTracker CCompilerError1(Exception) CCompiler1 CDATASection1(Text) CDLL1(object) CFUNCTYPE128restype, *argtypes, **kw CGIHTTPRequestHandler1(SimpleHTTPRequestHandler) CGIHandler1(BaseCGIHandler) CGIXMLRPCRequestHandler1(SimpleXMLRPCDispatcher) CMSG_FIRSTHDR128mhdr CObjView1(TixWidget) CacheFTPHandler1(FTPHandler) Cache1(object) Calendar1(object) CallFunc1(Node) CallTips1 CallTip1 CallWrapper1 Callable1(object) CalledProcessError1(Exception) Call1(expr) Cancel128self, event=NoneGetCfgSectionNameDialog CannotSendHeader1(ImproperConnectionState) CannotSendRequest1(ImproperConnectionState) CanvasItem1 CanvasText1(CanvasItem) Canvas1(Widget) CharacterData1(Childless) CharsetError1(MessageError) Charset1 CheckList1(TixWidget) Checkbutton1(Widget) Childless1 Chooser1(Dialog) Chunk1 Clamped1(DecimalException) ClassBrowserTreeItem1(TreeItem) ClassBrowser1 ClassCodeGenerator1(NestedScopeMixin) ClassDef1(stmt) ClassScope1(Scope) ClassTreeItem1(ObjectTreeItem) Class1(SymbolTable) ClearKeySeq128selfGetKeysDialog Client128address, family=None, authkey=None CodeContext1 CodeGenerator1(object) CodeProxy1 CodecInfo1(tuple) CodecRegistryError1(LookupError) Codec1 ColorDelegator1(Delegator) ComboBox1(TixWidget) Combobox1(Entry) CommandCompiler1 CommandSequence1(Command) Command1 Comma128() Comment1(Childless) Compare1(expr) CompileError1(CCompilerError) Compile1(object) Completer1 Complex1(Number) CompressionError1(TarError) ConditionProxy1(AcquirerProxy) ConditionalFix1(BaseFix) Condition128*args, **kwargs ConfigDialog1(Toplevel) ConfigParser1(RawConfigParser) ConnectionWrapper1(object) Connection1(object) Const1(Node) Container1(object) ContentHandler1 ContentTooShortError1(IOError) Context1(object) Continue1(stmt) Control1(TixWidget) ConversionError1(Error) ConversionSyntax1(InvalidOperation) Converter1(grammar.Grammar) ConvertingDict1(dict) ConvertingList1(list) ConvertingTuple1(tuple) CookieError1(Exception) Cookie1 Counter1(dict) CoverageResults1 CreateConfigHandlers128selfIdleConf CreateNewKeySet128self, newKeySetNameConfigDialog CreateNewTheme128self, newThemeNameConfigDialog CreateOrExtendTable128(self, table, columns) CreatePageFontTab128selfConfigDialog CreatePageGeneral128selfConfigDialog CreatePageHighlight128selfConfigDialog CreatePageKeys128selfConfigDialog CreateTable128(self, table, columns) CreateWidgets128selfGetCfgSectionNameDialog CurrentKeys128selfIdleConf CurrentTheme128selfIdleConf Cursor1(object) CygwinCCompiler1(UnixCCompiler) DBRecIO1 DBShelf1(MutableMapping) DBShelveError1(db.DBError) DB1(MutableMapping) DEBUG128selfClassScope DER_cert_to_PEM_cert128der_cert_bytes DFAState1(object) DOMBuilderFilter1 DOMBuilder1 DOMEntityResolver1(object) DOMEventStream1 DOMException1(Exception) DOMImplementationLS1 DOMImplementation1(DOMImplementationLS) DOMInputSource1(object) DTDHandler1 DUP_TOPX128self, argcStackDepthTracker DataError1(DatabaseError) DatabaseError1(Error) DatagramHandler1(SocketHandler) DatagramRequestHandler1(BaseRequestHandler) Data1 DateFromTicks128ticks DateTime1 DbfilenameShelf1(Shelf) DeactivateCurrentConfig128selfConfigDialog DeadlockWrap128(function, *_args, **_kwargs) DebugRunner1(DocTestRunner) Debugger1 DebuggingServer1(SMTPServer) DecimalException1(ArithmeticError) DecimalTuple1(tuple) Decimal1(object) DecodedGenerator1(Generator) Decorators1(Node) DefaultCookiePolicy1(CookiePolicy) Delegator1(object) DeleteCommand1(Command) DeleteCustomKeys128selfConfigDialog DeleteCustomTheme128selfConfigDialog Delete1(stmt) DeprecationWarning1 Devnull1 Dialect1 DialogShell1(TixWidget) Dialog1 DictComp1(expr) DictConfigurator1(BaseConfigurator) DictMixin1 DictProxy1(BaseProxy) DictReader1 DictTreeItem1(SequenceTreeItem) DictWriter1 Dict1(expr) Differ1 DirBrowserTreeItem1(TreeItem) DirList1(TixWidget) DirSelectBox1(TixWidget) DirSelectDialog1(TixWidget) DirTree1(TixWidget) Directory1(Dialog) Discard1(Node) DisplayStyle1 DistributionMetadata1 Distribution1 DistutilsArgError1(DistutilsError) DistutilsByteCompileError1(DistutilsError) DistutilsClassError1(DistutilsError) DistutilsError1(Exception) DistutilsExecError1(DistutilsError) DistutilsFileError1(DistutilsError) DistutilsGetoptError1(DistutilsError) DistutilsInternalError1(DistutilsError) DistutilsModuleError1(DistutilsError) DistutilsOptionError1(DistutilsError) DistutilsPlatformError1(DistutilsError) DistutilsSetupError1(DistutilsError) DistutilsTemplateError1(DistutilsError) DivisionByZero1(DecimalException) DivisionImpossible1(InvalidOperation) DivisionUndefined1(InvalidOperation) DndHandler1 DocCGIXMLRPCRequestHandler1(CGIXMLRPCRequestHandler) DocDescriptor1(object) DocFileCase1(DocTestCase) DocFileSuite128*paths, **kw DocFileTest128path, module_relative=True, package=None, globs=None, parser=, encoding=None, **options DocTestCase1(TestCase) DocTestFailure1(Exception) DocTestFinder1 DocTestParser1 DocTestRunner1 DocTestSuite128module=None, globs=None, extraglobs=None, test_finder=None, **options DocTest1 DocXMLRPCRequestHandler1(SimpleXMLRPCRequestHandler) DocXMLRPCServer1(SimpleXMLRPCServer) DocumentFragment1(Node) DocumentLS1 DocumentType1(Identified) Document1(Node) DomstringSizeErr1(DOMException) Dot128() DoubleVar1(Variable) Driver1(object) Drop128(self, table) DumbWriter1(NullWriter) DumbXMLWriter1 DummyProcess1(Thread) DuplicateSectionError1(Error) DynLoadSuffixImporter1(object) DynOptionMenu1(OptionMenu) EMXCCompiler1(UnixCCompiler) EOFError1 EOFHeaderError1(HeaderError) EOFhook128selfMyRPCClient EditorWindow1(object) ElementInfo1(object) ElementTree1(ElementTree) Element1(Node) Elinks1(UnixBrowser) Ellipsis1 EmptyHeaderError1(HeaderError) EmptyNodeList1(tuple) EmptyNode1(Node) Empty1(Exception) EncodedFile128file, data_encoding, file_encoding=None, errors='strict' Encoder1(object) EncodingMessage1(SimpleDialog) EndOfBlock1(Exception) EntityResolver1 Entity1(Identified) Entry1(object) EnvironmentError1 ErrorDuringImport1(Exception) ErrorHandler1 ErrorWrapper1 Error1(Exception) Etiny128selfContext Etop128selfContext EventProxy1(BaseProxy) Event1(tuple) ExFileObject1(object) ExFileSelectBox1(TixWidget) ExFileSelectDialog1(TixWidget) ExactCond1(Cond) ExampleASTVisitor1(ASTVisitor) Example1 ExceptHandler1(excepthandler) Exception1 ExecError1(EnvironmentError) Executive1(object) Exec1(stmt) ExitNow1(Exception) ExpatBuilderNS1(Namespaces) ExpatBuilder1 ExpatError1(Exception) ExpatLocator1(Locator) ExpatParser1 ExpressionCodeGenerator1(NestedScopeMixin) Expression1(mod) Expr1(stmt) ExtSlice1(slice) Extension1 ExternalClashError1(Error) ExtractError1(TarError) FD_ZERO128fdsetp FILETIME1(Structure) FInfo1 FTPHandler1(BaseHandler) FTP_TLS1(FTP) FakeCode1 FakeFrame1 FakeSocket128sock, sslobj FancyGetopt1 FancyModuleLoader1(ModuleLoader) FancyURLopener1(URLopener) FatalIncludeError1(SyntaxError) Fault1(Error) FeedParser1 FieldStorage1(object) FileBase1 FileCookieJar1(CookieJar) FileDelegate1(FileBase) FileDialog1 FileEntry1(TixWidget) FileHandler1(BaseHandler) FileHeader128selfZipInfo FileIO1(_RawIOBase) FileInput1 FileList1 FileSelectBox1(TixWidget) FileSelectDialog1(TixWidget) FileTreeItem1(TreeItem) FileTypeList128dict FileType1(object) FileWrapper1(FileBase) File1(object) FilterCrutch1(object) FilterVisibilityController1(object) Filterer1(object) Filter1(object) FinalKeySelected128self, eventGetKeysDialog Finalize1(object) FirstHeaderLineIsContinuationDefect1(MessageDefect) FixApply1(fixer_base.BaseFix) FixBasestring1(fixer_base.BaseFix) FixBuffer1(fixer_base.BaseFix) FixCallable1(BaseFix) FixDict1(fixer_base.BaseFix) FixExcept1(fixer_base.BaseFix) FixExecfile1(fixer_base.BaseFix) FixExec1(fixer_base.BaseFix) FixExitfunc1(BaseFix) FixFilter1(fixer_base.ConditionalFix) FixFuncattrs1(fixer_base.BaseFix) FixFuture1(fixer_base.BaseFix) FixGetcwdu1(fixer_base.BaseFix) FixHasKey1(fixer_base.BaseFix) FixIdioms1(fixer_base.BaseFix) FixImports21(fix_imports.FixImports) FixImports1(BaseFix) FixImport1(fixer_base.BaseFix) FixInput1(fixer_base.BaseFix) FixIntern1(fixer_base.BaseFix) FixIsinstance1(fixer_base.BaseFix) FixItertoolsImports1(BaseFix) FixItertools1(fixer_base.BaseFix) FixLong1(BaseFix) FixMap1(fixer_base.ConditionalFix) FixMetaclass1(fixer_base.BaseFix) FixMethodattrs1(fixer_base.BaseFix) FixNext1(fixer_base.BaseFix) FixNe1(fixer_base.BaseFix) FixNonzero1(fixer_base.BaseFix) FixNumliterals1(fixer_base.BaseFix) FixOperator1(BaseFix) FixParen1(fixer_base.BaseFix) FixPrint1(fixer_base.BaseFix) FixRaise1(fixer_base.BaseFix) FixRawInput1(fixer_base.BaseFix) FixReduce1(BaseFix) FixRenames1(fixer_base.BaseFix) FixRepr1(fixer_base.BaseFix) FixSetLiteral1(BaseFix) FixStandarderror1(fixer_base.BaseFix) FixSysExc1(fixer_base.BaseFix) FixThrow1(fixer_base.BaseFix) FixTupleParams1(fixer_base.BaseFix) FixTypes1(fixer_base.BaseFix) FixUnicode1(fixer_base.BaseFix) FixUrllib1(FixImports) FixWsComma1(fixer_base.BaseFix) FixXrange1(fixer_base.BaseFix) FixXreadlines1(fixer_base.BaseFix) FixZip1(fixer_base.ConditionalFix) FixerError1(Exception) FloatingPointError1 FloorDiv1(operator) FlowGraph1(object) Folder1 Font1 ForkingMixIn1 ForkingPickler1(Pickler) ForkingTCPServer1(ForkingMixIn) ForkingUDPServer1(ForkingMixIn) FormContentDict1(UserDict) FormContent1(FormContentDict) FormatError1(Error) FormatParagraph1 Formatter1(object) Form1 Fraction1(Rational) FragmentBuilderNS1(Namespaces) FragmentBuilder1(ExpatBuilder) FrameProxy1 FrameTreeItem1(TreeItem) Frame1(Widget) FromImport128(package_name, name_leafs) From1(Node) Full1(Exception) FunctionCodeGenerator1(NestedScopeMixin) FunctionDef1(stmt) FunctionScope1(Scope) Function1(SymbolTable) FutureParser1(object) FutureWarning1 GNUTranslations1(NullTranslations) GUIAdapter1 GUIProxy1 Galeon1(UnixBrowser) GenExprCodeGenerator1(NestedScopeMixin) GenExprFor1(Node) GenExprIf1(Node) GenExprInner1(Node) GenExprScope1(Scope) GenExpr1(Node) GeneratorContextManager1(object) GeneratorExit1 GeneratorExp1(expr) Generator1 GenericBrowser1(BaseBrowser) GetAllExtraHelpSourcesList128selfIdleConf GetCfgSectionNameDialog1(Toplevel) GetColour128selfConfigDialog GetCoreKeys128self, keySetName=NoneIdleConf GetCurrentKeySet128selfIdleConf GetDefaultItems128selfConfigDialog GetExtensionBindings128self, extensionNameIdleConf GetExtensionKeys128self, extensionNameIdleConf GetExtensions128self, active_only=True, editor_only=False, shell_only=FalseIdleConf GetExtnNameForEvent128self, virtualEventIdleConf GetExtraHelpSourceList128self, configSetIdleConf GetHelpSourceDialog1(Toplevel) GetHighlight128self, theme, element, fgBg=NoneIdleConf GetIconName128selfFileTreeItem GetKeyBinding128self, keySetName, eventStrIdleConf GetKeySet128self, keySetNameIdleConf GetKeysDialog1(Toplevel) GetLabelText128selfFileTreeItem GetModifiers128selfGetKeysDialog GetNewKeysName128self, messageConfigDialog GetNewKeys128selfConfigDialog GetNewThemeName128self, messageConfigDialog GetOptionList128self, sectionIdleConfParser GetOption128self, configType, section, option, default=None, type=None, warn_on_default=True, raw=FalseIdleConf GetPassWarning1(UserWarning) GetSectionList128self, configSet, configTypeIdleConf GetSelectedIconName128selfFileTreeItem GetSubList128selfFileTreeItem GetText128selfFileTreeItem GetThemeDict128self, type, themeNameIdleConf GetUserCfgDir128selfIdleConf Getattr1(Node) GetoptError1(Exception) Global1(stmt) Grail1(BaseBrowser) Grammar1(object) GrepDialog1(SearchDialogBase) Grid1 Group1 GzipDecodedResponse1(GzipFile) GzipFile1(BufferedIOBase) HList1(TixWidget) HMAC1 HTMLCalendar1(Calendar) HTMLDoc1(Doc) HTMLParseError1(Exception) HTMLParser1(ParserBase) HTMLRepr1(Repr) HTTPBasicAuthHandler1(AbstractBasicAuthHandler) HTTPConnection1 HTTPCookieProcessor1(BaseHandler) HTTPDefaultErrorHandler1(BaseHandler) HTTPDigestAuthHandler1(BaseHandler) HTTPErrorProcessor1(BaseHandler) HTTPError1(URLError) HTTPException1(Exception) HTTPHandler1(AbstractHTTPHandler) HTTPMessage1(Message) HTTPPasswordMgrWithDefaultRealm1(HTTPPasswordMgr) HTTPPasswordMgr1 HTTPRedirectHandler1(BaseHandler) HTTPResponse1 HTTPSConnection1(HTTPConnection) HTTPSHandler1(AbstractHTTPHandler) HTTPServer1(TCPServer) HTTPS1(HTTP) HTTP1 Handler1(Filterer) Hashable1(object) HeaderError1(TarError) HeaderFile1(object) HeaderParseError1(MessageParseError) HeaderParser1(Parser) Headers1 Header1 Heap1(object) HelpDialog1(object) HelpFormatter1(object) HelpListItemAdd128selfConfigDialog HelpListItemEdit128selfConfigDialog HelpListItemRemove128selfConfigDialog HelpSourceSelected128self, eventConfigDialog Helper1 Help128selfConfigDialog HexBin1 HierarchyRequestErr1(DOMException) History1 Hooks1(_Verbose) Hook1(object) HtmlDiff1(object) HyperParser1 IMAP4_SSL1(IMAP4) IMAP4_stream1(IMAP4) IMAP41 IMapIterator1(object) IMapUnorderedIterator1(IMapIterator) IN6_IS_ADDR_LINKLOCAL128a IN6_IS_ADDR_LOOPBACK128a IN6_IS_ADDR_MC_GLOBAL128a IN6_IS_ADDR_MC_LINKLOCAL128a IN6_IS_ADDR_MC_NODELOCAL128a IN6_IS_ADDR_MC_ORGLOCAL128a IN6_IS_ADDR_MC_SITELOCAL128a IN6_IS_ADDR_SITELOCAL128a IN6_IS_ADDR_UNSPECIFIED128a IN6_IS_ADDR_V4COMPAT128a IN6_IS_ADDR_V4MAPPED128a INT16_C128c INT32_C128c INT64_C128c INT8_C128c INTMAX_C128c IN_BADCLASS128a IN_CLASSA128a IN_CLASSB128a IN_CLASSC128a IN_CLASSD128a IN_EXPERIMENTAL128a IN_MULTICAST128a IOBase1(_IOBase) IOBinding1 IOError1 ISEOF128x ISNONTERMINAL128x ISTERMINAL128x IS_CHARACTER_JUNK128ch, ws=' \t' IS_LINE_JUNK128line, pat='match' Icon1 IdbAdapter1 IdbProxy1 Identified1 IdleConfParser1(ConfigParser) IdleConf1 IdleUserConfParser1(IdleConfParser) IfExp1(expr) Ignore1 IllegalMonthError1(ValueError) IllegalWeekdayError1(ValueError) ImageItem1(CanvasItem) Image1 ImmutableSet1(BaseSet) ImpImporter1(object) ImpLoader1(object) ImportError1 ImportFrom1(stmt) ImportManager1(object) ImportWarning1 Importer1(object) Import1(stmt) ImproperConnectionState1(HTTPException) IncompleteRead1(HTTPException) IncrementalDecoder1(object) IncrementalEncoder1(object) IncrementalNewlineDecoder1(object) IncrementalParser1(XMLReader) IndentSearcher1(object) IndentationError1 IndentedHelpFormatter1(HelpFormatter) IndexError1 IndexSizeErr1(DOMException) Index1(slice) Inexact1(DecimalException) InputOnly1(TixWidget) InputWrapper1 InsertCommand1(Command) InstanceTreeItem1(ObjectTreeItem) Int2AP128num IntSet1 IntVar1(Variable) Integral1(Rational) IntegrityError1(DatabaseError) InteractiveCodeGenerator1(NestedScopeMixin) InteractiveConsole1(InteractiveInterpreter) InteractiveInterpreter1 Interactive1(mod) InterfaceError1(Error) InternalError1(DatabaseError) InternalSubsetExtractor1(ExpatBuilder) Internaldate2tuple128resp InterpFormContentDict1(SvFormContentDict) InterpolationDepthError1(InterpolationError) InterpolationError1(Error) InterpolationMissingOptionError1(InterpolationError) InterpolationSyntaxError1(InterpolationError) InuseAttributeErr1(DOMException) InvalidAccessErr1(DOMException) InvalidCharacterErr1(DOMException) InvalidConfigSet1(Exception) InvalidConfigType1(Exception) InvalidContext1(InvalidOperation) InvalidFgBg1(Exception) InvalidHeaderError1(HeaderError) InvalidModificationErr1(DOMException) InvalidNameError1(Exception) InvalidOperation1(DecimalException) InvalidStateErr1(DOMException) InvalidTheme1(Exception) InvalidURL1(HTTPException) Invert1(unaryop) IsCoreBinding128self, virtualEventIdleConf IsEditable128selfFileTreeItem IsEmpty128selfIdleUserConfParser IsExpandable128selfFileTreeItem IsNot1(cmpop) ItemsView1(MappingView) IterableUserDict1(UserDict) Iterable1(object) IteratorProxy1(BaseProxy) IteratorWrapper1 Iterator1(Iterable) JSONArray128s_and_end, scan_once, _w='match', _ws=' \t\n\r' JSONDecoder1(object) JSONEncoder1(object) JSONObject128s_and_end, encoding, strict, scan_once, object_hook, object_pairs_hook, _w='match', _ws=' \t\n\r' JoinableQueue128maxsize=0 KeyBindingSelected128self, eventConfigDialog KeyError1 KeyboardInterrupt1 KeyedRef1(weakref) KeysOK128selfGetKeysDialog KeysView1(MappingView) KeywordArg128(keyword, value) Keyword1(Node) Konqueror1(BaseBrowser) LMTP1(SMTP) LParen128() LShift1(operator) LWPCookieJar1(FileCookieJar) LabelEntry1(TixWidget) LabelFrame1(Widget) LabeledScale1(Frame) Labelframe1(Widget) Label1(Widget) LambdaScope1(FunctionScope) Lambda1(expr) LargeZipFile1(Exception) LazyImporter1(object) LeafPattern1(BasePattern) Leaf1(Base) LeftShift1(Node) LibError1(CCompilerError) LibraryLoader1(object) LifoQueue1(Queue) LikeCond1(Cond) LineAddrTable1(object) LineAndFileWrapper1 LineTooLong1(HTTPException) Line1(CanvasItem) LinkError1(CCompilerError) ListCompFor1(Node) ListCompIf1(Node) ListComp1(expr) ListNoteBook1(TixWidget) ListProxy1(BaseListProxy) ListTableColumns128(self, table) ListTables128(self) ListboxToolTip1(ToolTipBase) Listbox1(Widget) ListedToplevel1(Toplevel) Listener1(object) List1(expr) LoadCfgFiles128selfIdleConf LoadConfigs128selfConfigDialog LoadError1(IOError) LoadFileDialog1(FileDialog) LoadFinalKeyList128selfGetKeysDialog LoadFontCfg128selfConfigDialog LoadGeneralCfg128selfConfigDialog LoadKeyCfg128selfConfigDialog LoadKeysList128self, keySetNameConfigDialog LoadLibrary128self, nameLibraryLoader LoadTabCfg128selfConfigDialog LoadTagDefs128selfColorDelegator LoadThemeCfg128selfConfigDialog Load1(expr_context) LocalNameFinder1(object) LocaleHTMLCalendar1(HTMLCalendar) LocaleTextCalendar1(TextCalendar) LocaleTime1(object) LockType1(object) Lock128 LogReader1 LogRecord1(object) LoggerAdapter1(object) Logger1(Filterer) LookupError1 LooseVersion1(Version) MAKE_CLOSURE128self, argcStackDepthTracker MAKE_FUNCTION128self, argcStackDepthTracker MHMailbox1 MHMessage1(Message) MIMEApplication1(MIMENonMultipart) MIMEAudio1(MIMENonMultipart) MIMEBase1(Message) MIMEImage1(MIMENonMultipart) MIMEMessage1(MIMENonMultipart) MIMEMultipart1(MIMEBase) MIMENonMultipart1(MIMEBase) MIMEText1(MIMENonMultipart) MMDFMessage1(_mboxMMDFMessage) MMDF1(_mboxMMDF) MSG1(Structure) MSVCCompiler1(CCompiler) MacroExpander1 Mailbox1 MaildirMessage1(Message) Maildir1(Mailbox) MailmanProxy1(PureProxy) MakeProxyType128name, exposed, _cache={('ArrayProxy', ('__len__', '__getitem__', '__setitem__', '__getslice__', '__setslice__')): , ('DictProxy', ('__contains__', '__delitem__', '__getitem__', '__len__', '__setitem__', 'clear', 'copy', 'get', 'has_key', 'items', 'keys', 'pop', 'popitem', 'setdefault', 'update', 'values')): , ('BaseListProxy', ('__add__', '__contains__', '__delitem__', '__delslice__', '__getitem__', '__getslice__', '__len__', '__mul__', '__reversed__', '__rmul__', '__setitem__', '__setslice__', 'append', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort', '__imul__')): , ('PoolProxy', ('apply', 'apply_async', 'close', 'imap', 'imap_unordered', 'join', 'map', 'map_async', 'terminate')): } MalformedHeaderDefect1(MessageDefect) Manager128 MapResult1(ApplyResult) MappingView1(Sized) Mapping1(Sized) Marshaller1 Match1(tuple) MemoryError1 MemoryHandler1(BufferingHandler) MenuOk128selfGetHelpSourceDialog Menubutton1(Widget) Menu1(Widget) MessageDefect1 MessageError1(Exception) MessageParseError1(MessageError) Message1(Message) Meter1(TixWidget) MethodBrowserTreeItem1(TreeItem) MethodProxy1(object) MimeTypes1 MimeWriter1 MinNode1(object) Mingw32CCompiler1(CygwinCCompiler) MiniFieldStorage1(object) Misc1 MisplacedEnvelopeHeaderDefect1(MessageDefect) MissingSectionHeaderError1(ParsingError) MmdfMailbox1(_Mailbox) ModifiedColorDelegator1(ColorDelegator) ModifiedInterpreter1(InteractiveInterpreter) ModifiedUndoDelegator1(UndoDelegator) Modify128(self, table, conditions={}, mappings={}) ModuleBrowserTreeItem1(TreeItem) ModuleCodeGenerator1(NestedScopeMixin) ModuleFinder1 ModuleImporter1(BasicModuleImporter) ModuleInfo1(tuple) ModuleLoader1(BasicModuleLoader) ModuleScanner1 ModuleScope1(Scope) Module1(mod) Morsel1(dict) MozillaCookieJar1(FileCookieJar) Mozilla1(UnixBrowser) MultiCallCreator128widget MultiCallIterator1 MultiCall1 MultiFile1 MultiPathXMLRPCServer1(SimpleXMLRPCServer) MultiStatusBar1(Frame) MultipartConversionError1(MessageError) MultipartInvariantViolationDefect1(MessageDefect) MultiprocessRefactoringTool1(RefactoringTool) MultiprocessingUnsupported1(Exception) Mult1(operator) MutableMapping1(Mapping) MutableSequence1(Sequence) MutableSet1(Set) MutableString1(UserString) MyHandler1(RPCHandler) MyRPCClient1(RPCClient) MyRPCServer1(RPCServer) NFAState1(object) NNTPDataError1(NNTPError) NNTPError1(Exception) NNTPPermanentError1(NNTPError) NNTPProtocolError1(NNTPError) NNTPReplyError1(NNTPError) NNTPTemporaryError1(NNTPError) NNTP1 NTEventLogHandler1(Handler) NameError1 NameOk128selfGetCfgSectionNameDialog NamedNodeMap1(object) NamedTemporaryFile128mode='w+b', bufsize=-1, suffix='', prefix='tmp', dir=None, delete=True NamespaceErr1(DOMException) NamespaceProxy1(BaseProxy) NamespaceViewer1 Namespaces1 Namespace1(_AttributeHolder) Name1(expr) NannyNag1(Exception) NegatedPattern1(BasePattern) NestedScopeMixin1(object) NetrcParseError1(Exception) Netrc1 Newline128() NoBoundaryInMultipartDefect1(MessageDefect) NoDataAllowedErr1(DOMException) NoDefaultRoot128 NoModificationAllowedErr1(DOMException) NoOptionError1(Error) NoSectionError1(Error) NoSuchMailboxError1(Error) NodeFilter1 NodeList1(list) NodePattern1(BasePattern) NodeTransformer1(NodeVisitor) NodeVisitor1(object) Node128*args NotANumber1(ValueError) NotConnected1(HTTPException) NotEmptyError1(Error) NotEq1(cmpop) NotFoundErr1(DOMException) NotImplementedError1 NotImplementedType1(object) NotImplemented1 NotIn1(cmpop) NotSupportedError1(DatabaseError) NotSupportedErr1(DOMException) Notation1(Identified) NoteBookFrame1(TixWidget) NoteBook1(TixWidget) Notebook1(Widget) NullFormatter1(object) NullHandler1(Handler) NullTranslations1 NullWriter1(object) Number1(object) OSError1 ObjectTreeItem1(TreeItem) OnDemandOutputWindow1 OnDoubleClick128selfFileTreeItem OnListFontButtonRelease128self, eventConfigDialog OnNewColourSet128selfConfigDialog OpFinder1(object) OpcodeInfo1(object) OpenWrapper1(object) OpenerDirector1 Open1(_Dialog) OperationalError1(DatabaseError) Opera1(UnixBrowser) OptParseError1(Exception) OptionConflictError1(OptionError) OptionContainer1(object) OptionDummy1 OptionError1(OptParseError) OptionGroup1(OptionContainer) OptionMenu1(Menubutton) OptionName128widget OptionParser1(OptionContainer) OptionValueError1(OptParseError) Options1 Option1(object) OrderedDict1(dict) OriginalCommand1 OutputChecker1 OutputString128self, attrs=NoneMorsel OutputWindow1(EditorWindow) Oval1(CanvasItem) OverflowError1 Overflow1(Inexact) PEM_cert_to_DER_cert128pem_cert_string POINT1(Structure) POP3_SSL1(POP3) POP31 PYFUNCTYPE128restype, *argtypes Packer1(object) Pack1 PaintThemeSample128selfConfigDialog PanedWindow1(Widget) Panedwindow1(Widget) Param1(expr_context) ParenMatch1 ParseError1(Exception) ParseEscape1(Exception) ParseFlags128resp ParseResult1(ParseResult) ParserBase1 ParserGenerator1(object) Parser1 ParsingError1(Error) PartialIteratorWrapper1 Pass1(stmt) PathBrowserTreeItem1(TreeItem) PathBrowser1(ClassBrowser) PathOk128selfGetHelpSourceDialog PatternCompiler1(object) PatternSyntaxError1(Exception) Pattern1 PendingDeprecationWarning1 Percolator1 PgenGrammar1(grammar.Grammar) PhotoImage1(Image) PickleError1(Exception) Pickler1 PicklingError1(PickleError) Pipe128duplex=True PlaceHolder1(object) Place1 Play_Audio_sgi1 Play_Audio_sun1 PlistParser1 PlistWriter1(DumbXMLWriter) Plist1(_InternalDict) Polygon1(CanvasItem) PoolProxy1(BaseProxy) Pool128processes=None, initializer=None, initargs=(), maxtasksperchild=None Popen31 Popen41(Popen3) Popen1(object) PopupMenu1(TixWidget) PortableUnixMailbox1(UnixMailbox) PostfixCond1(Cond) Power1(Node) PrefixCond1(Cond) PrepareProtocol1(object) PreprocessError1(CCompilerError) PrettyPrinter1 Printnl1(Node) Print1(stmt) PriorityQueue1(Queue) ProcessError1(Exception) ProcessLocalSet1(set) ProcessingInstruction1(Childless) Process1(object) ProfilerError1(Exception) Profile1 ProgrammingError1(DatabaseError) Progressbar1(Widget) ProtocolError1(Error) ProxyBasicAuthHandler1(AbstractBasicAuthHandler) ProxyDigestAuthHandler1(BaseHandler) ProxyHandler1(BaseHandler) PseudoFile1(object) PullDOM1(ContentHandler) PureProxy1(SMTPServer) PyCArrayType1(type) PyCFuncPtr1(_CData) PyCompileError1(Exception) PyDLL1(CDLL) PyDialog1(Dialog) PyFlowGraph1(FlowGraph) PyPIRCCommand1(Command) PyShellEditorWindow1(EditorWindow) PyShellFileList1(FileList) PyShell1(OutputWindow) PyZipFile1(ZipFile) QName1(object) Queue1 RECT1(Structure) RExec1(_Verbose) RGB128(red, green, blue) RHooks1(Hooks) RLock128*args, **kwargs RPCClient1(SocketIO) RPCHandler1(BaseRequestHandler) RPCProxy1(object) RPCServer1(TCPServer) RParen128() RShift1(operator) Radiobutton1(Widget) Raise1(stmt) Random1(Random) Rational1(Real) RawArray128typecode_or_type, size_or_initializer RawConfigParser1 RawDescriptionHelpFormatter1(HelpFormatter) RawIOBase1(_RawIOBase) RawTextHelpFormatter1(RawDescriptionHelpFormatter) RawTurtle1(TPen) RawValue128typecode_or_type, *args ReadError1(TarError) ReadOnlySequentialNamedNodeMap1(object) Real1(Complex) RebuildProxy128func, token, serializer, kwds Rectangle1(CanvasItem) RefactoringTool1(object) ReferenceError1 Rejecter1(FilterCrutch) RemoteError1(Exception) RemoteObject1(object) RemoteProxy1(object) RemoveEmptySections128selfIdleUserConfParser RemoveFile128selfIdleUserConfParser RemoveKeyBindNames128self, extnNameListIdleConf RemoveKeybindings128selfEditorWindow RemoveOption128self, section, optionIdleUserConfParser ReplaceDialog1(SearchDialogBase) ReplacePackage128oldname, newname Repr1(expr) Request1 ResetChangedItems128selfConfigDialog ResetColorizer128selfEditorWindow ResetFont128selfEditorWindow ResizeHandle1(TixWidget) ResponseError1(Error) ResponseNotReady1(ImproperConnectionState) Restart1(Exception) ResultMixin1(object) Return1(stmt) RightShift1(Node) RobotFileParser1(object) RootLogger1(Logger) RotatingFileHandler1(BaseRotatingHandler) Rounded1(DecimalException) RstripExtension1 RuleLine1(object) RuntimeError1 RuntimeWarning1 SAX2DOM1(PullDOM) SAXException1(Exception) SAXNotRecognizedException1(SAXException) SAXNotSupportedException1(SAXException) SAXParseException1(SAXException) SAXReaderNotAvailable1(SAXNotSupportedException) SGMLParseError1(RuntimeError) SGMLParser1(ParserBase) SIZE1(Structure) SMTPAuthenticationError1(SMTPResponseException) SMTPChannel1(async_chat) SMTPConnectError1(SMTPResponseException) SMTPDataError1(SMTPResponseException) SMTPException1(Exception) SMTPHandler1(Handler) SMTPHeloError1(SMTPResponseException) SMTPRecipientsRefused1(SMTPException) SMTPResponseException1(SMTPException) SMTPSenderRefused1(SMTPResponseException) SMTPServerDisconnected1(SMTPException) SMTPServer1(dispatcher) SMTP_SSL1(SMTP) SMTP1 SRE_Pattern1(object) SSLError1(error) SSLFakeFile1 SSLSocket1(_socketobject) S_IFMT128mode S_IMODE128mode S_ISBLK128mode S_ISCHR128mode S_ISDIR128mode S_ISFIFO128mode S_ISLNK128mode S_ISREG128mode S_ISSOCK128mode SafeConfigParser1(ConfigParser) SafeTransport1(Transport) SaveAllChangedConfigs128selfConfigDialog SaveAsNewKeySet128selfConfigDialog SaveAsNewTheme128selfConfigDialog SaveAs1(_Dialog) SaveFileDialog1(FileDialog) SaveNewKeySet128self, keySetName, keySetConfigDialog SaveNewTheme128self, themeName, themeConfigDialog SaveUserCfgFiles128selfIdleConf Save128selfIdleUserConfParser Scale1(Widget) Scanner1 Scope1(object) Screen128 ScriptBinding1 Scrollbar1(Widget) ScrolledCanvas1 ScrolledGrid1(Grid) ScrolledHList1(TixWidget) ScrolledListBox1(TixWidget) ScrolledList1 ScrolledTList1(TixWidget) ScrolledText1(TixWidget) ScrolledWindow1(TixWidget) SearchDialogBase1 SearchDialog1(SearchDialogBase) SearchEngine1 Select128(self, table, columns, conditions={}) SemLock1(object) Semaphore128*args, **kwargs Separator1(Widget) SequenceMatcher1 SequenceTreeItem1(ObjectTreeItem) Sequence1(Sized) SerialCookie1(BaseCookie) ServerHTMLDoc1(HTMLDoc) ServerHandler1(SimpleHandler) ServerProxy1 Server1(object) SetColourSampleBinding128self, *argsConfigDialog SetColourSample128selfConfigDialog SetComp1(expr) SetFontSample128self, event=NoneConfigDialog SetHelpListButtonStates128selfConfigDialog SetHighlightTarget128selfConfigDialog SetKeysType128selfConfigDialog SetMenu128self, valueList, value=NoneDynOptionMenu SetModifiersForPlatform128selfGetKeysDialog SetOption128self, configType, section, option, valueIdleConf SetPointerType128pointer, cls SetText128self, textFileTreeItem SetThemeType128selfConfigDialog SetUserValue128self, configType, section, item, valueConfigDialog Shape1(object) Shelf1(DictMixin) Shell1(TixWidget) ShowCopyright128selfAboutDialog ShowIDLEAbout128selfAboutDialog ShowIDLECredits128selfAboutDialog ShowIDLENEWS128selfAboutDialog ShowLicense128selfAboutDialog ShowPythonCredits128selfAboutDialog SimpleCookie1(BaseCookie) SimpleDialog1 SimpleHTTPRequestHandler1(BaseHTTPRequestHandler) SimpleHandler1(BaseHandler) SimpleQueue1(object) SimpleXMLRPCDispatcher1 SimpleXMLRPCRequestHandler1(BaseHTTPRequestHandler) SimpleXMLRPCServer1(TCPServer) Sized1(object) Sizegrip1(Widget) SkipDocTestCase1(DocTestCase) Skipper1(FilterCrutch) Sliceobj1(Node) Slice1(slice) SlowParser1 SmartCookie1(BaseCookie) Sniffer1 SocketClient128address SocketHandler1(Handler) SocketIO1(object) SocketListener1(object) SpecialFileError1(EnvironmentError) Spinbox1(Widget) SplitResult1(SplitResult) SpooledTemporaryFile1 StackBrowser128root, flist=None, tb=None, top=None StackDepthTracker1(object) StackObject1(object) StackTreeItem1(TreeItem) StackViewer1(ScrolledList) Stack1(object) StandardError1 StartBoundaryNotFoundDefect1(MessageDefect) Statement1(object) State1(object) StatsLoader1 Stats128*args StdButtonBox1(TixWidget) StdoutRefactoringTool1(refactor.MultiprocessRefactoringTool) Stmt1(Node) StopIteration1 StopTokenizing1(Exception) Store1(expr_context) StreamConverter1(StreamWriter) StreamError1(TarError) StreamHandler1(Handler) StreamReaderWriter1 StreamReader1(Codec) StreamRecoder1 StreamRequestHandler1(BaseRequestHandler) StreamWriter1(Codec) StrictVersion1(Version) StringIO1 StringVar1(Variable) String128(string, prefix=None) Structure1(_CData) Struct1(object) StubObjectTreeItem1 Studbutton1(Button) Style1(object) SubElement128(parent, tag, attrib={}, **extra) SubMessage1(Message) SubPattern1 Subnormal1(DecimalException) Subscript1(expr) SubsequentHeaderError1(HeaderError) Suite1(mod) SvFormContentDict1(FormContentDict) SymbolTableFactory1 SymbolTable1(object) SymbolVisitor1(object) Symbols1(object) Symbol1(object) SyncManager1(BaseManager) SynchronizedArray1(SynchronizedBase) SynchronizedBase1(object) SynchronizedString1(SynchronizedArray) Synchronized1(SynchronizedBase) SyntaxErrorChecker1(object) SyntaxError1 SyntaxErr1(DOMException) SyntaxWarning1 SysLogHandler1(Handler) SystemError1 SystemExit1 SystemRandom1(Random) TCPServer1(BaseServer) TList1(TixWidget) TNavigator1(object) TPen1(object) TabError1 TabSet1(Frame) TabbedPageSet1(Frame) TableAlreadyExists1(TableDBError) TableDBError1(StandardError) TarError1(Exception) TarFileCompat1 TarFile1(object) TarInfo1(object) TarIter1 Tbuffer1(object) TclError1(Exception) Telnet1 Template1(object) TemporaryFile128mode='w+b', bufsize=-1, suffix='', prefix='tmp', dir=None Terminator1(Exception) TestResults1(tuple) TestSGMLParser1(SGMLParser) TestXMLParser1(XMLParser) Tester1 TextCalendar1(Calendar) TextDoc1(Doc) TextFile1 TextIOBase1(_TextIOBase) TextIOWrapper1(_TextIOBase) TextRepr1(Repr) TextViewer1(Toplevel) TextWrapper1 Textbox1 Text1(Widget) ThreadPool1(Pool) ThreadingMixIn1 ThreadingTCPServer1(ThreadingMixIn) ThreadingUDPServer1(ThreadingMixIn) ThreadingUnixDatagramServer1(ThreadingMixIn) ThreadingUnixStreamServer1(ThreadingMixIn) Thread1(_Verbose) Time2Internaldate128date_time TimeEncoding1 TimeFromTicks128ticks TimeRE1(dict) TimedRotatingFileHandler1(BaseRotatingHandler) TimeoutError1(ProcessError) Timer128*args, **kwargs TimestampFromTicks128ticks TitledHelpFormatter1(HelpFormatter) TixSubWidget1(TixWidget) TixWidget1(Widget) ToASCII128label ToUnicode128label ToggleLevel128selfGetKeysDialog TokenError1(Exception) Tokenizer1 Token1(object) ToolTipBase1 ToolTip1(ToolTipBase) Toplevel1(BaseWidget) Traceback1(tuple) Trace1 Transformer1(object) TranslateKey128self, key, modifiersGetKeysDialog Transport1 TreeBuilder1(object) TreeItem1 TreeNode1 Treeview1(Widget) Tree1(TixWidget) Tributton1(Button) TruncatedHeaderError1(HeaderError) TryExcept1(stmt) TryFinally1(stmt) TupleArg1 TupleComp1(object) Tuple1(expr) TurtleGraphicsError1(Exception) TurtleScreenBase1(object) TurtleScreen1(TurtleScreenBase) Turtle1(RawTurtle) TypeError1 TypeInfo1(object) UAdd1(unaryop) UDPServer1(TCPServer) UINT16_C128c UINT32_C128c UINT64_C128c UINT8_C128c UINTMAX_C128c UNPACK_SEQUENCE128self, countStackDepthTracker URLError1(IOError) URLopener1(object) USub1(unaryop) UUID1(object) UnaryAdd1(Node) UnaryOp1(expr) UnarySub1(Node) UnboundLocalError1 Underflow1(Inexact) UndoDelegator1(Delegator) UnexpectedException1(Exception) UnicodeDecodeError1 UnicodeEncodeError1 UnicodeError1 UnicodeTranslateError1 UnicodeWarning1 UnimplementedFileMode1(HTTPException) Union1(_CData) UnixBrowser1(BaseBrowser) UnixCCompiler1(CCompiler) UnixDatagramServer1(UDPServer) UnixMailbox1(_Mailbox) UnixStreamServer1(TCPServer) UnknownFileError1(CCompilerError) UnknownHandler1(BaseHandler) UnknownProtocol1(HTTPException) UnknownTransferEncoding1(HTTPException) Unmarshaller1 Unpacker1(object) Unpickler1 UnpicklingError1(PickleError) UnsupportedOperation1(ValueError) Untokenizer1 UpdateUserHelpChangedItems128selfConfigDialog UserDict1 UserList1(MutableSequence) UserString1(Sequence) UserWarning1 VARIANT_BOOL1(_SimpleCData) ValidationErr1(DOMException) ValueError1 ValueProxy1(BaseProxy) ValuesView1(MappingView) Values1(object) Value128typecode_or_type, *args, **kwds VarChanged_autoSave128self, *paramsConfigDialog VarChanged_builtinKeys128self, *paramsConfigDialog VarChanged_builtinTheme128self, *paramsConfigDialog VarChanged_colour128self, *paramsConfigDialog VarChanged_customKeys128self, *paramsConfigDialog VarChanged_customTheme128self, *paramsConfigDialog VarChanged_encoding128self, *paramsConfigDialog VarChanged_fontBold128self, *paramsConfigDialog VarChanged_fontName128self, *paramsConfigDialog VarChanged_fontSize128self, *paramsConfigDialog VarChanged_highlightTarget128self, *paramsConfigDialog VarChanged_keyBinding128self, *paramsConfigDialog VarChanged_keysAreBuiltin128self, *paramsConfigDialog VarChanged_paraWidth128self, *paramsConfigDialog VarChanged_spaceNum128self, *paramsConfigDialog VarChanged_startupEdit128self, *paramsConfigDialog VarChanged_themeIsBuiltin128self, *paramsConfigDialog VarChanged_winHeight128self, *paramsConfigDialog VarChanged_winWidth128self, *paramsConfigDialog VariablesTreeItem1(ObjectTreeItem) Variable1 Vec2D1(tuple) VersionPredicate1 Version1 WIN32_FIND_DATAA1(Structure) WIN32_FIND_DATAW1(Structure) WSGIRequestHandler1(BaseHTTPRequestHandler) WSGIServer1(HTTPServer) WSGIWarning1(Warning) WalkerError1(StandardError) WarningMessage1(object) Warning1 WatchedFileHandler1(FileHandler) Wave_read1(object) Wave_write1(object) WeakKeyDictionary1(UserDict) WeakSet1(object) WeakValueDictionary1(UserDict) While1(stmt) Whitespace1 WichmannHill1(Random) WidgetRedirector1 Widget1(BaseWidget) WildcardPattern1(BasePattern) WindowList1 Window1(CanvasItem) With1(stmt) WrappedObjectTreeItem1 WriteWrapper1 WrongDocumentErr1(DOMException) XMLFilterBase1(xmlreader.XMLReader) XMLGenerator1(handler.ContentHandler) XMLID128text XMLParser1(object) XMLRPCDocGenerator1 XML128(text, parser=None) XView1 XmlClient128*args, **kwds XmlListener1(Listener) YView1 Yield1(expr) ZeroDivisionError1 ZipExtFile1(BufferedIOBase) ZipFile1 ZipInfo1(object) ZoomHeight1 __debug__128 __doc__128 __getitem__128self, keyArc __import__128 __init__128selfClassCodeGenerator __name__128 __package__128 _notimplemented128self, *args, **kwdsSystemRandom _register128self, func, subst=None, needcleanup=1BaseWidget _stub128self, *args, **kwdsSystemRandom _visitAssSequence128self, node, op='UNPACK_SEQUENCE'ClassCodeGenerator abort128selfFTP about_dialog128self, event=NoneEditorWindow abspath128path abstractmethod128funcobj abstractproperty1(property) acceptNode128self, nodeFilterVisibilityController accept_connection128self, c, nameServer accept_encodings128selfSimpleXMLRPCRequestHandler accept128selfDebuggingServer acct128self, passwordFTP acquire128self, waitflag=NoneLockType activate_restore128selfParenMatch activate128self, indexListbox activeCount128 active_children128 active_clear128selfTList active_set128self, indexTList actual128self, option=NoneFont adapt128delta, first, numchars addCleanup128self, function, *args, **kwargsDocFileCase addCode128self, *argsLineAddrTable addFilter128self, filterFileHandler addHandler128self, hdlrLogger addLevelName128level, levelName addNext128self, blockBlock addObject128self, valuePlistParser addOpenEventSupport128root, flist addOutEdge128self, blockBlock addTypeEqualityFunc128self, typeobj, functionDocFileCase add_alias128alias, canonical add_argument_group128self, *args, **kwargsArgumentParser add_arguments128self, actionsArgumentDefaultsHelpFormatter add_argument128self, actionArgumentDefaultsHelpFormatter add_callers128target, source add_cascade128self, cnf={}, **kwMenu add_cgi_vars128selfServerHandler add_channel128self, map=NoneDebuggingServer add_charset128charset, header_enc=None, body_enc=None, output_charset=None add_checkbutton128self, cnf={}, **kwMenu add_child128self, childClassScope add_codec128charset, codecname add_command128self, cnf={}, **kwMenu add_cookie_header128(self, request) add_data128self, dataRequest add_defaults128selfsdist add_def128self, nameClassScope add_dispatcher128self, path, dispatcherMultiPathXMLRPCServer add_extension128module, name, code add_fallback128self, fallbackGNUTranslations add_files128(self) add_filters128self, filterer, filtersDictConfigurator add_find_python128(self) add_fixer128(self, fixer) add_flag128self, flagMMDFMessage add_flowing_data128self, dataAbstractFormatter add_folder128self, folderMH add_frees128self, namesClassScope add_func_stats128target, source add_global128self, nameClassScope add_handlers128self, logger, handlersDictConfigurator add_handler128self, handlerOpenerDirector add_header128self, key, valRequest add_history128self, strComboBox add_hor_rule128self, *args, **kwAbstractFormatter add_include_dir128self, dirEMXCCompiler add_kwarg128(self, l_nodes, s_kwd, n_expr) add_label_data128self, format, counter, blankline=NoneAbstractFormatter add_label128self, labelBabylMessage add_library_dir128self, dirEMXCCompiler add_library128self, libnameEMXCCompiler add_line_break128selfAbstractFormatter add_link_object128self, objectEMXCCompiler add_literal_data128self, dataAbstractFormatter add_module128self, fqnameModuleFinder add_mutually_exclusive_group128self, **kwargsArgumentParser add_option_group128self, *args, **kwargsOptionParser add_options128self, option_listOptionParser add_option128self, *args, **kwargsOptionParser add_page128self, page_nameTabbedPageSet add_param128self, nameClassScope add_parent128self, parentAbstractHTTPHandler add_password128self, realm, uri, user, passwdHTTPPasswordMgr add_qname128(qname) add_radiobutton128self, cnf={}, **kwMenu add_runtime_library_dir128self, dirEMXCCompiler add_scripts128(self) add_section128self, sectionConfigParser add_separator128self, cnf={}, **kwMenu add_sequence128self, sequenceMHMessage add_subparsers128self, **kwargsArgumentParser add_suffix128self, suffix, importFuncImportManager add_tab128self, tab_nameTabSet add_text128self, textArgumentDefaultsHelpFormatter add_type128self, type, ext, strict=TrueMimeTypes add_ui128(self) add_unredirected_header128self, key, valRequest add_usage128self, usage, actions, groups, prefix=NoneArgumentDefaultsHelpFormatter add_use128self, nameClassScope add_whitespace128self, startUntokenizer add_windows_to_menu128self, menuWindowList addarc128(self, next, label=None) addbase1(object) addbuilddir128 addclosehook1(addbase) addclosure128(state, base) addcmd128self, cmd, execute=TrueModifiedUndoDelegator addcomponent128self, poly, fill, outline=NoneShape addcontinue128self, key, moreHTTPMessage addfile128self, tarinfo, fileobj=NoneTarFile addfirstsets128(self) addheader128self, key, valueHTTPMessage addinfourl1(addbase) addinfo1(addbase) addpackage128sitedir, name, known_paths addpair128self, xlo, xhiIntSet address_string128selfSimpleXMLRPCRequestHandler address_type128address addshape128name, shape=None addsitedir128sitedir, known_paths=None addsitepackages128known_paths addtag_above128self, newtag, tagOrIdCanvas addtag_all128self, newtagCanvas addtag_below128self, newtag, tagOrIdCanvas addtag_closest128self, newtag, x, y, halo=None, start=NoneCanvas addtag_enclosed128self, newtag, x1, y1, x2, y2Canvas addtag_overlapping128self, newtag, x1, y1, x2, y2Canvas addtag_withtag128self, newtag, tagOrIdCanvas addtag128self, *argsCanvas addtoken128(self, type, value, context) addusersitepackages128known_paths add128(self, pattern, start) adjustScrolls128selfScrolledCanvas adjusted128selfDecimal advance128() after_cancel128self, idBaseWidget after_idle128self, func, *argsBaseWidget after128self, ms, func=None, *argsBaseWidget aifc128selfAifc_write aiff128selfAifc_write aliasmbcs128 alias1(AST) all_methods128obj allmethods128cl allocate_lock128 allow_connection_pickling128 allowance128self, filenameEntry allowed_domains128(self) alternates128members anchor_bgn128self, href, name, typeHTMLParser anchor_clear128selfGrid anchor_end128selfHTMLParser anchor_get128selfGrid anchor_set128self, x, yGrid annotate128head, list announce128self, msg, level=2Distribution answer_challenge128connection, authkey any_missing_maybe128selfModuleFinder any_missing128selfModuleFinder any128(*choices) apop128self, user, secretPOP3 appendChild128self, nodeAttr appendData128self, argCDATASection append_child128self, childNode append_history128self, strComboBox append128self, valueMutableSequence application_uri128environ applies_to128self, useragentEntry apply_async128(self, func, args=(), kwds={}, callback=None) apply_bindings128self, keydefs=NoneEditorWindow apply_filter128selfFileSelectBox apply128 apropos128key arbitrary_address128family architecture128executable='/home/enrico/pyenv/py27/bin/python', bits='', linkage='' arguments1(AST) argument128self, nodelistTransformer arith_expr128self, nodelistTransformer array1(object) artcmd128self, line, file=NoneNNTP article128self, idNNTP atof128s atoi128*args atol128*args atom_backquote128self, nodelistTransformer atom_lbrace128self, nodelistTransformer atom_lpar128self, nodelistTransformer atom_lsqb128self, nodelistTransformer atom_name128self, nodelistTransformer atom_number128self, nodelistTransformer atom_string128self, nodelistTransformer atom128self, nodelistTransformer attach_widget128self, widgetResizeHandle attach128self, payloadBabylMessage attlist_decl_handler128self, elem, name, type, default, requiredExpatBuilder attr_chain128(obj, attr) attr_matches128self, textCompleter attrgetter1(object) authenticate128self, mechanism, authobjectIMAP4 authenticators128self, hostnetrc auth128selfFTP_TLS autocomplete_event128self, eventAutoComplete autosetmode128selfCheckList b16decode128s, casefold=False b16encode128s b32decode128s, casefold=False, map01=None b32encode128s b64decode128s, altchars=None b64encode128s, altchars=None backward128distance back128(self, title, next, name = "Back", active = 1) base64_decode128input, errors='strict' base64_encode128input, errors='strict' base64_len128s basename128s basestring128 basicConfig128**kwargs bbox128self, *argsCanvas bdist_dumb1(Command) bdist_msi1(Command) bdist_rpm1(Command) bdist_wininst1(Command) bdist1(Command) beginElement128self, elementDumbXMLWriter begin_array128self, attrsPlistParser begin_dict128self, attrsPlistParser begin_fill128selfTurtle begin_poly128selfTurtle beginexecuting128selfPyShell begin128selfHTTPResponse bell128self, displayof=0BaseWidget betavariate128self, alpha, betaRandom bgcolor128self, *argsTurtleScreen bgpic128self, picname=NoneTurtleScreen bigsection128self, title, *argsServerHTMLDoc binaryOp128self, node, opClassCodeGenerator bind_all128self, sequence=None, func=None, add=NoneBaseWidget bind_class128self, className, sequence=None, func=None, add=NoneBaseWidget bind_textdomain_codeset128domain, codeset=None bind_widget128self, widget, cnf={}, **kwBalloon bindtags128self, tagList=NoneBaseWidget bindtextdomain128domain, localedir=None bind128self, addrDebuggingServer binhex128inp, out bitOp128self, nodes, opClassCodeGenerator blank128selfPhotoImage blocked_domains128(self) body_encode128self, s, convert=TrueCharset body_line_iterator128msg, decode=False body_quopri_check128c body_quopri_len128str body128self, id, file=NoneNNTP bold128self, textTextDoc boolop1(AST) bool128 bp_commands128self, framePdb bpprint128self, out=NoneBreakpoint browseFile128selfGetHelpSourceDialog buffer128 buildDocument128self, uri, tagnamePullDOM build_clib1(Command) build_extensions128selfbuild_ext build_extension128self, extbuild_ext build_ext1(Command) build_libraries128self, librariesbuild_clib build_modules128selfbuild_py build_module128self, module, module_file, packagebuild_py build_opener128*handlers build_package_data128selfbuild_py build_packages128selfbuild_py build_pattern128selfFixImports build_post_data128self, actionregister build_py1(Command) build_scripts1(Command) build_subprocess_arglist128selfModifiedInterpreter build1(Command) builtin_function_or_method1(object) bump_depth128self, incr=1CommandSequence buttonbox128selfDialog byte_compile128py_files, optimize=0, force=0, prefix=None, base_dir=None, verbose=1, dry_run=0, direct=None bytearray128 bytes128 bz2_decode128input, errors='strict' bz2_encode128input, errors='strict' bz2open128cls, name, mode='r', fileobj=None, compresslevel=9, **kwargsTarFile c2py128plural c_bool1(_SimpleCData) c_buffer128init, size=None c_byte1(_SimpleCData) c_char_p1(_SimpleCData) c_char1(_SimpleCData) c_double1(_SimpleCData) c_float1(_SimpleCData) c_int1(_SimpleCData) c_longdouble1(_SimpleCData) c_long1(_SimpleCData) c_short1(_SimpleCData) c_ubyte1(_SimpleCData) c_uint1(_SimpleCData) c_ulong1(_SimpleCData) c_ushort1(_SimpleCData) c_void_p1(_SimpleCData) c_wchar_p1(_SimpleCData) c_wchar1(_SimpleCData) cachereport128selfColorDelegator calc_callees128selfStats calc_chksums128buf calcfirst128(self, name) calibrate128self, m, verbose=0Profile callHandlers128self, recordLogger call_callbacks128selfWindowList callable128 calltip_hide128self, eventcontainer calltip_show128self, eventcontainer call128*popenargs, **kwargs canSetFeature128self, name, stateDOMBuilder can_fetch128self, useragent, urlRobotFileParser cancel_callback128self, event=NonePyShell cancel_command128self, event=NoneFileDialog cancel_join_thread128selfJoinableQueue cancel128self, eventscheduler cannot_convert128(self, node, reason=None) canonical128self, context=NoneDecimal canonic128self, filenamePdb canonize128self, filenameFileList canvasx128self, screenx, gridspacing=NoneCanvas canvasy128self, screeny, gridspacing=NoneCanvas capability128selfIMAP4 capitalize128s captureWarnings128capture capwords128s, sep=None cast128obj, typ catch_warnings1(object) cell1(object) center_insert_event128self, eventEditorWindow center128s, width cert_time_to_seconds128cert_time cfg_convert128self, valueBaseConfigurator cget128self, keyBaseWidget chain1(object) change_indentwidth_event128self, eventEditorWindow change_page128self, page_nameTabbedPageSet change_roots128self, *namesinstall change_root128new_root, pathname changed128selfBase character_data_handler_cdata128self, dataExpatBuilder character_data_handler128self, dataExpatBuilder character_data128self, dataExpatParser characters128self, charsPullDOM charset128selfGNUTranslations chdir128self, dirDirList checkClass128selfClassCodeGenerator checkFlag128self, flagPyFlowGraph check_archive_formats128formats check_builtin128option, opt, value check_cache128selfCacheFTPHandler check_call128*popenargs, **kwargs check_choice128option, opt, value check_config_h128 check_content_type128status, headers check_enableusersite128 check_environ128 check_errors128wsgi_errors check_exc_info128exc_info check_extensions_list128self, extensionsbuild_ext check_for_whole_start_tag128self, iHTMLParser check_func128self, func, headers=None, include_dirs=None, libraries=None, library_dirs=None, decl=0, call=0config check_headers128headers check_header128self, header, include_dirs=None, library_dirs=None, lang='c'config check_input128wsgi_input check_iterator128iterator check_library_list128self, librariesbuild_clib check_lib128self, library, library_dirs=None, headers=None, include_dirs=None, other_libraries=[]config check_metadata128selfcheck check_module_event128self, eventScriptBinding check_module128self, module, module_filebuild_py check_name128self, nameClassScope check_output128*popenargs, **kwargs check_package128self, package, package_dirbuild_py check_restructuredtext128selfcheck check_saved128selfModifiedUndoDelegator check_status128status check_stmt128self, stmtFutureParser check_unused_args128self, used_args, args, kwargsFormatter check_values128self, values, argsOptionParser check_value128self, opt, valueOption checkcache128filename=None checkfuncname128b, frame checkgroup128self, gidPattern checkhide_event128self, event=NoneCallTip checking_metadata128selfsdist checklinecache128selfModifiedInterpreter checkline128self, filename, linenoPdb checkpoint128(self, mins=0) checksyntax128self, filenameScriptBinding check128file chmod128self, tarinfo, targetpathTarFile choice128self, seqRandom choose_boundary128 chown128self, tarinfo, targetpathTarFile cipher128selfSSLSocket circle128self, radius, extent=None, steps=NoneTurtle cleandoc128doc cleanup_headers128selfServerHandler cleanup_traceback128tb, exclude cleanup128selfFancyURLopener clean128selfMaildir clear_all_breaks128selfPdb clear_all_file_breaks128self, filenamePdb clear_bpbynumber128self, argPdb clear_breakpoint_here128self, event=NonePyShellEditorWindow clear_break128self, filename, linenoPdb clear_cache128selfCacheFTPHandler clear_cdata_mode128selfHTMLParser clear_expired_cookies128(self) clear_extension_cache128 clear_file_breaks128selfPyShellEditorWindow clear_flags128selfContext clear_memo128selfPickler clear_session_cookies128(self) clearcache128 clearscreen128 clearstamps128self, n=NoneTurtle clearstamp128self, stampidTurtle clear128selfWeakKeyDictionary click_event128self, eventScrolledList client_is_modern128selfServerHandler clipboard_append128self, string, **kwBaseWidget clipboard_clear128self, **kwBaseWidget clipboard_get128self, **kwBaseWidget cloneNode128self, deepAttr clone128selfIntSet close2128selfPyShell close_all_callback128self, *args, **kwdsFileList close_all128map=None, ignore_all=False close_data128selfBinHex close_debugger128selfPyShell close_event128self, eventEditorWindow close_hook128selfEditorWindow close_remote_debugger128rpcclt close_request128self, requestMultiPathXMLRPCServer close_subprocess_debugger128rpcclt close_when_done128selfSMTPChannel closegroup128self, gidPattern close128selfExFileObject closing1(object) closure128(state) cmdloop128self, intro=NonePdb cmp_conditions128(atuple, btuple) cmp_lt128x, y cmp_to_key128mycmp cmpfiles128a, b, common, shallow=1 cmpop1(AST) code_filename128self, cidIdbAdapter code_name128self, cidIdbAdapter code1(object) coding_spec128str coerce128 collapse_rfc2231_value128value, errors='replace', fallback_charset='us-ascii' collapse128self, event=NoneTreeNode collect_children128selfForkingMixIn collect_incoming_data128self, dataSMTPChannel colorize_syntax_error128self, msg, lineno, offsetScriptBinding colormodel128self, value=NoneBaseWidget colormode128self, cmode=NoneTurtleScreen color128self, *argsTurtle column_width128self, col=0, width=None, chars=NoneHList columnize128self, list, displaywidth=80Pdb column128self, column, option=None, **kwTreeview com_NEWLINE128self, *argsTransformer com_append_stmt128self, stmts, nodeTransformer com_apply_trailer128self, primaryNode, nodelistTransformer com_arglist128self, nodelistTransformer com_argument128self, nodelist, kw, star_nodeTransformer com_assign_attr128self, primary, node, assigningTransformer com_assign_list128self, node, assigningTransformer com_assign_name128self, node, assigningTransformer com_assign_trailer128self, primary, node, assigningTransformer com_assign_tuple128self, node, assigningTransformer com_assign128self, node, assigningTransformer com_augassign_op128self, nodeTransformer com_augassign128self, nodeTransformer com_bases128self, nodeTransformer com_binary128self, constructor, nodelistTransformer com_call_function128self, primaryNode, nodelistTransformer com_comp_iter128self, nodeTransformer com_comprehension128self, expr1, expr2, node, typeTransformer com_dictorsetmaker128self, nodelistTransformer com_dotted_as_names128self, nodeTransformer com_dotted_as_name128self, nodeTransformer com_dotted_name128self, nodeTransformer com_fpdef128self, nodeTransformer com_fplist128self, nodeTransformer com_generator_expression128self, expr, nodeTransformer com_import_as_names128self, nodeTransformer com_import_as_name128self, nodeTransformer com_list_comprehension128self, expr, nodeTransformer com_list_constructor128self, nodelistTransformer com_list_iter128self, nodeTransformer com_node128self, nodeTransformer com_select_member128self, primaryNode, nodelistTransformer com_sliceobj128self, nodeTransformer com_slice128self, primary, node, assigningTransformer com_stmt128self, nodeTransformer com_subscriptlist128self, primary, nodelist, assigningTransformer com_subscript128self, nodeTransformer com_try_except_finally128self, nodelistTransformer com_with_item128self, nodelist, body, linenoTransformer com_with128self, nodelistTransformer comment_handler128self, dataExpatBuilder comment_region_event128self, eventEditorWindow comment128self, sPullDOM common_logger_config128self, logger, config, incremental=FalseDictConfigurator commonprefix128m communicate128self, input=NonePopen comp_op128self, nodelistTransformer compact_traceback128 compare_signal128self, other, context=NoneDecimal compare_total_mag128self, otherDecimal compare_total128self, otherDecimal compare128self, other, context=NoneDecimal comparison128self, nodelistTransformer compat128self, token, iterableUntokenizer compileFile128filename, display=0 compile_basic128(self, nodes, repeat=None) compile_command128source, filename='', symbol='single' compile_dir128dir, maxlevels=10, ddir=None, force=0, rx=None, quiet=0 compile_file128fullname, ddir=None, force=0, rx=None, quiet=0 compile_node128self, nodeTransformer compile_path128skip_curdir=1, maxlevels=0, force=0, quiet=0 compile_pattern128(self, input, debug=False, with_tree=False) compile128 complete_help128self, *argsPdb completedefault128self, *ignoredPdb completenames128self, text, *ignoredPdb complete128self, text, stateCompleter complex128 comprehension1(AST) computeRollover128self, currentTimeTimedRotatingFileHandler computeStackDepth128selfPyFlowGraph compute_backslash_indent128selfParser compute_bracket_indent128selfParser config_all128self, option, valueBalloon config_colors128selfColorDelegator config_dialog128self, event=NoneEditorWindow config_dict128filename configure_custom128self, configBaseConfigurator configure_filter128self, configDictConfigurator configure_formatter128self, configDictConfigurator configure_handler128self, configDictConfigurator configure_logger128self, name, config, incremental=FalseDictConfigurator configure_root128self, config, incremental=FalseDictConfigurator configure128self, cnf=None, **kwBaseWidget config1(Command) conjugate128selfComplex connect_ex128self, addrSSLSocket connect_ftp128self, user, passwd, host, port, dirs, timeoutCacheFTPHandler connect128self, addressDebuggingServer constructor128object consume_wait128(self, *args, **kwargs) consume128(self, flags=0) container1 contains128self, xIntSet context_diff128a, b, fromfile='', tofile='', fromfiledate='', tofiledate='', n=3, lineterm='\n' contextmanager128func cont128selfDebugger convertArgs128selfPyFlowGraph convert_arg_line_to_args128self, arg_lineArgumentParser convert_charref128self, nameSGMLParser convert_codepoint128self, codepointSGMLParser convert_entityref128self, nameSGMLParser convert_field128self, value, conversionFormatter convert_mbcs128(s) convert_paths128self, *namesinstall convert_path128pathname convert_to_error128kind, result convert_value128self, opt, valueOption convert128self, sCharset coords128self, *argsCanvas copy2128src, dst copy_abs128selfDecimal copy_decimal128self, aContext copy_except128self, src, exceptionsRExec copy_file128self, infile, outfile, preserve_mode=1, preserve_times=1, link=None, level=1Command copy_location128new_node, old_node copy_negate128selfDecimal copy_none128self, srcRExec copy_only128self, src, namesRExec copy_scripts128selfbuild_scripts copy_sign128self, otherDecimal copy_tree128src, dst, preserve_mode=1, preserve_times=1, preserve_symlinks=0, update=0, verbose=1, dry_run=0 copybinary128input, output copyfileobj128src, dst, length=None copyfile128src, dst copyliteral128input, output copymessage128self, n, tofolder, tonFolder copymode128src, dst copyright128 copystat128src, dst copytree128src, dst, symlinks=False, ignore=None copy128selfWeakKeyDictionary countTestCases128selfDocFileCase count_calls128callers count128self, valueMutableSequence cpu_count128 cram128text, maxlen createAttributeNS128self, namespaceURI, qualifiedNameDocument createAttribute128self, qNameDocument createCDATASection128self, dataDocument createComment128self, dataDocument createDOMBuilder128self, mode, schemaTypeDOMImplementation createDOMInputSource128selfDOMImplementation createDOMWriter128selfDOMImplementation createDocumentFragment128selfDocument createDocumentType128self, qualifiedName, publicId, systemIdDOMImplementation createDocument128self, namespaceURI, qualifiedName, doctypeDOMImplementation createElementNS128self, namespaceURI, qualifiedNameDocument createElement128self, tagNameDocument createLock128selfFileHandler createParser128selfExpatBuilder createProcessingInstruction128self, target, dataDocument createSocket128selfDatagramHandler createTextNode128self, dataDocument create_arc128self, *args, **kwCanvas create_bitmap128self, *args, **kwCanvas create_command_buttons128selfReplaceDialog create_connection128address, timeout=, source_address=None create_decimal_from_float128self, fContext create_decimal128self, num='0'Context create_entries128selfReplaceDialog create_exe128self, arcname, fullname, bitmap=Nonebdist_wininst create_gnu_header128self, infoTarInfo create_home_path128selfinstall create_image128self, *args, **kwCanvas create_line128self, *args, **kwCanvas create_option_buttons128selfReplaceDialog create_other_buttons128selfReplaceDialog create_oval128self, *args, **kwCanvas create_parser128*args, **kwargs create_path_file128selfinstall create_pax_global_header128cls, pax_headersTarInfo create_pax_header128self, info, encoding, errorsTarInfo create_polygon128self, *args, **kwCanvas create_rectangle128self, *args, **kwCanvas create_socket128self, family, typeDebuggingServer create_static_lib128self, objects, output_libname, output_dir=None, debug=0, target_lang=NoneEMXCCompiler create_stats128selfProfile create_string_buffer128init, size=None create_tag_default128self, indicesParenMatch create_tag_expression128self, indicesParenMatch create_text128self, *args, **kwCanvas create_tree128base_dir, files, mode=511, verbose=1, dry_run=0 create_unicode_buffer128init, size=None create_ustar_header128self, infoTarInfo create_widgets128selfReplaceDialog create_window128self, *args, **kwCanvas createmenubar128selfEditorWindow createmessage128self, n, txtFolder create128self, mailboxIMAP4 credits128 critical128self, msg, *args, **kwargsLogger ctrl128c currency128val, symbol=True, grouping=False, international=False currentThread128 current_process128 current128(self, flags=0) curselection128selfListbox cursor128(self, txn=None, flags=0) customize_compiler128compiler data128self, msgLMTP date_time_string128self, timestamp=NoneSimpleXMLRPCRequestHandler datetime1(date) date1(object) dbremove128(self, *args, **kwargs) dbrename128(self, *args, **kwargs) dchars128self, *argsCanvas ddpop128self, bl=0HTMLParser deactivate_restore128selfParenMatch debug_info128self, cServer debug_print128self, msgEMXCCompiler debug_script128src, pm=False, globs=None debug_src128src, pm=False, globs=None debug_tree128tree debug128selfDocFileCase decode_generalized_number128extended, extpos, bias, errors decode_header128header decode_interrupthook128selfMyRPCClient decode_literal128self, litTransformer decode_long128data decode_params128params decode_request_content128self, dataSimpleXMLRPCRequestHandler decode_rfc2231128s decoderesponse128self, responseMyRPCClient decodestring128s decode128self, input, final=FalseBufferedIncrementalDecoder decorated128self, nodelistTransformer decorator_name128self, nodelistTransformer decorators128self, nodelistTransformer decorator128self, nodelistTransformer decref128self, c, identServer decrement128selfControl dedent_region_event128self, eventEditorWindow dedent128text deepcopy128x, memo=None, _nil=[] deepvalues128(mapping) degrees128self, fullcircle=360.0Turtle demo_app128environ, start_response demo128 deprecated_func128*args, **kwargsDocFileCase depth128selfBase deque1(object) describe128thing descriptions128self, group_patternNNTP description128self, groupNNTP deselectall128selfTreeNode deselecttree128selfTreeNode deselect128selfCheckbutton destroy128selfOptionParser detach_widget128self, widgetResizeHandle detach128selfBufferedIOBase detect_encoding128(readline) detect_language128self, sourcesEMXCCompiler determine_parent128self, caller, level=-1ModuleFinder dgettext128domain, message dictConfig128config dict_item128self, did, keyIdbAdapter dict_keys128self, didIdbAdapter dictproxy1(object) dict128 diff_texts128(a, b, filename) difference_update128self, otherWeakSet difference128self, otherWeakSet digest128selfHMAC dircmp1(object) dirname128s dirs_double_event128self, eventFileDialog dirs_select_event128self, eventFileDialog disable_interspersed_args128selfOptionParser disable128selfBreakpoint disassemble_string128code, lasti=-1, varnames=None, names=None, constants=None disassemble128co, lasti=-1 discard_buffers128selfSMTPChannel discard128self, itemWeakSet dispatch_call128self, frame, argPdb dispatch_exception128self, frame, argPdb dispatch_line128self, framePdb dispatch_return128self, frame, argPdb dispatcher_with_send1(dispatcher) dispatcher1(object) dispatch128self, node, *argsASTVisitor display_executing_dialog128selfModifiedInterpreter display_file_text128self, title, filename, encoding=NoneAboutDialog display_no_subprocess_error128selfModifiedInterpreter display_port_binding_error128selfModifiedInterpreter display_printer_text128self, title, printerAboutDialog displayhook128self, objPdb display128self, parent, near=NoneHelpDialog distance128self, x, y=NoneTurtle distb128tb=None dist128distname='', version='', id='', supported_dists=('SuSE', 'debian', 'fedora', 'redhat', 'centos', 'mandrake', 'mandriva', 'rocks', 'slackware', 'yellowdog', 'gentoo', 'UnitedLinux', 'turbolinux') dis128(pickle, out=None, memo=None, indentlevel=4) divide_int128self, a, bContext divide128self, a, bContext divmod128 dlineinfo128self, indexText dnd_accept128self, source, eventTester dnd_commit128self, source, eventTester dnd_end128self, target, eventIcon dnd_enter128self, source, eventTester dnd_leave128self, source, eventTester dnd_motion128self, source, eventTester dnd_start128source, event dngettext128domain, msgid1, msgid2, n doCleanups128selfDocFileCase doRollover128selfRotatingFileHandler do_EOF128self, argPdb do_GET128selfDocXMLRPCRequestHandler do_HEAD128selfSimpleHTTPRequestHandler do_POST128selfSimpleXMLRPCRequestHandler do_alias128self, argPdb do_args128self, argPdb do_base128self, attrsHTMLParser do_break128self, arg, temporary=0Pdb do_br128self, attrsHTMLParser do_clear128self, argPdb do_commands128self, argPdb do_command128self, chTextbox do_condition128self, argPdb do_continue128self, argPdb do_dd128self, attrsHTMLParser do_debug128self, argPdb do_disable128self, argPdb do_down128self, argPdb do_dt128self, attrsHTMLParser do_edit128selfEncodingMessage do_enable128self, argPdb do_find128self, ok=0ReplaceDialog do_handshake128selfSSLSocket do_help128self, argPdb do_hr128self, attrsHTMLParser do_ignore128self, argPdb do_img128self, attrsHTMLParser do_isindex128self, attrsHTMLParser do_jump128self, argPdb do_link128self, attrsHTMLParser do_list128self, argPdb do_li128self, attrsHTMLParser do_longs128opts, opt, longopts, args do_meta128self, attrsHTMLParser do_nextid128self, attrsHTMLParser do_next128self, argPdb do_ok128selfEncodingMessage do_open128self, http_class, reqAbstractHTTPHandler do_plaintext128self, attrsHTMLParser do_pp128self, argPdb do_p128self, argPdb do_quit128self, argPdb do_replace128selfReplaceDialog do_request_128self, requestHTTPHandler do_return128self, argPdb do_retval128self, argPdb do_rstrip128self, event=NoneRstripExtension do_run128self, argPdb do_shorts128opts, optstring, shortopts, args do_step128self, argPdb do_tbreak128self, argPdb do_unalias128self, argPdb do_until128self, argPdb do_up128self, argPdb do_whatis128self, argPdb do_where128self, argPdb docclass128self, object, name=None, mod=None, funcs={}, classes={}, *ignoredServerHTMLDoc docdata128self, object, name=None, mod=None, cl=NoneServerHTMLDoc docmd128self, cmd, args=''LMTP docmodule128self, object, name=None, mod=None, *ignoredServerHTMLDoc docother128self, object, name=None, mod=None, *ignoredServerHTMLDoc docproperty128self, object, name=None, mod=None, cl=NoneServerHTMLDoc docroutine128self, object, name, mod=None, funcs={}, classes={}, methods={}, cl=NoneServerHTMLDoc docserver128self, server_name, package_documentation, methodsServerHTMLDoc doctype128(self, name, pubid, system) document128self, object, name=None, *argsServerHTMLDoc does_tree_import128(package, name, node) dolog128fmt, *args domain_match128(A, B) domain_return_ok128(self, domain, request) done128selfUnpacker dotted_name128self, nodelistTransformer double_click_event128self, eventScrolledList doubleclick_event128self, eventAutoCompleteWindow down_event128self, eventScrolledList down128 dragsite_clear128selfHList dragsite_set128self, indexHList drawicon128selfTreeNode drawtext128selfTreeNode draw128self, x, yTreeNode dropsite_clear128selfHList dropsite_set128self, indexHList dtag128self, *argsCanvas dummy128self, cServer dumpNode128node dump_address_pair128pair dump_array128self, value, writeMarshaller dump_bool128self, value, writeMarshaller dump_datetime128self, value, writeMarshaller dump_dfa128(self, name, dfa) dump_dirs128self, msginstall dump_double128self, value, writeMarshaller dump_event128self, eventModifiedUndoDelegator dump_file128filename, head=None dump_instance128self, value, writeMarshaller dump_int128self, value, writeMarshaller dump_long128self, value, writeMarshaller dump_nfa128(self, name, start, finish) dump_nil128self, value, writeMarshaller dump_option_dicts128self, header=None, commands=None, indent=''Distribution dump_options128self, header=None, indent=''Command dump_stats128self, fileProfile dump_string128self, value, write, escape='escape'Marshaller dump_struct128self, value, write, escape='escape'Marshaller dump_unicode128self, value, write, escape='escape'Marshaller dumps128obj, protocol=None dump128self, objPickler dup128(self, flags=0) dyld_default_search128(name, env=None) dyld_env128(env, var) dyld_executable_path_search128(name, executable_path=None) dyld_fallback_framework_path128(env=None) dyld_fallback_library_path128(env=None) dyld_find128(name, executable_path=None, env=None) dyld_framework_path128(env=None) dyld_image_suffix_search128(iterator, env=None) dyld_image_suffix128(env=None) dyld_library_path128(env=None) dyld_override_search128(name, env=None) dylib_info128filename edit_apply128selfGrid edit_cancel128self, event=NoneTreeNode edit_finish128self, event=NoneTreeNode edit_modified128self, arg=NoneText edit_redo128selfText edit_reset128selfText edit_separator128selfText edit_set128self, x, yGrid edit_undo128selfText edit128self, *argsText eff_request_host128(request) effective128file, line, frame ehlo_or_helo_if_needed128selfLMTP ehlo128self, name=''LMTP element_create128self, elementname, etype, *args, **kwStyle element_decl_handler128self, name, modelExpatBuilder element_names128selfStyle element_options128self, elementnameStyle elements128selfCounter ellipsis1(object) emit128self, instBlock emptyline128selfPdb empty128selfLifoQueue enable_interspersed_args128selfOptionParser enable_traversal128selfNotebook enable128selfBreakpoint encodePriority128self, facility, prioritySysLogHandler encode_7or8bit128msg encode_base64128msg encode_basestring128s encode_long128x encode_noop128msg encode_quopri128msg encode_rfc2231128s, charset=None, language=None encoded_header_len128self, sCharset encodestring128s encode128s, binary=True, maxlinelen=76, eol='\n' endDocument128selfPullDOM endElementNS128self, name, tagNamePullDOM endElement128self, elementDumbXMLWriter endPrefixMapping128self, prefixPullDOM end_address128selfHTMLParser end_array128selfPlistParser end_a128selfHTMLParser end_base64128self, dataUnmarshaller end_blockquote128selfHTMLParser end_body128selfHTMLParser end_boolean128self, dataUnmarshaller end_b128selfHTMLParser end_cdata_section_handler128selfExpatBuilder end_cite128selfHTMLParser end_code128selfHTMLParser end_data128selfPlistParser end_dateTime128self, dataUnmarshaller end_date128selfPlistParser end_dict128selfPlistParser end_dir128selfHTMLParser end_dispatch128self, tag, dataUnmarshaller end_dl128selfHTMLParser end_doctype_decl_handler128selfExpatBuilder end_double128self, dataUnmarshaller end_element_handler128self, nameExpatBuilder end_element_ns128self, nameExpatParser end_element128self, nameExpatParser end_em128selfHTMLParser end_false128selfPlistParser end_fault128self, dataUnmarshaller end_fill128selfTurtle end_h1128selfHTMLParser end_h2128selfHTMLParser end_h3128selfHTMLParser end_h4128selfHTMLParser end_h5128selfHTMLParser end_h6128selfHTMLParser end_headers128selfSimpleXMLRPCRequestHandler end_head128selfHTMLParser end_html128selfHTMLParser end_integer128selfPlistParser end_int128self, dataUnmarshaller end_i128selfHTMLParser end_kbd128selfHTMLParser end_key128selfPlistParser end_listing128selfHTMLParser end_marker128self, strMultiFile end_menu128selfHTMLParser end_methodName128self, dataUnmarshaller end_namespace_decl128self, prefixExpatParser end_nil128self, dataUnmarshaller end_ol128selfHTMLParser end_paragraph128self, blanklineAbstractFormatter end_params128self, dataUnmarshaller end_poly128selfTurtle end_pre128selfHTMLParser end_real128selfPlistParser end_samp128selfHTMLParser end_section128selfArgumentDefaultsHelpFormatter end_string128selfPlistParser end_strong128selfHTMLParser end_struct128self, dataUnmarshaller end_title128selfHTMLParser end_true128selfPlistParser end_tt128selfHTMLParser end_ul128selfHTMLParser end_value128self, dataUnmarshaller end_var128selfHTMLParser end_xmp128selfHTMLParser endexecuting128selfPyShell endheaders128self, message_body=NoneHTTPConnection endswith128self, suffix, start=0, end=9223372036854775807MutableString endtransfer128selfftpwrapper end128(self, tag) ensure_dirname128self, optionCommand ensure_filename128self, optionCommand ensure_finalized128selfCommand ensure_fromlist128self, m, fromlist, recursive=0ModuleFinder ensure_relative128path ensure_string_list128self, optionCommand ensure_string128self, option, default=NoneCommand ensure_utf8128(s) ensure_value128self, attr, valueValues enter_callback128self, eventPyShell enterabs128self, time, priority, action, argumentscheduler enter128self, delay, priority, action, argumentscheduler entity_decl_handler128self, entityName, is_parameter_entity, value, base, systemId, publicId, notationNameExpatBuilder entrycget128self, index, optionMenu entryconfigure128self, index, cnf=None, **kwMenu enumerate128 eof_callback128self, eventPyShell equal128self, otherWhitespace errmsg128msg, doc, pos, end=None error_leader128self, infile=None, lineno=Noneshlex error_output128self, environ, start_responseServerHandler error_perm1(Error) error_proto1(Exception) error_reply1(Error) error_temp1(Error) errorbox128self, title, messageScriptBinding error128self, messageArgumentParser errprint128*args escape_path128(path) escape128pattern evalString128s eval_input128self, nodelistTransformer eval_print_amount128self, sel, list, msgStats eval128 event_add128self, virtual, *sequencesBaseWidget event_delete128self, virtual, *sequencesBaseWidget event_generate128self, sequence, **kwBaseWidget event_info128self, virtual=NoneBaseWidget example128 excel_tab1(excel) excel1(Dialect) exclude_pattern128self, pattern, anchor=1, prefix=None, is_regex=0FileList exists128path exithook128selfMyRPCClient exitonclick128 exit128 expandNode128self, nodeDOMEventStream expand_args128args, flist expand_basedirs128selfinstall expand_default128self, optionHelpFormatter expand_dirs128selfinstall expand_makefile_vars128s, vars expand_prog_name128self, sOptionParser expand_substates128states expand_template128template, match expand_word_event128self, eventAutoExpand expandtabs128s, tabsize=8 expanduser128path expandvars128path expand128self, event=NoneTreeNode expect128self, list, timeout=NoneTelnet expn128self, addressLMTP expovariate128self, lambdRandom expr_context1(AST) expr_stmt128self, nodelistTransformer expr1(AST) expunge128selfIMAP4 ext_convert128self, valueBaseConfigurator extend_path128path, name extended_linecache_checkcache128filename=None, orig_checkcache='extended_linecache_checkcache' extend128self, valuesMutableSequence external_entity_ref_handler128self, context, base, systemId, publicIdExpatBuilder external_entity_ref128self, context, base, sysid, pubidExpatParser extractLineNo128ast extract_cookies128(self, response, request) extract_stack128f=None, limit=None extract_tb128tb, limit=None extractall128self, path='.', members=NoneTarFile extractfile128self, memberTarFile extract128self, member, path=''TarFile factor128self, nodelistTransformer fail128self, object, name=None, *argsServerHTMLDoc fallback_getpass128prompt='Password: ', stream=None fallback_getvalue128self, conn, ident, objServer fallback_repr128self, conn, ident, objServer fallback_str128self, conn, ident, objServer families128root=None fancy_getopt128options, negative_opt, object, args fatalError128self, exceptionErrorHandler fatal128self, msg, *argsLog fd128(self, *args, **kwargs) feed128self, dataHTMLParser fetch_completions128self, what, modeAutoComplete fetch_tip128self, nameCallTips fetch128self, message_set, message_partsIMAP4 fifo1(object) fileConfig128fname, defaults=None, disable_existing_loggers=True file_close128selfftpwrapper file_dialog128selfFileEntry file_dispatcher1(dispatcher) file_input128self, nodelistTransformer file_module_function_of128self, frameTrace file_open128self, reqFileHandler file_wrapper1(object) fileid_reset128(self, *args, **kwargs) filelineno128selfFileInput filemode128mode filename_change_hook128selfEditorWindow filename_changed_edit128self, editFileList filename128selfFileInput fileno128selfMultiPathXMLRPCServer fileopen128file files_double_event128self, eventFileDialog files_select_event128self, eventFileDialog file128 fill_menus128self, menudefs=None, keydefs=NoneEditorWindow fill_menu128selfScrolledList fill_rawq128selfTelnet fillcolor128self, *argsTurtle fill128self, textTextWrapper filter_command128self, event=NoneFileDialog filterwarnings128action, message='', category='Warning', module='', lineno=0, append=0 filter128 finalize_options128selfDistribution finalize_other128selfinstall finalize_package_data128selfbdist_rpm finalize_unix128selfinstall findCaller128selfLogger findDepth128self, insts, debug=0StackDepthTracker findOp128node find_above128self, tagOrIdCanvas find_again_event128self, eventEditorWindow find_again128self, textSearchDialog find_all_modules128selfbuild_py find_all_submodules128self, mModuleFinder find_all128selfCanvas find_assign128(node) find_below128self, tagOrIdCanvas find_binding128(name, node, package=None) find_builtin_module128self, nameFancyModuleLoader find_class128self, module, nameUnpickler find_closest128self, x, y, halo=None, start=NoneCanvas find_config_files128selfDistribution find_cookie128(line) find_data_files128self, package, src_dirbuild_py find_enclosed128self, x1, y1, x2, y2Canvas find_event128self, eventEditorWindow find_excepts128(nodes) find_executable_linenos128filename find_executable128executable, path=None find_exe128(self, exe) find_function128funcname, filename find_futures128node find_good_parse_start128self, is_char_in_string=None, _synchre='search'Parser find_head_package128self, parent, nameModuleFinder find_in_files_event128self, eventEditorWindow find_indentation128(node) find_it128self, event=NoneReplaceDialog find_library_file128self, dirs, lib, debug=0EMXCCompiler find_library128name find_lines_from_code128code, strs find_lines128code, strs find_loader128fullname find_longest_match128self, alo, ahi, blo, bhiSequenceMatcher find_metas128(cls_node) find_module_in_dir128self, name, dir, allow_packages=1FancyModuleLoader find_modules128selfbuild_py find_module128self, name, path, parent=NoneModuleFinder find_overlapping128self, x1, y1, x2, y2Canvas find_package_modules128self, package, package_dirbuild_py find_paragraph128text, mark find_params128(node) find_prefix_at_end128haystack, needle find_root128(node) find_selection_event128self, eventEditorWindow find_selection128self, textSearchDialog find_strings128filename find_swig128selfbuild_ext find_user_password128self, realm, authuriHTTPPasswordMgr find_vcvarsall128(version) find_withtag128self, tagOrIdCanvas findall128pattern, string, flags=0 findfiles128self, dir, base, recGrepDialog finditer128pattern, string, flags=0 findlabels128code findlinestarts128code findmatch128caps, MIMEtype, key='view', filename='/dev/null', plist=[] findparam128name, plist findsource128object findtext128elem, path, default=None, namespaces=None find128s, *args finish_content128selfServerHandler finish_endtag128self, tagSGMLParser finish_off128(self) finish_request128self, request, client_addressMultiPathXMLRPCServer finish_response128selfServerHandler finish_shorttag128self, tag, dataSGMLParser finish_starttag128self, tag, attrsSGMLParser finish_tree128(self, tree, filename) finish128selfSimpleXMLRPCRequestHandler first_element_handler128self, name, attributesExpatBuilder first128selfBsdDbShelf fix_eols128s fix_help_options128options fix_missing_locations128node fixlastline128selfIOBinding fixup_indent128(suite) fixup_parse_tree128(cls_node) fixup_simple_stmt128(parent, i, stmt_node) fixwordbreaks128root flash_paren_event128self, eventParenMatch flash128selfButton flattenGraph128selfPyFlowGraph flatten_nodes128seq flatten128seq flip128self, event=NoneTreeNode float128 flush_softspace128selfAbstractFormatter flush_stdout128 flushheaders128selfMimeWriter flush128selfStringIO fnmatchcase128name, pat fnmatch128name, pat focus_displayof128selfBaseWidget focus_force128selfBaseWidget focus_get128selfBaseWidget focus_lastfor128selfBaseWidget focus_set128selfBaseWidget focus128self, *argsCanvas font_timer_event128selfCodeContext found_terminator128selfSMTPChannel fpdef128self, nodelistTransformer fplist128self, nodelistTransformer fraction128self, x, yScrollbar frame_attr128self, fid, nameIdbAdapter frame_code128self, fidIdbAdapter frame_globals128self, fidIdbAdapter frame_locals128self, fidIdbAdapter framework_find128(fn, executable_path=None, env=None) framework_info128filename frame1(object) freeze_support128 free128self, blockHeap frozenset128 ftp_open128self, reqCacheFTPHandler ftpcp128source, sourcename, target, targetname='', type='I' ftperrors128 ftpwrapper1 fullmodname128path full128selfLifoQueue func_get_function_name128func func_std_string128func_name func_strip_path128func_name funcdef128self, nodelistTransformer function1(object) func128(((a, b), c), d) f128() gaierror1(error) gammavariate128self, alpha, betaRandom gather128selfTextbox gauss128self, mu, sigmaRandom gen_error128self, msg, line=NoneTextFile gen_lib_options128compiler, library_dirs, runtime_library_dirs, libraries gen_lines128(self, block, indent) gen_preprocess_options128macros, include_dirs gen_usage128script_name generateArgList128arglist generateArgUnpack128self, argsAbstractFunctionCode generate_generalized_integer128N, bias generate_grammar128(filename="Grammar.txt") generate_help128self, header=NoneFancyGetopt generate_html_documentation128selfDocCGIXMLRPCRequestHandler generate_integers128baselen, deltas generate_matches128self, nodesBasePattern generate_tokens128readline generator1(object) generic_visit128self, nodeNodeTransformer genops128(pickle) getArgCount128args getAttributeNS128self, namespaceURI, localNameElement getAttributeNodeNS128self, namespaceURI, localNameElement getAttributeNode128self, attrnameElement getAttributeTypeNS128self, namespaceURI, localNameElementInfo getAttributeType128self, anameElementInfo getAttribute128self, attnameElement getBlocksInOrder128selfFlowGraph getBlocks128selfFlowGraph getByteStream128(self) getCharacterStream128(self) getChildNodes128selfAdd getChildren128selfAdd getChild128self, suffixLogger getCode128selfAbstractCompileMode getColumnNumber128selfExpatLocator getConsts128selfPyFlowGraph getContainedGraphs128selfBlock getContentHandler128selfExpatParser getDOMImplementation128features=None getDTDHandler128selfExpatParser getData128selfPlistParser getEffectiveLevel128selfLogger getElementById128self, idDocument getElementsByTagNameNS128self, namespaceURI, localNameDocument getElementsByTagName128self, nameDocument getEncoding128(self) getEntityResolver128selfExpatParser getErrorHandler128selfExpatParser getEventCategory128self, recordNTEventLogHandler getEventType128self, recordNTEventLogHandler getEvent128selfDOMEventStream getException128selfSAXException getFeature128self, nameDOMBuilder getFilesToDelete128selfTimedRotatingFileHandler getInstructions128selfBlock getInterface128self, featureAttr getLength128selfAttributesImpl getLevelName128level getLineNumber128selfExpatLocator getLocals128selfLocalNameFinder getLoggerClass128 getLogger128self, nameManager getMessageID128self, recordNTEventLogHandler getMessage128selfLogRecord getNameByQName128self, nameAttributesImpl getNamedItemNS128self, namespaceURI, localNameNamedNodeMap getNamedItem128self, nameNamedNodeMap getNames128selfAttributesImpl getName128selfThread getParent128(self) getParser128selfExpatBuilder getProperty128self, nameExpatParser getPublicId128selfExpatLocator getPycHeader128selfModule getQNameByName128self, nameAttributesImpl getQNames128selfAttributesImpl getRoot128selfFlowGraph getSubject128self, recordSMTPHandler getSubset128selfInternalSubsetExtractor getSystemId128selfExpatLocator getTable128selfLineAddrTable getType128self, nameAttributesImpl getUserData128self, keyAttr getValueByQName128self, nameAttributesImpl getValue128self, nameAttributesImpl get_1128(self, flags) get_2128(self, key, flags) get_3128(self, key, value, flags) get_accelerator128keydefs, eventname get_account128self, hostNetrc get_address128selfBufferWrapper get_algorithm_impls128self, algorithmAbstractDigestAuthHandler get_all_breaks128selfPdb get_all_fix_names128(fixer_pkg, remove_prefix=True) get_all128self, name, failobj=NoneBabylMessage get_app128selfWSGIServer get_archive_files128selfsdist get_archive_formats128 get_arg_text128ob get_attr_name128self, long_optionFancyGetopt get_author_email128selfDistributionMetadata get_authorization128self, req, chalAbstractDigestAuthHandler get_author128selfDistributionMetadata get_base_indent_string128selfParser get_body_encoding128selfCharset get_both128(self, key, value, txn=None, flags=0) get_boundary128self, failobj=NoneBabylMessage get_breaks128self, filename, linenoPdb get_break128self, filename, linenoPdb get_buffer128selfPacker get_build_architecture128 get_build_version128() get_bytes_le128selfUUID get_byteswapped128(self, *args, **kwargs) get_bytes128selfUUID get_cachesize128(self, *args, **kwargs) get_cell_vars128selfClassScope get_characteristic_subpattern128(subpatterns) get_charsets128self, failobj=NoneBabylMessage get_charset128selfBabylMessage get_children128selfClass get_class_members128klass get_classifiers128selfDistributionMetadata get_clock_seq_hi_variant128selfUUID get_clock_seq_low128selfUUID get_clock_seq128selfUUID get_close_matches128word, possibilities, n=3, cutoff=0.6 get_cnonce128self, nonceAbstractDigestAuthHandler get_code128self, parent, modname, fqnameBuiltinImporter get_command_class128self, commandDistribution get_command_list128selfDistribution get_command_name128selfCommand get_command_obj128self, command, create=1Distribution get_command_packages128selfDistribution get_comment_header128line get_config_h_filename128 get_config_vars128*args get_config_var128name get_contact_email128selfDistributionMetadata get_contact128selfDistributionMetadata get_content_charset128self, failobj=NoneBabylMessage get_content_maintype128selfBabylMessage get_content_subtype128selfBabylMessage get_content_type128selfBabylMessage get_context128self, new_topvisible, stopline=1, stopindent=0CodeContext get_continuation_type128selfParser get_data_files128selfbuild_py get_data128selfRequest get_date128selfMaildirMessage get_dbp128(self, *args, **kwargs) get_default_compiler128osname=None, platform=None get_default_type128selfBabylMessage get_default_values128selfOptionParser get_default128self, destArgumentParser get_description128selfOptionParser get_dispatcher128self, pathMultiPathXMLRPCServer get_docstring128node, clean=True get_doctest128self, string, globs, name, filename, linenoDocTestParser get_download_url128selfDistributionMetadata get_entity_digest128self, data, chalAbstractDigestAuthHandler get_entity128self, nameCallTips get_environ128selfWSGIRequestHandler get_examples128self, string, name=''DocTestParser get_exception128selfStackTreeItem get_exe_bytes128selfbdist_wininst get_export_symbols128self, extbuild_ext get_expression128selfHyperParser get_ext_filename128self, ext_namebuild_ext get_ext_fullname128self, ext_namebuild_ext get_ext_fullpath128self, ext_namebuild_ext get_extension128self, codeUnpickler get_features128selfFutureParser get_fields128selfUUID get_field128self, field_name, args, kwargsFormatter get_file_breaks128self, filenamePdb get_file_list128selfsdist get_filenames128selfLogReader get_filename128self, failobj=NoneBabylMessage get_fileno128self, filenameLogReader get_file128self, keyBabyl get_filter128selfFileDialog get_finalized_command128self, command, create=1Command get_fixers_from_package128(pkg_name) get_fixers128(self) get_flags128selfMMDFMessage get_folder128self, folderMH get_followers128selfBlock get_free_vars128selfClassScope get_frees128selfFunction get_from128selfMMDFMessage get_frozen_object128self, nameRHooks get_full_url128selfRequest get_fullname128selfDistributionMetadata get_funcname128self, fileno, linenoLogReader get_geometry128selfEditorWindow get_globals128selfFunction get_grouped_opcodes128self, n=3SequenceMatcher get_header128self, header_name, default=NoneRequest get_hex128selfUUID get_hooks128selfModuleImporter get_host_info128self, hostSafeTransport get_hosts128selfNetrc get_host128selfRequest get_identifiers128selfClass get_ident128 get_id128selfClass get_importer128path_item get_indent128line get_info128self, encoding, errorsTarInfo get_inidata128selfbdist_wininst get_inputs128selfinstall get_installer_filename128self, fullnamebdist_wininst get_int128(self, node) get_keywords128selfDistributionMetadata get_key128(self, *args, **kwargs) get_labels128selfBabyl get_last_open_bracket_pos128selfParser get_last_stmt_bracketing128selfParser get_libraries128self, extbuild_ext get_library_names128selfbuild_clib get_license128selfDistributionMetadata get_line_col128index get_line_info128self, linenumCodeContext get_linear_subpattern128(self) get_lineno128selfClass get_line128selfNannyNag get_loader128selfModuleImporter get_locals128selfFunction get_lock128selfSynchronized get_logger128 get_long_be128s get_long_description128selfDistributionMetadata get_long_le128s get_macros128selfNetrc get_macro128self, macroNetrc get_maintainer_email128selfDistributionMetadata get_maintainer128selfDistributionMetadata get_makefile_filename128 get_matching_blocks128selfSequenceMatcher get_message128self, keyBabyl get_methods128selfClass get_method128selfRequest get_module_outfile128self, build_dir, package, modulebuild_py get_module128selfAbstractClassCode get_msg128selfNannyNag get_msvc_paths128self, path, platform='x86'MSVCCompiler get_msvcr128 get_namespaces128selfSymbol get_namespace128selfSymbol get_names128selfFileHandler get_name128selfClass get_node128selfUUID get_nonstandard_attr128(self, name, default=None) get_nowait128selfLifoQueue get_num_lines_in_stmt128selfParser get_obj128selfSynchronized get_obsoletes128selfDistributionMetadata get_opcodes128selfSequenceMatcher get_opt_string128selfOption get_option_dict128self, commandDistribution get_option_group128self, opt_strOptionParser get_option_order128selfFancyGetopt get_option128self, opt_strOptionParser get_origin_req_host128selfRequest get_output_charset128selfCharset get_outputs128selfinstall_misc get_package_dir128self, packagebuild_py get_parameters128selfFunction get_params128self, failobj=None, header='content-type', unquote=TrueBabylMessage get_param128self, param, failobj=None, header='content-type', unquote=TrueBabylMessage get_parent_map128context get_path_names128 get_paths128scheme='posix_prefix', vars=None, expand=True get_path128name, scheme='posix_prefix', vars=None, expand=True get_payload128self, i=None, decode=FalseBabylMessage get_platforms128selfDistributionMetadata get_platform128 get_poly128selfTurtle get_position128selfUnpacker get_prefix128selfBase get_print_list128self, sel_listStats get_prog_name128selfOptionParser get_protocol_name128protocol_code get_provides128selfDistributionMetadata get_python_inc128plat_specific=0, prefix=None get_python_lib128plat_specific=0, standard_lib=0, prefix=None get_python_version128 get_range128(self, *args, **kwargs) get_region128selfEditorWindow get_remote_proxy128self, oidMyRPCClient get_request128selfMultiPathXMLRPCServer get_requires128selfDistributionMetadata get_saved128selfEditorWindow get_scheme_names128 get_scheme128selfServerHandler get_selection_indices128selfEditorWindow get_selection128text get_selector128selfRequest get_sequences128selfMH get_server_certificate128addr, ssl_version=1, ca_certs=None get_server128selfBaseManager get_short_be128s get_short_le128s get_size128selfBufferWrapper get_socket128selfTelnet get_sort_arg_defs128selfStats get_source_files128selfbuild_clib get_source128self, fullname=NoneImpLoader get_stack128self, f, tPdb get_standard_extension_names128selfEditorWindow get_starttag_text128selfHTMLParser get_stderr128selfServerHandler get_stdin128selfServerHandler get_string128self, keyBabyl get_sub_commands128selfCommand get_subdir128selfMaildirMessage get_suffixes128selfRExec get_suffix128selfBase get_surrounding_brackets128self, openers='([{', mustclose=FalseHyperParser get_symbols128selfClass get_tabwidth128selfEditorWindow get_temp_dir128 get_terminator128selfSMTPChannel get_the_calltip128self, nameExecutive get_the_completion_list128self, what, modeExecutive get_time_hi_version128selfUUID get_time_low128selfUUID get_time_mid128selfUUID get_time128selfUUID get_title128selfListedToplevel get_token128selfshlex get_top_level_stats128selfStats get_type128selfRequest get_unixfrom128selfBabylMessage get_url128selfDistributionMetadata get_urn128selfUUID get_usage128selfOptionParser get_user_passwd128self, host, realm, clear_cache=0FancyURLopener get_value128self, key, args, kwargsFormatter get_var_obj128self, name, vartype=NoneEditorWindow get_variant128selfUUID get_verbose128selfRExec get_versions128 get_version128selfOptionParser get_visible128selfBabylMessage get_warning_stream128selfPyShell getabsfile128object, _filename=None getacl128self, mailboxIMAP4 getaddresses128fieldvalues getaddress128selfAddressList getaddrlist128self, nameHTTPMessage getaddrspec128selfAddressList getaddr128self, nameHTTPMessage getallmatchingheaders128self, nameHTTPMessage getannotation128self, mailbox, entry, attributeIMAP4 getargspec128func getargs128co getargvalues128frame getatime128filename getatom128self, atomends=NoneAddressList getattr128 getblock128lines getbodyparts128selfMessage getbodytext128self, decode=1Message getbody128selfMessage getboolean128self, section, optionConfigParser getcallargs128func, *positional, **named getcanvas128selfTurtleScreen getcaps128 getchildren128(self) getclasstree128classes, unique=0 getcmd128self, iCommandSequence getcode128selfHTTPError getcomments128object getcomment128selfAddressList getcompname128selfAu_read getcomptype128selfAu_read getcontext128selfMH getcookedpat128selfSearchEngine getctime128filename getcurrent128selfFolder getdate_tz128self, nameHTTPMessage getdate128self, nameHTTPMessage getdebugger128selfModifiedInterpreter getdecoder128encoding getdefaultlocale128envvars=('LC_ALL', 'LC_CTYPE', 'LANG', 'LANGUAGE') getdelegate128selfColorDelegator getdelimited128self, beginchar, endchars, allowcomments=1AddressList getdocloc128self, objectServerHTMLDoc getdoc128object getdomainliteral128selfAddressList getdomain128selfAddressList getencoder128encoding getencoding128selfHTTPMessage getenv128key, default=None getfileinfo128name getfilename128selfScriptBinding getfile128selfHTTP getfillable128selfPlay_Audio_sgi getfilled128selfPlay_Audio_sgi getfirstmatchingheader128self, nameHTTPMessage getfirstweekday128selfCalendar getfirst128self, key, default=NoneFieldStorage getfloat128self, section, optionConfigParser getfp128selfAu_read getfqdn128name='' getframeinfo128frame, context=1 getframerate128selfAu_read getfullname128selfFolder gethdr128fp getheaders128self, nameHTTPMessage getheadertext128self, pred=NoneMessage getheader128self, name, default=NoneHTTPMessage geticonimage128self, nameTreeNode getincrementaldecoder128encoding getincrementalencoder128encoding getinfo128self, nameTarFileCompat getinnerframes128tb, context=1 getint128self, section, optionConfigParser getiterator128self, tag=NoneElementTree getlast128selfFolder getlineno128frame getlines128filename, module_globals=None getline128self, promptHelper getlist128self, keyFieldStorage getlocale128category=0 getlongresp128self, file=NoneNNTP getmaintype128selfHTTPMessage getmarkers128selfAu_read getmark128self, idAu_read getmembers128selfTarFile getmember128self, nameTarFile getmessagefilename128self, nFolder getmethodname128selfUnmarshaller getmethparlist128ob getmode128self, entrypathCheckList getmoduleinfo128path getmodulename128path getmodule128object, _filename=None getmro128cls getmtime128filename getmultiline128selfFTP getnamespace128selfTestXMLParser getnames128selfTarFile getname128selfChunk getnchannels128selfAu_read getnframes128selfAu_read getnode128 getopt128args, shortopts, longopts=[] getouterframes128frame, context=1 getoutput128cmd getpager128 getparamnames128selfHTTPMessage getparams128selfAu_read getparam128self, nameHTTPMessage getparser128selfSafeTransport getpath128selfMH getpat128selfSearchEngine getpeercert128self, binary_form=FalseSSLSocket getpeername128SSLSocket getpen128 getphraselist128selfAddressList getplist128selfHTTPMessage getpos128selfHTMLParser getpreferredencoding128do_setlocale=True getprevword128selfAutoExpand getprofile128self, keyMH getprog128selfSearchEngine getproxies_environment128 getquotaroot128self, mailboxIMAP4 getquota128self, rootIMAP4 getquote128selfAddressList getrandbits128self, kSystemRandom getrawheader128self, nameHTTPMessage getreader128encoding getregentry128 getreply128self, buffering=FalseHTTP getresponse128self, buffering=FalseHTTPConnection getresp128selfNNTP getroot128selfElementTree getrouteaddr128selfAddressList getsampwidth128selfAu_read getscreen128selfTurtle getselection128self, mode='on'CheckList getsequencesfilename128selfFolder getsequences128selfFolder getset_descriptor1(object) getshapes128selfTurtleScreen getsitepackages128 getsize128filename getsockname128SSLSocket getsockopt128SSLSocket getsourcefile128object getsourcelines128object getsource128object getstate128selfRandom getstatusoutput128cmd getstatus128file getsubtype128selfHTTPMessage gettags128self, *argsCanvas gettarinfo128self, name=None, arcname=None, fileobj=NoneTarFile gettempdir128 gettempprefix128 gettext128message gettimeout128SSLSocket gettoken128(self) getturtle128selfTurtle gettype128selfHTTPMessage geturl128selfHTTPError getuserbase128 getusersitepackages128 getuser128 getvalue128selfStringIO getvar128self, name='PY_VAR'BaseWidget getwelcome128selfPOP3 getwidth128selfSubPattern getwindowlines128selfEditorWindow getwords128selfAutoExpand getwriter128encoding get128(self, timeout=None) glob0128dirname, basename glob1128dirname, pattern glob_to_re128pattern glob128pathname gnu_getopt128args, shortopts, longopts=[] goahead128self, endHTMLParser goto_file_line128self, event=NoneOutputWindow goto_line_event128self, eventEditorWindow goto_source_line128selfStackViewer gotofileline128self, filename, lineno=NoneFileList gotoline128self, linenoEditorWindow gotonext128selfAddressList goto128self, x, y=NoneTurtle grab_current128selfBaseWidget grab_release128selfBaseWidget grab_set_global128selfBaseWidget grab_set128selfBaseWidget grab_status128selfBaseWidget grep_it128self, prog, pathGrepDialog grep128text, io=None, flist=None grey128self, textServerHTMLDoc grid_bbox128self, column=None, row=None, col2=None, row2=NoneBaseWidget grid_columnconfigure128self, index, cnf={}, **kwBaseWidget grid_configure128self, cnf={}, **kwButton grid_forget128selfButton grid_info128selfButton grid_location128self, x, yBaseWidget grid_propagate128self, flag=['_noarg_']BaseWidget grid_remove128selfButton grid_rowconfigure128self, index, cnf={}, **kwBaseWidget grid_size128selfBaseWidget grid_slaves128self, row=None, column=NoneBaseWidget grid128self, xsize=0, ysize=0Form grok_environment_error128exc, prefix='error: ' group128*choices guess_all_extensions128self, type, strict=TrueMimeTypes guess_extension128self, type, strict=TrueMimeTypes guess_indent128selfEditorWindow guess_scheme128environ guess_type128self, pathSimpleHTTPRequestHandler gzip_decode128data gzip_encode128data gzopen128cls, name, mode='r', fileobj=None, compresslevel=9, **kwargsTarFile g128() handleBeginElement128self, element, attrsPlistParser handleData128self, dataPlistParser handleEndElement128self, elementPlistParser handleError128self, recordFileHandler handle_EOF128selfMyRPCClient handle_accept128selfDebuggingServer handle_cdata128self, dataTestXMLParser handle_charref128self, nameHTMLParser handle_children128selfClassScope handle_close128selfDebuggingServer handle_command_def128self, linePdb handle_comment128self, dataHTMLParser handle_connect_event128selfDebuggingServer handle_connect128selfDebuggingServer handle_data128self, dataHTMLParser handle_decl128self, declHTMLParser handle_display_options128self, option_orderDistribution handle_doctype128self, tag, pubid, syslit, dataTestXMLParser handle_endtag128self, tagHTMLParser handle_entityref128self, nameHTMLParser handle_error128self, request, client_addressMultiPathXMLRPCServer handle_expt_event128selfDebuggingServer handle_expt128selfDebuggingServer handle_extra_path128selfinstall handle_free_vars128self, scope, parentSymbolVisitor handle_get128selfCGIXMLRPCRequestHandler handle_image128self, src, alt, *argsHTMLParser handle_one_request128selfSimpleXMLRPCRequestHandler handle_pi128self, dataHTMLParser handle_proc128self, name, dataTestXMLParser handle_read_event128selfDebuggingServer handle_read128selfDebuggingServer handle_request128self, request_text=NoneCGIXMLRPCRequestHandler handle_restore_timer128self, timer_countParenMatch handle_startendtag128self, tag, attrsHTMLParser handle_starttag128self, tag, attrsHTMLParser handle_timeout128selfMultiPathXMLRPCServer handle_tuple128(tuple_arg, add_prefix=False) handle_write_event128selfDebuggingServer handle_write128selfDebuggingServer handle_xmlrpc128self, request_textCGIXMLRPCRequestHandler handle_xml128self, encoding, standaloneTestXMLParser handler128(prefix, uri, event=event, append=append) handle128selfSimpleXMLRPCRequestHandler hasAttributeNS128self, namespaceURI, localNameElement hasAttributes128selfElement hasAttribute128self, nameElement hasChildNodes128selfAttr hasFeature128self, feature, versionDOMImplementation has_c_libraries128selfDistribution has_children128selfClass has_data_files128selfDistribution has_data128selfRequest has_elt128self, eltSet has_exec128selfClass has_ext_modules128selfDistribution has_extn128self, optLMTP has_function128self, funcname, includes=None, include_dirs=None, libraries=None, library_dirs=NoneEMXCCompiler has_headers128selfDistribution has_header128self, header_nameRequest has_import_star128selfClass has_key128self, keyWeakKeyDictionary has_lib128selfinstall has_magic128s has_metaclass128(parent) has_modules128selfDistribution has_nonstandard_attr128(self, name) has_option128self, opt_strOptionParser has_proxy128selfRequest has_pure_modules128selfDistribution has_scripts128selfDistribution has_section128self, sectionConfigParser has_unconditional_transfer128selfBlock hasattr128 hash128 header_cget128self, col, optHList header_configure128self, col, cnf={}, **kwHList header_create128self, col, cnf={}, **kwHList header_decode128s header_delete128self, colHList header_encode128self, s, convert=FalseCharset header_exists128self, colHList header_items128selfRequest header_quopri_check128c header_quopri_len128s header_size128self, colHList heading128self, title, fgcol, bgcol, extras=''ServerHTMLDoc head128self, idNNTP height128selfBitmapImage helo128self, name=''LMTP help_EOF128selfPdb help_alias128selfPdb help_args128selfPdb help_a128selfPdb help_break128selfPdb help_b128selfPdb help_clear128selfPdb help_cl128selfPdb help_commands128selfPdb help_condition128selfPdb help_continue128selfPdb help_cont128selfPdb help_c128selfPdb help_debug128selfPdb help_dialog128self, event=NoneEditorWindow help_disable128selfPdb help_down128selfPdb help_d128selfPdb help_enable128selfPdb help_exec128selfPdb help_help128selfPdb help_h128selfPdb help_ignore128selfPdb help_jump128selfPdb help_j128selfPdb help_list128selfPdb help_l128selfPdb help_next128selfPdb help_n128selfPdb help_pdb128selfPdb help_pp128selfPdb help_p128selfPdb help_quit128selfPdb help_q128selfPdb help_return128selfPdb help_run128selfPdb help_r128selfPdb help_step128selfPdb help_s128selfPdb help_tbreak128selfPdb help_unalias128selfPdb help_until128selfPdb help_unt128selfPdb help_up128selfPdb help_u128selfPdb help_whatis128selfPdb help_where128selfPdb help_w128selfPdb help128 herror1(error) hex_decode128input, errors='strict' hex_encode128input, errors='strict' hexbin128inp, out hexdigest128selfHMAC hideTkConsole128root hide_entry128self, entryHList hide_event128self, eventCallTip hide_window128selfAutoCompleteWindow hidetip128selfCallTip hideturtle128selfTurtle hide128self, tab_idNotebook history_do128self, reverseHistory history_next128self, eventHistory history_prev128self, eventHistory history_store128self, sourceHistory hls_to_rgb128h, l, s home_callback128self, eventEditorWindow home128selfTurtle hook_compressed128filename, mode hook_encoded128encoding hsv_to_rgb128h, s, v html128einfo, context=5 htonl128x htons128x http2time128(text) http_error_301128self, url, fp, errcode, errmsg, headers, data=NoneFancyURLopener http_error_302128self, req, fp, code, msg, headersHTTPRedirectHandler http_error_303128self, url, fp, errcode, errmsg, headers, data=NoneFancyURLopener http_error_307128self, url, fp, errcode, errmsg, headers, data=NoneFancyURLopener http_error_401128self, req, fp, code, msg, headersHTTPBasicAuthHandler http_error_407128self, req, fp, code, msg, headersProxyBasicAuthHandler http_error_auth_reqed128self, authreq, host, req, headersAbstractBasicAuthHandler http_error_default128self, req, fp, code, msg, hdrsHTTPDefaultErrorHandler http_error128self, url, fp, errcode, errmsg, headers, data=NoneFancyURLopener http_open128self, reqHTTPHandler http_request128self, requestHTTPCookieProcessor http_response128self, request, responseHTTPCookieProcessor https_open128self, reqHTTPSHandler h128() icursor128self, *argsCanvas identify_column128self, xTreeview identify_element128self, x, yTreeview identify_region128self, x, yTreeview identify_row128self, yTreeview identify128self, x, yPanedWindow idle_formatwarning_subproc128message, category, filename, lineno, line=None idle_formatwarning128message, category, filename, lineno, line=None idle_showwarning128message, category, filename, lineno, file=None, line=None iglob128pathname ignorableWhitespace128self, charsPullDOM ignore_patterns128*patterns ihave128self, id, fNNTP image_cget128self, index, optionText image_configure128self, index, cnf=None, **kwText image_create128self, index, cnf={}, **kwText image_delete128self, imgnameBalloon image_names128selfBaseWidget image_types128selfBaseWidget imap_unordered128(self, func, iterable, chunksize=1) imap1(object) immutable128selfMutableString item_cget128self, entry, col, optHList item_configure128self, entry, col, cnf={}, **kwHList item_create128self, entry, col, cnf={}, **kwHList item_delete128self, entry, colHList item_exists128self, entry, colHList itemcget128self, tagOrId, optionCanvas itemconfigure128self, tagOrId, cnf=None, **kwCanvas itemconfig128self, *args, **kwScrolledCanvas itemgetter1(object) itemsNS128selfNamedNodeMap items128selfWeakKeyDictionary item128self, item, option=None, **kwTreeview iter_child_nodes128node iter_fields128node iter_importer_modules128*args, **kw iter_importers128fullname='' iter_modules128self, prefix=''ImpImporter iter_zipimport_modules128importer, prefix='' iterdecode128iterator, encoding, errors='strict', **kwargs iterencode128iterator, encoding, errors='strict', **kwargs iterfind128elem, path, namespaces=None iteritems128selfWeakKeyDictionary iterkeyrefs128selfWeakKeyDictionary iterkeys128selfWeakKeyDictionary itermonthdates128self, year, monthCalendar itermonthdays2128self, year, monthCalendar itermonthdays128self, year, monthCalendar iterparse1(object) itertext128(self) itervaluerefs128selfWeakValueDictionary itervalues128selfWeakKeyDictionary iterweekdays128selfCalendar iter128 izip1(object) i128() java_ver128release='', vendor='', vminfo=('', '', ''), osinfo=('', '', '') join_header_words128(lists) join_thread128selfJoinableQueue joinseq128seq join128selfLifoQueue js_output128self, attrs=NoneBaseCookie jumpahead128self, nRandom j128() key_range128(self, *args, **kwargs) keypress_event128self, eventAutoCompleteWindow keyrefs128selfWeakKeyDictionary keyrelease_event128self, eventAutoCompleteWindow keysNS128selfNamedNodeMap keys128selfWeakKeyDictionary keyword1(AST) kill_subprocess128selfModifiedInterpreter kill128selfPopen k128() label128code lambdef128self, nodelistTransformer lastpart128selfMimeWriter lastvisiblechild128selfTreeNode last128selfBsdDbShelf layout128self, style, layoutspec=NoneStyle ldgettext128domain, message ldngettext128domain, msgid1, msgid2, n leaf_to_root128(self) leapdays128y1, y2 leaves128selfBase leave128self, event=NoneListboxToolTip left128self, angleTurtle length128self, keyFormContent less128self, otherWhitespace lexists128path lgettext128self, messageGNUTranslations libc_ver128executable='/home/enrico/pyenv/py27/bin/python', lib='', version='', chunksize=2048 liberal_is_HDN128(text) library_dir_option128self, dirEMXCCompiler library_filename128self, libname, lib_type='static', strip_dir=0, output_dir=''EMXCCompiler library_option128self, libEMXCCompiler license128 limit_denominator128self, max_denominator=1000000Fraction linecol128doc, pos linefeed_callback128self, eventPyShell lineinfo128self, identifierPdb lineno128selfFileInput link_executable128self, objects, output_progname, output_dir=None, libraries=None, library_dirs=None, runtime_library_dirs=None, debug=0, extra_preargs=None, extra_postargs=None, target_lang=NoneEMXCCompiler link_shared_lib128self, objects, output_libname, output_dir=None, libraries=None, library_dirs=None, runtime_library_dirs=None, export_symbols=None, debug=0, extra_preargs=None, extra_postargs=None, build_temp=None, target_lang=NoneEMXCCompiler link_shared_object128self, objects, output_filename, output_dir=None, libraries=None, library_dirs=None, runtime_library_dirs=None, export_symbols=None, debug=0, extra_preargs=None, extra_postargs=None, build_temp=None, target_lang=NoneEMXCCompiler link128self, target_desc, objects, output_filename, output_dir=None, libraries=None, library_dirs=None, runtime_library_dirs=None, export_symbols=None, debug=0, extra_preargs=None, extra_postargs=None, build_temp=None, target_lang=NoneEMXCCompiler linux_distribution128distname='', version='', id='', supported_dists=('SuSE', 'debian', 'fedora', 'redhat', 'centos', 'mandrake', 'mandriva', 'rocks', 'slackware', 'yellowdog', 'gentoo', 'UnitedLinux', 'turbolinux'), full_distribution_name=1 list2cmdline128seq list_directory128self, pathSimpleHTTPRequestHandler list_eq128l1, l2 list_folders128selfMH list_public_methods128obj listallfolders128selfMH listallsubfolders128selfFolder listclasses128selfModuleBrowserTreeItem listdir128path listener128selfTelnet listen128self, numDebuggingServer listfolders128selfMH listicons128icondir='/home/enrico/pyenv/py27/lib/python2.7/idlelib/Icons' listkeywords128selfHelper listmailcapfiles128 listmessages128selfFolder listmethods128selfClassBrowserTreeItem listmodules128self, key=''Helper listselect_event128self, eventAutoCompleteWindow listsubfolders128selfFolder listsymbols128selfHelper listtopics128selfHelper list128 literal_eval128node_or_string ljust128s, width lngettext128self, msgid1, msgid2, nGNUTranslations loadName128self, nameClassCodeGenerator loadXML128self, sourceDocument load_appends128selfUnpickler load_append128selfUnpickler load_binfloat128self, unpack='unpack'Unpickler load_binget128selfUnpickler load_binint1128selfUnpickler load_binint2128selfUnpickler load_binint128selfUnpickler load_binpersid128selfUnpickler load_binput128selfUnpickler load_binstring128selfUnpickler load_binunicode128selfUnpickler load_breakpoints128selfDebugger load_build128selfUnpickler load_compiled128self, *argsRHooks load_dict128selfUnpickler load_dup128selfUnpickler load_dynamic128self, name, filename, fileRExec load_empty_dictionary128selfUnpickler load_empty_list128selfUnpickler load_empty_tuple128selfUnpickler load_eof128selfUnpickler load_ext1128selfUnpickler load_ext2128selfUnpickler load_ext4128selfUnpickler load_extensions128selfEditorWindow load_extension128self, nameEditorWindow load_false128selfUnpickler load_file128self, pathnameModuleFinder load_float128selfUnpickler load_get128selfUnpickler load_global128selfUnpickler load_inst128selfUnpickler load_int128selfUnpickler load_list128selfUnpickler load_long1128selfUnpickler load_long4128selfUnpickler load_long_binget128selfUnpickler load_long_binput128selfUnpickler load_long128selfUnpickler load_macros128(self, version) load_mark128selfUnpickler load_module128self, fqname, fp, pathname, file_infoModuleFinder load_newobj128selfUnpickler load_none128selfUnpickler load_obj128selfUnpickler load_package128self, fqname, pathnameModuleFinder load_persid128selfUnpickler load_pop_mark128selfUnpickler load_pop128selfUnpickler load_proto128selfUnpickler load_put128selfUnpickler load_reduce128selfUnpickler load_setitems128selfUnpickler load_setitem128selfUnpickler load_short_binstring128selfUnpickler load_source128self, *argsRHooks load_stack128self, stack, index=NoneStackViewer load_standard_extensions128selfEditorWindow load_stats128self, argStats load_stop128selfUnpickler load_string128selfUnpickler load_tail128self, q, tailModuleFinder load_true128selfUnpickler load_tuple1128selfUnpickler load_tuple2128selfUnpickler load_tuple3128selfUnpickler load_tuple128selfUnpickler load_unicode128selfUnpickler loadfile128self, filenameIOBinding loads128str loadtk128selfTk load128selfUnpickler localcall128self, seq, requestMyRPCClient localcontext128ctx=None localeconv128 localhost128 locals128 localtrace_count128self, frame, why, argTrace localtrace_trace_and_count128self, frame, why, argTrace localtrace_trace128self, frame, why, argTrace local1(_localbase) locate128path, forceload=0 lock_detect128(self, *args, **kwargs) lock_get128(self, *args, **kwargs) lock_id128(self, *args, **kwargs) lock_put128(self, *args, **kwargs) lock_stat128(self, *args, **kwargs) locked128selfLockType lock128selfBabyl log10128self, context=NoneDecimal log_archive128(self, *args, **kwargs) log_date_time_string128selfSimpleXMLRPCRequestHandler log_debug128(self, msg, *args) log_error128self, format, *argsSimpleXMLRPCRequestHandler log_exception128self, exc_infoServerHandler log_info128self, message, type='info'DebuggingServer log_message128self, format, *argsSimpleXMLRPCRequestHandler log_request128self, code='-', size='-'SimpleXMLRPCRequestHandler log_stat128(self, *args, **kwargs) log_to_stderr128level=None logb128self, context=NoneDecimal logical_and128self, other, context=NoneDecimal logical_invert128self, context=NoneDecimal logical_or128self, other, context=NoneDecimal logical_xor128self, other, context=NoneDecimal login_cram_md5128self, user, passwordIMAP4 login128self, user, passwordLMTP lognormvariate128self, mu, sigmaRandom logout128selfIMAP4 long_has_args128opt, longopts long_title128selfEditorWindow longcmd128self, line, file=NoneNNTP longest_run_of_spaces128selfWhitespace long128 lookup_node128self, nodeTransformer lookupmodule128self, filenamePdb lookup128self, nameClass loop128timeout=30.0, use_poll=False, map=None, count=None lower128s lsn_reset128(self, *args, **kwargs) lstrip128s lsub128self, directory='""', pattern='*'IMAP4 lwp_cookie_str128cookie mac_ver128release='', versioninfo=('', '', ''), machine='' machine128 mail128self, sender, options=[]LMTP mainloop128self, n=0BaseWidget main128argv=None major128dev makeBuilder128options makeByteCode128selfPyFlowGraph makeLogRecord128dict makePickle128self, recordDatagramHandler makeRecord128self, name, level, fn, lno, msg, args, exc_info, func=None, extra=NoneLogger makeSocket128selfDatagramHandler make_archive128base_name, format, root_dir=None, base_dir=None, verbose=0, dry_run=0, owner=None, group=None, logger=None make_builtin128selfRExec make_button128self, label, command, isdef=0ReplaceDialog make_comparable128self, otherDateTime make_connection128self, hostSafeTransport make_cookies128(self, response, request) make_delegate_files128selfRExec make_dfa128(self, start, finish) make_distribution128selfsdist make_encoding_map128decoding_map make_entry128self, label, varReplaceDialog make_file128self, fromlines, tolines, fromdesc='', todesc='', context=False, numlines=5HtmlDiff make_first128(self, c, name) make_frame128self, labeltext=NoneReplaceDialog make_grammar128(self) make_gui128selfDebugger make_header128decoded_seq, maxlinelen=None, header_name=None, continuation_ws=' ' make_identity_dict128rng make_initial_modules128selfRExec make_label128(self, c, label) make_main128selfRExec make_menu128selfScrolledList make_msgid128idstring=None make_objecttreeitem128labeltext, object, setfunction=None make_osname128selfRExec make_parser128(parser_list = []) make_pat128 make_property128name make_release_tree128self, base_dir, filessdist make_rmenu128selfEditorWindow make_server128host, port, app, server_class='WSGIServer', handler_class='WSGIRequestHandler' make_suite128(node) make_sys128selfRExec make_table128self, fromlines, tolines, fromdesc='', todesc='', context=False, numlines=5HtmlDiff make_tarball128base_name, base_dir, compress='gzip', verbose=0, dry_run=0, owner=None, group=None make_zipfile128base_name, base_dir, verbose=0, dry_run=0 makedev128self, tarinfo, targetpathTarFile makedict128list makedirs128name, mode=511 makedir128self, tarinfo, targetpathTarFile makeelement128(self, tag, attrib) makefifo128self, tarinfo, targetpathTarFile makefile128self, tarinfo, targetpathTarFile makefolder128self, nameMH makelink128self, tarinfo, targetpathTarFile makepasv128selfFTP makepath128*paths makepipeline128self, infile, outfileTemplate makeport128selfFTP makeunknown128self, tarinfo, targetpathTarFile malloc128self, sizeHeap manage_socket128address mangle128self, nameClassScope manifest_get_embed_info128(self, target_desc, ld_args) manifest_setup_ldargs128(self, output_filename, build_temp, ld_args) mapLogRecord128self, recordHTTPHandler mapPriority128self, levelNameSysLogHandler map_async128(self, func, iterable, chunksize=None, callback=None) map_table_b2128a map_table_b3128code map_to_index128(param_list, prefix=[], d=None) mapstar128(args) map128(self, func, iterable, chunksize=None) mark_gravity128self, markName, direction=NoneText mark_names128selfText mark_next128self, indexText mark_previous128self, indexText mark_set128self, markName, indexText mark_unset128self, *markNamesText marker128selfUnpickler markup128self, text, escape=None, funcs={}, classes={}, methods={}ServerHTMLDoc master_open128 match_seq128self, nodes, results=NoneBasePattern match128pattern, string, flags=0 max_mag128self, other, context=NoneDecimal maybesave128selfEditorWindow maybe128*choices mboxMessage1(_mboxMMDFMessage) mbox1(_mboxMMDF) measure128self, textFont member_descriptor1(object) memoize128self, objPickler memoryview128 merge128self, otherDebugRunner message_from_file128fp, *args, **kws message_from_string128s, *args, **kws message128self, format, *argsRExec meth128name, self, *args metrics128self, *optionsFont mime_decode_header128line mime_decode128line mime_encode_header128line mime_encode128line, header mimify_part128ifile, ofile, is_mime mimify128infile, outfile min_mag128self, other, context=NoneDecimal minor128dev minus128self, aContext mk2arg128head, x mkarg128x mkdtemp128suffix='', prefix='tmp', dir=None mkpath128self, name, mode=511EMXCCompiler mkstemp128suffix='', prefix='tmp', dir=None, text=False mktemp128suffix='', prefix='tmp', dir=None mktime_tz128data mode128self, mode=NoneTurtleScreen modified128selfRobotFileParser modname128path modpkglink128self, dataServerHTMLDoc modulelink128self, objectServerHTMLDoc modules_dict128selfRHooks module1(object) monthdatescalendar128self, year, monthCalendar monthdays2calendar128self, year, monthCalendar monthdayscalendar128self, year, monthCalendar monthrange128year, month more128selfsimple_producer most_common128self, n=NoneCounter move_at_edge_if_selection128self, edge_indexEditorWindow move_column128self, from_, to, offsetGrid move_file128self, src, dstEMXCCompiler move_row128self, from_, to, offsetGrid movemessage128self, n, tofolder, tonFolder move128src, dst msgin128self, *argsModuleFinder msgout128self, *argsModuleFinder mt_interact128selfTelnet mtime128selfRobotFileParser multicolumn128self, list, format, cols=4ServerHTMLDoc multiply128self, a, bContext mutex1 myrights128self, mailboxIMAP4 namedtuple128typename, field_names, verbose=False, rename=False namelink128self, name, *dictsServerHTMLDoc namelist128selfTarFileCompat nameprep128label namespace128selfIMAP4 names128self, filename, modulenameIgnore nametofont128name nametowidget128self, nameBaseWidget ndiff128a, b, linejunk=None, charjunk='IS_CHARACTER_JUNK' nearest128self, yListbox nearwindow128self, nearHelpDialog needsquoting128c, quotetabs, header nested128*args, **kwds netrc1(object) newBlock128selfFlowGraph newCodeObject128selfPyFlowGraph new_alignment128self, alignAbstractWriter new_callback128self, eventEditorWindow new_compiler128plat=None, compiler=None, verbose=0, dry_run=0, force=0 new_font128self, fontAbstractWriter new_frame128self, *argsStatsLoader new_margin128self, margin, levelAbstractWriter new_module128self, nameRHooks new_name128(self, template=u"xxx_todo_changeme") new_spacing128self, spacingAbstractWriter new_styles128self, stylesAbstractWriter newer_group128sources, target, missing='error' newer_pairwise128sources, targets newer128source, target newgroups128self, date, time, file=NoneNNTP newline_and_indent_event128self, eventEditorWindow newnews128self, group, date, time, file=NoneNNTP newseq128selfMyRPCClient nextBlock128self, block=NoneFlowGraph nextLine128self, linenoLineAddrTable next_dup128(self, flags=0) next_minus128self, context=NoneDecimal next_nodup128(self, flags=0) next_plus128self, context=NoneDecimal next_toward128self, other, context=NoneDecimal nextfile128selfFileInput nextpart128selfMimeWriter next128 ngettext128self, msgid1, msgid2, nGNUTranslations nlargest128n, iterable, key=None nlst128self, *argsFTP no_matching_rfc2965128(ns_cookie, lookup=lookup) nobody_uid128 node128 noheaders128 nolog128*allargs noop128selfPOP3 norm_error1(Exception) normalize_and_reduce_paths128(paths) normalize_encoding128encoding normalize128selfIntSet normalvariate128self, mu, sigmaRandom normcase128path normpath128s nr_of_items128selfTbuffer nsmallest128n, iterable, key=None ntohl128x ntohs128x ntransfercmd128self, cmd, rest=NoneFTP number_class128self, context=NoneDecimal number_of_objects128self, cServer object_filenames128self, source_filenames, strip_dir=0, output_dir=''EMXCCompiler object128 offset_from_tz_string128(tz) ok_command128selfFileDialog ok_event128self, eventFileDialog onResize128self, eventScrolledCanvas on_double128self, indexScrolledList on_motion128self, eventDndHandler on_release128self, eventDndHandler on_select128self, indexScrolledList onclick128self, fun, btn=1, add=NoneTurtle ondrag128self, fun, btn=1, add=NoneTurtle onecmd128self, linePdb onkey128self, fun, keyTurtleScreen onrelease128self, fun, btn=1, add=NoneTurtle onscreenclick128fun, btn=1, add=None ontimer128self, fun, t=0TurtleScreen open_calltip128self, evalfuncsCallTips open_class_browser128self, event=NoneEditorWindow open_completions128self, evalfuncs, complete, userWantsWin, mode=NoneAutoComplete open_data128self, url, data=NoneFancyURLopener open_debugger128selfPyShell open_file128self, urlFancyURLopener open_ftp128self, urlFancyURLopener open_https128self, url, data=NoneFancyURLopener open_http128self, url, data=NoneFancyURLopener open_local_file128self, reqFileHandler open_module128self, event=NoneEditorWindow open_new_tab128self, urlBackgroundBrowser open_new128self, urlBackgroundBrowser open_path_browser128self, event=NoneEditorWindow open_remote_stack_viewer128selfModifiedInterpreter open_r128self, fileTemplate open_shell128self, event=NonePyShellFileList open_stack_viewer128self, event=NonePyShell open_unknown_proxy128self, proxy, fullurl, data=NoneFancyURLopener open_unknown128self, fullurl, data=NoneFancyURLopener open_w128self, fileTemplate openfile128self, *xRHooks openfolder128self, nameMH opengroup128self, name=NonePattern openmessage128self, nFolder openpty128 openrsrc1 open128 operator1(AST) optimize128(p) option_add128self, pattern, value, priority=NoneBaseWidget option_clear128selfBaseWidget option_get128self, name, classNameBaseWidget option_readfile128self, fileName, priority=NoneBaseWidget options128self, sectionConfigParser optionxform128self, optionstrConfigParser output_charset128selfGNUTranslations output_difference128self, example, got, optionflagsOutputChecker output128self, attrs=None, header='Set-Cookie:', sep='\r\n'BaseCookie overrideRootMenu128root, flist pack_array128self, list, pack_itemPacker pack_bool128self, xPacker pack_configure128self, cnf={}, **kwButton pack_double128self, xPacker pack_farray128self, n, list, pack_itemPacker pack_float128self, xPacker pack_forget128selfButton pack_fstring128self, n, sPacker pack_info128selfButton pack_int128self, xPacker pack_list128self, list, pack_itemPacker pack_propagate128self, flag=['_noarg_']BaseWidget pack_slaves128selfBaseWidget pack_string128self, sPacker pack_uhyper128self, xPacker pack_uint128self, xPacker pack128selfMH page_down128self, eventScrolledCanvas page_up128self, eventScrolledCanvas pager128text pages128selfListNoteBook page128self, title, contentsServerHTMLDoc panecget128self, child, optionPanedWindow paneconfigure128self, tagOrId, cnf=None, **kwPanedWindow panes128selfPanedWindow pane128self, pane, option=None, **kwPanedwindow parameters128self, nodelistTransformer paren_closed_event128self, eventParenMatch parenthesize128(node) parent128self, itemTreeview paretovariate128self, alphaRandom parse150128resp parse227128resp parse229128resp, peer parse257128resp parseFile128path parseFragmentString128string, context, namespaces=True parseFragment128file, context, namespaces=True parseString128string, parser=None parseSymbols128self, treeClassCodeGenerator parseURI128self, uriDOMBuilder parseWithContext128self, input, cnode, actionDOMBuilder parse_alt128(self) parse_args128self, args=None, namespace=NoneArgumentParser parse_atom128(self) parse_attributes128self, tag, i, jTestXMLParser parse_block128(self, block, lineno, indent) parse_bogus_comment128self, i, report=1HTMLParser parse_cdata128self, iTestXMLParser parse_command_line128selfDistribution parse_comment128self, i, report=1HTMLParser parse_config_files128self, filenames=NoneDistribution parse_config_h128fp, vars=None parse_declaration128self, iHTMLParser parse_doctype128self, resTestXMLParser parse_endtag128self, iHTMLParser parse_file128(self, filename, encoding=None, debug=False) parse_graminit_c128(self, filename) parse_graminit_h128(self, filename) parse_header128line parse_html_declaration128self, iHTMLParser parse_http_list128s parse_item128(self) parse_keqv_list128l parse_known_args128self, args=None, namespace=NoneArgumentParser parse_makefile128fn, g=None parse_marked_section128self, i, report=1HTMLParser parse_multipart128fp, pdict parse_ns_headers128(ns_headers) parse_pi128self, iHTMLParser parse_proc128self, iTestXMLParser parse_qsl128qs, keep_blank_values=0, strict_parsing=0 parse_qs128qs, keep_blank_values=0, strict_parsing=0 parse_request128selfSimpleXMLRPCRequestHandler parse_response128self, responseSafeTransport parse_rhs128(self) parse_starttag128self, iHTMLParser parse_stream_raw128(self, stream, debug=False) parse_stream128(self, stream, debug=False) parse_string128(self, text, debug=False) parse_template128source, pattern parse_tokens128(self, tokens, debug=False) parseaddr128address parseargs128 parsedate_tz128data parsedate128data parseexpr128self, textTransformer parsefield128line, i, n parsefile128self, fileTransformer parseline128self, linePdb parseplist128selfHTTPMessage parsesequence128self, seqFolder parsestr128self, text, headersonly=TrueHeaderParser parsesuite128self, textTransformer parsetype128selfHTTPMessage parse128source, filename='', mode='exec' pars128selfFormContent partial1(object) partition128self, sepMutableString paste128self, eventEditorWindow path_exists128self, xRHooks path_isabs128self, xRHooks path_isdir128self, xRHooks path_isfile128self, xRHooks path_islink128self, xRHooks path_join128self, x, yRHooks path_return_ok128(self, path, request) path_split128self, xRHooks pathdirs128 pathname2url128p pattern_convert128(grammar, raw_node_info) pattern128self, formatTimeRE peek128self, n=1ZipExtFile pencolor128self, *argsTurtle pending128selfSSLSocket pendown128selfTurtle pensize128self, width=NoneTurtle penup128selfTurtle persistent_id128self, objPickler pformat128self, objectPrettyPrinter pget128(self, *args, **kwargs) phase0128selfdircmp phase1128selfdircmp phase2128selfdircmp phase3128selfdircmp phase4_closure128selfdircmp phase4128selfdircmp pi_handler128self, target, dataExpatBuilder pickle_code128co pickle_complex128c pickle128ob_type, pickle_function, constructor_ob=None pickline128file, key, casefold=1 pick128self, indexComboBox pipe_cloexec128selfPopen pipepager128text, cmd pipethrough128input, command, output pipeto128input, command place_configure128self, cnf={}, **kwButton place_forget128selfButton place_info128selfButton place_slaves128selfBaseWidget plainpager128text plain128text platform128aliased=0, terse=0 plus128self, aContext poll2128timeout=0.0, map=None poll_subprocess128selfModifiedInterpreter pollmessage128self, waitMyRPCClient pollpacket128self, waitMyRPCClient pollresponse128self, myseq, waitMyRPCClient poll128selfPopen pop_alignment128selfAbstractFormatter pop_eof_matcher128selfBufferedSubFile pop_font128selfAbstractFormatter pop_margin128selfAbstractFormatter pop_source128selfshlex pop_style128self, n=1AbstractFormatter popdown128selfDialogShell popen2128cmd, mode='t', bufsize=-1 popen3128cmd, mode='t', bufsize=-1 popen4128cmd, mode='t', bufsize=-1 popen128cmd, mode='r', bufsize=None popitem128selfWeakKeyDictionary popup_event128self, eventScrolledList popup128selfDialogShell pop128(self) position_window128selfCallTip position128 post_mortem128t=None post_order128selfBase post_to_server128self, data, auth=Noneregister post_widget128self, widget, x, yPopupMenu postcmd128self, stop, linePdb postloop128selfPdb postscript128self, cnf={}, **kwCanvas postwindowsmenu128selfEditorWindow post128self, fNNTP power128self, a, b, modulo=NoneContext pprint128self, objectPrettyPrinter pre_order128selfBase precmd128self, linePdb preformat128self, textServerHTMLDoc preloop128selfPdb preorder128self, tree, visitor, *argsASTVisitor prepareParser128self, sourceExpatParser prepare_child128next, token prepare_descendant128next, token prepare_input_source128(source, base = "") prepare_parent128next, token prepare_predicate128next, token prepare_self128next, token prepare_star128next, token prepare128data prepend_syspath128self, filenameModifiedInterpreter prepend128self, cmd, kindTemplate preprocess128self, source, output_file=None, macros=None, include_dirs=None, extra_preargs=None, extra_postargs=NoneEMXCCompiler prepstr128s press128self, eventIcon prev_nodup128(self, flags=0) previous128selfBsdDbShelf prev128(self, flags=0) prmonth128self, theyear, themonth, w=0, l=0LocaleTextCalendar probably_a_local_import128(self, imp_name) process_message128self, peer, mailfrom, rcpttos, dataDebuggingServer process_rawq128selfTelnet process_request_thread128self, request, client_addressThreadingMixIn process_request128self, request, client_addressMultiPathXMLRPCServer process_template_line128self, lineFileList process_tokens128tokens processingInstruction128self, target, dataPullDOM processing_instruction128self, target, dataExpatParser processor128 process128self, opt, value, values, parserOption prompt_user_passwd128self, host, realmFancyURLopener property128 prot_c128selfFTP_TLS prot_p128selfFTP_TLS proxy_bypass_environment128host proxy_coord128selfPanedWindow proxy_forget128selfPanedWindow proxy_open128self, req, proxy, typeProxyHandler proxy_place128self, x, yPanedWindow proxyauth128self, userIMAP4 proxy128self, *argsPanedWindow prune_file_list128selfsdist prweek128self, theweek, widthLocaleTextCalendar pryear128self, theyear, w=0, l=0, c=6, m=3LocaleTextCalendar public_methods128obj punycode_decode128text, errors punycode_encode128text purge128 push_alignment128self, alignAbstractFormatter push_eof_matcher128self, predBufferedSubFile push_font128self, fontAbstractFormatter push_margin128self, marginAbstractFormatter push_source128self, newstream, newfile=Noneshlex push_style128self, *stylesAbstractFormatter push_token128self, tokshlex push_with_producer128self, producerSMTPChannel pushlines128self, linesBufferedSubFile push128self, msgSMTPChannel put_nowait128self, itemLifoQueue putback128selfIcon putcmd128self, cmd, args=''LMTP putheader128self, header, *valuesHTTPConnection putline128self, lineNNTP putmessage128self, messageMyRPCClient putrequest128self, method, url, skip_host=0, skip_accept_encoding=0HTTPConnection putsequences128self, sequencesFolder put128(self, key, value, txn=None, flags=0) py_encode_basestring_ascii128s py_make_scanner128context py_object1(_SimpleCData) py_scanstring128s, end, encoding=None, strict=True, _b={'r': u'\r', '"': u'"', 't': u'\t', 'f': u'\x0c', 'b': u'\x08', '\\': u'\\', '/': u'/', 'n': u'\n'}, _m='match' py_suffix_importer128filename, finfo, fqname python_branch128 python_build128 python_compiler128 python_docs128self, event=NoneEditorWindow python_implementation128 python_revision128 python_version_tuple128 python_version128 qsize128selfLifoQueue quantize128self, exp, rounding=None, context=None, watchexp=TrueDecimal query_vcvarsall128(version, arch="x86") quick_ratio128selfSequenceMatcher quit128 quopri_decode128input, errors='strict' quopri_encode128input, errors='strict' quote_plus128s, safe='' quoteaddr128addr quoteattr128(data, entities={}) quotedata128data quote128s, safe='/' r_eval128self, codeRExec r_exc_info128selfRExec r_execfile128self, fileRExec r_exec128self, codeRExec r_import128self, mname, globals={}, locals={}, fromlist=[]RExec r_open128self, file, mode='r', buf=-1RExec r_reload128self, mRExec r_unload128self, mRExec radians128selfTurtle radix128selfDecimal randint128self, a, bRandom randombytes128n random128selfSystemRandom randrange128self, start, stop=None, step=1, int='int', default=None, maxwidth=9007199254740992LRandom ranges_to_linenumbers128self, rangesPyShellEditorWindow range128 ratio128selfSequenceMatcher raw_decode128self, s, idx=0JSONDecoder raw_input128 rawq_getchar128selfTelnet rcpt128self, recip, options=[]LMTP reach128(h) read1128self, nZipExtFile read32128input readPlistFromResource128path, restype='plst', resid=0 readPlistFromString128data readPlist128pathOrFile read_all128selfTelnet read_binary128selfFieldStorage read_code128stream read_decimalnl_long128(f) read_decimalnl_short128(f) read_docstrings128lang read_eager128selfTelnet read_file128self, filename, mode='careful'Values read_float8128(f) read_floatnl128(f) read_int4128(f) read_keys128(cls, base, key) read_lazy128selfTelnet read_lines_to_eof128selfFieldStorage read_lines_to_outerboundary128selfFieldStorage read_lines128selfFieldStorage read_long1128(f) read_long4128(f) read_manifest128selfsdist read_mime_types128file read_module128self, modname, mode='careful'Values read_multi128self, environ, keep_blank_values, strict_parsingFieldStorage read_or_stop128() read_pkg_file128self, fileDistributionMetadata read_rsrc128self, *nHexBin read_sb_data128selfTelnet read_setup_file128filename read_single128selfFieldStorage read_some128selfTelnet read_string1128(f) read_string4128(f) read_stringnl_noescape_pair128(f) read_stringnl_noescape128(f) read_stringnl128(f, decode=True, stripquotes=True) read_template128selfsdist read_token128selfshlex read_uint1128(f) read_uint2128(f) read_unicodestring4128(f) read_unicodestringnl128(f) read_until128self, match, timeout=NoneTelnet read_urlencoded128selfFieldStorage read_values128(cls, base, key) read_very_eager128selfTelnet read_very_lazy128selfTelnet read_windows_registry128self, strict=TrueMimeTypes readable128selfDebuggingServer readall128selfRawIOBase readconfig128cfgdict readfp128self, fp, filename=NoneConfigParser readframes128self, nframesAu_read readheaders128selfHTTPMessage readinto128self, bBufferedIOBase readlines128selfExFileObject readline128self, size=-1ExFileObject readmailcapfile128fp readmodule_ex128module, path=None readmodule128module, path=None readprofile128self, baseName, classNameTk readwrite128obj, flags ready128(self) read128self, size=NoneExFileObject real_close128selfftpwrapper real_quick_ratio128selfSequenceMatcher realpath128filename rebuild_connection128reduced_handle, readable, writable rebuild_ctype128type_, wrapper, length rebuild_handle128pickled_data rebuild_socket128reduced_handle, family, type_, proto rec_test128(sequence, test_func) recall128self, s, eventPyShell recent128selfIMAP4 recolorize_main128selfColorDelegator recolorize128selfColorDelegator rectangle128win, uly, ulx, lry, lrx recv_handle128conn recv_into128self, buffer, nbytes=None, flags=0SSLSocket recvfrom_into128self, buffer, nbytes=None, flags=0SSLSocket recvfrom128self, buflen=1024, flags=0SSLSocket recv128self, buffer_sizeDebuggingServer redirect_internal128self, url, fp, errcode, errmsg, headers, dataFancyURLopener redirect_request128self, req, fp, code, msg, headers, newurlHTTPRedirectHandler redo_event128self, eventModifiedUndoDelegator redo128self, textCommand reduce_array128a reduce_connection128conn reduce_ctype128obj reduce_handle128handle reduce_socket128s reduce_tree128(node, parent=None) reduce_uri128self, uri, default_port=TrueHTTPPasswordMgr reduce128 refactor_dir128(self, dir_name, write=False, doctests_only=False) refactor_docstring128(self, input, filename) refactor_doctest128(self, block, lineno, indent, filename) refactor_file128(self, filename, write=False, doctests_only=False) refactor_stdin128(self, doctests_only=False) refactor_string128(self, data, name) refactor_tree128(self, tree, name) refactor128(self, items, write=False, doctests_only=False) refilemessages128self, list, tofolder, keepsequences=0Folder reformat_paragraph128data, limit refresh_calltip_event128self, eventCallTips registerDOMImplementation128name, factory register_X_browsers128 register_after_fork128obj, func register_archive_format128name, function, extra_args=None, description='' register_callback128self, callbackWindowList register_function128self, function, name=NoneCGIXMLRPCRequestHandler register_instance128self, instance, allow_dotted_names=FalseCGIXMLRPCRequestHandler register_introspection_functions128selfCGIXMLRPCRequestHandler register_multicall_functions128selfCGIXMLRPCRequestHandler register_namespace128prefix, uri register_optionflag128name register_shape128self, name, shape=NoneTurtleScreen register128self, registry_name, value, objectArgumentParser reindent_to128self, columnEditorWindow reindent128src, indent reinitialize_command128self, command, reinit_subcommands=0Distribution release128 reload128 relpath128path, start='.' remainder_near128self, other, context=NoneDecimal remainder128self, a, bContext remote_object_tree_item128item remote_stack_viewer128selfModifiedInterpreter remotecall128self, oid, methodname, args, kwargsMyRPCClient remotequeue128self, oid, methodname, args, kwargsMyRPCClient remoteref128obj removeAttributeNS128self, namespaceURI, localNameElement removeAttributeNode128self, nodeElement removeAttribute128self, nameElement removeChild128self, oldChildAttr removeDuplicates128(variable) removeFilter128self, filterFileHandler removeHandler128self, hdlrLogger removeNamedItemNS128self, namespaceURI, localNameNamedNodeMap removeNamedItem128self, nameNamedNodeMap remove_duplicates128lst remove_extension128module, name, code remove_flag128self, flagMMDFMessage remove_folder128self, folderMH remove_label128self, labelBabylMessage remove_option128self, opt_strOptionParser remove_page128self, page_nameTabbedPageSet remove_section128self, sectionConfigParser remove_selection128self, event=NoneEditorWindow remove_sequence128self, sequenceMHMessage remove_tab128self, tab_nameTabSet remove_trailing_newline128(node) remove_tree128directory, verbose=1, dry_run=0 removecolors128selfColorDelegator removedirs128name removeduppaths128 removefilter128self, filterPercolator removefromallsequences128self, listFolder removemessages128self, listFolder remove128self, itemWeakSet renameNode128self, n, namespaceURI, nameDocument renames128old, new rename128self, oldmailbox, newmailboxIMAP4 render_doc128thing, title='Python Library Documentation: %s', forceload=0 repeat1(object) replaceChild128self, newChild, oldChildAttr replaceData128self, offset, count, argCDATASection replaceWholeText128self, contentCDATASection replace_all128self, event=NoneReplaceDialog replace_event128self, eventEditorWindow replace_header128self, _name, _valueBabylMessage replace_it128self, event=NoneReplaceDialog replace_paths_in_code128self, coModuleFinder replace128s, old, new, maxsplit=0 report_404128selfSimpleXMLRPCRequestHandler report_callback_exception128self, exc, val, tbTk report_error128self, pat, msg, col=-1SearchEngine report_failure128self, out, test, example, gotDebugRunner report_full_closure128selfdircmp report_partial_closure128selfdircmp report_start128self, out, test, exampleDebugRunner report_success128self, out, test, example, gotDebugRunner report_unbalanced128self, tagSGMLParser report_unexpected_exception128self, out, test, example, exc_infoDebugRunner reporthook128blocknum, blocksize, totalsize report128selfModuleFinder repr1128self, x, levelRepr repr_array128self, x, levelRepr repr_deque128self, x, levelRepr repr_dict128self, x, levelRepr repr_frozenset128self, x, levelRepr repr_instance128self, x, levelRepr repr_list128self, x, levelRepr repr_long128self, x, levelRepr repr_set128self, x, levelRepr repr_string128self, x, levelHTMLRepr repr_str128self, x, levelRepr repr_tuple128self, x, levelRepr repr128 request_host128request request_path128(request) request_port128(request) request_uri128environ, include_query=1 request128self, method, url, body=None, headers={}HTTPConnection reset_files128selfRExec reset_help_menu_entries128selfEditorWindow reset_retry_count128selfAbstractBasicAuthHandler reset_undo128selfEditorWindow resetbuffer128selfInteractiveConsole resetcache128selfColorDelegator resetlocale128category=6 resetoutput128selfPyShell resetscreen128 resetwarnings128 reset128selfHTMLParser resizemode128self, rmode=NoneTurtle resolveEntity128self, publicId, systemIdDOMEntityResolver resolve_dotted_attribute128obj, attr, allow_dotted_names=True resolve128thing, forceload=0 response128self, codeIMAP4 restart_shell128self, event=NonePyShell restart_subprocess_debugger128rpcclt restart_subprocess128self, with_cwd=FalseModifiedInterpreter restore_event128self, event=NoneParenMatch restore_file_breaks128selfPyShellEditorWindow restore_files128selfRExec restore128delta, which result_is_file128selfServerHandler results128selfTrace retrbinary128self, cmd, callback, blocksize=8192, rest=NoneFTP retrfile128self, file, typeftpwrapper retrieve128self, url, filename=None, reporthook=None, data=NoneFancyURLopener retrlines128self, cmd, callback=NoneFTP retry_http_basic_auth128self, host, req, realmAbstractBasicAuthHandler retry_http_digest_auth128self, req, authAbstractDigestAuthHandler retry_https_basic_auth128self, url, realm, data=NoneFancyURLopener retry_proxy_http_basic_auth128self, url, realm, data=NoneFancyURLopener retry_proxy_https_basic_auth128self, url, realm, data=NoneFancyURLopener retr128self, whichPOP3 reverse_order128selfStats reversed128 reverse128selfMutableSequence revert128self, filename=None, ignore_discard=False, ignore_expires=FalseFileCookieJar rewindbody128selfHTTPMessage rewind128selfGzipFile rfc822_escape128header rfind128s, *args rgb_to_hls128r, g, b rgb_to_hsv128r, g, b rgb_to_yiq128r, g, b right_menu_event128self, eventEditorWindow right128self, angleTurtle rindex128s, *args rjust128s, width rmtree128path, ignore_errors=False, onerror=None rollover128selfSpooledTemporaryFile rootnode128selfClassBrowser rot13128infile, outfile rotate128self, other, context=NoneDecimal roundfrac128intpart, fraction, digs round128 rpartition128self, sepMutableString rpop128self, userPOP3 rset128selfPOP3 rsplit128s, sep=None, maxsplit=-1 rstrip128s runTest128selfDocFileCase run_cgi128selfCGIHTTPRequestHandler run_commands128selfDistribution run_command128self, commandDistribution run_docstring_examples128f, globs, verbose=False, name='NoName', compileflags=None, optionflags=0 run_module_event128self, eventScriptBinding run_module128mod_name, init_globals=None, run_name=None, alter_sys=False run_path128path_name, init_globals=None, run_name=None run_script128self, pathnameModuleFinder run_setup128script_name, script_args=None, stop_after='run' runcall128self, func, *args, **kwProfile runcode128self, codeInteractiveConsole runcommand128self, codeModifiedInterpreter runctx128self, cmd, globals=None, locals=NoneTrace rundict128self, d, name, module=NoneTester rundoc128self, object, name=None, module=NoneTester runeval128self, expr, globals=None, locals=NonePdb runfunc128self, func, *args, **kwTrace runit128selfPyShell runningAsOSXApp128 runsource128self, source, filename='', symbol='single'InteractiveConsole runstring128self, s, nameTester runtime_library_dir_option128self, dirEMXCCompiler run128(self) s_apply128self, func, args=(), kw={}RExec s_eval128self, *argsRExec s_execfile128self, *argsRExec s_exec128self, *argsRExec s_import128self, *argsRExec s_reload128self, *argsRExec s_unload128self, *argsRExec safe_name128name safe_substitute128self, *args, **kwsTemplate safe_version128version safeimport128path, forceload=0, cache={} saferepr128object same_quantum128self, otherDecimal samefile128f1, f2 sameopenfile128fp1, fp2 samestat128s1, s2 sample128self, population, kRandom sanitize128self, sFTP sash_coord128self, indexPanedWindow sash_mark128self, indexPanedWindow sash_place128self, index, x, yPanedWindow sashpos128self, index, newpos=NonePanedwindow sash128self, *argsPanedWindow satisfied_by128self, versionVersionPredicate saveXML128self, snodeDocument save_a_copy128self, eventIOBinding save_as128self, eventIOBinding save_bgn128selfHTMLParser save_bool128self, objPickler save_dict128self, objPickler save_empty_tuple128self, objPickler save_end128selfHTMLParser save_files128selfRExec save_float128self, obj, pack='pack'Pickler save_global128self, obj, name=None, pack='pack'Pickler save_inst128self, objPickler save_int128self, obj, pack='pack'Pickler save_list128self, objPickler save_long128self, obj, pack='pack'Pickler save_marks128self, textCommand save_none128self, objPickler save_pers128self, pidPickler save_reduce128self, func, args, state=None, listitems=None, dictitems=None, obj=NonePickler save_string128self, obj, pack='pack'Pickler save_tuple128self, objPickler save_unicode128self, obj, pack='pack'Pickler saved_change_hook128selfEditorWindow save128self, objPickler scaleb128self, other, context=NoneDecimal scale128self, *argsCanvas scan_code128self, co, mModuleFinder scan_dragto128self, x, y, gain=10Canvas scan_mark128self, x, yCanvas scan_opcodes_25128self, co, unpack='unpack'ModuleFinder scan_opcodes128self, co, unpack='unpack'ModuleFinder scanvars128reader, frame, locals scan128self, stringScanner scheduler1 schedule128selfListboxToolTip screensize128self, canvwidth=None, canvheight=None, bg=NoneTurtleScreen script_from_examples128s sdist1(Command) search_backward128self, text, prog, line, col, wrap, ok=0SearchEngine search_cpp128self, pattern, body=None, headers=None, include_dirs=None, lang='c'config search_forward128self, text, prog, line, col, wrap, ok=0SearchEngine search_function128encoding search_reverse128prog, chars, col search_text128self, text, prog=None, ok=0SearchEngine search128pattern, string, flags=0 section_divider128self, strMultiFile sections128selfConfigParser section128self, title, fgcol, bgcol, contents, width=6, prelude='', marginalia=None, gap=' 'ServerHTMLDoc seed128self, a=NoneRandom seekable128selfGzipFile seek128self, pos, whence=0ExFileObject segregate128str select_adjust128self, tagOrId, indexCanvas select_all128self, event=NoneEditorWindow select_clear128selfCanvas select_from128self, tagOrId, indexCanvas select_item128selfCanvas select_or_edit128self, event=NoneTreeNode select_scheme128self, nameinstall select_to128self, tagOrId, indexCanvas selection_add128self, itemsTreeview selection_adjust128self, indexEntry selection_anchor128self, indexListbox selection_clear128self, **kwBaseWidget selection_element128self, element=NoneSpinbox selection_from128self, indexEntry selection_get128self, **kwBaseWidget selection_handle128self, command, **kwBaseWidget selection_includes128self, indexListbox selection_own_get128self, **kwBaseWidget selection_own128self, **kwBaseWidget selection_present128selfEntry selection_range128self, start, endEntry selection_remove128self, itemsTreeview selection_set128self, first, last=NoneListbox selection_toggle128self, itemsTreeview selection_to128self, indexEntry selection128self, *argsSpinbox selective_find128str, char, index, pos selective_len128str, max select128self, mailbox='INBOX', readonly=FalseIMAP4 send_content128self, connection, request_bodySafeTransport send_error128self, code, message=NoneSimpleXMLRPCRequestHandler send_flowing_data128self, dataAbstractWriter send_handle128conn, handle, destination_pid send_headers128selfServerHandler send_header128self, keyword, valueSimpleXMLRPCRequestHandler send_head128selfSimpleHTTPRequestHandler send_hor_rule128self, *args, **kwAbstractWriter send_host128self, connection, hostSafeTransport send_label_data128self, dataAbstractWriter send_line_break128selfAbstractWriter send_literal_data128self, dataAbstractWriter send_metadata128selfregister send_paragraph128self, blanklineAbstractWriter send_preamble128selfServerHandler send_request128self, connection, handler, request_bodySafeTransport send_response128self, code, message=NoneSimpleXMLRPCRequestHandler send_signal128self, sigPopen send_user_agent128self, connectionSafeTransport sendall128self, data, flags=0SSLSocket sendcmd128self, cmdFTP sendeprt128self, host, portFTP sendfile128selfServerHandler sendmail128self, from_addr, to_addrs, msg, mail_options=[], rcpt_options=[]LMTP sendport128self, host, portFTP sendto128self, data, flags_or_addr, addr=NoneSSLSocket send128self, dataDebuggingServer serve_client128self, connServer serve_forever128self, poll_interval=0.5MultiPathXMLRPCServer server_activate128selfMultiPathXMLRPCServer server_bind128selfMultiPathXMLRPCServer server_close128selfMultiPathXMLRPCServer serve128port, callback=None, completer=None setAttributeNS128self, namespaceURI, qualifiedName, valueElement setAttributeNode128self, attrElement setAttribute128self, attname, valueElement setBEGINLIBPATH128 setByteStream128(self, bytefile) setCellVars128self, namesPyFlowGraph setCharacterStream128(self, charfile) setContentHandler128self, handlerExpatParser setDTDHandler128self, handlerExpatParser setDaemon128self, daemonicThread setDocstring128self, docPyFlowGraph setDocumentLocator128self, locatorPullDOM setEncoding128(self, encoding) setEntityResolver128self, resolverExpatParser setErrorHandler128self, handlerExpatParser setFeature128self, name, stateDOMBuilder setFlag128self, flagPyFlowGraph setFormatter128self, fmtFileHandler setFreeVars128self, namesPyFlowGraph setIdAttributeNS128self, namespaceURI, localNameElement setIdAttributeNode128self, idAttrElement setIdAttribute128self, nameElement setLevel128self, levelFileHandler setLocale128self, localeExpatParser setLoggerClass128self, klassManager setMaxConns128self, mCacheFTPHandler setNamedItemNS128self, nodeNamedNodeMap setNamedItem128self, nodeNamedNodeMap setName128self, nameThread setParent128(self, parent) setProperty128self, name, valueExpatParser setPublicId128(self, public_id) setSystemId128(self, system_id) setTarget128self, targetMemoryHandler setTimeout128self, tCacheFTPHandler setUpClass128clsDocFileCase setUp128selfDocFileCase setUserData128self, key, data, handlerAttr set_aliases128self, aliasFancyGetopt set_allfiles128self, allfilesFileList set_allowed_domains128(self, allowed_domains) set_app128self, applicationWSGIServer set_blocked_domains128(self, blocked_domains) set_boundary128self, boundaryBabylMessage set_breakpoint_here128self, event=NonePyShellEditorWindow set_breakpoint128self, linenoPyShellEditorWindow set_break128self, filename, lineno, temporary=0, cond=None, funcname=NonePdb set_bt_compare128(self, *args, **kwargs) set_bt_minkey128(self, *args, **kwargs) set_cachesize128(self, *args, **kwargs) set_cdata_mode128self, elemHTMLParser set_charset128self, charsetBabylMessage set_children128self, item, *newchildrenTreeview set_child128self, i, childNode set_close_hook128self, close_hookEditorWindow set_cmd128self, cmdProfile set_conflict_handler128self, handlerOptionParser set_content_length128selfServerHandler set_continue128selfPdb set_cookie_if_ok128(self, cookie, request) set_cookie128(self, cookie) set_data_dir128(self, *args, **kwargs) set_date128self, dateMaildirMessage set_debugger_indicator128selfPyShell set_debuglevel128self, levelHTTPConnection set_default_type128self, ctypeBabylMessage set_defaults128self, **kwargsArgumentParser set_default128self, dest, valueOptionParser set_description128self, descriptionOptionParser set_encrypt128(self, *args, **kwargs) set_executables128self, **argsEMXCCompiler set_executable128self, key, valueEMXCCompiler set_filename_change_hook128self, hookIOBinding set_filename128filename, tree set_files128selfRExec set_file128self, fdfile_dispatcher set_filter128self, dir, patFileDialog set_flags128self, flagsMMDFMessage set_from128self, from_, time_=NoneMMDFMessage set_get_returns_none128(self, *args, **kwargs) set_h_ffactor128(self, *args, **kwargs) set_h_nelem128(self, *args, **kwargs) set_hooks128self, hooksModuleImporter set_http_debuglevel128self, levelAbstractHTTPHandler set_include_dirs128self, dirsEMXCCompiler set_indentation_params128self, ispythonsource, guess=TrueEditorWindow set_index128self, indexHyperParser set_info128self, infoMaildirMessage set_labels128self, labelsBabylMessage set_label128self, name, text='', side='left'MultiStatusBar set_lg_bsize128(self, *args, **kwargs) set_lg_dir128(self, *args, **kwargs) set_lg_max128(self, *args, **kwargs) set_libraries128self, libnamesEMXCCompiler set_library_dirs128self, dirsEMXCCompiler set_line_and_column128self, event=NoneEditorWindow set_lineno128self, node, force=FalseClassCodeGenerator set_link_objects128self, objectsEMXCCompiler set_lk_detect128(self, *args, **kwargs) set_lk_max_lockers128(self, *args, **kwargs) set_lk_max_locks128(self, *args, **kwargs) set_lk_max_objects128(self, *args, **kwargs) set_lk_max128(self, *args, **kwargs) set_loader128self, loaderModuleImporter set_location128self, keyBsdDbShelf set_long_opt_delimiter128self, delimHelpFormatter set_lorder128(self, *args, **kwargs) set_lo128self, loParser set_macro128(self, macro, path, key) set_marks128self, text, marksCommand set_menu128self, default=None, *valuesOptionMenu set_mp_mmapsize128(self, *args, **kwargs) set_name128self, nameFileHandler set_negative_aliases128self, negative_aliasFancyGetopt set_next128self, framePdb set_nonstandard_attr128(self, name, value) set_notabs_indentwidth128selfEditorWindow set_obsoletes128self, valueDistributionMetadata set_ok_domain128(self, cookie, request) set_ok_name128(self, cookie, request) set_ok_path128(self, cookie, request) set_ok_port128(self, cookie, request) set_ok_verifiability128(self, cookie, request) set_ok_version128(self, cookie, request) set_ok128(self, cookie, request) set_option_negotiation_callback128self, callbackTelnet set_option_table128self, option_tableFancyGetopt set_output_charset128self, charsetGNUTranslations set_pagesize128(self, *args, **kwargs) set_param128self, param, value, header='Content-Type', requote=True, charset=None, language=''BabylMessage set_parser128self, parserHelpFormatter set_pasv128self, valFTP set_path_env_var128self, nameMSVCCompiler set_payload128self, payload, charset=NoneBabylMessage set_policy128(self, policy) set_position128self, positionUnpacker set_prefix128self, prefixBase set_process_default_values128self, processOptionParser set_provides128self, valueDistributionMetadata set_proxy128self, host, typeRequest set_q_extentsize128(self, *args, **kwargs) set_quit128selfPdb set_range128(self, key, flags=0) set_re_delim128(self, *args, **kwargs) set_re_len128(self, *args, **kwargs) set_re_pad128(self, *args, **kwargs) set_re_source128(self, *args, **kwargs) set_recno128(self, recno, flags=0) set_region128self, head, tail, chars, linesEditorWindow set_requires128self, valueDistributionMetadata set_return128self, framePdb set_reuse_addr128selfDebuggingServer set_rexec128self, rexecRHooks set_runtime_library_dirs128self, dirsEMXCCompiler set_saved_change_hook128self, hookModifiedUndoDelegator set_saved128self, flagEditorWindow set_selected_tab128self, tab_nameTabSet set_selection128self, fileFileDialog set_seq1128self, aSequenceMatcher set_seq2128self, bSequenceMatcher set_seqs128self, a, bSequenceMatcher set_sequences128self, sequencesMH set_server_documentation128self, server_documentationDocCGIXMLRPCRequestHandler set_server_name128self, server_nameDocCGIXMLRPCRequestHandler set_server_title128self, server_titleDocCGIXMLRPCRequestHandler set_shm_key128(self, *args, **kwargs) set_short_opt_delimiter128self, delimHelpFormatter set_silent128self, valueBalloon set_socket128self, sock, map=NoneDebuggingServer set_spacing128self, spacingAbstractFormatter set_status_bar128selfEditorWindow set_step128selfPdb set_str128self, strParser set_style128self, styleParenMatch set_subdir128self, subdirMaildirMessage set_tabwidth128self, newtabwidthEditorWindow set_terminator128self, termSMTPChannel set_threshold128level set_timeout_last128selfParenMatch set_timeout_none128selfParenMatch set_timeout128(self, *args, **kwargs) set_title128self, titleOptionGroup set_tmp_dir128(self, *args, **kwargs) set_trace128self, frame=NonePdb set_trusted_path128selfRExec set_tunnel128self, host, port=None, headers=NoneHTTPConnection set_tx_max128(self, *args, **kwargs) set_tx_timestamp128(self, *args, **kwargs) set_type128self, type, header='Content-Type', requote=TrueBabylMessage set_undefined_options128self, src_cmd, *option_pairsCommand set_unittest_reportflags128flags set_unixfrom128self, unixfromBabylMessage set_until128self, framePdb set_url128self, urlRobotFileParser set_usage128self, usageOptionParser set_verbose128self, verboseRExec set_verbosity128v set_visible128self, visibleBabylMessage set_warning_stream128self, streamPyShell setacl128self, mailbox, who, whatIMAP4 setannotation128self, *argsIMAP4 setattr128 setblocking128SSLSocket setcbreak128fd, when=2 setcomptype128self, type, nameAu_write setcontext128self, contextMH setcookedpat128self, patSearchEngine setcopyright128 setcurrent128self, nFolder setdebugger128self, debuggerModifiedInterpreter setdefault128self, key, default=NoneWeakKeyDictionary setdelegate128self, delegateColorDelegator setencoding128 setfirstweekday128self, firstweekdayCalendar setframerate128self, framerateAu_write setheading128self, to_angleTurtle sethelper128 seth128to_angle setlast128self, lastFolder setliteral128self, *argsSGMLParser setlocale128category, locale=None setmark128self, id, pos, nameWave_write setmode128self, entrypath, mode='none'Tree setnchannels128self, nchannelsPlay_Audio_sgi setnframes128self, nframesAu_write setnomoretags128selfSGMLParser setoutrate128self, ratePlay_Audio_sgi setparams128self, paramsAu_write setpassword128self, pwdPyZipFile setpat128self, patSearchEngine setposition128x, y=None setpos128self, posAu_read setprofile128func setquit128 setquota128self, root, limitsIMAP4 setraw128fd, when=2 setsampwidth128self, widthPlay_Audio_sgi setsockopt128SSLSocket setstate128self, stateRandom setstatus128self, entrypath, mode='on'CheckList settiltangle128self, angleTurtle settimeout128SSLSocket settitle128selfClassBrowser settrace128func setundobuffer128self, sizeTurtle setupApp128root, flist setup_environ128selfServerHandler setup_master128master=None setup_testing_defaults128environ setup128selfSimpleXMLRPCRequestHandler setvar128self, name='PY_VAR', value='1'BaseWidget setworldcoordinates128self, llx, lly, urx, uryTurtleScreen setx128self, xTurtle sety128self, yTurtle set128(self, key, flags=0) shapesize128self, stretch_wid=None, stretch_len=None, outline=NoneTurtle shape128self, name=NoneTurtle shared_object_filename128self, basename, strip_dir=0, output_dir=''EMXCCompiler shift_expr128self, nodelistTransformer shift_path_info128environ shift128self, other, context=NoneDecimal shlex1 shortDescription128selfDocFileCase short_has_arg128opt, shortopts short_title128selfEditorWindow shortcmd128self, lineNNTP shouldFlush128self, recordBufferingHandler shouldRollover128self, recordRotatingFileHandler should_skip128(self, node) show_compilers128 show_dialog128self, parentHelpDialog show_entry128self, entryHList show_formats128 show_frame128self, (frame, lineno)Debugger show_globals128selfDebugger show_hit128self, first, lastReplaceDialog show_locals128selfDebugger show_socket_error128err, address show_source128selfDebugger show_stack_frame128selfStackViewer show_stack128selfDebugger show_variables128self, force=0Debugger show_window128self, comp_lists, index, complete, mode, userWantsWinAutoCompleteWindow showcontents128selfListboxToolTip showerror128title=None, message=None, **options showinfo128title=None, message=None, **options showprompt128selfPyShell showsymbol128self, symbolHelper showsyntaxerror128self, filename=NoneInteractiveConsole showtip128self, text, parenleft, parenrightCallTip showtopic128self, topic, more_xrefs=''Helper showtraceback128selfInteractiveConsole showturtle128selfTurtle showwarning128title=None, message=None, **options show128caps shuffle128self, x, random=None, int='int'Random shutdown_request128self, requestMultiPathXMLRPCServer shutdown128selfMultiPathXMLRPCServer simpleElement128self, element, value=NoneDumbXMLWriter simple_producer1(object) simple_stmt128self, nodelistTransformer simplefilter128action, category='Warning', lineno=0, append=0 simplegeneric128func simplify_args128(node) simplify_dfa128(self, dfa) simulate_call128self, nameProfile simulate_cmd_complete128selfProfile single_input128self, nodeTransformer single_request128self, host, handler, request_body, verbose=0SafeTransport size_column128self, index, **kwGrid size_row128self, index, **kwGrid size128self, filenameFTP skipTest128self, reasonDocFileCase skip_lines128selfFieldStorage skippedEntity128self, namePullDOM skipped_entity_handler128self, name, is_peExpatParser skip128selfChunk slave_open128tty_name slaves128selfForm slave128selfNNTP sliceop128self, nodelistTransformer slice128 small128text smart_backspace_event128self, eventEditorWindow smart_indent_event128self, eventEditorWindow smtp_DATA128self, argSMTPChannel smtp_HELO128self, argSMTPChannel smtp_MAIL128self, argSMTPChannel smtp_NOOP128self, argSMTPChannel smtp_QUIT128self, argSMTPChannel smtp_RCPT128self, argSMTPChannel smtp_RSET128self, argSMTPChannel snapshot_stats128selfProfile sniff128self, sample, delimiters=NoneSniffer sock_avail128selfTelnet socket1(object) softspace128file, newvalue sort_cellvars128selfPyFlowGraph sort_stats128self, *fieldStats sorted128 sort128self, sort_criteria, charset, *search_criteriaIMAP4 source_synopsis128file sourcehook128self, newfileshlex spawn_subprocess128selfModifiedInterpreter spawnle128mode, file, *args spawnlpe128mode, file, *args spawnlp128mode, file, *args spawnl128mode, file, *args spawnve128mode, file, args, env spawnvpe128mode, file, args, env spawnvp128mode, file, args spawnv128mode, file, args spawn128argv, master_read='_read', stdin_read='_read' speed128self, speed=NoneTurtle splitText128self, offsetCDATASection splitUp128pred split_header_words128(header_values) split_provision128value split_quoted128s splitattr128url splitdoc128doc splitdrive128p splitext128p splithost128url splitlines128self, keepends=0MutableString splitnport128host, defport=-1 splitpasswd128user splitport128host splitquery128url splittag128url splittype128url splitunc128p splituser128host splitvalue128attr split128pattern, string, maxsplit=0, flags=0 sqrt128self, context=NoneDecimal sslwrap_simple128sock, keyfile=None, certfile=None stack_size128size=None stackviewer128self, flist_oid=NoneExecutive stack128context=1 stamp128selfTurtle standard_b64decode128s standard_b64encode128s starmap1(object) startBlock128self, blockFlowGraph startContainer128self, nodeFilterVisibilityController startDocument128selfPullDOM startElementNS128self, name, tagName, attrsPullDOM startElement128self, name, attrsPullDOM startExitBlock128selfFlowGraph startPrefixMapping128self, prefix, uriPullDOM start_address128self, attrsHTMLParser start_a128self, attrsHTMLParser start_blockquote128self, attrsHTMLParser start_body128self, attrsHTMLParser start_b128self, attrsHTMLParser start_cdata_section_handler128selfExpatBuilder start_cite128self, attrsHTMLParser start_code128self, attrsHTMLParser start_color128 start_debugger128rpchandler, gui_adap_oid start_dir128self, attrsHTMLParser start_dl128self, attrsHTMLParser start_doctype_decl_handler128self, doctypeName, systemId, publicId, has_internal_subsetExpatBuilder start_doctype_decl128self, name, sysid, pubid, has_internal_subsetExpatParser start_element_handler128self, name, attributesExpatBuilder start_element_ns128self, name, attrsExpatParser start_element128self, name, attrsExpatParser start_em128self, attrsHTMLParser start_h1128self, attrsHTMLParser start_h2128self, attrsHTMLParser start_h3128self, attrsHTMLParser start_h4128self, attrsHTMLParser start_h5128self, attrsHTMLParser start_h6128self, attrsHTMLParser start_head128self, attrsHTMLParser start_html128self, attrsHTMLParser start_i128self, attrsHTMLParser start_kbd128self, attrsHTMLParser start_listing128self, attrsHTMLParser start_menu128self, attrsHTMLParser start_namespace_decl_handler128self, prefix, uriExpatBuilderNS start_namespace_decl128self, prefix, uriExpatParser start_new_thread128function, args, kwargs={} start_ol128self, attrsHTMLParser start_pre128self, attrsHTMLParser start_remote_debugger128rpcclt, pyshell start_response128self, status, headers, exc_info=NoneServerHandler start_samp128self, attrsHTMLParser start_section128self, headingArgumentDefaultsHelpFormatter start_strong128self, attrsHTMLParser start_subprocess128selfModifiedInterpreter start_the_debugger128self, gui_adap_oidExecutive start_title128self, attrsHTMLParser start_tree128(self, tree, filename) start_tt128self, attrsHTMLParser start_ul128self, attrsHTMLParser start_var128self, attrsHTMLParser start_xmp128self, attrsHTMLParser startbody128self, ctype, plist=[], prefix=1MimeWriter startmultipartbody128self, subtype, boundary=None, plist=[], prefix=1MimeWriter startswith128self, prefix, start=0, end=9223372036854775807MutableString starttls128self, keyfile=None, certfile=NoneLMTP start128selfThread stat_result1(object) statcmd128self, lineNNTP state128self, statespec=NoneButton staticmethod128 statparse128self, respNNTP status128self, mailbox, namesIMAP4 statvfs_result1(object) stat128selfPOP3 step128selfDebugger still_active128selfFinalize stmt1(AST) stopListening128 stop_here128self, framePdb stop_the_debugger128self, idb_adap_oidExecutive stop128selfPlay_Audio_sgi storbinary128self, cmd, fp, blocksize=8192, callback=None, rest=NoneFTP storeName128self, nameClassCodeGenerator store_file_breaks128selfPyShellEditorWindow store_option_strings128self, parserHelpFormatter store128self, message_set, command, flagsIMAP4 storlines128self, cmd, fp, callback=NoneFTP string_at128ptr, size=-1 strip_dirs128selfStats stripid128text stripped128self, keyFormContent strip128s strong128text strseq128object, convert, join='joinseq' strtobool128val stuffsource128self, sourceModifiedInterpreter sub_debug128msg, *args subn128pattern, repl, string, count=0, flags=0 subsample128self, x, y=''PhotoImage subscribe128self, mailboxIMAP4 subst_vars128s, local_vars substitute128self, *args, **kwsTemplate substringData128self, offset, countCDATASection subst128field, MIMEtype, filename, plist=[] subtract128self, iterable=None, **kwdsCounter subwidgets_all128selfBalloon subwidget128self, nameBalloon sub128(self, s) successful128(self) suite128self, nodelistTransformer summarize128self, verbose=NoneDebugRunner super128 supportsFeature128self, nameDOMBuilder swapcase128s swig_sources128self, sources, extensionbuild_ext symmetric_difference_update128self, otherWeakSet symmetric_difference128self, otherWeakSet symtable128code, filename, compile_type sync_source_line128selfDebugger synchronized128obj, lock=None sync128selfBsdDbShelf synopsis128filename, cache={} syntax_error128self, messageTestXMLParser system_alias128system, release, version system_listMethods128selfCGIXMLRPCRequestHandler system_methodHelp128self, method_nameCGIXMLRPCRequestHandler system_methodSignature128self, method_nameCGIXMLRPCRequestHandler system_multicall128self, call_listCGIXMLRPCRequestHandler system128 tabify_region_event128self, eventEditorWindow tabnanny128self, filenameScriptBinding tabs128selfNotebook tag_add128self, tagName, index1, *argsText tag_bind128self, tagOrId, sequence=None, func=None, add=NoneCanvas tag_cget128self, tagName, optionText tag_configure128self, tagName, cnf=None, **kwText tag_delete128self, *tagNamesText tag_has128self, tagname, item=NoneTreeview tag_lower128self, *argsCanvas tag_names128self, index=NoneText tag_nextrange128self, tagName, index1, index2=NoneText tag_prevrange128self, tagName, index1, index2=NoneText tag_raise128self, *argsCanvas tag_ranges128self, tagNameText tag_remove128self, tagName, index1, index2=NoneText tag_unbind128self, tagOrId, sequence, funcid=NoneCanvas take_action128self, action, dest, opt, value, values, parserOption takes_value128selfOption taropen128cls, name, mode='r', fileobj=None, **kwargsTarFile task_done128selfLifoQueue tb_lineno128tb tclobjs_to_py128adict tearDownClass128clsDocFileCase tearDown128selfDocFileCase tell128selfExFileObject tempfilepager128text, cmd template128pattern, flags=0 terminate128selfPopen term128self, nodelistTransformer test1128 test2128 test_8svx128h, f test_aifc128h, f test_au128h, f test_bmp128h, f test_dyld_find128() test_dylib_info128 test_exif128h, f test_framework_info128 test_gif128h, f test_hcom128h, f test_jpeg128h, f test_pbm128h, f test_pgm128h, f test_png128h, f test_ppm128h, f test_rast128h, f test_rgb128h, f test_skip128selfSkipDocTestCase test_sndr128h, f test_sndt128h, f test_tiff128h, f test_voc128h, f test_wav128h, f test_xbm128h, f testall128list, recursive, toplevel testandset128selfmutex testfile128filename, module_relative=True, name=None, package=None, globs=None, verbose=None, report=True, optionflags=0, extraglobs=None, raise_on_error=False, parser=, encoding=None testlist_comp128self, nodelistTransformer testlist128self, nodelistTransformer testmod128m=None, name=None, globs=None, verbose=None, report=True, optionflags=0, extraglobs=None, raise_on_error=False, exclude_empty=False testsource128module, name testzip128selfTarFileCompat test128 textdomain128domain=None text128einfo, context=5 theme_create128self, themename, parent=None, settings=NoneStyle theme_names128selfStyle theme_settings128self, themename, settingsStyle theme_use128self, themename=NoneStyle thishost128 thread128self, threading_algorithm, charset, *search_criteriaIMAP4 throw128self, *argsIteratorProxy tiltangle128selfTurtle tilt128self, angleTurtle time2isoz128(t=None) time2netscape128(t=None) timegm128tuple timeit128self, number=1000000Timer timeout1(error) timer_event128selfCodeContext timetuple128selfDateTime time1(object) title128selfMutableString tixCommand1 tix_addbitmapdir128self, directoryTk tix_cget128self, optionTk tix_configure128self, cnf=None, **kwTk tix_filedialog128self, dlgclass=NoneTk tix_getbitmap128self, nameTk tix_getimage128self, nameTk tix_option_get128self, nameTk tix_resetoptions128self, newScheme, newFontSet, newScmPrio=NoneTk tkButtonDown128self, *dummyButton tkButtonEnter128self, *dummyButton tkButtonInvoke128self, *dummyButton tkButtonLeave128self, *dummyButton tkButtonUp128self, *dummyButton tkVersionWarning128root tk_bindForTraversal128selfMenu tk_bisque128selfBaseWidget tk_firstMenu128selfMenu tk_focusFollowsMouse128selfBaseWidget tk_focusNext128selfBaseWidget tk_focusPrev128selfBaseWidget tk_getMenuButtons128selfMenu tk_invokeMenu128selfMenu tk_mbButtonDown128selfMenu tk_mbPost128selfMenu tk_mbUnpost128selfMenu tk_menuBar128self, *argsBaseWidget tk_nextMenuEntry128self, countMenu tk_nextMenu128self, countMenu tk_popup128self, x, y, entry=''Menu tk_setPalette128self, *args, **kwBaseWidget tk_strictMotif128self, boolean=NoneBaseWidget tk_textBackspace128selfText tk_textIndexCloser128self, a, b, cText tk_textResetAnchor128self, indexText tk_textSelectTo128self, indexText tk_traverseToMenu128self, charMenu tk_traverseWithinMenu128self, charMenu tkraise128self, aboveThis=NoneBaseWidget toBytes128url to_eng_string128self, context=NoneDecimal to_filename128name to_integral_exact128self, rounding=None, context=NoneDecimal to_integral_value128self, rounding=None, context=NoneDecimal to_sci_string128self, aContext to_splittable128self, sCharset toaiff128filename tobuf128self, format=1, encoding='UTF-8', errors='strict'TarInfo toggle_code_context_event128self, event=NoneCodeContext toggle_colorize_event128self, eventColorDelegator toggle_debugger128self, event=NonePyShell toggle_jit_stack_viewer128self, event=NonePyShell toggle_tabs_event128self, eventEditorWindow toggle128selfCheckbutton tokeneater128self, type, token, srow_scol, erow_ecol, lineBlockFinder tokenize_loop128readline, tokeneater tokenize_wrapper128(input) tokenize128readline, tokeneater='printtoken' tolist128selfIntSet toprettyxml128self, indent='\t', newl='\n', encoding=NoneAttr tostringlist128element, encoding=None, method=None tostring128selfIntSet total_ordering128cls touch_import128(package, name, node) towards128self, x, y=NoneTurtle toxml128self, encoding=NoneAttr trace_dispatch_c_call128self, frame, tProfile trace_dispatch_call128self, frame, tProfile trace_dispatch_exception128self, frame, tProfile trace_dispatch_i128self, frame, event, argProfile trace_dispatch_l128self, frame, event, argProfile trace_dispatch_mac128self, frame, event, argProfile trace_dispatch_return128self, frame, tProfile trace_dispatch128self, frame, event, argProfile trace_variable128self, mode, callbackBooleanVar trace_vdelete128self, mode, cbnameBooleanVar trace_vinfo128selfBooleanVar traceback1(object) tracer128self, flag=None, delay=NoneTurtle trace128context=1 trailer128self, nodelistTransformer transfer_path128self, with_cwd=FalseModifiedInterpreter transfercmd128self, cmd, rest=NoneFTP transform_dot128self, node, resultsFixUrllib transform_import128self, node, resultsFixUrllib transform_isinstance128(self, node, results) transform_lambda128(self, node, results) transform_member128self, node, resultsFixUrllib transform_range128(self, node, results) transform_sort128(self, node, results) transform_while128(self, node, results) transform_xrange128(self, node, results) transform128self, treeTransformer translate_longopt128opt translate_path128self, pathSimpleHTTPRequestHandler translate_pattern128pattern, anchor=1, prefix=None, is_regex=0 translate_references128self, data, all=1TestXMLParser translate128s, table, deletions='' translation128domain, localedir=None, languages=None, class_=None, fallback=False, codeset=None traverse_by128(self, fixers, traversal) traverse_imports128(names) triangular128self, low=0.0, high=1.0, mode=NoneRandom truncate128self, size=NoneStringIO ttypager128text tuple_name128(param_list) tuple128 turtlesize128stretch_wid=None, stretch_len=None, outline=None turtles128selfTurtleScreen twobyte128val txn_begin128(self, *args, **kwargs) txn_checkpoint128(self, *args, **kwargs) txn_stat128(self, *args, **kwargs) type_repr128type_num typed_subpart_iterator128msg, maintype='text', subtype=None type128 ugettext128self, messageGNUTranslations uidl128self, which=NonePOP3 ulaw2lin128self, dataPlay_Audio_sgi uname128 unaryOp128self, node, opClassCodeGenerator unaryop1(AST) unbind_all128self, sequenceBaseWidget unbind_class128self, className, sequenceBaseWidget unbind_widget128self, widgetBalloon unbind128self, sequence, funcid=NoneBaseWidget uncomment_region_event128self, eventEditorWindow unctrl128c undefine_macro128self, nameEMXCCompiler undo_block_start128selfModifiedUndoDelegator undo_block_stop128selfModifiedUndoDelegator undo_event128self, eventModifiedUndoDelegator undobufferentries128selfTurtle undo128self, textCommand unescape128self, sHTMLParser unexpo128intpart, fraction, expo ungettext128self, msgid1, msgid2, nGNUTranslations unhex128s unichr128 unicode128 unified_diff128a, b, fromfile='', tofile='', fromfiledate='', tofiledate='', n=3, lineterm='\n' uniform128self, a, bRandom unifystate128(self, old, new) uninstall128selfModuleImporter union_update128self, otherSet union128self, otherWeakSet unit_down128self, eventScrolledCanvas unit_up128self, eventScrolledCanvas unix_getpass128prompt='Password: ', stream=None unix_terminate128selfModifiedInterpreter unknown_charref128self, refSGMLParser unknown_decl128self, dataHTMLParser unknown_endtag128self, tagSGMLParser unknown_entityref128self, refSGMLParser unknown_open128self, reqUnknownHandler unknown_starttag128self, tag, attrsSGMLParser unlink128selfAttr unload_extensions128selfEditorWindow unload128self, moduleModuleImporter unlock128selfBabyl unmatched128(match) unmimify_part128ifile, ofile, decode_base64=0 unmimify128infile, outfile, decode_base64=0 unpackSequence128self, tupAbstractFunctionCode unpack_array128self, unpack_itemUnpacker unpack_bool128selfUnpacker unpack_double128selfUnpacker unpack_farray128self, n, unpack_itemUnpacker unpack_float128selfUnpacker unpack_fstring128self, nUnpacker unpack_hyper128selfUnpacker unpack_int128selfUnpacker unpack_list128self, unpack_itemUnpacker unpack_string128selfUnpacker unpack_uhyper128selfUnpacker unpack_uint128selfUnpacker unpackerror128selfModifiedInterpreter unparsedEntityDecl128(self, name, publicId, systemId, ndata) unparsed_entity_decl128self, name, base, sysid, pubid, notation_nameExpatParser unpickle_code128ms unpost128selfMenu unquote_plus128s unquote128s unreadline128self, lineTextFile unregister_archive_format128name unregister_callback128self, callbackWindowList unregister_maybe_terminate128self, editFileList unregister128self, oidMyRPCClient unschedule128selfListboxToolTip unset128self, x, yGrid unsubscribe128self, mailboxIMAP4 untabify_region_event128self, eventEditorWindow untokenize128self, iterableUntokenizer unwrap128url up_event128self, eventScrolledList update_breakpoints128selfPyShellEditorWindow update_code_context128selfCodeContext update_idletasks128selfBaseWidget update_recent_files_list128self, new_file=NoneEditorWindow update_visible128selfBabylMessage update_windowlist_registry128self, windowListedToplevel update_wrapper128wrapper, wrapped, assigned=('__module__', '__name__', '__doc__'), updated=('__dict__',) updatecache128filename, module_globals=None updateline128file, key, value, casefold=1 updatepos128self, i, jHTMLParser updaterecentfileslist128self, filenameIOBinding update128self, dict=None, **kwargsWeakKeyDictionary upgrade128(self, *args, **kwargs) upload_file128self, command, pyversion, filenameupload upload1(PyPIRCCommand) uppercase_escaped_char128(match) upper128s url2pathname128pathname urlcleanup128 urldefrag128url urlencode128query, doseq=0 urljoin128base, url, allow_fragments=True urlopen128url, data=None, timeout= urlparse128url, scheme='', allow_fragments=True urlretrieve128url, filename=None, reporthook=None, data=None urlsafe_b64decode128s urlsafe_b64encode128s urlsplit128url, scheme='', allow_fragments=True urlunparse128data urlunsplit128data usage128outfile user_call128self, frame, argument_listPdb user_domain_match128(A, B) user_exception128self, frame, exc_infoPdb user_line128self, framePdb user_return128self, frame, return_valuePdb user128self, userPOP3 usesTime128selfFormatter utime128self, tarinfo, targetpathTarFile uu_decode128input, errors='strict' uu_encode128input, errors='strict', filename='', mode=438 uuid1128node=None, clock_seq=None uuid3128namespace, name uuid4128 uuid5128namespace, name valid_boundary128s, _vb_pattern='^[ -~]{0,200}[!-~]$' valid_ident128s validate128selfCombobox validator128application vals_sorted_by_key128(adict) value_decode128self, valBaseCookie value_encode128self, valBaseCookie valuerefs128selfWeakValueDictionary values128selfWeakKeyDictionary value128self, keyFormContent varargslist128self, nodelistTransformer vars128 verify_metadata128selfregister verify_request128self, request, client_addressMultiPathXMLRPCServer verify128self, addressLMTP version_string128selfSimpleXMLRPCRequestHandler version128 vformat128self, format_string, args, kwargsFormatter view_file128parent, title, filename, encoding=None, modal=True view_restart_mark128self, event=NonePyShell view_text128parent, title, text, modal=True viewitems128selfOrderedDict viewkeys128selfOrderedDict viewvalues128selfOrderedDict view128selfTreeNode visiblename128name, all=None, obj=None visitAdd128self, nodeClassCodeGenerator visitAnd128self, nodeClassCodeGenerator visitAssAttr128self, node, scope, assign=0SymbolVisitor visitAssName128self, node, scope, assign=1SymbolVisitor visitAssert128self, nodeClassCodeGenerator visitAssign128self, node, scopeSymbolVisitor visitAugAssign128self, node, scopeSymbolVisitor visitAugGetattr128self, node, modeClassCodeGenerator visitAugName128self, node, modeClassCodeGenerator visitAugSlice128self, node, modeClassCodeGenerator visitAugSubscript128self, node, modeClassCodeGenerator visitBackquote128self, nodeClassCodeGenerator visitBitand128self, nodeClassCodeGenerator visitBitor128self, nodeClassCodeGenerator visitBitxor128self, nodeClassCodeGenerator visitBreak128self, nodeClassCodeGenerator visitCallFunc128self, nodeClassCodeGenerator visitClass128self, node, parentSymbolVisitor visitCompare128self, nodeClassCodeGenerator visitConst128self, nodeClassCodeGenerator visitContinue128self, nodeClassCodeGenerator visitDictComp128self, nodeClassCodeGenerator visitDict128self, nodeClassCodeGenerator visitDiscard128self, nodeClassCodeGenerator visitDiv128self, nodeClassCodeGenerator visitEllipsis128self, nodeClassCodeGenerator visitExec128self, nodeClassCodeGenerator visitExpression128self, nodeClassCodeGenerator visitFloorDiv128self, nodeClassCodeGenerator visitFor128self, node, scopeSymbolVisitor visitFrom128self, node, scopeSymbolVisitor visitFunction128self, node, parentSymbolVisitor visitGenExprFor128self, node, scopeSymbolVisitor visitGenExprIf128self, node, scopeSymbolVisitor visitGenExprInner128self, node, scopeSymbolVisitor visitGenExpr128self, node, parentSymbolVisitor visitGetattr128self, nodeClassCodeGenerator visitGlobal128self, node, scopeSymbolVisitor visitIfExp128self, nodeClassCodeGenerator visitIf128self, node, scopeSymbolVisitor visitImport128self, node, scopeSymbolVisitor visitInvert128self, nodeClassCodeGenerator visitKeyword128self, nodeClassCodeGenerator visitLambda128self, node, parent, assign=0SymbolVisitor visitLeftShift128self, nodeClassCodeGenerator visitListCompFor128self, nodeClassCodeGenerator visitListCompIf128self, node, branchClassCodeGenerator visitListComp128self, nodeClassCodeGenerator visitList128self, nodeClassCodeGenerator visitModule128self, nodeSymbolVisitor visitMod128self, nodeClassCodeGenerator visitMul128self, nodeClassCodeGenerator visitName128self, node, scope, assign=0SymbolVisitor visitNot128self, nodeClassCodeGenerator visitOr128self, nodeClassCodeGenerator visitPass128self, nodeClassCodeGenerator visitPower128self, nodeClassCodeGenerator visitPrintnl128self, nodeClassCodeGenerator visitPrint128self, node, newline=0ClassCodeGenerator visitRaise128self, nodeClassCodeGenerator visitReturn128self, nodeClassCodeGenerator visitRightShift128self, nodeClassCodeGenerator visitSetComp128self, nodeClassCodeGenerator visitSet128self, nodeClassCodeGenerator visitSliceobj128self, nodeClassCodeGenerator visitSlice128self, node, scope, assign=0SymbolVisitor visitSubscript128self, node, scope, assign=0SymbolVisitor visitSub128self, nodeClassCodeGenerator visitTest128self, node, jumpClassCodeGenerator visitTryExcept128self, nodeClassCodeGenerator visitTryFinally128self, nodeClassCodeGenerator visitTuple128self, nodeClassCodeGenerator visitUnaryAdd128self, nodeClassCodeGenerator visitUnaryInvert128self, nodeClassCodeGenerator visitUnarySub128self, nodeClassCodeGenerator visitWhile128self, nodeClassCodeGenerator visitWith128self, nodeClassCodeGenerator visitYield128self, node, scopeSymbolVisitor visit128self, nodeNodeTransformer voidcmd128self, cmdFTP voidresp128selfFTP vonmisesvariate128self, mu, kappaRandom wait_variable128self, name='PY_VAR'BaseWidget wait_visibility128self, window=NoneBaseWidget wait_window128self, window=NoneBaseWidget wait128selfPopen wakeup128selfListedToplevel walk_packages128path=None, prefix='', onerror=None walktree128classes, children, parent walk128node warn_mismatched128selfParenMatch warning128self, msg, *args, **kwargsLogger warnpy3k128message, category=None, stacklevel=1 warn128self, msgEMXCCompiler weakcallableproxy1(object) weakproxy1(object) weakref1(object) weekday128year, month, day weibullvariate128self, alpha, betaRandom whathdr128filename what128file, h=None where128self, canvas, eventIcon whichdb128filename whichmodule128func, funcname whseed128self, a=NoneWichmannHill width128selfBitmapImage win32_ver128release='', version='', csd='', ptype='' win_getpass128prompt='Password: ', stream=None winconfig_event128self, eventAutoCompleteWindow window_cget128self, index, optionText window_configure128self, index, cnf=None, **kwText window_create128self, index, cnf={}, **kwText window_height128selfTurtle window_names128selfText window_width128selfTurtle winfo_atomname128self, id, displayof=0BaseWidget winfo_atom128self, name, displayof=0BaseWidget winfo_cells128selfBaseWidget winfo_children128selfBaseWidget winfo_class128selfBaseWidget winfo_colormapfull128selfBaseWidget winfo_containing128self, rootX, rootY, displayof=0BaseWidget winfo_depth128selfBaseWidget winfo_exists128selfBaseWidget winfo_fpixels128self, numberBaseWidget winfo_geometry128selfBaseWidget winfo_height128selfBaseWidget winfo_id128selfBaseWidget winfo_interps128self, displayof=0BaseWidget winfo_ismapped128selfBaseWidget winfo_manager128selfBaseWidget winfo_name128selfBaseWidget winfo_parent128selfBaseWidget winfo_pathname128self, id, displayof=0BaseWidget winfo_pixels128self, numberBaseWidget winfo_pointerxy128selfBaseWidget winfo_pointerx128selfBaseWidget winfo_pointery128selfBaseWidget winfo_reqheight128selfBaseWidget winfo_reqwidth128selfBaseWidget winfo_rgb128self, colorBaseWidget winfo_rootx128selfBaseWidget winfo_rooty128selfBaseWidget winfo_screencells128selfBaseWidget winfo_screendepth128selfBaseWidget winfo_screenheight128selfBaseWidget winfo_screenmmheight128selfBaseWidget winfo_screenmmwidth128selfBaseWidget winfo_screenvisual128selfBaseWidget winfo_screenwidth128selfBaseWidget winfo_screen128selfBaseWidget winfo_server128selfBaseWidget winfo_toplevel128selfBaseWidget winfo_viewable128selfBaseWidget winfo_visualid128selfBaseWidget winfo_visualsavailable128self, includeids=0BaseWidget winfo_visual128selfBaseWidget winfo_vrootheight128selfBaseWidget winfo_vrootwidth128selfBaseWidget winfo_vrootx128selfBaseWidget winfo_vrooty128selfBaseWidget winfo_width128selfBaseWidget winfo_x128selfBaseWidget winfo_y128selfBaseWidget wm_aspect128self, minNumer=None, minDenom=None, maxNumer=None, maxDenom=NoneGetCfgSectionNameDialog wm_attributes128self, *argsGetCfgSectionNameDialog wm_client128self, name=NoneGetCfgSectionNameDialog wm_colormapwindows128self, *wlistGetCfgSectionNameDialog wm_command128self, value=NoneGetCfgSectionNameDialog wm_deiconify128selfGetCfgSectionNameDialog wm_delete_window128selfEncodingMessage wm_focusmodel128self, model=NoneGetCfgSectionNameDialog wm_frame128selfGetCfgSectionNameDialog wm_geometry128self, newGeometry=NoneGetCfgSectionNameDialog wm_grid128self, baseWidth=None, baseHeight=None, widthInc=None, heightInc=NoneGetCfgSectionNameDialog wm_group128self, pathName=NoneGetCfgSectionNameDialog wm_iconbitmap128self, bitmap=None, default=NoneGetCfgSectionNameDialog wm_iconify128selfGetCfgSectionNameDialog wm_iconmask128self, bitmap=NoneGetCfgSectionNameDialog wm_iconname128self, newName=NoneGetCfgSectionNameDialog wm_iconposition128self, x=None, y=NoneGetCfgSectionNameDialog wm_iconwindow128self, pathName=NoneGetCfgSectionNameDialog wm_maxsize128self, width=None, height=NoneGetCfgSectionNameDialog wm_minsize128self, width=None, height=NoneGetCfgSectionNameDialog wm_overrideredirect128self, boolean=NoneGetCfgSectionNameDialog wm_positionfrom128self, who=NoneGetCfgSectionNameDialog wm_protocol128self, name=None, func=NoneGetCfgSectionNameDialog wm_resizable128self, width=None, height=NoneGetCfgSectionNameDialog wm_sizefrom128self, who=NoneGetCfgSectionNameDialog wm_state128self, newstate=NoneGetCfgSectionNameDialog wm_title128self, string=NoneGetCfgSectionNameDialog wm_transient128self, master=NoneGetCfgSectionNameDialog wm_withdraw128selfGetCfgSectionNameDialog worker128(inqueue, outqueue, initializer=None, initargs=(), maxtasks=None) wr_long128f, x wrapF128() wrap_aug128node wrap_frame128frame wrap_info128info wrap_socket128sock, keyfile=None, certfile=None, server_side=False, cert_reqs=0, ssl_version=2, ca_certs=None, do_handshake_on_connect=True, suppress_ragged_eofs=True, ciphers=None wrap_text128text, width wrap_toks128(self, block, lineno, indent) wrapper128func, *args, **kwds wraps128wrapped, assigned=('__module__', '__name__', '__doc__'), updated=('__dict__',) wrap128self, textTextWrapper writable128selfDebuggingServer write32u128output, value writeArray128self, arrayPlistWriter writeData128self, dataPlistWriter writeDict128self, dPlistWriter writePlistToResource128rootObject, path, restype='plst', resid=0 writePlistToString128rootObject writePlist128rootObject, pathOrFile writeValue128self, valuePlistWriter write_c14n128self, fileElementTree write_docstringdict128filename='turtle_docstringdict' write_file128filename, contents write_manifest128selfsdist write_pkg_file128self, fileDistributionMetadata write_pkg_info128self, base_dirDistributionMetadata write_results_file128self, path, lines, lnotab, lines_hitCoverageResults write_results128self, show_missing=True, summary=False, coverdir=NoneCoverageResults write_rsrc128self, dataBinHex writedocs128dir, pkgpath='', done=None writedoc128thing, forceload=0 writefile128self, filenameIOBinding writeframesraw128self, dataAu_write writeframes128self, dataPlay_Audio_sgi writeheader128selfDictWriter writelines128self, iterableStringIO writeln128self, lineDumbXMLWriter writepy128self, pathname, basename=''PyZipFile writerows128self, rowdictsDictWriter writerow128self, rowdictDictWriter writestr128self, zinfo, bytesTarFileCompat writexml128self, writer, indent='', addindent='', newl=''CDATASection write128self, filename, arcname=None, compress_type=NoneTarFileCompat wstring_at128ptr, size=-1 xatom128self, name, *argsIMAP4 xbutton128(self, name, title, next, xpos) xcor128selfTurtle xgtitle128self, group, file=NoneNNTP xhdr128self, hdr, str, file=NoneNNTP xml_decl_handler128self, version, encoding, standaloneExpatBuilder xmlparser1(object) xor_expr128self, nodelistTransformer xover128self, start, end, file=NoneNNTP xpath_tokenizer128pattern, namespaces=None xpath128self, idNNTP xrange128 xreadlines128self, *argsSpooledTemporaryFile xview_moveto128self, fractionCanvas xview_scroll128self, number, whatCanvas xview128self, *argsCanvas ycor128selfTurtle yeardatescalendar128self, year, width=3Calendar yeardays2calendar128self, year, width=3Calendar yeardayscalendar128self, year, width=3Calendar yiq_to_rgb128y, i, q yposition128self, indexMenu yview_moveto128self, fractionCanvas yview_pickplace128self, *whatText yview_scroll128self, number, whatCanvas yview128self, *argsCanvas zfill128x, width zipimporter1(object) zlib_decode128input, errors='strict' zlib_encode128input, errors='strict' zoom_height_event128self, eventZoomHeight zoom_height128self, eventScrolledCanvas zoom128self, x, y=''PhotoImage geany-1.32/data/tags/std.php.tags0000644000175000017500000230040413204251306013571 00000000000000# format=tagmanager $affected_rows64(mysqli $link)intmysqli $affected_rows64(mysqli_stmt $stmt)intmysqli_stmt $client_info64(mysqli $link)stringmysqli $client_version64(mysqli $link)intmysqli $connect_errno64()intmysqli $connect_error64()stringmysqli $current_field64(mysqli_result $result)intmysqli_result $errno64(mysqli $link)intmysqli $errno64(mysqli_stmt $stmt)intmysqli_stmt $error64(mysqli $link)stringmysqli $error64(mysqli_stmt $stmt)stringmysqli_stmt $errorBuffer64(tidy $tidy)stringtidy $error_list64(mysqli $link)arraymysqli $error_list64(mysqli_stmt $stmt)arraymysqli_stmt $field_count64(mysqli $link)intmysqli $field_count64(mysqli_result $result)intmysqli_result $field_count64(mysqli_stmt $stmt)intmysqli_stmt $host_info64(mysqli $link)stringmysqli $info64(mysqli $link)stringmysqli $insert_id64(mysqli $link)mixedmysqli $insert_id64(mysqli_stmt $stmt)mixedmysqli_stmt $lengths64(mysqli_result $result)arraymysqli_result $num_rows64(mysqli_result $result)intmysqli_result $num_rows64(mysqli_stmt $stmt)intmysqli_stmt $param_count64(mysqli_stmt $stmt)intmysqli_stmt $protocol_version64(mysqli $link)intmysqli $report_mode64(int $flags)boolmysqli_driver $server_info64(mysqli $link)stringmysqli $server_version64(mysqli $link)intmysqli $sqlstate64(mysqli $link)stringmysqli $sqlstate64(mysqli_stmt $stmt)stringmysqli_stmt $thread_id64(mysqli $link)intmysqli $warning_count64(mysqli $link)intmysqli APCIterator1(string $cache [, mixed $search = null [, int $format = APC_ITER_ALL [, int $chunk_size = 100 [, int $list = APC_LIST_ACTIVE]]]]) APCUIterator1([mixed $search = null [, int $format = APC_ITER_ALL [, int $chunk_size = 100 [, int $list = APC_LIST_ACTIVE]]]]) AppendIterator1() ArrayIterator1([mixed $array = array() [, int $flags = '']]) ArrayObject1([mixed $input = [] [, int $flags = '' [, string $iterator_class = "ArrayIterator"]]]) Base1(string $nsname)XMLDiff Binary1(string $data, integer $type)MongoDB::BSON BulkWrite1([array $options = ''])MongoDB::Driver C14N128([bool $exclusive = '' [, bool $with_comments = '' [, array $xpath = '' [, array $ns_prefixes = '']]]])stringDOMNode C14NFile128(string $uri [, bool $exclusive = '' [, bool $with_comments = '' [, array $xpath = '' [, array $ns_prefixes = '']]]])intDOMNode CURLFile1(string $filename [, string $mimetype = '' [, string $postname = '']]) CachingIterator1(Iterator $iterator [, int $flags = self::CALL_TOSTRING]) CairoContext1(CairoSurface $surface) CairoFontFace1() CairoFontOptions1() CairoImageSurface1(int $format, int $width, int $height) CairoLinearGradient1(float $x0, float $y0, float $x1, float $y1) CairoMatrix1([float $xx = 1.0 [, float $yx = 0.0 [, float $xy = 0.0 [, float $yy = 1.0 [, float $x0 = 0.0 [, float $y0 = 0.0]]]]]]) CairoPattern1() CairoPdfSurface1(string $file, float $width, float $height) CairoPsSurface1(string $file, float $width, float $height) CairoRadialGradient1(float $x0, float $y0, float $r0, float $x1, float $y1, float $r1) CairoScaledFont1(CairoFontFace $font_face, CairoMatrix $matrix, CairoMatrix $ctm, CairoFontOptions $options) CairoSolidPattern1(float $red, float $green, float $blue [, float $alpha = '']) CairoSurface1() CairoSurfacePattern1(CairoSurface $surface) CairoSvgSurface1(string $file, float $width, float $height) CallbackFilterIterator1(Iterator $iterator, callable $callback) Collator1(string $locale) Command1(array|object $document)MongoDB::Driver Cursor1()MongoDB::Driver CursorId1()MongoDB::Driver DOMAttr1(string $name [, string $value = '']) DOMCdataSection1(string $value) DOMComment1([string $value = '']) DOMDocument1([string $version = '' [, string $encoding = '']]) DOMElement1(string $name [, string $value = '' [, string $namespaceURI = '']]) DOMEntityReference1(string $name) DOMImplementation1() DOMProcessingInstruction1(string $name [, string $value = '']) DOMText1([string $value = '']) DOMXPath1(DOMDocument $doc) DateInterval1(string $interval_spec) DatePeriod1(DateTimeInterface $start, DateInterval $interval, int $recurrences [, int $options = '', DateTimeInterface $end, string $isostr]) DateTime1([string $time = "now" [, DateTimeZone $timezone = '']]) DateTimeImmutable1([string $time = "now" [, DateTimeZone $timezone = '']]) DateTimeZone1(string $timezone) DirectoryIterator1(string $path) EvCheck1(callable $callback [, mixed $data = '' [, int $priority = '']]) EvChild1(int $pid, bool $trace, callable $callback [, mixed $data = '' [, int $priority = '']]) EvEmbed1(object $other [, callable $callback = '' [, mixed $data = '' [, int $priority = '']]]) EvFork1(callable $callback [, mixed $data = '' [, int $priority = '']]) EvIdle1(callable $callback [, mixed $data = '' [, int $priority = '']]) EvIo1(mixed $fd, int $events, callable $callback [, mixed $data = '' [, int $priority = '']]) EvLoop1([int $flags = '' [, mixed $data = null [, double $io_interval = 0.0 [, double $timeout_interval = 0.0]]]]) EvPeriodic1(double $offset, string $interval, callable $reschedule_cb, callable $callback [, mixed $data = '' [, int $priority = '']]) EvPrepare1(string $callback [, string $data = '' [, string $priority = '']]) EvSignal1(int $signum, callable $callback [, mixed $data = '' [, int $priority = '']]) EvStat1(string $path, double $interval, callable $callback [, mixed $data = '' [, int $priority = '']]) EvTimer1(double $after, double $repeat, callable $callback [, mixed $data = '' [, int $priority = '']]) EvWatcher1() Event1(EventBase $base, mixed $fd, int $what, callable $cb [, mixed $arg = null]) EventBase1([EventConfig $cfg = '']) EventBuffer1() EventBufferEvent1(EventBase $base [, mixed $socket = '' [, int $options = '' [, callable $readcb = '' [, callable $writecb = '' [, callable $eventcb = '']]]]]) EventConfig1() EventDnsBase1(EventBase $base, bool $initialize) EventHttp1(EventBase $base [, EventSslContext $ctx = '']) EventHttpConnection1(EventBase $base, EventDnsBase $dns_base, string $address, int $port [, EventSslContext $ctx = '']) EventHttpRequest1(callable $callback [, mixed $data = '']) EventListener1(EventBase $base, callable $cb, mixed $data, int $flags, int $backlog, mixed $target) EventSslContext1(string $method, string $options) EventUtil1() FANNConnection1(int $from_neuron, int $to_neuron, float $weight) FilesystemIterator1(string $path [, int $flags = FilesystemIterator::KEY_AS_PATHNAME | FilesystemIterator::CURRENT_AS_FILEINFO | FilesystemIterator::SKIP_DOTS]) FilterIterator1(Iterator $iterator) GearmanClient1() GearmanJob1() GearmanTask1() GearmanWorker1() Gender1([string $dsn = ''])Gender GlobIterator1(string $path [, int $flags = FilesystemIterator::KEY_AS_PATHNAME | FilesystemIterator::CURRENT_AS_FILEINFO]) Gmagick1([string $filename = '']) GmagickPixel1([string $color = '']) HaruDoc1() Imagick1(mixed $files) ImagickDraw1() ImagickPixel1([string $color = '']) ImagickPixelIterator1(Imagick $wand) InfiniteIterator1(Iterator $iterator) IntlBreakIterator1() IntlCalendar1() IntlDateFormatter1(string $locale, int $datetype, int $timetype [, mixed $timezone = null [, mixed $calendar = null [, string $pattern = ""]]]) IntlRuleBasedBreakIterator1(string $rules [, string $areCompiled = '']) IteratorIterator1(Traversable $iterator) Javascript1(string $code [, array|object $scope = ''])MongoDB::BSON Judy1(int $judy_type) KTaglib_MPEG_File1(string $filename) LimitIterator1(Iterator $iterator [, int $offset = '' [, int $count = -1]]) Lua1(string $lua_script_file) Manager1(string $uri [, array $options = '' [, array $driverOptions = '']])MongoDB::Driver MaxKey1()MongoDB::BSON Memcached1([string $persistent_id = '']) MessageFormatter1(string $locale, string $pattern) MinKey1()MongoDB::BSON Mongo1([string $server = '' [, array $options = '']]) MongoBinData1(string $data [, int $type = '']) MongoClient1([string $server = "mongodb://localhost:27017" [, array $options = ) [, array $driver_options = '']]]) MongoCode1(string $code [, array $scope = array()]) MongoCollection1(MongoDB $db, string $name) MongoCommandCursor1(MongoClient $connection, string $ns, array $command) MongoCursor1(MongoClient $connection, string $ns [, array $query = array() [, array $fields = array()]]) MongoDB1(MongoClient $conn, string $name) MongoDate1([int $sec = time() [, int $usec = '']]) MongoDeleteBatch1(MongoCollection $collection [, array $write_options = '']) MongoGridFS1(MongoDB $db [, string $prefix = "fs" [, mixed $chunks = "fs"]]) MongoGridFSCursor1(MongoGridFS $gridfs, resource $connection, string $ns, array $query, array $fields) MongoGridfsFile1(MongoGridFS $gridfs, array $file) MongoId1([string|MongoId $id = '']) MongoInsertBatch1(MongoCollection $collection [, array $write_options = '']) MongoInt321(string $value) MongoInt641(string $value) MongoRegex1(string $regex) MongoTimestamp1([int $sec = time() [, int $inc = '']]) MongoUpdateBatch1(MongoCollection $collection [, array $write_options = '']) MongoWriteBatch1(MongoCollection $collection [, string $batch_type = '' [, array $write_options = '']]) MultipleIterator1([int $flags = MultipleIterator::MIT_NEED_ALL|MultipleIterator::MIT_KEYS_NUMERIC]) MysqlndUhConnection1() MysqlndUhPreparedStatement1() NoRewindIterator1(Iterator $iterator) NumberFormatter1(string $locale, int $style [, string $pattern = '']) OAuth1(string $consumer_key, string $consumer_secret [, string $signature_method = '' [, int $auth_type = '']]) OAuthProvider1([array $params_array = '']) ObjectID1([string $id = ''])MongoDB::BSON PDF_activate_item16(resource $pdfdoc, int $id)bool PDF_add_annotation16() PDF_add_bookmark16() PDF_add_launchlink16(resource $pdfdoc, float $llx, float $lly, float $urx, float $ury, string $filename)bool PDF_add_locallink16(resource $pdfdoc, float $lowerleftx, float $lowerlefty, float $upperrightx, float $upperrighty, int $page, string $dest)bool PDF_add_nameddest16(resource $pdfdoc, string $name, string $optlist)bool PDF_add_note16(resource $pdfdoc, float $llx, float $lly, float $urx, float $ury, string $contents, string $title, string $icon, int $open)bool PDF_add_outline16() PDF_add_pdflink16(resource $pdfdoc, float $bottom_left_x, float $bottom_left_y, float $up_right_x, float $up_right_y, string $filename, int $page, string $dest)bool PDF_add_table_cell16(resource $pdfdoc, int $table, int $column, int $row, string $text, string $optlist)int PDF_add_textflow16(resource $pdfdoc, int $textflow, string $text, string $optlist)int PDF_add_thumbnail16(resource $pdfdoc, int $image)bool PDF_add_weblink16(resource $pdfdoc, float $lowerleftx, float $lowerlefty, float $upperrightx, float $upperrighty, string $url)bool PDF_arc16(resource $p, float $x, float $y, float $r, float $alpha, float $beta)bool PDF_arcn16(resource $p, float $x, float $y, float $r, float $alpha, float $beta)bool PDF_attach_file16(resource $pdfdoc, float $llx, float $lly, float $urx, float $ury, string $filename, string $description, string $author, string $mimetype, string $icon)bool PDF_begin_document16(resource $pdfdoc, string $filename, string $optlist)int PDF_begin_font16(resource $pdfdoc, string $filename, float $a, float $b, float $c, float $d, float $e, float $f, string $optlist)bool PDF_begin_glyph16(resource $pdfdoc, string $glyphname, float $wx, float $llx, float $lly, float $urx, float $ury)bool PDF_begin_item16(resource $pdfdoc, string $tag, string $optlist)int PDF_begin_layer16(resource $pdfdoc, int $layer)bool PDF_begin_page16(resource $pdfdoc, float $width, float $height)bool PDF_begin_page_ext16(resource $pdfdoc, float $width, float $height, string $optlist)bool PDF_begin_pattern16(resource $pdfdoc, float $width, float $height, float $xstep, float $ystep, int $painttype)int PDF_begin_template16(resource $pdfdoc, float $width, float $height)int PDF_begin_template_ext16(resource $pdfdoc, float $width, float $height, string $optlist)int PDF_circle16(resource $pdfdoc, float $x, float $y, float $r)bool PDF_clip16(resource $p)bool PDF_close16(resource $p)bool PDF_close_image16(resource $p, int $image)bool PDF_close_pdi16(resource $p, int $doc)bool PDF_close_pdi_page16(resource $p, int $page)bool PDF_closepath16(resource $p)bool PDF_closepath_fill_stroke16(resource $p)bool PDF_closepath_stroke16(resource $p)bool PDF_concat16(resource $p, float $a, float $b, float $c, float $d, float $e, float $f)bool PDF_continue_text16(resource $p, string $text)bool PDF_create_3dview16(resource $pdfdoc, string $username, string $optlist)int PDF_create_action16(resource $pdfdoc, string $type, string $optlist)int PDF_create_annotation16(resource $pdfdoc, float $llx, float $lly, float $urx, float $ury, string $type, string $optlist)bool PDF_create_bookmark16(resource $pdfdoc, string $text, string $optlist)int PDF_create_field16(resource $pdfdoc, float $llx, float $lly, float $urx, float $ury, string $name, string $type, string $optlist)bool PDF_create_fieldgroup16(resource $pdfdoc, string $name, string $optlist)bool PDF_create_gstate16(resource $pdfdoc, string $optlist)int PDF_create_pvf16(resource $pdfdoc, string $filename, string $data, string $optlist)bool PDF_create_textflow16(resource $pdfdoc, string $text, string $optlist)int PDF_curveto16(resource $p, float $x1, float $y1, float $x2, float $y2, float $x3, float $y3)bool PDF_define_layer16(resource $pdfdoc, string $name, string $optlist)int PDF_delete16(resource $pdfdoc)bool PDF_delete_pvf16(resource $pdfdoc, string $filename)int PDF_delete_table16(resource $pdfdoc, int $table, string $optlist)bool PDF_delete_textflow16(resource $pdfdoc, int $textflow)bool PDF_encoding_set_char16(resource $pdfdoc, string $encoding, int $slot, string $glyphname, int $uv)bool PDF_end_document16(resource $pdfdoc, string $optlist)bool PDF_end_font16(resource $pdfdoc)bool PDF_end_glyph16(resource $pdfdoc)bool PDF_end_item16(resource $pdfdoc, int $id)bool PDF_end_layer16(resource $pdfdoc)bool PDF_end_page16(resource $p)bool PDF_end_page_ext16(resource $pdfdoc, string $optlist)bool PDF_end_pattern16(resource $p)bool PDF_end_template16(resource $p)bool PDF_endpath16(resource $p)bool PDF_fill16(resource $p)bool PDF_fill_imageblock16(resource $pdfdoc, int $page, string $blockname, int $image, string $optlist)int PDF_fill_pdfblock16(resource $pdfdoc, int $page, string $blockname, int $contents, string $optlist)int PDF_fill_stroke16(resource $p)bool PDF_fill_textblock16(resource $pdfdoc, int $page, string $blockname, string $text, string $optlist)int PDF_findfont16(resource $p, string $fontname, string $encoding, int $embed)int PDF_fit_image16(resource $pdfdoc, int $image, float $x, float $y, string $optlist)bool PDF_fit_pdi_page16(resource $pdfdoc, int $page, float $x, float $y, string $optlist)bool PDF_fit_table16(resource $pdfdoc, int $table, float $llx, float $lly, float $urx, float $ury, string $optlist)string PDF_fit_textflow16(resource $pdfdoc, int $textflow, float $llx, float $lly, float $urx, float $ury, string $optlist)string PDF_fit_textline16(resource $pdfdoc, string $text, float $x, float $y, string $optlist)bool PDF_get_apiname16(resource $pdfdoc)string PDF_get_buffer16(resource $p)string PDF_get_errmsg16(resource $pdfdoc)string PDF_get_errnum16(resource $pdfdoc)int PDF_get_font16() PDF_get_fontname16() PDF_get_fontsize16() PDF_get_image_height16() PDF_get_image_width16() PDF_get_majorversion16()int PDF_get_minorversion16()int PDF_get_parameter16(resource $p, string $key, float $modifier)string PDF_get_pdi_parameter16(resource $p, string $key, int $doc, int $page, int $reserved)string PDF_get_pdi_value16(resource $p, string $key, int $doc, int $page, int $reserved)float PDF_get_value16(resource $p, string $key, float $modifier)float PDF_info_font16(resource $pdfdoc, int $font, string $keyword, string $optlist)float PDF_info_matchbox16(resource $pdfdoc, string $boxname, int $num, string $keyword)float PDF_info_table16(resource $pdfdoc, int $table, string $keyword)float PDF_info_textflow16(resource $pdfdoc, int $textflow, string $keyword)float PDF_info_textline16(resource $pdfdoc, string $text, string $keyword, string $optlist)float PDF_initgraphics16(resource $p)bool PDF_lineto16(resource $p, float $x, float $y)bool PDF_load_3ddata16(resource $pdfdoc, string $filename, string $optlist)int PDF_load_font16(resource $pdfdoc, string $fontname, string $encoding, string $optlist)int PDF_load_iccprofile16(resource $pdfdoc, string $profilename, string $optlist)int PDF_load_image16(resource $pdfdoc, string $imagetype, string $filename, string $optlist)int PDF_makespotcolor16(resource $p, string $spotname)int PDF_moveto16(resource $p, float $x, float $y)bool PDF_new16()resource PDF_open_ccitt16(resource $pdfdoc, string $filename, int $width, int $height, int $BitReverse, int $k, int $Blackls1)int PDF_open_file16(resource $p, string $filename)bool PDF_open_gif16() PDF_open_image16(resource $p, string $imagetype, string $source, string $data, int $length, int $width, int $height, int $components, int $bpc, string $params)int PDF_open_image_file16(resource $p, string $imagetype, string $filename, string $stringparam, int $intparam)int PDF_open_jpeg16() PDF_open_memory_image16(resource $p, resource $image)int PDF_open_pdi16(resource $pdfdoc, string $filename, string $optlist, int $len)int PDF_open_pdi_document16(resource $p, string $filename, string $optlist)int PDF_open_pdi_page16(resource $p, int $doc, int $pagenumber, string $optlist)int PDF_open_tiff16() PDF_pcos_get_number16(resource $p, int $doc, string $path)float PDF_pcos_get_stream16(resource $p, int $doc, string $optlist, string $path)string PDF_pcos_get_string16(resource $p, int $doc, string $path)string PDF_place_image16(resource $pdfdoc, int $image, float $x, float $y, float $scale)bool PDF_place_pdi_page16(resource $pdfdoc, int $page, float $x, float $y, float $sx, float $sy)bool PDF_process_pdi16(resource $pdfdoc, int $doc, int $page, string $optlist)int PDF_rect16(resource $p, float $x, float $y, float $width, float $height)bool PDF_restore16(resource $p)bool PDF_resume_page16(resource $pdfdoc, string $optlist)bool PDF_rotate16(resource $p, float $phi)bool PDF_save16(resource $p)bool PDF_scale16(resource $p, float $sx, float $sy)bool PDF_set_border_color16(resource $p, float $red, float $green, float $blue)bool PDF_set_border_dash16(resource $pdfdoc, float $black, float $white)bool PDF_set_border_style16(resource $pdfdoc, string $style, float $width)bool PDF_set_char_spacing16() PDF_set_duration16() PDF_set_gstate16(resource $pdfdoc, int $gstate)bool PDF_set_horiz_scaling16() PDF_set_info16(resource $p, string $key, string $value)bool PDF_set_info_author16() PDF_set_info_creator16() PDF_set_info_keywords16() PDF_set_info_subject16() PDF_set_info_title16() PDF_set_layer_dependency16(resource $pdfdoc, string $type, string $optlist)bool PDF_set_leading16() PDF_set_parameter16(resource $p, string $key, string $value)bool PDF_set_text_matrix16() PDF_set_text_pos16(resource $p, float $x, float $y)bool PDF_set_text_rendering16() PDF_set_text_rise16() PDF_set_value16(resource $p, string $key, float $value)bool PDF_set_word_spacing16() PDF_setcolor16(resource $p, string $fstype, string $colorspace, float $c1, float $c2, float $c3, float $c4)bool PDF_setdash16(resource $pdfdoc, float $b, float $w)bool PDF_setdashpattern16(resource $pdfdoc, string $optlist)bool PDF_setflat16(resource $pdfdoc, float $flatness)bool PDF_setfont16(resource $pdfdoc, int $font, float $fontsize)bool PDF_setgray16(resource $p, float $g)bool PDF_setgray_fill16(resource $p, float $g)bool PDF_setgray_stroke16(resource $p, float $g)bool PDF_setlinecap16(resource $p, int $linecap)bool PDF_setlinejoin16(resource $p, int $value)bool PDF_setlinewidth16(resource $p, float $width)bool PDF_setmatrix16(resource $p, float $a, float $b, float $c, float $d, float $e, float $f)bool PDF_setmiterlimit16(resource $pdfdoc, float $miter)bool PDF_setpolydash16() PDF_setrgbcolor16(resource $p, float $red, float $green, float $blue)bool PDF_setrgbcolor_fill16(resource $p, float $red, float $green, float $blue)bool PDF_setrgbcolor_stroke16(resource $p, float $red, float $green, float $blue)bool PDF_shading16(resource $pdfdoc, string $shtype, float $x0, float $y0, float $x1, float $y1, float $c1, float $c2, float $c3, float $c4, string $optlist)int PDF_shading_pattern16(resource $pdfdoc, int $shading, string $optlist)int PDF_shfill16(resource $pdfdoc, int $shading)bool PDF_show16(resource $pdfdoc, string $text)bool PDF_show_boxed16(resource $p, string $text, float $left, float $top, float $width, float $height, string $mode, string $feature)int PDF_show_xy16(resource $p, string $text, float $x, float $y)bool PDF_skew16(resource $p, float $alpha, float $beta)bool PDF_stringwidth16(resource $p, string $text, int $font, float $fontsize)float PDF_stroke16(resource $p)bool PDF_suspend_page16(resource $pdfdoc, string $optlist)bool PDF_translate16(resource $p, float $tx, float $ty)bool PDF_utf16_to_utf816(resource $pdfdoc, string $utf16string)string PDF_utf32_to_utf1616(resource $pdfdoc, string $utf32string, string $ordering)string PDF_utf8_to_utf1616(resource $pdfdoc, string $utf8string, string $ordering)string PDO1(string $dsn [, string $username = '' [, string $password = '' [, array $options = '']]]) ParentIterator1(RecursiveIterator $iterator) Phar1(string $fname [, int $flags = '' [, string $alias = '']]) PharData1(string $fname [, int $flags = '' [, string $alias = '' [, int $format = '']]]) PharException16() PharFileInfo1(string $entry) Pool1(integer $size, string $class [, array $ctor = '']) Query1(array|object $filter [, array $queryOptions = ''])MongoDB::Driver QuickHashIntHash1(int $size [, int $options = '']) QuickHashIntSet1(int $size [, int $options = '']) QuickHashIntStringHash1(int $size [, int $options = '']) QuickHashStringIntHash1(int $size [, int $options = '']) RRDCreator1(string $path [, string $startTime = '' [, int $step = '']]) RRDGraph1(string $path) RRDUpdater1(string $path) ReadConcern1([string $level = ''])MongoDB::Driver ReadPreference1(string $mode [, array $tagSets = ''])MongoDB::Driver RecursiveCachingIterator1(Iterator $iterator [, string $flags = self::CALL_TOSTRING]) RecursiveCallbackFilterIterator1(RecursiveIterator $iterator, string $callback) RecursiveDirectoryIterator1(string $path [, int $flags = FilesystemIterator::KEY_AS_PATHNAME | FilesystemIterator::CURRENT_AS_FILEINFO]) RecursiveFilterIterator1(RecursiveIterator $iterator) RecursiveIteratorIterator1(Traversable $iterator [, int $mode = RecursiveIteratorIterator::LEAVES_ONLY [, int $flags = '']]) RecursiveRegexIterator1(RecursiveIterator $iterator, string $regex [, int $mode = self::MATCH [, int $flags = '' [, int $preg_flags = '']]]) RecursiveTreeIterator1(RecursiveIterator|IteratorAggregate $it [, int $flags = RecursiveTreeIterator::BYPASS_KEY [, int $cit_flags = CachingIterator::CATCH_GET_CHILD [, int $mode = RecursiveIteratorIterator::SELF_FIRST]]]) ReflectionClass1(mixed $argument) ReflectionExtension1(string $name) ReflectionFunction1(mixed $name) ReflectionGenerator1(Generator $generator) ReflectionMethod1(mixed $class, string $name, string $class_method) ReflectionObject1(object $argument) ReflectionParameter1(string $function, string $parameter) ReflectionProperty1(mixed $class, string $name) ReflectionZendExtension1(string $name) Regex1(string $pattern, string $flags)MongoDB::BSON RegexIterator1(Iterator $iterator, string $regex [, int $mode = self::MATCH [, int $flags = '' [, int $preg_flags = '']]]) ResourceBundle1(string $locale, string $bundlename [, bool $fallback = '']) Runkit_Sandbox16() Runkit_Sandbox_Parent16()void SAMConnection1() SAMMessage1([mixed $body = '']) SDO_DAS_Relational1(array $database_metadata [, string $application_root_type = '' [, array $SDO_containment_references_metadata = '']]) SDO_Model_ReflectionDataObject1(SDO_DataObject $data_object) SNMP1(int $version, string $hostname, string $community [, int $timeout = 1000000 [, int $retries = 5]]) SQLite31(string $filename [, int $flags = '' [, string $encryption_key = '']]) SVM1() SVMModel1([string $filename = '']) SWFAction1(string $script) SWFBitmap1(mixed $file [, mixed $alphafile = '']) SWFButton1() SWFFont1(string $filename) SWFGradient1() SWFMorph1() SWFMovie1([int $version = '']) SWFPrebuiltClip1(mixed $file) SWFShape1() SWFSound1(string $filename [, int $flags = '']) SWFSprite1() SWFText1() SWFTextField1([int $flags = '']) SWFVideoStream1([string $file = '']) Server1()MongoDB::Driver SimpleXMLElement1(string $data [, int $options = '' [, bool $data_is_url = false [, string $ns = "" [, bool $is_prefix = false]]]]) SoapClient1(mixed $wsdl [, array $options = '']) SoapClient128(mixed $wsdl [, array $options = ''])SoapClient SoapFault1(string $faultcode, string $faultstring [, string $faultactor = '' [, string $detail = '' [, string $faultname = '' [, string $headerfault = '']]]]) SoapFault128(string $faultcode, string $faultstring [, string $faultactor = '' [, string $detail = '' [, string $faultname = '' [, string $headerfault = '']]]])SoapFault SoapHeader1(string $namespace, string $name [, mixed $data = '' [, bool $mustunderstand = '' [, string $actor = '']]]) SoapHeader128(string $namespace, string $name [, mixed $data = '' [, bool $mustunderstand = false [, string $actor = '']]])SoapHeader SoapParam1(mixed $data, string $name) SoapParam128(mixed $data, string $name)SoapParam SoapServer1(mixed $wsdl [, array $options = '']) SoapServer128(mixed $wsdl [, array $options = ''])SoapServer SoapVar1(string $data, string $encoding [, string $type_name = '' [, string $type_namespace = '' [, string $node_name = '' [, string $node_namespace = '']]]]) SoapVar128(mixed $data, string $encoding [, string $type_name = '' [, string $type_namespace = '' [, string $node_name = '' [, string $node_namespace = '']]]])SoapVar SolrClient1(array $clientOptions) SolrCollapseFunction1([string $field = '']) SolrDisMaxQuery1([string $q = '']) SolrDocument1() SolrDocumentField1() SolrGenericResponse1() SolrInputDocument1() SolrModifiableParams1() SolrObject1() SolrPingResponse1() SolrQuery1([string $q = '']) SolrQueryResponse1() SolrUpdateResponse1() SphinxClient1() SplDoublyLinkedList1() SplFileInfo1(string $file_name) SplFileObject1(string $filename [, string $open_mode = "r" [, bool $use_include_path = false [, resource $context = '']]]) SplFixedArray1([int $size = '']) SplHeap1() SplPriorityQueue1() SplQueue1() SplStack1() SplTempFileObject1([int $max_memory = '']) SplType1([mixed $initial_value = '' [, bool $strict = '']]) Spoofchecker1() Stomp1([string $broker = ini_get("stomp.default_broker_uri") [, string $username = '' [, string $password = '' [, array $headers = '']]]]) StompFrame1([string $command = '' [, array $headers = '' [, string $body = '']]]) Swish1(string $index_names) SyncEvent1([string $name = '' [, bool $manual = '']]) SyncMutex1([string $name = '']) SyncReaderWriter1([string $name = '' [, bool $autounlock = '']]) SyncSemaphore1([string $name = '' [, integer $initialval = '' [, bool $autounlock = '']]]) Timestamp1(integer $increment, integer $timestamp)MongoDB::BSON TokyoTyrant1([string $host = '' [, int $port = TokyoTyrant::RDBDEF_PORT [, array $options = '']]]) TokyoTyrantIterator1(mixed $object) TokyoTyrantQuery1(TokyoTyrantTable $table) Transliterator1() UConverter1([string $destination_encoding = '' [, string $source_encoding = '']]) UTCDateTime1(integer $milliseconds)MongoDB::BSON V8Js1([string $object_name = "PHP" [, array $variables = array() [, array $extensions = array() [, bool $report_uncaught_exceptions = '']]]]) VarnishAdmin1([array $args = '']) VarnishLog1([array $args = '']) VarnishStat1([array $args = '']) WeakMap1() Weakref1(object $object) WriteConcern1(string $w [, integer $wtimeout = '' [, boolean $journal = '']])MongoDB::Driver XML128(string $source [, string $encoding = '' [, int $options = '']])boolXMLReader XSLTProcessor1() Yaf_Application1(mixed $config [, string $envrion = '']) Yaf_Config_Ini1(string $config_file [, string $section = '']) Yaf_Config_Simple1(string $config_file [, string $section = '']) Yaf_Controller_Abstract1() Yaf_Dispatcher1() Yaf_Exception1() Yaf_Loader1() Yaf_Registry1() Yaf_Request_Http1([string $request_uri = '' [, string $base_uri = '']]) Yaf_Request_Simple1([string $method = '' [, string $module = '' [, string $controller = '' [, string $action = '' [, array $params = '']]]]]) Yaf_Response_Abstract1() Yaf_Route_Map1([string $controller_prefer = false [, string $delimiter = ""]]) Yaf_Route_Regex1(string $match, array $route [, array $map = '' [, array $verify = '' [, string $reverse = '']]]) Yaf_Route_Rewrite1(string $match, array $route [, array $verify = '']) Yaf_Route_Simple1(string $module_name, string $controller_name, string $action_name) Yaf_Route_Supervar1(string $supervar_name) Yaf_Router1() Yaf_Session1() Yaf_View_Simple1(string $template_dir [, array $options = '']) Yar_Client1(string $url) Yar_Server1(Object $obj) ZMQ1() ZMQContext1([integer $io_threads = 1 [, boolean $is_persistent = true]]) ZMQDevice1(ZMQSocket $frontend, ZMQSocket $backend [, ZMQSocket $listener = '']) ZMQSocket1(ZMQContext $context, int $type [, string $persistent_id = null [, callback $on_new_socket = null]]) __autoload16(string $class)void __call128(callable $lua_func [, array $args = '' [, int $use_self = '']])mixedLua __call128(string $function_name, string $arguments)mixedSoapClient __call128(string $method, array $parameters)voidYar_Client __clone128()voidReflectionExtension __clone128()voidReflectionFunctionAbstract __clone128()voidReflectionParameter __clone128()voidReflectionProperty __clone128()voidReflectionZendExtension __clone128()voidSolrDocument __clone128()voidSolrInputDocument __clone128()voidYaf_Application __clone128()voidYaf_Controller_Abstract __clone128()voidYaf_Dispatcher __clone128()voidYaf_Loader __clone128()voidYaf_Registry __clone128()voidYaf_Request_Http __clone128()voidYaf_Request_Simple __clone128()voidYaf_Response_Abstract __clone128()voidYaf_Session __construct128()AppendIterator __construct128()CairoFontFace __construct128()CairoFontOptions __construct128()CairoPattern __construct128()CairoSurface __construct128()DOMImplementation __construct128()EvWatcher __construct128()EventBuffer __construct128()EventConfig __construct128()EventUtil __construct128()GearmanClient __construct128()GearmanJob __construct128()GearmanTask __construct128()GearmanWorker __construct128()HaruDoc __construct128()ImagickDraw __construct128()IntlBreakIterator __construct128()IntlCalendar __construct128()MongoDB::BSON::MaxKey __construct128()MongoDB::BSON::MinKey __construct128()MongoDB::Driver::Cursor __construct128()MongoDB::Driver::CursorId __construct128()MongoDB::Driver::Server __construct128()MysqlndUhConnection __construct128()MysqlndUhPreparedStatement __construct128()SAMConnection __construct128()SVM __construct128()SWFButton __construct128()SWFGradient __construct128()SWFMorph __construct128()SWFShape __construct128()SWFSprite __construct128()SWFText __construct128()SolrDocument __construct128()SolrDocumentField __construct128()SolrGenericResponse __construct128()SolrInputDocument __construct128()SolrModifiableParams __construct128()SolrObject __construct128()SolrPingResponse __construct128()SolrQueryResponse __construct128()SolrUpdateResponse __construct128()SphinxClient __construct128()SplDoublyLinkedList __construct128()SplHeap __construct128()SplPriorityQueue __construct128()SplQueue __construct128()SplStack __construct128()Spoofchecker __construct128()Transliterator __construct128()WeakMap __construct128()XSLTProcessor __construct128()Yaf_Controller_Abstract __construct128()Yaf_Dispatcher __construct128()Yaf_Exception __construct128()Yaf_Loader __construct128()Yaf_Registry __construct128()Yaf_Response_Abstract __construct128()Yaf_Router __construct128()Yaf_Session __construct128()ZMQ __construct128()mysqli_warning __construct128()streamWrapper __construct128(CairoFontFace $font_face, CairoMatrix $matrix, CairoMatrix $ctm, CairoFontOptions $options)CairoScaledFont __construct128(CairoSurface $surface)CairoContext __construct128(CairoSurface $surface)CairoSurfacePattern __construct128(DOMDocument $doc)DOMXPath __construct128(DateTimeInterface $start, DateInterval $interval, int $recurrences [, int $options = '', DateTimeInterface $end, string $isostr])DatePeriod __construct128(EventBase $base [, EventSslContext $ctx = ''])EventHttp __construct128(EventBase $base [, mixed $socket = '' [, int $options = '' [, callable $readcb = '' [, callable $writecb = '' [, callable $eventcb = '']]]]])EventBufferEvent __construct128(EventBase $base, EventDnsBase $dns_base, string $address, int $port [, EventSslContext $ctx = ''])EventHttpConnection __construct128(EventBase $base, bool $initialize)EventDnsBase __construct128(EventBase $base, callable $cb, mixed $data, int $flags, int $backlog, mixed $target)EventListener __construct128(EventBase $base, mixed $fd, int $what, callable $cb [, mixed $arg = null])Event __construct128(Generator $generator)ReflectionGenerator __construct128(Imagick $wand)ImagickPixelIterator __construct128(Iterator $iterator [, int $flags = self::CALL_TOSTRING])CachingIterator __construct128(Iterator $iterator [, int $offset = '' [, int $count = -1]])LimitIterator __construct128(Iterator $iterator [, string $flags = self::CALL_TOSTRING])RecursiveCachingIterator __construct128(Iterator $iterator)FilterIterator __construct128(Iterator $iterator)InfiniteIterator __construct128(Iterator $iterator)NoRewindIterator __construct128(Iterator $iterator, callable $callback)CallbackFilterIterator __construct128(Iterator $iterator, string $regex [, int $mode = self::MATCH [, int $flags = '' [, int $preg_flags = '']]])RegexIterator __construct128(MongoClient $conn, string $name)MongoDB __construct128(MongoClient $connection, string $ns [, array $query = array() [, array $fields = array()]])MongoCursor __construct128(MongoClient $connection, string $ns, array $command)MongoCommandCursor __construct128(MongoCollection $collection [, array $write_options = ''])MongoDeleteBatch __construct128(MongoCollection $collection [, array $write_options = ''])MongoInsertBatch __construct128(MongoCollection $collection [, array $write_options = ''])MongoUpdateBatch __construct128(MongoCollection $collection [, string $batch_type = '' [, array $write_options = '']])MongoWriteBatch __construct128(MongoDB $db [, string $prefix = "fs" [, mixed $chunks = "fs"]])MongoGridFS __construct128(MongoDB $db, string $name)MongoCollection __construct128(MongoGridFS $gridfs, array $file)MongoGridfsFile __construct128(MongoGridFS $gridfs, resource $connection, string $ns, array $query, array $fields)MongoGridFSCursor __construct128(Object $obj)Yar_Server __construct128(RecursiveIterator $iterator)ParentIterator __construct128(RecursiveIterator $iterator)RecursiveFilterIterator __construct128(RecursiveIterator $iterator, string $callback)RecursiveCallbackFilterIterator __construct128(RecursiveIterator $iterator, string $regex [, int $mode = self::MATCH [, int $flags = '' [, int $preg_flags = '']]])RecursiveRegexIterator __construct128(RecursiveIterator|IteratorAggregate $it [, int $flags = RecursiveTreeIterator::BYPASS_KEY [, int $cit_flags = CachingIterator::CATCH_GET_CHILD [, int $mode = RecursiveIteratorIterator::SELF_FIRST]]])RecursiveTreeIterator __construct128(SDO_DataObject $data_object)SDO_Model_ReflectionDataObject __construct128(TokyoTyrantTable $table)TokyoTyrantQuery __construct128(Traversable $iterator [, int $mode = RecursiveIteratorIterator::LEAVES_ONLY [, int $flags = '']])RecursiveIteratorIterator __construct128(Traversable $iterator)IteratorIterator __construct128(ZMQContext $context, int $type [, string $persistent_id = null [, callback $on_new_socket = null]])ZMQSocket __construct128(ZMQSocket $frontend, ZMQSocket $backend [, ZMQSocket $listener = ''])ZMQDevice __construct128([EventConfig $cfg = ''])EventBase __construct128([array $args = ''])VarnishAdmin __construct128([array $args = ''])VarnishLog __construct128([array $args = ''])VarnishStat __construct128([array $options = ''])MongoDB::Driver::BulkWrite __construct128([int $flags = '' [, mixed $data = null [, double $io_interval = 0.0 [, double $timeout_interval = 0.0]]]])EvLoop __construct128([int $flags = ''])SWFTextField __construct128([int $flags = MultipleIterator::MIT_NEED_ALL|MultipleIterator::MIT_KEYS_NUMERIC])MultipleIterator __construct128([int $max_memory = ''])SplTempFileObject __construct128([int $options = FILEINFO_NONE [, string $magic_file = '']])finfo __construct128([int $sec = time() [, int $inc = '']])MongoTimestamp __construct128([int $sec = time() [, int $usec = '']])MongoDate __construct128([int $size = ''])SplFixedArray __construct128([int $version = ''])SWFMovie __construct128([integer $io_threads = 1 [, boolean $is_persistent = true]])ZMQContext __construct128([mixed $body = ''])SAMMessage __construct128([mixed $initial_value = '' [, bool $strict = '']])SplType __construct128([string $color = ''])GmagickPixel __construct128([string $color = ''])ImagickPixel __construct128([string $command = '' [, array $headers = '' [, string $body = '']]])StompFrame __construct128([string $controller_prefer = false [, string $delimiter = ""]])Yaf_Route_Map __construct128([string $destination_encoding = '' [, string $source_encoding = '']])UConverter __construct128([string $dsn = ''])Gender::Gender __construct128([string $field = ''])SolrCollapseFunction __construct128([string $file = ''])SWFVideoStream __construct128([string $filename = '' [, mixed $config = '' [, string $encoding = '' [, bool $use_include_path = '']]]])tidy __construct128([string $filename = ''])Gmagick __construct128([string $filename = ''])SVMModel __construct128([string $host = '' [, int $port = TokyoTyrant::RDBDEF_PORT [, array $options = '']]])TokyoTyrant __construct128([string $id = ''])MongoDB::BSON::ObjectID __construct128([string $level = ''])MongoDB::Driver::ReadConcern __construct128([string $method = '' [, string $module = '' [, string $controller = '' [, string $action = '' [, array $params = '']]]]])Yaf_Request_Simple __construct128([string $name = '' [, bool $autounlock = '']])SyncReaderWriter __construct128([string $name = '' [, bool $manual = '']])SyncEvent __construct128([string $name = '' [, integer $initialval = '' [, bool $autounlock = '']]])SyncSemaphore __construct128([string $name = ''])SyncMutex __construct128([string $object_name = "PHP" [, array $variables = array() [, array $extensions = array() [, bool $report_uncaught_exceptions = '']]]])V8Js __construct128([string $persistent_id = ''])Memcached __construct128([string $q = ''])SolrDisMaxQuery __construct128([string $q = ''])SolrQuery __construct128([string $request_uri = '' [, string $base_uri = '']])Yaf_Request_Http __construct128([string $server = "mongodb://localhost:27017" [, array $options = ) [, array $driver_options = '']]])MongoClient __construct128([string $server = '' [, array $options = '']])Mongo __construct128([string $value = ''])DOMComment __construct128([string $value = ''])DOMText __construct128([string $version = '' [, string $encoding = '']])DOMDocument __construct128([string|MongoId $id = ''])MongoId __construct128(array $clientOptions)SolrClient __construct128(array $database_metadata [, string $application_root_type = '' [, array $SDO_containment_references_metadata = '']])SDO_DAS_Relational __construct128(array|object $document)MongoDB::Driver::Command __construct128(array|object $filter [, array $queryOptions = ''])MongoDB::Driver::Query __construct128(callable $callback [, mixed $data = '' [, int $priority = '']])EvCheck __construct128(callable $callback [, mixed $data = '' [, int $priority = '']])EvFork __construct128(callable $callback [, mixed $data = '' [, int $priority = '']])EvIdle __construct128(callable $callback [, mixed $data = ''])EventHttpRequest __construct128(double $after, double $repeat, callable $callback [, mixed $data = '' [, int $priority = '']])EvTimer __construct128(double $offset, string $interval, callable $reschedule_cb, callable $callback [, mixed $data = '' [, int $priority = '']])EvPeriodic __construct128(float $red, float $green, float $blue [, float $alpha = ''])CairoSolidPattern __construct128(float $x0, float $y0, float $x1, float $y1)CairoLinearGradient __construct128(int $format, int $width, int $height)CairoImageSurface __construct128(int $from_neuron, int $to_neuron, float $weight)FANNConnection __construct128(int $judy_type)Judy __construct128(int $pid, bool $trace, callable $callback [, mixed $data = '' [, int $priority = '']])EvChild __construct128(int $signum, callable $callback [, mixed $data = '' [, int $priority = '']])EvSignal __construct128(int $size [, int $options = ''])QuickHashIntHash __construct128(int $size [, int $options = ''])QuickHashIntSet __construct128(int $size [, int $options = ''])QuickHashIntStringHash __construct128(int $size [, int $options = ''])QuickHashStringIntHash __construct128(int $version, string $hostname, string $community [, int $timeout = 1000000 [, int $retries = 5]])SNMP __construct128(integer $increment, integer $timestamp)MongoDB::BSON::Timestamp __construct128(integer $milliseconds)MongoDB::BSON::UTCDateTime __construct128(mixed $argument)ReflectionClass __construct128(mixed $class, string $name)ReflectionProperty __construct128(mixed $class, string $name, string $class_method)ReflectionMethod __construct128(mixed $config [, string $envrion = ''])Yaf_Application __construct128(mixed $data, string $name)SoapParam __construct128(mixed $fd, int $events, callable $callback [, mixed $data = '' [, int $priority = '']])EvIo __construct128(mixed $file [, mixed $alphafile = ''])SWFBitmap __construct128(mixed $file)SWFPrebuiltClip __construct128(mixed $files)Imagick __construct128(mixed $name)ReflectionFunction __construct128(mixed $object)TokyoTyrantIterator __construct128(mixed $wsdl [, array $options = ''])SoapClient __construct128(mixed $wsdl [, array $options = ''])SoapServer __construct128(mysqli $link [, string $query = ''])mysqli_stmt __construct128(object $argument)ReflectionObject __construct128(object $object)Weakref __construct128(object $other [, callable $callback = '' [, mixed $data = '' [, int $priority = '']]])EvEmbed __construct128(string $callback [, string $data = '' [, string $priority = '']])EvPrepare __construct128(string $code [, array $scope = array()])MongoCode __construct128(string $code [, array|object $scope = ''])MongoDB::BSON::Javascript __construct128(string $config_file [, string $section = ''])Yaf_Config_Ini __construct128(string $config_file [, string $section = ''])Yaf_Config_Simple __construct128(string $consumer_key, string $consumer_secret [, string $signature_method = '' [, int $auth_type = '']])OAuth __construct128(string $data [, int $options = '' [, bool $data_is_url = false [, string $ns = "" [, bool $is_prefix = false]]]])SimpleXMLElement __construct128(string $data [, int $type = ''])MongoBinData __construct128(string $data, integer $type)MongoDB::BSON::Binary __construct128(string $data, string $encoding [, string $type_name = '' [, string $type_namespace = '' [, string $node_name = '' [, string $node_namespace = '']]]])SoapVar __construct128(string $dsn [, string $username = '' [, string $password = '' [, array $options = '']]])PDO __construct128(string $entry)PharFileInfo __construct128(string $faultcode, string $faultstring [, string $faultactor = '' [, string $detail = '' [, string $faultname = '' [, string $headerfault = '']]]])SoapFault __construct128(string $file, float $width, float $height)CairoPdfSurface __construct128(string $file, float $width, float $height)CairoPsSurface __construct128(string $file, float $width, float $height)CairoSvgSurface __construct128(string $file_name)SplFileInfo __construct128(string $filename [, int $flags = '' [, string $encryption_key = '']])SQLite3 __construct128(string $filename [, int $flags = ''])SWFSound __construct128(string $filename [, string $open_mode = "r" [, bool $use_include_path = false [, resource $context = '']]])SplFileObject __construct128(string $filename)KTaglib_MPEG_File __construct128(string $filename)SWFFont __construct128(string $fname [, int $flags = '' [, string $alias = '' [, int $format = '']]])PharData __construct128(string $fname [, int $flags = '' [, string $alias = '']])Phar __construct128(string $function, string $parameter)ReflectionParameter __construct128(string $interval_spec)DateInterval __construct128(string $locale)Collator __construct128(string $lua_script_file)Lua __construct128(string $match, array $route [, array $map = '' [, array $verify = '' [, string $reverse = '']]])Yaf_Route_Regex __construct128(string $match, array $route [, array $verify = ''])Yaf_Route_Rewrite __construct128(string $method, string $options)EventSslContext __construct128(string $mode [, array $tagSets = ''])MongoDB::Driver::ReadPreference __construct128(string $module_name, string $controller_name, string $action_name)Yaf_Route_Simple __construct128(string $name [, string $value = '' [, string $namespaceURI = '']])DOMElement __construct128(string $name [, string $value = ''])DOMAttr __construct128(string $name [, string $value = ''])DOMProcessingInstruction __construct128(string $name)DOMEntityReference __construct128(string $name)ReflectionZendExtension __construct128(string $namespace, string $name [, mixed $data = '' [, bool $mustunderstand = '' [, string $actor = '']]])SoapHeader __construct128(string $nsname)XMLDiff::Base __construct128(string $path [, int $flags = FilesystemIterator::KEY_AS_PATHNAME | FilesystemIterator::CURRENT_AS_FILEINFO | FilesystemIterator::SKIP_DOTS])FilesystemIterator __construct128(string $path [, int $flags = FilesystemIterator::KEY_AS_PATHNAME | FilesystemIterator::CURRENT_AS_FILEINFO])GlobIterator __construct128(string $path [, int $flags = FilesystemIterator::KEY_AS_PATHNAME | FilesystemIterator::CURRENT_AS_FILEINFO])RecursiveDirectoryIterator __construct128(string $path [, string $startTime = '' [, int $step = '']])RRDCreator __construct128(string $path)DirectoryIterator __construct128(string $path)RRDGraph __construct128(string $path)RRDUpdater __construct128(string $path, double $interval, callable $callback [, mixed $data = '' [, int $priority = '']])EvStat __construct128(string $pathname)chdb __construct128(string $pattern, string $flags)MongoDB::BSON::Regex __construct128(string $regex)MongoRegex __construct128(string $rules [, string $areCompiled = ''])IntlRuleBasedBreakIterator __construct128(string $script)SWFAction __construct128(string $supervar_name)Yaf_Route_Supervar __construct128(string $template_dir [, array $options = ''])Yaf_View_Simple __construct128(string $uri [, array $options = '' [, array $driverOptions = '']])MongoDB::Driver::Manager __construct128(string $url)Yar_Client __construct128(string $value)DOMCdataSection __construct128(string $value)MongoInt32 __construct128(string $value)MongoInt64 __construct128(string $w [, integer $wtimeout = '' [, boolean $journal = '']])MongoDB::Driver::WriteConcern __construct128(string $filename [, string $mimetype = '' [, string $postname = '']])CURLFileCURLFile __construct128(float $x0, float $y0, float $r0, float $x1, float $y1, float $r1)CairoPatternCairoRadialGradient __construct128([string $time = "now" [, DateTimeZone $timezone = '']])DateTimeDateTime __construct128([string $time = "now" [, DateTimeZone $timezone = '']])DateTimeImmutableDateTimeImmutable __construct128(string $timezone)DateTimeZoneDateTimeZone __construct128(string $locale, int $datetype, int $timetype [, mixed $timezone = null [, mixed $calendar = null [, string $pattern = ""]]])IntlDateFormatterIntlDateFormatter __construct128(string $locale, string $pattern)MessageFormatterMessageFormatter __construct128(string $locale, int $style [, string $pattern = ''])NumberFormatterNumberFormatter __construct128(integer $size, string $class [, array $ctor = ''])PoolPool __construct128(string $locale, string $bundlename [, bool $fallback = ''])ResourceBundleResourceBundle __construct128([string $host = ini_get("mysqli.default_host") [, string $username = ini_get("mysqli.default_user") [, string $passwd = ini_get("mysqli.default_pw") [, string $dbname = "" [, int $port = ini_get("mysqli.default_port") [, string $socket = ini_get("mysqli.default_socket")]]]]]])mysqlimysqli __construct128([array $params_array = ''])objectOAuthProvider __construct128([float $xx = 1.0 [, float $yx = 0.0 [, float $xy = 0.0 [, float $yy = 1.0 [, float $x0 = 0.0 [, float $y0 = 0.0]]]]]])objectCairoMatrix __construct128([mixed $array = array() [, int $flags = '']])objectArrayIterator __construct128([mixed $input = [] [, int $flags = '' [, string $iterator_class = "ArrayIterator"]]])objectArrayObject __construct128([mixed $search = null [, int $format = APC_ITER_ALL [, int $chunk_size = 100 [, int $list = APC_LIST_ACTIVE]]]])objectAPCUIterator __construct128(string $cache [, mixed $search = null [, int $format = APC_ITER_ALL [, int $chunk_size = 100 [, int $list = APC_LIST_ACTIVE]]]])objectAPCIterator __construct128(string $name)objectReflectionExtension __construct128([string $broker = ini_get("stomp.default_broker_uri") [, string $username = '' [, string $password = '' [, array $headers = '']]]])resourceStomp __construct128([string $host = '' [, string $username = '' [, string $passwd = '' [, string $dbname = '' [, int $port = '' [, string $socket = '']]]]]])resourcemaxdb __construct128(string $index_names)voidSwish __destruct128()streamWrapper __destruct128(resource $link)boolStomp __destruct128()voidJudy __destruct128()voidOAuth __destruct128()voidSolrClient __destruct128()voidSolrDocument __destruct128()voidSolrDocumentField __destruct128()voidSolrGenericResponse __destruct128()voidSolrInputDocument __destruct128()voidSolrModifiableParams __destruct128()voidSolrObject __destruct128()voidSolrPingResponse __destruct128()voidSolrQuery __destruct128()voidSolrQueryResponse __destruct128()voidSolrUpdateResponse __destruct128()voidYaf_Application __destruct128()voidYaf_Response_Abstract __doRequest128(string $request, string $location, string $action, int $version [, int $one_way = ''])stringSoapClient __get128(string $name)MongoCollectionMongoCollection __get128(string $name)MongoCollectionMongoDB __get128(string $dbname)MongoDBMongoClient __get128(string $fieldName)SolrDocumentFieldSolrDocument __get128([string $name = ''])voidYaf_Config_Ini __get128([string $name = ''])voidYaf_Config_Simple __get128([string $name = ''])voidYaf_View_Simple __get128(string $name)voidYaf_Session __getFunctions128()arraySoapClient __getLastRequest128()stringSoapClient __getLastRequestHeaders128()stringSoapClient __getLastResponse128()stringSoapClient __getLastResponseHeaders128()stringSoapClient __getTypes128()arraySoapClient __halt_compiler16()void __invoke128(mixed $arg [, mixed $... = ''])voidLuaClosure __isset128(string $fieldName)boolSolrDocument __isset128(string $name)voidYaf_Config_Ini __isset128(string $name)voidYaf_Config_Simple __isset128(string $name)voidYaf_Session __isset128(string $name)voidYaf_View_Simple __set128(string $fieldName, string $fieldValue)boolSolrDocument __set128(string $name, mixed $value)voidYaf_Config_Ini __set128(string $name, mixed $value)voidYaf_View_Simple __set128(string $name, string $value)voidYaf_Config_Simple __set128(string $name, string $value)voidYaf_Session __setCookie128(string $name [, string $value = ''])voidSoapClient __setLocation128([string $new_location = ''])stringSoapClient __setSoapHeaders128([mixed $soapheaders = ''])boolSoapClient __set_state128(array $array)DateTimeDateTime __set_state128(array $array)DateTimeImmutableDateTimeImmutable __set_state128(array $props)MongoIdMongoId __sleep128()voidYaf_Application __sleep128()voidYaf_Dispatcher __sleep128()voidYaf_Loader __sleep128()voidYaf_Session __soapCall128(string $function_name, array $arguments [, array $options = '' [, mixed $input_headers = '' [, array $output_headers = '']]])mixedSoapClient __toString128()RarArchiveRarArchive __toString128()stringDirectoryIterator __toString128()stringImagick __toString128()stringKTaglib_ID3v2_Frame __toString128()stringMongoBinData __toString128()stringMongoClient __toString128()stringMongoCode __toString128()stringMongoCollection __toString128()stringMongoDB __toString128()stringMongoDB::BSON::ObjectID __toString128()stringMongoDB::BSON::Regex __toString128()stringMongoDB::BSON::Timestamp __toString128()stringMongoDB::BSON::UTCDateTime __toString128()stringMongoDB::Driver::CursorId __toString128()stringMongoDate __toString128()stringMongoId __toString128()stringMongoInt32 __toString128()stringMongoInt64 __toString128()stringMongoRegex __toString128()stringMongoTimestamp __toString128()stringRarEntry __toString128()stringReflectionClass __toString128()stringReflectionExtension __toString128()stringReflectionFunction __toString128()stringReflectionMethod __toString128()stringReflectionParameter __toString128()stringReflectionProperty __toString128()stringReflectionType __toString128()stringReflectionZendExtension __toString128()stringReflector __toString128()stringSimpleXMLElement __toString128()stringSoapFault __toString128()stringSolrCollapseFunction __toString128()voidCachingIterator __toString128()voidReflectionFunctionAbstract __toString128()voidSplFileInfo __toString128()voidSplFileObject __toString128()voidYaf_Response_Abstract __unset128(string $fieldName)boolSolrDocument __unset128(string $name)voidYaf_Session __wakeup128()DateTime __wakeup128()DateTimeImmutable __wakeup128()DateTimeInterface __wakeup128()voidCURLFile __wakeup128()voidSplFixedArray __wakeup128()voidYaf_Application __wakeup128()voidYaf_Dispatcher __wakeup128()voidYaf_Loader __wakeup128()voidYaf_Session abort128(string $transaction_id [, array $headers = '', resource $link])boolStomp abs16(mixed $number)number accept128()boolFilterIterator accept128()boolParentIterator accept128()boolRegexIterator accept128(mixed $socket)boolEventHttp accept128()stringCallbackFilterIterator acceptFromHttp128(string $header)stringLocale ack128(mixed $msg [, array $headers = '', resource $link])boolStomp acos16(float $arg)float acosh16(float $arg)float acquire128()boolWeakref adaptiveBlurImage128(float $radius, float $sigma [, int $channel = Imagick::CHANNEL_DEFAULT])boolImagick adaptiveResizeImage128(int $columns, int $rows [, bool $bestfit = false])boolImagick adaptiveSharpenImage128(float $radius, float $sigma [, int $channel = Imagick::CHANNEL_DEFAULT])boolImagick adaptiveThresholdImage128(int $width, int $height, int $offset)boolImagick add128(DateInterval $interval, DateTime $object)DateTimeDateTime add128(DateInterval $interval)DateTimeImmutableDateTimeImmutable add128(string $name, string $value)SolrParamsSolrParams add128([double $timeout = ''])boolEvent add128(array $item)boolMongoWriteBatch add128(int $field, int $amount, IntlCalendar $cal)boolIntlCalendar add128(int $key [, int $value = ''])boolQuickHashIntHash add128(int $key)boolQuickHashIntSet add128(int $key, string $value)boolQuickHashIntStringHash add128(string $data)boolEventBuffer add128(string $key, int $value)boolQuickHashStringIntHash add128(string $key, mixed $value [, int $expiration = ''])boolMemcached add128(string $key, mixed $var [, int $flag = '' [, int $expire = '']])boolMemcache add128(object $instance)mixedSWFMovie add128(string $key, number $increment [, int $type = ''])numberTokyoTyrant add128(mixed $entry, integer $type)stringZMQPoll add128(mixed $index, mixed $newval)voidSplDoublyLinkedList add128(object $object)voidSWFSprite add128(string $key, mixed $increment [, string $type = ''])voidTokyoTyrantTable addASound128(SWFSound $sound, int $flags)SWFSoundInstanceSWFButton addAction128(SWFAction $action, int $flags)voidSWFButton addAction128(SWFAction $action, int $flags)voidSWFDisplayItem addAll128(SplObjectStorage $storage)voidSplObjectStorage addArchive128(string $description)voidRRDCreator addAttribute128(string $name [, string $value = '' [, string $namespace = '']])voidSimpleXMLElement addBigramPhraseField128(string $field, string $boost [, string $slop = ''])SolrDisMaxQuerySolrDisMaxQuery addBoostQuery128(string $field, string $value [, string $boost = ''])SolrDisMaxQuerySolrDisMaxQuery addBuffer128(EventBuffer $buf)boolEventBuffer addByKey128(string $server_key, string $key, mixed $value [, int $expiration = ''])boolMemcached addChars128(string $char)voidSWFFontChar addChars128(string $chars)voidSWFTextField addChild128(string $name [, string $value = '' [, string $namespace = '']])SimpleXMLElementSimpleXMLElement addColor128(int $red, int $green, int $blue [, int $a = ''])voidSWFDisplayItem addColorStopRgb128(string $offset, string $red, string $green, string $blue)voidCairoGradientPattern addColorStopRgba128(string $offset, string $red, string $green, string $blue, string $alpha)voidCairoGradientPattern addCond128(string $name, int $op, string $expr)mixedTokyoTyrantQuery addConfig128(Yaf_Config_Abstract $config)boolYaf_Router addDataSource128(string $description)voidRRDCreator addDocument128(SolrInputDocument $doc [, bool $overwrite = true [, int $commitWithin = '']])SolrUpdateResponseSolrClient addDocuments128(array $docs [, bool $overwrite = true [, int $commitWithin = '']])voidSolrClient addEmptyDir128(string $dirname)boolPharData addEmptyDir128(string $dirname)boolZipArchive addEmptyDir128(string $dirname)voidPhar addEntry128(float $ratio, int $red, int $green, int $blue [, int $alpha = 255])voidSWFGradient addExpandFilterQuery128(string $fq)SolrQuerySolrQuery addExpandSortField128(string $field [, string $order = ''])SolrQuerySolrQuery addExport128(SWFCharacter $char, string $name)voidSWFMovie addFacetDateField128(string $dateField)SolrQuerySolrQuery addFacetDateOther128(string $value [, string $field_override = ''])SolrQuerySolrQuery addFacetField128(string $field)SolrQuerySolrQuery addFacetQuery128(string $facetQuery)SolrQuerySolrQuery addField128(string $field)SolrQuerySolrQuery addField128(string $fieldName, string $fieldValue [, float $fieldBoostValue = 0.0])boolSolrInputDocument addField128(string $fieldName, string $fieldValue)boolSolrDocument addFile128(string $filename [, string $localname = '' [, int $start = '' [, int $length = '']]])boolZipArchive addFile128(string $file [, string $localname = ''])voidPhar addFile128(string $file [, string $localname = ''])voidPharData addFill128(int $red, int $green, int $blue [, int $alpha = 255, SWFBitmap $bitmap [, int $flags = '', SWFGradient $gradient]])SWFFillSWFShape addFilterQuery128(string $fq)SolrQuerySolrQuery addFont128(SWFFont $font)mixedSWFMovie addFrame128(KTaglib_ID3v2_Frame $frame)boolKTaglib_ID3v2_Tag addFromString128(string $localname, string $contents)boolPharData addFromString128(string $localname, string $contents)boolZipArchive addFromString128(string $localname, string $contents)voidPhar addFunction128(string $function_name, callable $function [, mixed $context = '' [, int $timeout = '']])boolGearmanWorker addFunction128(mixed $functions)voidSoapServer addGlob128(string $pattern [, int $flags = '' [, array $options = array()]])boolZipArchive addGroupField128(string $value)SolrQuerySolrQuery addGroupFunction128(string $value)SolrQuerySolrQuery addGroupQuery128(string $value)SolrQuerySolrQuery addGroupSortField128(string $field [, integer $order = ''])SolrQuerySolrQuery addHeader128(string $key, string $value, int $type)boolEventHttpRequest addHighlightField128(string $field)SolrQuerySolrQuery addImage128(Imagick $source)boolImagick addKernel128(ImagickKernel $ImagickKernel)voidImagickKernel addMltField128(string $field)SolrQuerySolrQuery addMltQueryField128(string $field, float $boost)SolrQuerySolrQuery addNameserverIp128(string $ip)boolEventDnsBase addNoiseImage128(int $noise_type [, int $channel = Imagick::CHANNEL_DEFAULT])boolImagick addOption128(string $key, mixed $value)MongoCursorMongoCursor addOptions128(int $option)boolGearmanWorker addOptions128(int $options)boolGearmanClient addPage128()objectHaruDoc addPageLabel128(int $first_page, int $style, int $first_num [, string $prefix = ""])boolHaruDoc addParam128(string $name, string $value)SolrParamsSolrParams addPattern128(string $pattern [, string $path = "." [, array $options = array()]])boolZipArchive addPhraseField128(string $field, string $boost [, string $slop = ''])SolrDisMaxQuerySolrDisMaxQuery addPropertyToType128(string $parent_type_namespace_uri, string $parent_type_name, string $property_name, string $type_namespace_uri, string $type_name [, array $options = ''])voidSDO_DAS_DataFactory addQuery128(string $query [, string $index = "*" [, string $comment = ""]])intSphinxClient addQueryField128(string $field [, string $boost = ''])SolrDisMaxQuerySolrDisMaxQuery addRequiredParameter128(string $req_params)boolOAuthProvider addRoute128(string $name, Yaf_Route_Abstract $route)boolYaf_Router addSearch128(string $domain)voidEventDnsBase addServer128([string $host = 127.0.0.1 [, int $port = 4730]])boolGearmanClient addServer128([string $host = 127.0.0.1 [, int $port = 4730]])boolGearmanWorker addServer128(string $host [, int $port = 11211 [, bool $persistent = '' [, int $weight = '' [, int $timeout = '' [, int $retry_interval = '' [, bool $status = '' [, callable $failure_callback = '' [, int $timeoutms = '']]]]]]]])boolMemcache addServer128(string $host, int $port [, int $weight = ''])boolMemcached addServerAlias128(string $alias)boolEventHttp addServers128([string $servers = 127.0.0.1:4730])boolGearmanClient addServers128(array $servers)boolMemcached addServers128(string $servers)boolGearmanWorker addShape128(SWFShape $shape, int $flags)voidSWFButton addSignal128([double $timeout = ''])boolEvent addSoapHeader128(SoapHeader $object)voidSoapServer addSortField128(string $field [, int $order = SolrQuery::ORDER_DESC])SolrQuerySolrQuery addStatsFacet128(string $field)SolrQuerySolrQuery addStatsField128(string $field)SolrQuerySolrQuery addString128(string $string)voidSWFText addString128(string $string)voidSWFTextField addTask128(string $function_name, string $workload [, mixed $context = '' [, string $unique = '']])GearmanTaskGearmanClient addTaskBackground128(string $function_name, string $workload [, mixed $context = '' [, string $unique = '']])GearmanTaskGearmanClient addTaskHigh128(string $function_name, string $workload [, mixed $context = '' [, string $unique = '']])GearmanTaskGearmanClient addTaskHighBackground128(string $function_name, string $workload [, mixed $context = '' [, string $unique = '']])GearmanTaskGearmanClient addTaskLow128(string $function_name, string $workload [, mixed $context = '' [, string $unique = '']])GearmanTaskGearmanClient addTaskLowBackground128(string $function_name, string $workload [, mixed $context = '' [, string $unique = '']])GearmanTaskGearmanClient addTaskStatus128(string $job_handle [, string $context = ''])GearmanTaskGearmanClient addTimer128([double $timeout = ''])boolEvent addTrigramPhraseField128(string $field, string $boost [, string $slop = ''])SolrDisMaxQuerySolrDisMaxQuery addType128(string $type_namespace_uri, string $type_name [, array $options = ''])voidSDO_DAS_DataFactory addTypes128(string $xsd_file)voidSDO_DAS_XML addUTF8Chars128(string $char)voidSWFFontChar addUTF8String128(string $text)voidSWFText addUnityKernel128()voidImagickKernel addUserField128(string $field)SolrDisMaxQuerySolrDisMaxQuery addcslashes16(string $str, string $charlist)string addimage128(Gmagick $Gmagick)GmagickGmagick addnoiseimage128(int $NOISE)GmagickGmagick addslashes16(string $str)string affected_rows128(resource $link)intmaxdb affected_rows128(resource $stmt)intmaxdb_stmt affine128(array $affine)boolImagickDraw affineTransformImage128(ImagickDraw $matrix)boolImagick after128(IntlCalendar $other, IntlCalendar $cal)boolIntlCalendar again128()voidEvPeriodic again128()voidEvTimer aggregate128(array $pipeline [, array $options = '' [, array $op = '' [, array $... = '']]])arrayMongoCollection aggregateCursor128(array $command [, array $options = ''])MongoCommandCursorMongoCollection align128(int $alignement)voidSWFTextField allowsNull128()boolReflectionParameter allowsNull128()boolReflectionType animateImages128(string $x_server)boolImagick annotate128(float $x, float $y, string $text)GmagickDrawGmagickDraw annotateImage128(ImagickDraw $draw_settings, float $x, float $y, float $angle, string $text)boolImagick annotateimage128(GmagickDraw $GmagickDraw, float $x, float $y, float $angle, string $text)GmagickGmagick annotation128(float $x, float $y, string $text)boolImagickDraw apache_child_terminate16()bool apache_get_modules16()array apache_get_version16()string apache_getenv16(string $variable [, bool $walk_to_top = false])string apache_lookup_uri16(string $filename)object apache_note16(string $note_name [, string $note_value = ""])string apache_request_headers16()array apache_reset_timeout16()bool apache_response_headers16()array apache_setenv16(string $variable, string $value [, bool $walk_to_top = false])bool apc_add16(string $key, mixed $var [, int $ttl = '', array $values [, mixed $unused = null]])array apc_bin_dump16([array $files = null [, array $user_vars = null]])string apc_bin_dumpfile16(array $files, array $user_vars, string $filename [, int $flags = '' [, resource $context = null]])int apc_bin_load16(string $data [, int $flags = ''])bool apc_bin_loadfile16(string $filename [, resource $context = null [, int $flags = '']])bool apc_cache_info16([string $cache_type = "" [, bool $limited = false]])array apc_cas16(string $key, int $old, int $new)bool apc_clear_cache16([string $cache_type = ""])bool apc_compile_file16(string $filename [, bool $atomic = true])mixed apc_dec16(string $key [, int $step = 1 [, bool $success = '']])int apc_define_constants16(string $key, array $constants [, bool $case_sensitive = true])bool apc_delete16(string $key)mixed apc_delete_file16(mixed $keys)mixed apc_exists16(mixed $keys)mixed apc_fetch16(mixed $key [, bool $success = ''])mixed apc_inc16(string $key [, int $step = 1 [, bool $success = '']])int apc_load_constants16(string $key [, bool $case_sensitive = true])bool apc_sma_info16([bool $limited = false])array apc_store16(string $key, mixed $var [, int $ttl = '', array $values [, mixed $unused = null]])array apcu_add16(string $key, mixed $var [, int $ttl = '', array $values [, mixed $unused = null]])array apcu_cache_info16([bool $limited = false])array apcu_cas16(string $key, int $old, int $new)bool apcu_clear_cache16()bool apcu_dec16(string $key [, int $step = 1 [, bool $success = '']])int apcu_delete16(string $key)mixed apcu_entry16(string $key, callable $generator [, int $ttl = ''])mixed apcu_exists16(mixed $keys)mixed apcu_fetch16(mixed $key [, bool $success = ''])mixed apcu_inc16(string $key [, int $step = 1 [, bool $success = '']])int apcu_sma_info16([bool $limited = false])array apcu_store16(string $key, mixed $var [, int $ttl = '', array $values [, mixed $unused = null]])array apd_breakpoint16(int $debug_level)bool apd_callstack16()array apd_clunk16(string $warning [, string $delimiter = ""])void apd_continue16(int $debug_level)bool apd_croak16(string $warning [, string $delimiter = ""])void apd_dump_function_table16()void apd_dump_persistent_resources16()array apd_dump_regular_resources16()array apd_echo16(string $output)bool apd_get_active_symbols16()array apd_set_pprof_trace16([string $dump_directory = ini_get("apd.dumpdir") [, string $fragment = "pprof"]])string apd_set_session16(int $debug_level)void apd_set_session_trace16(int $debug_level [, string $dump_directory = ini_get("apd.dumpdir")])void apd_set_session_trace_socket16(string $tcp_server, int $socket_type, int $port, int $debug_level)bool apiVersion128()stringPhar app128()voidYaf_Application append128(OCI-Lob $lob_from)boolOCI-Lob append128(mixed $value)boolOCI-Collection append128(string $key, string $value)boolMemcached append128(Iterator $iterator)voidAppendIterator append128(mixed $value)voidArrayIterator append128(mixed $value)voidArrayObject appendBody128(string $content [, string $key = ''])boolYaf_Response_Abstract appendByKey128(string $server_key, string $key, string $value)boolMemcached appendChild128(DOMNode $newnode)DOMNodeDOMNode appendData128(string $data)voidDOMCharacterData appendFrom128(EventBuffer $buf, int $len)intEventBuffer appendImages128(bool $stack)ImagickImagick appendPath128(CairoPath $path, CairoContext $context)voidCairoContext appendXML128(string $data)boolDOMDocumentFragment applyChanges128(PDO $database_handle, SDODataObject $root_data_object)voidSDO_DAS_Relational arc128(float $sx, float $sy, float $ex, float $ey, float $sd, float $ed)GmagickDrawGmagickDraw arc128(float $sx, float $sy, float $ex, float $ey, float $sd, float $ed)boolImagickDraw arc128(float $x, float $y, float $ray, float $ang1, float $ang2)boolHaruPage arc128(float $x, float $y, float $radius, float $angle1, float $angle2, CairoContext $context)voidCairoContext arcNegative128(float $x, float $y, float $radius, float $angle1, float $angle2, CairoContext $context)voidCairoContext areConfusable128(string $s1, string $s2 [, string $error = ''])boolSpoofchecker array16([mixed $... = ''])array arrayQuery128(resource $dbhandle, string $query [, int $result_type = SQLITE_BOTH [, bool $decode_binary = true]])arraySQLiteDatabase array_change_key_case16(array $array [, int $case = CASE_LOWER])array array_chunk16(array $array, int $size [, bool $preserve_keys = false])array array_column16(array $input, mixed $column_key [, mixed $index_key = null])array array_combine16(array $keys, array $values)array array_count_values16(array $array)array array_diff16(array $array1, array $array2 [, array $... = ''])array array_diff_assoc16(array $array1, array $array2 [, array $... = ''])array array_diff_key16(array $array1, array $array2 [, array $... = ''])array array_diff_uassoc16(array $array1, array $array2 [, array $... = '', callable $key_compare_func])array array_diff_ukey16(array $array1, array $array2 [, array $... = '', callable $key_compare_func])array array_fill16(int $start_index, int $num, mixed $value)array array_fill_keys16(array $keys, mixed $value)array array_filter16(array $array [, callable $callback = '' [, int $flag = '']])array array_flip16(array $array)string array_intersect16(array $array1, array $array2 [, array $... = ''])array array_intersect_assoc16(array $array1, array $array2 [, array $... = ''])array array_intersect_key16(array $array1, array $array2 [, array $... = ''])array array_intersect_uassoc16(array $array1, array $array2 [, array $... = '', callable $key_compare_func])array array_intersect_ukey16(array $array1, array $array2 [, array $... = '', callable $key_compare_func])array array_key_exists16(mixed $key, array $array)bool array_keys16(array $array [, mixed $search_value = null [, bool $strict = false]])array array_map16(callable $callback, array $array1 [, array $... = ''])array array_merge16(array $array1 [, array $... = ''])array array_merge_recursive16(array $array1 [, array $... = ''])array array_multisort16(array $array1 [, mixed $array1_sort_order = SORT_ASC [, mixed $array1_sort_flags = SORT_REGULAR [, mixed $... = '']]])string array_pad16(array $array, int $size, mixed $value)array array_pop16(array $array)array array_product16(array $array)number array_push16(array $array, mixed $value1 [, mixed $... = ''])int array_rand16(array $array [, int $num = 1])mixed array_reduce16(array $array, callable $callback [, mixed $initial = ''])mixed array_replace16(array $array1, array $array2 [, array $... = ''])array array_replace_recursive16(array $array1, array $array2 [, array $... = ''])array array_reverse16(array $array [, bool $preserve_keys = false])array array_search16(mixed $needle, array $haystack [, bool $strict = false])mixed array_shift16(array $array)array array_slice16(array $array, int $offset [, int $length = '' [, bool $preserve_keys = false]])array array_splice16(array $input, int $offset [, int $length = '' [, mixed $replacement = array()]])array array_sum16(array $array)number array_udiff16(array $array1, array $array2 [, array $... = '', callable $value_compare_func])array array_udiff_assoc16(array $array1, array $array2 [, array $... = '', callable $value_compare_func])array array_udiff_uassoc16(array $array1, array $array2 [, array $... = '', callable $value_compare_func, callable $key_compare_func])array array_uintersect16(array $array1, array $array2 [, array $... = '', callable $value_compare_func])array array_uintersect_assoc16(array $array1, array $array2 [, array $... = '', callable $value_compare_func])array array_uintersect_uassoc16(array $array1, array $array2 [, array $... = '', callable $value_compare_func, callable $key_compare_func])array array_unique16(array $array [, int $sort_flags = SORT_STRING])array array_unshift16(array $array, mixed $value1 [, mixed $... = ''])int array_values16(array $array)array array_walk16(array $array, callable $callback [, mixed $userdata = ''])bool array_walk_recursive16(array $array, callable $callback [, mixed $userdata = ''])bool arsort16(array $array [, int $sort_flags = SORT_REGULAR])bool asXML128([string $filename = ''])mixedSimpleXMLElement asin16(float $arg)float asinh16(float $arg)float asort16(array $array [, int $sort_flags = SORT_REGULAR])bool asort128(array $arr [, int $sort_flag = '', Collator $coll])boolCollator asort128()voidArrayIterator asort128()voidArrayObject assemble128(array $info [, array $query = ''])stringYaf_Route_Interface assemble128(array $info [, array $query = ''])stringYaf_Route_Map assemble128(array $info [, array $query = ''])stringYaf_Route_Regex assemble128(array $info [, array $query = ''])stringYaf_Route_Rewrite assemble128(array $info [, array $query = ''])stringYaf_Route_Simple assemble128(array $info [, array $query = ''])stringYaf_Route_Static assemble128(array $info [, array $query = ''])stringYaf_Route_Supervar assert16(mixed $assertion [, string $description = '' [, Throwable $exception = '']])bool assert_options16(int $what [, mixed $value = ''])mixed assign128(OCI-Collection $from)boolOCI-Collection assign128(array $parameter)boolhw_api_object assign128(string $name [, mixed $value = ''])boolYaf_View_Simple assign128(string $name [, string $value = ''])boolYaf_View_Interface assign128(string $name, string $value)mixedLua assignElem128(int $index, mixed $value)boolOCI-Collection assignRef128(string $name, mixed $value)boolYaf_View_Simple at128()doubleEvPeriodic atan16(float $arg)float atan216(float $y, float $x)float atanh16(float $arg)float attach128(object $object [, mixed $data = ''])objectSplObjectStorage attach128(SplObserver $observer)voidSplSubject attachIterator128(Iterator $iterator [, string $infos = ''])voidMultipleIterator attr128()arrayEvStat attr_get128(int $attr, mysqli_stmt $stmt)intmysqli_stmt attr_set128(int $attr, int $mode, mysqli_stmt $stmt)boolmysqli_stmt attreditable128(array $parameter)boolhw_api_object attributes128([string $ns = '' [, bool $is_prefix = false]])SimpleXMLElementSimpleXMLElement auth128()boolVarnishAdmin authenticate128(string $username, string $password)arrayMongoDB autoLevelImage128([string $CHANNEL = Imagick::CHANNEL_DEFAULT])voidImagick autoRender128([bool $flag = ''])Yaf_DispatcherYaf_Dispatcher auto_commit128(resource $link, bool $mode)boolmaxdb autocommit128(bool $mode, mysqli $link)boolmysqli autoload128()voidYaf_Loader availableFonts128()arrayCairo availableSurfaces128()arrayCairo averageImages128()ImagickImagick avoidMethod128(int $method)boolEventConfig awaitData128([bool $wait = true])MongoCursorMongoCursor backend128()intEv backend128()intEvLoop ban128(string $vcl_regex)intVarnishAdmin banUrl128(string $vcl_regex)intVarnishAdmin base64_decode16(string $data [, bool $strict = false])string base64_encode16(string $data)string base_convert16(string $number, int $frombase, int $tobase)string basename16(string $path [, string $suffix = ''])string batchInsert128(array $a [, array $options = array()])mixedMongoCollection batchSize128(int $batchSize)MongoCommandCursorMongoCommandCursor batchSize128(int $batchSize)MongoCursorMongoCursor batchSize128(int $batchSize)MongoCursorInterfaceMongoCursorInterface bbcode_add_element16(resource $bbcode_container, string $tag_name, array $tag_rules)bool bbcode_add_smiley16(resource $bbcode_container, string $smiley, string $replace_by)bool bbcode_create16([array $bbcode_initial_tags = null])resource bbcode_destroy16(resource $bbcode_container)bool bbcode_parse16(resource $bbcode_container, string $to_parse)string bbcode_set_arg_parser16(resource $bbcode_container, resource $bbcode_arg_parser)bool bbcode_set_flags16(resource $bbcode_container, int $flags [, int $mode = BBCODE_SET_FLAGS_SET])bool bcadd16(string $left_operand, string $right_operand [, int $scale = ''])string bccomp16(string $left_operand, string $right_operand [, int $scale = ''])int bcdiv16(string $left_operand, string $right_operand [, int $scale = ''])string bcmod16(string $left_operand, string $modulus)string bcmul16(string $left_operand, string $right_operand [, int $scale = ''])string bcompiler_load16(string $filename)bool bcompiler_load_exe16(string $filename)bool bcompiler_parse_class16(string $class, string $callback)bool bcompiler_read16(resource $filehandle)bool bcompiler_write_class16(resource $filehandle, string $className [, string $extends = ''])bool bcompiler_write_constant16(resource $filehandle, string $constantName)bool bcompiler_write_exe_footer16(resource $filehandle, int $startpos)bool bcompiler_write_file16(resource $filehandle, string $filename)bool bcompiler_write_footer16(resource $filehandle)bool bcompiler_write_function16(resource $filehandle, string $functionName)bool bcompiler_write_functions_from_file16(resource $filehandle, string $fileName)bool bcompiler_write_header16(resource $filehandle [, string $write_ver = ''])bool bcompiler_write_included_filename16(resource $filehandle, string $filename)bool bcpow16(string $left_operand, string $right_operand [, int $scale = ''])string bcpowmod16(string $left_operand, string $right_operand, string $modulus [, int $scale = ''])string bcscale16(int $scale)bool bcsqrt16(string $operand [, int $scale = ''])string bcsub16(string $left_operand, string $right_operand [, int $scale = ''])string before128(IntlCalendar $other, IntlCalendar $cal)boolIntlCalendar begin128(string $transaction_id [, array $headers = '', resource $link])boolStomp beginChildren128()voidRecursiveIteratorIterator beginChildren128()voidRecursiveTreeIterator beginIteration128()RecursiveIteratorRecursiveTreeIterator beginIteration128()voidRecursiveIteratorIterator beginLogging128()voidSDO_DAS_ChangeSummary beginText128()boolHaruPage beginTransaction128()boolPDO begin_transaction128([int $flags = '' [, string $name = '', mysqli $link]])boolmysqli bezier128(array $coordinate_array)GmagickDrawGmagickDraw bezier128(array $coordinates)boolImagickDraw bin2hex16(string $str)string bind128(string $dsn [, boolean $force = false])ZMQSocketZMQSocket bind128(string $address, int $port)voidEventHttp bindColumn128(mixed $column, mixed $param [, int $type = '' [, int $maxlen = '' [, mixed $driverdata = '']]])boolPDOStatement bindParam128(mixed $parameter, mixed $variable [, int $data_type = PDO::PARAM_STR [, int $length = '' [, mixed $driver_options = '']]])boolPDOStatement bindParam128(string $sql_param, mixed $param [, int $type = ''])boolSQLite3Stmt bindValue128(mixed $parameter, mixed $value [, int $data_type = PDO::PARAM_STR])boolPDOStatement bindValue128(string $sql_param, mixed $value [, int $type = ''])boolSQLite3Stmt bind_param128(resource $stmt, string $types, mixed $var1 [, mixed $... = '', array $var])boolmaxdb_stmt bind_param128(string $types, mixed $var1 [, mixed $... = '', mysqli_stmt $stmt])boolmysqli_stmt bind_result128(mixed $var1 [, mixed $... = '', mysqli_stmt $stmt])boolmysqli_stmt bind_result128(resource $stmt, mixed $var1 [, mixed $... = ''])boolmaxdb_stmt bind_textdomain_codeset16(string $domain, string $codeset)string bindec16(string $binary_string)float bindtextdomain16(string $domain, string $directory)string blackThresholdImage128(mixed $threshold)boolImagick blenc_encrypt16(string $plaintext, string $encodedfile [, string $encryption_key = ''])string blueShiftImage128([float $factor = 1.5])voidImagick blurImage128(float $radius, float $sigma [, int $channel = ''])boolImagick blurimage128(float $radius, float $sigma [, int $channel = ''])GmagickGmagick body128()stringSAMMessage body128(tidy $object)tidyNodetidy boolval16(mixed $var)boolean bootstrap128([Yaf_Bootstrap_Abstract $bootstrap = ''])voidYaf_Application borderImage128(mixed $bordercolor, int $width, int $height)boolImagick borderimage128(GmagickPixel $color, int $width, int $height)GmagickGmagick bottom128()mixedSplDoublyLinkedList brightnessContrastImage128(string $brightness, string $contrast [, string $CHANNEL = Imagick::CHANNEL_DEFAULT])voidImagick broadcast128(long $condition)booleanCond bsonSerialize128()arrayMongoDB::BSON::Serializable bsonUnserialize128(array $data)arrayMongoDB::BSON::Unserializable bson_decode16(string $bson)array bson_encode16(mixed $anything)string buffer128(string $string [, int $options = FILEINFO_NONE [, resource $context = '']])stringfinfo buildExcerpts128(array $docs, string $index, string $words [, array $opts = ''])arraySphinxClient buildFromDirectory128(string $base_dir [, string $regex = ''])arrayPhar buildFromDirectory128(string $base_dir [, string $regex = ''])arrayPharData buildFromIterator128(Iterator $iter [, string $base_directory = ''])arrayPhar buildFromIterator128(Iterator $iter [, string $base_directory = ''])arrayPharData buildKeywords128(string $query, string $index, bool $hits)arraySphinxClient busyTimeout128(int $msecs)boolSQLite3 busyTimeout128(resource $dbhandle, int $milliseconds)voidSQLiteDatabase byCount128(int $nth_index)intJudy bzclose16(resource $bz)int bzcompress16(string $source [, int $blocksize = 4 [, int $workfactor = '']])mixed bzdecompress16(string $source [, int $small = ''])mixed bzerrno16(resource $bz)int bzerror16(resource $bz)array bzerrstr16(resource $bz)string bzflush16(resource $bz)bool bzopen16(mixed $file, string $mode)resource bzread16(resource $bz [, int $length = 1024])string bzwrite16(resource $bz, string $data [, int $length = ''])int cairo_append_path16(CairoPath $path, CairoContext $context)void cairo_arc16(float $x, float $y, float $radius, float $angle1, float $angle2, CairoContext $context)void cairo_arc_negative16(float $x, float $y, float $radius, float $angle1, float $angle2, CairoContext $context)void cairo_available_fonts16()array cairo_available_surfaces16()array cairo_clip16(CairoContext $context)void cairo_clip_extents16(CairoContext $context)array cairo_clip_preserve16(CairoContext $context)void cairo_clip_rectangle_list16(CairoContext $context)array cairo_close_path16(CairoContext $context)void cairo_copy_page16(CairoContext $context)void cairo_copy_path16(CairoContext $context)CairoPath cairo_copy_path_flat16(CairoContext $context)CairoPath cairo_create16(CairoSurface $surface)CairoContext cairo_curve_to16(float $x1, float $y1, float $x2, float $y2, float $x3, float $y3, CairoContext $context)void cairo_device_to_user16(float $x, float $y, CairoContext $context)array cairo_device_to_user_distance16(float $x, float $y, CairoContext $context)array cairo_fill16(CairoContext $context)void cairo_fill_extents16(CairoContext $context)array cairo_fill_preserve16(CairoContext $context)void cairo_font_extents16(CairoContext $context)array cairo_font_face_get_type16(CairoFontFace $fontface)int cairo_font_face_status16(CairoFontFace $fontface)int cairo_font_options_create16()CairoFontOptions cairo_font_options_equal16(CairoFontOptions $options, CairoFontOptions $other)bool cairo_font_options_get_antialias16(CairoFontOptions $options)int cairo_font_options_get_hint_metrics16(CairoFontOptions $options)int cairo_font_options_get_hint_style16(CairoFontOptions $options)int cairo_font_options_get_subpixel_order16(CairoFontOptions $options)int cairo_font_options_hash16(CairoFontOptions $options)int cairo_font_options_merge16(CairoFontOptions $options, CairoFontOptions $other)void cairo_font_options_set_antialias16(CairoFontOptions $options, int $antialias)void cairo_font_options_set_hint_metrics16(CairoFontOptions $options, int $hint_metrics)void cairo_font_options_set_hint_style16(CairoFontOptions $options, int $hint_style)void cairo_font_options_set_subpixel_order16(CairoFontOptions $options, int $subpixel_order)void cairo_font_options_status16(CairoFontOptions $options)int cairo_format_stride_for_width16(int $format, int $width)int cairo_get_antialias16(CairoContext $context)int cairo_get_current_point16(CairoContext $context)array cairo_get_dash16(CairoContext $context)array cairo_get_dash_count16(CairoContext $context)int cairo_get_fill_rule16(CairoContext $context)int cairo_get_font_face16(CairoContext $context)void cairo_get_font_matrix16(CairoContext $context)void cairo_get_font_options16(CairoContext $context)void cairo_get_group_target16(CairoContext $context)void cairo_get_line_cap16(CairoContext $context)int cairo_get_line_join16(CairoContext $context)int cairo_get_line_width16(CairoContext $context)float cairo_get_matrix16(CairoContext $context)void cairo_get_miter_limit16(CairoContext $context)float cairo_get_operator16(CairoContext $context)int cairo_get_scaled_font16(CairoContext $context)void cairo_get_source16(CairoContext $context)void cairo_get_target16(CairoContext $context)void cairo_get_tolerance16(CairoContext $context)float cairo_glyph_path16(array $glyphs, CairoContext $context)void cairo_has_current_point16(CairoContext $context)bool cairo_identity_matrix16(CairoContext $context)void cairo_image_surface_create16(int $format, int $width, int $height)CairoImageSurface cairo_image_surface_create_for_data16(string $data, int $format, int $width, int $height [, int $stride = -1])CairoImageSurface cairo_image_surface_create_from_png16(string $file)CairoImageSurface cairo_image_surface_get_data16(CairoImageSurface $surface)string cairo_image_surface_get_format16(CairoImageSurface $surface)int cairo_image_surface_get_height16(CairoImageSurface $surface)int cairo_image_surface_get_stride16(CairoImageSurface $surface)int cairo_image_surface_get_width16(CairoImageSurface $surface)int cairo_in_fill16(string $x, string $y, CairoContext $context)bool cairo_in_stroke16(string $x, string $y, CairoContext $context)bool cairo_line_to16(string $x, string $y, CairoContext $context)void cairo_mask16(CairoPattern $pattern, CairoContext $context)void cairo_mask_surface16(CairoSurface $surface [, string $x = '' [, string $y = '', CairoContext $context]])void cairo_matrix_create_scale16(float $sx, float $sy)object cairo_matrix_create_translate16() cairo_matrix_init16([float $xx = 1.0 [, float $yx = 0.0 [, float $xy = 0.0 [, float $yy = 1.0 [, float $x0 = 0.0 [, float $y0 = 0.0]]]]]])object cairo_matrix_init_identity16()object cairo_matrix_init_rotate16(float $radians)object cairo_matrix_init_scale16(float $sx, float $sy)object cairo_matrix_init_translate16(float $tx, float $ty)object cairo_matrix_invert16(CairoMatrix $matrix)void cairo_matrix_multiply16(CairoMatrix $matrix1, CairoMatrix $matrix2)CairoMatrix cairo_matrix_rotate16(CairoMatrix $matrix, float $radians)void cairo_matrix_scale16(float $sx, float $sy, CairoContext $context)void cairo_matrix_transform_distance16(CairoMatrix $matrix, float $dx, float $dy)array cairo_matrix_transform_point16(CairoMatrix $matrix, float $dx, float $dy)array cairo_matrix_translate16(CairoMatrix $matrix, float $tx, float $ty)void cairo_move_to16(string $x, string $y, CairoContext $context)void cairo_new_path16(CairoContext $context)void cairo_new_sub_path16(CairoContext $context)void cairo_paint16(CairoContext $context)void cairo_paint_with_alpha16(string $alpha, CairoContext $context)void cairo_path_extents16(CairoContext $context)array cairo_pattern_add_color_stop_rgb16(CairoGradientPattern $pattern, float $offset, float $red, float $green, float $blue)void cairo_pattern_add_color_stop_rgba16(CairoGradientPattern $pattern, float $offset, float $red, float $green, float $blue, float $alpha)void cairo_pattern_create_for_surface16(CairoSurface $surface)CairoPattern cairo_pattern_create_linear16(float $x0, float $y0, float $x1, float $y1)CairoPattern cairo_pattern_create_radial16(float $x0, float $y0, float $r0, float $x1, float $y1, float $r1)CairoPattern cairo_pattern_create_rgb16(float $red, float $green, float $blue)CairoPattern cairo_pattern_create_rgba16(float $red, float $green, float $blue, float $alpha)CairoPattern cairo_pattern_get_color_stop_count16(CairoGradientPattern $pattern)int cairo_pattern_get_color_stop_rgba16(CairoGradientPattern $pattern, int $index)array cairo_pattern_get_extend16(string $pattern)int cairo_pattern_get_filter16(CairoSurfacePattern $pattern)int cairo_pattern_get_linear_points16(CairoLinearGradient $pattern)array cairo_pattern_get_matrix16(CairoPattern $pattern)CairoMatrix cairo_pattern_get_radial_circles16(CairoRadialGradient $pattern)array cairo_pattern_get_rgba16(CairoSolidPattern $pattern)array cairo_pattern_get_surface16(CairoSurfacePattern $pattern)CairoSurface cairo_pattern_get_type16(CairoPattern $pattern)int cairo_pattern_set_extend16(string $pattern, string $extend)void cairo_pattern_set_filter16(CairoSurfacePattern $pattern, int $filter)void cairo_pattern_set_matrix16(CairoPattern $pattern, CairoMatrix $matrix)void cairo_pattern_status16(CairoPattern $pattern)int cairo_pdf_surface_create16(string $file, float $width, float $height)CairoPdfSurface cairo_pdf_surface_set_size16(CairoPdfSurface $surface, float $width, float $height)void cairo_pop_group16(CairoContext $context)void cairo_pop_group_to_source16(CairoContext $context)void cairo_ps_get_levels16()array cairo_ps_level_to_string16(int $level)string cairo_ps_surface_create16(string $file, float $width, float $height)CairoPsSurface cairo_ps_surface_dsc_begin_page_setup16(CairoPsSurface $surface)void cairo_ps_surface_dsc_begin_setup16(CairoPsSurface $surface)void cairo_ps_surface_dsc_comment16(CairoPsSurface $surface, string $comment)void cairo_ps_surface_get_eps16(CairoPsSurface $surface)bool cairo_ps_surface_restrict_to_level16(CairoPsSurface $surface, int $level)void cairo_ps_surface_set_eps16(CairoPsSurface $surface, bool $level)void cairo_ps_surface_set_size16(CairoPsSurface $surface, float $width, float $height)void cairo_push_group16(CairoContext $context)void cairo_push_group_with_content16(string $content, CairoContext $context)void cairo_rectangle16(string $x, string $y, string $width, string $height, CairoContext $context)void cairo_rel_curve_to16(string $x1, string $y1, string $x2, string $y2, string $x3, string $y3, CairoContext $context)void cairo_rel_line_to16(string $x, string $y, CairoContext $context)void cairo_rel_move_to16(string $x, string $y, CairoContext $context)void cairo_reset_clip16(CairoContext $context)void cairo_restore16(CairoContext $context)void cairo_rotate16(string $sx, string $sy, CairoContext $context, string $angle)void cairo_save16(CairoContext $context)void cairo_scale16(string $x, string $y, CairoContext $context)void cairo_scaled_font_create16(CairoFontFace $fontface, CairoMatrix $matrix, CairoMatrix $ctm, CairoFontOptions $fontoptions)CairoScaledFont cairo_scaled_font_extents16(CairoScaledFont $scaledfont)array cairo_scaled_font_get_ctm16(CairoScaledFont $scaledfont)CairoMatrix cairo_scaled_font_get_font_face16(CairoScaledFont $scaledfont)CairoFontFace cairo_scaled_font_get_font_matrix16(CairoScaledFont $scaledfont)CairoFontOptions cairo_scaled_font_get_font_options16(CairoScaledFont $scaledfont)CairoFontOptions cairo_scaled_font_get_scale_matrix16(CairoScaledFont $scaledfont)CairoMatrix cairo_scaled_font_get_type16(CairoScaledFont $scaledfont)int cairo_scaled_font_glyph_extents16(CairoScaledFont $scaledfont, array $glyphs)array cairo_scaled_font_status16(CairoScaledFont $scaledfont)int cairo_scaled_font_text_extents16(CairoScaledFont $scaledfont, string $text)array cairo_select_font_face16(string $family [, string $slant = '' [, string $weight = '', CairoContext $context]])void cairo_set_antialias16([string $antialias = '', CairoContext $context])void cairo_set_dash16(array $dashes [, string $offset = '', CairoContext $context])void cairo_set_fill_rule16(string $setting, CairoContext $context)void cairo_set_font_face16(CairoFontFace $fontface, CairoContext $context)void cairo_set_font_matrix16(CairoMatrix $matrix, CairoContext $context)void cairo_set_font_options16(CairoFontOptions $fontoptions, CairoContext $context)void cairo_set_font_size16(string $size, CairoContext $context)void cairo_set_line_cap16(string $setting, CairoContext $context)void cairo_set_line_join16(string $setting, CairoContext $context)void cairo_set_line_width16(string $width, CairoContext $context)void cairo_set_matrix16(CairoMatrix $matrix, CairoContext $context)void cairo_set_miter_limit16(string $limit, CairoContext $context)void cairo_set_operator16(string $setting, CairoContext $context)void cairo_set_scaled_font16(CairoScaledFont $scaledfont, CairoContext $context)void cairo_set_source16(string $red, string $green, string $blue, string $alpha, CairoContext $context, CairoPattern $pattern)void cairo_set_source_surface16(CairoSurface $surface [, string $x = '' [, string $y = '', CairoContext $context]])void cairo_set_tolerance16(string $tolerance, CairoContext $context)void cairo_show_page16(CairoContext $context)void cairo_show_text16(string $text, CairoContext $context)void cairo_status16(CairoContext $context)int cairo_status_to_string16(int $status)string cairo_stroke16(CairoContext $context)void cairo_stroke_extents16(CairoContext $context)array cairo_stroke_preserve16(CairoContext $context)void cairo_surface_copy_page16(CairoSurface $surface)void cairo_surface_create_similar16(CairoSurface $surface, int $content, float $width, float $height)CairoSurface cairo_surface_finish16(CairoSurface $surface)void cairo_surface_flush16(CairoSurface $surface)void cairo_surface_get_content16(CairoSurface $surface)int cairo_surface_get_device_offset16(CairoSurface $surface)array cairo_surface_get_font_options16(CairoSurface $surface)CairoFontOptions cairo_surface_get_type16(CairoSurface $surface)int cairo_surface_mark_dirty16(CairoSurface $surface)void cairo_surface_mark_dirty_rectangle16(CairoSurface $surface, float $x, float $y, float $width, float $height)void cairo_surface_set_device_offset16(CairoSurface $surface, float $x, float $y)void cairo_surface_set_fallback_resolution16(CairoSurface $surface, float $x, float $y)void cairo_surface_show_page16(CairoSurface $surface)void cairo_surface_status16(CairoSurface $surface)int cairo_surface_write_to_png16(CairoSurface $surface, resource $stream)void cairo_svg_surface_create16(string $file, float $width, float $height)CairoSvgSurface cairo_svg_surface_get_versions16()array cairo_svg_surface_restrict_to_version16(CairoSvgSurface $surface, int $version)void cairo_svg_version_to_string16(int $version)string cairo_text_extents16(string $text, CairoContext $context)array cairo_text_path16(string $string, CairoContext $context, string $text)void cairo_transform16(CairoMatrix $matrix, CairoContext $context)void cairo_translate16(string $tx, string $ty, CairoContext $context, string $x, string $y)void cairo_user_to_device16(string $x, string $y, CairoContext $context)array cairo_user_to_device_distance16(string $x, string $y, CairoContext $context)array cairo_version16()int cairo_version_string16()string cal_days_in_month16(int $calendar, int $month, int $year)int cal_from_jd16(int $jd, int $calendar)array cal_info16([int $calendar = -1])array cal_to_jd16(int $calendar, int $month, int $day, int $year)int calcul_hmac16(string $clent, string $siretcode, string $price, string $reference, string $validity, string $taxation, string $devise, string $language)string calculhmac16(string $clent, string $data)string call128(string $uri, string $method, array $parameters [, callable $callback = ''])intYar_Concurrent_Client call128(callable $lua_func [, array $args = '' [, int $use_self = '']])mixedLua callGetChildren128()RecursiveIteratorRecursiveIteratorIterator callGetChildren128()RecursiveIteratorRecursiveTreeIterator callHasChildren128()boolRecursiveIteratorIterator callHasChildren128()boolRecursiveTreeIterator callTimestampNonceHandler128()voidOAuthProvider call_user_func16(callable $callback [, mixed $parameter = '' [, mixed $... = '']])mixed call_user_func_array16(callable $callback, array $param_arr)mixed call_user_method16(string $method_name, object $obj [, mixed $parameter = '' [, mixed $... = '']])mixed call_user_method_array16(string $method_name, object $obj, array $params)mixed callconsumerHandler128()voidOAuthProvider calltokenHandler128()voidOAuthProvider canBePassedByValue128()boolReflectionParameter canCompress128([int $type = ''])boolPhar canWrite128()boolPhar cancel128()voidEventHttpRequest canonicalize128(string $locale)stringLocale cas128(float $cas_token, string $key, mixed $value [, int $expiration = ''])boolMemcached casByKey128(float $cas_token, string $server_key, string $key, mixed $value [, int $expiration = ''])boolMemcached catchException128([bool $flag = ''])Yaf_DispatcherYaf_Dispatcher ceil16(float $value)float changeUser128(mysqlnd_connection $connection, string $user, string $password, string $database, bool $silent, int $passwd_len)boolMysqlndUhConnection change_user128(resource $link, string $user, string $password, string $database)boolmaxdb change_user128(string $user, string $password, string $database, mysqli $link)boolmysqli changes128()intSQLite3 changes128(resource $dbhandle)intSQLiteDatabase charAge128(mixed $codepoint)arrayIntlChar charDigitValue128(mixed $codepoint)intIntlChar charDirection128(mixed $codepoint)intIntlChar charFromName128(string $characterName [, int $nameChoice = ''])intIntlChar charMirror128(mixed $codepoint)mixedIntlChar charName128(mixed $codepoint [, int $nameChoice = ''])stringIntlChar charType128(mixed $codepoint)intIntlChar character_set_name128(mysqli $link)stringmysqli character_set_name128(resource $link)stringmaxdb charcoalImage128(float $radius, float $sigma)boolImagick charcoalimage128(float $radius, float $sigma)GmagickGmagick charsetName128(mysqlnd_connection $connection)stringMysqlndUhConnection chdb1(string $pathname) chdb_create16(string $pathname, array $data)bool chdir16(string $directory)bool check128(string $callback [, string $data = '' [, string $priority = '']])EvCheckEvLoop checkOAuthRequest128([string $uri = '' [, string $method = '']])voidOAuthProvider checkProbabilityModel128()boolSVMModel checkdate16(int $month, int $day, int $year)bool checkdnsrr16(string $host [, string $type = "MX"])bool checkin128(array $parameter)boolhw_api checkout128(array $parameter)boolhw_api chgrp16(string $filename, mixed $group)bool child128(string $pid, string $trace, string $callback [, string $data = '' [, string $priority = '']])EvChildEvLoop children128([string $ns = '' [, bool $is_prefix = false]])SimpleXMLElementSimpleXMLElement children128(array $parameter)arrayhw_api chmod16(string $filename, int $mode)bool chmod128(int $permissions)voidPharFileInfo chop16() chopImage128(int $width, int $height, int $x, int $y)boolImagick chopimage128(int $width, int $height, int $x, int $y)GmagickGmagick chown16(string $filename, mixed $user)bool chr16(int $ascii)string chr128(mixed $codepoint)stringIntlChar chroot16(string $directory)bool chunk128(integer $size, boolean $preserve)arrayThreaded chunk_split16(string $body [, int $chunklen = 76 [, string $end = "\r\n"]])string circle128(float $ox, float $oy, float $px, float $py)boolImagickDraw circle128(float $x, float $y, float $ray)boolHaruPage clampImage128([string $CHANNEL = Imagick::CHANNEL_DEFAULT])voidImagick class_alias16(string $original, string $alias [, bool $autoload = ''])bool class_exists16(string $class_name [, bool $autoload = true])bool class_implements16(mixed $class [, bool $autoload = true])array class_parents16(mixed $class [, bool $autoload = true])array class_uses16(mixed $class [, bool $autoload = true])array classkit_import16(string $filename)array classkit_method_add16(string $classname, string $methodname, string $args, string $code [, int $flags = CLASSKIT_ACC_PUBLIC])bool classkit_method_copy16(string $dClass, string $dMethod, string $sClass [, string $sMethod = ''])bool classkit_method_redefine16(string $classname, string $methodname, string $args, string $code [, int $flags = CLASSKIT_ACC_PUBLIC])bool classkit_method_remove16(string $classname, string $methodname)bool classkit_method_rename16(string $classname, string $methodname, string $newname)bool cleanRepair128(tidy $object)booltidy clear128()GmagickGmagick clear128()ZMQPollZMQPoll clear128()boolImagick clear128()boolImagickDraw clear128()boolImagickPixel clear128()boolImagickPixelIterator clear128()boolSQLite3Stmt clear128()boolSolrDocument clear128()boolSolrInputDocument clear128([int $field = null, IntlCalendar $cal])boolIntlCalendar clear128([string $name = ''])boolYaf_View_Simple clear128()intEvWatcher clear128()voidSDO_DataObject clearBody128([string $key = ''])boolYaf_Response_Abstract clearCallbacks128()boolGearmanClient clearHeaders128()voidEventHttpRequest clearHeaders128()voidYaf_Response_Abstract clearLastError128()Yaf_ApplicationYaf_Application clearLocalNamespace128()voidYaf_Loader clearPanic128()intVarnishAdmin clearSearch128()voidEventDnsBase clearstatcache16([bool $clear_realpath_cache = false [, string $filename = '']])void cli_get_process_title16()string cli_set_process_title16(string $title)bool clip128(CairoContext $context)voidCairoContext clipExtents128(CairoContext $context)arrayCairoContext clipImage128()boolImagick clipImagePath128(string $pathname, string $inside)voidImagick clipPathImage128(string $pathname, bool $inside)boolImagick clipPreserve128(CairoContext $context)voidCairoContext clipRectangleList128(CairoContext $context)arrayCairoContext clone128()GearmanClientGearmanClient clone128()ImagickImagick clone128()ImagickDrawImagickDraw clone128()voidGearmanWorker cloneNode128([bool $deep = ''])DOMNodeDOMNode close128()boolMemcache close128()boolOCI-Lob close128()boolSNMP close128()boolSQLite3 close128()boolSQLite3Stmt close128()boolSessionHandler close128()boolSessionHandlerInterface close128()boolSphinxClient close128()boolXMLReader close128()boolZipArchive close128(RarArchive $rarfile)boolRarArchive close128([boolean|string $connection = ''])boolMongoClient close128(mysqli $link)boolmysqli close128(mysqli_stmt $stmt)boolmysqli_stmt close128(mysqlnd_connection $connection, int $close_type)boolMysqlndUhConnection close128(resource $link)boolmaxdb close128(resource $stmt)boolmaxdb_stmt close128()voidEventBufferEvent close128([resource $dir_handle = ''])voidDirectory closeConnection128()voidEventHttpRequest closeCursor128()boolPDOStatement closePath128()boolHaruPage closePath128(CairoContext $context)voidCairoContext close_long_data128()maxdb close_long_data128(resource $stmt, int $param_nr)boolmaxdb_stmt closedir16([resource $dir_handle = ''])void closelog16()bool clutImage128(Imagick $lookup_table [, float $channel = Imagick::CHANNEL_DEFAULT])boolImagick coalesceImages128()ImagickImagick collapse128(SolrCollapseFunction $collapseFunction)SolrQuerySolrQuery collator_asort16(array $arr [, int $sort_flag = '', Collator $coll])bool collator_compare16(string $str1, string $str2, Collator $coll)int collator_create16(string $locale)Collator collator_get_attribute16(int $attr, Collator $coll)int collator_get_error_code16(Collator $coll)int collator_get_error_message16(Collator $coll)string collator_get_locale16(int $type, Collator $coll)string collator_get_sort_key16(string $str, Collator $coll)string collator_get_strength16(Collator $coll)int collator_set_attribute16(int $attr, int $val, Collator $coll)bool collator_set_strength16(int $strength, Collator $coll)bool collator_sort16(array $arr [, int $sort_flag = '', Collator $coll])bool collator_sort_with_sort_keys16(array $arr, Collator $coll)bool collect128(Callable $collector)voidPool color128(float $x, float $y, int $paintMethod)boolImagickDraw colorFloodfillImage128(mixed $fill, float $fuzz, mixed $bordercolor, int $x, int $y)boolImagick colorMatrixImage128(string $color_matrix)voidImagick colorizeImage128(mixed $colorize, mixed $opacity)boolImagick column128(resource $result, mixed $index_or_name [, bool $decode_binary = true])mixedSQLiteResult column128(resource $result, mixed $index_or_name [, bool $decode_binary = true])mixedSQLiteUnbuffered columnCount128()intPDOStatement columnName128(int $column_number)stringSQLite3Result columnType128(int $column_number)intSQLite3Result com_create_guid16()string com_event_sink16(variant $comobject, object $sinkobject [, mixed $sinkinterface = ''])bool com_get_active_object16(string $progid [, int $code_page = ''])variant com_load_typelib16(string $typelib_name [, bool $case_insensitive = true])bool com_message_pump16([int $timeoutms = ''])bool com_print_typeinfo16(object $comobject [, string $dispinterface = '' [, bool $wantsink = false]])bool combineImages128(int $channelType)ImagickImagick command128(array $command [, array $options = array() [, string $hash = '']])arrayMongoDB comment128(string $comment)boolImagickDraw commentImage128(string $comment)boolImagick commentimage128(string $comment)GmagickGmagick commit128([bool $softCommit = false [, bool $waitSearcher = true [, bool $expungeDeletes = false]]])SolrUpdateResponseSolrClient commit128()boolPDO commit128()boolSAMConnection commit128([int $flags = '' [, string $name = '', mysqli $link]])boolmysqli commit128(resource $link)boolmaxdb commit128(string $transaction_id [, array $headers = '', resource $link])boolStomp compact16(mixed $varname1 [, mixed $... = ''])array compare128(mixed $priority1, mixed $priority2)intSplPriorityQueue compare128(mixed $value1, mixed $value2)intSplHeap compare128(mixed $value1, mixed $value2)intSplMaxHeap compare128(mixed $value1, mixed $value2)intSplMinHeap compare128(string $str1, string $str2, Collator $coll)intCollator compareImageChannels128(Imagick $image, int $channelType, int $metricType)arrayImagick compareImageLayers128(int $method)ImagickImagick compareImages128(Imagick $compare, int $metric)arrayImagick complete128(string $result)boolGearmanJob composeLocale128(array $subtags)stringLocale composite128(int $compose, float $x, float $y, float $width, float $height, Imagick $compositeWand)boolImagickDraw compositeImage128(Imagick $composite_object, int $composite, int $x, int $y [, int $channel = Imagick::CHANNEL_ALL])boolImagick compositeimage128(Gmagick $source, int $COMPOSE, int $x, int $y)GmagickGmagick compress128(int $compression)boolPharFileInfo compress128(int $compression [, string $extension = ''])objectPhar compress128(int $compression [, string $extension = ''])objectPharData compressAllFilesBZIP2128()boolPhar compressAllFilesGZ128()boolPhar compressFiles128(int $compression)boolPharData compressFiles128(int $compression)voidPhar concat128(float $a, float $b, float $c, float $d, float $x, float $y)boolHaruPage connect128(string $host [, int $port = TokyoTyrant::RDBDEF_PORT [, array $options = '']])TokyoTyrantTokyoTyrant connect128(string $dsn [, boolean $force = false])ZMQSocketZMQSocket connect128()boolMongoClient connect128()boolVarnishAdmin connect128(mysqlnd_connection $connection, string $host, string $use", string $password, string $database, int $port, string $socket, int $mysql_flags)boolMysqlndUhConnection connect128(string $addr)boolEventBufferEvent connect128(string $host [, int $port = '' [, int $timeout = '']])boolMemcache connect128(string $protocol [, array $properties = ''])boolSAMConnection connect128(string $dsn)booleanGender::Gender connectHost128(EventDnsBase $dns_base, string $hostname, int $port [, int $family = EventUtil::AF_UNSPEC])boolEventBufferEvent connectUri128(string $uri)TokyoTyrantTokyoTyrant connectUtil128()boolMongo connection_aborted16()int connection_status16()int constant16(string $name)mixed consumerHandler128(callable $callback_function)voidOAuthProvider contains128(object $object)objectSplObjectStorage containsIterator128(Iterator $iterator)boolMultipleIterator content128(array $parameter)HW_API_Contenthw_api context128()stringGearmanClient contrastImage128(bool $sharpen)boolImagick contrastStretchImage128(float $black_point, float $white_point [, int $channel = Imagick::CHANNEL_ALL])boolImagick convert128(string $str [, bool $reverse = ''])stringUConverter convertToData128([int $format = '' [, int $compression = '' [, string $extension = '']]])PharDataPharData convertToData128([int $format = 9021976 [, int $compression = 9021976 [, string $extension = '']]])PharDataPhar convertToExecutable128([int $format = '' [, int $compression = '' [, string $extension = '']]])PharPharData convertToExecutable128([int $format = 9021976 [, int $compression = 9021976 [, string $extension = '']]])PharPhar convert_cyr_string16(string $str, string $from, string $to)string convert_uudecode16(string $data)string convert_uuencode16(string $data)string convolveImage128(array $kernel [, int $channel = Imagick::CHANNEL_ALL])boolImagick copy16(string $source, string $dest [, resource $context = ''])bool copy128(string $path)TokyoTyrantTokyoTyrant copy128(string $oldfile, string $newfile)boolPhar copy128(string $oldfile, string $newfile)boolPharData copy128(array $parameter)hw_api_contenthw_api copyPage128(CairoContext $context)voidCairoContext copyPage128(CairoContext $context)voidCairoSurface copyPath128(CairoContext $context)CairoPathCairoContext copyPathFlat128(CairoContext $context)CairoPathCairoContext copyout128(string $data, int $max_bytes)intEventBuffer cos16(float $arg)float cosh16(float $arg)float count16(mixed $array_or_countable [, int $mode = COUNT_NORMAL])int count128()intArrayObject count128()intCachingIterator count128()intCountable count128()intGlobIterator count128()intMongoDB::Driver::BulkWrite count128()intPhar count128()intSimpleXMLElement count128()intSplDoublyLinkedList count128()intSplFixedArray count128()intSplHeap count128()intSplObjectStorage count128()intSplPriorityQueue count128()intTokyoTyrantQuery count128()intWeakMap count128()inthw_api_error count128(ResourceBundle $r)intResourceBundle count128([array $query = array() [, array $options = array()]])intMongoCollection count128([bool $foundOnly = ''])intMongoCursor count128([int $index_start = '' [, int $index_end = -1]])intJudy count128(array $parameter)inthw_api_object count128()integerThreaded count128()integerZMQPoll count128()objectArrayIterator count128()voidYaf_Config_Ini count128()voidYaf_Config_Simple count128()voidYaf_Session count128([string $mode = ''])voidImagick countEquivalentIDs128(string $zoneId)integerIntlTimeZone countIterators128()intMultipleIterator countNameservers128()intEventDnsBase count_chars16(string $string [, int $mode = ''])mixed country128(integer $country)arrayGender::Gender crack_check16(resource $dictionary, string $password, string $username, string $gecos)bool crack_closedict16([resource $dictionary = ''])bool crack_getlastmessage16()string crack_opendict16(string $dictionary)resource crc3216(string $str)int create128(string $locale)CollatorCollator create128()GearmanTaskGearmanTask create128(string $locale, int $datetype, int $timetype [, mixed $timezone = null [, mixed $calendar = null [, string $pattern = ""]]])IntlDateFormatterIntlDateFormatter create128(string $locale, string $pattern)MessageFormatterMessageFormatter create128(string $locale, int $style [, string $pattern = ''])NumberFormatterNumberFormatter create128(string $locale, string $bundlename [, bool $fallback = ''])ResourceBundleResourceBundle create128([mixed $xsd_file = '' [, string $key = '']])SDO_DAS_XMLSDO_DAS_XML create128(string $id [, int $direction = ''])TransliteratorTransliterator create128(string $collection, mixed $id [, string $database = ''])arrayMongoDBRef create128()longCond create128([boolean $lock = ''])longMutex create128(string $type_namespace_uri, string $type_name)voidSDO_DataFactory createAggregate128(string $name, mixed $step_callback, mixed $final_callback [, int $argument_count = -1])boolSQLite3 createAggregate128(resource $dbhandle, string $function_name, callable $step_func, callable $finalize_func [, int $num_args = -1])voidSQLiteDatabase createAttribute128(string $name)DOMAttrDOMDocument createAttributeNS128(string $namespaceURI, string $qualifiedName)DOMAttrDOMDocument createCDATASection128(string $data)DOMCDATASectionDOMDocument createCharacterInstance128([string $"locale" = ''])ReturnTypeIntlBreakIterator createCodePointInstance128()ReturnTypeIntlBreakIterator createCollation128(string $name, callable $callback)boolSQLite3 createCollection128(string $name [, array $options = ''])MongoCollectionMongoDB createComment128(string $data)DOMCommentDOMDocument createDBRef128(mixed $document_or_id)arrayMongoCollection createDBRef128(string $collection, mixed $document_or_id)arrayMongoDB createDataObject128(mixed $identifier)SDO_DataObjectSDO_DataObject createDataObject128(string $namespace_uri, string $type_name)SDO_DataObjectSDO_DAS_XML createDataObject128(string $type_namespace_uri, string $type_name)SDO_DataObjectSCA createDataObject128(string $type_namespace_uri, string $type_name)SDO_DataObjectSCA_LocalProxy createDataObject128(string $type_namespace_uri, string $type_name)SDO_DataObjectSCA_SoapProxy createDefault128()IntlTimeZoneIntlTimeZone createDefaultStub128([string $indexfile = '' [, string $webindexfile = '']])stringPhar createDestination128()objectHaruPage createDocument128([string $namespaceURI = '' [, string $qualifiedName = '' [, DOMDocumentType $doctype = '']]])DOMDocumentDOMImplementation createDocument128(string $document_element_name, string $document_element_namespace_URI [, SDO_DataObject $dataobject = ''])SDO_DAS_XML_DocumentSDO_DAS_XML createDocumentFragment128()DOMDocumentFragmentDOMDocument createDocumentType128([string $qualifiedName = '' [, string $publicId = '' [, string $systemId = '']]])DOMDocumentTypeDOMImplementation createElement128(string $name [, string $value = ''])DOMElementDOMDocument createElementNS128(string $namespaceURI, string $qualifiedName [, string $value = ''])DOMElementDOMDocument createEntityReference128(string $name)DOMEntityReferenceDOMDocument createEnumeration128([mixed $countryOrRawOffset = ''])IntlIteratorIntlTimeZone createForData128(string $data, int $format, int $width, int $height [, int $stride = -1])voidCairoImageSurface createFromDateString128(string $time)DateIntervalDateInterval createFromDocument128(MongoClient $connection, string $hash, array $document)MongoCommandCursorMongoCommandCursor createFromFormat128(string $format, string $time [, DateTimeZone $timezone = date_default_timezone_get()])DateTimeDateTime createFromFormat128(string $format, string $time [, DateTimeZone $timezone = ''])DateTimeImmutableDateTimeImmutable createFromMutable128(DateTime $datetime)DateTimeImmutableDateTimeImmutable createFromPng128(string $file)CairoImageSurfaceCairoImageSurface createFromRules128(string $rules [, int $direction = '', string $id])TransliteratorTransliterator createFunction128(string $name, mixed $callback [, int $argument_count = -1])boolSQLite3 createFunction128(resource $dbhandle, string $function_name, callable $callback [, int $num_args = -1])voidSQLiteDatabase createIndex128(array $keys [, array $options = array()])boolMongoCollection createInstance128([mixed $timeZone = null [, string $locale = ""]])IntlCalendarIntlCalendar createInverse128()TransliteratorTransliterator createLineInstance128([string $"locale" = ''])ReturnTypeIntlBreakIterator createLinkAnnotation128(array $rectangle, object $destination)objectHaruPage createOutline128(string $title [, object $parent_outline = '' [, object $encoder = '']])objectHaruDoc createPair128(EventBase $base [, int $options = ''])arrayEventBufferEvent createProcessingInstruction128(string $target [, string $data = ''])DOMProcessingInstructionDOMDocument createRootDataObject128()SDODataObjectSDO_DAS_Relational createSentenceInstance128([string $"locale" = ''])ReturnTypeIntlBreakIterator createSimilar128(CairoSurface $other, int $content, string $width, string $height)voidCairoSurface createStopped128(mixed $fd, int $events, callable $callback [, mixed $data = '' [, int $priority = '']])EvIoEvIo createStopped128(double $offset, double $interval, callable $reschedule_cb, callable $callback [, mixed $data = '' [, int $priority = '']])EvPeriodicEvPeriodic createStopped128(callable $callback [, mixed $data = '' [, int $priority = '']])EvPrepareEvPrepare createStopped128(int $signum, callable $callback [, mixed $data = '' [, int $priority = '']])EvSignalEvSignal createStopped128(double $after, double $repeat, callable $callback [, mixed $data = '' [, int $priority = '']])EvTimerEvTimer createStopped128(int $pid, bool $trace, callable $callback [, mixed $data = '' [, int $priority = '']])objectEvChild createStopped128(string $callback [, mixed $data = '' [, int $priority = '']])objectEvIdle createStopped128(string $callback [, string $data = '' [, string $priority = '']])objectEvCheck createStopped128(string $callback [, string $data = '' [, string $priority = '']])objectEvFork createStopped128(object $other [, callable $callback = '' [, mixed $data = '' [, int $priority = '']]])voidEvEmbed createStopped128(string $path, double $interval, callable $callback [, mixed $data = '' [, int $priority = '']])voidEvStat createTextAnnotation128(array $rectangle, string $text [, object $encoder = ''])objectHaruPage createTextNode128(string $content)DOMTextDOMDocument createTimeZone128(string $zoneId)IntlTimeZoneIntlTimeZone createTitleInstance128([string $"locale" = ''])ReturnTypeIntlBreakIterator createURLAnnotation128(array $rectangle, string $url)objectHaruPage createWordInstance128([string $"locale" = ''])ReturnTypeIntlBreakIterator create_function16(string $args, string $code)string create_sid128()stringSessionHandler cropImage128(int $width, int $height, int $x, int $y)boolImagick cropThumbnailImage128(int $width, int $height)boolImagick cropimage128(int $width, int $height, int $x, int $y)GmagickGmagick cropthumbnailimage128(int $width, int $height)GmagickGmagick crossvalidate128(array $problem, int $number_of_folds)floatSVM crypt16(string $str [, string $salt = ''])string ctype_alnum16(string $text)string ctype_alpha16(string $text)string ctype_cntrl16(string $text)string ctype_digit16(string $text)string ctype_graph16(string $text)string ctype_lower16(string $text)string ctype_print16(string $text)string ctype_punct16(string $text)string ctype_space16(string $text)string ctype_upper16(string $text)string ctype_xdigit16(string $text)string cubrid_affected_rows16([resource $conn_identifier = '' [, resource $req_identifier = '']])int cubrid_bind16(resource $req_identifier, int $bind_index, mixed $bind_value [, string $bind_value_type = ''])bool cubrid_client_encoding16([resource $conn_identifier = ''])string cubrid_close16([resource $conn_identifier = ''])bool cubrid_close_prepare16(resource $req_identifier)bool cubrid_close_request16(resource $req_identifier)bool cubrid_col_get16(resource $conn_identifier, string $oid, string $attr_name)array cubrid_col_size16(resource $conn_identifier, string $oid, string $attr_name)int cubrid_column_names16(resource $req_identifier)array cubrid_column_types16(resource $req_identifier)array cubrid_commit16(resource $conn_identifier)bool cubrid_connect16(string $host, int $port, string $dbname [, string $userid = '' [, string $passwd = '' [, bool $new_link = false]]])resource cubrid_connect_with_url16(string $conn_url [, string $userid = '' [, string $passwd = '' [, bool $new_link = false]]])resource cubrid_current_oid16(resource $req_identifier)string cubrid_data_seek16(resource $result, int $row_number)bool cubrid_db_name16(array $result, int $index)string cubrid_disconnect16([resource $conn_identifier = ''])bool cubrid_drop16(resource $conn_identifier, string $oid)bool cubrid_errno16([resource $conn_identifier = ''])int cubrid_error16([resource $connection = ''])string cubrid_error_code16()int cubrid_error_code_facility16()int cubrid_error_msg16()string cubrid_execute16(resource $conn_identifier, string $sql [, int $option = '', resource $request_identifier])bool cubrid_fetch16(resource $result [, int $type = CUBRID_BOTH])mixed cubrid_fetch_array16(resource $result [, int $type = CUBRID_BOTH])array cubrid_fetch_assoc16(resource $result [, int $type = ''])array cubrid_fetch_field16(resource $result [, int $field_offset = ''])object cubrid_fetch_lengths16(resource $result)array cubrid_fetch_object16(resource $result [, string $class_name = '' [, array $params = '' [, int $type = '']]])object cubrid_fetch_row16(resource $result [, int $type = ''])array cubrid_field_flags16(resource $result, int $field_offset)string cubrid_field_len16(resource $result, int $field_offset)int cubrid_field_name16(resource $result, int $field_offset)string cubrid_field_seek16(resource $result [, int $field_offset = ''])bool cubrid_field_table16(resource $result, int $field_offset)string cubrid_field_type16(resource $result, int $field_offset)string cubrid_free_result16(resource $req_identifier)bool cubrid_get16(resource $conn_identifier, string $oid [, mixed $attr = ''])mixed cubrid_get_autocommit16(resource $conn_identifier)bool cubrid_get_charset16(resource $conn_identifier)string cubrid_get_class_name16(resource $conn_identifier, string $oid)string cubrid_get_client_info16()string cubrid_get_db_parameter16(resource $conn_identifier)array cubrid_get_query_timeout16(resource $req_identifier)int cubrid_get_server_info16(resource $conn_identifier)string cubrid_insert_id16([resource $conn_identifier = ''])string cubrid_is_instance16(resource $conn_identifier, string $oid)int cubrid_list_dbs16([resource $conn_identifier = ''])array cubrid_load_from_glo16(resource $conn_identifier, string $oid, string $file_name)int cubrid_lob2_bind16(resource $req_identifier, int $bind_index, mixed $bind_value [, string $bind_value_type = ''])bool cubrid_lob2_close16(resource $lob_identifier)bool cubrid_lob2_export16(resource $lob_identifier, string $file_name)bool cubrid_lob2_import16(resource $lob_identifier, string $file_name)bool cubrid_lob2_new16([resource $conn_identifier = '' [, string $type = "BLOB"]])resource cubrid_lob2_read16(resource $lob_identifier, int $len)string cubrid_lob2_seek16(resource $lob_identifier, int $offset [, int $origin = CUBRID_CURSOR_CURRENT])bool cubrid_lob2_seek6416(resource $lob_identifier, string $offset [, int $origin = CUBRID_CURSOR_CURRENT])bool cubrid_lob2_size16(resource $lob_identifier)int cubrid_lob2_size6416(resource $lob_identifier)string cubrid_lob2_tell16(resource $lob_identifier)int cubrid_lob2_tell6416(resource $lob_identifier)string cubrid_lob2_write16(resource $lob_identifier, string $buf)bool cubrid_lob_close16(array $lob_identifier_array)bool cubrid_lob_export16(resource $conn_identifier, resource $lob_identifier, string $path_name)bool cubrid_lob_get16(resource $conn_identifier, string $sql)array cubrid_lob_send16(resource $conn_identifier, resource $lob_identifier)bool cubrid_lob_size16(resource $lob_identifier)string cubrid_lock_read16(resource $conn_identifier, string $oid)bool cubrid_lock_write16(resource $conn_identifier, string $oid)bool cubrid_move_cursor16(resource $req_identifier, int $offset [, int $origin = CUBRID_CURSOR_CURRENT])int cubrid_new_glo16(resource $conn_identifier, string $class_name, string $file_name)string cubrid_next_result16(resource $result)bool cubrid_num_cols16(resource $result)int cubrid_num_fields16(resource $result)int cubrid_num_rows16(resource $result)int cubrid_pconnect16(string $host, int $port, string $dbname [, string $userid = '' [, string $passwd = '']])resource cubrid_pconnect_with_url16(string $conn_url [, string $userid = '' [, string $passwd = '']])resource cubrid_ping16([resource $conn_identifier = ''])bool cubrid_prepare16(resource $conn_identifier, string $prepare_stmt [, int $option = ''])resource cubrid_put16(resource $conn_identifier, string $oid [, string $attr = '', mixed $value])int cubrid_query16(string $query [, resource $conn_identifier = ''])resource cubrid_real_escape_string16(string $unescaped_string [, resource $conn_identifier = ''])string cubrid_result16(resource $result, int $row [, mixed $field = ''])string cubrid_rollback16(resource $conn_identifier)bool cubrid_save_to_glo16(resource $conn_identifier, string $oid, string $file_name)int cubrid_schema16(resource $conn_identifier, int $schema_type [, string $class_name = '' [, string $attr_name = '']])array cubrid_schema128(int $schema_type [, string $table_name = '' [, string $col_name = '']])arrayPDO cubrid_send_glo16(resource $conn_identifier, string $oid)int cubrid_seq_drop16(resource $conn_identifier, string $oid, string $attr_name, int $index)bool cubrid_seq_insert16(resource $conn_identifier, string $oid, string $attr_name, int $index, string $seq_element)bool cubrid_seq_put16(resource $conn_identifier, string $oid, string $attr_name, int $index, string $seq_element)bool cubrid_set_add16(resource $conn_identifier, string $oid, string $attr_name, string $set_element)bool cubrid_set_autocommit16(resource $conn_identifier, bool $mode)bool cubrid_set_db_parameter16(resource $conn_identifier, int $param_type, int $param_value)bool cubrid_set_drop16(resource $conn_identifier, string $oid, string $attr_name, string $set_element)bool cubrid_set_query_timeout16(resource $req_identifier, int $timeout)bool cubrid_unbuffered_query16(string $query [, resource $conn_identifier = ''])resource cubrid_version16()string curl_close16(resource $ch)void curl_copy_handle16(resource $ch)resource curl_errno16(resource $ch)int curl_error16(resource $ch)string curl_escape16(resource $ch, string $str)string curl_exec16(resource $ch)mixed curl_file_create16(string $filename [, string $mimetype = '' [, string $postname = '']])CURLFile curl_getinfo16(resource $ch [, int $opt = ''])mixed curl_init16([string $url = ''])resource curl_multi_add_handle16(resource $mh, resource $ch)int curl_multi_close16(resource $mh)void curl_multi_exec16(resource $mh, int $still_running)int curl_multi_getcontent16(resource $ch)string curl_multi_info_read16(resource $mh [, int $msgs_in_queue = ''])array curl_multi_init16()resource curl_multi_remove_handle16(resource $mh, resource $ch)int curl_multi_select16(resource $mh [, float $timeout = 1.0])int curl_multi_setopt16(resource $mh, int $option, mixed $value)bool curl_multi_strerror16(int $errornum)string curl_pause16(resource $ch, int $bitmask)int curl_reset16(resource $ch)void curl_setopt16(resource $ch, int $option, mixed $value)bool curl_setopt_array16(resource $ch, array $options)bool curl_share_close16(resource $sh)void curl_share_init16()resource curl_share_setopt16(resource $sh, int $option, string $value)bool curl_strerror16(int $errornum)string curl_unescape16(resource $ch, string $str)string curl_version16([int $age = CURLVERSION_NOW])array current16(array $array)mixed current128()DirectoryIteratorDirectoryIterator current128()GmagickGmagick current128()ImagickImagick current128()MongoGridFSFileMongoGridFSCursor current128()ReturnTypeIntlBreakIterator current128()ReturnTypeIntlIterator current128()SolrDocumentFieldSolrDocument current128()arrayArrayIterator current128()arrayMongoCommandCursor current128()arrayMongoCursor current128()arrayMultipleIterator current128()arrayTokyoTyrantQuery current128(resource $result [, int $result_type = SQLITE_BOTH [, bool $decode_binary = true]])arraySQLiteResult current128(resource $result [, int $result_type = SQLITE_BOTH [, bool $decode_binary = true]])arraySQLiteUnbuffered current128()mixedAPCIterator current128()mixedAPCUIterator current128()mixedAppendIterator current128()mixedEmptyIterator current128()mixedFilesystemIterator current128()mixedFilterIterator current128()mixedIteratorIterator current128()mixedLimitIterator current128()mixedNoRewindIterator current128()mixedRecursiveIteratorIterator current128()mixedSimpleXMLIterator current128()mixedSplDoublyLinkedList current128()mixedSplFixedArray current128()mixedSplHeap current128()mixedSplPriorityQueue current128()mixedTokyoTyrantIterator current128()mixedWeakMap current128()objectSplObjectStorage current128()stringRecursiveTreeIterator current128()string|arraySplFileObject current128()voidCachingIterator current128()voidYaf_Config_Ini current128()voidYaf_Config_Simple current128()voidYaf_Session current_field128(resource $result)intmaxdb_result curveTo128(float $x1, float $y1, float $x2, float $y2, float $x3, float $y3)boolHaruPage curveTo128(float $x1, float $y1, float $x2, float $y2, float $x3, float $y3, CairoContext $context)voidCairoContext curveTo2128(float $x2, float $y2, float $x3, float $y3)boolHaruPage curveTo3128(float $x1, float $y1, float $x3, float $y3)boolHaruPage cycleColormapImage128(int $displace)boolImagick cyclecolormapimage128(int $displace)GmagickGmagick cyrus_authenticate16(resource $connection [, string $mechlist = '' [, string $service = '' [, string $user = '' [, int $minssf = '' [, int $maxssf = '' [, string $authname = '' [, string $password = '']]]]]]])void cyrus_bind16(resource $connection, array $callbacks)bool cyrus_close16(resource $connection)bool cyrus_connect16([string $host = '' [, string $port = '' [, int $flags = '']]])resource cyrus_query16(resource $connection, string $query)array cyrus_unbind16(resource $connection, string $trigger_name)bool data128(string $data)boolGearmanJob data128()stringGearmanClient data128()stringGearmanTask dataSize128()intGearmanTask data_seek128(int $offset, mysqli_result $result)boolmysqli_result data_seek128(resource $result, int $offset)boolmaxdb_result data_seek128(resource $statement, int $offset)boolmaxdb_stmt data_seek128(int $offset, mysqli_stmt $stmt)voidmysqli_stmt date16(string $format [, int $timestamp = time()])string date_add16() date_create16() date_create_from_format16() date_create_immutable16() date_create_immutable_from_format16() date_date_set16() date_default_timezone_get16()string date_default_timezone_set16(string $timezone_identifier)bool date_diff16() date_format16() date_get_last_errors16() date_interval_create_from_date_string16() date_interval_format16() date_isodate_set16() date_modify16() date_offset_get16() date_parse16(string $date)array date_parse_from_format16(string $format, string $date)array date_sub16() date_sun_info16(int $time, float $latitude, float $longitude)array date_sunrise16(int $timestamp [, int $format = SUNFUNCS_RET_STRING [, float $latitude = ini_get("date.default_latitude") [, float $longitude = ini_get("date.default_longitude") [, float $zenith = ini_get("date.sunrise_zenith") [, float $gmt_offset = '']]]]])mixed date_sunset16(int $timestamp [, int $format = SUNFUNCS_RET_STRING [, float $latitude = ini_get("date.default_latitude") [, float $longitude = ini_get("date.default_longitude") [, float $zenith = ini_get("date.sunset_zenith") [, float $gmt_offset = '']]]]])mixed date_time_set16() date_timestamp_get16() date_timestamp_set16() date_timezone_get16() date_timezone_set16() datefmt_create16(string $locale, int $datetype, int $timetype [, mixed $timezone = null [, mixed $calendar = null [, string $pattern = ""]]])IntlDateFormatter datefmt_format16(mixed $value, IntlDateFormatter $fmt)string datefmt_format_object16(object $object [, mixed $format = null [, string $locale = null]])string datefmt_get_calendar16(IntlDateFormatter $fmt)int datefmt_get_calendar_object16()IntlCalendar datefmt_get_datetype16(IntlDateFormatter $fmt)int datefmt_get_error_code16(IntlDateFormatter $fmt)int datefmt_get_error_message16(IntlDateFormatter $fmt)string datefmt_get_locale16([int $which = '', IntlDateFormatter $fmt])string datefmt_get_pattern16(IntlDateFormatter $fmt)string datefmt_get_timetype16(IntlDateFormatter $fmt)int datefmt_get_timezone16()IntlTimeZone datefmt_get_timezone_id16(IntlDateFormatter $fmt)string datefmt_is_lenient16(IntlDateFormatter $fmt)bool datefmt_localtime16(string $value [, int $position = '', IntlDateFormatter $fmt])array datefmt_parse16(string $value [, int $position = '', IntlDateFormatter $fmt])int datefmt_set_calendar16(mixed $which, IntlDateFormatter $fmt)bool datefmt_set_lenient16(bool $lenient, IntlDateFormatter $fmt)bool datefmt_set_pattern16(string $pattern, IntlDateFormatter $fmt)bool datefmt_set_timezone16(mixed $zone)boolean datefmt_set_timezone_id16(string $zone, IntlDateFormatter $fmt)bool db2_autocommit16(resource $connection [, bool $value = ''])mixed db2_bind_param16(resource $stmt, int $parameter-number, string $variable-name [, int $parameter-type = '' [, int $data-type = '' [, int $precision = -1 [, int $scale = '']]]])bool db2_client_info16(resource $connection)object db2_close16(resource $connection)bool db2_column_privileges16(resource $connection [, string $qualifier = '' [, string $schema = '' [, string $table-name = '' [, string $column-name = '']]]])resource db2_columns16(resource $connection [, string $qualifier = '' [, string $schema = '' [, string $table-name = '' [, string $column-name = '']]]])resource db2_commit16(resource $connection)bool db2_conn_error16([resource $connection = ''])string db2_conn_errormsg16([resource $connection = ''])string db2_connect16(string $database, string $username, string $password [, array $options = ''])resource db2_cursor_type16(resource $stmt)int db2_escape_string16(string $string_literal)string db2_exec16(resource $connection, string $statement [, array $options = ''])resource db2_execute16(resource $stmt [, array $parameters = ''])bool db2_fetch_array16(resource $stmt [, int $row_number = -1])array db2_fetch_assoc16(resource $stmt [, int $row_number = -1])array db2_fetch_both16(resource $stmt [, int $row_number = -1])array db2_fetch_object16(resource $stmt [, int $row_number = -1])object db2_fetch_row16(resource $stmt [, int $row_number = ''])bool db2_field_display_size16(resource $stmt, mixed $column)int db2_field_name16(resource $stmt, mixed $column)string db2_field_num16(resource $stmt, mixed $column)int db2_field_precision16(resource $stmt, mixed $column)int db2_field_scale16(resource $stmt, mixed $column)int db2_field_type16(resource $stmt, mixed $column)string db2_field_width16(resource $stmt, mixed $column)int db2_foreign_keys16(resource $connection, string $qualifier, string $schema, string $table-name)resource db2_free_result16(resource $stmt)bool db2_free_stmt16(resource $stmt)bool db2_get_option16(resource $resource, string $option)string db2_last_insert_id16(resource $resource)string db2_lob_read16(resource $stmt, int $colnum, int $length)string db2_next_result16(resource $stmt)resource db2_num_fields16(resource $stmt)int db2_num_rows16(resource $stmt)boolean db2_pclose16(resource $resource)bool db2_pconnect16(string $database, string $username, string $password [, array $options = ''])resource db2_prepare16(resource $connection, string $statement [, array $options = ''])resource db2_primary_keys16(resource $connection, string $qualifier, string $schema, string $table-name)resource db2_procedure_columns16(resource $connection, string $qualifier, string $schema, string $procedure, string $parameter)resource db2_procedures16(resource $connection, string $qualifier, string $schema, string $procedure)resource db2_result16(resource $stmt, mixed $column)mixed db2_rollback16(resource $connection)bool db2_server_info16(resource $connection)object db2_set_option16(resource $resource, array $options, int $type)bool db2_special_columns16(resource $connection, string $qualifier, string $schema, string $table_name, int $scope)resource db2_statistics16(resource $connection, string $qualifier, string $schema, string $table-name, bool $unique)resource db2_stmt_error16([resource $stmt = ''])string db2_stmt_errormsg16([resource $stmt = ''])string db2_table_privileges16(resource $connection [, string $qualifier = '' [, string $schema = '' [, string $table_name = '']]])resource db2_tables16(resource $connection [, string $qualifier = '' [, string $schema = '' [, string $table-name = '' [, string $table-type = '']]]])resource dba_close16(resource $handle)void dba_delete16(string $key, resource $handle)bool dba_exists16(string $key, resource $handle)bool dba_fetch16(string $key, resource $handle, int $skip)string dba_firstkey16(resource $handle)string dba_handlers16([bool $full_info = false])array dba_insert16(string $key, string $value, resource $handle)bool dba_key_split16(mixed $key)mixed dba_list16()array dba_nextkey16(resource $handle)string dba_open16(string $path, string $mode [, string $handler = '' [, mixed $... = '']])resource dba_optimize16(resource $handle)bool dba_popen16(string $path, string $mode [, string $handler = '' [, mixed $... = '']])resource dba_replace16(string $key, string $value, resource $handle)bool dba_sync16(resource $handle)bool dbase_add_record16(int $dbase_identifier, array $record)bool dbase_close16(int $dbase_identifier)bool dbase_create16(string $filename, array $fields)int dbase_delete_record16(int $dbase_identifier, int $record_number)bool dbase_get_header_info16(int $dbase_identifier)array dbase_get_record16(int $dbase_identifier, int $record_number)array dbase_get_record_with_names16(int $dbase_identifier, int $record_number)array dbase_numfields16(int $dbase_identifier)int dbase_numrecords16(int $dbase_identifier)int dbase_open16(string $filename, int $mode)int dbase_pack16(int $dbase_identifier)bool dbase_replace_record16(int $dbase_identifier, array $record, int $record_number)bool dbplus_add16(resource $relation, array $tuple)int dbplus_aql16(string $query [, string $server = '' [, string $dbpath = '']])resource dbplus_chdir16([string $newdir = ''])string dbplus_close16(resource $relation)mixed dbplus_curr16(resource $relation, array $tuple)int dbplus_errcode16([int $errno = ''])string dbplus_errno16()int dbplus_find16(resource $relation, array $constraints, mixed $tuple)int dbplus_first16(resource $relation, array $tuple)int dbplus_flush16(resource $relation)int dbplus_freealllocks16()int dbplus_freelock16(resource $relation, string $tuple)int dbplus_freerlocks16(resource $relation)int dbplus_getlock16(resource $relation, string $tuple)int dbplus_getunique16(resource $relation, int $uniqueid)int dbplus_info16(resource $relation, string $key, array $result)int dbplus_last16(resource $relation, array $tuple)int dbplus_lockrel16(resource $relation)int dbplus_next16(resource $relation, array $tuple)int dbplus_open16(string $name)resource dbplus_prev16(resource $relation, array $tuple)int dbplus_rchperm16(resource $relation, int $mask, string $user, string $group)int dbplus_rcreate16(string $name, mixed $domlist [, bool $overwrite = ''])resource dbplus_rcrtexact16(string $name, resource $relation [, bool $overwrite = ''])mixed dbplus_rcrtlike16(string $name, resource $relation [, int $overwrite = ''])mixed dbplus_resolve16(string $relation_name)array dbplus_restorepos16(resource $relation, array $tuple)int dbplus_rkeys16(resource $relation, mixed $domlist)mixed dbplus_ropen16(string $name)resource dbplus_rquery16(string $query [, string $dbpath = ''])resource dbplus_rrename16(resource $relation, string $name)int dbplus_rsecindex16(resource $relation, mixed $domlist, int $type)mixed dbplus_runlink16(resource $relation)int dbplus_rzap16(resource $relation)int dbplus_savepos16(resource $relation)int dbplus_setindex16(resource $relation, string $idx_name)int dbplus_setindexbynumber16(resource $relation, int $idx_number)int dbplus_sql16(string $query [, string $server = '' [, string $dbpath = '']])resource dbplus_tcl16(int $sid, string $script)string dbplus_tremove16(resource $relation, array $tuple [, array $current = ''])int dbplus_undo16(resource $relation)int dbplus_undoprepare16(resource $relation)int dbplus_unlockrel16(resource $relation)int dbplus_unselect16(resource $relation)int dbplus_update16(resource $relation, array $old, array $new)int dbplus_xlockrel16(resource $relation)int dbplus_xunlockrel16(resource $relation)int dbstat128(array $parameter)hw_api_objecthw_api dbx_close16(object $link_identifier)int dbx_compare16(array $row_a, array $row_b, string $column_key [, int $flags = DBX_CMP_ASC | DBX_CMP_NATIVE])int dbx_connect16(mixed $module, string $host, string $database, string $username, string $password [, int $persistent = ''])object dbx_error16(object $link_identifier)string dbx_escape_string16(object $link_identifier, string $text)string dbx_fetch_row16(object $result_identifier)mixed dbx_query16(object $link_identifier, string $sql_statement [, int $flags = ''])mixed dbx_sort16(object $result, string $user_compare_function)bool dcgettext16(string $domain, string $message, int $category)string dcngettext16(string $domain, string $msgid1, string $msgid2, int $n, int $category)string dcstat128(array $parameter)hw_api_objecthw_api dead128()boolMongoCommandCursor dead128()boolMongoCursor dead128()boolMongoCursorInterface debug128(string $message)boolmysqli debugDumpParams128()stringPDOStatement debug_backtrace16([int $options = DEBUG_BACKTRACE_PROVIDE_OBJECT [, int $limit = '']])array debug_print_backtrace16([int $options = '' [, int $limit = '']])void debug_zval_dump16(mixed $variable [, mixed $... = ''])void decbin16(int $number)string dechex16(int $number)string decipherImage128(string $passphrase)boolImagick decoct16(int $number)string decompress128()boolPharFileInfo decompress128([string $extension = ''])objectPhar decompress128([string $extension = ''])objectPharData decompressFiles128()boolPhar decompressFiles128()boolPharData deconstructImages128()ImagickImagick deconstructimages128()voidGmagick decrement128(string $key [, int $offset = 1 [, int $initial_value = '' [, int $expiry = '']]])intMemcached decrement128(string $key [, int $value = 1])intMemcache decrementByKey128(string $server_key, string $key [, int $offset = 1 [, int $initial_value = '' [, int $expiry = '']]])intMemcached defaultLoop128([int $flags = Ev::FLAG_AUTO [, mixed $data = null [, double $io_interval = 0. [, double $timeout_interval = 0.]]]])EvLoopEvLoop define16(string $name, mixed $value [, bool $case_insensitive = false])bool define_syslog_variables16()void defined16(string $name)bool deg2rad16(float $number)float del128()boolEvent del128(string $name)voidYaf_Registry del128(string $name)voidYaf_Session delMetadata128()boolPhar delMetadata128()boolPharData delMetadata128()boolPharFileInfo delSignal128()boolEvent delTimer128()boolEvent delete16() delete128(int $key)boolQuickHashIntHash delete128(int $key)boolQuickHashIntSet delete128(int $key)boolQuickHashIntStringHash delete128(string $entry)boolPhar delete128(string $entry)boolPharData delete128(string $key [, int $time = ''])boolMemcached delete128(string $key [, int $timeout = ''])boolMemcache delete128(string $key)boolQuickHashStringIntHash delete128(mixed $id)bool|arrayMongoGridFS delete128(array|object $filter [, array $deleteOptions = ''])voidMongoDB::Driver::BulkWrite deleteById128(string $id)SolrUpdateResponseSolrClient deleteByIds128(array $ids)SolrUpdateResponseSolrClient deleteByKey128(string $server_key, string $key [, int $time = ''])boolMemcached deleteByQueries128(array $queries)SolrUpdateResponseSolrClient deleteByQuery128(string $query)SolrUpdateResponseSolrClient deleteData128(int $offset, int $count)voidDOMCharacterData deleteField128(string $fieldName)boolSolrDocument deleteField128(string $fieldName)boolSolrInputDocument deleteImageArtifact128(string $artifact)boolImagick deleteImageProperty128(string $name)voidImagick deleteIndex128(string|array $keys)arrayMongoCollection deleteIndex128(int $index)boolZipArchive deleteIndexes128()arrayMongoCollection deleteMulti128(array $keys [, int $time = ''])boolMemcached deleteMultiByKey128(string $server_key, array $keys [, int $time = ''])boolMemcached deleteName128(string $name)boolZipArchive depth128()intEv dequeue128()mixedSplQueue description128()stringhw_api_reason deskewImage128(float $threshold)boolImagick despeckleImage128()boolImagick despeckleimage128()GmagickGmagick destroy128()GmagickGmagick destroy128()boolImagick destroy128()boolImagickDraw destroy128()boolImagickPixel destroy128()boolImagickPixelIterator destroy128(string $session_id)boolSessionHandler destroy128(string $session_id)boolSessionHandlerInterface destroy128(long $condition)booleanCond destroy128(long $mutex)booleanMutex detach128(object $object)objectSplObjectStorage detach128()voidThread detach128(SplObserver $observer)voidSplSubject detachIterator128(Iterator $iterator)voidMultipleIterator deviceToUser128(float $x, float $y, CairoContext $context)arrayCairoContext deviceToUserDistance128(float $x, float $y, CairoContext $context)arrayCairoContext dgettext16(string $domain, string $message)string diagnose128(tidy $object)booltidy die16() diff128(DOMDocument $from, DOMDocument $to)DOMDocumentXMLDiff::DOM diff128(DateTimeInterface $datetime2 [, bool $absolute = false, DateTimeInterface $datetime1])DateIntervalDateTime diff128(DateTimeInterface $datetime2 [, bool $absolute = false, DateTimeInterface $datetime1])DateIntervalDateTimeImmutable diff128(DateTimeInterface $datetime2 [, bool $absolute = false, DateTimeInterface $datetime1])DateIntervalDateTimeInterface diff128(mixed $from, mixed $to)mixedXMLDiff::Base diff128(string $from, string $to)stringXMLDiff::File diff128(string $from, string $to)stringXMLDiff::Memory digestXmlResponse128(string $xmlresponse [, int $parse_mode = ''])SolrObjectSolrUtils digit128(string $codepoint [, int $radix = 10])intIntlChar dio_close16(resource $fd)void dio_fcntl16(resource $fd, int $cmd [, mixed $args = ''])mixed dio_open16(string $filename, int $flags [, int $mode = ''])resource dio_read16(resource $fd [, int $len = 1024])string dio_seek16(resource $fd, int $pos [, int $whence = SEEK_SET])int dio_stat16(resource $fd)array dio_tcsetattr16(resource $fd, array $options)bool dio_truncate16(resource $fd, int $offset)bool dio_write16(resource $fd, string $data [, int $len = ''])int dir16(string $directory [, resource $context = ''])Directory dir_closedir128()boolstreamWrapper dir_opendir128(string $path, int $options)boolstreamWrapper dir_readdir128()stringstreamWrapper dir_rewinddir128()boolstreamWrapper dirname16(string $path [, int $levels = 1])string disable128()boolEventListener disable128(int $events)boolEventBufferEvent disableDebug128()boolOAuth disableRedirects128()boolOAuth disableSSLChecks128()boolOAuth disableView128()boolYaf_Dispatcher disable_reads_from_master128(mysqli $link)boolmysqli disable_reads_from_master128(resource $link)voidmaxdb disconnect128(string $dsn)ZMQSocketZMQSocket disconnect128()boolSAMConnection disconnect128()boolVarnishAdmin disk_free_space16(string $directory)float disk_total_space16(string $directory)float diskfreespace16() dispatch128(Yaf_Request_Abstract $request)Yaf_Response_AbstractYaf_Dispatcher dispatch128()voidEventBase dispatchLoopShutdown128(Yaf_Request_Abstract $request, Yaf_Response_Abstract $response)voidYaf_Plugin_Abstract dispatchLoopStartup128(Yaf_Request_Abstract $request, Yaf_Response_Abstract $response)voidYaf_Plugin_Abstract display128(string $tpl [, array $parameters = ''])boolYaf_Controller_Abstract display128(string $tpl [, array $tpl_vars = ''])boolYaf_View_Interface display128(string $tpl [, array $tpl_vars = ''])boolYaf_View_Simple displayImage128(string $servername)boolImagick displayImages128(string $servername)boolImagick distinct128(string $key [, array $query = ''])arrayMongoCollection distortImage128(int $method, array $arguments, bool $bestfit)boolImagick dl16(string $library)bool dngettext16(string $domain, string $msgid1, string $msgid2, int $n)string dns_check_record16() dns_get_mx16() dns_get_record16(string $hostname [, int $type = DNS_ANY [, array $authns = '' [, array $addtl = '' [, bool $raw = false]]]])array do128(string $function_name, string $workload [, string $unique = ''])stringGearmanClient doBackground128(string $function_name, string $workload [, string $unique = ''])stringGearmanClient doHigh128(string $function_name, string $workload [, string $unique = ''])stringGearmanClient doHighBackground128(string $function_name, string $workload [, string $unique = ''])stringGearmanClient doJobHandle128()stringGearmanClient doLow128(string $function_name, string $workload [, string $unique = ''])stringGearmanClient doLowBackground128(string $function_name, string $workload [, string $unique = ''])stringGearmanClient doNormal128(string $function_name, string $workload [, string $unique = ''])stringGearmanClient doQuery128()voidMongoCursor doStatus128()arrayGearmanClient dom_import_simplexml16(SimpleXMLElement $node)DOMElement doubleval16() drain128(int $len)boolEventBuffer drawArc128(float $r, float $startAngle, float $endAngle)voidSWFShape drawCircle128(float $r)voidSWFShape drawCubic128(float $bx, float $by, float $cx, float $cy, float $dx, float $dy)intSWFShape drawCubicTo128(float $bx, float $by, float $cx, float $cy, float $dx, float $dy)intSWFShape drawCurve128(float $controldx, float $controldy, float $anchordx, float $anchordy [, float $targetdx = '', float $targetdy])intSWFShape drawCurveTo128(float $controlx, float $controly, float $anchorx, float $anchory [, float $targetx = '', float $targety])intSWFShape drawGlyph128(SWFFont $font, string $character [, int $size = ''])voidSWFShape drawImage128(ImagickDraw $draw)boolImagick drawImage128(object $image, float $x, float $y, float $width, float $height)boolHaruPage drawLine128(float $dx, float $dy)voidSWFShape drawLineTo128(float $x, float $y)voidSWFShape drawimage128(GmagickDraw $GmagickDraw)GmagickGmagick drop128()arrayMongoCollection drop128()arrayMongoDB drop128()arrayMongoGridFS dropCollection128(mixed $coll)arrayMongoDB dropDB128(mixed $db)arrayMongoClient dscBeginPageSetup128()voidCairoPsSurface dscBeginSetup128()voidCairoPsSurface dscComment128(string $comment)voidCairoPsSurface dstanchors128(array $parameter)arrayhw_api dstofsrcanchor128(array $parameter)hw_api_objecthw_api dump_debug_info128(mysqli $link)boolmysqli each16(array $array)array easter_date16([int $year = date("Y")])int easter_days16([int $year = date("Y") [, int $method = CAL_EASTER_DEFAULT]])int echo16(string $arg1 [, string $... = ''])void echo128(string $workload)boolGearmanClient echo128(string $workload)boolGearmanWorker edgeImage128(float $radius)boolImagick edgeimage128(float $radius)GmagickGmagick eigenValues128(array $a [, array $left = '' [, array $right = '']])arrayLapack eio_busy16(int $delay [, int $pri = EIO_PRI_DEFAULT [, callable $callback = null [, mixed $data = null]]])resource eio_cancel16(resource $req)void eio_chmod16(string $path, int $mode [, int $pri = EIO_PRI_DEFAULT [, callable $callback = null [, mixed $data = null]]])resource eio_chown16(string $path, int $uid [, int $gid = -1 [, int $pri = EIO_PRI_DEFAULT [, callable $callback = null [, mixed $data = null]]]])resource eio_close16(mixed $fd [, int $pri = EIO_PRI_DEFAULT [, callable $callback = null [, mixed $data = null]]])resource eio_custom16(callable $execute, int $pri, callable $callback [, mixed $data = null])resource eio_dup216(mixed $fd, mixed $fd2 [, int $pri = EIO_PRI_DEFAULT [, callable $callback = null [, mixed $data = null]]])resource eio_event_loop16()bool eio_fallocate16(mixed $fd, int $mode, int $offset, int $length [, int $pri = EIO_PRI_DEFAULT [, callable $callback = null [, mixed $data = null]]])resource eio_fchmod16(mixed $fd, int $mode [, int $pri = EIO_PRI_DEFAULT [, callable $callback = null [, mixed $data = null]]])resource eio_fchown16(mixed $fd, int $uid [, int $gid = -1 [, int $pri = EIO_PRI_DEFAULT [, callable $callback = null [, mixed $data = null]]]])resource eio_fdatasync16(mixed $fd [, int $pri = EIO_PRI_DEFAULT [, callable $callback = null [, mixed $data = null]]])resource eio_fstat16(mixed $fd, int $pri, callable $callback [, mixed $data = ''])resource eio_fstatvfs16(mixed $fd, int $pri, callable $callback [, mixed $data = ''])resource eio_fsync16(mixed $fd [, int $pri = EIO_PRI_DEFAULT [, callable $callback = null [, mixed $data = null]]])resource eio_ftruncate16(mixed $fd [, int $offset = '' [, int $pri = EIO_PRI_DEFAULT [, callable $callback = null [, mixed $data = null]]]])resource eio_futime16(mixed $fd, float $atime, float $mtime [, int $pri = EIO_PRI_DEFAULT [, callable $callback = null [, mixed $data = null]]])resource eio_get_event_stream16()mixed eio_get_last_error16(resource $req)string eio_grp16(callable $callback [, string $data = null])resource eio_grp_add16(resource $grp, resource $req)void eio_grp_cancel16(resource $grp)void eio_grp_limit16(resource $grp, int $limit)void eio_init16()void eio_link16(string $path, string $new_path [, int $pri = EIO_PRI_DEFAULT [, callable $callback = null [, mixed $data = null]]])resource eio_lstat16(string $path, int $pri, callable $callback [, mixed $data = null])resource eio_mkdir16(string $path, int $mode [, int $pri = EIO_PRI_DEFAULT [, callable $callback = null [, mixed $data = null]]])resource eio_mknod16(string $path, int $mode, int $dev [, int $pri = EIO_PRI_DEFAULT [, callable $callback = null [, mixed $data = null]]])resource eio_nop16([int $pri = EIO_PRI_DEFAULT [, callable $callback = null [, mixed $data = null]]])resource eio_npending16()int eio_nready16()int eio_nreqs16()int eio_nthreads16()int eio_open16(string $path, int $flags, int $mode, int $pri, callable $callback [, mixed $data = null])resource eio_poll16()int eio_read16(mixed $fd, int $length, int $offset, int $pri, callable $callback [, mixed $data = null])resource eio_readahead16(mixed $fd, int $offset, int $length [, int $pri = EIO_PRI_DEFAULT [, callable $callback = null [, mixed $data = null]]])resource eio_readdir16(string $path, int $flags, int $pri, callable $callback [, string $data = null])resource eio_readlink16(string $path, int $pri, callable $callback [, string $data = null])resource eio_realpath16(string $path, int $pri, callable $callback [, string $data = null])resource eio_rename16(string $path, string $new_path [, int $pri = EIO_PRI_DEFAULT [, callable $callback = null [, mixed $data = null]]])resource eio_rmdir16(string $path [, int $pri = EIO_PRI_DEFAULT [, callable $callback = null [, mixed $data = null]]])resource eio_seek16(mixed $fd, int $offset, int $whence [, int $pri = EIO_PRI_DEFAULT [, callable $callback = null [, mixed $data = null]]])resource eio_sendfile16(mixed $out_fd, mixed $in_fd, int $offset, int $length [, int $pri = '' [, callable $callback = '' [, string $data = '']]])resource eio_set_max_idle16(int $nthreads)void eio_set_max_parallel16(int $nthreads)void eio_set_max_poll_reqs16(int $nreqs)void eio_set_max_poll_time16(float $nseconds)void eio_set_min_parallel16(string $nthreads)void eio_stat16(string $path, int $pri, callable $callback [, mixed $data = null])resource eio_statvfs16(string $path, int $pri, callable $callback [, mixed $data = ''])resource eio_symlink16(string $path, string $new_path [, int $pri = EIO_PRI_DEFAULT [, callable $callback = null [, mixed $data = null]]])resource eio_sync16([int $pri = EIO_PRI_DEFAULT [, callable $callback = null [, mixed $data = null]]])resource eio_sync_file_range16(mixed $fd, int $offset, int $nbytes, int $flags [, int $pri = EIO_PRI_DEFAULT [, callable $callback = null [, mixed $data = null]]])resource eio_syncfs16(mixed $fd [, int $pri = EIO_PRI_DEFAULT [, callable $callback = null [, mixed $data = null]]])resource eio_truncate16(string $path [, int $offset = '' [, int $pri = EIO_PRI_DEFAULT [, callable $callback = null [, mixed $data = null]]]])resource eio_unlink16(string $path [, int $pri = EIO_PRI_DEFAULT [, callable $callback = null [, mixed $data = null]]])resource eio_utime16(string $path, float $atime, float $mtime [, int $pri = EIO_PRI_DEFAULT [, callable $callback = null [, mixed $data = null]]])resource eio_write16(mixed $fd, string $str [, int $length = '' [, int $offset = '' [, int $pri = EIO_PRI_DEFAULT [, callable $callback = null [, mixed $data = null]]]]])resource ellipse128(float $ox, float $oy, float $rx, float $ry, float $start, float $end)GmagickDrawGmagickDraw ellipse128(float $ox, float $oy, float $rx, float $ry, float $start, float $end)boolImagickDraw ellipse128(float $x, float $y, float $xray, float $yray)boolHaruPage embed128(string $other [, string $callback = '' [, string $data = '' [, string $priority = '']]])EvEmbedEvLoop embeddableBackends128()voidEv embedded_server_end128()voidmysqli_driver embedded_server_start128(bool $start, array $arguments, array $groups)boolmysqli_driver embossImage128(float $radius, float $sigma)boolImagick embossimage128(float $radius, float $sigma)GmagickGmagick empty16(mixed $var)bool enable128()boolEventListener enable128(int $events)boolEventBufferEvent enableDebug128()boolOAuth enableLocking128()voidEventBuffer enableRedirects128()boolOAuth enableSSLChecks128()boolOAuth enableView128()Yaf_DispatcherYaf_Dispatcher enchant_broker_describe16(resource $broker)array enchant_broker_dict_exists16(resource $broker, string $tag)bool enchant_broker_free16(resource $broker)bool enchant_broker_free_dict16(resource $dict)bool enchant_broker_get_dict_path16(resource $broker, int $dict_type)bool enchant_broker_get_error16(resource $broker)string enchant_broker_init16()resource enchant_broker_list_dicts16(resource $broker)mixed enchant_broker_request_dict16(resource $broker, string $tag)resource enchant_broker_request_pwl_dict16(resource $broker, string $filename)resource enchant_broker_set_dict_path16(resource $broker, int $dict_type, string $value)bool enchant_broker_set_ordering16(resource $broker, string $tag, string $ordering)bool enchant_dict_add_to_personal16(resource $dict, string $word)void enchant_dict_add_to_session16(resource $dict, string $word)void enchant_dict_check16(resource $dict, string $word)bool enchant_dict_describe16(resource $dict)mixed enchant_dict_get_error16(resource $dict)string enchant_dict_is_in_session16(resource $dict, string $word)bool enchant_dict_quick_check16(resource $dict, string $word [, array $suggestions = ''])bool enchant_dict_store_replacement16(resource $dict, string $mis, string $cor)void enchant_dict_suggest16(resource $dict, string $word)array encipherImage128(string $passphrase)boolImagick end16(array $array)mixed endAttribute128(resource $xmlwriter)boolXMLWriter endCData128(resource $xmlwriter)boolXMLWriter endChildren128()voidRecursiveIteratorIterator endChildren128()voidRecursiveTreeIterator endComment128(resource $xmlwriter)boolXMLWriter endDTD128(resource $xmlwriter)boolXMLWriter endDTDAttlist128(resource $xmlwriter)boolXMLWriter endDTDElement128(resource $xmlwriter)boolXMLWriter endDTDEntity128(resource $xmlwriter)boolXMLWriter endDocument128(resource $xmlwriter)boolXMLWriter endElement128(resource $xmlwriter)boolXMLWriter endIteration128()voidRecursiveIteratorIterator endIteration128()voidRecursiveTreeIterator endLogging128()voidSDO_DAS_ChangeSummary endMask128()voidSWFDisplayItem endPI128(resource $xmlwriter)boolXMLWriter endPSession128(mysqlnd_connection $connection)boolMysqlndUhConnection endPath128()boolHaruPage endText128()boolHaruPage enhanceImage128()boolImagick enhanceimage128()GmagickGmagick enqueue128(mixed $value)voidSplQueue ensureIndex128(string|array $key|keys [, array $options = array()])boolMongoCollection enumCharNames128(mixed $start, mixed $limit, callable $callback [, int $nameChoice = ''])voidIntlChar enumCharTypes128(callable $callback)voidIntlChar environ128()voidYaf_Application eoFillStroke128([bool $close_path = false])boolHaruPage eof128()boolOCI-Lob eof128()boolSplFileObject eofill128()boolHaruPage equal128(string $other)boolCairoFontOptions equalizeImage128()boolImagick equalizeimage128()GmagickGmagick equals128(IntlCalendar $other, IntlCalendar $cal)boolIntlCalendar erase128([int $offset = '' [, int $length = '']])intOCI-Lob ereg16(string $pattern, string $string [, array $regs = ''])int ereg_replace16(string $pattern, string $replacement, string $string)string eregi16(string $pattern, string $string [, array $regs = ''])int eregi_replace16(string $pattern, string $replacement, string $string)string errno128()intSAMConnection errno128(resource $link)intmaxdb errno128(resource $stmt)intmaxdb_stmt error128()stringGearmanClient error128()stringGearmanWorker error128()stringSAMConnection error128(resource $link)stringStomp error128(resource $link)stringmaxdb error128(resource $stmt)stringmaxdb_stmt errorCode128()mixedPDO errorCode128()stringPDOStatement errorInfo128()arrayPDO errorInfo128()arrayPDOStatement error_clear_last16()void error_get_last16()array error_log16(string $message [, int $message_type = '' [, string $destination = '' [, string $extra_headers = '']]])bool error_reporting16([int $level = ''])int escapeQueryChars128(string $str)stringSolrUtils escapeString128(mysqlnd_connection $connection, string $escape_string)stringMysqlndUhConnection escapeString128(string $string)stringSphinxClient escapeString128(string $value)stringSQLite3 escapeshellarg16(string $arg)string escapeshellcmd16(string $command)string eval16(string $code)mixed eval128(string $statements)mixedLua eval128(string $tpl_content [, array $tpl_vars = ''])stringYaf_View_Simple evaluate128(string $expression [, DOMNode $contextnode = '' [, bool $registerNodeNS = true]])mixedDOMXPath evaluateImage128(int $op, float $constant [, int $channel = Imagick::CHANNEL_ALL])boolImagick event_add16(resource $event [, int $timeout = -1])bool event_base_free16(resource $event_base)void event_base_loop16(resource $event_base [, int $flags = ''])int event_base_loopbreak16(resource $event_base)bool event_base_loopexit16(resource $event_base [, int $timeout = -1])bool event_base_new16()resource event_base_priority_init16(resource $event_base, int $npriorities)bool event_base_reinit16(resource $event_base)bool event_base_set16(resource $event, resource $event_base)bool event_buffer_base_set16(resource $bevent, resource $event_base)bool event_buffer_disable16(resource $bevent, int $events)bool event_buffer_enable16(resource $bevent, int $events)bool event_buffer_fd_set16(resource $bevent, resource $fd)void event_buffer_free16(resource $bevent)void event_buffer_new16(resource $stream, mixed $readcb, mixed $writecb, mixed $errorcb [, mixed $arg = ''])resource event_buffer_priority_set16(resource $bevent, int $priority)bool event_buffer_read16(resource $bevent, int $data_size)string event_buffer_set_callback16(resource $event, mixed $readcb, mixed $writecb, mixed $errorcb [, mixed $arg = ''])bool event_buffer_timeout_set16(resource $bevent, int $read_timeout, int $write_timeout)void event_buffer_watermark_set16(resource $bevent, int $events, int $lowmark, int $highmark)void event_buffer_write16(resource $bevent, string $data [, int $data_size = -1])bool event_del16(resource $event)bool event_free16(resource $event)void event_new16()resource event_priority_set16(resource $event, int $priority)bool event_set16(resource $event, mixed $fd, int $events, mixed $callback [, mixed $arg = ''])bool event_timer_add16() event_timer_del16() event_timer_new16() event_timer_set16(resource $event, callable $callback [, mixed $arg = ''])bool exception128(string $exception)boolGearmanJob exchangeArray128(mixed $input)objectArrayObject exec16(string $command [, array $output = '' [, int $return_var = '']])string exec128(resource $dbhandle, string $query [, string $error_msg = ''])boolSQLiteDatabase exec128(string $query)boolSQLite3 exec128(string $statement)intPDO execute128()SQLite3ResultSQLite3Stmt execute128(array $write_options)arrayMongoWriteBatch execute128(mixed $code [, array $args = array()])arrayMongoDB execute128([array $input_parameters = ''])boolPDOStatement execute128(mysqli_stmt $stmt)boolmysqli_stmt execute128(mysqlnd_prepared_statement $statement)boolMysqlndUhPreparedStatement execute128(resource $stmt)boolmaxdb_stmt execute128([mixed $arg = '' [, mixed $... = '']])mixedYaf_Action_Abstract execute128([string $query = ''])objectSwishSearch execute128(callable $entry, string $...)voidYaf_Application executeBulkWrite128(string $namespace, MongoDB\Driver\BulkWrite $bulk [, MongoDB\Driver\WriteConcern $writeConcern = ''])MongoDB::Driver::WriteResultMongoDB::Driver::Manager executeBulkWrite128(string $namespace, MongoDB\Driver\BulkWrite $bulk [, MongoDB\Driver\WriteConcern $writeConcern = ''])MongoDB::Driver::WriteResultMongoDB::Driver::Server executeCommand128(string $db, MongoDB\Driver\Command $command [, MongoDB\Driver\ReadPreference $readPreference = ''])MongoDB::Driver::CursorMongoDB::Driver::Manager executeCommand128(string $db, MongoDB\Driver\Command $command [, MongoDB\Driver\ReadPreference $readPreference = ''])MongoDB::Driver::CursorMongoDB::Driver::Server executePreparedQuery128(PDO $database_handle, PDOStatement $prepared_statement, array $value_list [, array $column_specifier = ''])SDODataObjectSDO_DAS_Relational executeQuery128(string $namespace, MongoDB\Driver\Query $query [, MongoDB\Driver\ReadPreference $readPreference = ''])MongoDB::Driver::CursorMongoDB::Driver::Manager executeQuery128(string $namespace, MongoDB\Driver\Query $query [, MongoDB\Driver\ReadPreference $readPreference = ''])MongoDB::Driver::CursorMongoDB::Driver::Server executeQuery128(PDO $database_handle, string $SQL_statement [, array $column_specifier = ''])SDODataObjectSDO_DAS_Relational executeString128(string $script [, string $identifier = "V8Js::executeString()" [, int $flags = '']])mixedV8Js exif_imagetype16(string $filename)int exif_read_data16(string $filename [, string $sections = '' [, bool $arrays = false [, bool $thumbnail = false]]])array exif_tagname16(int $index)string exif_thumbnail16(string $filename [, int $width = '' [, int $height = '' [, int $imagetype = '']]])string exists128(int $key)boolQuickHashIntHash exists128(int $key)boolQuickHashIntSet exists128(int $key)boolQuickHashIntStringHash exists128(string $key)boolQuickHashStringIntHash exit16(int $status)void exit128([double $timeout = ''])boolEventBase exp16(float $arg)float expand128([DOMNode $basenode = ''])DOMNodeXMLReader expand128(int $len)boolEventBuffer expect_expectl16(resource $expect, array $cases [, array $match = ''])int expect_popen16(string $command)resource explain128()arrayMongoCursor explode16(string $delimiter, string $string [, int $limit = PHP_INT_MAX])array expm116(float $arg)float export128(string $filename [, int $start = '' [, int $length = '']])boolOCI-Lob export128(SDO_Model_ReflectionDataObject $rdo [, bool $return = ''])mixedSDO_Model_ReflectionDataObject export128()stringReflector export128(Reflector $reflector [, bool $return = false])stringReflection export128(mixed $argument [, bool $return = false])stringReflectionClass export128(mixed $class, string $name [, bool $return = ''])stringReflectionProperty export128(string $argument [, bool $return = ''])stringReflectionObject export128(string $class, string $name [, bool $return = false])stringReflectionMethod export128(string $function, string $parameter [, bool $return = ''])stringReflectionParameter export128(string $name [, string $return = ''])stringReflectionFunction export128(string $name [, string $return = ''])stringReflectionZendExtension export128(string $name [, string $return = false])stringReflectionExtension exportImagePixels128(int $x, int $y, int $width, int $height, string $map, int $STORAGE)arrayImagick ext128(string $name, int $options, string $key, string $value)stringTokyoTyrant extend128(string $class)boolThreaded extension_loaded16(string $name)bool extentImage128(int $width, int $height, int $x, int $y)boolImagick extents128()arrayCairoScaledFont extract16(array $array [, int $flags = EXTR_OVERWRITE [, string $prefix = '']])int extract128(string $dir [, string $filepath = "" [, string $password = null [, bool $extended_data = false]]])boolRarEntry extract128()mixedSplHeap extract128()mixedSplPriorityQueue extractTo128(string $destination [, mixed $entries = ''])boolZipArchive extractTo128(string $pathto [, string|array $files = '' [, bool $overwrite = false]])boolPhar extractTo128(string $pathto [, string|array $files = '' [, bool $overwrite = false]])boolPharData ezmlm_hash16(string $addr)int fail128()boolGearmanJob fam_cancel_monitor16(resource $fam, resource $fam_monitor)bool fam_close16(resource $fam)void fam_monitor_collection16(resource $fam, string $dirname, int $depth, string $mask)resource fam_monitor_directory16(resource $fam, string $dirname)resource fam_monitor_file16(resource $fam, string $filename)resource fam_next_event16(resource $fam)array fam_open16([string $appname = ''])resource fam_pending16(resource $fam)int fam_resume_monitor16(resource $fam, resource $fam_monitor)bool fam_suspend_monitor16(resource $fam, resource $fam_monitor)bool fann_cascadetrain_on_data16(resource $ann, resource $data, int $max_neurons, int $neurons_between_reports, float $desired_error)bool fann_cascadetrain_on_file16(resource $ann, string $filename, int $max_neurons, int $neurons_between_reports, float $desired_error)bool fann_clear_scaling_params16(resource $ann)bool fann_copy16(resource $ann)resource fann_create_from_file16(string $configuration_file)resource fann_create_shortcut16(int $num_layers, int $num_neurons1, int $num_neurons2 [, int $... = ''])reference fann_create_shortcut_array16(int $num_layers, array $layers)resource fann_create_sparse16(float $connection_rate, int $num_layers, int $num_neurons1, int $num_neurons2 [, int $... = ''])ReturnType fann_create_sparse_array16(float $connection_rate, int $num_layers, array $layers)ReturnType fann_create_standard16(int $num_layers, int $num_neurons1, int $num_neurons2 [, int $... = ''])resource fann_create_standard_array16(int $num_layers, array $layers)resource fann_create_train16(int $num_data, int $num_input, int $num_output)resource fann_create_train_from_callback16(int $num_data, int $num_input, int $num_output, callable $user_function)resource fann_descale_input16(resource $ann, array $input_vector)bool fann_descale_output16(resource $ann, array $output_vector)bool fann_descale_train16(resource $ann, resource $train_data)bool fann_destroy16(resource $ann)bool fann_destroy_train16(resource $train_data)bool fann_duplicate_train_data16(resource $data)resource fann_get_MSE16(resource $ann)float fann_get_activation_function16(resource $ann, int $layer, int $neuron)int fann_get_activation_steepness16(resource $ann, int $layer, int $neuron)float fann_get_bias_array16(resource $ann)array fann_get_bit_fail16(resource $ann)int fann_get_bit_fail_limit16(resource $ann)float fann_get_cascade_activation_functions16(resource $ann)array fann_get_cascade_activation_functions_count16(resource $ann)int fann_get_cascade_activation_steepnesses16(resource $ann)array fann_get_cascade_activation_steepnesses_count16(resource $ann)int fann_get_cascade_candidate_change_fraction16(resource $ann)float fann_get_cascade_candidate_limit16(resource $ann)float fann_get_cascade_candidate_stagnation_epochs16(resource $ann)float fann_get_cascade_max_cand_epochs16(resource $ann)int fann_get_cascade_max_out_epochs16(resource $ann)int fann_get_cascade_min_cand_epochs16(resource $ann)int fann_get_cascade_min_out_epochs16(resource $ann)int fann_get_cascade_num_candidate_groups16(resource $ann)int fann_get_cascade_num_candidates16(resource $ann)int fann_get_cascade_output_change_fraction16(resource $ann)float fann_get_cascade_output_stagnation_epochs16(resource $ann)int fann_get_cascade_weight_multiplier16(resource $ann)float fann_get_connection_array16(resource $ann)array fann_get_connection_rate16(resource $ann)float fann_get_errno16(resource $errdat)int fann_get_errstr16(resource $errdat)string fann_get_layer_array16(resource $ann)array fann_get_learning_momentum16(resource $ann)float fann_get_learning_rate16(resource $ann)float fann_get_network_type16(resource $ann)int fann_get_num_input16(resource $ann)int fann_get_num_layers16(resource $ann)int fann_get_num_output16(resource $ann)int fann_get_quickprop_decay16(resource $ann)float fann_get_quickprop_mu16(resource $ann)float fann_get_rprop_decrease_factor16(resource $ann)float fann_get_rprop_delta_max16(resource $ann)float fann_get_rprop_delta_min16(resource $ann)float fann_get_rprop_delta_zero16(resource $ann)ReturnType fann_get_rprop_increase_factor16(resource $ann)float fann_get_sarprop_step_error_shift16(resource $ann)float fann_get_sarprop_step_error_threshold_factor16(resource $ann)float fann_get_sarprop_temperature16(resource $ann)float fann_get_sarprop_weight_decay_shift16(resource $ann)float fann_get_total_connections16(resource $ann)int fann_get_total_neurons16(resource $ann)int fann_get_train_error_function16(resource $ann)int fann_get_train_stop_function16(resource $ann)int fann_get_training_algorithm16(resource $ann)int fann_init_weights16(resource $ann, resource $train_data)bool fann_length_train_data16(resource $data)resource fann_merge_train_data16(resource $data1, resource $data2)resource fann_num_input_train_data16(resource $data)resource fann_num_output_train_data16(resource $data)resource fann_print_error16(string $errdat)void fann_randomize_weights16(resource $ann, float $min_weight, float $max_weight)bool fann_read_train_from_file16(string $filename)resource fann_reset_MSE16(string $ann)bool fann_reset_errno16(resource $errdat)void fann_reset_errstr16(resource $errdat)void fann_run16(resource $ann, array $input)array fann_save16(resource $ann, string $configuration_file)bool fann_save_train16(resource $data, string $file_name)bool fann_scale_input16(resource $ann, array $input_vector)bool fann_scale_input_train_data16(resource $train_data, float $new_min, float $new_max)bool fann_scale_output16(resource $ann, array $output_vector)bool fann_scale_output_train_data16(resource $train_data, float $new_min, float $new_max)bool fann_scale_train16(resource $ann, resource $train_data)bool fann_scale_train_data16(resource $train_data, float $new_min, float $new_max)bool fann_set_activation_function16(resource $ann, int $activation_function, int $layer, int $neuron)bool fann_set_activation_function_hidden16(resource $ann, int $activation_function)bool fann_set_activation_function_layer16(resource $ann, int $activation_function, int $layer)bool fann_set_activation_function_output16(resource $ann, int $activation_function)bool fann_set_activation_steepness16(resource $ann, float $activation_steepness, int $layer, int $neuron)bool fann_set_activation_steepness_hidden16(resource $ann, float $activation_steepness)bool fann_set_activation_steepness_layer16(resource $ann, float $activation_steepness, int $layer)bool fann_set_activation_steepness_output16(resource $ann, float $activation_steepness)bool fann_set_bit_fail_limit16(resource $ann, float $bit_fail_limit)bool fann_set_callback16(resource $ann, collable $callback)bool fann_set_cascade_activation_functions16(resource $ann, array $cascade_activation_functions)bool fann_set_cascade_activation_steepnesses16(resource $ann, array $cascade_activation_steepnesses_count)bool fann_set_cascade_candidate_change_fraction16(resource $ann, float $cascade_candidate_change_fraction)bool fann_set_cascade_candidate_limit16(resource $ann, float $cascade_candidate_limit)bool fann_set_cascade_candidate_stagnation_epochs16(resource $ann, int $cascade_candidate_stagnation_epochs)bool fann_set_cascade_max_cand_epochs16(resource $ann, int $cascade_max_cand_epochs)bool fann_set_cascade_max_out_epochs16(resource $ann, int $cascade_max_out_epochs)bool fann_set_cascade_min_cand_epochs16(resource $ann, int $cascade_min_cand_epochs)bool fann_set_cascade_min_out_epochs16(resource $ann, int $cascade_min_out_epochs)bool fann_set_cascade_num_candidate_groups16(resource $ann, int $cascade_num_candidate_groups)bool fann_set_cascade_output_change_fraction16(resource $ann, float $cascade_output_change_fraction)bool fann_set_cascade_output_stagnation_epochs16(resource $ann, int $cascade_output_stagnation_epochs)bool fann_set_cascade_weight_multiplier16(resource $ann, float $cascade_weight_multiplier)bool fann_set_error_log16(resource $errdat, string $log_file)void fann_set_input_scaling_params16(resource $ann, resource $train_data, float $new_input_min, float $new_input_max)bool fann_set_learning_momentum16(resource $ann, float $learning_momentum)bool fann_set_learning_rate16(resource $ann, float $learning_rate)bool fann_set_output_scaling_params16(resource $ann, resource $train_data, float $new_output_min, float $new_output_max)bool fann_set_quickprop_decay16(resource $ann, float $quickprop_decay)bool fann_set_quickprop_mu16(resource $ann, float $quickprop_mu)bool fann_set_rprop_decrease_factor16(resource $ann, float $rprop_decrease_factor)bool fann_set_rprop_delta_max16(resource $ann, float $rprop_delta_max)bool fann_set_rprop_delta_min16(resource $ann, float $rprop_delta_min)bool fann_set_rprop_delta_zero16(resource $ann, float $rprop_delta_zero)bool fann_set_rprop_increase_factor16(resource $ann, float $rprop_increase_factor)bool fann_set_sarprop_step_error_shift16(resource $ann, float $sarprop_step_error_shift)bool fann_set_sarprop_step_error_threshold_factor16(resource $ann, float $sarprop_step_error_threshold_factor)bool fann_set_sarprop_temperature16(resource $ann, float $sarprop_temperature)bool fann_set_sarprop_weight_decay_shift16(resource $ann, float $sarprop_weight_decay_shift)bool fann_set_scaling_params16(resource $ann, resource $train_data, float $new_input_min, float $new_input_max, float $new_output_min, float $new_output_max)bool fann_set_train_error_function16(resource $ann, int $error_function)bool fann_set_train_stop_function16(resource $ann, int $stop_function)bool fann_set_training_algorithm16(resource $ann, int $training_algorithm)bool fann_set_weight16(resource $ann, int $from_neuron, int $to_neuron, float $weight)bool fann_set_weight_array16(resource $ann, array $connections)bool fann_shuffle_train_data16(resource $train_data)bool fann_subset_train_data16(resource $data, int $pos, int $length)resource fann_test16(resource $ann, array $input, array $desired_output)bool fann_test_data16(resource $ann, resource $data)float fann_train16(resource $ann, array $input, array $desired_output)bool fann_train_epoch16(resource $ann, resource $data)float fann_train_on_data16(resource $ann, resource $data, int $max_epochs, int $epochs_between_reports, float $desired_error)bool fann_train_on_file16(resource $ann, string $filename, int $max_epochs, int $epochs_between_reports, float $desired_error)bool fastcgi_finish_request16()boolean fault128(string $code, string $string [, string $actor = '' [, string $details = '' [, string $name = '']]])voidSoapServer fbsql_affected_rows16([resource $link_identifier = ''])int fbsql_autocommit16(resource $link_identifier [, bool $OnOff = ''])bool fbsql_blob_size16(string $blob_handle [, resource $link_identifier = ''])int fbsql_change_user16(string $user, string $password [, string $database = '' [, resource $link_identifier = '']])bool fbsql_clob_size16(string $clob_handle [, resource $link_identifier = ''])int fbsql_close16([resource $link_identifier = ''])bool fbsql_commit16([resource $link_identifier = ''])bool fbsql_connect16([string $hostname = ini_get("fbsql.default_host") [, string $username = ini_get("fbsql.default_user") [, string $password = ini_get("fbsql.default_password")]]])resource fbsql_create_blob16(string $blob_data [, resource $link_identifier = ''])string fbsql_create_clob16(string $clob_data [, resource $link_identifier = ''])string fbsql_create_db16(string $database_name [, resource $link_identifier = '' [, string $database_options = '']])bool fbsql_data_seek16(resource $result, int $row_number)bool fbsql_database16(resource $link_identifier [, string $database = ''])string fbsql_database_password16(resource $link_identifier [, string $database_password = ''])string fbsql_db_query16(string $database, string $query [, resource $link_identifier = ''])resource fbsql_db_status16(string $database_name [, resource $link_identifier = ''])int fbsql_drop_db16(string $database_name [, resource $link_identifier = ''])bool fbsql_errno16([resource $link_identifier = ''])int fbsql_error16([resource $link_identifier = ''])string fbsql_fetch_array16(resource $result [, int $result_type = ''])array fbsql_fetch_assoc16(resource $result)array fbsql_fetch_field16(resource $result [, int $field_offset = ''])object fbsql_fetch_lengths16(resource $result)array fbsql_fetch_object16(resource $result)object fbsql_fetch_row16(resource $result)array fbsql_field_flags16(resource $result [, int $field_offset = ''])string fbsql_field_len16(resource $result [, int $field_offset = ''])int fbsql_field_name16(resource $result [, int $field_index = ''])string fbsql_field_seek16(resource $result [, int $field_offset = ''])bool fbsql_field_table16(resource $result [, int $field_offset = ''])string fbsql_field_type16(resource $result [, int $field_offset = ''])string fbsql_free_result16(resource $result)bool fbsql_get_autostart_info16([resource $link_identifier = ''])array fbsql_hostname16(resource $link_identifier [, string $host_name = ''])string fbsql_insert_id16([resource $link_identifier = ''])int fbsql_list_dbs16([resource $link_identifier = ''])resource fbsql_list_fields16(string $database_name, string $table_name [, resource $link_identifier = ''])resource fbsql_list_tables16(string $database [, resource $link_identifier = ''])resource fbsql_next_result16(resource $result)bool fbsql_num_fields16(resource $result)int fbsql_num_rows16(resource $result)int fbsql_password16(resource $link_identifier [, string $password = ''])string fbsql_pconnect16([string $hostname = ini_get("fbsql.default_host") [, string $username = ini_get("fbsql.default_user") [, string $password = ini_get("fbsql.default_password")]]])resource fbsql_query16(string $query [, resource $link_identifier = '' [, int $batch_size = '']])resource fbsql_read_blob16(string $blob_handle [, resource $link_identifier = ''])string fbsql_read_clob16(string $clob_handle [, resource $link_identifier = ''])string fbsql_result16(resource $result [, int $row = '' [, mixed $field = '']])mixed fbsql_rollback16([resource $link_identifier = ''])bool fbsql_rows_fetched16(resource $result)int fbsql_select_db16([string $database_name = '' [, resource $link_identifier = '']])bool fbsql_set_characterset16(resource $link_identifier, int $characterset [, int $in_out_both = ''])void fbsql_set_lob_mode16(resource $result, int $lob_mode)bool fbsql_set_password16(resource $link_identifier, string $user, string $password, string $old_password)bool fbsql_set_transaction16(resource $link_identifier, int $locking, int $isolation)void fbsql_start_db16(string $database_name [, resource $link_identifier = '' [, string $database_options = '']])bool fbsql_stop_db16(string $database_name [, resource $link_identifier = ''])bool fbsql_table_name16(resource $result, int $index)string fbsql_tablename16() fbsql_username16(resource $link_identifier [, string $username = ''])string fbsql_warnings16([bool $OnOff = ''])bool fclose16(resource $handle)bool fdf_add_doc_javascript16(resource $fdf_document, string $script_name, string $script_code)bool fdf_add_template16(resource $fdf_document, int $newpage, string $filename, string $template, int $rename)bool fdf_close16(resource $fdf_document)void fdf_create16()resource fdf_enum_values16(resource $fdf_document, callable $function [, mixed $userdata = ''])bool fdf_errno16()int fdf_error16([int $error_code = -1])string fdf_get_ap16(resource $fdf_document, string $field, int $face, string $filename)bool fdf_get_attachment16(resource $fdf_document, string $fieldname, string $savepath)array fdf_get_encoding16(resource $fdf_document)string fdf_get_file16(resource $fdf_document)string fdf_get_flags16(resource $fdf_document, string $fieldname, int $whichflags)int fdf_get_opt16(resource $fdf_document, string $fieldname [, int $element = -1])mixed fdf_get_status16(resource $fdf_document)string fdf_get_value16(resource $fdf_document, string $fieldname [, int $which = -1])mixed fdf_get_version16([resource $fdf_document = ''])string fdf_header16()void fdf_next_field_name16(resource $fdf_document [, string $fieldname = ''])string fdf_open16(string $filename)resource fdf_open_string16(string $fdf_data)resource fdf_remove_item16(resource $fdf_document, string $fieldname, int $item)bool fdf_save16(resource $fdf_document [, string $filename = ''])bool fdf_save_string16(resource $fdf_document)string fdf_set_ap16(resource $fdf_document, string $field_name, int $face, string $filename, int $page_number)bool fdf_set_encoding16(resource $fdf_document, string $encoding)bool fdf_set_file16(resource $fdf_document, string $url [, string $target_frame = ''])bool fdf_set_flags16(resource $fdf_document, string $fieldname, int $whichFlags, int $newFlags)bool fdf_set_javascript_action16(resource $fdf_document, string $fieldname, int $trigger, string $script)bool fdf_set_on_import_javascript16(resource $fdf_document, string $script, bool $before_data_import)bool fdf_set_opt16(resource $fdf_document, string $fieldname, int $element, string $str1, string $str2)bool fdf_set_status16(resource $fdf_document, string $status)bool fdf_set_submit_form_action16(resource $fdf_document, string $fieldname, int $trigger, string $script, int $flags)bool fdf_set_target_frame16(resource $fdf_document, string $frame_name)bool fdf_set_value16(resource $fdf_document, string $fieldname, mixed $value [, int $isName = ''])bool fdf_set_version16(resource $fdf_document, string $version)bool feed128(int $revents)voidEvWatcher feedSignal128(int $signum)voidEv feedSignalEvent128(int $signum)voidEv feof16(resource $handle)bool fetch128()arrayMemcached fetch128(resource $result [, int $result_type = SQLITE_BOTH [, bool $decode_binary = true]])arraySQLiteResult fetch128(resource $result [, int $result_type = SQLITE_BOTH [, bool $decode_binary = true]])arraySQLiteUnbuffered fetch128(mysqli_stmt $stmt)boolmysqli_stmt fetch128(resource $stmt)boolmaxdb_stmt fetch128([int $fetch_style = '' [, int $cursor_orientation = PDO::FETCH_ORI_NEXT [, int $cursor_offset = '']]])mixedPDOStatement fetch128(string $protected_resource_url [, array $extra_parameters = '' [, string $http_method = '' [, array $http_headers = '']]])mixedOAuth fetchAll128()arrayMemcached fetchAll128([int $fetch_style = '' [, mixed $fetch_argument = '' [, array $ctor_args = array()]]])arrayPDOStatement fetchAll128(resource $result [, int $result_type = SQLITE_BOTH [, bool $decode_binary = true]])arraySQLiteResult fetchAll128(resource $result [, int $result_type = SQLITE_BOTH [, bool $decode_binary = true]])arraySQLiteUnbuffered fetchArray128([int $mode = SQLITE3_BOTH])arraySQLite3Result fetchColumn128([int $column_number = ''])mixedPDOStatement fetchColumnTypes128(string $table_name, resource $dbhandle [, int $result_type = SQLITE_ASSOC])arraySQLiteDatabase fetchObject128([string $class_name = "stdClass" [, array $ctor_args = '']])mixedPDOStatement fetchObject128(resource $result [, string $class_name = '' [, array $ctor_params = '' [, bool $decode_binary = true]]])objectSQLiteResult fetchObject128(resource $result [, string $class_name = '' [, array $ctor_params = '' [, bool $decode_binary = true]]])objectSQLiteUnbuffered fetchSingle128(resource $result [, bool $decode_binary = true])stringSQLiteResult fetchSingle128(resource $result [, bool $decode_binary = true])stringSQLiteUnbuffered fetch_all128([int $resulttype = MYSQLI_NUM, mysqli_result $result])mixedmysqli_result fetch_array128([int $resulttype = MYSQLI_BOTH, mysqli_result $result])mixedmysqli_result fetch_array128(resource $result [, int $resulttype = ''])mixedmaxdb_result fetch_assoc128(mysqli_result $result)arraymysqli_result fetch_assoc128(resource $result)arraymaxdb_result fetch_field128(resource $result)mixedmaxdb_result fetch_field128(mysqli_result $result)objectmysqli_result fetch_field_direct128(resource $result, int $fieldnr)mixedmaxdb_result fetch_field_direct128(int $fieldnr, mysqli_result $result)objectmysqli_result fetch_fields128(mysqli_result $result)arraymysqli_result fetch_fields128(resource $result)mixedmaxdb_result fetch_object128([string $class_name = "stdClass" [, array $params = '', mysqli_result $result]])objectmysqli_result fetch_object128(object $result)objectmaxdb_result fetch_row128(mysqli_result $result)mixedmysqli_result fetch_row128(resource $result)mixedmaxdb_result fflush16(resource $handle)bool fflush128()boolSplFileObject fgetc16(resource $handle)string fgetc128()stringSplFileObject fgetcsv16(resource $handle [, int $length = '' [, string $delimiter = "," [, string $enclosure = '"' [, string $escape = "\"]]]])array fgetcsv128([string $delimiter = "," [, string $enclosure = "\"" [, string $escape = "\\"]]])arraySplFileObject fgets16(resource $handle [, int $length = ''])string fgets128()stringSplFileObject fgetss16(resource $handle [, int $length = '' [, string $allowable_tags = '']])string fgetss128([string $allowable_tags = ''])stringSplFileObject fieldDifference128(float $when, int $field, IntlCalendar $cal)intIntlCalendar fieldExists128(string $fieldName)boolSolrDocument fieldExists128(string $fieldName)boolSolrInputDocument fieldName128(resource $result, int $field_index)stringSQLiteResult fieldName128(resource $result, int $field_index)stringSQLiteUnbuffered field_count128(resource $link)intmaxdb field_count128(resource $result)intmaxdb_result field_seek128(int $fieldnr, mysqli_result $result)boolmysqli_result field_seek128(resource $result, int $fieldnr)boolmaxdb_result fields128(array $f)MongoCursorMongoCursor file16(string $filename [, int $flags = '' [, resource $context = '']])array file128(string $file_name [, int $options = FILEINFO_NONE [, resource $context = '']])stringfinfo file_exists16(string $filename)bool file_get_contents16(string $filename [, bool $use_include_path = false [, resource $context = '' [, int $offset = '' [, int $maxlen = '']]]])string file_put_contents16(string $filename, mixed $data [, int $flags = '' [, resource $context = '']])int fileatime16(string $filename)int filectime16(string $filename)int filegroup16(string $filename)int fileinode16(string $filename)int filemtime16(string $filename)int fileowner16(string $filename)int fileperms16(string $filename)int filepro16(string $directory)bool filepro_fieldcount16()int filepro_fieldname16(int $field_number)string filepro_fieldtype16(int $field_number)string filepro_fieldwidth16(int $field_number)int filepro_retrieve16(int $row_number, int $field_number)string filepro_rowcount16()int filesize16(string $filename)int filetype16(string $filename)string fill128()boolHaruPage fill128(CairoContext $context)voidCairoContext fillExtents128(CairoContext $context)arrayCairoContext fillPreserve128(CairoContext $context)voidCairoContext fillStroke128([bool $close_path = false])boolHaruPage filter128(resource $in, resource $out, int $consumed, bool $closing)intphp_user_filter filter128(ImagickKernel $ImagickKernel [, int $CHANNEL = Imagick::CHANNEL_DEFAULT])voidImagick filterMatches128(string $langtag, string $locale [, bool $canonicalize = false])boolLocale filter_has_var16(int $type, string $variable_name)bool filter_id16(string $filtername)int filter_input16(int $type, string $variable_name [, int $filter = FILTER_DEFAULT [, mixed $options = '']])mixed filter_input_array16(int $type [, mixed $definition = '' [, bool $add_empty = true]])mixed filter_list16()array filter_var16(mixed $variable [, int $filter = FILTER_DEFAULT [, mixed $options = '']])mixed filter_var_array16(array $data [, mixed $definition = '' [, bool $add_empty = true]])mixed finalize128()boolSQLite3Result find128([array $query = array() [, array $fields = array()]])MongoCursorMongoCollection find128([array $query = array() [, array $fields = array()]])MongoGridFSCursorMongoGridFS find128(array $parameter)arrayhw_api findAndModify128(array $query [, array $update = '' [, array $fields = '' [, array $options = '']]])arrayMongoCollection findHeader128(string $key, string $type)voidEventHttpRequest findOne128([mixed $query = array() [, mixed $fields = array()]])MongoGridFSFileMongoGridFS findOne128([array $query = array() [, array $fields = array() [, array $options = array()]]])arrayMongoCollection finfo1([int $options = FILEINFO_NONE [, string $magic_file = '']]) finfo_buffer16(resource $finfo, string $string [, int $options = FILEINFO_NONE [, resource $context = '']])string finfo_close16(resource $finfo)bool finfo_file16(resource $finfo, string $file_name [, int $options = FILEINFO_NONE [, resource $context = '']])string finfo_open16([int $options = FILEINFO_NONE [, string $magic_file = '']])resource finfo_set_flags16(resource $finfo, int $options)bool finish128()voidCairoSurface fire128()boolSyncEvent first128()ReturnTypeIntlBreakIterator first128([mixed $index = ''])mixedJudy firstEmpty128([mixed $index = ''])intJudy flattenImages128()ImagickImagick flipImage128()boolImagick flipimage128()GmagickGmagick floatval16(mixed $var)float flock16(resource $handle, int $operation [, int $wouldblock = ''])bool flock128(int $operation [, int $wouldblock = ''])boolSplFileObject floodFillPaintImage128(mixed $fill, float $fuzz, mixed $target, int $x, int $y, bool $invert [, int $channel = Imagick::CHANNEL_DEFAULT])boolImagick floor16(float $value)mixed flopImage128()boolImagick flopimage128()GmagickGmagick flush16()void flush128()boolMemcache flush128([int $delay = ''])boolMemcached flush128([int $flag = ''])boolOCI-Lob flush128([bool $empty = true, resource $xmlwriter])mixedXMLWriter flush128()voidCairoSurface flushInstantly128([bool $flag = ''])Yaf_DispatcherYaf_Dispatcher fmod16(float $x, float $y)float fnmatch16(string $pattern, string $string [, int $flags = ''])bool foldCase128(mixed $codepoint [, int $options = ''])mixedIntlChar following128(string $"offset")ReturnTypeIntlBreakIterator fontExtents128(CairoContext $context)arrayCairoContext fopen16(string $filename, string $mode [, bool $use_include_path = false [, resource $context = '']])resource forDigit128(int $digit [, int $radix = 10])intIntlChar forceError128()boolMongoDB fork128(callable $callback [, mixed $data = '' [, int $priority = '']])EvForkEvLoop format128(array $args, MessageFormatter $fmt)stringMessageFormatter format128(mixed $value, IntlDateFormatter $fmt)stringIntlDateFormatter format128(number $value [, int $type = '', NumberFormatter $fmt])stringNumberFormatter format128(string $format)stringDateInterval format128(string $format, DateTimeInterface $object)stringDateTime format128(string $format, DateTimeInterface $object)stringDateTimeImmutable format128(string $format, DateTimeInterface $object)stringDateTimeInterface formatCurrency128(float $value, string $currency, NumberFormatter $fmt)stringNumberFormatter formatMessage128(string $locale, string $pattern, array $args)stringMessageFormatter formatObject128(object $object [, mixed $format = null [, string $locale = null]])stringIntlDateFormatter forward128(string $action [, array $paramters = '', string $controller, string $module])voidYaf_Controller_Abstract forwardFourierTransformImage128(bool $magnitude)voidImagick forward_static_call16(callable $function [, mixed $parameter = '' [, mixed $... = '']])mixed forward_static_call_array16(callable $function, array $parameters)mixed fpassthru16(resource $handle)int fpassthru128()intSplFileObject fprintf16(resource $handle, string $format [, mixed $args = '' [, mixed $... = '']])int fputcsv16(resource $handle, array $fields [, string $delimiter = "," [, string $enclosure = '"' [, string $escape_char = "\"]]])int fputcsv128(array $fields [, string $delimiter = "," [, string $enclosure = '"' [, string $escape = "\"]]])intSplFileObject fputs16() frameImage128(mixed $matte_color, int $width, int $height, int $inner_bevel, int $outer_bevel)boolImagick frameimage128(GmagickPixel $color, int $width, int $height, int $inner_bevel, int $outer_bevel)GmagickGmagick fread16(resource $handle, int $length)string fread128(int $length)stringSplFileObject free128()boolOCI-Collection free128()boolOCI-Lob free128()intJudy free128()voidEvent free128()voidEventBase free128()voidEventBufferEvent free128()voidEventHttpRequest free128(mysqli_result $result)voidmysqli_result free128(resource $result)voidmaxdb_result free_result128(mysqli_stmt $stmt)voidmysqli_stmt free_result128(resource $stmt)voidmaxdb_stmt freeze128(bool $at_front)boolEventBuffer frenchtojd16(int $month, int $day, int $year)int fribidi_log2vis16(string $str, string $direction, int $charset)string from128(Closure $run [, Closure $construct = '' [, array $args = '']])ThreadedThreaded fromArray128(array $array [, bool $save_indexes = true])SplFixedArraySplFixedArray fromBuiltIn128(string $kernelType, string $kernelString)ImagickKernelImagickKernel fromDateTime128(mixed $dateTime)IntlCalendarIntlCalendar fromDateTimeZone128(DateTimeZone $zoneId)IntlTimeZoneIntlTimeZone fromJSON128(string $json)stringMongoDB::BSON fromMatrix128(array $matrix [, array $origin = ''])ImagickKernelImagickKernel fromPHP128(array|object $value)stringMongoDB::BSON fromUCallback128(integer $reason, string $source, string $codePoint, integer $error)mixedUConverter fscanf16(resource $handle, string $format [, mixed $... = ''])mixed fscanf128(string $format [, mixed $... = ''])mixedSplFileObject fseek16(resource $handle, int $offset [, int $whence = SEEK_SET])int fseek128(int $offset [, int $whence = SEEK_SET])intSplFileObject fsockopen16(string $hostname [, int $port = -1 [, int $errno = '' [, string $errstr = '' [, float $timeout = ini_get("default_socket_timeout")]]]])resource fstat16(resource $handle)array fstat128()arraySplFileObject ftell16(resource $handle)int ftell128()intSplFileObject ftok16(string $pathname, string $proj)int ftp_alloc16(resource $ftp_stream, int $filesize [, string $result = ''])bool ftp_cdup16(resource $ftp_stream)bool ftp_chdir16(resource $ftp_stream, string $directory)bool ftp_chmod16(resource $ftp_stream, int $mode, string $filename)int ftp_close16(resource $ftp_stream)resource ftp_connect16(string $host [, int $port = 21 [, int $timeout = 90]])resource ftp_delete16(resource $ftp_stream, string $path)bool ftp_exec16(resource $ftp_stream, string $command)bool ftp_fget16(resource $ftp_stream, resource $handle, string $remote_file, int $mode [, int $resumepos = ''])bool ftp_fput16(resource $ftp_stream, string $remote_file, resource $handle, int $mode [, int $startpos = ''])bool ftp_get16(resource $ftp_stream, string $local_file, string $remote_file, int $mode [, int $resumepos = ''])bool ftp_get_option16(resource $ftp_stream, int $option)mixed ftp_login16(resource $ftp_stream, string $username, string $password)bool ftp_mdtm16(resource $ftp_stream, string $remote_file)int ftp_mkdir16(resource $ftp_stream, string $directory)string ftp_nb_continue16(resource $ftp_stream)int ftp_nb_fget16(resource $ftp_stream, resource $handle, string $remote_file, int $mode [, int $resumepos = ''])int ftp_nb_fput16(resource $ftp_stream, string $remote_file, resource $handle, int $mode [, int $startpos = ''])int ftp_nb_get16(resource $ftp_stream, string $local_file, string $remote_file, int $mode [, int $resumepos = ''])int ftp_nb_put16(resource $ftp_stream, string $remote_file, string $local_file, int $mode [, int $startpos = ''])int ftp_nlist16(resource $ftp_stream, string $directory)array ftp_pasv16(resource $ftp_stream, bool $pasv)bool ftp_put16(resource $ftp_stream, string $remote_file, string $local_file, int $mode [, int $startpos = ''])bool ftp_pwd16(resource $ftp_stream)string ftp_quit16() ftp_raw16(resource $ftp_stream, string $command)array ftp_rawlist16(resource $ftp_stream, string $directory [, bool $recursive = false])mixed ftp_rename16(resource $ftp_stream, string $oldname, string $newname)bool ftp_rmdir16(resource $ftp_stream, string $directory)bool ftp_set_option16(resource $ftp_stream, int $option, mixed $value)bool ftp_site16(resource $ftp_stream, string $command)bool ftp_size16(resource $ftp_stream, string $remote_file)int ftp_ssl_connect16(string $host [, int $port = 21 [, int $timeout = 90]])resource ftp_systype16(resource $ftp_stream)string ftruncate16(resource $handle, int $size)bool ftruncate128(int $size)boolSplFileObject ftstat128(array $parameter)hw_api_objecthw_api fullEndElement128(resource $xmlwriter)boolXMLWriter func_get_arg16(int $arg_num)mixed func_get_args16()array func_num_args16()int function128()stringGearmanTask functionImage128(int $function, array $arguments [, int $channel = Imagick::CHANNEL_DEFAULT])boolImagick functionName128()stringGearmanJob functionName128()stringGearmanTask function_exists16(string $function_name)bool fwmKeys128(string $prefix, int $max_recs)arrayTokyoTyrant fwrite16(resource $handle, string $string [, int $length = ''])int fwrite128(string $str [, int $length = ''])intSplFileObject fxImage128(string $expression [, int $channel = Imagick::CHANNEL_ALL])ImagickImagick gammaImage128(float $gamma [, int $channel = Imagick::CHANNEL_ALL])boolImagick gammaimage128(float $gamma)GmagickGmagick gaussianBlurImage128(float $radius, float $sigma [, int $channel = Imagick::CHANNEL_ALL])boolImagick gc128(int $maxlifetime)boolSessionHandler gc128(int $maxlifetime)boolSessionHandlerInterface gc_collect_cycles16()int gc_disable16()void gc_enable16()void gc_enabled16()bool gc_mem_caches16()int gd_info16()array gearman_job_handle16()string gearman_job_status16(string $job_handle)array genUid128()intTokyoTyrantTable generateSignature128(string $http_method, string $url [, mixed $extra_parameters = ''])stringOAuth generateToken128(int $size [, bool $strong = false])stringOAuthProvider geoip_asnum_by_name16(string $hostname)string geoip_continent_code_by_name16(string $hostname)string geoip_country_code3_by_name16(string $hostname)string geoip_country_code_by_name16(string $hostname)string geoip_country_name_by_name16(string $hostname)string geoip_database_info16([int $database = GEOIP_COUNTRY_EDITION])string geoip_db_avail16(int $database)bool geoip_db_filename16(int $database)string geoip_db_get_all_info16()array geoip_domain_by_name16(string $hostname)string geoip_id_by_name16(string $hostname)int geoip_isp_by_name16(string $hostname)string geoip_netspeedcell_by_name16(string $hostname)string geoip_org_by_name16(string $hostname)string geoip_record_by_name16(string $hostname)array geoip_region_by_name16(string $hostname)array geoip_region_name_by_code16(string $country_code, string $region_code)string geoip_setup_custom_directory16(string $path)void geoip_time_zone_by_country_and_region16(string $country_code [, string $region_code = ''])string get128(mixed $id)MongoGridFSFileMongoGridFS get128(MongoDB $db, array $ref)arrayMongoDBRef get128(mixed $keys)arrayTokyoTyrant get128(mixed $keys)arrayTokyoTyrantTable get128(string $key [, array $flags = '', array $keys])arrayMemcache get128(int $field, IntlCalendar> $cal)intIntlCalendar get128(int $key)intQuickHashIntHash get128(string $name [, integer $country = ''])integerGender::Gender get128(int $key)mixedQuickHashIntStringHash get128(mixed $object_id [, bool $preserve_keys = false])mixedSNMP get128(string $key [, callable $cache_cb = '' [, float $cas_token = '']])mixedMemcached get128(string $key)mixedQuickHashStringIntHash get128(string $name [, string $default = ''])mixedYaf_Request_Http get128(string $name)mixedYaf_Registry get128(string $name, mixed $value)mixedYaf_Config_Abstract get128(string $param_name)mixedSolrParams get128(string|int $index, ResourceBundle $r)mixedResourceBundle get128()objectWeakref get128(string $key)stringchdb get128()voidYaf_Request_Simple getATime128()intDirectoryIterator getATime128()intSplFileInfo getAccessToken128(string $access_token_url [, string $auth_session_handle = '' [, string $verifier_token = '' [, string $http_method = '']]])arrayOAuth getActionName128()voidYaf_Request_Abstract getActualMaximum128(int $field, IntlCalendar $cal)intIntlCalendar getActualMinimum128(int $field, IntlCalendar $cal)intIntlCalendar getAffectedRows128(mysqlnd_connection $connection)intMysqlndUhConnection getAlbum128()stringKTaglib_Tag getAliases128([string $name = ''])arrayUConverter getAllKeys128()arrayMemcached getAllVariants128(string $locale)arrayLocale getAntialias128(CairoContext $context)intCairoContext getAntialias128(CairoContext $context)intCairoFontOptions getAppDirectory128()Yaf_ApplicationYaf_Application getApplication128()Yaf_ApplicationYaf_Dispatcher getArchiveComment128([int $flags = ''])stringZipArchive getArrayCopy128()arrayArrayIterator getArrayCopy128()arrayArrayObject getArrayIterator128()voidAppendIterator getArtist128()stringKTaglib_Tag getAscent128()floatSWFFont getAscent128()floatSWFText getAscent128()intHaruFont getAttr128()intRarEntry getAttribute128(int $attr, Collator $coll)intCollator getAttribute128(int $attr, NumberFormatter $fmt)intNumberFormatter getAttribute128(int $attribute)mixedPDO getAttribute128(int $attribute)mixedPDOStatement getAttribute128(string $name)stringDOMElement getAttribute128(string $name)stringXMLReader getAttributeNS128(string $namespaceURI, string $localName)stringDOMElement getAttributeNo128(int $index)stringXMLReader getAttributeNode128(string $name)DOMAttrDOMElement getAttributeNodeNS128(string $namespaceURI, string $localName)DOMAttrDOMElement getAttributeNs128(string $localName, string $namespaceURI)stringXMLReader getAudioProperties128()KTaglib_MPEG_FileKTaglib_MPEG_File getAuthor128()stringReflectionZendExtension getAvailable128()arrayUConverter getAvailableDrivers128()arrayPDO getAvailableLocales128()arrayIntlCalendar getBase128()EventBaseEventHttpConnection getBase128()voidEventListener getBaseType128()SDO_Model_TypeSDO_Model_Type getBaseUri128()voidYaf_Request_Abstract getBasename128([string $suffix = ''])stringDirectoryIterator getBasename128([string $suffix = ''])stringSplFileInfo getBidiPairedBracket128(mixed $codepoint)mixedIntlChar getBinaryRules128()ReturnTypeIntlRuleBasedBreakIterator getBitrate128()intKTaglib_MPEG_AudioProperties getBitsPerComponent128()intHaruImage getBlockCode128(mixed $codepoint)intIntlChar getBody128([string $key = ''])mixedYaf_Response_Abstract getBoost128()floatSolrInputDocument getBreakIterator128()ReturnTypeIntlPartsIterator getBufferEvent128()EventBufferEventEventHttpRequest getBuffering128()boolOCI-Lob getById128(string $id)SolrQueryResponseSolrClient getByIds128(array $ids)SolrQueryResponseSolrClient getByKey128(string $server_key, string $key [, callable $cache_cb = '' [, float $cas_token = '']])mixedMemcached getByteType128(string $text, int $index)intHaruEncoder getBytes128()stringMongoGridFSFile getCAPath128()arrayOAuth getCMYKFill128()arrayHaruPage getCMYKStroke128()arrayHaruPage getCRC32128()intPharFileInfo getCTime128()intDirectoryIterator getCTime128()intSplFileInfo getCache128()arrayCachingIterator getCalendar128(IntlDateFormatter $fmt)intIntlDateFormatter getCalendarObject128()IntlCalendarIntlDateFormatter getCallback128()callableMongoLog getCanonicalID128(string $zoneId [, bool $isSystemID = ''])stringIntlTimeZone getCapHeight128()intHaruFont getCause128()mixedSDO_Exception getChangeSummary128()SDO_DAS_ChangeSummarySDO_DAS_DataObject getChangeType128(SDO_DataObject $dataObject)intSDO_DAS_ChangeSummary getChangedDataObjects128()SDO_ListSDO_DAS_ChangeSummary getChannels128()intKTaglib_MPEG_AudioProperties getCharSpace128()floatHaruPage getChildren128()ParentIteratorParentIterator getChildren128()RecursiveArrayIteratorRecursiveArrayIterator getChildren128()RecursiveCachingIteratorRecursiveCachingIterator getChildren128()RecursiveCallbackFilterIteratorRecursiveCallbackFilterIterator getChildren128()RecursiveFilterIteratorRecursiveFilterIterator getChildren128()RecursiveIteratorRecursiveIterator getChildren128()RecursiveRegexIteratorRecursiveRegexIterator getChildren128()SimpleXMLIteratorSimpleXMLIterator getChildren128()mixedRecursiveDirectoryIterator getChildren128()voidSplFileObject getCircles128()arrayCairoRadialGradient getClass128()ReflectionClassReflectionParameter getClassNames128()arrayReflectionExtension getClasses128()arrayReflectionExtension getClipPath128()stringImagickDraw getClipRule128()intImagickDraw getClipUnits128()intImagickDraw getClosure128()ClosureReflectionFunction getClosure128(object $object)ClosureReflectionMethod getClosureScopeClass128()ReflectionClassReflectionFunctionAbstract getClosureThis128()objectReflectionFunctionAbstract getCode128()ReturnTypeMongoDB::Driver::WriteConcernError getCode128()ReturnTypeMongoDB::Driver::WriteError getCollectionInfo128([array $options = array()])arrayMongoDB getCollectionNames128([array $options = array()])arrayMongoDB getColor128([bool $normalized = false])arrayImagickPixel getColorAsString128()stringImagickPixel getColorCount128()intImagickPixel getColorQuantum128()mixedImagickPixel getColorSpace128()stringHaruImage getColorStopCount128()intCairoGradientPattern getColorStopRgba128(string $index)arrayCairoGradientPattern getColorValue128(int $color)floatImagickPixel getColorValueQuantum128()mixedImagickPixel getColorspace128()intImagick getColumnMeta128(int $column)arrayPDOStatement getCombiningClass128(mixed $codepoint)intIntlChar getCommand128()voidEventHttpRequest getComment128()stringKTaglib_Tag getComment128(RarArchive $rarfile)stringRarArchive getCommentIndex128(int $index [, int $flags = ''])stringZipArchive getCommentName128(string $name [, int $flags = ''])stringZipArchive getCompressedSize128()intPharFileInfo getCompression128()intImagick getCompressionQuality128()intImagick getConfig128()Yaf_Config_AbstractYaf_Application getConfig128(tidy $object)arraytidy getConnection128()EventHttpConnectionEventHttpRequest getConnections128()arrayMongoClient getConstList128([bool $include_default = false])arraySplEnum getConstant128(string $name)mixedReflectionClass getConstants128()arrayReflectionClass getConstants128()arrayReflectionExtension getConstructor128()ReflectionMethodReflectionClass getContainer128()SDO_DataObjectSDO_DataObject getContainingType128()SDO_Model_TypeSDO_Model_Property getContainmentProperty128()SDO_Model_PropertySDO_Model_ReflectionDataObject getContent128()intCairoSurface getController128()Yaf_Controller_AbstractYaf_Action_Abstract getControllerName128()voidYaf_Request_Abstract getCookie128(string $name [, string $default = ''])mixedYaf_Request_Http getCookie128()voidYaf_Request_Simple getCopyright128()stringImagick getCopyright128()stringReflectionZendExtension getCrc128()stringRarEntry getCreatorId128()integerThread getCsvControl128()arraySplFileObject getCtm128()CairoMatrixCairoScaledFont getCurrentEncoder128()objectHaruDoc getCurrentFont128()objectHaruPage getCurrentFontSize128()floatHaruPage getCurrentIteratorRow128()arrayImagickPixelIterator getCurrentLine128()SplFileObject getCurrentPage128()objectHaruDoc getCurrentPoint128(CairoContext $context)arrayCairoContext getCurrentPos128()arrayHaruPage getCurrentRoute128()stringYaf_Router getCurrentTextPos128()arrayHaruPage getCurrentThread128()ThreadThread getCurrentThreadId128()integerThread getDBRef128(array $ref)arrayMongoCollection getDBRef128(array $ref)arrayMongoDB getDSTSavings128()integerIntlTimeZone getDash128()arrayHaruPage getDash128(CairoContext $context)arrayCairoContext getDashCount128(CairoContext $context)intCairoContext getData128()stringCairoImageSurface getData128()stringMongoDB::BSON::Binary getDataFactory128()SDO_DAS_DataFactorySDO_DAS_DataFactory getDateType128(IntlDateFormatter $fmt)intIntlDateFormatter getDayOfWeekType128(int $dayOfWeek, IntlCalendar $cal)intIntlCalendar getDebug128()stringSolrClient getDeclaringClass128()ReflectionClassReflectionMethod getDeclaringClass128()ReflectionClassReflectionParameter getDeclaringClass128()ReflectionClassReflectionProperty getDeclaringFunction128()ReflectionFunctionAbstractReflectionParameter getDefault128()mixedSDO_Model_Property getDefault128()stringLocale getDefaultProperties128()arrayReflectionClass getDefaultValue128()mixedReflectionParameter getDefaultValueConstantName128()stringReflectionParameter getDelayed128(array $keys [, bool $with_cas = '' [, callable $value_cb = '']])boolMemcached getDelayedByKey128(string $server_key, array $keys [, bool $with_cas = '' [, callable $value_cb = '']])boolMemcached getDeletedCount128()ReturnTypeMongoDB::Driver::WriteResult getDependencies128()arrayReflectionExtension getDepth128()intRecursiveIteratorIterator getDescent128()floatSWFFont getDescent128()floatSWFText getDescent128()intHaruFont getDescription128()stringKTaglib_ID3v2_AttachedPictureFrame getDestinationEncoding128()stringUConverter getDestinationType128()integerUConverter getDetails128()stringStompException getDeviceOffset128()arrayCairoSurface getDigestedResponse128()stringSolrResponse getDispatcher128()Yaf_DispatcherYaf_Application getDisplayLanguage128(string $locale [, string $in_locale = ''])stringLocale getDisplayName128([bool $isDaylight = '' [, integer $style = '' [, string $locale = '']]])stringIntlTimeZone getDisplayName128(string $locale [, string $in_locale = ''])stringLocale getDisplayRegion128(string $locale [, string $in_locale = ''])stringLocale getDisplayScript128(string $locale [, string $in_locale = ''])stringLocale getDisplayVariant128(string $locale [, string $in_locale = ''])stringLocale getDnsErrorString128()stringEventBufferEvent getDocComment128()stringReflectionClass getDocComment128()stringReflectionFunctionAbstract getDocComment128()stringReflectionProperty getDocNamespaces128([bool $recursive = false [, bool $from_root = true]])arraySimpleXMLElement getDocument128()arrayMongoResultException getDocument128()arrayMongoWriteConcernException getElapsedTicks128()intHRTime::PerformanceCounter getElapsedTime128([integer $unit = ''])floatHRTime::StopWatch getElem128(int $index)mixedOCI-Collection getElementById128(string $elementId)DOMElementDOMDocument getElementsByTagName128(string $name)DOMNodeListDOMDocument getElementsByTagName128(string $name)DOMNodeListDOMElement getElementsByTagNameNS128(string $namespaceURI, string $localName)DOMNodeListDOMDocument getElementsByTagNameNS128(string $namespaceURI, string $localName)DOMNodeListDOMElement getEnabled128()intEventBufferEvent getEncoder128(string $encoding)objectHaruDoc getEncodingName128()stringHaruFont getEndLine128()intReflectionClass getEndLine128()intReflectionFunctionAbstract getEndpoints128()arrayZMQSocket getEntries128(RarArchive $rarfile)RarArchiveRarArchive getEntry128(string $entryname, RarArchive $rarfile)RarEntryRarArchive getEntry128()stringRecursiveTreeIterator getEnv128(string $name [, string $default = ''])voidYaf_Request_Abstract getEps128()boolCairoPsSurface getEquivalentID128(string $zoneId, integer $index)stringIntlTimeZone getErrno128()intGearmanClient getErrno128()intGearmanWorker getErrno128()intSNMP getError128()stringSNMP getErrorCode128()ReturnTypeIntlBreakIterator getErrorCode128()intTransliterator getErrorCode128(Collator $coll)intCollator getErrorCode128(IntlCalendar $calendar)intIntlCalendar getErrorCode128(IntlDateFormatter $fmt)intIntlDateFormatter getErrorCode128(MessageFormatter $fmt)intMessageFormatter getErrorCode128(NumberFormatter $fmt)intNumberFormatter getErrorCode128(ResourceBundle $r)intResourceBundle getErrorCode128()integerIntlTimeZone getErrorCode128()integerUConverter getErrorMessage128()ReturnTypeIntlBreakIterator getErrorMessage128()stringIntlTimeZone getErrorMessage128()stringTransliterator getErrorMessage128()stringUConverter getErrorMessage128(Collator $coll)stringCollator getErrorMessage128(IntlCalendar $calendar)stringIntlCalendar getErrorMessage128(IntlDateFormatter $fmt)stringIntlDateFormatter getErrorMessage128(MessageFormatter $fmt)stringMessageFormatter getErrorMessage128(NumberFormatter $fmt)stringNumberFormatter getErrorMessage128(ResourceBundle $r)stringResourceBundle getErrorNumber128(mysqlnd_connection $connection)intMysqlndUhConnection getErrorString128(mysqlnd_connection $connection)stringMysqlndUhConnection getException128()voidYaf_Request_Abstract getExecutingFile128()stringReflectionGenerator getExecutingGenerator128()GeneratorReflectionGenerator getExecutingLine128()intReflectionGenerator getExpand128()boolSolrQuery getExpandFilterQueries128()arraySolrQuery getExpandQuery128()arraySolrQuery getExpandRows128()integerSolrQuery getExpandSortFields128()arraySolrQuery getExtend128()intCairoGradientPattern getExtend128()intCairoSurfacePattern getExtendedStats128([string $type = '' [, int $slabid = '' [, int $limit = 100]]])arrayMemcache getExtension128()ReflectionExtensionReflectionClass getExtension128()ReflectionExtensionReflectionFunctionAbstract getExtension128()stringDirectoryIterator getExtension128()stringSplFileInfo getExtensionName128()stringReflectionClass getExtensionName128()stringReflectionFunctionAbstract getExtensions128()arrayV8Js getExternalAttributesIndex128(int $index, int $opsys, int $attr [, int $flags = ''])boolZipArchive getExternalAttributesName128(string $name, int $opsys, int $attr [, int $flags = ''])boolZipArchive getFC_NFKC_Closure128(mixed $codepoint)stringIntlChar getFacet128()boolSolrQuery getFacetDateEnd128([string $field_override = ''])stringSolrQuery getFacetDateFields128()arraySolrQuery getFacetDateGap128([string $field_override = ''])stringSolrQuery getFacetDateHardEnd128([string $field_override = ''])stringSolrQuery getFacetDateOther128([string $field_override = ''])arraySolrQuery getFacetDateStart128([string $field_override = ''])stringSolrQuery getFacetFields128()arraySolrQuery getFacetLimit128([string $field_override = ''])intSolrQuery getFacetMethod128([string $field_override = ''])stringSolrQuery getFacetMinCount128([string $field_override = ''])intSolrQuery getFacetMissing128([string $field_override = ''])boolSolrQuery getFacetOffset128([string $field_override = ''])intSolrQuery getFacetPrefix128([string $field_override = ''])stringSolrQuery getFacetQueries128()arraySolrQuery getFacetSort128([string $field_override = ''])intSolrQuery getFeatures128()intEventBase getField128(string $fieldName)SolrDocumentFieldSolrDocument getField128(string $fieldName)SolrDocumentFieldSolrInputDocument getField128()stringSolrCollapseFunction getFieldBoost128(string $fieldName)floatSolrInputDocument getFieldCount128()intSolrDocument getFieldCount128()intSolrInputDocument getFieldCount128(mysqlnd_connection $connection)intMysqlndUhConnection getFieldNames128()arraySolrDocument getFieldNames128()arraySolrInputDocument getFields128()arraySolrQuery getFileInfo128([string $class_name = ''])SplFileInfoSplFileInfo getFileName128()stringReflectionClass getFileName128()stringReflectionFunctionAbstract getFileTime128()stringRarEntry getFilename128()stringCURLFile getFilename128()stringDirectoryIterator getFilename128()stringImagick getFilename128()stringMongoGridFSFile getFilename128()stringSplFileInfo getFiles128()voidYaf_Request_Http getFiles128()voidYaf_Request_Simple getFillColor128()ImagickPixelImagickDraw getFillOpacity128()floatImagickDraw getFillRule128()intImagickDraw getFillRule128(CairoContext $context)intCairoContext getFillingColorSpace128()intHaruPage getFilter128()intCairoSurfacePattern getFilterQueries128()arraySolrQuery getFirstDayOfWeek128(IntlCalendar $cal)intIntlCalendar getFlags128()ReturnTypeMongoDB::BSON::Regex getFlags128()intArrayObject getFlags128()intCachingIterator getFlags128()intFilesystemIterator getFlags128()intMultipleIterator getFlags128()intRegexIterator getFlags128()integerSplFileObject getFlags128()voidArrayIterator getFlatness128()floatHaruPage getFont128(string $fontname [, string $encoding = ''])objectHaruDoc getFont128()stringImagick getFont128()stringImagickDraw getFontFace128(CairoContext $context)voidCairoContext getFontFace128(CairoContext $context)voidCairoScaledFont getFontFamily128()stringImagickDraw getFontMatrix128(CairoContext $context)voidCairoContext getFontMatrix128(CairoContext $context)voidCairoScaledFont getFontName128()stringHaruFont getFontOptions128(CairoContext $context)voidCairoContext getFontOptions128(CairoContext $context)voidCairoScaledFont getFontOptions128(CairoContext $context)voidCairoSurface getFontSize128()floatImagickDraw getFontStretch128()intImagickDraw getFontStyle128()intImagickDraw getFontWeight128()intImagickDraw getFormat128()intCairoImageSurface getFormat128()stringImagick getFrameList128()arrayKTaglib_ID3v2_Tag getFrequency128()intHRTime::PerformanceCounter getFromIndex128(int $index [, int $length = '' [, int $flags = '']])stringZipArchive getFromName128(string $name [, int $length = '' [, int $flags = '']])stringZipArchive getFromNeuron128()intFANNConnection getFunction128()ReflectionFunctionAbstractReflectionGenerator getFunctions128()arrayReflectionExtension getFunctions128()arraySoapServer getGMT128()IntlTimeZoneIntlTimeZone getGMode128()intHaruPage getGenre128()stringKTaglib_Tag getGravity128()intImagick getGravity128()intImagickDraw getGrayFill128()floatHaruPage getGrayStroke128()floatHaruPage getGreatestMinimum128(int $field, IntlCalendar $cal)intIntlCalendar getGridFS128([string $prefix = "fs"])MongoGridFSMongoDB getGroup128()boolSolrQuery getGroup128()intDirectoryIterator getGroup128()intSplFileInfo getGroupCachePercent128()integerSolrQuery getGroupFacet128()boolSolrQuery getGroupFields128()arraySolrQuery getGroupFormat128()stringSolrQuery getGroupFunctions128()arraySolrQuery getGroupLimit128()integerSolrQuery getGroupMain128()boolSolrQuery getGroupNGroups128()boolSolrQuery getGroupOffset128()integerSolrQuery getGroupQueries128()arraySolrQuery getGroupSortFields128()arraySolrQuery getGroupTarget128(CairoContext $context)voidCairoContext getGroupTruncate128()boolSolrQuery getHSL128()arrayImagickPixel getHash128(object $object)stringSplObjectStorage getHeader128()voidYaf_Response_Abstract getHeight128()floatHaruPage getHeight128()floatSWFBitmap getHeight128()intCairoImageSurface getHeight128()intHaruImage getHighlight128()boolSolrQuery getHighlightAlternateField128([string $field_override = ''])stringSolrQuery getHighlightFields128()arraySolrQuery getHighlightFormatter128([string $field_override = ''])stringSolrQuery getHighlightFragmenter128([string $field_override = ''])stringSolrQuery getHighlightFragsize128([string $field_override = ''])intSolrQuery getHighlightHighlightMultiTerm128()boolSolrQuery getHighlightMaxAlternateFieldLength128([string $field_override = ''])intSolrQuery getHighlightMaxAnalyzedChars128()intSolrQuery getHighlightMergeContiguous128([string $field_override = ''])boolSolrQuery getHighlightRegexMaxAnalyzedChars128()intSolrQuery getHighlightRegexPattern128()stringSolrQuery getHighlightRegexSlop128()floatSolrQuery getHighlightRequireFieldMatch128()boolSolrQuery getHighlightSimplePost128([string $field_override = ''])stringSolrQuery getHighlightSimplePre128([string $field_override = ''])stringSolrQuery getHighlightSnippets128([string $field_override = ''])intSolrQuery getHighlightUsePhraseHighlighter128()boolSolrQuery getHint128()stringSolrCollapseFunction getHintMetrics128()intCairoFontOptions getHintStyle128()intCairoFontOptions getHomeURL128()stringImagick getHorizontalScaling128()floatHaruPage getHost128()stringEventHttpRequest getHost128()stringMongoCursorException getHost128()stringMongoDB::Driver::Server getHostInformation128(mysqlnd_connection $connection)stringMysqlndUhConnection getHostOs128()intRarEntry getHostname128()stringMongoId getHosts128()arrayMongoClient getHtmlVer128(tidy $object)inttidy getHttpStatus128()intSolrResponse getHttpStatusMessage128()stringSolrResponse getID128()stringIntlTimeZone getID3v1Tag128([bool $create = false])KTaglib_ID3v1_TagKTaglib_MPEG_File getID3v2Tag128([bool $create = false])KTaglib_ID3v2_TagKTaglib_MPEG_File getINIEntries128()arrayReflectionExtension getId128()MongoDB::Driver::CursorIdMongoDB::Driver::Cursor getIdleTimeout128()ZMQDeviceZMQDevice getImage128()ImagickImagick getImageAlphaChannel128()intImagick getImageArtifact128(string $artifact)stringImagick getImageAttribute128(string $key)stringImagick getImageBackgroundColor128()ImagickPixelImagick getImageBlob128()stringImagick getImageBluePrimary128()arrayImagick getImageBorderColor128()ImagickPixelImagick getImageChannelDepth128(int $channel)intImagick getImageChannelDistortion128(Imagick $reference, int $channel, int $metric)floatImagick getImageChannelDistortions128(Imagick $reference, int $metric [, int $channel = Imagick::CHANNEL_DEFAULT])floatImagick getImageChannelExtrema128(int $channel)arrayImagick getImageChannelKurtosis128([int $channel = Imagick::CHANNEL_DEFAULT])arrayImagick getImageChannelMean128(int $channel)arrayImagick getImageChannelRange128(int $channel)arrayImagick getImageChannelStatistics128()arrayImagick getImageClipMask128()ImagickImagick getImageColormapColor128(int $index)ImagickPixelImagick getImageColors128()intImagick getImageColorspace128()intImagick getImageCompose128()intImagick getImageCompression128()intImagick getImageCompressionQuality128()intImagick getImageDelay128()intImagick getImageDepth128()intImagick getImageDispose128()intImagick getImageDistortion128(MagickWand $reference, int $metric)floatImagick getImageExtrema128()arrayImagick getImageFilename128()stringImagick getImageFormat128()stringImagick getImageGamma128()floatImagick getImageGeometry128()arrayImagick getImageGravity128()intImagick getImageGreenPrimary128()arrayImagick getImageHeight128()intImagick getImageHistogram128()arrayImagick getImageIndex128()intImagick getImageInterlaceScheme128()intImagick getImageInterpolateMethod128()intImagick getImageIterations128()intImagick getImageLength128()intImagick getImageMagickLicense128()stringImagick getImageMatte128()boolImagick getImageMatteColor128()ImagickPixelImagick getImageMimeType128()stringImagick getImageOrientation128()intImagick getImagePage128()arrayImagick getImagePixelColor128(int $x, int $y)ImagickPixelImagick getImageProfile128(string $name)stringImagick getImageProfiles128([string $pattern = "*" [, bool $only_names = true]])arrayImagick getImageProperties128([string $pattern = "*" [, bool $only_names = true]])arrayImagick getImageProperty128(string $name)stringImagick getImageRedPrimary128()arrayImagick getImageRegion128(int $width, int $height, int $x, int $y)ImagickImagick getImageRenderingIntent128()intImagick getImageResolution128()arrayImagick getImageScene128()intImagick getImageSignature128()stringImagick getImageSize128()intImagick getImageTicksPerSecond128()intImagick getImageTotalInkDensity128()floatImagick getImageType128()intImagick getImageUnits128()intImagick getImageVirtualPixelMethod128()intImagick getImageWhitePoint128()arrayImagick getImageWidth128()intImagick getImagesBlob128()stringImagick getInc128()intMongoId getIndex128()ReturnTypeMongoDB::Driver::WriteError getIndex128()intImagickPixel getIndexInfo128()arrayMongoCollection getInfo128()ReturnTypeMongoDB::Driver::WriteConcernError getInfo128()ReturnTypeMongoDB::Driver::WriteResult getInfo128()arrayMongoDB::Driver::Server getInfo128()mixedSplObjectStorage getInfoAttr128(int $type)stringHaruDoc getInnerIterator128()IteratorAppendIterator getInnerIterator128()IteratorCachingIterator getInnerIterator128()IteratorFilterIterator getInnerIterator128()IteratorLimitIterator getInnerIterator128()IteratorOuterIterator getInnerIterator128()TraversableIteratorIterator getInnerIterator128()iteratorNoRewindIterator getInnerIterator128()iteratorRecursiveIteratorIterator getInode128()intDirectoryIterator getInode128()intSplFileInfo getInput128()EventBufferEventBufferEvent getInputBuffer128()EventBufferEventHttpRequest getInputDocument128()SolrInputDocumentSolrDocument getInputHeaders128()arrayEventHttpRequest getInsertedCount128()ReturnTypeMongoDB::Driver::WriteResult getInstance128()Yaf_DispatcherYaf_Dispatcher getInstance128()voidYaf_Loader getInstance128()voidYaf_Session getInstanceProperties128()arraySDO_Model_ReflectionDataObject getIntPropertyMaxValue128(int $property)intIntlChar getIntPropertyMinValue128(int $property)intIntlChar getIntPropertyValue128(mixed $codepoint, int $property)intIntlChar getInterfaceNames128()arrayReflectionClass getInterfaces128()arrayReflectionClass getInterlaceScheme128()intImagick getInternalInfo128()arraySolrClientException getInternalInfo128()arraySolrException getInternalInfo128()arraySolrIllegalArgumentException getInternalInfo128()arraySolrIllegalOperationException getInternalInfo128()arraySolrServerException getInvokeArg128(string $name)voidYaf_Controller_Abstract getInvokeArgs128()voidYaf_Controller_Abstract getIterator128()ArrayIteratorArrayObject getIterator128()TokyoTyrantIteratorTokyoTyrant getIterator128()TokyoTyrantIteratorTokyoTyrantTable getIteratorClass128()stringArrayObject getIteratorIndex128()intAppendIterator getIteratorIndex128()intImagick getIteratorMode128()intSplDoublyLinkedList getIteratorRow128()intImagickPixelIterator getJournal128()bool|nullMongoDB::Driver::WriteConcern getJsFileName128()stringV8JsException getJsLineNumber128()intV8JsException getJsSourceLine128()stringV8JsException getJsTrace128()stringV8JsException getKeywordValuesForLocale128(string $key, string $locale, boolean $commonlyUsed)IteratorIntlCalendar getKeywords128(string $locale)arrayLocale getLEvel128()string|nullMongoDB::Driver::ReadConcern getLabels128()arraySVMModel getLanguage128()voidYaf_Request_Abstract getLastCodePoint128()ReturnTypeIntlCodePointBreakIterator getLastElapsedTicks128()intHRTime::PerformanceCounter getLastElapsedTime128([integer $unit = ''])floatHRTime::StopWatch getLastError128()stringSphinxClient getLastErrorMsg128()stringYaf_Application getLastErrorNo128()intYaf_Application getLastErrors128()arrayDateTime getLastErrors128()arrayDateTimeImmutable getLastErrors128()arrayZMQPoll getLastInsertId128(mysqlnd_connection $connection)intMysqlndUhConnection getLastMessage128(mysqlnd_connection $connection)voidMysqlndUhConnection getLastResponse128()stringOAuth getLastResponseHeaders128()stringOAuth getLastResponseInfo128()arrayOAuth getLastSocketErrno128([mixed $socket = ''])intEventUtil getLastSocketError128([mixed $socket = ''])stringEventUtil getLastWarning128()stringSphinxClient getLatency128()stringMongoDB::Driver::Server getLayer128()intKTaglib_MPEG_AudioProperties getLeading128()floatSWFFont getLeading128()floatSWFText getLeastMaximum128(int $field, IntlCalendar $cal)intIntlCalendar getLength128()intKTaglib_MPEG_AudioProperties getLevel128()intMongoLog getLevels128()arrayCairoPsSurface getLibraryPath128([bool $is_global = false])Yaf_LoaderYaf_Loader getLine128()arrayVarnishLog getLineCap128()intHaruPage getLineCap128(CairoContext $context)intCairoContext getLineJoin128()intHaruPage getLineJoin128(CairoContext $context)intCairoContext getLineNo128()intDOMNode getLineWidth128()floatHaruPage getLineWidth128(CairoContext $context)floatCairoContext getLinkTarget128()stringSplFileInfo getListIndex128()intSDO_DAS_Setting getLocalNamespace128()voidYaf_Loader getLocale128(string $"locale_type")ReturnTypeIntlBreakIterator getLocale128(NumberFormatter $formatter)stringMessageFormatter getLocale128([int $type = '', NumberFormatter $fmt])stringNumberFormatter getLocale128([int $which = '', IntlDateFormatter $fmt])stringIntlDateFormatter getLocale128(int $localeType, IntlCalendar $cal)stringIntlCalendar getLocale128(int $type, Collator $coll)stringCollator getLocales128(string $bundlename)arrayResourceBundle getLocation128(DateTimeZone $object)arrayDateTimeZone getLoop128()EvLoopEvWatcher getMTime128()intDirectoryIterator getMTime128()intSplFileInfo getMatchedCount128()ReturnTypeMongoDB::Driver::WriteResult getMatrix128()arrayImagickKernel getMatrix128(CairoContext $context)voidCairoContext getMatrix128(CairoContext $context)voidCairoPattern getMax128()stringSolrCollapseFunction getMaxDepth128()mixedRecursiveIteratorIterator getMaxLineLen128()intSplFileObject getMaximum128(int $field, IntlCalendar $cal)intIntlCalendar getMessage128()ReturnTypeMongoDB::Driver::WriteConcernError getMessage128()ReturnTypeMongoDB::Driver::WriteError getMetaList128()arraySwishResult getMetaList128(string $index_name)arraySwish getMetadata128()mixedPhar getMetadata128()mixedPharFileInfo getMethod128(string $name)ReflectionMethodReflectionClass getMethod128()intRarEntry getMethod128([EventConfig $cfg = ''])stringEventBase getMethod128()voidYaf_Request_Abstract getMethods128([int $filter = ''])arrayReflectionClass getMimeType128()stringCURLFile getMimeType128()stringKTaglib_ID3v2_AttachedPictureFrame getMin128()stringSolrCollapseFunction getMinimalDaysInFirstWeek128(IntlCalendar $cal)intIntlCalendar getMinimum128(int $field, IntlCalendar $cal)intIntlCalendar getMiterLimit128()floatHaruPage getMiterLimit128(CairoContext $context)floatCairoContext getMlt128()boolSolrQuery getMltBoost128()boolSolrQuery getMltCount128()intSolrQuery getMltFields128()arraySolrQuery getMltMaxNumQueryTerms128()intSolrQuery getMltMaxNumTokens128()intSolrQuery getMltMaxWordLength128()intSolrQuery getMltMinDocFrequency128()intSolrQuery getMltMinTermFrequency128()intSolrQuery getMltMinWordLength128()intSolrQuery getMltQueryFields128()arraySolrQuery getMode128()intRegexIterator getMode128()integerMongoDB::Driver::ReadPreference getModified128()boolPhar getModifiedCount128()ReturnTypeMongoDB::Driver::WriteResult getModifierNames128(int $modifiers)arrayReflection getModifiers128()intReflectionClass getModifiers128()intReflectionMethod getModifiers128()intReflectionProperty getModule128()intMongoLog getModuleName128()stringYaf_Controller_Abstract getModuleName128()voidYaf_Request_Abstract getModules128()arrayYaf_Application getMulti128(array $keys [, array $cas_tokens = '' [, int $flags = '']])mixedMemcached getMultiByKey128(string $server_key, array $keys [, string $cas_tokens = '' [, int $flags = '']])arrayMemcached getName128()stringMongoCollection getName128()stringRarEntry getName128()stringReflectionClass getName128()stringReflectionExtension getName128()stringReflectionFunctionAbstract getName128()stringReflectionParameter getName128()stringReflectionProperty getName128()stringReflectionZendExtension getName128()stringSDO_Model_Property getName128()stringSDO_Model_Type getName128()stringSimpleXMLElement getName128(DateTimeZone $object)stringDateTimeZone getNameIndex128(int $index [, int $flags = ''])stringZipArchive getNamedItem128(string $name)DOMNodeDOMNamedNodeMap getNamedItemNS128(string $namespaceURI, string $localName)DOMNodeDOMNamedNodeMap getNamespaceName128()stringReflectionClass getNamespaceName128()stringReflectionFunctionAbstract getNamespaceURI128()stringSDO_Model_Type getNamespaces128([bool $recursive = false])arraySimpleXMLElement getNext128()MongoGridFSFileMongoGridFSCursor getNext128()arrayMongoCursor getNextIteratorRow128()arrayImagickPixelIterator getNodePath128()stringDOMNode getNow128()floatIntlCalendar getNrClass128()intSVMModel getNullPolicy128()stringSolrCollapseFunction getNumFrames128()intSWFVideoStream getNumberImages128()intImagick getNumberOfParameters128()intReflectionFunctionAbstract getNumberOfRequiredParameters128()intReflectionFunctionAbstract getNumericValue128(mixed $codepoint)floatIntlChar getOffset128(DateTime $datetime, DateTimeZone $object)intDateTimeZone getOffset128(DateTimeInterface $object)intDateTime getOffset128(DateTimeInterface $object)intDateTimeImmutable getOffset128(DateTimeInterface $object)intDateTimeInterface getOffset128(float $date, bool $local, integer $rawOffset, integer $dstOffset)integerIntlTimeZone getOldContainer128(SDO_DataObject $data_object)SDO_DataObjectSDO_DAS_ChangeSummary getOldValues128(SDO_DataObject $data_object)SDO_ListSDO_DAS_ChangeSummary getOperator128(CairoContext $context)intCairoContext getOpt128(string $key)mixedZMQContext getOpt128(string $option, tidy $object)mixedtidy getOptDoc128(string $optname, tidy $object)stringtidy getOption128(int $option)mixedMemcached getOption128(string $key)stringImagick getOptions128()arraySVM getOptions128()arraySolrClient getOutput128()EventBufferEventBufferEvent getOutputBuffer128()EventBufferEventHttpRequest getOutputHeaders128()voidEventHttpRequest getOwner128()intDirectoryIterator getOwner128()intSplFileInfo getPID128()intMongoId getPackageName128()stringImagick getPackedSize128()intRarEntry getPage128()arrayImagick getPageLayout128()intHaruDoc getPageMode128()intHaruDoc getPanic128()stringVarnishAdmin getParam128([string $param_name = ''])mixedSolrParams getParam128(string $name [, string $default = ''])voidYaf_Request_Abstract getParameter128(string $namespaceURI, string $localName)stringXSLTProcessor getParameters128()ReflectionParameterReflectionFunctionAbstract getParams128()arraySolrParams getParams128()arrayVarnishAdmin getParams128()voidYaf_Request_Abstract getParent128()tidyNodetidyNode getParentClass128()objectReflectionClass getParsedWords128(string $index_name)arraySwishResults getParserProperty128(int $property)boolXMLReader getPartsIterator128([string $"key_type" = ''])ReturnTypeIntlBreakIterator getPath128()stringDirectoryIterator getPath128()stringSplFileInfo getPathInfo128([string $class_name = ''])SplFileInfoSplFileInfo getPathname128()stringDirectoryIterator getPathname128()stringSplFileInfo getPattern128()stringMongoDB::BSON::Regex getPattern128(IntlDateFormatter $fmt)stringIntlDateFormatter getPattern128(MessageFormatter $fmt)stringMessageFormatter getPattern128(NumberFormatter $fmt)stringNumberFormatter getPeer128(string $address, int $port)voidEventHttpConnection getPendingException128()V8JsExceptionV8Js getPerms128()intDirectoryIterator getPerms128()intSplFileInfo getPersistentId128()stringZMQSocket getPharFlags128()intPharFileInfo getPixelIterator128()ImagickPixelIteratorImagick getPixelRegionIterator128(int $x, int $y, int $columns, int $rows)ImagickPixelIteratorImagick getPointSize128()floatImagick getPoints128()arrayCairoLinearGradient getPoolSize128()intMongo getPort128()intMongoDB::Driver::Server getPosition128()intLimitIterator getPosition128()intReflectionParameter getPost128(string $name [, string $default = ''])mixedYaf_Request_Http getPost128()voidYaf_Request_Simple getPostFilename128()stringCURLFile getPostfix128()voidRecursiveTreeIterator getPrefix128()stringRecursiveTreeIterator getPregFlags128()intRegexIterator getPreparedParams128()arraySolrParams getPrevious128()voidYaf_Exception getPreviousIteratorRow128()arrayImagickPixelIterator getPrimaryLanguage128(string $locale)stringLocale getProfilingLevel128()intMongoDB getProperties128()arraySDO_Model_Type getProperties128([int $filter = ''])arrayReflectionClass getProperty128(string $name)ReflectionPropertyReflectionClass getProperty128(int $sequence_index)SDO_Model_PropertySDO_Sequence getProperty128(mixed $identifier)SDO_Model_PropertySDO_Model_Type getPropertyEnum128(string $alias)intIntlChar getPropertyIndex128()intSDO_DAS_Setting getPropertyList128(string $index_name)arraySwish getPropertyName128()stringSDO_DAS_Setting getPropertyName128(int $property [, int $nameChoice = ''])stringIntlChar getPropertyNames128()arraySolrObject getPropertyValueEnum128(int $property, string $name)intIntlChar getPropertyValueName128(int $property, int $value [, int $nameChoice = ''])stringIntlChar getProtocolInformation128(mysqlnd_connection $connection)stringMysqlndUhConnection getPrototype128()ReflectionMethodReflectionMethod getQuantum128()intImagick getQuantumDepth128()arrayImagick getQuantumRange128()arrayImagick getQuery128()TokyoTyrantQueryTokyoTyrantTable getQuery128(string $name [, string $default = ''])mixedYaf_Request_Http getQuery128()stringSolrQuery getQuery128()voidYaf_Request_Simple getRGBFill128()arrayHaruPage getRGBStroke128()arrayHaruPage getRawOffset128()integerIntlTimeZone getRawRequest128()stringSolrResponse getRawRequestHeaders128()stringSolrResponse getRawResponse128()stringSolrResponse getRawResponseHeaders128()stringSolrResponse getReadPreference128()arrayMongoClient getReadPreference128()arrayMongoCollection getReadPreference128()arrayMongoCommandCursor getReadPreference128()arrayMongoCursor getReadPreference128()arrayMongoCursorInterface getReadPreference128()arrayMongoDB getReadTimeout128(resource $link)arrayStomp getRealPath128()stringSplFileInfo getRegex128()stringRegexIterator getRegion128(string $locale)stringLocale getRegistry128(string $key)stringImagick getRelease128()stringtidy getReleaseDate128()stringImagick getRemovedStopwords128(string $index_name)arraySwishResults getRepeatedWallTimeOption128(IntlCalendar $cal)intIntlCalendar getRequest128()Yaf_Request_AbstractYaf_Controller_Abstract getRequest128()Yaf_Request_AbstractYaf_Dispatcher getRequest128()voidYaf_Request_Http getRequest128()voidYaf_Request_Simple getRequestHeader128(string $http_method, string $url [, mixed $extra_parameters = ''])stringOAuth getRequestToken128(string $request_token_url [, string $callback_url = '' [, string $http_method = '']])arrayOAuth getRequestUri128()voidYaf_Request_Abstract getRequestUrl128()stringSolrResponse getResource128(int $type)intImagick getResource128()resourceMongoGridFSFile getResourceLimit128(int $type)intImagick getResponse128()SolrObjectSolrResponse getResponse128()Yaf_Response_AbstractYaf_Controller_Abstract getResponse128()stringSolrPingResponse getResponseCode128()intEventHttpRequest getResultCode128()intMemcached getResultMessage128()stringMemcached getReturnType128()ReflectionTypeReflectionFunctionAbstract getRgba128()arrayCairoSolidPattern getRootDataObject128()SDO_DataObjectSDO_DAS_XML_Document getRootElementName128()stringSDO_DAS_XML_Document getRootElementURI128()stringSDO_DAS_XML_Document getRot128()floatSWFDisplayItem getRoute128(string $name)Yaf_Route_InterfaceYaf_Router getRouter128()Yaf_RouterYaf_Dispatcher getRoutes128()mixedYaf_Router getRows128()intSolrQuery getRuleStatus128()ReturnTypeIntlRuleBasedBreakIterator getRuleStatusVec128()ReturnTypeIntlRuleBasedBreakIterator getRules128()ReturnTypeIntlRuleBasedBreakIterator getSampleBitrate128()intKTaglib_MPEG_AudioProperties getSamplingFactors128()arrayImagick getScaleMatrix128()voidCairoScaledFont getScaledFont128(CairoContext $context)voidCairoContext getScript128(string $locale)stringLocale getScriptPath128()stringYaf_View_Simple getScriptPath128()voidYaf_View_Interface getSecurityPrefs128()intXsltProcessor getSequence128()SDO_SequenceSDO_DataObject getServer128()MongoDB::Driver::ServerMongoDB::Driver::Cursor getServer128()ReturnTypeMongoDB::Driver::WriteResult getServer128(string $name [, string $default = ''])voidYaf_Request_Abstract getServerByKey128(string $server_key)arrayMemcached getServerInformation128(mysqlnd_connection $connection)stringMysqlndUhConnection getServerList128()arrayMemcached getServerStatistics128(mysqlnd_connection $connection)stringMysqlndUhConnection getServerStatus128(string $host [, int $port = 11211])intMemcache getServerVersion128(mysqlnd_connection $connection)intMysqlndUhConnection getServers128()arrayMongoDB::Driver::Manager getService128(string $target [, string $binding = '' [, array $config = '']])mixedSCA getSessionId128(resource $link)stringStomp getShape128(int $code)stringSWFFont getShape1128()SWFShapeSWFMorph getShape2128()SWFShapeSWFMorph getShortName128()stringReflectionClass getShortName128()stringReflectionFunctionAbstract getSignature128()arrayPhar getSize128()arrayHaruImage getSize128()arrayImagick getSize128()intDirectoryIterator getSize128()intKTaglib_ID3v2_Frame getSize128()intMongoGridFSFile getSize128()intMongoPool getSize128()intQuickHashIntHash getSize128()intQuickHashIntSet getSize128()intQuickHashIntStringHash getSize128()intQuickHashStringIntHash getSize128()intSplFileInfo getSize128()intSplFixedArray getSize128()integerSolrCollapseFunction getSizeOffset128()intImagick getSkippedWallTimeOption128(IntlCalendar $cal)intIntlCalendar getSlave128()stringMongo getSlaveOkay128()boolMongo getSlaveOkay128()boolMongoCollection getSlaveOkay128()boolMongoDB getSnapshot128()arrayVarnishStat getSockOpt128(string $key)mixedZMQSocket getSocket128(integer $type [, string $persistent_id = null [, callback $on_new_socket = null]])ZMQSocketZMQContext getSocketFd128(mixed $socket)intEventUtil getSocketName128(mixed $socket, string $address [, mixed $port = ''])boolEventUtil getSocketName128(string $address [, mixed $port = ''])boolEventListener getSocketType128()integerZMQSocket getSolrVersion128()stringSolrUtils getSortFields128()arraySolrQuery getSortKey128(string $str, Collator $coll)stringCollator getSource128(CairoContext $context)voidCairoContext getSourceEncoding128()stringUConverter getSourceType128()integerUConverter getSqlstate128(mysqlnd_connection $connection)stringMysqlndUhConnection getStacked128()integerWorker getStandards128()arrayUConverter getStart128()intSolrQuery getStartLine128()intReflectionClass getStartLine128()intReflectionFunctionAbstract getStaticProperties128()arrayReflectionClass getStaticPropertyValue128(string $name [, mixed $def_value = ''])mixedReflectionClass getStaticVariables128()arrayReflectionFunctionAbstract getStatistics128(mysqlnd_connection $connection)arrayMysqlndUhConnection getStats128()arrayMemcached getStats128([string $type = '' [, int $slabid = '' [, int $limit = 100]]])arrayMemcache getStats128()boolSolrQuery getStatsFacets128()arraySolrQuery getStatsFields128()arraySolrQuery getStatus128(tidy $object)inttidy getStatusString128()stringZipArchive getStream128([string $password = ''])resourceRarEntry getStream128(string $name)resourceZipArchive getStreamSize128()intHaruDoc getStrength128(Collator $coll)intCollator getStride128()intCairoImageSurface getStrokeAntialias128()boolImagickDraw getStrokeColor128()ImagickPixelImagickDraw getStrokeDashArray128()arrayImagickDraw getStrokeDashOffset128()floatImagickDraw getStrokeLineCap128()intImagickDraw getStrokeLineJoin128()intImagickDraw getStrokeMiterLimit128()intImagickDraw getStrokeOpacity128()floatImagickDraw getStrokeWidth128()floatImagickDraw getStrokingColorSpace128()intHaruPage getStub128()stringPhar getSubIterator128([int $level = ''])RecursiveIteratorRecursiveIteratorIterator getSubPath128()stringRecursiveDirectoryIterator getSubPathname128()stringRecursiveDirectoryIterator getSubpixelOrder128()intCairoFontOptions getSubstChars128()stringUConverter getSupportedCompression128()arrayPhar getSupportedMethods128()arrayEvent getSupportedSignatures128()arrayPhar getSurface128()voidCairoSurfacePattern getSvmType128()intSVMModel getSvrProbability128()floatSVMModel getSymbol128(int $attr, NumberFormatter $fmt)stringNumberFormatter getTZDataVersion128()stringIntlTimeZone getTagName128(int $index)stringVarnishLog getTagSets128()arrayMongoDB::Driver::ReadPreference getTags128()stringMongoDB::Driver::Server getTarget128(CairoContext $context)voidCairoContext getTerminationInfo128()arrayThreaded getTerms128()boolSolrQuery getTermsField128()stringSolrQuery getTermsIncludeLowerBound128()boolSolrQuery getTermsIncludeUpperBound128()boolSolrQuery getTermsLimit128()intSolrQuery getTermsLowerBound128()stringSolrQuery getTermsMaxCount128()intSolrQuery getTermsMinCount128()intSolrQuery getTermsPrefix128()stringSolrQuery getTermsReturnRaw128()boolSolrQuery getTermsSort128()intSolrQuery getTermsUpperBound128()stringSolrQuery getText128()ReturnTypeIntlBreakIterator getTextAlignment128()intImagickDraw getTextAntialias128()boolImagickDraw getTextAttribute128(int $attr, NumberFormatter $fmt)stringNumberFormatter getTextDecoration128()intImagickDraw getTextEncoding128()stringImagickDraw getTextInterlineSpacing128()floatImagickDraw getTextInterwordSpacing128()floatImagickDraw getTextKerning128()floatImagickDraw getTextLeading128()floatHaruPage getTextMatrix128()arrayHaruPage getTextRenderingMode128()intHaruPage getTextRise128()floatHaruPage getTextUnderColor128()ImagickPixelImagickDraw getTextWidth128(string $text)arrayHaruFont getTextWidth128(string $text)floatHaruPage getThis128()objectReflectionGenerator getThreadId128(mysqlnd_connection $connection)intMysqlndUhConnection getThreadId128()integerThread getTime128(IntlCalendar $cal)floatIntlCalendar getTimeAllowed128()intSolrQuery getTimeOfDayCached128()doubleEventBase getTimeType128(IntlDateFormatter $fmt)intIntlDateFormatter getTimeZone128()IntlTimeZoneIntlDateFormatter getTimeZone128(IntlCalendar $cal)IntlTimeZoneIntlCalendar getTimeZoneId128(IntlDateFormatter $fmt)stringIntlDateFormatter getTimerTimeout128()ZMQDeviceZMQDevice getTimestamp128()intMongoId getTimestamp128(DateTimeInterface $object)intDateTime getTimestamp128(DateTimeInterface $object)intDateTimeImmutable getTimestamp128(DateTimeInterface $object)intDateTimeInterface getTimezone128(DateTimeInterface $object)DateTimeZoneDateTime getTimezone128(DateTimeInterface $object)DateTimeZoneDateTimeImmutable getTimezone128(DateTimeInterface $object)DateTimeZoneDateTimeInterface getTitle128()stringKTaglib_Tag getToNeuron128()intFANNConnection getTolerance128(CairoContext $context)floatCairoContext getTotalCount128()intAPCIterator getTotalCount128()intAPCUIterator getTotalHits128()intAPCIterator getTotalHits128()intAPCUIterator getTotalSize128()intAPCIterator getTotalSize128()intAPCUIterator getTrace128([int $options = DEBUG_BACKTRACE_PROVIDE_OBJECT])arrayReflectionGenerator getTrack128()intKTaglib_Tag getTraitAliases128()arrayReflectionClass getTraitNames128()arrayReflectionClass getTraits128()arrayReflectionClass getTransMatrix128()arrayHaruPage getTransitions128([int $timestamp_begin = '' [, int $timestamp_end = '', DateTimeZone $object]])arrayDateTimeZone getType128()ReflectionTypeReflectionParameter getType128()SDO_Model_TypeSDO_Model_Property getType128()SDO_Model_TypeSDO_Model_ReflectionDataObject getType128()intCairoFontFace getType128()intCairoPattern getType128()intCairoScaledFont getType128()intCairoSurface getType128()intHaruEncoder getType128()intJudy getType128()intKTaglib_ID3v2_AttachedPictureFrame getType128()integerMongoDB::BSON::Binary getType128()integerMongoDB::Driver::Server getType128()stringDirectoryIterator getType128()stringSplFileInfo getType128()stringYar_Server_Exception getType128(IntlCalendar $cal)stringIntlCalendar getType128()voidYar_Client_Exception getTypeName128()stringSDO_DataObject getTypeNamespaceURI128()stringSDO_DataObject getURL128()stringReflectionZendExtension getUTF8Width128(string $string)floatSWFFont getUTF8Width128(string $string)floatSWFText getUnicode128(int $character)intHaruEncoder getUnicodeVersion128()arrayIntlChar getUnicodeWidth128(int $character)intHaruFont getUnpackedSize128()intRarEntry getUpsertedCount128()ReturnTypeMongoDB::Driver::WriteResult getUpsertedIds128()ReturnTypeMongoDB::Driver::WriteResult getUri128()stringEventHttpRequest getValue128()mixedSDO_DAS_Setting getValue128([object $object = ''])mixedReflectionProperty getVectorGraphics128()stringImagickDraw getVersion128()arrayImagick getVersion128()arrayMemcached getVersion128()intKTaglib_MPEG_AudioProperties getVersion128()intRarEntry getVersion128()stringLua getVersion128()stringMemcache getVersion128()stringPhar getVersion128()stringReflectionExtension getVersion128()stringReflectionZendExtension getVersions128()arrayCairoSvgSurface getView128()Yaf_View_InterfaceYaf_Controller_Abstract getViewpath128()voidYaf_Controller_Abstract getW128()string|int|nullMongoDB::Driver::WriteConcern getWarningCount128(mysqlnd_connection $connection)intMysqlndUhConnection getWeekendTransition128(string $dayOfWeek, IntlCalendar $cal)intIntlCalendar getWeight128()voidFANNConnection getWidth128()floatHaruPage getWidth128()floatSWFBitmap getWidth128(string $string)floatSWFFont getWidth128(string $string)floatSWFText getWidth128()intCairoImageSurface getWidth128()intHaruImage getWordSpace128()floatHaruPage getWriteConcern128()arrayMongoClient getWriteConcern128()arrayMongoCollection getWriteConcern128()arrayMongoDB getWriteConcernError128()ReturnTypeMongoDB::Driver::WriteResult getWriteErrors128()ReturnTypeMongoDB::Driver::WriteResult getWriteResult128()MongoDB::Driver::WriteResultMongoDB::Driver::Exception::WriteException getWritingMode128()intHaruEncoder getWtimeout128()intMongoDB::Driver::WriteConcern getX128()floatSWFDisplayItem getXHeight128()intHaruFont getXScale128()floatSWFDisplayItem getXSkew128()floatSWFDisplayItem getY128()floatSWFDisplayItem getYScale128()floatSWFDisplayItem getYSkew128()floatSWFDisplayItem getYear128()intKTaglib_Tag get_browser16([string $user_agent = '' [, bool $return_array = false]])mixed get_called_class16()string get_cfg_var16(string $option)string get_charset128(mysqli $link)objectmysqli get_class16([object $object = ''])string get_class_methods16(mixed $class_name)array get_class_vars16(string $class_name)array get_client_info128(mysqli $link)stringmysqli get_connection_stats128(mysqli $link)arraymysqli get_current_user16()string get_declared_classes16()array get_declared_interfaces16()array get_declared_traits16()array get_defined_constants16([bool $categorize = false])array get_defined_functions16()array get_defined_vars16()array get_extension_funcs16(string $module_name)array get_headers16(string $url [, int $format = ''])array get_host_info128(resource $link)stringmaxdb get_html_translation_table16([int $table = HTML_SPECIALCHARS [, int $flags = ENT_COMPAT | ENT_HTML401 [, string $encoding = "UTF-8"]]])array get_include_path16()string get_included_files16()array get_loaded_extensions16([bool $zend_extensions = false])array get_magic_quotes_gpc16()bool get_magic_quotes_runtime16()bool get_meta_tags16(string $filename [, bool $use_include_path = false])array get_object_vars16(object $object)array get_parent_class16([mixed $object = ''])string get_required_files16() get_resource_type16(resource $handle)string get_resources16([string $type = ''])resource get_result128(mysqli_stmt $stmt)mysqli_resultmysqli_stmt get_warnings128(mysqli $link)mysqli_warningmysqli get_warnings128(mysqli_stmt $stmt)objectmysqli_stmt getallheaders16()array getcolor128([bool $as_array = '' [, bool $normalize_array = '']])mixedGmagickPixel getcolorcount128()intGmagickPixel getcolorvalue128(int $color)floatGmagickPixel getcopyright128()stringGmagick getcwd16()string getdate16([int $timestamp = time()])array getenv16(string $varname)string getfilename128()stringGmagick getfillcolor128()voidGmagickDraw getfillopacity128()floatGmagickDraw getfont128()stringGmagickDraw getfontsize128()floatGmagickDraw getfontstyle128()intGmagickDraw getfontweight128()intGmagickDraw gethostbyaddr16(string $ip_address)string gethostbyname16(string $hostname)string gethostbynamel16(string $hostname)array gethostname16()string getimagebackgroundcolor128()voidGmagick getimageblueprimary128()arrayGmagick getimagebordercolor128()voidGmagick getimagechanneldepth128(int $channel_type)intGmagick getimagecolors128()intGmagick getimagecolorspace128()intGmagick getimagecompose128()intGmagick getimagedelay128()intGmagick getimagedepth128()intGmagick getimagedispose128()intGmagick getimageextrema128()arrayGmagick getimagefilename128()stringGmagick getimageformat128()stringGmagick getimagegamma128()floatGmagick getimagegreenprimary128()arrayGmagick getimageheight128()intGmagick getimagehistogram128()arrayGmagick getimageindex128()intGmagick getimageinterlacescheme128()intGmagick getimageiterations128()intGmagick getimagematte128()intGmagick getimagemattecolor128()voidGmagick getimageprofile128(string $name)stringGmagick getimageredprimary128()arrayGmagick getimagerenderingintent128()intGmagick getimageresolution128()arrayGmagick getimagescene128()intGmagick getimagesignature128()stringGmagick getimagesize16(string $filename [, array $imageinfo = ''])array getimagesizefromstring16(string $imagedata [, array $imageinfo = ''])array getimagetype128()intGmagick getimageunits128()intGmagick getimagewhitepoint128()arrayGmagick getimagewidth128()intGmagick getlastmod16()int getmxrr16(string $hostname, array $mxhosts [, array $weight = ''])bool getmygid16()int getmyinode16()int getmypid16()int getmyuid16()int getnext128(mixed $object_id)mixedSNMP getopt16(string $options [, array $longopts = ''])array getpackagename128()stringGmagick getprotobyname16(string $name)int getprotobynumber16(int $number)string getquantumdepth128()arrayGmagick getrandmax16()int getreleasedate128()stringGmagick getrusage16([int $who = ''])array getsamplingfactors128()arrayGmagick getservbyname16(string $service, string $protocol)int getservbyport16(int $port, string $protocol)string getsize128()arrayGmagick getstrokecolor128()voidGmagickDraw getstrokeopacity128()floatGmagickDraw getstrokewidth128()floatGmagickDraw gettext16(string $message)string gettextdecoration128()intGmagickDraw gettextencoding128()stringGmagickDraw gettimeofday16([bool $return_float = false])mixed gettype16(mixed $var)string getversion128()arrayGmagick glob16(string $pattern [, int $flags = ''])array globally128()mixedThread glyphExtents128(string $glyphs)arrayCairoScaledFont glyphPath128(array $glyphs, CairoContext $context)voidCairoContext gmdate16(string $format [, int $timestamp = time()])string gmmktime16([int $hour = gmdate("H") [, int $minute = gmdate("i") [, int $second = gmdate("s") [, int $month = gmdate("n") [, int $day = gmdate("j") [, int $year = gmdate("Y") [, int $is_dst = -1]]]]]]])int gmp_abs16(GMP $a)GMP gmp_add16(GMP $a, GMP $b)GMP gmp_and16(GMP $a, GMP $b)GMP gmp_clrbit16(GMP $a, int $index)void gmp_cmp16(GMP $a, GMP $b)int gmp_com16(GMP $a)GMP gmp_div16() gmp_div_q16(GMP $a, GMP $b [, int $round = GMP_ROUND_ZERO])GMP gmp_div_qr16(GMP $n, GMP $d [, int $round = GMP_ROUND_ZERO])array gmp_div_r16(GMP $n, GMP $d [, int $round = GMP_ROUND_ZERO])GMP gmp_divexact16(GMP $n, GMP $d)GMP gmp_export16(GMP $gmpnumber, integer $word_size, integer $options)string gmp_fact16(mixed $a)GMP gmp_gcd16(GMP $a, GMP $b)GMP gmp_gcdext16(GMP $a, GMP $b)array gmp_hamdist16(GMP $a, GMP $b)int gmp_import16(string $data, integer $word_size, integer $options)GMP gmp_init16(mixed $number [, int $base = ''])GMP gmp_intval16(GMP $gmpnumber)integer gmp_invert16(GMP $a, GMP $b)GMP gmp_jacobi16(GMP $a, GMP $p)int gmp_legendre16(GMP $a, GMP $p)int gmp_mod16(GMP $n, GMP $d)GMP gmp_mul16(GMP $a, GMP $b)GMP gmp_neg16(GMP $a)GMP gmp_nextprime16(int $a)GMP gmp_or16(GMP $a, GMP $b)GMP gmp_perfect_square16(GMP $a)bool gmp_popcount16(GMP $a)int gmp_pow16(GMP $base, int $exp)GMP gmp_powm16(GMP $base, GMP $exp, GMP $mod)GMP gmp_prob_prime16(GMP $a [, int $reps = 10])int gmp_random16([int $limiter = 20])GMP gmp_random_bits16(integer $bits)GMP gmp_random_range16(GMP $min, GMP $max)GMP gmp_random_seed16(mixed $seed)mixed gmp_root16(GMP $a, int $nth)GMP gmp_rootrem16(GMP $a, int $nth)array gmp_scan016(GMP $a, int $start)int gmp_scan116(GMP $a, int $start)int gmp_setbit16(GMP $a, int $index [, bool $bit_on = true])void gmp_sign16(GMP $a)int gmp_sqrt16(GMP $a)GMP gmp_sqrtrem16(GMP $a)array gmp_strval16(GMP $gmpnumber [, int $base = 10])string gmp_sub16(GMP $a, GMP $b)GMP gmp_testbit16(GMP $a, int $index)bool gmp_xor16(GMP $a, GMP $b)GMP gmstrftime16(string $format [, int $timestamp = time()])string gnupg_adddecryptkey16(resource $identifier, string $fingerprint, string $passphrase)bool gnupg_addencryptkey16(resource $identifier, string $fingerprint)bool gnupg_addsignkey16(resource $identifier, string $fingerprint [, string $passphrase = ''])bool gnupg_cleardecryptkeys16(resource $identifier)bool gnupg_clearencryptkeys16(resource $identifier)bool gnupg_clearsignkeys16(resource $identifier)bool gnupg_decrypt16(resource $identifier, string $text)string gnupg_decryptverify16(resource $identifier, string $text, string $plaintext)array gnupg_encrypt16(resource $identifier, string $plaintext)string gnupg_encryptsign16(resource $identifier, string $plaintext)string gnupg_export16(resource $identifier, string $fingerprint)string gnupg_geterror16(resource $identifier)string gnupg_getprotocol16(resource $identifier)int gnupg_import16(resource $identifier, string $keydata)array gnupg_init16()resource gnupg_keyinfo16(resource $identifier, string $pattern)array gnupg_setarmor16(resource $identifier, int $armor)bool gnupg_seterrormode16(resource $identifier, int $errormode)void gnupg_setsignmode16(resource $identifier, int $signmode)bool gnupg_sign16(resource $identifier, string $plaintext)string gnupg_verify16(resource $identifier, string $signed_text, string $signature [, string $plaintext = ''])array gopher_parsedir16(string $dirent)array gotExit128()boolEventBase gotStop128()boolEventBase grapheme_extract16(string $haystack, int $size [, int $extract_type = '' [, int $start = '' [, int $next = '']]])string grapheme_stripos16(string $haystack, string $needle [, int $offset = ''])int grapheme_stristr16(string $haystack, string $needle [, bool $before_needle = false])string grapheme_strlen16(string $input)int grapheme_strpos16(string $haystack, string $needle [, int $offset = ''])int grapheme_strripos16(string $haystack, string $needle [, int $offset = ''])int grapheme_strrpos16(string $haystack, string $needle [, int $offset = ''])int grapheme_strstr16(string $haystack, string $needle [, bool $before_needle = false])string grapheme_substr16(string $string, int $start [, int $length = ''])int gregoriantojd16(int $month, int $day, int $year)int group128(mixed $keys, array $initial, MongoCode $reduce [, array $options = array()])arrayMongoCollection gupnp_context_get_host_ip16(resource $context)string gupnp_context_get_port16(resource $context)int gupnp_context_get_subscription_timeout16(resource $context)int gupnp_context_host_path16(resource $context, string $local_path, string $server_path)bool gupnp_context_new16([string $host_ip = '' [, int $port = '']])resource gupnp_context_set_subscription_timeout16(resource $context, int $timeout)void gupnp_context_timeout_add16(resource $context, int $timeout, mixed $callback [, mixed $arg = ''])bool gupnp_context_unhost_path16(resource $context, string $server_path)bool gupnp_control_point_browse_start16(resource $cpoint)bool gupnp_control_point_browse_stop16(resource $cpoint)bool gupnp_control_point_callback_set16(resource $cpoint, int $signal, mixed $callback [, mixed $arg = ''])bool gupnp_control_point_new16(resource $context, string $target)resource gupnp_device_action_callback_set16(resource $root_device, int $signal, string $action_name, mixed $callback [, mixed $arg = ''])bool gupnp_device_info_get16(resource $root_device)array gupnp_device_info_get_service16(resource $root_device, string $type)resource gupnp_root_device_get_available16(resource $root_device)bool gupnp_root_device_get_relative_location16(resource $root_device)string gupnp_root_device_new16(resource $context, string $location, string $description_dir)resource gupnp_root_device_set_available16(resource $root_device, bool $available)bool gupnp_root_device_start16(resource $root_device)bool gupnp_root_device_stop16(resource $root_device)bool gupnp_service_action_get16(resource $action, string $name, int $type)mixed gupnp_service_action_return16(resource $action)bool gupnp_service_action_return_error16(resource $action, int $error_code [, string $error_description = ''])bool gupnp_service_action_set16(resource $action, string $name, int $type, mixed $value)bool gupnp_service_freeze_notify16(resource $service)bool gupnp_service_info_get16(resource $proxy)array gupnp_service_info_get_introspection16(resource $proxy [, mixed $callback = '' [, mixed $arg = '']])mixed gupnp_service_introspection_get_state_variable16(resource $introspection, string $variable_name)array gupnp_service_notify16(resource $service, string $name, int $type, mixed $value)bool gupnp_service_proxy_action_get16(resource $proxy, string $action, string $name, int $type)mixed gupnp_service_proxy_action_set16(resource $proxy, string $action, string $name, mixed $value, int $type)bool gupnp_service_proxy_add_notify16(resource $proxy, string $value, int $type, mixed $callback [, mixed $arg = ''])bool gupnp_service_proxy_callback_set16(resource $proxy, int $signal, mixed $callback [, mixed $arg = ''])bool gupnp_service_proxy_get_subscribed16(resource $proxy)bool gupnp_service_proxy_remove_notify16(resource $proxy, string $value)bool gupnp_service_proxy_send_action16(resource $proxy, string $action, array $in_params, array $out_params)array gupnp_service_proxy_set_subscribed16(resource $proxy, bool $subscribed)bool gupnp_service_thaw_notify16(resource $service)bool gzclose16(resource $zp)bool gzcompress16(string $data [, int $level = -1 [, int $encoding = ZLIB_ENCODING_DEFLATE]])string gzdecode16(string $data [, int $length = ''])string gzdeflate16(string $data [, int $level = -1 [, int $encoding = ZLIB_ENCODING_RAW]])string gzencode16(string $data [, int $level = -1 [, int $encoding_mode = FORCE_GZIP]])string gzeof16(resource $zp)int gzfile16(string $filename [, int $use_include_path = ''])array gzgetc16(resource $zp)string gzgets16(resource $zp [, int $length = ''])string gzgetss16(resource $zp, int $length [, string $allowable_tags = ''])string gzinflate16(string $data [, int $length = ''])string gzopen16(string $filename, string $mode [, int $use_include_path = ''])resource gzpassthru16(resource $zp)int gzputs16() gzread16(resource $zp, int $length)string gzrewind16(resource $zp)bool gzseek16(resource $zp, int $offset [, int $whence = SEEK_SET])int gztell16(resource $zp)int gzuncompress16(string $data [, int $length = ''])string gzwrite16(resource $zp, string $string [, int $length = ''])int haldClutImage128(Imagick $clut [, int $channel = Imagick::CHANNEL_DEFAULT])boolImagick handle128()booleanYar_Server handle128()stringGearmanJob handle128([string $soap_request = ''])voidSoapServer has128(string $name)boolYaf_Registry has128(string $name)voidYaf_Session hasAttribute128(string $name)boolDOMElement hasAttributeNS128(string $namespaceURI, string $localName)boolDOMElement hasAttributes128()boolDOMNode hasBinaryProperty128(mixed $codepoint, int $property)boolIntlChar hasChildNodes128()boolDOMNode hasChildren128()boolParentIterator hasChildren128()boolRecursiveCachingIterator hasChildren128()boolRecursiveCallbackFilterIterator hasChildren128()boolRecursiveFilterIterator hasChildren128()boolRecursiveIterator hasChildren128()boolRecursiveRegexIterator hasChildren128()boolSimpleXMLIterator hasChildren128()boolSplFileObject hasChildren128()booltidyNode hasChildren128([bool $allow_links = false])boolRecursiveDirectoryIterator hasChildren128()objectRecursiveArrayIterator hasConstant128(string $name)boolReflectionClass hasCurrentPoint128(CairoContext $context)boolCairoContext hasExsltSupport128()boolXSLTProcessor hasFeature128(string $feature, string $version)boolDOMImplementation hasFrame128(resource $link)boolStomp hasMetadata128()boolPhar hasMetadata128()boolPharFileInfo hasMethod128(string $name)boolReflectionClass hasNext128()boolMongoCursor hasNext128()voidCachingIterator hasNextImage128()boolImagick hasPrev128(resource $result)boolSQLiteResult hasPreviousImage128()boolImagick hasProperty128(string $name)boolReflectionClass hasReturnType128()boolReflectionFunctionAbstract hasSameRules128(IntlTimeZone $otherTimeZone)boolIntlTimeZone hasSiblings128()booltidyNode hasType128()boolReflectionParameter hash16(string $algo, string $data [, bool $raw_output = false])string hash128()intCairoFontOptions hash_algos16()array hash_copy16(resource $context)resource hash_equals16(string $known_string, string $user_string)bool hash_file16(string $algo, string $filename [, bool $raw_output = false])string hash_final16(resource $context [, bool $raw_output = false])string hash_hmac16(string $algo, string $data, string $key [, bool $raw_output = false])string hash_hmac_file16(string $algo, string $filename, string $key [, bool $raw_output = false])string hash_init16(string $algo [, int $options = '' [, string $key = '']])resource hash_pbkdf216(string $algo, string $password, string $salt, int $iterations [, int $length = '' [, bool $raw_output = false]])string hash_update16(resource $context, string $data)bool hash_update_file16(resource $hcontext, string $filename [, resource $scontext = ''])bool hash_update_stream16(resource $context, resource $handle [, int $length = -1])int hasnextimage128()mixedGmagick haspreviousimage128()mixedGmagick head128(tidy $object)tidyNodetidy header16(string $string [, bool $replace = true [, int $http_response_code = '']])void header128()objectSAMMessage header_register_callback16(callable $callback)bool header_remove16([string $name = ''])void headers_list16()array headers_sent16([string $file = '' [, int $line = '']])bool hebrev16(string $hebrew_text [, int $max_chars_per_line = ''])string hebrevc16(string $hebrew_text [, int $max_chars_per_line = ''])string hex2bin16(string $data)string hexdec16(string $hex_string)number highlight_file16(string $filename [, bool $return = false])mixed highlight_string16(string $str [, bool $return = false])mixed hint128(mixed $index)MongoCursorMongoCursor hint128()stringTokyoTyrantQuery html128(tidy $object)tidyNodetidy html_entity_decode16(string $string [, int $flags = ENT_COMPAT | ENT_HTML401 [, string $encoding = ini_get("default_charset")]])string htmlentities16(string $string [, int $flags = ENT_COMPAT | ENT_HTML401 [, string $encoding = ini_get("default_charset") [, bool $double_encode = true]]])string htmlspecialchars16(string $string [, int $flags = ENT_COMPAT | ENT_HTML401 [, string $encoding = ini_get("default_charset") [, bool $double_encode = true]]])string htmlspecialchars_decode16(string $string [, int $flags = ENT_COMPAT | ENT_HTML401])string http_build_query16(mixed $query_data [, string $numeric_prefix = '' [, string $arg_separator = '' [, int $enc_type = '']]])string http_response_code16([int $response_code = ''])mixed hwapi_attribute_new16([string $name = '' [, string $value = '']])HW_API_Attribute hwapi_content_new16(string $content, string $mimetype)HW_API_Content hwapi_hgcsp16(string $hostname [, int $port = ''])HW_API hwapi_object_new16(array $parameter)hw_api_object hwstat128(array $parameter)hw_api_objecthw_api hypot16(float $x, float $y)float ibase_add_user16(resource $service_handle, string $user_name, string $password [, string $first_name = '' [, string $middle_name = '' [, string $last_name = '']]])bool ibase_affected_rows16([resource $link_identifier = ''])int ibase_backup16(resource $service_handle, string $source_db, string $dest_file [, int $options = '' [, bool $verbose = false]])mixed ibase_blob_add16(resource $blob_handle, string $data)void ibase_blob_cancel16(resource $blob_handle)bool ibase_blob_close16(resource $blob_handle)mixed ibase_blob_create16([resource $link_identifier = ''])resource ibase_blob_echo16(string $blob_id, resource $link_identifier)bool ibase_blob_get16(resource $blob_handle, int $len)string ibase_blob_import16(resource $link_identifier, resource $file_handle)string ibase_blob_info16(resource $link_identifier, string $blob_id)array ibase_blob_open16(resource $link_identifier, string $blob_id)resource ibase_close16([resource $connection_id = ''])bool ibase_commit16([resource $link_or_trans_identifier = ''])bool ibase_commit_ret16([resource $link_or_trans_identifier = ''])bool ibase_connect16([string $database = '' [, string $username = '' [, string $password = '' [, string $charset = '' [, int $buffers = '' [, int $dialect = '' [, string $role = '' [, int $sync = '']]]]]]]])resource ibase_db_info16(resource $service_handle, string $db, int $action [, int $argument = ''])string ibase_delete_user16(resource $service_handle, string $user_name)bool ibase_drop_db16([resource $connection = ''])bool ibase_errcode16()int ibase_errmsg16()string ibase_execute16(resource $query [, mixed $bind_arg = '' [, mixed $... = '']])resource ibase_fetch_assoc16(resource $result [, int $fetch_flag = ''])array ibase_fetch_object16(resource $result_id [, int $fetch_flag = ''])object ibase_fetch_row16(resource $result_identifier [, int $fetch_flag = ''])array ibase_field_info16(resource $result, int $field_number)array ibase_free_event_handler16(resource $event)bool ibase_free_query16(resource $query)bool ibase_free_result16(resource $result_identifier)bool ibase_gen_id16(string $generator [, int $increment = 1 [, resource $link_identifier = '']])mixed ibase_maintain_db16(resource $service_handle, string $db, int $action [, int $argument = ''])bool ibase_modify_user16(resource $service_handle, string $user_name, string $password [, string $first_name = '' [, string $middle_name = '' [, string $last_name = '']]])bool ibase_name_result16(resource $result, string $name)bool ibase_num_fields16(resource $result_id)int ibase_num_params16(resource $query)int ibase_param_info16(resource $query, int $param_number)array ibase_pconnect16([string $database = '' [, string $username = '' [, string $password = '' [, string $charset = '' [, int $buffers = '' [, int $dialect = '' [, string $role = '' [, int $sync = '']]]]]]]])resource ibase_prepare16(string $query, resource $link_identifier, string $trans)resource ibase_query16([resource $link_identifier = '', string $query [, int $bind_args = '']])resource ibase_restore16(resource $service_handle, string $source_file, string $dest_db [, int $options = '' [, bool $verbose = false]])mixed ibase_rollback16([resource $link_or_trans_identifier = ''])bool ibase_rollback_ret16([resource $link_or_trans_identifier = ''])bool ibase_server_info16(resource $service_handle, int $action)string ibase_service_attach16(string $host, string $dba_username, string $dba_password)resource ibase_service_detach16(resource $service_handle)bool ibase_set_event_handler16(callable $event_handler, string $event_name1 [, string $event_name2 = '' [, string $... = '', resource $connection]])resource ibase_trans16([int $trans_args = '' [, resource $link_identifier = '']])resource ibase_wait_event16(string $event_name1 [, string $event_name2 = '' [, string $... = '', resource $connection]])string iconv16(string $in_charset, string $out_charset, string $str)string iconv_get_encoding16([string $type = "all"])mixed iconv_mime_decode16(string $encoded_header [, int $mode = '' [, string $charset = ini_get("iconv.internal_encoding")]])string iconv_mime_decode_headers16(string $encoded_headers [, int $mode = '' [, string $charset = ini_get("iconv.internal_encoding")]])array iconv_mime_encode16(string $field_name, string $field_value [, array $preferences = ''])string iconv_set_encoding16(string $type, string $charset)bool iconv_strlen16(string $str [, string $charset = ini_get("iconv.internal_encoding")])int iconv_strpos16(string $haystack, string $needle [, int $offset = '' [, string $charset = ini_get("iconv.internal_encoding")]])int iconv_strrpos16(string $haystack, string $needle [, string $charset = ini_get("iconv.internal_encoding")])int iconv_substr16(string $str, int $offset [, int $length = iconv_strlen($str, $charset) [, string $charset = ini_get("iconv.internal_encoding")]])string id3_get_frame_long_name16(string $frameId)string id3_get_frame_short_name16(string $frameId)string id3_get_genre_id16(string $genre)int id3_get_genre_list16()array id3_get_genre_name16(int $genre_id)string id3_get_tag16(string $filename [, int $version = ID3_BEST])array id3_get_version16(string $filename)int id3_remove_tag16(string $filename [, int $version = ID3_V1_0])bool id3_set_tag16(string $filename, array $tag [, int $version = ID3_V1_0])bool idate16(string $format [, int $timestamp = time()])int identify128(array $parameter)boolhw_api identifyFormat128(string $embedText)string|falseImagick identifyImage128([bool $appendRawOutput = false])arrayImagick identity128(int $n)arrayLapack identityMatrix128(CairoContext $context)voidCairoContext idle128(callable $callback [, mixed $data = '' [, int $priority = '']])EvIdleEvLoop idn_to_ascii16(string $domain [, int $options = '' [, int $variant = INTL_IDNA_VARIANT_2003 [, array $idna_info = '']]])string idn_to_utf816(string $domain [, int $options = '' [, int $variant = INTL_IDNA_VARIANT_2003 [, array $idna_info = '']]])string ifx_affected_rows16(resource $result_id)int ifx_blobinfile_mode16(int $mode)bool ifx_byteasvarchar16(int $mode)bool ifx_close16([resource $link_identifier = ''])bool ifx_connect16([string $database = '' [, string $userid = '' [, string $password = '']]])resource ifx_copy_blob16(int $bid)int ifx_create_blob16(int $type, int $mode, string $param)int ifx_create_char16(string $param)int ifx_do16(resource $result_id)bool ifx_error16([resource $link_identifier = ''])string ifx_errormsg16([int $errorcode = ''])string ifx_fetch_row16(resource $result_id [, mixed $position = ''])array ifx_fieldproperties16(resource $result_id)array ifx_fieldtypes16(resource $result_id)array ifx_free_blob16(int $bid)bool ifx_free_char16(int $bid)bool ifx_free_result16(resource $result_id)bool ifx_get_blob16(int $bid)string ifx_get_char16(int $bid)string ifx_getsqlca16(resource $result_id)array ifx_htmltbl_result16(resource $result_id [, string $html_table_options = ''])int ifx_nullformat16(int $mode)bool ifx_num_fields16(resource $result_id)int ifx_num_rows16(resource $result_id)int ifx_pconnect16([string $database = '' [, string $userid = '' [, string $password = '']]])resource ifx_prepare16(string $query, resource $link_identifier [, int $cursor_def = '', mixed $blobidarray])resource ifx_query16(string $query, resource $link_identifier [, int $cursor_type = '' [, mixed $blobidarray = '']])resource ifx_textasvarchar16(int $mode)bool ifx_update_blob16(int $bid, string $content)bool ifx_update_char16(int $bid, string $content)bool ifxus_close_slob16(int $bid)bool ifxus_create_slob16(int $mode)int ifxus_free_slob16(int $bid)bool ifxus_open_slob16(int $bid, int $mode)int ifxus_read_slob16(int $bid, int $nbytes)string ifxus_seek_slob16(int $bid, int $mode, int $offset)int ifxus_tell_slob16(int $bid)int ifxus_write_slob16(int $bid, string $content)int ignore_user_abort16([bool $value = ''])int iis_add_server16(string $path, string $comment, string $server_ip, int $port, string $host_name, int $rights, int $start_server)int iis_get_dir_security16(int $server_instance, string $virtual_path)int iis_get_script_map16(int $server_instance, string $virtual_path, string $script_extension)string iis_get_server_by_comment16(string $comment)int iis_get_server_by_path16(string $path)int iis_get_server_rights16(int $server_instance, string $virtual_path)int iis_get_service_state16(string $service_id)int iis_remove_server16(int $server_instance)int iis_set_app_settings16(int $server_instance, string $virtual_path, string $application_scope)int iis_set_dir_security16(int $server_instance, string $virtual_path, int $directory_flags)int iis_set_script_map16(int $server_instance, string $virtual_path, string $script_extension, string $engine_path, int $allow_scripting)int iis_set_server_rights16(int $server_instance, string $virtual_path, int $directory_flags)int iis_start_server16(int $server_instance)int iis_start_service16(string $service_id)int iis_stop_server16(int $server_instance)int iis_stop_service16(string $service_id)int image2wbmp16(resource $image [, string $filename = '' [, int $threshold = '']])bool image_type_to_extension16(int $imagetype [, bool $include_dot = ''])string image_type_to_mime_type16(int $imagetype)string imageaffine16(resource $image, array $affine [, array $clip = ''])resource imageaffinematrixconcat16(array $m1, array $m2)array imageaffinematrixget16(int $type [, mixed $options = ''])array imagealphablending16(resource $image, bool $blendmode)bool imageantialias16(resource $image, bool $enabled)bool imagearc16(resource $image, int $cx, int $cy, int $width, int $height, int $start, int $end, int $color)bool imagechar16(resource $image, int $font, int $x, int $y, string $c, int $color)bool imagecharup16(resource $image, int $font, int $x, int $y, string $c, int $color)bool imagecolorallocate16(resource $image, int $red, int $green, int $blue)int imagecolorallocatealpha16(resource $image, int $red, int $green, int $blue, int $alpha)int imagecolorat16(resource $image, int $x, int $y)int imagecolorclosest16(resource $image, int $red, int $green, int $blue)int imagecolorclosestalpha16(resource $image, int $red, int $green, int $blue, int $alpha)int imagecolorclosesthwb16(resource $image, int $red, int $green, int $blue)int imagecolordeallocate16(resource $image, int $color)bool imagecolorexact16(resource $image, int $red, int $green, int $blue)int imagecolorexactalpha16(resource $image, int $red, int $green, int $blue, int $alpha)int imagecolormatch16(resource $image1, resource $image2)bool imagecolorresolve16(resource $image, int $red, int $green, int $blue)int imagecolorresolvealpha16(resource $image, int $red, int $green, int $blue, int $alpha)int imagecolorset16(resource $image, int $index, int $red, int $green, int $blue [, int $alpha = ''])void imagecolorsforindex16(resource $image, int $index)array imagecolorstotal16(resource $image)int imagecolortransparent16(resource $image [, int $color = ''])int imageconvolution16(resource $image, array $matrix, float $div, float $offset)bool imagecopy16(resource $dst_im, resource $src_im, int $dst_x, int $dst_y, int $src_x, int $src_y, int $src_w, int $src_h)bool imagecopymerge16(resource $dst_im, resource $src_im, int $dst_x, int $dst_y, int $src_x, int $src_y, int $src_w, int $src_h, int $pct)bool imagecopymergegray16(resource $dst_im, resource $src_im, int $dst_x, int $dst_y, int $src_x, int $src_y, int $src_w, int $src_h, int $pct)bool imagecopyresampled16(resource $dst_image, resource $src_image, int $dst_x, int $dst_y, int $src_x, int $src_y, int $dst_w, int $dst_h, int $src_w, int $src_h)bool imagecopyresized16(resource $dst_image, resource $src_image, int $dst_x, int $dst_y, int $src_x, int $src_y, int $dst_w, int $dst_h, int $src_w, int $src_h)bool imagecreate16(int $width, int $height)resource imagecreatefromgd16(string $filename)resource imagecreatefromgd216(string $filename)resource imagecreatefromgd2part16(string $filename, int $srcX, int $srcY, int $width, int $height)resource imagecreatefromgif16(string $filename)resource imagecreatefromjpeg16(string $filename)resource imagecreatefrompng16(string $filename)resource imagecreatefromstring16(string $image)resource imagecreatefromwbmp16(string $filename)resource imagecreatefromwebp16(string $filename)resource imagecreatefromxbm16(string $filename)resource imagecreatefromxpm16(string $filename)resource imagecreatetruecolor16(int $width, int $height)resource imagecrop16(resource $image, array $rect)resource imagecropauto16(resource $image [, int $mode = -1 [, float $threshold = .5 [, int $color = -1]]])resource imagedashedline16(resource $image, int $x1, int $y1, int $x2, int $y2, int $color)bool imagedestroy16(resource $image)bool imageellipse16(resource $image, int $cx, int $cy, int $width, int $height, int $color)bool imagefill16(resource $image, int $x, int $y, int $color)bool imagefilledarc16(resource $image, int $cx, int $cy, int $width, int $height, int $start, int $end, int $color, int $style)bool imagefilledellipse16(resource $image, int $cx, int $cy, int $width, int $height, int $color)bool imagefilledpolygon16(resource $image, array $points, int $num_points, int $color)bool imagefilledrectangle16(resource $image, int $x1, int $y1, int $x2, int $y2, int $color)bool imagefilltoborder16(resource $image, int $x, int $y, int $border, int $color)bool imagefilter16(resource $image, int $filtertype [, int $arg1 = '' [, int $arg2 = '' [, int $arg3 = '' [, int $arg4 = '']]]])bool imageflip16(resource $image, int $mode)bool imagefontheight16(int $font)int imagefontwidth16(int $font)int imageftbbox16(float $size, float $angle, string $fontfile, string $text [, array $extrainfo = ''])array imagefttext16(resource $image, float $size, float $angle, int $x, int $y, int $color, string $fontfile, string $text [, array $extrainfo = ''])array imagegammacorrect16(resource $image, float $inputgamma, float $outputgamma)bool imagegd16(resource $image [, string $filename = ''])bool imagegd216(resource $image [, string $filename = '' [, int $chunk_size = '' [, int $type = IMG_GD2_RAW]]])bool imagegif16(resource $image [, string $filename = ''])bool imagegrabscreen16()resource imagegrabwindow16(int $window_handle [, int $client_area = ''])resource imageinterlace16(resource $image [, int $interlace = ''])int imageistruecolor16(resource $image)bool imagejpeg16(resource $image [, string $filename = '' [, int $quality = '']])bool imagelayereffect16(resource $image, int $effect)bool imageline16(resource $image, int $x1, int $y1, int $x2, int $y2, int $color)bool imageloadfont16(string $file)int imagepalettecopy16(resource $destination, resource $source)void imagepalettetotruecolor16(resource $src)bool imagepng16(resource $image [, string $filename = '' [, int $quality = '' [, int $filters = '']]])bool imagepolygon16(resource $image, array $points, int $num_points, int $color)bool imagepsbbox16(string $text, resource $font, int $size, int $space, int $tightness, float $angle)array imagepsencodefont16(resource $font_index, string $encodingfile)bool imagepsextendfont16(resource $font_index, float $extend)bool imagepsfreefont16(resource $font_index)bool imagepsloadfont16(string $filename)resource imagepsslantfont16(resource $font_index, float $slant)bool imagepstext16(resource $image, string $text, resource $font_index, int $size, int $foreground, int $background, int $x, int $y [, int $space = '' [, int $tightness = '' [, float $angle = 0.0 [, int $antialias_steps = 4]]]])array imagerectangle16(resource $image, int $x1, int $y1, int $x2, int $y2, int $color)bool imagerotate16(resource $image, float $angle, int $bgd_color [, int $ignore_transparent = ''])resource imagesavealpha16(resource $image, bool $saveflag)bool imagescale16(resource $image, int $new_width [, int $new_height = -1 [, int $mode = IMG_BILINEAR_FIXED]])resource imagesetbrush16(resource $image, resource $brush)bool imagesetinterpolation16(resource $image [, int $method = IMG_BILINEAR_FIXED])bool imagesetpixel16(resource $image, int $x, int $y, int $color)bool imagesetstyle16(resource $image, array $style)bool imagesetthickness16(resource $image, int $thickness)bool imagesettile16(resource $image, resource $tile)bool imagestring16(resource $image, int $font, int $x, int $y, string $string, int $color)bool imagestringup16(resource $image, int $font, int $x, int $y, string $string, int $color)bool imagesx16(resource $image)int imagesy16(resource $image)int imagetruecolortopalette16(resource $image, bool $dither, int $ncolors)bool imagettfbbox16(float $size, float $angle, string $fontfile, string $text)array imagettftext16(resource $image, float $size, float $angle, int $x, int $y, int $color, string $fontfile, string $text)array imagetypes16()int imagewbmp16(resource $image [, string $filename = '' [, int $foreground = '']])bool imagewebp16(resource $image, string $filename)bool imagexbm16(resource $image, string $filename [, int $foreground = ''])bool imap_8bit16(string $string)string imap_alerts16()array imap_append16(resource $imap_stream, string $mailbox, string $message [, string $options = '' [, string $internal_date = '']])bool imap_base6416(string $text)string imap_binary16(string $string)string imap_body16(resource $imap_stream, int $msg_number [, int $options = ''])string imap_bodystruct16(resource $imap_stream, int $msg_number, string $section)object imap_check16(resource $imap_stream)object imap_clearflag_full16(resource $imap_stream, string $sequence, string $flag [, int $options = ''])bool imap_close16(resource $imap_stream [, int $flag = ''])bool imap_create16() imap_createmailbox16(resource $imap_stream, string $mailbox)bool imap_delete16(resource $imap_stream, int $msg_number [, int $options = ''])bool imap_deletemailbox16(resource $imap_stream, string $mailbox)bool imap_errors16()array imap_expunge16(resource $imap_stream)bool imap_fetch_overview16(resource $imap_stream, string $sequence [, int $options = ''])array imap_fetchbody16(resource $imap_stream, int $msg_number, string $section [, int $options = ''])string imap_fetchheader16(resource $imap_stream, int $msg_number [, int $options = ''])string imap_fetchmime16(resource $imap_stream, int $msg_number, string $section [, int $options = ''])string imap_fetchstructure16(resource $imap_stream, int $msg_number [, int $options = ''])object imap_fetchtext16() imap_gc16(resource $imap_stream, int $caches)bool imap_get_quota16(resource $imap_stream, string $quota_root)array imap_get_quotaroot16(resource $imap_stream, string $quota_root)array imap_getacl16(resource $imap_stream, string $mailbox)array imap_getmailboxes16(resource $imap_stream, string $ref, string $pattern)array imap_getsubscribed16(resource $imap_stream, string $ref, string $pattern)array imap_header16() imap_headerinfo16(resource $imap_stream, int $msg_number [, int $fromlength = '' [, int $subjectlength = '' [, string $defaulthost = '']]])object imap_headers16(resource $imap_stream)array imap_last_error16()string imap_list16(resource $imap_stream, string $ref, string $pattern)array imap_listmailbox16() imap_listscan16(resource $imap_stream, string $ref, string $pattern, string $content)array imap_listsubscribed16() imap_lsub16(resource $imap_stream, string $ref, string $pattern)array imap_mail16(string $to, string $subject, string $message [, string $additional_headers = '' [, string $cc = '' [, string $bcc = '' [, string $rpath = '']]]])bool imap_mail_compose16(array $envelope, array $body)string imap_mail_copy16(resource $imap_stream, string $msglist, string $mailbox [, int $options = ''])bool imap_mail_move16(resource $imap_stream, string $msglist, string $mailbox [, int $options = ''])bool imap_mailboxmsginfo16(resource $imap_stream)object imap_mime_header_decode16(string $text)array imap_msgno16(resource $imap_stream, int $uid)int imap_num_msg16(resource $imap_stream)int imap_num_recent16(resource $imap_stream)int imap_open16(string $mailbox, string $username, string $password [, int $options = '' [, int $n_retries = '' [, array $params = '']]])resource imap_ping16(resource $imap_stream)bool imap_qprint16(string $string)string imap_rename16() imap_renamemailbox16(resource $imap_stream, string $old_mbox, string $new_mbox)bool imap_reopen16(resource $imap_stream, string $mailbox [, int $options = '' [, int $n_retries = '']])bool imap_rfc822_parse_adrlist16(string $address, string $default_host)array imap_rfc822_parse_headers16(string $headers [, string $defaulthost = "UNKNOWN"])object imap_rfc822_write_address16(string $mailbox, string $host, string $personal)string imap_savebody16(resource $imap_stream, mixed $file, int $msg_number [, string $part_number = "" [, int $options = '']])bool imap_scan16() imap_scanmailbox16() imap_search16(resource $imap_stream, string $criteria [, int $options = SE_FREE [, string $charset = '']])array imap_set_quota16(resource $imap_stream, string $quota_root, int $quota_limit)bool imap_setacl16(resource $imap_stream, string $mailbox, string $id, string $rights)bool imap_setflag_full16(resource $imap_stream, string $sequence, string $flag [, int $options = NIL])bool imap_sort16(resource $imap_stream, int $criteria, int $reverse [, int $options = '' [, string $search_criteria = '' [, string $charset = '']]])array imap_status16(resource $imap_stream, string $mailbox, int $options)object imap_subscribe16(resource $imap_stream, string $mailbox)bool imap_thread16(resource $imap_stream [, int $options = SE_FREE])array imap_timeout16(int $timeout_type [, int $timeout = -1])mixed imap_uid16(resource $imap_stream, int $msg_number)int imap_undelete16(resource $imap_stream, int $msg_number [, int $flags = ''])bool imap_unsubscribe16(resource $imap_stream, string $mailbox)bool imap_utf7_decode16(string $text)string imap_utf7_encode16(string $data)string imap_utf816(string $mime_encoded_text)string immortal128([bool $liveForever = true])MongoCursorMongoCursor implementsInterface128(string $interface)boolReflectionClass implode16(string $glue, array $pieces)string implodeImage128(float $radius)boolImagick implodeimage128(float $radius)mixedGmagick import128(string $filename)boolOCI-Lob import128()voidYaf_Loader importChar128(string $libswf, string $name)SWFSpriteSWFMovie importFont128(string $libswf, string $name)SWFFontCharSWFMovie importImagePixels128(int $x, int $y, int $width, int $height, string $map, int $storage, array $pixels)boolImagick importNode128(DOMNode $importedNode [, bool $deep = ''])DOMNodeDOMDocument importStylesheet128(object $stylesheet)boolXSLTProcessor import_request_variables16(string $types [, string $prefix = ''])bool inDaylightTime128(IntlCalendar $cal)boolIntlCalendar inFill128(string $x, string $y, CairoContext $context)boolCairoContext inNamespace128()boolReflectionClass inNamespace128()boolReflectionFunctionAbstract inStroke128(string $x, string $y, CairoContext $context)boolCairoContext inTransaction128()boolPDO in_array16(mixed $needle, array $haystack [, bool $strict = ''])bool include128(string $file)mixedLua inclued_get_data16()array increment128(string $key [, int $offset = 1 [, int $initial_value = '' [, int $expiry = '']]])intMemcached increment128(string $key [, int $value = 1])intMemcache incrementByKey128(string $server_key, string $key [, int $offset = 1 [, int $initial_value = '' [, int $expiry = '']]])intMemcached inet_ntop16(string $in_addr)string inet_pton16(string $address)string info128()arrayMongoCommandCursor info128()arrayMongoCursor info128()arrayMongoCursorInterface info128()arrayMongoPool info128(array $parameter)arrayhw_api info128(resource $link)stringmaxdb info128()voidReflectionExtension ingres_autocommit16(resource $link)bool ingres_autocommit_state16(resource $link)bool ingres_charset16(resource $link)string ingres_close16(resource $link)bool ingres_commit16(resource $link)bool ingres_connect16([string $database = '' [, string $username = '' [, string $password = '' [, array $options = '']]]])resource ingres_cursor16(resource $result)string ingres_errno16([resource $link = ''])int ingres_error16([resource $link = ''])string ingres_errsqlstate16([resource $link = ''])string ingres_escape_string16(resource $link, string $source_string)string ingres_execute16(resource $result [, array $params = '' [, string $types = '']])bool ingres_fetch_array16(resource $result [, int $result_type = ''])array ingres_fetch_assoc16(resource $result)array ingres_fetch_object16(resource $result [, int $result_type = ''])object ingres_fetch_proc_return16(resource $result)int ingres_fetch_row16(resource $result)array ingres_field_length16(resource $result, int $index)int ingres_field_name16(resource $result, int $index)string ingres_field_nullable16(resource $result, int $index)bool ingres_field_precision16(resource $result, int $index)int ingres_field_scale16(resource $result, int $index)int ingres_field_type16(resource $result, int $index)string ingres_free_result16(resource $result)bool ingres_next_error16([resource $link = ''])bool ingres_num_fields16(resource $result)int ingres_num_rows16(resource $result)int ingres_pconnect16([string $database = '' [, string $username = '' [, string $password = '' [, array $options = '']]]])resource ingres_prepare16(resource $link, string $query)mixed ingres_query16(resource $link, string $query [, array $params = '' [, string $types = '']])mixed ingres_result_seek16(resource $result, int $position)bool ingres_rollback16(resource $link)bool ingres_set_environment16(resource $link, array $options)bool ingres_unbuffered_query16(resource $link, string $query [, array $params = '' [, string $types = '']])mixed ini_alter16() ini_get16(string $varname)string ini_get_all16([string $extension = '' [, bool $details = true]])array ini_restore16(string $varname)void ini_set16(string $varname, string $newvalue)string init128(mysqlnd_connection $connection)boolMysqlndUhConnection init128()mysqlimysqli init128()voidYaf_Controller_Abstract initIdentity128()objectCairoMatrix initRotate128(float $radians)objectCairoMatrix initScale128(float $sx, float $sy)objectCairoMatrix initTranslate128(float $tx, float $ty)objectCairoMatrix initView128(string $templates_dir [, array $options = ''])Yaf_View_InterfaceYaf_Dispatcher initView128([array $options = ''])voidYaf_Controller_Abstract inotify_add_watch16(resource $inotify_instance, string $pathname, int $mask)int inotify_init16()resource inotify_queue_len16(resource $inotify_instance)int inotify_read16(resource $inotify_instance)array inotify_rm_watch16(resource $inotify_instance, int $watch_descriptor)bool insert128(HW_API_Attribute $attribute)boolhw_api_object insert128(array|object $document [, array $options = array()])bool|arrayMongoCollection insert128(array $parameter)hw_api_objecthw_api insert128(array|object $document)mixedMongoDB::Driver::BulkWrite insert128(mixed $value [, int $index = ''])voidSDO_List insert128(mixed $value [, int $sequenceIndex = '' [, mixed $propertyIdentifier = '']])voidSDO_Sequence insert128(mixed $value)voidSplHeap insert128(mixed $value, mixed $priority)voidSplPriorityQueue insertBefore128(DOMNode $newnode [, DOMNode $refnode = ''])DOMNodeDOMNode insertData128(int $offset, string $data)voidDOMCharacterData insertPage128(object $page)objectHaruDoc insert_id128(resource $link)mixedmaxdb insertanchor128(array $parameter)hw_api_objecthw_api insertcollection128(array $parameter)hw_api_objecthw_api insertdocument128(array $parameter)hw_api_objecthw_api intdiv16(int $dividend, int $divisor)int interceptFileFuncs128()voidPhar interface_exists16(string $interface_name [, bool $autoload = true])bool intl_error_name16(int $error_code)string intl_get_error_code16()int intl_get_error_message16()string intl_is_failure16(int $error_code)bool intlcal_get_error_code16(IntlCalendar $calendar)int intlcal_get_error_message16(IntlCalendar $calendar)string intltz_get_error_code16()integer intltz_get_error_message16()string intval16(mixed $var [, int $base = 10])integer inverseFourierTransformImage128(string $complement, string $magnitude)voidImagick invert128()voidCairoMatrix invoke128([mixed $parameter = '' [, mixed $... = '']])mixedReflectionFunction invoke128(object $object [, mixed $parameter = '' [, mixed $... = '']])mixedReflectionMethod invoke128(int $revents)voidEvWatcher invokeArgs128(array $args)mixedReflectionFunction invokeArgs128(object $object, array $args)mixedReflectionMethod invokePending128()voidEvLoop io128(mixed $fd, int $events, callable $callback [, mixed $data = '' [, int $priority = '']])EvIoEvLoop ip2long16(string $ip_address)int iptcembed16(string $iptcdata, string $jpeg_file_name [, int $spool = ''])mixed iptcparse16(string $iptcblock)array is2LeggedEndpoint128(mixed $params_array)voidOAuthProvider isAbstract128()boolReflectionClass isAbstract128()boolReflectionMethod isAbstractType128()boolSDO_Model_Type isAnonymous128()boolReflectionClass isArbiter128()boolMongoDB::Driver::Server isArray128()boolReflectionParameter isAsp128()booltidyNode isBoundary128(string $"offset")ReturnTypeIntlBreakIterator isBroken128(RarArchive $rarfile)boolRarArchive isBuffering128()boolPhar isBuiltin128()boolReflectionType isCRCChecked128()boolPharFileInfo isCallable128()boolReflectionParameter isCli128()voidYaf_Request_Abstract isCloneable128()boolReflectionClass isClosure128()boolReflectionFunctionAbstract isComment128()booltidyNode isCompressed128([int $compression_type = 9021976])boolPharFileInfo isCompressed128()mixedPhar isCompressedBZIP2128()boolPharFileInfo isCompressedGZ128()boolPharFileInfo isConnected128()boolSAMConnection isConstructor128()boolReflectionMethod isContainment128()boolSDO_Model_Property isCopyrighted128()boolKTaglib_MPEG_AudioProperties isDataType128()boolSDO_Model_Type isDead128()boolMongoDB::Driver::Cursor isDefault128()boolReflectionProperty isDefaultNamespace128(string $namespaceURI)boolDOMNode isDefaultValueAvailable128()boolReflectionParameter isDefaultValueConstant128()boolReflectionParameter isDeprecated128()boolReflectionFunctionAbstract isDestructor128()boolReflectionMethod isDir128()boolDirectoryIterator isDir128()boolSplFileInfo isDirectory128()boolRarEntry isDisabled128()boolReflectionFunction isDispatched128()voidYaf_Request_Abstract isDot128()boolDirectoryIterator isEmpty128()boolKTaglib_Tag isEmpty128()boolSplDoublyLinkedList isEmpty128()boolSplHeap isEmpty128()boolSplPriorityQueue isEncrypted128()boolRarEntry isEquivalentTo128(IntlCalendar $other, IntlCalendar $cal)boolIntlCalendar isExecutable128()boolDirectoryIterator isExecutable128()boolSplFileInfo isFile128()boolDirectoryIterator isFile128()boolSplFileInfo isFileFormat128(int $format)boolPhar isFinal128()boolReflectionClass isFinal128()boolReflectionMethod isGarbage128()boolCollectable isGenerator128()boolReflectionFunctionAbstract isGet128()voidYaf_Request_Abstract isHead128()voidYaf_Request_Abstract isHidden128()boolMongoDB::Driver::Server isHtml128()booltidyNode isIDIgnorable128(mixed $codepoint)boolIntlChar isIDPart128(mixed $codepoint)boolIntlChar isIDStart128(mixed $codepoint)boolIntlChar isISOControl128(mixed $codepoint)boolIntlChar isId128()boolDOMAttr isInstance128(SDO_DataObject $data_object)boolSDO_Model_Type isInstance128(object $object)boolReflectionClass isInstantiable128()boolReflectionClass isInterface128()boolReflectionClass isInternal128()boolReflectionClass isInternal128()boolReflectionFunctionAbstract isIterateable128()boolReflectionClass isJavaIDPart128(mixed $codepoint)boolIntlChar isJavaIDStart128(mixed $codepoint)boolIntlChar isJavaSpaceChar128(mixed $codepoint)boolIntlChar isJoined128()booleanThread isJste128()booltidyNode isKnown128()boolGearmanTask isLenient128(IntlCalendar $cal)boolIntlCalendar isLenient128(IntlDateFormatter $fmt)boolIntlDateFormatter isLink128()boolDirectoryIterator isLink128()boolSplFileInfo isLocalName128()voidYaf_Loader isLogging128()boolSDO_DAS_ChangeSummary isMany128()boolSDO_Model_Property isMirrored128(mixed $codepoint)boolIntlChar isNick128(string $name0, string $name1 [, integer $country = ''])arrayGender::Gender isNormalized128(string $input [, int $form = Normalizer::FORM_C])boolNormalizer isOpenType128()boolSDO_Model_Type isOptional128()boolReflectionParameter isOptions128()voidYaf_Request_Abstract isOriginal128()boolKTaglib_MPEG_AudioProperties isPassedByReference128()boolReflectionParameter isPassive128()boolMongoDB::Driver::Server isPersistent128()boolMemcached isPersistent128()booleanZMQContext isPersistent128()booleanZMQSocket isPersistent128()voidReflectionExtension isPhp128()booltidyNode isPixelSimilar128(ImagickPixel $color, float $fuzz)boolImagickPixel isPixelSimilarQuantum128(string $color [, string $fuzz = ''])boolImagickPixel isPost128()voidYaf_Request_Abstract isPrimary128()boolMongoDB::Driver::Server isPristine128()boolMemcached isPrivate128()boolReflectionMethod isPrivate128()boolReflectionProperty isProtected128()boolReflectionMethod isProtected128()boolReflectionProperty isProtectionEnabled128()boolKTaglib_MPEG_AudioProperties isPublic128()boolReflectionMethod isPublic128()boolReflectionProperty isPut128()voidYaf_Request_Abstract isReadable128()boolDirectoryIterator isReadable128()boolSplFileInfo isRef128(mixed $ref)boolMongoDBRef isRequestTokenEndpoint128(bool $will_issue_request_token)voidOAuthProvider isRouted128()voidYaf_Request_Abstract isRunning128()boolGearmanTask isRunning128()boolHRTime::PerformanceCounter isRunning128()boolVarnishAdmin isRunning128()booleanThreaded isSameNode128(DOMNode $node)boolDOMNode isSecondary128()boolMongoDB::Driver::Server isSequencedType128()boolSDO_Model_Type isSet128()boolSDO_DAS_Setting isSet128(int $field, IntlCalendar $cal)boolIntlCalendar isShutdown128()booleanWorker isSimilar128(ImagickPixel $color, float $fuzz)boolImagickPixel isSolid128(RarArchive $rarfile)boolRarArchive isStarted128()booleanThread isStatic128()boolReflectionMethod isStatic128()boolReflectionProperty isSubclassOf128(string $class)boolReflectionClass isSupported128(string $feature, string $version)boolDOMNode isSuspicious128(string $text [, string $error = ''])boolSpoofchecker isTemporary128()voidReflectionExtension isTerminated128()booleanThreaded isText128()booltidyNode isTrait128()boolReflectionClass isUAlphabetic128(mixed $codepoint)boolIntlChar isULowercase128(mixed $codepoint)boolIntlChar isUUppercase128(mixed $codepoint)boolIntlChar isUWhiteSpace128(mixed $codepoint)boolIntlChar isUserDefined128()boolReflectionClass isUserDefined128()boolReflectionFunctionAbstract isUsingExceptions128()boolRarException isValid128()boolXMLReader isValid128(mixed $value)boolMongoId isValidPharFilename128(string $filename [, bool $executable = true])boolPhar isVariadic128()boolReflectionFunctionAbstract isVariadic128()boolReflectionParameter isWaiting128()booleanThreaded isWeekend128([float $date = null, IntlCalendar $cal])boolIntlCalendar isWhitespace128(mixed $codepoint)boolIntlChar isWhitespaceInElementContent128()boolDOMText isWorking128()booleanWorker isWritable128()boolDirectoryIterator isWritable128()boolPhar isWritable128()boolPharData isWritable128()boolSplFileInfo isXhtml128(tidy $object)booltidy isXml128(tidy $object)booltidy isXmlHttpRequest128()boolYaf_Request_Http isXmlHttpRequest128()voidYaf_Request_Abstract isXmlHttpRequest128()voidYaf_Request_Simple is_a16(object $object, string $class_name [, bool $allow_string = ''])bool is_array16(mixed $var)bool is_bool16(mixed $var)bool is_callable16(mixed $var [, bool $syntax_only = false [, string $callable_name = '']])bool is_dir16(string $filename)bool is_double16() is_executable16(string $filename)bool is_file16(string $filename)bool is_finite16(float $val)bool is_float16(mixed $var)bool is_infinite16(float $val)bool is_int16(mixed $var)bool is_integer16() is_link16(string $filename)bool is_long16() is_nan16(float $val)bool is_null16(mixed $var)bool is_numeric16(mixed $var)bool is_object16(mixed $var)bool is_readable16(string $filename)bool is_real16() is_resource16(mixed $var)bool is_scalar16(mixed $var)resource is_soap_fault16(mixed $object)bool is_string16(mixed $var)bool is_subclass_of16(mixed $object, string $class_name [, bool $allow_string = ''])bool is_tainted16(string $string)bool is_uploaded_file16(string $filename)bool is_writable16(string $filename)bool is_writeable16() isalnum128(mixed $codepoint)boolIntlChar isalpha128(mixed $codepoint)boolIntlChar isbase128(mixed $codepoint)boolIntlChar isblank128(mixed $codepoint)boolIntlChar iscntrl128(mixed $codepoint)boolIntlChar isdefined128(mixed $codepoint)boolIntlChar isdigit128(mixed $codepoint)boolIntlChar isgraph128(mixed $codepoint)boolIntlChar islower128(mixed $codepoint)boolIntlChar isprint128(mixed $codepoint)boolIntlChar ispunct128(mixed $codepoint)boolIntlChar isset16(mixed $var [, mixed $... = ''])bool isspace128(mixed $codepoint)boolIntlChar istitle128(mixed $codepoint)boolIntlChar isupper128(mixed $codepoint)boolIntlChar isxdigit128(mixed $codepoint)boolIntlChar item128(int $index)DOMNodeDOMNamedNodeMap item128(int $index)DOMNodeDOMNodelist iteration128()intEv iterator_apply16(Traversable $iterator, callable $function [, array $args = ''])int iterator_count16(Traversable $iterator)int iterator_to_array16(Traversable $iterator [, bool $use_keys = true])array jddayofweek16(int $julianday [, int $mode = CAL_DOW_DAYNO])mixed jdmonthname16(int $julianday, int $mode)string jdtofrench16(int $juliandaycount)string jdtogregorian16(int $julianday)string jdtojewish16(int $juliandaycount [, bool $hebrew = false [, int $fl = '']])string jdtojulian16(int $julianday)string jdtounix16(int $jday)int jewishtojd16(int $month, int $day, int $year)int jobHandle128()stringGearmanTask jobStatus128(string $job_handle)arrayGearmanClient join16() join128()booleanThread jpeg2wbmp16(string $jpegname, string $wbmpname, int $dest_height, int $dest_width, int $threshold)bool jsonSerialize128()mixedJsonSerializable json_decode16(string $json [, bool $assoc = false [, int $depth = 512 [, int $options = '']]])mixed json_encode16(mixed $value [, int $options = '' [, int $depth = 512]])string json_last_error16()int json_last_error_msg16()string judy_type16(Judy $array)int judy_version16()string juliantojd16(int $month, int $day, int $year)int kadm5_chpass_principal16(resource $handle, string $principal, string $password)bool kadm5_create_principal16(resource $handle, string $principal [, string $password = '' [, array $options = '']])bool kadm5_delete_principal16(resource $handle, string $principal)bool kadm5_destroy16(resource $handle)bool kadm5_flush16(resource $handle)bool kadm5_get_policies16(resource $handle)array kadm5_get_principal16(resource $handle, string $principal)array kadm5_get_principals16(resource $handle)array kadm5_init_with_password16(string $admin_server, string $realm, string $principal, string $password)resource kadm5_modify_principal16(resource $handle, string $principal, array $options)bool keepalive128([bool $value = ''])boolEvWatcher key16(array $array)mixed key128()ReturnTypeIntlIterator key128()arrayMultipleIterator key128()intMongoCommandCursor key128()intSQLiteResult key128()intSplFileObject key128()intSplFixedArray key128()intSplObjectStorage key128()mixedArrayIterator key128()mixedFilterIterator key128()mixedLimitIterator key128()mixedNoRewindIterator key128()mixedRecursiveIteratorIterator key128()mixedSimpleXMLIterator key128()mixedSplDoublyLinkedList key128()mixedSplHeap key128()mixedSplPriorityQueue key128()mixedTokyoTyrantIterator key128()objectWeakMap key128()scalarAppendIterator key128()scalarCachingIterator key128()scalarEmptyIterator key128()scalarIteratorIterator key128()stringAPCIterator key128()stringAPCUIterator key128()stringDirectoryIterator key128()stringFilesystemIterator key128()stringMongoGridFSCursor key128()stringRecursiveDirectoryIterator key128()stringRecursiveTreeIterator key128()stringSolrDocument key128()stringTokyoTyrantQuery key128()stringhw_api_attribute key128()string|intMongoCursor key128()voidYaf_Config_Ini key128()voidYaf_Config_Simple key128()voidYaf_Session key_exists16() kill128(int $processid, mysqli $link)boolmysqli kill128(resource $link, int $processid)boolmaxdb kill128()voidThread killConnection128(mysqlnd_connection $connection, int $pid)boolMysqlndUhConnection killCursor128(string $server_hash, int|MongoInt64 $id)boolMongoClient krsort16(array $array [, int $sort_flags = SORT_REGULAR])bool ksort16(array $array [, int $sort_flags = SORT_REGULAR])bool ksort128()voidArrayIterator ksort128()voidArrayObject labelFrame128(string $label)voidSWFMovie labelFrame128(string $label)voidSWFSprite labelImage128(string $label)boolImagick labelimage128(string $label)mixedGmagick langdepvalue128(string $language)stringhw_api_attribute last128()ReturnTypeIntlBreakIterator last128([string $index = ''])voidJudy lastEmpty128([int $index = -1])intJudy lastError128()arrayMongoDB lastError128(resource $dbhandle)intSQLiteDatabase lastErrorCode128()intSQLite3 lastErrorMsg128()stringSQLite3 lastInsertId128([string $name = ''])stringPDO lastInsertRowID128()intSQLite3 lastInsertRowid128(resource $dbhandle)intSQLiteDatabase lcfirst16(string $str)string lcg_value16()float lchgrp16(string $filename, mixed $group)bool lchown16(string $filename, mixed $user)bool ldap_8859_to_t6116(string $value)string ldap_add16(resource $link_identifier, string $dn, array $entry)bool ldap_bind16(resource $link_identifier [, string $bind_rdn = '' [, string $bind_password = '']])bool ldap_close16() ldap_compare16(resource $link_identifier, string $dn, string $attribute, string $value)mixed ldap_connect16([string $host = '' [, int $port = 389]])resource ldap_control_paged_result16(resource $link, int $pagesize [, bool $iscritical = false [, string $cookie = ""]])bool ldap_control_paged_result_response16(resource $link, resource $result [, string $cookie = '' [, int $estimated = '']])bool ldap_count_entries16(resource $link_identifier, resource $result_identifier)int ldap_delete16(resource $link_identifier, string $dn)bool ldap_dn2ufn16(string $dn)string ldap_err2str16(int $errno)string ldap_errno16(resource $link_identifier)int ldap_error16(resource $link_identifier)string ldap_escape16(string $value [, string $ignore = '' [, int $flags = '']])string ldap_explode_dn16(string $dn, int $with_attrib)array ldap_first_attribute16(resource $link_identifier, resource $result_entry_identifier)string ldap_first_entry16(resource $link_identifier, resource $result_identifier)resource ldap_first_reference16(resource $link, resource $result)resource ldap_free_result16(resource $result_identifier)bool ldap_get_attributes16(resource $link_identifier, resource $result_entry_identifier)array ldap_get_dn16(resource $link_identifier, resource $result_entry_identifier)string ldap_get_entries16(resource $link_identifier, resource $result_identifier)array ldap_get_option16(resource $link_identifier, int $option, mixed $retval)bool ldap_get_values16(resource $link_identifier, resource $result_entry_identifier, string $attribute)array ldap_get_values_len16(resource $link_identifier, resource $result_entry_identifier, string $attribute)array ldap_list16(resource $link_identifier, string $base_dn, string $filter [, array $attributes = '' [, int $attrsonly = '' [, int $sizelimit = '' [, int $timelimit = '' [, int $deref = '']]]]])resource ldap_mod_add16(resource $link_identifier, string $dn, array $entry)bool ldap_mod_del16(resource $link_identifier, string $dn, array $entry)bool ldap_mod_replace16(resource $link_identifier, string $dn, array $entry)bool ldap_modify16(resource $link_identifier, string $dn, array $entry)bool ldap_modify_batch16(resource $link_identifier, string $dn, array $entry)bool ldap_next_attribute16(resource $link_identifier, resource $result_entry_identifier)string ldap_next_entry16(resource $link_identifier, resource $result_entry_identifier)resource ldap_next_reference16(resource $link, resource $entry)resource ldap_parse_reference16(resource $link, resource $entry, array $referrals)bool ldap_parse_result16(resource $link, resource $result, int $errcode [, string $matcheddn = '' [, string $errmsg = '' [, array $referrals = '']]])bool ldap_read16(resource $link_identifier, string $base_dn, string $filter [, array $attributes = '' [, int $attrsonly = '' [, int $sizelimit = '' [, int $timelimit = '' [, int $deref = '']]]]])resource ldap_rename16(resource $link_identifier, string $dn, string $newrdn, string $newparent, bool $deleteoldrdn)bool ldap_sasl_bind16(resource $link [, string $binddn = '' [, string $password = '' [, string $sasl_mech = '' [, string $sasl_realm = '' [, string $sasl_authc_id = '' [, string $sasl_authz_id = '' [, string $props = '']]]]]]])bool ldap_search16(resource $link_identifier, string $base_dn, string $filter [, array $attributes = '' [, int $attrsonly = '' [, int $sizelimit = '' [, int $timelimit = '' [, int $deref = '']]]]])resource ldap_set_option16(resource $link_identifier, int $option, mixed $newval)bool ldap_set_rebind_proc16(resource $link, callable $callback)bool ldap_sort16(resource $link, resource $result, string $sortfilter)bool ldap_start_tls16(resource $link)bool ldap_t61_to_885916(string $value)string ldap_unbind16(resource $link_identifier)bool leastSquaresByFactorisation128(array $a, array $b)arrayLapack leastSquaresBySVD128(array $a, array $b)arrayLapack lengths128(resource $result)arraymaxdb_result levelImage128(float $blackPoint, float $gamma, float $whitePoint [, int $channel = Imagick::CHANNEL_ALL])boolImagick levelToString128(int $level)stringCairoPsSurface levelimage128(float $blackPoint, float $gamma, float $whitePoint [, int $channel = Gmagick::CHANNEL_DEFAULT])mixedGmagick levenshtein16(string $str1, string $str2, int $cost_ins, int $cost_rep, int $cost_del)int libxml_clear_errors16()void libxml_disable_entity_loader16([bool $disable = true])bool libxml_get_errors16()array libxml_get_last_error16()LibXMLError libxml_set_external_entity_loader16(callable $resolver_function)void libxml_set_streams_context16(resource $streams_context)void libxml_use_internal_errors16([bool $use_errors = false])bool limit128(int $num)MongoCursorMongoCursor line128(float $sx, float $sy, float $ex, float $ey)GmagickDrawGmagickDraw line128(float $sx, float $sy, float $ex, float $ey)boolImagickDraw lineTo128(float $x, float $y)boolHaruPage lineTo128(string $x, string $y, CairoContext $context)voidCairoContext linearStretchImage128(float $blackPoint, float $whitePoint)boolImagick link16(string $target, string $link)bool link128(array $parameter)boolhw_api linkinfo16(string $path)int liquidRescaleImage128(int $width, int $height, float $delta_x, float $rigidity)boolImagick list16(mixed $var1 [, mixed $... = ''])array listAbbreviations128()arrayDateTimeZone listCollections128([array $options = array()])arrayMongoDB listDBs128()arrayMongoClient listFields128(mysqlnd_connection $connection, string $table, string $achtung_wild)arrayMysqlndUhConnection listIDs128()arrayTransliterator listIdentifiers128([int $what = DateTimeZone::ALL [, string $country = '']])arrayDateTimeZone listMethod128(mysqlnd_connection $connection, string $query, string $achtung_wild, string $par1)voidMysqlndUhConnection listRegistry128()arrayImagick load128(string $filename)boolSVMModel load128(string $filename [, int $options = ''])mixedDOMDocument load128()stringOCI-Lob loadExtension128(string $shared_library)boolSQLite3 loadFile128(string $xml_file)SDO_XMLDocumentSDO_DAS_XML loadFromFile128(string $filename [, int $options = ''])QuickHashIntHashQuickHashIntHash loadFromFile128(string $filename [, int $size = '' [, int $options = '']])QuickHashIntSetQuickHashIntSet loadFromFile128(string $filename [, int $size = '' [, int $options = '']])QuickHashIntStringHashQuickHashIntStringHash loadFromFile128(string $filename [, int $size = '' [, int $options = '']])QuickHashStringIntHashQuickHashStringIntHash loadFromString128(string $contents [, int $options = ''])QuickHashIntHashQuickHashIntHash loadFromString128(string $contents [, int $size = '' [, int $options = '']])QuickHashIntSetQuickHashIntSet loadFromString128(string $contents [, int $size = '' [, int $options = '']])QuickHashIntStringHashQuickHashIntStringHash loadFromString128(string $contents [, int $size = '' [, int $options = '']])QuickHashStringIntHashQuickHashStringIntHash loadHTML128(string $source [, int $options = ''])boolDOMDocument loadHTMLFile128(string $filename [, int $options = ''])boolDOMDocument loadHosts128(string $hosts)boolEventDnsBase loadJPEG128(string $filename)objectHaruDoc loadPNG128(string $filename [, bool $deferred = false])objectHaruDoc loadPhar128(string $filename [, string $alias = ''])boolPhar loadRaw128(string $filename, int $width, int $height, int $color_space)objectHaruDoc loadString128(string $xml_string)SDO_DAS_XML_DocumentSDO_DAS_XML loadTTC128(string $fontfile, int $index [, bool $embed = false])stringHaruDoc loadTTF128(string $fontfile [, bool $embed = false])stringHaruDoc loadType1128(string $afmfile [, string $pfmfile = ''])stringHaruDoc loadXML128(string $source [, int $options = ''])mixedDOMDocument locale_accept_from_http16(string $header)string locale_canonicalize16(string $locale)string locale_compose16(array $subtags)string locale_filter_matches16(string $langtag, string $locale [, bool $canonicalize = false])bool locale_get_all_variants16(string $locale)array locale_get_default16()string locale_get_display_language16(string $locale [, string $in_locale = ''])string locale_get_display_name16(string $locale [, string $in_locale = ''])string locale_get_display_region16(string $locale [, string $in_locale = ''])string locale_get_display_script16(string $locale [, string $in_locale = ''])string locale_get_display_variant16(string $locale [, string $in_locale = ''])string locale_get_keywords16(string $locale)array locale_get_primary_language16(string $locale)string locale_get_region16(string $locale)string locale_get_script16(string $locale)string locale_lookup16(array $langtag, string $locale [, bool $canonicalize = false [, string $default = '']])string locale_parse16(string $locale)array locale_set_default16(string $locale)bool localeconv16()array localtime16([int $timestamp = time() [, bool $is_associative = false]])array localtime128(string $value [, int $position = '', IntlDateFormatter $fmt])arrayIntlDateFormatter locateName128(string $name [, int $flags = ''])intZipArchive lock128([integer $wait = ''])boolSyncMutex lock128([integer $wait = ''])boolSyncSemaphore lock128(array $parameter)boolhw_api lock128()booleanThreaded lock128(long $mutex)booleanMutex lock128()voidEventBuffer log16(float $arg [, float $base = M_E])float log1016(float $arg)float log1p16(float $number)float log_cmd_delete16(array $server, array $writeOptions, array $deleteOptions, array $protocolOptions)callable log_cmd_insert16(array $server, array $document, array $writeOptions, array $protocolOptions)callable log_cmd_update16(array $server, array $writeOptions, array $updateOptions, array $protocolOptions)callable log_getmore16(array $server, array $info)callable log_killcursor16(array $server, array $info)callable log_reply16(array $server, array $messageHeaders, array $operationHeaders)callable log_write_batch16(array $server, array $writeOptions, array $batch, array $protocolOptions)callable long2ip16(string $proper_address)string lookup128(array $langtag, string $locale [, bool $canonicalize = false [, string $default = '']])stringLocale lookupNamespace128(string $prefix)stringXMLReader lookupNamespaceURI128(string $prefix)stringDOMNode lookupPrefix128(string $namespaceURI)stringDOMNode loop128([int $flags = ''])boolEventBase loop128([callable $callback = '' [, callable $error_callback = '']])booleanYar_Concurrent_Client loopCount128(int $point)voidSWFSoundInstance loopFork128()voidEvLoop loopInPoint128(int $point)voidSWFSoundInstance loopOutPoint128(int $point)voidSWFSoundInstance lstat16(string $filename)array ltrim16(string $str [, string $character_mask = ''])string lzf_compress16(string $data)string lzf_decompress16(string $data)string lzf_optimized_for16()int m_checkstatus16(resource $conn, int $identifier)int m_completeauthorizations16(resource $conn, int $array)int m_connect16(resource $conn)int m_connectionerror16(resource $conn)string m_deletetrans16(resource $conn, int $identifier)bool m_destroyconn16(resource $conn)bool m_destroyengine16()void m_getcell16(resource $conn, int $identifier, string $column, int $row)string m_getcellbynum16(resource $conn, int $identifier, int $column, int $row)string m_getcommadelimited16(resource $conn, int $identifier)string m_getheader16(resource $conn, int $identifier, int $column_num)string m_initconn16()resource m_initengine16(string $location)int m_iscommadelimited16(resource $conn, int $identifier)int m_maxconntimeout16(resource $conn, int $secs)bool m_monitor16(resource $conn)int m_numcolumns16(resource $conn, int $identifier)int m_numrows16(resource $conn, int $identifier)int m_parsecommadelimited16(resource $conn, int $identifier)int m_responsekeys16(resource $conn, int $identifier)array m_responseparam16(resource $conn, int $identifier, string $key)string m_returnstatus16(resource $conn, int $identifier)int m_setblocking16(resource $conn, int $tf)int m_setdropfile16(resource $conn, string $directory)int m_setip16(resource $conn, string $host, int $port)int m_setssl16(resource $conn, string $host, int $port)int m_setssl_cafile16(resource $conn, string $cafile)int m_setssl_files16(resource $conn, string $sslkeyfile, string $sslcertfile)int m_settimeout16(resource $conn, int $seconds)int m_sslcert_gen_hash16(string $filename)string m_transactionssent16(resource $conn)int m_transinqueue16(resource $conn)int m_transkeyval16(resource $conn, int $identifier, string $key, string $value)int m_transnew16(resource $conn)int m_transsend16(resource $conn, int $identifier)int m_uwait16(int $microsecs)int m_validateidentifier16(resource $conn, int $tf)int m_verifyconnection16(resource $conn, int $tf)bool m_verifysslcert16(resource $conn, int $tf)bool magic_quotes_runtime16() magnifyImage128()boolImagick magnifyimage128()mixedGmagick mail16(string $to, string $subject, string $message [, string $additional_headers = '' [, string $additional_parameters = '']])bool mailparse_determine_best_xfer_encoding16(resource $fp)string mailparse_msg_create16()resource mailparse_msg_extract_part16(resource $mimemail, string $msgbody [, callable $callbackfunc = ''])void mailparse_msg_extract_part_file16(resource $mimemail, mixed $filename [, callable $callbackfunc = ''])string mailparse_msg_extract_whole_part_file16(resource $mimemail, string $filename [, callable $callbackfunc = ''])string mailparse_msg_free16(resource $mimemail)bool mailparse_msg_get_part16(resource $mimemail, string $mimesection)resource mailparse_msg_get_part_data16(resource $mimemail)array mailparse_msg_get_structure16(resource $mimemail)array mailparse_msg_parse16(resource $mimemail, string $data)bool mailparse_msg_parse_file16(string $filename)resource mailparse_rfc822_parse_addresses16(string $addresses)array mailparse_stream_encode16(resource $sourcefp, resource $destfp, string $encoding)bool mailparse_uudecode_all16(resource $fp)array main16() makeRequest128(EventHttpRequest $req, int $type, string $uri)boolEventHttpConnection mapImage128(Imagick $map, bool $dither)boolImagick mapPhar128([string $alias = '' [, int $dataoffset = '']])boolPhar mapimage128(gmagick $gmagick, bool $dither)GmagickGmagick markDirty128()voidCairoSurface markDirtyRectangle128(string $x, string $y, string $width, string $height)voidCairoSurface mask128(CairoPattern $pattern, CairoContext $context)voidCairoContext maskSurface128(CairoSurface $surface [, string $x = '' [, string $y = '', CairoContext $context]])voidCairoContext match128(string $uri)voidYaf_Route_Static matte128(float $x, float $y, int $paintMethod)boolImagickDraw matteFloodfillImage128(float $alpha, float $fuzz, mixed $bordercolor, int $x, int $y)boolImagick max16(array $values, mixed $value1, mixed $value2 [, mixed $... = ''])string max128()intOCI-Collection maxTimeMS128(int $ms)MongoCursorMongoCursor maxdb1([string $host = '' [, string $username = '' [, string $passwd = '' [, string $dbname = '' [, int $port = '' [, string $socket = '']]]]]]) maxdb_affected_rows16(resource $link)int maxdb_autocommit16(resource $link, bool $mode)bool maxdb_bind_param16() maxdb_bind_result16() maxdb_change_user16(resource $link, string $user, string $password, string $database)bool maxdb_character_set_name16(resource $link)string maxdb_client_encoding16() maxdb_close16(resource $link)bool maxdb_close_long_data16() maxdb_commit16(resource $link)bool maxdb_connect16([string $host = '' [, string $username = '' [, string $passwd = '' [, string $dbname = '' [, int $port = '' [, string $socket = '']]]]]])resource maxdb_connect_errno16()int maxdb_connect_error16()string maxdb_data_seek16(resource $result, int $offset)bool maxdb_debug16(string $debug)void maxdb_disable_reads_from_master16(resource $link)void maxdb_disable_rpl_parse16(resource $link)bool maxdb_dump_debug_info16(resource $link)bool maxdb_embedded_connect16([string $dbname = ''])resource maxdb_enable_reads_from_master16(resource $link)bool maxdb_enable_rpl_parse16(resource $link)bool maxdb_errno16(resource $link)int maxdb_error16(resource $link)string maxdb_escape_string16() maxdb_execute16() maxdb_fetch16() maxdb_fetch_array16(resource $result [, int $resulttype = ''])mixed maxdb_fetch_assoc16(resource $result)array maxdb_fetch_field16(resource $result)mixed maxdb_fetch_field_direct16(resource $result, int $fieldnr)mixed maxdb_fetch_fields16(resource $result)mixed maxdb_fetch_lengths16(resource $result)array maxdb_fetch_object16(object $result)object maxdb_fetch_row16(resource $result)mixed maxdb_field_count16(resource $link)int maxdb_field_seek16(resource $result, int $fieldnr)bool maxdb_field_tell16(resource $result)int maxdb_free_result16(resource $result)void maxdb_get_client_info16()string maxdb_get_client_version16()int maxdb_get_host_info16(resource $link)string maxdb_get_metadata16() maxdb_get_proto_info16(resource $link)string maxdb_get_server_info16(resource $link)string maxdb_get_server_version16(resource $link)int maxdb_info16(resource $link)string maxdb_init16()resource maxdb_insert_id16(resource $link)mixed maxdb_kill16(resource $link, int $processid)bool maxdb_master_query16(resource $link, string $query)bool maxdb_more_results16(resource $link)bool maxdb_multi_query16(resource $link, string $query)bool maxdb_next_result16(resource $link)bool maxdb_num_fields16(resource $result)int maxdb_num_rows16(resource $result)int maxdb_options16(resource $link, int $option, mixed $value)bool maxdb_param_count16() maxdb_ping16(resource $link)bool maxdb_prepare16(resource $link, string $query)maxdb_stmt maxdb_query16(resource $link, string $query [, int $resultmode = ''])mixed maxdb_real_connect16(resource $link [, string $hostname = '' [, string $username = '' [, string $passwd = '' [, string $dbname = '' [, int $port = '' [, string $socket = '']]]]]])bool maxdb_real_escape_string16(resource $link, string $escapestr)string maxdb_real_query16(resource $link, string $query)bool maxdb_report16(int $flags)bool maxdb_rollback16(resource $link)bool maxdb_rpl_parse_enabled16(resource $link)int maxdb_rpl_probe16(resource $link)bool maxdb_rpl_query_type16(resource $link)int maxdb_select_db16(resource $link, string $dbname)bool maxdb_send_long_data16() maxdb_send_query16(resource $link, string $query)bool maxdb_server_end16()void maxdb_server_init16([array $server = '' [, array $groups = '']])bool maxdb_set_opt16() maxdb_sqlstate16(resource $link)string maxdb_ssl_set16(resource $link, string $key, string $cert, string $ca, string $capath, string $cipher)bool maxdb_stat16(resource $link)string maxdb_stmt_affected_rows16(resource $stmt)int maxdb_stmt_bind_param16(resource $stmt, string $types, mixed $var1 [, mixed $... = '', array $var])bool maxdb_stmt_bind_result16(resource $stmt, mixed $var1 [, mixed $... = ''])bool maxdb_stmt_close16(resource $stmt)bool maxdb_stmt_close_long_data16(resource $stmt, int $param_nr)bool maxdb_stmt_data_seek16(resource $statement, int $offset)bool maxdb_stmt_errno16(resource $stmt)int maxdb_stmt_error16(resource $stmt)string maxdb_stmt_execute16(resource $stmt)bool maxdb_stmt_fetch16(resource $stmt)bool maxdb_stmt_free_result16(resource $stmt)void maxdb_stmt_init16(resource $link)object maxdb_stmt_num_rows16(resource $stmt)int maxdb_stmt_param_count16(resource $stmt)int maxdb_stmt_prepare16(resource $stmt, string $query)mixed maxdb_stmt_reset16(resource $stmt)bool maxdb_stmt_result_metadata16(resource $stmt)resource maxdb_stmt_send_long_data16(resource $stmt, int $param_nr, string $data)bool maxdb_stmt_sqlstate16(resource $stmt)string maxdb_stmt_store_result16(resource $stmt)object maxdb_store_result16(resource $link)object maxdb_thread_id16(resource $link)int maxdb_thread_safe16()bool maxdb_use_result16(resource $link)resource maxdb_warning_count16(resource $link)int mb_check_encoding16([string $var = '' [, string $encoding = mb_internal_encoding()]])bool mb_convert_case16(string $str, int $mode [, string $encoding = mb_internal_encoding()])string mb_convert_encoding16(string $str, string $to_encoding [, mixed $from_encoding = mb_internal_encoding()])string mb_convert_kana16(string $str [, string $option = "KV" [, string $encoding = mb_internal_encoding()]])string mb_convert_variables16(string $to_encoding, mixed $from_encoding, mixed $vars [, mixed $... = ''])string mb_decode_mimeheader16(string $str)string mb_decode_numericentity16(string $str, array $convmap [, string $encoding = mb_internal_encoding()])string mb_detect_encoding16(string $str [, mixed $encoding_list = mb_detect_order() [, bool $strict = false]])string mb_detect_order16()])mixed mb_detect_order([mixed $encoding_list = mb_encode_mimeheader16(string $str [, string $charset = determined by mb_language() [, string $transfer_encoding = "B" [, string $linefeed = "\r\n" [, int $indent = '']]]])string mb_encode_numericentity16(string $str, array $convmap [, string $encoding = mb_internal_encoding() [, bool $is_hex = FALSE]])string mb_encoding_aliases16(string $encoding)array mb_ereg16(string $pattern, string $string [, array $regs = ''])int mb_ereg_match16(string $pattern, string $string [, string $option = "msr"])bool mb_ereg_replace16(string $pattern, string $replacement, string $string [, string $option = "msr"])string mb_ereg_replace_callback16(string $pattern, callable $callback, string $string [, string $option = "msr"])string mb_ereg_search16([string $pattern = '' [, string $option = "ms"]])bool mb_ereg_search_getpos16()int mb_ereg_search_getregs16()array mb_ereg_search_init16(string $string [, string $pattern = '' [, string $option = "msr"]])bool mb_ereg_search_pos16([string $pattern = '' [, string $option = "ms"]])array mb_ereg_search_regs16([string $pattern = '' [, string $option = "ms"]])array mb_ereg_search_setpos16(int $position)bool mb_eregi16(string $pattern, string $string [, array $regs = ''])int mb_eregi_replace16(string $pattern, string $replace, string $string [, string $option = "msri"])string mb_get_info16([string $type = "all"])mixed mb_http_input16([string $type = ""])mixed mb_http_output16()])mixed mb_http_output([string $encoding = mb_internal_encoding16()])mixed mb_internal_encoding([string $encoding = mb_language16()])mixed mb_language([string $language = mb_list_encodings16()array mb_output_handler16(string $contents, int $status)string mb_parse_str16(string $encoded_string [, array $result = ''])array mb_preferred_mime_name16(string $encoding)string mb_regex_encoding16()])mixed mb_regex_encoding([string $encoding = mb_regex_set_options16()])string mb_regex_set_options([string $options = mb_send_mail16(string $to, string $subject, string $message [, string $additional_headers = '' [, string $additional_parameter = '']])bool mb_split16(string $pattern, string $string [, int $limit = -1])array mb_strcut16(string $str, int $start [, int $length = null [, string $encoding = mb_internal_encoding()]])string mb_strimwidth16(string $str, int $start, int $width [, string $trimmarker = "" [, string $encoding = mb_internal_encoding()]])string mb_stripos16(string $haystack, string $needle [, int $offset = '' [, string $encoding = mb_internal_encoding()]])int mb_stristr16(string $haystack, string $needle [, bool $before_needle = false [, string $encoding = mb_internal_encoding()]])string mb_strlen16(string $str [, string $encoding = mb_internal_encoding()])string mb_strpos16(string $haystack, string $needle [, int $offset = '' [, string $encoding = mb_internal_encoding()]])string mb_strrchr16(string $haystack, string $needle [, bool $part = false [, string $encoding = mb_internal_encoding()]])string mb_strrichr16(string $haystack, string $needle [, bool $part = false [, string $encoding = mb_internal_encoding()]])string mb_strripos16(string $haystack, string $needle [, int $offset = '' [, string $encoding = mb_internal_encoding()]])int mb_strrpos16(string $haystack, string $needle [, int $offset = '' [, string $encoding = mb_internal_encoding()]])int mb_strstr16(string $haystack, string $needle [, bool $before_needle = false [, string $encoding = mb_internal_encoding()]])string mb_strtolower16(string $str [, string $encoding = mb_internal_encoding()])string mb_strtoupper16(string $str [, string $encoding = mb_internal_encoding()])string mb_strwidth16(string $str [, string $encoding = mb_internal_encoding()])string mb_substitute_character16()])integer mb_substitute_character([mixed $substrchar = mb_substr16(string $str, int $start [, int $length = null [, string $encoding = mb_internal_encoding()]])string mb_substr_count16(string $haystack, string $needle [, string $encoding = mb_internal_encoding()])string mcrypt_cbc16(string $cipher, string $key, string $data, int $mode [, string $iv = ''])string mcrypt_cfb16(string $cipher, string $key, string $data, int $mode [, string $iv = ''])string mcrypt_create_iv16(int $size [, int $source = MCRYPT_DEV_URANDOM])string mcrypt_decrypt16(string $cipher, string $key, string $data, string $mode [, string $iv = ''])string mcrypt_ecb16(string $cipher, string $key, string $data, int $mode [, string $iv = ''])string mcrypt_enc_get_algorithms_name16(resource $td)string mcrypt_enc_get_block_size16(resource $td)int mcrypt_enc_get_iv_size16(resource $td)int mcrypt_enc_get_key_size16(resource $td)int mcrypt_enc_get_modes_name16(resource $td)string mcrypt_enc_get_supported_key_sizes16(resource $td)array mcrypt_enc_is_block_algorithm16(resource $td)bool mcrypt_enc_is_block_algorithm_mode16(resource $td)bool mcrypt_enc_is_block_mode16(resource $td)bool mcrypt_enc_self_test16(resource $td)int mcrypt_encrypt16(string $cipher, string $key, string $data, string $mode [, string $iv = ''])string mcrypt_generic16(resource $td, string $data)string mcrypt_generic_deinit16(resource $td)bool mcrypt_generic_end16(resource $td)bool mcrypt_generic_init16(resource $td, string $key, string $iv)int mcrypt_get_block_size16(string $cipher, string $mode)int mcrypt_get_cipher_name16(string $cipher)string mcrypt_get_iv_size16(string $cipher, string $mode)int mcrypt_get_key_size16(string $cipher, string $mode)int mcrypt_list_algorithms16([string $lib_dir = ini_get("mcrypt.algorithms_dir")])array mcrypt_list_modes16([string $lib_dir = ini_get("mcrypt.modes_dir")])array mcrypt_module_close16(resource $td)bool mcrypt_module_get_algo_block_size16(string $algorithm [, string $lib_dir = ''])int mcrypt_module_get_algo_key_size16(string $algorithm [, string $lib_dir = ''])int mcrypt_module_get_supported_key_sizes16(string $algorithm [, string $lib_dir = ''])array mcrypt_module_is_block_algorithm16(string $algorithm [, string $lib_dir = ''])bool mcrypt_module_is_block_algorithm_mode16(string $mode [, string $lib_dir = ''])bool mcrypt_module_is_block_mode16(string $mode [, string $lib_dir = ''])bool mcrypt_module_open16(string $algorithm, string $algorithm_directory, string $mode, string $mode_directory)resource mcrypt_module_self_test16(string $algorithm [, string $lib_dir = ''])bool mcrypt_ofb16(string $cipher, string $key, string $data, int $mode [, string $iv = ''])string md516(string $str [, bool $raw_output = false])string md5_file16(string $filename [, bool $raw_output = false])string mdecrypt_generic16(resource $td, string $data)string measureText128(string $text, float $width [, bool $wordwrap = false])intHaruPage measureText128(string $text, float $width, float $font_size, float $char_space, float $word_space [, bool $word_wrap = false])intHaruFont medianFilterImage128(float $radius)boolImagick medianfilterimage128(float $radius)voidGmagick memcache_debug16(bool $on_off)bool memoryUsage128()intJudy memory_get_peak_usage16([bool $real_usage = false])int memory_get_usage16([bool $real_usage = false])int merge128(DOMDocument $src, DOMDocument $diff)DOMDocumentXMLDiff::DOM merge128(SolrDocument $sourceDoc [, bool $overwrite = true])boolSolrDocument merge128(SolrInputDocument $sourceDoc [, bool $overwrite = true])boolSolrInputDocument merge128(mixed $from [, bool $overwrite = ''])booleanThreaded merge128(mixed $src, mixed $diff)mixedXMLDiff::Base merge128(string $src, string $diff)stringXMLDiff::File merge128(string $src, string $diff)stringXMLDiff::Memory merge128(string $other)voidCairoFontOptions mergeImageLayers128(int $layer_method)ImagickImagick metaSearch128(array $queries, int $type)arrayTokyoTyrantQuery metaphone16(string $str [, int $phonemes = ''])string method_exists16(mixed $object, string $method_name)bool mhash16(int $hash, string $data [, string $key = ''])string mhash_count16()int mhash_get_block_size16(int $hash)int mhash_get_hash_name16(int $hash)string mhash_keygen_s2k16(int $hash, string $password, string $salt, int $bytes)string microtime16([bool $get_as_float = false])mixed mime_content_type16(string $filename)string mimetype128()stringhw_api_content min16(array $values, mixed $value1, mixed $value2 [, mixed $... = ''])string ming_keypress16(string $char)int ming_setcubicthreshold16(int $threshold)void ming_setscale16(float $scale)void ming_setswfcompression16(int $level)void ming_useconstants16(int $use)void ming_useswfversion16(int $version)void minifyImage128()boolImagick minifyimage128()voidGmagick mkdir16(string $pathname [, int $mode = 0777 [, bool $recursive = false [, resource $context = '']]])bool mkdir128(string $path, int $mode, int $options)boolstreamWrapper mktime16([int $hour = date("H") [, int $minute = date("i") [, int $second = date("s") [, int $month = date("n") [, int $day = date("j") [, int $year = date("Y") [, int $is_dst = -1]]]]]]])int modify128(string $modify, DateTime $object)DateTimeDateTime modify128(string $modify)DateTimeImmutableDateTimeImmutable modulateImage128(float $brightness, float $saturation, float $hue)boolImagick modulateimage128(float $brightness, float $saturation, float $hue)voidGmagick money_format16(string $format, float $number)string montageImage128(ImagickDraw $draw, string $tile_geometry, string $thumbnail_geometry, int $mode, string $frame)ImagickImagick moreResults128(mysqlnd_connection $connection)boolMysqlndUhConnection more_results128(mysql_stmt $stmt)boolmysqli_stmt more_results128(mysqli $link)boolmysqli more_results128(resource $link)boolmaxdb morphImages128(int $number_frames)ImagickImagick morphology128(int $morphologyMethod, int $iterations, ImagickKernel $ImagickKernel [, string $CHANNEL = ''])voidImagick mosaicImages128()ImagickImagick motionBlurImage128(float $radius, float $sigma, float $angle [, int $channel = Imagick::CHANNEL_DEFAULT])boolImagick motionblurimage128(float $radius, float $sigma, float $angle)voidGmagick mount128(string $pharpath, string $externalpath)voidPhar move128(array $parameter)boolhw_api move128(float $dx, float $dy)voidSWFDisplayItem move128(int $toIndex, int $fromIndex)voidSDO_Sequence movePen128(float $dx, float $dy)voidSWFShape movePenTo128(float $x, float $y)voidSWFShape moveTextPos128(float $x, float $y [, bool $set_leading = false])boolHaruPage moveTo128(float $x, float $y)boolHaruPage moveTo128(float $x, float $y)voidSWFDisplayItem moveTo128(float $x, float $y)voidSWFFill moveTo128(float $x, float $y)voidSWFText moveTo128(string $x, string $y, CairoContext $context)voidCairoContext moveToAttribute128(string $name)boolXMLReader moveToAttributeNo128(int $index)boolXMLReader moveToAttributeNs128(string $localName, string $namespaceURI)boolXMLReader moveToElement128()boolXMLReader moveToFirstAttribute128()boolXMLReader moveToNextAttribute128()boolXMLReader moveToNextLine128()boolHaruPage move_uploaded_file16(string $filename, string $destination)bool mqseries_back16(resource $hconn, resource $compCode, resource $reason)void mqseries_begin16(resource $hconn, array $beginOptions, resource $compCode, resource $reason)void mqseries_close16(resource $hconn, resource $hobj, int $options, resource $compCode, resource $reason)void mqseries_cmit16(resource $hconn, resource $compCode, resource $reason)void mqseries_conn16(string $qManagerName, resource $hconn, resource $compCode, resource $reason)void mqseries_connx16(string $qManagerName, array $connOptions, resource $hconn, resource $compCode, resource $reason)void mqseries_disc16(resource $hconn, resource $compCode, resource $reason)void mqseries_get16(resource $hConn, resource $hObj, array $md, array $gmo, int $bufferLength, string $msg, int $data_length, resource $compCode, resource $reason)void mqseries_inq16(resource $hconn, resource $hobj, int $selectorCount, array $selectors, int $intAttrCount, resource $intAttr, int $charAttrLength, resource $charAttr, resource $compCode, resource $reason)void mqseries_open16(resource $hconn, array $objDesc, int $option, resource $hobj, resource $compCode, resource $reason)void mqseries_put16(resource $hConn, resource $hObj, array $md, array $pmo, string $message, resource $compCode, resource $reason)void mqseries_put116(resource $hconn, resource $objDesc, resource $msgDesc, resource $pmo, string $buffer, resource $compCode, resource $reason)void mqseries_set16(resource $hconn, resource $hobj, int $selectorcount, array $selectors, int $intattrcount, array $intattrs, int $charattrlength, array $charattrs, resource $compCode, resource $reason)void mqseries_strerror16(int $reason)string msession_connect16(string $host, string $port)bool msession_count16()int msession_create16(string $session [, string $classname = '' [, string $data = '']])bool msession_destroy16(string $name)bool msession_disconnect16()void msession_find16(string $name, string $value)array msession_get16(string $session, string $name, string $value)string msession_get_array16(string $session)array msession_get_data16(string $session)string msession_inc16(string $session, string $name)string msession_list16()array msession_listvar16(string $name)array msession_lock16(string $name)int msession_plugin16(string $session, string $val [, string $param = ''])string msession_randstr16(int $param)string msession_set16(string $session, string $name, string $value)bool msession_set_array16(string $session, array $tuples)void msession_set_data16(string $session, string $value)bool msession_timeout16(string $session [, int $param = ''])int msession_uniq16(int $param [, string $classname = '' [, string $data = '']])string msession_unlock16(string $session, int $key)int msg_get_queue16(int $key [, int $perms = 0666])resource msg_queue_exists16(int $key)bool msg_receive16(resource $queue, int $desiredmsgtype, int $msgtype, int $maxsize, mixed $message [, bool $unserialize = true [, int $flags = '' [, int $errorcode = '']]])bool msg_remove_queue16(resource $queue)bool msg_send16(resource $queue, int $msgtype, mixed $message [, bool $serialize = true [, bool $blocking = true [, int $errorcode = '']]])bool msg_set_queue16(resource $queue, array $data)bool msg_stat_queue16(resource $queue)array msgfmt_create16(string $locale, string $pattern)MessageFormatter msgfmt_format16(array $args, MessageFormatter $fmt)string msgfmt_format_message16(string $locale, string $pattern, array $args)string msgfmt_get_error_code16(MessageFormatter $fmt)int msgfmt_get_error_message16(MessageFormatter $fmt)string msgfmt_get_locale16(NumberFormatter $formatter)string msgfmt_get_pattern16(MessageFormatter $fmt)string msgfmt_parse16(string $value, MessageFormatter $fmt)array msgfmt_parse_message16(string $locale, string $pattern, string $source, string $value)array msgfmt_set_pattern16(string $pattern, MessageFormatter $fmt)bool msql16() msql_affected_rows16(resource $result)int msql_close16([resource $link_identifier = ''])bool msql_connect16([string $hostname = ''])resource msql_create_db16(string $database_name [, resource $link_identifier = ''])bool msql_createdb16() msql_data_seek16(resource $result, int $row_number)bool msql_db_query16(string $database, string $query [, resource $link_identifier = ''])resource msql_dbname16() msql_drop_db16(string $database_name [, resource $link_identifier = ''])bool msql_error16()string msql_fetch_array16(resource $result [, int $result_type = ''])array msql_fetch_field16(resource $result [, int $field_offset = ''])object msql_fetch_object16(resource $result)object msql_fetch_row16(resource $result)array msql_field_flags16(resource $result, int $field_offset)string msql_field_len16(resource $result, int $field_offset)int msql_field_name16(resource $result, int $field_offset)string msql_field_seek16(resource $result, int $field_offset)bool msql_field_table16(resource $result, int $field_offset)int msql_field_type16(resource $result, int $field_offset)string msql_fieldflags16() msql_fieldlen16() msql_fieldname16() msql_fieldtable16() msql_fieldtype16() msql_free_result16(resource $result)bool msql_list_dbs16([resource $link_identifier = ''])resource msql_list_fields16(string $database, string $tablename [, resource $link_identifier = ''])resource msql_list_tables16(string $database [, resource $link_identifier = ''])resource msql_num_fields16(resource $result)int msql_num_rows16(resource $query_identifier)int msql_numfields16() msql_numrows16() msql_pconnect16([string $hostname = ''])resource msql_query16(string $query [, resource $link_identifier = ''])resource msql_regcase16() msql_result16(resource $result, int $row [, mixed $field = ''])string msql_select_db16(string $database_name [, resource $link_identifier = ''])bool msql_tablename16() mssql_bind16(resource $stmt, string $param_name, mixed $var, int $type [, bool $is_output = false [, bool $is_null = false [, int $maxlen = -1]]])bool mssql_close16([resource $link_identifier = ''])bool mssql_connect16([string $servername = '' [, string $username = '' [, string $password = '' [, bool $new_link = false]]]])resource mssql_data_seek16(resource $result_identifier, int $row_number)bool mssql_execute16(resource $stmt [, bool $skip_results = false])mixed mssql_fetch_array16(resource $result [, int $result_type = MSSQL_BOTH])array mssql_fetch_assoc16(resource $result_id)array mssql_fetch_batch16(resource $result)int mssql_fetch_field16(resource $result [, int $field_offset = -1])object mssql_fetch_object16(resource $result)object mssql_fetch_row16(resource $result)array mssql_field_length16(resource $result [, int $offset = -1])int mssql_field_name16(resource $result [, int $offset = -1])string mssql_field_seek16(resource $result, int $field_offset)bool mssql_field_type16(resource $result [, int $offset = -1])string mssql_free_result16(resource $result)bool mssql_free_statement16(resource $stmt)bool mssql_get_last_message16()string mssql_guid_string16(string $binary [, bool $short_format = false])string mssql_init16(string $sp_name [, resource $link_identifier = ''])resource mssql_min_error_severity16(int $severity)void mssql_min_message_severity16(int $severity)void mssql_next_result16(resource $result_id)bool mssql_num_fields16(resource $result)int mssql_num_rows16(resource $result)int mssql_pconnect16([string $servername = '' [, string $username = '' [, string $password = '' [, bool $new_link = false]]]])resource mssql_query16(string $query [, resource $link_identifier = '' [, int $batch_size = '']])mixed mssql_result16(resource $result, int $row, mixed $field)string mssql_rows_affected16(resource $link_identifier)int mssql_select_db16(string $database_name [, resource $link_identifier = ''])bool mt_getrandmax16()int mt_rand16(int $min, int $max)int mt_srand16([int $seed = ''])void multColor128(float $red, float $green, float $blue [, float $a = ''])voidSWFDisplayItem multi_query128(resource $link, string $query)boolmaxdb multi_query128(string $query, mysqli $link)boolmysqli multiply128(CairoMatrix $matrix1, CairoMatrix $matrix2)CairoMatrixCairoMatrix mungServer128(array $munglist)voidPhar mysql_affected_rows16([resource $link_identifier = null])int mysql_client_encoding16([resource $link_identifier = null])string mysql_close16([resource $link_identifier = null])bool mysql_connect16([string $server = ini_get("mysql.default_host") [, string $username = ini_get("mysql.default_user") [, string $password = ini_get("mysql.default_password") [, bool $new_link = false [, int $client_flags = '']]]]])resource mysql_create_db16(string $database_name [, resource $link_identifier = null])bool mysql_data_seek16(resource $result, int $row_number)bool mysql_db_name16(resource $result, int $row [, mixed $field = null])string mysql_db_query16(string $database, string $query [, resource $link_identifier = null])resource mysql_drop_db16(string $database_name [, resource $link_identifier = null])bool mysql_errno16([resource $link_identifier = null])int mysql_error16([resource $link_identifier = null])string mysql_escape_string16(string $unescaped_string)string mysql_fetch_array16(resource $result [, int $result_type = MYSQL_BOTH])array mysql_fetch_assoc16(resource $result)array mysql_fetch_field16(resource $result [, int $field_offset = ''])object mysql_fetch_lengths16(resource $result)array mysql_fetch_object16(resource $result [, string $class_name = '' [, array $params = '']])object mysql_fetch_row16(resource $result)array mysql_field_flags16(resource $result, int $field_offset)string mysql_field_len16(resource $result, int $field_offset)int mysql_field_name16(resource $result, int $field_offset)string mysql_field_seek16(resource $result, int $field_offset)bool mysql_field_table16(resource $result, int $field_offset)string mysql_field_type16(resource $result, int $field_offset)string mysql_free_result16(resource $result)bool mysql_get_client_info16()string mysql_get_host_info16([resource $link_identifier = null])string mysql_get_proto_info16([resource $link_identifier = null])int mysql_get_server_info16([resource $link_identifier = null])string mysql_info16([resource $link_identifier = null])string mysql_insert_id16([resource $link_identifier = null])int mysql_list_dbs16([resource $link_identifier = null])resource mysql_list_fields16(string $database_name, string $table_name [, resource $link_identifier = null])resource mysql_list_processes16([resource $link_identifier = null])resource mysql_list_tables16(string $database [, resource $link_identifier = null])resource mysql_num_fields16(resource $result)int mysql_num_rows16(resource $result)int mysql_pconnect16([string $server = ini_get("mysql.default_host") [, string $username = ini_get("mysql.default_user") [, string $password = ini_get("mysql.default_password") [, int $client_flags = '']]]])resource mysql_ping16([resource $link_identifier = null])bool mysql_query16(string $query [, resource $link_identifier = null])mixed mysql_real_escape_string16(string $unescaped_string [, resource $link_identifier = null])string mysql_result16(resource $result, int $row [, mixed $field = ''])string mysql_select_db16(string $database_name [, resource $link_identifier = null])bool mysql_set_charset16(string $charset [, resource $link_identifier = null])bool mysql_stat16([resource $link_identifier = null])string mysql_tablename16(resource $result, int $i)string mysql_thread_id16([resource $link_identifier = null])int mysql_unbuffered_query16(string $query [, resource $link_identifier = null])resource mysqli1([string $host = ini_get("mysqli.default_host") [, string $username = ini_get("mysqli.default_user") [, string $passwd = ini_get("mysqli.default_pw") [, string $dbname = "" [, int $port = ini_get("mysqli.default_port") [, string $socket = ini_get("mysqli.default_socket")]]]]]]) mysqli_autocommit16(bool $mode, mysqli $link)bool mysqli_begin_transaction16([int $flags = '' [, string $name = '', mysqli $link]])bool mysqli_bind_param16() mysqli_bind_result16() mysqli_change_user16(string $user, string $password, string $database, mysqli $link)bool mysqli_character_set_name16(mysqli $link)string mysqli_client_encoding16() mysqli_close16(mysqli $link)bool mysqli_commit16([int $flags = '' [, string $name = '', mysqli $link]])bool mysqli_connect16() mysqli_data_seek16(int $offset, mysqli_result $result)bool mysqli_debug16(string $message)bool mysqli_disable_reads_from_master16(mysqli $link)bool mysqli_disable_rpl_parse16(mysqli $link)bool mysqli_dump_debug_info16(mysqli $link)bool mysqli_embedded_server_end16()void mysqli_embedded_server_start16(bool $start, array $arguments, array $groups)bool mysqli_enable_reads_from_master16(mysqli $link)bool mysqli_enable_rpl_parse16(mysqli $link)bool mysqli_escape_string16() mysqli_execute16() mysqli_fetch16() mysqli_fetch_all16([int $resulttype = MYSQLI_NUM, mysqli_result $result])mixed mysqli_fetch_array16([int $resulttype = MYSQLI_BOTH, mysqli_result $result])mixed mysqli_fetch_assoc16(mysqli_result $result)array mysqli_fetch_field16(mysqli_result $result)object mysqli_fetch_field_direct16(int $fieldnr, mysqli_result $result)object mysqli_fetch_fields16(mysqli_result $result)array mysqli_fetch_object16([string $class_name = "stdClass" [, array $params = '', mysqli_result $result]])object mysqli_fetch_row16(mysqli_result $result)mixed mysqli_field_seek16(int $fieldnr, mysqli_result $result)bool mysqli_free_result16(mysqli_result $result)void mysqli_get_cache_stats16()array mysqli_get_charset16(mysqli $link)object mysqli_get_client_info16(mysqli $link)string mysqli_get_client_stats16()array mysqli_get_client_version16(mysqli $link)int mysqli_get_connection_stats16(mysqli $link)array mysqli_get_links_stats16()array mysqli_get_metadata16() mysqli_get_warnings16(mysqli $link)mysqli_warning mysqli_init16()mysqli mysqli_kill16(int $processid, mysqli $link)bool mysqli_master_query16(mysqli $link, string $query)bool mysqli_more_results16(mysqli $link)bool mysqli_multi_query16(string $query, mysqli $link)bool mysqli_next_result16(mysqli $link)bool mysqli_options16(int $option, mixed $value, mysqli $link)bool mysqli_param_count16() mysqli_ping16(mysqli $link)bool mysqli_poll16(array $read, array $error, array $reject, int $sec [, int $usec = ''])int mysqli_prepare16(string $query, mysqli $link)mysqli_stmt mysqli_query16(string $query [, int $resultmode = MYSQLI_STORE_RESULT, mysqli $link])mixed mysqli_real_connect16([string $host = '' [, string $username = '' [, string $passwd = '' [, string $dbname = '' [, int $port = '' [, string $socket = '' [, int $flags = '', mysqli $link]]]]]]])bool mysqli_real_escape_string16(string $escapestr, mysqli $link)string mysqli_real_query16(string $query, mysqli $link)bool mysqli_reap_async_query16(mysqli $link)mysqli_result mysqli_refresh16(int $options, resource $link)int mysqli_release_savepoint16(string $name, mysqli $link)bool mysqli_report16() mysqli_rollback16([int $flags = '' [, string $name = '', mysqli $link]])bool mysqli_rpl_parse_enabled16(mysqli $link)int mysqli_rpl_probe16(mysqli $link)bool mysqli_rpl_query_type16(string $query, mysqli $link)int mysqli_savepoint16(string $name, mysqli $link)bool mysqli_select_db16(string $dbname, mysqli $link)bool mysqli_send_long_data16() mysqli_send_query16(string $query, mysqli $link)bool mysqli_set_charset16(string $charset, mysqli $link)bool mysqli_set_local_infile_default16(mysqli $link)void mysqli_set_local_infile_handler16(mysqli $link, callable $read_func)bool mysqli_set_opt16() mysqli_slave_query16(mysqli $link, string $query)bool mysqli_ssl_set16(string $key, string $cert, string $ca, string $capath, string $cipher, mysqli $link)bool mysqli_stat16(mysqli $link)string mysqli_stmt1(mysqli $link [, string $query = '']) mysqli_stmt_attr_get16(int $attr, mysqli_stmt $stmt)int mysqli_stmt_attr_set16(int $attr, int $mode, mysqli_stmt $stmt)bool mysqli_stmt_bind_param16(string $types, mixed $var1 [, mixed $... = '', mysqli_stmt $stmt])bool mysqli_stmt_bind_result16(mixed $var1 [, mixed $... = '', mysqli_stmt $stmt])bool mysqli_stmt_close16(mysqli_stmt $stmt)bool mysqli_stmt_data_seek16(int $offset, mysqli_stmt $stmt)void mysqli_stmt_execute16(mysqli_stmt $stmt)bool mysqli_stmt_fetch16(mysqli_stmt $stmt)bool mysqli_stmt_free_result16(mysqli_stmt $stmt)void mysqli_stmt_get_result16(mysqli_stmt $stmt)mysqli_result mysqli_stmt_get_warnings16(mysqli_stmt $stmt)object mysqli_stmt_init16(mysqli $link)mysqli_stmt mysqli_stmt_more_results16(mysql_stmt $stmt)bool mysqli_stmt_next_result16(mysql_stmt $stmt)bool mysqli_stmt_prepare16(string $query, mysqli_stmt $stmt)bool mysqli_stmt_reset16(mysqli_stmt $stmt)bool mysqli_stmt_result_metadata16(mysqli_stmt $stmt)mysqli_result mysqli_stmt_send_long_data16(int $param_nr, string $data, mysqli_stmt $stmt)bool mysqli_stmt_store_result16(mysqli_stmt $stmt)bool mysqli_store_result16([int $option = '', mysqli $link])mysqli_result mysqli_thread_safe16()bool mysqli_use_result16(mysqli $link)mysqli_result mysqli_warning1() mysqlnd_memcache_get_config16(mixed $connection)array mysqlnd_memcache_set16(mixed $mysql_connection [, Memcached $memcache_connection = '' [, string $pattern = '' [, callback $callback = '']]])bool mysqlnd_ms_dump_servers16(mixed $connection)array mysqlnd_ms_fabric_select_global16(mixed $connection, mixed $table_name)array mysqlnd_ms_fabric_select_shard16(mixed $connection, mixed $table_name, mixed $shard_key)array mysqlnd_ms_get_last_gtid16(mixed $connection)string mysqlnd_ms_get_last_used_connection16(mixed $connection)array mysqlnd_ms_get_stats16()array mysqlnd_ms_match_wild16(string $table_name, string $wildcard)bool mysqlnd_ms_query_is_select16(string $query)int mysqlnd_ms_set_qos16(mixed $connection, int $service_level [, int $service_level_option = '' [, mixed $option_value = '']])bool mysqlnd_ms_set_user_pick_server16(string $function)bool mysqlnd_ms_xa_begin16(mixed $connection, string $gtrid [, int $timeout = ''])int mysqlnd_ms_xa_commit16(mixed $connection, string $gtrid)int mysqlnd_ms_xa_gc16(mixed $connection [, string $gtrid = '' [, boolean $ignore_max_retries = '']])int mysqlnd_ms_xa_rollback16(mixed $connection, string $gtrid)int mysqlnd_qc_clear_cache16()bool mysqlnd_qc_get_available_handlers16()array mysqlnd_qc_get_cache_info16()array mysqlnd_qc_get_core_stats16()array mysqlnd_qc_get_normalized_query_trace_log16()array mysqlnd_qc_get_query_trace_log16()array mysqlnd_qc_set_cache_condition16(int $condition_type, mixed $condition, mixed $condition_option)bool mysqlnd_qc_set_is_select16(string $callback)mixed mysqlnd_qc_set_storage_handler16(string $handler)bool mysqlnd_qc_set_user_handlers16(string $get_hash, string $find_query_in_cache, string $return_to_cache, string $add_query_to_cache_if_not_exists, string $query_is_select, string $update_query_run_time_stats, string $get_stats, string $clear_cache)bool mysqlnd_uh_convert_to_mysqlnd16(mysqli $mysql_connection)resource mysqlnd_uh_set_connection_proxy16(MysqlndUhConnection $connection_proxy [, mysqli $mysqli_connection = ''])bool mysqlnd_uh_set_statement_proxy16(MysqlndUhStatement $statement_proxy)bool natcasesort16(array $array)bool natcasesort128()voidArrayIterator natcasesort128()voidArrayObject natsort16(array $array)bool natsort128()voidArrayIterator natsort128()voidArrayObject ncurses_addch16(int $ch)int ncurses_addchnstr16(string $s, int $n)int ncurses_addchstr16(string $s)int ncurses_addnstr16(string $s, int $n)int ncurses_addstr16(string $text)int ncurses_assume_default_colors16(int $fg, int $bg)int ncurses_attroff16(int $attributes)int ncurses_attron16(int $attributes)int ncurses_attrset16(int $attributes)int ncurses_baudrate16()int ncurses_beep16()int ncurses_bkgd16(int $attrchar)int ncurses_bkgdset16(int $attrchar)void ncurses_border16(int $left, int $right, int $top, int $bottom, int $tl_corner, int $tr_corner, int $bl_corner, int $br_corner)int ncurses_bottom_panel16(resource $panel)int ncurses_can_change_color16()bool ncurses_cbreak16()bool ncurses_clear16()bool ncurses_clrtobot16()bool ncurses_clrtoeol16()bool ncurses_color_content16(int $color, int $r, int $g, int $b)int ncurses_color_set16(int $pair)int ncurses_curs_set16(int $visibility)int ncurses_def_prog_mode16()bool ncurses_def_shell_mode16()bool ncurses_define_key16(string $definition, int $keycode)int ncurses_del_panel16(resource $panel)bool ncurses_delay_output16(int $milliseconds)int ncurses_delch16()bool ncurses_deleteln16()bool ncurses_delwin16(resource $window)bool ncurses_doupdate16()bool ncurses_echo16()bool ncurses_echochar16(int $character)int ncurses_end16()int ncurses_erase16()bool ncurses_erasechar16()string ncurses_filter16()void ncurses_flash16()bool ncurses_flushinp16()bool ncurses_getch16()int ncurses_getmaxyx16(resource $window, int $y, int $x)void ncurses_getmouse16(array $mevent)bool ncurses_getyx16(resource $window, int $y, int $x)void ncurses_halfdelay16(int $tenth)int ncurses_has_colors16()bool ncurses_has_ic16()bool ncurses_has_il16()bool ncurses_has_key16(int $keycode)int ncurses_hide_panel16(resource $panel)int ncurses_hline16(int $charattr, int $n)int ncurses_inch16()string ncurses_init16()void ncurses_init_color16(int $color, int $r, int $g, int $b)int ncurses_init_pair16(int $pair, int $fg, int $bg)int ncurses_insch16(int $character)int ncurses_insdelln16(int $count)int ncurses_insertln16()int ncurses_insstr16(string $text)int ncurses_instr16(string $buffer)int ncurses_isendwin16()bool ncurses_keyok16(int $keycode, bool $enable)int ncurses_keypad16(resource $window, bool $bf)int ncurses_killchar16()string ncurses_longname16()string ncurses_meta16(resource $window, bool $8bit)int ncurses_mouse_trafo16(int $y, int $x, bool $toscreen)bool ncurses_mouseinterval16(int $milliseconds)int ncurses_mousemask16(int $newmask, int $oldmask)int ncurses_move16(int $y, int $x)int ncurses_move_panel16(resource $panel, int $startx, int $starty)int ncurses_mvaddch16(int $y, int $x, int $c)int ncurses_mvaddchnstr16(int $y, int $x, string $s, int $n)int ncurses_mvaddchstr16(int $y, int $x, string $s)int ncurses_mvaddnstr16(int $y, int $x, string $s, int $n)int ncurses_mvaddstr16(int $y, int $x, string $s)int ncurses_mvcur16(int $old_y, int $old_x, int $new_y, int $new_x)int ncurses_mvdelch16(int $y, int $x)int ncurses_mvgetch16(int $y, int $x)int ncurses_mvhline16(int $y, int $x, int $attrchar, int $n)int ncurses_mvinch16(int $y, int $x)int ncurses_mvvline16(int $y, int $x, int $attrchar, int $n)int ncurses_mvwaddstr16(resource $window, int $y, int $x, string $text)int ncurses_napms16(int $milliseconds)int ncurses_new_panel16(resource $window)resource ncurses_newpad16(int $rows, int $cols)resource ncurses_newwin16(int $rows, int $cols, int $y, int $x)resource ncurses_nl16()bool ncurses_nocbreak16()bool ncurses_noecho16()bool ncurses_nonl16()bool ncurses_noqiflush16()void ncurses_noraw16()bool ncurses_pair_content16(int $pair, int $f, int $b)int ncurses_panel_above16(resource $panel)resource ncurses_panel_below16(resource $panel)resource ncurses_panel_window16(resource $panel)resource ncurses_pnoutrefresh16(resource $pad, int $pminrow, int $pmincol, int $sminrow, int $smincol, int $smaxrow, int $smaxcol)int ncurses_prefresh16(resource $pad, int $pminrow, int $pmincol, int $sminrow, int $smincol, int $smaxrow, int $smaxcol)int ncurses_putp16(string $text)int ncurses_qiflush16()void ncurses_raw16()bool ncurses_refresh16(int $ch)int ncurses_replace_panel16(resource $panel, resource $window)int ncurses_reset_prog_mode16()int ncurses_reset_shell_mode16()int ncurses_resetty16()bool ncurses_savetty16()bool ncurses_scr_dump16(string $filename)int ncurses_scr_init16(string $filename)int ncurses_scr_restore16(string $filename)int ncurses_scr_set16(string $filename)int ncurses_scrl16(int $count)int ncurses_show_panel16(resource $panel)int ncurses_slk_attr16()int ncurses_slk_attroff16(int $intarg)int ncurses_slk_attron16(int $intarg)int ncurses_slk_attrset16(int $intarg)int ncurses_slk_clear16()bool ncurses_slk_color16(int $intarg)int ncurses_slk_init16(int $format)bool ncurses_slk_noutrefresh16()bool ncurses_slk_refresh16()int ncurses_slk_restore16()int ncurses_slk_set16(int $labelnr, string $label, int $format)bool ncurses_slk_touch16()int ncurses_standend16()int ncurses_standout16()int ncurses_start_color16()int ncurses_termattrs16()bool ncurses_termname16()string ncurses_timeout16(int $millisec)void ncurses_top_panel16(resource $panel)int ncurses_typeahead16(int $fd)int ncurses_ungetch16(int $keycode)int ncurses_ungetmouse16(array $mevent)bool ncurses_update_panels16()void ncurses_use_default_colors16()bool ncurses_use_env16(bool $flag)void ncurses_use_extended_names16(bool $flag)int ncurses_vidattr16(int $intarg)int ncurses_vline16(int $charattr, int $n)int ncurses_waddch16(resource $window, int $ch)int ncurses_waddstr16(resource $window, string $str [, int $n = ''])int ncurses_wattroff16(resource $window, int $attrs)int ncurses_wattron16(resource $window, int $attrs)int ncurses_wattrset16(resource $window, int $attrs)int ncurses_wborder16(resource $window, int $left, int $right, int $top, int $bottom, int $tl_corner, int $tr_corner, int $bl_corner, int $br_corner)int ncurses_wclear16(resource $window)int ncurses_wcolor_set16(resource $window, int $color_pair)int ncurses_werase16(resource $window)int ncurses_wgetch16(resource $window)int ncurses_whline16(resource $window, int $charattr, int $n)int ncurses_wmouse_trafo16(resource $window, int $y, int $x, bool $toscreen)bool ncurses_wmove16(resource $window, int $y, int $x)int ncurses_wnoutrefresh16(resource $window)int ncurses_wrefresh16(resource $window)int ncurses_wstandend16(resource $window)int ncurses_wstandout16(resource $window)int ncurses_wvline16(resource $window, int $charattr, int $n)int negateImage128(bool $gray [, int $channel = Imagick::CHANNEL_ALL])boolImagick newImage128(int $cols, int $rows, mixed $background [, string $format = ''])boolImagick newInstance128(mixed $args [, mixed $... = ''])objectReflectionClass newInstanceArgs128([array $args = ''])objectReflectionClass newInstanceWithoutConstructor128()objectReflectionClass newPath128(CairoContext $context)voidCairoContext newPixelIterator128(Imagick $wand)boolImagickPixelIterator newPixelRegionIterator128(Imagick $wand, int $x, int $y, int $columns, int $rows)boolImagickPixelIterator newPseudoImage128(int $columns, int $rows, string $pseudoString)boolImagick newSubPath128(CairoContext $context)voidCairoContext newimage128(int $width, int $height, string $background [, string $format = ''])voidGmagick newt_bell16()void newt_button16(int $left, int $top, string $text)resource newt_button_bar16(array $buttons)resource newt_centered_window16(int $width, int $height [, string $title = ''])int newt_checkbox16(int $left, int $top, string $text, string $def_value [, string $seq = ''])resource newt_checkbox_get_value16(resource $checkbox)string newt_checkbox_set_flags16(resource $checkbox, int $flags, int $sense)void newt_checkbox_set_value16(resource $checkbox, string $value)void newt_checkbox_tree16(int $left, int $top, int $height [, int $flags = ''])resource newt_checkbox_tree_add_item16(resource $checkboxtree, string $text, mixed $data, int $flags, int $index [, int $... = ''])void newt_checkbox_tree_find_item16(resource $checkboxtree, mixed $data)array newt_checkbox_tree_get_current16(resource $checkboxtree)mixed newt_checkbox_tree_get_entry_value16(resource $checkboxtree, mixed $data)string newt_checkbox_tree_get_multi_selection16(resource $checkboxtree, string $seqnum)array newt_checkbox_tree_get_selection16(resource $checkboxtree)array newt_checkbox_tree_multi16(int $left, int $top, int $height, string $seq [, int $flags = ''])resource newt_checkbox_tree_set_current16(resource $checkboxtree, mixed $data)void newt_checkbox_tree_set_entry16(resource $checkboxtree, mixed $data, string $text)void newt_checkbox_tree_set_entry_value16(resource $checkboxtree, mixed $data, string $value)void newt_checkbox_tree_set_width16(resource $checkbox_tree, int $width)void newt_clear_key_buffer16()void newt_cls16()void newt_compact_button16(int $left, int $top, string $text)resource newt_component_add_callback16(resource $component, mixed $func_name, mixed $data)void newt_component_takes_focus16(resource $component, bool $takes_focus)void newt_create_grid16(int $cols, int $rows)resource newt_cursor_off16()void newt_cursor_on16()void newt_delay16(int $microseconds)void newt_draw_form16(resource $form)void newt_draw_root_text16(int $left, int $top, string $text)void newt_entry16(int $left, int $top, int $width [, string $init_value = '' [, int $flags = '']])resource newt_entry_get_value16(resource $entry)string newt_entry_set16(resource $entry, string $value [, bool $cursor_at_end = ''])void newt_entry_set_filter16(resource $entry, callable $filter, mixed $data)void newt_entry_set_flags16(resource $entry, int $flags, int $sense)void newt_finished16()int newt_form16([resource $vert_bar = '' [, string $help = '' [, int $flags = '']]])resource newt_form_add_component16(resource $form, resource $component)void newt_form_add_components16(resource $form, array $components)void newt_form_add_hot_key16(resource $form, int $key)void newt_form_destroy16(resource $form)void newt_form_get_current16(resource $form)resource newt_form_run16(resource $form, array $exit_struct)void newt_form_set_background16(resource $from, int $background)void newt_form_set_height16(resource $form, int $height)void newt_form_set_size16(resource $form)void newt_form_set_timer16(resource $form, int $milliseconds)void newt_form_set_width16(resource $form, int $width)void newt_form_watch_fd16(resource $form, resource $stream [, int $flags = ''])void newt_get_screen_size16(int $cols, int $rows)void newt_grid_add_components_to_form16(resource $grid, resource $form, bool $recurse)void newt_grid_basic_window16(resource $text, resource $middle, resource $buttons)resource newt_grid_free16(resource $grid, bool $recurse)void newt_grid_get_size16(resouce $grid, int $width, int $height)void newt_grid_h_close_stacked16(int $element1_type, resource $element1 [, resource $... = ''])resource newt_grid_h_stacked16(int $element1_type, resource $element1 [, resource $... = ''])resource newt_grid_place16(resource $grid, int $left, int $top)void newt_grid_set_field16(resource $grid, int $col, int $row, int $type, resource $val, int $pad_left, int $pad_top, int $pad_right, int $pad_bottom, int $anchor [, int $flags = ''])void newt_grid_simple_window16(resource $text, resource $middle, resource $buttons)resource newt_grid_v_close_stacked16(int $element1_type, resource $element1 [, resource $... = ''])resource newt_grid_v_stacked16(int $element1_type, resource $element1 [, resource $... = ''])resource newt_grid_wrapped_window16(resource $grid, string $title)void newt_grid_wrapped_window_at16(resource $grid, string $title, int $left, int $top)void newt_init16()int newt_label16(int $left, int $top, string $text)resource newt_label_set_text16(resource $label, string $text)void newt_listbox16(int $left, int $top, int $height [, int $flags = ''])resource newt_listbox_append_entry16(resource $listbox, string $text, mixed $data)void newt_listbox_clear16(resource $listobx)void newt_listbox_clear_selection16(resource $listbox)void newt_listbox_delete_entry16(resource $listbox, mixed $key)void newt_listbox_get_current16(resource $listbox)string newt_listbox_get_selection16(resource $listbox)array newt_listbox_insert_entry16(resource $listbox, string $text, mixed $data, mixed $key)void newt_listbox_item_count16(resource $listbox)int newt_listbox_select_item16(resource $listbox, mixed $key, int $sense)void newt_listbox_set_current16(resource $listbox, int $num)void newt_listbox_set_current_by_key16(resource $listbox, mixed $key)void newt_listbox_set_data16(resource $listbox, int $num, mixed $data)void newt_listbox_set_entry16(resource $listbox, int $num, string $text)void newt_listbox_set_width16(resource $listbox, int $width)void newt_listitem16(int $left, int $top, string $text, bool $is_default, resouce $prev_item, mixed $data [, int $flags = ''])resource newt_listitem_get_data16(resource $item)mixed newt_listitem_set16(resource $item, string $text)void newt_open_window16(int $left, int $top, int $width, int $height [, string $title = ''])int newt_pop_help_line16()void newt_pop_window16()void newt_push_help_line16([string $text = ''])void newt_radio_get_current16(resource $set_member)resource newt_radiobutton16(int $left, int $top, string $text, bool $is_default [, resource $prev_button = ''])resource newt_redraw_help_line16()void newt_reflow_text16(string $text, int $width, int $flex_down, int $flex_up, int $actual_width, int $actual_height)string newt_refresh16()void newt_resize_screen16([bool $redraw = ''])void newt_resume16()void newt_run_form16(resource $form)resource newt_scale16(int $left, int $top, int $width, int $full_value)resource newt_scale_set16(resource $scale, int $amount)void newt_scrollbar_set16(resource $scrollbar, int $where, int $total)void newt_set_help_callback16(mixed $function)void newt_set_suspend_callback16(callable $function, mixed $data)void newt_suspend16()void newt_textbox16(int $left, int $top, int $width, int $height [, int $flags = ''])resource newt_textbox_get_num_lines16(resource $textbox)int newt_textbox_reflowed16(int $left, int $top, char $*text, int $width, int $flex_down, int $flex_up [, int $flags = ''])resource newt_textbox_set_height16(resource $textbox, int $height)void newt_textbox_set_text16(resource $textbox, string $text)void newt_vertical_scrollbar16(int $left, int $top, int $height [, int $normal_colorset = '' [, int $thumb_colorset = '']])resource newt_wait_for_key16()void newt_win_choice16(string $title, string $button1_text, string $button2_text, string $format [, mixed $args = '' [, mixed $... = '']])int newt_win_entries16(string $title, string $text, int $suggested_width, int $flex_down, int $flex_up, int $data_width, array $items, string $button1 [, string $... = ''])int newt_win_menu16(string $title, string $text, int $suggestedWidth, int $flexDown, int $flexUp, int $maxListHeight, array $items, int $listItem [, string $button1 = '' [, string $... = '']])int newt_win_message16(string $title, string $button_text, string $format [, mixed $args = '' [, mixed $... = '']])void newt_win_messagev16(string $title, string $button_text, string $format, array $args)void newt_win_ternary16(string $title, string $button1_text, string $button2_text, string $button3_text, string $format [, mixed $args = '' [, mixed $... = '']])int next16(array $array)mixed next128()ReturnTypeIntlIterator next128([string $"offset" = ''])ReturnTypeIntlBreakIterator next128()arrayMongoCursor next128()arrayTokyoTyrantQuery next128([string $localname = ''])boolXMLReader next128(resource $result)boolSQLiteResult next128(resource $result)boolSQLiteUnbuffered next128()mixedTokyoTyrantIterator next128(mixed $index)mixedJudy next128()objectSplObjectStorage next128()voidAPCIterator next128()voidAPCUIterator next128()voidAppendIterator next128()voidArrayIterator next128()voidCachingIterator next128()voidDirectoryIterator next128()voidEmptyIterator next128()voidFilesystemIterator next128()voidFilterIterator next128()voidInfiniteIterator next128()voidIteratorIterator next128()voidLimitIterator next128()voidMongoCommandCursor next128()voidMultipleIterator next128()voidNoRewindIterator next128()voidParentIterator next128()voidRecursiveDirectoryIterator next128()voidRecursiveIteratorIterator next128()voidRecursiveTreeIterator next128()voidSimpleXMLIterator next128()voidSolrDocument next128()voidSplDoublyLinkedList next128()voidSplFileObject next128()voidSplFixedArray next128()voidSplHeap next128()voidSplPriorityQueue next128()voidWeakMap next128()voidYaf_Config_Ini next128()voidYaf_Config_Simple next128()voidYaf_Session next128()voidmysqli_warning nextElement128()voidRecursiveIteratorIterator nextElement128()voidRecursiveTreeIterator nextEmpty128(int $index)intJudy nextFrame128()voidSWFMovie nextFrame128()voidSWFSprite nextImage128()boolImagick nextResult128(mysqlnd_connection $connection)boolMysqlndUhConnection nextResult128()objectSwishResults nextRowset128()boolPDOStatement next_result128(mysql_stmt $stmt)boolmysqli_stmt next_result128(mysqli $link)boolmysqli next_result128(resource $link)boolmaxdb nextimage128()boolGmagick ngettext16(string $msgid1, string $msgid2, int $n)string nl2br16(string $string [, bool $is_xhtml = true])string nl_langinfo16(int $item)string noMultiple128()voidSWFSoundInstance normalize128(string $input [, int $form = Normalizer::FORM_C])stringNormalizer normalize128()voidDOMNode normalizeDocument128()voidDOMDocument normalizeImage128([int $channel = Imagick::CHANNEL_ALL])boolImagick normalizeimage128([int $channel = ''])voidGmagick normalizer_is_normalized16(string $input [, int $form = Normalizer::FORM_C])bool normalizer_normalize16(string $input [, int $form = Normalizer::FORM_C])string notify128()booleanThreaded notify128()voidSplSubject now128()doubleEv now128()doubleEvLoop nowUpdate128()voidEv nowUpdate128()voidEvLoop nsapi_request_headers16()array nsapi_response_headers16()array nsapi_virtual16(string $uri)bool nthmac16(string $clent, string $data)string num128()intTokyoTyrant numColumns128()intSQLite3Result numFields128(resource $result)intSQLiteResult numFields128(resource $result)intSQLiteUnbuffered numRows128(resource $result)intSQLiteResult num_rows128(resource $result)intmaxdb num_rows128(resource $stmt)intmaxdb_stmt number_format16(float $number, int $decimals, string $dec_point, string $thousands_sep)string numfmt_create16(string $locale, int $style [, string $pattern = ''])NumberFormatter numfmt_format16(number $value [, int $type = '', NumberFormatter $fmt])string numfmt_format_currency16(float $value, string $currency, NumberFormatter $fmt)string numfmt_get_attribute16(int $attr, NumberFormatter $fmt)int numfmt_get_error_code16(NumberFormatter $fmt)int numfmt_get_error_message16(NumberFormatter $fmt)string numfmt_get_locale16([int $type = '', NumberFormatter $fmt])string numfmt_get_pattern16(NumberFormatter $fmt)string numfmt_get_symbol16(int $attr, NumberFormatter $fmt)string numfmt_get_text_attribute16(int $attr, NumberFormatter $fmt)string numfmt_parse16(string $value [, int $type = '' [, int $position = '', NumberFormatter $fmt]])mixed numfmt_parse_currency16(string $value, string $currency [, int $position = '', NumberFormatter $fmt])float numfmt_set_attribute16(int $attr, int $value, NumberFormatter $fmt)bool numfmt_set_pattern16(string $pattern, NumberFormatter $fmt)bool numfmt_set_symbol16(int $attr, string $value, NumberFormatter $fmt)bool numfmt_set_text_attribute16(int $attr, string $value, NumberFormatter $fmt)bool oauth_get_sbs16(string $http_method, string $uri [, array $request_parameters = ''])string oauth_urlencode16(string $uri)string ob_clean16()void ob_end_clean16()bool ob_end_flush16()bool ob_flush16()void ob_get_clean16()string ob_get_contents16()string ob_get_flush16()string ob_get_length16()int ob_get_level16()int ob_get_status16([bool $full_status = FALSE])array ob_gzhandler16(string $buffer, int $mode)string ob_iconv_handler16(string $contents, int $status)string ob_implicit_flush16([int $flag = true])void ob_list_handlers16()array ob_start16([callable $output_callback = '' [, int $chunk_size = '' [, int $flags = '']]])bool ob_tidyhandler16(string $input [, int $mode = ''])string object128(array $parameter)hw_api_objecthw_api objectbyanchor128(array $parameter)hw_api_objecthw_api oci_bind_array_by_name16(resource $statement, string $name, array $var_array, int $max_table_length [, int $max_item_length = -1 [, int $type = SQLT_AFC]])bool oci_bind_by_name16(resource $statement, string $bv_name, mixed $variable [, int $maxlength = -1 [, int $type = SQLT_CHR]])bool oci_cancel16(resource $statement)bool oci_client_version16()string oci_close16(resource $connection)bool oci_commit16(resource $connection)bool oci_connect16(string $username, string $password [, string $connection_string = '' [, string $character_set = '' [, int $session_mode = '']]])resource oci_define_by_name16(resource $statement, string $column_name, mixed $variable [, int $type = SQLT_CHR])bool oci_error16([resource $resource = ''])array oci_execute16(resource $statement [, int $mode = OCI_COMMIT_ON_SUCCESS])bool oci_fetch16(resource $statement)bool oci_fetch_all16(resource $statement, array $output [, int $skip = '' [, int $maxrows = -1 [, int $flags = + ]]])int oci_fetch_array16(resource $statement [, int $mode = ''])array oci_fetch_assoc16(resource $statement)array oci_fetch_object16(resource $statement)object oci_fetch_row16(resource $statement)array oci_field_is_null16(resource $statement, mixed $field)bool oci_field_name16(resource $statement, mixed $field)string oci_field_precision16(resource $statement, mixed $field)int oci_field_scale16(resource $statement, mixed $field)int oci_field_size16(resource $statement, mixed $field)int oci_field_type16(resource $statement, mixed $field)mixed oci_field_type_raw16(resource $statement, mixed $field)int oci_free_descriptor16(resource $descriptor)bool oci_free_statement16(resource $statement)bool oci_get_implicit_resultset16(resource $statement)resource oci_internal_debug16(bool $onoff)void oci_lob_copy16(OCI-Lob $lob_to, OCI-Lob $lob_from [, int $length = ''])bool oci_lob_is_equal16(OCI-Lob $lob1, OCI-Lob $lob2)bool oci_new_collection16(resource $connection, string $tdo [, string $schema = ''])OCI-Collection oci_new_connect16(string $username, string $password [, string $connection_string = '' [, string $character_set = '' [, int $session_mode = '']]])resource oci_new_cursor16(resource $connection)resource oci_new_descriptor16(resource $connection [, int $type = OCI_DTYPE_LOB])OCI-Lob oci_num_fields16(resource $statement)int oci_num_rows16(resource $statement)int oci_parse16(resource $connection, string $sql_text)resource oci_password_change16(resource $connection, string $username, string $old_password, string $new_password, string $dbname)resource oci_pconnect16(string $username, string $password [, string $connection_string = '' [, string $character_set = '' [, int $session_mode = '']]])resource oci_result16(resource $statement, mixed $field)mixed oci_rollback16(resource $connection)bool oci_server_version16(resource $connection)string oci_set_action16(resource $connection, string $action_name)bool oci_set_client_identifier16(resource $connection, string $client_identifier)bool oci_set_client_info16(resource $connection, string $client_info)bool oci_set_edition16(string $edition)bool oci_set_module_name16(resource $connection, string $module_name)bool oci_set_prefetch16(resource $statement, int $rows)bool oci_statement_type16(resource $statement)string ocibindbyname16() ocicancel16() ocicloselob16() ocicollappend16() ocicollassign16() ocicollassignelem16() ocicollgetelem16() ocicollmax16() ocicollsize16() ocicolltrim16() ocicolumnisnull16() ocicolumnname16() ocicolumnprecision16() ocicolumnscale16() ocicolumnsize16() ocicolumntype16() ocicolumntyperaw16() ocicommit16() ocidefinebyname16() ocierror16() ociexecute16() ocifetch16() ocifetchinto16() ocifetchstatement16() ocifreecollection16() ocifreecursor16() ocifreedesc16() ocifreestatement16() ociinternaldebug16() ociloadlob16() ocilogoff16() ocilogon16() ocinewcollection16() ocinewcursor16() ocinewdescriptor16() ocinlogon16() ocinumcols16() ociparse16() ociplogon16() ociresult16() ocirollback16() ocirowcount16() ocisavelob16() ocisavelobfile16() ociserverversion16() ocisetprefetch16() ocistatementtype16() ociwritelobtofile16() ociwritetemporarylob16() octdec16(string $octal_string)number odbc_autocommit16(resource $connection_id [, bool $OnOff = false])mixed odbc_binmode16(resource $result_id, int $mode)bool odbc_close16(resource $connection_id)void odbc_close_all16()void odbc_columnprivileges16(resource $connection_id, string $qualifier, string $owner, string $table_name, string $column_name)resource odbc_columns16(resource $connection_id [, string $qualifier = '' [, string $schema = '' [, string $table_name = '' [, string $column_name = '']]]])resource odbc_commit16(resource $connection_id)bool odbc_connect16(string $dsn, string $user, string $password [, int $cursor_type = ''])resource odbc_cursor16(resource $result_id)string odbc_data_source16(resource $connection_id, int $fetch_type)array odbc_do16() odbc_error16([resource $connection_id = ''])string odbc_errormsg16([resource $connection_id = ''])string odbc_exec16(resource $connection_id, string $query_string [, int $flags = ''])resource odbc_execute16(resource $result_id [, array $parameters_array = ''])bool odbc_fetch_array16(resource $result [, int $rownumber = ''])array odbc_fetch_into16(resource $result_id, array $result_array [, int $rownumber = ''])array odbc_fetch_object16(resource $result [, int $rownumber = ''])object odbc_fetch_row16(resource $result_id [, int $row_number = ''])bool odbc_field_len16(resource $result_id, int $field_number)int odbc_field_name16(resource $result_id, int $field_number)string odbc_field_num16(resource $result_id, string $field_name)int odbc_field_precision16() odbc_field_scale16(resource $result_id, int $field_number)int odbc_field_type16(resource $result_id, int $field_number)string odbc_foreignkeys16(resource $connection_id, string $pk_qualifier, string $pk_owner, string $pk_table, string $fk_qualifier, string $fk_owner, string $fk_table)resource odbc_free_result16(resource $result_id)bool odbc_gettypeinfo16(resource $connection_id [, int $data_type = ''])resource odbc_longreadlen16(resource $result_id, int $length)bool odbc_next_result16(resource $result_id)bool odbc_num_fields16(resource $result_id)int odbc_num_rows16(resource $result_id)int odbc_pconnect16(string $dsn, string $user, string $password [, int $cursor_type = ''])resource odbc_prepare16(resource $connection_id, string $query_string)resource odbc_primarykeys16(resource $connection_id, string $qualifier, string $owner, string $table)resource odbc_procedurecolumns16(resource $connection_id, string $qualifier, string $owner, string $proc, string $column)resource odbc_procedures16(resource $connection_id, string $qualifier, string $owner, string $name)resource odbc_result16(resource $result_id, mixed $field)mixed odbc_result_all16(resource $result_id [, string $format = ''])int odbc_rollback16(resource $connection_id)bool odbc_setoption16(resource $id, int $function, int $option, int $param)bool odbc_specialcolumns16(resource $connection_id, int $type, string $qualifier, string $owner, string $table, int $scope, int $nullable)resource odbc_statistics16(resource $connection_id, string $qualifier, string $owner, string $table_name, int $unique, int $accuracy)resource odbc_tableprivileges16(resource $connection_id, string $qualifier, string $owner, string $name)resource odbc_tables16(resource $connection_id [, string $qualifier = '' [, string $owner = '' [, string $name = '' [, string $types = '']]]])resource offsetExists128(int $index)boolSplFixedArray offsetExists128(mixed $index)boolArrayObject offsetExists128(mixed $index)boolSplDoublyLinkedList offsetExists128(mixed $offset)boolJudy offsetExists128(object $object)boolWeakMap offsetExists128(string $fieldName)boolSolrDocument offsetExists128(string $offset)boolPhar offsetExists128(string $property_name)boolSolrObject offsetExists128(object $object)objectSplObjectStorage offsetExists128(string $index)voidArrayIterator offsetExists128(string $index)voidCachingIterator offsetExists128(string $name)voidYaf_Config_Ini offsetExists128(string $name)voidYaf_Config_Simple offsetExists128(string $name)voidYaf_Session offsetGet128(string $fieldName)SolrDocumentFieldSolrDocument offsetGet128(string $offset)intPhar offsetGet128(int $index)mixedSplFixedArray offsetGet128(mixed $index)mixedArrayObject offsetGet128(mixed $index)mixedSplDoublyLinkedList offsetGet128(mixed $offset)mixedJudy offsetGet128(object $object)mixedWeakMap offsetGet128(string $index)mixedArrayIterator offsetGet128(string $property_name)mixedSolrObject offsetGet128(object $object)objectSplObjectStorage offsetGet128(string $index)voidCachingIterator offsetGet128(string $name)voidYaf_Config_Ini offsetGet128(string $name)voidYaf_Config_Simple offsetGet128(string $name)voidYaf_Session offsetSet128(mixed $offset, mixed $value)boolJudy offsetSet128(object $object [, mixed $data = ''])objectSplObjectStorage offsetSet128(int $index, mixed $newval)voidSplFixedArray offsetSet128(mixed $index, mixed $newval)voidArrayObject offsetSet128(mixed $index, mixed $newval)voidSplDoublyLinkedList offsetSet128(object $object, mixed $value)voidWeakMap offsetSet128(string $fieldName, string $fieldValue)voidSolrDocument offsetSet128(string $index, string $newval)voidArrayIterator offsetSet128(string $index, string $newval)voidCachingIterator offsetSet128(string $name, string $value)voidYaf_Config_Ini offsetSet128(string $name, string $value)voidYaf_Config_Simple offsetSet128(string $name, string $value)voidYaf_Session offsetSet128(string $offset, string $value)voidPhar offsetSet128(string $offset, string $value)voidPharData offsetSet128(string $property_name, string $property_value)voidSolrObject offsetUnset128(mixed $offset)boolJudy offsetUnset128(string $offset)boolPhar offsetUnset128(string $offset)boolPharData offsetUnset128(object $object)objectSplObjectStorage offsetUnset128(int $index)voidSplFixedArray offsetUnset128(mixed $index)voidArrayObject offsetUnset128(mixed $index)voidSplDoublyLinkedList offsetUnset128(object $object)voidWeakMap offsetUnset128(string $fieldName)voidSolrDocument offsetUnset128(string $index)voidArrayIterator offsetUnset128(string $index)voidCachingIterator offsetUnset128(string $name)voidYaf_Config_Ini offsetUnset128(string $name)voidYaf_Config_Simple offsetUnset128(string $name)voidYaf_Session offsetUnset128(string $property_name)voidSolrObject oilPaintImage128(float $radius)boolImagick oilpaintimage128(float $radius)voidGmagick onClose128()voidphp_user_filter onCreate128()boolphp_user_filter opaquePaintImage128(mixed $target, mixed $fill, float $fuzz, bool $invert [, int $channel = Imagick::CHANNEL_DEFAULT])boolImagick opcache_compile_file16(string $file)boolean opcache_get_configuration16()array opcache_get_status16([boolean $get_scripts = ''])array opcache_invalidate16(string $script [, boolean $force = ''])boolean opcache_is_script_cached16(string $file)boolean opcache_reset16()boolean open128(string $filename [, string $password = null [, callable $volume_callback = null]])RarArchiveRarArchive open128()boolSphinxClient open128(string $URI [, string $encoding = '' [, int $options = '']])boolXMLReader open128(string $save_path, string $name)boolSessionHandlerInterface open128(string $save_path, string $session_name)boolSessionHandler open128(string $filename [, int $flags = ''])mixedZipArchive open128(string $filename [, int $flags = SQLITE3_OPEN_READWRITE | SQLITE3_OPEN_CREATE [, string $encryption_key = '']])voidSQLite3 openFile128([string $open_mode = "r" [, bool $use_include_path = false [, resource $context = '']]])objectSplFileInfo openMemory128()resourceXMLWriter openURI128(string $uri)resourceXMLWriter openal_buffer_create16()resource openal_buffer_data16(resource $buffer, int $format, string $data, int $freq)bool openal_buffer_destroy16(resource $buffer)bool openal_buffer_get16(resource $buffer, int $property)int openal_buffer_loadwav16(resource $buffer, string $wavfile)bool openal_context_create16(resource $device)resource openal_context_current16(resource $context)bool openal_context_destroy16(resource $context)bool openal_context_process16(resource $context)bool openal_context_suspend16(resource $context)bool openal_device_close16(resource $device)bool openal_device_open16([string $device_desc = ''])resource openal_listener_get16(int $property)mixed openal_listener_set16(int $property, mixed $setting)bool openal_source_create16()resource openal_source_destroy16(resource $source)bool openal_source_get16(resource $source, int $property)mixed openal_source_pause16(resource $source)bool openal_source_play16(resource $source)bool openal_source_rewind16(resource $source)bool openal_source_set16(resource $source, int $property, mixed $setting)bool openal_source_stop16(resource $source)bool openal_stream16(resource $source, int $format, int $rate)resource opendir16(string $path [, resource $context = ''])resource openlog16(string $ident, int $option, int $facility)bool openssl_cipher_iv_length16(string $method)int openssl_csr_export16(resource $csr, string $out [, bool $notext = true])bool openssl_csr_export_to_file16(resource $csr, string $outfilename [, bool $notext = true])bool openssl_csr_get_public_key16(mixed $csr [, bool $use_shortnames = true])resource openssl_csr_get_subject16(mixed $csr [, bool $use_shortnames = true])array openssl_csr_new16(array $dn, resource $privkey [, array $configargs = '' [, array $extraattribs = '']])mixed openssl_csr_sign16(mixed $csr, mixed $cacert, mixed $priv_key, int $days [, array $configargs = '' [, int $serial = '']])resource openssl_decrypt16(string $data, string $method, string $password [, int $options = '' [, string $iv = ""]])string openssl_dh_compute_key16(string $pub_key, resource $dh_key)string openssl_digest16(string $data, string $method [, bool $raw_output = false])string openssl_encrypt16(string $data, string $method, string $password [, int $options = '' [, string $iv = ""]])string openssl_error_string16()string openssl_free_key16(resource $key_identifier)void openssl_get_cert_locations16()array openssl_get_cipher_methods16([bool $aliases = false])array openssl_get_md_methods16([bool $aliases = false])array openssl_get_privatekey16() openssl_get_publickey16() openssl_open16(string $sealed_data, string $open_data, string $env_key, mixed $priv_key_id [, string $method = ''])bool openssl_pbkdf216(string $password, string $salt, int $key_length, int $iterations [, string $digest_algorithm = ''])string openssl_pkcs12_export16(mixed $x509, string $out, mixed $priv_key, string $pass [, array $args = ''])bool openssl_pkcs12_export_to_file16(mixed $x509, string $filename, mixed $priv_key, string $pass [, array $args = ''])bool openssl_pkcs12_read16(string $pkcs12, array $certs, string $pass)bool openssl_pkcs7_decrypt16(string $infilename, string $outfilename, mixed $recipcert [, mixed $recipkey = ''])bool openssl_pkcs7_encrypt16(string $infile, string $outfile, mixed $recipcerts, array $headers [, int $flags = '' [, int $cipherid = OPENSSL_CIPHER_RC2_40]])bool openssl_pkcs7_sign16(string $infilename, string $outfilename, mixed $signcert, mixed $privkey, array $headers [, int $flags = PKCS7_DETACHED [, string $extracerts = '']])bool openssl_pkcs7_verify16(string $filename, int $flags [, string $outfilename = '' [, array $cainfo = '' [, string $extracerts = '' [, string $content = '']]]])mixed openssl_pkey_export16(mixed $key, string $out [, string $passphrase = '' [, array $configargs = '']])bool openssl_pkey_export_to_file16(mixed $key, string $outfilename [, string $passphrase = '' [, array $configargs = '']])bool openssl_pkey_free16(resource $key)void openssl_pkey_get_details16(resource $key)array openssl_pkey_get_private16(mixed $key [, string $passphrase = ""])resource openssl_pkey_get_public16(mixed $certificate)resource openssl_pkey_new16([array $configargs = ''])resource openssl_private_decrypt16(string $data, string $decrypted, mixed $key [, int $padding = OPENSSL_PKCS1_PADDING])bool openssl_private_encrypt16(string $data, string $crypted, mixed $key [, int $padding = OPENSSL_PKCS1_PADDING])bool openssl_public_decrypt16(string $data, string $decrypted, mixed $key [, int $padding = OPENSSL_PKCS1_PADDING])bool openssl_public_encrypt16(string $data, string $crypted, mixed $key [, int $padding = OPENSSL_PKCS1_PADDING])bool openssl_random_pseudo_bytes16(int $length [, bool $crypto_strong = ''])string openssl_seal16(string $data, string $sealed_data, array $env_keys, array $pub_key_ids [, string $method = "RC4"])int openssl_sign16(string $data, string $signature, mixed $priv_key_id [, mixed $signature_alg = OPENSSL_ALGO_SHA1])bool openssl_spki_export16(string $spkac)string openssl_spki_export_challenge16(string $spkac)string openssl_spki_new16(resource $privkey, string $challenge [, int $algorithm = ''])string openssl_spki_verify16(string $spkac)string openssl_verify16(string $data, string $signature, mixed $pub_key_id [, mixed $signature_alg = OPENSSL_ALGO_SHA1])int openssl_x509_check_private_key16(mixed $cert, mixed $key)bool openssl_x509_checkpurpose16(mixed $x509cert, int $purpose [, array $cainfo = array() [, string $untrustedfile = '']])int openssl_x509_export16(mixed $x509, string $output [, bool $notext = ''])bool openssl_x509_export_to_file16(mixed $x509, string $outfilename [, bool $notext = ''])bool openssl_x509_fingerprint16(mixed $x509 [, string $hash_algorithm = "sha1" [, bool $raw_output = '']])bool openssl_x509_free16(resource $x509cert)void openssl_x509_parse16(mixed $x509cert [, bool $shortnames = true])array openssl_x509_read16(mixed $x509certdata)resource optimize128([int $maxSegments = 1 [, bool $softCommit = true [, bool $waitSearcher = true]]])SolrUpdateResponseSolrClient optimizeImageLayers128()boolImagick options128(int $option, mixed $value, mysqli $link)boolmysqli options128(resource $link, int $option, mixed $value)boolmaxdb options128()intGearmanWorker ord16(string $string)int ord128(mixed $character)intIntlChar orderedPosterizeImage128(string $threshold_map [, int $channel = Imagick::CHANNEL_ALL])boolImagick out128()TokyoTyrantQueryTokyoTyrantQuery out128(mixed $keys)stringTokyoTyrant out128(mixed $keys)voidTokyoTyrantTable output128()boolHaruDoc output128([int $compression = ''])intSWFMovie outputMemory128([bool $flush = true, resource $xmlwriter])stringXMLWriter output_add_rewrite_var16(string $name, string $value)bool output_reset_rewrite_vars16()bool override_function16(string $function_name, string $function_args, string $function_code)bool pack16(string $format [, mixed $args = '' [, mixed $... = '']])string paint128(CairoContext $context)voidCairoContext paintFloodfillImage128(mixed $fill, float $fuzz, mixed $bordercolor, int $x, int $y [, int $channel = Imagick::CHANNEL_ALL])boolImagick paintOpaqueImage128(mixed $target, mixed $fill, float $fuzz [, int $channel = Imagick::CHANNEL_ALL])boolImagick paintTransparentImage128(mixed $target, float $alpha, float $fuzz)boolImagick paintWithAlpha128(string $alpha, CairoContext $context)voidCairoContext parallelCollectionScan128(int $num_cursors)array[MongoCommandCursor]MongoCollection paramCount128()intSQLite3Stmt param_count128(resource $stmt)intmaxdb_stmt parents128(array $parameter)arrayhw_api parse128(string $value, MessageFormatter $fmt)arrayMessageFormatter parse128(string $value [, int $position = '', IntlDateFormatter $fmt])intIntlDateFormatter parse128(string $value [, int $type = '' [, int $position = '', NumberFormatter $fmt]])mixedNumberFormatter parseCurrency128(string $value, string $currency [, int $position = '', NumberFormatter $fmt])floatNumberFormatter parseFile128(string $filename [, mixed $config = '' [, string $encoding = '' [, bool $use_include_path = false]]])tidytidy parseLocale128(string $locale)arrayLocale parseMessage128(string $locale, string $pattern, string $source, string $value)arrayMessageFormatter parseResolvConf128(int $flags, string $filename)boolEventDnsBase parseString128(string $input [, mixed $config = '' [, string $encoding = '']])tidytidy parse_ini_file16(string $filename [, bool $process_sections = false [, int $scanner_mode = INI_SCANNER_NORMAL]])array parse_ini_string16(string $ini [, bool $process_sections = false [, int $scanner_mode = INI_SCANNER_NORMAL]])array parse_str16(string $str [, array $arr = ''])void parse_url16(string $url [, int $component = -1])mixed parsekit_compile_file16(string $filename [, array $errors = '' [, int $options = PARSEKIT_QUIET]])array parsekit_compile_string16(string $phpcode [, array $errors = '' [, int $options = PARSEKIT_QUIET]])array parsekit_func_arginfo16(mixed $function)array partial128([bool $okay = true])MongoCursorMongoCursor passthru16(string $command [, int $return_var = ''])void password_get_info16(string $hash)array password_hash16(string $password, integer $algo [, array $options = ''])string password_needs_rehash16(string $hash, integer $algo [, array $options = ''])boolean password_verify16(string $password, string $hash)boolean pathClose128()boolImagickDraw pathCurveToAbsolute128(float $x1, float $y1, float $x2, float $y2, float $x, float $y)boolImagickDraw pathCurveToQuadraticBezierAbsolute128(float $x1, float $y1, float $x, float $y)boolImagickDraw pathCurveToQuadraticBezierRelative128(float $x1, float $y1, float $x, float $y)boolImagickDraw pathCurveToQuadraticBezierSmoothAbsolute128(float $x, float $y)boolImagickDraw pathCurveToQuadraticBezierSmoothRelative128(float $x, float $y)boolImagickDraw pathCurveToRelative128(float $x1, float $y1, float $x2, float $y2, float $x, float $y)boolImagickDraw pathCurveToSmoothAbsolute128(float $x2, float $y2, float $x, float $y)boolImagickDraw pathCurveToSmoothRelative128(float $x2, float $y2, float $x, float $y)boolImagickDraw pathEllipticArcAbsolute128(float $rx, float $ry, float $x_axis_rotation, bool $large_arc_flag, bool $sweep_flag, float $x, float $y)boolImagickDraw pathEllipticArcRelative128(float $rx, float $ry, float $x_axis_rotation, bool $large_arc_flag, bool $sweep_flag, float $x, float $y)boolImagickDraw pathExtents128(CairoContext $context)arrayCairoContext pathFinish128()boolImagickDraw pathLineToAbsolute128(float $x, float $y)boolImagickDraw pathLineToHorizontalAbsolute128(float $x)boolImagickDraw pathLineToHorizontalRelative128(float $x)boolImagickDraw pathLineToRelative128(float $x, float $y)boolImagickDraw pathLineToVerticalAbsolute128(float $y)boolImagickDraw pathLineToVerticalRelative128(float $y)boolImagickDraw pathMoveToAbsolute128(float $x, float $y)boolImagickDraw pathMoveToRelative128(float $x, float $y)boolImagickDraw pathStart128()boolImagickDraw pathinfo16(string $path [, int $options = PATHINFO_DIRNAME | PATHINFO_BASENAME | PATHINFO_EXTENSION | PATHINFO_FILENAME])mixed pclose16(resource $handle)int pcntl_alarm16(int $seconds)int pcntl_errno16() pcntl_exec16(string $path [, array $args = '' [, array $envs = '']])bool pcntl_fork16()int pcntl_get_last_error16()int pcntl_getpriority16([int $pid = getmypid() [, int $process_identifier = PRIO_PROCESS]])int pcntl_setpriority16(int $priority [, int $pid = getmypid() [, int $process_identifier = PRIO_PROCESS]])bool pcntl_signal16(int $signo, callable|int $handler [, bool $restart_syscalls = true])bool pcntl_signal_dispatch16()bool pcntl_sigprocmask16(int $how, array $set [, array $oldset = ''])bool pcntl_sigtimedwait16(array $set [, array $siginfo = '' [, int $seconds = '' [, int $nanoseconds = '']]])int pcntl_sigwaitinfo16(array $set [, array $siginfo = ''])int pcntl_strerror16(int $errno)string pcntl_wait16(int $status [, int $options = ''])int pcntl_waitpid16(int $pid, int $status [, int $options = ''])int pcntl_wexitstatus16(int $status)int pcntl_wifexited16(int $status)bool pcntl_wifsignaled16(int $status)bool pcntl_wifstopped16(int $status)bool pcntl_wstopsig16(int $status)int pcntl_wtermsig16(int $status)int pconnect128(string $host [, int $port = '' [, int $timeout = '']])mixedMemcache peek128(string $target [, array $properties = ''])SAMMessageSAMConnection peekAll128(string $target [, array $properties = ''])arraySAMConnection pending128(int $flags)boolEvent periodic128(double $offset, double $interval, callable $callback [, mixed $data = '' [, int $priority = '']])EvPeriodicEvLoop pfsockopen16(string $hostname [, int $port = -1 [, int $errno = '' [, string $errstr = '' [, float $timeout = ini_get("default_socket_timeout")]]]])resource pg_affected_rows16(resource $result)int pg_cancel_query16(resource $connection)bool pg_client_encoding16([resource $connection = ''])string pg_close16([resource $connection = ''])bool pg_connect16(string $connection_string [, int $connect_type = ''])resource pg_connect_poll16([resource $connection = ''])int pg_connection_busy16(resource $connection)bool pg_connection_reset16(resource $connection)bool pg_connection_status16(resource $connection)int pg_consume_input16(resource $connection)bool pg_convert16(resource $connection, string $table_name, array $assoc_array [, int $options = ''])array pg_copy_from16(resource $connection, string $table_name, array $rows [, string $delimiter = '' [, string $null_as = '']])bool pg_copy_to16(resource $connection, string $table_name [, string $delimiter = '' [, string $null_as = '']])array pg_dbname16([resource $connection = ''])string pg_delete16(resource $connection, string $table_name, array $assoc_array [, int $options = PGSQL_DML_EXEC])mixed pg_end_copy16([resource $connection = ''])bool pg_escape_bytea16([resource $connection = '', string $data])string pg_escape_identifier16([resource $connection = '', string $data])string pg_escape_literal16([resource $connection = '', string $data])string pg_escape_string16([resource $connection = '', string $data])string pg_execute16([resource $connection = '', string $stmtname, array $params])resource pg_fetch_all16(resource $result)array pg_fetch_all_columns16(resource $result [, int $column = ''])array pg_fetch_array16(resource $result [, int $row = '' [, int $result_type = PGSQL_BOTH]])array pg_fetch_assoc16(resource $result [, int $row = ''])array pg_fetch_object16(resource $result [, int $row = '' [, int $result_type = PGSQL_ASSOC [, string $class_name = '' [, array $params = '']]]])object pg_fetch_result16(resource $result, int $row, mixed $field)string pg_fetch_row16(resource $result [, int $row = ''])array pg_field_is_null16(resource $result, int $row, mixed $field)int pg_field_name16(resource $result, int $field_number)string pg_field_num16(resource $result, string $field_name)int pg_field_prtlen16(resource $result, int $row_number, mixed $field_name_or_number)integer pg_field_size16(resource $result, int $field_number)int pg_field_table16(resource $result, int $field_number [, bool $oid_only = false])mixed pg_field_type16(resource $result, int $field_number)string pg_field_type_oid16(resource $result, int $field_number)int pg_flush16(resource $connection)mixed pg_free_result16(resource $result)resource pg_get_notify16(resource $connection [, int $result_type = ''])array pg_get_pid16(resource $connection)int pg_get_result16([resource $connection = ''])resource pg_host16([resource $connection = ''])string pg_insert16(resource $connection, string $table_name, array $assoc_array [, int $options = PGSQL_DML_EXEC])mixed pg_last_error16([resource $connection = ''])string pg_last_notice16(resource $connection)string pg_last_oid16(resource $result)string pg_lo_close16(resource $large_object)bool pg_lo_create16([resource $connection = '', mixed $object_id])int pg_lo_export16([resource $connection = '', int $oid, string $pathname])bool pg_lo_import16([resource $connection = '', string $pathname [, mixed $object_id = '']])int pg_lo_open16(resource $connection, int $oid, string $mode)resource pg_lo_read16(resource $large_object [, int $len = 8192])string pg_lo_read_all16(resource $large_object)int pg_lo_seek16(resource $large_object, int $offset [, int $whence = PGSQL_SEEK_CUR])bool pg_lo_tell16(resource $large_object)int pg_lo_truncate16(resource $large_object, int $size)bool pg_lo_unlink16(resource $connection, int $oid)bool pg_lo_write16(resource $large_object, string $data [, int $len = ''])int pg_meta_data16(resource $connection, string $table_name [, bool $extended = ''])array pg_num_fields16(resource $result)int pg_num_rows16(resource $result)int pg_options16([resource $connection = ''])string pg_parameter_status16([resource $connection = '', string $param_name])string pg_pconnect16(string $connection_string [, int $connect_type = ''])resource pg_ping16([resource $connection = ''])bool pg_port16([resource $connection = ''])int pg_prepare16([resource $connection = '', string $stmtname, string $query])resource pg_put_line16([resource $connection = '', string $data])bool pg_query16([resource $connection = '', string $query])resource pg_query_params16([resource $connection = '', string $query, array $params])resource pg_result_error16(resource $result)string pg_result_error_field16(resource $result, int $fieldcode)string pg_result_seek16(resource $result, int $offset)bool pg_result_status16(resource $result [, int $type = PGSQL_STATUS_LONG])mixed pg_select16(resource $connection, string $table_name, array $assoc_array [, int $options = PGSQL_DML_EXEC])mixed pg_send_execute16(resource $connection, string $stmtname, array $params)bool pg_send_prepare16(resource $connection, string $stmtname, string $query)bool pg_send_query16(resource $connection, string $query)bool pg_send_query_params16(resource $connection, string $query, array $params)bool pg_set_client_encoding16([resource $connection = '', string $encoding])int pg_set_error_verbosity16([resource $connection = '', int $verbosity])int pg_socket16(resource $connection)resource pg_trace16(string $pathname [, string $mode = "w" [, resource $connection = '']])bool pg_transaction_status16(resource $connection)int pg_tty16([resource $connection = ''])string pg_unescape_bytea16(string $data)string pg_untrace16([resource $connection = ''])bool pg_update16(resource $connection, string $table_name, array $data, array $condition [, int $options = PGSQL_DML_EXEC])mixed pg_version16([resource $connection = ''])array pgsqlCopyFromArray128(string $table_name, array $rows [, string $delimiter = '\t' [, string $null_as = "\\\\N" [, string $fields = '']]])boolPDO pgsqlCopyFromFile128(string $table_name, string $filename [, string $delimiter = '\t' [, string $null_as = "\\\\N" [, string $fields = '']]])boolPDO pgsqlCopyToArray128(string $table_name, array $rows [, string $delimiter = '\t' [, string $null_as = "\\\\N" [, string $fields = '']]])arrayPDO pgsqlCopyToFile128(string $table_name, string $filename [, string $delimiter = '\t' [, string $null_as = "\\\\N" [, string $fields = '']]])boolPDO pgsqlGetNotify128([int $result_type = '' [, int $ms_timeout = '']])arrayPDO pgsqlGetPid128()intPDO pgsqlLOBCreate128()stringPDO pgsqlLOBOpen128(string $oid [, string $mode = "rb"])resourcePDO pgsqlLOBUnlink128(string $oid)boolPDO php_check_syntax16(string $filename [, string $error_message = ''])bool php_ini_loaded_file16()string php_ini_scanned_files16()string php_logo_guid16()string php_sapi_name16()string php_strip_whitespace16(string $filename)string php_uname16([string $mode = "a"])string phpcredits16([int $flag = CREDITS_ALL])bool phpinfo16([int $what = INFO_ALL])bool phpversion16([string $extension = ''])string pi16()float ping128()SolrPingResponseSolrClient ping128(mysqli $link)boolmysqli ping128(mysqlnd_connection $connection)boolMysqlndUhConnection ping128(resource $link)boolmaxdb ping128(string $workload)boolGearmanClient pingImage128(string $filename)boolImagick pingImageBlob128(string $image)boolImagick pingImageFile128(resource $filehandle [, string $fileName = ''])boolImagick png2wbmp16(string $pngname, string $wbmpname, int $dest_height, int $dest_width, int $threshold)bool point128(float $x, float $y)GmagickDrawGmagickDraw point128(float $x, float $y)boolImagickDraw polaroidImage128(ImagickDraw $properties, float $angle)boolImagick poll128(array $read, array $error, array $reject, int $sec [, int $usec = ''])intmysqli poll128(array $readable, array $writable [, integer $timeout = -1])integerZMQPoll polygon128(array $coordinates)GmagickDrawGmagickDraw polygon128(array $coordinates)boolImagickDraw polyline128(array $coordinate_array)GmagickDrawGmagickDraw polyline128(array $coordinates)boolImagickDraw poolDebug128()arrayMongo pop128()boolImagickDraw pop128()booleanThreaded pop128()mixedSplDoublyLinkedList popClipPath128()boolImagickDraw popDefs128()boolImagickDraw popGroup128(CairoContext $context)voidCairoContext popGroupToSource128(CairoContext $context)voidCairoContext popPattern128()boolImagickDraw popen16(string $command, string $mode)resource pos16() posix_access16(string $file [, int $mode = POSIX_F_OK])bool posix_ctermid16()string posix_errno16() posix_get_last_error16()int posix_getcwd16()string posix_getegid16()int posix_geteuid16()int posix_getgid16()int posix_getgrgid16(int $gid)array posix_getgrnam16(string $name)array posix_getgroups16()array posix_getlogin16()string posix_getpgid16(int $pid)int posix_getpgrp16()int posix_getpid16()int posix_getppid16()int posix_getpwnam16(string $username)array posix_getpwuid16(int $uid)array posix_getrlimit16()array posix_getsid16(int $pid)int posix_getuid16()int posix_initgroups16(string $name, int $base_group_id)bool posix_isatty16(mixed $fd)bool posix_kill16(int $pid, int $sig)bool posix_mkfifo16(string $pathname, int $mode)bool posix_mknod16(string $pathname, int $mode [, int $major = '' [, int $minor = '']])bool posix_setegid16(int $gid)bool posix_seteuid16(int $uid)bool posix_setgid16(int $gid)bool posix_setpgid16(int $pid, int $pgid)bool posix_setrlimit16(int $resource, int $softlimit, int $hardlimit)bool posix_setsid16()int posix_setuid16(int $uid)bool posix_strerror16(int $errno)string posix_times16()array posix_ttyname16(mixed $fd)string posix_uname16()array postDispatch128(Yaf_Request_Abstract $request, Yaf_Response_Abstract $response)voidYaf_Plugin_Abstract posterizeImage128(int $levels, bool $dither)boolImagick pow16(number $base, number $exp)number preDispatch128(Yaf_Request_Abstract $request, Yaf_Response_Abstract $response)voidYaf_Plugin_Abstract preResponse128(Yaf_Request_Abstract $request, Yaf_Response_Abstract $response)voidYaf_Plugin_Abstract preceding128(string $"offset")ReturnTypeIntlBreakIterator predict128(array $data)floatSVMModel predict_probability128(array $data)floatSVMModel preg_filter16(mixed $pattern, mixed $replacement, mixed $subject [, int $limit = -1 [, int $count = '']])mixed preg_grep16(string $pattern, array $input [, int $flags = ''])array preg_last_error16()int preg_match16(string $pattern, string $subject [, array $matches = '' [, int $flags = '' [, int $offset = '']]])int preg_match_all16(string $pattern, string $subject [, array $matches = '' [, int $flags = '' [, int $offset = '']]])int preg_quote16(string $str [, string $delimiter = ''])string preg_replace16(mixed $pattern, mixed $replacement, mixed $subject [, int $limit = -1 [, int $count = '']])mixed preg_replace_callback16(mixed $pattern, callable $callback, mixed $subject [, int $limit = -1 [, int $count = '']])mixed preg_replace_callback_array16(array $patterns_and_callbacks, mixed $subject [, int $limit = -1 [, int $count = '']])mixed preg_split16(string $pattern, string $subject [, int $limit = -1 [, int $flags = '']])array prepare128(callable $callback [, mixed $data = '' [, int $priority = '']])EvPrepareEvLoop prepare128(string $statement [, array $driver_options = array()])PDOStatementPDO prepare128(string $query)SQLite3StmtSQLite3 prepare128(mysqlnd_prepared_statement $statement, string $query)boolMysqlndUhPreparedStatement prepare128(string $query, mysqli_stmt $stmt)boolmysqli_stmt prepare128(resource $link, string $query)maxdb_stmtmaxdb prepare128(resource $stmt, string $query)mixedmaxdb_stmt prepare128(string $query, mysqli $link)mysqli_stmtmysqli prepare128([string $query = ''])objectSwish prepend128(string $data)boolEventBuffer prepend128(string $key, string $value)boolMemcached prependBody128(string $content [, string $key = ''])boolYaf_Response_Abstract prependBuffer128(EventBuffer $buf)boolEventBuffer prependByKey128(string $server_key, string $key, string $value)boolMemcached prev16(array $array)mixed prev128(resource $result)boolSQLiteResult prev128(mixed $index)mixedJudy prev128()voidEvStat prev128()voidSplDoublyLinkedList prevEmpty128(mixed $index)intJudy prevError128()arrayMongoDB previewImages128(int $preview)boolImagick previous128()ReturnTypeIntlBreakIterator previousImage128()boolImagick previousimage128()boolGmagick print16(string $arg)int print_r16(mixed $expression [, bool $return = false])mixed printf16(string $format [, mixed $args = '' [, mixed $... = '']])int priorityInit128(int $n_priorities)boolEventBase proc_close16(resource $process)int proc_get_status16(resource $process)array proc_nice16(int $increment)bool proc_open16(string $cmd, array $descriptorspec, array $pipes [, string $cwd = '' [, array $env = '' [, array $other_options = '']]])resource proc_terminate16(resource $process [, int $signal = 15])bool profileImage128(string $name, string $profile)boolImagick profileimage128(string $name, string $profile)voidGmagick property_exists16(mixed $class, string $property)bool protocol_version128(resource $link)stringmaxdb ps_add_bookmark16(resource $psdoc, string $text [, int $parent = '' [, int $open = '']])int ps_add_launchlink16(resource $psdoc, float $llx, float $lly, float $urx, float $ury, string $filename)bool ps_add_locallink16(resource $psdoc, float $llx, float $lly, float $urx, float $ury, int $page, string $dest)bool ps_add_note16(resource $psdoc, float $llx, float $lly, float $urx, float $ury, string $contents, string $title, string $icon, int $open)bool ps_add_pdflink16(resource $psdoc, float $llx, float $lly, float $urx, float $ury, string $filename, int $page, string $dest)bool ps_add_weblink16(resource $psdoc, float $llx, float $lly, float $urx, float $ury, string $url)bool ps_arc16(resource $psdoc, float $x, float $y, float $radius, float $alpha, float $beta)bool ps_arcn16(resource $psdoc, float $x, float $y, float $radius, float $alpha, float $beta)bool ps_begin_page16(resource $psdoc, float $width, float $height)bool ps_begin_pattern16(resource $psdoc, float $width, float $height, float $xstep, float $ystep, int $painttype)int ps_begin_template16(resource $psdoc, float $width, float $height)int ps_circle16(resource $psdoc, float $x, float $y, float $radius)bool ps_clip16(resource $psdoc)bool ps_close16(resource $psdoc)bool ps_close_image16(resource $psdoc, int $imageid)void ps_closepath16(resource $psdoc)bool ps_closepath_stroke16(resource $psdoc)bool ps_continue_text16(resource $psdoc, string $text)bool ps_curveto16(resource $psdoc, float $x1, float $y1, float $x2, float $y2, float $x3, float $y3)bool ps_delete16(resource $psdoc)bool ps_end_page16(resource $psdoc)bool ps_end_pattern16(resource $psdoc)bool ps_end_template16(resource $psdoc)bool ps_fill16(resource $psdoc)bool ps_fill_stroke16(resource $psdoc)bool ps_findfont16(resource $psdoc, string $fontname, string $encoding [, bool $embed = false])int ps_get_buffer16(resource $psdoc)string ps_get_parameter16(resource $psdoc, string $name [, float $modifier = ''])string ps_get_value16(resource $psdoc, string $name [, float $modifier = ''])float ps_hyphenate16(resource $psdoc, string $text)array ps_include_file16(resource $psdoc, string $file)bool ps_lineto16(resource $psdoc, float $x, float $y)bool ps_makespotcolor16(resource $psdoc, string $name [, int $reserved = ''])int ps_moveto16(resource $psdoc, float $x, float $y)bool ps_new16()resource ps_open_file16(resource $psdoc [, string $filename = ''])bool ps_open_image16(resource $psdoc, string $type, string $source, string $data, int $lenght, int $width, int $height, int $components, int $bpc, string $params)int ps_open_image_file16(resource $psdoc, string $type, string $filename [, string $stringparam = '' [, int $intparam = '']])int ps_open_memory_image16(resource $psdoc, int $gd)int ps_place_image16(resource $psdoc, int $imageid, float $x, float $y, float $scale)bool ps_rect16(resource $psdoc, float $x, float $y, float $width, float $height)bool ps_restore16(resource $psdoc)bool ps_rotate16(resource $psdoc, float $rot)bool ps_save16(resource $psdoc)bool ps_scale16(resource $psdoc, float $x, float $y)bool ps_set_border_color16(resource $psdoc, float $red, float $green, float $blue)bool ps_set_border_dash16(resource $psdoc, float $black, float $white)bool ps_set_border_style16(resource $psdoc, string $style, float $width)bool ps_set_info16(resource $p, string $key, string $val)bool ps_set_parameter16(resource $psdoc, string $name, string $value)bool ps_set_text_pos16(resource $psdoc, float $x, float $y)bool ps_set_value16(resource $psdoc, string $name, float $value)bool ps_setcolor16(resource $psdoc, string $type, string $colorspace, float $c1, float $c2, float $c3, float $c4)bool ps_setdash16(resource $psdoc, float $on, float $off)bool ps_setflat16(resource $psdoc, float $value)bool ps_setfont16(resource $psdoc, int $fontid, float $size)bool ps_setgray16(resource $psdoc, float $gray)bool ps_setlinecap16(resource $psdoc, int $type)bool ps_setlinejoin16(resource $psdoc, int $type)bool ps_setlinewidth16(resource $psdoc, float $width)bool ps_setmiterlimit16(resource $psdoc, float $value)bool ps_setoverprintmode16(resource $psdoc, int $mode)bool ps_setpolydash16(resource $psdoc, float $arr)bool ps_shading16(resource $psdoc, string $type, float $x0, float $y0, float $x1, float $y1, float $c1, float $c2, float $c3, float $c4, string $optlist)int ps_shading_pattern16(resource $psdoc, int $shadingid, string $optlist)int ps_shfill16(resource $psdoc, int $shadingid)bool ps_show16(resource $psdoc, string $text)bool ps_show216(resource $psdoc, string $text, int $len)bool ps_show_boxed16(resource $psdoc, string $text, float $left, float $bottom, float $width, float $height, string $hmode [, string $feature = ''])int ps_show_xy16(resource $psdoc, string $text, float $x, float $y)bool ps_show_xy216(resource $psdoc, string $text, int $len, float $xcoor, float $ycoor)bool ps_string_geometry16(resource $psdoc, string $text [, int $fontid = '' [, float $size = 0.0]])array ps_stringwidth16(resource $psdoc, string $text [, int $fontid = '' [, float $size = 0.0]])float ps_stroke16(resource $psdoc)bool ps_symbol16(resource $psdoc, int $ord)bool ps_symbol_name16(resource $psdoc, int $ord [, int $fontid = ''])string ps_symbol_width16(resource $psdoc, int $ord [, int $fontid = '' [, float $size = 0.0]])float ps_translate16(resource $psdoc, float $x, float $y)bool pseudoInverse128(array $a)arrayLapack pspell_add_to_personal16(int $dictionary_link, string $word)bool pspell_add_to_session16(int $dictionary_link, string $word)bool pspell_check16(int $dictionary_link, string $word)bool pspell_clear_session16(int $dictionary_link)bool pspell_config_create16(string $language [, string $spelling = '' [, string $jargon = '' [, string $encoding = '']]])int pspell_config_data_dir16(int $conf, string $directory)bool pspell_config_dict_dir16(int $conf, string $directory)bool pspell_config_ignore16(int $dictionary_link, int $n)bool pspell_config_mode16(int $dictionary_link, int $mode)bool pspell_config_personal16(int $dictionary_link, string $file)bool pspell_config_repl16(int $dictionary_link, string $file)bool pspell_config_runtogether16(int $dictionary_link, bool $flag)bool pspell_config_save_repl16(int $dictionary_link, bool $flag)bool pspell_new16(string $language [, string $spelling = '' [, string $jargon = '' [, string $encoding = '' [, int $mode = '']]]])int pspell_new_config16(int $config)int pspell_new_personal16(string $personal, string $language [, string $spelling = '' [, string $jargon = '' [, string $encoding = '' [, int $mode = '']]]])int pspell_save_wordlist16(int $dictionary_link)bool pspell_store_replacement16(int $dictionary_link, string $misspelled, string $correct)bool pspell_suggest16(int $dictionary_link, string $word)array pullup128(int $size)stringEventBuffer push128()boolImagickDraw push128(mixed $value)voidSplDoublyLinkedList pushClipPath128(string $clip_mask_id)boolImagickDraw pushDefs128()boolImagickDraw pushGroup128(CairoContext $context)voidCairoContext pushGroupWithContent128(string $content, CairoContext $context)voidCairoContext pushPattern128(string $pattern_id, float $x, float $y, float $width, float $height)boolImagickDraw put128(mixed $keys [, string $value = null])TokyoTyrantTokyoTyrant put128(string $key, array $columns)intTokyoTyrantTable put128(string $filename [, array $metadata = array() [, array $options = array()]])mixedMongoGridFS putCat128(mixed $keys [, string $value = ''])TokyoTyrantTokyoTyrant putCat128(string $key, array $columns)voidTokyoTyrantTable putKeep128(mixed $keys [, string $value = ''])TokyoTyrantTokyoTyrant putKeep128(string $key, array $columns)voidTokyoTyrantTable putNr128(mixed $keys [, string $value = null])TokyoTyrantTokyoTyrant putNr128(mixed $keys [, string $value = ''])voidTokyoTyrantTable putShl128(string $key, string $value, int $width)mixedTokyoTyrant putShl128(string $key, string $value, int $width)voidTokyoTyrantTable putenv16(string $setting)bool px_close16(resource $pxdoc)bool px_create_fp16(resource $pxdoc, resource $file, array $fielddesc)bool px_date2string16(resource $pxdoc, int $value, string $format)string px_delete16(resource $pxdoc)bool px_delete_record16(resource $pxdoc, int $num)bool px_get_field16(resource $pxdoc, int $fieldno)array px_get_info16(resource $pxdoc)array px_get_parameter16(resource $pxdoc, string $name)string px_get_record16(resource $pxdoc, int $num [, int $mode = ''])array px_get_schema16(resource $pxdoc [, int $mode = ''])array px_get_value16(resource $pxdoc, string $name)float px_insert_record16(resource $pxdoc, array $data)int px_new16()resource px_numfields16(resource $pxdoc)int px_numrecords16(resource $pxdoc)int px_open_fp16(resource $pxdoc, resource $file)bool px_put_record16(resource $pxdoc, array $record [, int $recpos = -1])bool px_retrieve_record16(resource $pxdoc, int $num [, int $mode = ''])array px_set_blob_file16(resource $pxdoc, string $filename)bool px_set_parameter16(resource $pxdoc, string $name, string $value)bool px_set_tablename16(resource $pxdoc, string $name)void px_set_targetencoding16(resource $pxdoc, string $encoding)bool px_set_value16(resource $pxdoc, string $name, float $value)bool px_timestamp2string16(resource $pxdoc, float $value, string $format)string px_update_record16(resource $pxdoc, array $data, int $num)bool quantizeImage128(int $numberColors, int $colorspace, int $treedepth, bool $dither, bool $measureError)boolImagick quantizeImages128(int $numberColors, int $colorspace, int $treedepth, bool $dither, bool $measureError)boolImagick quantizeimage128(int $numColors, int $colorspace, int $treeDepth, bool $dither, bool $measureError)voidGmagick quantizeimages128(int $numColors, int $colorspace, int $treeDepth, bool $dither, bool $measureError)voidGmagick query128(string $expression [, DOMNode $contextnode = '' [, bool $registerNodeNS = true]])DOMNodeListDOMXPath query128(string $statement, int $PDO::FETCH_COLUMN, int $colno, int $PDO::FETCH_CLASS, string $classname, array $ctorargs, int $PDO::FETCH_INTO, object $object)PDOStatementPDO query128(string $query)SQLite3ResultSQLite3 query128(resource $dbhandle, string $query [, int $result_type = SQLITE_BOTH [, string $error_msg = '']])SQLiteResultSQLiteDatabase query128(SolrParams $query)SolrQueryResponseSolrClient query128(string $query [, string $index = "*" [, string $comment = ""]])arraySphinxClient query128(mysqlnd_connection $connection, string $query)boolMysqlndUhConnection query128(resource $link, string $query [, int $resultmode = ''])mixedmaxdb query128(string $query [, int $resultmode = MYSQLI_STORE_RESULT, mysqli $link])mixedmysqli query128(string $query)objectSwish queryFontMetrics128(ImagickDraw $properties, string $text [, bool $multiline = ''])arrayImagick queryFonts128([string $pattern = "*"])arrayImagick queryFormats128([string $pattern = "*"])arrayImagick queryPhrase128(string $str)stringSolrUtils queryReadResultsetHeader128(mysqlnd_connection $connection, mysqlnd_statement $mysqlnd_stmt)boolMysqlndUhConnection querySingle128(string $query [, bool $entire_row = false])mixedSQLite3 queryfontmetrics128(GmagickDraw $draw, string $text)arrayGmagick queryfonts128([string $pattern = "*"])arrayGmagick queryformats128([string $pattern = "*"])arrayGmagick quit128()boolMemcached quote128(string $string [, int $parameter_type = PDO::PARAM_STR])stringPDO quoted_printable_decode16(string $str)string quoted_printable_encode16(string $str)string quotemeta16(string $str)string rad2deg16(float $number)float radialBlurImage128(float $angle [, int $channel = Imagick::CHANNEL_ALL])boolImagick radialblurimage128(float $angle [, int $channel = Gmagick::CHANNEL_DEFAULT])voidGmagick radius_acct_open16()resource radius_add_server16(resource $radius_handle, string $hostname, int $port, string $secret, int $timeout, int $max_tries)bool radius_auth_open16()resource radius_close16(resource $radius_handle)bool radius_config16(resource $radius_handle, string $file)bool radius_create_request16(resource $radius_handle, int $type)bool radius_cvt_addr16(string $data)string radius_cvt_int16(string $data)int radius_cvt_string16(string $data)string radius_demangle16(resource $radius_handle, string $mangled)string radius_demangle_mppe_key16(resource $radius_handle, string $mangled)string radius_get_attr16(resource $radius_handle)mixed radius_get_tagged_attr_data16(string $data)string radius_get_tagged_attr_tag16(string $data)integer radius_get_vendor_attr16(string $data)array radius_put_addr16(resource $radius_handle, int $type, string $addr [, int $options = '' [, int $tag = '']])bool radius_put_attr16(resource $radius_handle, int $type, string $value [, int $options = '' [, int $tag = '']])bool radius_put_int16(resource $radius_handle, int $type, int $value [, int $options = '' [, int $tag = '']])bool radius_put_string16(resource $radius_handle, int $type, string $value [, int $options = '' [, int $tag = '']])bool radius_put_vendor_addr16(resource $radius_handle, int $vendor, int $type, string $addr)bool radius_put_vendor_attr16(resource $radius_handle, int $vendor, int $type, string $value [, int $options = '' [, int $tag = '']])bool radius_put_vendor_int16(resource $radius_handle, int $vendor, int $type, int $value [, int $options = '' [, int $tag = '']])bool radius_put_vendor_string16(resource $radius_handle, int $vendor, int $type, string $value [, int $options = '' [, int $tag = '']])bool radius_request_authenticator16(resource $radius_handle)string radius_salt_encrypt_attr16(resource $radius_handle, string $data)string radius_send_request16(resource $radius_handle)int radius_server_secret16(resource $radius_handle)string radius_strerror16(resource $radius_handle)string raiseImage128(int $width, int $height, int $x, int $y, bool $raise)boolImagick raiseimage128(int $width, int $height, int $x, int $y, bool $raise)voidGmagick rand16(int $min, int $max)int randomThresholdImage128(float $low, float $high [, int $channel = Imagick::CHANNEL_ALL])boolImagick random_bytes16(int $length)string random_int16(int $min, int $max)int range16(mixed $start, mixed $end [, number $step = 1])array rar_broken_is16(RarArchive $rarfile)bool rar_close16(RarArchive $rarfile)bool rar_comment_get16(RarArchive $rarfile)string rar_entry_get16(string $entryname, RarArchive $rarfile)RarEntry rar_list16(RarArchive $rarfile)RarArchive rar_open16(string $filename [, string $password = null [, callable $volume_callback = null]])RarArchive rar_solid_is16(RarArchive $rarfile)bool rar_wrapper_cache_stats16()string rawurldecode16(string $str)string rawurlencode16(string $str)string reInit128()boolEventBase read128()boolXMLReader read128([resource $dir_handle = ''])stringDirectory read128(int $length)stringOCI-Lob read128(int $max_bytes)stringEventBuffer read128(int $size)stringEventBufferEvent read128(string $buffer, int $len)stringhw_api_content read128(string $session_id)stringSessionHandler read128(string $session_id)stringSessionHandlerInterface read128(string $filename)voidGmagick readBuffer128(EventBuffer $buf)boolEventBufferEvent readFrame128([string $class_name = "stompFrame", resource $link])arrayStomp readFrom128(mixed $fd, int $howmuch)intEventBuffer readFromStream128(int $bytes)stringHaruDoc readImage128(string $filename)boolImagick readImageBlob128(string $image [, string $filename = ''])boolImagick readImageFile128(resource $filehandle [, string $fileName = null])boolImagick readInnerXML128()stringXMLReader readLine128(int $eol_style)stringEventBuffer readOuterXML128()stringXMLReader readString128()stringXMLReader read_exif_data16() readdir16([resource $dir_handle = ''])string readfile16(string $filename [, bool $use_include_path = false [, resource $context = '']])int readgzfile16(string $filename [, int $use_include_path = ''])int readimage128(string $filename)voidGmagick readimageblob128(string $imageContents [, string $filename = ''])voidGmagick readimagefile128(resource $fp [, string $filename = ''])voidGmagick readimages128(string $filenames)ImagickImagick readline16([string $prompt = ''])string readline_add_history16(string $line)bool readline_callback_handler_install16(string $prompt, callable $callback)bool readline_callback_handler_remove16()bool readline_callback_read_char16()void readline_clear_history16()bool readline_completion_function16(callable $function)bool readline_info16([string $varname = '' [, string $newvalue = '']])mixed readline_list_history16()array readline_on_new_line16()void readline_read_history16([string $filename = ''])bool readline_redisplay16()void readline_write_history16([string $filename = ''])bool readlink16(string $path)string readlock128([integer $wait = ''])boolSyncReaderWriter readonly128()boolYaf_Config_Abstract readonly128()voidYaf_Config_Ini readonly128()voidYaf_Config_Simple readunlock128()boolSyncReaderWriter real_connect128([string $host = '' [, string $username = '' [, string $passwd = '' [, string $dbname = '' [, int $port = '' [, string $socket = '' [, int $flags = '', mysqli $link]]]]]]])boolmysqli real_connect128(resource $link [, string $hostname = '' [, string $username = '' [, string $passwd = '' [, string $dbname = '' [, int $port = '' [, string $socket = '']]]]]])boolmaxdb real_escape_string128(resource $link, string $escapestr)stringmaxdb real_escape_string128(string $escapestr, mysqli $link)stringmysqli real_query128(resource $link, string $query)boolmaxdb real_query128(string $query, mysqli $link)boolmysqli realpath16(string $path)string realpath_cache_get16()array realpath_cache_size16()int reapQuery128(mysqlnd_connection $connection)boolMysqlndUhConnection reap_async_query128(mysqli $link)mysqli_resultmysqli reason128()HW_API_Reasonhw_api_error reasonText128([integer $reason = ''])stringUConverter receive128(string $target [, array $properties = ''])SAMMessageSAMConnection recode16() recode_file16(string $request, resource $input, resource $output)bool recode_string16(string $request, string $string)string recolorImage128(array $matrix)boolImagick recommendedBackends128()voidEv recoverFromCorruption128()voidSplHeap recoverFromCorruption128()voidSplPriorityQueue rectangle128(float $x1, float $y1, float $x2, float $y2)GmagickDrawGmagickDraw rectangle128(float $x, float $y, float $width, float $height)boolHaruPage rectangle128(float $x1, float $y1, float $x2, float $y2)boolImagickDraw rectangle128(string $x, string $y, string $width, string $height, CairoContext $context)voidCairoContext recv128([integer $mode = ''])stringZMQSocket recvData128(int $data_len)arrayGearmanTask recvMulti128([integer $mode = ''])stringZMQSocket redirect128(string $url)boolYaf_Controller_Abstract reduceNoiseImage128(float $radius)boolImagick reducenoiseimage128(float $radius)voidGmagick refresh128(int $options, resource $link)intmysqli refreshServer128(mysqlnd_connection $connection, int $options)boolMysqlndUhConnection register128(string $function_name [, int $timeout = ''])boolGearmanWorker registerCallback128(string $name, callable $function)mixedLua registerExtension128(string $extension_name, string $script [, array $dependencies = array() [, bool $auto_enable = '']])boolV8Js registerLocalNamespace128(mixed $prefix)voidYaf_Loader registerNamespace128(string $prefix, string $namespaceURI)boolDOMXPath registerNodeClass128(string $baseclass, string $extendedclass)boolDOMDocument registerPHPFunctions128([mixed $restrict = ''])voidXSLTProcessor registerPhpFunctions128([mixed $restrict = ''])voidDOMXPath registerPlugin128(Yaf_Plugin_Abstract $plugin)Yaf_DispatcherYaf_Dispatcher registerXPathNamespace128(string $prefix, string $ns)boolSimpleXMLElement register_shutdown_function16(callable $callback [, mixed $parameter = '' [, mixed $... = '']])void register_tick_function16(callable $function [, mixed $arg = '' [, mixed $... = '']])bool relCurveTo128(string $x1, string $y1, string $x2, string $y2, string $x3, string $y3, CairoContext $context)voidCairoContext relLineTo128(string $x, string $y, CairoContext $context)voidCairoContext relMoveTo128(string $x, string $y, CairoContext $context)voidCairoContext relaxNGValidate128(string $filename)boolDOMDocument relaxNGValidateSource128(string $source)boolDOMDocument release128()boolWeakref release_savepoint128(string $name, mysqli $link)boolmysqli remapImage128(Imagick $replacement, int $DITHER)boolImagick remove128(string $target [, array $properties = ''])SAMMessageSAMConnection remove128(array $parameter)boolhw_api remove128(string $name)boolhw_api_object remove128(mixed $item)booleanZMQPoll remove128([array $criteria = array() [, array $options = array()]])bool|arrayMongoCollection remove128([array $criteria = array() [, array $options = array()]])bool|arrayMongoGridFS remove128()voidSWFDisplayItem remove128(object $instance)voidSWFMovie remove128(object $object)voidSWFSprite removeAll128(SplObjectStorage $storage)voidSplObjectStorage removeAllExcept128(SplObjectStorage $storage)voidSplObjectStorage removeAttribute128(string $name)boolDOMElement removeAttributeNS128(string $namespaceURI, string $localName)boolDOMElement removeAttributeNode128(DOMAttr $oldnode)boolDOMElement removeBigramPhraseField128(string $field)SolrDisMaxQuerySolrDisMaxQuery removeBoostQuery128(string $field)SolrDisMaxQuerySolrDisMaxQuery removeChild128(DOMNode $oldnode)DOMNodeDOMNode removeExpandFilterQuery128(string $fq)SolrQuerySolrQuery removeExpandSortField128(string $field)SolrQuerySolrQuery removeFacetDateField128(string $field)SolrQuerySolrQuery removeFacetDateOther128(string $value [, string $field_override = ''])SolrQuerySolrQuery removeFacetField128(string $field)SolrQuerySolrQuery removeFacetQuery128(string $value)SolrQuerySolrQuery removeField128(string $field)SolrQuerySolrQuery removeFilterQuery128(string $fq)SolrQuerySolrQuery removeHeader128(string $key, string $type)voidEventHttpRequest removeHighlightField128(string $field)SolrQuerySolrQuery removeImage128()boolImagick removeImageProfile128(string $name)stringImagick removeMltField128(string $field)SolrQuerySolrQuery removeMltQueryField128(string $queryField)SolrQuerySolrQuery removeOptions128(int $option)boolGearmanWorker removeOptions128(int $options)boolGearmanClient removeParameter128(string $namespaceURI, string $localName)boolXSLTProcessor removePhraseField128(string $field)SolrDisMaxQuerySolrDisMaxQuery removeQueryField128(string $field)SolrDisMaxQuerySolrDisMaxQuery removeRequiredParameter128(string $req_params)boolOAuthProvider removeServerAlias128(string $alias)boolEventHttp removeSortField128(string $field)SolrQuerySolrQuery removeStatsFacet128(string $value)SolrQuerySolrQuery removeStatsField128(string $field)SolrQuerySolrQuery removeTrigramPhraseField128(string $field)SolrDisMaxQuerySolrDisMaxQuery removeUserField128(string $field)SolrDisMaxQuerySolrDisMaxQuery removeimage128()voidGmagick removeimageprofile128(string $name)stringGmagick rename16(string $oldname, string $newname [, resource $context = ''])bool rename128(string $path_from, string $path_to)boolstreamWrapper renameIndex128(int $index, string $newname)boolZipArchive renameName128(string $name, string $newname)boolZipArchive rename_function16(string $original_name, string $new_name)bool render128()boolImagick render128()boolImagickDraw render128(string $tpl [, array $parameters = ''])stringYaf_Controller_Abstract render128(string $tpl [, array $tpl_vars = ''])stringYaf_View_Interface render128(string $tpl [, array $tpl_vars = ''])stringYaf_View_Simple repair128([bool $preserve_cloned_files = '' [, bool $backup_original_files = '']])arrayMongoDB repairFile128(string $filename [, mixed $config = '' [, string $encoding = '' [, bool $use_include_path = false]]])stringtidy repairString128(string $data [, mixed $config = '' [, string $encoding = '']])stringtidy replace128(string $key, mixed $value [, int $expiration = ''])boolMemcached replace128(string $key, mixed $var [, int $flag = '' [, int $expire = '']])boolMemcache replace128(array $parameter)hw_api_objecthw_api replaceByKey128(string $server_key, string $key, mixed $value [, int $expiration = ''])boolMemcached replaceChild128(DOMNode $newnode, DOMNode $oldnode)DOMNodeDOMNode replaceData128(int $offset, int $count, string $data)voidDOMCharacterData reportProblem128(string $oauthexception [, bool $send_headers = true])stringOAuthProvider request128(string $raw_request)SolrUpdateResponseSolrClient requireFeatures128(int $feature)boolEventConfig resampleImage128(float $x_resolution, float $y_resolution, int $filter, float $blur)boolImagick resampleimage128(float $xResolution, float $yResolution, int $filter, float $blur)voidGmagick reset16(array $array)mixed reset128()boolSQLite3Result reset128()boolSQLite3Stmt reset128()boolSolrDocument reset128()boolSolrInputDocument reset128()boolSyncEvent reset128(mysqli_stmt $stmt)boolmysqli_stmt reset128(resource $stmt)boolmaxdb_stmt reset128()booleanYar_Concurrent_Client reset128()voidMongoCursor resetClip128(CairoContext $context)voidCairoContext resetError128()arrayMongoDB resetError128()boolHaruDoc resetFilters128()voidSphinxClient resetGroupBy128()voidSphinxClient resetImagePage128(string $page)boolImagick resetIterator128()boolImagickPixelIterator resetLimit128()voidSwishSearch resetServerList128()boolMemcached resetStream128()boolHaruDoc resetVectorGraphics128()voidImagickDraw resize128(integer $size)voidPool resizeImage128(int $columns, int $rows, int $filter, float $blur [, bool $bestfit = false])boolImagick resizeimage128(int $width, int $height, int $filter, float $blur [, bool $fit = false])voidGmagick resourcebundle_count16(ResourceBundle $r)int resourcebundle_create16(string $locale, string $bundlename [, bool $fallback = ''])ResourceBundle resourcebundle_get16(string|int $index, ResourceBundle $r)mixed resourcebundle_get_error_code16(ResourceBundle $r)int resourcebundle_get_error_message16(ResourceBundle $r)string resourcebundle_locales16(string $bundlename)array response128()voidYaf_Response_Abstract restartPSession128(mysqlnd_connection $connection)boolMysqlndUhConnection restore128(string $log_dir, int $timestamp [, bool $check_consistency = true])mixedTokyoTyrant restore128(CairoContext $context)voidCairoContext restore_error_handler16()bool restore_exception_handler16()bool restore_include_path16()void restrictToLevel128(string $level)voidCairoPsSurface restrictToVersion128(string $version)voidCairoSvgSurface result_metadata128(mysqli_stmt $stmt)mysqli_resultmysqli_stmt result_metadata128(resource $stmt)resourcemaxdb_stmt resume128()voidEv resume128()voidEvLoop returnCode128()intGearmanClient returnCode128()intGearmanJob returnCode128()intGearmanTask returnCode128()intGearmanWorker returnResponse128(bool $flag)Yaf_DispatcherYaf_Dispatcher returnsReference128()boolReflectionFunctionAbstract rewind16(resource $handle)bool rewind128()ReturnTypeIntlIterator rewind128()arrayMongoCommandCursor rewind128()boolOCI-Lob rewind128()boolTokyoTyrantQuery rewind128(resource $result)boolSQLiteResult rewind128()voidAPCIterator rewind128()voidAPCUIterator rewind128()voidAppendIterator rewind128()voidArrayIterator rewind128()voidCachingIterator rewind128()voidDirectoryIterator rewind128()voidEmptyIterator rewind128()voidFilesystemIterator rewind128()voidFilterIterator rewind128()voidIteratorIterator rewind128()voidLimitIterator rewind128()voidMongoCursor rewind128()voidMultipleIterator rewind128()voidNoRewindIterator rewind128()voidParentIterator rewind128()voidRecursiveDirectoryIterator rewind128()voidRecursiveIteratorIterator rewind128()voidRecursiveTreeIterator rewind128()voidSimpleXMLIterator rewind128()voidSolrDocument rewind128()voidSplDoublyLinkedList rewind128()voidSplFileObject rewind128()voidSplFixedArray rewind128()voidSplHeap rewind128()voidSplObjectStorage rewind128()voidSplPriorityQueue rewind128()voidTokyoTyrantIterator rewind128()voidWeakMap rewind128()voidYaf_Config_Ini rewind128()voidYaf_Config_Simple rewind128()voidYaf_Session rewind128([resource $dir_handle = ''])voidDirectory rewinddir16([resource $dir_handle = ''])void rmdir16(string $dirname [, resource $context = ''])bool rmdir128(string $path, int $options)boolstreamWrapper roll128(int $field, mixed $amountOrUpOrDown, IntlCalendar $cal)boolIntlCalendar rollBack128()boolPDO rollImage128(int $x, int $y)boolImagick rollback128()SolrUpdateResponseSolrClient rollback128()boolSAMConnection rollback128([int $flags = '' [, string $name = '', mysqli $link]])boolmysqli rollback128(resource $link)boolmaxdb rollimage128(int $x, int $y)voidGmagick root128(tidy $object)tidyNodetidy rotate128(float $degrees)GmagickDrawGmagickDraw rotate128(float $degrees)boolImagickDraw rotate128(float $angle)voidSWFDisplayItem rotate128(string $angle, CairoContext $context)voidCairoContext rotate128(string $sx, string $sy, CairoContext $context, string $angle)voidCairoMatrix rotateImage128(mixed $background, float $degrees)boolImagick rotateTo128(float $angle)voidSWFDisplayItem rotateTo128(float $angle)voidSWFFill rotateimage128(mixed $color, float $degrees)GmagickGmagick rotationalBlurImage128(string $angle [, string $CHANNEL = Imagick::CHANNEL_DEFAULT])voidImagick round16(float $val [, int $precision = '' [, int $mode = PHP_ROUND_HALF_UP]])float roundCorners128(float $x_rounding, float $y_rounding [, float $stroke_width = 10 [, float $displace = 5 [, float $size_correction = -6]]])boolImagick roundRectangle128(float $x1, float $y1, float $x2, float $y2, float $rx, float $ry)boolImagickDraw roundrectangle128(float $x1, float $y1, float $x2, float $y2, float $rx, float $ry)GmagickDrawGmagickDraw route128(Yaf_Request_Abstract $request)boolYaf_Route_Interface route128(Yaf_Request_Abstract $request)boolYaf_Route_Map route128(Yaf_Request_Abstract $request)boolYaf_Route_Regex route128(Yaf_Request_Abstract $request)boolYaf_Route_Rewrite route128(Yaf_Request_Abstract $request)boolYaf_Route_Simple route128(Yaf_Request_Abstract $request)boolYaf_Route_Static route128(Yaf_Request_Abstract $request)boolYaf_Route_Supervar route128(Yaf_Request_Abstract $request)boolYaf_Router routerShutdown128(Yaf_Request_Abstract $request, Yaf_Response_Abstract $response)voidYaf_Plugin_Abstract routerStartup128(Yaf_Request_Abstract $request, Yaf_Response_Abstract $response)voidYaf_Plugin_Abstract rowCount128()intPDOStatement rpl_query_type128(resource $link)intmaxdb rpl_query_type128(string $query, mysqli $link)intmysqli rpm_close16(resource $rpmr)bool rpm_get_tag16(resource $rpmr, int $tagnum)mixed rpm_is_valid16(string $filename)bool rpm_open16(string $filename)resource rpm_version16()string rrd_create16(string $filename, array $options)bool rrd_error16()string rrd_fetch16(string $filename, array $options)array rrd_first16(string $file [, int $raaindex = ''])int rrd_graph16(string $filename, array $options)array rrd_info16(string $filename)array rrd_last16(string $filename)int rrd_lastupdate16(string $filename)array rrd_restore16(string $xml_file, string $rrd_file [, array $options = ''])bool rrd_tune16(string $filename, array $options)bool rrd_update16(string $filename, array $options)bool rrd_version16()string rrd_xport16(array $options)array rrdc_disconnect16()void rsort16(array $array [, int $sort_flags = SORT_REGULAR])bool rtrim16(string $str [, string $character_mask = ''])string run128()voidThreaded run128()voidYaf_Application run128()voidZMQDevice run128([int $flags = ''])voidEv run128([int $flags = ''])voidEvLoop runQueries128()arraySphinxClient runTasks128()boolGearmanClient runkit_class_adopt16(string $classname, string $parentname)bool runkit_class_emancipate16(string $classname)bool runkit_constant_add16(string $constname, mixed $value)bool runkit_constant_redefine16(string $constname, mixed $newvalue)bool runkit_constant_remove16(string $constname)bool runkit_function_add16(string $funcname, string $arglist, string $code)bool runkit_function_copy16(string $funcname, string $targetname)bool runkit_function_redefine16(string $funcname, string $arglist, string $code)bool runkit_function_remove16(string $funcname)bool runkit_function_rename16(string $funcname, string $newname)bool runkit_import16(string $filename [, int $flags = RUNKIT_IMPORT_CLASS_METHODS])bool runkit_lint16(string $code)bool runkit_lint_file16(string $filename)bool runkit_method_add16(string $classname, string $methodname, string $args, string $code [, int $flags = RUNKIT_ACC_PUBLIC])bool runkit_method_copy16(string $dClass, string $dMethod, string $sClass [, string $sMethod = ''])bool runkit_method_redefine16(string $classname, string $methodname, string $args, string $code [, int $flags = RUNKIT_ACC_PUBLIC])bool runkit_method_remove16(string $classname, string $methodname)bool runkit_method_rename16(string $classname, string $methodname, string $newname)bool runkit_return_value_used16()bool runkit_sandbox_output_handler16(object $sandbox [, mixed $callback = ''])mixed runkit_superglobals16()array running128([bool $retphar = true])stringPhar sampleImage128(int $columns, int $rows)boolImagick save128()arrayRRDGraph save128()boolRRDCreator save128(string $data [, int $offset = ''])boolOCI-Lob save128(string $file)boolHaruDoc save128(string $filename)boolSVMModel save128(string $filename [, int $compression = -1])intSWFMovie save128(string $filename [, int $options = ''])intDOMDocument save128(array|object $document [, array $options = array()])mixedMongoCollection save128(CairoContext $context)voidCairoContext saveFile128()OCI-Lob saveFile128(SDO_XMLDocument $xdoc, string $xml_file [, int $indent = ''])voidSDO_DAS_XML saveHTML128([DOMNode $node = null])stringDOMDocument saveHTMLFile128(string $filename)intDOMDocument savePicture128(string $filename)boolKTaglib_ID3v2_AttachedPictureFrame saveString128(SDO_XMLDocument $xdoc [, int $indent = ''])stringSDO_DAS_XML saveToFile128(resource $x [, int $compression = -1])intSWFMovie saveToFile128(string $filename)voidQuickHashIntHash saveToFile128(string $filename)voidQuickHashIntSet saveToFile128(string $filename)voidQuickHashIntStringHash saveToFile128(string $filename)voidQuickHashStringIntHash saveToStream128()boolHaruDoc saveToString128()stringQuickHashIntHash saveToString128()stringQuickHashIntSet saveToString128()stringQuickHashIntStringHash saveToString128()stringQuickHashStringIntHash saveVerbose128()arrayRRDGraph saveXML128()SimpleXMLElement saveXML128([DOMNode $node = '' [, int $options = '']])stringDOMDocument savepoint128(string $name, mysqli $link)boolmysqli scale128(float $x, float $y)GmagickDrawGmagickDraw scale128(float $x, float $y)boolImagickDraw scale128()voidImagickKernel scale128(float $dx, float $dy)voidSWFDisplayItem scale128(float $sx, float $sy, CairoContext $context)voidCairoMatrix scale128(string $x, string $y, CairoContext $context)voidCairoContext scaleImage128(int $cols, int $rows [, bool $bestfit = false])boolImagick scaleTo128(float $x [, float $y = ''])voidSWFDisplayItem scaleTo128(float $x [, float $y = ''])voidSWFFill scaleimage128(int $width, int $height [, bool $fit = false])GmagickGmagick scandir16(string $directory [, int $sorting_order = SCANDIR_SORT_ASCENDING [, resource $context = '']])array schemaValidate128(string $filename [, int $flags = ''])boolDOMDocument schemaValidateSource128(string $source [, int $flags = ''])boolDOMDocument search128()arrayTokyoTyrantQuery search128(string $what [, int $start = -1 [, int $end = -1]])mixedEventBuffer searchEol128([int $start = -1 [, int $eol_style = '']])mixedEventBuffer seek128(int $offset [, int $whence = ''])boolOCI-Lob seek128(resource $result, int $rownum)boolSQLiteResult seek128(int $position)intLimitIterator seek128(int $line_pos)voidSplFileObject seek128(int $position)voidArrayIterator seek128(int $position)voidDirectoryIterator seek128(int $position)voidSeekableIterator seekResult128(int $position)intSwishResults segmentImage128(int $COLORSPACE, float $cluster_threshold, float $smooth_threshold [, bool $verbose = false])boolImagick selectCollection128(string $db, string $collection)MongoCollectionMongoClient selectCollection128(string $name)MongoCollectionMongoDB selectDB128(string $name)MongoDBMongoClient selectDb128(mysqlnd_connection $connection, string $database)boolMysqlndUhConnection selectFontFace128(string $family [, string $slant = '' [, string $weight = '', CairoContext $context]])voidCairoContext selectServer128(MongoDB\Driver\ReadPreference $readPreference)MongoDB::Driver::ServerMongoDB::Driver::Manager select_db128(resource $link, string $dbname)boolmaxdb select_db128(string $dbname, mysqli $link)boolmysqli selectiveBlurImage128(float $radius, float $sigma, float $threshold, int $CHANNEL)voidImagick sem_acquire16(resource $sem_identifier [, bool $nowait = false])bool sem_get16(int $key [, int $max_acquire = 1 [, int $perm = 0666 [, int $auto_release = 1]]])resource sem_release16(resource $sem_identifier)bool sem_remove16(resource $sem_identifier)bool send128(string $message [, integer $mode = ''])ZMQSocketZMQSocket send128(string $destination, mixed $msg [, array $headers = '', resource $link])boolStomp send128(string $target, SAMMessage $msg [, array $properties = ''])stringSAMConnection sendClose128(mysqlnd_connection $connection)boolMysqlndUhConnection sendComplete128(string $result)boolGearmanJob sendData128(string $data)boolGearmanJob sendData128(string $data)intGearmanTask sendError128(int $error [, string $reason = ''])voidEventHttpRequest sendException128(string $exception)boolGearmanJob sendFail128()boolGearmanJob sendQuery128(mysqlnd_connection $connection, string $query)boolMysqlndUhConnection sendReply128(int $code, string $reason [, EventBuffer $buf = ''])voidEventHttpRequest sendReplyChunk128(EventBuffer $buf)voidEventHttpRequest sendReplyEnd128()voidEventHttpRequest sendReplyStart128(int $code, string $reason)voidEventHttpRequest sendStatus128(int $numerator, int $denominator)boolGearmanJob sendWarning128(string $warning)boolGearmanJob sendWorkload128(string $data)intGearmanTask send_long_data128(int $param_nr, string $data, mysqli_stmt $stmt)boolmysqli_stmt send_long_data128(resource $stmt, int $param_nr, string $data)boolmaxdb_stmt send_query128(resource $link, string $query)boolmaxdb send_query128(string $query, mysqli $link)boolmysqli sendmulti128(array $message [, integer $mode = ''])ZMQSocketZMQSocket separate128()arrayImagickKernel separateImageChannel128(int $channel)boolImagick separateimagechannel128(int $channel)GmagickGmagick sepiaToneImage128(float $threshold)boolImagick serialize16(mixed $value)string serialize128()stringArrayIterator serialize128()stringArrayObject serialize128()stringSolrDocument serialize128()stringSolrParams serialize128()stringSplDoublyLinkedList serialize128()stringSplObjectStorage serverDumpDebugInformation128(mysqlnd_connection $connection)boolMysqlndUhConnection server_info128(resource $link)stringmaxdb server_version128(resource $link)intmaxdb session_abort16()void session_cache_expire16([string $new_cache_expire = ''])int session_cache_limiter16([string $cache_limiter = ''])string session_commit16() session_decode16(string $data)bool session_destroy16()bool session_encode16()string session_get_cookie_params16()array session_id16([string $id = ''])string session_is_registered16(string $name)bool session_module_name16([string $module = ''])string session_name16([string $name = ''])string session_pgsql_add_error16(int $error_level [, string $error_message = ''])bool session_pgsql_get_error16([bool $with_error_message = false])array session_pgsql_get_field16()string session_pgsql_reset16()bool session_pgsql_set_field16(string $value)bool session_pgsql_status16()array session_regenerate_id16([bool $delete_old_session = false])bool session_register16(mixed $name [, mixed $... = ''])bool session_register_shutdown16()void session_reset16()void session_save_path16([string $path = ''])string session_set_cookie_params16(int $lifetime [, string $path = '' [, string $domain = '' [, bool $secure = false [, bool $httponly = false]]]])void session_set_save_handler16(callable $open, callable $close, callable $read, callable $write, callable $destroy, callable $gc [, callable $create_sid = '', SessionHandlerInterface $sessionhandler [, bool $register_shutdown = true]])bool session_start16([array $options = []])bool session_status16()int session_unregister16(string $name)bool session_unset16()void session_write_close16()void set128()Yaf_Config_AbstractYaf_Config_Abstract set128(EventBase $base, mixed $fd [, int $what = '' [, callable $cb = '' [, mixed $arg = '']]])boolEvent set128(int $field, int $value, int $year, int $month [, int $dayOfMonth = null [, int $hour = null [, int $minute = null [, int $second = null, IntlCalendar $cal]]]])boolIntlCalendar set128(int $key, int $value)boolQuickHashIntHash set128(mixed $object_id, mixed $type, mixed $value)boolSNMP set128(string $key, mixed $value [, int $expiration = ''])boolMemcached set128(string $key, mixed $var [, int $flag = '' [, int $expire = '']])boolMemcache set128(string $name, string $value)boolYaf_Registry set128(int $key, string $value)intQuickHashIntStringHash set128(string $key, int $value)intQuickHashStringIntHash set128(double $after, double $repeat)voidEvTimer set128(double $offset, double $interval)voidEvPeriodic set128(int $pid, bool $trace)voidEvChild set128(int $signum)voidEvSignal set128(mixed $fd, int $events)voidEvIo set128(object $other)voidEvEmbed set128(string $name, string $value)voidSolrParams set128(string $path, double $interval)voidEvStat setAccessible128(bool $accessible)voidReflectionMethod setAccessible128(bool $accessible)voidReflectionProperty setAction128(SWFAction $action)voidSWFButton setActionName128(string $action)voidYaf_Request_Abstract setAlias128(string $alias)boolPhar setAlias128(string $alias)boolPharData setAllHeaders128()voidYaf_Response_Abstract setAllowBroken128(bool $allow_broken, RarArchive $rarfile)boolRarArchive setAllowedLocales128(string $locale_list)voidSpoofchecker setAllowedMethods128(int $methods)voidEventHttp setAntialias128([string $antialias = '', CairoContext $context])voidCairoContext setAntialias128([string $antialias = '', CairoContext $context])voidCairoFontOptions setAppDirectory128(string $directory)Yaf_ApplicationYaf_Application setArchiveComment128(string $comment)boolZipArchive setArrayResult128(bool $array_result)boolSphinxClient setAttribute128(string $name, string $value)DOMAttrDOMElement setAttribute128(int $attr, int $val, Collator $coll)boolCollator setAttribute128(int $attr, int $value, NumberFormatter $fmt)boolNumberFormatter setAttribute128(int $attribute, mixed $value)boolPDO setAttribute128(int $attribute, mixed $value)boolPDOStatement setAttributeNS128(string $namespaceURI, string $qualifiedName, string $value)voidDOMElement setAttributeNode128(DOMAttr $attr)DOMAttrDOMElement setAttributeNodeNS128(DOMAttr $attr)DOMAttrDOMElement setAuthType128(int $auth_type)mixedOAuth setAutocommit128(mysqlnd_connection $connection, int $mode)boolMysqlndUhConnection setBackgroundColor128(mixed $background)boolImagick setBaseUri128(string $uir)boolYaf_Request_Abstract setBigramPhraseFields128(string $fields)SolrDisMaxQuerySolrDisMaxQuery setBigramPhraseSlop128(string $slop)SolrDisMaxQuerySolrDisMaxQuery setBody128(string $content [, string $key = ''])boolYaf_Response_Abstract setBoost128(float $documentBoostValue)boolSolrInputDocument setBoostFunction128(string $function)SolrDisMaxQuerySolrDisMaxQuery setBoostQuery128(string $q)SolrDisMaxQuerySolrDisMaxQuery setBorderStyle128(float $width, int $dash_on, int $dash_off)boolHaruAnnotation setBounds128(float $width, float $height)voidSWFTextField setBuffering128(bool $on_off)boolOCI-Lob setByKey128(string $server_key, string $key, mixed $value [, int $expiration = ''])boolMemcached setCAPath128([string $ca_path = '' [, string $ca_info = '']])mixedOAuth setCMYKFill128(float $c, float $m, float $y, float $k)boolHaruPage setCMYKStroke128(float $c, float $m, float $y, float $k)boolHaruPage setCalendar128(mixed $which, IntlDateFormatter $fmt)boolIntlDateFormatter setCallback128(callable $callback)voidEvWatcher setCallback128(callable $cb [, mixed $arg = ''])voidEventListener setCallback128(callable $log_function)voidMongoLog setCallback128(string $path, string $cb [, string $arg = ''])voidEventHttp setCallbacks128(callable $readcb, callable $writecb, callable $eventcb [, string $arg = ''])voidEventBufferEvent setCharSpace128(float $char_space)boolHaruPage setCharset128(mysqlnd_connection $connection, string $charset)boolMysqlndUhConnection setChecks128(long $checks)voidSpoofchecker setClass128(string $class_name [, mixed $args = '' [, mixed $... = '']])voidSoapServer setClientCallback128(callable $callback)voidGearmanClient setClientOption128(mysqlnd_connection $connection, int $option, int $value)boolMysqlndUhConnection setClipPath128(string $clip_mask)boolImagickDraw setClipRule128(int $fill_rule)boolImagickDraw setClipUnits128(int $clip_units)boolImagickDraw setCloseCallback128(callable $callback [, mixed $data = ''])voidEventHttpConnection setColor128(string $color)boolImagickPixel setColor128(int $red, int $green, int $blue [, int $a = 255])voidSWFText setColor128(int $red, int $green, int $blue [, int $a = 255])voidSWFTextField setColorCount128(string $colorCount)voidImagickPixel setColorMask128(int $rmin, int $rmax, int $gmin, int $gmax, int $bmin, int $bmax)boolHaruImage setColorValue128(int $color, float $value)boolImagickPixel setColorValueQuantum128(int $color, mixed $value)voidImagickPixel setColorspace128(int $COLORSPACE)boolImagick setCommentIndex128(int $index, string $comment)boolZipArchive setCommentName128(string $name, string $comment)boolZipArchive setCompat128(int $compat)voidVarnishAdmin setCompleteCallback128(callable $callback)boolGearmanClient setCompressThreshold128(int $threshold [, float $min_savings = ''])boolMemcache setCompressedBZIP2128()boolPharFileInfo setCompressedGZ128()boolPharFileInfo setCompression128(int $compression)boolImagick setCompressionIndex128(int $index, int $comp_method [, int $comp_flags = ''])boolZipArchive setCompressionMode128(int $mode)boolHaruDoc setCompressionName128(string $name, int $comp_method [, int $comp_flags = ''])boolZipArchive setCompressionQuality128(int $quality)boolGmagick setCompressionQuality128(int $quality)boolImagick setConnectTimeout128(float $timeout)boolSphinxClient setContext128(string $context)boolGearmanClient setControllerName128(string $controller)voidYaf_Request_Abstract setCreatedCallback128(string $callback)boolGearmanClient setCsvControl128([string $delimiter = "," [, string $enclosure = "\"" [, string $escape = "\\"]]])voidSplFileObject setCurrentEncoder128(string $encoding)boolHaruDoc setDash128(array $pattern, int $phase)boolHaruPage setDash128(array $dashes [, string $offset = '', CairoContext $context])voidCairoContext setData128(string $data)boolGearmanClient setDataCallback128(callable $callback)boolGearmanClient setDate128(int $year, int $month, int $day, DateTime $object)DateTimeDateTime setDate128(int $year, int $month, int $day)DateTimeImmutableDateTimeImmutable setDebug128(bool $switch)voidSAMConnection setDefault128(string $locale)boolLocale setDefaultAction128(string $action)Yaf_DispatcherYaf_Dispatcher setDefaultCallback128(string $cb [, string $arg = ''])voidEventHttp setDefaultController128(string $controller)Yaf_DispatcherYaf_Dispatcher setDefaultModule128(string $module)Yaf_DispatcherYaf_Dispatcher setDefaultStub128([string $index = '' [, string $webindex = '']])boolPhar setDefaultStub128([string $index = '' [, string $webindex = '']])boolPharData setDepth128(int $depth)voidSWFDisplayItem setDestination128(object $destination)boolHaruOutline setDestinationEncoding128(string $encoding)voidUConverter setDeviceOffset128(string $x, string $y)voidCairoSurface setDimension128(float $width, float $height)voidSWFMovie setDimension128(int $x, int $y)voidSWFVideoStream setDispatched128()voidYaf_Request_Abstract setDown128(SWFShape $shape)voidSWFButton setEchoHandler128(bool $flag)SolrQuerySolrQuery setEchoParams128(string $type)SolrQuerySolrQuery setEncoding128(string $encoding)voidSDO_DAS_XML_Document setEncryptionMode128(int $mode [, int $key_len = 5])boolHaruDoc setEps128(string $level)voidCairoPsSurface setErrorCallback128(string $cb)voidEventListener setErrorHandler128(call $callback, int $error_types)Yaf_DispatcherYaf_Dispatcher setExceptionCallback128(callable $callback)boolGearmanClient setExpand128(bool $value)SolrQuerySolrQuery setExpandQuery128(string $q)SolrQuerySolrQuery setExpandRows128(integer $value)SolrQuerySolrQuery setExplainOther128(string $query)SolrQuerySolrQuery setExtend128(int $extend)voidCairoGradientPattern setExtend128(int $extend)voidCairoSurfacePattern setExternalAttributesIndex128(int $index, int $opsys, int $attr [, int $flags = ''])boolZipArchive setExternalAttributesName128(string $name, int $opsys, int $attr [, int $flags = ''])boolZipArchive setExtractFlags128(int $flags)voidSplPriorityQueue setFacet128(bool $flag)SolrQuerySolrQuery setFacetDateEnd128(string $value [, string $field_override = ''])SolrQuerySolrQuery setFacetDateGap128(string $value [, string $field_override = ''])SolrQuerySolrQuery setFacetDateHardEnd128(bool $value [, string $field_override = ''])SolrQuerySolrQuery setFacetDateStart128(string $value [, string $field_override = ''])SolrQuerySolrQuery setFacetEnumCacheMinDefaultFrequency128(int $frequency [, string $field_override = ''])SolrQuerySolrQuery setFacetLimit128(int $limit [, string $field_override = ''])SolrQuerySolrQuery setFacetMethod128(string $method [, string $field_override = ''])SolrQuerySolrQuery setFacetMinCount128(int $mincount [, string $field_override = ''])SolrQuerySolrQuery setFacetMissing128(bool $flag [, string $field_override = ''])SolrQuerySolrQuery setFacetOffset128(int $offset [, string $field_override = ''])SolrQuerySolrQuery setFacetPrefix128(string $prefix [, string $field_override = ''])SolrQuerySolrQuery setFacetSort128(int $facetSort [, string $field_override = ''])SolrQuerySolrQuery setFailCallback128(callable $callback)boolGearmanClient setFallbackResolution128(string $x, string $y)voidCairoSurface setFetchMode128(int $mode, int $PDO::FETCH_COLUMN, int $colno, int $PDO::FETCH_CLASS, string $classname, array $ctorargs, int $PDO::FETCH_INTO, object $object)boolPDOStatement setField128(string $field)SolrCollapseFunctionSolrCollapseFunction setFieldBoost128(string $fieldName, float $fieldBoostValue)boolSolrInputDocument setFieldWeights128(array $weights)boolSphinxClient setFileClass128([string $class_name = "SplFileObject"])voidSplFileInfo setFilename128(string $filename)boolImagick setFillAlpha128(float $opacity)boolImagickDraw setFillColor128(ImagickPixel $fill_pixel)boolImagickDraw setFillOpacity128(float $fillOpacity)boolImagickDraw setFillPatternURL128(string $fill_url)boolImagickDraw setFillRule128(int $fill_rule)boolImagickDraw setFillRule128(string $setting, CairoContext $context)voidCairoContext setFilter128(string $attribute, array $values [, bool $exclude = false])boolSphinxClient setFilter128(string $filter)voidCairoSurfacePattern setFilterFloatRange128(string $attribute, float $min, float $max [, bool $exclude = false])boolSphinxClient setFilterRange128(string $attribute, int $min, int $max [, bool $exclude = false])boolSphinxClient setFirstDayOfWeek128(int $dayOfWeek, IntlCalendar $cal)boolIntlCalendar setFirstIterator128()boolImagick setFit128()boolHaruDestination setFitB128()boolHaruDestination setFitBH128(float $top)boolHaruDestination setFitBV128(float $left)boolHaruDestination setFitH128(float $top)boolHaruDestination setFitR128(float $left, float $bottom, float $right, float $top)boolHaruDestination setFitV128(float $left)boolHaruDestination setFlag128(int $flag [, bool $set = true])MongoCursorMongoCursor setFlags128([int $flags = ''])voidFilesystemIterator setFlags128(int $flags)voidArrayObject setFlags128(int $flags)voidCachingIterator setFlags128(int $flags)voidMultipleIterator setFlags128(int $flags)voidRegexIterator setFlags128(int $flags)voidSplFileObject setFlags128(string $flags)voidArrayIterator setFlatness128(float $flatness)boolHaruPage setFont128(string $font)boolImagick setFont128(string $font_name)boolImagickDraw setFont128(SWFFont $font)voidSWFText setFont128(SWFFont $font)voidSWFTextField setFontAndSize128(object $font, float $size)boolHaruPage setFontFace128(CairoFontFace $fontface, CairoContext $context)voidCairoContext setFontFamily128(string $font_family)boolImagickDraw setFontMatrix128(CairoMatrix $matrix, CairoContext $context)voidCairoContext setFontOptions128(CairoFontOptions $fontoptions, CairoContext $context)voidCairoContext setFontSize128(float $pointsize)boolImagickDraw setFontSize128(string $size, CairoContext $context)voidCairoContext setFontStretch128(int $fontStretch)boolImagickDraw setFontStyle128(int $style)boolImagickDraw setFontWeight128(int $font_weight)boolImagickDraw setFormat128(string $format)boolImagick setFrames128(int $number)voidSWFMovie setFrames128(int $number)voidSWFSprite setGarbage128()voidCollectable setGeoAnchor128(string $attrlat, string $attrlong, float $latitude, float $longitude)boolSphinxClient setGravity128(int $gravity)boolImagick setGravity128(int $gravity)boolImagickDraw setGrayFill128(float $value)boolHaruPage setGrayStroke128(float $value)boolHaruPage setGroup128(bool $value)SolrQuerySolrQuery setGroupBy128(string $attribute, int $func [, string $groupsort = "@group desc"])boolSphinxClient setGroupCachePercent128(integer $percent)SolrQuerySolrQuery setGroupDistinct128(string $attribute)boolSphinxClient setGroupFacet128(bool $value)SolrQuerySolrQuery setGroupFormat128(string $value)SolrQuerySolrQuery setGroupLimit128(integer $value)SolrQuerySolrQuery setGroupMain128(string $value)SolrQuerySolrQuery setGroupNGroups128(bool $value)SolrQuerySolrQuery setGroupOffset128(integer $value)SolrQuerySolrQuery setGroupTruncate128(bool $value)SolrQuerySolrQuery setHSL128(float $hue, float $saturation, float $luminosity)boolImagickPixel setHeader128()voidYaf_Response_Abstract setHeight128(float $height)boolHaruPage setHeight128(float $height)voidSWFText setHeight128(float $height)voidSWFTextField setHighlight128(bool $flag)SolrQuerySolrQuery setHighlightAlternateField128(string $field [, string $field_override = ''])SolrQuerySolrQuery setHighlightFormatter128(string $formatter [, string $field_override = ''])SolrQuerySolrQuery setHighlightFragmenter128(string $fragmenter [, string $field_override = ''])SolrQuerySolrQuery setHighlightFragsize128(int $size [, string $field_override = ''])SolrQuerySolrQuery setHighlightHighlightMultiTerm128(bool $flag)SolrQuerySolrQuery setHighlightMaxAlternateFieldLength128(int $fieldLength [, string $field_override = ''])SolrQuerySolrQuery setHighlightMaxAnalyzedChars128(int $value)SolrQuerySolrQuery setHighlightMergeContiguous128(bool $flag [, string $field_override = ''])SolrQuerySolrQuery setHighlightMode128(int $mode)boolHaruAnnotation setHighlightRegexMaxAnalyzedChars128(int $maxAnalyzedChars)SolrQuerySolrQuery setHighlightRegexPattern128(string $value)SolrQuerySolrQuery setHighlightRegexSlop128(float $factor)SolrQuerySolrQuery setHighlightRequireFieldMatch128(bool $flag)SolrQuerySolrQuery setHighlightSimplePost128(string $simplePost [, string $field_override = ''])SolrQuerySolrQuery setHighlightSimplePre128(string $simplePre [, string $field_override = ''])SolrQuerySolrQuery setHighlightSnippets128(int $value [, string $field_override = ''])SolrQuerySolrQuery setHighlightUsePhraseHighlighter128(bool $flag)SolrQuerySolrQuery setHint128(string $hint)SolrCollapseFunctionSolrCollapseFunction setHintMetrics128(string $hint_metrics)voidCairoFontOptions setHintStyle128(string $hint_style)voidCairoFontOptions setHit128(SWFShape $shape)voidSWFButton setHorizontalScaling128(float $scaling)boolHaruPage setHost128(string $host)voidVarnishAdmin setIDRange128(int $min, int $max)boolSphinxClient setISODate128(int $year, int $week [, int $day = 1, DateTime $object])DateTimeDateTime setISODate128(int $year, int $week [, int $day = 1])DateTimeImmutableDateTimeImmutable setIcon128(int $icon)boolHaruAnnotation setId128(string $id)boolGearmanWorker setIdAttribute128(string $name, bool $isId)voidDOMElement setIdAttributeNS128(string $namespaceURI, string $localName, bool $isId)voidDOMElement setIdAttributeNode128(DOMAttr $attr, bool $isId)voidDOMElement setIdent128(string $ident)voidVarnishAdmin setIdleCallback128(callable $cb_func, integer $timeout [, mixed $user_data = ''])ZMQDeviceZMQDevice setIdleTimeout128(integer $timeout)ZMQDeviceZMQDevice setImage128(Imagick $replace)boolImagick setImageAlphaChannel128(int $mode)boolImagick setImageArtifact128(string $artifact, string $value)boolImagick setImageAttribute128(string $key, string $value)voidImagick setImageBackgroundColor128(mixed $background)boolImagick setImageBias128(float $bias)boolImagick setImageBiasQuantum128(string $bias)voidImagick setImageBluePrimary128(float $x, float $y)boolImagick setImageBorderColor128(mixed $border)boolImagick setImageChannelDepth128(int $channel, int $depth)boolImagick setImageClipMask128(Imagick $clip_mask)boolImagick setImageColormapColor128(int $index, ImagickPixel $color)boolImagick setImageColorspace128(int $colorspace)boolImagick setImageCompose128(int $compose)boolImagick setImageCompression128(int $compression)boolImagick setImageCompressionQuality128(int $quality)boolImagick setImageDelay128(int $delay)boolImagick setImageDepth128(int $depth)boolImagick setImageDispose128(int $dispose)boolImagick setImageExtent128(int $columns, int $rows)boolImagick setImageFilename128(string $filename)boolImagick setImageFormat128(string $format)boolImagick setImageGamma128(float $gamma)boolImagick setImageGravity128(int $gravity)boolImagick setImageGreenPrimary128(float $x, float $y)boolImagick setImageIndex128(int $index)boolImagick setImageInterlaceScheme128(int $interlace_scheme)boolImagick setImageInterpolateMethod128(int $method)boolImagick setImageIterations128(int $iterations)boolImagick setImageMatte128(bool $matte)boolImagick setImageMatteColor128(mixed $matte)boolImagick setImageOpacity128(float $opacity)boolImagick setImageOrientation128(int $orientation)boolImagick setImagePage128(int $width, int $height, int $x, int $y)boolImagick setImageProfile128(string $name, string $profile)boolImagick setImageProperty128(string $name, string $value)boolImagick setImageRedPrimary128(float $x, float $y)boolImagick setImageRenderingIntent128(int $rendering_intent)boolImagick setImageResolution128(float $x_resolution, float $y_resolution)boolImagick setImageScene128(int $scene)boolImagick setImageTicksPerSecond128(int $ticks_per_second)boolImagick setImageType128(int $image_type)boolImagick setImageUnits128(int $units)boolImagick setImageVirtualPixelMethod128(int $method)boolImagick setImageWhitePoint128(float $x, float $y)boolImagick setIndent128(bool $indent, resource $xmlwriter)boolXMLWriter setIndentString128(string $indentString, resource $xmlwriter)boolXMLWriter setIndentation128(float $width)voidSWFTextField setIndex128(string $column, int $type)mixedTokyoTyrantTable setIndex128(int $index)voidImagickPixel setIndexWeights128(array $weights)boolSphinxClient setInfo128(mixed $data)voidSplObjectStorage setInfoAttr128(int $type, string $info)boolHaruDoc setInfoClass128([string $class_name = "SplFileInfo"])voidSplFileInfo setInfoDateAttr128(int $type, int $year, int $month, int $day, int $hour, int $min, int $sec, string $ind, int $off_hour, int $off_min)boolHaruDoc setInterlaceScheme128(int $interlace_scheme)boolImagick setIteratorClass128(string $iterator_class)voidArrayObject setIteratorFirstRow128()boolImagickPixelIterator setIteratorIndex128(int $index)boolImagick setIteratorLastRow128()boolImagickPixelIterator setIteratorMode128(int $mode)voidSplDoublyLinkedList setIteratorMode128(int $mode)voidSplQueue setIteratorMode128(int $mode)voidSplStack setIteratorRow128(int $row)boolImagickPixelIterator setLastIterator128()boolImagick setLeftFill128(SWFGradient $fill, int $red, int $green, int $blue [, int $a = ''])voidSWFShape setLeftMargin128(float $width)voidSWFTextField setLenient128(string $isLenient, IntlCalendar $cal)ReturnTypeIntlCalendar setLenient128(bool $lenient, IntlDateFormatter $fmt)boolIntlDateFormatter setLevel128(int $level)voidMongoLog setLibraryPath128(string $directory [, bool $is_global = false])Yaf_LoaderYaf_Loader setLimit128([int $max = '' [, int $skip = '']])mixedTokyoTyrantQuery setLimit128(string $property, string $low, string $high)voidSwishSearch setLimits128(int $offset, int $limit [, int $max_matches = '' [, int $cutoff = '']])boolSphinxClient setLine128(SWFShape $shape, int $width, int $red, int $green, int $blue [, int $a = ''])voidSWFShape setLineCap128(int $cap)boolHaruPage setLineCap128(string $setting, CairoContext $context)voidCairoContext setLineJoin128(int $join)boolHaruPage setLineJoin128(string $setting, CairoContext $context)voidCairoContext setLineSpacing128(float $height)voidSWFTextField setLineWidth128(float $width)boolHaruPage setLineWidth128(string $width, CairoContext $context)voidCairoContext setLocalAddress128(string $address)voidEventHttpConnection setLocalPort128(int $port)voidEventHttpConnection setMargins128(float $left, float $right)voidSWFTextField setMaskImage128(object $mask_image)boolHaruImage setMaskLevel128(int $level)voidSWFDisplayItem setMaster128(string $host, int $port, int $timestamp [, bool $check_consistency = true])mixedTokyoTyrant setMatchMode128(int $mode)boolSphinxClient setMatrix128(CairoMatrix $matrix, CairoContext $context)voidCairoContext setMatrix128(CairoMatrix $matrix, CairoContext $context)voidCairoPattern setMatrix128(float $a, float $b, float $c, float $d, float $x, float $y)voidSWFDisplayItem setMax128(string $max)SolrCollapseFunctionSolrCollapseFunction setMaxBodySize128(int $value)voidEventHttp setMaxBodySize128(string $max_size)voidEventHttpConnection setMaxDepth128([string $max_depth = -1])voidRecursiveIteratorIterator setMaxDispatchInterval128(int $max_interval, int $max_callbacks, int $min_priority)voidEventConfig setMaxHeadersSize128(int $value)voidEventHttp setMaxHeadersSize128(string $max_size)voidEventHttpConnection setMaxLineLen128(int $max_len)voidSplFileObject setMaxQueryTime128(int $qtime)boolSphinxClient setMenu128(int $flag)voidSWFButton setMetadata128(mixed $metadata)voidPhar setMetadata128(mixed $metadata)voidPharFileInfo setMimeType128(string $type)stringKTaglib_ID3v2_AttachedPictureFrame setMimeType128(string $mime)voidCURLFile setMin128(string $min)SolrCollapseFunctionSolrCollapseFunction setMinimalDaysInFirstWeek128(int $minimalDays, IntlCalendar $cal)boolIntlCalendar setMinimumMatch128(string $value)SolrDisMaxQuerySolrDisMaxQuery setMiterLimit128(float $limit)boolHaruPage setMiterLimit128(string $limit, CairoContext $context)voidCairoContext setMlt128(bool $flag)SolrQuerySolrQuery setMltBoost128(bool $flag)SolrQuerySolrQuery setMltCount128(int $count)SolrQuerySolrQuery setMltMaxNumQueryTerms128(int $value)SolrQuerySolrQuery setMltMaxNumTokens128(int $value)SolrQuerySolrQuery setMltMaxWordLength128(int $maxWordLength)SolrQuerySolrQuery setMltMinDocFrequency128(int $minDocFrequency)SolrQuerySolrQuery setMltMinTermFrequency128(int $minTermFrequency)SolrQuerySolrQuery setMltMinWordLength128(int $minWordLength)SolrQuerySolrQuery setMode128(int $mode)voidRegexIterator setModule128(int $module)voidMongoLog setModuleName128(string $module)voidYaf_Request_Abstract setMulti128(array $items [, int $expiration = ''])boolMemcached setMultiByKey128(string $server_key, array $items [, int $expiration = ''])boolMemcached setName128(string $name)voidSWFDisplayItem setName128(string $name)voidSWFTextField setNonce128(string $nonce)mixedOAuth setNullPolicy128(string $nullPolicy)SolrCollapseFunctionSolrCollapseFunction setObject128(object $object)voidSoapServer setOmitHeader128(bool $flag)SolrQuerySolrQuery setOpenAction128(object $destination)boolHaruDoc setOpened128(bool $opened)boolHaruAnnotation setOpened128(bool $opened)boolHaruOutline setOperator128(string $setting, CairoContext $context)voidCairoContext setOpt128(integer $key, mixed $value)ZMQContextZMQContext setOpt128(number $name, mixed $value)booleanYar_Client setOption128(int $option, mixed $value)boolMemcached setOption128(string $key, string $value)boolImagick setOption128(string $option, string $value)boolEventDnsBase setOptions128(array $options)boolMemcached setOptions128(array $params)boolSVM setOptions128(int $option)boolGearmanWorker setOptions128(int $options)boolGearmanClient setOptions128(array $options)voidRRDGraph setOrder128(string $name, int $type)mixedTokyoTyrantQuery setOver128(SWFShape $shape)voidSWFButton setOverride128(string $attribute, int $type, array $values)boolSphinxClient setPadding128(float $padding)voidSWFTextField setPage128(int $width, int $height, int $x, int $y)boolImagick setPageLayout128(int $layout)boolHaruDoc setPageMode128(int $mode)boolHaruDoc setPagesConfiguration128(int $page_per_pages)boolHaruDoc setParam128(string $name, string $value)SolrParamsSolrParams setParam128(string $param_key [, mixed $param_val = ''])boolOAuthProvider setParam128(string $name, string|integer $value)intVarnishAdmin setParam128(string $name [, string $value = ''])voidYaf_Request_Abstract setParameter128(string $namespace, string $name, string $value, array $options)boolXSLTProcessor setParseMode128([int $parser_mode = ''])boolSolrResponse setParserProperty128(int $property, bool $value)boolXMLReader setPassword128(string $owner_password, string $user_password)boolHaruDoc setPassword128(string $password)boolZipArchive setPattern128(string $pattern, IntlDateFormatter $fmt)boolIntlDateFormatter setPattern128(string $pattern, MessageFormatter $fmt)boolMessageFormatter setPattern128(string $pattern, NumberFormatter $fmt)boolNumberFormatter setPermission128(int $permission)boolHaruDoc setPersistence128(int $mode)voidSoapServer setPhraseDelimiter128(string $delimiter)voidSwishSearch setPhraseFields128(string $fields)SolrDisMaxQuerySolrDisMaxQuery setPhraseSlop128(string $slop)SolrDisMaxQuerySolrDisMaxQuery setPicture128(string $filename)voidKTaglib_ID3v2_AttachedPictureFrame setPointSize128(float $point_size)boolImagick setPoolSize128(int $size)boolMongo setPort128(int $port)voidVarnishAdmin setPostFilename128(string $postname)voidCURLFile setPrefixPart128(int $part, string $value)voidRecursiveTreeIterator setPregFlags128(int $preg_flags)voidRegexIterator setPriority128(int $priority)boolEvent setPriority128(int $priority)boolEventBufferEvent setProfiling128(string $filename)boolXSLTProcessor setProfilingLevel128(int $level)intMongoDB setProgressMonitor128(callable $callback)voidImagick setQuery128(string $query)SolrQuerySolrQuery setQueryAlt128(string $q)SolrDisMaxQuerySolrDisMaxQuery setQueryPhraseSlop128(string $slop)SolrDisMaxQuerySolrDisMaxQuery setRGBFill128(float $r, float $g, float $b)boolHaruPage setRGBStroke128(float $r, float $g, float $b)boolHaruPage setRSACertificate128(string $cert)mixedOAuth setRankingMode128(int $ranker)boolSphinxClient setRate128(float $rate)voidSWFMovie setRatio128(float $ratio)voidSWFDisplayItem setReadPreference128(string $read_preference [, array $tags = ''])MongoCommandCursorMongoCommandCursor setReadPreference128(string $read_preference [, array $tags = ''])MongoCursorMongoCursor setReadPreference128(string $read_preference [, array $tags = ''])MongoCursorInterfaceMongoCursorInterface setReadPreference128(string $read_preference [, array $tags = ''])boolMongoClient setReadPreference128(string $read_preference [, array $tags = ''])boolMongoCollection setReadPreference128(string $read_preference [, array $tags = ''])boolMongoDB setReadTimeout128(int $seconds [, int $microseconds = '', resource $link])voidStomp setRedirect128()voidYaf_Response_Abstract setRegistry128(string $key, string $value)voidImagick setRelaxNGSchema128(string $filename)boolXMLReader setRelaxNGSchemaSource128(string $source)boolXMLReader setRepeatedWallTimeOption128(int $wallTimeOption, IntlCalendar $cal)boolIntlCalendar setRequest128(Yaf_Request_Abstract $request)Yaf_DispatcherYaf_Dispatcher setRequestEngine128(int $reqengine)voidOAuth setRequestTokenPath128(string $path)boolOAuthProvider setRequestUri128(string $uir)voidYaf_Request_Abstract setResolution128(float $x_resolution, float $y_resolution)boolImagick setResolution128(string $x_resolution, string $y_resolution)voidImagickDraw setResourceLimit128(int $type, int $limit)boolImagick setResponseWriter128(string $responseWriter)voidSolrClient setRetries128(int $count [, int $delay = ''])boolSphinxClient setRetries128(int $retries)voidEventHttpConnection setReturn128(int $gearman_return_t)boolGearmanJob setRightFill128(SWFGradient $fill, int $red, int $green, int $blue [, int $a = ''])voidSWFShape setRightMargin128(float $width)voidSWFTextField setRotate128(int $angle)boolHaruPage setRouted128([string $flag = ''])voidYaf_Request_Abstract setRows128(int $rows)SolrQuerySolrQuery setSSLChecks128(int $sslcheck)boolOAuth setSamplingFactors128(array $factors)boolImagick setSaslAuthData128(string $username, string $password)voidMemcached setScaledFont128(CairoScaledFont $scaledfont, CairoContext $context)voidCairoContext setSchema128(string $filename)boolXMLReader setScriptPath128(string $template_dir)boolYaf_View_Simple setScriptPath128(string $template_dir)voidYaf_View_Interface setSearchNdots128(int $ndots)boolEventDnsBase setSecret128(string $secret)voidVarnishAdmin setSecurity128(string $sec_level [, string $auth_protocol = '' [, string $auth_passphrase = '' [, string $priv_protocol = '' [, string $priv_passphrase = '' [, string $contextName = '' [, string $contextEngineID = '']]]]]])boolSNMP setSecurityPrefs128(int $securityPrefs)intXsltProcessor setSelect128(string $clause)boolSphinxClient setServer128(string $server, int $port)boolSphinxClient setServerOption128(mysqlnd_connection $connection, int $option)voidMysqlndUhConnection setServerParams128(string $host [, int $port = 11211 [, int $timeout = '' [, int $retry_interval = false [, bool $status = '' [, callable $failure_callback = '']]]]])boolMemcache setServlet128(int $type, string $value)boolSolrClient setShowDebugInfo128(bool $flag)SolrQuerySolrQuery setSignatureAlgorithm128(int $sigtype)voidPhar setSize128(integer $size)SolrCollapseFunctionSolrCollapseFunction setSize128(int $columns, int $rows)boolImagick setSize128(int $size)boolMongoPool setSize128(int $size, int $direction)boolHaruPage setSize128(int $size)intSplFixedArray setSize128(string $width, string $height)voidCairoPdfSurface setSize128(string $width, string $height)voidCairoPsSurface setSizeOffset128(int $columns, int $rows, int $offset)boolImagick setSkippedWallTimeOption128(int $wallTimeOption, IntlCalendar $cal)boolIntlCalendar setSlaveOkay128([bool $ok = true])boolMongo setSlaveOkay128([bool $ok = true])boolMongoCollection setSlaveOkay128([bool $ok = true])boolMongoDB setSlideShow128(int $type, float $disp_time, float $trans_time)boolHaruPage setSockOpt128(integer $key, mixed $value)ZMQSocketZMQSocket setSocketOption128(mixed $socket, int $level, int $optname, mixed $optval)boolEventUtil setSort128(string $sort)voidSwishSearch setSortMode128(int $mode [, string $sortby = ''])boolSphinxClient setSource128(CairoPattern $pattern, CairoContext $context)voidCairoContext setSourceEncoding128(string $encoding)voidUConverter setSourceRGB128(string $red, string $green, string $blue, CairoContext $context, CairoPattern $pattern)voidCairoContext setSourceRGBA128(string $red, string $green, string $blue, string $alpha, CairoContext $context, CairoPattern $pattern)voidCairoContext setSourceSurface128(CairoSurface $surface [, string $x = '' [, string $y = '', CairoContext $context]])voidCairoContext setSpacing128(float $spacing)voidSWFText setStart128(int $start)SolrQuerySolrQuery setStaticPropertyValue128(string $name, string $value)voidReflectionClass setStats128(bool $flag)SolrQuerySolrQuery setStatusCallback128(callable $callback)boolGearmanClient setStrength128(int $strength, Collator $coll)boolCollator setStrokeAlpha128(float $opacity)boolImagickDraw setStrokeAntialias128(bool $stroke_antialias)boolImagickDraw setStrokeColor128(ImagickPixel $stroke_pixel)boolImagickDraw setStrokeDashArray128(array $dashArray)boolImagickDraw setStrokeDashOffset128(float $dash_offset)boolImagickDraw setStrokeLineCap128(int $linecap)boolImagickDraw setStrokeLineJoin128(int $linejoin)boolImagickDraw setStrokeMiterLimit128(int $miterlimit)boolImagickDraw setStrokeOpacity128(float $stroke_opacity)boolImagickDraw setStrokePatternURL128(string $stroke_url)boolImagickDraw setStrokeWidth128(float $stroke_width)boolImagickDraw setStructure128(int $structure)voidSwishSearch setStub128(string $stub [, int $len = -1])boolPhar setStub128(string $stub [, int $len = -1])boolPharData setSubpixelOrder128(string $subpixel_order)voidCairoFontOptions setSubstChars128(string $chars)voidUConverter setSymbol128(int $attr, string $value, NumberFormatter $fmt)boolNumberFormatter setTerms128(bool $flag)SolrQuerySolrQuery setTermsField128(string $fieldname)SolrQuerySolrQuery setTermsIncludeLowerBound128(bool $flag)SolrQuerySolrQuery setTermsIncludeUpperBound128(bool $flag)SolrQuerySolrQuery setTermsLimit128(int $limit)SolrQuerySolrQuery setTermsLowerBound128(string $lowerBound)SolrQuerySolrQuery setTermsMaxCount128(int $frequency)SolrQuerySolrQuery setTermsMinCount128(int $frequency)SolrQuerySolrQuery setTermsPrefix128(string $prefix)SolrQuerySolrQuery setTermsReturnRaw128(bool $flag)SolrQuerySolrQuery setTermsSort128(int $sortType)SolrQuerySolrQuery setTermsUpperBound128(string $upperBound)SolrQuerySolrQuery setText128(string $"text")ReturnTypeIntlBreakIterator setTextAlignment128(int $alignment)boolImagickDraw setTextAntialias128(bool $antiAlias)boolImagickDraw setTextAttribute128(int $attr, string $value, NumberFormatter $fmt)boolNumberFormatter setTextDecoration128(int $decoration)boolImagickDraw setTextEncoding128(string $encoding)boolImagickDraw setTextInterlineSpacing128(float $spacing)voidImagickDraw setTextInterwordSpacing128(float $spacing)voidImagickDraw setTextKerning128(float $kerning)voidImagickDraw setTextLeading128(float $text_leading)boolHaruPage setTextMatrix128(float $a, float $b, float $c, float $d, float $x, float $y)boolHaruPage setTextRenderingMode128(int $mode)boolHaruPage setTextRise128(float $rise)boolHaruPage setTextUnderColor128(ImagickPixel $under_color)boolImagickDraw setTieBreaker128(string $tieBreaker)SolrDisMaxQuerySolrDisMaxQuery setTime128(int $hour, int $minute [, int $second = '', DateTime $object])DateTimeDateTime setTime128(int $hour, int $minute [, int $second = ''])DateTimeImmutableDateTimeImmutable setTime128(float $date, IntlCalendar $cal)floatIntlCalendar setTimeAllowed128(int $timeAllowed)SolrQuerySolrQuery setTimeZone128(mixed $timeZone, IntlCalendar $cal)boolIntlCalendar setTimeZone128(mixed $zone)booleanIntlDateFormatter setTimeZoneId128(string $zone, IntlDateFormatter $fmt)boolIntlDateFormatter setTimeout128(int $timeout)boolGearmanClient setTimeout128(int $timeout)boolGearmanWorker setTimeout128(int $timeout)voidEventHttpConnection setTimeout128(int $timeout)voidVarnishAdmin setTimeout128(int $value)voidEventHttp setTimeouts128(float $timeout_read, float $timeout_write)boolEventBufferEvent setTimer128(EventBase $base, callable $cb [, mixed $arg = ''])boolEvent setTimerCallback128(callable $cb_func, integer $timeout [, mixed $user_data = ''])ZMQDeviceZMQDevice setTimerTimeout128(integer $timeout)ZMQDeviceZMQDevice setTimestamp128(int $unixtimestamp, DateTime $object)DateTimeDateTime setTimestamp128(int $unixtimestamp)DateTimeImmutableDateTimeImmutable setTimestamp128(string $timestamp)mixedOAuth setTimezone128(DateTimeZone $timezone)DateTimeImmutableDateTimeImmutable setTimezone128(DateTimeZone $timezone, DateTime $object)objectDateTime setToken128(string $token, string $token_secret)boolOAuth setTolerance128(string $tolerance, CairoContext $context)voidCairoContext setTrigramPhraseFields128(string $fields)SolrDisMaxQuerySolrDisMaxQuery setTrigramPhraseSlop128(string $slop)SolrDisMaxQuerySolrDisMaxQuery setType128(int $image_type)boolImagick setType128(int $type)voidKTaglib_ID3v2_AttachedPictureFrame setTypeMap128(array $typemap)voidMongoDB::Driver::Cursor setUncompressed128()boolPharFileInfo setUp128(SWFShape $shape)voidSWFButton setUserFields128(string $fields)SolrDisMaxQuerySolrDisMaxQuery setUsingExceptions128(bool $using_exceptions)RarEntryRarException setValue128(object $object, mixed $value)voidReflectionProperty setVectorGraphics128(string $xml)boolImagickDraw setVersion128(string $version)boolOAuth setView128(Yaf_View_Interface $view)Yaf_DispatcherYaf_Dispatcher setViewbox128(int $x1, int $y1, int $x2, int $y2)boolImagickDraw setViewpath128(string $view_directory)voidYaf_Controller_Abstract setWarningCallback128(callable $callback)boolGearmanClient setWatermark128(int $events, int $lowmark, int $highmark)voidEventBufferEvent setWeight128(float $weight)boolFANNConnection setWidth128(float $width)boolHaruPage setWordSpace128(float $word_space)boolHaruPage setWorkloadCallback128(callable $callback)boolGearmanClient setWriteConcern128(mixed $w [, int $wtimeout = ''])boolMongoClient setWriteConcern128(mixed $w [, int $wtimeout = ''])boolMongoCollection setWriteConcern128(mixed $w [, int $wtimeout = ''])boolMongoDB setXMLDeclaration128(bool $xmlDeclatation)voidSDO_DAS_XML_Document setXMLVersion128(string $xmlVersion)voidSDO_DAS_XML_Document setXYZ128(float $left, float $top, float $zoom)boolHaruDestination set_charset128(string $charset, mysqli $link)boolmysqli set_error_handler16(callable $error_handler [, int $error_types = E_ALL | E_STRICT])mixed set_exception_handler16(callable $exception_handler)callable set_file_buffer16() set_flags128(int $options)boolfinfo set_include_path16(string $new_include_path)string set_local_infile_default128(mysqli $link)voidmysqli set_local_infile_handler128(mysqli $link, callable $read_func)boolmysqli set_magic_quotes_runtime16(bool $new_setting)bool set_opt128()mysqli set_socket_blocking16() set_time_limit16(int $seconds)bool setbackground128(int $red, int $green, int $blue)voidSWFMovie setcolor128(string $color)GmagickPixelGmagickPixel setcolorvalue128(int $color, float $value)GmagickPixelGmagickPixel setcommittedversion128(array $parameter)hw_api_objecthw_api setcookie16(string $name [, string $value = "" [, int $expire = '' [, string $path = "" [, string $domain = "" [, bool $secure = false [, bool $httponly = false]]]]]])bool setfilename128(string $filename)GmagickGmagick setfillcolor128(string $color)GmagickDrawGmagickDraw setfillopacity128(float $fill_opacity)GmagickDrawGmagickDraw setfont128(string $font)GmagickDrawGmagickDraw setfontsize128(float $pointsize)GmagickDrawGmagickDraw setfontstyle128(int $style)GmagickDrawGmagickDraw setfontweight128(int $weight)GmagickDrawGmagickDraw setimagebackgroundcolor128(GmagickPixel $color)GmagickGmagick setimageblueprimary128(float $x, float $y)GmagickGmagick setimagebordercolor128(GmagickPixel $color)GmagickGmagick setimagechanneldepth128(int $channel, int $depth)GmagickGmagick setimagecolorspace128(int $colorspace)GmagickGmagick setimagecompose128(int $composite)GmagickGmagick setimagedelay128(int $delay)GmagickGmagick setimagedepth128(int $depth)GmagickGmagick setimagedispose128(int $disposeType)GmagickGmagick setimagefilename128(string $filename)GmagickGmagick setimageformat128(string $imageFormat)GmagickGmagick setimagegamma128(float $gamma)GmagickGmagick setimagegreenprimary128(float $x, float $y)GmagickGmagick setimageindex128(int $index)GmagickGmagick setimageinterlacescheme128(int $interlace)GmagickGmagick setimageiterations128(int $iterations)GmagickGmagick setimageprofile128(string $name, string $profile)GmagickGmagick setimageredprimary128(float $x, float $y)GmagickGmagick setimagerenderingintent128(int $rendering_intent)GmagickGmagick setimageresolution128(float $xResolution, float $yResolution)GmagickGmagick setimagescene128(int $scene)GmagickGmagick setimagetype128(int $imgType)GmagickGmagick setimageunits128(int $resolution)GmagickGmagick setimagewhitepoint128(float $x, float $y)GmagickGmagick setlocale16(int $category, array $locale [, string $... = ''])string setproctitle16(string $title)void setrawcookie16(string $name [, string $value = '' [, int $expire = '' [, string $path = '' [, string $domain = '' [, bool $secure = false [, bool $httponly = false]]]]]])bool setsamplingfactors128(array $factors)GmagickGmagick setsize128(int $columns, int $rows)GmagickGmagick setstrokecolor128(GmagickPixel $color)GmagickDrawGmagickDraw setstrokeopacity128(float $stroke_opacity)GmagickDrawGmagickDraw setstrokewidth128(float $width)GmagickDrawGmagickDraw settextdecoration128(int $decoration)GmagickDrawGmagickDraw settextencoding128(string $encoding)GmagickDrawGmagickDraw setthreadtitle16(string $title)bool settype16(mixed $var, string $type)bool sha116(string $str [, bool $raw_output = false])string sha1_file16(string $filename [, bool $raw_output = false])string shadeImage128(bool $gray, float $azimuth, float $elevation)boolImagick shadowImage128(float $opacity, float $sigma, int $x, int $y)boolImagick sharpenImage128(float $radius, float $sigma [, int $channel = Imagick::CHANNEL_ALL])boolImagick shaveImage128(int $columns, int $rows)boolImagick shearImage128(mixed $background, float $x_shear, float $y_shear)boolImagick shearimage128(mixed $color, float $xShear, float $yShear)GmagickGmagick shell_exec16(string $cmd)string shift128()mixedSplDoublyLinkedList shift128()mixedThreaded shm_attach16(int $key [, int $memsize = '' [, int $perm = 0666]])resource shm_detach16(resource $shm_identifier)bool shm_get_var16(resource $shm_identifier, int $variable_key)mixed shm_has_var16(resource $shm_identifier, int $variable_key)bool shm_put_var16(resource $shm_identifier, int $variable_key, mixed $variable)bool shm_remove16(resource $shm_identifier)bool shm_remove_var16(resource $shm_identifier, int $variable_key)bool shmop_close16(int $shmid)void shmop_delete16(int $shmid)bool shmop_open16(int $key, string $flags, int $mode, int $size)int shmop_read16(int $shmid, int $start, int $count)string shmop_size16(int $shmid)int shmop_write16(int $shmid, string $data, int $offset)int showPage128(CairoContext $context)voidCairoContext showPage128(CairoContext $context)voidCairoSurface showText128(string $text)boolHaruPage showText128(string $text, CairoContext $context)voidCairoContext showTextNextLine128(string $text [, float $word_space = '' [, float $char_space = '']])boolHaruPage show_source16() shuffle16(array $array)bool shutdown128()booleanWorker shutdown128()voidPool shutdownServer128(string $MYSQLND_UH_RES_MYSQLND_NAME, string $"level")voidMysqlndUhConnection sigmoidalContrastImage128(bool $sharpen, float $alpha, float $beta [, int $channel = Imagick::CHANNEL_ALL])boolImagick signal128(int $signum, callable $callback [, mixed $data = '' [, int $priority = '']])EvSignalEvLoop signal128(EventBase $base, int $signum, callable $cb [, mixed $arg = ''])EventEvent signal128(long $condition)booleanCond signeurlpaiement16(string $clent, string $data)string similarNames128(string $name [, integer $country = ''])arrayGender::Gender similar_text16(string $first, string $second [, float $percent = ''])int simpleCommand128(mysqlnd_connection $connection, int $command, string $arg, int $ok_packet, bool $silent, bool $ignore_upsert_status)boolMysqlndUhConnection simpleCommandHandleResponse128(mysqlnd_connection $connection, int $ok_packet, bool $silent, int $command, bool $ignore_upsert_status)boolMysqlndUhConnection simplexml_import_dom16(DOMNode $node [, string $class_name = "SimpleXMLElement"])SimpleXMLElement simplexml_load_file16(string $filename [, string $class_name = "SimpleXMLElement" [, int $options = '' [, string $ns = "" [, bool $is_prefix = false]]]])SimpleXMLElement simplexml_load_string16(string $data [, string $class_name = "SimpleXMLElement" [, int $options = '' [, string $ns = "" [, bool $is_prefix = false]]]])SimpleXMLElement sin16(float $arg)float singleQuery128(resource $db, string $query [, bool $first_row_only = '' [, bool $decode_binary = '']])arraySQLiteDatabase singularValues128(array $a)arrayLapack sinh16(float $arg)float size128()intOCI-Collection size128()intOCI-Lob size128(string $key)intTokyoTyrant size128()voidJudy sizeof16() sketchImage128(float $radius, float $sigma, float $angle)boolImagick skewX128(float $degrees)boolImagickDraw skewX128(float $ddegrees)voidSWFDisplayItem skewXTo128(float $degrees)voidSWFDisplayItem skewXTo128(float $x)voidSWFFill skewY128(float $degrees)boolImagickDraw skewY128(float $ddegrees)voidSWFDisplayItem skewYTo128(float $degrees)voidSWFDisplayItem skewYTo128(float $y)voidSWFFill skip128(int $num)MongoCursorMongoCursor slaveOkay128([bool $okay = true])MongoCursorMongoCursor sleep16(int $seconds)int sleep128(double $seconds)voidEv smushImages128(string $stack, string $offset)ImagickImagick snapshot128()MongoCursorMongoCursor snmp2_get16(string $host, string $community, string $object_id [, string $timeout = 1000000 [, string $retries = 5]])string snmp2_getnext16(string $host, string $community, string $object_id [, string $timeout = 1000000 [, string $retries = 5]])string snmp2_real_walk16(string $host, string $community, string $object_id [, string $timeout = 1000000 [, string $retries = 5]])array snmp2_set16(string $host, string $community, string $object_id, string $type, string $value [, string $timeout = 1000000 [, string $retries = 5]])bool snmp2_walk16(string $host, string $community, string $object_id [, string $timeout = 1000000 [, string $retries = 5]])array snmp3_get16(string $host, string $sec_name, string $sec_level, string $auth_protocol, string $auth_passphrase, string $priv_protocol, string $priv_passphrase, string $object_id [, string $timeout = 1000000 [, string $retries = 5]])string snmp3_getnext16(string $host, string $sec_name, string $sec_level, string $auth_protocol, string $auth_passphrase, string $priv_protocol, string $priv_passphrase, string $object_id [, string $timeout = 1000000 [, string $retries = 5]])string snmp3_real_walk16(string $host, string $sec_name, string $sec_level, string $auth_protocol, string $auth_passphrase, string $priv_protocol, string $priv_passphrase, string $object_id [, string $timeout = 1000000 [, string $retries = 5]])array snmp3_set16(string $host, string $sec_name, string $sec_level, string $auth_protocol, string $auth_passphrase, string $priv_protocol, string $priv_passphrase, string $object_id, string $type, string $value [, int $timeout = 1000000 [, int $retries = 5]])bool snmp3_walk16(string $host, string $sec_name, string $sec_level, string $auth_protocol, string $auth_passphrase, string $priv_protocol, string $priv_passphrase, string $object_id [, string $timeout = 1000000 [, string $retries = 5]])array snmp_get_quick_print16()bool snmp_get_valueretrieval16()int snmp_read_mib16(string $filename)bool snmp_set_enum_print16(int $enum_print)bool snmp_set_oid_numeric_print16(int $oid_format)void snmp_set_oid_output_format16(int $oid_format)bool snmp_set_quick_print16(bool $quick_print)bool snmp_set_valueretrieval16(int $method)bool snmpget16(string $hostname, string $community, string $object_id [, int $timeout = 1000000 [, int $retries = 5]])string snmpgetnext16(string $host, string $community, string $object_id [, int $timeout = 1000000 [, int $retries = 5]])string snmprealwalk16(string $host, string $community, string $object_id [, int $timeout = 1000000 [, int $retries = 5]])array snmpset16(string $host, string $community, string $object_id, string $type, mixed $value [, int $timeout = 1000000 [, int $retries = 5]])bool snmpwalk16(string $hostname, string $community, string $object_id [, int $timeout = 1000000 [, int $retries = 5]])array snmpwalkoid16(string $hostname, string $community, string $object_id [, int $timeout = 1000000 [, int $retries = 5]])array socket_accept16(resource $socket)resource socket_bind16(resource $socket, string $address [, int $port = ''])bool socket_clear_error16([resource $socket = ''])void socket_close16(resource $socket)void socket_cmsg_space16(int $level, int $type)int socket_connect16(resource $socket, string $address [, int $port = ''])bool socket_create16(int $domain, int $type, int $protocol)resource socket_create_listen16(int $port [, int $backlog = 128])resource socket_create_pair16(int $domain, int $type, int $protocol, array $fd)bool socket_get_option16(resource $socket, int $level, int $optname)mixed socket_get_status16() socket_getopt16() socket_getpeername16(resource $socket, string $address [, int $port = ''])bool socket_getsockname16(resource $socket, string $addr [, int $port = ''])bool socket_import_stream16(resource $stream)resource socket_last_error16([resource $socket = ''])int socket_listen16(resource $socket [, int $backlog = ''])bool socket_read16(resource $socket, int $length [, int $type = PHP_BINARY_READ])string socket_recv16(resource $socket, string $buf, int $len, int $flags)int socket_recvfrom16(resource $socket, string $buf, int $len, int $flags, string $name [, int $port = ''])int socket_recvmsg16(resource $socket, string $message [, int $flags = ''])int socket_select16(array $read, array $write, array $except, int $tv_sec [, int $tv_usec = ''])int socket_send16(resource $socket, string $buf, int $len, int $flags)int socket_sendmsg16(resource $socket, array $message, int $flags)int socket_sendto16(resource $socket, string $buf, int $len, int $flags, string $addr [, int $port = ''])int socket_set_block16(resource $socket)bool socket_set_blocking16() socket_set_nonblock16(resource $socket)bool socket_set_option16(resource $socket, int $level, int $optname, mixed $optval)bool socket_set_timeout16() socket_setopt16() socket_shutdown16(resource $socket [, int $how = 2])bool socket_strerror16(int $errno)string socket_write16(resource $socket, string $buffer [, int $length = ''])int solarizeImage128(int $threshold)boolImagick solarizeimage128(int $threshold)GmagickGmagick solr_get_version16()string solveLinearEquation128(array $a, array $b)arrayLapack sort16(array $array [, int $sort_flags = SORT_REGULAR])bool sort128(array $fields)MongoCursorMongoCursor sort128(array $arr [, int $sort_flag = '', Collator $coll])boolCollator sort128(int $sortOrderBy [, int $sortDirection = SolrDocument::SORT_ASC])boolSolrDocument sort128(int $sortOrderBy [, int $sortDirection = SolrInputDocument::SORT_ASC])boolSolrInputDocument sortWithSortKeys128(array $arr, Collator $coll)boolCollator soundex16(string $str)string sparseColorImage128(int $SPARSE_METHOD, array $arguments [, int $channel = Imagick::CHANNEL_DEFAULT])boolImagick spl_autoload16(string $class_name [, string $file_extensions = spl_autoload_extensions()])void spl_autoload_call16(string $class_name)void spl_autoload_extensions16([string $file_extensions = ''])string spl_autoload_functions16()array spl_autoload_register16([callable $autoload_function = '' [, bool $throw = true [, bool $prepend = false]]])bool spl_autoload_unregister16(mixed $autoload_function)bool spl_classes16()array spl_object_hash16(object $obj)string spliceImage128(int $width, int $height, int $x, int $y)boolImagick split16(string $pattern, string $string [, int $limit = -1])array splitText128(int $offset)DOMTextDOMText spliti16(string $pattern, string $string [, int $limit = -1])array spreadImage128(float $radius)boolImagick spreadimage128(float $radius)GmagickGmagick sprintf16(string $format [, mixed $args = '' [, mixed $... = '']])string sql_regcase16(string $string)string sqliteCreateAggregate128(string $function_name, callable $step_func, callable $finalize_func [, int $num_args = ''])boolPDO sqliteCreateCollation128(string $name, callable $callback)boolPDO sqliteCreateFunction128(string $function_name, callable $callback [, int $num_args = ''])boolPDO sqlite_array_query16(resource $dbhandle, string $query [, int $result_type = SQLITE_BOTH [, bool $decode_binary = true]])array sqlite_busy_timeout16(resource $dbhandle, int $milliseconds)void sqlite_changes16(resource $dbhandle)int sqlite_close16(resource $dbhandle)void sqlite_column16(resource $result, mixed $index_or_name [, bool $decode_binary = true])mixed sqlite_create_aggregate16(resource $dbhandle, string $function_name, callable $step_func, callable $finalize_func [, int $num_args = -1])void sqlite_create_function16(resource $dbhandle, string $function_name, callable $callback [, int $num_args = -1])void sqlite_current16(resource $result [, int $result_type = SQLITE_BOTH [, bool $decode_binary = true]])array sqlite_error_string16(int $error_code)string sqlite_escape_string16(string $item)string sqlite_exec16(resource $dbhandle, string $query [, string $error_msg = ''])bool sqlite_factory16(string $filename [, int $mode = 0666 [, string $error_message = '']])SQLiteDatabase sqlite_fetch_all16(resource $result [, int $result_type = SQLITE_BOTH [, bool $decode_binary = true]])array sqlite_fetch_array16(resource $result [, int $result_type = SQLITE_BOTH [, bool $decode_binary = true]])array sqlite_fetch_column_types16(string $table_name, resource $dbhandle [, int $result_type = SQLITE_ASSOC])array sqlite_fetch_object16(resource $result [, string $class_name = '' [, array $ctor_params = '' [, bool $decode_binary = true]]])object sqlite_fetch_single16(resource $result [, bool $decode_binary = true])string sqlite_fetch_string16() sqlite_field_name16(resource $result, int $field_index)string sqlite_has_more16(resource $result)bool sqlite_has_prev16(resource $result)bool sqlite_key16()int sqlite_last_error16(resource $dbhandle)int sqlite_last_insert_rowid16(resource $dbhandle)int sqlite_libencoding16()string sqlite_libversion16()string sqlite_next16(resource $result)bool sqlite_num_fields16(resource $result)int sqlite_num_rows16(resource $result)int sqlite_open16(string $filename [, int $mode = 0666 [, string $error_message = '']])resource sqlite_popen16(string $filename [, int $mode = 0666 [, string $error_message = '']])resource sqlite_prev16(resource $result)bool sqlite_query16(resource $dbhandle, string $query [, int $result_type = SQLITE_BOTH [, string $error_msg = '']])SQLiteResult sqlite_rewind16(resource $result)bool sqlite_seek16(resource $result, int $rownum)bool sqlite_single_query16(resource $db, string $query [, bool $first_row_only = '' [, bool $decode_binary = '']])array sqlite_udf_decode_binary16(string $data)string sqlite_udf_encode_binary16(string $data)string sqlite_unbuffered_query16(resource $dbhandle, string $query [, int $result_type = SQLITE_BOTH [, string $error_msg = '']])SQLiteUnbuffered sqlite_valid16(resource $result)bool sqlsrv_begin_transaction16(resource $conn)bool sqlsrv_cancel16(resource $stmt)bool sqlsrv_client_info16(resource $conn)array sqlsrv_close16(resource $conn)bool sqlsrv_commit16(resource $conn)bool sqlsrv_configure16(string $setting, mixed $value)bool sqlsrv_connect16(string $serverName [, array $connectionInfo = ''])resource sqlsrv_errors16([int $errorsOrWarnings = ''])mixed sqlsrv_execute16(resource $stmt)bool sqlsrv_fetch16(resource $stmt [, int $row = '' [, int $offset = '']])mixed sqlsrv_fetch_array16(resource $stmt [, int $fetchType = '' [, int $row = '' [, int $offset = '']]])array sqlsrv_fetch_object16(resource $stmt [, string $className = '' [, array $ctorParams = '' [, int $row = '' [, int $offset = '']]]])mixed sqlsrv_field_metadata16(resource $stmt)mixed sqlsrv_free_stmt16(resource $stmt)bool sqlsrv_get_config16(string $setting)mixed sqlsrv_get_field16(resource $stmt, int $fieldIndex [, int $getAsType = ''])mixed sqlsrv_has_rows16(resource $stmt)bool sqlsrv_next_result16(resource $stmt)mixed sqlsrv_num_fields16(resource $stmt)mixed sqlsrv_num_rows16(resource $stmt)mixed sqlsrv_prepare16(resource $conn, string $sql [, array $params = '' [, array $options = '']])mixed sqlsrv_query16(resource $conn, string $sql [, array $params = '' [, array $options = '']])mixed sqlsrv_rollback16(resource $conn)bool sqlsrv_rows_affected16(resource $stmt)int sqlsrv_send_stream_data16(resource $stmt)bool sqlsrv_server_info16(resource $conn)array sqlstate128(resource $link)stringmaxdb sqrt16(float $arg)float srand16([int $seed = ''])void srcanchors128(array $parameter)arrayhw_api srcsofdst128(array $parameter)arrayhw_api sscanf16(string $str, string $format [, mixed $... = ''])mixed ssdeep_fuzzy_compare16(string $signature1, string $signature2)int ssdeep_fuzzy_hash16(string $to_hash)string ssdeep_fuzzy_hash_filename16(string $file_name)string ssh2_auth_agent16(resource $session, string $username)bool ssh2_auth_hostbased_file16(resource $session, string $username, string $hostname, string $pubkeyfile, string $privkeyfile [, string $passphrase = '' [, string $local_username = '']])bool ssh2_auth_none16(resource $session, string $username)mixed ssh2_auth_password16(resource $session, string $username, string $password)bool ssh2_auth_pubkey_file16(resource $session, string $username, string $pubkeyfile, string $privkeyfile [, string $passphrase = ''])bool ssh2_connect16(string $host [, int $port = 22 [, array $methods = '' [, array $callbacks = '']]])resource ssh2_exec16(resource $session, string $command [, string $pty = '' [, array $env = '' [, int $width = 80 [, int $height = 25 [, int $width_height_type = SSH2_TERM_UNIT_CHARS]]]]])resource ssh2_fetch_stream16(resource $channel, int $streamid)resource ssh2_fingerprint16(resource $session [, int $flags = SSH2_FINGERPRINT_MD5 | SSH2_FINGERPRINT_HEX])string ssh2_methods_negotiated16(resource $session)array ssh2_publickey_add16(resource $pkey, string $algoname, string $blob [, bool $overwrite = false [, array $attributes = '']])bool ssh2_publickey_init16(resource $session)resource ssh2_publickey_list16(resource $pkey)array ssh2_publickey_remove16(resource $pkey, string $algoname, string $blob)bool ssh2_scp_recv16(resource $session, string $remote_file, string $local_file)bool ssh2_scp_send16(resource $session, string $local_file, string $remote_file [, int $create_mode = 0644])bool ssh2_sftp16(resource $session)resource ssh2_sftp_chmod16(resource $sftp, string $filename, int $mode)bool ssh2_sftp_lstat16(resource $sftp, string $path)array ssh2_sftp_mkdir16(resource $sftp, string $dirname [, int $mode = 0777 [, bool $recursive = false]])bool ssh2_sftp_readlink16(resource $sftp, string $link)string ssh2_sftp_realpath16(resource $sftp, string $filename)string ssh2_sftp_rename16(resource $sftp, string $from, string $to)bool ssh2_sftp_rmdir16(resource $sftp, string $dirname)bool ssh2_sftp_stat16(resource $sftp, string $path)array ssh2_sftp_symlink16(resource $sftp, string $target, string $link)bool ssh2_sftp_unlink16(resource $sftp, string $filename)bool ssh2_shell16(resource $session [, string $term_type = "vanilla" [, array $env = '' [, int $width = 80 [, int $height = 25 [, int $width_height_type = SSH2_TERM_UNIT_CHARS]]]]])resource ssh2_tunnel16(resource $session, string $host, int $port)resource sslError128()stringEventBufferEvent sslFilter128(EventBase $base, EventBufferEvent $underlying, EventSslContext $ctx, int $state [, int $options = ''])EventBufferEventEventBufferEvent sslGetCipherInfo128()stringEventBufferEvent sslGetCipherName128()stringEventBufferEvent sslGetCipherVersion128()stringEventBufferEvent sslGetProtocol128()stringEventBufferEvent sslRandPoll128()voidEventUtil sslRenegotiate128()voidEventBufferEvent sslSet128(mysqlnd_connection $connection, string $key, string $cert, string $ca, string $capath, string $cipher)boolMysqlndUhConnection sslSocket128(EventBase $base, mixed $socket, EventSslContext $ctx, int $state [, int $options = ''])EventBufferEventEventBufferEvent ssl_set128(resource $link, string $key, string $cert, string $ca, string $capath, string $cipher)boolmaxdb ssl_set128(string $key, string $cert, string $ca, string $capath, string $cipher, mysqli $link)boolmysqli stack128(Threaded $work)integerWorker start128([integer $options = ''])booleanThread start128()intVarnishAdmin start128()voidEvWatcher start128()voidHRTime::PerformanceCounter start128()voidYaf_Session startAttribute128(string $name, resource $xmlwriter)boolXMLWriter startAttributeNS128(string $prefix, string $name, string $uri, resource $xmlwriter)boolXMLWriter startBuffering128()voidPhar startCData128(resource $xmlwriter)boolXMLWriter startComment128(resource $xmlwriter)boolXMLWriter startDTD128(string $qualifiedName [, string $publicId = '' [, string $systemId = '', resource $xmlwriter]])boolXMLWriter startDTDAttlist128(string $name, resource $xmlwriter)boolXMLWriter startDTDElement128(string $qualifiedName, resource $xmlwriter)boolXMLWriter startDTDEntity128(string $name, bool $isparam, resource $xmlwriter)boolXMLWriter startDocument128([string $version = 1.0 [, string $encoding = '' [, string $standalone = '', resource $xmlwriter]]])boolXMLWriter startElement128(string $name, resource $xmlwriter)boolXMLWriter startElementNS128(string $prefix, string $name, string $uri, resource $xmlwriter)boolXMLWriter startPI128(string $target, resource $xmlwriter)boolXMLWriter startSound128(SWFSound $sound)SWFSoundInstanceSWFMovie startSound128(SWFSound $sount)SWFSoundInstanceSWFSprite stat16(string $filename)array stat128(string $path, double $interval, callable $callback [, mixed $data = '' [, int $priority = '']])EvStatEvLoop stat128()arrayTokyoTyrant stat128()boolEvStat stat128(mysqli $link)stringmysqli stat128(resource $link)stringmaxdb statIndex128(int $index [, int $flags = ''])arrayZipArchive statName128(string $name [, int $flags = ''])arrayZipArchive statisticImage128(int $type, int $width, int $height [, string $CHANNEL = Imagick::CHANNEL_DEFAULT])voidImagick stats_absolute_deviation16(array $a)float stats_cdf_beta16(float $par1, float $par2, float $par3, int $which)float stats_cdf_binomial16(float $par1, float $par2, float $par3, int $which)float stats_cdf_cauchy16(float $par1, float $par2, float $par3, int $which)float stats_cdf_chisquare16(float $par1, float $par2, int $which)float stats_cdf_exponential16(float $par1, float $par2, int $which)float stats_cdf_f16(float $par1, float $par2, float $par3, int $which)float stats_cdf_gamma16(float $par1, float $par2, float $par3, int $which)float stats_cdf_laplace16(float $par1, float $par2, float $par3, int $which)float stats_cdf_logistic16(float $par1, float $par2, float $par3, int $which)float stats_cdf_negative_binomial16(float $par1, float $par2, float $par3, int $which)float stats_cdf_noncentral_chisquare16(float $par1, float $par2, float $par3, int $which)float stats_cdf_noncentral_f16(float $par1, float $par2, float $par3, float $par4, int $which)float stats_cdf_poisson16(float $par1, float $par2, int $which)float stats_cdf_t16(float $par1, float $par2, int $which)float stats_cdf_uniform16(float $par1, float $par2, float $par3, int $which)float stats_cdf_weibull16(float $par1, float $par2, float $par3, int $which)float stats_covariance16(array $a, array $b)float stats_den_uniform16(float $x, float $a, float $b)float stats_dens_beta16(float $x, float $a, float $b)float stats_dens_cauchy16(float $x, float $ave, float $stdev)float stats_dens_chisquare16(float $x, float $dfr)float stats_dens_exponential16(float $x, float $scale)float stats_dens_f16(float $x, float $dfr1, float $dfr2)float stats_dens_gamma16(float $x, float $shape, float $scale)float stats_dens_laplace16(float $x, float $ave, float $stdev)float stats_dens_logistic16(float $x, float $ave, float $stdev)float stats_dens_negative_binomial16(float $x, float $n, float $pi)float stats_dens_normal16(float $x, float $ave, float $stdev)float stats_dens_pmf_binomial16(float $x, float $n, float $pi)float stats_dens_pmf_hypergeometric16(float $n1, float $n2, float $N1, float $N2)float stats_dens_pmf_poisson16(float $x, float $lb)float stats_dens_t16(float $x, float $dfr)float stats_dens_weibull16(float $x, float $a, float $b)float stats_harmonic_mean16(array $a)number stats_kurtosis16(array $a)float stats_rand_gen_beta16(float $a, float $b)float stats_rand_gen_chisquare16(float $df)float stats_rand_gen_exponential16(float $av)float stats_rand_gen_f16(float $dfn, float $dfd)float stats_rand_gen_funiform16(float $low, float $high)float stats_rand_gen_gamma16(float $a, float $r)float stats_rand_gen_ibinomial16(int $n, float $pp)int stats_rand_gen_ibinomial_negative16(int $n, float $p)int stats_rand_gen_int16()int stats_rand_gen_ipoisson16(float $mu)int stats_rand_gen_iuniform16(int $low, int $high)int stats_rand_gen_noncenral_chisquare16(float $df, float $xnonc)float stats_rand_gen_noncentral_f16(float $dfn, float $dfd, float $xnonc)float stats_rand_gen_noncentral_t16(float $df, float $xnonc)float stats_rand_gen_normal16(float $av, float $sd)float stats_rand_gen_t16(float $df)float stats_rand_get_seeds16()array stats_rand_phrase_to_seeds16(string $phrase)array stats_rand_ranf16()float stats_rand_setall16(int $iseed1, int $iseed2)void stats_skew16(array $a)float stats_standard_deviation16(array $a [, bool $sample = false])float stats_stat_binomial_coef16(int $x, int $n)float stats_stat_correlation16(array $arr1, array $arr2)float stats_stat_gennch16(int $n)float stats_stat_independent_t16(array $arr1, array $arr2)float stats_stat_innerproduct16(array $arr1, array $arr2)float stats_stat_noncentral_t16(float $par1, float $par2, float $par3, int $which)float stats_stat_paired_t16(array $arr1, array $arr2)float stats_stat_percentile16(float $df, float $xnonc)float stats_stat_powersum16(array $arr, float $power)float stats_variance16(array $a [, bool $sample = false])float status128()arraySphinxClient status128(int $numerator, int $denominator)boolGearmanJob status128(CairoContext $context)intCairoContext status128(CairoContext $context)intCairoFontOptions status128(CairoContext $context)intCairoPattern status128(CairoContext $context)intCairoScaledFont status128(CairoContext $context)intCairoSurface status128(CairoFontFace $fontface)intCairoFontFace statusToString128(int $status)stringCairo steganoImage128(Imagick $watermark_wand, int $offset)ImagickImagick stem128(string $word)arraySwishResult stereoImage128(Imagick $offset_wand)boolImagick stmtInit128(mysqlnd_connection $connection)resourceMysqlndUhConnection stmt_init128(mysqli $link)mysqli_stmtmysqli stmt_init128(resource $link)objectmaxdb stomp_abort16(string $transaction_id [, array $headers = '', resource $link])bool stomp_ack16(mixed $msg [, array $headers = '', resource $link])bool stomp_begin16(string $transaction_id [, array $headers = '', resource $link])bool stomp_close16(resource $link)bool stomp_commit16(string $transaction_id [, array $headers = '', resource $link])bool stomp_connect16([string $broker = ini_get("stomp.default_broker_uri") [, string $username = '' [, string $password = '' [, array $headers = '']]]])resource stomp_connect_error16()string stomp_error16(resource $link)string stomp_get_read_timeout16(resource $link)array stomp_get_session_id16(resource $link)string stomp_has_frame16(resource $link)bool stomp_read_frame16([string $class_name = "stompFrame", resource $link])array stomp_send16(string $destination, mixed $msg [, array $headers = '', resource $link])bool stomp_set_read_timeout16(int $seconds [, int $microseconds = '', resource $link])void stomp_subscribe16(string $destination [, array $headers = '', resource $link])bool stomp_unsubscribe16(string $destination [, array $headers = '', resource $link])bool stomp_version16()string stop128()boolEventBase stop128()intVarnishAdmin stop128()voidEvWatcher stop128()voidHRTime::PerformanceCounter stop128([int $how = ''])voidEv stop128([int $how = ''])voidEvLoop stopBuffering128()voidPhar stopSound128(SWFSound $sound)voidSWFMovie stopSound128(SWFSound $sount)voidSWFSprite storeBytes128(string $bytes [, array $metadata = array() [, array $options = array()]])mixedMongoGridFS storeFile128(string|resource $filename [, array $metadata = array() [, array $options = array()]])mixedMongoGridFS storeResult128(mysqlnd_connection $connection)resourceMysqlndUhConnection storeUpload128(string $name [, array $metadata = ''])mixedMongoGridFS store_result128(mysqli_stmt $stmt)boolmysqli_stmt store_result128([int $option = '', mysqli $link])mysqli_resultmysqli store_result128(resource $link)objectmaxdb store_result128(resource $stmt)objectmaxdb_stmt str_getcsv16(string $input [, string $delimiter = "," [, string $enclosure = '"' [, string $escape = "\\"]]])array str_ireplace16(mixed $search, mixed $replace, mixed $subject [, int $count = ''])mixed str_pad16(string $input, int $pad_length [, string $pad_string = " " [, int $pad_type = STR_PAD_RIGHT]])string str_repeat16(string $input, int $multiplier)string str_replace16(mixed $search, mixed $replace, mixed $subject [, int $count = ''])mixed str_rot1316(string $str)string str_shuffle16(string $str)string str_split16(string $string [, int $split_length = 1])array str_word_count16(string $string [, int $format = '' [, string $charlist = '']])mixed strcasecmp16(string $str1, string $str2)int strchr16() strcmp16(string $str1, string $str2)int strcoll16(string $str1, string $str2)int strcspn16(string $subject, string $mask [, int $start = '' [, int $length = '']])int streamMP3128(mixed $mp3file [, float $skip = ''])intSWFMovie streamWrapper1() stream_bucket_append16(resource $brigade, object $bucket)void stream_bucket_make_writeable16(resource $brigade)object stream_bucket_new16(resource $stream, string $buffer)object stream_bucket_prepend16(resource $brigade, object $bucket)void stream_cast128(int $cast_as)resourcestreamWrapper stream_close128()voidstreamWrapper stream_context_create16([array $options = '' [, array $params = '']])resource stream_context_get_default16([array $options = ''])resource stream_context_get_options16(resource $stream_or_context)array stream_context_get_params16(resource $stream_or_context)array stream_context_set_default16(array $options)resource stream_context_set_option16(resource $stream_or_context, string $wrapper, string $option, mixed $value, array $options)bool stream_context_set_params16(resource $stream_or_context, array $params)bool stream_copy_to_stream16(resource $source, resource $dest [, int $maxlength = -1 [, int $offset = '']])int stream_encoding16(resource $stream [, string $encoding = ''])bool stream_eof128()boolstreamWrapper stream_filter_append16(resource $stream, string $filtername [, int $read_write = '' [, mixed $params = '']])resource stream_filter_prepend16(resource $stream, string $filtername [, int $read_write = '' [, mixed $params = '']])resource stream_filter_register16(string $filtername, string $classname)bool stream_filter_remove16(resource $stream_filter)bool stream_flush128()boolstreamWrapper stream_get_contents16(resource $handle [, int $maxlength = -1 [, int $offset = -1]])string stream_get_filters16()array stream_get_line16(resource $handle, int $length [, string $ending = ''])string stream_get_meta_data16(resource $stream)array stream_get_transports16()array stream_get_wrappers16()array stream_is_local16(mixed $stream_or_url)bool stream_lock128(int $operation)boolstreamWrapper stream_metadata128(string $path, int $option, mixed $value)boolstreamWrapper stream_notification_callback16(int $notification_code, int $severity, string $message, int $message_code, int $bytes_transferred, int $bytes_max)callable stream_open128(string $path, string $mode, int $options, string $opened_path)boolstreamWrapper stream_read128(int $count)stringstreamWrapper stream_register_wrapper16() stream_resolve_include_path16(string $filename)string stream_seek128(int $offset, int $whence)boolstreamWrapper stream_select16(array $read, array $write, array $except, int $tv_sec [, int $tv_usec = ''])int stream_set_blocking16(resource $stream, bool $mode)bool stream_set_chunk_size16(resource $fp, int $chunk_size)int stream_set_option128(int $option, int $arg1, int $arg2)boolstreamWrapper stream_set_read_buffer16(resource $stream, int $buffer)int stream_set_timeout16(resource $stream, int $seconds [, int $microseconds = ''])bool stream_set_write_buffer16(resource $stream, int $buffer)int stream_socket_accept16(resource $server_socket [, float $timeout = ini_get("default_socket_timeout") [, string $peername = '']])resource stream_socket_client16(string $remote_socket [, int $errno = '' [, string $errstr = '' [, float $timeout = ini_get("default_socket_timeout") [, int $flags = STREAM_CLIENT_CONNECT [, resource $context = '']]]]])resource stream_socket_enable_crypto16(resource $stream, bool $enable [, int $crypto_type = '' [, resource $session_stream = '']])mixed stream_socket_get_name16(resource $handle, bool $want_peer)string stream_socket_pair16(int $domain, int $type, int $protocol)array stream_socket_recvfrom16(resource $socket, int $length [, int $flags = '' [, string $address = '']])string stream_socket_sendto16(resource $socket, string $data [, int $flags = '' [, string $address = '']])int stream_socket_server16(string $local_socket [, int $errno = '' [, string $errstr = '' [, int $flags = STREAM_SERVER_BIND | STREAM_SERVER_LISTEN [, resource $context = '']]]])resource stream_socket_shutdown16(resource $stream, int $how)bool stream_stat128()arraystreamWrapper stream_supports_lock16(resource $stream)bool stream_tell128()intstreamWrapper stream_truncate128(int $new_size)boolstreamWrapper stream_wrapper_register16(string $protocol, string $classname [, int $flags = ''])bool stream_wrapper_restore16(string $protocol)bool stream_wrapper_unregister16(string $protocol)bool stream_write128(string $data)intstreamWrapper strftime16(string $format [, int $timestamp = time()])string strideForWidth128(int $format, int $width)intCairoFormat stripImage128()boolImagick strip_tags16(string $str [, string $allowable_tags = ''])string stripcslashes16(string $str)string stripimage128()GmagickGmagick stripos16(string $haystack, string $needle [, int $offset = ''])mixed stripslashes16(string $str)string stristr16(string $haystack, mixed $needle [, bool $before_needle = false])string strlen16(string $string)int strnatcasecmp16(string $str1, string $str2)int strnatcmp16(string $str1, string $str2)int strncasecmp16(string $str1, string $str2, int $len)int strncmp16(string $str1, string $str2, int $len)int stroke128([bool $close_path = false])boolHaruPage stroke128(CairoContext $context)voidCairoContext strokeExtents128(CairoContext $context)arrayCairoContext strokePreserve128(CairoContext $context)voidCairoContext strpbrk16(string $haystack, string $char_list)string strpos16(string $haystack, mixed $needle [, int $offset = ''])mixed strptime16(string $date, string $format)array strrchr16(string $haystack, mixed $needle)string strrev16(string $string)string strripos16(string $haystack, string $needle [, int $offset = ''])int strrpos16(string $haystack, string $needle [, int $offset = ''])int strspn16(string $subject, string $mask [, int $start = '' [, int $length = '']])int strstr16(string $haystack, mixed $needle [, bool $before_needle = false])string strtok16(string $str, string $token)string strtolower16(string $string)string strtotime16(string $time [, int $now = time()])int strtoupper16(string $string)string strtr16(string $str, string $from, string $to, array $replace_pairs)string strval16(mixed $var)string sub128(DateInterval $interval, DateTime $object)DateTimeDateTime sub128(DateInterval $interval)DateTimeImmutableDateTimeImmutable subImageMatch128(Imagick $Imagick [, array $offset = '' [, float $similarity = '']])ImagickImagick submit128(Threaded $task)integerPool submitTo128(integer $worker, Threaded $task)integerPool subscribe128(string $destination [, array $headers = '', resource $link])boolStomp subscribe128(string $targetTopic)stringSAMConnection substr16(string $string, int $start [, int $length = ''])string substr128(int $start [, int $length = ''])stringEventBuffer substr_compare16(string $main_str, string $str, int $offset [, int $length = '' [, bool $case_insensitivity = false]])int substr_count16(string $haystack, string $needle [, int $offset = '' [, int $length = '']])int substr_replace16(mixed $string, mixed $replacement, mixed $start [, mixed $length = ''])mixed substringData128(int $offset, int $count)stringDOMCharacterData success128()boolSolrResponse supportedBackends128()voidEv suspend128()voidEv suspend128()voidEvLoop svn_add16(string $path [, bool $recursive = true [, bool $force = false]])bool svn_auth_get_parameter16(string $key)string svn_auth_set_parameter16(string $key, string $value)void svn_blame16(string $repository_url [, int $revision_no = SVN_REVISION_HEAD])array svn_cat16(string $repos_url [, int $revision_no = ''])string svn_checkout16(string $repos, string $targetpath [, int $revision = '' [, int $flags = '']])bool svn_cleanup16(string $workingdir)bool svn_client_version16()string svn_commit16(string $log, array $targets [, bool $recursive = true])array svn_delete16(string $path [, bool $force = false])bool svn_diff16(string $path1, int $rev1, string $path2, int $rev2)array svn_export16(string $frompath, string $topath [, bool $working_copy = true [, int $revision_no = -1]])bool svn_fs_abort_txn16(resource $txn)bool svn_fs_apply_text16(resource $root, string $path)resource svn_fs_begin_txn216(resource $repos, int $rev)resource svn_fs_change_node_prop16(resource $root, string $path, string $name, string $value)bool svn_fs_check_path16(resource $fsroot, string $path)int svn_fs_contents_changed16(resource $root1, string $path1, resource $root2, string $path2)bool svn_fs_copy16(resource $from_root, string $from_path, resource $to_root, string $to_path)bool svn_fs_delete16(resource $root, string $path)bool svn_fs_dir_entries16(resource $fsroot, string $path)array svn_fs_file_contents16(resource $fsroot, string $path)resource svn_fs_file_length16(resource $fsroot, string $path)int svn_fs_is_dir16(resource $root, string $path)bool svn_fs_is_file16(resource $root, string $path)bool svn_fs_make_dir16(resource $root, string $path)bool svn_fs_make_file16(resource $root, string $path)bool svn_fs_node_created_rev16(resource $fsroot, string $path)int svn_fs_node_prop16(resource $fsroot, string $path, string $propname)string svn_fs_props_changed16(resource $root1, string $path1, resource $root2, string $path2)bool svn_fs_revision_prop16(resource $fs, int $revnum, string $propname)string svn_fs_revision_root16(resource $fs, int $revnum)resource svn_fs_txn_root16(resource $txn)resource svn_fs_youngest_rev16(resource $fs)int svn_import16(string $path, string $url, bool $nonrecursive)bool svn_log16(string $repos_url [, int $start_revision = '' [, int $end_revision = '' [, int $limit = '' [, int $flags = SVN_DISCOVER_CHANGED_PATHS | SVN_STOP_ON_COPY]]]])array svn_ls16(string $repos_url [, int $revision_no = SVN_REVISION_HEAD [, bool $recurse = false [, bool $peg = false]]])array svn_mkdir16(string $path [, string $log_message = ''])bool svn_repos_create16(string $path [, array $config = '' [, array $fsconfig = '']])resource svn_repos_fs16(resource $repos)resource svn_repos_fs_begin_txn_for_commit16(resource $repos, int $rev, string $author, string $log_msg)resource svn_repos_fs_commit_txn16(resource $txn)int svn_repos_hotcopy16(string $repospath, string $destpath, bool $cleanlogs)bool svn_repos_open16(string $path)resource svn_repos_recover16(string $path)bool svn_revert16(string $path [, bool $recursive = false])bool svn_status16(string $path [, int $flags = ''])array svn_update16(string $path [, int $revno = SVN_REVISION_HEAD [, bool $recurse = true]])int sweep128()voidEvEmbed swirlImage128(float $degrees)boolImagick swirlimage128(float $degrees)GmagickGmagick switchSlave128()stringMongo sybase_affected_rows16([resource $link_identifier = ''])int sybase_close16([resource $link_identifier = ''])bool sybase_connect16([string $servername = '' [, string $username = '' [, string $password = '' [, string $charset = '' [, string $appname = '' [, bool $new = false]]]]]])resource sybase_data_seek16(resource $result_identifier, int $row_number)bool sybase_deadlock_retry_count16(int $retry_count)void sybase_fetch_array16(resource $result)array sybase_fetch_assoc16(resource $result)array sybase_fetch_field16(resource $result [, int $field_offset = -1])object sybase_fetch_object16(resource $result [, mixed $object = ''])object sybase_fetch_row16(resource $result)array sybase_field_seek16(resource $result, int $field_offset)bool sybase_free_result16(resource $result)bool sybase_get_last_message16()string sybase_min_client_severity16(int $severity)void sybase_min_error_severity16(int $severity)void sybase_min_message_severity16(int $severity)void sybase_min_server_severity16(int $severity)void sybase_num_fields16(resource $result)int sybase_num_rows16(resource $result)int sybase_pconnect16([string $servername = '' [, string $username = '' [, string $password = '' [, string $charset = '' [, string $appname = '']]]]])resource sybase_query16(string $query [, resource $link_identifier = ''])mixed sybase_result16(resource $result, int $row, mixed $field)string sybase_select_db16(string $database_name [, resource $link_identifier = ''])bool sybase_set_message_handler16(callable $handler [, resource $link_identifier = ''])bool sybase_unbuffered_query16(string $query, resource $link_identifier [, bool $store_result = ''])resource symlink16(string $target, string $link)bool sync128()mixedTokyoTyrant syncIterator128()boolImagickPixelIterator synchronized128(Closure $block [, mixed $... = ''])mixedThreaded sys_get_temp_dir16()string sys_getloadavg16()array syslog16(int $priority, string $message)bool system16(string $command [, int $return_var = ''])string system128()voidSolrClient tailable128([bool $tail = true])MongoCursorMongoCursor taint16(string $string [, string $... = ''])bool tan16(float $arg)float tanh16(float $arg)float taskDenominator128()intGearmanTask taskNumerator128()intGearmanTask tcpwrap_check16(string $daemon, string $address [, string $user = '' [, bool $nodns = false]])bool tell128()intOCI-Lob tempnam16(string $dir, string $prefix)string text128(string $content, resource $xmlwriter)boolXMLWriter textExtents128(string $text, CairoContext $context)arrayCairoContext textExtents128(string $text, CairoContext $context)arrayCairoScaledFont textOut128(float $x, float $y, string $text)boolHaruPage textPath128(string $string, CairoContext $context, string $text)voidCairoContext textRect128(float $left, float $top, float $right, float $bottom, string $text [, int $align = HaruPage::TALIGN_LEFT])boolHaruPage textdomain16(string $text_domain)string textureImage128(Imagick $texture_wand)boolImagick thread_id128(resource $link)intmaxdb thread_safe128()boolmysqli threads128()voidSolrClient thresholdImage128(float $threshold [, int $channel = Imagick::CHANNEL_ALL])boolImagick throwException128([bool $flag = ''])Yaf_DispatcherYaf_Dispatcher thumbnailImage128(int $columns, int $rows [, bool $bestfit = false [, bool $fill = false]])boolImagick thumbnailimage128(int $width, int $height [, bool $fit = false])GmagickGmagick tidy1([string $filename = '' [, mixed $config = '' [, string $encoding = '' [, bool $use_include_path = '']]]]) tidy_access_count16(tidy $object)int tidy_clean_repair16(tidy $object)bool tidy_config_count16(tidy $object)int tidy_diagnose16(tidy $object)bool tidy_error_count16(tidy $object)int tidy_get_body16(tidy $object)tidyNode tidy_get_config16(tidy $object)array tidy_get_head16(tidy $object)tidyNode tidy_get_html16(tidy $object)tidyNode tidy_get_html_ver16(tidy $object)int tidy_get_opt_doc16(string $optname, tidy $object)string tidy_get_output16(tidy $object)string tidy_get_release16()string tidy_get_root16(tidy $object)tidyNode tidy_get_status16(tidy $object)int tidy_getopt16(string $option, tidy $object)mixed tidy_is_xhtml16(tidy $object)bool tidy_is_xml16(tidy $object)bool tidy_load_config16(string $filename, string $encoding)void tidy_parse_file16(string $filename [, mixed $config = '' [, string $encoding = '' [, bool $use_include_path = false]]])tidy tidy_parse_string16(string $input [, mixed $config = '' [, string $encoding = '']])tidy tidy_repair_file16(string $filename [, mixed $config = '' [, string $encoding = '' [, bool $use_include_path = false]]])string tidy_repair_string16(string $data [, mixed $config = '' [, string $encoding = '']])string tidy_reset_config16()bool tidy_save_config16(string $filename)bool tidy_set_encoding16(string $encoding)bool tidy_setopt16(string $option, mixed $value)bool tidy_warning_count16(tidy $object)int time16()int time128()doubleEv time_nanosleep16(int $seconds, int $nanoseconds)mixed time_sleep_until16(float $timestamp)bool timeout128(int $ms)MongoCommandCursorMongoCommandCursor timeout128(int $ms)MongoCursorMongoCursor timeout128(int $ms)MongoCursorInterfaceMongoCursorInterface timeout128()intGearmanClient timeout128()intGearmanWorker timer128(double $after, double $repeat, callable $callback [, mixed $data = '' [, int $priority = '']])EvTimerEvLoop timer128(EventBase $base, callable $cb [, mixed $arg = ''])EventEvent timestampNonceHandler128(callable $callback_function)voidOAuthProvider timezone_abbreviations_list16() timezone_identifiers_list16() timezone_location_get16() timezone_name_from_abbr16(string $abbr [, int $gmtOffset = -1 [, int $isdst = -1]])string timezone_name_get16() timezone_offset_get16() timezone_open16() timezone_transitions_get16() timezone_version_get16()string tintImage128(mixed $tint, mixed $opacity)boolImagick title128(array $parameter)stringhw_api_object tmpfile16()resource toArray128()arrayMongoDB::Driver::Cursor toArray128()arraySolrDocument toArray128()arraySolrInputDocument toArray128()arraySplFixedArray toArray128()arrayYaf_Config_Abstract toArray128()arrayYaf_Config_Ini toArray128()arrayYaf_Config_Simple toDateTime128()DateTimeMongoDB::BSON::UTCDateTime toDateTime128()DateTimeMongoDate toDateTime128(IntlCalendar $cal)DateTimeIntlCalendar toDateTimeZone128()DateTimeZoneIntlTimeZone toIndexString128(mixed $keys)stringMongoCollection toJSON128(string $bson)stringMongoDB::BSON toPHP128(string $bson [, array $typeMap = array()])array|objectMongoDB::BSON toString128([bool $url_encode = false])stringSolrParams toUCallback128(integer $reason, string $source, string $codeUnits, integer $error)mixedUConverter tokenHandler128(callable $callback_function)voidOAuthProvider token_get_all16(string $source [, int $flags = ''])array token_name16(int $token)string tolower128(mixed $codepoint)mixedIntlChar top128()mixedSplDoublyLinkedList top128()mixedSplHeap top128()mixedSplPriorityQueue totitle128(mixed $codepoint)mixedIntlChar touch16(string $filename [, int $time = time() [, int $atime = '']])bool touch128(string $key, int $expiration)boolMemcached touchByKey128(string $server_key, string $key, int $expiration)boolMemcached toupper128(mixed $codepoint)mixedIntlChar trader_acos16(array $real)array trader_ad16(array $high, array $low, array $close, array $volume)array trader_add16(array $real0, array $real1)array trader_adosc16(array $high, array $low, array $close, array $volume [, integer $fastPeriod = '' [, integer $slowPeriod = '']])array trader_adx16(array $high, array $low, array $close [, integer $timePeriod = ''])array trader_adxr16(array $high, array $low, array $close [, integer $timePeriod = ''])array trader_apo16(array $real [, integer $fastPeriod = '' [, integer $slowPeriod = '' [, integer $mAType = '']]])array trader_aroon16(array $high, array $low [, integer $timePeriod = ''])array trader_aroonosc16(array $high, array $low [, integer $timePeriod = ''])array trader_asin16(array $real)array trader_atan16(array $real)array trader_atr16(array $high, array $low, array $close [, integer $timePeriod = ''])array trader_avgprice16(array $open, array $high, array $low, array $close)array trader_bbands16(array $real [, integer $timePeriod = '' [, float $nbDevUp = '' [, float $nbDevDn = '' [, integer $mAType = '']]]])array trader_beta16(array $real0, array $real1 [, integer $timePeriod = ''])array trader_bop16(array $open, array $high, array $low, array $close)array trader_cci16(array $high, array $low, array $close [, integer $timePeriod = ''])array trader_cdl2crows16(array $open, array $high, array $low, array $close)array trader_cdl3blackcrows16(array $open, array $high, array $low, array $close)array trader_cdl3inside16(array $open, array $high, array $low, array $close)array trader_cdl3linestrike16(array $open, array $high, array $low, array $close)array trader_cdl3outside16(array $open, array $high, array $low, array $close)array trader_cdl3starsinsouth16(array $open, array $high, array $low, array $close)array trader_cdl3whitesoldiers16(array $open, array $high, array $low, array $close)array trader_cdlabandonedbaby16(array $open, array $high, array $low, array $close [, float $penetration = ''])array trader_cdladvanceblock16(array $open, array $high, array $low, array $close)array trader_cdlbelthold16(array $open, array $high, array $low, array $close)array trader_cdlbreakaway16(array $open, array $high, array $low, array $close)array trader_cdlclosingmarubozu16(array $open, array $high, array $low, array $close)array trader_cdlconcealbabyswall16(array $open, array $high, array $low, array $close)array trader_cdlcounterattack16(array $open, array $high, array $low, array $close)array trader_cdldarkcloudcover16(array $open, array $high, array $low, array $close [, float $penetration = ''])array trader_cdldoji16(array $open, array $high, array $low, array $close)array trader_cdldojistar16(array $open, array $high, array $low, array $close)array trader_cdldragonflydoji16(array $open, array $high, array $low, array $close)array trader_cdlengulfing16(array $open, array $high, array $low, array $close)array trader_cdleveningdojistar16(array $open, array $high, array $low, array $close [, float $penetration = ''])array trader_cdleveningstar16(array $open, array $high, array $low, array $close [, float $penetration = ''])array trader_cdlgapsidesidewhite16(array $open, array $high, array $low, array $close)array trader_cdlgravestonedoji16(array $open, array $high, array $low, array $close)array trader_cdlhammer16(array $open, array $high, array $low, array $close)array trader_cdlhangingman16(array $open, array $high, array $low, array $close)array trader_cdlharami16(array $open, array $high, array $low, array $close)array trader_cdlharamicross16(array $open, array $high, array $low, array $close)array trader_cdlhighwave16(array $open, array $high, array $low, array $close)array trader_cdlhikkake16(array $open, array $high, array $low, array $close)array trader_cdlhikkakemod16(array $open, array $high, array $low, array $close)array trader_cdlhomingpigeon16(array $open, array $high, array $low, array $close)array trader_cdlidentical3crows16(array $open, array $high, array $low, array $close)array trader_cdlinneck16(array $open, array $high, array $low, array $close)array trader_cdlinvertedhammer16(array $open, array $high, array $low, array $close)array trader_cdlkicking16(array $open, array $high, array $low, array $close)array trader_cdlkickingbylength16(array $open, array $high, array $low, array $close)array trader_cdlladderbottom16(array $open, array $high, array $low, array $close)array trader_cdllongleggeddoji16(array $open, array $high, array $low, array $close)array trader_cdllongline16(array $open, array $high, array $low, array $close)array trader_cdlmarubozu16(array $open, array $high, array $low, array $close)array trader_cdlmatchinglow16(array $open, array $high, array $low, array $close)array trader_cdlmathold16(array $open, array $high, array $low, array $close [, float $penetration = ''])array trader_cdlmorningdojistar16(array $open, array $high, array $low, array $close [, float $penetration = ''])array trader_cdlmorningstar16(array $open, array $high, array $low, array $close [, float $penetration = ''])array trader_cdlonneck16(array $open, array $high, array $low, array $close)array trader_cdlpiercing16(array $open, array $high, array $low, array $close)array trader_cdlrickshawman16(array $open, array $high, array $low, array $close)array trader_cdlrisefall3methods16(array $open, array $high, array $low, array $close)array trader_cdlseparatinglines16(array $open, array $high, array $low, array $close)array trader_cdlshootingstar16(array $open, array $high, array $low, array $close)array trader_cdlshortline16(array $open, array $high, array $low, array $close)array trader_cdlspinningtop16(array $open, array $high, array $low, array $close)array trader_cdlstalledpattern16(array $open, array $high, array $low, array $close)array trader_cdlsticksandwich16(array $open, array $high, array $low, array $close)array trader_cdltakuri16(array $open, array $high, array $low, array $close)array trader_cdltasukigap16(array $open, array $high, array $low, array $close)array trader_cdlthrusting16(array $open, array $high, array $low, array $close)array trader_cdltristar16(array $open, array $high, array $low, array $close)array trader_cdlunique3river16(array $open, array $high, array $low, array $close)array trader_cdlupsidegap2crows16(array $open, array $high, array $low, array $close)array trader_cdlxsidegap3methods16(array $open, array $high, array $low, array $close)array trader_ceil16(array $real)array trader_cmo16(array $real [, integer $timePeriod = ''])array trader_correl16(array $real0, array $real1 [, integer $timePeriod = ''])array trader_cos16(array $real)array trader_cosh16(array $real)array trader_dema16(array $real [, integer $timePeriod = ''])array trader_div16(array $real0, array $real1)array trader_dx16(array $high, array $low, array $close [, integer $timePeriod = ''])array trader_ema16(array $real [, integer $timePeriod = ''])array trader_errno16()integer trader_exp16(array $real)array trader_floor16(array $real)array trader_get_compat16()integer trader_get_unstable_period16(integer $functionId)integer trader_ht_dcperiod16(array $real)array trader_ht_dcphase16(array $real)array trader_ht_phasor16(array $real)array trader_ht_sine16(array $real)array trader_ht_trendline16(array $real)array trader_ht_trendmode16(array $real)array trader_kama16(array $real [, integer $timePeriod = ''])array trader_linearreg16(array $real [, integer $timePeriod = ''])array trader_linearreg_angle16(array $real [, integer $timePeriod = ''])array trader_linearreg_intercept16(array $real [, integer $timePeriod = ''])array trader_linearreg_slope16(array $real [, integer $timePeriod = ''])array trader_ln16(array $real)array trader_log1016(array $real)array trader_ma16(array $real [, integer $timePeriod = '' [, integer $mAType = '']])array trader_macd16(array $real [, integer $fastPeriod = '' [, integer $slowPeriod = '' [, integer $signalPeriod = '']]])array trader_macdext16(array $real [, integer $fastPeriod = '' [, integer $fastMAType = '' [, integer $slowPeriod = '' [, integer $slowMAType = '' [, integer $signalPeriod = '' [, integer $signalMAType = '']]]]]])array trader_macdfix16(array $real [, integer $signalPeriod = ''])array trader_mama16(array $real [, float $fastLimit = '' [, float $slowLimit = '']])array trader_mavp16(array $real, array $periods [, integer $minPeriod = '' [, integer $maxPeriod = '' [, integer $mAType = '']]])array trader_max16(array $real [, integer $timePeriod = ''])array trader_maxindex16(array $real [, integer $timePeriod = ''])array trader_medprice16(array $high, array $low)array trader_mfi16(array $high, array $low, array $close, array $volume [, integer $timePeriod = ''])array trader_midpoint16(array $real [, integer $timePeriod = ''])array trader_midprice16(array $high, array $low [, integer $timePeriod = ''])array trader_min16(array $real [, integer $timePeriod = ''])array trader_minindex16(array $real [, integer $timePeriod = ''])array trader_minmax16(array $real [, integer $timePeriod = ''])array trader_minmaxindex16(array $real [, integer $timePeriod = ''])array trader_minus_di16(array $high, array $low, array $close [, integer $timePeriod = ''])array trader_minus_dm16(array $high, array $low [, integer $timePeriod = ''])array trader_mom16(array $real [, integer $timePeriod = ''])array trader_mult16(array $real0, array $real1)array trader_natr16(array $high, array $low, array $close [, integer $timePeriod = ''])array trader_obv16(array $real, array $volume)array trader_plus_di16(array $high, array $low, array $close [, integer $timePeriod = ''])array trader_plus_dm16(array $high, array $low [, integer $timePeriod = ''])array trader_ppo16(array $real [, integer $fastPeriod = '' [, integer $slowPeriod = '' [, integer $mAType = '']]])array trader_roc16(array $real [, integer $timePeriod = ''])array trader_rocp16(array $real [, integer $timePeriod = ''])array trader_rocr16(array $real [, integer $timePeriod = ''])array trader_rocr10016(array $real [, integer $timePeriod = ''])array trader_rsi16(array $real [, integer $timePeriod = ''])array trader_sar16(array $high, array $low [, float $acceleration = '' [, float $maximum = '']])array trader_sarext16(array $high, array $low [, float $startValue = '' [, float $offsetOnReverse = '' [, float $accelerationInitLong = '' [, float $accelerationLong = '' [, float $accelerationMaxLong = '' [, float $accelerationInitShort = '' [, float $accelerationShort = '' [, float $accelerationMaxShort = '']]]]]]]])array trader_set_compat16(integer $compatId)void trader_set_unstable_period16(integer $functionId, integer $timePeriod)void trader_sin16(array $real)array trader_sinh16(array $real)array trader_sma16(array $real [, integer $timePeriod = ''])array trader_sqrt16(array $real)array trader_stddev16(array $real [, integer $timePeriod = '' [, float $nbDev = '']])array trader_stoch16(array $high, array $low, array $close [, integer $fastK_Period = '' [, integer $slowK_Period = '' [, integer $slowK_MAType = '' [, integer $slowD_Period = '' [, integer $slowD_MAType = '']]]]])array trader_stochf16(array $high, array $low, array $close [, integer $fastK_Period = '' [, integer $fastD_Period = '' [, integer $fastD_MAType = '']]])array trader_stochrsi16(array $real [, integer $timePeriod = '' [, integer $fastK_Period = '' [, integer $fastD_Period = '' [, integer $fastD_MAType = '']]]])array trader_sub16(array $real0, array $real1)array trader_sum16(array $real [, integer $timePeriod = ''])array trader_t316(array $real [, integer $timePeriod = '' [, float $vFactor = '']])array trader_tan16(array $real)array trader_tanh16(array $real)array trader_tema16(array $real [, integer $timePeriod = ''])array trader_trange16(array $high, array $low, array $close)array trader_trima16(array $real [, integer $timePeriod = ''])array trader_trix16(array $real [, integer $timePeriod = ''])array trader_tsf16(array $real [, integer $timePeriod = ''])array trader_typprice16(array $high, array $low, array $close)array trader_ultosc16(array $high, array $low, array $close [, integer $timePeriod1 = '' [, integer $timePeriod2 = '' [, integer $timePeriod3 = '']]])array trader_var16(array $real [, integer $timePeriod = '' [, float $nbDev = '']])array trader_wclprice16(array $high, array $low, array $close)array trader_willr16(array $high, array $low, array $close [, integer $timePeriod = ''])array trader_wma16(array $real [, integer $timePeriod = ''])array train128(array $problem [, array $weights = ''])SVMModelSVM trait_exists16(string $traitname [, bool $autoload = ''])bool transcode128(string $str, string $toEncoding, string $fromEncoding [, array $options = ''])stringUConverter transform128(CairoMatrix $matrix, CairoContext $context)voidCairoContext transformDistance128(string $dx, string $dy)arrayCairoMatrix transformImage128(string $crop, string $geometry)ImagickImagick transformImageColorspace128(int $colorspace)boolImagick transformPoint128(string $dx, string $dy)arrayCairoMatrix transformToDoc128(DOMNode $doc)DOMDocumentXSLTProcessor transformToUri128(DOMDocument $doc, string $uri)intXSLTProcessor transformToXML128(object $doc)stringXSLTProcessor translate128(float $x, float $y)boolImagickDraw translate128(string $tx, string $ty, CairoContext $context, string $x, string $y)voidCairoMatrix translate128(string $x, string $y, CairoContext $context)voidCairoContext transliterate128(string $subject [, int $start = '' [, int $end = '', mixed $transliterator]])stringTransliterator transliterator_create16(string $id [, int $direction = ''])Transliterator transliterator_create_from_rules16(string $rules [, int $direction = '', string $id])Transliterator transliterator_create_inverse16()Transliterator transliterator_get_error_code16()int transliterator_get_error_message16()string transliterator_list_ids16()array transliterator_transliterate16(string $subject [, int $start = '' [, int $end = '', mixed $transliterator]])string transparentPaintImage128(mixed $target, float $alpha, float $fuzz, bool $invert)boolImagick transposeImage128()boolImagick transverseImage128()boolImagick trigger_error16(string $error_msg [, int $error_type = E_USER_NOTICE])bool trim16(string $str [, string $character_mask = " \t\n\r\0\x0B"])string trim128(int $num)boolOCI-Collection trimImage128(float $fuzz)boolImagick trimimage128(float $fuzz)GmagickGmagick truncate128([int $length = ''])boolOCI-Lob trylock128(long $mutex)booleanMutex tune128(float $timeout [, int $options = TokyoTyrant::RDBT_RECON])TokyoTyrantTokyoTyrant txCommit128(mysqlnd_connection $connection)boolMysqlndUhConnection txRollback128(mysqlnd_connection $connection)boolMysqlndUhConnection type128()HW_API_Reasonhw_api_reason uasort16(array $array, callable $value_compare_func)bool uasort128(callable $cmp_function)voidArrayObject uasort128(string $cmp_function)voidArrayIterator ucfirst16(string $str)string ucwords16(string $str [, string $delimiters = " \t\r\n\f\v"])string udm_add_search_limit16(resource $agent, int $var, string $val)bool udm_alloc_agent16(string $dbaddr [, string $dbmode = ''])resource udm_alloc_agent_array16(array $databases)resource udm_api_version16()int udm_cat_list16(resource $agent, string $category)array udm_cat_path16(resource $agent, string $category)array udm_check_charset16(resource $agent, string $charset)bool udm_clear_search_limits16(resource $agent)bool udm_crc3216(resource $agent, string $str)int udm_errno16(resource $agent)int udm_error16(resource $agent)string udm_find16(resource $agent, string $query)resource udm_free_agent16(resource $agent)int udm_free_ispell_data16(int $agent)bool udm_free_res16(resource $res)bool udm_get_doc_count16(resource $agent)int udm_get_res_field16(resource $res, int $row, int $field)string udm_get_res_param16(resource $res, int $param)string udm_hash3216(resource $agent, string $str)int udm_load_ispell_data16(resource $agent, int $var, string $val1, string $val2, int $flag)bool udm_set_agent_param16(resource $agent, int $var, string $val)bool uksort16(array $array, callable $key_compare_func)bool uksort128(callable $cmp_function)voidArrayObject uksort128(string $cmp_function)voidArrayIterator umask16([int $mask = ''])int unbind128(string $dsn)ZMQSocketZMQSocket unbufferedQuery128(resource $dbhandle, string $query [, int $result_type = SQLITE_BOTH [, string $error_msg = '']])SQLiteUnbufferedSQLiteDatabase unchangeAll128()boolZipArchive unchangeArchive128()boolZipArchive unchangeIndex128(int $index)boolZipArchive unchangeName128(string $name)boolZipArchive uncompressAllFiles128()boolPhar unfreeze128(bool $at_front)boolEventBuffer uniqid16([string $prefix = "" [, bool $more_entropy = false]])string unique128()stringGearmanJob unique128()stringGearmanTask uniqueImageColors128()boolImagick unixtojd16([int $timestamp = time()])int unlink16(string $filename [, resource $context = ''])bool unlink128(string $path)boolstreamWrapper unlinkArchive128(string $archive)boolPhar unlock128()boolEventBuffer unlock128([bool $all = ''])boolSyncMutex unlock128([integer $prevcount = ''])boolSyncSemaphore unlock128(array $parameter)boolhw_api unlock128()booleanThreaded unlock128(long $mutex [, boolean $destroy = ''])booleanMutex unpack16(string $format, string $data)array unregister128(string $function_name)boolGearmanWorker unregisterAll128()boolGearmanWorker unregister_tick_function16(string $function_name)void unserialize16(string $str [, array $options = ''])mixed unserialize128(string $serialized)stringArrayIterator unserialize128(string $serialized)voidArrayObject unserialize128(string $serialized)voidSolrDocument unserialize128(string $serialized)voidSolrParams unserialize128(string $serialized)voidSplDoublyLinkedList unserialize128(string $serialized)voidSplObjectStorage unset16(mixed $var [, mixed $... = ''])void unsharpMaskImage128(float $radius, float $sigma, float $amount, float $threshold [, int $channel = Imagick::CHANNEL_ALL])boolImagick unshift128(mixed $value)voidSplDoublyLinkedList unstack128([Threaded $work = ''])integerWorker unsubscribe128(string $destination [, array $headers = '', resource $link])boolStomp unsubscribe128(string $subscriptionId [, string $targetTopic = ''])boolSAMConnection untaint16(string $string [, string $... = ''])bool uopz_backup16(string $class, string $function)void uopz_compose16(string $name, array $classes [, array $methods = '' [, array $properties = '' [, int $flags = '']]])void uopz_copy16(string $class, string $function)Closure uopz_delete16(string $class, string $function)void uopz_extend16(string $class, string $parent)void uopz_flags16(string $class, string $function, int $flags)int uopz_function16(string $class, string $function, Closure $handler [, int $modifiers = ''])void uopz_implement16(string $class, string $interface)void uopz_overload16(int $opcode, Callable $callable)void uopz_redefine16(string $class, string $constant, mixed $value)void uopz_rename16(string $class, string $function, string $rename)void uopz_restore16(string $class, string $function)void uopz_undefine16(string $class, string $constant)void update128(array $values [, string $time = time()])boolRRDUpdater update128(int $key, int $value)boolQuickHashIntHash update128(int $key, string $value)boolQuickHashIntStringHash update128(string $key, int $value)boolQuickHashStringIntHash update128(array $criteria, array $new_object [, array $options = array()])bool|arrayMongoCollection update128(SplSubject $subject)voidSplObserver update128(array|object $filter, array|object $newObj [, array $updateOptions = ''])voidMongoDB::Driver::BulkWrite updateAttributes128(string $index, array $attributes, array $values [, bool $mva = false])intSphinxClient url_stat128(string $path, int $flags)arraystreamWrapper urldecode16(string $str)string urlencode16(string $str)string useCNSEncodings128()boolHaruDoc useCNSFonts128()boolHaruDoc useCNTEncodings128()boolHaruDoc useCNTFonts128()boolHaruDoc useDaylightTime128()boolIntlTimeZone useDisMaxQueryParser128()SolrDisMaxQuerySolrDisMaxQuery useEDisMaxQueryParser128()SolrDisMaxQuerySolrDisMaxQuery useJPEncodings128()boolHaruDoc useJPFonts128()boolHaruDoc useKREncodings128()boolHaruDoc useKRFonts128()boolHaruDoc useResult128(mysqlnd_connection $connection)resourceMysqlndUhConnection use_result128(mysqli $link)mysqli_resultmysqli use_result128(resource $link)resourcemaxdb use_soap_error_handler16([bool $handler = true])bool user128(array $parameter)hw_api_objecthw_api userToDevice128(string $x, string $y, CairoContext $context)arrayCairoContext userToDeviceDistance128(string $x, string $y, CairoContext $context)arrayCairoContext user_error16() userlist128(array $parameter)arrayhw_api usleep16(int $micro_seconds)void usort16(array $array, callable $value_compare_func)bool utf8_decode16(string $data)string utf8_encode16(string $data)string uuid128()stringGearmanTask valid128()ReturnTypeIntlIterator valid128()arrayArrayIterator valid128()boolAppendIterator valid128()boolDirectoryIterator valid128()boolEmptyIterator valid128()boolFilterIterator valid128()boolImagick valid128()boolIteratorIterator valid128()boolLimitIterator valid128()boolMongoCommandCursor valid128()boolMongoCursor valid128()boolMultipleIterator valid128()boolNoRewindIterator valid128()boolRecursiveIteratorIterator valid128()boolRecursiveTreeIterator valid128()boolSimpleXMLIterator valid128()boolSolrDocument valid128()boolSplDoublyLinkedList valid128()boolSplFileObject valid128()boolSplFixedArray valid128()boolSplHeap valid128()boolSplObjectStorage valid128()boolSplPriorityQueue valid128()boolTokyoTyrantIterator valid128()boolTokyoTyrantQuery valid128()boolWeakMap valid128()boolWeakref valid128(resource $result)boolSQLiteResult valid128(resource $result)boolSQLiteUnbuffered valid128()voidAPCIterator valid128()voidAPCUIterator valid128()voidCachingIterator valid128()voidYaf_Config_Ini valid128()voidYaf_Config_Simple valid128()voidYaf_Session validate128([bool $scan_data = ''])arrayMongoCollection validate128()boolDOMDocument value128()stringhw_api_attribute value128(string $name)stringhw_api_object values128()arrayhw_api_attribute vanish128()mixedTokyoTyrant var_dump16(mixed $expression [, mixed $... = ''])string var_export16(mixed $expression [, bool $return = false])mixed variant_abs16(mixed $val)mixed variant_add16(mixed $left, mixed $right)mixed variant_and16(mixed $left, mixed $right)mixed variant_cast16(variant $variant, int $type)variant variant_cat16(mixed $left, mixed $right)mixed variant_cmp16(mixed $left, mixed $right [, int $lcid = '' [, int $flags = '']])int variant_date_from_timestamp16(int $timestamp)variant variant_date_to_timestamp16(variant $variant)int variant_div16(mixed $left, mixed $right)mixed variant_eqv16(mixed $left, mixed $right)mixed variant_fix16(mixed $variant)mixed variant_get_type16(variant $variant)int variant_idiv16(mixed $left, mixed $right)mixed variant_imp16(mixed $left, mixed $right)mixed variant_int16(mixed $variant)mixed variant_mod16(mixed $left, mixed $right)mixed variant_mul16(mixed $left, mixed $right)mixed variant_neg16(mixed $variant)mixed variant_not16(mixed $variant)mixed variant_or16(mixed $left, mixed $right)mixed variant_pow16(mixed $left, mixed $right)mixed variant_round16(mixed $variant, int $decimals)mixed variant_set16(variant $variant, mixed $value)void variant_set_type16(variant $variant, int $type)void variant_sub16(mixed $left, mixed $right)mixed variant_xor16(mixed $left, mixed $right)mixed verify128()voidEv verify128()voidEvLoop version128()arraySQLite3 version128()intCairo versionString128()stringCairo versionToString128(int $version)stringCairoSvgSurface version_compare16(string $version1, string $version2 [, string $operator = ''])mixed vfprintf16(resource $handle, string $format, array $args)int vignetteImage128(float $blackPoint, float $whitePoint, int $x, int $y)boolImagick virtual16(string $filename)bool vpopmail_add_alias_domain16(string $domain, string $aliasdomain)bool vpopmail_add_alias_domain_ex16(string $olddomain, string $newdomain)bool vpopmail_add_domain16(string $domain, string $dir, int $uid, int $gid)bool vpopmail_add_domain_ex16(string $domain, string $passwd [, string $quota = '' [, string $bounce = '' [, bool $apop = '']]])bool vpopmail_add_user16(string $user, string $domain, string $password [, string $gecos = '' [, bool $apop = '']])bool vpopmail_alias_add16(string $user, string $domain, string $alias)bool vpopmail_alias_del16(string $user, string $domain)bool vpopmail_alias_del_domain16(string $domain)bool vpopmail_alias_get16(string $alias, string $domain)array vpopmail_alias_get_all16(string $domain)array vpopmail_auth_user16(string $user, string $domain, string $password [, string $apop = ''])bool vpopmail_del_domain16(string $domain)bool vpopmail_del_domain_ex16(string $domain)bool vpopmail_del_user16(string $user, string $domain)bool vpopmail_error16()string vpopmail_passwd16(string $user, string $domain, string $password [, bool $apop = ''])bool vpopmail_set_user_quota16(string $user, string $domain, string $quota)bool vprintf16(string $format, array $args)int vsprintf16(string $format, array $args)string wait128()boolGearmanWorker wait128([integer $wait = ''])boolSyncEvent wait128([integer $timeout = ''])booleanThreaded wait128(long $condition, long $mutex [, long $timeout = ''])booleanCond walk128(string $object_id [, bool $suffix_as_key = '' [, int $max_repetitions = '' [, int $non_repeaters = '']]])arraySNMP warning128(string $warning)boolGearmanJob warning_count128(resource $link)intmaxdb waveImage128(float $amplitude, float $length)boolImagick wddx_add_vars16(resource $packet_id, mixed $var_name [, mixed $... = ''])bool wddx_deserialize16(string $packet)mixed wddx_packet_end16(resource $packet_id)string wddx_packet_start16([string $comment = ''])resource wddx_serialize_value16(mixed $var [, string $comment = ''])string wddx_serialize_vars16(mixed $var_name [, mixed $... = ''])string webPhar128([string $alias = '' [, string $index = "index.php" [, string $f404 = '' [, array $mimetypes = '' [, callable $rewrites = '']]]]])voidPhar whiteThresholdImage128(mixed $threshold)boolImagick win32_continue_service16(string $servicename [, string $machine = ''])int win32_create_service16(array $details [, string $machine = ''])mixed win32_delete_service16(string $servicename [, string $machine = ''])mixed win32_get_last_control_message16()int win32_pause_service16(string $servicename [, string $machine = ''])int win32_ps_list_procs16()array win32_ps_stat_mem16()array win32_ps_stat_proc16([int $pid = ''])array win32_query_service_status16(string $servicename [, string $machine = ''])mixed win32_set_service_status16(int $status [, int $checkpoint = ''])bool win32_start_service16(string $servicename [, string $machine = ''])int win32_start_service_ctrl_dispatcher16(string $name)mixed win32_stop_service16(string $servicename [, string $machine = ''])int wincache_fcache_fileinfo16([bool $summaryonly = false])array wincache_fcache_meminfo16()array wincache_lock16(string $key [, bool $isglobal = false])bool wincache_ocache_fileinfo16([bool $summaryonly = false])array wincache_ocache_meminfo16()array wincache_refresh_if_changed16([array $files = null])bool wincache_rplist_fileinfo16([bool $summaryonly = false])array wincache_rplist_meminfo16()array wincache_scache_info16([bool $summaryonly = false])array wincache_scache_meminfo16()array wincache_ucache_add16(string $key, mixed $value [, int $ttl = '', array $values [, mixed $unused = null]])bool wincache_ucache_cas16(string $key, int $old_value, int $new_value)bool wincache_ucache_clear16()bool wincache_ucache_dec16(string $key [, int $dec_by = 1 [, bool $success = '']])mixed wincache_ucache_delete16(mixed $key)bool wincache_ucache_exists16(string $key)bool wincache_ucache_get16(mixed $key [, bool $success = ''])mixed wincache_ucache_inc16(string $key [, int $inc_by = 1 [, bool $success = '']])mixed wincache_ucache_info16([bool $summaryonly = false [, string $key = null]])array wincache_ucache_meminfo16()array wincache_ucache_set16(mixed $key, mixed $value [, int $ttl = '', array $values [, mixed $unused = null]])bool wincache_unlock16(string $key)bool wordwrap16(string $str [, int $width = 75 [, string $break = "\n" [, bool $cut = false]]])string work128()boolGearmanWorker workload128()stringGearmanJob workloadSize128()intGearmanJob write128(string $data)boolEventBufferEvent write128(string $session_id, string $session_data)boolSessionHandler write128(string $session_id, string $session_data)boolSessionHandlerInterface write128([string $filename = ''])intMongoGridFSFile write128(mixed $fd [, int $howmuch = ''])intEventBuffer write128(string $data [, int $length = ''])intOCI-Lob write128(string $filename)voidGmagick writeAttribute128(string $name, string $value, resource $xmlwriter)boolXMLWriter writeAttributeNS128(string $prefix, string $name, string $uri, string $content, resource $xmlwriter)boolXMLWriter writeBuffer128(EventBuffer $buf)boolEventBufferEvent writeCData128(string $content, resource $xmlwriter)boolXMLWriter writeComment128(string $content, resource $xmlwriter)boolXMLWriter writeDTD128(string $name [, string $publicId = '' [, string $systemId = '' [, string $subset = '', resource $xmlwriter]]])boolXMLWriter writeDTDAttlist128(string $name, string $content, resource $xmlwriter)boolXMLWriter writeDTDElement128(string $name, string $content, resource $xmlwriter)boolXMLWriter writeDTDEntity128(string $name, string $content, bool $pe, string $pubid, string $sysid, string $ndataid, resource $xmlwriter)boolXMLWriter writeElement128(string $name [, string $content = '', resource $xmlwriter])boolXMLWriter writeElementNS128(string $prefix, string $name, string $uri [, string $content = '', resource $xmlwriter])boolXMLWriter writeExports128()voidSWFMovie writeImage128([string $filename = null])boolImagick writeImageFile128(resource $filehandle)boolImagick writeImages128(string $filename, bool $adjoin)boolImagick writeImagesFile128(resource $filehandle)boolImagick writePI128(string $target, string $content, resource $xmlwriter)boolXMLWriter writeRaw128(string $content, resource $xmlwriter)boolXMLWriter writeTemporary128(string $data [, int $lob_type = OCI_TEMP_CLOB])boolOCI-Lob writeToFile128()OCI-Lob writeToPng128(string $file)voidCairoSurface writeimage128(string $filename [, bool $all_frames = false])GmagickGmagick writelock128([integer $wait = ''])boolSyncReaderWriter writeunlock128()boolSyncReaderWriter xattr_get16(string $filename, string $name [, int $flags = ''])string xattr_list16(string $filename [, int $flags = ''])array xattr_remove16(string $filename, string $name [, int $flags = ''])bool xattr_set16(string $filename, string $name, string $value [, int $flags = ''])bool xattr_supported16(string $filename [, int $flags = ''])bool xdiff_file_bdiff16(string $old_file, string $new_file, string $dest)bool xdiff_file_bdiff_size16(string $file)int xdiff_file_bpatch16(string $file, string $patch, string $dest)bool xdiff_file_diff16(string $old_file, string $new_file, string $dest [, int $context = 3 [, bool $minimal = false]])bool xdiff_file_diff_binary16(string $old_file, string $new_file, string $dest)bool xdiff_file_merge316(string $old_file, string $new_file1, string $new_file2, string $dest)mixed xdiff_file_patch16(string $file, string $patch, string $dest [, int $flags = DIFF_PATCH_NORMAL])mixed xdiff_file_patch_binary16(string $file, string $patch, string $dest)bool xdiff_file_rabdiff16(string $old_file, string $new_file, string $dest)bool xdiff_string_bdiff16(string $old_data, string $new_data)string xdiff_string_bdiff_size16(string $patch)int xdiff_string_bpatch16(string $str, string $patch)string xdiff_string_diff16(string $old_data, string $new_data [, int $context = 3 [, bool $minimal = false]])string xdiff_string_diff_binary16(string $old_data, string $new_data)string xdiff_string_merge316(string $old_data, string $new_data1, string $new_data2 [, string $error = ''])mixed xdiff_string_patch16(string $str, string $patch [, int $flags = '' [, string $error = '']])string xdiff_string_patch_binary16(string $str, string $patch)string xdiff_string_rabdiff16(string $old_data, string $new_data)string xhprof_disable16()array xhprof_enable16([int $flags = '' [, array $options = '']])void xhprof_sample_disable16()array xhprof_sample_enable16()void xinclude128([int $options = ''])intDOMDocument xml_error_string16(int $code)string xml_get_current_byte_index16(resource $parser)int xml_get_current_column_number16(resource $parser)int xml_get_current_line_number16(resource $parser)int xml_get_error_code16(resource $parser)int xml_parse16(resource $parser, string $data [, bool $is_final = false])int xml_parse_into_struct16(resource $parser, string $data, array $values [, array $index = ''])int xml_parser_create16([string $encoding = ''])resource xml_parser_create_ns16([string $encoding = '' [, string $separator = ":"]])resource xml_parser_free16(resource $parser)bool xml_parser_get_option16(resource $parser, int $option)mixed xml_parser_set_option16(resource $parser, int $option, mixed $value)bool xml_set_character_data_handler16(resource $parser, callable $handler)bool xml_set_default_handler16(resource $parser, callable $handler)bool xml_set_element_handler16(resource $parser, callable $start_element_handler, callable $end_element_handler)bool xml_set_end_namespace_decl_handler16(resource $parser, callable $handler)bool xml_set_external_entity_ref_handler16(resource $parser, callable $handler)bool xml_set_notation_decl_handler16(resource $parser, callable $handler)bool xml_set_object16(resource $parser, object $object)bool xml_set_processing_instruction_handler16(resource $parser, callable $handler)bool xml_set_start_namespace_decl_handler16(resource $parser, callable $handler)bool xml_set_unparsed_entity_decl_handler16(resource $parser, callable $handler)bool xmlrpc_decode16(string $xml [, string $encoding = "iso-8859-1"])mixed xmlrpc_decode_request16(string $xml, string $method [, string $encoding = ''])mixed xmlrpc_encode16(mixed $value)string xmlrpc_encode_request16(string $method, mixed $params [, array $output_options = ''])string xmlrpc_get_type16(mixed $value)string xmlrpc_is_fault16(array $arg)bool xmlrpc_parse_method_descriptions16(string $xml)array xmlrpc_server_add_introspection_data16(resource $server, array $desc)int xmlrpc_server_call_method16(resource $server, string $xml, mixed $user_data [, array $output_options = ''])string xmlrpc_server_create16()resource xmlrpc_server_destroy16(resource $server)int xmlrpc_server_register_introspection_callback16(resource $server, string $function)bool xmlrpc_server_register_method16(resource $server, string $method_name, string $function)bool xmlrpc_set_type16(string $value, string $type)bool xmlwriter_end_attribute16(resource $xmlwriter)bool xmlwriter_end_cdata16(resource $xmlwriter)bool xmlwriter_end_comment16(resource $xmlwriter)bool xmlwriter_end_document16(resource $xmlwriter)bool xmlwriter_end_dtd16(resource $xmlwriter)bool xmlwriter_end_dtd_attlist16(resource $xmlwriter)bool xmlwriter_end_dtd_element16(resource $xmlwriter)bool xmlwriter_end_dtd_entity16(resource $xmlwriter)bool xmlwriter_end_element16(resource $xmlwriter)bool xmlwriter_end_pi16(resource $xmlwriter)bool xmlwriter_flush16([bool $empty = true, resource $xmlwriter])mixed xmlwriter_full_end_element16(resource $xmlwriter)bool xmlwriter_open_memory16()resource xmlwriter_open_uri16(string $uri)resource xmlwriter_output_memory16([bool $flush = true, resource $xmlwriter])string xmlwriter_set_indent16(bool $indent, resource $xmlwriter)bool xmlwriter_set_indent_string16(string $indentString, resource $xmlwriter)bool xmlwriter_start_attribute16(string $name, resource $xmlwriter)bool xmlwriter_start_attribute_ns16(string $prefix, string $name, string $uri, resource $xmlwriter)bool xmlwriter_start_cdata16(resource $xmlwriter)bool xmlwriter_start_comment16(resource $xmlwriter)bool xmlwriter_start_document16([string $version = 1.0 [, string $encoding = '' [, string $standalone = '', resource $xmlwriter]]])bool xmlwriter_start_dtd16(string $qualifiedName [, string $publicId = '' [, string $systemId = '', resource $xmlwriter]])bool xmlwriter_start_dtd_attlist16(string $name, resource $xmlwriter)bool xmlwriter_start_dtd_element16(string $qualifiedName, resource $xmlwriter)bool xmlwriter_start_dtd_entity16(string $name, bool $isparam, resource $xmlwriter)bool xmlwriter_start_element16(string $name, resource $xmlwriter)bool xmlwriter_start_element_ns16(string $prefix, string $name, string $uri, resource $xmlwriter)bool xmlwriter_start_pi16(string $target, resource $xmlwriter)bool xmlwriter_text16(string $content, resource $xmlwriter)bool xmlwriter_write_attribute16(string $name, string $value, resource $xmlwriter)bool xmlwriter_write_attribute_ns16(string $prefix, string $name, string $uri, string $content, resource $xmlwriter)bool xmlwriter_write_cdata16(string $content, resource $xmlwriter)bool xmlwriter_write_comment16(string $content, resource $xmlwriter)bool xmlwriter_write_dtd16(string $name [, string $publicId = '' [, string $systemId = '' [, string $subset = '', resource $xmlwriter]]])bool xmlwriter_write_dtd_attlist16(string $name, string $content, resource $xmlwriter)bool xmlwriter_write_dtd_element16(string $name, string $content, resource $xmlwriter)bool xmlwriter_write_dtd_entity16(string $name, string $content, bool $pe, string $pubid, string $sysid, string $ndataid, resource $xmlwriter)bool xmlwriter_write_element16(string $name [, string $content = '', resource $xmlwriter])bool xmlwriter_write_element_ns16(string $prefix, string $name, string $uri [, string $content = '', resource $xmlwriter])bool xmlwriter_write_pi16(string $target, string $content, resource $xmlwriter)bool xmlwriter_write_raw16(string $content, resource $xmlwriter)bool xpath128(string $path)arraySimpleXMLElement yaml_emit16(mixed $data [, int $encoding = YAML_ANY_ENCODING [, int $linebreak = YAML_ANY_BREAK [, array $callbacks = '']]])string yaml_emit_file16(string $filename, mixed $data [, int $encoding = YAML_ANY_ENCODING [, int $linebreak = YAML_ANY_BREAK [, array $callbacks = '']]])bool yaml_parse16(string $input [, int $pos = '' [, int $ndocs = '' [, array $callbacks = '']]])mixed yaml_parse_file16(string $filename [, int $pos = '' [, int $ndocs = '' [, array $callbacks = '']]])mixed yaml_parse_url16(string $url [, int $pos = '' [, int $ndocs = '' [, array $callbacks = '']]])mixed yaz_addinfo16(resource $id)string yaz_ccl_conf16(resource $id, array $config)void yaz_ccl_parse16(resource $id, string $query, array $result)bool yaz_close16(resource $id)bool yaz_connect16(string $zurl [, mixed $options = ''])mixed yaz_database16(resource $id, string $databases)bool yaz_element16(resource $id, string $elementset)bool yaz_errno16(resource $id)int yaz_error16(resource $id)string yaz_es16(resource $id, string $type, array $args)void yaz_es_result16(resource $id)array yaz_get_option16(resource $id, string $name)string yaz_hits16(resource $id [, array $searchresult = ''])int yaz_itemorder16(resource $id, array $args)void yaz_present16(resource $id)bool yaz_range16(resource $id, int $start, int $number)void yaz_record16(resource $id, int $pos, string $type)string yaz_scan16(resource $id, string $type, string $startterm [, array $flags = ''])void yaz_scan_result16(resource $id [, array $result = ''])array yaz_schema16(resource $id, string $schema)void yaz_search16(resource $id, string $type, string $query)bool yaz_set_option16(resource $id, string $name, string $value, array $options)void yaz_sort16(resource $id, string $criteria)void yaz_syntax16(resource $id, string $syntax)void yaz_wait16([array $options = ''])mixed yp_all16(string $domain, string $map, string $callback)void yp_cat16(string $domain, string $map)array yp_err_string16(int $errorcode)string yp_errno16()int yp_first16(string $domain, string $map)array yp_get_default_domain16()string yp_master16(string $domain, string $map)string yp_match16(string $domain, string $map, string $key)string yp_next16(string $domain, string $map, string $key)array yp_order16(string $domain, string $map)int zend_logo_guid16()string zend_thread_id16()int zend_version16()string zip_close16(resource $zip)void zip_entry_close16(resource $zip_entry)bool zip_entry_compressedsize16(resource $zip_entry)int zip_entry_compressionmethod16(resource $zip_entry)string zip_entry_filesize16(resource $zip_entry)int zip_entry_name16(resource $zip_entry)string zip_entry_open16(resource $zip, resource $zip_entry [, string $mode = ''])bool zip_entry_read16(resource $zip_entry [, int $length = 1024])string zip_open16(string $filename)resource zip_read16(resource $zip)resource zlib_decode16(string $data [, string $max_decoded_len = ''])string zlib_encode16(string $data, string $encoding [, string $level = -1])string zlib_get_coding_type16()string geany-1.32/data/tags/std99.c.tags0000644000175000017500000016501613204251306013414 00000000000000# format=tagmanager AIO_PRIO_DELTA_MAX655360 ARG_MAX655360 BC_BASE_MAX655360 BC_DIM_MAX655360 BC_SCALE_MAX655360 BC_STRING_MAX655360 BIG_ENDIAN655360 BUFSIZ655360 BUS_ADRALN655360 BUS_ADRALN4anon_enum_260 BUS_ADRERR655360 BUS_ADRERR4anon_enum_260 BUS_OBJERR655360 BUS_OBJERR4anon_enum_260 BYTE_ORDER655360 CHARCLASS_NAME_MAX655360 CHAR_BIT655360 CHAR_MAX655360 CHAR_MIN655360 CLD_CONTINUED655360 CLD_CONTINUED4anon_enum_280 CLD_DUMPED655360 CLD_DUMPED4anon_enum_280 CLD_EXITED655360 CLD_EXITED4anon_enum_280 CLD_KILLED655360 CLD_KILLED4anon_enum_280 CLD_STOPPED655360 CLD_STOPPED4anon_enum_280 CLD_TRAPPED655360 CLD_TRAPPED4anon_enum_280 CLOCKS_PER_SEC655360 CLOCK_MONOTONIC655360 CLOCK_PROCESS_CPUTIME_ID655360 CLOCK_REALTIME655360 CLOCK_THREAD_CPUTIME_ID655360 COLL_WEIGHTS_MAX655360 DBL_DIG655360 DBL_EPSILON655360 DBL_MANT_DIG655360 DBL_MAX655360 DBL_MAX_10_EXP655360 DBL_MAX_EXP655360 DBL_MIN655360 DBL_MIN_10_EXP655360 DBL_MIN_EXP655360 DELAYTIMER_MAX655360 DOMAIN655360 E2BIG655360 EACCES655360 EADDRINUSE655360 EADDRNOTAVAIL655360 EADV655360 EAFNOSUPPORT655360 EAGAIN655360 EALREADY655360 EBADE655360 EBADF655360 EBADFD655360 EBADMSG655360 EBADR655360 EBADRQC655360 EBADSLT655360 EBFONT655360 EBUSY655360 ECANCELED655360 ECHILD655360 ECHRNG655360 ECOMM655360 ECONNABORTED655360 ECONNREFUSED655360 ECONNRESET655360 EDEADLK655360 EDEADLOCK655360 EDESTADDRREQ655360 EDOM655360 EDOTDOT655360 EDQUOT655360 EEXIST655360 EFAULT655360 EFBIG655360 EHOSTDOWN655360 EHOSTUNREACH655360 EIDRM655360 EILSEQ655360 EINPROGRESS655360 EINTR655360 EINVAL655360 EIO655360 EISCONN655360 EISDIR655360 EISNAM655360 EKEYEXPIRED655360 EKEYREJECTED655360 EKEYREVOKED655360 EL2HLT655360 EL2NSYNC655360 EL3HLT655360 EL3RST655360 ELIBACC655360 ELIBBAD655360 ELIBEXEC655360 ELIBMAX655360 ELIBSCN655360 ELNRNG655360 ELOOP655360 EMEDIUMTYPE655360 EMFILE655360 EMLINK655360 EMSGSIZE655360 EMULTIHOP655360 ENAMETOOLONG655360 ENAVAIL655360 ENETDOWN655360 ENETRESET655360 ENETUNREACH655360 ENFILE655360 ENOANO655360 ENOBUFS655360 ENOCSI655360 ENODATA655360 ENODEV655360 ENOENT655360 ENOEXEC655360 ENOKEY655360 ENOLCK655360 ENOLINK655360 ENOMEDIUM655360 ENOMEM655360 ENOMSG655360 ENONET655360 ENOPKG655360 ENOPROTOOPT655360 ENOSPC655360 ENOSR655360 ENOSTR655360 ENOSYS655360 ENOTBLK655360 ENOTCONN655360 ENOTDIR655360 ENOTEMPTY655360 ENOTNAM655360 ENOTRECOVERABLE655360 ENOTSOCK655360 ENOTSUP655360 ENOTTY655360 ENOTUNIQ655360 ENXIO655360 EOF655360 EOPNOTSUPP655360 EOVERFLOW655360 EOWNERDEAD655360 EPERM655360 EPFNOSUPPORT655360 EPIPE655360 EPROTO655360 EPROTONOSUPPORT655360 EPROTOTYPE655360 ERANGE655360 EREMCHG655360 EREMOTE655360 EREMOTEIO655360 ERESTART655360 EROFS655360 ESHUTDOWN655360 ESOCKTNOSUPPORT655360 ESPIPE655360 ESRCH655360 ESRMNT655360 ESTALE655360 ESTRPIPE655360 ETIME655360 ETIMEDOUT655360 ETOOMANYREFS655360 ETXTBSY655360 EUCLEAN655360 EUNATCH655360 EUSERS655360 EWOULDBLOCK655360 EXDEV655360 EXFULL655360 EXIT_FAILURE655360 EXIT_SUCCESS655360 EXPR_NEST_MAX655360 FD_CLR131072(fd,fdsetp)0 FD_ISSET131072(fd,fdsetp)0 FD_SET131072(fd,fdsetp)0 FD_SETSIZE655360 FD_ZERO131072(fdsetp)0 FE_ALL_EXCEPT655360 FE_DFL_ENV655360 FE_DIVBYZERO655360 FE_DIVBYZERO4anon_enum_40 FE_DOWNWARD655360 FE_DOWNWARD4anon_enum_50 FE_INEXACT655360 FE_INEXACT4anon_enum_40 FE_INVALID655360 FE_INVALID4anon_enum_40 FE_NOMASK_ENV655360 FE_OVERFLOW655360 FE_OVERFLOW4anon_enum_40 FE_TONEAREST655360 FE_TONEAREST4anon_enum_50 FE_TOWARDZERO655360 FE_TOWARDZERO4anon_enum_50 FE_UNDERFLOW655360 FE_UNDERFLOW4anon_enum_40 FE_UPWARD655360 FE_UPWARD4anon_enum_50 FILE40960_IO_FILE FILENAME_MAX655360 FLT_DIG655360 FLT_EPSILON655360 FLT_MANT_DIG655360 FLT_MAX655360 FLT_MAX_10_EXP655360 FLT_MAX_EXP655360 FLT_MIN655360 FLT_MIN_10_EXP655360 FLT_MIN_EXP655360 FLT_RADIX655360 FLT_ROUNDS655360 FOPEN_MAX655360 FPE_FLTDIV655360 FPE_FLTDIV4anon_enum_240 FPE_FLTINV655360 FPE_FLTINV4anon_enum_240 FPE_FLTOVF655360 FPE_FLTOVF4anon_enum_240 FPE_FLTRES655360 FPE_FLTRES4anon_enum_240 FPE_FLTSUB655360 FPE_FLTSUB4anon_enum_240 FPE_FLTUND655360 FPE_FLTUND4anon_enum_240 FPE_INTDIV655360 FPE_INTDIV4anon_enum_240 FPE_INTOVF655360 FPE_INTOVF4anon_enum_240 FP_ILOGB0655360 FP_ILOGBNAN655360 FP_INFINITE655360 FP_INFINITE4anon_enum_120 FP_NAN655360 FP_NAN4anon_enum_120 FP_NORMAL655360 FP_NORMAL4anon_enum_120 FP_SUBNORMAL655360 FP_SUBNORMAL4anon_enum_120 FP_ZERO655360 FP_ZERO4anon_enum_120 HOST_NAME_MAX655360 HUGE655360 HUGE_VAL655360 HUGE_VALF655360 HUGE_VALL655360 I655360 ILL_BADSTK655360 ILL_BADSTK4anon_enum_230 ILL_COPROC655360 ILL_COPROC4anon_enum_230 ILL_ILLADR655360 ILL_ILLADR4anon_enum_230 ILL_ILLOPC655360 ILL_ILLOPC4anon_enum_230 ILL_ILLOPN655360 ILL_ILLOPN4anon_enum_230 ILL_ILLTRP655360 ILL_ILLTRP4anon_enum_230 ILL_PRVOPC655360 ILL_PRVOPC4anon_enum_230 ILL_PRVREG655360 ILL_PRVREG4anon_enum_230 INFINITY655360 INT_MAX655360 INT_MIN655360 IOV_MAX655360 LC_ADDRESS655360 LC_ADDRESS_MASK655360 LC_ALL655360 LC_ALL_MASK655360 LC_COLLATE655360 LC_COLLATE_MASK655360 LC_CTYPE655360 LC_CTYPE_MASK655360 LC_GLOBAL_LOCALE655360 LC_IDENTIFICATION655360 LC_IDENTIFICATION_MASK655360 LC_MEASUREMENT655360 LC_MEASUREMENT_MASK655360 LC_MESSAGES655360 LC_MESSAGES_MASK655360 LC_MONETARY655360 LC_MONETARY_MASK655360 LC_NAME655360 LC_NAME_MASK655360 LC_NUMERIC655360 LC_NUMERIC_MASK655360 LC_PAPER655360 LC_PAPER_MASK655360 LC_TELEPHONE655360 LC_TELEPHONE_MASK655360 LC_TIME655360 LC_TIME_MASK655360 LDBL_DIG655360 LDBL_EPSILON655360 LDBL_MANT_DIG655360 LDBL_MAX655360 LDBL_MAX_10_EXP655360 LDBL_MAX_EXP655360 LDBL_MIN655360 LDBL_MIN_10_EXP655360 LDBL_MIN_EXP655360 LINE_MAX655360 LINK_MAX655360 LITTLE_ENDIAN655360 LLONG_MAX655360 LLONG_MIN655360 LOGIN_NAME_MAX655360 LONG_BIT655360 LONG_LONG_MAX655360 LONG_LONG_MIN655360 LONG_MAX655360 LONG_MIN655360 LT_OBJDIR655360 L_ctermid655360 L_cuserid655360 L_tmpnam655360 MATH_ERREXCEPT655360 MATH_ERRNO655360 MAX_CANON655360 MAX_INPUT655360 MB_CUR_MAX655360 MB_LEN_MAX655360 MINSIGSTKSZ655360 MQ_PRIO_MAX655360 M_1_PI655360 M_1_PIl655360 M_2_PI655360 M_2_PIl655360 M_2_SQRTPI655360 M_2_SQRTPIl655360 M_E655360 M_El655360 M_LN10655360 M_LN10l655360 M_LN2655360 M_LN2l655360 M_LOG10E655360 M_LOG10El655360 M_LOG2E655360 M_LOG2El655360 M_PI655360 M_PI_2655360 M_PI_2l655360 M_PI_4655360 M_PI_4l655360 M_PIl655360 M_SQRT1_2655360 M_SQRT1_2l655360 M_SQRT2655360 M_SQRT2l655360 NAME_MAX655360 NAN655360 NFDBITS655360 NGREG655360 NGROUPS_MAX655360 NL_ARGMAX655360 NL_LANGMAX655360 NL_MSGMAX655360 NL_NMAX655360 NL_SETMAX655360 NL_TEXTMAX655360 NR_OPEN655360 NSIG655360 NULL655360 NZERO655360 OPEN_MAX655360 OVERFLOW655360 PATH_MAX655360 PDP_ENDIAN655360 PIPE_BUF655360 PLOSS655360 POLL_ERR655360 POLL_ERR4anon_enum_290 POLL_HUP655360 POLL_HUP4anon_enum_290 POLL_IN655360 POLL_IN4anon_enum_290 POLL_MSG655360 POLL_MSG4anon_enum_290 POLL_OUT655360 POLL_OUT4anon_enum_290 POLL_PRI655360 POLL_PRI4anon_enum_290 PTHREAD_DESTRUCTOR_ITERATIONS655360 PTHREAD_KEYS_MAX655360 PTHREAD_STACK_MIN655360 PTHREAD_THREADS_MAX655360 P_tmpdir655360 RAND_MAX655360 REG_CS655360 REG_CS4anon_enum_350 REG_DS655360 REG_DS4anon_enum_350 REG_EAX655360 REG_EAX4anon_enum_350 REG_EBP655360 REG_EBP4anon_enum_350 REG_EBX655360 REG_EBX4anon_enum_350 REG_ECX655360 REG_ECX4anon_enum_350 REG_EDI655360 REG_EDI4anon_enum_350 REG_EDX655360 REG_EDX4anon_enum_350 REG_EFL655360 REG_EFL4anon_enum_350 REG_EIP655360 REG_EIP4anon_enum_350 REG_ERR655360 REG_ERR4anon_enum_350 REG_ES655360 REG_ES4anon_enum_350 REG_ESI655360 REG_ESI4anon_enum_350 REG_ESP655360 REG_ESP4anon_enum_350 REG_FS655360 REG_FS4anon_enum_350 REG_GS655360 REG_GS4anon_enum_350 REG_SS655360 REG_SS4anon_enum_350 REG_TRAPNO655360 REG_TRAPNO4anon_enum_350 REG_UESP655360 REG_UESP4anon_enum_350 RE_DUP_MAX655360 RTSIG_MAX655360 SA_INTERRUPT655360 SA_NOCLDSTOP655360 SA_NOCLDWAIT655360 SA_NODEFER655360 SA_NOMASK655360 SA_ONESHOT655360 SA_ONSTACK655360 SA_RESETHAND655360 SA_RESTART655360 SA_SIGINFO655360 SA_STACK655360 SCHAR_MAX655360 SCHAR_MIN655360 SEEK_CUR655360 SEEK_END655360 SEEK_SET655360 SEGV_ACCERR655360 SEGV_ACCERR4anon_enum_250 SEGV_MAPERR655360 SEGV_MAPERR4anon_enum_250 SEM_VALUE_MAX655360 SHRT_MAX655360 SHRT_MIN655360 SIGABRT655360 SIGALRM655360 SIGBUS655360 SIGCHLD655360 SIGCLD655360 SIGCONT655360 SIGEV_NONE655360 SIGEV_NONE4anon_enum_320 SIGEV_SIGNAL655360 SIGEV_SIGNAL4anon_enum_320 SIGEV_THREAD655360 SIGEV_THREAD4anon_enum_320 SIGEV_THREAD_ID655360 SIGEV_THREAD_ID4anon_enum_320 SIGFPE655360 SIGHUP655360 SIGILL655360 SIGINT655360 SIGIO655360 SIGIOT655360 SIGKILL655360 SIGPIPE655360 SIGPOLL655360 SIGPROF655360 SIGPWR655360 SIGQUIT655360 SIGRTMAX655360 SIGRTMIN655360 SIGSEGV655360 SIGSTKFLT655360 SIGSTKSZ655360 SIGSTOP655360 SIGSYS655360 SIGTERM655360 SIGTRAP655360 SIGTSTP655360 SIGTTIN655360 SIGTTOU655360 SIGUNUSED655360 SIGURG655360 SIGUSR1655360 SIGUSR2655360 SIGVTALRM655360 SIGWINCH655360 SIGXCPU655360 SIGXFSZ655360 SIG_BLOCK655360 SIG_DFL655360 SIG_ERR655360 SIG_HOLD655360 SIG_IGN655360 SIG_SETMASK655360 SIG_UNBLOCK655360 SING655360 SI_ASYNCIO655360 SI_ASYNCIO4anon_enum_220 SI_ASYNCNL655360 SI_ASYNCNL4anon_enum_220 SI_KERNEL655360 SI_KERNEL4anon_enum_220 SI_MESGQ655360 SI_MESGQ4anon_enum_220 SI_QUEUE655360 SI_QUEUE4anon_enum_220 SI_SIGIO655360 SI_SIGIO4anon_enum_220 SI_TIMER655360 SI_TIMER4anon_enum_220 SI_TKILL655360 SI_TKILL4anon_enum_220 SI_USER655360 SI_USER4anon_enum_220 SSIZE_MAX655360 SS_DISABLE655360 SS_DISABLE4anon_enum_340 SS_ONSTACK655360 SS_ONSTACK4anon_enum_340 STDC_HEADERS655360 SV_INTERRUPT655360 SV_ONSTACK655360 SV_RESETHAND655360 TIMER_ABSTIME655360 TLOSS655360 TMP_MAX655360 TRAP_BRKPT655360 TRAP_BRKPT4anon_enum_270 TRAP_TRACE655360 TRAP_TRACE4anon_enum_270 TTY_NAME_MAX655360 UCHAR_MAX655360 UINT_MAX655360 ULLONG_MAX655360 ULONG_LONG_MAX655360 ULONG_MAX655360 UNDERFLOW655360 USHRT_MAX655360 WCHAR_MAX655360 WCHAR_MIN655360 WCONTINUED655360 WEOF655360 WEXITED655360 WEXITSTATUS131072(status)0 WIFCONTINUED131072(status)0 WIFEXITED131072(status)0 WIFSIGNALED131072(status)0 WIFSTOPPED131072(status)0 WNOHANG655360 WNOWAIT655360 WORD_BIT655360 WSTOPPED655360 WSTOPSIG131072(status)0 WTERMSIG131072(status)0 WUNTRACED655360 XATTR_LIST_MAX655360 XATTR_NAME_MAX655360 XATTR_SIZE_MAX655360 X_TLOSS655360 a64l1024(const char *__s)0long int abort1024(void)0void abs1024(int __x)0int acos1024(double __x)0double acosf1024(float __x)0float acosh1024(double __x)0double acoshf1024(float __x)0float acoshl1024(long double __x)0long double acosl1024(long double __x)0long double alloca1024(size_t __size)0void * alloca655360 anon_enum_1220 anon_enum_1320 anon_enum_2220 anon_enum_2320 anon_enum_2420 anon_enum_2520 anon_enum_2620 anon_enum_2720 anon_enum_2820 anon_enum_2920 anon_enum_320 anon_enum_3220 anon_enum_3420 anon_enum_3520 anon_enum_420 anon_enum_520 anon_enum_6020 anon_enum_820 asctime1024(const struct tm *__tp)0char * asctime_r1024(const struct tm * __tp, char * __buf)0char * asin1024(double __x)0double asinf1024(float __x)0float asinh1024(double __x)0double asinhf1024(float __x)0float asinhl1024(long double __x)0long double asinl1024(long double __x)0long double asprintf1024(char ** __ptr, const char * __fmt, ...)0int assert131072(expr)0 assert_perror131072(errnum)0 atan1024(double __x)0double atan21024(double __y, double __x)0double atan2f1024(float __y, float __x)0float atan2l1024(long double __y, long double __x)0long double atanf1024(float __x)0float atanh1024(double __x)0double atanhf1024(float __x)0float atanhl1024(long double __x)0long double atanl1024(long double __x)0long double atexit1024(void (*__func) (void))0int atof1024(const char *__nptr)0double atoi1024(const char *__nptr)0int atol1024(const char *__nptr)0long int atoll1024(const char *__nptr)0long long int basename1024(const char *__filename)0char * bcmp1024(const void *__s1, const void *__s2, size_t __n)0int bcopy1024(const void *__src, void *__dest, size_t __n)0void be16toh131072(x)0 be32toh131072(x)0 be64toh131072(x)0 blkcnt64_t40960__blkcnt64_t blkcnt_t40960__blkcnt_t blksize_t40960__blksize_t bool655360 bsd_signal1024(int __sig, __sighandler_t __handler)0__sighandler_t bsearch1024(const void *__key, const void *__base, size_t __nmemb, size_t __size, __compar_fn_t __compar)0void * btowc1024(int __c)0wint_t bzero1024(void *__s, size_t __n)0void cabs1024(double _Complex __z)0double cabsf1024(float _Complex __z)0float cabsl1024(long double _Complex __z)0long double cacos1024(double _Complex __z)0double cacosf1024(float _Complex __z)0float cacosh1024(double _Complex __z)0double cacoshf1024(float _Complex __z)0float cacoshl1024(long double _Complex __z)0long double cacosl1024(long double _Complex __z)0long double caddr_t40960__caddr_t calloc1024(size_t __nmemb, size_t __size)0void * canonicalize_file_name1024(const char *__name)0char * carg1024(double _Complex __z)0double cargf1024(float _Complex __z)0float cargl1024(long double _Complex __z)0long double casin1024(double _Complex __z)0double casinf1024(float _Complex __z)0float casinh1024(double _Complex __z)0double casinhf1024(float _Complex __z)0float casinhl1024(long double _Complex __z)0long double casinl1024(long double _Complex __z)0long double catan1024(double _Complex __z)0double catanf1024(float _Complex __z)0float catanh1024(double _Complex __z)0double catanhf1024(float _Complex __z)0float catanhl1024(long double _Complex __z)0long double catanl1024(long double _Complex __z)0long double cbrt1024(double __x)0double cbrtf1024(float __x)0float cbrtl1024(long double __x)0long double ccos1024(double _Complex __z)0double ccosf1024(float _Complex __z)0float ccosh1024(double _Complex __z)0double ccoshf1024(float _Complex __z)0float ccoshl1024(long double _Complex __z)0long double ccosl1024(long double _Complex __z)0long double ceil1024(double __x)0double ceilf1024(float __x)0float ceill1024(long double __x)0long double cexp1024(double _Complex __z)0double cexpf1024(float _Complex __z)0float cexpl1024(long double _Complex __z)0long double cfree1024(void *__ptr)0void cimag1024(double _Complex __z)0double cimagf1024(float _Complex __z)0float cimagl1024(long double _Complex __z)0long double clearenv1024(void)0int clearerr1024(FILE *__stream)0void clearerr_unlocked1024(FILE *__stream)0void clock1024(void)0clock_t clock_getcpuclockid1024(pid_t __pid, clockid_t *__clock_id)0int clock_getres1024(clockid_t __clock_id, struct timespec *__res)0int clock_gettime1024(clockid_t __clock_id, struct timespec *__tp)0int clock_nanosleep1024(clockid_t __clock_id, int __flags, const struct timespec *__req, struct timespec *__rem)0int clock_settime1024(clockid_t __clock_id, const struct timespec *__tp)0int clock_t40960__clock_t clockid_t40960__clockid_t clog1024(double _Complex __z)0double clog101024(double _Complex __z)0double clog10f1024(float _Complex __z)0float clog10l1024(long double _Complex __z)0long double clogf1024(float _Complex __z)0float clogl1024(long double _Complex __z)0long double comparison_fn_t40960__compar_fn_t complex655360 conj1024(double _Complex __z)0double conjf1024(float _Complex __z)0float conjl1024(long double _Complex __z)0long double cookie_close_function_t40960__io_close_fn cookie_io_functions_t40960_IO_cookie_io_functions_t cookie_read_function_t40960__io_read_fn cookie_seek_function_t40960__io_seek_fn cookie_write_function_t40960__io_write_fn copysign1024(double __x, double __y)0double copysignf1024(float __x, float __y)0float copysignl1024(long double __x, long double __y)0long double cos1024(double __x)0double cosf1024(float __x)0float cosh1024(double __x)0double coshf1024(float __x)0float coshl1024(long double __x)0long double cosl1024(long double __x)0long double cpow1024(double _Complex __x, double _Complex __y)0double cpowf1024(float _Complex __x, float _Complex __y)0float cpowl1024(long double _Complex __x, long double _Complex __y)0long double cproj1024(double _Complex __z)0double cprojf1024(float _Complex __z)0float cprojl1024(long double _Complex __z)0long double creal1024(double _Complex __z)0double crealf1024(float _Complex __z)0float creall1024(long double _Complex __z)0long double csin1024(double _Complex __z)0double csinf1024(float _Complex __z)0float csinh1024(double _Complex __z)0double csinhf1024(float _Complex __z)0float csinhl1024(long double _Complex __z)0long double csinl1024(long double _Complex __z)0long double csqrt1024(double _Complex __z)0double csqrtf1024(float _Complex __z)0float csqrtl1024(long double _Complex __z)0long double ctan1024(double _Complex __z)0double ctanf1024(float _Complex __z)0float ctanh1024(double _Complex __z)0double ctanhf1024(float _Complex __z)0float ctanhl1024(long double _Complex __z)0long double ctanl1024(long double _Complex __z)0long double ctermid1024(char *__s)0char * ctime1024(const time_t *__timer)0char * ctime_r1024(const time_t * __timer, char * __buf)0char * cuserid1024(char *__s)0char * daddr_t40960__daddr_t dev_t40960__dev_t difftime1024(time_t __time1, time_t __time0)0double div1024(int __numer, int __denom)0div_t div_t40960anon_struct_56 double_t40960long dprintf1024(int __fd, const char * __fmt, ...)0int drand481024(void)0double drand48_r1024(struct drand48_data * __buffer, double * __result)0int drem1024(double __x, double __y)0double dremf1024(float __x, float __y)0float dreml1024(long double __x, long double __y)0long double duplocale1024(__locale_t __dataset)0__locale_t dysize1024(int __year)0int ecvt1024(double __value, int __ndigit, int * __decpt, int * __sign)0char * ecvt_r1024(double __value, int __ndigit, int * __decpt, int * __sign, char * __buf, size_t __len)0int erand481024(unsigned short int __xsubi[3])0double erand48_r1024(unsigned short int __xsubi[3], struct drand48_data * __buffer, double * __result)0int erf1024(double)0double erfc1024(double)0double erfcf1024(float)0float erfcl1024(long double)0long double erff1024(float)0float erfl1024(long double)0long double errno655360 error_t40960int exit1024(int __status)0void exp1024(double __x)0double exp101024(double __x)0double exp10f1024(float __x)0float exp10l1024(long double __x)0long double exp21024(double __x)0double exp2f1024(float __x)0float exp2l1024(long double __x)0long double expf1024(float __x)0float expl1024(long double __x)0long double expm11024(double __x)0double expm1f1024(float __x)0float expm1l1024(long double __x)0long double fabs1024(double __x)0double fabsf1024(float __x)0float fabsl1024(long double __x)0long double false655360 fclose1024(FILE *__stream)0int fcloseall1024(void)0int fcvt1024(double __value, int __ndigit, int * __decpt, int * __sign)0char * fcvt_r1024(double __value, int __ndigit, int * __decpt, int * __sign, char * __buf, size_t __len)0int fd_mask40960__fd_mask fd_set40960anon_struct_59 fdim1024(double __x, double __y)0double fdimf1024(float __x, float __y)0float fdiml1024(long double __x, long double __y)0long double fdopen1024(int __fd, const char *__modes)0FILE * feclearexcept1024(int __excepts)0int fedisableexcept1024(int __excepts)0int feenableexcept1024(int __excepts)0int fegetenv1024(fenv_t *__envp)0int fegetexcept1024(void)0int fegetexceptflag1024(fexcept_t *__flagp, int __excepts)0int fegetround1024(void)0int feholdexcept1024(fenv_t *__envp)0int fenv_t40960anon_struct_6 feof1024(FILE *__stream)0int feof_unlocked1024(FILE *__stream)0int feraiseexcept1024(int __excepts)0int ferror1024(FILE *__stream)0int ferror_unlocked1024(FILE *__stream)0int fesetenv1024(const fenv_t *__envp)0int fesetexceptflag1024(const fexcept_t *__flagp, int __excepts)0int fesetround1024(int __rounding_direction)0int fetestexcept1024(int __excepts)0int feupdateenv1024(const fenv_t *__envp)0int fexcept_t40960short fflush1024(FILE *__stream)0int fflush_unlocked1024(FILE *__stream)0int ffs1024(int __i)0int ffsl1024(long int __l)0int fgetc1024(FILE *__stream)0int fgetc_unlocked1024(FILE *__stream)0int fgetpos1024(FILE * __stream, fpos_t * __pos)0int fgetpos641024(FILE * __stream, fpos64_t * __pos)0int fgets1024(char * __s, int __n, FILE * __stream)0char * fgets_unlocked1024(char * __s, int __n, FILE * __stream)0char * fgetwc1024(__FILE *__stream)0wint_t fgetwc_unlocked1024(__FILE *__stream)0wint_t fgetws1024(wchar_t * __ws, int __n, __FILE * __stream)0wchar_t * fgetws_unlocked1024(wchar_t * __ws, int __n, __FILE * __stream)0wchar_t * fileno1024(FILE *__stream)0int fileno_unlocked1024(FILE *__stream)0int finite1024(double __value)0int finitef1024(float __value)0int finitel1024(long double __value)0int float_t40960long flockfile1024(FILE *__stream)0void floor1024(double __x)0double floorf1024(float __x)0float floorl1024(long double __x)0long double fma1024(double __x, double __y, double __z)0double fmaf1024(float __x, float __y, float __z)0float fmal1024(long double __x, long double __y, long double __z)0long double fmax1024(double __x, double __y)0double fmaxf1024(float __x, float __y)0float fmaxl1024(long double __x, long double __y)0long double fmemopen1024(void *__s, size_t __len, const char *__modes)0FILE * fmin1024(double __x, double __y)0double fminf1024(float __x, float __y)0float fminl1024(long double __x, long double __y)0long double fmod1024(double __x, double __y)0double fmodf1024(float __x, float __y)0float fmodl1024(long double __x, long double __y)0long double fopen1024(const char * __filename, const char * __modes)0FILE * fopen641024(const char * __filename, const char * __modes)0FILE * fopencookie1024(void * __magic_cookie, const char * __modes, _IO_cookie_io_functions_t __io_funcs)0FILE * fpclassify131072(x)0 fpos64_t40960_G_fpos64_t fpos_t40960_G_fpos_t fpregset_t40960_libc_fpstate fprintf1024(FILE * __stream, const char * __format, ...)0int fputc1024(int __c, FILE *__stream)0int fputc_unlocked1024(int __c, FILE *__stream)0int fputs1024(const char * __s, FILE * __stream)0int fputs_unlocked1024(const char * __s, FILE * __stream)0int fputwc1024(wchar_t __wc, __FILE *__stream)0wint_t fputwc_unlocked1024(wchar_t __wc, __FILE *__stream)0wint_t fputws1024(const wchar_t * __ws, __FILE * __stream)0int fputws_unlocked1024(const wchar_t * __ws, __FILE * __stream)0int fread1024(void * __ptr, size_t __size, size_t __n, FILE * __stream)0size_t fread_unlocked1024(void * __ptr, size_t __size, size_t __n, FILE * __stream)0size_t free1024(void *__ptr)0void freelocale1024(__locale_t __dataset)0void freopen1024(const char * __filename, const char * __modes, FILE * __stream)0FILE * freopen641024(const char * __filename, const char * __modes, FILE * __stream)0FILE * frexp1024(double __x, int *__exponent)0double frexpf1024(float __x, int *__exponent)0float frexpl1024(long double __x, int *__exponent)0long double fsblkcnt64_t40960__fsblkcnt64_t fsblkcnt_t40960__fsblkcnt_t fscanf1024(FILE * __stream, const char * __format, ...)0int fseek1024(FILE *__stream, long int __off, int __whence)0int fseeko1024(FILE *__stream, __off_t __off, int __whence)0int fseeko641024(FILE *__stream, __off64_t __off, int __whence)0int fsetpos1024(FILE *__stream, const fpos_t *__pos)0int fsetpos641024(FILE *__stream, const fpos64_t *__pos)0int fsfilcnt64_t40960__fsfilcnt64_t fsfilcnt_t40960__fsfilcnt_t fsid_t40960__fsid_t ftell1024(FILE *__stream)0long int ftello1024(FILE *__stream)0__off_t ftello641024(FILE *__stream)0__off64_t ftrylockfile1024(FILE *__stream)0int funlockfile1024(FILE *__stream)0void fwide1024(__FILE *__fp, int __mode)0int fwprintf1024(__FILE * __stream, const wchar_t * __format, ...)0int fwrite1024(const void * __ptr, size_t __size, size_t __n, FILE * __s)0size_t fwrite_unlocked1024(const void * __ptr, size_t __size, size_t __n, FILE * __stream)0size_t fwscanf1024(__FILE * __stream, const wchar_t * __format, ...)0int gamma1024(double)0double gammaf1024(float)0float gammal1024(long double)0long double gcvt1024(double __value, int __ndigit, char *__buf)0char * getc1024(FILE *__stream)0int getc131072(_fp)0 getc_unlocked1024(FILE *__stream)0int getchar1024(void)0int getchar_unlocked1024(void)0int getdate1024(const char *__string)0struct tm * getdate_r1024(const char * __string, struct tm * __resbufp)0int getdelim1024(char ** __lineptr, size_t * __n, int __delimiter, FILE * __stream)0__ssize_t getenv1024(const char *__name)0char * getline1024(char ** __lineptr, size_t * __n, FILE * __stream)0__ssize_t getloadavg1024(double __loadavg[], int __nelem)0int getpt1024(void)0int gets1024(char *__s)0char * getsubopt1024(char ** __optionp, char *const * __tokens, char ** __valuep)0int getw1024(FILE *__stream)0int getwc1024(__FILE *__stream)0wint_t getwc_unlocked1024(__FILE *__stream)0wint_t getwchar1024(void)0wint_t getwchar_unlocked1024(void)0wint_t gid_t40960__gid_t gmtime1024(const time_t *__timer)0struct tm * gmtime_r1024(const time_t * __timer, struct tm * __tp)0struct tm * grantpt1024(int __fd)0int greg_t40960int gregset_t40960greg_t gsignal1024(int __sig)0int htobe16131072(x)0 htobe32131072(x)0 htobe64131072(x)0 htole16131072(x)0 htole32131072(x)0 htole64131072(x)0 hypot1024(double __x, double __y)0double hypotf1024(float __x, float __y)0float hypotl1024(long double __x, long double __y)0long double id_t40960__id_t ilogb1024(double __x)0int ilogbf1024(float __x)0int ilogbl1024(long double __x)0int imaxabs1024(intmax_t __n)0intmax_t imaxdiv1024(intmax_t __numer, intmax_t __denom)0imaxdiv_t imaxdiv_t40960anon_struct_7 index1024(const char *__s, int __c)0char * initstate1024(unsigned int __seed, char *__statebuf, size_t __statelen)0char * initstate_r1024(unsigned int __seed, char * __statebuf, size_t __statelen, struct random_data * __buf)0int ino64_t40960__ino64_t ino_t40960__ino_t int16_t40960short int32_t40960int int64_t40960long int8_t40960char int_fast16_t40960int int_fast32_t40960int int_fast64_t40960long int_fast8_t40960char int_least16_t40960short int_least32_t40960int int_least64_t40960long int_least8_t40960char intmax_t40960long intptr_t40960int isalnum1024(int)0int isalnum_l1024(int, __locale_t)0int isalpha1024(int)0int isalpha_l1024(int, __locale_t)0int isascii1024(int __c)0int isblank1024(int)0int isblank_l1024(int, __locale_t)0int iscntrl1024(int)0int iscntrl_l1024(int, __locale_t)0int isctype1024(int __c, int __mask)0int isdigit1024(int)0int isdigit_l1024(int, __locale_t)0int isfinite131072(x)0 isgraph1024(int)0int isgraph_l1024(int, __locale_t)0int isgreater131072(x,y)0 isgreaterequal131072(x,y)0 isinf1024(double __value)0int isinf131072(x)0 isinff1024(float __value)0int isinfl1024(long double __value)0int isless131072(x,y)0 islessequal131072(x,y)0 islessgreater131072(x,y)0 islower1024(int)0int islower_l1024(int, __locale_t)0int isnan1024(double __value)0int isnan131072(x)0 isnanf1024(float __value)0int isnanl1024(long double __value)0int isnormal131072(x)0 isprint1024(int)0int isprint_l1024(int, __locale_t)0int ispunct1024(int)0int ispunct_l1024(int, __locale_t)0int isspace1024(int)0int isspace_l1024(int, __locale_t)0int isunordered131072(u,v)0 isupper1024(int)0int isupper_l1024(int, __locale_t)0int iswalnum1024(wint_t __wc)0int iswalnum_l1024(wint_t __wc, __locale_t __locale)0int iswalpha1024(wint_t __wc)0int iswalpha_l1024(wint_t __wc, __locale_t __locale)0int iswblank1024(wint_t __wc)0int iswblank_l1024(wint_t __wc, __locale_t __locale)0int iswcntrl1024(wint_t __wc)0int iswcntrl_l1024(wint_t __wc, __locale_t __locale)0int iswctype1024(wint_t __wc, wctype_t __desc)0int iswctype_l1024(wint_t __wc, wctype_t __desc, __locale_t __locale)0int iswdigit1024(wint_t __wc)0int iswdigit_l1024(wint_t __wc, __locale_t __locale)0int iswgraph1024(wint_t __wc)0int iswgraph_l1024(wint_t __wc, __locale_t __locale)0int iswlower1024(wint_t __wc)0int iswlower_l1024(wint_t __wc, __locale_t __locale)0int iswprint1024(wint_t __wc)0int iswprint_l1024(wint_t __wc, __locale_t __locale)0int iswpunct1024(wint_t __wc)0int iswpunct_l1024(wint_t __wc, __locale_t __locale)0int iswspace1024(wint_t __wc)0int iswspace_l1024(wint_t __wc, __locale_t __locale)0int iswupper1024(wint_t __wc)0int iswupper_l1024(wint_t __wc, __locale_t __locale)0int iswxdigit1024(wint_t __wc)0int iswxdigit_l1024(wint_t __wc, __locale_t __locale)0int isxdigit1024(int)0int isxdigit_l1024(int, __locale_t)0int j01024(double)0double j0f1024(float)0float j0l1024(long double)0long double j11024(double)0double j1f1024(float)0float j1l1024(long double)0long double jmp_buf40960__jmp_buf_tag jn1024(int, double)0double jnf1024(int, float)0float jnl1024(int, long double)0long double jrand481024(unsigned short int __xsubi[3])0long int jrand48_r1024(unsigned short int __xsubi[3], struct drand48_data * __buffer, long int * __result)0int key_t40960__key_t kill1024(__pid_t __pid, int __sig)0int killpg1024(__pid_t __pgrp, int __sig)0int l64a1024(long int __n)0char * labs1024(long int __x)0long int lcong481024(unsigned short int __param[7])0void lcong48_r1024(unsigned short int __param[7], struct drand48_data *__buffer)0int ldexp1024(double __x, int __exponent)0double ldexpf1024(float __x, int __exponent)0float ldexpl1024(long double __x, int __exponent)0long double ldiv1024(long int __numer, long int __denom)0ldiv_t ldiv_t40960anon_struct_57 le16toh131072(x)0 le32toh131072(x)0 le64toh131072(x)0 lgamma1024(double)0double lgamma_r1024(double, int *__signgamp)0double lgammaf1024(float)0float lgammaf_r1024(float, int *__signgamp)0float lgammal1024(long double)0long double lgammal_r1024(long double, int *__signgamp)0long double llabs1024(long long int __x)0long long int lldiv1024(long long int __numer, long long int __denom)0lldiv_t lldiv_t40960anon_struct_58 llrint1024(double __x)0long long int llrintf1024(float __x)0long long int llrintl1024(long double __x)0long long int llround1024(double __x)0long long int llroundf1024(float __x)0long long int llroundl1024(long double __x)0long long int locale_t40960__locale_t localeconv1024(void)0struct lconv * localtime1024(const time_t *__timer)0struct tm * localtime_r1024(const time_t * __timer, struct tm * __tp)0struct tm * loff_t40960__loff_t log1024(double __x)0double log101024(double __x)0double log10f1024(float __x)0float log10l1024(long double __x)0long double log1p1024(double __x)0double log1pf1024(float __x)0float log1pl1024(long double __x)0long double log21024(double __x)0double log2f1024(float __x)0float log2l1024(long double __x)0long double logb1024(double __x)0double logbf1024(float __x)0float logbl1024(long double __x)0long double logf1024(float __x)0float logl1024(long double __x)0long double longjmp1024(struct __jmp_buf_tag __env[1], int __val)0void lrand481024(void)0long int lrand48_r1024(struct drand48_data * __buffer, long int * __result)0int lrint1024(double __x)0long int lrintf1024(float __x)0long int lrintl1024(long double __x)0long int lround1024(double __x)0long int lroundf1024(float __x)0long int lroundl1024(long double __x)0long int malloc1024(size_t __size)0void * max655360 mblen1024(const char *__s, size_t __n)0int mbrlen1024(const char * __s, size_t __n, mbstate_t * __ps)0size_t mbrtowc1024(wchar_t * __pwc, const char * __s, size_t __n, mbstate_t *__p)0size_t mbsinit1024(const mbstate_t *__ps)0int mbsnrtowcs1024(wchar_t * __dst, const char ** __src, size_t __nmc, size_t __len, mbstate_t * __ps)0size_t mbsrtowcs1024(wchar_t * __dst, const char ** __src, size_t __len, mbstate_t * __ps)0size_t mbstate_t40960__mbstate_t mbstowcs1024(wchar_t * __pwcs, const char * __s, size_t __n)0size_t mbtowc1024(wchar_t * __pwc, const char * __s, size_t __n)0int mcontext_t40960anon_struct_36 memccpy1024(void * __dest, const void * __src, int __c, size_t __n)0void * memchr1024(const void *__s, int __c, size_t __n)0void * memcmp1024(const void *__s1, const void *__s2, size_t __n)0int memcpy1024(void * __dest, const void * __src, size_t __n)0void * memfrob1024(void *__s, size_t __n)0void * memmem1024(const void *__haystack, size_t __haystacklen, const void *__needle, size_t __needlelen)0void * memmove1024(void *__dest, const void *__src, size_t __n)0void * mempcpy1024(void * __dest, const void * __src, size_t __n)0void * memrchr1024(const void *__s, int __c, size_t __n)0void * memset1024(void *__s, int __c, size_t __n)0void * min655360 mkdtemp1024(char *__template)0char * mkostemp1024(char *__template, int __flags)0int mkostemp641024(char *__template, int __flags)0int mkstemp1024(char *__template)0int mkstemp641024(char *__template)0int mktemp1024(char *__template)0char * mktime1024(struct tm *__tp)0time_t mode_t40960__mode_t modf1024(double __x, double *__iptr)0double modff1024(float __x, float *__iptr)0float modfl1024(long double __x, long double *__iptr)0long double mrand481024(void)0long int mrand48_r1024(struct drand48_data * __buffer, long int * __result)0int nan1024(const char *__tagb)0double nanf1024(const char *__tagb)0float nanl1024(const char *__tagb)0long double nanosleep1024(const struct timespec *__requested_time, struct timespec *__remaining)0int nearbyint1024(double __x)0double nearbyintf1024(float __x)0float nearbyintl1024(long double __x)0long double newlocale1024(int __category_mask, const char *__locale, __locale_t __base)0__locale_t nextafter1024(double __x, double __y)0double nextafterf1024(float __x, float __y)0float nextafterl1024(long double __x, long double __y)0long double nexttoward1024(double __x, long double __y)0double nexttowardf1024(float __x, long double __y)0float nexttowardl1024(long double __x, long double __y)0long double nlink_t40960__nlink_t nrand481024(unsigned short int __xsubi[3])0long int nrand48_r1024(unsigned short int __xsubi[3], struct drand48_data * __buffer, long int * __result)0int obstack_printf1024(struct obstack * __obstack, const char * __format, ...)0int obstack_vprintf1024(struct obstack * __obstack, const char * __format, __gnuc_va_list __args)0int off64_t40960__off64_t off_t40960__off_t offsetof131072(TYPE,MEMBER)0 on_exit1024(void (*__func) (int __status, void *__arg), void *__arg)0int open_memstream1024(char **__bufloc, size_t *__sizeloc)0FILE * open_wmemstream1024(wchar_t **__bufloc, size_t *__sizeloc)0__FILE * pclose1024(FILE *__stream)0int perror1024(const char *__s)0void pid_t40960__pid_t popen1024(const char *__command, const char *__modes)0FILE * posix_memalign1024(void **__memptr, size_t __alignment, size_t __size)0int posix_openpt1024(int __oflag)0int pow1024(double __x, double __y)0double pow101024(double __x)0double pow10f1024(float __x)0float pow10l1024(long double __x)0long double powf1024(float __x, float __y)0float powl1024(long double __x, long double __y)0long double printf1024(const char * __format, ...)0int pselect1024(int __nfds, fd_set * __readfds, fd_set * __writefds, fd_set * __exceptfds, const struct timespec * __timeout, const __sigset_t * __sigmask)0int psignal1024(int __sig, const char *__s)0void pthread_attr_t40960anon_union_37 pthread_barrier_t40960anon_union_47 pthread_barrierattr_t40960anon_union_48 pthread_cond_t40960anon_union_41 pthread_condattr_t40960anon_union_43 pthread_key_t40960int pthread_kill1024(pthread_t __threadid, int __signo)0int pthread_mutex_t40960anon_union_38 pthread_mutexattr_t40960anon_union_40 pthread_once_t40960int pthread_rwlock_t40960anon_union_44 pthread_rwlockattr_t40960anon_union_46 pthread_sigmask1024(int __how, const __sigset_t * __newmask, __sigset_t * __oldmask)0int pthread_spinlock_t40960int pthread_t40960long ptrdiff_t40960long ptsname1024(int __fd)0char * ptsname_r1024(int __fd, char *__buf, size_t __buflen)0int putc1024(int __c, FILE *__stream)0int putc131072(_ch,_fp)0 putc_unlocked1024(int __c, FILE *__stream)0int putchar1024(int __c)0int putchar_unlocked1024(int __c)0int putenv1024(char *__string)0int puts1024(const char *__s)0int putw1024(int __w, FILE *__stream)0int putwc1024(wchar_t __wc, __FILE *__stream)0wint_t putwc_unlocked1024(wchar_t __wc, __FILE *__stream)0wint_t putwchar1024(wchar_t __wc)0wint_t putwchar_unlocked1024(wchar_t __wc)0wint_t qecvt1024(long double __value, int __ndigit, int * __decpt, int * __sign)0char * qecvt_r1024(long double __value, int __ndigit, int * __decpt, int * __sign, char * __buf, size_t __len)0int qfcvt1024(long double __value, int __ndigit, int * __decpt, int * __sign)0char * qfcvt_r1024(long double __value, int __ndigit, int * __decpt, int * __sign, char * __buf, size_t __len)0int qgcvt1024(long double __value, int __ndigit, char *__buf)0char * qsort1024(void *__base, size_t __nmemb, size_t __size, __compar_fn_t __compar)0void qsort_r1024(void *__base, size_t __nmemb, size_t __size, __compar_d_fn_t __compar, void *__arg)0void quad_t40960__quad_t raise1024(int __sig)0int rand1024(void)0int rand_r1024(unsigned int *__seed)0int random1024(void)0long int random_r1024(struct random_data * __buf, int32_t * __result)0int rawmemchr1024(const void *__s, int __c)0void * realloc1024(void *__ptr, size_t __size)0void * realpath1024(const char * __name, char * __resolved)0char * register_t40960int remainder1024(double __x, double __y)0double remainderf1024(float __x, float __y)0float remainderl1024(long double __x, long double __y)0long double remove1024(const char *__filename)0int remquo1024(double __x, double __y, int *__quo)0double remquof1024(float __x, float __y, int *__quo)0float remquol1024(long double __x, long double __y, int *__quo)0long double rename1024(const char *__old, const char *__new)0int renameat1024(int __oldfd, const char *__old, int __newfd, const char *__new)0int rewind1024(FILE *__stream)0void rindex1024(const char *__s, int __c)0char * rint1024(double __x)0double rintf1024(float __x)0float rintl1024(long double __x)0long double round1024(double __x)0double roundf1024(float __x)0float roundl1024(long double __x)0long double rpmatch1024(const char *__response)0int sa_handler655360 sa_restorer1024(void)sigaction0void sa_sigaction655360 sa_sigaction1024(int, siginfo_t *, void *)sigaction::anon_union_330void scalb1024(double __x, double __n)0double scalbf1024(float __x, float __n)0float scalbl1024(long double __x, long double __n)0long double scalbln1024(double __x, long int __n)0double scalblnf1024(float __x, long int __n)0float scalblnl1024(long double __x, long int __n)0long double scalbn1024(double __x, int __n)0double scalbnf1024(float __x, int __n)0float scalbnl1024(long double __x, int __n)0long double scanf1024(const char * __format, ...)0int seed481024(unsigned short int __seed16v[3])0unsigned short int * seed48_r1024(unsigned short int __seed16v[3], struct drand48_data *__buffer)0int select1024(int __nfds, fd_set * __readfds, fd_set * __writefds, fd_set * __exceptfds, struct timeval * __timeout)0int setbuf1024(FILE * __stream, char * __buf)0void setbuffer1024(FILE * __stream, char * __buf, size_t __size)0void setenv1024(const char *__name, const char *__value, int __replace)0int setjmp1024(jmp_buf __env)0int setjmp131072(env)0 setkey1024(const char *__key)0void setlinebuf1024(FILE *__stream)0void setlocale1024(int __category, const char *__locale)0char * setstate1024(char *__statebuf)0char * setstate_r1024(char * __statebuf, struct random_data * __buf)0int setvbuf1024(FILE * __stream, char * __buf, int __modes, size_t __n)0int si_addr655360 si_band655360 si_fd655360 si_int655360 si_overrun655360 si_pid655360 si_ptr655360 si_status655360 si_stime655360 si_timerid655360 si_uid655360 si_utime655360 si_value655360 sig_atomic_t40960__sig_atomic_t sig_t40960__sighandler_t sigaction1024(int __sig, const struct sigaction * __act, struct sigaction * __oact)0int sigaddset1024(sigset_t *__set, int __signo)0int sigaltstack1024(const struct sigaltstack * __ss, struct sigaltstack * __oss)0int sigandset1024(sigset_t *__set, const sigset_t *__left, const sigset_t *__right)0int sigblock1024(int __mask)0int sigcontext_struct655360 sigdelset1024(sigset_t *__set, int __signo)0int sigemptyset1024(sigset_t *__set)0int sigev_notify_attributes655360 sigev_notify_function655360 sigevent_t40960sigevent sigfillset1024(sigset_t *__set)0int siggetmask1024(void)0int sighandler_t40960__sighandler_t sighold1024(int __sig)0int sigignore1024(int __sig)0int siginfo_t40960siginfo siginterrupt1024(int __sig, int __interrupt)0int sigisemptyset1024(const sigset_t *__set)0int sigismember1024(const sigset_t *__set, int __signo)0int sigjmp_buf40960__jmp_buf_tag siglongjmp1024(sigjmp_buf __env, int __val)0void sigmask131072(sig)0 signal1024(int __sig, __sighandler_t __handler)0__sighandler_t signbit131072(x)0 significand1024(double __x)0double significandf1024(float __x)0float significandl1024(long double __x)0long double sigorset1024(sigset_t *__set, const sigset_t *__left, const sigset_t *__right)0int sigpause131072(sig)0 sigpending1024(sigset_t *__set)0int sigprocmask1024(int __how, const sigset_t * __set, sigset_t * __oset)0int sigqueue1024(__pid_t __pid, int __sig, const union sigval __val)0int sigrelse1024(int __sig)0int sigreturn1024(struct sigcontext *__scp)0int sigset1024(int __sig, __sighandler_t __disp)0__sighandler_t sigset_t40960__sigset_t sigsetjmp131072(env,savemask)0 sigsetmask1024(int __mask)0int sigstack1024(struct sigstack *__ss, struct sigstack *__oss)0int sigsuspend1024(const sigset_t *__set)0int sigtimedwait1024(const sigset_t * __set, siginfo_t * __info, const struct timespec * __timeout)0int sigval_t40960sigval sigvec1024(int __sig, const struct sigvec *__vec, struct sigvec *__ovec)0int sigwait1024(const sigset_t * __set, int * __sig)0int sigwaitinfo1024(const sigset_t * __set, siginfo_t * __info)0int sin1024(double __x)0double sincos1024(double __x, double *__sinx, double *__cosx)0void sincosf1024(float __x, float *__sinx, float *__cosx)0void sincosl1024(long double __x, long double *__sinx, long double *__cosx)0void sinf1024(float __x)0float sinh1024(double __x)0double sinhf1024(float __x)0float sinhl1024(long double __x)0long double sinl1024(long double __x)0long double size_t40960__SIZE_TYPE__ snprintf1024(char * __s, size_t __maxlen, const char * __format, ...)0int sprintf1024(char * __s, const char * __format, ...)0int sqrt1024(double __x)0double sqrtf1024(float __x)0float sqrtl1024(long double __x)0long double srand1024(unsigned int __seed)0void srand481024(long int __seedval)0void srand48_r1024(long int __seedval, struct drand48_data *__buffer)0int srandom1024(unsigned int __seed)0void srandom_r1024(unsigned int __seed, struct random_data *__buf)0int sscanf1024(const char * __s, const char * __format, ...)0int ssignal1024(int __sig, __sighandler_t __handler)0__sighandler_t ssize_t40960__ssize_t stack_t40960sigaltstack stderr655360 stdin655360 stdout655360 stime1024(const time_t *__when)0int stpcpy1024(char * __dest, const char * __src)0char * stpncpy1024(char * __dest, const char * __src, size_t __n)0char * strcasecmp1024(const char *__s1, const char *__s2)0int strcasecmp_l1024(const char *__s1, const char *__s2, __locale_t __loc)0int strcasestr1024(const char *__haystack, const char *__needle)0char * strcat1024(char * __dest, const char * __src)0char * strchr1024(const char *__s, int __c)0char * strchrnul1024(const char *__s, int __c)0char * strcmp1024(const char *__s1, const char *__s2)0int strcoll1024(const char *__s1, const char *__s2)0int strcoll_l1024(const char *__s1, const char *__s2, __locale_t __l)0int strcpy1024(char * __dest, const char * __src)0char * strcspn1024(const char *__s, const char *__reject)0size_t strdup1024(const char *__s)0char * strerror1024(int __errnum)0char * strerror_l1024(int __errnum, __locale_t __l)0char * strerror_r1024(int __errnum, char *__buf, size_t __buflen)0char * strfry1024(char *__string)0char * strftime1024(char * __s, size_t __maxsize, const char * __format, const struct tm * __tp)0size_t strftime_l1024(char * __s, size_t __maxsize, const char * __format, const struct tm * __tp, __locale_t __loc)0size_t strlen1024(const char *__s)0size_t strncasecmp1024(const char *__s1, const char *__s2, size_t __n)0int strncasecmp_l1024(const char *__s1, const char *__s2, size_t __n, __locale_t __loc)0int strncat1024(char * __dest, const char * __src, size_t __n)0char * strncmp1024(const char *__s1, const char *__s2, size_t __n)0int strncpy1024(char * __dest, const char * __src, size_t __n)0char * strndup1024(const char *__string, size_t __n)0char * strnlen1024(const char *__string, size_t __maxlen)0size_t strpbrk1024(const char *__s, const char *__accept)0char * strptime1024(const char * __s, const char * __fmt, struct tm *__tp)0char * strptime_l1024(const char * __s, const char * __fmt, struct tm *__tp, __locale_t __loc)0char * strrchr1024(const char *__s, int __c)0char * strsep1024(char ** __stringp, const char * __delim)0char * strsignal1024(int __sig)0char * strspn1024(const char *__s, const char *__accept)0size_t strstr1024(const char *__haystack, const char *__needle)0char * strtod1024(const char * __nptr, char ** __endptr)0double strtod_l1024(const char * __nptr, char ** __endptr, __locale_t __loc)0double strtof1024(const char * __nptr, char ** __endptr)0float strtof_l1024(const char * __nptr, char ** __endptr, __locale_t __loc)0float strtoimax1024(const char * __nptr, char ** __endptr, int __base)0intmax_t strtok1024(char * __s, const char * __delim)0char * strtok_r1024(char * __s, const char * __delim, char ** __save_ptr)0char * strtol1024(const char * __nptr, char ** __endptr, int __base)0long int strtol_l1024(const char * __nptr, char ** __endptr, int __base, __locale_t __loc)0long int strtold1024(const char * __nptr, char ** __endptr)0long double strtold_l1024(const char * __nptr, char ** __endptr, __locale_t __loc)0long double strtoll1024(const char * __nptr, char ** __endptr, int __base)0long long int strtoll_l1024(const char * __nptr, char ** __endptr, int __base, __locale_t __loc)0long long int strtoul1024(const char * __nptr, char ** __endptr, int __base)0unsigned long int strtoul_l1024(const char * __nptr, char ** __endptr, int __base, __locale_t __loc)0unsigned long int strtoull1024(const char * __nptr, char ** __endptr, int __base)0unsigned long long int strtoull_l1024(const char * __nptr, char ** __endptr, int __base, __locale_t __loc)0unsigned long long int strtoumax1024(const char * __nptr, char ** __endptr, int __base)0uintmax_t strverscmp1024(const char *__s1, const char *__s2)0int strxfrm1024(char * __dest, const char * __src, size_t __n)0size_t strxfrm_l1024(char *__dest, const char *__src, size_t __n, __locale_t __l)0size_t suseconds_t40960__suseconds_t sv_onstack655360 swprintf1024(wchar_t * __s, size_t __n, const wchar_t * __format, ...)0int swscanf1024(const wchar_t * __s, const wchar_t * __format, ...)0int system1024(const char *__command)0int sysv_signal1024(int __sig, __sighandler_t __handler)0__sighandler_t tan1024(double __x)0double tanf1024(float __x)0float tanh1024(double __x)0double tanhf1024(float __x)0float tanhl1024(long double __x)0long double tanl1024(long double __x)0long double tempnam1024(const char *__dir, const char *__pfx)0char * tgamma1024(double)0double tgammaf1024(float)0float tgammal1024(long double)0long double time1024(time_t *__timer)0time_t time_t40960__time_t timegm1024(struct tm *__tp)0time_t timelocal1024(struct tm *__tp)0time_t timer_create1024(clockid_t __clock_id, struct sigevent * __evp, timer_t * __timerid)0int timer_delete1024(timer_t __timerid)0int timer_getoverrun1024(timer_t __timerid)0int timer_gettime1024(timer_t __timerid, struct itimerspec *__value)0int timer_settime1024(timer_t __timerid, int __flags, const struct itimerspec * __value, struct itimerspec * __ovalue)0int timer_t40960__timer_t tmpfile1024(void)0FILE * tmpfile641024(void)0FILE * tmpnam1024(char *__s)0char * tmpnam_r1024(char *__s)0char * toascii1024(int __c)0int tolower1024(int __c)0int tolower_l1024(int __c, __locale_t __l)0int toupper1024(int __c)0int toupper_l1024(int __c, __locale_t __l)0int towctrans1024(wint_t __wc, wctrans_t __desc)0wint_t towctrans_l1024(wint_t __wc, wctrans_t __desc, __locale_t __locale)0wint_t towlower1024(wint_t __wc)0wint_t towlower_l1024(wint_t __wc, __locale_t __locale)0wint_t towupper1024(wint_t __wc)0wint_t towupper_l1024(wint_t __wc, __locale_t __locale)0wint_t true655360 trunc1024(double __x)0double truncf1024(float __x)0float truncl1024(long double __x)0long double tzset1024(void)0void u_char40960__u_char u_int40960__u_int u_int16_t40960short u_int32_t40960int u_int8_t40960char u_long40960__u_long u_quad_t40960__u_quad_t u_short40960__u_short ucontext_t40960ucontext uid_t40960__uid_t uint40960int uint16_t40960short uint32_t40960int uint64_t40960long uint8_t40960char uint_fast16_t40960int uint_fast32_t40960int uint_fast64_t40960long uint_fast8_t40960char uint_least16_t40960short uint_least32_t40960int uint_least64_t40960long uint_least8_t40960char uintmax_t40960long uintptr_t40960int ulong40960long ungetc1024(int __c, FILE *__stream)0int ungetwc1024(wint_t __wc, __FILE *__stream)0wint_t unlockpt1024(int __fd)0int unsetenv1024(const char *__name)0int useconds_t40960__useconds_t uselocale1024(__locale_t __dataset)0__locale_t ushort40960short va_arg131072(v,l)0 va_copy131072(d,s)0 va_end131072(v)0 va_list40960__gnuc_va_list va_start131072(v,l)0 valloc1024(size_t __size)0void * vasprintf1024(char ** __ptr, const char * __f, __gnuc_va_list __arg)0int vdprintf1024(int __fd, const char * __fmt, __gnuc_va_list __arg)0int vfprintf1024(FILE * __s, const char * __format, __gnuc_va_list __arg)0int vfscanf1024(FILE * __s, const char * __format, __gnuc_va_list __arg)0int vfwprintf1024(__FILE * __s, const wchar_t * __format, __gnuc_va_list __arg)0int vfwscanf1024(__FILE * __s, const wchar_t * __format, __gnuc_va_list __arg)0int vprintf1024(const char * __format, __gnuc_va_list __arg)0int vscanf1024(const char * __format, __gnuc_va_list __arg)0int vsnprintf1024(char * __s, size_t __maxlen, const char * __format, __gnuc_va_list __arg)0int vsprintf1024(char * __s, const char * __format, __gnuc_va_list __arg)0int vsscanf1024(const char * __s, const char * __format, __gnuc_va_list __arg)0int vswprintf1024(wchar_t * __s, size_t __n, const wchar_t * __format, __gnuc_va_list __arg)0int vswscanf1024(const wchar_t * __s, const wchar_t * __format, __gnuc_va_list __arg)0int vwprintf1024(const wchar_t * __format, __gnuc_va_list __arg)0int vwscanf1024(const wchar_t * __format, __gnuc_va_list __arg)0int w_coredump655360 w_retcode655360 w_stopsig655360 w_stopval655360 w_termsig655360 wcpcpy1024(wchar_t *__dest, const wchar_t *__src)0wchar_t * wcpncpy1024(wchar_t *__dest, const wchar_t *__src, size_t __n)0wchar_t * wcrtomb1024(char * __s, wchar_t __wc, mbstate_t * __ps)0size_t wcscasecmp1024(const wchar_t *__s1, const wchar_t *__s2)0int wcscasecmp_l1024(const wchar_t *__s1, const wchar_t *__s2, __locale_t __loc)0int wcscat1024(wchar_t * __dest, const wchar_t * __src)0wchar_t * wcschr1024(const wchar_t *__wcs, wchar_t __wc)0wchar_t * wcschrnul1024(const wchar_t *__s, wchar_t __wc)0wchar_t * wcscmp1024(const wchar_t *__s1, const wchar_t *__s2)0int wcscoll1024(const wchar_t *__s1, const wchar_t *__s2)0int wcscoll_l1024(const wchar_t *__s1, const wchar_t *__s2, __locale_t __loc)0int wcscpy1024(wchar_t * __dest, const wchar_t * __src)0wchar_t * wcscspn1024(const wchar_t *__wcs, const wchar_t *__reject)0size_t wcsdup1024(const wchar_t *__s)0wchar_t * wcsftime1024(wchar_t * __s, size_t __maxsize, const wchar_t * __format, const struct tm * __tp)0size_t wcsftime_l1024(wchar_t * __s, size_t __maxsize, const wchar_t * __format, const struct tm * __tp, __locale_t __loc)0size_t wcslen1024(const wchar_t *__s)0size_t wcsncasecmp1024(const wchar_t *__s1, const wchar_t *__s2, size_t __n)0int wcsncasecmp_l1024(const wchar_t *__s1, const wchar_t *__s2, size_t __n, __locale_t __loc)0int wcsncat1024(wchar_t * __dest, const wchar_t * __src, size_t __n)0wchar_t * wcsncmp1024(const wchar_t *__s1, const wchar_t *__s2, size_t __n)0int wcsncpy1024(wchar_t * __dest, const wchar_t * __src, size_t __n)0wchar_t * wcsnlen1024(const wchar_t *__s, size_t __maxlen)0size_t wcsnrtombs1024(char * __dst, const wchar_t ** __src, size_t __nwc, size_t __len, mbstate_t * __ps)0size_t wcspbrk1024(const wchar_t *__wcs, const wchar_t *__accept)0wchar_t * wcsrchr1024(const wchar_t *__wcs, wchar_t __wc)0wchar_t * wcsrtombs1024(char * __dst, const wchar_t ** __src, size_t __len, mbstate_t * __ps)0size_t wcsspn1024(const wchar_t *__wcs, const wchar_t *__accept)0size_t wcsstr1024(const wchar_t *__haystack, const wchar_t *__needle)0wchar_t * wcstod1024(const wchar_t * __nptr, wchar_t ** __endptr)0double wcstod_l1024(const wchar_t * __nptr, wchar_t ** __endptr, __locale_t __loc)0double wcstof1024(const wchar_t * __nptr, wchar_t ** __endptr)0float wcstof_l1024(const wchar_t * __nptr, wchar_t ** __endptr, __locale_t __loc)0float wcstoimax1024(const wchar_t * __nptr, wchar_t ** __endptr, int __base)0intmax_t wcstok1024(wchar_t * __s, const wchar_t * __delim, wchar_t ** __ptr)0wchar_t * wcstol1024(const wchar_t * __nptr, wchar_t ** __endptr, int __base)0long int wcstol_l1024(const wchar_t * __nptr, wchar_t ** __endptr, int __base, __locale_t __loc)0long int wcstold1024(const wchar_t * __nptr, wchar_t ** __endptr)0long double wcstold_l1024(const wchar_t * __nptr, wchar_t ** __endptr, __locale_t __loc)0long double wcstoll1024(const wchar_t * __nptr, wchar_t ** __endptr, int __base)0long long int wcstoll_l1024(const wchar_t * __nptr, wchar_t ** __endptr, int __base, __locale_t __loc)0long long int wcstombs1024(char * __s, const wchar_t * __pwcs, size_t __n)0size_t wcstoul1024(const wchar_t * __nptr, wchar_t ** __endptr, int __base)0unsigned long int wcstoul_l1024(const wchar_t * __nptr, wchar_t ** __endptr, int __base, __locale_t __loc)0unsigned long int wcstoull1024(const wchar_t * __nptr, wchar_t ** __endptr, int __base)0unsigned long long int wcstoull_l1024(const wchar_t * __nptr, wchar_t ** __endptr, int __base, __locale_t __loc)0unsigned long long int wcstoumax1024(const wchar_t * __nptr, wchar_t ** __endptr, int __base)0uintmax_t wcswcs1024(const wchar_t *__haystack, const wchar_t *__needle)0wchar_t * wcswidth1024(const wchar_t *__s, size_t __n)0int wcsxfrm1024(wchar_t * __s1, const wchar_t * __s2, size_t __n)0size_t wcsxfrm_l1024(wchar_t *__s1, const wchar_t *__s2, size_t __n, __locale_t __loc)0size_t wctob1024(wint_t __c)0int wctomb1024(char *__s, wchar_t __wchar)0int wctrans1024(const char *__property)0wctrans_t wctrans_l1024(const char *__property, __locale_t __locale)0wctrans_t wctrans_t40960__int32_t wctype1024(const char *__property)0wctype_t wctype_l1024(const char *__property, __locale_t __locale)0wctype_t wctype_t40960long wcwidth1024(wchar_t __c)0int wint_t40960int wmemchr1024(const wchar_t *__s, wchar_t __c, size_t __n)0wchar_t * wmemcmp1024(const wchar_t * __s1, const wchar_t * __s2, size_t __n)0int wmemcpy1024(wchar_t * __s1, const wchar_t * __s2, size_t __n)0wchar_t * wmemmove1024(wchar_t *__s1, const wchar_t *__s2, size_t __n)0wchar_t * wmempcpy1024(wchar_t * __s1, const wchar_t * __s2, size_t __n)0wchar_t * wmemset1024(wchar_t *__s, wchar_t __c, size_t __n)0wchar_t * wprintf1024(const wchar_t * __format, ...)0int wscanf1024(const wchar_t * __format, ...)0int y01024(double)0double y0f1024(float)0float y0l1024(long double)0long double y11024(double)0double y1f1024(float)0float y1l1024(long double)0long double yn1024(int, double)0double ynf1024(int, float)0float ynl1024(int, long double)0long double geany-1.32/data/filedefs/0000755000175000017500000000000013204261064012233 500000000000000geany-1.32/data/filedefs/filetypes.zephir0000644000175000017500000000152313204251306015401 00000000000000# For complete documentation of this file, please see Geany's main documentation [styling=HTML] [keywords=HTML] # all items must be in one line # these are Zephir instructions, overriding PHP list php=abstract bool break case catch class const continue default empty else false fetch finally fixed float for foreach function if int integer interface isset let long namespace new null private protected public return static string switch this throw true try typeof uint ulong unlikely var void while [lexer_properties=PHP] [settings=PHP] # default extension used when saving files extension=zep [indentation] #width=4 # 0 is spaces, 1 is tabs, 2 is tab & spaces #type=1 [build_settings] # %f will be replaced by the complete filename # %e will be replaced by the filename without extension # (use only one of it at one time) compiler=zephir build geany-1.32/data/filedefs/filetypes.yaml0000644000175000017500000000240213204251306015037 00000000000000# For complete documentation of this file, please see Geany's main documentation [styling] # Edit these in the colorscheme .conf file instead default=default comment=comment identifier=identifier keyword=keyword_1 number=number_1 reference=function document=preprocessor text=string_1 error=error operator=operator [keywords] # all items must be in one line keywords=true false yes no [settings] # default extension used when saving files extension=yaml # MIME type mime_type=application/x-yaml # the following characters are these which a "word" can contains, see documentation #wordchars=_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 # single comments, like # in this file comment_single=# # multiline comments #comment_open= #comment_close= # set to false if a comment character/string should start at column 0 of a line, true uses any # indentation of the line, e.g. setting to true causes the following on pressing CTRL+d #command_example(); # setting to false would generate this # command_example(); # This setting works only for single line comments comment_use_indent=true # context action command (please see Geany's main documentation for details) context_action_cmd= [indentation] #width=4 # 0 is spaces, 1 is tabs, 2 is tab & spaces #type=1 geany-1.32/data/filedefs/filetypes.xml0000644000175000017500000000255113204251306014702 00000000000000# For complete documentation of this file, please see Geany's main documentation [styling=HTML] [keywords=HTML] [settings] # default extension used when saving files extension=xml # MIME type mime_type=application/xml # the following characters are these which a "word" can contains, see documentation #wordchars=_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 # single comments, like # in this file #comment_single= # multiline comments comment_open= # set to false if a comment character/string should start at column 0 of a line, true uses any # indentation of the line, e.g. setting to true causes the following on pressing CTRL+d #command_example(); # setting to false would generate this # command_example(); # This setting works only for single line comments comment_use_indent=true # context action command (please see Geany's main documentation for details) context_action_cmd= # if this setting is set to true, a new line after a line ending with an # unclosed tag will be automatically indented xml_indent_tags=true [indentation] #width=4 # 0 is spaces, 1 is tabs, 2 is tab & spaces #type=1 [build-menu] # %f will be replaced by the complete filename # %e will be replaced by the filename without extension # (use only one of it at one time) FT_02_LB=_Lint FT_02_CM=xmllint --noout "%f" FT_02_WD= error_regex=(.+):([0-9]+): geany-1.32/data/filedefs/filetypes.vhdl0000644000175000017500000000574213204251306015044 00000000000000# For complete documentation of this file, please see Geany's main documentation [styling] # Edit these in the colorscheme .conf file instead default=default comment=comment comment_line_bang=comment_line block_comment=comment number=number_1 string=string_1 operator=operator identifier=identifier_1 stringeol=string_eol keyword=keyword_1 stdoperator=operator attribute=attribute stdfunction=function stdpackage=preprocessor stdtype=type userword=keyword_2 [keywords] # all items must be in one line keywords=access after alias all architecture array assert attribute begin block body buffer bus case component configuration constant disconnect downto else elsif end entity exit file for function generate generic group guarded if impure in inertial inout is label library linkage literal loop map new next null of on open others out package port postponed procedure process pure range record register reject report return select severity shared signal subtype then to transport type unaffected units until use variable wait when while with operators=abs and mod nand nor not or rem rol ror sla sll sra srl xnor xor attributes=left right low high ascending image value pos val succ pred leftof rightof base range reverse_range length delayed stable quiet transaction event active last_event last_active last_value driving driving_value simple_name path_name instance_name std_functions=now readline read writeline write endfile resolved to_bit to_bitvector to_stdulogic to_stdlogicvector to_stdulogicvector to_x01 to_x01z to_UX01 rising_edge falling_edge is_x shift_left shift_right rotate_left rotate_right resize to_integer to_unsigned to_signed std_match to_01 std_packages=std ieee work standard textio std_logic_1164 std_logic_arith std_logic_misc std_logic_signed std_logic_textio std_logic_unsigned numeric_bit numeric_std math_complex math_real vital_primitives vital_timing std_types=boolean bit character severity_level integer real time delay_length natural positive string bit_vector file_open_kind file_open_status line text side width std_ulogic std_ulogic_vector std_logic std_logic_vector X01 X01Z UX01 UX01Z unsigned signed userwords= [settings] # default extension used when saving files extension=vhd # MIME type mime_type=text/x-vhdl # the following characters are these which a "word" can contains, see documentation #wordchars=_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 # single comments, like # in this file comment_single=-- # multiline comments #comment_open= #comment_close= # set to false if a comment character/string should start at column 0 of a line, true uses any # indentation of the line, e.g. setting to true causes the following on pressing CTRL+d #command_example(); # setting to false would generate this # command_example(); # This setting works only for single line comments comment_use_indent=true # context action command (please see Geany's main documentation for details) context_action_cmd= [indentation] #width=4 # 0 is spaces, 1 is tabs, 2 is tab & spaces #type=1 geany-1.32/data/filedefs/filetypes.verilog0000644000175000017500000000470213204251306015551 00000000000000# For complete documentation of this file, please see Geany's main documentation [styling] # Edit these in the colorscheme .conf file instead default=default comment=comment comment_line=comment_line comment_line_bang=comment_line number=number_1 word=keyword_1 word2=keyword_2 word3=keyword_3 string=string_1 preprocessor=preprocessor operator=operator identifier=identifier_1 stringeol=string_eol userword=type comment_word=comment_doc_keyword input=keyword_4 output=keyword_4 inout=keyword_4 port_connect=keyword_4 [keywords] # all items must be in one line word=always and assign attribute begin buf bufif0 bufif1 case casex casez cmos deassign default defparam disable edge else end endattribute endcase endfunction endmodule endprimitive endspecify endtable endtask event for force forever fork function highz0 highz1 if ifnone initial join medium module large macromodule nand negedge nmos nor not notif0 notif1 or parameter pmos posedge primitive pull0 pull1 pulldown pullup rcmos realtime release repeat rnmos rpmos rtran rtranif0 rtranif1 scalared signed small specify specparam strength strong0 strong1 supply0 supply1 table task tran tranif0 tranif1 tri tri0 tri1 triand trior trireg unsigned vectored wait wand weak0 weak1 while wor xnor xor @ word2=$display $write $fdisplay $fwrite $strobe $fstrobe $monitor $fmonitor $time $realtime $finish $stop $setup $hold $width $setuphold $readmemb $readmemh $sreadmemb $sreadmemh $getpattern $history $save $restart $incsave $shm_open $shm_probe $shm_close $scale $showscopes $showvars word3=real integer time reg wire input output inout docComment= [settings] # default extension used when saving files extension=v # MIME type mime_type=text/x-verilog # the following characters are these which a "word" can contains, see documentation #wordchars=_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 # single comments, like # in this file comment_single=// # multiline comments comment_open=/* comment_close=*/ # set to false if a comment character/string should start at column 0 of a line, true uses any # indentation of the line, e.g. setting to true causes the following on pressing CTRL+d #command_example(); # setting to false would generate this # command_example(); # This setting works only for single line comments comment_use_indent=true # context action command (please see Geany's main documentation for details) context_action_cmd= [indentation] #width=4 # 0 is spaces, 1 is tabs, 2 is tab & spaces #type=1 geany-1.32/data/filedefs/filetypes.vala0000644000175000017500000000610013204251306015017 00000000000000# For complete documentation of this file, please see Geany's main documentation [styling=C] [keywords] # all items must be in one line primary=abstract as async base bool break callback case catch char class const constpointer construct continue default delegate delete do double dynamic else ensures enum errordomain extern false finally float for foreach generic get global if in inline int int16 int32 int64 int8 interface internal is lock long namespace new null out override owned private protected public ref requires return set sealed short signal size_t sizeof ssize_t static string struct switch this throw throws time_t true try typeof uchar uint uint16 uint32 uint64 uint8 ulong unichar unowned ushort using value var virtual void weak while yield #secondary= # these are the Doxygen and Valadoc keywords docComment=a addindex addtogroup anchor arg attention author authors b brief bug c callergraph callgraph category cite class code cond copybrief copydetails copydoc copyright date def defgroup deprecated details dir dontinclude dot dotfile e else elseif em endcode endcond enddot endhtmlonly endif endinternal endlatexonly endlink endmanonly endmsc endrtfonly endverbatim endxmlonly enum example exception extends file fn headerfile hideinitializer htmlinclude htmlonly if ifnot image implements include includelineno ingroup inheritDoc interface internal invariant latexonly li line link mainpage manonly memberof msc mscfile n name namespace nosubgrouping note overload p package page par paragraph param post pre private privatesection property protected protectedsection protocol public publicsection ref related relatedalso relates relatesalso remark remarks result return returns retval rtfonly sa section see short showinitializer since skip skipline snippet struct subpage subsection subsubsection tableofcontents test throw throws todo tparam typedef union until var verbatim verbinclude version warning weakgroup xmlonly xrefitem [lexer_properties=C] lexer.cpp.triplequoted.strings=1 [settings] lexer_filetype=C # default extension used when saving files extension=vala # MIME type mime_type=text/x-vala # the following characters are these which a "word" can contains, see documentation #wordchars=_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 # single comments, like # in this file comment_single=// # multiline comments comment_open=/* comment_close=*/ # set to false if a comment character/string should start at column 0 of a line, true uses any # indentation of the line, e.g. setting to true causes the following on pressing CTRL+d #command_example(); # setting to false would generate this # command_example(); # This setting works only for single line comments #comment_use_indent=true # context action command (please see Geany's main documentation for details) #context_action_cmd= [indentation] #width=4 # 0 is spaces, 1 is tabs, 2 is tab & spaces #type=1 [build_settings] # %f will be replaced by the complete filename # %e will be replaced by the filename without extension # (use only one of it at one time) compiler=valac -c "%f" linker=valac "%f" run_cmd=./"%e" geany-1.32/data/filedefs/filetypes.txt2tags0000644000175000017500000000124313204251306015657 00000000000000# For complete documentation of this file, please see Geany's main documentation [styling] # Edit these in the colorscheme .conf file instead default=default strong=tag emphasis=tag underlined=tag header1=tag header2=tag header3=tag header4=tag header5=tag header6=tag ulist_item=tag olist_item=tag blockquote=tag strikeout=tag hrule=tag link=function code=identifier_1 codebk=identifier_2 comment=comment option=operator preproc=preprocessor postproc=preprocessor [settings] # default extension used when saving files extension=txt2tags # MIME type mime_type=text/x-txt2tags # sort tags by appearance symbol_list_sort_mode=1 [keywords] primary=includeconf options toc geany-1.32/data/filedefs/filetypes.tcl0000644000175000017500000001674613204251306014677 00000000000000# For complete documentation of this file; please see Geany's main documentation [styling] # Edit these in the colorscheme .conf file instead default=default comment=comment commentline=comment_line commentbox=comment blockcomment=comment number=number_1 operator=operator identifier=identifier_1 subbrace=identifier_2 wordinquote=string_1 inquote=string_1 substitution=function modifier=operator expand=default wordtcl=keyword_1 wordtk=keyword_2 worditcl=keyword_3 wordtkcmds=keyword_4 wordexpand=keyword_4 [keywords] # all items must be in one line tcl=after append apply array auto_execok auto_import auto_load auto_load_index auto_mkindex auto_mkindex_old auto_qualify auto_reset beep bgerror binary break case catch cd chan clock close concat continue coroutine dde default dict echo else elseif encoding eof error eval exec exit expr fblocked fconfigure fcopy file fileevent filename flush for foreach format gets glob global history http if incr info interp join lappend lassign lindex linsert list llength load loadTk lrange lrepeat lreplace lreverse lsearch lset lsort mathfunc mathop memory msgcat namespace oo::class oo::copy oo::define oo::objdefine oo::object open package parray pid pkg::create pkg_mkIndex platform platform::shell Platform-specific proc puts pwd read refchan regexp registry regsub rename resource re_syntax return Safe Base scan seek set socket source split string subst switch tailcall Tcl tcl::prefix tcl_endOfWord tcl_findLibrary tclLog tclMacPkgSearch tclPkgSetup tclPkgUnknown tcl_startOfNextWord tcl_startOfPreviousWord tcltest tclvars tcl_wordBreakAfter tcl_wordBreakBefore tell throw time tm trace try unknown unload unset update uplevel upvar variable vwait while yield zlib tk=bell bind bindtags bitmap button canvas checkbutton clipboard colors console cursors destroy entry event focus font frame grab grid image Inter-client keysyms label labelframe listbox loadTk lower menu menubutton message option options pack panedwindow photo place radiobutton raise scale scrollbar selection send spinbox text toplevel winfo wish wm itcl=@scope body class code common component configbody constructor define destructor hull import inherit itcl itk itk_component itk_initialize itk_interior itk_option iwidgets keep method private protected public tkcommands=tk tk_bisque tkButtonAutoInvoke tkButtonDown tkButtonEnter tkButtonInvoke tkButtonLeave tkButtonUp tkCancelRepeat tkCheckRadioDown tkCheckRadioEnter tkCheckRadioInvoke tk_chooseColor tk_chooseDirectory tkColorDialog tkColorDialog_BuildDialog tkColorDialog_CancelCmd tkColorDialog_Config tkColorDialog_CreateSelector tkColorDialog_DrawColorScale tkColorDialog_EnterColorBar tkColorDialog_HandleRGBEntry tkColorDialog_HandleSelEntry tkColorDialog_InitValues tkColorDialog_LeaveColorBar tkColorDialog_MoveSelector tkColorDialog_OkCmd tkColorDialog_RedrawColorBars tkColorDialog_RedrawFinalColor tkColorDialog_ReleaseMouse tkColorDialog_ResizeColorBars tkColorDialog_RgbToX tkColorDialog_SetRGBValue tkColorDialog_StartMove tkColorDialog_XToRgb tkConsoleAbout tkConsoleBind tkConsoleExit tkConsoleHistory tkConsoleInit tkConsoleInsert tkConsoleInvoke tkConsoleOutput tkConsolePrompt tkConsoleSource tkDarken tk_dialog tkEntryAutoScan tkEntryBackspace tkEntryButton1 tkEntryClosestGap tkEntryGetSelection tkEntryInsert tkEntryKeySelect tkEntryMouseSelect tkEntryNextWord tkEntryPaste tkEntryPreviousWord tkEntrySeeInsert tkEntrySetCursor tkEntryTranspose tkerror tkEventMotifBindings tkFDGetFileTypes tkFirstMenu tk_focusFollowsMouse tkFocusGroup_BindIn tkFocusGroup_BindOut tkFocusGroup_Create tkFocusGroup_Destroy tkFocusGroup_In tkFocusGroup_Out tk_focusNext tkFocusOK tk_focusPrev tkGenerateMenuSelect tk_getOpenFile tk_getSaveFile tkIconList tkIconList_Add tkIconList_Arrange tkIconList_AutoScan tkIconList_Btn1 tkIconList_Config tkIconList_Create tkIconList_CtrlBtn1 tkIconList_Curselection tkIconList_DeleteAll tkIconList_Double1 tkIconList_DrawSelection tkIconList_FocusIn tkIconList_FocusOut tkIconList_Get tkIconList_Goto tkIconList_Index tkIconList_Invoke tkIconList_KeyPress tkIconList_Leave1 tkIconList_LeftRight tkIconList_Motion1 tkIconList_Reset tkIconList_ReturnKey tkIconList_See tkIconList_Select tkIconList_Selection tkIconList_ShiftBtn1 tkIconList_UpDown tkListbox tkListboxAutoScan tkListboxBeginExtend tkListboxBeginSelect tkListboxBeginToggle tkListboxCancel tkListboxDataExtend tkListboxExtendUpDown tkListboxKeyAccel_Goto tkListboxKeyAccel_Key tkListboxKeyAccel_Reset tkListboxKeyAccel_Set tkListboxKeyAccel_Unset tkListboxMotion tkListboxSelectAll tkListboxUpDown tkMbButtonUp tkMbEnter tkMbLeave tkMbMotion tkMbPost tkMenuButtonDown tkMenuDownArrow tkMenuDup tkMenuEscape tkMenuFind tkMenuFindName tkMenuFirstEntry tkMenuInvoke tkMenuLeave tkMenuLeftArrow tkMenuMotion tkMenuNextEntry tkMenuNextMenu tkMenuRightArrow tk_menuSetFocus tkMenuUnpost tkMenuUpArrow tk_messageBox tkMessageBox tkMotifFDialog tkMotifFDialog_ActivateDList tkMotifFDialog_ActivateFEnt tkMotifFDialog_ActivateFList tkMotifFDialog_ActivateSEnt tkMotifFDialog_BrowseDList tkMotifFDialog_BrowseFList tkMotifFDialog_BuildUI tkMotifFDialog_CancelCmd tkMotifFDialog_Config tkMotifFDialog_Create tkMotifFDialog_FileTypes tkMotifFDialog_FilterCmd tkMotifFDialog_InterpFilter tkMotifFDialog_LoadFiles tkMotifFDialog_MakeSList tkMotifFDialog_OkCmd tkMotifFDialog_SetFilter tkMotifFDialog_SetListMode tkMotifFDialog_Update tk_optionMenu tk_popup tkPostOverPoint tkRecolorTree tkRestoreOldGrab tkSaveGrabInfo tkScaleActivate tkScaleButton2Down tkScaleButtonDown tkScaleControlPress tkScaleDrag tkScaleEndDrag tkScaleIncrement tkScreenChanged tkScrollButton2Down tkScrollButtonDown tkScrollButtonDrag tkScrollButtonUp tkScrollByPages tkScrollByUnits tkScrollDrag tkScrollEndDrag tkScrollSelect tkScrollStartDrag tkScrollTopBottom tkScrollToPos tk_setPalette tkTabToWindow tkTearOffMenu tkTextAutoScan tkTextButton1 tkTextClosestGap tk_textCopy tk_textCut tkTextInsert tkTextKeyExtend tkTextKeySelect tkTextNextPara tkTextNextPos tkTextNextWord tk_textPaste tkTextPaste tkTextPrevPara tkTextPrevPos tkTextPrevWord tkTextResetAnchor tkTextScrollPages tkTextSelectTo tkTextSetCursor tkTextTranspose tkTextUpDownLine tkTraverseToMenu tkTraverseWithinMenu tkvars tkwait toplevel ttk::button ttk::checkbutton ttk::combobox ttk::entry ttk::frame ttk::image ttk::intro ttk::label ttk::labelframe ttk::menubutton ttk::notebook ttk::panedwindow ttk::progressbar ttk::radiobutton ttk::scale ttk::scrollbar ttk::separator ttk::sizegrip ttk::spinbox ttk::style ttk::treeview ttk::widget ttk_vsapi expand= [settings] # default extension used when saving files extension=tcl # MIME type mime_type=text/x-tcl # the following characters are these which a "word" can contains, see documentation #wordchars=_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 # single comments, like # in this file comment_single=# # multiline comments #comment_open= #comment_close= # set to false if a comment character/string should start at column 0 of a line, true uses any # indentation of the line, e.g. setting to true causes the following on pressing CTRL+d #command_example(); # setting to false would generate this # command_example(); # This setting works only for single line comments comment_use_indent=true # context action command (please see Geany's main documentation for details) context_action_cmd= [indentation] #width=4 # 0 is spaces, 1 is tabs, 2 is tab & spaces #type=1 [build_settings] # %f will be replaced by the complete filename # %e will be replaced by the filename without extension # (use only one of it at one time) compiler=tclsh "%f" run_cmd=tclsh "%f" geany-1.32/data/filedefs/filetypes.sql0000644000175000017500000002110013204251306014670 00000000000000# For complete documentation of this file, please see Geany's main documentation [styling] # Edit these in the colorscheme .conf file instead default=default comment=comment commentline=comment_line commentlinedoc=comment_line_doc commentdoc=comment_doc commentdockeyword=comment_doc_keyword commentdockeyworderror=comment_doc_keyword_error number=number_1 word=keyword_1 word2=keyword_2 string=string_1 character=character operator=operator identifier=identifier_1 sqlplus=default sqlplus_prompt=default sqlplus_comment=comment quotedidentifier=identifier_2 qoperator=operator [keywords] # all items must be in one line keywords=a abort abs absolute access action ada add admin after aggregate alias all allocate also alter always analyse analyze and any are array as asc asensitive assertion assignment asymmetric at atomic attribute attributes audit authorization auto_increment avg avg_row_length backup backward before begin bernoulli between bigint binary bit bit_length bitvar blob bool boolean both breadth break browse bulk by c cache call called cardinality cascade cascaded case cast catalog catalog_name ceil ceiling chain change char char_length character character_length character_set_catalog character_set_name character_set_schema characteristics characters check checked checkpoint checksum class class_origin clob close cluster clustered coalesce cobol collate collation collation_catalog collation_name collation_schema collect column column_name columns command_function command_function_code comment commit committed completion compress compute condition condition_number connect connection connection_name constraint constraint_catalog constraint_name constraint_schema constraints constructor contains containstable continue conversion convert copy corr corresponding count covar_pop covar_samp create createdb createrole createuser cross csv cube cume_dist current current_date current_default_transform_group current_path current_role current_time current_timestamp current_transform_group_for_type current_user cursor cursor_name cycle data database databases date datetime datetime_interval_code datetime_interval_precision day day_hour day_microsecond day_minute day_second dayofmonth dayofweek dayofyear dbcc deallocate dec decimal declare default defaults deferrable deferred defined definer degree delay_key_write delayed delete delimiter delimiters dense_rank deny depth deref derived desc describe descriptor destroy destructor deterministic diagnostics dictionary disable disconnect disk dispatch distinct distinctrow distributed div do domain double drop dual dummy dump dynamic dynamic_function dynamic_function_code each element else elseif enable enclosed encoding encrypted end end-exec enum equals errlvl escape escaped every except exception exclude excluding exclusive exec execute existing exists exit exp explain external extract false fetch fields file fillfactor filter final first float float4 float8 floor flush following for force foreign fortran forward found free freetext freetexttable freeze from full fulltext function fusion g general generated get global go goto grant granted grants greatest group grouping handler having header heap hierarchy high_priority hold holdlock host hosts hour hour_microsecond hour_minute hour_second identified identity identity_insert identitycol if ignore ilike immediate immutable implementation implicit in include including increment index indicator infile infix inherit inherits initial initialize initially inner inout input insensitive insert insert_id instance instantiable instead int int1 int2 int3 int4 int8 integer intersect intersection interval into invoker is isam isnull isolation iterate join k key key_member key_type keys kill lancompiler language large last last_insert_id lateral leading least leave left length less level like limit lineno lines listen ln load local localtime localtimestamp location locator lock login logs long longblob longtext loop low_priority lower m map match matched max max_rows maxextents maxvalue mediumblob mediumint mediumtext member merge message_length message_octet_length message_text method middleint min min_rows minus minute minute_microsecond minute_second minvalue mlslabel mod mode modifies modify module month monthname more move multiset mumps myisam name names national natural nchar nclob nesting new next no no_write_to_binlog noaudit nocheck nocompress nocreatedb nocreaterole nocreateuser noinherit nologin nonclustered none normalize normalized nosuperuser not nothing notify notnull nowait null nullable nullif nulls number numeric object octet_length octets of off offline offset offsets oids old on online only open opendatasource openquery openrowset openxml operation operator optimize option optionally options or order ordering ordinality others out outer outfile output over overlaps overlay overriding owner pack_keys pad parameter parameter_mode parameter_name parameter_ordinal_position parameter_specific_catalog parameter_specific_name parameter_specific_schema parameters partial partition pascal password path pctfree percent percent_rank percentile_cont percentile_disc placing plan pli position postfix power preceding precision prefix preorder prepare prepared preserve primary print prior privileges proc procedural procedure process processlist public purge quote raid0 raiserror range rank raw read reads readtext real recheck reconfigure recursive ref references referencing regexp regr_avgx regr_avgy regr_count regr_intercept regr_r2 regr_slope regr_sxx regr_sxy regr_syy reindex relative release reload rename repeat repeatable replace replication require reset resignal resource restart restore restrict result return returned_cardinality returned_length returned_octet_length returned_sqlstate returns revoke right rlike role rollback rollup routine routine_catalog routine_name routine_schema row row_count row_number rowcount rowguidcol rowid rownum rows rule save savepoint scale schema schema_name schemas scope scope_catalog scope_name scope_schema scroll search second second_microsecond section security select self sensitive separator sequence serializable server_name session session_user set setof sets setuser share show shutdown signal similar simple size smallint some soname source space spatial specific specific_name specifictype sql sql_big_result sql_big_selects sql_big_tables sql_calc_found_rows sql_log_off sql_log_update sql_low_priority_updates sql_select_limit sql_small_result sql_warnings sqlca sqlcode sqlerror sqlexception sqlstate sqlwarning sqrt ssl stable start starting state statement static statistics status stddev_pop stddev_samp stdin stdout storage straight_join strict string structure style subclass_origin sublist submultiset substring successful sum superuser symmetric synonym sysdate sysid system system_user table table_name tables tablesample tablespace temp template temporary terminate terminated text textsize than then ties time timestamp timezone_hour timezone_minute tinyblob tinyint tinytext to toast top top_level_count trailing tran transaction transaction_active transactions_committed transactions_rolled_back transform transforms translate translation treat trigger trigger_catalog trigger_name trigger_schema trim true truncate trusted tsequal type uescape uid unbounded uncommitted under undo unencrypted union unique unknown unlisten unlock unnamed unnest unsigned until update updatetext upper usage use user user_defined_type_catalog user_defined_type_code user_defined_type_name user_defined_type_schema using utc_date utc_time utc_timestamp vacuum valid validate validator value values var_pop var_samp varbinary varchar varchar2 varcharacter variable variables varying verbose view volatile waitfor when whenever where while width_bucket window with within without work write writetext x509 xor year year_month zerofill zone [settings] # default extension used when saving files extension=sql # MIME type mime_type=text/x-sql # the following characters are these which a "word" can contains, see documentation #wordchars=_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 # single comments, like # in this file comment_single=--\s # multiline comments comment_open=/* comment_close=*/ # set to false if a comment character/string should start at column 0 of a line, true uses any # indentation of the line, e.g. setting to true causes the following on pressing CTRL+d #command_example(); # setting to false would generate this # command_example(); # This setting works only for single line comments comment_use_indent=true # context action command (please see Geany's main documentation for details) context_action_cmd= [indentation] #width=4 # 0 is spaces, 1 is tabs, 2 is tab & spaces #type=1 geany-1.32/data/filedefs/filetypes.sh0000644000175000017500000000324613204251306014516 00000000000000# For complete documentation of this file, please see Geany's main documentation [styling] # Edit these in the colorscheme .conf file instead default=default commentline=comment_line number=number_1 word=keyword_1 string=string_1 character=character operator=operator identifier=identifier backticks=backticks param=parameter scalar=identifier_1 error=error here_delim=here_doc here_q=here_doc [keywords] primary=break case continue do done elif else esac eval exit export fi for function goto if in integer return set shift then until while [settings] # default extension used when saving files extension=sh # MIME type mime_type=application/x-shellscript # the following characters are these which a "word" can contains, see documentation #wordchars=_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 # single comments, like # in this file comment_single=# # multiline comments #comment_open= #comment_close= # set to false if a comment character/string should start a column 0 of a line, true uses any # indentation of the line, e.g. setting to true causes the following on pressing CTRL+d #command_example(); # setting to false would generate this # command_example(); # This setting works only for single line comments comment_use_indent=true # context action command (please see Geany's main documentation for details) context_action_cmd= [indentation] #width=4 # 0 is spaces, 1 is tabs, 2 is tab & spaces #type=1 [build-menu] # %f will be replaced by the complete filename # %e will be replaced by the filename without extension # (use only one of it at one time) FT_02_LB=_Lint FT_02_CM=shellcheck --format=gcc "%f" FT_02_WD= EX_00_LB=_Execute EX_00_CM="./%f" EX_00_WD= geany-1.32/data/filedefs/filetypes.Scala.conf0000644000175000017500000000270613204251306016053 00000000000000# Based on file by werg # For complete documentation of this file, please see Geany's main documentation [styling=C] [keywords] # all items must be in one line primary=abstract case catch class def do else extends false final finally for forSome if implicit import lazy match new object override package private protected requires return sealed throw trait true try type val var with while yield @ => secondary=null super this AllRef Any AnyRef Array Attribute Elem Iterable List Option Some Stack String Unit Console Nil None Predef # these are some doxygen keywords (incomplete) docComment=attention author brief bug class code date def enum example exception file fn namespace note param remarks return see since struct throw todo typedef var version warning union [lexer_properties=C] lexer.cpp.triplequoted.strings=1 [settings] lexer_filetype=C # default extension used when saving files extension=scala # MIME type mime_type=text/x-scala # the following characters are these which a "word" can contains, see documentation #wordchars=_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 # single comments, like # in this file comment_single=// # multiline comments comment_open=/* comment_close=*/ comment_use_indent=true #[build_settings] # %f will be replaced by the complete filename # %e will be replaced by the filename without extension # (use only one of it at one time) #compiler=g++ -Wall -c "%f" #linker=g++ -Wall -o "%e" "%f" #run_cmd="./%e" geany-1.32/data/filedefs/filetypes.rust0000644000175000017500000000405713204251306015102 00000000000000# For complete documentation of this file, please see Geany's main documentation [styling] # Edit these in the colorscheme .conf file instead default=default commentblock=comment commentline=comment_line commentblockdoc=comment_doc commentlinedoc=comment_doc number=number_1 word=keyword_1 word2=keyword_2 word3=keyword_3 word4=type string=string_1 stringraw=string_2 character=character bytestring=string_1 bytestringraw=string_2 bytecharacter=character operator=operator identifier=identifier_1 lifetime=parameter macro=preprocessor lexerror=error [keywords] # all items must be in one line primary=abstract alignof as become box break const continue crate do else enum extern false final fn for if impl in let loop macro match mod move mut offsetof override priv proc pub pure ref return self sizeof static struct super trait true type typeof unsafe unsized use virtual where while yield secondary=bool char f32 f64 i16 i32 i64 i8 isize str u16 u32 u64 u8 usize tertiary=Self [lexer_properties] styling.within.preprocessor=1 lexer.cpp.track.preprocessor=0 [settings] # default extension used when saving files extension=rs # MIME type mime_type=text/x-rustsrc # single comments, like # in this file comment_single=// # multiline comments comment_open=/* comment_close=*/ # set to false if a comment character/string should start at column 0 of a line, true uses any # indentation of the line, e.g. setting to true causes the following on pressing CTRL+d #command_example(); # setting to false would generate this # command_example(); # This setting works only for single line comments comment_use_indent=true # context action command (please see Geany's main documentation for details) context_action_cmd= [indentation] #width=4 # 0 is spaces, 1 is tabs, 2 is tab & spaces #type=0 [build-menu] FT_00_LB=Compile FT_00_CM=rustc "%f" FT_00_WD= NF_00_LB=Cargo Build NF_00_CM=cargo build NF_00_WD= NF_01_LB=Cargo Test NF_01_CM=cargo test NF_01_WD= NF_02_LB=Cargo Bench NF_02_CM=cargo bench NF_02_WD= EX_00_LB=Run EX_00_CM="./%e" EX_00_WD= EX_01_LB=Cargo Run EX_01_CM=cargo run EX_01_WD= geany-1.32/data/filedefs/filetypes.ruby0000644000175000017500000000431713204251306015065 00000000000000# For complete documentation of this file, please see Geany's main documentation [styling] # Edit these in the colorscheme .conf file instead default=default commentline=comment_line number=number_1 string=string_1 character=character word=keyword_1 global=type symbol=preprocessor classname=class defname=function operator=operator identifier=identifier_1 modulename=type backticks=backticks instancevar=default classvar=default datasection=default heredelim=operator worddemoted=keyword_1 stdin=default stdout=default stderr=default regex=regex here_q=here_doc here_qq=here_doc here_qx=here_doc string_q=string_2 string_qq=string_2 string_qx=string_2 string_qr=string_2 string_qw=string_2 upper_bound=default error=error pod=comment_doc [keywords] # all items must be in one line primary=__FILE__ load define_method attr_accessor attr_writer attr_reader and def end in or self unless __LINE__ begin defined? ensure module redo super until BEGIN break do false next rescue then when END case else for nil include require require_relative retry true while alias class elsif if not return undef yield [settings] # default extension used when saving files extension=rb # MIME type mime_type=application/x-ruby # the following characters are these which a "word" can contains, see documentation #wordchars=_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 # single comments, like # in this file comment_single=# # multiline comments #comment_open==begin #comment_close==end # set to false if a comment character/string should start at column 0 of a line, true uses any # indentation of the line, e.g. setting to true causes the following on pressing CTRL+d #command_example(); # setting to false would generate this # command_example(); # This setting works only for single line comments comment_use_indent=true # context action command (please see Geany's main documentation for details) context_action_cmd= [indentation] #width=4 # 0 is spaces, 1 is tabs, 2 is tab & spaces #type=1 [build-menu] # %f will be replaced by the complete filename # %e will be replaced by the filename without extension # (use only one of it at one time) FT_00_LB=_Compile FT_00_CM=ruby -wc "%f" FT_00_WD= EX_00_LB=_Execute EX_00_CM=ruby "%f" EX_00_WD= geany-1.32/data/filedefs/filetypes.restructuredtext0000644000175000017500000000204513204251306017540 00000000000000# For complete documentation of this file, please see Geany's main documentation [styling] # no syntax highlighting yet [settings] # default extension used when saving files extension=rst # MIME type mime_type=text/x-rst # the following characters are these which a "word" can contains, see documentation #wordchars=_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 # single comments, like # in this file comment_single=..\s # multiline comments #comment_open= #comment_close= # set to false if a comment character/string should start at column 0 of a line, true uses any # indentation of the line, e.g. setting to true causes the following on pressing CTRL+d #command_example(); # setting to false would generate this # command_example(); # This setting works only for single line comments #comment_use_indent=true # context action command (please see Geany's main documentation for details) context_action_cmd= # sort tags by appearance symbol_list_sort_mode=1 [indentation] #width=4 # 0 is spaces, 1 is tabs, 2 is tab & spaces #type=1 geany-1.32/data/filedefs/filetypes.r0000644000175000017500000000327213204251306014344 00000000000000# For complete documentation of this file, please see Geany's main documentation [styling] # Edit these in the colorscheme .conf file instead default=default comment=comment kword=keyword_1 operator=operator basekword=keyword_2 otherkword=keyword_3 number=number_1 string=string_1 string2=string_2 identifier=identifier infix=function infixeol=function [keywords] # all items must be in one line # use same keywords as in RStudio # https://github.com/rstudio/rstudio/blob/master/src/gwt/acesupport/acemode/r_highlight_rules.js primary=attach break detach else for function if in library new next repeat require return setClass setGeneric setGroupGeneric setMethod setRefClass source stop switch try tryCatch warning while # use same buildinConstants as in RStudio package=F FALSE Inf NA NA_integer_ NA_real_ NA_character_ NA_complex_ NaN NULL T TRUE package_other= [settings] # default extension used when saving files extension=R # the following characters are these which a "word" can contains, see documentation #wordchars=_.abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 # single comments, like # in this file comment_single=# # multiline comments #comment_open= #comment_close= # set to false if a comment character/string should start at column 0 of a line, true uses any # indentation of the line, e.g. setting to true causes the following on pressing CTRL+d #command_example(); # setting to false would generate this # command_example(); # This setting works only for single line comments comment_use_indent=false # context action command (please see Geany's main documentation for details) context_action_cmd= [indentation] #width=4 # 0 is spaces, 1 is tabs, 2 is tab & spaces #type=1 geany-1.32/data/filedefs/filetypes.python0000644000175000017500000000756413204251306015434 00000000000000# For complete documentation of this file, please see Geany's main documentation [styling] # Edit these in the colorscheme .conf file instead default=default commentline=comment_line number=number_1 string=string_1 character=character word=keyword_1 triple=string_2 tripledouble=string_2 classname=type defname=function operator=operator identifier=identifier_1 commentblock=comment stringeol=string_eol word2=keyword_2 decorator=decorator fstring=string_1 fcharacter=character ftriple=string_2 ftripledouble=string_2 [keywords] # all items must be in one line # both primary and identifiers are auto-generated by scripts/update-python-identifiers.sh # Python 2&3 keywords primary=False None True and as assert break class continue def del elif else except exec finally for from global if import in is lambda nonlocal not or pass print raise return try while with yield # additional keywords, will be highlighted with style "word2" # Python 2&3 builtins (minus ones in primary) identifiers=ArithmeticError AssertionError AttributeError BaseException BlockingIOError BrokenPipeError BufferError BytesWarning ChildProcessError ConnectionAbortedError ConnectionError ConnectionRefusedError ConnectionResetError DeprecationWarning EOFError Ellipsis EnvironmentError Exception FileExistsError FileNotFoundError FloatingPointError FutureWarning GeneratorExit IOError ImportError ImportWarning IndentationError IndexError InterruptedError IsADirectoryError KeyError KeyboardInterrupt LookupError MemoryError NameError NotADirectoryError NotImplemented NotImplementedError OSError OverflowError PendingDeprecationWarning PermissionError ProcessLookupError ReferenceError ResourceWarning RuntimeError RuntimeWarning StandardError StopIteration SyntaxError SyntaxWarning SystemError SystemExit TabError TimeoutError TypeError UnboundLocalError UnicodeDecodeError UnicodeEncodeError UnicodeError UnicodeTranslateError UnicodeWarning UserWarning ValueError Warning ZeroDivisionError __build_class__ __debug__ __doc__ __import__ __loader__ __name__ __package__ __spec__ abs all any apply ascii basestring bin bool buffer bytearray bytes callable chr classmethod cmp coerce compile complex copyright credits delattr dict dir divmod enumerate eval execfile exit file filter float format frozenset getattr globals hasattr hash help hex id input int intern isinstance issubclass iter len license list locals long map max memoryview min next object oct open ord pow property quit range raw_input reduce reload repr reversed round set setattr slice sorted staticmethod str sum super tuple type unichr unicode vars xrange zip [lexer_properties] fold.quotes.python=1 lexer.python.keywords2.no.sub.identifiers=1 [settings] # default extension used when saving files extension=py # MIME type mime_type=text/x-python # the following characters are these which a "word" can contains, see documentation #wordchars=_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 # single comment char, like # in this file comment_single=#\s # multiline comments #comment_open=""" #comment_close=""" # set to false if a comment character/string should start at column 0 of a line, true uses any # indentation of the line, e.g. setting to true causes the following on pressing CTRL+d #command_example(); # setting to false would generate this # command_example(); # This setting works only for single line comments comment_use_indent=true # context action command (please see Geany's main documentation for details) context_action_cmd= [indentation] #width=4 # 0 is spaces, 1 is tabs, 2 is tab & spaces #type=0 [build-menu] # %f will be replaced by the complete filename # %e will be replaced by the filename without extension # (use only one of it at one time) FT_00_LB=_Compile FT_00_CM=python -m py_compile "%f" FT_00_WD= FT_02_LB=_Lint FT_02_CM=pep8 --max-line-length=80 "%f" FT_02_WD= error_regex=(.+):([0-9]+):([0-9]+) EX_00_LB=_Execute EX_00_CM=python "%f" EX_00_WD= geany-1.32/data/filedefs/filetypes.powershell0000644000175000017500000001465413204251306016275 00000000000000# For complete documentation of this file, please see Geany's main documentation [styling] # Edit these in the colorscheme .conf file instead default=default comment=comment commentstream=comment_doc commentdockeyword=comment_doc_keyword string=string here_string=string here_character=character character=character number=number variable=type operator=operator identifier=identifier keyword=keyword cmdlet=keyword_2 alias=keyword_2 function=keyword_2 user1=keyword_3 [keywords] # all items must be in one line and in lowercase keywords=begin break catch continue default do else elseif end filter finally for foreach function if in process return trap throw try switch until where while cmdlets=add-computer add-content add-history add-member add-pssnapin add-type checkpoint-computer clear-content clear-eventlog clear-history clear-item clear-itemproperty clear-variable compare-object complete-transaction connect-pssession connect-wsman convert-path convertfrom-csv convertfrom-json convertfrom-securestring convertfrom-stringdata convertto-csv convertto-html convertto-json convertto-securestring convertto-xml copy-item copy-itemproperty debug-process disable-computerrestore disable-psbreakpoint disable-psremoting disable-pssessionconfiguration disable-wsmancredssp disconnect-pssession disconnect-wsman enable-computerrestore enable-psbreakpoint enable-psremoting enable-pssessionconfiguration enable-wsmancredssp enter-pssession exit-pssession export-alias export-cimcommand export-clixml export-console export-counter export-csv export-formatdata export-modulemember export-pssession foreach-object format-custom format-list format-table format-wide get-acl get-alias get-authenticodesignature get-childitem get-command get-computerrestorepoint get-content get-controlpanelitem get-counter get-credential get-culture get-date get-event get-eventlog get-eventsubscriber get-executionpolicy get-formatdata get-help get-history get-host get-hotfix get-item get-itemproperty get-job get-location get-member get-module get-pfxcertificate get-process get-psbreakpoint get-pscallstack get-psdrive get-psprovider get-pssession get-pssessionconfiguration get-pssnapin get-random get-service get-tracesource get-transaction get-typedata get-uiculture get-unique get-variable get-winevent get-wmiobject get-wsmancredssp get-wsmaninstance group-object import-alias import-clixml import-counter import-csv import-localizeddata import-module import-pssession invoke-command invoke-expression invoke-history invoke-item invoke-restmethod invoke-webrequest invoke-wmimethod invoke-wsmanaction join-path limit-eventlog measure-command measure-object move-item move-itemproperty new-alias new-event new-eventlog new-item new-itemproperty new-module new-modulemanifest new-object new-psdrive new-pssession new-pssessionconfigurationfile new-pssessionoption new-pstransportoption new-service new-timespan new-variable new-webserviceproxy new-winevent new-wsmaninstance new-wsmansessionoption out-default out-file out-gridview out-host out-null out-printer out-string pop-location push-location read-host receive-job receive-pssession register-engineevent register-jobevent register-objectevent register-pssessionconfiguration register-wmievent remove-computer remove-event remove-eventlog remove-item remove-itemproperty remove-job remove-module remove-psbreakpoint remove-psdrive remove-pssession remove-pssnapin remove-typedata remove-variable remove-wmiobject remove-wsmaninstance rename-computer rename-item rename-itemproperty reset-computermachinepassword resolve-path restart-computer restart-service restore-computer resume-job resume-service save-help select-object select-string select-xml send-mailmessage set-acl set-alias set-authenticodesignature set-content set-date set-executionpolicy set-item set-itemproperty set-location set-psbreakpoint set-psdebug set-pssessionconfiguration set-service set-strictmode set-tracesource set-variable set-wmiinstance set-wsmaninstance set-wsmanquickconfig show-command show-controlpanelitem show-eventlog sort-object split-path start-job start-process start-service start-sleep start-transaction start-transcript stop-computer stop-job stop-process stop-service stop-transcript suspend-job suspend-service tee-object test-computersecurechannel test-connection test-modulemanifest test-path test-pssessionconfigurationfile test-wsman trace-command unblock-file undo-transaction unregister-event unregister-pssessionconfiguration update-formatdata update-help update-list update-typedata use-transaction wait-event wait-job wait-process where-object write-debug write-error write-eventlog write-host write-output write-progress write-verbose write-warning aliases=ac asnp cat cd chdir clc clear clhy cli clp cls clv cnsn compare copy cp cpi cpp cvpa dbp del diff dir dnsn ebp echo epal epcsv epsn erase etsn exsn fc fl ft fw gal gbp gc gci gcm gcs gdr ghy gi gjb gl gm gmo gp gps group gsn gsnp gsv gu gv gwmi h history icm iex ihy ii ipal ipcsv ipmo ipsn irm ise iwmi iwr kill lp ls man md measure mi mount move mp mv nal ndr ni nmo nsn nv ogv oh popd ps pushd pwd r rbp rcjb rcsn rd rdr ren ri rjb rm rmdir rmo rni rnp rp rsn rsnp rujb rv rvpa rwmi sajb sal saps sasv sbp sc select set si sl sleep sls sort sp spjb spps spsv start sujb sv swmi tee type wjb write functions=clear-host get-verb help importsystemmodules mkdir more oss param parameter prompt psedit tabexpansion2 docComment=component description example externalhelp forwardhelpcategory forwardhelptargetname functionality inputs link notes outputs parameter remotehelprunspace role synopsis user1= [settings] # default extension used when saving files extension=ps1 # the following characters are these which a "word" can contains, see documentation #wordchars=_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 # single comments, like # in this file comment_single=# # multiline comments comment_open=<# comment_close=#> # set to false if a comment character/string should start at column 0 of a line, true uses any # indentation of the line, e.g. setting to true causes the following on pressing CTRL+d #command_example(); # setting to false would generate this # command_example(); # This setting works only for single line comments comment_use_indent=true # context action command (please see Geany's main documentation for details) context_action_cmd= [build_settings] # %f will be replaced by the complete filename # %e will be replaced by the filename without extension # (use only one of it at one time) run_cmd=powershell -file "%f" geany-1.32/data/filedefs/filetypes.po0000644000175000017500000000305413204251306014517 00000000000000# For complete documentation of this file, please see Geany's main documentation [styling] # Edit these in the colorscheme .conf file instead default=default comment=comment programmer_comment=comment_doc reference=comment flags=comment fuzzy=comment_doc_keyword msgid=keyword_1 msgid_text=string_1 msgid_text_eol=string_eol msgstr=keyword_2 msgstr_text=string_1 msgstr_text_eol=string_eol msgctxt=keyword_3 msgctxt_text=string_1 msgctxt_text_eol=string_eol error=error [settings] # default extension used when saving files extension=po # MIME type mime_type=text/x-gettext-translation # the following characters are these which a "word" can contains, see documentation #wordchars=_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 # single comments, like # in this file comment_single=# # multiline comments #comment_open= #comment_close= # set to false if a comment character/string should start at column 0 of a line, true uses any # indentation of the line, e.g. setting to true causes the following on pressing CTRL+d #command_example(); # setting to false would generate this # command_example(); # This setting works only for single line comments comment_use_indent=true # context action command (please see Geany's main documentation for details) context_action_cmd= [indentation] #width=4 # 0 is spaces, 1 is tabs, 2 is tab & spaces #type=1 [build_settings] # %f will be replaced by the complete filename # %e will be replaced by the filename without extension # (use only one of it at one time) compiler=msgfmt --check --check-accelerators=_ "%f" geany-1.32/data/filedefs/filetypes.php0000644000175000017500000000311613204251306014667 00000000000000# For complete documentation of this file, please see Geany's main documentation [styling=HTML] [keywords=HTML] [lexer_properties] phpscript.mode=1 [settings] # default extension used when saving files extension=php # MIME type mime_type=application/x-php # the following characters are these which a "word" can contains, see documentation #wordchars=_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 # these comments are used for PHP, the comments used in HTML are in filetypes.xml # single comments, like # in this file comment_single=// # multiline comments comment_open=/* comment_close=*/ # set to false if a comment character/string should start at column 0 of a line, true uses any # indentation of the line, e.g. setting to true causes the following on pressing CTRL+d #command_example(); # setting to false would generate this # command_example(); # This setting works only for single line comments comment_use_indent=true # context action command (please see Geany's main documentation for details) context_action_cmd= # if this setting is set to true, a new line after a line ending with an # unclosed tag will be automatically indented xml_indent_tags=true [indentation] #width=4 # 0 is spaces, 1 is tabs, 2 is tab & spaces #type=1 [build_settings] # %f will be replaced by the complete filename # %e will be replaced by the filename without extension # (use only one of it at one time) compiler=php -l "%f" run_cmd=php "%f" # use can also use something like this, to view your PHP or HTML files through a browser and webserver #run_cmd=firefox http://localhost/test_site/%f geany-1.32/data/filedefs/filetypes.perl0000644000175000017500000001033513204251306015043 00000000000000# For complete documentation of this file, please see Geany's main documentation [styling] # Edit these in the colorscheme .conf file instead default=default error=error commentline=comment_line number=number_1 word=keyword_1 string=string_1 character=character preprocessor=preprocessor operator=operator identifier=identifier scalar=identifier_1 pod=comment_doc regex=regex array=identifier_2 hash=identifier_3 symboltable=identifier_4 backticks=backticks pod_verbatim=comment_doc_keyword reg_subst=regex datasection=value here_delim=here_doc here_q=here_doc here_qq=here_doc here_qx=here_doc string_q=string_2 string_qq=string_2 string_qx=string_2 string_qr=string_2 string_qw=string_2 variable_indexer=default # *_var mappings may need checking string_var=identifier_1 regex_var=identifier_2 regsubst_var=identifier_2 backticks_var=identifier_2 here_qq_var=identifier_2 here_qx_var=identifier_2 string_qq_var=identifier_2 string_qx_var=identifier_2 string_qr_var=identifier_2 # translation: tr{}{} y{}{} xlat=string_2 # not used punctuation=default # obsolete: replaced by qq, qx, qr, qw longquote=here_doc sub_prototype=here_doc format_ident=string_2 format=string_2 [keywords] primary=NULL __FILE__ __LINE__ __PACKAGE__ __SUB__ __DATA__ __END__ AUTOLOAD BEGIN CORE DESTROY END EQ GE GT INIT LE LT NE CHECK abs accept alarm and atan2 bind binmode bless caller chdir chmod chomp chop chown chr chroot close closedir cmp connect continue cos crypt dbmclose dbmopen default defined delete die do dump each else elsif endgrent endhostent endnetent endprotoent endpwent endservent eof eq eval exec exists exit exp fcntl fileno flock for foreach fork format formline ge getc getgrent getgrgid getgrnam gethostbyaddr gethostbyname gethostent getlogin getnetbyaddr getnetbyname getnetent getpeername getpgrp getppid getpriority getprotobyname getprotobynumber getprotoent getpwent getpwnam getpwuid getservbyname getservbyport getservent getsockname getsockopt given glob gmtime goto grep gt hex if index int ioctl join keys kill last lc lcfirst le length link listen local localtime lock log lstat lt m map mkdir msgctl msgget msgrcv msgsnd my ne next no not oct open opendir or ord our pack package pipe pop pos print printf prototype push q qq qr quotemeta qu qw qx rand read readdir readline readlink readpipe recv redo ref rename require reset return reverse rewinddir rindex rmdir s say scalar seek seekdir select semctl semget semop send setgrent sethostent setnetent setpgrp setpriority setprotoent setpwent setservent setsockopt shift shmctl shmget shmread shmwrite shutdown sin sleep socket socketpair sort splice split sprintf sqrt srand stat state study sub substr symlink syscall sysopen sysread sysseek system syswrite tell telldir tie tied time times tr truncate uc ucfirst umask undef unless unlink unpack unshift untie until use utime values vec wait waitpid wantarray warn when while write x xor y [lexer_properties] styling.within.preprocessor=1 [settings] # default extension used when saving files extension=pl # MIME type mime_type=application/x-perl # the following characters are these which a "word" can contains, see documentation #wordchars=_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 # single comments, like # in this file comment_single=# # multiline comments #comment_open==begin #comment_close==cut # set to false if a comment character/string should start at column 0 of a line, true uses any # indentation of the line, e.g. setting to true causes the following on pressing CTRL+d #command_example(); # setting to false would generate this # command_example(); # This setting works only for single line comments comment_use_indent=true # context action command (please see Geany's main documentation for details) context_action_cmd= [indentation] #width=4 # 0 is spaces, 1 is tabs, 2 is tab & spaces #type=1 [build_settings] # %f will be replaced by the complete filename # %e will be replaced by the filename without extension # (use only one of it at one time) compiler=perl -cw "%f" # alternatively use perlcc #compiler=perlcc -o "%e" "%f" run_cmd=perl "%f" # Parse syntax check error messages and warnings, examples: # syntax error at test.pl line 7, near "{ # Unknown warnings category '1' at test.pl line 13 error_regex=.+ at (.+) line ([0-9]+).* geany-1.32/data/filedefs/filetypes.pascal0000644000175000017500000000474313204251306015352 00000000000000# For complete documentation of this file, please see Geany's main documentation [styling] # Edit these in the colorscheme .conf file instead default=default identifier=identifier_1 comment=comment comment2=comment_doc commentline=comment_line preprocessor=preprocessor preprocessor2=preprocessor number=number_1 hexnumber=number_1 word=keyword_1 string=string stringeol=string_eol character=character operator=operator asm=number_2 [keywords] # all items must be in one line primary=absolute abstract add and array as asm assembler automated begin boolean break byte case cdecl char class const constructor contains default deprecated destructor dispid dispinterface div do downto dynamic else end except export exports external far file final finalization finally for forward function goto if implementation implements in index inherited initialization inline integer interface is label library message mod name near nil nodefault not object of on or out overload override package packed pascal platform private procedure program property protected public published raise read readonly real record register reintroduce remove repeat requires resourcestring safecall sealed set shl shr static stdcall stored strict string then threadvar to try type unit unsafe until uses var varargs virtual while with word write writeonly xor [lexer_properties] # only highlight keywords like read,write if in appropriate context lexer.pascal.smart.highlighting=1 [settings] # default extension used when saving files extension=pas # MIME type mime_type=text/x-pascal # the following characters are these which a "word" can contains, see documentation #wordchars=_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 # single comments, like # in this file #comment_single= # multiline comments comment_open={ comment_close=} # set to false if a comment character/string should start at column 0 of a line, true uses any # indentation of the line, e.g. setting to true causes the following on pressing CTRL+d #command_example(); # setting to false would generate this # command_example(); # This setting works only for single line comments comment_use_indent=true # context action command (please see Geany's main documentation for details) context_action_cmd= [indentation] #width=4 # 0 is spaces, 1 is tabs, 2 is tab & spaces #type=1 [build_settings] # %f will be replaced by the complete filename # %e will be replaced by the filename without extension # (use only one of it at one time) compiler=fpc "%f" run_cmd="./%e" geany-1.32/data/filedefs/filetypes.objectivec0000644000175000017500000000370213204251306016216 00000000000000# For complete documentation of this file, please see Geany's main documentation [styling=C] [keywords] # all items must be in one line primary=asm auto break case char const continue default do double else enum extern float for goto if inline int long register restrict return short signed sizeof static struct switch typedef union unsigned void volatile while FALSE NULL TRUE secondary=@class @defs @dynamic @encode @end @implementation @interface @optional @package @public @private @property @protocol @protected @required @selector @synthesize @synchronized # these are some doxygen keywords (incomplete) docComment=attention author brief bug class code date def enum example exception file fn namespace note param remarks return see since struct throw todo typedef var version warning union [lexer_properties=C] lexer.cpp.verbatim.strings.allow.escapes=1 [settings] # default extension used when saving files extension=m # MIME type mime_type=text/x-objc # the following characters are these which a "word" can contains, see documentation #wordchars=_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 # single comments, like # in this file comment_single=// # multiline comments comment_open=/* comment_close=*/ # set to false if a comment character/string should start at column 0 of a line, true uses any # indentation of the line, e.g. setting to true causes the following on pressing CTRL+d #command_example(); # setting to false would generate this # command_example(); # This setting works only for single line comments comment_use_indent=true # context action command (please see Geany's main documentation for details) context_action_cmd= [indentation] #width=4 # 0 is spaces, 1 is tabs, 2 is tab & spaces #type=1 [build_settings] # %f will be replaced by the complete filename # %e will be replaced by the filename without extension # (use only one of it at one time) compiler=gcc -Wall -c "%f" linker=gcc -Wall -o "%e" "%f" -lobjc run_cmd="./%e" geany-1.32/data/filedefs/filetypes.nsis0000644000175000017500000001430513204251306015056 00000000000000# For complete documentation of this file, please see Geany's main documentation [styling] # Edit these in the colorscheme .conf file instead default=default comment=comment_line stringdq=string_1 stringlq=string_2 stringrq=string_2 function=keyword_1 variable=type label=label userdefined=keyword_2 sectiondef=keyword_1 subsectiondef=keyword_1 ifdefinedef=keyword_1 macrodef=keyword_1 stringvar=string_1 number=number_1 sectiongroup=keyword_1 pageex=keyword_1 functiondef=keyword_1 commentbox=comment [keywords] # all items must be in one line and in lowercase functions=abort addbrandingimage !addincludedir !addincludedirdir !addplugindir addsize addsizesize_to_add_to_section_in_kb allowrootdirinstall allowskipfiles !appendfile autoclosewindow bgfont bggradient brandingtext bringtofront call callinstdll caption captioninstaller_caption !cd changeui checkbitmap clearerrors completedtext componenttext contributors: copyfiles crccheck createdirectory createdirectorydirectory_name createfont createshortcut !define delete deleteinisec deleteinistr deleteregkey deleteregvalue !delfilefile detailprint detailprintmessage detailsbuttontext dirshow dirtext dirvar dirverify dirverifyauto !echo !echomessage !else enablewindow !endif enumregkey enumregvalue !error exch exec execshell !execute execwait expandenvstrings file filebufsize fileclose fileerrortext fileopen fileread filereadbyte fileseek filewrite filewritebyte findclose findfirst findnext findwindow flushini function functionend function_name getcurinsttype getcurrentaddress getcurrentaddressoutput getdlgitem getdllversion getdllversionlocal geterrorlevel getfiletime getfiletimelocal getfullpathname getfunctionaddress getinstdirerror getlabeladdress gettempfilename goto gotolabel hidewindow icon !if ifabort !ifdef iferrors iffileexists !ifmacrodef !ifmacrondef !ifndef ifrebootflag ifsilent !include initpluginsdir !insertmacro installbuttontext installcolors installdir installdirregkey instprogressflags insttype insttypegettext insttypesettext intcmp intcmpu intfmt intop iswindow langstring langstringup licensebkcolor licensedata licenseforceselection licenselangstring licensetext loadlanguagefile lockwindow logset logtext !macro !macroend makensis messagebox miscbuttontext name none nop outfile !packhdr page pagecallbacks pageex pageexend pop portions push pushstring quit readenvstr readinistr readregdword readregstr reboot regdll rename requestexecutionlevel reservefile return rmdir !searchparse searchpath !searchreplace section sectionend sectiongetflags sectiongetinsttypes sectiongetsize sectiongettext sectiongroup sectiongroupend sectionin sectionsetflags sectionsetinsttypes sectionsetsize sectionsettext sendmessage setautoclose setbrandingimage setcompress setcompressionlevel setcompressor setcompressordictsize setctlcolors setcurinsttype setdatablockoptimize setdatesave setdetailsprint setdetailsview seterrorlevel seterrors setfileattributes setfont setoutpath setoverwrite setpluginunload setrebootflag setregview setshellvarcontext setsilent showinstdetails showuninstdetails showwindow silentinstall silentuninstall sleep spacetexts strcmp strcmps strcpy strlen subcaption subsection subsectionend !system !tempfilesymbol !undef uninstallbuttontext uninstallcaption uninstallexename uninstallicon uninstallsubcaption uninstalltext uninstpage unregdll var !verbose viaddversionkey viproductversion !warning windowicon writeinistr writeregbin writeregdword writeregexpandstr writeregstr writeuninstaller xpstyle variables=$$ $` $' $" $0 $0, $1 $2 $3 $4 $5 $6 $7 $8 $9 $admintools $appdata $cdburn_area $cmdline $commonfiles $cookies $desktop $documents $exedir $favorites $fonts $history $hwndparent $instdir $internet_cache $language $music $nethood ${nsisdir} $outdir $pictures $pluginsdir $printhood $profile $programfiles $quicklaunch $\r $r0 $r1 $r2 $r3 $r4 $r5 $r6 $r7 $r8 $r9 $recent $resources $resources_localized $sendto $smprograms $smstartup $startmenu $sysdir $temp $templates $varname $videos $windir lables=all alt alwaysoff archive auto both bottom bzip2 center colored components control current custom directory dlg_id ext false file_attribute_archive file_attribute_hidden file_attribute_normal file_attribute_offline file_attribute_readonly file_attribute_system file_attribute_temporary filesonly force hidden hide hkcc hkcr hkcu hkdd hkey_classes_root hkey_current_config hkey_current_user hkey_dyn_data hkey_local_machine hkey_performance_data hkey_users hklm hkpd hku idabort idcancel idignore idno idok idretry idyes ifdiff ifnewer instfiles italic lastused leave left license listonly lzma manual mb_abortretryignore mb_defbutton1 mb_defbutton2 mb_defbutton3 mb_defbutton4 mb_iconexclamation mb_iconinformation mb_iconquestion mb_iconstop mb_ok mb_okcancel mb_retrycancel mb_right mb_setforeground mb_topmost mb_yesno mb_yesnocancel nevershow none nonfatal normal of off offline on open print readonly rebootok right shctx shift show silent silentlog smooth strike sw_hide sw_showmaximized sw_showmaximized sw_showminimized sw_showminimized sw_showminnoactive sw_showna sw_shownoactivate sw_shownormal sw_shownormal system temporary textonly top trim true try underline uninstconfirm zlib userdefined= [lexer_properties] nsis.uservars=1 nsis.ignorecase=1 [settings] # default extension used when saving files extension=nsi # the following characters are these which a "word" can contains, see documentation #wordchars=_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 # single comments, like # in this file comment_single=; # multiline comments #comment_open= #comment_close= # set to false if a comment character/string should start at column 0 of a line, true uses any # indentation of the line, e.g. setting to true causes the following on pressing CTRL+d #command_example(); # setting to false would generate this # command_example(); # This setting works only for single line comments comment_use_indent=true # context action command (please see Geany's main documentation for details) context_action_cmd= [indentation] #width=4 # 0 is spaces, 1 is tabs, 2 is tab & spaces #type=1 [build_settings] # %f will be replaced by the complete filename # %e will be replaced by the filename without extension # (use only one of it at one time) compiler=makensis "%f" run_cmd="./%e" geany-1.32/data/filedefs/filetypes.matlab0000644000175000017500000000310313204251306015334 00000000000000# For complete documentation of this file, please see Geany's main documentation [styling] # Edit these in the colorscheme .conf file instead default=default comment=comment command=function number=number_1 keyword=keyword_1 string=string_1 operator=operator identifier=identifier_1 doublequotedstring=string_2 [keywords] # all items must be in one line primary=break case catch classdef continue else elseif end enumeration events for function global if methods otherwise parfor persistent properties return switch try while [settings] # default extension used when saving files extension=m # MIME type mime_type=text/x-matlab # the following characters are these which a "word" can contains, see documentation #wordchars=_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 # single comments, like # in this file comment_single=% # multiline comments #comment_open= #comment_close= # set to false if a comment character/string should start at column 0 of a line, true uses any # indentation of the line, e.g. setting to true causes the following on pressing CTRL+d #command_example(); # setting to false would generate this # command_example(); # This setting works only for single line comments comment_use_indent=true # context action command (please see Geany's main documentation for details) context_action_cmd= [indentation] #width=4 # 0 is spaces, 1 is tabs, 2 is tab & spaces #type=1 [build_settings] # %f will be replaced by the complete filename # %e will be replaced by the filename without extension # (use only one of it at one time) compiler= run_cmd=octave -q "%f" geany-1.32/data/filedefs/filetypes.markdown0000644000175000017500000000117213204251306015722 00000000000000# For complete documentation of this file, please see Geany's main documentation [styling] # Edit these in the colorscheme .conf file instead default=default strong=string_3 emphasis=string_4 header1=keyword_1 header2=keyword_1 header3=keyword_1 header4=keyword_1 header5=keyword_1 header6=keyword_1 ulist_item=tag_unknown olist_item=tag_unknown blockquote=tag_unknown strikeout=tag_unknown hrule=tag_unknown link=keyword_1 code=attribute_unknown codebk=attribute_unknown [settings] # default extension used when saving files extension=mdml # MIME type mime_type=text/x-markdown # sort tags by appearance symbol_list_sort_mode=1 geany-1.32/data/filedefs/filetypes.makefile0000644000175000017500000000220513204251306015653 00000000000000# For complete documentation of this file, please see Geany's main documentation [styling] # Edit these in the colorscheme .conf file instead default=default comment=comment preprocessor=preprocessor identifier=identifier_4 operator=operator target=label ideol=type [settings] # default extension used when saving files extension=mak # MIME type mime_type=text/x-makefile # the following characters are these which a "word" can contains, see documentation #wordchars=_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 # single comments, like # in this file comment_single=# # multiline comments #comment_open= #comment_close= # set to false if a comment character/string should start at column 0 of a line, true uses any # indentation of the line, e.g. setting to true causes the following on pressing CTRL+d #command_example(); # setting to false would generate this # command_example(); # This setting works only for single line comments comment_use_indent=false # context action command (please see Geany's main documentation for details) context_action_cmd= [indentation] #width=4 # 0 is spaces, 1 is tabs, 2 is tab & spaces type=1 geany-1.32/data/filedefs/filetypes.lua0000644000175000017500000000727113204251306014667 00000000000000# For complete documentation of this file, please see Geany's main documentation [styling] # Edit these in the colorscheme .conf file instead default=default comment=comment commentline=comment_line commentdoc=comment_line_doc number=number_1 word=keyword_1 string=string_1 character=character literalstring=string_2 preprocessor=preprocessor operator=operator identifier=identifier_1 stringeol=string_eol function_basic=function function_other=type coroutines=class word5=keyword_1 word6=keyword_2 word7=keyword_3 word8=keyword_4 label=label [keywords] # all items must be in one line keywords=and break do else elseif end false for function if in local nil not or repeat return then true until while # Basic functions function_basic=_ALERT assert call collectgarbage coroutine debug dofile dostring error _ERRORMESSAGE foreach foreachi _G gcinfo getfenv getmetatable getn globals _INPUT io ipairs load loadfile loadlib loadstring math module newtype next os _OUTPUT pairs pcall print _PROMPT rawequal rawget rawset require select setfenv setmetatable sort _STDERR _STDIN _STDOUT string table tinsert tonumber tostring tremove type unpack _VERSION xpcall # String, (table) & math functions function_other=abs acos asin atan atan2 ceil cos deg exp floor format frexp gsub ldexp log log10 math.abs math.acos math.asin math.atan math.atan2 math.ceil math.cos math.cosh math.deg math.exp math.floor math.fmod math.frexp math.huge math.ldexp math.log math.log10 math.max math.min math.mod math.modf math.pi math.pow math.rad math.random math.randomseed math.sin math.sinh math.sqrt math.tan math.tanh max min mod rad random randomseed sin sqrt strbyte strchar strfind string.byte string.char string.dump string.find string.format string.gfind string.gmatch string.gsub string.len string.lower string.match string.rep string.reverse string.sub string.upper strlen strlower strrep strsub strupper table.concat table.foreach table.foreachi table.getn table.insert table.maxn table.remove table.setn table.sort tan # (coroutines), I/O & system facilities coroutines=appendto clock closefile coroutine.create coroutine.resume coroutine.running coroutine.status coroutine.wrap coroutine.yield date difftime execute exit flush getenv io.close io.flush io.input io.lines io.open io.output io.popen io.read io.stderr io.stdin io.stdout io.tmpfile io.type io.write openfile os.clock os.date os.difftime os.execute os.exit os.getenv os.remove os.rename os.setlocale os.time os.tmpname package.cpath package.loaded package.loadlib package.path package.preload package.seeall read readfrom remove rename seek setlocale time tmpfile tmpname write writeto # user definable keywords user1= user2= user3= user4= [settings] # default extension used when saving files extension=lua # MIME type mime_type=text/x-lua # the following characters are these which a "word" can contains, see documentation #wordchars=_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 # single comments, like # in this file comment_single=-- # multiline comments comment_open=--[[ comment_close=]]-- # set to false if a comment character/string should start at column 0 of a line, true uses any # indentation of the line, e.g. setting to true causes the following on pressing CTRL+d #command_example(); # setting to false would generate this # command_example(); # This setting works only for single line comments comment_use_indent=true # context action command (please see Geany's main documentation for details) context_action_cmd= [indentation] #width=4 # 0 is spaces, 1 is tabs, 2 is tab & spaces #type=1 [build_settings] # %f will be replaced by the complete filename # %e will be replaced by the filename without extension # (use only one of it at one time) compiler= run_cmd=lua "%f" geany-1.32/data/filedefs/filetypes.lisp0000644000175000017500000003027013204251306015050 00000000000000# For complete documentation of this file, please see Geany's main documentation [styling] # Edit these in the colorscheme .conf file instead default=default comment=comment_line multicomment=comment number=number_1 keyword=keyword_1 keywordkw=keyword_2 symbol=keyword_2 string=string_1 stringeol=string_eol identifier=identifier_1 operator=operator special=function [keywords] # all items must be in one line keywords=abort abs acons acos acosh add-method adjoin adjust-array adjustable-array-p alpha-char-p alphanumericp alter append apply applyhook apropos apropos-list aref arithmetic-error-operands arithmetic-error-operation array-dimension array-dimensions array-element-type array-has-fill-pointer-p array-in-bounds-p array-rank array-row-major-index array-total-size arrayp ash asin asinh assoc assoc-if assoc-if-not atan atanh atom augment-environment bit bit-and bit-andc1 bit-andc2 bit-eqv bit-ior bit-nand bit-nor bit-not bit-orc1 bit-orc2 bit-vector-p bit-xor boole both-case-p boundp break broadcast-stream-streams butlast byte byte-position byte-size caaaar caaadr caaar caadar caaddr caadr caar cadaar cadadr cadar caddar cadddr caddr cadr call-next-method car catenate cdaaar cdaadr cdaar cdadar cdaddr cdadr cdar cddaar cddadr cddar cdddar cddddr cdddr cddr cdr ceiling cell-error-name cerror change-class char char-bit char-bits char-code char-downcase char-equal char-font char-greaterp char-int char-lessp char-name char-not-equal char-not-greaterp char-not-lessp char-upcase char/= char< char<= char= char> char>= character characterp choose choose-if chunk cis class-name class-of clear-input close clrhash code-char coerce collect collect-alist collect-and collect-append collect-file collect-first collect-fn collect-hash collect-last collect-length collect-max collect-min collect-nconc collect-nth collect-or collect-plist collect-sum collecting-fn commonp compile compile-file compile-file-pathname compiled-function-p compiler-let compiler-macro-function compiler-macroexpand compiler-macroexpand-1 complement complex complexp compute-applicable-methods compute-restarts concatenate concatenated-stream-streams condition conjugate cons consp continue control-error copy-alist copy-list copy-pprint-dispatch copy-readtable copy-seq copy-symbol copy-tree cos cosh cotruncate count count-if count-if-not declaration-information declare decode-float decode-universal-time delete-duplicates delete-file delete-if delete-if-not delete-package denominator deposit-field describe describe-object digit-char digit-char-p directory directory-namestring disassemble dpb dribble echo-stream-input-stream echo-stream-output-stream ed eighth elt enclose encode-universal-time end-of-file type endp enough-namestring ensure--function eq eql equal equalp error documentation eval eval-when evalhook evenp every exp expand export expt f fboundp fdefinition ffloor fifth file-author file-error type file-error-pathname file-length file-namestring file-position file-string-length file-write-date fill fill-pointer find find-all-symbols find-class find-if find-if-not find-method find-package find-restart find-symbol finish-output first flet float float-digits float-precision float-radix float-sign floatp floor fourth funcall function function-information function-keywords function-lambda-expression functionp format gatherer generic-labels gcd generator generic-flet gensym gentemp get get-decoded-time get-internal-real-time get-internal-run-time get-output-stream-string get-properties get-setf-method get-setf-method-multiple-value get-universal-time getf gethash graphic-char-p hash-table-count hash-table-p hash-table-rehash-size hash-table-rehash-threshold hash-table-size hash-table-test host-namestring identity imagpart import in-package initialize-instance input-stream-p inspect int-char integer-decode-float integer-length integerp interactive-stream-p intern intersection invalid-method-error invoke-debugger invoke-restart isqrt keywordp last latch lcm ldb ldb-test ldiff length lisp-implementation-type lisp-implementation-version list list* list-all-packages list-length listen listp load load-logical-pathname-translations log logand logandc1 logandc2 logbitp logcount logeqv logical-pathname class logical-pathname logical-pathname-translations logior lognand lognor lognot logorc1 logorc2 logtest logxor lower-case-p machine-instance machine-type machine-version macro-function macroexpand macroexpand-1 make-array make-broadcast-stream make-char make-concatenated-stream make-condition make-dispatch-macro-character make-echo-stream make-hash-table make-instance make-instances-obsolete make-list make-load-form make-load-form-saving-slots make-package make-pathname make-random-state make-sequence make-string make-string-input-stream make-string-output-stream make-symbol make-synonym-stream make-two-way-stream makunbound map map-fn map-into mapc mapcan mapcar mapcon maphash mapl maplist mask mask-field max member member-if member-if-not merge merge-pathnames method-combination-error method-qualifiers min mingle minusp mismatch mod muffle-warning name-char namestring nbutlast nconc next-method-p next-out nintersection ninth no-applicable-method no-next-method not notany notevery nreconc nreverse nset-difference nset-exclusive-or nstring-capitalize nstring-downcase nstring-upcase nsublis nsubst nsubst-if nsubst-if-not nsubstitute nsubstitute-if nsubstitute-if-not nth nthcdr null numberp numerator nunion random random-state-p rassoc rassoc-if rassoc-if-not rational rationalize rationalp read read-byte read-char read-char-no-hang read-delimited-list read-from-string read-line read-preserving-whitespace readtable-case readtablep realp realpart reduce reinitialize-instance rem output-stream-p package-error type package-error-package package-name package-nicknames package-shadowing-symbols package-use-list package-used-by-list packagep pairlis parse-integer oddp open open-stream-p parse-macro parse-namestring pathname pathname-device pathname-directory pathname-host pathname-match-p pathname-name pathname-type pathname-version pathnamep peek-char phase plusp position position-if position-if-not positions pprint-dispatch pprint-fill pprint-indent pprint-linear probe-file proclaim pprint-newline pprint-tab pprint-tabular previous print print-object remhash remove remove-duplicates remove-method remprop rename-file rename-package provide replace require rest revappend reverse room round row-major-aref rplaca rplacd restart-name result-of sbit scale-float scan scan-alist scan-file scan-fn scan-fn-inclusive scan-hash scan-lists-of-lists scan-lists-of-lists-fringe scan-multiple scan-plist scan-range scan-sublists scan-symbols schar search second series set set-char-bit set-difference set-dispatch-macro-character set-exclusive-or set-macro-character set-pprint-dispatch set-syntax-from-char shadow shadowing-import shared-initialize short-site-name signal signum simple-bit-vector-p simple-condition-format-arguments simple-condition-format-string simple-string-p simple-vector-p sin sinh sixth sleep slot-boundp slot-exists-p slot-makunbound slot-missing slot-unbound slot-value software-type software-version some sort special-form-p split split-if sqrt stable-sort standard-char-p store-value stream-element-type stream-error-stream stream-external-format streamp string string-capitalize string-char-p string-downcase string-equal string-greaterp string-left-trim string-lessp string-not-equal string-not-greaterp string-not-lessp string-right-trim string-trim string-upcase string/= string< string<= string= string> string>= stringp sublis subseq subseries subsetp subst subst-if subst-if-not substitute substitute-if substitute-if-not subtypep svref sxhash symbol-function symbol-name symbol-package symbol-plist symbol-value symbolp synonym-stream-symbol tailp tan tanh tenth terpri third to-alter translate-logical-pathname translate-pathname tree-equal truename truncate two-way-stream-input-stream two-way-stream-output-stream type-error-datum type-error-expected-type type-of typep unexport unintern union unread-char until-if unuse-package update-instance-for-different-class update-instance-for-redefined-class upgraded-array-element-type upgraded-complex-part-type upper-case-p use-package use-value user-homedir-pathname values values-list variable-information vector vector-pop vector-push vector-push-extend vectorp warn warn wild-pathname-p write write-byte write-char write-string write-to-string y-or-n-p yes-or-no-p zerop special_keywords=always and appending array-dimension-limit array-rank-limit array-total-size-limit as assert call-arguments-limit call-method case catch ccase char-bits-limit char-code-limit char-control-bit char-font-limit char-hyper-bit char-meta-bit char-super-bit check-type check-type collect collecting compiler-let cond count counting ctypecase ctypecase decf declaim defclass def define-compiler-macro define-condition define-declaration define-method-combination define-modify-macro define-setf-method defmacro defmethod defpackage defstruct deftype defun defvar delete destructuring-bind do do* do-all-symbols do-external-symbols do-symbols doing dolist dotimes double-float-epsilon double-float-negative-epsilon ecase encapsulated etypecase finally for formatter gathering generic-function go handler-bind handler-case if ignore-errors in-package incf initially internal-time-units-per-second iterate lambda-list-keywords lambda-parameters-limit least-negative-double-float least-negative-long-float least-negative-normalized-double-float least-negative-normalized-long-float least-negative-normalized-short-float least-negative-normalized-single-float least-negative-short-float least-negative-single-float least-positive-double-float least-positive-long-float least-positive-normalized-double-float least-positive-normalized-long-float least-positive-normalized-short-float least-positive-normalized-single-float least-positive-short-float least-positive-single-float let let* load-time-value locally locally long-float-epsilon long-float-negative-epsilon long-site-name loop loop-finish mapping maximize maximizing minimize minimizing most-negative-double-float most-negative-fixnum most-negative-long-float most-negative-short-float most-negative-single-float most-positive-double-float most-positive-fixnum most-positive-long-float most-positive-short-float most-positive-single-float multiple-value-bind multiple-value-call multiple-value-list multiple-value-prog1 multiple-value-setq multiple-values-limit named nconc nconcing never next-in nil nth-value off-line-port optimizable-series-function or pi pop pprint-exit-if-list-exhausted pprint-logical-block pprint-pop print-unreadable-object producing prog prog* prog1 prog2 progn progv propagate-alterability psetf psetq push pushnew quote remf repeat restart-bind restart-case return return-from rotatef setf setq seventh shiftf short-float-epsilon short-float-negative-epsilon single-float-epsilon single-float-negative-epsilon step sum summing symbol-macrolet t tagbody terminate-producing the thereis time throw trace typecase unless until untrace unwind-protect when when while with with-accessors with-added-methods with-compilation-unit with-condition-restarts with-hash-table-iterator with-input-from-string with-open-file with-open-stream with-output-to-string with-package-iterator with-simple-restart with-slots with-standard-io-syntax [settings] # default extension used when saving files extension=lisp # the following characters are these which a "word" can contains, see documentation #wordchars=_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 # single comments, like # in this file comment_single=; # multiline comments comment_open=#| comment_close=|# # set to false if a comment character/string should start at column 0 of a line, true uses any # indentation of the line, e.g. setting to true causes the following on pressing CTRL+d #command_example(); # setting to false would generate this # command_example(); # This setting works only for single line comments comment_use_indent=true # context action command (please see Geany's main documentation for details) context_action_cmd= [indentation] #width=4 # 0 is spaces, 1 is tabs, 2 is tab & spaces #type=1 [build_settings] # %f will be replaced by the complete filename # %e will be replaced by the filename without extension # (use only one of it at one time) compiler= run_cmd=clisp "%f" geany-1.32/data/filedefs/filetypes.latex0000644000175000017500000001204413204251306015215 00000000000000# For complete documentation of this file, please see Geany's main documentation [styling] # Edit these in the colorscheme .conf file instead default=default command=keyword_1 tag=tag math=number_1 comment=comment # mappings below may need checking tag2=tag math2=number_1 comment2=comment verbatim=default shortcmd=keyword_1 special=keyword_2 cmdopt=keyword_1 error=error [keywords] # all items must be in one line primary=above abovedisplayshortskip abovedisplayskip abovewithdelims accent adjdemerits advance afterassignment aftergroup atop atopwithdelims badness baselineskip batchmode begin begingroup belowdisplayshortskip belowdisplayskip binoppenalty botmark box boxmaxdepth brokenpenalty catcode char chardef cleaders closein closeout clubpenalty copy count countdef cr crcr csname day deadcycles def defaulthyphenchar defaultskewchar delcode delimeters delimiter delimiterfactor delimitershortfall dimen dimendef discretionary displayindent displaylimits displaystyle displaywidowpenalty displaywidth divide doublehyphendemerits dp dump edef else emergencystretch end endcsname endgroup endinput endlinechar eqno errhelp errmessage errorcontextlines errorstopmode escapechar everycr everydisplay everyhbox everyjob everymath everypar everyvbox exhyphenpenalty expandafter fam fi finalhyphendemerits firstmark floatingpenalty font fontdimen fontname futurelet gdef global globaldefs group halign hangafter hangindent hbadness hbox hfil hfill hfilneg hfuzz hoffset holdinginserts horizontal hrule hsize hskip hss ht hyphen hyphenation hyphenchar hyphenpenalty if ifcase ifcat ifdim ifeof iffalse ifhbox ifhmode ifinner ifmmode ifnum ifodd iftrue ifvbox ifvmode ifvoid ifx ignorespaces immediate indent input inputlineno insert insertpenalties interlinepenalty jobname kern language lastbox lastkern lastpenalty lastskip lccode leaders left lefthyphenmin leftskip leqno let limits line linepenalty lineskip lineskiplimit long looseness lower lowercase mag mark mathaccent mathbin mathchar mathchardef mathchoice mathclose mathcode mathinner mathop mathopen mathord mathpunct mathrel mathsurround maxdeadcycles maxdepth meaning medmuskip message mkern month moveleft moveright mskip multiply muskip muskipdef newlinechar noalign noboundary noexpand noindent nolimits nonscript nonstopmode nulldelimiterspace nullfont number omit openin openout or outer output outputpenalty over overfullrule overline overwithdelims pagedepth pagefilllstretch pagefillstretch pagefilstretch pagegoal pageshrink pagestretch pagetotal par parfillskip parindent parshape parskip patterns pausing penalty postdisplaypenalty predisplaypenalty predisplaysize pretolerance prevdepth prevgraf radical raise read relax relpenalty right righthyphenmin rightskip romannumeral scriptfont scriptscript scriptscriptfont scriptscriptstyle scriptspace scriptstyle scrollmode setbox setlanguage sfcode shipout show showbox showboxbreadth showboxdepth showlists showthe skewchar skip skipdef spacefactor spaceskip span special splitbotmark splitfirstmark splitmaxdepth splittopskip string subsection tabskip textfont textstyle the thickmuskip thinmuskip time toks toksdef tolerance topmark topskip tracingcommands tracinglostchars tracingmacros tracingonline tracingoutput tracingpages tracingparagraphs tracingrestores tracingstats uccode uchyph underline unhbox unhcopy unkern unpenalty unskip unvbox unvcopy uppercase vadjust valign vbadness vbox vcenter vfil vfill vfilneg vfuzz voffset vrule vsize vskip vsplit vss vtop wd widowpenalty write xdef xleaders xspaceskip year [settings] # default extension used when saving files extension=tex # MIME type mime_type=text/x-tex # the following characters are these which a "word" can contains, see documentation #wordchars=_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 # single comments, like # in this file comment_single=% # multiline comments #comment_open= #comment_close= # set to false if a comment character/string should start at column 0 of a line, true uses any # indentation of the line, e.g. setting to true causes the following on pressing CTRL+d #command_example(); # setting to false would generate this # command_example(); # This setting works only for single line comments comment_use_indent=true # context action command (please see Geany's main documentation for details) context_action_cmd= [indentation] #width=4 # 0 is spaces, 1 is tabs, 2 is tab & spaces #type=1 [build_settings] # %f will be replaced by the complete filename # %e will be replaced by the filename without extension # (use only one of it at one time) compiler=latex --file-line-error-style "%f" # it is called linker, but here it is an alternative compiler command linker=pdflatex --file-line-error-style "%f" run_cmd=evince "%e.dvi" run_cmd2=evince "%e.pdf" [build-menu] FT_00_LB=LaTeX -> _DVI FT_00_CM=latex --file-line-error-style "%f" FT_00_BD=false FT_01_LB=LaTeX -> _PDF FT_01_CM=pdflatex --file-line-error-style "%f" FT_01_BD=false FT_02_LB=Bibtex FT_02_CM=bibtex "%e" FT_02_WD= EX_00_LB=V_iew PDF File EX_00_CM=evince "%e.pdf" EX_00_BD=false EX_01_LB=_View DVI File EX_01_CM=evince "%e.dvi" EX_01_BD=false geany-1.32/data/filedefs/filetypes.JSON.conf0000644000175000017500000000036213204251306015575 00000000000000[styling=C] [lexer_properties=C] [keywords] primary=true false null [settings] lexer_filetype=Javascript tag_parser=JSON extension=json mime_type=application/json [indentation] #width=4 # 0 is spaces, 1 is tabs, 2 is tab & spaces #type=1 geany-1.32/data/filedefs/filetypes.javascript0000644000175000017500000000362113204251306016247 00000000000000# For complete documentation of this file, please see Geany's main documentation [styling=C] [keywords] # all items must be in one line primary=break case catch class const continue debugger default delete do else enum export extends false finally for function get if import in Infinity instanceof let NaN new null return set static super switch this throw true try typeof undefined var void while with yield prototype async await secondary=Array Boolean Date Function Math Number Object String RegExp EvalError Error RangeError ReferenceError SyntaxError TypeError URIError constructor prototype decodeURI decodeURIComponent encodeURI encodeURIComponent eval isFinite isNaN parseFloat parseInt [lexer_properties=C] # partially handles ES6 template strings lexer.cpp.backquoted.strings=1 [settings] # default extension used when saving files extension=js # MIME type mime_type=application/javascript # the following characters are these which a "word" can contains, see documentation #wordchars=_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 # single comments, like # in this file comment_single=// # multiline comments comment_open=/* comment_close=*/ # set to false if a comment character/string should start at column 0 of a line, true uses any # indentation of the line, e.g. setting to true causes the following on pressing CTRL+d #command_example(); # setting to false would generate this # command_example(); # This setting works only for single line comments comment_use_indent=true # context action command (please see Geany's main documentation for details) context_action_cmd= [indentation] #width=4 # 0 is spaces, 1 is tabs, 2 is tab & spaces #type=1 [build-menu] # %f will be replaced by the complete filename # %e will be replaced by the filename without extension # (use only one of it at one time) FT_02_LB=_Lint FT_02_CM=jshint "%f" FT_02_WD= error_regex=([^:]+): line ([0-9]+), col ([0-9]+) geany-1.32/data/filedefs/filetypes.java0000644000175000017500000000332013204251306015016 00000000000000# For complete documentation of this file, please see Geany's main documentation [styling=C] [keywords] primary=abstract assert break case catch class const continue default do else enum extends final finally for goto if implements import instanceof interface native new package private protected public return static strictfp super switch synchronized this throw throws transient try volatile while true false null secondary=boolean byte char double float int long short void # documentation keywords for javadoc doccomment=author deprecated exception param return see serial serialData serialField since throws todo version typedefs= [lexer_properties=C] [settings] # default extension used when saving files extension=java # MIME type mime_type=text/x-java # the following characters are these which a "word" can contains, see documentation #wordchars=_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 # single comments, like # in this file comment_single=// # multiline comments comment_open=/* comment_close=*/ # set to false if a comment character/string should start at column 0 of a line, true uses any # indentation of the line, e.g. setting to true causes the following on pressing CTRL+d #command_example(); # setting to false would generate this # command_example(); # This setting works only for single line comments comment_use_indent=true # context action command (please see Geany's main documentation for details) context_action_cmd= [indentation] #width=4 # 0 is spaces, 1 is tabs, 2 is tab & spaces #type=1 [build_settings] # %f will be replaced by the complete filename # %e will be replaced by the filename without extension # (use only one of it at one time) compiler=javac "%f" run_cmd=java "%e" geany-1.32/data/filedefs/filetypes.html0000644000175000017500000002041113204251306015041 00000000000000# For complete documentation of this file, please see Geany's main documentation [styling] # Edit these in the colorscheme .conf file instead html_default=default html_tag=tag html_tagunknown=tag_unknown html_attribute=attribute html_attributeunknown=attribute_unknown html_number=number_1 html_doublestring=string_2 html_singlestring=string_1 html_other=other html_comment=comment html_entity=entity html_tagend=tag_end html_xmlstart=tag html_xmlend=tag_end html_script=tag html_asp=tag html_aspat=tag html_cdata=string_2 html_question=number_2 html_value=value html_xccomment=comment sgml_default=default sgml_comment=comment sgml_special=number_1 sgml_command=number_2 sgml_doublestring=string_2 sgml_simplestring=string_1 sgml_1st_param=attribute sgml_entity=entity sgml_block_default=default sgml_1st_param_comment=comment sgml_error=error php_default=default php_simplestring=string_1 php_hstring=string_2 php_number=number_1 php_word=keyword_1 php_variable=preprocessor php_comment=comment php_commentline=comment_line php_operator=operator php_hstring_variable=preprocessor php_complex_variable=preprocessor jscript_start=tag jscript_default=default jscript_comment=comment jscript_commentline=comment_line jscript_commentdoc=comment_doc jscript_number=number_1 jscript_word=default jscript_keyword=keyword_1 jscript_doublestring=string_2 jscript_singlestring=string_1 jscript_symbols=operator jscript_stringeol=string_eol jscript_regex=regex python_default=default python_commentline=comment_line python_number=number_1 python_string=string_1 python_character=character python_word=keyword_1 python_triple=string_2 python_tripledouble=string_2 python_classname=type python_defname=function python_operator=operator python_identifier=identifier_1 [keywords] html=^aria- ^data- a abbr accept accept-charset accesskey acronym action address align alink allowfullscreen allowpaymentrequest allowusermedia alt applet archive area article as aside async audio autocomplete autofocus autoplay axis b background base basefont bdi bdo bgcolor big blockquote body border br button canvas caption cellpadding cellspacing center challenge char charoff charset checkbox checked cite class classid clear code codebase codetype col colgroup color cols colspan command compact content contenteditable contextmenu controls coords crossorigin data datafld dataformatas datalist datapagesize datasrc datetime dd declare default defer del details dfn dialog dir dirname disabled div dl doctype download draggable dropzone dt em embed enctype face fieldset figcaption figure file font footer for form formaction formenctype formmethod formnovalidate formtarget frame frameborder frameset framespacing h1 h2 h3 h4 h5 h6 head header headers height hgroup hidden high hr href hreflang hspace html http-equiv i icon id iframe image img input inputmode ins integrity is isindex ismap itemid itemprop itemref itemscope itemtype kbd keygen keytype kind label lang language leftmargin legend li link list longdesc loop low main manifest map marginheight marginwidth mark math max maxlength media menu menuitem meta meter method min minlength multiple muted name nav noframes nohref nomodule nonce noresize noscript noshade novalidate nowrap object ol onblur onchange onclick ondblclick onfocus onkeydown onkeypress onkeyup onload onmousedown onmousemove onmouseout onmouseover onmouseup onreset onselect onsubmit onunload open optgroup optimum option output p param password pattern picture ping placeholder playsinline pluginspage poster pre preload profile progress prompt public q quality radio radiogroup rb readonly referrerpolicy rel required reset rev reversed role rows rowspan rp rt rtc ruby rules s samp sandbox scheme scope scoped script scrolling seamless section select selected shape size sizes slot small source span spellcheck src srcdoc srclang srcset standby start step strike strong style sub submit summary sup svg tabindex table target tbody td template text textarea tfoot th thead time title topmargin tr track translate tt type typemustmatch u ul updateviacache usemap valign value valuetype var version video vlink vspace wbr width workertype wrap xml xml:lang xmlns javascript=abs abstract acos anchor asin atan atan2 big bold boolean break byte case catch ceil char charAt charCodeAt class concat const continue cos Date debugger default delete do double else enum escape eval exp export extends false final finally fixed float floor fontcolor fontsize for fromCharCode function goto if implements import in indexOf Infinity instanceof int interface isFinite isNaN italics join lastIndexOf length link log long Math max MAX_VALUE min MIN_VALUE NaN native NEGATIVE_INFINITY new null Number package parseFloat parseInt pop POSITIVE_INFINITY pow private protected public push random return reverse round shift short sin slice small sort splice split sqrt static strike string String sub substr substring sup super switch synchronized tan this throw throws toLowerCase toString toUpperCase transient true try typeof undefined unescape unshift valueOf var void volatile while with vbscript=and as boolean byref byte byval call case class const continue currency date dim do double each else elseif empty end error exit false for function get global goto if in integer long loop me new next not nothing object on optional or private property public put redim rem resume select set single string sub then to true type until variant wend while with python=and assert break class continue complex def del elif else except exec finally for from global if import in inherit is int lambda not or pass print raise return tuple try unicode while yield long float str list php=abstract and argumentcounterror arithmeticerror array arrayaccess as assert assertionerror bool boolean break __call __callstatic callable case catch cfunction __class__ class clone __clone closure const __construct continue countable __debuginfo declare default __destruct die __dir__ directory divisionbyzeroerror do double echo else elseif empty enddeclare endfor endforeach endif endswitch endwhile error errorexception eval exception exit extends false __file__ final finally float for foreach __function__ function generator __get goto global __halt_compiler if implements include include_once instanceof insteadof int integer interface __invoke isset __isset iterable iterator iteratoraggregate __line__ list __method__ namespace __namespace__ new null object old_function or parent parseerror php_user_filter print private protected public real require require_once resource return self serializable __set __set_state __sleep static stdclass stderr stdin stdout string switch __tostring this throw throwable trait __trait__ traversable true try typeerror unset __unset use var void __wakeup while xor yield sgml=ELEMENT DOCTYPE ATTLIST ENTITY NOTATION [lexer_properties] # default scripting language for ASP # 1 = JavaScript (or leave blank for default) # 2 = VBScript # 3 = Python # asp.default.language=2 [settings] # default extension used when saving files extension=html # MIME type mime_type=text/html # the following characters are these which a "word" can contains, see documentation #wordchars=_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 # these comments are used for PHP, the comments used in HTML are in filetypes.xml # single comments, like # in this file #comment_single= # multiline comments comment_open= # set to false if a comment character/string should start at column 0 of a line, true uses any # indentation of the line, e.g. setting to true causes the following on pressing CTRL+d #command_example(); # setting to false would generate this # command_example(); # This setting works only for single line comments comment_use_indent=true # context action command (please see Geany's main documentation for details) context_action_cmd= # if this setting is set to true, a new line after a line ending with an # unclosed tag will be automatically indented xml_indent_tags=true [indentation] #width=4 # 0 is spaces, 1 is tabs, 2 is tab & spaces #type=1 [build_settings] # %f will be replaced by the complete filename # %e will be replaced by the filename without extension # (use only one of it at one time) # use a syntax checker and ignore the formatted output compiler=tidy %f >/dev/null # the file will be opened with the default browser which can be set in the preferences dialog run_cmd=builtin geany-1.32/data/filedefs/filetypes.haxe0000644000175000017500000000361013204251306015024 00000000000000# For complete documentation of this file, please see Geany's main documentation [styling=C] [keywords] # all items must be in one line primary=abstract break case cast catch class continue default trace do dynamic else enum extends extern false for function if implements import in inline interface macro new null override package private public return static switch this throw true try typedef untyped using var while secondary=Bool Dynamic Float Int Void Enum String classes=Array ArrayAccess Class Date DateTools EReg Hash IntHash IntIter Iterable Iterator Lambda List Math Null Protected Reflect Std StringBuf StringTools Type UInt ValueType Xml XmlType [lexer_properties=C] # Haxe preprocessor has different directive than C, which the C lexer doesn't understand, so # we explicitly need not track the preprocessor at all. lexer.cpp.track.preprocessor=0 [settings] # default extension used when saving files extension=hx # the following characters are these which a "word" can contains, see documentation #wordchars=_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 # single comments, like # in this file comment_single=// # multiline comments #comment_open= #comment_close= # set to false if a comment character/string should start at column 0 of a line, true uses any # indentation of the line, e.g. setting to true causes the following on pressing CTRL+d #command_example(); # setting to false would generate this # command_example(); # This setting works only for single line comments comment_use_indent=true # context action command (please see Geany's main documentation for details) context_action_cmd= [indentation] #width=4 # 0 is spaces, 1 is tabs, 2 is tab & spaces #type=1 [build_settings] # %f will be replaced by the complete filename # %e will be replaced by the filename without extension # (use only one of it at one time) compiler=haxe -neko "%e.n" -cp . "%f" run_cmd=neko "%e" geany-1.32/data/filedefs/filetypes.haskell0000644000175000017500000000442213204251306015524 00000000000000# For complete documentation of this file, please see Geany's main documentation [styling] # Edit these in the colorscheme .conf file instead default=default commentline=comment_line commentblock=comment commentblock2=comment commentblock3=comment literate_comment=comment literate_codedelim=preprocessor number=number_1 keyword=keyword_1 reserved_operator=keyword_1 import=preprocessor string=string_1 character=character class=class operator=operator identifier=identifier_1 instance=type capital=type module=function data=number_2 pragma=preprocessor preprocessor=preprocessor stringeol=string_eol [keywords] # all items must be in one line keywords=case class data default deriving do else forall foreign if import in infix infixl infixr instance let module newtype of then type where ffi=capi ccall export import interruptible prim safe stdcall unsafe reserved_operators=-> .. :: <- = => @ \ | ~ ← → ∀ ∷ ★ [lexer_properties] lexer.haskell.allow.hash=1 lexer.haskell.allow.quotes=1 lexer.haskell.allow.questionmark=0 lexer.haskell.import.safe=1 lexer.haskell.cpp=1 styling.within.preprocessor=0 fold.haskell.imports=0 [settings] # default extension used when saving files extension=hs # MIME type mime_type=text/x-haskell # the following characters are these which a "word" can contains, see documentation #wordchars=_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 # single comments, like # in this file comment_single=--\s # multiline comments comment_open={- comment_close=-} # set to false if a comment character/string should start at column 0 of a line, true uses any # indentation of the line, e.g. setting to true causes the following on pressing CTRL+d #command_example(); # setting to false would generate this # command_example(); # This setting works only for single line comments comment_use_indent=true # context action command (please see Geany's main documentation for details) context_action_cmd= [indentation] #width=4 # 0 is spaces, 1 is tabs, 2 is tab & spaces #type=1 [build-menu] # %f will be replaced by the complete filename # %e will be replaced by the filename without extension # (use only one of it at one time) FT_00_LB=_Compile FT_00_CM=ghc --make "%f" FT_00_WD= FT_02_LB=_Lint FT_02_CM=hlint "%f" FT_02_WD= EX_00_LB=_Execute EX_00_CM="./%e" EX_00_WD= geany-1.32/data/filedefs/filetypes.Graphviz.conf0000644000175000017500000000562313204251306016623 00000000000000# For complete documentation of this file, please see Geany's main documentation [styling=C] [keywords] # all items must be in one line primary=digraph graph node edge subgraph strict secondary=Damping K URL area arrowhead arrowsize arrowtail aspect bb bgcolor colorList center charset clusterrank color colorList colorscheme comment compound concentrate constraint decorate defaultdist dim dimen dir diredgeconstraints distortion dpi edgeURL edgehref edgetarget edgetooltip epsilon esep fillcolor colorList fixedsize fontcolor fontname fontnames fontpath fontsize forcelabels gradientangle group headURL head_lp headclip headhref headlabel headport headtarget headtooltip height href id image imagepath imagescale label labelURL label_scheme labelangle labeldistance labelfloat labelfontcolor labelfontname labelfontsize labelhref labeljust labelloc labeltarget labeltooltip landscape layer layerlistsep layers layerselect layersep layout len levels levelsgap lhead lheight lp ltail lwidth margin maxiter mclimit mindist minlen mode model mosek nodesep nojustify normalize nslimit nslimit1 ordering orientation orientation outputorder overlap overlap_scaling pack packmode pad point page point pagedir pencolor penwidth peripheries pin pos splineType quadtree quantum rank rankdir ranksep ratio rects regular remincross repulsiveforce resolution root rotate rotation samehead sametail samplepoints scale searchsize sep shape shapefile showboxes sides size skew smoothing sortv splines start style stylesheet tailURL tail_lp tailclip tailhref taillabel tailport tailtarget tailtooltip target tooltip truecolor vertices viewport voro_margin weight width xlabel xlp z # these are the Doxygen keywords docComment= [lexer_properties=C] styling.within.preprocessor=0 [settings] lexer_filetype=C # default extension used when saving files extension=gv # MIME type mime_type=text/vnd.graphviz # the following characters are these which a "word" can contains, see documentation #wordchars=_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 # single comments, like # in this file comment_single=// # multiline comments comment_open=/* comment_close=*/ # set to false if a comment character/string should start at column 0 of a line, true uses any # indentation of the line, e.g. setting to true causes the following on pressing CTRL+d #command_example(); # setting to false would generate this # command_example(); # This setting works only for single line comments comment_use_indent=true # context action command (please see Geany's main documentation for details) context_action_cmd= [indentation] #width=4 # 0 is spaces, 1 is tabs, 2 is tab & spaces #type=1 [build-menu] FT_00_LB=Graphviz -> _SVG FT_00_CM=dot -Tsvg -O "%f" FT_00_BD=false FT_01_LB=Graphviz -> _EPS FT_01_CM=dot -Teps -O "%f" FT_01_BD=false EX_00_LB=V_iew SVG File EX_00_CM=exo-open "%f.svg" EX_00_BD=false EX_01_LB=_View EPS File EX_01_CM=exo-open "%f.eps" EX_01_BD=false geany-1.32/data/filedefs/filetypes.go0000644000175000017500000000530613204251306014510 00000000000000# For complete documentation of this file, please see Geany's main documentation [styling=C] [keywords] # all items must be in one line primary=break case chan const continue default defer else fallthrough for func go goto if import interface map package range return select struct switch type var true false iota nil secondary=bool byte complex64 complex128 error float32 float64 int int8 int16 int32 int64 rune string uint uint8 uint16 uint32 uint64 uintptr # these are the Doxygen keywords docComment=a addindex addtogroup anchor arg attention author authors b brief bug c callergraph callgraph category cite class code cond copybrief copydetails copydoc copyright date def defgroup deprecated details dir dontinclude dot dotfile e else elseif em endcode endcond enddot endhtmlonly endif endinternal endlatexonly endlink endmanonly endmsc endrtfonly endverbatim endxmlonly enum example exception extends file fn headerfile hideinitializer htmlinclude htmlonly if ifnot image implements include includelineno ingroup interface internal invariant latexonly li line link mainpage manonly memberof msc mscfile n name namespace nosubgrouping note overload p package page par paragraph param post pre private privatesection property protected protectedsection protocol public publicsection ref related relatedalso relates relatesalso remark remarks result return returns retval rtfonly sa section see short showinitializer since skip skipline snippet struct subpage subsection subsubsection tableofcontents test throw throws todo tparam typedef union until var verbatim verbinclude version warning weakgroup xmlonly xrefitem [lexer_properties=C] lexer.cpp.backquoted.strings=1 lexer.cpp.allow.dollars=0 fold.preprocessor=0 [settings] # default extension used when saving files extension=go # MIME type mime_type=text/x-go # the following characters are these which a "word" can contains, see documentation #wordchars=_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 # single comments, like # in this file comment_single=// # multiline comments comment_open=/* comment_close=*/ # set to false if a comment character/string should start at column 0 of a line, true uses any # indentation of the line, e.g. setting to true causes the following on pressing CTRL+d #command_example(); # setting to false would generate this # command_example(); # This setting works only for single line comments comment_use_indent=true # context action command (please see Geany's main documentation for details) context_action_cmd= [indentation] #width=4 # 0 is spaces, 1 is tabs, 2 is tab & spaces #type=1 [build-menu] FT_00_LB=_Build FT_00_CM=go build %f FT_00_WD= FT_02_LB=Te_st FT_02_CM=go test FT_02_WD= EX_00_LB=_Run EX_00_CM=go run %f EX_00_WD= geany-1.32/data/filedefs/filetypes.glsl0000644000175000017500000000415213204251306015042 00000000000000# For complete documentation of this file, please see Geany's main documentation [styling=C] [keywords] # all items must be in one line primary=if else switch case default for while do discard return break continue true false struct void bool int uint float vec2 vec3 vec4 ivec2 ivec3 ivec4 bvec2 bvec3 bvec4 uvec2 uvec3 uvec4 mat2 mat3 mat4 mat2x2 mat2x3 mat2x4 mat3x2 mat3x3 mat3x4 mat4x2 mat4x3 mat4x4 sampler1D sampler2D sampler3D samplerCube sampler1DShadow sampler2DShadow sampler1DArray sampler2DArray sampler1DArrayShadow sampler2DArrayShadow isampler1D isampler2D isampler3D isamplerCube isampler1DArray isampler2DArray usampler1D usampler2D usampler3D usamplerCube usampler1DArray usampler2DArray const invariant centroid in out inout attribute uniform varying smooth flat noperspective highp mediump lowp secondary= # these are some doxygen keywords (incomplete) docComment=attention author brief bug class code date def enum example exception file fn namespace note param remarks return returns see since struct throw todo typedef var version warning union [lexer_properties=C] [settings] lexer_filetype=C # default extension used when saving files extension=glsl # the following characters are these which a "word" can contains, see documentation #wordchars=_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 # single comments, like # in this file comment_single=// # multiline comments comment_open=/* comment_close=*/ # set to false if a comment character/string should start at column 0 of a line, true uses any # indentation of the line, e.g. setting to true causes the following on pressing CTRL+d #command_example(); # setting to false would generate this # command_example(); # This setting works only for single line comments comment_use_indent=true # context action command (please see Geany's main documentation for details) context_action_cmd= [indentation] #width=4 # 0 is spaces, 1 is tabs, 2 is tab & spaces #type=1 [build_settings] # %f will be replaced by the complete filename # %e will be replaced by the filename without extension # (use only one of it at one time) #compiler= #linker= #run_cmd= geany-1.32/data/filedefs/filetypes.Genie.conf0000644000175000017500000000524713204251306016062 00000000000000# For complete documentation of this file, please see Geany's main documentation [styling=C] [keywords] # all items must be in one line primary=abstract and array as assert async bool break byte case cast char class const construct continue date datetime decimal dedent def default delegate delete dict div do double downto dynamic else ensures enum errordomain event except exception extern false final finally float for foreach get hash identifier if implements implements in init inline int int16 int32 int64 int8 interface internal is isa list lock long max min namespace namespace new not null object of or otherwise out override owned params pass print private prop protected public raise raises readonly ref requires return sbyte self set short single sizeof size_t ssize_t static string struct super to true try typeof uint uint32 uint64 uint8 ulong unichar unit16 unless unowned uses uses ushort var virtual void volatile weak when while writeonly yield #secondary= # these are the Doxygen and Valadoc keywords docComment=a addindex addtogroup anchor arg attention author authors b brief bug c callergraph callgraph category cite class code cond copybrief copydetails copydoc copyright date def defgroup deprecated details dir dontinclude dot dotfile e else elseif em endcode endcond enddot endhtmlonly endif endinternal endlatexonly endlink endmanonly endmsc endrtfonly endverbatim endxmlonly enum example exception extends file fn headerfile hideinitializer htmlinclude htmlonly if ifnot image implements include includelineno ingroup inheritDoc interface internal invariant latexonly li line link mainpage manonly memberof msc mscfile n name namespace nosubgrouping note overload p package page par paragraph param post pre private privatesection property protected protectedsection protocol public publicsection ref related relatedalso relates relatesalso remark remarks result return returns retval rtfonly sa section see short showinitializer since skip skipline snippet struct subpage subsection subsubsection tableofcontents test throw throws todo tparam typedef union until var verbatim verbinclude version warning weakgroup xmlonly xrefitem [lexer_properties=C] lexer.cpp.triplequoted.strings=1 [settings] # Vala uses the C lexer lexer_filetype=C tag_parser=Python # default extension used when saving files extension=gs # the following characters are these which a "word" can contains, see documentation #wordchars=_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 # single comments, like # in this file comment_single=// # multiline comments comment_open=/* comment_close=*/ [build-menu] FT_00_LB=_Compile FT_00_CM=valac -c "%f" FT_00_WD= FT_01_LB=_Build FT_01_CM=valac "%f" FT_01_WD= geany-1.32/data/filedefs/filetypes.freebasic0000644000175000017500000001061313204251306016023 00000000000000# For complete documentation of this file, please see Geany's main documentation [styling] # Edit these in the colorscheme .conf file instead default=default comment=comment_line commentblock=comment docline=comment_line_doc docblock=comment_doc dockeyword=comment_doc_keyword number=number_1 word=keyword_1 string=string_1 preprocessor=preprocessor operator=operator identifier=identifier_1 date=number_2 stringeol=string_eol word2=keyword_2 word3=keyword_3 word4=keyword_4 constant=identifier_2 asm=type label=label error=error hexnumber=number_1 binnumber=number_1 [keywords] # all items must be in one line keywords=abs access acos alias allocate alpha and andalso any append as asc asin asm assert assertwarn atan2 atn base beep bin binary bit bitreset bitset bload bsave byref byte byval call callocate case cast cbyte cdbl cdecl chain chdir chr cint circle class clear clng clngint close cls color com command common condbroadcast condcreate conddestroy condsignal condwait cons const constructor continue cos cptr cshort csign csng csrlin cubyte cuint culng culngint cunsg curdir cushort custom cvd cvi cvl cvlongint cvs cvshort data date dateadd datediff datepart dateserial datevalue day deallocate declare defbyte defdbl defint deflng deflngint defshort defsng defstr defubyte defuint defulngint defushort delete destructor dim dir do double draw dylibfree dylibload dylibsymbol dynamic else elseif encoding end endif enum environ eof eqv erase erfn erl ermn err error escape exec exepath exit exp explicit export extends extern false fboolean field fileattr filecopy filedatetime fileexists filelen fix flip for format frac fre freefile function get getjoystick getkey getmouse gosub goto hex hibyte hiword hour if iif imageconvertrow imagecreate imagedestroy imp import inkey inp input input$ instr instrrev int integer interface is isdate kill lbound lcase left len let lib line lobyte loc local locate lock lof log long longint loop loword lpos lprint lpt lset ltrim mid minute mkd mkdir mki mkl mklongint mks mkshort mod month monthname multikey mutexcreate mutexdestroy mutexlock mutexunlock name namespace new next nokeyword not now object oct offsetof on once open operator option or orelse out output overload paint palette pascal pcopy peek pipe pmap point pointer poke pos preserve preset print private procptr property protected pset ptr public put random randomize read reallocate redim rem reset restore resume return rgb rgba right rmdir rnd rset rtrim run sadd scope screen screencontrol screencopy screenevent screenglproc screeninfo screenlist screenlock screenptr screenres screenset screensync screenunlock scrn second seek select setdate setenviron setmouse settime sgn shared shell shl short shr sin single sizeof sleep space spc sqr static stdcall step stop str string strptr sub swap system tab tan then this threadcreate threadwait time timer timeserial timevalue to trans trim true type ubound ubyte ucase uinteger ulong ulongint union unlock unsigned until ushort using va_arg va_first val valint vallng valuint valulng va_next var varptr view virtual wait wbin wchr weekday weekdayname wend whex while width window windowtitle winput with woct write wspace wstr wstring xor year zstring preprocessor=#assert #define defined #else #elseif #endif #endmacro #error #if #ifdef #ifndef #inclib #include #lang #libpath #line #macro once #pragma #print typeof #undef # user definable keywords user1= user2= [settings] # default extension used when saving files extension=bas # the following characters are these which a "word" can contains, see documentation #wordchars=_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 # single comments, like # in this file comment_single=' # multiline comments comment_open=/' comment_close='/ # set to false if a comment character/string should start at column 0 of a line, true uses any # indentation of the line, e.g. setting to true causes the following on pressing CTRL+d #command_example(); # setting to false would generate this # command_example(); # This setting works only for single line comments comment_use_indent=true # context action command (please see Geany's main documentation for details) context_action_cmd= [indentation] #width=4 # 0 is spaces, 1 is tabs, 2 is tab & spaces #type=1 [build_settings] # %f will be replaced by the complete filename # %e will be replaced by the filename without extension # (use only one of it at one time) compiler=fbc -w all "%f" run_cmd="./%e" geany-1.32/data/filedefs/filetypes.fortran0000644000175000017500000001361713204251306015562 00000000000000# For complete documentation of this file, please see Geany's main documentation [styling=F77] [keywords] # all items must be in one line primary=abstract access action advance all allstop allocatable allocate apostrophe assign assignment associate asynchronous backspace bind blank block blockdata call case character class close codimension common complex concurrent contains contiguous continue critical cycle data deallocate decimal delim default dimension direct do dowhile double doubleprecision elemental else elseif elsewhere encoding end endassociate endblock endblockdata endcritical enddo endfile endforall endfunction endif endinterface endmodule endprocedure endprogram endselect endsubmodule endsubroutine endtype endwhere entry enum enumerator eor equivalence err errmsg exist exit extends external file final flush fmt forall form format formatted function generic go goto id if images implicit import impure in include inout integer inquire intent interface intrinsic iomsg iolength iostat is kind len lock logical memory module name named namelist nextrec nml non_intrinsic non_overridable none nopass nullify number only open opened operator optional out pad parameter pass pause pending pointer pos position precision print private procedure program protected public quote pure read readwrite real rec recl recursive result return rewind save select selectcase selecttype sequential sign size stat status stop stream submodule subroutine sync syncall syncimages syncmemory target then to type unformatted unit unlock use value volatile wait where while write intrinsic_functions=abs achar acos acosd acosh adjustl adjustr aimag aimax0 aimin0 aint ajmax0 ajmin0 akmax0 akmin0 all allocated alog alog10 amax0 amax1 amin0 amin1 amod anint any asin asind asinh associated atan atan2 atan2d atand atanh atomic_define atomic_ref bessel_j0 bessel_j1 bessel_jn bessel_y0 bessel_y1 bessel_yn bge bgt bit_size bitest bitl bitlr bitrl bjtest bktest ble blt break btest c_associated c_f_pointer c_f_procpointer c_funloc c_loc c_sizeof cabs ccos cdabs cdcos cdexp cdlog cdsin cdsqrt ceiling cexp char clog cmplx command_argument_count conjg cos cosd cosh count cpu_time cshift csin csqrt dabs dacos dacosd dasin dasind datan datan2 datan2d datand date date_and_time dble dcmplx dconjg dcos dcosd dcosh dcotan ddim dexp dfloat dfloti dflotj dflotk digits dim dimag dint dlog dlog10 dmax1 dmin1 dmod dnint dot_product dprod dreal dshiftl dshiftr dsign dsin dsind dsinh dsqrt dtan dtand dtanh eoshift epsilon erf erfc erfc_scaled errsns execute_command_line exp exponent extends_type_of findloc float floati floatj floatk floor fraction free gamma get_command get_command_argument get_environment_variable huge hypot iabs iachar iall iand iany ibclr ibits ibset ichar idate idim idint idnint ieor ifix iiabs iiand iibclr iibits iibset iidim iidint iidnnt iieor iifix iint iior iiqint iiqnnt iishft iishftc iisign ilen image_index imax0 imax1 imin0 imin1 imod index inint inot int int1 int2 int4 int8 ior iparity iqint iqnint is_contiguous is_isostat_end is_isostat_eor ishft ishftc isign isnan izext jiand jibclr jibits jibset jidim jidint jidnnt jieor jifix jint jior jiqint jiqnnt jishft jishftc jisign jmax0 jmax1 jmin0 jmin1 jmod jnint jnot jzext kiabs kiand kibclr kibits kibset kidim kidint kidnnt kieor kifix kind kint kior kishft kishftc kisign kmax0 kmax1 kmin0 kmin1 kmod knint knot kzext lbound lcobound leadz len len_trim lge lgt lle llt log log10 log_gamma logical lshift malloc maskl maskr matmul max max0 max1 maxexponent maxloc maxval merge merge_bits min min0 min1 minexponent minloc minval mod modulo move_alloc mvbits nearest new_line nint norm2 not null num_images number_of_processors nworkers pack parity popcnt poppar precision present product radix random random_number random_seed range real repeat reshape rrspacing rshift same_type_as scale scan secnds selected_char_kind selected_int_kind selected_real_kind set_exponent shape shifta shiftl shiftr sign sin sind sinh size sizeof sngl snglq spacing spread sqrt storage_size sum system_clock tan tand tanh this_image tiny trailz transfer transpose trim ubound ucobound unpack verify user_functions=cdabs cdcos cdexp cdlog cdsin cdsqrt cotan cotand dcmplx dconjg dcotan dcotand decode dimag dll_export dll_import doublecomplex dreal dvchk encode find flen flush getarg getcharqq getcl getdat getenv gettim hfix ibchng identifier imag int1 int2 int4 intc intrup invalop iostat_msg isha ishc ishl jfix lacfar locking locnear map nargs nbreak ndperr ndpexc offset ovefl peekcharqq precfill prompt qabs qacos qacosd qasin qasind qatan qatand qatan2 qcmplx qconjg qcos qcosd qcosh qdim qexp qext qextd qfloat qimag qlog qlog10 qmax1 qmin1 qmod qreal qsign qsin qsind qsinh qsqrt qtan qtand qtanh ran rand randu rewrite segment setdat settim system timer undfl unlock union val virtual volatile zabs zcos zexp zlog zsin zsqrt [settings] # default extension used when saving files extension=f90 # MIME type mime_type=text/x-fortran # the following characters are these which a "word" can contains, see documentation #wordchars=_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 # single comments, like # in this file comment_single=! # multiline comments #comment_open= #comment_close= # set to false if a comment character/string should start at column 0 of a line, true uses any # indentation of the line, e.g. setting to true causes the following on pressing CTRL+d #command_example(); # setting to false would generate this # command_example(); # This setting works only for single line comments comment_use_indent=false # context action command (please see Geany's main documentation for details) context_action_cmd= [indentation] #width=4 # 0 is spaces, 1 is tabs, 2 is tab & spaces #type=1 [build_settings] # %f will be replaced by the complete filename # %e will be replaced by the filename without extension # (use only one of it at one time) compiler=gfortran -Wall -c "%f" linker=gfortran -Wall -o "%e" "%f" run_cmd="./%e" geany-1.32/data/filedefs/filetypes.forth0000644000175000017500000000322013204251306015216 00000000000000# For complete documentation of this file, please see Geany's main documentation [styling] # Edit these in the colorscheme .conf file instead default=default comment=comment commentml=comment_doc identifier=identifier_1 control=keyword_1 keyword=keyword_1 defword=keyword_2 preword1=keyword_3 preword2=keyword_4 number=number_1 string=string_1 locale=other [keywords] # all items must be in one line primary=abort exit do loop unloop begin until while repeat exit if else then case endcase of endof again leave keyword=require included decimal hex also only previous defword=create does> variable value 2variable constant , 2, c, string=." " s" c" abort" preword1=dup drop swap over pick roll 2dup 2drop 2swas 2over preword2=! c! @ c@ 2! 2@ and or xor invert negate / /mod mod rshift lshift [settings] # default extension used when saving files extension=fs # the following characters are these which a "word" can contains, see documentation #wordchars=_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 # single comments, like # in this file comment_single=\\ # multiline comments comment_open=( comment_close= ) # comment_open=\ # comment_close= # set to false if a comment character/string should start at column 0 of a line, true uses any # indentation of the line, e.g. setting to true causes the following on pressing CTRL+d #command_example(); # setting to false would generate this # command_example(); # This setting works only for single line comments comment_use_indent=true # context action command (please see Geany's main documentation for details) context_action_cmd= [indentation] #width=4 # 0 is spaces, 1 is tabs, 2 is tab & spaces #type=1 geany-1.32/data/filedefs/filetypes.ferite0000644000175000017500000000367213204251306015365 00000000000000# For complete documentation of this file, please see Geany's main documentation [styling=C] [keywords] # all items must be in one line primary=false null self super true abstract alias and arguments attribute_missing break case class closure conformsToProtocol constructor continue default deliver destructor diliver directive do else extends eval final fix for function global handle if iferr implements include instanceof isa method_missing modifies monitor namespace new or private protected protocol public raise recipient rename return static switch uses using while types=boolean string number array object void XML Unix Sys String Stream Serialize RMI Posix Number Network Math FileSystem Console Array Regexp XSLT docComment=brief class declaration description end example extends function group implements modifies module namespace param protocol return return static type variable warning [lexer_properties=C] [settings] # default extension used when saving files extension=fe # the following characters are these which a "word" can contains, see documentation #wordchars=_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 # single comments, like # in this file comment_single=// # multiline comments comment_open=/* comment_close=*/ # set to false if a comment character/string should start at column 0 of a line, true uses any # indentation of the line, e.g. setting to true causes the following on pressing CTRL+d #command_example(); # setting to false would generate this # command_example(); # This setting works only for single line comments comment_use_indent=true # context action command (please see Geany's main documentation for details) context_action_cmd= [indentation] #width=4 # 0 is spaces, 1 is tabs, 2 is tab & spaces #type=1 [build_settings] # %f will be replaced by the complete filename # %e will be replaced by the filename without extension # (use only one of it at one time) compiler=ferite -vc "%f" run_cmd=ferite "%f" geany-1.32/data/filedefs/filetypes.f770000644000175000017500000001244613204251306014511 00000000000000# For complete documentation of this file, please see Geany's main documentation [styling] # Edit these in the colorscheme .conf file instead default=default comment=comment number=number_1 string=string_1 operator=operator identifier=identifier_1 string2=string_2 word=keyword_1 word2=keyword_2 word3=keyword_3 preprocessor=preprocessor operator2=operator continuation=default stringeol=string_eol label=type [keywords] # all items must be in one line primary=access action advance allocatable allocate apostrophe assign assignment associate asynchronous backspace bind blank blockdata call case character class close common complex contains continue cycle data deallocate decimal delim default dimension direct do dowhile double doubleprecision else elseif elsewhere encoding end endassociate endblockdata enddo endfile endforall endfunction endif endinterface endmodule endprogram endselect endsubroutine endtype endwhere entry eor equivalence err errmsg exist exit external file flush fmt form format formatted function go goto id if implicit in include inout integer inquire intent interface intrinsic iomsg iolength iostat kind len logical module name named namelist nextrec nml none nullify number only open opened operator optional out pad parameter pass pause pending pointer pos position precision print private program protected public quote read readwrite real rec recl recursive result return rewind save select selectcase selecttype sequential sign size stat status stop stream subroutine target then to type unformatted unit use value volatile wait where while write intrinsic_functions=abs achar acos acosd adjustl adjustr aimag aimax0 aimin0 aint ajmax0 ajmin0 akmax0 akmin0 all allocated alog alog10 amax0 amax1 amin0 amin1 amod anint any asin asind associated atan atan2 atan2d atand bitest bitl bitlr bitrl bjtest bit_size bktest break btest cabs ccos cdabs cdcos cdexp cdlog cdsin cdsqrt ceiling cexp char clog cmplx conjg cos cosd cosh count cpu_time cshift csin csqrt dabs dacos dacosd dasin dasind datan datan2 datan2d datand date date_and_time dble dcmplx dconjg dcos dcosd dcosh dcotan ddim dexp dfloat dflotk dfloti dflotj digits dim dimag dint dlog dlog10 dmax1 dmin1 dmod dnint dot_product dprod dreal dsign dsin dsind dsinh dsqrt dtan dtand dtanh eoshift epsilon errsns exp exponent float floati floatj floatk floor fraction free huge iabs iachar iand ibclr ibits ibset ichar idate idim idint idnint ieor ifix iiabs iiand iibclr iibits iibset iidim iidint iidnnt iieor iifix iint iior iiqint iiqnnt iishft iishftc iisign ilen imax0 imax1 imin0 imin1 imod index inint inot int int1 int2 int4 int8 iqint iqnint ior ishft ishftc isign isnan izext jiand jibclr jibits jibset jidim jidint jidnnt jieor jifix jint jior jiqint jiqnnt jishft jishftc jisign jmax0 jmax1 jmin0 jmin1 jmod jnint jnot jzext kiabs kiand kibclr kibits kibset kidim kidint kidnnt kieor kifix kind kint kior kishft kishftc kisign kmax0 kmax1 kmin0 kmin1 kmod knint knot kzext lbound leadz len len_trim lge lgt lle llt log log10 logical lshift malloc matmul max max0 max1 maxexponent maxloc maxval merge min min0 min1 minexponent minloc minval mod modulo mvbits nearest nint not nworkers number_of_processors pack popcnt poppar precision present product radix random random_number random_seed range real repeat reshape rrspacing rshift scale scan secnds selected_int_kind selected_real_kind set_exponent shape sign sin sind sinh size sizeof sngl snglq spacing spread sqrt sum system_clock tan tand tanh tiny transfer transpose trim ubound unpack verify user_functions=cdabs cdcos cdexp cdlog cdsin cdsqrt cotan cotand dcmplx dconjg dcotan dcotand decode dimag dll_export dll_import doublecomplex dreal dvchk encode find flen flush getarg getcharqq getcl getdat getenv gettim hfix ibchng identifier imag int1 int2 int4 intc intrup invalop iostat_msg isha ishc ishl jfix lacfar locking locnear map nargs nbreak ndperr ndpexc offset ovefl peekcharqq precfill prompt qabs qacos qacosd qasin qasind qatan qatand qatan2 qcmplx qconjg qcos qcosd qcosh qdim qexp qext qextd qfloat qimag qlog qlog10 qmax1 qmin1 qmod qreal qsign qsin qsind qsinh qsqrt qtan qtand qtanh ran rand randu rewrite segment setdat settim system timer undfl unlock union val virtual volatile zabs zcos zexp zlog zsin zsqrt [settings] # default extension used when saving files extension=f # MIME type mime_type=text/x-fortran # the following characters are these which a "word" can contains, see documentation #wordchars=_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 # single comments, like # in this file comment_single=c # multiline comments #comment_open= #comment_close= # set to false if a comment character/string should start at column 0 of a line, true uses any # indentation of the line, e.g. setting to true causes the following on pressing CTRL+d #command_example(); # setting to false would generate this # command_example(); # This setting works only for single line comments comment_use_indent=false # context action command (please see Geany's main documentation for details) context_action_cmd= [indentation] #width=4 # 0 is spaces, 1 is tabs, 2 is tab & spaces type=0 [build_settings] # %f will be replaced by the complete filename # %e will be replaced by the filename without extension # (use only one of it at one time) compiler=gfortran -Wall -c "%f" linker=gfortran -Wall -o "%e" "%f" run_cmd="./%e" geany-1.32/data/filedefs/filetypes.erlang0000644000175000017500000001103113204251306015343 00000000000000[styling] # Edit these in the colorscheme .conf file instead default=default comment=comment variable=default number=number_1 keyword=keyword_1 string=string_1 operator=operator atom=default function_name=function character=character macro=preprocessor record=type preproc=preprocessor node_name=default comment_function=comment comment_module=comment comment_doc=comment_doc comment_doc_macro=comment_doc atom_quoted=default macro_quoted=default record_quoted=default node_name_quoted=default bifs=keyword_2 modules=default modules_att=preprocessor unknown=default [keywords] # all items must be in one line keywords=after and andalso band begin bnot bor bsl bsr bxor case catch cond div end fun if let not of or orelse query receive rem try when xor # Erlang built-in functions (BIFs) bifs=erlang: abs adler32 adler32_combine erlang:append_element apply atom_to_binary atom_to_list binary_to_atom binary_to_existing_atom binary_to_list bitstring_to_list binary_to_term bit_size erlang:bump_reductions byte_size erlang:cancel_timer check_process_code concat_binary crc32 crc32_combine date decode_packet delete_module erlang:demonitor disconnect_node erlang:display element erase erlang:error exit float float_to_list erlang:fun_info erlang:fun_to_list erlang:function_exported garbage_collect get erlang:get_cookie get_keys erlang:get_stacktrace group_leader halt erlang:hash hd erlang:hibernate integer_to_list erlang:integer_to_list iolist_to_binary iolist_size is_alive is_atom is_binary is_bitstring is_boolean erlang:is_builtin is_float is_function is_integer is_list is_number is_pid is_port is_process_alive is_record is_reference is_tuple length link list_to_atom list_to_binary list_to_bitstring list_to_existing_atom list_to_float list_to_integer erlang:list_to_integer list_to_pid list_to_tuple load_module erlang:load_nif erlang:loaded erlang:localtime erlang:localtime_to_universaltime make_ref erlang:make_tuple erlang:max erlang:md5 erlang:md5_final erlang:md5_init erlang:md5_update erlang:memory erlang:min module_loaded erlang:monitor monitor_node node nodes now open_port erlang:phash erlang:phash2 pid_to_list port_close port_command erlang:port_command port_connect port_control erlang:port_call erlang:port_info erlang:port_to_list erlang:ports pre_loaded erlang:process_display process_flag process_info processes purge_module put erlang:raise erlang:read_timer erlang:ref_to_list register registered erlang:resume_process round self erlang:send erlang:send_after erlang:send_nosuspend erlang:set_cookie setelement size spawn spawn_link spawn_monitor spawn_opt split_binary erlang:start_timer statistics erlang:suspend_process erlang:system_flag erlang:system_info erlang:system_monitor erlang:system_profile term_to_binary throw time tl erlang:trace erlang:trace_delivered erlang:trace_info erlang:trace_pattern trunc tuple_size tuple_to_list erlang:universaltime erlang:universaltime_to_localtime unlink unregister whereis erlang:yield # Erlang preprocessor instructions preproc=-define -else -endif -ifdef -ifndef -include -include_lib -undef # Erlang module attributes module=-behavior -behaviour -compile -created -created_by -export -file -import -module -modified -modified_by -record -revision -spec -type -vsn # Erlang documentation helpers doc=@author @clear @copyright @deprecated @doc @docfile @end @equiv @headerfile @hidden @private @reference @see @since @spec @throws @title @todo @TODO @type @version # Erlang documentation macros doc_macro=@date @docRoot @link @module @package @section @time @type @version [settings] # default extension used when saving files extension=erl # MIME type mime_type=text/x-erlang # the following characters are these which a "word" can contains, see documentation #wordchars=_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 # single comments, like # in this file comment_single=% # multiline comments #comment_open= #comment_close= # set to false if a comment character/string should start at column 0 of a line, true uses any # indentation of the line, e.g. setting to true causes the following on pressing CTRL+d #command_example(); # setting to false would generate this # command_example(); # This setting works only for single line comments comment_use_indent=true # context action command (please see Geany's main documentation for details) context_action_cmd= [indentation] #width=4 # 0 is spaces, 1 is tabs, 2 is tab & spaces #type=1 [build_settings] # %f will be replaced by the complete filename # %e will be replaced by the filename without extension # (use only one of it at one time) compiler=erlc "%f" run_cmd=erl "%f" geany-1.32/data/filedefs/filetypes.docbook0000644000175000017500000001362013204251306015521 00000000000000# For complete documentation of this file, please see Geany's main documentation [styling] # note: these key names don't have a html_ prefix unlike filetypes.html default=default tag=tag tagunknown=tag_unknown attribute=attribute attributeunknown=attribute_unknown number=number_1 doublestring=string_1 singlestring=string_1 other=other comment=comment entity=entity tagend=tag_end xmlstart=tag xmlend=tag_end cdata=string_2 question=number_2 value=value xccomment=comment sgml_default=default sgml_comment=comment sgml_special=number_1 sgml_command=number_2 sgml_doublestring=string_1 sgml_simplestring=string_1 sgml_1st_param=attribute sgml_entity=entity sgml_block_default=default sgml_1st_param_comment=comment sgml_error=error [keywords] # all items must be in one line elements=abbrev abstract accel ackno acronym action address affiliation alt anchor answer appendix appendixinfo application area areaset areaspec arg article articleinfo artpagenums attribution audiodata audioobject author authorblurb authorgroup authorinitials beginpage bibliocoverage bibliodiv biblioentry bibliography bibliographyinfo biblioid bibliomisc bibliomixed bibliomset bibliorelation biblioset bibliosource blockinfo blockquote book bookinfo bridgehead callout calloutlist caption caution chapter chapterinfo citation citebiblioid citerefentry citetitle city classname classsynopsis classsynopsisinfo cmdsynopsis co collab cols colnum nameend namest align spanname colname collabname colophon colspec command computeroutput confdates confgroup confnum confsponsor conftitle constant constraint constraintdef constructorsynopsis contractnum contractsponsor contrib copyright coref corpauthor corpname country database date dedication destructorsynopsis edition editor email emphasis entry entrytbl envar epigraph equation errorcode errorname errortext errortype example exceptionname fax fieldsynopsis figure filename fileref firstname firstterm footnote footnoteref foreignphrase formalpara frame funcdef funcparams funcprototype funcsynopsis funcsynopsisinfo function glossary glossaryinfo glossdef glossdiv glossentry glosslist glosssee glossseealso glossterm graphic graphicco group guibutton guiicon guilabel guimenu guimenuitem guisubmenu hardware highlights holder honorific htm imagedata imageobject imageobjectco important index indexdiv indexentry indexinfo indexterm informalequation informalexample informalfigure informaltable initializer inlineequation inlinegraphic inlinemediaobject interface interfacename invpartnumber isbn issn issuenum itemizedlist itermset jobtitle keycap keycode keycombo keysym keyword keywordset label legalnotice lhs lineage lineannotation link listitem iteral literallayout lot lotentry manvolnum markup medialabel mediaobject mediaobjectco member menuchoice methodname methodparam methodsynopsis mm modespec modifier ousebutton msg msgaud msgentry msgexplan msginfo msglevel msgmain msgorig msgrel msgset msgsub msgtext nonterminal note objectinfo olink ooclass ooexception oointerface option optional orderedlist orgdiv orgname otheraddr othercredit othername pagenums para paramdef parameter part partinfo partintro personblurb personname phone phrase pob postcode preface prefaceinfo primary primaryie printhistory procedure production productionrecap productionset productname productnumber programlisting programlistingco prompt property pubdate publisher publishername pubsnumber qandadiv qandaentry qandaset question quote refclass refdescriptor refentry refentryinfo refentrytitle reference referenceinfo refmeta refmiscinfo refname refnamediv refpurpose refsect1 refsect1info refsect2 refsect2info refsect3 refsect3info refsection refsectioninfo refsynopsisdiv refsynopsisdivinfo releaseinfo remark replaceable returnvalue revdescription revhistory revision revnumber revremark rhs row sbr screen screenco screeninfo screenshot secondary secondaryie sect1 sect1info sect2 sect2info sect3 sect3info sect4 sect4info sect5 sect5info section sectioninfo see seealso seealsoie seeie seg seglistitem segmentedlist segtitle seriesvolnums set setindex setindexinfo setinfo sgmltag shortaffil shortcut sidebar sidebarinfo simpara simplelist simplemsgentry simplesect spanspec state step street structfield structname subject subjectset subjectterm subscript substeps subtitle superscript surname sv symbol synopfragment synopfragmentref synopsis systemitem table tbody term tertiary tertiaryie textdata textobject tfoot tgroup thead tip title titleabbrev toc tocback tocchap tocentry tocfront toclevel1 toclevel2 toclevel3 toclevel4 toclevel5 tocpart token trademark type ulink userinput varargs variablelist varlistentry varname videodata videoobject void volumenum warning wordasword xref year arch condition conformance id lang os remap role revision revisionflag security userlevel url vendor xreflabel status label endterm linkend space width dtd=ELEMENT DOCTYPE ATTLIST ENTITY NOTATION [lexer_properties] fold.html=1 fold.html.preprocessor=1 [settings] # default extension used when saving files extension=docbook # MIME type mime_type=application/docbook+xml # the following characters are these which a "word" can contains, see documentation #wordchars=_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 # single comments, like # in this file #comment_single= # multiline comments comment_open= # set to false if a comment character/string should start at column 0 of a line, true uses any # indentation of the line, e.g. setting to true causes the following on pressing CTRL+d #command_example(); # setting to false would generate this # command_example(); # This setting works only for single line comments comment_use_indent=true # context action command (please see Geany's main documentation for details) context_action_cmd= # if this setting is set to true, a new line after a line ending with an # unclosed tag will be automatically indented xml_indent_tags=true [indentation] #width=4 # 0 is spaces, 1 is tabs, 2 is tab & spaces #type=1 geany-1.32/data/filedefs/filetypes.diff0000644000175000017500000000147213204251306015013 00000000000000# For complete documentation of this file, please see Geany's main documentation [styling] # Edit these in the colorscheme .conf file instead default=default comment=comment command=function header=preprocessor position=number deleted=line_removed added=line_added changed=line_changed [settings] # default extension used when saving files extension=diff # MIME type mime_type=text/x-patch # the following characters are these which a "word" can contains, see documentation #wordchars=_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 # only the text before the first --- is a comment #comment_single= #comment_open= #comment_close= # context action command (please see Geany's main documentation for details) context_action_cmd= [indentation] #width=4 # 0 is spaces, 1 is tabs, 2 is tab & spaces #type=1 geany-1.32/data/filedefs/filetypes.d0000644000175000017500000000565213204251306014332 00000000000000# For complete documentation of this file, please see Geany's main documentation [styling] # Edit these in the colorscheme .conf file instead default=default comment=comment commentline=comment_line commentdoc=comment_doc commentnested=comment number=number_1 word=keyword_1 word2=keyword_2 word3=keyword_3 typedef=type string=string_1 stringeol=string_eol character=character operator=operator identifier=identifier_1 commentlinedoc=comment_line_doc commentdockeyword=comment_doc_keyword commentdockeyworderror=comment_doc_keyword_error [keywords] # all items must be in one line primary=__FILE__ __MODULE__ __LINE__ __FUNCTION__ __PRETTY_FUNCTION__ __gshared __traits __vector __parameters __DATE__ __EOF__ __TIME__ __TIMESTAMP__ __VENDOR__ __VERSION__ abstract alias align asm assert auto body bool break byte case cast catch cdouble cent cfloat char class const continue creal dchar debug default delegate delete deprecated do double else enum export extern false final finally float for foreach foreach_reverse function goto idouble if ifloat immutable import in inout int interface invariant ireal is lazy long macro mixin module new nothrow null out override package pragma private protected public pure real ref return scope shared short static struct super switch synchronized template this throw true try typedef typeid typeof ubyte ucent uint ulong union unittest ushort version void volatile wchar while with secondary= # documentation keywords for D, currently not working docComment=Authors Bugs Copyright Date Deprecated Examples History License Macros Params Returns See_Also Standards Throws Version types= [lexer_properties] fold.d.comment.explicit=0 [settings] # default extension used when saving files extension=d # MIME type mime_type=text/x-dsrc # the following characters are these which a "word" can contains, see documentation #wordchars=_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 # single comments, like # in this file comment_single=// # multiline comments comment_open=/* comment_close=*/ # or alternatively #comment_open=/+ #comment_close=+/ # set to false if a comment character/string should start at column 0 of a line, true uses any # indentation of the line, e.g. setting to true causes the following on pressing CTRL+d #command_example(); # setting to false would generate this # command_example(); # This setting works only for single line comments comment_use_indent=true # context action command (please see Geany's main documentation for details) context_action_cmd= [indentation] #width=4 # 0 is spaces, 1 is tabs, 2 is tab & spaces #type=1 [build_settings] # %f will be replaced by the complete filename # %e will be replaced by the filename without extension # (use only one of it at one time) compiler=dmd -w -c "%f" linker=dmd -w -of"%e" "%f" # you can also use the gdc compiler, please use the "gdmd" wrapper script(included with gdc) #compiler=gdmd -w -c "%f" #linker=gdmd -w -of"%e" "%f" run_cmd="./%e" geany-1.32/data/filedefs/filetypes.Cython.conf0000644000175000017500000000355613204251306016300 00000000000000[styling=Python] [keywords] primary=and as assert break class continue def del elif else except exec finally for from global if import in is lambda not or pass print raise return try while with yield False None True api by cdef cimport cpdef ctypedef enum extern gil include inline nogil property public readonly struct union DEF IF ELIF ELSE NULL bint char Py_ssize_t short size_t void double int real long complex identifiers=ArithmeticError AssertionError AttributeError BaseException BufferError BytesWarning DeprecationWarning EOFError Ellipsis EnvironmentError Exception False FloatingPointError FutureWarning GeneratorExit IOError ImportError ImportWarning IndentationError IndexError KeyError KeyboardInterrupt LookupError MemoryError NameError None NotImplemented NotImplementedError OSError OverflowError PendingDeprecationWarning ReferenceError RuntimeError RuntimeWarning StandardError StopIteration SyntaxError SyntaxWarning SystemError SystemExit TabError True TypeError UnboundLocalError UnicodeDecodeError UnicodeEncodeError UnicodeError UnicodeTranslateError UnicodeWarning UserWarning ValueError Warning ZeroDivisionError __debug__ __doc__ __import__ __name__ __package__ abs all any apply basestring bin bool buffer bytearray bytes callable chr classmethod cmp coerce compile complex copyright credits delattr dict dir divmod enumerate eval execfile exit file filter float format frozenset getattr globals hasattr hash help hex id input int intern isinstance issubclass iter len license list locals long map max min next object oct open ord pow print property quit range raw_input reduce reload repr reversed round set setattr slice sorted staticmethod str sum super tuple type unichr unicode vars xrange zip [lexer_properties=Python] [settings] lexer_filetype=Python tag_parser=Python extension=pyx comment_single=# [build-menu] FT_00_LB=_Compile FT_00_CM=cython "%f" FT_00_WD= geany-1.32/data/filedefs/filetypes.CUDA.conf0000644000175000017500000000667313204251306015553 00000000000000# For complete documentation of this file, please see Geany's main documentation [styling=C] [keywords] # all items must be in one line primary=alignas alignof and and_eq asm auto bitand bitor bool break case catch char char16_t char32_t class compl const const_cast constexpr continue decltype default delete do double dynamic_cast else enum explicit export extern false final float for friend goto if inline int int8_t int16_t int32_t int64_t long mutable namespace new noexcept not not_eq nullptr operator or or_eq override private protected ptrdiff_t public register reinterpret_cast return short signed sizeof size_t static static_assert static_cast struct switch template this thread_local throw true try typedef typeid typename union unsigned using virtual void volatile wchar_t while xor xor_eq # CUDA keywords set as secondary keywords secondary=__device__ __global__ __shared__ __host__ __constant__ gridDim blockIdx blockDim threadIdx warpSize <<< >>> dim3 char1 uchar1 char2 uchar2 char3 uchar3 char4 uchar4 short1 ushort1 short2 ushort2 short3 ushort3 short4 ushort4 int1 uint1 int2 uint2 int3 uint3 int4 uint4 long1 ulong1 long2 ulong2 long3 ulong3 long4 ulong4 float1 float2 float3 float4 double1 double2 # these are the Doxygen keywords docComment=a addindex addtogroup anchor arg attention author authors b brief bug c callergraph callgraph category cite class code cond copybrief copydetails copydoc copyright date def defgroup deprecated details dir dontinclude dot dotfile e else elseif em endcode endcond enddot endhtmlonly endif endinternal endlatexonly endlink endmanonly endmsc endrtfonly endverbatim endxmlonly enum example exception extends file fn headerfile hideinitializer htmlinclude htmlonly if ifnot image implements include includelineno ingroup interface internal invariant latexonly li line link mainpage manonly memberof msc mscfile n name namespace nosubgrouping note overload p package page par paragraph param post pre private privatesection property protected protectedsection protocol public publicsection ref related relatedalso relates relatesalso remark remarks result return returns retval rtfonly sa section see short showinitializer since skip skipline snippet struct subpage subsection subsubsection tableofcontents test throw throws todo tparam typedef union until var verbatim verbinclude version warning weakgroup xmlonly xrefitem [lexer_properties=C] [settings] lexer_filetype=C tag_parser=C++ # default extension used when saving files extension=cu # the following characters are these which a "word" can contains, see documentation #wordchars=_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 # single comments, like # in this file comment_single=// # multiline comments comment_open=/* comment_close=*/ # set to false if a comment character/string should start at column 0 of a line, true uses any # indentation of the line, e.g. setting to true causes the following on pressing CTRL+d #command_example(); # setting to false would generate this # command_example(); # This setting works only for single line comments comment_use_indent=true # context action command (please see Geany's main documentation for details) context_action_cmd= [indentation] #width=4 # 0 is spaces, 1 is tabs, 2 is tab & spaces #type=1 [build_settings] # %f will be replaced by the complete filename # %e will be replaced by the filename without extension # (use only one of it at one time) compiler=nvcc -c "%f" linker=nvcc -o "%e" "%f" run_cmd="./%e" geany-1.32/data/filedefs/filetypes.css0000644000175000017500000001514013204251306014670 00000000000000# For complete documentation of this file, please see Geany's main documentation [styling] # Edit these in the colorscheme .conf file instead default=default comment=comment tag=tag class=class pseudoclass=string_1 unknown_pseudoclass=default unknown_identifier=default operator=operator identifier=keyword_2 doublestring=string_1 singlestring=string_2 attribute=attribute value=value id=class identifier2=keyword_2 variable=identifier_1 important=error directive=preprocessor identifier3=keyword_1 pseudoelement=string_2 extended_identifier=keyword_1 extended_pseudoclass=string_1 extended_pseudoelement=string_2 media=parameter [keywords] # CSS 1 properties primary=background background-attachment background-color background-image background-position background-repeat border border-bottom border-bottom-width border-color border-left border-left-width border-right border-right-width border-style border-top border-top-width border-width clear color display float font font-family font-size font-style font-variant font-weight height letter-spacing line-height list-style list-style-image list-style-position list-style-type margin margin-bottom margin-left margin-right margin-top padding padding-bottom padding-left padding-right padding-top text-align text-decoration text-indent text-transform vertical-align white-space width word-spacing # CSS 2 properties secondary=azimuth border-bottom-color border-bottom-style border-collapse border-left-color border-left-style border-right-color border-right-style border-spacing border-top-color border-top-style bottom caption-side clip content counter-increment counter-reset cue cue-after cue-before cursor direction elevation empty-cells font-size-adjust font-stretch left max-height max-width min-height min-width orphans outline outline-color outline-style outline-width overflow page-break-after page-break-before page-break-inside pause pause-after pause-before pitch pitch-range play-during position quotes richness right speak speak-header speak-numeral speak-punctuation speech-rate stress table-layout top unicode-bidi visibility voice-family volume widows z-index css3_properties=align-content align-items align-self alignment-adjust alignment-baseline animation animation-delay animation-direction animation-duration animation-iteration-count animation-name animation-play-state animation-timing-function appearance ascent backface-visibility background-break background-clip background-origin background-size baseline baseline-shift bbox binding bleed bookmark-label bookmark-level bookmark-state bookmark-target border-bottom-left-radius border-bottom-right-radius border-break border-image border-image-outset border-image-repeat border-image-slice border-image-source border-image-width border-length border-radius border-top-left-radius border-top-right-radius box-align box-decoration-break box-direction box-flex box-flex-group box-lines box-orient box-pack box-shadow box-sizing box-sizing break-after break-before break-inside cap-height centerline color-profile column-break-after column-break-before column-count column-fill column-gap column-rule column-rule-color column-rule-style column-rule-width column-span column-width columns crop definition-src descent dominant-baseline drop-initial-after-adjust drop-initial-after-align drop-initial-before-adjust drop-initial-before-align drop-initial-size drop-initial-value fit fit-position flex flex-align flex-basis flex-direction flex-flow flex-grow flex-shrink flex-wrap float-offset font-effect font-emphasize font-emphasize-position font-emphasize-style font-size-adjust font-smooth grid-columns grid-rows hanging-punctuation hyphenate-after hyphenate-before hyphenate-character hyphenate-lines hyphenate-resource hyphens icon image-orientation image-rendering image-resolution inline-box-align justify-content line-break line-stacking line-stacking-ruby line-stacking-shift line-stacking-strategy mark mark-after mark-before marker-offset marks marquee-direction marquee-loop marquee-play-count marquee-speed marquee-style mathline move-to nav-down nav-index nav-left nav-right nav-up opacity order outline-offset overflow-style overflow-wrap overflow-x overflow-y page page-policy panose-1 perspective perspective-origin phonemes presentation-level punctuation-trim rendering-intent resize rest rest-after rest-before rotation rotation-point ruby-align ruby-overhang ruby-position ruby-span size slope src stemh stemv string-set tab-side tab-size target target-name target-new target-position text-align-last text-decoration-color text-decoration-line text-decoration-skip text-decoration-style text-emphasis text-emphasis-color text-emphasis-position text-emphasis-style text-height text-indent text-justify text-outline text-replace text-shadow text-space-collapse text-underline-position text-wrap topline transform transform-origin transform-style transition transition-delay transition-duration transition-property transition-timing-function unicode-range units-per-em voice-balance voice-duration voice-pitch voice-pitch-range voice-rate voice-stress voice-volume white-space-collapse widths word-break word-wrap x-height pseudoclasses=active checked current disabled empty enabled first-child first-of-type focus hover lang last-child last-of-type link not nth-child nth-last-child nth-last-of-type nth-of-type only-child only-of-type root target visited pseudo_elements=after before choices first-letter first-line line-marker marker outside repeat-index repeat-item selection slot value # use wild card with vendor prefixes for future proof, no need to list specific properties browser_css_properties=^-ms- ^-apple- ^-epub- ^-moz- ^-o- ^-wap- ^-webkit- ^-xv- browser_pseudo_classes=^-ms- ^-apple- ^-epub- ^-moz- ^-o- ^-wap- ^-webkit- ^-xv- browser_pseudo_elements=^-ms- ^-apple- ^-epub- ^-moz- ^-o- ^-wap- ^-webkit- ^-xv- [settings] # default extension used when saving files extension=css # MIME type mime_type=text/css # the following characters are these which a "word" can contains, see documentation #wordchars=_-abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 # single comments, like # in this file #comment_single= # multiline comments comment_open=/* comment_close=*/ # set to false if a comment character/string should start at column 0 of a line, true uses any # indentation of the line, e.g. setting to true causes the following on pressing CTRL+d #command_example(); # setting to false would generate this # command_example(); # This setting works only for single line comments comment_use_indent=true # context action command (please see Geany's main documentation for details) context_action_cmd= [indentation] #width=4 # 0 is spaces, 1 is tabs, 2 is tab & spaces #type=1 geany-1.32/data/filedefs/filetypes.cs0000644000175000017500000000442713204251306014513 00000000000000# For complete documentation of this file, please see Geany's main documentation [styling=C] [keywords] # all items must be in one line primary=abstract as base bool break byte case catch char checked class const continue decimal default delegate do double else enum event explicit extern false finally fixed float for foreach goto if implicit in int interface internal is lock long namespace new null object operator out override params private protected public readonly ref return sbyte sealed short sizeof stackalloc static string struct switch this throw true try typeof uint ulong unchecked unsafe ushort using virtual void volatile while secondary=add alias ascending async await descending dynamic from get global group into join let orderby partial remove select set value var where yield # these are some doxygen keywords (incomplete) docComment=attention author brief bug class code date def enum example exception file fn namespace note param remarks return see since struct throw todo typedef var version warning union # keywords: https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/ [lexer_properties=C] [settings] lexer_filetype=C # default extension used when saving files extension=cs # MIME type mime_type=text/x-csharp # the following characters are these which a "word" can contains, see documentation #wordchars=_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 # single comments, like # in this file comment_single=// # multiline comments comment_open=/* comment_close=*/ # set to false if a comment character/string should start at column 0 of a line, true uses any # indentation of the line, e.g. setting to true causes the following on pressing CTRL+d #command_example(); # setting to false would generate this # command_example(); # This setting works only for single line comments comment_use_indent=true # context action command (please see Geany's main documentation for details) context_action_cmd= [indentation] #width=4 # 0 is spaces, 1 is tabs, 2 is tab & spaces #type=1 [build_settings] # %f will be replaced by the complete filename # %e will be replaced by the filename without extension # (use only one of it at one time) # be careful following settings are untested compiler=mcs /t:winexe "%f" /r:System,System.Drawing run_cmd=mono "%e.exe" geany-1.32/data/filedefs/filetypes.cpp0000644000175000017500000000630713204251306014667 00000000000000# For complete documentation of this file, please see Geany's main documentation [styling=C] [keywords] # all items must be in one line primary=alignas alignof and and_eq asm auto bitand bitor bool break case catch char char16_t char32_t class compl const const_cast constexpr continue decltype default delete do double dynamic_cast else enum explicit export extern false final float for friend goto if inline int long mutable namespace new noexcept not not_eq nullptr operator or or_eq override private protected public register reinterpret_cast return short signed sizeof static static_assert static_cast struct switch template this thread_local throw true try typedef typeid typename union unsigned using virtual void volatile wchar_t while xor xor_eq secondary= # these are the Doxygen keywords docComment=a addindex addtogroup anchor arg attention author authors b brief bug c callergraph callgraph category cite class code cond copybrief copydetails copydoc copyright date def defgroup deprecated details dir dontinclude dot dotfile e else elseif em endcode endcond enddot endhtmlonly endif endinternal endlatexonly endlink endmanonly endmsc endrtfonly endverbatim endxmlonly enum example exception extends file fn headerfile hideinitializer htmlinclude htmlonly if ifnot image implements include includelineno ingroup interface internal invariant latexonly li line link mainpage manonly memberof msc mscfile n name namespace nosubgrouping note overload p package page par paragraph param post pre private privatesection property protected protectedsection protocol public publicsection ref related relatedalso relates relatesalso remark remarks result return returns retval rtfonly sa section see short showinitializer since skip skipline snippet struct subpage subsection subsubsection tableofcontents test throw throws todo tparam typedef union until var verbatim verbinclude version warning weakgroup xmlonly xrefitem [lexer_properties=C] [settings] lexer_filetype=C # default extension used when saving files extension=cpp # MIME type mime_type=text/x-c++src # the following characters are these which a "word" can contains, see documentation #wordchars=_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 # single comments, like # in this file comment_single=// # multiline comments comment_open=/* comment_close=*/ # set to false if a comment character/string should start at column 0 of a line, true uses any # indentation of the line, e.g. setting to true causes the following on pressing CTRL+d #command_example(); # setting to false would generate this # command_example(); # This setting works only for single line comments comment_use_indent=true # context action command (please see Geany's main documentation for details) context_action_cmd= [indentation] #width=4 # 0 is spaces, 1 is tabs, 2 is tab & spaces #type=1 [build-menu] # %f will be replaced by the complete filename # %e will be replaced by the filename without extension # (use only one of it at one time) FT_00_LB=_Compile FT_00_CM=g++ -Wall -c "%f" FT_00_WD= FT_01_LB=_Build FT_01_CM=g++ -Wall -o "%e" "%f" FT_01_WD= FT_02_LB=_Lint FT_02_CM=cppcheck --language=c++ --enable=warning,style --template=gcc "%f" FT_02_WD= EX_00_LB=_Execute EX_00_CM="./%e" EX_00_WD= geany-1.32/data/filedefs/filetypes.conf0000644000175000017500000000223313204251306015024 00000000000000# For complete documentation of this file, please see Geany's main documentation [styling] # Edit these in the colorscheme .conf file instead default=default comment=comment section=tag key=attribute assignment=operator defval=value # the lexer doesn't support keywords [lexer_properties] lexer.props.allow.initial.spaces=0 [settings] # default extension used when saving files extension=conf # the following characters are these which a "word" can contains, see documentation #wordchars=_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 # single comments, like # in this file comment_single=# # multiline comments #comment_open= #comment_close= # set to false if a comment character/string should start at column 0 of a line, true uses any # indentation of the line, e.g. setting to true causes the following on pressing CTRL+d #command_example(); # setting to false would generate this # command_example(); # This setting works only for single line comments comment_use_indent=true # context action command (please see Geany's main documentation for details) context_action_cmd= [indentation] #width=4 # 0 is spaces, 1 is tabs, 2 is tab & spaces #type=1 geany-1.32/data/filedefs/filetypes.common0000644000175000017500000001417513204251306015377 00000000000000# For complete documentation of this file, please see Geany's main documentation [styling] # use foreground;background;bold;italic or named_style,bold,italic # used for filetype All/None default=default # 3rd selection argument is true to override default foreground # 4th selection argument is true to override default background selection=selection # style for a matching brace brace_good=brace_good # style for a non-matching brace (a brace without a counterpart) brace_bad=brace_bad # the following settings define the colours of the margins on the left side margin_linenumber=margin_line_number margin_folding=margin_folding fold_symbol_highlight=fold_symbol_highlight # background colour of the current line, only the second and third argument is interpreted # use the third argument to enable or disable the highlighting of the current line (has to be true/false) current_line=current_line # translucency for the current line(first argument) and the selection (second argument) # values between 0 and 256 are accepted. Note for Windows 95, 98 and ME users: # keep this value at 256 to disable translucency otherwise Geany might crash translucency=256;256 # style for a highlighted line (e.g when using Goto line or goto tag) marker_line=marker_line # style for a marked search results (when using "Mark" in Search dialogs) # the second argument sets the background colour for the drawn rectangle # only the second argument is interpreted marker_search=marker_search # style for a marked line (e.g when using the "Toggle Marker" keybinding (Ctrl-M)) marker_mark=marker_mark # translucency for the line marker(first argument) and the search marker (second argument) marker_translucency=256;256 # colour of the caret(the blinking cursor), only first and third argument is interpreted # set the third argument to true to change the caret into a block caret caret=caret # width of the caret(the blinking cursor) # width in pixels, use 0 to make it invisible, maximum width is 3 caret_width=1 # set foreground and background colour of indentation guides indent_guide=indent_guide # third argument: if true, use this foreground color. If false, use the default value defined by the filetypes. # fourth argument: if true, use this background color. If false, use the default value defined by the filetypes. white_space=white_space # style of folding icons, valid values are: # first argument: 1 for boxes, 2 for circles, 3 for arrows, 4 for +/- # second argument: 1 for straight lines, 2 for curved lines or 0 for none folding_style=1;1; # should an horizontal line be drawn at the line where text is folded # 0 to disable # 1 to draw the line above folded text # 2 to draw the line below folded text folding_horiz_line=2 # first argument: drawing of visual flags to indicate a line is wrapped. This is a bitmask of the # values: 0 - No visual flags, 1 - Visual flag at end of subline of a wrapped line, 2 - Visual flag # at begin of subline of a wrapped line, Subline is indented by at least 1 to make room for the flag. # second argument: whether the visual flags to indicate a line is wrapped are drawn near the border # or near the text. This is a bitmask of the values: 0 - Visual flags drawn near border, # 1 - Visual flag at end of subline drawn near text, 2 - Visual flag at begin of subline drawn near text line_wrap_visuals=1;0; # first argument: sets the size of indentation of sublines for wrapped lines in terms of # the width of a space, only used when the second argument is 0 # second argument: wrapped sublines can be indented to the position of their first subline or # one more indent level, possible values: # 0 - Wrapped sublines aligned to left of window plus amount set by the first argument # 1 - Wrapped sublines are aligned to first subline indent (use the same indentation) # 2 - Wrapped sublines are aligned to first subline indent plus one more level of indentation line_wrap_indent=0;1; # first argument: amount of space to be drawn above the line's baseline # second argument: amount of space to be drawn below the line's baseline line_height=0;0; # 3rd argument is true to override default foreground of calltips # 4th argument is true to override default background of calltips calltips=call_tips # error indicator color indicator_error=0xff0000 [settings] # which characters should be skipped when moving (or included when deleting) to word boundaries # should always include space and tab (\s\t) whitespace_chars=\s\t!\"#$%&'()*+,-./:;<=>?@[\\]^`{|}~ #wordchars=_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 [named_styles] # This is the Default "built-in" color scheme default=0x000000;0xffffff;false;false error=0xff0000;0xBFBFBF;false;italic selection=0x000000;0xc0c0c0;false;true current_line=0x000000;0xf0f0f0;true; brace_good=0x0000ff;0xFFFFFF;true;false brace_bad=0xff0000;0xFFFFFF;true;false margin_line_number=0x000000;0xd0d0d0; margin_folding=0x000000;0xdfdfdf; fold_symbol_highlight=0xffffff indent_guide=0xc0c0c0;; caret=0x000000;0x000000;false; marker_line=0x000000;0xffff00; marker_search=0x000000;0x0000f0; marker_mark=0x000000;0xb8f4b8; call_tips=0xc0c0c0;0xffffff;false;false white_space=0xc0c0c0;0xffffff;true;false comment=0xd00000 comment_doc=0x3f5fbf comment_line=comment comment_line_doc=comment_doc comment_doc_keyword=comment_doc,bold comment_doc_keyword_error=comment_doc,italic number=0x007f00 number_1=number number_2=number_1 type=0x0000d0;;true;false class=type function=0x000080 parameter=function keyword=0x00007f;;true;false keyword_1=keyword keyword_2=0x991111;;true;false keyword_3=keyword_1 keyword_4=keyword_1 identifier=default identifier_1=identifier identifier_2=identifier_1 identifier_3=identifier_1 identifier_4=identifier_1 string=0xff8000 string_1=string string_2=0x008000 string_eol=0x000000;0xe0c0e0;false;false character=string_1 backticks=string_2 here_doc=string_2 label=default,bold preprocessor=0x007f7f regex=number_1 operator=0x301010 decorator=string_1,bold other=0x404080 tag=type tag_unknown=tag,bold tag_end=tag,bold attribute=keyword_1 attribute_unknown=attribute,bold value=string_1 entity=default line_added=0x34b034;0xffffff;false;false line_removed=0xff2727;0xffffff;false;false line_changed=0x7f007f;0xffffff;false;false geany-1.32/data/filedefs/filetypes.coffeescript0000644000175000017500000000263113204251306016555 00000000000000# For complete documentation of this file, please see Geany's main documentation [styling] character=character commentblock=comment commentline=comment_line default=default globalclass=class identifier=identifier_1 number=number_1 operator=operator regex=regex string=string_1 stringeol=string_eol verbose_regex=regex verbose_regex_comment=comment word2=keyword_2 word=keyword_1 instanceproperty=identifier_2 [settings] extension=coffee comment_single=# comment_open=### comment_close=### comment_use_indent=true context_action_cmd= [keywords] # all items must be in one line primary=and break by case catch class const continue default delete do each else extends false finally for get if in Infinity instanceof is isnt let loop NaN new no not null of off on or return set switch then this throw true try typeof undefined unless until void when where while with yes yield secondary=constructor decodeURI decodeURIComponent encodeURI encodeURIComponent eval isFinite isNaN parseFloat parseInt prototype require super # types, classes globalclass=Array Boolean Date Error EvalError Function Math Number Object RangeError ReferenceError RegExp String SyntaxError TypeError URIError [indentation] #width=4 # 0 is spaces, 1 is tabs, 2 is tab & spaces #type=1 [build-menu] FT_00_LB=Compile into _Javascript FT_00_CM=coffee --compile "%f" FT_01_LB=View compiled _Javascript FT_01_CM=coffee -p "%f" EX_00_LB=Run EX_00_CM=coffee "%f" geany-1.32/data/filedefs/filetypes.cobol0000644000175000017500000000737613204251306015212 00000000000000# For complete documentation of this file, please see Geany's main documentation [styling] # Edit these in the colorscheme .conf file instead default=default comment=comment commentline=comment_line commentdoc=comment_doc number=number_1 word=keyword_1 word2=keyword_2 string=string_1 character=character operator=operator identifier=identifier_1 quotedidentifier=identifier_2 [keywords] # all items must be in one line keywords=accept access add address advancing after alphabet alphabetic alphabetic-lower alphabetic-upper alphanumeric alphanumeric-edited als alternate and any are area areas ascending assign at author before binary blank block bottom by cancel cbll cd cf ch character characters class clock-units close cobol code code-set collating column comma common communications computational compute configuration content continue control converting corr corresponding count currency data date date-compiled date-written day day-of-week de debug-contents debug-item debug-line debug-name debug-sub-1 debug-sub-2 debug-sub-3 debugging decimal-point delaratives delete delimited delimiter depending descending destination detail disable display divide division down duplicates dynamic egi else emi enable end-add end-compute end-delete end-divide end-evaluate end-if end-multiply end-of-page end-perform end-read end-receive end-return end-rewrite end-search end-start end-string end-subtract end-unstring end-write environment equal error esi evaluate every exception extend external false fd file file-control filler final first footing for from generate giving global greater group heading high-value high-values i-o i-o-control identification in index indexed indicate initial initialize initiate input input-output inspect installation into is just justified key label last leading left length lock memory merge message mode modules move multiple multiply native negative next no not number numeric numeric-edited object-computer occurs of off omitted on open optional or order organization other output overflow packed-decimal padding page page-counter perform pf ph pic picture plus position positive printing procedure procedures procedd program program-id purge queue quotes random rd read receive record records redefines reel reference references relative release remainder removal replace replacing report reporting reports rerun reserve reset return returning reversed rewind rewrite rf rh right rounded same sd search section security segment segment-limited select send sentence separate sequence sequential set sign size sort sort-merge source source-computer special-names standard standard-1 standard-2 start status string sub-queue-1 sub-queue-2 sub-queue-3 subtract sum suppress symbolic sync synchronized table tallying tape terminal terminate test text than then through thru time times to top trailing true type unit unstring until up upon usage use using value values varying when with words working-storage write [settings] # default extension used when saving files extension=cob # MIME type mime_type=text/x-cobol # the following characters are these which a "word" can contains, see documentation #wordchars=_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 # single comments, like # in this file comment_single=*> # multiline comments #comment_open= #comment_close= # set to false if a comment character/string should start at column 0 of a line, true uses any # indentation of the line, e.g. setting to true causes the following on pressing CTRL+d #command_example(); # setting to false would generate this # command_example(); # This setting works only for single line comments comment_use_indent=false # context action command (please see Geany's main documentation for details) context_action_cmd= [indentation] #width=4 # 0 is spaces, 1 is tabs, 2 is tab & spaces #type=1 geany-1.32/data/filedefs/filetypes.cmake0000644000175000017500000000775113204251306015171 00000000000000# For complete documentation of this file, please see Geany's main documentation [styling] # foreground;background;bold;italic default=default comment=comment stringdq=string_1 stringlq=string_1 stringrq=string_1 command=function parameters=parameter variable=identifier_1 userdefined=type whiledef=keyword_1 foreachdef=keyword_1 ifdefinedef=keyword_1 macrodef=preprocessor stringvar=string_2 number=number_1 [keywords] # all items must be in one line commands=add_compile_options add_custom_command add_custom_target add_definitions add_dependencies add_executable add_library add_subdirectory add_test aux_source_directory break build_command build_name cmake_host_system_information cmake_minimum_required cmake_policy configure_file create_test_sourcelist define_property else elseif enable_language enable_testing endforeach endfunction endif endmacro endwhile exec_program execute_process export export_library_dependencies file find_file find_library find_package find_path find_program fltk_wrap_ui foreach function get_cmake_property get_directory_property get_filename_component get_property get_source_file_property get_target_property get_test_property if include include_directories include_external_msproject include_regular_expression install install_files install_programs install_targets link_directories link_libraries list load_cache load_command macro make_directory mark_as_advanced math message option output_required_files project qt_wrap_cpp qt_wrap_ui remove remove_definitions return separate_arguments set set_directory_properties set_property set_source_files_properties set_target_properties set_tests_properties site_name source_group string subdir_depends subdirs target_compile_definitions target_compile_options target_include_directories target_link_libraries try_compile try_run unset use_mangled_mesa utility_source variable_requires variable_watch while write_file parameters=ABSOLUTE ABSTRACT ADDITIONAL_MAKE_CLEAN_FILES ALL AND APPEND APPLE ARGS ASCII BEFORE BORLAND CACHE CACHE_VARIABLES CLEAR CMAKE_COMPILER_2005 COMMAND COMMAND_NAME COMMANDS COMMENT COMPARE COMPILE_FLAGS COPYONLY CYGWIN DEFINED DEFINE_SYMBOL DEPENDS DOC EQUAL ESCAPE_QUOTES EXCLUDE EXCLUDE_FROM_ALL EXISTS EXPORT_MACRO EXT EXTRA_INCLUDE FATAL_ERROR FILE FILES FORCE FUNCTION GENERATED GLOB GLOB_RECURSE GREATER GROUP_SIZE HEADER_FILE_ONLY HEADER_LOCATION IMMEDIATE INCLUDE_DIRECTORIES INCLUDE_INTERNALS INCLUDE_REGULAR_EXPRESSION INCLUDES INTERFACE LESS LINK_DIRECTORIES LINK_FLAGS LOCATION MACOSX_BUNDLE MACROS MAIN_DEPENDENCY MAKE_DIRECTORY MATCH MATCHALL MATCHES MINGW MODULE MSVC MSVC60 MSVC70 MSVC71 MSVC80 MSVC_IDE MSYS NAME NAME_WE NO_SYSTEM_PATH NOT NOTEQUAL OBJECT_DEPENDS OFF ON OPTIONAL OR OUTPUT OUTPUT_VARIABLE PATH PATHS POST_BUILD POST_INSTALL_SCRIPT PRE_BUILD PREFIX PRE_INSTALL_SCRIPT PRE_LINK PREORDER PRIVATE PROGRAM PROGRAM_ARGS PROPERTIES PUBLIC QUIET RANGE READ REGEX REGULAR_EXPRESSION REPLACE REQUIRED RETURN_VALUE RUNTIME_DIRECTORY SEND_ERROR SHARED SOURCES STATIC STATUS STREQUAL STRGREATER STRLESS SUFFIX TARGET TOLOWER TOUPPER VAR VARIABLES VERSION WATCOM WIN32 WRAP_EXCLUDE WRITE userdefined= # to get keywords run 'cmake --help-command-list' [settings] # default extension used when saving files extension=cmake # MIME type mime_type=text/x-cmake # the following characters are these which a "word" can contains, see documentation #wordchars=_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 # single comments, like # in this file comment_single=# # multiline comments #comment_open= #comment_close= # set to false if a comment character/string should start at column 0 of a line, true uses any # indentation of the line, e.g. setting to true causes the following on pressing CTRL+d #command_example(); # setting to false would generate this # command_example(); # This setting works only for single line comments comment_use_indent=true # context action command (please see Geany's main documentation for details) context_action_cmd= [indentation] #width=4 # 0 is spaces, 1 is tabs, 2 is tab & spaces #type=1 geany-1.32/data/filedefs/filetypes.Clojure.conf0000644000175000017500000001341613204251306016433 00000000000000# For complete documentation of this file, please see Geany's main documentation [styling=Lisp] [keywords] # all items must be in one line keywords=* *1 *2 *3 *agent* *allow-unresolved-vars* *assert* *clojure-version* *command-line-args* *compile-files* *compile-path* *e *err* *file* *flush-on-newline* *in* *macro-meta* *math-context* *ns* *out* *print-dup* *print-length* *print-level* *print-meta* *print-readably* *read-eval* *source-path* *use-context-classloader* *warn-on-reflection* + - -> -> ->> ->> .. / < < <= <= = == > > >= >= accessor aclone add-classpath add-watch agent agent-errors aget alength alias all-ns alter alter-meta! alter-var-root amap ancestors and apply areduce array-map aset aset-boolean aset-byte aset-char aset-double aset-float aset-int aset-long aset-short assert assoc assoc! assoc-in associative? atom await await-for await1 bases bean bigdec bigint binding bit-and bit-and-not bit-clear bit-flip bit-not bit-or bit-set bit-shift-left bit-shift-right bit-test bit-xor boolean boolean-array booleans bound-fn bound-fn* butlast byte byte-array bytes cast char char-array char-escape-string char-name-string char? chars chunk chunk-append chunk-buffer chunk-cons chunk-first chunk-next chunk-rest chunked-seq? class class? clear-agent-errors clojure-version coll? comment commute comp comparator compare compare-and-set! compile complement concat cond condp conj conj! cons constantly construct-proxy contains? count counted? create-ns create-struct cycle dec decimal? declare definline defmacro defmethod defmulti defn defn- defonce defstruct delay delay? deliver deref derive descendants destructure disj disj! dissoc dissoc! distinct distinct? doall doc dorun doseq dosync dotimes doto double double-array doubles drop drop-last drop-while empty empty? ensure enumeration-seq eval even? every? false? ffirst file-seq filter find find-doc find-ns find-var first float float-array float? floats flush fn fn? fnext for force format future future-call future-cancel future-cancelled? future-done? future? gen-class gen-interface gensym get get-in get-method get-proxy-class get-thread-bindings get-validator hash hash-map hash-set identical? identity if-let if-not ifn? import in-ns inc init-proxy instance? int int-array integer? interleave intern interpose into into-array ints io! isa? iterate iterator-seq juxt key keys keyword keyword? last lazy-cat lazy-seq let letfn line-seq list list* list? load load-file load-reader load-string loaded-libs locking long long-array longs loop macroexpand macroexpand-1 make-array make-hierarchy map map? mapcat max max-key memfn memoize merge merge-with meta method-sig methods min min-key mod name namespace neg? newline next nfirst nil? nnext not not-any? not-empty not-every? not= ns ns-aliases ns-imports ns-interns ns-map ns-name ns-publics ns-refers ns-resolve ns-unalias ns-unmap nth nthnext num number? odd? or parents partial partition pcalls peek persistent! pmap pop pop! pop-thread-bindings pos? pr pr-str prefer-method prefers primitives-classnames print print-ctor print-doc print-dup print-method print-namespace-doc print-simple print-special-doc print-str printf println println-str prn prn-str promise proxy proxy-call-with-super proxy-mappings proxy-name proxy-super push-thread-bindings pvalues quot rand rand-int range ratio? rational? rationalize re-find re-groups re-matcher re-matches re-pattern re-seq read read-line read-string reduce ref ref-history-count ref-max-history ref-min-history ref-set refer refer-clojure release-pending-sends rem remove remove-method remove-ns remove-watch repeat repeatedly replace replicate require reset! reset-meta! resolve rest resultset-seq reverse reversible? rseq rsubseq second select-keys send send-off seq seq? seque sequence sequential? set set-validator! set? short short-array shorts shutdown-agents slurp some sort sort-by sorted-map sorted-map-by sorted-set sorted-set-by sorted? special-form-anchor special-symbol? split-at split-with str stream? string? struct struct-map subs subseq subvec supers swap! symbol symbol? sync syntax-symbol-anchor take take-last take-nth take-while test the-ns time to-array to-array-2d trampoline transient tree-seq true? type unchecked-add unchecked-dec unchecked-divide unchecked-inc unchecked-multiply unchecked-negate unchecked-remainder unchecked-subtract underive unquote unquote-splicing update-in update-proxy use val vals var-get var-set var? vary-meta vec vector vector? when when-first when-let when-not while with-bindings with-bindings* with-in-str with-loading-context with-local-vars with-meta with-open with-out-str with-precision xml-seq zero? zipmap . .. def do fn if let loop monitor-enter monitor-exit new quote recur set! throw try var [settings] # default extension used when saving files extension=clj lexer_filetype=Lisp # the following characters are these which a "word" can contains, see documentation #wordchars=_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 # single comments, like # in this file comment_single=; # multiline comments # comment_open=#| # comment_close=|# # set to false if a comment character/string should start at column 0 of a line, true uses any # indentation of the line, e.g. setting to true causes the following on pressing CTRL+d #command_example(); # setting to false would generate this # command_example(); # This setting works only for single line comments comment_use_indent=true # context action command (please see Geany's main documentation for details) context_action_cmd=xdg-open "http://clojure.github.com/clojure/clojure.core-api.html#clojure.core/%s" [indentation] width=2 # 0 is spaces, 1 is tabs, 2 is tab & spaces type=0 [build_settings] # %f will be replaced by the complete filename # %e will be replaced by the filename without extension # (use only one of it at one time) compiler= run_cmd=clj "%f" geany-1.32/data/filedefs/filetypes.caml0000644000175000017500000000362413204251306015020 00000000000000# For complete documentation of this file, please see Geany's main documentation [styling] # Edit these in the colorscheme .conf file instead default=default comment=comment comment1=comment comment2=comment comment3=comment number=number_1 keyword=keyword_1 keyword2=keyword_2 keyword3=keyword_3 string=string_1 char=character operator=operator identifier=identifier_1 tagname=preprocessor linenum=number_2 white=default [keywords] # all items must be in one line keywords=and as assert asr begin class constraint do done downto else end exception external false for fun function functor if in include inherit initializer land lazy let lor lsl lsr lxor match method mod module mutable new object of open or private rec sig struct then to true try type val virtual when while with keywords_optional=option Some None ignore ref [settings] # default extension used when saving files extension=ml # MIME type mime_type=text/x-ocaml # the following characters are these which a "word" can contains, see documentation #wordchars=_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 # single comments, like # in this file #comment_single= # multiline comments comment_open=(* comment_close=*) # set to false if a comment character/string should start at column 0 of a line, true uses any # indentation of the line, e.g. setting to true causes the following on pressing CTRL+d #command_example(); # setting to false would generate this # command_example(); # This setting works only for single line comments comment_use_indent=true # context action command (please see Geany's main documentation for details) context_action_cmd= [indentation] #width=4 # 0 is spaces, 1 is tabs, 2 is tab & spaces #type=1 [build_settings] # %f will be replaced by the complete filename # %e will be replaced by the filename without extension # (use only one of it at one time) compiler=ocamlc -c "%f" linker=ocamlc -o "%e" "%f" run_cmd="./%e" geany-1.32/data/filedefs/filetypes.c0000644000175000017500000000720613204251306014326 00000000000000# For complete documentation of this file, please see Geany's main documentation [styling] # Edit these in the colorscheme .conf file instead default=default comment=comment commentline=comment_line commentdoc=comment_doc preprocessorcomment=comment preprocessorcommentdoc=comment_doc number=number_1 word=keyword_1 word2=keyword_2 string=string_1 stringraw=string_2 character=character userliteral=other uuid=other preprocessor=preprocessor operator=operator identifier=identifier_1 stringeol=string_eol verbatim=string_2 regex=regex commentlinedoc=comment_line_doc commentdockeyword=comment_doc_keyword commentdockeyworderror=comment_doc_keyword_error globalclass=class # """verbatim""" tripleverbatim=string_2 hashquotedstring=string_2 taskmarker=comment escapesequence=string_1 [keywords] # all items must be in one line primary=asm auto break case char const continue default do double else enum extern float for goto if inline int long register restrict return short signed sizeof static struct switch typedef union unsigned void volatile while _Alignas _Alignof _Atomic _Bool _Complex _Generic _Imaginary _Noreturn _Static_assert _Thread_local FALSE NULL TRUE secondary= # these are the Doxygen keywords docComment=a addindex addtogroup anchor arg attention author authors b brief bug c callergraph callgraph category cite class code cond copybrief copydetails copydoc copyright date def defgroup deprecated details dir dontinclude dot dotfile e else elseif em endcode endcond enddot endhtmlonly endif endinternal endlatexonly endlink endmanonly endmsc endrtfonly endverbatim endxmlonly enum example exception extends file fn headerfile hideinitializer htmlinclude htmlonly if ifnot image implements include includelineno ingroup interface internal invariant latexonly li line link mainpage manonly memberof msc mscfile n name namespace nosubgrouping note overload p package page par paragraph param post pre private privatesection property protected protectedsection protocol public publicsection ref related relatedalso relates relatesalso remark remarks result return returns retval rtfonly sa section see short showinitializer since skip skipline snippet struct subpage subsection subsubsection tableofcontents test throw throws todo tparam typedef union until var verbatim verbinclude version warning weakgroup xmlonly xrefitem [lexer_properties] styling.within.preprocessor=1 lexer.cpp.track.preprocessor=0 [settings] # default extension used when saving files extension=c # MIME type mime_type=text/x-csrc # the following characters are these which a "word" can contains, see documentation #wordchars=_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 # single comments, like # in this file comment_single=// # multiline comments comment_open=/* comment_close=*/ # set to false if a comment character/string should start at column 0 of a line, true uses any # indentation of the line, e.g. setting to true causes the following on pressing CTRL+d #command_example(); # setting to false would generate this # command_example(); # This setting works only for single line comments comment_use_indent=true # context action command (please see Geany's main documentation for details) context_action_cmd= [indentation] #width=4 # 0 is spaces, 1 is tabs, 2 is tab & spaces #type=1 [build-menu] # %f will be replaced by the complete filename # %e will be replaced by the filename without extension # (use only one of it at one time) FT_00_LB=_Compile FT_00_CM=gcc -Wall -c "%f" FT_00_WD= FT_01_LB=_Build FT_01_CM=gcc -Wall -o "%e" "%f" FT_01_WD= FT_02_LB=_Lint FT_02_CM=cppcheck --language=c --enable=warning,style --template=gcc "%f" FT_02_WD= EX_00_LB=_Execute EX_00_CM="./%e" EX_00_WD= geany-1.32/data/filedefs/filetypes.batch0000644000175000017500000000257313204251306015167 00000000000000# For complete documentation of this file, please see Geany's main documentation [styling] # Edit these in the colorscheme .conf file instead default=default comment=comment_line label=label word=keyword_1 hide=other command=function operator=operator identifier=string [keywords] # all items must be in one line keywords=rem set if else exist errorlevel for in do break call copy chcp cd chdir choice cls country ctty date del erase dir echo exit goto loadfix loadhigh mkdir md move path pause prompt rename ren rmdir rd shift time type ver verify vol com con lpt nul defined not errorlevel cmdextversion keywords_optional= [settings] # default extension used when saving files extension=bat # the following characters are these which a "word" can contains, see documentation #wordchars=_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 # single comments, like # in this file comment_single=:: # multiline comments #comment_open= #comment_close= # set to false if a comment character/string should start at column 0 of a line, true uses any # indentation of the line, e.g. setting to true causes the following on pressing CTRL+d #command_example(); # setting to false would generate this # command_example(); # This setting works only for single line comments comment_use_indent=true # context action command (please see Geany's main documentation for details) context_action_cmd= geany-1.32/data/filedefs/filetypes.asm0000644000175000017500000000345413204251306014665 00000000000000# For complete documentation of this file, please see Geany's main documentation [styling] # Edit these in the colorscheme .conf file instead default=default comment=comment_line commentblock=comment commentdirective=comment number=number_1 string=string_1 operator=operator identifier=identifier_1 cpuinstruction=keyword_1 mathinstruction=keyword_2 register=type directive=preprocessor directiveoperand=keyword_3 character=character stringeol=string_eol extinstruction=keyword_4 [keywords] # all items must be in one line # this is by default a very simple instruction set; not of Intel or so instructions=hlt lad spi add sub mul div jmp jez jgz jlz swap jsr ret pushac popac addst subst mulst divst lsa lds push pop cli ldi ink lia dek ldx registers= directives=org list nolist page equivalent word text [settings] # default extension used when saving files extension=asm # the following characters are these which a "word" can contains, see documentation #wordchars=_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 # single comments, like # in this file comment_single=; # multiline comments #comment_open= #comment_close= # set to false if a comment character/string should start at column 0 of a line, true uses any # indentation of the line, e.g. setting to true causes the following on pressing CTRL+d #command_example(); # setting to false would generate this # command_example(); # This setting works only for single line comments comment_use_indent=true # context action command (please see Geany's main documentation for details) context_action_cmd= [indentation] #width=4 # 0 is spaces, 1 is tabs, 2 is tab & spaces #type=1 [build_settings] # %f will be replaced by the complete filename # %e will be replaced by the filename without extension # (use only one of it at one time) compiler=nasm "%f" geany-1.32/data/filedefs/filetypes.asciidoc0000644000175000017500000000201613204251306015654 00000000000000# For complete documentation of this file, please see Geany's main documentation [styling] # no syntax highlighting yet [settings] # default extension used when saving files extension=asciidoc # the following characters are these which a "word" can contains, see documentation #wordchars=_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 # single comments, like # in this file comment_single=// # multiline comments #comment_open=//// #comment_close=//// # set to false if a comment character/string should start at column 0 of a line, true uses any # indentation of the line, e.g. setting to true causes the following on pressing CTRL+d #command_example(); # setting to false would generate this # command_example(); # This setting works only for single line comments comment_use_indent=false # context action command (please see Geany's main documentation for details) context_action_cmd= # sort tags by appearance symbol_list_sort_mode=1 [indentation] #width=4 # 0 is spaces, 1 is tabs, 2 is tab & spaces #type=1 geany-1.32/data/filedefs/filetypes.Arduino.conf0000644000175000017500000000507013204251306016426 00000000000000[styling=C] [keywords] primary=and and_eq asm auto bitand bitor bool boolean break byte case catch char class compl const const_cast constexpr continue decltype default delete do double dynamic_cast else enum explicit extern false final float for friend goto if inline int int8_t int16_t int32_t int64_t long mutable namespace new noexcept not not_eq nullptr operator or or_eq override private protected ptrdiff_t public register reinterpret_cast return short signed sizeof size_t static static_assert static_cast struct switch template this throw true try typedef typeid typename uint8_t uint16_t uint32_t uint64_t union unsigned using virtual void volatile while xor xor_eq secondary=abs analogRead analogReadResolution analogReference analogWrite analogWriteResolution attachInterrupt bit bitClear bitRead bitSet bitWrite constrain cos delay delayMicroseconds detachInterrupt digitalRead digitalWrite EEPROM Ethernet F highByte interrupts isAlpha isAlphaNumeric isAscii isControl isDigit isGraph isHexadecimalDigit isLowerCase isPrintable isPunct isSpace isUpperCase isWhitespace Keyboard LiquidCrystal loop lowByte map max micros millis min Mouse noInterrupts noTone pinMode pow PROGMEM pulseIn random randomSeed SD Serial Servo setup shiftIn shiftOut sin SoftwareSerial SPI sqrt Stepper tan tone Wire word yield [lexer_properties=C] [settings] lexer_filetype=C tag_parser=C extension=ino # single comments, like # in this file comment_single=// # multiline comments comment_open=/* comment_close=*/ # set to false if a comment character/string should start at column 0 of a line, true uses any # indentation of the line, e.g. setting to true causes the following on pressing CTRL+d #command_example(); # setting to false would generate this # command_example(); # This setting works only for single line comments comment_use_indent=true # context action command (please see Geany's main documentation for details) context_action_cmd=xdg-open "https://www.arduino.cc/en/Reference/%s" [indentation] #width=2 # 0 is spaces, 1 is tabs, 2 is tab & spaces #type=0 # Use this reference for making up Arduino command lines: # https://github.com/arduino/Arduino/blob/master/build/shared/manpage.adoc [build-menu] FT_00_LB=_Build FT_00_CM=arduino --verify "%d/%f" --board arduino:avr:uno FT_00_WD= FT_01_LB=Build (_Verbose) FT_01_CM=arduino --verify --verbose-build "%d/%f" --board arduino:avr:uno FT_01_WD= EX_00_LB=_Upload EX_00_CM=arduino --upload "%d/%f" --board arduino:avr:uno EX_00_WD= EX_01_LB=Up_load (Verbose) EX_01_CM=arduino --upload --verbose-upload "%d/%f" --board arduino:avr:uno EX_01_WD= geany-1.32/data/filedefs/filetypes.ada0000644000175000017500000000366713204251306014640 00000000000000# For complete documentation of this file, please see Geany's main documentation [styling] # Edit these in the colorscheme .conf file instead default=default word=keyword_1 identifier=identifier_1 number=number delimiter=operator character=character charactereol=string_eol string=string_1 stringeol=string_eol label=label commentline=comment_line illegal=error [keywords] # all items must be in one line primary=abort abs abstract accept access aliased all and array at begin body case constant declare delay delta digits do else elsif end entry exception exit for function generic goto if in interface is limited loop mod new not null of or others out overriding package pragma private procedure protected raise range record rem renames requeue return reverse select separate subtype synchronized tagged task terminate then type until use when while with xor [settings] # default extension used when saving files extension=adb # MIME type mime_type=text/x-adasrc # the following characters are these which a "word" can contains, see documentation #wordchars=_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 # single comments, like # in this file comment_single=-- # multiline comments #comment_open= #comment_close= # set to false if a comment character/string should start at column 0 of a line, true uses any # indentation of the line, e.g. setting to true causes the following on pressing CTRL+d #command_example(); # setting to false would generate this # command_example(); # This setting works only for single line comments comment_use_indent=true # context action command (please see Geany's main documentation for details) context_action_cmd= [indentation] #width=4 # 0 is spaces, 1 is tabs, 2 is tab & spaces #type=1 [build_settings] # %f will be replaced by the complete filename # %e will be replaced by the filename without extension # (use only one of it at one time) compiler=gcc -Wall -c "%f" linker=gnatmake "%e" run_cmd="./%e" geany-1.32/data/filedefs/filetypes.actionscript0000644000175000017500000000367413204251306016613 00000000000000# For complete documentation of this file, please see Geany's main documentation [styling=C] [keywords] # all items must be in one line primary=arguments break case catch class const continue default do dynamic each else extends false final finally for function get if implements import in include Infinity interface internal label namespace NaN native new null override package private protected public return set static super switch this throw true try typeof undefined var while with secondary=decodeURI decodeURIcomponent encodeURI encodeURIcomponent escape isFinite isNaN isXMLName parseFloat parseInt trace unescape classes=ArgumentError Array Boolean Class Date DefinitionError Error EvalError Function int Math NameSpace Null Number Object QName RangeError ReferenceError RegExp SecurityError String SyntaxError TypeError uint URIError Vector VerifyError void XML XMLList [lexer_properties=C] [settings] # default extension used when saving files extension=as # MIME type mime_type=application/ecmascript # the following characters are these which a "word" can contains, see documentation #wordchars=_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 # single comments, like # in this file comment_single=// # multiline comments comment_open=/* comment_close=*/ # set to false if a comment character/string should start at column 0 of a line, true uses any # indentation of the line, e.g. setting to true causes the following on pressing CTRL+d #command_example(); # setting to false would generate this # command_example(); # This setting works only for single line comments comment_use_indent=true # context action command (please see Geany's main documentation for details) context_action_cmd= [indentation] #width=4 # 0 is spaces, 1 is tabs, 2 is tab & spaces #type=1 [build_settings] # %f will be replaced by the complete filename # %e will be replaced by the filename without extension # (use only one of it at one time) compiler= run_cmd= geany-1.32/data/filedefs/filetypes.abc0000644000175000017500000000034213204251306014623 00000000000000# For complete documentation of this file, please see Geany's main documentation [styling] # no syntax highlighting yet [settings] # default extension used when saving files extension=abc # MIME type mime_type=text/vnd.abc geany-1.32/data/filedefs/filetypes.abaqus0000644000175000017500000000471413204251306015361 00000000000000# For complete documentation of this file, please see Geany's main documentation [styling] # Edit these in the colorscheme .conf file instead default=default comment=comment_line number=number string=string_1 operator=operator processor=preprocessor starcommand=keyword argument=parameter [keywords] # all items must be in one line starcommands=amplitude assembly beam boundary buckle bulk cload conditions conductivity contact damping density dload dsflux dsload dynamic el elastic element element output elgen elset encastre end step expansion explicit equation embedded element field freq frequency friction generate heading heat transfer history imperfectio import include initial initial conditions instance interactio internal interval marks material monitor mpc ncopy nfill ngen nlgeom node node output node print nset number output pair parameter part physical constants plastic print preprint radiate restart shell shell section solid section specific heat sradiate static step surface temperature time type variable viscosity arguments=elset engineering inc input line material name nset pin tie type write generate field variable history stefan boltzmann absolute zero zero frequency steady state new old set change number shift model position newset oldset host [settings] # default extension used when saving files extension=inp # the following characters are these which a "word" can contains, see documentation #wordchars=_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 # single comments, like # in this file comment_single=** # multiline comments #comment_open= #comment_close= # set to false if a comment character/string should start at column 0 of a line, true uses any # indentation of the line, e.g. setting to true causes the following on pressing CTRL+d #command_example(); # setting to false would generate this # command_example(); # This setting works only for single line comments comment_use_indent=false # context action command (please see Geany's main documentation for details) context_action_cmd= [indentation] #width=4 # 0 is spaces, 1 is tabs, 2 is tab & spaces #type=1 [build_settings] # %f will be replaced by the complete filename # %e will be replaced by the filename without extension # (use only one of it at one time) compiler= run_cmd=abaqus job="%f" interactive datacheck [build-menu] FT_00_LB=Datacheck FT_00_CM=abaqus job="%f" interactive datacheck FT_00_BD=false FT_01_LB=Run Job FT_01_CM=abaqus job="%f" interactive FT_01_BD=false geany-1.32/data/colorschemes/0000755000175000017500000000000013204261064013140 500000000000000geany-1.32/data/colorschemes/alt.conf0000644000175000017500000000413013204251306014503 00000000000000[theme_info] name=Alternate description=Alternate Geany color scheme with styles like the Geany <= 0.19 Python/script defaults with gray comments. version=0.01 author= url= [named_styles] default=0x000000;0xffffff;false;false error=0xffffff;0xff0000 # Editor styles #------------------------------------------------------------------------------- selection=0x000000;0xc0c0c0;false;true current_line=0x000000;0xf0f0f0;true brace_good=0x0000ff;0xFFFFFF;true;false brace_bad=0xff0000;0xFFFFFF;true;false margin_line_number=0x000000;0xd0d0d0 margin_folding=0x000000;0xdfdfdf fold_symbol_highlight=0xffffff indent_guide=0xc0c0c0 caret=0x000000;0x000000;false marker_line=0x000000;0xffff00 marker_search=0x000000;0x0000f0 marker_mark=0x000000;0xb8f4b8 call_tips=0xc0c0c0;0xffffff;false;false white_space=0xc0c0c0;0xffffff;true;false # Programming languages #------------------------------------------------------------------------------- comment=0x808080 comment_doc=0x404000 comment_line=comment comment_line_doc=comment_doc comment_doc_keyword=comment_doc,bold comment_doc_keyword_error=comment_doc,italic number=0x400080 number_1=number number_2=number_1 type=0x2E8B57;;true class=type function=0x000080 parameter=function keyword=0x003030;;true keyword_1=keyword keyword_2=0x9f0200;;true keyword_3=keyword_1 keyword_4=keyword_1 identifier=default identifier_1=identifier identifier_2=identifier_1 identifier_3=identifier_1 identifier_4=identifier_1 string=0x008000 string_1=string string_2=string_1 string_3=default string_4=default string_eol=0x000000;0xe0c0e0 character=string_1 backticks=string_2 here_doc=string_2 label=default,bold preprocessor=0x808000 regex=number_1 operator=0x300080 decorator=string_1,bold other=0x404080 # Markup-type languages #------------------------------------------------------------------------------- tag=type tag_unknown=tag,bold tag_end=tag,bold attribute=keyword_1 attribute_unknown=attribute,bold value=string_1 entity=default # Diff #------------------------------------------------------------------------------- line_added=0x008B8B line_removed=0x6A5ACD line_changed=preprocessor geany-1.32/doc/0000755000175000017500000000000013204261064010306 500000000000000geany-1.32/doc/stash-gui-example.c0000644000175000017500000000243413204251306013730 00000000000000gboolean want_handle; StashGroup *group = ...; /* Add the stash setting first so we can load it from disk if we want. * Effectively, stash_group_add_boolean() is called for you. * We need to use either a widget pointer or a widget name, and as we * haven't created the widget yet we'll use a name - check_handle. */ stash_group_add_toggle_button(group, &want_handle, "handle", TRUE, "check_handle"); /* here we could load the setting from disk */ ... /* Later we create a dialog holding the toggle button widget. * (Note: a check button is a subclass of a toggle button). */ GtkWidget *dialog = ...; GtkWidget *check_button = gtk_check_button_new_with_label(_("Handle")); /* pack the widget into the dialog */ gtk_container_add(GTK_CONTAINER(dialog->vbox), check_button); /* Now we set a name to lookup the widget from the dialog. * We must remember to pass 'dialog' as an argument to Stash later. */ ui_hookup_widget(dialog, check_button, "check_handle"); ... /* At some point we want to display the dialog. * First we apply the want_handle boolean variable to the widget */ stash_group_display(group, dialog); /* now display the dialog */ gtk_widget_show_all(dialog); /* let the user manipulate widgets */ ... /* Now synchronize the want_handle variable */ stash_group_update(group, dialog); geany-1.32/doc/stash-example.c0000644000175000017500000000126513204251306013147 00000000000000StashGroup *group; gboolean china_enabled; gchar *potter_name; const gchar filename[] = "/path/data.conf"; /* setup the group */ group = stash_group_new("cup"); stash_group_add_boolean(group, &china_enabled, "china", TRUE); stash_group_add_string(group, &potter_name, "potter_name", "Miss Clay"); /* load the settings from a file */ if (!stash_group_load_from_file(group, filename)) g_warning(_("Could not load keyfile %s!"), filename); /* now use settings china_enabled and potter_name */ ... /* save settings to file */ if (stash_group_save_to_file(group, filename, G_KEY_FILE_NONE) != 0) g_error(_("Could not save keyfile %s!"), filename); /* free memory */ stash_group_free(group); geany-1.32/doc/pluginsymbols.c0000644000175000017500000001232213204251306013277 00000000000000/* * pluginsymbols.c - this file is part of Geany, a fast and lightweight IDE * * Copyright 2008-2012 Enrico Tröger * Copyright 2008-2012 Nick Treleaven * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ /* Note: this file is for Doxygen only. */ /** * @file pluginsymbols.c * Symbols declared from within plugins, all of this is deprecated. * * @deprecated This is the legacy way of making plugins for Geany. Refer to @ref howto for the * reworked process and @ref legacy to learn how to port your plugin to that new world. * Meanwhile Geany will still load plugins programmed against this interface (even the items that * are marked deprecated individually such as @ref plugin_fields). * * Geany looks for these symbols (arrays, pointers and functions) when initializing * plugins. Some of them are optional, i.e. they can be omitted; others are required * and must be defined. Some symbols should only be declared using specific macros in * @link plugindata.h @endlink. */ /** Use the PLUGIN_VERSION_CHECK() macro instead. Required by Geany. * * @param abi ABI version Geany was compiled with * @return The API version the plugin was compiled with, or -1 if the plugin is incompatible. */ gint plugin_version_check(gint abi); /** Use the PLUGIN_SET_INFO() macro to define it. Required by Geany. * This function is called before the plugin is initialized, so Geany * can read the plugin's name. * @param info The data struct which should be initialized by this function. */ void plugin_set_info(PluginInfo *info); /** Basic information about a plugin, which is set in plugin_set_info(). * @deprecated Use @ref GeanyPlugin.info instead.*/ const PluginInfo *plugin_info; /** Basic information for the plugin and identification. */ const GeanyPlugin *geany_plugin; /** Geany owned data pointers. * Example: @c assert(geany_data->app->configdir != NULL); */ const GeanyData *geany_data; /** Geany owned function pointers, split into groups. * Example: @code #include "geanyfunctions.h" * ... * document_new_file(NULL, NULL, NULL); @endcode * This is equivalent of @c geany_functions->p_document->document_new_file(NULL, NULL, NULL); */ const GeanyFunctions *geany_functions; /** Plugin owned fields, including flags. * @deprecated Use @ref ui_add_document_sensitive() instead.*/ PluginFields *plugin_fields; /** An array for connecting GeanyObject events, which should be terminated with * @c {NULL, NULL, FALSE, NULL}. See @link pluginsignals.c Signal documentation @endlink. * @see plugin_signal_connect(). */ PluginCallback plugin_callbacks[]; /** Plugins must use the PLUGIN_KEY_GROUP() macro to define it. * To setup a variable number of keybindings, e.g. based on the * plugin's configuration file settings, use plugin_set_key_group() instead. */ KeyBindingGroup *plugin_key_group; /** Called before showing the plugin preferences dialog for multiple plugins. * Can be omitted when not needed. * The dialog will show all plugins that support this symbol together. * @param dialog The plugin preferences dialog widget - this should only be used to * connect the @c "response" signal. If settings should be read from the dialog, the * response will be either @c GTK_RESPONSE_OK or @c GTK_RESPONSE_APPLY. * * @return @transfer{floating} A container widget holding preference widgets. * * @note Using @link stash.h Stash @endlink can make implementing preferences easier. * @see plugin_configure_single(). */ GtkWidget *plugin_configure(GtkDialog *dialog); /** Called when a plugin should show a preferences dialog, if plugin_configure() has not been * implemented. * @warning It's better to implement plugin_configure() instead, but this is simpler. * This does not integrate as well with the multiple-plugin dialog. * @param parent Pass this as the parent widget if showing a dialog. * @see plugin_configure(). */ void plugin_configure_single(GtkWidget *parent); /** Called after loading the plugin. * @param data The same as #geany_data. */ void plugin_init(GeanyData *data); /** Called before unloading the plugin. Required for normal plugins - it should undo * everything done in plugin_init() - e.g. destroy menu items, free memory. */ void plugin_cleanup(); /** Called whenever the plugin should show its documentation (if any). This may open a dialog, * a browser with a website or a local installed HTML help file (see utils_open_browser()) * or something else. * Can be omitted when not needed. */ void plugin_help(); geany-1.32/doc/pluginsignals.c0000644000175000017500000002522713204251306013257 00000000000000/* * pluginsignals.c - this file is part of Geany, a fast and lightweight IDE * * Copyright 2008-2012 Enrico Tröger * Copyright 2008-2012 Nick Treleaven * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ /* Note: this file is for Doxygen only. */ /** * @file pluginsignals.c * Plugin Signals * * * @section Usage * * To use plugin signals in Geany, you have two options: * * -# Create a PluginCallback array with the @ref plugin_callbacks symbol. List the signals * you want to listen to and create the appropriate signal callbacks for each signal. * The callback array is read @a after plugin_init() has been called. * -# Use plugin_signal_connect(), which can be called at any time and can also connect * to non-Geany signals (such as GTK widget signals). * * This page lists the signal prototypes, but you connect to them using the * string name (which by convention uses @c - hyphens instead of @c _ underscores). * * E.g. @c "document-open" for @ref document_open. * * The following code demonstrates how to use signals in Geany plugins. The code can be inserted * in your plugin code at any desired position. * * @code static void on_document_open(GObject *obj, GeanyDocument *doc, gpointer user_data) { printf("Example: %s was opened\n", DOC_FILENAME(doc)); } PluginCallback plugin_callbacks[] = { { "document-open", (GCallback) &on_document_open, FALSE, NULL }, { NULL, NULL, FALSE, NULL } }; * @endcode * @note The PluginCallback array has to be ended with a final @c NULL entry. */ /** Sent when a new document is created. * * @param obj a GeanyObject instance, should be ignored. * @param doc the new document. * @param user_data user data. */ signal void (*document_new)(GObject *obj, GeanyDocument *doc, gpointer user_data); /** Sent when a new document is opened. * * @param obj a GeanyObject instance, should be ignored. * @param doc the opened document. * @param user_data user data. */ signal void (*document_open)(GObject *obj, GeanyDocument *doc, gpointer user_data); /** Sent when an existing document is reloaded. * * @param obj a GeanyObject instance, should be ignored. * @param doc the re-opened document. * @param user_data user data. * * @since 0.21 */ signal void (*document_reload)(GObject *obj, GeanyDocument *doc, gpointer user_data); /** Sent before a document is saved. * * @param obj a GeanyObject instance, should be ignored. * @param doc the document to be saved. * @param user_data user data. */ signal void (*document_before_save)(GObject *obj, GeanyDocument *doc, gpointer user_data); /** Sent when a new document is saved. * * @param obj a GeanyObject instance, should be ignored. * @param doc the saved document. * @param user_data user data. */ signal void (*document_save)(GObject *obj, GeanyDocument *doc, gpointer user_data); /** Sent after the filetype of a document has been changed. * * The previous filetype object is passed but it can be NULL (e.g. at startup). * The new filetype can be read with: @code * GeanyFiletype *ft = doc->file_type; * @endcode * * @param obj a GeanyObject instance, should be ignored. * @param doc the saved document. * @param filetype_old the previous filetype of the document. * @param user_data user data. */ signal void (*document_filetype_set)(GObject *obj, GeanyDocument *doc, GeanyFiletype *filetype_old, gpointer user_data); /** Sent when switching notebook pages. * * @param obj a GeanyObject instance, should be ignored. * @param doc the current document. * @param user_data user data. */ signal void (*document_activate)(GObject *obj, GeanyDocument *doc, gpointer user_data); /** Sent before closing a document. * * @param obj a GeanyObject instance, should be ignored. * @param doc the document about to be closed. * @param user_data user data. */ signal void (*document_close)(GObject *obj, GeanyDocument *doc, gpointer user_data); /** Sent after a project is opened but before session files are loaded. * * @param obj a GeanyObject instance, should be ignored. * @param config an existing GKeyFile object which can be used to read and write data. * It must not be closed or freed. * @param user_data user data. */ signal void (*project_open)(GObject *obj, GKeyFile *config, gpointer user_data); /** Sent when a project is saved (happens when the project is created, the properties * dialog is closed, before the project is closed, or when Geany is exited). * This signal is emitted shortly before Geany will write the contents of the * GKeyFile to the disc. * * @param obj a GeanyObject instance, should be ignored. * @param config an existing GKeyFile object which can be used to read and write data. * It must not be closed or freed. * @param user_data user data. */ signal void (*project_save)(GObject *obj, GKeyFile *config, gpointer user_data); /** Sent after a project is closed. * * @param obj a GeanyObject instance, should be ignored. * @param user_data user data. */ signal void (*project_close)(GObject *obj, gpointer user_data); /** Sent before a project is closed. * * @param obj a GeanyObject instance, should be ignored. * @param user_data user data. * * @since 1.29 (API 230) */ signal void (*project_before_close)(GObject *obj, gpointer user_data); /** Sent after a project dialog is opened but before it is displayed. Plugins * can append their own project settings tabs by using this signal. * * @param obj a GeanyObject instance, should be ignored. * @param notebook a GtkNotebook instance that can be used by plugins to append their * settings tabs. * @param user_data user data. */ signal void (*project_dialog_open)(GObject *obj, GtkWidget *notebook, gpointer user_data); /** Sent when the settings dialog is confirmed by the user. Plugins can use * this signal to read the settings widgets previously added by using the * @c project-dialog-open signal. * * @warning The dialog will still be running afterwards if the user chose 'Apply'. * @param obj a GeanyObject instance, should be ignored. * @param notebook a GtkNotebook instance that can be used by plugins to read their * settings widgets. * @param user_data user data. */ signal void (*project_dialog_confirmed)(GObject *obj, GtkWidget *notebook, gpointer user_data); /** Sent before project dialog is closed. By using this signal, plugins can remove * tabs previously added in project-dialog-open signal handler. * * @param obj a GeanyObject instance, should be ignored. * @param notebook a GtkNotebook instance that can be used by plugins to remove * settings tabs previously added in the project-dialog-open signal handler. * @param user_data user data. */ signal void (*project_dialog_close)(GObject *obj, GtkWidget *notebook, gpointer user_data); /** Sent once Geany has finished all initialization and startup tasks and the GUI has been * realized. This signal is the very last step in the startup process and is sent once * the GTK main event loop has been entered. * * @param obj a GeanyObject instance, should be ignored. * @param user_data user data. */ signal void (*geany_startup_complete)(GObject *obj, gpointer user_data); /** Sent before build is started. A plugin could use this signal e.g. to save all unsaved documents * before the build starts. * * @param obj a GeanyObject instance, should be ignored. * @param user_data user data. */ signal void (*build_start)(GObject *obj, gpointer user_data); /** Sent before the popup menu of the editing widget is shown. This can be used to modify or extend * the popup menu. * * @note You can add menu items from @c plugin_init() using @c geany->main_widgets->editor_menu, * remembering to destroy them in @c plugin_cleanup(). * * @param obj a GeanyObject instance, should be ignored. * @param word the current word (in UTF-8 encoding) below the cursor position * where the popup menu will be opened. * @param click_pos the cursor position where the popup will be opened. * @param doc the current document. * @param user_data user data. */ signal void (*update_editor_menu)(GObject *obj, const gchar *word, gint pos, GeanyDocument *doc, gpointer user_data); /** Sent whenever something in the editor widget changes. * * E.g. Character added, fold level changes, clicks to the line number margin. * A detailed description of possible notifications and the SCNotification can be found at * http://www.scintilla.org/ScintillaDoc.html#Notifications. * * If you connect to this signal, you must check @c nt->nmhdr.code for the notification type * to prevent handling unwanted notifications. This is important because for instance SCN_UPDATEUI * is sent very often whereas you probably don't want to handle this notification. * * By default, the signal is sent before Geany's default handler is processing the event. * Your callback function should return FALSE to allow Geany processing the event as well. If you * want to prevent this for some reason, return TRUE. * Please use this with care as it can break basic functionality of Geany. * * The signal can be sent after Geany's default handler has been run when you set * PluginCallback::after field to TRUE. * * An example callback implementation of this signal can be found in the Demo plugin. * * @warning This signal has much power and should be used carefully. You should especially * care about the return value; make sure to return TRUE only if it is necessary * and in the correct situations. * * @param obj a GeanyObject instance, should be ignored. * @param editor The current GeanyEditor. * @param nt A pointer to the SCNotification struct which holds additional information for * the event. * @param user_data user data. * @return @c TRUE to stop other handlers from being invoked for the event. * @c FALSE to propagate the event further. * * @since 0.16 */ signal gboolean (*editor_notify)(GObject *obj, GeanyEditor *editor, SCNotification *nt, gpointer user_data); geany-1.32/doc/plugins.dox0000644000175000017500000013542313204251306012431 00000000000000/* * plugins.dox - this file is part of Geany, a fast and lightweight IDE * * Copyright 2008-2011 Enrico Tröger * Copyright 2008-2011 Nick Treleaven * Copyright 2009-2012 Frank Lanitz * Copyright 2014 Matthew Brush * Copyright 2015 Thomas Martitz * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. * * This file contains additional plugin documentation like the signal system * and a small howto. It is best viewed when filetype is set to C or C++. */ /** @mainpage Geany Plugin API Documentation @author Enrico Tröger, Nick Treleaven, Frank Lanitz, Matthew Brush @section Intro This is the Geany API documentation. It should be considered work in progress. We will try to document as many functions and structs as possible. @warning Do not use any symbol not in the documentation - it may change. @warning Except for exceptions stated in the documentation for geany_load_module(), no API function may be called if the plugin is not enabled (between the calls to their GeanyFuncs::init and GeanyFuncs::cleanup functions). @section pluginsupport Plugin Support - @link howto Plugin HowTo @endlink - get started - @ref proxy - @ref legacy - @link plugindata.h Plugin Datatypes and Macros @endlink - @link pluginsignals.c Plugin Signals @endlink - @link pluginutils.h Plugin Utility Functions @endlink - @link guidelines Plugin Writing Guidelines @endlink - plugins/demoplugin.c - in Geany's source, bigger than the howto example @section common Common API files - @link dialogs.h @endlink - @link document.h @endlink - @link editor.h @endlink - @link filetypes.h @endlink - @link keybindings.h @endlink - @link msgwindow.h @endlink - @link project.h @endlink - @link sciwrappers.h Scintilla Wrapper Functions @endlink - @link spawn.h Spawning programs @endlink - @link stash.h Stash Pref/Setting Functions @endlink - @link utils.h General Utility Functions @endlink - @link ui_utils.h Widget Utility Functions @endlink @section More - All API functions and types - see Files link at the top - Deprecated symbols - see Related Pages link at the top @note See the HACKING file for information about developing the plugin API and other useful notes. @page guidelines Plugin Writing Guidelines @section intro_guidelines Introduction The following hints and guidelines are only recommendations. Nobody is forced to follow them at all. @section general General notes @subsection ideas Getting a plugin idea If you want to write a plugin but don't know yet what it should do, have a look at http://www.geany.org/Support/PluginWishlist to get an idea about what users wish. @subsection code Managing the source code For authors of plugins for Geany, we created a dedicated @a geany-plugins project on Sourceforge and GitHub to ease development of plugins and help new authors. All information about this project you can find at http://plugins.geany.org/ To add a new plugin to this project, get in touch with the people on the geany-devel-mailing list and create a fork of the geany-plugins project at https://github.com/geany/geany-plugins. Beside of adding a new plugin, geany-devel-mailing list is also the place to discuss development related questions. However, once you have done your fork of geany-plugins you can develop your plugin until you think it is the right time to publish it. At this point, create a pull request for adding your patch set into the master branch of the main geany-plugins repository. Of course, you don't need to use GitHub - any Git is fine. But GitHub is making it way easier for review, merging and get in touch with you for comments. If you don't want your plugin to be part of the geany-plugins project it is also fine. Just skip the part about forking geany-plugins and sending a pull request. In this case it is of course also a good idea to post some kind of announcement to geany-devel and maybe to the main geany mailing list -- it's up to you. You can also ask for your plugin to be listed on the http://plugins.geany.org/ website as a third party plugin, helping Geany user to know about your plugin. At time of writing, there are some plugins already available in the repositories. Feel free to use any of these plugins as a start for your own, maybe by copying the directory structure and the autotools files (Makefile.am, configure.in, ...). Most of the available plugins are also ready for i18n support, just for reference. We encourage authors using this service to only commit changes to their own plugin and not to others' plugins. Instead just send patches to geany-devel at uvena.de or the plugin author directly. @section paths Installation paths - The plugin binary (@c pluginname.so) should be installed in Geany's libdir. This is necessary so that Geany can find the plugin. An easy way to retrieve Geany's libdir is to use the pkg-config tool, e.g. @code `$PKG_CONFIG --variable=libdir geany`/ geany @endcode - If your plugin creates other binary files like helper programs or helper libraries, they should go into @c $prefix/bin (for programs, ideally prefixed with @a geany), additional libraries should be installed in Geany's libdir, maybe in a subdirectory. - Plugins should install their documentation files (README, NEWS, ChangeLog, licences and other documentation files) into the common documentation directory @c $prefix/share/doc/geany-plugins/$pluginname/ - Translation files should be installed normally into @c $prefix/share/locale. There is no need to use Geany's translation directory. To set up translation support properly and for additional information, see main_locale_init(). - Do @a never install anything into a user's home directory like installing the plugin binary in @c ~/.config/geany/plugins/. @page howto Plugin HowTo @section intro_howto Introduction Since Geany 0.12 there is a plugin interface to extend Geany's functionality and add new features. This document gives a brief overview about how to add new plugins by writing a simple "Hello World" plugin in C or C++. @section buildenv Build environment To be able to write plugins for Geany, you need the source code and some development packages for GTK and its dependencies. The following will only describe the way to compile and build plugins on Unix-like systems [1]. If you already have the Geany source code and compiled it from them, you can skip the following. First you need to have Geany installed. Then install the development files for GTK and its dependencies. The easiest way to do this is to use your distribution's package management system, e.g. on Debian and Ubuntu systems you can use @code apt-get install libgtk2.0-dev intltool @endcode This will install all necessary files to be able to compile plugins for Geany. On other distributions, the package names and commands to use may differ. Basically, you are done at this point and could continue with writing the plugin code. [1] For Windows, it is basically the same but you might have some more work on setting up the general build environment (compiler, GTK development files, ...). This is described on Geany's website at http://www.geany.org/Support/BuildingOnWin32. @section helloworld "Hello World" @note This section describes the new entry points for plugins introduced with Geany 1.26. A short summary of the legacy entry points is given at page @ref legacy but they are deprecated should not be used any more. When writing a plugin you will find a couple of functions which are mandatory and some which can be implemented optionally for implementing some useful features once your plugin becomes more powerful. For example to provide a configuration or help dialog. @subsection beginning First steps for any Plugin You should start your plugin with including and exporting a function named @a geany_load_module(). In this function you must fill in basic information that Geany uses to learn more about your plugin and present it to the user. You also must define some hooks that enable Geany to actually execute your code. Please also do not forget about license headers which are by convention at the start of source files. You can use templates provided by Geany to get started. Without a proper license it will be difficult for packagers to pick up and distribute your plugin. As mentioned above, start with the very fundamental header that gets you all goodies of Geany's plugin API. @a geanyplugin.h includes all of the Geany API and also the necessary GTK header files so there is no need to include @a gtk/gtk.h yourself. In fact it includes a utility header that helps supporting GTK+2 and GTK+3 in the same source. @code #include @endcode @note If you use autoconf then config.h must be included even before that as usual. Now you can go on and write your first lines for your new plugin. As mentioned before, you will need to implement a couple of functions. The first mandatory one is @a geany_load_module(). Geany uses the presence of this function to identify a library as a plugin. When Geany scans the pre-defined and user-configured plugin directories, it will take a look at each shared library (or DLL on Windows) to see if it exports a @a geany_load_module() symbol. Files lacking these will be ignored. The second mandatory one is an initialization function that is only called when the plugin becomes actually enabled (by the user or at startup). @subsection register Registering a Plugin Geany will always invoke this geany_load_module(), regardless of whether the user activates your plugin. In fact its purpose to probe if the plugin should even be presented to the user. Therefore you must use this function to register your plugin. Geany will pass a pointer to a GeanyPlugin instance which acts as a unique handle to your plugin. Use this pointer for registering and later API calls. It won't change for the life time of the plugin. Registering the plugin consists of a number of steps: 1. Filling in GeanyPlugin::info with metadata that is shown to the user. - @ref PluginInfo::name : The name of your plugin - @ref PluginInfo::description : A brief description. - @ref PluginInfo::version : The plugin's version. - @ref PluginInfo::author : Your contact information, preferably in the form "Name ". . Filling in all of them is recommended to provide the best user experience, but only the name is truly mandatory. Since all of the strings are shown to the user they should be human readable. 2. Filling in GeanyPlugin::funcs with function pointers that are called by Geany. - @ref GeanyPluginFuncs::init : an initialization function - @ref GeanyPluginFuncs::cleanup : a finalization function - @ref GeanyPluginFuncs::configure : a function that provides configuration (optional) - @ref GeanyPluginFuncs::help : a function that provides help (optional) - @ref GeanyPluginFuncs::callbacks : a pointer to an array of PluginCallback (optional). . @a init and @a cleanup are mandatory, the other ones depend on how advanced your plugin is. Furthermore, @a init is called on startup and when the user activates your plugin in the Plugin Manager, and @a cleanup is called on exit and when the user deactivates it. So use these to do advanced initialization and teardown as to not waste resources when the plugin is not even enabled. 3. Actually registering by calling GEANY_PLUGIN_REGISTER() or GEANY_PLUGIN_REGISTER_FULL(). - Usually you should use GEANY_PLUGIN_REGISTER() to register your plugin, passing the GeanyPlugin pointer that you received and filled out as above. GEANY_PLUGIN_REGISTER() also takes the minimum API version number you want to support (see @ref versions for details). Please also check the return value. Geany may refuse to load your plugin due to incompatibilities, you should then abort any extra setup. GEANY_PLUGIN_REGISTER() is a macro wrapping geany_plugin_register() which takes additional the API and ABI that you should not pass manually. - If you require a plugin-specific context or state to be passed to your GeanyPlugin::funcs then use GEANY_PLUGIN_REGISTER_FULL() to register. This one takes additional parameters for adding user data to your plugin. That user data pointer is subsequently passed back to your functions. It allows, for example, to set instance pointer to objects in case your plugin isn't written in pure C, enabling you to use member functions as plugin functions. You may also set such data later on, for example in your @ref GeanyPluginFuncs::init routine to defer costly allocations to when the plugin is actually activated by the user. However, you then have to call geany_plugin_set_data(). @subsection versions On API and ABI Versions As previously mentioned @a geany_plugin_register() takes a number of versions as arguments: 1. api_version 2. min_api_version 3. abi_version These refer to Geany's versioning scheme to manage plugin compatibility. The following rules apply: - Plugins are compiled against a specific Geany version on the build machine. This version of Geany has specific ABI and API versions, which will be compiled into the plugin. Both are managed automatically, by calling GEANY_PLUGIN_REGISTER(). - The Geany version that loads the plugin may be different, possibly even have different API and ABI versions. - The ABI version is the primary plugin compatibility criteria. The ABI version of the running Geany and the one that's compiled into the plugin must match exactly (==). In case of mismatch, the affected plugins need to be recompiled (generally without source code changes) against the running Geany. The ABI is usually stable even across multiple releases of Geany. - The API version is secondary. It doesn't have to match exactly, however a plugin can report a minimum API version that it requires to run. Geany will check if its own API is larger than that (>=) and will otherwise refuse to load the plugin. The API version is incremented when functions or variables are added to the API which often happens more than once within a release cycle. - The API version the plugin is compiled against is still relevant for enabling compatibility code inside Geany (for cases where incrementing the ABI version could be avoided). Instead of calling geany_plugin_register() directly it is very highly recommended to use GEANY_PLUGIN_REGISTER(). This is a convenient way to pass Geany's current API and ABI versions without requiring future code changes whenever either one changes. In fact, the promise that plugins need to be just recompiled on ABI change can hold if the plugins use this macro. You still want to pass the API version needed at minimum to run your plugin. The value is defined in plugindata.h by @ref GEANY_API_VERSION. In most cases this should be your minimum. Nevertheless when setting this value, you should choose the lowest possible version here to make the plugin compatible with a bigger number of versions of Geany. The absolute minimum is 225 which introduced the new plugin entry points. To increase your flexibility the API version of the running Geany is passed to geany_load_module(). You can use this information to toggle API-specific code. This comes handy, for example to enable optional code that requires a recent API version without raising your minimum required API version. This enables running the plugin against more Geany versions, although perhaps at reduced functionality. @subsection example Example Going back to our "Hello World" plugin here is example code that properly adds the HelloWorld plugin to Geany. @code /* License blob */ #include static gboolean hello_init(GeanyPlugin *plugin, gpointer pdata) { printf("Hello World from plugin!\n"); /* Perform advanced set up here */ return TRUE; } static void hello_cleanup(GeanyPlugin *plugin, gpointer pdata) { printf("Bye World :-(\n"); } G_MODULE_EXPORT void geany_load_module(GeanyPlugin *plugin) { /* Step 1: Set metadata */ plugin->info->name = "HelloWorld"; plugin->info->description = "Just another tool to say hello world"; plugin->info->version = "1.0"; plugin->info->author = "John Doe "; /* Step 2: Set functions */ plugin->funcs->init = hello_init; plugin->funcs->cleanup = hello_cleanup; /* Step 3: Register! */ if (GEANY_PLUGIN_REGISTER(plugin, 225)) return; /* alternatively: GEANY_PLUGIN_REGISTER_FULL(plugin, 225, data, free_func); */ } @endcode If you think this plugin seems not to implement any functionality right now and only wastes some memory, you are right. But it should compile and load/unload in Geany nicely. Now you have the very basic layout of a new plugin. Great, isn't it? If you would rather write the plugin in C++, you can do that by marking @a geany_load_module() as extern "C" , for example: @code extern "C" void geany_load_module(GeanyPlugin *plugin) { } @endcode You can also create an instance of a class and set that as data pointer (with GEANY_PLUGIN_REGISTER_FULL()). With small wrappers that shuffle the parameters you can even use member functions for @ref GeanyPlugin::funcs etc. @section building Building First make plugin.o: @code gcc -c plugin.c -fPIC `pkg-config --cflags geany` @endcode Then make the plugin library plugin.so (or plugin.dll on Windows): @code gcc plugin.o -o plugin.so -shared `pkg-config --libs geany` @endcode If all went OK, put the library into one of the paths Geany looks for plugins, e.g. $prefix/lib/geany. See @ref paths "Installation paths" for details. If you are writing the plugin in C++, then you will need to use your C++ compiler here, for example @c g++. @section realfunc Adding functionality Let's go on and implement some real functionality. As mentioned before, GeanyPluginFuncs::init() will be called when the plugin is activated by Geany. So it should implement everything that needs to be done during startup. In this case, we'd like to add a menu item to Geany's Tools menu which runs a dialog printing "Hello World". @code static gboolean hello_init(GeanyPlugin *plugin, gpointer pdata) { GtkWidget *main_menu_item; // Create a new menu item and show it main_menu_item = gtk_menu_item_new_with_mnemonic("Hello World"); gtk_widget_show(main_menu_item); // Attach the new menu item to the Tools menu gtk_container_add(GTK_CONTAINER(plugin->geany_data->main_widgets->tools_menu), main_menu_item); // Connect the menu item with a callback function // which is called when the item is clicked g_signal_connect(main_menu_item, "activate", G_CALLBACK(item_activate_cb), NULL); return TRUE; } @endcode This will add an item to the Tools menu and connect this item to a function which implements what should be done when the menu item is activated by the user. This is done by g_signal_connect(). The Tools menu can be accessed with plugin->geany_data->main_widgets->tools_menu. The structure GeanyMainWidgets contains pointers to all main GUI elements in Geany. Geany has a simple API for showing message dialogs. So our function contains only a few lines: @code static void item_activate_cb(GtkMenuItem *menuitem, gpointer user_data) { dialogs_show_msgbox(GTK_MESSAGE_INFO, "Hello World"); } @endcode For the moment you don't need to worry about the parameters of that function. Now we need to clean up properly when the plugin is unloaded. To remove the menu item from the Tools menu you can use gtk_widget_destroy(). First you should add gtk_widget_destroy() to your GeanyPluginFuncs::cleanup() function. The argument for gtk_widget_destroy() is the widget object you created earlier in GeanyPluginFuncs::init(). To be able to access this pointer in GeanyPluginFuncs::cleanup() you can use geany_plugin_set_data() to set plugin-defined data pointer to the widget. Alternatively, you can store the pointer in some global variable so its visibility will increase and it can be accessed in all functions. @code /* alternative: global variable: static GtkWidget *main_menu_item; */ // ... static gboolean hello_init(GeanyPlugin *plugin, gpointer pdata) { GtkWidget *main_menu_item; // Create a new menu item and show it main_menu_item = gtk_menu_item_new_with_mnemonic("Hello World"); gtk_widget_show(main_menu_item); // ... geany_plugin_set_data(plugin, main_menu_item, NULL); return TRUE; } static void hello_cleanup(GeanyPlugin *plugin, gpointer pdata) { GtkWidget *main_menu_item = (GtkWidget *) pdata; // ... gtk_widget_destroy(main_menu_item); } @endcode This will ensure your menu item is removed from the Tools menu as well as from memory once your plugin is unloaded, so you don't leave any memory leaks. Once this is done, your first plugin is ready. Congratulations! @section listing Complete listing (without comments) @code #include static void item_activate_cb(GtkMenuItem *menuitem, gpointer user_data) { dialogs_show_msgbox(GTK_MESSAGE_INFO, "Hello World"); } static gboolean hello_init(GeanyPlugin *plugin, gpointer pdata) { GtkWidget *main_menu_item; // Create a new menu item and show it main_menu_item = gtk_menu_item_new_with_mnemonic("Hello World"); gtk_widget_show(main_menu_item); gtk_container_add(GTK_CONTAINER(plugin->geany_data->main_widgets->tools_menu), main_menu_item); g_signal_connect(main_menu_item, "activate", G_CALLBACK(item_activate_cb), NULL); geany_plugin_set_data(plugin, main_menu_item, NULL); return TRUE; } static void hello_cleanup(GeanyPlugin *plugin, gpointer pdata) { GtkWidget *main_menu_item = (GtkWidget *) pdata; gtk_widget_destroy(main_menu_item); } G_MODULE_EXPORT void geany_load_module(GeanyPlugin *plugin) { plugin->info->name = "HelloWorld"; plugin->info->description = "Just another tool to say hello world"; plugin->info->version = "1.0"; plugin->info->author = "John Doe "; plugin->funcs->init = hello_init; plugin->funcs->cleanup = hello_cleanup; GEANY_PLUGIN_REGISTER(plugin, 225); } @endcode Now you might like to look at Geany's source code for core plugins such as @a plugins/demoplugin.c. @section furtherimprovements Further Improvements and next steps @subsection translatable_plugin_information Translatable plugin information After having written our first plugin, there is still room for improvement. By default, @ref geany_load_module() is not prepared to allow translation of the basic plugin information, except plugins which are shipped with Geany's core distribution, because custom gettext catalogs are not setup. Since most plugins are not shipped with Geany's core, it makes sense to setup gettext when the plugin is loaded so that it gets translated inside Geany's Plugin Manager. The solution is to call the API function main_locale_init() inside @ref geany_load_module() and then use gettext's _() as usual. The invocation will most probably look similar to this: @code // ... main_locale_init(LOCALEDIR, GETTEXT_PACKAGE); plugin->info->name = _("HelloWorld"); plugin->info->description = _("Just another tool to say hello world"); plugin->info->version = "1.0"; plugin->info->author = "John Doe "; @endcode The @a LOCALEDIR and the @a GETTEXT_PACKAGE parameters are usually set inside the build system. As you can see the author's information is not marked as translatable in this example. The community has agreed that the best practice here is to use, if possible, the latin version of the author's name followed by the native spelling inside parenthesis, where applicable. @subsection plugin_i18n Using i18n/l10n inside Plugin You can (and should) also mark other strings beside the plugin's meta information as translatable. Strings used in menu entries, information boxes or configuration dialogs should be translatable as well. @code static gboolean hello_init(GeanyPlugin *plugin, gpointer pdata) { main_locale_init(LOCALEDIR, GETTEXT_PACKAGE); main_menu_item = gtk_menu_item_new_with_mnemonic(_("Hello World")); // ... } @endcode @page legacy Porting guide from legacy entry points to the current ones @section intro_legacy Introduction This page briefly describes the deprecated, legacy plugin entry points. These have been in place prior to Geany 1.26 and are still loadable and working for the time being. However, do not create new plugins against these. For this reason, the actual description here is rather minimalistic and concentrates on porting legacy plugins to the new interface. Basically its main purpose is to give newcomers an idea of what they are looking at if they come across a legacy plugin. @section overview Overview The legacy entry points consist of a number of pre-defined symbols (functions and variables) exported by plugins. There is no active registration procedure. It is implicit simply by exporting the mandatory symbols. The entirety of the symbols is described at the page @link pluginsymbols.c Plugin Symbols @endlink. At the very least plugins must define the functions @a plugin_init(GeanyData *) and @a plugin_version_check(gint). Additionally, an instance of the struct PluginInfo named plugin_info must be exported as well, this contains the same metadata already known from GeanyPlugin::info. The functions plugin_cleanup(), plugin_help(), plugin_configure(GtkDialog *) and plugin_configure_single(GtkWidget *) are optional, however Geany prints a warning if plugin_cleanup() is missing and only one of plugin_configure(GtkDialog *) and plugin_configure_single(GtkWidget *) is used for any single plugin. By convention, plugin_version_check() is implicitly defined through the use of PLUGIN_VERSION_CHECK(), and similarly plugin_info is defined through PLUGIN_SET_INFO() or PLUGIN_SET_TRANSLATABLE_INFO(). The functions should generally perform the same tasks as their equivalents in GeanyPlugin::funcs. Geany also recognized numerous variable fields if the plugin exported them globally, and actually set a few of them inside the plugins data section. @section porting Porting a Legacy Plugin Given a legacy plugin it can be modified to use the new entry points without much effort. This section gives a basic recipe that should work for most existing plugins. The transition should be easy and painless so it is recommended that you adapt your plugin as soon as possible. @note This guide is intentionally minimalistic (in terms of suggested code changes) in order to allow adaption to the current entry points as quickly as possible and without a lot effort. It should also work even for rather complex plugins comprising multiple source files. On the other hand it does not make use of new features such as geany_plugin_set_data(). @subsection functions Functions Probably the biggest hurdle is the dropped support of the long-deprecated plugin_configure_single(). This means you first have to port the configuration dialog (if any) to the combined plugin dialog. While you previously created a custom dialog you now attach the main widget of that dialog to the combined plugin dialog simply by returning it from GeanyPluginFuncs::configure. You don't actually add it, Geany will do that for you. The pointer to the dialog is passed to @a configure simply to allow you to connect to its "response" or "close" signals. The following lists the function mapping of previous @a plugin_* functions to the new @a GeanyPlugin::funcs. They are semantically the same, however the new functions receive more parameters which you may use or not. - plugin_init() => GeanyPlugin->funcs->init - plugin_cleanup() => GeanyPlugin->funcs->cleanup - plugin_help() => GeanyPlugin->funcs->help - plugin_configure() => GeanyPlugin->funcs->configure @note @ref GeanyPluginFuncs::init() should return a boolean value: whether or not the plugin loaded successfully. Since legacy plugins couldn't fail in plugin_init() you should return @c TRUE unconditionally. @note Again, plugin_configure_single() is not supported anymore. @subsection Variables Exported global variables are not recognized anymore. They are replaced in the following ways: @ref plugin_info is simply removed. Instead, you have to assign the values to GeanyPlugin::info yourself, and it must be done inside your @a geany_load_module(). Example: @code PLUGIN_SET_INFO( "HelloWorld", "Just another tool to say hello world", "1.0", "John Doe "); @endcode becomes @code G_MODULE_EXPORT void geany_load_module(GeanyPlugin *plugin) { // ... plugin->info->name = "HelloWorld"; plugin->info->description = "Just another tool to say hello world"; plugin->info->version = "1.0"; plugin->info->author = "John Doe "; // ... } @endcode @note Refer to @ref translatable_plugin_information for i18n support for the metadata. The @ref plugin_callbacks array is supported by assigning the GeanyPluginFuncs::callbacks to the array. @ref plugin_fields is not supported anymore. Use ui_add_document_sensitive() instead. @ref PLUGIN_KEY_GROUP and @ref plugin_key_group are also not supported anymore. Use plugin_set_key_group() and keybindings_set_item() respectively. Additionally, Geany traditionally set a few variables. This is not the case anymore. @ref geany_functions has been removed in 1.25 and since then existed only for compatibility and has been empty. You can simply remove its declaration from your source code. @ref geany_plugin is passed to each @ref GeanyPluginFuncs function. You need to store it yourself somewhere if you need it elsewhere. @ref geany_data is now available as a member of GeanyPlugin. @code GeanyPlugin *geany_plugin; GeanyData *geany_data; static gboolean my_init(GeanyPlugin *plugin, gpointer pdata) { // ... geany_plugin = plugin; geany_data = plugin->geany_data; return TRUE; } @endcode @ref geany_plugin is now also passed by default to the PluginCallback signal handlers as data pointer if it's set to NULL. @code static PluginCallback plugin_callbacks[] = { { "editor-notify", (GCallback) &on_editor_notify_cb, FALSE, NULL }, // ... }; static gboolean on_editor_notify_cb(GObject *object, GeanyEditor *editor, SCNotification *nt, gpointer data) { GeanyPlugin *plugin = data; //... } G_MODULE_EXPORT void geany_load_module(GeanyPlugin *plugin) { // ... plugin->funcs->callbacks = plugin_callbacks; // ... } } @endcode @page proxy Proxy Plugin HowTo @section proxy_intro Introduction Geany has built-in support for plugins. These plugins can alter the way Geany operates in many imaginable ways which leaves little to be desired. However, there is one significant short-coming. Due to the infrastructure, Geany's built-in support only covers plugins written in C, perhaps C++ and Vala. Basically all languages which can be compiled into native shared libraries and can link GTK libraries. This excludes dynamic languages such as Python. Geany provides a mechanism to enable support for those languages. Native plugins can register as proxy plugins by being a normal plugin to the Geany-side and by providing a bridge to write plugins in another language on the other side. These plugins are also called sub-plugins. This refers to the relation to their proxy. To Geany they are first-class citizens. @section proxy_protocol Writing a Proxy Plugin The basic idea is that a proxy plugin provides methods to match, load and unload one or more sub-plugin plugins in an abstract manner: - Matching consists of providing a list of supported file extensions for the sub-plugins and a mechanism to resolve file extension uncertainty or ambiguity. The matching makes the plugin visible to the user within the Plugin Manager. - Loading consists of loading the sub-plugin's file, passing the file to some form of interpreter and calling GEANY_PLUGIN_REGISTER() or GEANY_PLUGIN_REGISTER_FULL() on behalf of the sub-plugin at some point. - Unloading simply reverses the effect of loading. For providing these methods, GeanyPlugin has a field GeanyProxyFuncs which contains three function pointers which must be initialized prior to calling geany_plugin_register_proxy(). This should be done in the GeanyPluginFuncs::init function of the proxy plugin. - In the call to geany_plugin_register_proxy() the proxy plugin passes a list of file extensions. When Geany scans through its plugin directories as usual it will also look for files with that extensions and consider found files as plugin candidate. - GeanyProxyFuncs::probe may be implemented to probe if a plugin candidate (that has one of the provided file extensions) is actually a plugin. This may depend on the plugin file itself in case of ambiguity or availability of runtime dependencies or even configuration. @ref GeanyProxyProbeResults constants should be returned. Not implementing GeanyProxyFuncs::probe at all is equivalent to always returning @ref GEANY_PROXY_MATCH. - GeanyProxyFuncs::load must be implemented to actually load the plugin. It is called by Geany when the user enables the sub-plugin. What "loading" means is entirely up to the proxy plugin and probably depends on the interpreter of the dynamic language that shall be supported. After setting everything up as necessary GEANY_PLUGIN_REGISTER() or GEANY_PLUGIN_REGISTER_FULL() must be called to register the sub-plugin. - GeanyProxyFuncs::unload must be implemented and is called when the user unchecks the sub-plugin or when Geany exits. Here, the proxy should release any references or memory associated to the sub-plugin. Note that if GeanyProxyFuncs::load didn't succeed, i.e. didn't successfully register the sub-plugin, then this function won't be called. GeanyProxyFuncs::load and GeanyProxyFuncs::unload receive two GeanyPlugin pointers: One that corresponds to the proxy itself and another that corresponds to the sub-plugin. The sub-plugin's one may be used to call various API functions on behalf of the sub-plugin, including GEANY_PLUGIN_REGISTER() and GEANY_PLUGIN_REGISTER_FULL(). GeanyProxyFuncs::load may return a pointer that is passed back to GeanyProxyFuncs::unload. This can be used to store proxy-defined but sub-plugin-specific data required for unloading. However, this pointer is not passed to the sub-plugin's GeanyPluginFuncs. To arrange for that, you want to call GEANY_PLUGIN_REGISTER_FULL(). This method is the key to enable proxy plugins to wrap the GeanyPluginFuncs of all sub-plugins and yet multiplex between multiple sub-plugin, for example by storing a per-sub-plugin interpreter context. @note If the pointer returned from GeanyProxyFuncs::load is the same that is passed to GEANY_PLUGIN_REGISTER_FULL() then you must pass NULL as free_func, because that would be invoked prior to unloading. Insert the corresponding code into GeanyProxyFuncs::unload. @section proxy_compat_guideline Guideline for Checking Compatibility Determining if a plugin candidate is compatible is not a single test. There are multiple levels and each should be handled differently in order to give the user a consistent feedback. Consider the 5 basic cases: 1) A candidate comes with a suitable file extension but is not a workable plugin file at all. For example, your proxy supports plugins written in a shell script (.sh) but the shebang of that script points to an incompatible shell (or even lacks a shebang). You should check for this in GeanyProxyFuncs::probe() and return @ref GEANY_PROXY_IGNORE which hides that script from the Plugin Manager and allows other enabled proxy plugins to pick it up. GeanyProxyFuncs::probe() returning @ref GEANY_PROXY_IGNORE is an indication that the candidate is meant for another proxy, or the user placed the file by accident in one of Geany's plugin directories. In other words the candidate simply doesn't correspond to your proxy. Thus any noise by debug messages for this case is undesirable. 2) A proxy plugin provides its own, versioned API to sub-plugin. The API version of the sub-plugin is not compatible with the API exposed by the proxy. GeanyProxyFuncs::probe() should never perform a version check because its sole purpose is to indicate a proxy's correspondence to a given candidate. It should return @ref GEANY_PROXY_MATCH instead. Later, Geany will invoke the GeanyProxyFuncs::load(), and this function is the right place for a version check. If it fails then you simply do not call GEANY_PLUGIN_REGISTER(), but rather print a debug message. The result is that the sub-plugin is not shown in the Plugin Manager at all. This is consistent with the treatment of native plugins by Geany. 3) The sub-plugin is also depending on Geany's API version (whether it is or not depends on the design of the proxy). In this case do not do anything special but forward the API version the sub-plugin is written/compiled against to GEANY_PLUGIN_REGISTER(). Here, Geany will perform its own compatibility check, allowing for a consistent user feedback. The result is again that the sub-plugin is hidden from the Plugin Manager, like in case 2. But Geany will print a debug message so you can skip that. If you have even more cases try to fit it into case 1 or 2, depending on whether other proxy plugins should get a chance to load the candidate or not. @section proxy_dep_guideline Guideline for Runtime Errors A sub-plugin might not be able to run even if it's perfectly compatible with its proxy. This includes the case when it lacks certain runtime dependencies such as programs or modules but also syntactic problems or other errors. There are two basic classes: 1) Runtime errors that can be determined at load time. For example, the shebang of a script indicates a specific interpreter version but that version is not installed on the system. Your proxy should respond the same way as for version-incompatible plugins: don't register the plugin at all, but leave a message the user suggesting what has to be installed in order to work. Handle syntax errors in the scripts of sub-plugins the same way if possible. 2) Runtime errors that cannot be determined without actually running the plugin. An example would be missing modules in Python scripts. If your proxy has no way of foreseeing the problem the plugin will be registered normally. However, you can catch runtime errors by implementing GeanyPluginFuncs::init() on the plugin's behalf. This is called after user activation and allows to indicate errors by returning @c FALSE. However, allowing the user to enable a plugin and then disabling anyway is a poor user experience. Therefore, if possible, try to fail fast and disallow registration. @section Proxy Plugin Example In this section a dumb example proxy plugin is shown in order to give a practical starting point. The sub-plugin are not actually code but rather a ini-style description of one or more menu items that are added to Geany's tools menu and a help dialog. Real world sub-plugins would contain actual code, usually written in a scripting language. A sub-plugin file looks like this: @code{.ini} #!!PROXY_MAGIC!! [Init] item0 = Bam item1 = Foo item2 = Bar [Help] text = I'm a simple test. Nothing to see! [Info] name = Demo Proxy Tester description = I'm a simple test. Nothing to see! version = 0.1 author = The Geany developer team @endcode The first line acts as a verification that this file is truly a sub-plugin. Within the [Init] section there is the menu items for Geany's tools menu. The [Help] section declares the sub-plugins help text which is shown in its help dialog (via GeanyPluginFuncs::help). The [Info] section is used as-is for filling the sub-plugins PluginInfo fields. That's it, this dumb format is purely declarative and contains no logic. Yet we will create plugins from it. We start by registering the proxy plugin to Geany. There is nothing special to it compared to normal plugins. A proxy plugin must also fill its own @ref PluginInfo and @ref GeanyPluginFuncs, followed by registering through GEANY_PLUGIN_REGISTER(). @code{.c} /* Called by Geany to initialize the plugin. */ static gboolean demoproxy_init(GeanyPlugin *plugin, gpointer pdata) { // ... } /* Called by Geany before unloading the plugin. */ static void demoproxy_cleanup(GeanyPlugin *plugin, gpointer data) { // ... } G_MODULE_EXPORT void geany_load_module(GeanyPlugin *plugin) { plugin->info->name = _("Demo Proxy"); plugin->info->description = _("Example Proxy."); plugin->info->version = "0.1"; plugin->info->author = _("The Geany developer team"); plugin->funcs->init = demoproxy_init; plugin->funcs->cleanup = demoproxy_cleanup; GEANY_PLUGIN_REGISTER(plugin, 225); } @endcode The next step is to actually register as a proxy plugin. This is done in demoproxy_init(). As previously mentioned, it needs a list of accepted file extensions and a set of callback functions. @code{.c} static gboolean demoproxy_init(GeanyPlugin *plugin, gpointer pdata) { const gchar *extensions[] = { "ini", "px", NULL }; plugin->proxy_funcs->probe = demoproxy_probe; plugin->proxy_funcs->load = demoproxy_load; plugin->proxy_funcs->unload = demoproxy_unload; return geany_plugin_register_proxy(plugin, extensions); } @endcode The callback functions deserve a closer look. As already mentioned the file format includes a magic first line which must be present. GeanyProxyFuncs::probe() verifies that it's present and avoids showing the sub-plugin in the Plugin Manager if not. @code{.c} static gint demoproxy_probe(GeanyPlugin *proxy, const gchar *filename, gpointer pdata) { /* We know the extension is right (Geany checks that). For demo purposes we perform an * additional check. This is not necessary when the extension is unique enough. */ gboolean match = FALSE; gchar linebuf[128]; FILE *f = fopen(filename, "r"); if (f != NULL) { if (fgets(linebuf, sizeof(linebuf), f) != NULL) match = utils_str_equal(linebuf, "#!!PROXY_MAGIC!!\n"); fclose(f); } return match ? GEANY_PROXY_MATCH : GEANY_PROXY_IGNORE; } @endcode GeanyProxyFuncs::load is a bit more complex. It reads the file, fills the sub-plugin's PluginInfo fields and calls GEANY_PLUGIN_REGISTER_FULL(). Additionally, it creates a per-plugin context that holds GKeyFile instance (a poor man's interpreter context). You can also see that it does not call GEANY_PLUGIN_REGISTER_FULL() if g_key_file_load_from_file() found an error (probably a syntax problem) which means the sub-plugin cannot be enabled. It also installs wrapper functions for the sub-plugin's GeanyPluginFuncs as ini files aren't code. It's very likely that your proxy needs something similar because you can only install function pointers to native code. @code{.c} typedef struct { GKeyFile *file; gchar *help_text; GSList *menu_items; } PluginContext; static gboolean proxy_init(GeanyPlugin *plugin, gpointer pdata); static void proxy_help(GeanyPlugin *plugin, gpointer pdata); static void proxy_cleanup(GeanyPlugin *plugin, gpointer pdata); static gpointer demoproxy_load(GeanyPlugin *proxy, GeanyPlugin *plugin, const gchar *filename, gpointer pdata) { GKeyFile *file; gboolean result; file = g_key_file_new(); result = g_key_file_load_from_file(file, filename, 0, NULL); if (result) { PluginContext *data = g_new0(PluginContext, 1); data->file = file; plugin->info->name = g_key_file_get_locale_string(data->file, "Info", "name", NULL, NULL); plugin->info->description = g_key_file_get_locale_string(data->file, "Info", "description", NULL, NULL); plugin->info->version = g_key_file_get_locale_string(data->file, "Info", "version", NULL, NULL); plugin->info->author = g_key_file_get_locale_string(data->file, "Info", "author", NULL, NULL); plugin->funcs->init = proxy_init; plugin->funcs->help = proxy_help; plugin->funcs->cleanup = proxy_cleanup; /* Cannot pass g_free as free_func be Geany calls it before unloading, and since * demoproxy_unload() accesses the data this would be catastrophic */ GEANY_PLUGIN_REGISTER_FULL(plugin, 225, data, NULL); return data; } g_key_file_free(file); return NULL; } @endcode demoproxy_unload() simply releases all resources acquired in demoproxy_load(). It does not have to do anything else in for unloading. @code{.c} static void demoproxy_unload(GeanyPlugin *proxy, GeanyPlugin *plugin, gpointer load_data, gpointer pdata) { PluginContext *data = load_data; g_free((gchar *)plugin->info->name); g_free((gchar *)plugin->info->description); g_free((gchar *)plugin->info->version); g_free((gchar *)plugin->info->author); g_key_file_free(data->file); g_free(data); } @endcode Finally the demo_proxy's wrapper GeanyPluginFuncs. They are called for each possible sub-plugin and therefore have to multiplex between each using the plugin-defined data pointer. Each is called by Geany as if it were an ordinary, native plugin. proxy_init() actually reads the sub-plugin's file using GKeyFile APIs. It prepares for the help dialog and installs the menu items. proxy_help() is called when the user clicks the help button in the Plugin Manager. Consequently, this fires up a suitable dialog, although with a dummy message. proxy_cleanup() frees all memory allocated in proxy_init(). @code{.c} static gboolean proxy_init(GeanyPlugin *plugin, gpointer pdata) { PluginContext *data; gint i = 0; gchar *text; data = (PluginContext *) pdata; /* Normally, you would instruct the VM/interpreter to call into the actual plugin. The * plugin would be identified by pdata. Because there is no interpreter for * .ini files we do it inline, as this is just a demo */ data->help_text = g_key_file_get_locale_string(data->file, "Help", "text", NULL, NULL); while (TRUE) { GtkWidget *item; gchar *key = g_strdup_printf("item%d", i++); text = g_key_file_get_locale_string(data->file, "Init", key, NULL, NULL); g_free(key); if (!text) break; item = gtk_menu_item_new_with_label(text); gtk_widget_show(item); gtk_container_add(GTK_CONTAINER(plugin->geany_data->main_widgets->tools_menu), item); gtk_widget_set_sensitive(item, FALSE); data->menu_items = g_slist_prepend(data->menu_items, (gpointer) item); g_free(text); } return TRUE; } static void proxy_help(GeanyPlugin *plugin, gpointer pdata) { PluginContext *data; GtkWidget *dialog; data = (PluginContext *) pdata; dialog = gtk_message_dialog_new( GTK_WINDOW(plugin->geany_data->main_widgets->window), GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_INFO, GTK_BUTTONS_OK, "%s", data->help_text); gtk_message_dialog_format_secondary_text(GTK_MESSAGE_DIALOG(dialog), _("(From the %s plugin)"), plugin->info->name); gtk_dialog_run(GTK_DIALOG(dialog)); gtk_widget_destroy(dialog); } static void proxy_cleanup(GeanyPlugin *plugin, gpointer pdata) { PluginContext *data = (PluginContext *) pdata; g_slist_free_full(data->menu_items, (GDestroyNotify) gtk_widget_destroy); g_free(data->help_text); } @endcode */ geany-1.32/doc/geany.10000644000175000017500000001157213204260470011421 00000000000000.TH "GEANY" "1" "November 19, 2017" "geany 1.32" "" .SH "NAME" Geany \(em a small and lightweight IDE .SH "SYNOPSIS" .PP \fBgeany\fR [\fBoption\fP] [\fP+number\fP] [\fBfiles ...\fP] .SH "DESCRIPTION" .PP Geany is a small and fast editor with basic features of an integrated development environment. .PP Some of its features: syntax highlighting, code completion, code folding, symbol/tag lists and many supported filetypes like C(++), Java, PHP, HTML, DocBook, Perl and more. .PP Homepage: http://www.geany.org/ .SH "OPTIONS" .IP "\fB\fP \fBfiles ...\fP " 10 A space-separated list of filenames. Absolute and relative filenames can be used. Geany also recognises line and column information when appended to the filename with colons, e.g. "geany foo.bar:10:5" will open the file foo.bar and place the cursor in line 10 at column 5. .IP "\fB\fP \fB\fP " 10 Projects can also be opened but a project file (*.geany) must be the first non-option argument. All additionally given files are ignored. .IP "\fB\fP \fB\+number\fP " 10 Set initial line .I number for the first opened file (same as \-\-line, do not put a space between the + sign and the number). E.g. "geany +7 foo.bar" will open the file foo.bar and place the cursor in line 7. .IP "\fB\fP \fB\-\-column\fP " 10 Set initial column number for the first opened file (useful in conjunction with \-\-line). .IP "\fB-c\fP, \fB\-\-config\fP " 10 Use an alternate configuration directory. Default configuration directory is ~/.config/geany/ and there resides geany.conf and some template files. .IP "\fB\fP \fB\-\-ft\-names\fP " 10 Print a list of Geany's internal filetype names (useful snippets configuration). .IP "\fB-g\fP, \fB\-\-generate\-tags\fP " 10 Generate a global tags file (see documentation). .IP "\fB-P\fP, \fB\-\-no\-preprocessing\fP " 10 Don't preprocess C/C++ files when generating tags. .IP "\fB-i\fP, \fB\-\-new-instance\fP " 10 Don't open files in a running instance, force opening a new instance. Only available if Geany was compiled with support for Sockets. .IP "\fB-l\fP, \fB\-\-line\fP " 10 Set initial line number for the first opened file. .IP "\fB\fP \fB\-\-list\-documents\fP " 10 Return a list of open documents in a running Geany instance. This can be used to read the currently opened documents in Geany from an external script or tool. The returned list is separated by newlines (LF) and consists of the full, UTF\-8 encoded filenames of the documents. Only available if Geany was compiled with support for Sockets. .IP "\fB-m\fP, \fB\-\-no-msgwin\fP " 10 Don't show the message window. Use this option if you don't need compiler messages or VTE support. .IP "\fB-n\fP, \fB\-\-no-ctags\fP " 10 Don't load symbol completion and call tip data. Use this option, if you don't want to use them. For more information please see documentation. .IP "\fB-p\fP, \fB\-\-no-plugins\fP " 10 Don't load plugin support. .IP "\fB\fP \fB\-\-print-prefix\fP " 10 Print installation prefix, the data directory, the lib directory and the locale directory (in this order) to stdout, each per line. This is mainly intended for plugin authors to detect installation paths. .IP "\fB-r\fP, \fB\-\-read-only\fP " 10 Open all files given on the command line in read-only mode. This only applies to files opened explicitly from the command line, so files from previous sessions or project files are unaffected. .IP "\fB-s\fP, \fB\-\-no-session\fP " 10 Don't load the previous session's files. .IP "\fB-t\fP, \fB\-\-no-terminal\fP " 10 Don't load terminal support. Use this option, if you don't want to load the virtual terminal emulator widget at startup. If you don't have libvte.so.4 installed, then terminal-support is automatically disabled. Only available if Geany was compiled with support for VTE. .IP "\fB\fP \fB\-\-socket-file\fP " 10 Use this socket filename for communication with a running Geany instance .IP "\fB\fP \fB\-\-vte-lib\fP " 10 Specify explicitly the path including filename or only the filename to the VTE library, e.g. /usr/lib/libvte.so or libvte.so. This option is only needed, when the autodetection doesn't work. Only available if Geany was compiled with support for VTE. .IP "\fB-v\fP, \fB\-\-verbose\fP " 10 Be verbose (print useful status messages). .IP "\fB-V\fP, \fB\-\-version\fP " 10 Show version information and exit. .IP "\fB-?\fP, \fB\-\-help\fP " 10 Show help information and exit. .PP Geany supports all generic GTK options, a list is available on the help screen. .SH "AUTHOR" .PP This manual page was written by the Geany developer team. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU General Public License, Version 2. .PP The complete text of the GNU General Public License can be found in /usr/local/share/geany/GPL-2. geany-1.32/doc/geany.txt0000644000175000017500000072166213204260276012114 00000000000000.. |(version)| replace:: 1.32 .. -*- reStructuredText -*- ======= Geany ======= ------------------------- A fast, light, GTK+ IDE ------------------------- :Authors: Enrico Tröger, Nick Treleaven, Frank Lanitz, Colomban Wendling, Matthew Brush :Date: 2017-11-19 :Version: |(version)| Copyright © 2005-2017 This document is distributed under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. A copy of this license can be found in the file COPYING included with the source code of this program, and also in the chapter `GNU General Public License`_. .. contents:: Introduction ============ About Geany ----------- Geany is a small and lightweight Integrated Development Environment. It was developed to provide a small and fast IDE, which has only a few dependencies on other packages. Another goal was to be as independent as possible from a particular Desktop Environment like KDE or GNOME - Geany only requires the GTK+ runtime libraries. Some basic features of Geany: * Syntax highlighting * Code folding * Autocompletion of symbols/words * Construct completion/snippets * Auto-closing of XML and HTML tags * Calltips * Many supported filetypes including C, Java, PHP, HTML, Python, Perl, Pascal, and others * Symbol lists * Code navigation * Build system to compile and execute your code * Simple project management * Plugin interface Where to get it --------------- You can obtain Geany from http://www.geany.org/ or perhaps also from your distribution. For a list of available packages, please see http://www.geany.org/Download/ThirdPartyPackages. License ------- Geany is distributed under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. A copy of this license can be found in the file COPYING included with the source code of this program and in the chapter, `GNU General Public License`_. The included Scintilla library (found in the subdirectory ``scintilla/``) has its own license, which can be found in the chapter, `License for Scintilla and SciTE`_. About this document ------------------- This documentation is available in HTML and text formats. The latest version can always be found at http://www.geany.org/. If you want to contribute to it, see `Contributing to this document`_. Installation ============ Requirements ------------ You will need the GTK (>= 2.24) libraries and their dependencies (Pango, GLib and ATK). Your distro should provide packages for these, usually installed by default. For Windows, you can download an installer from the website which bundles these libraries. Binary packages --------------- There are many binary packages available. For an up-to-date but maybe incomplete list see http://www.geany.org/Download/ThirdPartyPackages. Source compilation ------------------ Compiling Geany is quite easy. To do so, you need the GTK (>= 2.24) libraries and header files. You also need the Pango, GLib and ATK libraries and header files. All these files are available at http://www.gtk.org, but very often your distro will provide development packages to save the trouble of building these yourself. Furthermore you need, of course, a C and C++ compiler. The GNU versions of these tools are recommended. Autotools based build system ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ To compile Geany yourself, you just need the Make tool, preferably GNU Make. Then run the following commands:: $ ./configure $ make Then as root:: % make install Or via sudo:: % sudo make install Custom installation ^^^^^^^^^^^^^^^^^^^ The configure script supports several common options, for a detailed list, type:: $ ./configure --help You may also want to read the INSTALL file for advanced installation options. * See also `Compile-time options`_. Dynamic linking loader support and VTE ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ In the case that your system lacks dynamic linking loader support, you probably want to pass the option ``--disable-vte`` to the ``configure`` script. This prevents compiling Geany with dynamic linking loader support for automatically loading ``libvte.so.4`` if available. Build problems ^^^^^^^^^^^^^^ If there are any errors during compilation, check your build environment and try to find the error, otherwise contact the mailing list or one the authors. Sometimes you might need to ask for specific help from your distribution. Installation prefix ------------------- If you want to find Geany's system files after installation you may want to know the installation prefix. Pass the ``--print-prefix`` option to Geany to check this - see `Command line options`_. The first path is the prefix. On Unix-like systems this is commonly ``/usr`` if you installed from a binary package, or ``/usr/local`` if you build from source. .. note:: Editing system files is not necessary as you should use the per-user configuration files instead, which don't need root permissions. See `Configuration files`_. Usage ===== Getting started --------------- You can start Geany in the following ways: * From the Desktop Environment menu: Choose in your application menu of your used Desktop Environment: Development --> Geany. At Windows-systems you will find Geany after installation inside the application menu within its special folder. * From the command line: To start Geany from a command line, type the following and press Return:: % geany The Geany workspace ------------------- The Geany window is shown in the following figure: .. image:: ./images/main_window.png The workspace has the following parts: * The menu. * An optional toolbar. * An optional sidebar that can show the following tabs: * Documents - A document list, and * Symbols - A list of symbols in your code. * The main editor window. * An optional message window which can show the following tabs: * Status - A list of status messages. * Compiler - The output of compiling or building programs. * Messages - Results of 'Find Usage', 'Find in Files' and other actions * Scribble - A text scratchpad for any use. * Terminal - An optional terminal window. * A status bar Most of these can be configured in the `Interface preferences`_, the `View menu`_, or the popup menu for the relevant area. Additional tabs may be added to the sidebar and message window by plugins. The position of the tabs can be selected in the interface preferences. The sizes of the sidebar and message window can be adjusted by dragging the dividers. Command line options -------------------- ============ ======================= ================================================= Short option Long option Function ============ ======================= ================================================= *none* +number Set initial line number for the first opened file (same as --line, do not put a space between the + sign and the number). E.g. "geany +7 foo.bar" will open the file foo.bar and place the cursor in line 7. *none* --column Set initial column number for the first opened file. -c dir_name --config=directory_name Use an alternate configuration directory. The default configuration directory is ``~/.config/geany/`` and that is where ``geany.conf`` and other configuration files reside. *none* --ft-names Print a list of Geany's internal filetype names (useful for snippets configuration). -g --generate-tags Generate a global tags file (see `Generating a global tags file`_). -P --no-preprocessing Don't preprocess C/C++ files when generating tags file. -i --new-instance Do not open files in a running instance, force opening a new instance. Only available if Geany was compiled with support for Sockets. -l --line Set initial line number for the first opened file. *none* --list-documents Return a list of open documents in a running Geany instance. This can be used to read the currently opened documents in Geany from an external script or tool. The returned list is separated by newlines (LF) and consists of the full, UTF-8 encoded filenames of the documents. Only available if Geany was compiled with support for Sockets. -m --no-msgwin Do not show the message window. Use this option if you do not need compiler messages or VTE support. -n --no-ctags Do not load symbol completion and call tip data. Use this option if you do not want to use them. -p --no-plugins Do not load plugins or plugin support. *none* --print-prefix Print installation prefix, the data directory, the lib directory and the locale directory (in that order) to stdout, one line each. This is mainly intended for plugin authors to detect installation paths. -r --read-only Open all files given on the command line in read-only mode. This only applies to files opened explicitly from the command line, so files from previous sessions or project files are unaffected. -s --no-session Do not load the previous session's files. -t --no-terminal Do not load terminal support. Use this option if you do not want to load the virtual terminal emulator widget at startup. If you do not have ``libvte.so.4`` installed, then terminal-support is automatically disabled. Only available if Geany was compiled with support for VTE. *none* --socket-file Use this socket filename for communication with a running Geany instance. This can be used with the following command to execute Geany on the current workspace:: geany --socket-file=/tmp/geany-sock-$(xprop -root _NET_CURRENT_DESKTOP | awk '{print $3}') *none* --vte-lib Specify explicitly the path including filename or only the filename to the VTE library, e.g. ``/usr/lib/libvte.so`` or ``libvte.so``. This option is only needed when the auto-detection does not work. Only available if Geany was compiled with support for VTE. -v --verbose Be verbose (print useful status messages). -V --version Show version information and exit. -? --help Show help information and exit. *none* [files ...] Open all given files at startup. This option causes Geany to ignore loading stored files from the last session (if enabled). Geany also recognizes line and column information when appended to the filename with colons, e.g. "geany foo.bar:10:5" will open the file foo.bar and place the cursor in line 10 at column 5. Projects can also be opened but a project file (\*.geany) must be the first non-option argument. All additionally given files are ignored. ============ ======================= ================================================= You can also pass line number and column number information, e.g.:: geany some_file.foo:55:4 Geany supports all generic GTK options, a list is available on the help screen. General ------- Startup ^^^^^^^ At startup, Geany loads all files from the last time Geany was launched. You can disable this feature in the preferences dialog (see `General Startup preferences`_). You can start several instances of Geany, but only the first will load files from the last session. In the subsequent instances, you can find these files in the file menu under the "Recent files" item. By default this contains the last 10 recently opened files. You can change the number of recently opened files in the preferences dialog. To run a second instance of Geany, do not specify any filenames on the command-line, or disable opening files in a running instance using the appropriate command line option. Opening files from the command-line in a running instance ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Geany detects if there is an instance of itself already running and opens files from the command-line in that instance. So, Geany can be used to view and edit files by opening them from other programs such as a file manager. You can also pass line number and column number information, e.g.:: geany some_file.foo:55:4 This would open the file ``some_file.foo`` with the cursor on line 55, column 4. If you do not like this for some reason, you can disable using the first instance by using the appropriate command line option -- see the section called `Command line options`_. Virtual terminal emulator widget (VTE) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ If you have installed ``libvte.so`` on your system, it is loaded automatically by Geany, and you will have a terminal widget in the notebook at the bottom. If Geany cannot find any ``libvte.so`` at startup, the terminal widget will not be loaded. So there is no need to install the package containing this file in order to run Geany. Additionally, you can disable the use of the terminal widget by command line option, for more information see the section called `Command line options`_. You can use this terminal (from now on called VTE) much as you would a terminal program like xterm. There is basic clipboard support. You can paste the contents of the clipboard by pressing the right mouse button to open the popup menu, and choosing Paste. To copy text from the VTE, just select the desired text and then press the right mouse button and choose Copy from the popup menu. On systems running the X Window System you can paste the last selected text by pressing the middle mouse button in the VTE (on 2-button mice, the middle button can often be simulated by pressing both mouse buttons together). In the preferences dialog you can specify a shell which should be started in the VTE. To make the specified shell a login shell just use the appropriate command line options for the shell. These options should be found in the manual page of the shell. For zsh and bash you can use the argument ``--login``. .. note:: Geany tries to load ``libvte.so``. If this fails, it tries to load some other filenames. If this fails too, you should check whether you installed libvte correctly. Again note, Geany will run without this library. It could be, that the library is called something else than ``libvte.so`` (e.g. on FreeBSD 6.0 it is called ``libvte.so.8``). If so please set a link to the correct file (as root):: # ln -s /usr/lib/libvte.so.X /usr/lib/libvte.so Obviously, you have to adjust the paths and set X to the number of your ``libvte.so``. You can also specify the filename of the VTE library to use on the command line (see the section called `Command line options`_) or at compile time by specifying the command line option ``--with-vte-module-path`` to ./configure. Defining own widget styles using .gtkrc-2.0 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ You can define your widget style for many of Geany's GUI parts. To do this, just edit your ``.gtkrc-2.0`` (usually found in your home directory on UNIX-like systems and in the etc subdirectory of your Geany installation on Windows). To have a defined style used by Geany you must assign it to at least one of Geany's widgets. For example use the following line:: widget "Geany*" style "geanyStyle" This would assign your style "geany_style" to all Geany widgets. You can also assign styles only to specific widgets. At the moment you can use the following widgets: * GeanyMainWindow * GeanyEditMenu * GeanyToolbarMenu * GeanyDialog * GeanyDialogPrefs * GeanyDialogProject * GeanyDialogSearch * GeanyMenubar * GeanyToolbar An example of a simple ``.gtkrc-2.0``:: style "geanyStyle" { font_name="Sans 12" } widget "GeanyMainWindow" style "geanyStyle" style "geanyStyle" { font_name="Sans 10" } widget "GeanyPrefsDialog" style "geanyStyle" Documents --------- Switching between documents ^^^^^^^^^^^^^^^^^^^^^^^^^^^ The documents list and the editor tabs are two different ways to switch between documents using the mouse. When you hit the key combination to move between tabs, the order is determined by the tab order. It is not alphabetical as shown in the documents list (regardless of whether or not editor tabs are visible). See the `Notebook tab keybindings`_ section for useful shortcuts including for Most-Recently-Used document switching. Cloning documents ^^^^^^^^^^^^^^^^^ The `Document->Clone` menu item copies the current document's text, cursor position and properties into a new untitled document. If there is a selection, only the selected text is copied. This can be useful when making temporary copies of text or for creating documents with similar or identical contents. Character sets and Unicode Byte-Order-Mark (BOM) ------------------------------------------------ Using character sets ^^^^^^^^^^^^^^^^^^^^ Geany provides support for detecting and converting character sets. So you can open and save files in different character sets, and even convert a file from one character set to another. To do this, Geany uses the character conversion capabilities of the GLib library. Only text files are supported, i.e. opening files which contain NULL-bytes may fail. Geany will try to open the file anyway but it is likely that the file will be truncated because it can only be read up to the first occurrence of a NULL-byte. All characters after this position are lost and are not written when you save the file. Geany tries to detect the encoding of a file while opening it, but auto-detecting the encoding of a file is not easy and sometimes an encoding might not be detected correctly. In this case you have to set the encoding of the file manually in order to display it correctly. You can this in the file open dialog by selecting an encoding in the drop down box or by reloading the file with the file menu item "Reload as". The auto-detection works well for most encodings but there are also some encodings where it is known that auto-detection has problems. There are different ways to set different encodings in Geany: * Using the file open dialog This opens the file with the encoding specified in the encoding drop down box. If the encoding is set to "Detect from file" auto-detection will be used. If the encoding is set to "Without encoding (None)" the file will be opened without any character conversion and Geany will not try to auto-detect the encoding (see below for more information). * Using the "Reload as" menu item This item reloads the current file with the specified encoding. It can help if you opened a file and found out that the wrong encoding was used. * Using the "Set encoding" menu item Contrary to the above two options, this will not change or reload the current file unless you save it. It is useful when you want to change the encoding of the file. * Specifying the encoding in the file itself As mentioned above, auto-detecting the encoding of a file may fail on some encodings. If you know that Geany doesn't open a certain file, you can add the specification line, described in the next section, to the beginning of the file to force Geany to use a specific encoding when opening the file. In-file encoding specification ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Geany detects meta tags of HTML files which contain charset information like:: and the specified charset is used when opening the file. This is useful if the encoding of the file cannot be detected properly. For non-HTML files you can also define a line like:: /* geany_encoding=ISO-8859-15 */ or:: # geany_encoding=ISO-8859-15 # to force an encoding to be used. The #, /\* and \*/ are examples of filetype-specific comment characters. It doesn't matter which characters are around the string " geany_encoding=ISO-8859-15 " as long as there is at least one whitespace character before and after this string. Whitespace characters are in this case a space or tab character. An example to use this could be you have a file with ISO-8859-15 encoding but Geany constantly detects the file encoding as ISO-8859-1. Then you simply add such a line to the file and Geany will open it correctly the next time. Since Geany 0.15 you can also use lines which match the regular expression used to find the encoding string: ``coding[\t ]*[:=][\t ]*([a-z0-9-]+)[\t ]*`` .. note:: These specifications must be in the first 512 bytes of the file. Anything after the first 512 bytes will not be recognized. Some examples are:: # encoding = ISO-8859-15 or:: # coding: ISO-8859-15 Special encoding "None" ^^^^^^^^^^^^^^^^^^^^^^^ There is a special encoding "None" which uses no encoding. It is useful when you know that Geany cannot auto-detect the encoding of a file and it is not displayed correctly. Especially when the file contains NULL-bytes this can be useful to skip auto detection and open the file properly at least until the occurrence of the first NULL-byte. Using this encoding opens the file as it is without any character conversion. Unicode Byte-Order-Mark (BOM) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Furthermore, Geany detects a Unicode Byte Order Mark (see http://en.wikipedia.org/wiki/Byte_Order_Mark for details). Of course, this feature is only available if the opened file is in a Unicode encoding. The Byte Order Mark helps to detect the encoding of a file, e.g. whether it is UTF-16LE or UTF-16BE and so on. On Unix-like systems using a Byte Order Mark could cause some problems for programs not expecting it, e.g. the compiler gcc stops with stray errors, PHP does not parse a script containing a BOM and script files starting with a she-bang maybe cannot be started. In the status bar you can easily see whether the file starts with a BOM or not. If you want to set a BOM for a file or if you want to remove it from a file, just use the document menu and toggle the checkbox. .. note:: If you are unsure what a BOM is or if you do not understand where to use it, then it is probably not important for you and you can safely ignore it. Editing ------- Folding ^^^^^^^ Geany provides basic code folding support. Folding means the ability to show and hide parts of the text in the current file. You can hide unimportant code sections and concentrate on the parts you are working on and later you can show hidden sections again. In the editor window there is a small grey margin on the left side with [+] and [-] symbols which show hidden parts and hide parts of the file respectively. By clicking on these icons you can simply show and hide sections which are marked by vertical lines within this margin. For many filetypes nested folding is supported, so there may be several fold points within other fold points. .. note:: You can customize the folding icon and line styles - see the filetypes.common `Folding Settings`_. If you don't like it or don't need it at all, you can simply disable folding support completely in the preferences dialog. The folding behaviour can be changed with the "Fold/Unfold all children of a fold point" option in the preference dialog. If activated, Geany will unfold all nested fold points below the current one if they are already folded (when clicking on a [+] symbol). When clicking on a [-] symbol, Geany will fold all nested fold points below the current one if they are unfolded. This option can be inverted by pressing the Shift key while clicking on a fold symbol. That means, if the "Fold/Unfold all children of a fold point" option is enabled, pressing Shift will disable it for this click and vice versa. Column mode editing (rectangular selections) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ There is basic support for column mode editing. To use it, create a rectangular selection by holding down the Control and Shift keys (or Alt and Shift on Windows) while selecting some text. Once a rectangular selection exists you can start editing the text within this selection and the modifications will be done for every line in the selection. It is also possible to create a zero-column selection - this is useful to insert text on multiple lines. Drag and drop of text ^^^^^^^^^^^^^^^^^^^^^ If you drag selected text in the editor widget of Geany the text is moved to the position where the mouse pointer is when releasing the mouse button. Holding Control when releasing the mouse button will copy the text instead. This behaviour was changed in Geany 0.11 - before the selected text was copied to the new position. Indentation ^^^^^^^^^^^ Geany allows each document to indent either with a tab character, multiple spaces or a combination of both. The *Tabs* setting indents with one tab character per indent level, and displays tabs as the indent width. The *Spaces* setting indents with the number of spaces set in the indent width for each level. The *Tabs and Spaces* setting indents with spaces as above, then converts as many spaces as it can to tab characters at the rate of one tab for each multiple of the `Various preference` setting *indent_hard_tab_width* (default 8) and displays tabs as the *indent_hard_tab_width* value. The default indent settings are set in `Editor Indentation preferences`_ (see the link for more information). The default settings can be overridden per-document using the Document menu. They can also be overridden by projects - see `Project management`_. The indent mode for the current document is shown on the status bar as follows: TAB Indent with Tab characters. SP Indent with spaces. T/S Indent with tabs and spaces, depending on how much indentation is on a line. Applying new indentation settings ````````````````````````````````` After changing the default settings you may wish to apply the new settings to every document in the current session. To do this use the *Project->Apply Default Indentation* menu item. Detecting indent type ````````````````````` The *Detect from file* indentation preference can be used to scan each file as it's opened and set the indent type based on how many lines start with a tab vs. 2 or more spaces. Auto-indentation ^^^^^^^^^^^^^^^^ When enabled, auto-indentation happens when pressing *Enter* in the Editor. It adds a certain amount of indentation to the new line so the user doesn't always have to indent each line manually. Geany has four types of auto-indentation: None Disables auto-indentation completely. Basic Adds the same amount of whitespace on a new line as on the previous line. For the *Tabs* and the *Spaces* indent types the indentation will use the same combination of characters as the previous line. The *Tabs and Spaces* indentation type converts as explained above. Current chars Does the same as *Basic* but also indents a new line after an opening brace '{', and de-indents when typing a closing brace '}'. For Python, a new line will be indented after typing ':' at the end of the previous line. Match braces Similar to *Current chars* but the closing brace will be aligned to match the indentation of the line with the opening brace. This requires the filetype to be one where Geany knows that the Scintilla lexer understands matching braces (C, C++, D, HTML, Pascal, Bash, Perl, TCL). There is also XML-tag auto-indentation. This is enabled when the mode is more than just Basic, and is also controlled by a filetype setting - see `xml_indent_tags`_. Bookmarks ^^^^^^^^^ Geany provides a handy bookmarking feature that lets you mark one or more lines in a document, and return the cursor to them using a key combination. To place a mark on a line, either left-mouse-click in the left margin of the editor window, or else use Ctrl-m. This will produce a small green plus symbol in the margin. You can have as many marks in a document as you like. Click again (or use Ctrl-m again) to remove the bookmark. To remove all the marks in a given document, use "Remove Markers" in the Document menu. To navigate down your document, jumping from one mark to the next, use Ctrl-. (control period). To go in the opposite direction on the page, use Ctrl-, (control comma). Using the bookmarking feature together with the commands to switch from one editor tab to another (Ctrl-PgUp/PgDn and Ctrl-Tab) provides a particularly fast way to navigate around multiple files. Code navigation history ^^^^^^^^^^^^^^^^^^^^^^^ To ease navigation in source files and especially between different files, Geany lets you jump between different navigation points. Currently, this works for the following: * `Go to symbol declaration`_ * `Go to symbol definition`_ * Symbol list items * Build errors * Message items When using one of these actions, Geany remembers your current position and jumps to the new one. If you decide to go back to your previous position in the file, just use "Navigate back a location". To get back to the new position again, just use "Navigate forward a location". This makes it easier to navigate in e.g. foreign code and between different files. Sending text through custom commands ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ You can define several custom commands in Geany and send the current selection to one of these commands using the *Edit->Format->Send Selection to* menu or keybindings. The output of the command will be used to replace the current selection. This makes it possible to use text formatting tools with Geany in a general way. The selected text will be sent to the standard input of the executed command, so the command should be able to read from it and it should print all results to its standard output which will be read by Geany. To help finding errors in executing the command, the output of the program's standard error will be printed on Geany's standard output. If there is no selection, the whole current line is used instead. To add a custom command, use the *Send Selection to->Set Custom Commands* menu item. Click on *Add* to get a new item and type the command. You can also specify some command line options. Empty commands are not saved. Normal shell quoting is supported, so you can do things like: * ``sed 's/\./(dot)/g'`` The above example would normally be done with the `Replace all`_ function, but it can be handy to have common commands already set up. Note that the command is not run in a shell, so if you want to use shell features like pipes and command chains, you need to explicitly launch the shell and pass it your command: * ``sh -c 'sort | uniq'`` Context actions ^^^^^^^^^^^^^^^ You can execute the context action command on the current word at the cursor position or the available selection. This word or selection can be used as an argument to the command. The context action is invoked by a menu entry in the popup menu of the editor and also a keyboard shortcut (see the section called `Keybindings`_). The command can be specified in the preferences dialog and also for each filetype (see "context_action_cmd" in the section called `Filetype configuration`_). When the context action is invoked, the filetype specific command is used if available, otherwise the command specified in the preferences dialog is executed. The current word or selection can be referred with the wildcard "%s" in the command, it will be replaced by the current word or selection before the command is executed. For example a context action can be used to open API documentation in a browser window, the command to open the PHP API documentation would be:: firefox "http://www.php.net/%s" when executing the command, the %s is substituted by the word near the cursor position or by the current selection. If the cursor is at the word "echo", a browser window will open(assumed your browser is called firefox) and it will open the address: http://www.php.net/echo. Autocompletion ^^^^^^^^^^^^^^ Geany can offer a list of possible completions for symbols defined in the tags files and for all words in open documents. The autocompletion list for symbols is presented when the first few characters of the symbol are typed (configurable, see `Editor Completions preferences`_, default 4) or when the *Complete word* keybinding is pressed (configurable, see `Editor keybindings`_, default Ctrl-Space). When the defined keybinding is typed and the *Autocomplete all words in document* preference (in `Editor Completions preferences`_) is selected then the autocompletion list will show all matching words in the document, if there are no matching symbols. If you don't want to use autocompletion it can be dismissed until the next symbol by pressing Escape. The autocompletion list is updated as more characters are typed so that it only shows completions that start with the characters typed so far. If no symbols begin with the sequence, the autocompletion window is closed. The up and down arrows will move the selected item. The highlighted item on the autocompletion list can be chosen from the list by pressing Enter/Return. You can also double-click to select an item. The sequence will be completed to match the chosen item, and if the *Drop rest of word on completion* preference is set (in `Editor Completions preferences`_) then any characters after the cursor that match a symbol or word are deleted. Word part completion ```````````````````` By default, pressing Tab will complete the selected item by word part; useful e.g. for adding the prefix ``gtk_combo_box_entry_`` without typing it manually: * gtk_com * gtk_combo_ * gtk_combo_box_ * gtk_combo_box_entry_ * gtk_combo_box_entry_set_text_column The key combination can be changed from Tab - See `Editor keybindings`_. If you clear/change the key combination for word part completion, Tab will complete the whole word instead, like Enter. Scope autocompletion ```````````````````` E.g.:: struct { int i; char c; } foo; When you type ``foo.`` it will show an autocompletion list with 'i' and 'c' symbols. It only works for languages that set parent scope names for e.g. struct members. Currently this means C-like languages. The C parser only parses global scopes, so this won't work for structs or objects declared in local scope. User-definable snippets ^^^^^^^^^^^^^^^^^^^^^^^ Snippets are small strings or code constructs which can be replaced or completed to a more complex string. So you can save a lot of time when typing common strings and letting Geany do the work for you. To know what to complete or replace Geany reads a configuration file called ``snippets.conf`` at startup. Maybe you need to often type your name, so define a snippet like this:: [Default] myname=Enrico Tröger Every time you write ``myname`` in Geany, it will replace "myname" with "Enrico Tröger". The key to start autocompletion can be changed in the preferences dialog, by default it is TAB. The corresponding keybinding is called `Complete snippet`. **Paths** You can override the default snippets using the user ``snippets.conf`` file. Use the *Tools->Configuration Files->snippets.conf* menu item. See also `Configuration file paths`_. This adds the default settings to the user file if the file doesn't exist. Alternatively the file can be created manually, adding only the settings you want to change. All missing settings will be read from the system snippets file. **Snippet groups** The file ``snippets.conf`` contains sections defining snippets that are available for particular filetypes and in general. The two sections "Default" and "Special" apply to all filetypes. "Default" contains all snippets which are available for every filetype and "Special" contains snippets which can only be used in other snippets. So you can define often used parts of snippets and just use the special snippet as a placeholder (see the ``snippets.conf`` for details). You can define sections with the name of a filetype eg "C++". The snippets in that section are only available for use in files with that filetype. Snippets in filetype sections will hide snippets with the same name in the "Default" section when used in a file of that filetype. **Substitution sequences for snippets** To define snippets you can use several special character sequences which will be replaced when using the snippet: ================ ========================================================= \\n or %newline% Insert a new line (it will be replaced by the used EOL char(s): LF, CR/LF, or CR). \\t or %ws% Insert an indentation step, it will be replaced according to the current document's indent mode. \\s \\s to force whitespace at beginning or end of a value ('key= value' won't work, use 'key=\\svalue') %cursor% Place the cursor at this position after completion has been done. You can define multiple %cursor% wildcards and use the keybinding `Move cursor in snippet` to jump to the next defined cursor position in the completed snippet. %...% "..." means the name of a key in the "Special" section. If you have defined a key "brace_open" in the "Special" section you can use %brace_open% in any other snippet. ================ ========================================================= Snippet names must not contain spaces otherwise they won't work correctly. But beside that you can define almost any string as a snippet and use it later in Geany. It is not limited to existing contructs of certain programming languages(like ``if``, ``for``, ``switch``). Define whatever you need. **Template wildcards** Since Geany 0.15 you can also use most of the available templates wildcards listed in `Template wildcards`_. All wildcards which are listed as `available in snippets` can be used. For instance to improve the above example:: [Default] myname=My name is {developer} mysystem=My system: {command:uname -a} this will replace ``myname`` with "My name is " and the value of the template preference ``developer``. **Word characters** You can change the way Geany recognizes the word to complete, that is how the start and end of a word is recognised when the snippet completion is requested. The section "Special" may contain a key "wordchars" which lists all characters a string may contain to be recognized as a word for completion. Leave it commented to use default characters or define it to add or remove characters to fit your needs. Snippet keybindings ``````````````````` Normally you would type the snippet name and press Tab. However, you can define keybindings for snippets under the *Keybindings* group in ``snippets.conf``:: [Keybindings] for=7 block_cursor=8 .. note:: Snippet keybindings may be overridden by Geany's configurable keybindings. Inserting Unicode characters ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ You can insert Unicode code points by hitting Ctrl-Shift-u, then still holding Ctrl-Shift, type some hex digits representing the code point for the character you want and hit Enter or Return (still holding Ctrl-Shift). If you release Ctrl-Shift before hitting Enter or Return (or any other character), the code insertion is completed, but the typed character is also entered. In the case of Enter/Return, it is a newline, as you might expect. In some earlier versions of Geany, you might need to first unbind Ctrl-Shift-u in the `keybinding preferences`_, then select *Tools->Reload Configuration* or restart Geany. Note that it works slightly differently from other GTK applications, in that you'll need to continue to hold down the Ctrl and Shift keys while typing the code point hex digits (and the Enter or Return to finish the code point). Search, replace and go to ------------------------- This section describes search-related commands from the Search menu and the editor window's popup menu: * Find * Find selection * Find usage * Find in files * Replace * Go to symbol definition * Go to symbol declaration * Go to line See also `Search`_ preferences. Toolbar entries ^^^^^^^^^^^^^^^ There are also two toolbar entries: * Search bar * Go to line entry There are keybindings to focus each of these - see `Focus keybindings`_. Pressing Escape will then focus the editor. Search bar `````````` The quickest way to find some text is to use the search bar entry in the toolbar. This performs a case-insensitive search in the current document whilst you type. Pressing Enter will search again, and pressing Shift-Enter will search backwards. Find ^^^^ The Find dialog is used for finding text in one or more open documents. .. image:: ./images/find_dialog.png Matching options ```````````````` The syntax for the *Use regular expressions* option is shown in `Regular expressions`_. .. note:: *Use escape sequences* is implied for regular expressions. The *Use multi-line matching* option enables multi-line regular expressions instead of single-line ones. See `Regular expressions`_ for more details on the differences between the two modes. The *Use escape sequences* option will transform any escaped characters into their UTF-8 equivalent. For example, \\t will be transformed into a tab character. Other recognized symbols are: \\\\, \\n, \\r, \\uXXXX (Unicode characters). Find all ```````` To find all matches, click on the Find All expander. This will reveal several options: * In Document * In Session * Mark Find All In Document will show a list of matching lines in the current document in the Messages tab of the Message Window. *Find All In Session* does the same for all open documents. Mark will highlight all matches in the current document with a colored box. These markers can be removed by selecting the Remove Markers command from the Document menu. Change font in search dialog text fields ```````````````````````````````````````` All search related dialogs use a Monospace for the text input fields to increase the readability of input text. This is useful when you are typing input such as regular expressions with spaces, periods and commas which might it hard to read with a proportional font. If you want to change the font, you can do this easily by inserting the following style into your ``.gtkrc-2.0`` (usually found in your home directory on UNIX-like systems and in the etc subdirectory of your Geany installation on Windows):: style "search_style" { font_name="Monospace 8" } widget "GeanyDialogSearch.*.GtkEntry" style:highest "search_style" Please note the addition of ":highest" in the last line which sets the priority of this style to the highest available. Otherwise, the style is ignored for the search dialogs. Find selection ^^^^^^^^^^^^^^ The *Find Next/Previous Selection* commands perform a search for the current selected text. If nothing is selected, by default the current word is used instead. This can be customized by the *find_selection_type* preference - see `Various preferences`_. ===== ============================================= Value *find_selection_type* behaviour ===== ============================================= 0 Use the current word (default). 1 Try the X selection first, then current word. 2 Repeat last search. ===== ============================================= Find usage ^^^^^^^^^^ *Find Usage* searches all open files. It is similar to the *Find All In Session* option in the Find dialog. If there is a selection, then it is used as the search text; otherwise the current word is used. The current word is either taken from the word nearest the edit cursor, or the word underneath the popup menu click position when the popup menu is used. The search results are shown in the Messages tab of the Message Window. .. note:: You can also use Find Usage for symbol list items from the popup menu. Find in files ^^^^^^^^^^^^^ *Find in Files* is a more powerful version of *Find Usage* that searches all files in a certain directory using the Grep tool. The Grep tool must be correctly set in Preferences to the path of the system's Grep utility. GNU Grep is recommended (see note below). .. image:: ./images/find_in_files_dialog.png The *Search* field is initially set to the current word in the editor (depending on `Search`_ preferences). The *Files* setting allows to choose which files are included in the search, depending on the mode: All Search in all files; Project Use the current project's patterns, see `Project properties`_; Custom Use custom patterns. Both project and custom patterns use a glob-style syntax, each pattern separated by a space. To search all ``.c`` and ``.h`` files, use: ``*.c *.h``. Note that an empty pattern list searches in all files rather than none. The *Directory* field is initially set to the current document's directory, unless this field has already been edited and the current document has not changed. Otherwise, the current document's directory is prepended to the drop-down history. This can be disabled - see `Search`_ preferences. The *Encoding* field can be used to define the encoding of the files to be searched. The entered search text is converted to the chosen encoding and the search results are converted back to UTF-8. The *Extra options* field is used to pass any additional arguments to the grep tool. .. note:: The *Files* setting uses ``--include=`` when searching recursively, *Recurse in subfolders* uses ``-r``; both are GNU Grep options and may not work with other Grep implementations. Filtering out version control files ``````````````````````````````````` When using the *Recurse in subfolders* option with a directory that's under version control, you can set the *Extra options* field to filter out version control files. If you have GNU Grep >= 2.5.2 you can use the ``--exclude-dir`` argument to filter out CVS and hidden directories like ``.svn``. Example: ``--exclude-dir=.svn --exclude-dir=CVS`` If you have an older Grep, you can try using the ``--exclude`` flag to filter out filenames. SVN Example: ``--exclude=*.svn-base`` The --exclude argument only matches the file name part, not the path. Replace ^^^^^^^ The Replace dialog is used for replacing text in one or more open documents. .. image:: ./images/replace_dialog.png The Replace dialog has the same options for matching text as the Find dialog. See the section `Matching options`_. The *Use regular expressions* option allows regular expressions to be used in the search string and back references in the replacement text -- see the entry for '\\n' in `Regular expressions`_. Replace all ``````````` To replace several matches, click on the *Replace All* expander. This will reveal several options: * In Document * In Session * In Selection *Replace All In Document* will replace all matching text in the current document. *Replace All In Session* does the same for all open documents. *Replace All In Selection* will replace all matching text in the current selection of the current document. Go to symbol definition ^^^^^^^^^^^^^^^^^^^^^^^ If the current word or selection is the name of a symbol definition (e.g. a function name) and the file containing the symbol definition is open, this command will switch to that file and go to the corresponding line number. The current word is either the word nearest the edit cursor, or the word underneath the popup menu click position when the popup menu is used. If there are more symbols with the same name to which the goto can be performed, a pop up is shown with a list of all the occurrences. After selecting a symbol from the list Geany jumps to the corresponding symbol location. Geany tries to suggest the nearest symbol (symbol from the current file, other open documents or current directory) as the best candidate for the goto and places this symbol at the beginning of the list typed in boldface. .. note:: If the corresponding symbol is on the current line, Geany will first look for a symbol declaration instead, as this is more useful. Likewise *Go to symbol declaration* will search for a symbol definition first in this case also. Go to symbol declaration ^^^^^^^^^^^^^^^^^^^^^^^^ Like *Go to symbol definition*, but for a forward declaration such as a C function prototype or ``extern`` declaration instead of a function body. Go to line ^^^^^^^^^^ Go to a particular line number in the current file. Regular expressions ^^^^^^^^^^^^^^^^^^^ You can use regular expressions in the Find and Replace dialogs by selecting the *Use regular expressions* check box (see `Matching options`_). The syntax is Perl compatible. Basic syntax is described in the table below. For full details, see http://www.geany.org/manual/gtk/glib/glib-regex-syntax.html. By default regular expressions are matched on a line-by-line basis. If you are interested in multi-line regular expressions, matched against the whole buffer at once, see the section `Multi-line regular expressions`_ below. .. note:: 1. The *Use escape sequences* dialog option always applies for regular expressions. 2. Searching backwards with regular expressions is not supported. 3. The *Use multi-line matching* dialog option to select single or multi-line matching. **In a regular expression, the following characters are interpreted:** ======= ============================================================ . Matches any character. ( This marks the start of a region for tagging a match. ) This marks the end of a tagged region. \\n Where n is 1 through 9 refers to the first through ninth tagged region when searching or replacing. Searching for (Wiki)\\1 matches WikiWiki. If the search string was Fred([1-9])XXX and the replace string was Sam\\1YYY, when applied to Fred2XXX this would generate Sam2YYY. \\0 When replacing, the whole matching text. \\b This matches a word boundary. \\c A backslash followed by d, D, s, S, w or W, becomes a character class (both inside and outside sets []). * d: decimal digits * D: any char except decimal digits * s: whitespace (space, \\t \\n \\r \\f \\v) * S: any char except whitespace (see above) * w: alphanumeric & underscore * W: any char except alphanumeric & underscore \\x This allows you to use a character x that would otherwise have a special meaning. For example, \\[ would be interpreted as [ and not as the start of a character set. Use \\\\ for a literal backslash. [...] Matches one of the characters in the set. If the first character in the set is ^, it matches the characters NOT in the set, i.e. complements the set. A shorthand S-E (start dash end) is used to specify a set of characters S up to E, inclusive. The special characters ] and - have no special meaning if they appear first in the set. - can also be last in the set. To include both, put ] first: []A-Z-]. Examples:: []|-] matches these 3 chars []-|] matches from ] to | chars [a-z] any lowercase alpha [^]-] any char except - and ] [^A-Z] any char except uppercase alpha [a-zA-Z] any alpha ^ This matches the start of a line (unless used inside a set, see above). $ This matches the end of a line. \* This matches 0 or more times. For example, Sa*m matches Sm, Sam, Saam, Saaam and so on. \+ This matches 1 or more times. For example, Sa+m matches Sam, Saam, Saaam and so on. \? This matches 0 or 1 time(s). For example, Joh?n matches John, Jon. ======= ============================================================ .. note:: This table is adapted from Scintilla and SciTE documentation, distributed under the `License for Scintilla and SciTE`_. Multi-line regular expressions `````````````````````````````` .. note:: The *Use multi-line matching* dialog option enables multi-line regular expressions. Multi-line regular expressions work just like single-line ones but a match can span several lines. While the syntax is the same, a few practical differences applies: ======= ============================================================ . Matches any character but newlines. This behavior can be changed to also match newlines using the (?s) option, see http://www.geany.org/manual/gtk/glib/glib-regex-syntax.html#idp5671632 [^...] A negative range (see above) *will* match newlines if they are not explicitly listed in that negative range. For example, range [^a-z] will match newlines, while range [^a-z\\r\\n] won't. While this is the expected behavior, it can lead to tricky problems if one doesn't think about it when writing an expression. ======= ============================================================ View menu --------- The View menu allows various elements of the main window to be shown or hidden, and also provides various display-related editor options. Color schemes dialog ^^^^^^^^^^^^^^^^^^^^ The Color Schemes dialog is available under the *View->Change Color Scheme* menu item. It lists various color schemes for editor highlighting styles, including the default scheme first. Other items are available based on what color scheme files Geany found at startup. Color scheme files are read from the `Configuration file paths`_ under the ``colorschemes`` subdirectory. They should have the extension ``.conf``. The default color scheme is read from ``filetypes.common``. The `[named_styles] section`_ and `[named_colors] section`_ are the same as for ``filetypes.common``. The ``[theme_info]`` section can contain information about the theme. The ``name`` and ``description`` keys are read to set the menu item text and tooltip, respectively. These keys can have translations, e.g.:: key=Hello key[de]=Hallo key[fr_FR]=Bonjour Symbols and tags files ---------------------- Upon opening, files of supported filetypes are parsed to extract the symbol information (aka "workspace symbols"). You can also have Geany automatically load external files containing the symbol information (aka "global tags files") upon startup, or manually using *Tools --> Load Tags File*. Geany uses its own tags file format, similar to what ``ctags`` uses (but is incompatible with ctags). You use Geany to generate global tags files, as described below. Workspace symbols ^^^^^^^^^^^^^^^^^ Each document is parsed for symbols whenever a file is loaded, saved or modified (see *Symbol list update frequency* preference in the `Editor Completions preferences`_). These are shown in the Symbol list in the Sidebar. These symbols are also used for autocompletion and calltips for all documents open in the current session that have the same filetype. The *Go to Symbol* commands can be used with all workspace symbols. See `Go to symbol definition`_. Global tags files ^^^^^^^^^^^^^^^^^ Global tags files are used to provide symbols for autocompletion and calltips without having to open the source files containing these symbols. This is intended for library APIs, as the tags file only has to be updated when you upgrade the library. You can load a custom global tags file in two ways: * Using the *Load Tags File* command in the Tools menu. * By moving or symlinking tags files to the ``tags`` subdirectory of one of the `configuration file paths`_ before starting Geany. You can either download these files or generate your own. They have the format:: name.lang_ext.tags *lang_ext* is one of the extensions set for the filetype associated with the tags parser. See the section called `Filetype extensions`_ for more information. Default global tags files ````````````````````````` Some global tags files are distributed with Geany and will be loaded automatically when the corresponding filetype is first used. Currently this includes global tags files for these languages: * C * Pascal * PHP * HTML -- &symbol; completion, e.g. for ampersand, copyright, etc. * LaTeX * Python Global tags file format ``````````````````````` Global tags files can have three different formats: * Tagmanager format * Pipe-separated format * CTags format The first line of global tags files should be a comment, introduced by ``#`` followed by a space and a string like ``format=pipe``, ``format=ctags`` or ``format=tagmanager`` respectively, these are case-sensitive. This helps Geany to read the file properly. If this line is missing, Geany tries to auto-detect the used format but this might fail. The Tagmanager format is a bit more complex and is used for files created by the ``geany -g`` command. There is one symbol per line. Different symbol attributes like the return value or the argument list are separated with different characters indicating the type of the following argument. This is the more complete and recommended tags file format. Pipe-separated format ********************* The Pipe-separated format is easier to read and write. There is one symbol per line and different symbol attributes are separated by the pipe character (``|``). A line looks like:: basename|string|(string path [, string suffix])| | The first field is the symbol name (usually a function name). | The second field is the type of the return value. | The third field is the argument list for this symbol. | The fourth field is the description for this symbol but currently unused and should be left empty. Except for the first field (symbol name), all other field can be left empty but the pipe separator must appear for them. You can easily write your own global tags files using this format. Just save them in your tags directory, as described earlier in the section `Global tags files`_. CTags format ************ This is the format that ctags generates, and that is used by Vim. This format is compatible with the format historically used by Vi. The format is described at http://ctags.sourceforge.net/FORMAT, but for the full list of existing extensions please refer to ctags. However, note that Geany may actually only honor a subset of the existing extensions. Generating a global tags file ````````````````````````````` You can generate your own global tags files by parsing a list of source files. The command is:: geany -g [-P] * Tags File filename should be in the format described earlier -- see the section called `Global tags files`_. * File list is a list of filenames, each with a full path (unless you are generating C/C++ tags files and have set the CFLAGS environment variable appropriately). * ``-P`` or ``--no-preprocessing`` disables using the C pre-processor to process ``#include`` directives for C/C++ source files. Use this option if you want to specify each source file on the command-line instead of using a 'master' header file. Also can be useful if you don't want to specify the CFLAGS environment variable. Example for the wxD library for the D programming language:: geany -g wxd.d.tags /home/username/wxd/wx/*.d Generating C/C++ tags files *************************** You may need to first setup the `C ignore.tags`_ file. For C/C++ tags files gcc is required by default, so that header files can be preprocessed to include any other headers they depend upon. If you do not want this, use the ``-P`` option described above. For preprocessing, the environment variable CFLAGS should be set with appropriate ``-I/path`` include paths. The following example works with the bash shell, generating a tags file for the GnomeUI library:: CFLAGS=`pkg-config --cflags libgnomeui-2.0` geany -g gnomeui.c.tags \ /usr/include/libgnomeui-2.0/gnome.h You can adapt this command to use CFLAGS and header files appropriate for whichever libraries you want. Generating tags files on Windows ******************************** This works basically the same as on other platforms:: "c:\program files\geany\bin\geany" -g c:\mytags.php.tags c:\code\somefile.php C ignore.tags ^^^^^^^^^^^^^ You can ignore certain symbols for C-based languages if they would lead to wrong parsing of the code. Use the *Tools->Configuration Files->ignore.tags* menu item to open the user ``ignore.tags`` file. See also `Configuration file paths`_. List all symbol names you want to ignore in this file, separated by spaces and/or newlines. Example:: G_GNUC_NULL_TERMINATED G_GNUC_PRINTF G_GNUC_WARN_UNUSED_RESULT This will parse code like: ``gchar **utils_strv_new(const gchar *first, ...) G_GNUC_NULL_TERMINATED;`` More detailed information about ignore.tags usage from the Exuberant Ctags manual page: Specifies a list of identifiers which are to be specially handled while parsing C and C++ source files. This option is specifically provided to handle special cases arising through the use of pre-processor macros. When the identifiers listed are simple identifiers, these identifiers will be ignored during parsing of the source files. If an identifier is suffixed with a '+' character, ctags will also ignore any parenthesis-enclosed argument list which may immediately follow the identifier in the source files. If two identifiers are separated with the '=' character, the first identifiers is replaced by the second identifiers for parsing purposes. For even more detailed information please read the manual page of Exuberant Ctags. Geany extends Ctags with a '*' character suffix - this means use prefix matching, e.g. G_GNUC_* will match G_GNUC_NULL_TERMINATED, etc. Note that prefix match items should be put after other items to ensure that items like G_GNUC_PRINTF+ get parsed correctly. Preferences ----------- You may adjust Geany's settings using the Edit --> Preferences dialog. Any changes you make there can be applied by hitting either the Apply or the OK button. These settings will persist between Geany sessions. Note that most settings here have descriptive popup bubble help -- just hover the mouse over the item in question to get help on it. You may also adjust some View settings (under the View menu) that persist between Geany sessions. The settings under the Document menu, however, are only for the current document and revert to defaults when restarting Geany. .. note:: In the paragraphs that follow, the text describing a dialog tab comes after the screenshot of that tab. General Startup preferences ^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. image:: ./images/pref_dialog_gen_startup.png Startup ``````` Load files from the last session On startup, load the same files you had open the last time you used Geany. Load virtual terminal support Load the library for running a terminal in the message window area. Enable plugin support Allow plugins to be used in Geany. Shutdown ```````` Save window position and geometry Save the current position and size of the main window so next time you open Geany it's in the same location. Confirm Exit Have a dialog pop up to confirm that you really want to quit Geany. Paths ````` Startup path Path to start in when opening or saving files. It must be an absolute path. Project files Path to start in when opening project files. Extra plugin path By default Geany looks in the system installation and the user configuration - see `Plugins`_. In addition the path entered here will be searched. Usually you do not need to set an additional path to search for plugins. It might be useful when Geany is installed on a multi-user machine and additional plugins are available in a common location for all users. Leave blank to not set an additional lookup path. General Miscellaneous preferences ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. image:: ./images/pref_dialog_gen_misc.png Miscellaneous ````````````` Beep on errors when compilation has finished Have the computer make a beeping sound when compilation of your program has completed or any errors occurred. Switch status message list at new message Switch to the status message tab (in the notebook window at the bottom) once a new status message arrives. Suppress status messages in the status bar Remove all messages from the status bar. The messages are still displayed in the status messages window. .. tip:: Another option is to use the *Switch to Editor* keybinding - it reshows the document statistics on the status bar. See `Focus keybindings`_. Use Windows File Open/Save dialogs Defines whether to use the native Windows File Open/Save dialogs or whether to use the GTK default dialogs. Auto-focus widgets (focus follows mouse) Give the focus automatically to widgets below the mouse cursor. This works for the main editor widget, the scribble, the toolbar search field goto line fields and the VTE. Search `````` Always wrap search Always wrap search around the document when finding a match. Hide the Find dialog Hide the `Find`_ dialog after clicking Find Next/Previous. Use the current word under the cursor for Find dialogs Use current word under the cursor when opening the Find, Find in Files or Replace dialog and there is no selection. When this option is disabled, the search term last used in the appropriate Find dialog is used. Use the current file's directory for Find in Files When opening the Find in Files dialog, set the directory to search to the directory of the current active file. When this option is disabled, the directory of the last use of the Find in Files dialog is used. See `Find in Files`_ for details. Projects ```````` Use project-based session files Save your current session when closing projects. You will be able to resume different project sessions, automatically opening the files you had open previously. Store project file inside the project base directory When creating new projects, the default path for the project file contains the project base path. Without this option enabled, the default project file path is one level above the project base path. In either case, you can easily set the final project file path in the *New Project* dialog. This option provides the more common defaults automatically for convenience. Interface preferences ^^^^^^^^^^^^^^^^^^^^^ .. image:: ./images/pref_dialog_interface_interface.png Sidebar ``````` Show sidebar Whether to show the sidebar at all. Show symbol list Show the list of functions, variables, and other information in the current document you are editing. Show documents list Show all the documents you have open currently. This can be used to change between documents (see `Switching between documents`_) and to perform some common operations such as saving, closing and reloading. Position Whether to place the sidebar on the left or right of the editor window. Message window `````````````` Position Whether to place the message window on the bottom or right of the editor window. Fonts ````` Editor Change the font used to display documents. Symbol list Change the font used for the Symbols sidebar tab. Message window Change the font used for the message window area. Miscellaneous ````````````` Show status bar Show the status bar at the bottom of the main window. It gives information about the file you are editing like the line and column you are on, whether any modifications were done, the file encoding, the filetype and other information. Interface Notebook tab preferences ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. image:: ./images/pref_dialog_interface_notebook.png Editor tabs ``````````` Show editor tabs Show a notebook tab for all documents so you can switch between them using the mouse (instead of using the Documents window). Show close buttons Make each tab show a close button so you can easily close open documents. Placement of new file tabs Whether to create a document with its notebook tab to the left or right of all existing tabs. Next to current Whether to place file tabs next to the current tab rather than at the edges of the notebook. Double-clicking hides all additional widgets Whether to call the View->Toggle All Additional Widgets command when double-clicking on a notebook tab. Tab positions ````````````` Editor Set the positioning of the editor's notebook tabs to the right, left, top, or bottom of the editing window. Sidebar Set the positioning of the sidebar's notebook tabs to the right, left, top, or bottom of the sidebar window. Message window Set the positioning of the message window's notebook tabs to the right, left, top, or bottom of the message window. Interface Toolbar preferences ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Affects the main toolbar underneath the menu bar. .. image:: ./images/pref_dialog_interface_toolbar.png Toolbar ``````` Show Toolbar Whether to show the toolbar. Append Toolbar to the Menu Allows to append the toolbar to the main menu bar instead of placing it below. This is useful to save vertical space. Customize Toolbar See `Customizing the toolbar`_. Appearance `````````` Icon Style Select the toolbar icon style to use - either icons and text, just icons or just text. The choice System default uses whatever icon style is set by GTK. Icon size Select the size of the icons you see (large, small or very small). The choice System default uses whatever icon size is set by GTK. Editor Features preferences ^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. image:: ./images/pref_dialog_edit_features.png Features ```````` Line wrapping Show long lines wrapped around to new display lines. .. _smart_home_key: "Smart" home key Whether to move the cursor to the first non-whitespace character on the line when you hit the home key on your keyboard. Pressing it again will go to the very start of the line. Disable Drag and Drop Do not allow the dragging and dropping of selected text in documents. Code folding Allow groups of lines in a document to be collapsed for easier navigation/editing. Fold/Unfold all children of a fold point Whether to fold/unfold all child fold points when a parent line is folded. Use indicators to show compile errors Underline lines with compile errors using red squiggles to indicate them in the editor area. Newline strips trailing spaces Remove any whitespace at the end of the line when you hit the Enter/Return key. See also `Strip trailing spaces`_. Note auto indentation is calculated before stripping, so although this setting will clear a blank line, it will not set the next line indentation back to zero. Line breaking column The editor column number to insert a newline at when Line Breaking is enabled for the current document. Comment toggle marker A string which is added when toggling a line comment in a source file. It is used to mark the comment as toggled. Editor Indentation preferences ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. image:: ./images/pref_dialog_edit_indentation.png Indentation group ````````````````` See `Indentation`_ for more information. Width The width of a single indent size in spaces. By default the indent size is equivalent to 4 spaces. Detect width from file Try to detect and set the indent width based on file content, when a file is opened. Type When Geany inserts indentation, whether to use: * Just Tabs * Just Spaces * Tabs and Spaces, depending on how much indentation is on a line The *Tabs and Spaces* indent type is also known as *Soft tab support* in some other editors. Detect type from file Try to detect and set the indent type based on file content, when a file is opened. Auto-indent mode The type of auto-indentation you wish to use after pressing Enter, if any. Basic Just add the indentation of the previous line. Current chars Add indentation based on the current filetype and any characters at the end of the line such as ``{``, ``}`` for C, ``:`` for Python. Match braces Like *Current chars* but for C-like languages, make a closing ``}`` brace line up with the matching opening brace. Tab key indents If set, pressing tab will indent the current line or selection, and unindent when pressing Shift-tab. Otherwise, the tab key will insert a tab character into the document (which can be different from indentation, depending on the indent type). .. note:: There are also separate configurable keybindings for indent & unindent, but this preference allows the tab key to have different meanings in different contexts - e.g. for snippet completion. Editor Completions preferences ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. image:: ./images/pref_dialog_edit_completions.png Completions ``````````` Snippet Completion Whether to replace special keywords after typing Tab into a pre-defined text snippet. See `User-definable snippets`_. XML/HTML tag auto-closing When you open an XML/HTML tag automatically generate its completion tag. Automatic continuation multi-line comments Continue automatically multi-line comments in languages like C, C++ and Java when a new line is entered inside such a comment. With this option enabled, Geany will insert a ``*`` on every new line inside a multi-line comment, for example when you press return in the following C code:: /* * This is a C multi-line comment, press then Geany would insert:: * on the next line with the correct indentation based on the previous line, as long as the multi-line is not closed by ``*/``. Autocomplete symbols When you start to type a symbol name, look for the full string to allow it to be completed for you. Autocomplete all words in document When you start to type a word, Geany will search the whole document for words starting with the typed part to complete it, assuming there are no symbol names to show. Drop rest of word on completion Remove any word part to the right of the cursor when choosing a completion list item. Characters to type for autocompletion Number of characters of a word to type before autocompletion is displayed. Completion list height The number of rows to display for the autocompletion window. Max. symbol name suggestions The maximum number of items in the autocompletion list. Symbol list update frequency The minimum delay (in milliseconds) between two symbol list updates. This option determines how frequently the symbol list is updated for the current document. The smaller the delay, the more up-to-date the symbol list (and then the completions); but rebuilding the symbol list has a cost in performance, especially with large files. The default value is 250ms, which means the symbol list will be updated at most four times per second, even if the document changes continuously. A value of 0 disables automatic updates, so the symbol list will only be updated upon document saving. Auto-close quotes and brackets `````````````````````````````` Geany can automatically insert a closing bracket and quote characters when you open them. For instance, you type a ``(`` and Geany will automatically insert ``)``. With the following options, you can define for which characters this should work. Parenthesis ( ) Auto-close parenthesis when typing an opening one Curly brackets { } Auto-close curly brackets (braces) when typing an opening one Square brackets [ ] Auto-close square brackets when typing an opening one Single quotes ' ' Auto-close single quotes when typing an opening one Double quotes " " Auto-close double quotes when typing an opening one Editor Display preferences ^^^^^^^^^^^^^^^^^^^^^^^^^^ This is for visual elements displayed in the editor window. .. image:: ./images/pref_dialog_edit_display.png Display ``````` Invert syntax highlighting colors Invert all colors, by default this makes white text on a black background. Show indendation guides Show vertical lines to help show how much leading indentation there is on each line. Show whitespaces Mark all tabs with an arrow "-->" symbol and spaces with dots to show which kinds of whitespace are used. Show line endings Display a symbol everywhere that a carriage return or line feed is present. Show line numbers Show or hide the Line Number margin. Show markers margin Show or hide the small margin right of the line numbers, which is used to mark lines. Stop scrolling at last line When enabled Geany stops scrolling when at the last line of the document. Otherwise you can scroll one more page even if there are no real lines. Lines visible around the cursor The number of lines to maintain between the cursor and the top and bottom edges of the view. This allows some lines of context around the cursor to always be visible. If *Stop scrolling at last line* is disabled, the cursor will never reach the bottom edge when this value is greater than 0. Long line marker ```````````````` The long line marker helps to indicate overly-long lines, or as a hint to the user for when to break the line. Type Line Show a thin vertical line in the editor window at the given column position. Background Change the background color of characters after the given column position to the color set below. (This is recommended over the *Line* setting if you use proportional fonts). Disabled Don't mark long lines at all. Long line marker Set this value to a value greater than zero to specify the column where it should appear. Long line marker color Set the color of the long line marker. Virtual spaces `````````````` Virtual space is space beyond the end of each line. The cursor may be moved into virtual space but no real space will be added to the document until there is some text typed or some other text insertion command is used. Disabled Do not show virtual spaces Only for rectangular selections Only show virtual spaces beyond the end of lines when drawing a rectangular selection Always Always show virtual spaces beyond the end of lines Files preferences ^^^^^^^^^^^^^^^^^ .. image:: ./images/pref_dialog_files.png New files ````````` Open new documents from the command-line Whether to create new documents when passing filenames that don't exist from the command-line. Default encoding (new files) The type of file encoding you wish to use when creating files. Used fixed encoding when opening files Assume all files you are opening are using the type of encoding specified below. Default encoding (existing files) Opens all files with the specified encoding instead of auto-detecting it. Use this option when it's not possible for Geany to detect the exact encoding. Default end of line characters The end of line characters to which should be used for new files. On Windows systems, you generally want to use CR/LF which are the common characters to mark line breaks. On Unix-like systems, LF is default and CR is used on MAC systems. Saving files ```````````` Perform formatting operations when a document is saved. These can each be undone with the Undo command. Ensure newline at file end Add a newline at the end of the document if one is missing. Ensure consistent line endings Ensures that newline characters always get converted before saving, avoiding mixed line endings in the same file. .. _Strip trailing spaces: Strip trailing spaces Remove any whitespace at the end of each document line. .. note:: This does not apply to Diff documents, e.g. patch files. Replace tabs with spaces Replace all tabs in the document with the equivalent number of spaces. .. note:: It is better to use spaces to indent than use this preference - see `Indentation`_. Miscellaneous ````````````` Recent files list length The number of files to remember in the recently used files list. Disk check timeout The number of seconds to periodically check the current document's file on disk in case it has changed. Setting it to 0 will disable this feature. .. note:: These checks are only performed on local files. Remote files are not checked for changes due to performance issues (remote files are files in ``~/.gvfs/``). Tools preferences ^^^^^^^^^^^^^^^^^ .. image:: ./images/pref_dialog_tools.png Tool paths `````````` Terminal The command to execute a script in a terminal. Occurrences of %c in the command are substituted with the run script name, see `Terminal emulators`_. Browser The location of your web browser executable. Grep The location of the grep executable. .. note:: For Windows users: at the time of writing it is recommended to use the grep.exe from the UnxUtils project (http://sourceforge.net/projects/unxutils). The grep.exe from the Mingw project for instance might not work with Geany at the moment. Commands ```````` Context action Set this to a command to execute on the current word. You can use the "%s" wildcard to pass the current word below the cursor to the specified command. Template preferences ^^^^^^^^^^^^^^^^^^^^ This data is used as meta data for various template text to insert into a document, such as the file header. You only need to set fields that you want to use in your template files. .. image:: ./images/pref_dialog_templ.png Template data ````````````` Developer The name of the developer who will be creating files. Initials The initials of the developer. Mail address The email address of the developer. .. note:: You may wish to add anti-spam markup, e.g. ``namesiteext``. Company The company the developer is working for. Initial version The initial version of files you will be creating. Year Specify a format for the {year} wildcard. You can use any conversion specifiers which can be used with the ANSI C strftime function. For details please see http://man.cx/strftime. Date Specify a format for the {date} wildcard. You can use any conversion specifiers which can be used with the ANSI C strftime function. For details please see http://man.cx/strftime. Date & Time Specify a format for the {datetime} wildcard. You can use any conversion specifiers which can be used with the ANSI C strftime function. For details please see http://man.cx/strftime. Keybinding preferences ^^^^^^^^^^^^^^^^^^^^^^ .. image:: ./images/pref_dialog_keys.png There are some commands listed in the keybinding dialog that are not, by default, bound to a key combination, and may not be available as a menu item. .. note:: For more information see the section `Keybindings`_. Printing preferences ^^^^^^^^^^^^^^^^^^^^ .. image:: ./images/pref_dialog_printing.png Use external command for printing Use a system command to print your file out. Use native GTK printing Let the GTK GUI toolkit handle your print request. Print line numbers Print the line numbers on the left of your paper. Print page number Print the page number on the bottom right of your paper. Print page header Print a header on every page that is sent to the printer. Use base name of the printed file Don't use the entire path for the header, only the filename. Date format How the date should be printed. You can use the same format specifiers as in the ANSI C function strftime(). For details please see http://man.cx/strftime. Various preferences ^^^^^^^^^^^^^^^^^^^ .. image:: ./images/pref_dialog_various.png Rarely used preferences, explained in the table below. A few of them require restart to take effect, and a few other will only affect newly opened or created documents before restart. ================================ =========================================== ========== =========== Key Description Default Applies ================================ =========================================== ========== =========== **Editor related** use_gtk_word_boundaries Whether to look for the end of a word true to new when using word-boundary related documents Scintilla commands (see `Scintilla keyboard commands`_). brace_match_ltgt Whether to highlight <, > angle brackets. false immediately complete_snippets_whilst_editing Whether to allow completion of snippets false immediately when editing an existing line (i.e. there is some text after the current cursor position on the line). Only used when the keybinding `Complete snippet` is set to ``Space``. show_editor_scrollbars Whether to display scrollbars. If set to true immediately false, the horizontal and vertical scrollbars are hidden completely. indent_hard_tab_width The size of a tab character. Don't change 8 immediately it unless you really need to; use the indentation settings instead. editor_ime_interaction Input method editor (IME)'s candidate 0 to new window behaviour. May be 0 (windowed) or documents 1 (inline) **Interface related** show_symbol_list_expanders Whether to show or hide the small true to new expander icons on the symbol list documents treeview. allow_always_save Whether files can be saved always, even false immediately if they don't have any changes. By default, the Save button and menu item are disabled when a file is unchanged. When setting this option to true, the Save button and menu item are always active and files can be saved. compiler_tab_autoscroll Whether to automatically scroll to the true immediately last line of the output in the Compiler tab. statusbar_template The status bar statistics line format. See below. immediately (See `Statusbar Templates`_ for details). new_document_after_close Whether to open a new document after all false immediately documents have been closed. msgwin_status_visible Whether to show the Status tab in the true immediately Messages Window msgwin_compiler_visible Whether to show the Compiler tab in the true immediately Messages Window msgwin_messages_visible Whether to show the Messages tab in the true immediately Messages Window msgwin_scribble_visible Whether to show the Scribble tab in the true immediately Messages Window **VTE related** send_selection_unsafe By default, Geany strips any trailing false immediately newline characters from the current selection before sending it to the terminal to not execute arbitrary code. This is mainly a security feature. If, for whatever reasons, you really want it to be executed directly, set this option to true. send_cmd_prefix String with which prefix the commands sent Empty immediately to the shell. This may be used to tell some shells (BASH with ``HISTCONTROL`` set to ``ignorespace``, ZSH with ``HIST_IGNORE_SPACE`` enabled, etc.) from putting these commands in their history by setting this to a space. Note that leading spaces must be escaped using `\s` in the configuration file. **File related** use_atomic_file_saving Defines the mode how Geany saves files to false immediately disk. If disabled, Geany directly writes the content of the document to disk. This might cause loss of data when there is no more free space on disk to save the file. When set to true, Geany first saves the contents into a temporary file and if this succeeded, the temporary file is moved to the real file to save. This gives better error checking in case of no more free disk space. But it also destroys hard links of the original file and its permissions (e.g. executable flags are reset). Use this with care as it can break things seriously. The better approach would be to ensure your disk won't run out of free space. use_gio_unsafe_file_saving Whether to use GIO as the unsafe file true immediately saving backend. It is better on most situations but is known not to work correctly on some complex setups. gio_unsafe_save_backup Make a backup when using GIO unsafe file false immediately saving. Backup is named `filename~`. keep_edit_history_on_reload Whether to maintain the edit history when true immediately reloading a file, and allow the operation to be reverted. reload_clean_doc_on_file_change Whether to automatically reload documents false immediately that have no changes but which have changed on disk. If unsaved changes exist then the user is prompted to reload manually. **Filetype related** extract_filetype_regex Regex to extract filetype name from file See below. immediately via capture group one. **Search related** find_selection_type See `Find selection`_. 0 immediately **Replace related** replace_and_find_by_default Set ``Replace & Find`` button as default so true immediately it will be activated when the Enter key is pressed while one of the text fields has focus. **Build Menu related** number_ft_menu_items The maximum number of menu items in the 2 on restart filetype section of the Build menu. number_non_ft_menu_items The maximum number of menu items in the 3 on restart independent section of the Build menu. number_exec_menu_items The maximum number of menu items in the 2 on restart execute section of the Build menu. ================================ =========================================== ========== =========== The extract_filetype_regex has the default value GEANY_DEFAULT_FILETYPE_REGEX. Statusbar Templates ``````````````````` The default statusbar template is (note ``\t`` = tab): ``line: %l / %L\t col: %c\t sel: %s\t %w %t %mmode: %M encoding: %e filetype: %f scope: %S`` Settings the preference to an empty string will also cause Geany to use this internal default. The following format characters are available for the statusbar template: ============ =========================================================== Placeholder Description ============ =========================================================== ``%l`` The current line number starting at 1 ``%L`` The total number of lines ``%c`` The current column number starting at 0, including virtual space. ``%C`` The current column number starting at 1, including virtual space. ``%s`` The number of selected characters or if only whole lines selected, the number of selected lines. ``%n`` The number of selected characters, even if only whole lines are selected. ``%w`` Shows ``RO`` when the document is in read-only mode, otherwise shows whether the editor is in overtype (OVR) or insert (INS) mode. ``%t`` Shows the indentation mode, either tabs (TAB), spaces (SP) or both (T/S). ``%m`` Shows whether the document is modified (MOD) or nothing. ``%M`` The name of the document's line-endings (ex. ``Unix (LF)``) ``%e`` The name of the document's encoding (ex. UTF-8). ``%f`` The filetype of the document (ex. None, Python, C, etc). ``%S`` The name of the scope where the caret is located. ``%p`` The caret position in the entire document starting at 0. ``%r`` Shows whether the document is read-only (RO) or nothing. ``%Y`` The Scintilla style number at the caret position. This is useful if you're debugging color schemes or related code. ============ =========================================================== Terminal (VTE) preferences ^^^^^^^^^^^^^^^^^^^^^^^^^^ See also: `Virtual terminal emulator widget (VTE)`_. .. image:: ./images/pref_dialog_vte.png Terminal widget ``````````````` Terminal font Select the font that will be used in the terminal emulation control. Foreground color Select the font color. Background color Select the background color of the terminal. Background image Select the background image to show behind the terminal's text. Scrollback lines The number of lines buffered so that you can scroll though the history. Shell The location of the shell on your system. Scroll on keystroke Scroll the terminal to the prompt line when pressing a key. Scroll on output Scroll the output down. Cursor blinks Let the terminal cursor blink. Override Geany keybindings Allow the VTE to receive keyboard shortcuts (apart from focus commands). Disable menu shortcut key (F10 by default) Disable the menu shortcut when you are in the virtual terminal. Follow path of the current file Make the path of the terminal change according to the path of the current file. Execute programs in VTE Execute programs in the virtual terminal instead of using the external terminal tool. Note that if you run multiple execute commands at once the output may become mixed together in the VTE. Don't use run script Don't use the simple run script which is usually used to display the exit status of the executed program. This can be useful if you already have a program running in the VTE like a Python console (e.g. ipython). Use this with care. Project management ------------------ Project management is optional in Geany. Currently it can be used for: * Storing and opening session files on a project basis. * Overriding default settings with project equivalents. * Configuring the Build menu on a project basis. A list of session files can be stored and opened with the project when the *Use project-based session files* preference is enabled, in the `Projects`_ group of the `General Miscellaneous preferences`_ tab of the `Preferences`_ dialog. As long as a project is open, the Build menu will use the items defined in project's settings, instead of the defaults. See `Build Menu Configuration`_ for information on configuring the menu. The current project's settings are saved when it is closed, or when Geany is shutdown. When restarting Geany, the previously opened project file that was in use at the end of the last session will be reopened. The project menu items are detailed below. New project ^^^^^^^^^^^ To create a new project, fill in the *Name* field. By default this will setup a new project file ``~/projects/name.geany``. Usually it's best to store all your project files in the same directory (they are independent of any source directory trees). The Base path text field is setup to use ``~/projects/name``. This can safely be set to any existing path -- it will not touch the file structure contained in it. Project properties ^^^^^^^^^^^^^^^^^^ You can set an optional description for the project. Currently it's only used for a template wildcard - see `Template wildcards`_. The *Base path* field is used as the directory to run the Build menu commands. The specified path can be an absolute path or it is considered to be relative to the project's file name. The *File patterns* field allows to specify a list of file patterns for the project, which can be used in the `Find in files`_ dialog. The *Indentation* tab allows you to override the default `Indentation`_ settings. Open project ^^^^^^^^^^^^ The Open command displays a standard file chooser, starting in ``~/projects``. Choose a project file named with the ``.geany`` extension. When project session support is enabled, Geany will close the currently open files and open the session files associated with the project. Close project ^^^^^^^^^^^^^ Project file settings are saved when the project is closed. When project session support is enabled, Geany will close the project session files and open any previously closed default session files. Build menu ---------- After editing code with Geany, the next step is to compile, link, build, interpret, run etc. As Geany supports many languages each with a different approach to such operations, and as there are also many language independent software building systems, Geany does not have a built-in build system, nor does it limit which system you can use. Instead the build menu provides a configurable and flexible means of running any external commands to execute your preferred build system. This section provides a description of the default configuration of the build menu and then covers how to configure it, and where the defaults fit in. Running the commands from within Geany has two benefits: * The current file is automatically saved before the command is run. * The output is captured in the Compiler notebook tab and parsed for warnings or errors. Warnings and errors that can be parsed for line numbers will be shown in red in the Compiler tab and you can click on them to switch to the relevant source file (or open it) and mark the line number. Also lines with warnings or errors are marked in the source, see `Indicators`_ below. .. tip:: If Geany's default error message parsing does not parse errors for the tool you're using, you can set a custom regex in the Build Commands Dialog, see `Build Menu Configuration`_. Indicators ^^^^^^^^^^ Indicators are red squiggly underlines which are used to highlight errors which occurred while compiling the current file. So you can easily see where your code failed to compile. You can remove them by selecting *Remove Error Indicators* in the Document menu. If you do not like this feature, you can disable it - see `Editor Features preferences`_. Default build menu items ^^^^^^^^^^^^^^^^^^^^^^^^ Depending on the current file's filetype, the default Build menu will contain the following items: * Compile * Build * Lint * Make All * Make Custom Target * Make Object * Next Error * Previous Error * Execute * Set Build Menu Commands Compile ``````` The Compile command has different uses for different kinds of files. For compilable languages such as C and C++, the Compile command is set up to compile the current source file into a binary object file. Java source files will be compiled to class file bytecode. Interpreted languages such as Perl, Python, Ruby will compile to bytecode if the language supports it, or will run a syntax check, or if that is not available will run the file in its language interpreter. Build ````` For compilable languages such as C and C++, the Build command will link the current source file's equivalent object file into an executable. If the object file does not exist, the source will be compiled and linked in one step, producing just the executable binary. Interpreted languages do not use the Build command. .. note:: If you need complex settings for your build system, or several different settings, then writing a Makefile and using the Make commands is recommended; this will also make it easier for users to build your software. Lint ```` Source code linters are often used to find code that doesn't correspond to certain style guidelines: non-portable code, common or hard to find errors, code "smells", variables used before being set, unused functions, division by zero, constant conditions, etc. Linters inspect the code and issue warnings much like the compilers do. This is formally referred to as static code analysis. Some common linters are pre-configured for you in the Build menu (``pep8`` for Python, ``cppcheck`` for C/C++, JSHint for JavaScript, ``xmllint`` for XML, ``hlint`` for Haskell, ``shellcheck`` for shell code, ...), but all these are standalone tools you need to obtain before using. Make ```` This runs "make" in the same directory as the current file. Make custom target `````````````````` This is similar to running 'Make' but you will be prompted for the make target name to be passed to the Make tool. For example, typing 'clean' in the dialog prompt will run "make clean". Make object ``````````` Make object will run "make current_file.o" in the same directory as the current file, using the filename for 'current_file'. It is useful for building just the current file without building the whole project. Next error `````````` The next error item will move to the next detected error in the file. Previous error `````````````` The previous error item will move to the previous detected error in the file. Execute ``````` Execute will run the corresponding executable file, shell script or interpreted script in a terminal window. The command set in the "Set Build Commands" dialog is run in a script to ensure the terminal stays open after execution completes. Note: see `Terminal emulators`_ below for the command format. Alternatively the built-in VTE can be used if it is available - see `Virtual terminal emulator widget (VTE)`_. After your program or script has finished executing, the run script will prompt you to press the return key. This allows you to review any text output from the program before the terminal window is closed. .. note:: The execute command output is not parsed for errors. Stopping running processes `````````````````````````` When there is a running program, the Execute menu item in the menu and the Run button in the toolbar each become a stop button so you can stop the current running program (and any child processes). This works by sending the SIGQUIT signal to the process. Depending on the process you started it is possible that the process cannot be stopped. For example this can happen when the process creates more than one child process. Terminal emulators ****************** The Terminal field of the tools preferences tab requires a command to execute the terminal program and to pass it the name of the Geany run script that it should execute in a Bourne compatible shell (eg /bin/sh). The marker "%c" is substituted with the name of the Geany run script, which is created in the temporary directory and which changes the working directory to the directory set in the Build commands dialog, see `Build menu commands dialog`_ for details. As an example the default (Linux) command is:: xterm -e "/bin/sh %c" Set build commands `````````````````` By default Compile, Build and Execute are fairly basic commands. You may wish to customise them using *Set Build Commands*. E.g. for C you can add any include paths and compile flags for the compiler, any library names and paths for the linker, and any arguments you want to use when running Execute. Build menu configuration ^^^^^^^^^^^^^^^^^^^^^^^^ The build menu has considerable flexibility and configurability, allowing both menu labels the commands they execute and the directory they execute in to be configured. For example, if you change one of the default make commands to run say 'waf' you can also change the label to match. These settings are saved automatically when Geany is shut down. The build menu is divided into four groups of items each with different behaviors: * Filetype build commands - are configurable and depend on the filetype of the current document; they capture output in the compiler tab and parse it for errors. * Independent build commands - are configurable and mostly don't depend on the filetype of the current document; they also capture output in the compiler tab and parse it for errors. * Execute commands - are configurable and intended for executing your program or other long running programs. The output is not parsed for errors and is directed to the terminal command selected in preferences. * Fixed commands - these perform built-in actions: * Go to the next error. * Go to the previous error. * Show the build menu commands dialog. The maximum numbers of items in each of the configurable groups can be configured in the `Various preferences`_. Even though the maximum number of items may have been increased, only those menu items that have values configured are shown in the menu. The groups of menu items obtain their configuration from four potential sources. The highest priority source that has the menu item defined will be used. The sources in decreasing priority are: * A project file if open * The user preferences * The system filetype definitions * The defaults The detailed relationships between sources and the configurable menu item groups is shown in the following table. +--------------+---------------------+--------------------------+-------------------+-------------------------------+ | Group | Project File | Preferences | System Filetype | Defaults | +==============+=====================+==========================+===================+===============================+ | Filetype | Loads From: project | Loads From: | Loads From: | None | | | file | filetypes.xxx file in | filetypes.xxx in | | | | | ~/.config/geany/filedefs | Geany install | | | | Saves To: project | | | | | | file | Saves to: as above, | Saves to: as user | | | | | creating if needed. | preferences left. | | +--------------+---------------------+--------------------------+-------------------+-------------------------------+ | Filetype | Loads From: project | Loads From: | Loads From: | 1: | | Independent | file | geany.conf file in | filetypes.xxx in | Label: _Make | | | | ~/.config/geany | Geany install | Command: make | | | Saves To: project | | | | | | file | Saves to: as above, | Saves to: as user | 2: | | | | creating if needed. | preferences left. | Label: Make Custom _Target | | | | | | Command: make | | | | | | | | | | | | 3: | | | | | | Label: Make _Object | | | | | | Command: make %e.o | +--------------+---------------------+--------------------------+-------------------+-------------------------------+ | Execute | Loads From: project | Loads From: | Loads From: | Label: _Execute | | | file or else | geany.conf file in | filetypes.xxx in | Command: ./%e | | | filetype defined in | ~/.config/geany or else | Geany install | | | | project file | filetypes.xxx file in | | | | | | ~/.config/geany/filedefs | Saves To: as user | | | | Saves To: | | preferences left. | | | | project file | Saves To: | | | | | | filetypes.xxx file in | | | | | | ~/.config/geany/filedefs | | | +--------------+---------------------+--------------------------+-------------------+-------------------------------+ The following notes on the table reference cells by coordinate as (group,source): * General - for filetypes.xxx substitute the appropriate extension for the filetype of the current document for xxx - see `filenames`_. * System Filetypes - Labels loaded from these sources are locale sensitive and can contain translations. * (Filetype, Project File) and (Filetype, Preferences) - preferences use a full filetype file so that users can configure all other filetype preferences as well. Projects can only configure menu items per filetype. Saving in the project file means that there is only one file per project not a whole directory. * (Filetype-Independent, System Filetype) - although conceptually strange, defining filetype-independent commands in a filetype file, this provides the ability to define filetype dependent default menu items. * (Execute, Project File) and (Execute, Preferences) - the project independent execute and preferences independent execute commands can only be set by hand editing the appropriate file, see `Preferences file format`_ and `Project file format`_. Build menu commands dialog ^^^^^^^^^^^^^^^^^^^^^^^^^^ Most of the configuration of the build menu is done through the Build Menu Commands Dialog. You edit the configuration sourced from preferences in the dialog opened from the Build->Build Menu Commands item and you edit the configuration from the project in the build tab of the project preferences dialog. Both use the same form shown below. .. image:: ./images/build_menu_commands_dialog.png The dialog is divided into three sections: * Filetype build commands (selected based on the current document's filetype). * Independent build commands (available regardless of filetype). * Filetype execute commands. The filetype and independent sections also each contain a field for the regular expression used for parsing command output for error and warning messages. The columns in the first three sections allow setting of the label, command, and working directory to run the command in. An item with an empty label will not be shown in the menu. An empty working directory will default to the directory of the current document. If there is no current document then the command will not run. The dialog will always show the command selected by priority, not just the commands configured in this configuration source. This ensures that you always see what the menu item is going to do if activated. If the current source of the menu item is higher priority than the configuration source you are editing then the command will be shown in the dialog but will be insensitive (greyed out). This can't happen with the project source but can with the preferences source dialog. The clear buttons remove the definition from the configuration source you are editing. When you do this the command from the next lower priority source will be shown. To hide lower priority menu items without having anything show in the menu configure with a nothing in the label but at least one character in the command. Substitutions in commands and working directories ````````````````````````````````````````````````` The first occurrence of each of the following character sequences in each of the command and working directory fields is substituted by the items specified below before the command is run. * %d - substituted by the absolute path to the directory of the current file. * %e - substituted by the name of the current file without the extension or path. * %f - substituted by the name of the current file without the path. * %p - if a project is open, substituted by the base path from the project. * %l - substituted by the line number at the current cursor position. .. note:: If the basepath set in the project preferences is not an absolute path , then it is taken as relative to the directory of the project file. This allows a project file stored in the source tree to specify all commands and working directories relative to the tree itself, so that the whole tree including the project file, can be moved and even checked into and out of version control without having to re-configure the build menu. Build menu keyboard shortcuts ````````````````````````````` Keyboard shortcuts can be defined for the first two filetype menu items, the first three independent menu items, the first execute menu item and the fixed menu items. In the keybindings configuration dialog (see `Keybinding preferences`_) these items are identified by the default labels shown in the `Build Menu`_ section above. It is currently not possible to bind keyboard shortcuts to more than these menu items. You can also use underlines in the labels to set mnemonic characters. Old settings ```````````` The configurable Build Menu capability was introduced in Geany 0.19 and required a new section to be added to the configuration files (See `Preferences file format`_). Geany will still load older format project, preferences and filetype file settings and will attempt to map them into the new configuration format. There is not a simple clean mapping between the formats. The mapping used produces the most sensible results for the majority of cases. However, if they do not map the way you want, you may have to manually configure some settings using the Build Commands Dialog or the Build tab of the project preferences dialog. Any setting configured in either of these dialogs will override settings mapped from older format configuration files. Printing support ---------------- Since Geany 0.13 there has been printing support using GTK's printing API. The printed page(s) will look nearly the same as on your screen in Geany. Additionally, there are some options to modify the printed page(s). .. note:: The background text color is set to white, except for text with a white foreground. This allows dark color schemes to save ink when printing. You can define whether to print line numbers, page numbers at the bottom of each page and whether to print a page header on each page. This header contains the filename of the printed document, the current page number and the date and time of printing. By default, the file name of the document with full path information is added to the header. If you prefer to add only the basename of the file(without any path information) you can set it in the preferences dialog. You can also adjust the format of the date and time added to the page header. The available conversion specifiers are the same as the ones which can be used with the ANSI C strftime function. All of these settings can also be changed in the print dialog just before actual printing is done. On Unix-like systems the provided print dialog offers a print preview. The preview file is opened with a PDF viewer and by default GTK uses ``evince`` for print preview. If you have not installed evince or just want to use another PDF viewer, you can change the program to use in the file ``.gtkrc-2.0`` (usually found in your home directory). Simply add a line like:: gtk-print-preview-command = "epdfview %f" at the end of the file. Of course, you can also use xpdf, kpdf or whatever as the print preview command. Geany also provides an alternative basic printing support using a custom print command. However, the printed document contains no syntax highlighting. You can adjust the command to which the filename is passed in the preferences dialog. The default command is:: % lpr %f ``%f`` will be substituted by the filename of the current file. Geany will not show errors from the command itself, so you should make sure that it works before(e.g. by trying to execute it from the command line). A nicer example, which many prefer is:: % a2ps -1 --medium=A4 -o - %f | xfprint4 But this depends on a2ps and xfprint4. As a replacement for xfprint4, gtklp or similar programs can be used. Plugins ------- Plugins are loaded at startup, if the *Enable plugin support* general preference is set. There is also a command-line option, ``-p``, which prevents plugins being loaded. Plugins are scanned in the following directories: * ``$prefix/lib/geany`` on Unix-like systems (see `Installation prefix`_) * The ``lib`` subfolder of the installation path on Windows. * The ``plugins`` subfolder of the user configuration directory - see `Configuration file paths`_. * The `Extra plugin path` preference (usually blank) - see `Paths`_. Most plugins add menu items to the *Tools* menu when they are loaded. See also `Plugin documentation`_ for information about single plugins which are included in Geany. Plugin manager ^^^^^^^^^^^^^^ The Plugin Manager dialog lets you choose which plugins should be loaded at startup. You can also load and unload plugins on the fly using this dialog. Once you click the checkbox for a specific plugin in the dialog, it is loaded or unloaded according to its previous state. By default, no plugins are loaded at startup until you select some. You can also configure some plugin specific options if the plugin provides any. Keybindings ----------- Geany supports the default keyboard shortcuts for the Scintilla editing widget. For a list of these commands, see `Scintilla keyboard commands`_. The Scintilla keyboard shortcuts will be overridden by any custom keybindings with the same keyboard shortcut. Switching documents ^^^^^^^^^^^^^^^^^^^ There are some non-configurable bindings to switch between documents, listed below. These can also be overridden by custom keybindings. =============== ================================== Key Action =============== ================================== Alt-[1-9] Select left-most tab, from 1 to 9. Alt-0 Select right-most tab. =============== ================================== See also `Notebook tab keybindings`_. Configurable keybindings ^^^^^^^^^^^^^^^^^^^^^^^^ For all actions listed below you can define your own keybindings. Open the Preferences dialog, select the desired action and click on change. In the resulting dialog you can press the key combination you want to assign to the action and it will be saved when you press OK. You can define only one key combination for each action and each key combination can only be defined for one action. The following tables list all customizable keyboard shortcuts, those which are common to many applications are marked with (C) after the shortcut. File keybindings ```````````````` =============================== ========================= ================================================== Action Default shortcut Description =============================== ========================= ================================================== New Ctrl-N (C) Creates a new file. Open Ctrl-O (C) Opens a file. Open selected file Ctrl-Shift-O Opens the selected filename. Re-open last closed tab Re-opens the last closed document tab. Save Ctrl-S (C) Saves the current file. Save As Saves the current file under a new name. Save all Ctrl-Shift-S Saves all open files. Close all Ctrl-Shift-W Closes all open files. Close Ctrl-W (C) Closes the current file. Reload file Ctrl-R (C) Reloads the current file. Print Ctrl-P (C) Prints the current file. Quit Ctrl-Q (C) Quits Geany. =============================== ========================= ================================================== Editor keybindings `````````````````` =============================== ========================= ================================================== Action Default shortcut Description =============================== ========================= ================================================== Undo Ctrl-Z (C) Un-does the last action. Redo Ctrl-Y Re-does the last action. Delete current line(s) Ctrl-K Deletes the current line (and any lines with a selection). Delete to line end Ctrl-Shift-Delete Deletes from the current caret position to the end of the current line. Delete to line start Ctrl-Shift-BackSpace Deletes from the beginning of the line to the current caret position. Duplicate line or selection Ctrl-D Duplicates the current line or selection. Transpose current line Transposes the current line with the previous one. Scroll to current line Ctrl-Shift-L Scrolls the current line into the centre of the view. The cursor position and or an existing selection will not be changed. Scroll up by one line Alt-Up Scrolls the view. Scroll down by one line Alt-Down Scrolls the view. Complete word Ctrl-Space Shows the autocompletion list. If already showing symbol completion, it shows document word completion instead, even if it is not enabled for automatic completion. Likewise if no symbol suggestions are available, it shows document word completion. Show calltip Ctrl-Shift-Space Shows a calltip for the current function or method. Complete snippet Tab If you type a construct like if or for and press this key, it will be completed with a matching template. Suppress snippet completion If you type a construct like if or for and press this key, it will not be completed, and a space or tab will be inserted, depending on what the construct completion keybinding is set to. For example, if you have set the construct completion keybinding to space, then setting this to Shift+space will prevent construct completion and insert a space. Context Action Executes a command and passes the current word (near the cursor position) or selection as an argument. See the section called `Context actions`_. Move cursor in snippet Jumps to the next defined cursor positions in a completed snippets if multiple cursor positions where defined. Word part completion Tab When the autocompletion list is visible, complete the currently selected item up to the next word part. Move line(s) up Alt-PageUp Move the current line or selected lines up by one line. Move line(s) down Alt-PageDown Move the current line or selected lines down by one line. =============================== ========================= ================================================== Clipboard keybindings ````````````````````` =============================== ========================= ================================================== Action Default shortcut Description =============================== ========================= ================================================== Cut Ctrl-X (C) Cut the current selection to the clipboard. Copy Ctrl-C (C) Copy the current selection to the clipboard. Paste Ctrl-V (C) Paste the clipboard text into the current document. Cut current line(s) Ctrl-Shift-X Cuts the current line (and any lines with a selection) to the clipboard. Copy current line(s) Ctrl-Shift-C Copies the current line (and any lines with a selection) to the clipboard. =============================== ========================= ================================================== Select keybindings `````````````````` =============================== ========================= ================================================== Action Default shortcut Description =============================== ========================= ================================================== Select all Ctrl-A (C) Makes a selection of all text in the current document. Select current word Alt-Shift-W Selects the current word under the cursor. Select current paragraph Alt-Shift-P Selects the current paragraph under the cursor which is defined by two empty lines around it. Select current line(s) Alt-Shift-L Selects the current line under the cursor (and any partially selected lines). Select to previous word part (Extend) selection to previous word part boundary. Select to next word part (Extend) selection to next word part boundary. =============================== ========================= ================================================== Insert keybindings `````````````````` =============================== ========================= ================================================== Action Default shortcut Description =============================== ========================= ================================================== Insert date Shift-Alt-D Inserts a customisable date. Insert alternative whitespace Inserts a tab character when spaces should be used for indentation and inserts space characters of the amount of a tab width when tabs should be used for indentation. Insert New Line Before Current Inserts a new line with indentation. Insert New Line After Current Inserts a new line with indentation. =============================== ========================= ================================================== Format keybindings `````````````````` =============================== ========================= ================================================== Action Default shortcut Description =============================== ========================= ================================================== Toggle case of selection Ctrl-Alt-U Changes the case of the selection. A lowercase selection will be changed into uppercase and vice versa. If the selection contains lower- and uppercase characters, all will be converted to lowercase. Comment line Comments current line or selection. Uncomment line Uncomments current line or selection. Toggle line commentation Ctrl-E Comments a line if it is not commented or removes a comment if the line is commented. Increase indent Ctrl-I Indents the current line or selection by one tab or with spaces in the amount of the tab width setting. Decrease indent Ctrl-U Removes one tab or the amount of spaces of the tab width setting from the indentation of the current line or selection. Increase indent by one space Indents the current line or selection by one space. Decrease indent by one space Deindents the current line or selection by one space. Smart line indent Indents the current line or all selected lines with the same indentation as the previous line. Send to Custom Command 1 (2,3) Ctrl-1 (2,3) Passes the current selection to a configured external command (available for the first 9 configured commands, see `Sending text through custom commands`_ for details). Send Selection to Terminal Sends the current selection or the current line (if there is no selection) to the embedded Terminal (VTE). Reflow lines/block Reformat selected lines or current (indented) text block, breaking lines at the long line marker or the line breaking column if line breaking is enabled for the current document. =============================== ========================= ================================================== Settings keybindings ```````````````````` =============================== ========================= ================================================== Action Default shortcut Description =============================== ========================= ================================================== Preferences Ctrl-Alt-P Opens preferences dialog. Plugin Preferences Opens plugin preferences dialog. =============================== ========================= ================================================== Search keybindings `````````````````` =============================== ========================= ================================================== Action Default shortcut Description =============================== ========================= ================================================== Find Ctrl-F (C) Opens the Find dialog. Find Next Ctrl-G Finds next result. Find Previous Ctrl-Shift-G Finds previous result. Find Next Selection Finds next occurrence of selected text. Find Previous Selection Finds previous occurrence of selected text. Replace Ctrl-H (C) Opens the Replace dialog. Find in files Ctrl-Shift-F Opens the Find in files dialog. Next message Jumps to the line with the next message in the Messages window. Previous message Jumps to the line with the previous message in the Messages window. Find Usage Ctrl-Shift-E Finds all occurrences of the current word or selection (see note below) in all open documents and displays them in the messages window. Find Document Usage Ctrl-Shift-D Finds all occurrences of the current word or selection (see note below) in the current document and displays them in the messages window. Mark All Ctrl-Shift-M Highlight all matches of the current word/selection (see note below) in the current document with a colored box. If there's nothing to find, or the cursor is next to an existing match, the highlighted matches will be cleared. =============================== ========================= ================================================== .. note:: The keybindings marked "see note below" work like this: if no text is selected, the word under cursor is used, and *it has to match fully* (like when `Match only a whole word` is enabled in the Search dialog). However if some text is selected, then it is matched regardless of word boundaries. Go to keybindings ````````````````` =============================== ========================= ================================================== Action Default shortcut Description =============================== ========================= ================================================== Navigate forward a location Alt-Right (C) Switches to the next location in the navigation history. See the section called `Code Navigation History`_. Navigate back a location Alt-Left (C) Switches to the previous location in the navigation history. See the section called `Code navigation history`_. Go to line Ctrl-L Focuses the Go to Line entry (if visible) or shows the Go to line dialog. Goto matching brace Ctrl-B If the cursor is ahead or behind a brace, then it is moved to the brace which belongs to the current one. If this keyboard shortcut is pressed again, the cursor is moved back to the first brace. Toggle marker Ctrl-M Set a marker on the current line, or clear the marker if there already is one. Goto next marker Ctrl-. Goto the next marker in the current document. Goto previous marker Ctrl-, Goto the previous marker in the current document. Go to symbol definition Ctrl-T Jump to the definition of the current word or selection. See `Go to symbol definition`_. Go to symbol declaration Ctrl-Shift-T Jump to the declaration of the current word or selection. See `Go to symbol declaration`_. Go to Start of Line Home Move the caret to the start of the line. Behaves differently if smart_home_key_ is set. Go to End of Line End Move the caret to the end of the line. Go to Start of Display Line Alt-Home Move the caret to the start of the display line. This is useful when you use line wrapping and want to jump to the start of the wrapped, virtual line, not the real start of the whole line. If the line is not wrapped, it behaves like `Go to Start of Line`. Go to End of Display Line Alt-End Move the caret to the end of the display line. If the line is not wrapped, it behaves like `Go to End of Line`. Go to Previous Word Part Ctrl-/ Goto the previous part of the current word. Go to Next Word Part Ctrl-\\ Goto the next part of the current word. =============================== ========================= ================================================== View keybindings ```````````````` =============================== ========================= ================================================== Action Default shortcut Description =============================== ========================= ================================================== Fullscreen F11 (C) Switches to fullscreen mode. Toggle Messages Window Toggles the message window (status and compiler messages) on and off. Toggle Sidebar Shows or hides the sidebar. Toggle all additional widgets Hide and show all additional widgets like the notebook tabs, the toolbar, the messages window and the status bar. Zoom In Ctrl-+ (C) Zooms in the text. Zoom Out Ctrl-- (C) Zooms out the text. Zoom Reset Ctrl-0 Reset any previous zoom on the text. =============================== ========================= ================================================== Focus keybindings ````````````````` ================================ ========================= ================================================== Action Default shortcut Description ================================ ========================= ================================================== Switch to Editor F2 Switches to editor widget. Also reshows the document statistics line (after a short timeout). Switch to Search Bar F7 Switches to the search bar in the toolbar (if visible). Switch to Message Window Focus the Message Window's current tab. Switch to Compiler Focus the Compiler message window tab. Switch to Messages Focus the Messages message window tab. Switch to Scribble F6 Switches to scribble widget. Switch to VTE F4 Switches to VTE widget. Switch to Sidebar Focus the Sidebar. Switch to Sidebar Symbol List Focus the Symbol list tab in the Sidebar (if visible). Switch to Sidebar Document List Focus the Document list tab in the Sidebar (if visible). ================================ ========================= ================================================== Notebook tab keybindings ```````````````````````` =============================== ========================= ================================================== Action Default shortcut Description =============================== ========================= ================================================== Switch to left document Ctrl-PageUp (C) Switches to the previous open document. Switch to right document Ctrl-PageDown (C) Switches to the next open document. Switch to last used document Ctrl-Tab Switches to the previously shown document (if it's still open). Holding Ctrl (or another modifier if the keybinding has been changed) will show a dialog, then repeated presses of the keybinding will switch to the 2nd-last used document, 3rd-last, etc. Also known as Most-Recently-Used documents switching. Move document left Ctrl-Shift-PageUp Changes the current document with the left hand one. Move document right Ctrl-Shift-PageDown Changes the current document with the right hand one. Move document first Moves the current document to the first position. Move document last Moves the current document to the last position. =============================== ========================= ================================================== Document keybindings ```````````````````` ==================================== ==================== ================================================== Action Default shortcut Description ==================================== ==================== ================================================== Clone See `Cloning documents`_. Replace tabs with space Replaces all tabs with the right amount of spaces in the whole document, or the current selection. Replace spaces with tabs Replaces leading spaces with tab characters in the whole document, or the current selection. Toggle current fold Toggles the folding state of the current code block. Fold all Folds all contractible code blocks. Unfold all Unfolds all contracted code blocks. Reload symbol list Ctrl-Shift-R Reloads the symbol list. Toggle Line wrapping Enables or disables wrapping of long lines. Toggle Line breaking Enables or disables automatic breaking of long lines at a configurable column. Remove Markers Remove any markers on lines or words which were set by using 'Mark All' in the search dialog or by manually marking lines. Remove Error Indicators Remove any error indicators in the current document. Remove Markers and Error Indicators Combines ``Remove Markers`` and ``Remove Error Indicators``. ==================================== ==================== ================================================== Project keybindings ``````````````````` =============================== ========================= ================================================== Action Default shortcut Description =============================== ========================= ================================================== New Create a new project. Open Opens a project file. Properties Shows project properties. Close Close the current project. =============================== ========================= ================================================== Build keybindings ````````````````` =============================== ========================= ================================================== Action Default shortcut Description =============================== ========================= ================================================== Compile F8 Compiles the current file. Build F9 Builds (compiles if necessary and links) the current file. Make all Shift-F9 Builds the current file with the Make tool. Make custom target Ctrl-Shift-F9 Builds the current file with the Make tool and a given target. Make object Shift-F8 Compiles the current file with the Make tool. Next error Jumps to the line with the next error from the last build process. Previous error Jumps to the line with the previous error from the last build process. Run F5 Executes the current file in a terminal emulation. Set Build Commands Opens the build commands dialog. =============================== ========================= ================================================== Tools keybindings ````````````````` =============================== ========================= ================================================== Action Default shortcut Description =============================== ========================= ================================================== Show Color Chooser Opens the Color Chooser dialog. =============================== ========================= ================================================== Help keybindings ```````````````` =============================== ========================= ================================================== Action Default shortcut Description =============================== ========================= ================================================== Help F1 (C) Opens the manual. =============================== ========================= ================================================== Configuration files =================== .. warning:: You must use UTF-8 encoding *without BOM* for configuration files. Configuration file paths ------------------------ Geany has default configuration files installed for the system and also per-user configuration files. The system files should not normally be edited because they will be overwritten when upgrading Geany. The user configuration directory can be overridden with the ``-c`` switch, but this is not normally done. See `Command line options`_. .. note:: Any missing subdirectories in the user configuration directory will be created when Geany starts. You can check the paths Geany is using with *Help->Debug Messages*. Near the top there should be 2 lines with something like:: Geany-INFO: System data dir: /usr/share/geany Geany-INFO: User config dir: /home/username/.config/geany Paths on Unix-like systems ^^^^^^^^^^^^^^^^^^^^^^^^^^ The system path is ``$prefix/share/geany``, where ``$prefix`` is the path where Geany is installed (see `Installation prefix`_). The user configuration directory is normally: ``/home/username/.config/geany`` Paths on Windows ^^^^^^^^^^^^^^^^ The system path is the ``data`` subfolder of the installation path on Windows. The user configuration directory might vary, but on Windows XP it's: ``C:\Documents and Settings\UserName\Application Data\geany`` On Windows 7 and above you most likely will find it at: ``C:\users\UserName\Roaming\geany`` Tools menu items ---------------- There's a *Configuration files* submenu in the *Tools* menu that contains items for some of the available user configuration files. Clicking on one opens it in the editor for you to update. Geany will reload the file after you have saved it. .. note:: Other configuration files not shown here will need to be opened manually, and will not be automatically reloaded when saved. (see *Reload Configuration* below). There's also a *Reload Configuration* item which can be used if you updated one of the other configuration files, or modified or added template files. *Reload Configuration* is also necessary to update syntax highlighting colors. .. note:: Syntax highlighting colors aren't updated in open documents after saving filetypes.common as this may take a significant amount of time. Global configuration file ------------------------- System administrators can add a global configuration file for Geany which will be used when starting Geany and a user configuration file does not exist. The global configuration file is read from ``geany.conf`` in the system configuration path - see `Configuration file paths`_. It can contain any settings which are found in the usual configuration file created by Geany, but does not have to contain all settings. .. note:: This feature is mainly intended for package maintainers or system admins who want to set up Geany in a multi user environment and set some sane default values for this environment. Usually users won't need to do that. Filetype definition files ------------------------- All color definitions and other filetype specific settings are stored in the filetype definition files. Those settings are colors for syntax highlighting, general settings like comment characters or word delimiter characters as well as compiler and linker settings. See also `Configuration file paths`_. Filenames ^^^^^^^^^ Each filetype has a corresponding filetype definition file. The format for built-in filetype `Foo` is:: filetypes.foo The extension is normally just the filetype name in lower case. However there are some exceptions: =============== ========= Filetype Extension =============== ========= C++ cpp C# cs Make makefile Matlab/Octave matlab =============== ========= There is also the `special file filetypes.common`_. For `custom filetypes`_, the filename for `Foo` is different:: filetypes.Foo.conf See the link for details. System files ^^^^^^^^^^^^ The system-wide filetype configuration files can be found in the system configuration path and are called ``filetypes.$ext``, where $ext is the name of the filetype. For every filetype there is a corresponding definition file. There is one exception: ``filetypes.common`` -- this file is for general settings, which are not specific to a certain filetype. .. warning:: It is not recommended that users edit the system-wide files, because they will be overridden when Geany is updated. User files ^^^^^^^^^^ To change the settings, copy a file from the system configuration path to the subdirectory ``filedefs`` in your user configuration directory. Then you can edit the file and the changes will still be available after an update of Geany. Alternatively, you can create the file yourself and add only the settings you want to change. All missing settings will be read from the corresponding system configuration file. Custom filetypes ^^^^^^^^^^^^^^^^ At startup Geany looks for ``filetypes.*.conf`` files in the system and user filetype paths, adding any filetypes found with the name matching the '``*``' wildcard - e.g. ``filetypes.Bar.conf``. Custom filetypes are not as powerful as built-in filetypes, but support for the following has been implemented: * Recognizing and setting the filetype (after the user has manually updated the `filetype extensions`_ file). * `Filetype group membership`_. * Reading filetype settings in the ``[settings]`` section, including: * Using an existing syntax highlighting lexer (`lexer_filetype`_ key). * Using an existing tags parser (`tag_parser`_ key). * Build commands (``[build-menu]`` section). * Loading global tags files (sharing the ``tag_parser`` filetype's namespace). See `Filetype configuration`_ for details on each setting. Creating a custom filetype from an existing filetype ```````````````````````````````````````````````````` Because most filetype settings will relate to the syntax highlighting (e.g. styling, keywords, ``lexer_properties`` sections), it is best to copy an existing filetype file that uses the lexer you wish to use as the basis of a custom filetype, using the correct filename extension format shown above, e.g.:: cp filetypes.foo filetypes.Bar.conf Then add the ``lexer_filetype=Foo`` setting (if not already present) and add/adjust other settings. .. warning:: The ``[styling]`` and ``[keywords]`` sections have key names specific to each filetype/lexer. You must follow the same names - in particular, some lexers only support one keyword list, or none. Filetype configuration ^^^^^^^^^^^^^^^^^^^^^^ As well as the sections listed below, each filetype file can contain a [build-menu] section as described in `[build-menu] section`_. [styling] section ````````````````` In this section the colors for syntax highlighting are defined. The manual format is: * ``key=foreground_color;background_color;bold_flag;italic_flag`` Colors have to be specified as RGB hex values prefixed by 0x or # similar to HTML/CSS hex triplets. For example, all of the following are valid values for pure red; 0xff0000, 0xf00, #ff0000, or #f00. The values are case-insensitive but it is a good idea to use lower-case. Note that you can also use *named colors* as well by substituting the color value with the name of a color as defined in the ``[named_colors]`` section, see the `[named_colors] Section`_ for more information. Bold and italic are flags and should only be "true" or "false". If their value is something other than "true" or "false", "false" is assumed. You can omit fields to use the values from the style named ``"default"``. E.g. ``key=0xff0000;;true`` This makes the key style have red foreground text, default background color text and bold emphasis. Using a named style ******************* The second format uses a *named style* name to reference a style defined in filetypes.common. * ``key=named_style`` * ``key2=named_style2,bold,italic`` The bold and italic parts are optional, and if present are used to toggle the bold or italic flags to the opposite of the named style's flags. In contrast to style definition booleans, they are a literal ",bold,italic" and commas are used instead of semi-colons. E.g. ``key=comment,italic`` This makes the key style match the ``"comment"`` named style, but with italic emphasis. To define named styles, see the filetypes.common `[named_styles] Section`_. Reading styles from another filetype ************************************ You can automatically copy all of the styles from another filetype definition file by using the following syntax for the ``[styling]`` group:: [styling=Foo] Where Foo is a filetype name. The corresponding ``[styling]`` section from ``filetypes.foo`` will be read. This is useful when the same lexer is being used for multiple filetypes (e.g. C/C++/C#/Java/etc). For example, to make the C++ styling the same as the C styling, you would put the following in ``filetypes.cpp``:: [styling=C] [keywords] section `````````````````` This section contains keys for different keyword lists specific to the filetype. Some filetypes do not support keywords, so adding a new key will not work. You can only add or remove keywords to/from an existing list. .. important:: The keywords list must be in one line without line ending characters. [lexer_properties] section `````````````````````````` Here any special properties for the Scintilla lexer can be set in the format ``key.name.field=some.value``. Properties Geany uses are listed in the system filetype files. To find other properties you need Geany's source code:: egrep -o 'GetProperty\w*\("([^"]+)"[^)]+\)' scintilla/Lex*.cxx [settings] section `````````````````` extension This is the default file extension used when saving files, not including the period character (``.``). The extension used should match one of the patterns associated with that filetype (see `Filetype extensions`_). *Example:* ``extension=cxx`` wordchars These characters define word boundaries when making selections and searching using word matching options. *Example:* (look at system filetypes.\* files) .. note:: This overrides the *wordchars* filetypes.common setting, and has precedence over the *whitespace_chars* setting. comment_single A character or string which is used to comment code. If you want to use multiline comments only, don't set this but rather comment_open and comment_close. Single-line comments are used in priority over multiline comments to comment a line, e.g. with the `Comment/Uncomment line` command. *Example:* ``comment_single=//`` comment_open A character or string which is used to comment code. You need to also set comment_close to really use multiline comments. If you want to use single-line comments, prefer setting comment_single. Multiline comments are used in priority over single-line comments to comment a block, e.g. template comments. *Example:* ``comment_open=/*`` comment_close If multiline comments are used, this is the character or string to close the comment. *Example:* ``comment_close=*/`` comment_use_indent Set this to false if a comment character or string should start at column 0 of a line. If set to true it uses any indentation of the line. Note: Comment indentation ``comment_use_indent=true`` would generate this if a line is commented (e.g. with Ctrl-D):: #command_example(); ``comment_use_indent=false`` would generate this if a line is commented (e.g. with Ctrl-D):: # command_example(); Note: This setting only works for single line comments (like '//', '#' or ';'). *Example:* ``comment_use_indent=true`` context_action_cmd A command which can be executed on the current word or the current selection. Example usage: Open the API documentation for the current function call at the cursor position. The command can be set for every filetype or if not set, a global command will be used. The command itself can be specified without the full path, then it is searched in $PATH. But for security reasons, it is recommended to specify the full path to the command. The wildcard %s will be replaced by the current word at the cursor position or by the current selection. Hint: for PHP files the following could be quite useful: context_action_cmd=firefox "http://www.php.net/%s" *Example:* ``context_action_cmd=devhelp -s "%s"`` .. _tag_parser: tag_parser The TagManager language name, e.g. "C". Usually the same as the filetype name. .. _lexer_filetype: lexer_filetype A filetype name to setup syntax highlighting from another filetype. This must not be recursive, i.e. it should be a filetype name that doesn't use the *lexer_filetype* key itself, e.g.:: lexer_filetype=C #lexer_filetype=C++ The second line is wrong, because ``filetypes.cpp`` itself uses ``lexer_filetype=C``, which would be recursive. symbol_list_sort_mode What the default symbol list sort order should be. ===== ======================================== Value Meaning ===== ======================================== 0 Sort symbols by name 1 Sort symbols by appearance (line number) ===== ======================================== .. _xml_indent_tags: xml_indent_tags If this setting is set to *true*, a new line after a line ending with an unclosed XML/HTML tag will be automatically indented. This only applies to filetypes for which the HTML or XML lexer is used. Such filetypes have this setting in their system configuration files. mime_type The MIME type for this file type, e.g. "text/x-csrc". This is used for example to chose the icon to display for this file type. [indentation] section ````````````````````` This section allows definition of default indentation settings specific to the file type, overriding the ones configured in the preferences. This can be useful for file types requiring specific indentation settings (e.g. tabs only for Makefile). These settings don't override auto-detection if activated. width The forced indentation width. type The forced indentation type. ===== ======================= Value Indentation type ===== ======================= 0 Spaces only 1 Tabs only 2 Mixed (tabs and spaces) ===== ======================= [build_settings] section ```````````````````````` As of Geany 0.19 this section is supplemented by the `[build-menu] section`_. Values that are set in the [build-menu] section will override those in this section. error_regex This is a Perl-compatible regular expression (PCRE) to parse a filename (absolute or relative) and line number from the build output. If undefined, Geany will fall back to its default error message parsing. Only the first two match groups will be read by Geany. These groups can occur in any order: the match group consisting of only digits will be used as the line number, and the other group as the filename. In no group consists of only digits, the match will fail. *Example:* ``error_regex=^(.+):([0-9]+):[0-9]+`` This will parse a message such as: ``test.py:7:24: E202 whitespace before ']'`` **Build commands** If any build menu item settings have been configured in the Build Menu Commands dialog or the Build tab of the project preferences dialog then these settings are stored in the [build-menu] section and override the settings in this section for that item. compiler This item specifies the command to compile source code files. But it is also possible to use it with interpreted languages like Perl or Python. With these filetypes you can use this option as a kind of syntax parser, which sends output to the compiler message window. You should quote the filename to also support filenames with spaces. The following wildcards for filenames are available: * %f -- complete filename without path * %e -- filename without path and without extension *Example:* ``compiler=gcc -Wall -c "%f"`` linker This item specifies the command to link the file. If the file is not already compiled, it will be compiled while linking. The -o option is automatically added by Geany. This item works well with GNU gcc, but may be problematic with other compilers (esp. with the linker). *Example:* ``linker=gcc -Wall "%f"`` run_cmd Use this item to execute your file. It has to have been built already. Use the %e wildcard to have only the name of the executable (i.e. without extension) or use the %f wildcard if you need the complete filename, e.g. for shell scripts. *Example:* ``run_cmd="./%e"`` Special file filetypes.common ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ There is a special filetype definition file called filetypes.common. This file defines some general non-filetype-specific settings. You can open the user filetypes.common with the *Tools->Configuration Files->filetypes.common* menu item. This adds the default settings to the user file if the file doesn't exist. Alternatively the file can be created manually, adding only the settings you want to change. All missing settings will be read from the system file. .. note:: See the `Filetype configuration`_ section for how to define styles. [named_styles] section `````````````````````` Named styles declared here can be used in the [styling] section of any filetypes.* file. For example: *In filetypes.common*:: [named_styles] foo=0xc00000;0xffffff;false;true bar=foo *In filetypes.c*:: [styling] comment=foo This saves copying and pasting the whole style definition into several different files. .. note:: You can define aliases for named styles, as shown with the ``bar`` entry in the above example, but they must be declared after the original style. [named_colors] section `````````````````````` Named colors declared here can be used in the ``[styling]`` or ``[named_styles]`` section of any filetypes.* file or color scheme. For example:: [named_colors] my_red_color=#FF0000 my_blue_color=#0000FF [named_styles] foo=my_red_color;my_blue_color;false;true This allows to define a color palette by name so that to change a color scheme-wide only involves changing the hex value in a single location. [styling] section ````````````````` default This is the default style. It is used for styling files without a filetype set. *Example:* ``default=0x000000;0xffffff;false;false`` selection The style for coloring selected text. The format is: * Foreground color * Background color * Use foreground color * Use background color The colors are only set if the 3rd or 4th argument is true. When the colors are not overridden, the default is a dark grey background with syntax highlighted foreground text. *Example:* ``selection=0xc0c0c0;0x00007F;true;true`` brace_good The style for brace highlighting when a matching brace was found. *Example:* ``brace_good=0xff0000;0xFFFFFF;true;false`` brace_bad The style for brace highlighting when no matching brace was found. *Example:* ``brace_bad=0x0000ff;0xFFFFFF;true;false`` caret The style for coloring the caret(the blinking cursor). Only first and third argument is interpreted. Set the third argument to true to change the caret into a block caret. *Example:* ``caret=0x000000;0x0;false;false`` caret_width The width for the caret(the blinking cursor). Only the first argument is interpreted. The width is specified in pixels with a maximum of three pixel. Use the width 0 to make the caret invisible. *Example:* ``caret_width=3`` current_line The style for coloring the background of the current line. Only the second and third arguments are interpreted. The second argument is the background color. Use the third argument to enable or disable background highlighting for the current line (has to be true/false). *Example:* ``current_line=0x0;0xe5e5e5;true;false`` indent_guide The style for coloring the indentation guides. Only the first and second arguments are interpreted. *Example:* ``indent_guide=0xc0c0c0;0xffffff;false;false`` white_space The style for coloring the white space if it is shown. The first both arguments define the foreground and background colors, the third argument sets whether to use the defined foreground color or to use the color defined by each filetype for the white space. The fourth argument defines whether to use the background color. *Example:* ``white_space=0xc0c0c0;0xffffff;true;true`` margin_linenumber Line number margin foreground and background colors. .. _Folding Settings: margin_folding Fold margin foreground and background colors. fold_symbol_highlight Highlight color of folding symbols. folding_style The style of folding icons. Only first and second arguments are used. Valid values for the first argument are: * 1 -- for boxes * 2 -- for circles * 3 -- for arrows * 4 -- for +/- Valid values for the second argument are: * 0 -- for no lines * 1 -- for straight lines * 2 -- for curved lines *Default:* ``folding_style=1;1;`` *Arrows:* ``folding_style=3;0;`` folding_horiz_line Draw a thin horizontal line at the line where text is folded. Only first argument is used. Valid values for the first argument are: * 0 -- disable, do not draw a line * 1 -- draw the line above folded text * 2 -- draw the line below folded text *Example:* ``folding_horiz_line=0;0;false;false`` line_wrap_visuals First argument: drawing of visual flags to indicate a line is wrapped. This is a bitmask of the values: * 0 -- No visual flags * 1 -- Visual flag at end of subline of a wrapped line * 2 -- Visual flag at begin of subline of a wrapped line. Subline is indented by at least 1 to make room for the flag. Second argument: wether the visual flags to indicate a line is wrapped are drawn near the border or near the text. This is a bitmask of the values: * 0 -- Visual flags drawn near border * 1 -- Visual flag at end of subline drawn near text * 2 -- Visual flag at begin of subline drawn near text Only first and second arguments are interpreted. *Example:* ``line_wrap_visuals=3;0;false;false`` line_wrap_indent First argument: sets the size of indentation of sublines for wrapped lines in terms of the width of a space, only used when the second argument is ``0``. Second argument: wrapped sublines can be indented to the position of their first subline or one more indent level. Possible values: * 0 - Wrapped sublines aligned to left of window plus amount set by the first argument * 1 - Wrapped sublines are aligned to first subline indent (use the same indentation) * 2 - Wrapped sublines are aligned to first subline indent plus one more level of indentation Only first and second arguments are interpreted. *Example:* ``line_wrap_indent=0;1;false;false`` translucency Translucency for the current line (first argument) and the selection (second argument). Values between 0 and 256 are accepted. Note for Windows 95, 98 and ME users: keep this value at 256 to disable translucency otherwise Geany might crash. Only the first and second arguments are interpreted. *Example:* ``translucency=256;256;false;false`` marker_line The style for a highlighted line (e.g when using Goto line or goto symbol). The foreground color (first argument) is only used when the Markers margin is enabled (see View menu). Only the first and second arguments are interpreted. *Example:* ``marker_line=0x000000;0xffff00;false;false`` marker_search The style for a marked search results (when using "Mark" in Search dialogs). The second argument sets the background color for the drawn rectangle. Only the second argument is interpreted. *Example:* ``marker_search=0x000000;0xb8f4b8;false;false`` marker_mark The style for a marked line (e.g when using the "Toggle Marker" keybinding (Ctrl-M)). The foreground color (first argument) is only used when the Markers margin is enabled (see View menu). Only the first and second arguments are interpreted. *Example:* ``marker_mark=0x000000;0xb8f4b8;false;false`` marker_translucency Translucency for the line marker (first argument) and the search marker (second argument). Values between 0 and 256 are accepted. Note for Windows 95, 98 and ME users: keep this value at 256 to disable translucency otherwise Geany might crash. Only the first and second arguments are interpreted. *Example:* ``marker_translucency=256;256;false;false`` line_height Amount of space to be drawn above and below the line's baseline. The first argument defines the amount of space to be drawn above the line, the second argument defines the amount of space to be drawn below. Only the first and second arguments are interpreted. *Example:* ``line_height=0;0;false;false`` calltips The style for coloring the calltips. The first two arguments define the foreground and background colors, the third and fourth arguments set whether to use the defined colors. *Example:* ``calltips=0xc0c0c0;0xffffff;false;false`` indicator_error The color of the error indicator. Only the first argument (foreground color) is used. *Example:* ``indicator_error=0xff0000`` [settings] section `````````````````` whitespace_chars Characters to treat as whitespace. These characters are ignored when moving, selecting and deleting across word boundaries (see `Scintilla keyboard commands`_). This should include space (\\s) and tab (\\t). *Example:* ``whitespace_chars=\s\t!\"#$%&'()*+,-./:;<=>?@[\\]^`{|}~`` wordchars These characters define word boundaries when making selections and searching using word matching options. *Example:* ``wordchars=_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789`` .. note:: This has precedence over the *whitespace_chars* setting. Filetype extensions ------------------- .. note:: To change the default filetype extension used when saving a new file, see `Filetype definition files`_. You can override the list of file extensions that Geany uses to detect filetypes using the user ``filetype_extensions.conf`` file. Use the *Tools->Configuration Files->filetype_extensions.conf* menu item. See also `Configuration file paths`_. You should only list lines for filetype extensions that you want to override in the user configuration file and remove or comment out others. The patterns are listed after the ``=`` sign, using a semi-colon separated list of patterns which should be matched for that filetype. For example, to override the filetype extensions for Make, the file should look like:: [Extensions] Make=Makefile*;*.mk;Buildfile; Filetype group membership ^^^^^^^^^^^^^^^^^^^^^^^^^ Group membership is also stored in ``filetype_extensions.conf``. This file is used to store information Geany needs at startup, whereas the separate filetype definition files hold information only needed when a document with their filetype is used. The format looks like:: [Groups] Programming=C;C++; Script=Perl;Python; Markup=HTML;XML; Misc=Diff;Conf; None=None; The key names cannot be configured. .. note:: Group membership is only read at startup. Preferences file format ----------------------- The user preferences file ``geany.conf`` holds settings for all the items configured in the preferences dialog. This file should not be edited while Geany is running as the file will be overwritten when the preferences in Geany are changed or Geany is quit. [build-menu] section ^^^^^^^^^^^^^^^^^^^^ The [build-menu] section contains the configuration of the build menu. This section can occur in filetype, preferences and project files and always has the format described here. Different menu items are loaded from different files, see the table in the `Build Menu Configuration`_ section for details. All the settings can be configured from the dialogs except the execute command in filetype files and filetype definitions in the project file, so these are the only ones which need hand editing. The build-menu section stores one entry for each setting for each menu item that is configured. The keys for these settings have the format: ``GG_NN_FF`` where: * GG - is the menu item group, - FT for filetype - NF for independent (non-filetype) - EX for execute * NN - is a two decimal digit number of the item within the group, starting at 00 * FF - is the field, - LB for label - CM for command - WD for working directory Project file format ------------------- The project file contains project related settings and possibly a record of the current session files. [build-menu] additions ^^^^^^^^^^^^^^^^^^^^^^ The project file also can have extra fields in the [build-menu] section in addition to those listed in `[build-menu] section`_ above. When filetype menu items are configured for the project they are stored in the project file. The ``filetypes`` entry is a list of the filetypes which exist in the project file. For each filetype the entries for that filetype have the format defined in `[build-menu] section`_ but the key is prefixed by the name of the filetype as it appears in the ``filetypes`` entry, eg the entry for the label of filetype menu item 0 for the C filetype would be ``CFT_00_LB=Label`` Templates --------- Geany supports the following templates: * ChangeLog entry * File header * Function description * Short GPL notice * Short BSD notice * File templates To use these templates, just open the Edit menu or open the popup menu by right-clicking in the editor widget, and choose "Insert Comments" and insert templates as you want. Some templates (like File header or ChangeLog entry) will always be inserted at the top of the file. To insert a function description, the cursor must be inside of the function, so that the function name can be determined automatically. The description will be positioned correctly one line above the function, just check it out. If the cursor is not inside of a function or the function name cannot be determined, the inserted function description won't contain the correct function name but "unknown" instead. .. note:: Geany automatically reloads template information when it notices you save a file in the user's template configuration directory. You can also force this by selecting *Tools->Reload Configuration*. Template meta data ^^^^^^^^^^^^^^^^^^ Meta data can be used with all templates, but by default user set meta data is only used for the ChangeLog and File header templates. In the configuration dialog you can find a tab "Templates" (see `Template preferences`_). You can define the default values which will be inserted in the templates. File templates ^^^^^^^^^^^^^^ File templates are templates used as the basis of a new file. To use them, choose the *New (with Template)* menu item from the *File* menu. By default, file templates are installed for some filetypes. Custom file templates can be added by creating the appropriate template file. You can also edit the default file templates. The file's contents are just the text to place in the document, with optional template wildcards like ``{fileheader}``. The fileheader wildcard can be placed anywhere, but it's usually put on the first line of the file, followed by a blank line. Adding file templates ````````````````````` File templates are read from ``templates/files`` under the `Configuration file paths`_. The filetype to use is detected from the template file's extension, if any. For example, creating a file ``module.c`` would add a menu item which created a new document with the filetype set to 'C'. The template file is read from disk when the corresponding menu item is clicked. Customizing templates ^^^^^^^^^^^^^^^^^^^^^ Each template can be customized to your needs. The templates are stored in the ``~/.config/geany/templates/`` directory (see the section called `Command line options`_ for further information about the configuration directory). Just open the desired template with an editor (ideally, Geany ;-) ) and edit the template to your needs. There are some wildcards which will be automatically replaced by Geany at startup. Template wildcards `````````````````` All wildcards must be enclosed by "{" and "}", e.g. {date}. **Wildcards for character escaping** ============== ============================================= ======================================= Wildcard Description Available in ============== ============================================= ======================================= ob { Opening Brace (used to prevent other file templates, file header, snippets. wildcards being expanded). cb } Closing Brace. file templates, file header, snippets. pc \% Percent (used to escape e.g. %block% in snippets). snippets. ============== ============================================= ======================================= **Global wildcards** These are configurable, see `Template preferences`_. ============== ============================================= ======================================= Wildcard Description Available in ============== ============================================= ======================================= developer The name of the developer. file templates, file header, function description, ChangeLog entry, bsd, gpl, snippets. initial The developer's initials, e.g. "ET" for file templates, file header, Enrico Tröger or "JFD" for John Foobar Doe. function description, ChangeLog entry, bsd, gpl, snippets. mail The email address of the developer. file templates, file header, function description, ChangeLog entry, bsd, gpl, snippets. company The company the developer is working for. file templates, file header, function description, ChangeLog entry, bsd, gpl, snippets. version The initial version of a new file. file templates, file header, function description, ChangeLog entry, bsd, gpl, snippets. ============== ============================================= ======================================= **Date & time wildcards** The format for these wildcards can be changed in the preferences dialog, see `Template preferences`_. You can use any conversion specifiers which can be used with the ANSI C strftime function. For details please see http://man.cx/strftime. ============== ============================================= ======================================= Wildcard Description Available in ============== ============================================= ======================================= year The current year. Default format is: YYYY. file templates, file header, function description, ChangeLog entry, bsd, gpl, snippets. date The current date. Default format: file templates, file header, YYYY-MM-DD. function description, ChangeLog entry, bsd, gpl, snippets. datetime The current date and time. Default format: file templates, file header, DD.MM.YYYY HH:mm:ss ZZZZ. function description, ChangeLog entry, bsd, gpl, snippets. ============== ============================================= ======================================= **Dynamic wildcards** ============== ============================================= ======================================= Wildcard Description Available in ============== ============================================= ======================================= untitled The string "untitled" (this will be file templates, file header, translated to your locale), used in function description, ChangeLog entry, file templates. bsd, gpl, snippets. geanyversion The actual Geany version, e.g. file templates, file header, "Geany |(version)|". function description, ChangeLog entry, bsd, gpl, snippets. filename The filename of the current file. file header, snippets, file For new files, it's only replaced when templates. first saving if found on the first 4 lines of the file. project The current project's name, if any. file header, snippets, file templates. description The current project's description, if any. file header, snippets, file templates. functionname The function name of the function at the function description. cursor position. This wildcard will only be replaced in the function description template. command:path Executes the specified command and replace file templates, file header, the wildcard with the command's standard function description, ChangeLog entry, output. See `Special {command:} wildcard`_ bsd, gpl, snippets. for details. ============== ============================================= ======================================= **Template insertion wildcards** ============== ============================================= ======================================= Wildcard Description Available in ============== ============================================= ======================================= gpl This wildcard inserts a short GPL notice. file header. bsd This wildcard inserts a BSD licence notice. file header. fileheader The file header template. This wildcard snippets, file templates. will only be replaced in file templates. ============== ============================================= ======================================= Special {command:} wildcard *************************** The {command:} wildcard is a special one because it can execute a specified command and put the command's output (stdout) into the template. Example:: {command:uname -a} will result in:: Linux localhost 2.6.9-023stab046.2-smp #1 SMP Mon Dec 10 15:04:55 MSK 2007 x86_64 GNU/Linux Using this wildcard you can insert nearly any arbitrary text into the template. In the environment of the executed command the variables ``GEANY_FILENAME``, ``GEANY_FILETYPE`` and ``GEANY_FUNCNAME`` are set. The value of these variables is filled in only if Geany knows about it. For example, ``GEANY_FUNCNAME`` is only filled within the function description template. However, these variables are ``always`` set, just maybe with an empty value. You can easily access them e.g. within an executed shell script using:: $GEANY_FILENAME .. note:: If the specified command could not be found or not executed, the wildcard is substituted by an empty string. In such cases, you can find the occurred error message on Geany's standard error and in the Help->Debug Messages dialog. Customizing the toolbar ----------------------- You can add, remove and reorder the elements in the toolbar by using the toolbar editor, or by manually editing the configuration file ``ui_toolbar.xml``. The toolbar editor can be opened from the preferences editor on the Toolbar tab or by right-clicking on the toolbar itself and choosing it from the menu. Manually editing the toolbar layout ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ To override the system-wide configuration file, copy it to your user configuration directory (see `Configuration file paths`_). For example:: % cp /usr/local/share/geany/ui_toolbar.xml /home/username/.config/geany/ Then edit it and add any of the available elements listed in the file or remove any of the existing elements. Of course, you can also reorder the elements as you wish and add or remove additional separators. This file must be valid XML, otherwise the global toolbar UI definition will be used instead. Your changes are applied once you save the file. .. note:: (1) You cannot add new actions which are not listed below. (2) Everything you add or change must be inside the /ui/toolbar/ path. Available toolbar elements ^^^^^^^^^^^^^^^^^^^^^^^^^^ ================== ============================================================================== Element name Description ================== ============================================================================== New Create a new file Open Open an existing file Save Save the current file SaveAll Save all open files Reload Reload the current file from disk Close Close the current file CloseAll Close all open files Print Print the current file Cut Cut the current selection Copy Copy the current selection Paste Paste the contents of the clipboard Delete Delete the current selection Undo Undo the last modification Redo Redo the last modification NavBack Navigate back a location NavFor Navigate forward a location Compile Compile the current file Build Build the current file, includes a submenu for Make commands. Geany remembers the last chosen action from the submenu and uses this as default action when the button itself is clicked. Run Run or view the current file Color Open a color chooser dialog, to interactively pick colors from a palette ZoomIn Zoom in the text ZoomOut Zoom out the text UnIndent Decrease indentation Indent Increase indentation Replace Replace text in the current document SearchEntry The search field belonging to the 'Search' element (can be used alone) Search Find the entered text in the current file (only useful if you also use 'SearchEntry') GotoEntry The goto field belonging to the 'Goto' element (can be used alone) Goto Jump to the entered line number (only useful if you also use 'GotoEntry') Preferences Show the preferences dialog Quit Quit Geany ================== ============================================================================== Plugin documentation ==================== HTML Characters --------------- The HTML Characters plugin helps when working with special characters in XML/HTML, e.g. German Umlauts ü and ä. Insert entity dialog ^^^^^^^^^^^^^^^^^^^^ When the plugin is enabled, you can insert special character entities using *Tools->Insert Special HTML Characters*. This opens up a dialog where you can find a huge amount of special characters sorted by category that you might like to use inside your document. You can expand and collapse the categories by clicking on the little arrow on the left hand side. Once you have found the desired character click on it and choose "Insert". This will insert the entity for the character at the current cursor position. You might also like to double click the chosen entity instead. Replace special chars by its entity ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ To help make a XML/HTML document valid the plugin supports replacement of special chars known by the plugin. Both bulk replacement and immediate replacement during typing are supported. A few characters will not be replaced. These are * " * & * < * > * (` `) At typing time `````````````` You can activate/deactivate this feature using the *Tools->HTML Replacement->Auto-replace Special Characters* menu item. If it's activated, all special characters (beside the given exceptions from above) known by the plugin will be replaced by their entities. You could also set a keybinding for the plugin to toggle the status of this feature. Bulk replacement ```````````````` After inserting a huge amount of text, e.g. by using copy & paste, the plugin allows bulk replacement of all known characters (beside the mentioned exceptions). You can find the function under the same menu at *Tools->HTML Replacement->Replace Characters in Selection*, or configure a keybinding for the plugin. Save Actions ------------ Auto Save ^^^^^^^^^ This plugin provides an option to automatically save documents. You can choose to save the current document, or all of your documents, at a given delay. Save on focus out ^^^^^^^^^^^^^^^^^ You can save the current document when the editor's focus goes out. Every pop-up, menu dialogs, or anything else that can make the editor lose the focus, will make the current document to be saved. Instant Save ^^^^^^^^^^^^ This plugin sets on every new file (*File->New* or *File->New (with template)*) a randomly chosen filename and set its filetype appropriate to the used template or when no template was used, to a configurable default filetype. This enables you to quickly compile, build and/or run the new file without the need to give it an explicit filename using the Save As dialog. This might be useful when you often create new files just for testing some code or something similar. Backup Copy ^^^^^^^^^^^ This plugin creates a backup copy of the current file in Geany when it is saved. You can specify the directory where the backup copy is saved and you can configure the automatically added extension in the configure dialog in Geany's plugin manager. After the plugin was loaded in Geany's plugin manager, every file is copied into the configured backup directory *after* the file has been saved in Geany. The created backup copy file permissions are set to read-write only for the user. This should help to not create world-readable files on possibly unsecure destination directories like /tmp (especially useful on multi-user systems). This applies only to non-Windows systems. On Windows, no explicit file permissions are set. Additionally, you can define how many levels of the original file's directory structure should be replicated in the backup copy path. For example, setting the option *Directory levels to include in the backup destination* to *2* cause the plugin to create the last two components of the original file's path in the backup copy path and place the new file there. Contributing to this document ============================= This document (``geany.txt``) is written in `reStructuredText`__ (or "reST"). The source file for it is located in Geany's ``doc`` subdirectory. If you intend on making changes, you should grab the source right from Git to make sure you've got the newest version. First, you need to configure the build system to generate the HTML documentation passing the *--enable-html-docs* option to the *configure* script. Then after editing the file, run ``make`` (from the root build directory or from the *doc* subdirectory) to build the HTML documentation and see how your changes look. This regenerates the ``geany.html`` file inside the *doc* subdirectory. To generate a PDF file, configure with *--enable-pdf-docs* and run ``make`` as for the HTML version. The generated PDF file is named geany-|(version)|.pdf and is located inside the *doc* subdirectory. __ http://docutils.sourceforge.net/rst.html After you are happy with your changes, create a patch e.g. by using:: % git diff geany.txt > foo.patch or even better, by creating a Git-formatted patch which will keep authoring and description data, by first committing your changes (doing so in a fresh new branch is recommended for `master` not to diverge from upstream) and then using git format-patch:: % git checkout -b my-documentation-changes # create a fresh branch % git commit geany.txt Write a good commit message... % git format-patch HEAD^ % git checkout master # go back to master and then submit that file to the mailing list for review. Also you can clone the Geany repository at GitHub and send a pull request. Note, you will need the Python docutils software package installed to build the docs. The package is named ``python-docutils`` on Debian and Fedora systems. Scintilla keyboard commands =========================== Copyright © 1998, 2006 Neil Hodgson This appendix is distributed under the terms of the License for Scintilla and SciTE. A copy of this license can be found in the file ``scintilla/License.txt`` included with the source code of this program and in the appendix of this document. See `License for Scintilla and SciTE`_. 20 June 2006 Keyboard commands ----------------- Keyboard commands for Scintilla mostly follow common Windows and GTK+ conventions. All move keys (arrows, page up/down, home and end) allows to extend or reduce the stream selection when holding the Shift key, and the rectangular selection when holding the appropriate keys (see `Column mode editing (rectangular selections)`_). Some keys may not be available with some national keyboards or because they are taken by the system such as by a window manager or GTK. Keyboard equivalents of menu commands are listed in the menus. Some less common commands with no menu equivalent are: ============================================= ====================== Action Shortcut key ============================================= ====================== Magnify text size. Ctrl-Keypad+ Reduce text size. Ctrl-Keypad- Restore text size to normal. Ctrl-Keypad/ Indent block. Tab Dedent block. Shift-Tab Delete to start of word. Ctrl-BackSpace Delete to end of word. Ctrl-Delete Delete to start of line. Ctrl-Shift-BackSpace Go to start of document. Ctrl-Home Extend selection to start of document. Ctrl-Shift-Home Go to start of display line. Alt-Home Extend selection to start of display line. Alt-Shift-Home Go to end of document. Ctrl-End Extend selection to end of document. Ctrl-Shift-End Extend selection to end of display line. Alt-Shift-End Previous paragraph. Shift extends selection. Ctrl-Up Next paragraph. Shift extends selection. Ctrl-Down Previous word. Shift extends selection. Ctrl-Left Next word. Shift extends selection. Ctrl-Right ============================================= ====================== Tips and tricks =============== Document notebook ----------------- * Double-click on empty space in the notebook tab bar to open a new document. * Middle-click on a document's notebook tab to close the document. * Hold `Ctrl` and click on any notebook tab to switch to the last used document. * Double-click on a document's notebook tab to toggle all additional widgets (to show them again use the View menu or the keyboard shortcut). The interface pref must be enabled for this to work. Editor ------ * Alt-scroll wheel moves up/down a page. * Ctrl-scroll wheel zooms in/out. * Shift-scroll wheel scrolls 8 characters right/left. * Ctrl-click on a word in a document to perform *Go to Symbol Definition*. * Ctrl-click on a bracket/brace to perform *Go to Matching Brace*. Interface --------- * Double-click on a symbol-list group to expand or compact it. GTK-related ----------- * Scrolling the mouse wheel over a notebook tab bar will switch notebook pages. The following are derived from X-Windows features (but GTK still supports them on Windows): * Middle-click pastes the last selected text. * Middle-click on a scrollbar moves the scrollbar to that position without having to drag it. Compile-time options ==================== There are some options which can only be changed at compile time, and some options which are used as the default for configurable options. To change these options, edit the appropriate source file in the ``src`` subdirectory. Look for a block of lines starting with ``#define GEANY_*``. Any definitions which are not listed here should not be changed. .. note:: Most users should not need to change these options. src/geany.h ----------- ============================== ============================================ ================== Option Description Default ============================== ============================================ ================== GEANY_STRING_UNTITLED A string used as the default name for new untitled files. Be aware that the string can be translated, so change it only if you know what you are doing. GEANY_WINDOW_MINIMAL_WIDTH The minimal width of the main window. 620 GEANY_WINDOW_MINIMAL_HEIGHT The minimal height of the main window. 440 GEANY_WINDOW_DEFAULT_WIDTH The default width of the main window at the 900 first start. GEANY_WINDOW_DEFAULT_HEIGHT The default height of the main window at the 600 first start. **Windows specific** GEANY_USE_WIN32_DIALOG Set this to 1 if you want to use the default 0 Windows file open and save dialogs instead GTK's file open and save dialogs. The default Windows file dialogs are missing some nice features like choosing a filetype or an encoding. *Do not touch this setting when building on a non-Win32 system.* ============================== ============================================ ================== project.h --------- ============================== ============================================ ================== Option Description Default ============================== ============================================ ================== GEANY_PROJECT_EXT The default filename extension for Geany geany project files. It is used when creating new projects and as filter mask for the project open dialog. ============================== ============================================ ================== filetypes.c ----------- ============================== ============================================ ================== Option Description Default ============================== ============================================ ================== GEANY_FILETYPE_SEARCH_LINES The number of lines to search for the 2 filetype with the extract filetype regex. ============================== ============================================ ================== editor.h -------- ============================== ============================================ ================== Option Description Default ============================== ============================================ ================== GEANY_WORDCHARS These characters define word boundaries when a string with: making selections and searching using word a-z, A-Z, 0-9 and matching options. underscore. ============================== ============================================ ================== keyfile.c --------- These are default settings that can be overridden in the `Preferences`_ dialog. ============================== ============================================ ================== Option Description Default ============================== ============================================ ================== GEANY_MIN_SYMBOLLIST_CHARS How many characters you need to type to 4 trigger the autocompletion list. GEANY_DISK_CHECK_TIMEOUT Time in seconds between checking a file for 30 external changes. GEANY_DEFAULT_TOOLS_MAKE The make tool. This can also include a path. "make" GEANY_DEFAULT_TOOLS_TERMINAL A terminal emulator command, see See below. `Terminal emulators`_. GEANY_DEFAULT_TOOLS_BROWSER A web browser. This can also include a path. "firefox" GEANY_DEFAULT_TOOLS_PRINTCMD A printing tool. It should be able to accept "lpr" and process plain text files. This can also include a path. GEANY_DEFAULT_TOOLS_GREP A grep tool. It should be compatible with "grep" GNU grep. This can also include a path. GEANY_DEFAULT_MRU_LENGTH The length of the "Recent files" list. 10 GEANY_DEFAULT_FONT_SYMBOL_LIST The font used in sidebar to show symbols and "Sans 9" open files. GEANY_DEFAULT_FONT_MSG_WINDOW The font used in the messages window. "Sans 9" GEANY_DEFAULT_FONT_EDITOR The font used in the editor window. "Monospace 10" GEANY_TOGGLE_MARK A string which is used to mark a toggled "~ " comment. GEANY_MAX_AUTOCOMPLETE_WORDS How many autocompletion suggestions should 30 Geany provide. GEANY_DEFAULT_FILETYPE_REGEX The default regex to extract filetypes from See below. files. ============================== ============================================ ================== The GEANY_DEFAULT_FILETYPE_REGEX default value is -\\*-\\s*([^\\s]+)\\s*-\\*- which finds Emacs filetypes. The GEANY_DEFAULT_TOOLS_TERMINAL default value on Windows is:: cmd.exe /Q /C %c and on any non-Windows system is:: xterm -e "/bin/sh %c" build.c ------- ============================== ============================================ ================== Option Description Default ============================== ============================================ ================== GEANY_BUILD_ERR_HIGHLIGHT_MAX Amount of build error indicators to 50 be shown in the editor window. This affects the special coloring when Geany detects a compiler output line as an error message and then highlights the corresponding line in the source code. Usually only the first few messages are interesting because following errors are just after-effects. All errors in the Compiler window are parsed and unaffected by this value. PRINTBUILDCMDS Every time a build menu item priority FALSE calculation is run, print the state of the menu item table in the form of the table in `Build Menu Configuration`_. May be useful to debug configuration file overloading. Warning produces a lot of output. Can also be enabled/disabled by the debugger by setting printbuildcmds to 1/0 overriding the compile setting. ============================== ============================================ ================== GNU General Public License ========================== :: GNU GENERAL PUBLIC LICENSE Version 2, June 1991 Copyright (C) 1989, 1991 Free Software Foundation, Inc. 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Library General Public License instead.) You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things. To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it. For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software. Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations. Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all. The precise terms and conditions for copying, distribution and modification follow. GNU GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you". Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does. 1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program. You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. 2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change. b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License. c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.) These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program. In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. 3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following: a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.) The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code. 4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it. 6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License. 7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program. If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances. It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. 8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. 9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation. 10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. NO WARRANTY 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. END OF TERMS AND CONDITIONS How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. Copyright (C) This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. Also add information on how to contact you by electronic and paper mail. If the program is interactive, make it output a short notice like this when it starts in an interactive mode: Gnomovision version 69, Copyright (C) year name of author Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, the commands you use may be called something other than `show w' and `show c'; they could even be mouse-clicks or menu items--whatever suits your program. You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the program, if necessary. Here is a sample; alter the names: Yoyodyne, Inc., hereby disclaims all copyright interest in the program `Gnomovision' (which makes passes at compilers) written by James Hacker. , 1 April 1989 Ty Coon, President of Vice This General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Library General Public License instead of this License. License for Scintilla and SciTE =============================== Copyright 1998-2003 by Neil Hodgson All Rights Reserved Permission to use, copy, modify, and distribute this software and its documentation for any purpose and without fee is hereby granted, provided that the above copyright notice appear in all copies and that both that copyright notice and this permission notice appear in supporting documentation. NEIL HODGSON DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL NEIL HODGSON BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. geany-1.32/doc/geany.css0000644000175000017500000000262213204251306012043 00000000000000/* :Author: Enrico Troeger :Contact: enrico(dot)troeger(at)uvena(dot)de :Copyright: This stylesheet has been placed in the public domain. Stylesheet for Geany's documentation based on a version of John Gabriele. */ @media screen { body { background-color: #f2f2f2; color: #404040; margin-left: 0.4em; max-width: 60em; font-size: 90%; } a { color: #990000; } a:visited { color: #7E558E; } a:hover { text-decoration: none; } h1 { border-top: 1px dotted; margin-top: 2em; } h1, h2, h3 { font-family: sans-serif; color: #5D0606; } h1.title { text-align: left } h2 { margin-top: 30px; } h2.subtitle { text-align: left } h3 { padding-left: 3px; } blockquote, pre { border: 1px solid; padding: 0.4em; } blockquote { font-family: sans-serif; background-color: #DBEDD5; border: 1px dotted; border-left: 4px solid; border-color: #9FD98C; } pre { background-color: #ECDFCE; border: 1px dotted; border-left: 4px solid; border-color: #D9BE9A; } tt, pre, code { color: #6D4212; } table { border: 1px solid #D9BE9A; } th { background-color: #ECDFCE; border: 1px dotted #D9BE9A; } td { border: 1px dotted #D9BE9A; } .docinfo-name { color: #5D0606; } p.admonition-title { color: #990000; font-weight: bold; } div.note { margin: 1em 3em; padding: 0em; } dt { font-style: italic; } } @media print { } geany-1.32/doc/geany.html0000644000175000017500000113352413204260510012223 00000000000000 Geany

Geany

A fast, light, GTK+ IDE

Authors: Enrico Tröger
Nick Treleaven
Frank Lanitz
Colomban Wendling
Matthew Brush
Date: 2017-11-19
Version: 1.32

Copyright © 2005-2017

This document is distributed under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. A copy of this license can be found in the file COPYING included with the source code of this program, and also in the chapter GNU General Public License.

Contents

Introduction

About Geany

Geany is a small and lightweight Integrated Development Environment. It was developed to provide a small and fast IDE, which has only a few dependencies on other packages. Another goal was to be as independent as possible from a particular Desktop Environment like KDE or GNOME - Geany only requires the GTK+ runtime libraries.

Some basic features of Geany:

  • Syntax highlighting
  • Code folding
  • Autocompletion of symbols/words
  • Construct completion/snippets
  • Auto-closing of XML and HTML tags
  • Calltips
  • Many supported filetypes including C, Java, PHP, HTML, Python, Perl, Pascal, and others
  • Symbol lists
  • Code navigation
  • Build system to compile and execute your code
  • Simple project management
  • Plugin interface

Where to get it

You can obtain Geany from http://www.geany.org/ or perhaps also from your distribution. For a list of available packages, please see http://www.geany.org/Download/ThirdPartyPackages.

License

Geany is distributed under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. A copy of this license can be found in the file COPYING included with the source code of this program and in the chapter, GNU General Public License.

The included Scintilla library (found in the subdirectory scintilla/) has its own license, which can be found in the chapter, License for Scintilla and SciTE.

About this document

This documentation is available in HTML and text formats. The latest version can always be found at http://www.geany.org/.

If you want to contribute to it, see Contributing to this document.

Installation

Requirements

You will need the GTK (>= 2.24) libraries and their dependencies (Pango, GLib and ATK). Your distro should provide packages for these, usually installed by default. For Windows, you can download an installer from the website which bundles these libraries.

Binary packages

There are many binary packages available. For an up-to-date but maybe incomplete list see http://www.geany.org/Download/ThirdPartyPackages.

Source compilation

Compiling Geany is quite easy. To do so, you need the GTK (>= 2.24) libraries and header files. You also need the Pango, GLib and ATK libraries and header files. All these files are available at http://www.gtk.org, but very often your distro will provide development packages to save the trouble of building these yourself.

Furthermore you need, of course, a C and C++ compiler. The GNU versions of these tools are recommended.

Autotools based build system

To compile Geany yourself, you just need the Make tool, preferably GNU Make.

Then run the following commands:

$ ./configure
$ make

Then as root:

% make install

Or via sudo:

% sudo make install

Custom installation

The configure script supports several common options, for a detailed list, type:

$ ./configure --help

You may also want to read the INSTALL file for advanced installation options.

Dynamic linking loader support and VTE

In the case that your system lacks dynamic linking loader support, you probably want to pass the option --disable-vte to the configure script. This prevents compiling Geany with dynamic linking loader support for automatically loading libvte.so.4 if available.

Build problems

If there are any errors during compilation, check your build environment and try to find the error, otherwise contact the mailing list or one the authors. Sometimes you might need to ask for specific help from your distribution.

Installation prefix

If you want to find Geany's system files after installation you may want to know the installation prefix.

Pass the --print-prefix option to Geany to check this - see Command line options. The first path is the prefix.

On Unix-like systems this is commonly /usr if you installed from a binary package, or /usr/local if you build from source.

Note

Editing system files is not necessary as you should use the per-user configuration files instead, which don't need root permissions. See Configuration files.

Usage

Getting started

You can start Geany in the following ways:

  • From the Desktop Environment menu:

    Choose in your application menu of your used Desktop Environment: Development --> Geany.

    At Windows-systems you will find Geany after installation inside the application menu within its special folder.

  • From the command line:

    To start Geany from a command line, type the following and press Return:

    % geany
    

The Geany workspace

The Geany window is shown in the following figure:

./images/main_window.png

The workspace has the following parts:

  • The menu.
  • An optional toolbar.
  • An optional sidebar that can show the following tabs:
    • Documents - A document list, and
    • Symbols - A list of symbols in your code.
  • The main editor window.
  • An optional message window which can show the following tabs:
    • Status - A list of status messages.
    • Compiler - The output of compiling or building programs.
    • Messages - Results of 'Find Usage', 'Find in Files' and other actions
    • Scribble - A text scratchpad for any use.
    • Terminal - An optional terminal window.
  • A status bar

Most of these can be configured in the Interface preferences, the View menu, or the popup menu for the relevant area.

Additional tabs may be added to the sidebar and message window by plugins.

The position of the tabs can be selected in the interface preferences.

The sizes of the sidebar and message window can be adjusted by dragging the dividers.

Command line options

Short option Long option Function
none +number Set initial line number for the first opened file (same as --line, do not put a space between the + sign and the number). E.g. "geany +7 foo.bar" will open the file foo.bar and place the cursor in line 7.
none --column Set initial column number for the first opened file.
-c dir_name --config=directory_name Use an alternate configuration directory. The default configuration directory is ~/.config/geany/ and that is where geany.conf and other configuration files reside.
none --ft-names Print a list of Geany's internal filetype names (useful for snippets configuration).
-g --generate-tags Generate a global tags file (see Generating a global tags file).
-P --no-preprocessing Don't preprocess C/C++ files when generating tags file.
-i --new-instance Do not open files in a running instance, force opening a new instance. Only available if Geany was compiled with support for Sockets.
-l --line Set initial line number for the first opened file.
none --list-documents Return a list of open documents in a running Geany instance. This can be used to read the currently opened documents in Geany from an external script or tool. The returned list is separated by newlines (LF) and consists of the full, UTF-8 encoded filenames of the documents. Only available if Geany was compiled with support for Sockets.
-m --no-msgwin Do not show the message window. Use this option if you do not need compiler messages or VTE support.
-n --no-ctags Do not load symbol completion and call tip data. Use this option if you do not want to use them.
-p --no-plugins Do not load plugins or plugin support.
none --print-prefix Print installation prefix, the data directory, the lib directory and the locale directory (in that order) to stdout, one line each. This is mainly intended for plugin authors to detect installation paths.
-r --read-only Open all files given on the command line in read-only mode. This only applies to files opened explicitly from the command line, so files from previous sessions or project files are unaffected.
-s --no-session Do not load the previous session's files.
-t --no-terminal Do not load terminal support. Use this option if you do not want to load the virtual terminal emulator widget at startup. If you do not have libvte.so.4 installed, then terminal-support is automatically disabled. Only available if Geany was compiled with support for VTE.
none --socket-file

Use this socket filename for communication with a running Geany instance. This can be used with the following command to execute Geany on the current workspace:

geany --socket-file=/tmp/geany-sock-$(xprop -root _NET_CURRENT_DESKTOP | awk '{print $3}')
none --vte-lib Specify explicitly the path including filename or only the filename to the VTE library, e.g. /usr/lib/libvte.so or libvte.so. This option is only needed when the auto-detection does not work. Only available if Geany was compiled with support for VTE.
-v --verbose Be verbose (print useful status messages).
-V --version Show version information and exit.
-? --help Show help information and exit.
none [files ...]

Open all given files at startup. This option causes Geany to ignore loading stored files from the last session (if enabled). Geany also recognizes line and column information when appended to the filename with colons, e.g. "geany foo.bar:10:5" will open the file foo.bar and place the cursor in line 10 at column 5.

Projects can also be opened but a project file (*.geany) must be the first non-option argument. All additionally given files are ignored.

You can also pass line number and column number information, e.g.:

geany some_file.foo:55:4

Geany supports all generic GTK options, a list is available on the help screen.

General

Startup

At startup, Geany loads all files from the last time Geany was launched. You can disable this feature in the preferences dialog (see General Startup preferences).

You can start several instances of Geany, but only the first will load files from the last session. In the subsequent instances, you can find these files in the file menu under the "Recent files" item. By default this contains the last 10 recently opened files. You can change the number of recently opened files in the preferences dialog.

To run a second instance of Geany, do not specify any filenames on the command-line, or disable opening files in a running instance using the appropriate command line option.

Opening files from the command-line in a running instance

Geany detects if there is an instance of itself already running and opens files from the command-line in that instance. So, Geany can be used to view and edit files by opening them from other programs such as a file manager.

You can also pass line number and column number information, e.g.:

geany some_file.foo:55:4

This would open the file some_file.foo with the cursor on line 55, column 4.

If you do not like this for some reason, you can disable using the first instance by using the appropriate command line option -- see the section called Command line options.

Virtual terminal emulator widget (VTE)

If you have installed libvte.so on your system, it is loaded automatically by Geany, and you will have a terminal widget in the notebook at the bottom.

If Geany cannot find any libvte.so at startup, the terminal widget will not be loaded. So there is no need to install the package containing this file in order to run Geany. Additionally, you can disable the use of the terminal widget by command line option, for more information see the section called Command line options.

You can use this terminal (from now on called VTE) much as you would a terminal program like xterm. There is basic clipboard support. You can paste the contents of the clipboard by pressing the right mouse button to open the popup menu, and choosing Paste. To copy text from the VTE, just select the desired text and then press the right mouse button and choose Copy from the popup menu. On systems running the X Window System you can paste the last selected text by pressing the middle mouse button in the VTE (on 2-button mice, the middle button can often be simulated by pressing both mouse buttons together).

In the preferences dialog you can specify a shell which should be started in the VTE. To make the specified shell a login shell just use the appropriate command line options for the shell. These options should be found in the manual page of the shell. For zsh and bash you can use the argument --login.

Note

Geany tries to load libvte.so. If this fails, it tries to load some other filenames. If this fails too, you should check whether you installed libvte correctly. Again note, Geany will run without this library.

It could be, that the library is called something else than libvte.so (e.g. on FreeBSD 6.0 it is called libvte.so.8). If so please set a link to the correct file (as root):

# ln -s /usr/lib/libvte.so.X /usr/lib/libvte.so

Obviously, you have to adjust the paths and set X to the number of your libvte.so.

You can also specify the filename of the VTE library to use on the command line (see the section called Command line options) or at compile time by specifying the command line option --with-vte-module-path to ./configure.

Defining own widget styles using .gtkrc-2.0

You can define your widget style for many of Geany's GUI parts. To do this, just edit your .gtkrc-2.0 (usually found in your home directory on UNIX-like systems and in the etc subdirectory of your Geany installation on Windows).

To have a defined style used by Geany you must assign it to at least one of Geany's widgets. For example use the following line:

widget "Geany*" style "geanyStyle"

This would assign your style "geany_style" to all Geany widgets. You can also assign styles only to specific widgets. At the moment you can use the following widgets:

  • GeanyMainWindow
  • GeanyEditMenu
  • GeanyToolbarMenu
  • GeanyDialog
  • GeanyDialogPrefs
  • GeanyDialogProject
  • GeanyDialogSearch
  • GeanyMenubar
  • GeanyToolbar

An example of a simple .gtkrc-2.0:

style "geanyStyle"
{
    font_name="Sans 12"
}
widget "GeanyMainWindow" style "geanyStyle"

style "geanyStyle"
{
    font_name="Sans 10"
}
widget "GeanyPrefsDialog" style "geanyStyle"

Documents

Switching between documents

The documents list and the editor tabs are two different ways to switch between documents using the mouse. When you hit the key combination to move between tabs, the order is determined by the tab order. It is not alphabetical as shown in the documents list (regardless of whether or not editor tabs are visible).

See the Notebook tab keybindings section for useful shortcuts including for Most-Recently-Used document switching.

Cloning documents

The Document->Clone menu item copies the current document's text, cursor position and properties into a new untitled document. If there is a selection, only the selected text is copied. This can be useful when making temporary copies of text or for creating documents with similar or identical contents.

Character sets and Unicode Byte-Order-Mark (BOM)

Using character sets

Geany provides support for detecting and converting character sets. So you can open and save files in different character sets, and even convert a file from one character set to another. To do this, Geany uses the character conversion capabilities of the GLib library.

Only text files are supported, i.e. opening files which contain NULL-bytes may fail. Geany will try to open the file anyway but it is likely that the file will be truncated because it can only be read up to the first occurrence of a NULL-byte. All characters after this position are lost and are not written when you save the file.

Geany tries to detect the encoding of a file while opening it, but auto-detecting the encoding of a file is not easy and sometimes an encoding might not be detected correctly. In this case you have to set the encoding of the file manually in order to display it correctly. You can this in the file open dialog by selecting an encoding in the drop down box or by reloading the file with the file menu item "Reload as". The auto-detection works well for most encodings but there are also some encodings where it is known that auto-detection has problems.

There are different ways to set different encodings in Geany:

  • Using the file open dialog

    This opens the file with the encoding specified in the encoding drop down box. If the encoding is set to "Detect from file" auto-detection will be used. If the encoding is set to "Without encoding (None)" the file will be opened without any character conversion and Geany will not try to auto-detect the encoding (see below for more information).

  • Using the "Reload as" menu item

    This item reloads the current file with the specified encoding. It can help if you opened a file and found out that the wrong encoding was used.

  • Using the "Set encoding" menu item

    Contrary to the above two options, this will not change or reload the current file unless you save it. It is useful when you want to change the encoding of the file.

  • Specifying the encoding in the file itself

    As mentioned above, auto-detecting the encoding of a file may fail on some encodings. If you know that Geany doesn't open a certain file, you can add the specification line, described in the next section, to the beginning of the file to force Geany to use a specific encoding when opening the file.

In-file encoding specification

Geany detects meta tags of HTML files which contain charset information like:

<meta http-equiv="content-type" content="text/html; charset=ISO-8859-15" />

and the specified charset is used when opening the file. This is useful if the encoding of the file cannot be detected properly. For non-HTML files you can also define a line like:

/* geany_encoding=ISO-8859-15 */

or:

# geany_encoding=ISO-8859-15 #

to force an encoding to be used. The #, /* and */ are examples of filetype-specific comment characters. It doesn't matter which characters are around the string " geany_encoding=ISO-8859-15 " as long as there is at least one whitespace character before and after this string. Whitespace characters are in this case a space or tab character. An example to use this could be you have a file with ISO-8859-15 encoding but Geany constantly detects the file encoding as ISO-8859-1. Then you simply add such a line to the file and Geany will open it correctly the next time.

Since Geany 0.15 you can also use lines which match the regular expression used to find the encoding string: coding[\t ]*[:=][\t ]*([a-z0-9-]+)[\t ]*

Note

These specifications must be in the first 512 bytes of the file. Anything after the first 512 bytes will not be recognized.

Some examples are:

# encoding = ISO-8859-15

or:

# coding: ISO-8859-15

Special encoding "None"

There is a special encoding "None" which uses no encoding. It is useful when you know that Geany cannot auto-detect the encoding of a file and it is not displayed correctly. Especially when the file contains NULL-bytes this can be useful to skip auto detection and open the file properly at least until the occurrence of the first NULL-byte. Using this encoding opens the file as it is without any character conversion.

Unicode Byte-Order-Mark (BOM)

Furthermore, Geany detects a Unicode Byte Order Mark (see http://en.wikipedia.org/wiki/Byte_Order_Mark for details). Of course, this feature is only available if the opened file is in a Unicode encoding. The Byte Order Mark helps to detect the encoding of a file, e.g. whether it is UTF-16LE or UTF-16BE and so on. On Unix-like systems using a Byte Order Mark could cause some problems for programs not expecting it, e.g. the compiler gcc stops with stray errors, PHP does not parse a script containing a BOM and script files starting with a she-bang maybe cannot be started. In the status bar you can easily see whether the file starts with a BOM or not.

If you want to set a BOM for a file or if you want to remove it from a file, just use the document menu and toggle the checkbox.

Note

If you are unsure what a BOM is or if you do not understand where to use it, then it is probably not important for you and you can safely ignore it.

Editing

Folding

Geany provides basic code folding support. Folding means the ability to show and hide parts of the text in the current file. You can hide unimportant code sections and concentrate on the parts you are working on and later you can show hidden sections again. In the editor window there is a small grey margin on the left side with [+] and [-] symbols which show hidden parts and hide parts of the file respectively. By clicking on these icons you can simply show and hide sections which are marked by vertical lines within this margin. For many filetypes nested folding is supported, so there may be several fold points within other fold points.

Note

You can customize the folding icon and line styles - see the filetypes.common Folding Settings.

If you don't like it or don't need it at all, you can simply disable folding support completely in the preferences dialog.

The folding behaviour can be changed with the "Fold/Unfold all children of a fold point" option in the preference dialog. If activated, Geany will unfold all nested fold points below the current one if they are already folded (when clicking on a [+] symbol). When clicking on a [-] symbol, Geany will fold all nested fold points below the current one if they are unfolded.

This option can be inverted by pressing the Shift key while clicking on a fold symbol. That means, if the "Fold/Unfold all children of a fold point" option is enabled, pressing Shift will disable it for this click and vice versa.

Column mode editing (rectangular selections)

There is basic support for column mode editing. To use it, create a rectangular selection by holding down the Control and Shift keys (or Alt and Shift on Windows) while selecting some text. Once a rectangular selection exists you can start editing the text within this selection and the modifications will be done for every line in the selection.

It is also possible to create a zero-column selection - this is useful to insert text on multiple lines.

Drag and drop of text

If you drag selected text in the editor widget of Geany the text is moved to the position where the mouse pointer is when releasing the mouse button. Holding Control when releasing the mouse button will copy the text instead. This behaviour was changed in Geany 0.11 - before the selected text was copied to the new position.

Indentation

Geany allows each document to indent either with a tab character, multiple spaces or a combination of both.

The Tabs setting indents with one tab character per indent level, and displays tabs as the indent width.

The Spaces setting indents with the number of spaces set in the indent width for each level.

The Tabs and Spaces setting indents with spaces as above, then converts as many spaces as it can to tab characters at the rate of one tab for each multiple of the Various preference setting indent_hard_tab_width (default 8) and displays tabs as the indent_hard_tab_width value.

The default indent settings are set in Editor Indentation preferences (see the link for more information).

The default settings can be overridden per-document using the Document menu. They can also be overridden by projects - see Project management.

The indent mode for the current document is shown on the status bar as follows:

TAB
Indent with Tab characters.
SP
Indent with spaces.
T/S
Indent with tabs and spaces, depending on how much indentation is on a line.

Applying new indentation settings

After changing the default settings you may wish to apply the new settings to every document in the current session. To do this use the Project->Apply Default Indentation menu item.

Detecting indent type

The Detect from file indentation preference can be used to scan each file as it's opened and set the indent type based on how many lines start with a tab vs. 2 or more spaces.

Auto-indentation

When enabled, auto-indentation happens when pressing Enter in the Editor. It adds a certain amount of indentation to the new line so the user doesn't always have to indent each line manually.

Geany has four types of auto-indentation:

None
Disables auto-indentation completely.
Basic
Adds the same amount of whitespace on a new line as on the previous line. For the Tabs and the Spaces indent types the indentation will use the same combination of characters as the previous line. The Tabs and Spaces indentation type converts as explained above.
Current chars
Does the same as Basic but also indents a new line after an opening brace '{', and de-indents when typing a closing brace '}'. For Python, a new line will be indented after typing ':' at the end of the previous line.
Match braces
Similar to Current chars but the closing brace will be aligned to match the indentation of the line with the opening brace. This requires the filetype to be one where Geany knows that the Scintilla lexer understands matching braces (C, C++, D, HTML, Pascal, Bash, Perl, TCL).

There is also XML-tag auto-indentation. This is enabled when the mode is more than just Basic, and is also controlled by a filetype setting - see xml_indent_tags.

Bookmarks

Geany provides a handy bookmarking feature that lets you mark one or more lines in a document, and return the cursor to them using a key combination.

To place a mark on a line, either left-mouse-click in the left margin of the editor window, or else use Ctrl-m. This will produce a small green plus symbol in the margin. You can have as many marks in a document as you like. Click again (or use Ctrl-m again) to remove the bookmark. To remove all the marks in a given document, use "Remove Markers" in the Document menu.

To navigate down your document, jumping from one mark to the next, use Ctrl-. (control period). To go in the opposite direction on the page, use Ctrl-, (control comma). Using the bookmarking feature together with the commands to switch from one editor tab to another (Ctrl-PgUp/PgDn and Ctrl-Tab) provides a particularly fast way to navigate around multiple files.

Code navigation history

To ease navigation in source files and especially between different files, Geany lets you jump between different navigation points. Currently, this works for the following:

When using one of these actions, Geany remembers your current position and jumps to the new one. If you decide to go back to your previous position in the file, just use "Navigate back a location". To get back to the new position again, just use "Navigate forward a location". This makes it easier to navigate in e.g. foreign code and between different files.

Sending text through custom commands

You can define several custom commands in Geany and send the current selection to one of these commands using the Edit->Format->Send Selection to menu or keybindings. The output of the command will be used to replace the current selection. This makes it possible to use text formatting tools with Geany in a general way.

The selected text will be sent to the standard input of the executed command, so the command should be able to read from it and it should print all results to its standard output which will be read by Geany. To help finding errors in executing the command, the output of the program's standard error will be printed on Geany's standard output.

If there is no selection, the whole current line is used instead.

To add a custom command, use the Send Selection to->Set Custom Commands menu item. Click on Add to get a new item and type the command. You can also specify some command line options. Empty commands are not saved.

Normal shell quoting is supported, so you can do things like:

  • sed 's/\./(dot)/g'

The above example would normally be done with the Replace all function, but it can be handy to have common commands already set up.

Note that the command is not run in a shell, so if you want to use shell features like pipes and command chains, you need to explicitly launch the shell and pass it your command:

  • sh -c 'sort | uniq'

Context actions

You can execute the context action command on the current word at the cursor position or the available selection. This word or selection can be used as an argument to the command. The context action is invoked by a menu entry in the popup menu of the editor and also a keyboard shortcut (see the section called Keybindings).

The command can be specified in the preferences dialog and also for each filetype (see "context_action_cmd" in the section called Filetype configuration). When the context action is invoked, the filetype specific command is used if available, otherwise the command specified in the preferences dialog is executed.

The current word or selection can be referred with the wildcard "%s" in the command, it will be replaced by the current word or selection before the command is executed.

For example a context action can be used to open API documentation in a browser window, the command to open the PHP API documentation would be:

firefox "http://www.php.net/%s"

when executing the command, the %s is substituted by the word near the cursor position or by the current selection. If the cursor is at the word "echo", a browser window will open(assumed your browser is called firefox) and it will open the address: http://www.php.net/echo.

Autocompletion

Geany can offer a list of possible completions for symbols defined in the tags files and for all words in open documents.

The autocompletion list for symbols is presented when the first few characters of the symbol are typed (configurable, see Editor Completions preferences, default 4) or when the Complete word keybinding is pressed (configurable, see Editor keybindings, default Ctrl-Space).

When the defined keybinding is typed and the Autocomplete all words in document preference (in Editor Completions preferences) is selected then the autocompletion list will show all matching words in the document, if there are no matching symbols.

If you don't want to use autocompletion it can be dismissed until the next symbol by pressing Escape. The autocompletion list is updated as more characters are typed so that it only shows completions that start with the characters typed so far. If no symbols begin with the sequence, the autocompletion window is closed.

The up and down arrows will move the selected item. The highlighted item on the autocompletion list can be chosen from the list by pressing Enter/Return. You can also double-click to select an item. The sequence will be completed to match the chosen item, and if the Drop rest of word on completion preference is set (in Editor Completions preferences) then any characters after the cursor that match a symbol or word are deleted.

Word part completion

By default, pressing Tab will complete the selected item by word part; useful e.g. for adding the prefix gtk_combo_box_entry_ without typing it manually:

  • gtk_com<TAB>
  • gtk_combo_<TAB>
  • gtk_combo_box_<e><TAB>
  • gtk_combo_box_entry_<s><ENTER>
  • gtk_combo_box_entry_set_text_column

The key combination can be changed from Tab - See Editor keybindings. If you clear/change the key combination for word part completion, Tab will complete the whole word instead, like Enter.

Scope autocompletion

E.g.:

struct
{
    int i;
    char c;
} foo;

When you type foo. it will show an autocompletion list with 'i' and 'c' symbols.

It only works for languages that set parent scope names for e.g. struct members. Currently this means C-like languages. The C parser only parses global scopes, so this won't work for structs or objects declared in local scope.

User-definable snippets

Snippets are small strings or code constructs which can be replaced or completed to a more complex string. So you can save a lot of time when typing common strings and letting Geany do the work for you. To know what to complete or replace Geany reads a configuration file called snippets.conf at startup.

Maybe you need to often type your name, so define a snippet like this:

[Default]
myname=Enrico Tröger

Every time you write myname <TAB> in Geany, it will replace "myname" with "Enrico Tröger". The key to start autocompletion can be changed in the preferences dialog, by default it is TAB. The corresponding keybinding is called Complete snippet.

Paths

You can override the default snippets using the user snippets.conf file. Use the Tools->Configuration Files->snippets.conf menu item. See also Configuration file paths.

This adds the default settings to the user file if the file doesn't exist. Alternatively the file can be created manually, adding only the settings you want to change. All missing settings will be read from the system snippets file.

Snippet groups

The file snippets.conf contains sections defining snippets that are available for particular filetypes and in general.

The two sections "Default" and "Special" apply to all filetypes. "Default" contains all snippets which are available for every filetype and "Special" contains snippets which can only be used in other snippets. So you can define often used parts of snippets and just use the special snippet as a placeholder (see the snippets.conf for details).

You can define sections with the name of a filetype eg "C++". The snippets in that section are only available for use in files with that filetype. Snippets in filetype sections will hide snippets with the same name in the "Default" section when used in a file of that filetype.

Substitution sequences for snippets

To define snippets you can use several special character sequences which will be replaced when using the snippet:

\n or %newline% Insert a new line (it will be replaced by the used EOL char(s): LF, CR/LF, or CR).
\t or %ws% Insert an indentation step, it will be replaced according to the current document's indent mode.
\s \s to force whitespace at beginning or end of a value ('key= value' won't work, use 'key=\svalue')
%cursor% Place the cursor at this position after completion has been done. You can define multiple %cursor% wildcards and use the keybinding Move cursor in snippet to jump to the next defined cursor position in the completed snippet.
%...% "..." means the name of a key in the "Special" section. If you have defined a key "brace_open" in the "Special" section you can use %brace_open% in any other snippet.

Snippet names must not contain spaces otherwise they won't work correctly. But beside that you can define almost any string as a snippet and use it later in Geany. It is not limited to existing contructs of certain programming languages(like if, for, switch). Define whatever you need.

Template wildcards

Since Geany 0.15 you can also use most of the available templates wildcards listed in Template wildcards. All wildcards which are listed as available in snippets can be used. For instance to improve the above example:

[Default]
myname=My name is {developer}
mysystem=My system: {command:uname -a}

this will replace myname with "My name is " and the value of the template preference developer.

Word characters

You can change the way Geany recognizes the word to complete, that is how the start and end of a word is recognised when the snippet completion is requested. The section "Special" may contain a key "wordchars" which lists all characters a string may contain to be recognized as a word for completion. Leave it commented to use default characters or define it to add or remove characters to fit your needs.

Snippet keybindings

Normally you would type the snippet name and press Tab. However, you can define keybindings for snippets under the Keybindings group in snippets.conf:

[Keybindings]
for=<Ctrl>7
block_cursor=<Ctrl>8

Note

Snippet keybindings may be overridden by Geany's configurable keybindings.

Inserting Unicode characters

You can insert Unicode code points by hitting Ctrl-Shift-u, then still holding Ctrl-Shift, type some hex digits representing the code point for the character you want and hit Enter or Return (still holding Ctrl-Shift). If you release Ctrl-Shift before hitting Enter or Return (or any other character), the code insertion is completed, but the typed character is also entered. In the case of Enter/Return, it is a newline, as you might expect.

In some earlier versions of Geany, you might need to first unbind Ctrl-Shift-u in the keybinding preferences, then select Tools->Reload Configuration or restart Geany. Note that it works slightly differently from other GTK applications, in that you'll need to continue to hold down the Ctrl and Shift keys while typing the code point hex digits (and the Enter or Return to finish the code point).

Search, replace and go to

This section describes search-related commands from the Search menu and the editor window's popup menu:

  • Find
  • Find selection
  • Find usage
  • Find in files
  • Replace
  • Go to symbol definition
  • Go to symbol declaration
  • Go to line

See also Search preferences.

Toolbar entries

There are also two toolbar entries:

  • Search bar
  • Go to line entry

There are keybindings to focus each of these - see Focus keybindings. Pressing Escape will then focus the editor.

Find

The Find dialog is used for finding text in one or more open documents.

./images/find_dialog.png

Matching options

The syntax for the Use regular expressions option is shown in Regular expressions.

Note

Use escape sequences is implied for regular expressions.

The Use multi-line matching option enables multi-line regular expressions instead of single-line ones. See Regular expressions for more details on the differences between the two modes.

The Use escape sequences option will transform any escaped characters into their UTF-8 equivalent. For example, \t will be transformed into a tab character. Other recognized symbols are: \\, \n, \r, \uXXXX (Unicode characters).

Find all

To find all matches, click on the Find All expander. This will reveal several options:

  • In Document
  • In Session
  • Mark

Find All In Document will show a list of matching lines in the current document in the Messages tab of the Message Window. Find All In Session does the same for all open documents.

Mark will highlight all matches in the current document with a colored box. These markers can be removed by selecting the Remove Markers command from the Document menu.

Change font in search dialog text fields

All search related dialogs use a Monospace for the text input fields to increase the readability of input text. This is useful when you are typing input such as regular expressions with spaces, periods and commas which might it hard to read with a proportional font.

If you want to change the font, you can do this easily by inserting the following style into your .gtkrc-2.0 (usually found in your home directory on UNIX-like systems and in the etc subdirectory of your Geany installation on Windows):

style "search_style"
{
    font_name="Monospace 8"
}
widget "GeanyDialogSearch.*.GtkEntry" style:highest "search_style"

Please note the addition of ":highest" in the last line which sets the priority of this style to the highest available. Otherwise, the style is ignored for the search dialogs.

Find selection

The Find Next/Previous Selection commands perform a search for the current selected text. If nothing is selected, by default the current word is used instead. This can be customized by the find_selection_type preference - see Various preferences.

Value find_selection_type behaviour
0 Use the current word (default).
1 Try the X selection first, then current word.
2 Repeat last search.

Find usage

Find Usage searches all open files. It is similar to the Find All In Session option in the Find dialog.

If there is a selection, then it is used as the search text; otherwise the current word is used. The current word is either taken from the word nearest the edit cursor, or the word underneath the popup menu click position when the popup menu is used. The search results are shown in the Messages tab of the Message Window.

Note

You can also use Find Usage for symbol list items from the popup menu.

Find in files

Find in Files is a more powerful version of Find Usage that searches all files in a certain directory using the Grep tool. The Grep tool must be correctly set in Preferences to the path of the system's Grep utility. GNU Grep is recommended (see note below).

./images/find_in_files_dialog.png

The Search field is initially set to the current word in the editor (depending on Search preferences).

The Files setting allows to choose which files are included in the search, depending on the mode:

All
Search in all files;
Project
Use the current project's patterns, see Project properties;
Custom
Use custom patterns.

Both project and custom patterns use a glob-style syntax, each pattern separated by a space. To search all .c and .h files, use: *.c *.h. Note that an empty pattern list searches in all files rather than none.

The Directory field is initially set to the current document's directory, unless this field has already been edited and the current document has not changed. Otherwise, the current document's directory is prepended to the drop-down history. This can be disabled - see Search preferences.

The Encoding field can be used to define the encoding of the files to be searched. The entered search text is converted to the chosen encoding and the search results are converted back to UTF-8.

The Extra options field is used to pass any additional arguments to the grep tool.

Note

The Files setting uses --include= when searching recursively, Recurse in subfolders uses -r; both are GNU Grep options and may not work with other Grep implementations.

Filtering out version control files

When using the Recurse in subfolders option with a directory that's under version control, you can set the Extra options field to filter out version control files.

If you have GNU Grep >= 2.5.2 you can use the --exclude-dir argument to filter out CVS and hidden directories like .svn.

Example: --exclude-dir=.svn --exclude-dir=CVS

If you have an older Grep, you can try using the --exclude flag to filter out filenames.

SVN Example: --exclude=*.svn-base

The --exclude argument only matches the file name part, not the path.

Replace

The Replace dialog is used for replacing text in one or more open documents.

./images/replace_dialog.png

The Replace dialog has the same options for matching text as the Find dialog. See the section Matching options.

The Use regular expressions option allows regular expressions to be used in the search string and back references in the replacement text -- see the entry for '\n' in Regular expressions.

Replace all

To replace several matches, click on the Replace All expander. This will reveal several options:

  • In Document
  • In Session
  • In Selection

Replace All In Document will replace all matching text in the current document. Replace All In Session does the same for all open documents. Replace All In Selection will replace all matching text in the current selection of the current document.

Go to symbol definition

If the current word or selection is the name of a symbol definition (e.g. a function name) and the file containing the symbol definition is open, this command will switch to that file and go to the corresponding line number. The current word is either the word nearest the edit cursor, or the word underneath the popup menu click position when the popup menu is used.

If there are more symbols with the same name to which the goto can be performed, a pop up is shown with a list of all the occurrences. After selecting a symbol from the list Geany jumps to the corresponding symbol location. Geany tries to suggest the nearest symbol (symbol from the current file, other open documents or current directory) as the best candidate for the goto and places this symbol at the beginning of the list typed in boldface.

Note

If the corresponding symbol is on the current line, Geany will first look for a symbol declaration instead, as this is more useful. Likewise Go to symbol declaration will search for a symbol definition first in this case also.

Go to symbol declaration

Like Go to symbol definition, but for a forward declaration such as a C function prototype or extern declaration instead of a function body.

Go to line

Go to a particular line number in the current file.

Regular expressions

You can use regular expressions in the Find and Replace dialogs by selecting the Use regular expressions check box (see Matching options). The syntax is Perl compatible. Basic syntax is described in the table below. For full details, see http://www.geany.org/manual/gtk/glib/glib-regex-syntax.html.

By default regular expressions are matched on a line-by-line basis. If you are interested in multi-line regular expressions, matched against the whole buffer at once, see the section Multi-line regular expressions below.

Note

  1. The Use escape sequences dialog option always applies for regular expressions.
  2. Searching backwards with regular expressions is not supported.
  3. The Use multi-line matching dialog option to select single or multi-line matching.

In a regular expression, the following characters are interpreted:

. Matches any character.
( This marks the start of a region for tagging a match.
) This marks the end of a tagged region.
\n

Where n is 1 through 9 refers to the first through ninth tagged region when searching or replacing.

Searching for (Wiki)\1 matches WikiWiki.

If the search string was Fred([1-9])XXX and the replace string was Sam\1YYY, when applied to Fred2XXX this would generate Sam2YYY.

\0 When replacing, the whole matching text.
\b This matches a word boundary.
\c

A backslash followed by d, D, s, S, w or W, becomes a character class (both inside and outside sets []).

  • d: decimal digits
  • D: any char except decimal digits
  • s: whitespace (space, \t \n \r \f \v)
  • S: any char except whitespace (see above)
  • w: alphanumeric & underscore
  • W: any char except alphanumeric & underscore
\x This allows you to use a character x that would otherwise have a special meaning. For example, \[ would be interpreted as [ and not as the start of a character set. Use \\ for a literal backslash.
[...]

Matches one of the characters in the set. If the first character in the set is ^, it matches the characters NOT in the set, i.e. complements the set. A shorthand S-E (start dash end) is used to specify a set of characters S up to E, inclusive.

The special characters ] and - have no special meaning if they appear first in the set. - can also be last in the set. To include both, put ] first: []A-Z-].

Examples:

[]|-]    matches these 3 chars
[]-|]    matches from ] to | chars
[a-z]    any lowercase alpha
[^]-]    any char except - and ]
[^A-Z]   any char except uppercase alpha
[a-zA-Z] any alpha
^ This matches the start of a line (unless used inside a set, see above).
$ This matches the end of a line.
* This matches 0 or more times. For example, Sa*m matches Sm, Sam, Saam, Saaam and so on.
+ This matches 1 or more times. For example, Sa+m matches Sam, Saam, Saaam and so on.
? This matches 0 or 1 time(s). For example, Joh?n matches John, Jon.

Note

This table is adapted from Scintilla and SciTE documentation, distributed under the License for Scintilla and SciTE.

Multi-line regular expressions

Note

The Use multi-line matching dialog option enables multi-line regular expressions.

Multi-line regular expressions work just like single-line ones but a match can span several lines.

While the syntax is the same, a few practical differences applies:

. Matches any character but newlines. This behavior can be changed to also match newlines using the (?s) option, see http://www.geany.org/manual/gtk/glib/glib-regex-syntax.html#idp5671632
[^...] A negative range (see above) will match newlines if they are not explicitly listed in that negative range. For example, range [^a-z] will match newlines, while range [^a-z\r\n] won't. While this is the expected behavior, it can lead to tricky problems if one doesn't think about it when writing an expression.

View menu

The View menu allows various elements of the main window to be shown or hidden, and also provides various display-related editor options.

Color schemes dialog

The Color Schemes dialog is available under the View->Change Color Scheme menu item. It lists various color schemes for editor highlighting styles, including the default scheme first. Other items are available based on what color scheme files Geany found at startup.

Color scheme files are read from the Configuration file paths under the colorschemes subdirectory. They should have the extension .conf. The default color scheme is read from filetypes.common.

The [named_styles] section and [named_colors] section are the same as for filetypes.common.

The [theme_info] section can contain information about the theme. The name and description keys are read to set the menu item text and tooltip, respectively. These keys can have translations, e.g.:

key=Hello
key[de]=Hallo
key[fr_FR]=Bonjour

Symbols and tags files

Upon opening, files of supported filetypes are parsed to extract the symbol information (aka "workspace symbols"). You can also have Geany automatically load external files containing the symbol information (aka "global tags files") upon startup, or manually using Tools --> Load Tags File.

Geany uses its own tags file format, similar to what ctags uses (but is incompatible with ctags). You use Geany to generate global tags files, as described below.

Workspace symbols

Each document is parsed for symbols whenever a file is loaded, saved or modified (see Symbol list update frequency preference in the Editor Completions preferences). These are shown in the Symbol list in the Sidebar. These symbols are also used for autocompletion and calltips for all documents open in the current session that have the same filetype.

The Go to Symbol commands can be used with all workspace symbols. See Go to symbol definition.

Global tags files

Global tags files are used to provide symbols for autocompletion and calltips without having to open the source files containing these symbols. This is intended for library APIs, as the tags file only has to be updated when you upgrade the library.

You can load a custom global tags file in two ways:

  • Using the Load Tags File command in the Tools menu.
  • By moving or symlinking tags files to the tags subdirectory of one of the configuration file paths before starting Geany.

You can either download these files or generate your own. They have the format:

name.lang_ext.tags

lang_ext is one of the extensions set for the filetype associated with the tags parser. See the section called Filetype extensions for more information.

Default global tags files

Some global tags files are distributed with Geany and will be loaded automatically when the corresponding filetype is first used. Currently this includes global tags files for these languages:

  • C
  • Pascal
  • PHP
  • HTML -- &symbol; completion, e.g. for ampersand, copyright, etc.
  • LaTeX
  • Python

Global tags file format

Global tags files can have three different formats:

  • Tagmanager format
  • Pipe-separated format
  • CTags format

The first line of global tags files should be a comment, introduced by # followed by a space and a string like format=pipe, format=ctags or format=tagmanager respectively, these are case-sensitive. This helps Geany to read the file properly. If this line is missing, Geany tries to auto-detect the used format but this might fail.

The Tagmanager format is a bit more complex and is used for files created by the geany -g command. There is one symbol per line. Different symbol attributes like the return value or the argument list are separated with different characters indicating the type of the following argument. This is the more complete and recommended tags file format.

Pipe-separated format

The Pipe-separated format is easier to read and write. There is one symbol per line and different symbol attributes are separated by the pipe character (|). A line looks like:

basename|string|(string path [, string suffix])|
The first field is the symbol name (usually a function name).
The second field is the type of the return value.
The third field is the argument list for this symbol.
The fourth field is the description for this symbol but currently unused and should be left empty.

Except for the first field (symbol name), all other field can be left empty but the pipe separator must appear for them.

You can easily write your own global tags files using this format. Just save them in your tags directory, as described earlier in the section Global tags files.

CTags format

This is the format that ctags generates, and that is used by Vim. This format is compatible with the format historically used by Vi.

The format is described at http://ctags.sourceforge.net/FORMAT, but for the full list of existing extensions please refer to ctags. However, note that Geany may actually only honor a subset of the existing extensions.

Generating a global tags file

You can generate your own global tags files by parsing a list of source files. The command is:

geany -g [-P] <Tags File> <File list>
  • Tags File filename should be in the format described earlier -- see the section called Global tags files.
  • File list is a list of filenames, each with a full path (unless you are generating C/C++ tags files and have set the CFLAGS environment variable appropriately).
  • -P or --no-preprocessing disables using the C pre-processor to process #include directives for C/C++ source files. Use this option if you want to specify each source file on the command-line instead of using a 'master' header file. Also can be useful if you don't want to specify the CFLAGS environment variable.

Example for the wxD library for the D programming language:

geany -g wxd.d.tags /home/username/wxd/wx/*.d
Generating C/C++ tags files

You may need to first setup the C ignore.tags file.

For C/C++ tags files gcc is required by default, so that header files can be preprocessed to include any other headers they depend upon. If you do not want this, use the -P option described above.

For preprocessing, the environment variable CFLAGS should be set with appropriate -I/path include paths. The following example works with the bash shell, generating a tags file for the GnomeUI library:

CFLAGS=`pkg-config --cflags libgnomeui-2.0` geany -g gnomeui.c.tags \
/usr/include/libgnomeui-2.0/gnome.h

You can adapt this command to use CFLAGS and header files appropriate for whichever libraries you want.

Generating tags files on Windows

This works basically the same as on other platforms:

"c:\program files\geany\bin\geany" -g c:\mytags.php.tags c:\code\somefile.php

C ignore.tags

You can ignore certain symbols for C-based languages if they would lead to wrong parsing of the code. Use the Tools->Configuration Files->ignore.tags menu item to open the user ignore.tags file. See also Configuration file paths.

List all symbol names you want to ignore in this file, separated by spaces and/or newlines.

Example:

G_GNUC_NULL_TERMINATED
G_GNUC_PRINTF
G_GNUC_WARN_UNUSED_RESULT

This will parse code like:

gchar **utils_strv_new(const gchar *first, ...) G_GNUC_NULL_TERMINATED;

More detailed information about ignore.tags usage from the Exuberant Ctags manual page:

Specifies a list of identifiers which are to be specially handled while parsing C and C++ source files. This option is specifically provided to handle special cases arising through the use of pre-processor macros. When the identifiers listed are simple identifiers, these identifiers will be ignored during parsing of the source files. If an identifier is suffixed with a '+' character, ctags will also ignore any parenthesis-enclosed argument list which may immediately follow the identifier in the source files. If two identifiers are separated with the '=' character, the first identifiers is replaced by the second identifiers for parsing purposes.

For even more detailed information please read the manual page of Exuberant Ctags.

Geany extends Ctags with a '*' character suffix - this means use prefix matching, e.g. G_GNUC_* will match G_GNUC_NULL_TERMINATED, etc. Note that prefix match items should be put after other items to ensure that items like G_GNUC_PRINTF+ get parsed correctly.

Preferences

You may adjust Geany's settings using the Edit --> Preferences dialog. Any changes you make there can be applied by hitting either the Apply or the OK button. These settings will persist between Geany sessions. Note that most settings here have descriptive popup bubble help -- just hover the mouse over the item in question to get help on it.

You may also adjust some View settings (under the View menu) that persist between Geany sessions. The settings under the Document menu, however, are only for the current document and revert to defaults when restarting Geany.

Note

In the paragraphs that follow, the text describing a dialog tab comes after the screenshot of that tab.

General Startup preferences

./images/pref_dialog_gen_startup.png

Startup

Load files from the last session
On startup, load the same files you had open the last time you used Geany.
Load virtual terminal support
Load the library for running a terminal in the message window area.
Enable plugin support
Allow plugins to be used in Geany.

Shutdown

Save window position and geometry
Save the current position and size of the main window so next time you open Geany it's in the same location.
Confirm Exit
Have a dialog pop up to confirm that you really want to quit Geany.

Paths

Startup path
Path to start in when opening or saving files. It must be an absolute path.
Project files
Path to start in when opening project files.
Extra plugin path
By default Geany looks in the system installation and the user configuration - see Plugins. In addition the path entered here will be searched. Usually you do not need to set an additional path to search for plugins. It might be useful when Geany is installed on a multi-user machine and additional plugins are available in a common location for all users. Leave blank to not set an additional lookup path.

General Miscellaneous preferences

./images/pref_dialog_gen_misc.png

Miscellaneous

Beep on errors when compilation has finished
Have the computer make a beeping sound when compilation of your program has completed or any errors occurred.
Switch status message list at new message
Switch to the status message tab (in the notebook window at the bottom) once a new status message arrives.
Suppress status messages in the status bar

Remove all messages from the status bar. The messages are still displayed in the status messages window.

Tip

Another option is to use the Switch to Editor keybinding - it reshows the document statistics on the status bar. See Focus keybindings.

Use Windows File Open/Save dialogs
Defines whether to use the native Windows File Open/Save dialogs or whether to use the GTK default dialogs.
Auto-focus widgets (focus follows mouse)
Give the focus automatically to widgets below the mouse cursor. This works for the main editor widget, the scribble, the toolbar search field goto line fields and the VTE.

Projects

Use project-based session files
Save your current session when closing projects. You will be able to resume different project sessions, automatically opening the files you had open previously.
Store project file inside the project base directory
When creating new projects, the default path for the project file contains the project base path. Without this option enabled, the default project file path is one level above the project base path. In either case, you can easily set the final project file path in the New Project dialog. This option provides the more common defaults automatically for convenience.

Interface preferences

./images/pref_dialog_interface_interface.png

Message window

Position
Whether to place the message window on the bottom or right of the editor window.

Fonts

Editor
Change the font used to display documents.
Symbol list
Change the font used for the Symbols sidebar tab.
Message window
Change the font used for the message window area.

Miscellaneous

Show status bar
Show the status bar at the bottom of the main window. It gives information about the file you are editing like the line and column you are on, whether any modifications were done, the file encoding, the filetype and other information.

Interface Notebook tab preferences

./images/pref_dialog_interface_notebook.png

Editor tabs

Show editor tabs
Show a notebook tab for all documents so you can switch between them using the mouse (instead of using the Documents window).
Show close buttons
Make each tab show a close button so you can easily close open documents.
Placement of new file tabs
Whether to create a document with its notebook tab to the left or right of all existing tabs.
Next to current
Whether to place file tabs next to the current tab rather than at the edges of the notebook.
Double-clicking hides all additional widgets
Whether to call the View->Toggle All Additional Widgets command when double-clicking on a notebook tab.

Tab positions

Editor
Set the positioning of the editor's notebook tabs to the right, left, top, or bottom of the editing window.
Sidebar
Set the positioning of the sidebar's notebook tabs to the right, left, top, or bottom of the sidebar window.
Message window
Set the positioning of the message window's notebook tabs to the right, left, top, or bottom of the message window.

Interface Toolbar preferences

Affects the main toolbar underneath the menu bar.

./images/pref_dialog_interface_toolbar.png

Toolbar

Show Toolbar
Whether to show the toolbar.
Append Toolbar to the Menu
Allows to append the toolbar to the main menu bar instead of placing it below. This is useful to save vertical space.
Customize Toolbar
See Customizing the toolbar.

Appearance

Icon Style
Select the toolbar icon style to use - either icons and text, just icons or just text. The choice System default uses whatever icon style is set by GTK.
Icon size
Select the size of the icons you see (large, small or very small). The choice System default uses whatever icon size is set by GTK.

Editor Features preferences

./images/pref_dialog_edit_features.png

Features

Line wrapping
Show long lines wrapped around to new display lines.
"Smart" home key
Whether to move the cursor to the first non-whitespace character on the line when you hit the home key on your keyboard. Pressing it again will go to the very start of the line.
Disable Drag and Drop
Do not allow the dragging and dropping of selected text in documents.
Code folding
Allow groups of lines in a document to be collapsed for easier navigation/editing.
Fold/Unfold all children of a fold point
Whether to fold/unfold all child fold points when a parent line is folded.
Use indicators to show compile errors
Underline lines with compile errors using red squiggles to indicate them in the editor area.
Newline strips trailing spaces
Remove any whitespace at the end of the line when you hit the Enter/Return key. See also Strip trailing spaces. Note auto indentation is calculated before stripping, so although this setting will clear a blank line, it will not set the next line indentation back to zero.
Line breaking column
The editor column number to insert a newline at when Line Breaking is enabled for the current document.
Comment toggle marker
A string which is added when toggling a line comment in a source file. It is used to mark the comment as toggled.

Editor Indentation preferences

./images/pref_dialog_edit_indentation.png

Indentation group

See Indentation for more information.

Width
The width of a single indent size in spaces. By default the indent size is equivalent to 4 spaces.
Detect width from file
Try to detect and set the indent width based on file content, when a file is opened.
Type

When Geany inserts indentation, whether to use:

  • Just Tabs
  • Just Spaces
  • Tabs and Spaces, depending on how much indentation is on a line

The Tabs and Spaces indent type is also known as Soft tab support in some other editors.

Detect type from file
Try to detect and set the indent type based on file content, when a file is opened.
Auto-indent mode

The type of auto-indentation you wish to use after pressing Enter, if any.

Basic
Just add the indentation of the previous line.
Current chars
Add indentation based on the current filetype and any characters at the end of the line such as {, } for C, : for Python.
Match braces
Like Current chars but for C-like languages, make a closing } brace line up with the matching opening brace.
Tab key indents

If set, pressing tab will indent the current line or selection, and unindent when pressing Shift-tab. Otherwise, the tab key will insert a tab character into the document (which can be different from indentation, depending on the indent type).

Note

There are also separate configurable keybindings for indent & unindent, but this preference allows the tab key to have different meanings in different contexts - e.g. for snippet completion.

Editor Completions preferences

./images/pref_dialog_edit_completions.png

Completions

Snippet Completion
Whether to replace special keywords after typing Tab into a pre-defined text snippet. See User-definable snippets.
XML/HTML tag auto-closing
When you open an XML/HTML tag automatically generate its completion tag.
Automatic continuation multi-line comments

Continue automatically multi-line comments in languages like C, C++ and Java when a new line is entered inside such a comment. With this option enabled, Geany will insert a * on every new line inside a multi-line comment, for example when you press return in the following C code:

/*
 * This is a C multi-line comment, press <Return>

then Geany would insert:

*

on the next line with the correct indentation based on the previous line, as long as the multi-line is not closed by */.

Autocomplete symbols
When you start to type a symbol name, look for the full string to allow it to be completed for you.
Autocomplete all words in document
When you start to type a word, Geany will search the whole document for words starting with the typed part to complete it, assuming there are no symbol names to show.
Drop rest of word on completion
Remove any word part to the right of the cursor when choosing a completion list item.
Characters to type for autocompletion
Number of characters of a word to type before autocompletion is displayed.
Completion list height
The number of rows to display for the autocompletion window.
Max. symbol name suggestions
The maximum number of items in the autocompletion list.
Symbol list update frequency

The minimum delay (in milliseconds) between two symbol list updates.

This option determines how frequently the symbol list is updated for the current document. The smaller the delay, the more up-to-date the symbol list (and then the completions); but rebuilding the symbol list has a cost in performance, especially with large files.

The default value is 250ms, which means the symbol list will be updated at most four times per second, even if the document changes continuously.

A value of 0 disables automatic updates, so the symbol list will only be updated upon document saving.

Auto-close quotes and brackets

Geany can automatically insert a closing bracket and quote characters when you open them. For instance, you type a ( and Geany will automatically insert ). With the following options, you can define for which characters this should work.

Parenthesis ( )
Auto-close parenthesis when typing an opening one
Curly brackets { }
Auto-close curly brackets (braces) when typing an opening one
Square brackets [ ]
Auto-close square brackets when typing an opening one
Single quotes ' '
Auto-close single quotes when typing an opening one
Double quotes " "
Auto-close double quotes when typing an opening one

Editor Display preferences

This is for visual elements displayed in the editor window.

./images/pref_dialog_edit_display.png

Display

Invert syntax highlighting colors
Invert all colors, by default this makes white text on a black background.
Show indendation guides
Show vertical lines to help show how much leading indentation there is on each line.
Show whitespaces
Mark all tabs with an arrow "-->" symbol and spaces with dots to show which kinds of whitespace are used.
Show line endings
Display a symbol everywhere that a carriage return or line feed is present.
Show line numbers
Show or hide the Line Number margin.
Show markers margin
Show or hide the small margin right of the line numbers, which is used to mark lines.
Stop scrolling at last line
When enabled Geany stops scrolling when at the last line of the document. Otherwise you can scroll one more page even if there are no real lines.
Lines visible around the cursor
The number of lines to maintain between the cursor and the top and bottom edges of the view. This allows some lines of context around the cursor to always be visible. If Stop scrolling at last line is disabled, the cursor will never reach the bottom edge when this value is greater than 0.

Long line marker

The long line marker helps to indicate overly-long lines, or as a hint to the user for when to break the line.

Type
Line
Show a thin vertical line in the editor window at the given column position.
Background
Change the background color of characters after the given column position to the color set below. (This is recommended over the Line setting if you use proportional fonts).
Disabled
Don't mark long lines at all.
Long line marker
Set this value to a value greater than zero to specify the column where it should appear.
Long line marker color
Set the color of the long line marker.

Virtual spaces

Virtual space is space beyond the end of each line. The cursor may be moved into virtual space but no real space will be added to the document until there is some text typed or some other text insertion command is used.

Disabled
Do not show virtual spaces
Only for rectangular selections
Only show virtual spaces beyond the end of lines when drawing a rectangular selection
Always
Always show virtual spaces beyond the end of lines

Files preferences

./images/pref_dialog_files.png

New files

Open new documents from the command-line
Whether to create new documents when passing filenames that don't exist from the command-line.
Default encoding (new files)
The type of file encoding you wish to use when creating files.
Used fixed encoding when opening files
Assume all files you are opening are using the type of encoding specified below.
Default encoding (existing files)
Opens all files with the specified encoding instead of auto-detecting it. Use this option when it's not possible for Geany to detect the exact encoding.
Default end of line characters
The end of line characters to which should be used for new files. On Windows systems, you generally want to use CR/LF which are the common characters to mark line breaks. On Unix-like systems, LF is default and CR is used on MAC systems.

Saving files

Perform formatting operations when a document is saved. These can each be undone with the Undo command.

Ensure newline at file end
Add a newline at the end of the document if one is missing.
Ensure consistent line endings
Ensures that newline characters always get converted before saving, avoiding mixed line endings in the same file.
Strip trailing spaces

Remove any whitespace at the end of each document line.

Note

This does not apply to Diff documents, e.g. patch files.

Replace tabs with spaces

Replace all tabs in the document with the equivalent number of spaces.

Note

It is better to use spaces to indent than use this preference - see Indentation.

Miscellaneous

Recent files list length
The number of files to remember in the recently used files list.
Disk check timeout

The number of seconds to periodically check the current document's file on disk in case it has changed. Setting it to 0 will disable this feature.

Note

These checks are only performed on local files. Remote files are not checked for changes due to performance issues (remote files are files in ~/.gvfs/).

Tools preferences

./images/pref_dialog_tools.png

Tool paths

Terminal
The command to execute a script in a terminal. Occurrences of %c in the command are substituted with the run script name, see Terminal emulators.
Browser
The location of your web browser executable.
Grep
The location of the grep executable.

Note

For Windows users: at the time of writing it is recommended to use the grep.exe from the UnxUtils project (http://sourceforge.net/projects/unxutils). The grep.exe from the Mingw project for instance might not work with Geany at the moment.

Commands

Context action
Set this to a command to execute on the current word. You can use the "%s" wildcard to pass the current word below the cursor to the specified command.

Template preferences

This data is used as meta data for various template text to insert into a document, such as the file header. You only need to set fields that you want to use in your template files.

./images/pref_dialog_templ.png

Template data

Developer
The name of the developer who will be creating files.
Initials
The initials of the developer.
Mail address

The email address of the developer.

Note

You may wish to add anti-spam markup, e.g. name<at>site<dot>ext.

Company
The company the developer is working for.
Initial version
The initial version of files you will be creating.
Year
Specify a format for the {year} wildcard. You can use any conversion specifiers which can be used with the ANSI C strftime function. For details please see http://man.cx/strftime.
Date
Specify a format for the {date} wildcard. You can use any conversion specifiers which can be used with the ANSI C strftime function. For details please see http://man.cx/strftime.
Date & Time
Specify a format for the {datetime} wildcard. You can use any conversion specifiers which can be used with the ANSI C strftime function. For details please see http://man.cx/strftime.

Keybinding preferences

./images/pref_dialog_keys.png

There are some commands listed in the keybinding dialog that are not, by default, bound to a key combination, and may not be available as a menu item.

Note

For more information see the section Keybindings.

Printing preferences

./images/pref_dialog_printing.png
Use external command for printing
Use a system command to print your file out.
Use native GTK printing
Let the GTK GUI toolkit handle your print request.
Print line numbers
Print the line numbers on the left of your paper.
Print page number
Print the page number on the bottom right of your paper.
Print page header
Print a header on every page that is sent to the printer.
Use base name of the printed file
Don't use the entire path for the header, only the filename.
Date format
How the date should be printed. You can use the same format specifiers as in the ANSI C function strftime(). For details please see http://man.cx/strftime.

Various preferences

./images/pref_dialog_various.png

Rarely used preferences, explained in the table below. A few of them require restart to take effect, and a few other will only affect newly opened or created documents before restart.

Key Description Default Applies
Editor related      
use_gtk_word_boundaries Whether to look for the end of a word when using word-boundary related Scintilla commands (see Scintilla keyboard commands). true to new documents
brace_match_ltgt Whether to highlight <, > angle brackets. false immediately
complete_snippets_whilst_editing Whether to allow completion of snippets when editing an existing line (i.e. there is some text after the current cursor position on the line). Only used when the keybinding Complete snippet is set to Space. false immediately
show_editor_scrollbars Whether to display scrollbars. If set to false, the horizontal and vertical scrollbars are hidden completely. true immediately
indent_hard_tab_width The size of a tab character. Don't change it unless you really need to; use the indentation settings instead. 8 immediately
editor_ime_interaction Input method editor (IME)'s candidate window behaviour. May be 0 (windowed) or 1 (inline) 0 to new documents
Interface related      
show_symbol_list_expanders Whether to show or hide the small expander icons on the symbol list treeview. true to new documents
allow_always_save Whether files can be saved always, even if they don't have any changes. By default, the Save button and menu item are disabled when a file is unchanged. When setting this option to true, the Save button and menu item are always active and files can be saved. false immediately
compiler_tab_autoscroll Whether to automatically scroll to the last line of the output in the Compiler tab. true immediately
statusbar_template The status bar statistics line format. (See Statusbar Templates for details). See below. immediately
new_document_after_close Whether to open a new document after all documents have been closed. false immediately
msgwin_status_visible Whether to show the Status tab in the Messages Window true immediately
msgwin_compiler_visible Whether to show the Compiler tab in the Messages Window true immediately
msgwin_messages_visible Whether to show the Messages tab in the Messages Window true immediately
msgwin_scribble_visible Whether to show the Scribble tab in the Messages Window true immediately
VTE related      
send_selection_unsafe By default, Geany strips any trailing newline characters from the current selection before sending it to the terminal to not execute arbitrary code. This is mainly a security feature. If, for whatever reasons, you really want it to be executed directly, set this option to true. false immediately
send_cmd_prefix String with which prefix the commands sent to the shell. This may be used to tell some shells (BASH with HISTCONTROL set to ignorespace, ZSH with HIST_IGNORE_SPACE enabled, etc.) from putting these commands in their history by setting this to a space. Note that leading spaces must be escaped using s in the configuration file. Empty immediately
File related      
use_atomic_file_saving Defines the mode how Geany saves files to disk. If disabled, Geany directly writes the content of the document to disk. This might cause loss of data when there is no more free space on disk to save the file. When set to true, Geany first saves the contents into a temporary file and if this succeeded, the temporary file is moved to the real file to save. This gives better error checking in case of no more free disk space. But it also destroys hard links of the original file and its permissions (e.g. executable flags are reset). Use this with care as it can break things seriously. The better approach would be to ensure your disk won't run out of free space. false immediately
use_gio_unsafe_file_saving Whether to use GIO as the unsafe file saving backend. It is better on most situations but is known not to work correctly on some complex setups. true immediately
gio_unsafe_save_backup Make a backup when using GIO unsafe file saving. Backup is named filename~. false immediately
keep_edit_history_on_reload Whether to maintain the edit history when reloading a file, and allow the operation to be reverted. true immediately
reload_clean_doc_on_file_change Whether to automatically reload documents that have no changes but which have changed on disk. If unsaved changes exist then the user is prompted to reload manually. false immediately
Filetype related      
extract_filetype_regex Regex to extract filetype name from file via capture group one. See below. immediately
Search related      
find_selection_type See Find selection. 0 immediately
Replace related      
replace_and_find_by_default Set Replace & Find button as default so it will be activated when the Enter key is pressed while one of the text fields has focus. true immediately
Build Menu related      
number_ft_menu_items The maximum number of menu items in the filetype section of the Build menu. 2 on restart
number_non_ft_menu_items The maximum number of menu items in the independent section of the Build menu. 3 on restart
number_exec_menu_items The maximum number of menu items in the execute section of the Build menu. 2 on restart

The extract_filetype_regex has the default value GEANY_DEFAULT_FILETYPE_REGEX.

Statusbar Templates

The default statusbar template is (note \t = tab):

line: %l / %L\t col: %c\t sel: %s\t %w      %t      %mmode: %M      encoding: %e      filetype: %f      scope: %S

Settings the preference to an empty string will also cause Geany to use this internal default.

The following format characters are available for the statusbar template:

Placeholder Description
%l The current line number starting at 1
%L The total number of lines
%c The current column number starting at 0, including virtual space.
%C The current column number starting at 1, including virtual space.
%s The number of selected characters or if only whole lines selected, the number of selected lines.
%n The number of selected characters, even if only whole lines are selected.
%w Shows RO when the document is in read-only mode, otherwise shows whether the editor is in overtype (OVR) or insert (INS) mode.
%t Shows the indentation mode, either tabs (TAB), spaces (SP) or both (T/S).
%m Shows whether the document is modified (MOD) or nothing.
%M The name of the document's line-endings (ex. Unix (LF))
%e The name of the document's encoding (ex. UTF-8).
%f The filetype of the document (ex. None, Python, C, etc).
%S The name of the scope where the caret is located.
%p The caret position in the entire document starting at 0.
%r Shows whether the document is read-only (RO) or nothing.
%Y The Scintilla style number at the caret position. This is useful if you're debugging color schemes or related code.

Terminal (VTE) preferences

See also: Virtual terminal emulator widget (VTE).

./images/pref_dialog_vte.png

Terminal widget

Terminal font
Select the font that will be used in the terminal emulation control.
Foreground color
Select the font color.
Background color
Select the background color of the terminal.
Background image
Select the background image to show behind the terminal's text.
Scrollback lines
The number of lines buffered so that you can scroll though the history.
Shell
The location of the shell on your system.
Scroll on keystroke
Scroll the terminal to the prompt line when pressing a key.
Scroll on output
Scroll the output down.
Cursor blinks
Let the terminal cursor blink.
Override Geany keybindings
Allow the VTE to receive keyboard shortcuts (apart from focus commands).
Disable menu shortcut key (F10 by default)
Disable the menu shortcut when you are in the virtual terminal.
Follow path of the current file
Make the path of the terminal change according to the path of the current file.
Execute programs in VTE
Execute programs in the virtual terminal instead of using the external terminal tool. Note that if you run multiple execute commands at once the output may become mixed together in the VTE.
Don't use run script
Don't use the simple run script which is usually used to display the exit status of the executed program. This can be useful if you already have a program running in the VTE like a Python console (e.g. ipython). Use this with care.

Project management

Project management is optional in Geany. Currently it can be used for:

  • Storing and opening session files on a project basis.
  • Overriding default settings with project equivalents.
  • Configuring the Build menu on a project basis.

A list of session files can be stored and opened with the project when the Use project-based session files preference is enabled, in the Projects group of the General Miscellaneous preferences tab of the Preferences dialog.

As long as a project is open, the Build menu will use the items defined in project's settings, instead of the defaults. See Build Menu Configuration for information on configuring the menu.

The current project's settings are saved when it is closed, or when Geany is shutdown. When restarting Geany, the previously opened project file that was in use at the end of the last session will be reopened.

The project menu items are detailed below.

New project

To create a new project, fill in the Name field. By default this will setup a new project file ~/projects/name.geany. Usually it's best to store all your project files in the same directory (they are independent of any source directory trees).

The Base path text field is setup to use ~/projects/name. This can safely be set to any existing path -- it will not touch the file structure contained in it.

Project properties

You can set an optional description for the project. Currently it's only used for a template wildcard - see Template wildcards.

The Base path field is used as the directory to run the Build menu commands. The specified path can be an absolute path or it is considered to be relative to the project's file name.

The File patterns field allows to specify a list of file patterns for the project, which can be used in the Find in files dialog.

The Indentation tab allows you to override the default Indentation settings.

Open project

The Open command displays a standard file chooser, starting in ~/projects. Choose a project file named with the .geany extension.

When project session support is enabled, Geany will close the currently open files and open the session files associated with the project.

Close project

Project file settings are saved when the project is closed.

When project session support is enabled, Geany will close the project session files and open any previously closed default session files.

Build menu

After editing code with Geany, the next step is to compile, link, build, interpret, run etc. As Geany supports many languages each with a different approach to such operations, and as there are also many language independent software building systems, Geany does not have a built-in build system, nor does it limit which system you can use. Instead the build menu provides a configurable and flexible means of running any external commands to execute your preferred build system.

This section provides a description of the default configuration of the build menu and then covers how to configure it, and where the defaults fit in.

Running the commands from within Geany has two benefits:

  • The current file is automatically saved before the command is run.
  • The output is captured in the Compiler notebook tab and parsed for warnings or errors.

Warnings and errors that can be parsed for line numbers will be shown in red in the Compiler tab and you can click on them to switch to the relevant source file (or open it) and mark the line number. Also lines with warnings or errors are marked in the source, see Indicators below.

Tip

If Geany's default error message parsing does not parse errors for the tool you're using, you can set a custom regex in the Build Commands Dialog, see Build Menu Configuration.

Indicators

Indicators are red squiggly underlines which are used to highlight errors which occurred while compiling the current file. So you can easily see where your code failed to compile. You can remove them by selecting Remove Error Indicators in the Document menu.

If you do not like this feature, you can disable it - see Editor Features preferences.

Default build menu items

Depending on the current file's filetype, the default Build menu will contain the following items:

  • Compile
  • Build
  • Lint
  • Make All
  • Make Custom Target
  • Make Object
  • Next Error
  • Previous Error
  • Execute
  • Set Build Menu Commands

Compile

The Compile command has different uses for different kinds of files.

For compilable languages such as C and C++, the Compile command is set up to compile the current source file into a binary object file.

Java source files will be compiled to class file bytecode.

Interpreted languages such as Perl, Python, Ruby will compile to bytecode if the language supports it, or will run a syntax check, or if that is not available will run the file in its language interpreter.

Build

For compilable languages such as C and C++, the Build command will link the current source file's equivalent object file into an executable. If the object file does not exist, the source will be compiled and linked in one step, producing just the executable binary.

Interpreted languages do not use the Build command.

Note

If you need complex settings for your build system, or several different settings, then writing a Makefile and using the Make commands is recommended; this will also make it easier for users to build your software.

Lint

Source code linters are often used to find code that doesn't correspond to certain style guidelines: non-portable code, common or hard to find errors, code "smells", variables used before being set, unused functions, division by zero, constant conditions, etc. Linters inspect the code and issue warnings much like the compilers do. This is formally referred to as static code analysis.

Some common linters are pre-configured for you in the Build menu (pep8 for Python, cppcheck for C/C++, JSHint for JavaScript, xmllint for XML, hlint for Haskell, shellcheck for shell code, ...), but all these are standalone tools you need to obtain before using.

Make

This runs "make" in the same directory as the current file.

Make custom target

This is similar to running 'Make' but you will be prompted for the make target name to be passed to the Make tool. For example, typing 'clean' in the dialog prompt will run "make clean".

Make object

Make object will run "make current_file.o" in the same directory as the current file, using the filename for 'current_file'. It is useful for building just the current file without building the whole project.

Next error

The next error item will move to the next detected error in the file.

Previous error

The previous error item will move to the previous detected error in the file.

Execute

Execute will run the corresponding executable file, shell script or interpreted script in a terminal window. The command set in the "Set Build Commands" dialog is run in a script to ensure the terminal stays open after execution completes. Note: see Terminal emulators below for the command format. Alternatively the built-in VTE can be used if it is available - see Virtual terminal emulator widget (VTE).

After your program or script has finished executing, the run script will prompt you to press the return key. This allows you to review any text output from the program before the terminal window is closed.

Note

The execute command output is not parsed for errors.

Stopping running processes

When there is a running program, the Execute menu item in the menu and the Run button in the toolbar each become a stop button so you can stop the current running program (and any child processes). This works by sending the SIGQUIT signal to the process.

Depending on the process you started it is possible that the process cannot be stopped. For example this can happen when the process creates more than one child process.

Terminal emulators

The Terminal field of the tools preferences tab requires a command to execute the terminal program and to pass it the name of the Geany run script that it should execute in a Bourne compatible shell (eg /bin/sh). The marker "%c" is substituted with the name of the Geany run script, which is created in the temporary directory and which changes the working directory to the directory set in the Build commands dialog, see Build menu commands dialog for details.

As an example the default (Linux) command is:

xterm -e "/bin/sh %c"

Set build commands

By default Compile, Build and Execute are fairly basic commands. You may wish to customise them using Set Build Commands.

E.g. for C you can add any include paths and compile flags for the compiler, any library names and paths for the linker, and any arguments you want to use when running Execute.

Build menu configuration

The build menu has considerable flexibility and configurability, allowing both menu labels the commands they execute and the directory they execute in to be configured.

For example, if you change one of the default make commands to run say 'waf' you can also change the label to match.

These settings are saved automatically when Geany is shut down.

The build menu is divided into four groups of items each with different behaviors:

  • Filetype build commands - are configurable and depend on the filetype of the current document; they capture output in the compiler tab and parse it for errors.
  • Independent build commands - are configurable and mostly don't depend on the filetype of the current document; they also capture output in the compiler tab and parse it for errors.
  • Execute commands - are configurable and intended for executing your program or other long running programs. The output is not parsed for errors and is directed to the terminal command selected in preferences.
  • Fixed commands - these perform built-in actions:
    • Go to the next error.
    • Go to the previous error.
    • Show the build menu commands dialog.

The maximum numbers of items in each of the configurable groups can be configured in the Various preferences. Even though the maximum number of items may have been increased, only those menu items that have values configured are shown in the menu.

The groups of menu items obtain their configuration from four potential sources. The highest priority source that has the menu item defined will be used. The sources in decreasing priority are:

  • A project file if open
  • The user preferences
  • The system filetype definitions
  • The defaults

The detailed relationships between sources and the configurable menu item groups is shown in the following table.

Group Project File Preferences System Filetype Defaults
Filetype

Loads From: project file

Saves To: project file

Loads From: filetypes.xxx file in ~/.config/geany/filedefs

Saves to: as above, creating if needed.

Loads From: filetypes.xxx in Geany install

Saves to: as user preferences left.

None
Filetype Independent

Loads From: project file

Saves To: project file

Loads From: geany.conf file in ~/.config/geany

Saves to: as above, creating if needed.

Loads From: filetypes.xxx in Geany install

Saves to: as user preferences left.

1:
Label: _Make Command: make
2:
Label: Make Custom _Target Command: make
3:
Label: Make _Object Command: make %e.o
Execute

Loads From: project file or else filetype defined in project file

Saves To: project file

Loads From: geany.conf file in ~/.config/geany or else filetypes.xxx file in ~/.config/geany/filedefs

Saves To: filetypes.xxx file in ~/.config/geany/filedefs

Loads From: filetypes.xxx in Geany install

Saves To: as user preferences left.

Label: _Execute Command: ./%e

The following notes on the table reference cells by coordinate as (group,source):

  • General - for filetypes.xxx substitute the appropriate extension for the filetype of the current document for xxx - see filenames.
  • System Filetypes - Labels loaded from these sources are locale sensitive and can contain translations.
  • (Filetype, Project File) and (Filetype, Preferences) - preferences use a full filetype file so that users can configure all other filetype preferences as well. Projects can only configure menu items per filetype. Saving in the project file means that there is only one file per project not a whole directory.
  • (Filetype-Independent, System Filetype) - although conceptually strange, defining filetype-independent commands in a filetype file, this provides the ability to define filetype dependent default menu items.
  • (Execute, Project File) and (Execute, Preferences) - the project independent execute and preferences independent execute commands can only be set by hand editing the appropriate file, see Preferences file format and Project file format.

Build menu commands dialog

Most of the configuration of the build menu is done through the Build Menu Commands Dialog. You edit the configuration sourced from preferences in the dialog opened from the Build->Build Menu Commands item and you edit the configuration from the project in the build tab of the project preferences dialog. Both use the same form shown below.

./images/build_menu_commands_dialog.png

The dialog is divided into three sections:

  • Filetype build commands (selected based on the current document's filetype).
  • Independent build commands (available regardless of filetype).
  • Filetype execute commands.

The filetype and independent sections also each contain a field for the regular expression used for parsing command output for error and warning messages.

The columns in the first three sections allow setting of the label, command, and working directory to run the command in.

An item with an empty label will not be shown in the menu.

An empty working directory will default to the directory of the current document. If there is no current document then the command will not run.

The dialog will always show the command selected by priority, not just the commands configured in this configuration source. This ensures that you always see what the menu item is going to do if activated.

If the current source of the menu item is higher priority than the configuration source you are editing then the command will be shown in the dialog but will be insensitive (greyed out). This can't happen with the project source but can with the preferences source dialog.

The clear buttons remove the definition from the configuration source you are editing. When you do this the command from the next lower priority source will be shown. To hide lower priority menu items without having anything show in the menu configure with a nothing in the label but at least one character in the command.

Substitutions in commands and working directories

The first occurrence of each of the following character sequences in each of the command and working directory fields is substituted by the items specified below before the command is run.

  • %d - substituted by the absolute path to the directory of the current file.
  • %e - substituted by the name of the current file without the extension or path.
  • %f - substituted by the name of the current file without the path.
  • %p - if a project is open, substituted by the base path from the project.
  • %l - substituted by the line number at the current cursor position.

Note

If the basepath set in the project preferences is not an absolute path , then it is taken as relative to the directory of the project file. This allows a project file stored in the source tree to specify all commands and working directories relative to the tree itself, so that the whole tree including the project file, can be moved and even checked into and out of version control without having to re-configure the build menu.

Build menu keyboard shortcuts

Keyboard shortcuts can be defined for the first two filetype menu items, the first three independent menu items, the first execute menu item and the fixed menu items. In the keybindings configuration dialog (see Keybinding preferences) these items are identified by the default labels shown in the Build Menu section above.

It is currently not possible to bind keyboard shortcuts to more than these menu items.

You can also use underlines in the labels to set mnemonic characters.

Old settings

The configurable Build Menu capability was introduced in Geany 0.19 and required a new section to be added to the configuration files (See Preferences file format). Geany will still load older format project, preferences and filetype file settings and will attempt to map them into the new configuration format. There is not a simple clean mapping between the formats. The mapping used produces the most sensible results for the majority of cases. However, if they do not map the way you want, you may have to manually configure some settings using the Build Commands Dialog or the Build tab of the project preferences dialog.

Any setting configured in either of these dialogs will override settings mapped from older format configuration files.

Printing support

Since Geany 0.13 there has been printing support using GTK's printing API. The printed page(s) will look nearly the same as on your screen in Geany. Additionally, there are some options to modify the printed page(s).

Note

The background text color is set to white, except for text with a white foreground. This allows dark color schemes to save ink when printing.

You can define whether to print line numbers, page numbers at the bottom of each page and whether to print a page header on each page. This header contains the filename of the printed document, the current page number and the date and time of printing. By default, the file name of the document with full path information is added to the header. If you prefer to add only the basename of the file(without any path information) you can set it in the preferences dialog. You can also adjust the format of the date and time added to the page header. The available conversion specifiers are the same as the ones which can be used with the ANSI C strftime function.

All of these settings can also be changed in the print dialog just before actual printing is done. On Unix-like systems the provided print dialog offers a print preview. The preview file is opened with a PDF viewer and by default GTK uses evince for print preview. If you have not installed evince or just want to use another PDF viewer, you can change the program to use in the file .gtkrc-2.0 (usually found in your home directory). Simply add a line like:

gtk-print-preview-command = "epdfview %f"

at the end of the file. Of course, you can also use xpdf, kpdf or whatever as the print preview command.

Geany also provides an alternative basic printing support using a custom print command. However, the printed document contains no syntax highlighting. You can adjust the command to which the filename is passed in the preferences dialog. The default command is:

% lpr %f

%f will be substituted by the filename of the current file. Geany will not show errors from the command itself, so you should make sure that it works before(e.g. by trying to execute it from the command line).

A nicer example, which many prefer is:

% a2ps -1 --medium=A4 -o - %f | xfprint4

But this depends on a2ps and xfprint4. As a replacement for xfprint4, gtklp or similar programs can be used.

Plugins

Plugins are loaded at startup, if the Enable plugin support general preference is set. There is also a command-line option, -p, which prevents plugins being loaded. Plugins are scanned in the following directories:

  • $prefix/lib/geany on Unix-like systems (see Installation prefix)
  • The lib subfolder of the installation path on Windows.
  • The plugins subfolder of the user configuration directory - see Configuration file paths.
  • The Extra plugin path preference (usually blank) - see Paths.

Most plugins add menu items to the Tools menu when they are loaded.

See also Plugin documentation for information about single plugins which are included in Geany.

Plugin manager

The Plugin Manager dialog lets you choose which plugins should be loaded at startup. You can also load and unload plugins on the fly using this dialog. Once you click the checkbox for a specific plugin in the dialog, it is loaded or unloaded according to its previous state. By default, no plugins are loaded at startup until you select some. You can also configure some plugin specific options if the plugin provides any.

Keybindings

Geany supports the default keyboard shortcuts for the Scintilla editing widget. For a list of these commands, see Scintilla keyboard commands. The Scintilla keyboard shortcuts will be overridden by any custom keybindings with the same keyboard shortcut.

Switching documents

There are some non-configurable bindings to switch between documents, listed below. These can also be overridden by custom keybindings.

Key Action
Alt-[1-9] Select left-most tab, from 1 to 9.
Alt-0 Select right-most tab.

See also Notebook tab keybindings.

Configurable keybindings

For all actions listed below you can define your own keybindings. Open the Preferences dialog, select the desired action and click on change. In the resulting dialog you can press the key combination you want to assign to the action and it will be saved when you press OK. You can define only one key combination for each action and each key combination can only be defined for one action.

The following tables list all customizable keyboard shortcuts, those which are common to many applications are marked with (C) after the shortcut.

File keybindings

Action Default shortcut Description
New Ctrl-N (C) Creates a new file.
Open Ctrl-O (C) Opens a file.
Open selected file Ctrl-Shift-O Opens the selected filename.
Re-open last closed tab   Re-opens the last closed document tab.
Save Ctrl-S (C) Saves the current file.
Save As   Saves the current file under a new name.
Save all Ctrl-Shift-S Saves all open files.
Close all Ctrl-Shift-W Closes all open files.
Close Ctrl-W (C) Closes the current file.
Reload file Ctrl-R (C) Reloads the current file.
Print Ctrl-P (C) Prints the current file.
Quit Ctrl-Q (C) Quits Geany.

Editor keybindings

Action Default shortcut Description
Undo Ctrl-Z (C) Un-does the last action.
Redo Ctrl-Y Re-does the last action.
Delete current line(s) Ctrl-K Deletes the current line (and any lines with a selection).
Delete to line end Ctrl-Shift-Delete Deletes from the current caret position to the end of the current line.
Delete to line start Ctrl-Shift-BackSpace Deletes from the beginning of the line to the current caret position.
Duplicate line or selection Ctrl-D Duplicates the current line or selection.
Transpose current line   Transposes the current line with the previous one.
Scroll to current line Ctrl-Shift-L Scrolls the current line into the centre of the view. The cursor position and or an existing selection will not be changed.
Scroll up by one line Alt-Up Scrolls the view.
Scroll down by one line Alt-Down Scrolls the view.
Complete word Ctrl-Space Shows the autocompletion list. If already showing symbol completion, it shows document word completion instead, even if it is not enabled for automatic completion. Likewise if no symbol suggestions are available, it shows document word completion.
Show calltip Ctrl-Shift-Space Shows a calltip for the current function or method.
Complete snippet Tab If you type a construct like if or for and press this key, it will be completed with a matching template.
Suppress snippet completion   If you type a construct like if or for and press this key, it will not be completed, and a space or tab will be inserted, depending on what the construct completion keybinding is set to. For example, if you have set the construct completion keybinding to space, then setting this to Shift+space will prevent construct completion and insert a space.
Context Action   Executes a command and passes the current word (near the cursor position) or selection as an argument. See the section called Context actions.
Move cursor in snippet   Jumps to the next defined cursor positions in a completed snippets if multiple cursor positions where defined.
Word part completion Tab When the autocompletion list is visible, complete the currently selected item up to the next word part.
Move line(s) up Alt-PageUp Move the current line or selected lines up by one line.
Move line(s) down Alt-PageDown Move the current line or selected lines down by one line.

Clipboard keybindings

Action Default shortcut Description
Cut Ctrl-X (C) Cut the current selection to the clipboard.
Copy Ctrl-C (C) Copy the current selection to the clipboard.
Paste Ctrl-V (C) Paste the clipboard text into the current document.
Cut current line(s) Ctrl-Shift-X Cuts the current line (and any lines with a selection) to the clipboard.
Copy current line(s) Ctrl-Shift-C Copies the current line (and any lines with a selection) to the clipboard.

Select keybindings

Action Default shortcut Description
Select all Ctrl-A (C) Makes a selection of all text in the current document.
Select current word Alt-Shift-W Selects the current word under the cursor.
Select current paragraph Alt-Shift-P Selects the current paragraph under the cursor which is defined by two empty lines around it.
Select current line(s) Alt-Shift-L Selects the current line under the cursor (and any partially selected lines).
Select to previous word part   (Extend) selection to previous word part boundary.
Select to next word part   (Extend) selection to next word part boundary.

Insert keybindings

Action Default shortcut Description
Insert date Shift-Alt-D Inserts a customisable date.
Insert alternative whitespace   Inserts a tab character when spaces should be used for indentation and inserts space characters of the amount of a tab width when tabs should be used for indentation.
Insert New Line Before Current   Inserts a new line with indentation.
Insert New Line After Current   Inserts a new line with indentation.

Format keybindings

Action Default shortcut Description
Toggle case of selection Ctrl-Alt-U Changes the case of the selection. A lowercase selection will be changed into uppercase and vice versa. If the selection contains lower- and uppercase characters, all will be converted to lowercase.
Comment line   Comments current line or selection.
Uncomment line   Uncomments current line or selection.
Toggle line commentation Ctrl-E Comments a line if it is not commented or removes a comment if the line is commented.
Increase indent Ctrl-I Indents the current line or selection by one tab or with spaces in the amount of the tab width setting.
Decrease indent Ctrl-U Removes one tab or the amount of spaces of the tab width setting from the indentation of the current line or selection.
Increase indent by one space   Indents the current line or selection by one space.
Decrease indent by one space   Deindents the current line or selection by one space.
Smart line indent   Indents the current line or all selected lines with the same indentation as the previous line.
Send to Custom Command 1 (2,3) Ctrl-1 (2,3) Passes the current selection to a configured external command (available for the first 9 configured commands, see Sending text through custom commands for details).
Send Selection to Terminal   Sends the current selection or the current line (if there is no selection) to the embedded Terminal (VTE).
Reflow lines/block   Reformat selected lines or current (indented) text block, breaking lines at the long line marker or the line breaking column if line breaking is enabled for the current document.

Settings keybindings

Action Default shortcut Description
Preferences Ctrl-Alt-P Opens preferences dialog.
Plugin Preferences   Opens plugin preferences dialog.

Search keybindings

Action Default shortcut Description
Find Ctrl-F (C) Opens the Find dialog.
Find Next Ctrl-G Finds next result.
Find Previous Ctrl-Shift-G Finds previous result.
Find Next Selection   Finds next occurrence of selected text.
Find Previous Selection   Finds previous occurrence of selected text.
Replace Ctrl-H (C) Opens the Replace dialog.
Find in files Ctrl-Shift-F Opens the Find in files dialog.
Next message   Jumps to the line with the next message in the Messages window.
Previous message   Jumps to the line with the previous message in the Messages window.
Find Usage Ctrl-Shift-E Finds all occurrences of the current word or selection (see note below) in all open documents and displays them in the messages window.
Find Document Usage Ctrl-Shift-D Finds all occurrences of the current word or selection (see note below) in the current document and displays them in the messages window.
Mark All Ctrl-Shift-M Highlight all matches of the current word/selection (see note below) in the current document with a colored box. If there's nothing to find, or the cursor is next to an existing match, the highlighted matches will be cleared.

Note

The keybindings marked "see note below" work like this: if no text is selected, the word under cursor is used, and it has to match fully (like when Match only a whole word is enabled in the Search dialog). However if some text is selected, then it is matched regardless of word boundaries.

Go to keybindings

Action Default shortcut Description
Navigate forward a location Alt-Right (C) Switches to the next location in the navigation history. See the section called Code Navigation History.
Navigate back a location Alt-Left (C) Switches to the previous location in the navigation history. See the section called Code navigation history.
Go to line Ctrl-L Focuses the Go to Line entry (if visible) or shows the Go to line dialog.
Goto matching brace Ctrl-B If the cursor is ahead or behind a brace, then it is moved to the brace which belongs to the current one. If this keyboard shortcut is pressed again, the cursor is moved back to the first brace.
Toggle marker Ctrl-M Set a marker on the current line, or clear the marker if there already is one.
Goto next marker Ctrl-. Goto the next marker in the current document.
Goto previous marker Ctrl-, Goto the previous marker in the current document.
Go to symbol definition Ctrl-T Jump to the definition of the current word or selection. See Go to symbol definition.
Go to symbol declaration Ctrl-Shift-T Jump to the declaration of the current word or selection. See Go to symbol declaration.
Go to Start of Line Home Move the caret to the start of the line. Behaves differently if smart_home_key is set.
Go to End of Line End Move the caret to the end of the line.
Go to Start of Display Line Alt-Home Move the caret to the start of the display line. This is useful when you use line wrapping and want to jump to the start of the wrapped, virtual line, not the real start of the whole line. If the line is not wrapped, it behaves like Go to Start of Line.
Go to End of Display Line Alt-End Move the caret to the end of the display line. If the line is not wrapped, it behaves like Go to End of Line.
Go to Previous Word Part Ctrl-/ Goto the previous part of the current word.
Go to Next Word Part Ctrl-\ Goto the next part of the current word.

View keybindings

Action Default shortcut Description
Fullscreen F11 (C) Switches to fullscreen mode.
Toggle Messages Window   Toggles the message window (status and compiler messages) on and off.
Toggle Sidebar   Shows or hides the sidebar.
Toggle all additional widgets   Hide and show all additional widgets like the notebook tabs, the toolbar, the messages window and the status bar.
Zoom In Ctrl-+ (C) Zooms in the text.
Zoom Out Ctrl-- (C) Zooms out the text.
Zoom Reset Ctrl-0 Reset any previous zoom on the text.

Focus keybindings

Action Default shortcut Description
Switch to Editor F2 Switches to editor widget. Also reshows the document statistics line (after a short timeout).
Switch to Search Bar F7 Switches to the search bar in the toolbar (if visible).
Switch to Message Window   Focus the Message Window's current tab.
Switch to Compiler   Focus the Compiler message window tab.
Switch to Messages   Focus the Messages message window tab.
Switch to Scribble F6 Switches to scribble widget.
Switch to VTE F4 Switches to VTE widget.
Switch to Sidebar   Focus the Sidebar.
Switch to Sidebar Symbol List   Focus the Symbol list tab in the Sidebar (if visible).
Switch to Sidebar Document List   Focus the Document list tab in the Sidebar (if visible).

Notebook tab keybindings

Action Default shortcut Description
Switch to left document Ctrl-PageUp (C) Switches to the previous open document.
Switch to right document Ctrl-PageDown (C) Switches to the next open document.
Switch to last used document Ctrl-Tab Switches to the previously shown document (if it's still open). Holding Ctrl (or another modifier if the keybinding has been changed) will show a dialog, then repeated presses of the keybinding will switch to the 2nd-last used document, 3rd-last, etc. Also known as Most-Recently-Used documents switching.
Move document left Ctrl-Shift-PageUp Changes the current document with the left hand one.
Move document right Ctrl-Shift-PageDown Changes the current document with the right hand one.
Move document first   Moves the current document to the first position.
Move document last   Moves the current document to the last position.

Document keybindings

Action Default shortcut Description
Clone   See Cloning documents.
Replace tabs with space   Replaces all tabs with the right amount of spaces in the whole document, or the current selection.
Replace spaces with tabs   Replaces leading spaces with tab characters in the whole document, or the current selection.
Toggle current fold   Toggles the folding state of the current code block.
Fold all   Folds all contractible code blocks.
Unfold all   Unfolds all contracted code blocks.
Reload symbol list Ctrl-Shift-R Reloads the symbol list.
Toggle Line wrapping   Enables or disables wrapping of long lines.
Toggle Line breaking   Enables or disables automatic breaking of long lines at a configurable column.
Remove Markers   Remove any markers on lines or words which were set by using 'Mark All' in the search dialog or by manually marking lines.
Remove Error Indicators   Remove any error indicators in the current document.
Remove Markers and Error Indicators   Combines Remove Markers and Remove Error Indicators.

Project keybindings

Action Default shortcut Description
New   Create a new project.
Open   Opens a project file.
Properties   Shows project properties.
Close   Close the current project.

Build keybindings

Action Default shortcut Description
Compile F8 Compiles the current file.
Build F9 Builds (compiles if necessary and links) the current file.
Make all Shift-F9 Builds the current file with the Make tool.
Make custom target Ctrl-Shift-F9 Builds the current file with the Make tool and a given target.
Make object Shift-F8 Compiles the current file with the Make tool.
Next error   Jumps to the line with the next error from the last build process.
Previous error   Jumps to the line with the previous error from the last build process.
Run F5 Executes the current file in a terminal emulation.
Set Build Commands   Opens the build commands dialog.

Tools keybindings

Action Default shortcut Description
Show Color Chooser   Opens the Color Chooser dialog.

Help keybindings

Action Default shortcut Description
Help F1 (C) Opens the manual.

Configuration files

Warning

You must use UTF-8 encoding without BOM for configuration files.

Configuration file paths

Geany has default configuration files installed for the system and also per-user configuration files.

The system files should not normally be edited because they will be overwritten when upgrading Geany.

The user configuration directory can be overridden with the -c switch, but this is not normally done. See Command line options.

Note

Any missing subdirectories in the user configuration directory will be created when Geany starts.

You can check the paths Geany is using with Help->Debug Messages. Near the top there should be 2 lines with something like:

Geany-INFO: System data dir: /usr/share/geany
Geany-INFO: User config dir: /home/username/.config/geany

Paths on Unix-like systems

The system path is $prefix/share/geany, where $prefix is the path where Geany is installed (see Installation prefix).

The user configuration directory is normally: /home/username/.config/geany

Paths on Windows

The system path is the data subfolder of the installation path on Windows.

The user configuration directory might vary, but on Windows XP it's: C:\Documents and Settings\UserName\Application Data\geany On Windows 7 and above you most likely will find it at: C:\users\UserName\Roaming\geany

Tools menu items

There's a Configuration files submenu in the Tools menu that contains items for some of the available user configuration files. Clicking on one opens it in the editor for you to update. Geany will reload the file after you have saved it.

Note

Other configuration files not shown here will need to be opened manually, and will not be automatically reloaded when saved. (see Reload Configuration below).

There's also a Reload Configuration item which can be used if you updated one of the other configuration files, or modified or added template files.

Reload Configuration is also necessary to update syntax highlighting colors.

Note

Syntax highlighting colors aren't updated in open documents after saving filetypes.common as this may take a significant amount of time.

Global configuration file

System administrators can add a global configuration file for Geany which will be used when starting Geany and a user configuration file does not exist.

The global configuration file is read from geany.conf in the system configuration path - see Configuration file paths. It can contain any settings which are found in the usual configuration file created by Geany, but does not have to contain all settings.

Note

This feature is mainly intended for package maintainers or system admins who want to set up Geany in a multi user environment and set some sane default values for this environment. Usually users won't need to do that.

Filetype definition files

All color definitions and other filetype specific settings are stored in the filetype definition files. Those settings are colors for syntax highlighting, general settings like comment characters or word delimiter characters as well as compiler and linker settings.

See also Configuration file paths.

Filenames

Each filetype has a corresponding filetype definition file. The format for built-in filetype Foo is:

filetypes.foo

The extension is normally just the filetype name in lower case.

However there are some exceptions:

Filetype Extension
C++ cpp
C# cs
Make makefile
Matlab/Octave matlab

There is also the special file filetypes.common.

For custom filetypes, the filename for Foo is different:

filetypes.Foo.conf

See the link for details.

System files

The system-wide filetype configuration files can be found in the system configuration path and are called filetypes.$ext, where $ext is the name of the filetype. For every filetype there is a corresponding definition file. There is one exception: filetypes.common -- this file is for general settings, which are not specific to a certain filetype.

Warning

It is not recommended that users edit the system-wide files, because they will be overridden when Geany is updated.

User files

To change the settings, copy a file from the system configuration path to the subdirectory filedefs in your user configuration directory. Then you can edit the file and the changes will still be available after an update of Geany.

Alternatively, you can create the file yourself and add only the settings you want to change. All missing settings will be read from the corresponding system configuration file.

Custom filetypes

At startup Geany looks for filetypes.*.conf files in the system and user filetype paths, adding any filetypes found with the name matching the '*' wildcard - e.g. filetypes.Bar.conf.

Custom filetypes are not as powerful as built-in filetypes, but support for the following has been implemented:

  • Recognizing and setting the filetype (after the user has manually updated the filetype extensions file).
  • Filetype group membership.
  • Reading filetype settings in the [settings] section, including:
  • Build commands ([build-menu] section).
  • Loading global tags files (sharing the tag_parser filetype's namespace).

See Filetype configuration for details on each setting.

Creating a custom filetype from an existing filetype

Because most filetype settings will relate to the syntax highlighting (e.g. styling, keywords, lexer_properties sections), it is best to copy an existing filetype file that uses the lexer you wish to use as the basis of a custom filetype, using the correct filename extension format shown above, e.g.:

cp filetypes.foo filetypes.Bar.conf

Then add the lexer_filetype=Foo setting (if not already present) and add/adjust other settings.

Warning

The [styling] and [keywords] sections have key names specific to each filetype/lexer. You must follow the same names - in particular, some lexers only support one keyword list, or none.

Filetype configuration

As well as the sections listed below, each filetype file can contain a [build-menu] section as described in [build-menu] section.

[styling] section

In this section the colors for syntax highlighting are defined. The manual format is:

  • key=foreground_color;background_color;bold_flag;italic_flag

Colors have to be specified as RGB hex values prefixed by 0x or # similar to HTML/CSS hex triplets. For example, all of the following are valid values for pure red; 0xff0000, 0xf00, #ff0000, or #f00. The values are case-insensitive but it is a good idea to use lower-case. Note that you can also use named colors as well by substituting the color value with the name of a color as defined in the [named_colors] section, see the [named_colors] Section for more information.

Bold and italic are flags and should only be "true" or "false". If their value is something other than "true" or "false", "false" is assumed.

You can omit fields to use the values from the style named "default".

E.g. key=0xff0000;;true

This makes the key style have red foreground text, default background color text and bold emphasis.

Using a named style

The second format uses a named style name to reference a style defined in filetypes.common.

  • key=named_style
  • key2=named_style2,bold,italic

The bold and italic parts are optional, and if present are used to toggle the bold or italic flags to the opposite of the named style's flags. In contrast to style definition booleans, they are a literal ",bold,italic" and commas are used instead of semi-colons.

E.g. key=comment,italic

This makes the key style match the "comment" named style, but with italic emphasis.

To define named styles, see the filetypes.common [named_styles] Section.

Reading styles from another filetype

You can automatically copy all of the styles from another filetype definition file by using the following syntax for the [styling] group:

[styling=Foo]

Where Foo is a filetype name. The corresponding [styling] section from filetypes.foo will be read.

This is useful when the same lexer is being used for multiple filetypes (e.g. C/C++/C#/Java/etc). For example, to make the C++ styling the same as the C styling, you would put the following in filetypes.cpp:

[styling=C]

[keywords] section

This section contains keys for different keyword lists specific to the filetype. Some filetypes do not support keywords, so adding a new key will not work. You can only add or remove keywords to/from an existing list.

Important

The keywords list must be in one line without line ending characters.

[lexer_properties] section

Here any special properties for the Scintilla lexer can be set in the format key.name.field=some.value.

Properties Geany uses are listed in the system filetype files. To find other properties you need Geany's source code:

egrep -o 'GetProperty\w*\("([^"]+)"[^)]+\)' scintilla/Lex*.cxx

[settings] section

extension

This is the default file extension used when saving files, not including the period character (.). The extension used should match one of the patterns associated with that filetype (see Filetype extensions).

Example: extension=cxx

wordchars

These characters define word boundaries when making selections and searching using word matching options.

Example: (look at system filetypes.* files)

Note

This overrides the wordchars filetypes.common setting, and has precedence over the whitespace_chars setting.

comment_single

A character or string which is used to comment code. If you want to use multiline comments only, don't set this but rather comment_open and comment_close.

Single-line comments are used in priority over multiline comments to comment a line, e.g. with the Comment/Uncomment line command.

Example: comment_single=//

comment_open

A character or string which is used to comment code. You need to also set comment_close to really use multiline comments. If you want to use single-line comments, prefer setting comment_single.

Multiline comments are used in priority over single-line comments to comment a block, e.g. template comments.

Example: comment_open=/*

comment_close

If multiline comments are used, this is the character or string to close the comment.

Example: comment_close=*/

comment_use_indent

Set this to false if a comment character or string should start at column 0 of a line. If set to true it uses any indentation of the line.

Note: Comment indentation

comment_use_indent=true would generate this if a line is commented (e.g. with Ctrl-D):

#command_example();

comment_use_indent=false would generate this if a line is commented (e.g. with Ctrl-D):

#   command_example();

Note: This setting only works for single line comments (like '//', '#' or ';').

Example: comment_use_indent=true

context_action_cmd

A command which can be executed on the current word or the current selection.

Example usage: Open the API documentation for the current function call at the cursor position.

The command can be set for every filetype or if not set, a global command will be used. The command itself can be specified without the full path, then it is searched in $PATH. But for security reasons, it is recommended to specify the full path to the command. The wildcard %s will be replaced by the current word at the cursor position or by the current selection.

Hint: for PHP files the following could be quite useful: context_action_cmd=firefox "http://www.php.net/%s"

Example: context_action_cmd=devhelp -s "%s"

tag_parser
The TagManager language name, e.g. "C". Usually the same as the filetype name.
lexer_filetype

A filetype name to setup syntax highlighting from another filetype. This must not be recursive, i.e. it should be a filetype name that doesn't use the lexer_filetype key itself, e.g.:

lexer_filetype=C
#lexer_filetype=C++

The second line is wrong, because filetypes.cpp itself uses lexer_filetype=C, which would be recursive.

symbol_list_sort_mode

What the default symbol list sort order should be.

Value Meaning
0 Sort symbols by name
1 Sort symbols by appearance (line number)
xml_indent_tags
If this setting is set to true, a new line after a line ending with an unclosed XML/HTML tag will be automatically indented. This only applies to filetypes for which the HTML or XML lexer is used. Such filetypes have this setting in their system configuration files.
mime_type
The MIME type for this file type, e.g. "text/x-csrc". This is used for example to chose the icon to display for this file type.

[indentation] section

This section allows definition of default indentation settings specific to the file type, overriding the ones configured in the preferences. This can be useful for file types requiring specific indentation settings (e.g. tabs only for Makefile). These settings don't override auto-detection if activated.

width
The forced indentation width.
type

The forced indentation type.

Value Indentation type
0 Spaces only
1 Tabs only
2 Mixed (tabs and spaces)

[build_settings] section

As of Geany 0.19 this section is supplemented by the [build-menu] section. Values that are set in the [build-menu] section will override those in this section.

error_regex

This is a Perl-compatible regular expression (PCRE) to parse a filename (absolute or relative) and line number from the build output. If undefined, Geany will fall back to its default error message parsing.

Only the first two match groups will be read by Geany. These groups can occur in any order: the match group consisting of only digits will be used as the line number, and the other group as the filename. In no group consists of only digits, the match will fail.

Example: error_regex=^(.+):([0-9]+):[0-9]+

This will parse a message such as: test.py:7:24: E202 whitespace before ']'

Build commands

If any build menu item settings have been configured in the Build Menu Commands dialog or the Build tab of the project preferences dialog then these settings are stored in the [build-menu] section and override the settings in this section for that item.

compiler

This item specifies the command to compile source code files. But it is also possible to use it with interpreted languages like Perl or Python. With these filetypes you can use this option as a kind of syntax parser, which sends output to the compiler message window.

You should quote the filename to also support filenames with spaces. The following wildcards for filenames are available:

  • %f -- complete filename without path
  • %e -- filename without path and without extension

Example: compiler=gcc -Wall -c "%f"

linker

This item specifies the command to link the file. If the file is not already compiled, it will be compiled while linking. The -o option is automatically added by Geany. This item works well with GNU gcc, but may be problematic with other compilers (esp. with the linker).

Example: linker=gcc -Wall "%f"

run_cmd

Use this item to execute your file. It has to have been built already. Use the %e wildcard to have only the name of the executable (i.e. without extension) or use the %f wildcard if you need the complete filename, e.g. for shell scripts.

Example: run_cmd="./%e"

Special file filetypes.common

There is a special filetype definition file called filetypes.common. This file defines some general non-filetype-specific settings.

You can open the user filetypes.common with the Tools->Configuration Files->filetypes.common menu item. This adds the default settings to the user file if the file doesn't exist. Alternatively the file can be created manually, adding only the settings you want to change. All missing settings will be read from the system file.

Note

See the Filetype configuration section for how to define styles.

[named_styles] section

Named styles declared here can be used in the [styling] section of any filetypes.* file.

For example:

In filetypes.common:

[named_styles]
foo=0xc00000;0xffffff;false;true
bar=foo

In filetypes.c:

[styling]
comment=foo

This saves copying and pasting the whole style definition into several different files.

Note

You can define aliases for named styles, as shown with the bar entry in the above example, but they must be declared after the original style.

[named_colors] section

Named colors declared here can be used in the [styling] or [named_styles] section of any filetypes.* file or color scheme.

For example:

[named_colors]
my_red_color=#FF0000
my_blue_color=#0000FF

[named_styles]
foo=my_red_color;my_blue_color;false;true

This allows to define a color palette by name so that to change a color scheme-wide only involves changing the hex value in a single location.

[styling] section

default

This is the default style. It is used for styling files without a filetype set.

Example: default=0x000000;0xffffff;false;false

selection

The style for coloring selected text. The format is:

  • Foreground color
  • Background color
  • Use foreground color
  • Use background color

The colors are only set if the 3rd or 4th argument is true. When the colors are not overridden, the default is a dark grey background with syntax highlighted foreground text.

Example: selection=0xc0c0c0;0x00007F;true;true

brace_good

The style for brace highlighting when a matching brace was found.

Example: brace_good=0xff0000;0xFFFFFF;true;false

brace_bad

The style for brace highlighting when no matching brace was found.

Example: brace_bad=0x0000ff;0xFFFFFF;true;false

caret

The style for coloring the caret(the blinking cursor). Only first and third argument is interpreted. Set the third argument to true to change the caret into a block caret.

Example: caret=0x000000;0x0;false;false

caret_width

The width for the caret(the blinking cursor). Only the first argument is interpreted. The width is specified in pixels with a maximum of three pixel. Use the width 0 to make the caret invisible.

Example: caret_width=3

current_line

The style for coloring the background of the current line. Only the second and third arguments are interpreted. The second argument is the background color. Use the third argument to enable or disable background highlighting for the current line (has to be true/false).

Example: current_line=0x0;0xe5e5e5;true;false

indent_guide

The style for coloring the indentation guides. Only the first and second arguments are interpreted.

Example: indent_guide=0xc0c0c0;0xffffff;false;false

white_space

The style for coloring the white space if it is shown. The first both arguments define the foreground and background colors, the third argument sets whether to use the defined foreground color or to use the color defined by each filetype for the white space. The fourth argument defines whether to use the background color.

Example: white_space=0xc0c0c0;0xffffff;true;true

margin_linenumber
Line number margin foreground and background colors.
margin_folding
Fold margin foreground and background colors.
fold_symbol_highlight
Highlight color of folding symbols.
folding_style

The style of folding icons. Only first and second arguments are used.

Valid values for the first argument are:

  • 1 -- for boxes
  • 2 -- for circles
  • 3 -- for arrows
  • 4 -- for +/-

Valid values for the second argument are:

  • 0 -- for no lines
  • 1 -- for straight lines
  • 2 -- for curved lines

Default: folding_style=1;1;

Arrows: folding_style=3;0;

folding_horiz_line

Draw a thin horizontal line at the line where text is folded. Only first argument is used.

Valid values for the first argument are:

  • 0 -- disable, do not draw a line
  • 1 -- draw the line above folded text
  • 2 -- draw the line below folded text

Example: folding_horiz_line=0;0;false;false

line_wrap_visuals

First argument: drawing of visual flags to indicate a line is wrapped. This is a bitmask of the values:

  • 0 -- No visual flags
  • 1 -- Visual flag at end of subline of a wrapped line
  • 2 -- Visual flag at begin of subline of a wrapped line. Subline is indented by at least 1 to make room for the flag.

Second argument: wether the visual flags to indicate a line is wrapped are drawn near the border or near the text. This is a bitmask of the values:

  • 0 -- Visual flags drawn near border
  • 1 -- Visual flag at end of subline drawn near text
  • 2 -- Visual flag at begin of subline drawn near text

Only first and second arguments are interpreted.

Example: line_wrap_visuals=3;0;false;false

line_wrap_indent

First argument: sets the size of indentation of sublines for wrapped lines in terms of the width of a space, only used when the second argument is 0.

Second argument: wrapped sublines can be indented to the position of their first subline or one more indent level. Possible values:

  • 0 - Wrapped sublines aligned to left of window plus amount set by the first argument
  • 1 - Wrapped sublines are aligned to first subline indent (use the same indentation)
  • 2 - Wrapped sublines are aligned to first subline indent plus one more level of indentation

Only first and second arguments are interpreted.

Example: line_wrap_indent=0;1;false;false

translucency

Translucency for the current line (first argument) and the selection (second argument). Values between 0 and 256 are accepted.

Note for Windows 95, 98 and ME users: keep this value at 256 to disable translucency otherwise Geany might crash.

Only the first and second arguments are interpreted.

Example: translucency=256;256;false;false

marker_line

The style for a highlighted line (e.g when using Goto line or goto symbol). The foreground color (first argument) is only used when the Markers margin is enabled (see View menu).

Only the first and second arguments are interpreted.

Example: marker_line=0x000000;0xffff00;false;false

marker_search

The style for a marked search results (when using "Mark" in Search dialogs). The second argument sets the background color for the drawn rectangle.

Only the second argument is interpreted.

Example: marker_search=0x000000;0xb8f4b8;false;false

marker_mark

The style for a marked line (e.g when using the "Toggle Marker" keybinding (Ctrl-M)). The foreground color (first argument) is only used when the Markers margin is enabled (see View menu).

Only the first and second arguments are interpreted.

Example: marker_mark=0x000000;0xb8f4b8;false;false

marker_translucency

Translucency for the line marker (first argument) and the search marker (second argument). Values between 0 and 256 are accepted.

Note for Windows 95, 98 and ME users: keep this value at 256 to disable translucency otherwise Geany might crash.

Only the first and second arguments are interpreted.

Example: marker_translucency=256;256;false;false

line_height

Amount of space to be drawn above and below the line's baseline. The first argument defines the amount of space to be drawn above the line, the second argument defines the amount of space to be drawn below.

Only the first and second arguments are interpreted.

Example: line_height=0;0;false;false

calltips

The style for coloring the calltips. The first two arguments define the foreground and background colors, the third and fourth arguments set whether to use the defined colors.

Example: calltips=0xc0c0c0;0xffffff;false;false

indicator_error

The color of the error indicator.

Only the first argument (foreground color) is used.

Example: indicator_error=0xff0000

[settings] section

whitespace_chars

Characters to treat as whitespace. These characters are ignored when moving, selecting and deleting across word boundaries (see Scintilla keyboard commands).

This should include space (\s) and tab (\t).

Example: whitespace_chars=\s\t!\"#$%&'()*+,-./:;<=>?@[\\]^`{|}~

wordchars

These characters define word boundaries when making selections and searching using word matching options.

Example: wordchars=_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789

Note

This has precedence over the whitespace_chars setting.

Filetype extensions

Note

To change the default filetype extension used when saving a new file, see Filetype definition files.

You can override the list of file extensions that Geany uses to detect filetypes using the user filetype_extensions.conf file. Use the Tools->Configuration Files->filetype_extensions.conf menu item. See also Configuration file paths.

You should only list lines for filetype extensions that you want to override in the user configuration file and remove or comment out others. The patterns are listed after the = sign, using a semi-colon separated list of patterns which should be matched for that filetype.

For example, to override the filetype extensions for Make, the file should look like:

[Extensions]
Make=Makefile*;*.mk;Buildfile;

Filetype group membership

Group membership is also stored in filetype_extensions.conf. This file is used to store information Geany needs at startup, whereas the separate filetype definition files hold information only needed when a document with their filetype is used.

The format looks like:

[Groups]
Programming=C;C++;
Script=Perl;Python;
Markup=HTML;XML;
Misc=Diff;Conf;
None=None;

The key names cannot be configured.

Note

Group membership is only read at startup.

Preferences file format

The user preferences file geany.conf holds settings for all the items configured in the preferences dialog. This file should not be edited while Geany is running as the file will be overwritten when the preferences in Geany are changed or Geany is quit.

[build-menu] section

The [build-menu] section contains the configuration of the build menu. This section can occur in filetype, preferences and project files and always has the format described here. Different menu items are loaded from different files, see the table in the Build Menu Configuration section for details. All the settings can be configured from the dialogs except the execute command in filetype files and filetype definitions in the project file, so these are the only ones which need hand editing.

The build-menu section stores one entry for each setting for each menu item that is configured. The keys for these settings have the format:

GG_NN_FF

where:

  • GG - is the menu item group,
    • FT for filetype
    • NF for independent (non-filetype)
    • EX for execute
  • NN - is a two decimal digit number of the item within the group, starting at 00
  • FF - is the field,
    • LB for label
    • CM for command
    • WD for working directory

Project file format

The project file contains project related settings and possibly a record of the current session files.

[build-menu] additions

The project file also can have extra fields in the [build-menu] section in addition to those listed in [build-menu] section above.

When filetype menu items are configured for the project they are stored in the project file.

The filetypes entry is a list of the filetypes which exist in the project file.

For each filetype the entries for that filetype have the format defined in [build-menu] section but the key is prefixed by the name of the filetype as it appears in the filetypes entry, eg the entry for the label of filetype menu item 0 for the C filetype would be

CFT_00_LB=Label

Templates

Geany supports the following templates:

  • ChangeLog entry
  • File header
  • Function description
  • Short GPL notice
  • Short BSD notice
  • File templates

To use these templates, just open the Edit menu or open the popup menu by right-clicking in the editor widget, and choose "Insert Comments" and insert templates as you want.

Some templates (like File header or ChangeLog entry) will always be inserted at the top of the file.

To insert a function description, the cursor must be inside of the function, so that the function name can be determined automatically. The description will be positioned correctly one line above the function, just check it out. If the cursor is not inside of a function or the function name cannot be determined, the inserted function description won't contain the correct function name but "unknown" instead.

Note

Geany automatically reloads template information when it notices you save a file in the user's template configuration directory. You can also force this by selecting Tools->Reload Configuration.

Template meta data

Meta data can be used with all templates, but by default user set meta data is only used for the ChangeLog and File header templates.

In the configuration dialog you can find a tab "Templates" (see Template preferences). You can define the default values which will be inserted in the templates.

File templates

File templates are templates used as the basis of a new file. To use them, choose the New (with Template) menu item from the File menu.

By default, file templates are installed for some filetypes. Custom file templates can be added by creating the appropriate template file. You can also edit the default file templates.

The file's contents are just the text to place in the document, with optional template wildcards like {fileheader}. The fileheader wildcard can be placed anywhere, but it's usually put on the first line of the file, followed by a blank line.

Adding file templates

File templates are read from templates/files under the Configuration file paths.

The filetype to use is detected from the template file's extension, if any. For example, creating a file module.c would add a menu item which created a new document with the filetype set to 'C'.

The template file is read from disk when the corresponding menu item is clicked.

Customizing templates

Each template can be customized to your needs. The templates are stored in the ~/.config/geany/templates/ directory (see the section called Command line options for further information about the configuration directory). Just open the desired template with an editor (ideally, Geany ;-) ) and edit the template to your needs. There are some wildcards which will be automatically replaced by Geany at startup.

Template wildcards

All wildcards must be enclosed by "{" and "}", e.g. {date}.

Wildcards for character escaping

Wildcard Description Available in
ob { Opening Brace (used to prevent other wildcards being expanded). file templates, file header, snippets.
cb } Closing Brace. file templates, file header, snippets.
pc % Percent (used to escape e.g. %block% in snippets). snippets.

Global wildcards

These are configurable, see Template preferences.

Wildcard Description Available in
developer The name of the developer. file templates, file header, function description, ChangeLog entry, bsd, gpl, snippets.
initial The developer's initials, e.g. "ET" for Enrico Tröger or "JFD" for John Foobar Doe. file templates, file header, function description, ChangeLog entry, bsd, gpl, snippets.
mail The email address of the developer. file templates, file header, function description, ChangeLog entry, bsd, gpl, snippets.
company The company the developer is working for. file templates, file header, function description, ChangeLog entry, bsd, gpl, snippets.
version The initial version of a new file. file templates, file header, function description, ChangeLog entry, bsd, gpl, snippets.

Date & time wildcards

The format for these wildcards can be changed in the preferences dialog, see Template preferences. You can use any conversion specifiers which can be used with the ANSI C strftime function. For details please see http://man.cx/strftime.

Wildcard Description Available in
year The current year. Default format is: YYYY. file templates, file header, function description, ChangeLog entry, bsd, gpl, snippets.
date The current date. Default format: YYYY-MM-DD. file templates, file header, function description, ChangeLog entry, bsd, gpl, snippets.
datetime The current date and time. Default format: DD.MM.YYYY HH:mm:ss ZZZZ. file templates, file header, function description, ChangeLog entry, bsd, gpl, snippets.

Dynamic wildcards

Wildcard Description Available in
untitled The string "untitled" (this will be translated to your locale), used in file templates. file templates, file header, function description, ChangeLog entry, bsd, gpl, snippets.
geanyversion The actual Geany version, e.g. "Geany 1.32". file templates, file header, function description, ChangeLog entry, bsd, gpl, snippets.
filename The filename of the current file. For new files, it's only replaced when first saving if found on the first 4 lines of the file. file header, snippets, file templates.
project The current project's name, if any. file header, snippets, file templates.
description The current project's description, if any. file header, snippets, file templates.
functionname The function name of the function at the cursor position. This wildcard will only be replaced in the function description template. function description.
command:path Executes the specified command and replace the wildcard with the command's standard output. See Special {command:} wildcard for details. file templates, file header, function description, ChangeLog entry, bsd, gpl, snippets.

Template insertion wildcards

Wildcard Description Available in
gpl This wildcard inserts a short GPL notice. file header.
bsd This wildcard inserts a BSD licence notice. file header.
fileheader The file header template. This wildcard will only be replaced in file templates. snippets, file templates.
Special {command:} wildcard

The {command:} wildcard is a special one because it can execute a specified command and put the command's output (stdout) into the template.

Example:

{command:uname -a}

will result in:

Linux localhost 2.6.9-023stab046.2-smp #1 SMP Mon Dec 10 15:04:55 MSK 2007 x86_64 GNU/Linux

Using this wildcard you can insert nearly any arbitrary text into the template.

In the environment of the executed command the variables GEANY_FILENAME, GEANY_FILETYPE and GEANY_FUNCNAME are set. The value of these variables is filled in only if Geany knows about it. For example, GEANY_FUNCNAME is only filled within the function description template. However, these variables are always set, just maybe with an empty value. You can easily access them e.g. within an executed shell script using:

$GEANY_FILENAME

Note

If the specified command could not be found or not executed, the wildcard is substituted by an empty string. In such cases, you can find the occurred error message on Geany's standard error and in the Help->Debug Messages dialog.

Customizing the toolbar

You can add, remove and reorder the elements in the toolbar by using the toolbar editor, or by manually editing the configuration file ui_toolbar.xml.

The toolbar editor can be opened from the preferences editor on the Toolbar tab or by right-clicking on the toolbar itself and choosing it from the menu.

Manually editing the toolbar layout

To override the system-wide configuration file, copy it to your user configuration directory (see Configuration file paths).

For example:

% cp /usr/local/share/geany/ui_toolbar.xml /home/username/.config/geany/

Then edit it and add any of the available elements listed in the file or remove any of the existing elements. Of course, you can also reorder the elements as you wish and add or remove additional separators. This file must be valid XML, otherwise the global toolbar UI definition will be used instead.

Your changes are applied once you save the file.

Note

  1. You cannot add new actions which are not listed below.
  2. Everything you add or change must be inside the /ui/toolbar/ path.

Available toolbar elements

Element name Description
New Create a new file
Open Open an existing file
Save Save the current file
SaveAll Save all open files
Reload Reload the current file from disk
Close Close the current file
CloseAll Close all open files
Print Print the current file
Cut Cut the current selection
Copy Copy the current selection
Paste Paste the contents of the clipboard
Delete Delete the current selection
Undo Undo the last modification
Redo Redo the last modification
NavBack Navigate back a location
NavFor Navigate forward a location
Compile Compile the current file
Build Build the current file, includes a submenu for Make commands. Geany remembers the last chosen action from the submenu and uses this as default action when the button itself is clicked.
Run Run or view the current file
Color Open a color chooser dialog, to interactively pick colors from a palette
ZoomIn Zoom in the text
ZoomOut Zoom out the text
UnIndent Decrease indentation
Indent Increase indentation
Replace Replace text in the current document
SearchEntry The search field belonging to the 'Search' element (can be used alone)
Search Find the entered text in the current file (only useful if you also use 'SearchEntry')
GotoEntry The goto field belonging to the 'Goto' element (can be used alone)
Goto Jump to the entered line number (only useful if you also use 'GotoEntry')
Preferences Show the preferences dialog
Quit Quit Geany

Plugin documentation

HTML Characters

The HTML Characters plugin helps when working with special characters in XML/HTML, e.g. German Umlauts ü and ä.

Insert entity dialog

When the plugin is enabled, you can insert special character entities using Tools->Insert Special HTML Characters.

This opens up a dialog where you can find a huge amount of special characters sorted by category that you might like to use inside your document. You can expand and collapse the categories by clicking on the little arrow on the left hand side. Once you have found the desired character click on it and choose "Insert". This will insert the entity for the character at the current cursor position. You might also like to double click the chosen entity instead.

Replace special chars by its entity

To help make a XML/HTML document valid the plugin supports replacement of special chars known by the plugin. Both bulk replacement and immediate replacement during typing are supported.

A few characters will not be replaced. These are
  • "
  • &
  • <
  • >
  • (&nbsp;)

At typing time

You can activate/deactivate this feature using the Tools->HTML Replacement->Auto-replace Special Characters menu item. If it's activated, all special characters (beside the given exceptions from above) known by the plugin will be replaced by their entities.

You could also set a keybinding for the plugin to toggle the status of this feature.

Bulk replacement

After inserting a huge amount of text, e.g. by using copy & paste, the plugin allows bulk replacement of all known characters (beside the mentioned exceptions). You can find the function under the same menu at Tools->HTML Replacement->Replace Characters in Selection, or configure a keybinding for the plugin.

Save Actions

Auto Save

This plugin provides an option to automatically save documents. You can choose to save the current document, or all of your documents, at a given delay.

Save on focus out

You can save the current document when the editor's focus goes out. Every pop-up, menu dialogs, or anything else that can make the editor lose the focus, will make the current document to be saved.

Instant Save

This plugin sets on every new file (File->New or File->New (with template)) a randomly chosen filename and set its filetype appropriate to the used template or when no template was used, to a configurable default filetype. This enables you to quickly compile, build and/or run the new file without the need to give it an explicit filename using the Save As dialog. This might be useful when you often create new files just for testing some code or something similar.

Backup Copy

This plugin creates a backup copy of the current file in Geany when it is saved. You can specify the directory where the backup copy is saved and you can configure the automatically added extension in the configure dialog in Geany's plugin manager.

After the plugin was loaded in Geany's plugin manager, every file is copied into the configured backup directory after the file has been saved in Geany.

The created backup copy file permissions are set to read-write only for the user. This should help to not create world-readable files on possibly unsecure destination directories like /tmp (especially useful on multi-user systems). This applies only to non-Windows systems. On Windows, no explicit file permissions are set.

Additionally, you can define how many levels of the original file's directory structure should be replicated in the backup copy path. For example, setting the option Directory levels to include in the backup destination to 2 cause the plugin to create the last two components of the original file's path in the backup copy path and place the new file there.

Contributing to this document

This document (geany.txt) is written in reStructuredText (or "reST"). The source file for it is located in Geany's doc subdirectory. If you intend on making changes, you should grab the source right from Git to make sure you've got the newest version. First, you need to configure the build system to generate the HTML documentation passing the --enable-html-docs option to the configure script. Then after editing the file, run make (from the root build directory or from the doc subdirectory) to build the HTML documentation and see how your changes look. This regenerates the geany.html file inside the doc subdirectory. To generate a PDF file, configure with --enable-pdf-docs and run make as for the HTML version. The generated PDF file is named geany-1.32.pdf and is located inside the doc subdirectory.

After you are happy with your changes, create a patch e.g. by using:

% git diff geany.txt > foo.patch

or even better, by creating a Git-formatted patch which will keep authoring and description data, by first committing your changes (doing so in a fresh new branch is recommended for master not to diverge from upstream) and then using git format-patch:

% git checkout -b my-documentation-changes # create a fresh branch
% git commit geany.txt
Write a good commit message...
% git format-patch HEAD^
% git checkout master # go back to master

and then submit that file to the mailing list for review.

Also you can clone the Geany repository at GitHub and send a pull request.

Note, you will need the Python docutils software package installed to build the docs. The package is named python-docutils on Debian and Fedora systems.

Scintilla keyboard commands

Copyright © 1998, 2006 Neil Hodgson <neilh(at)scintilla(dot)org>

This appendix is distributed under the terms of the License for Scintilla and SciTE. A copy of this license can be found in the file scintilla/License.txt included with the source code of this program and in the appendix of this document. See License for Scintilla and SciTE.

20 June 2006

Keyboard commands

Keyboard commands for Scintilla mostly follow common Windows and GTK+ conventions. All move keys (arrows, page up/down, home and end) allows to extend or reduce the stream selection when holding the Shift key, and the rectangular selection when holding the appropriate keys (see Column mode editing (rectangular selections)).

Some keys may not be available with some national keyboards or because they are taken by the system such as by a window manager or GTK. Keyboard equivalents of menu commands are listed in the menus. Some less common commands with no menu equivalent are:

Action Shortcut key
Magnify text size. Ctrl-Keypad+
Reduce text size. Ctrl-Keypad-
Restore text size to normal. Ctrl-Keypad/
Indent block. Tab
Dedent block. Shift-Tab
Delete to start of word. Ctrl-BackSpace
Delete to end of word. Ctrl-Delete
Delete to start of line. Ctrl-Shift-BackSpace
Go to start of document. Ctrl-Home
Extend selection to start of document. Ctrl-Shift-Home
Go to start of display line. Alt-Home
Extend selection to start of display line. Alt-Shift-Home
Go to end of document. Ctrl-End
Extend selection to end of document. Ctrl-Shift-End
Extend selection to end of display line. Alt-Shift-End
Previous paragraph. Shift extends selection. Ctrl-Up
Next paragraph. Shift extends selection. Ctrl-Down
Previous word. Shift extends selection. Ctrl-Left
Next word. Shift extends selection. Ctrl-Right

Tips and tricks

Document notebook

  • Double-click on empty space in the notebook tab bar to open a new document.
  • Middle-click on a document's notebook tab to close the document.
  • Hold Ctrl and click on any notebook tab to switch to the last used document.
  • Double-click on a document's notebook tab to toggle all additional widgets (to show them again use the View menu or the keyboard shortcut). The interface pref must be enabled for this to work.

Editor

  • Alt-scroll wheel moves up/down a page.
  • Ctrl-scroll wheel zooms in/out.
  • Shift-scroll wheel scrolls 8 characters right/left.
  • Ctrl-click on a word in a document to perform Go to Symbol Definition.
  • Ctrl-click on a bracket/brace to perform Go to Matching Brace.

Interface

  • Double-click on a symbol-list group to expand or compact it.

Compile-time options

There are some options which can only be changed at compile time, and some options which are used as the default for configurable options. To change these options, edit the appropriate source file in the src subdirectory. Look for a block of lines starting with #define GEANY_*. Any definitions which are not listed here should not be changed.

Note

Most users should not need to change these options.

src/geany.h

Option Description Default
GEANY_STRING_UNTITLED A string used as the default name for new files. Be aware that the string can be translated, so change it only if you know what you are doing. untitled
GEANY_WINDOW_MINIMAL_WIDTH The minimal width of the main window. 620
GEANY_WINDOW_MINIMAL_HEIGHT The minimal height of the main window. 440
GEANY_WINDOW_DEFAULT_WIDTH The default width of the main window at the first start. 900
GEANY_WINDOW_DEFAULT_HEIGHT The default height of the main window at the first start. 600
Windows specific    
GEANY_USE_WIN32_DIALOG Set this to 1 if you want to use the default Windows file open and save dialogs instead GTK's file open and save dialogs. The default Windows file dialogs are missing some nice features like choosing a filetype or an encoding. Do not touch this setting when building on a non-Win32 system. 0

project.h

Option Description Default
GEANY_PROJECT_EXT The default filename extension for Geany project files. It is used when creating new projects and as filter mask for the project open dialog. geany

filetypes.c

Option Description Default
GEANY_FILETYPE_SEARCH_LINES The number of lines to search for the filetype with the extract filetype regex. 2

editor.h

Option Description Default
GEANY_WORDCHARS These characters define word boundaries when making selections and searching using word matching options. a string with: a-z, A-Z, 0-9 and underscore.

keyfile.c

These are default settings that can be overridden in the Preferences dialog.

Option Description Default
GEANY_MIN_SYMBOLLIST_CHARS How many characters you need to type to trigger the autocompletion list. 4
GEANY_DISK_CHECK_TIMEOUT Time in seconds between checking a file for external changes. 30
GEANY_DEFAULT_TOOLS_MAKE The make tool. This can also include a path. "make"
GEANY_DEFAULT_TOOLS_TERMINAL A terminal emulator command, see Terminal emulators. See below.
GEANY_DEFAULT_TOOLS_BROWSER A web browser. This can also include a path. "firefox"
GEANY_DEFAULT_TOOLS_PRINTCMD A printing tool. It should be able to accept and process plain text files. This can also include a path. "lpr"
GEANY_DEFAULT_TOOLS_GREP A grep tool. It should be compatible with GNU grep. This can also include a path. "grep"
GEANY_DEFAULT_MRU_LENGTH The length of the "Recent files" list. 10
GEANY_DEFAULT_FONT_SYMBOL_LIST The font used in sidebar to show symbols and open files. "Sans 9"
GEANY_DEFAULT_FONT_MSG_WINDOW The font used in the messages window. "Sans 9"
GEANY_DEFAULT_FONT_EDITOR The font used in the editor window. "Monospace 10"
GEANY_TOGGLE_MARK A string which is used to mark a toggled comment. "~ "
GEANY_MAX_AUTOCOMPLETE_WORDS How many autocompletion suggestions should Geany provide. 30
GEANY_DEFAULT_FILETYPE_REGEX The default regex to extract filetypes from files. See below.

The GEANY_DEFAULT_FILETYPE_REGEX default value is -\*-\s*([^\s]+)\s*-\*- which finds Emacs filetypes.

The GEANY_DEFAULT_TOOLS_TERMINAL default value on Windows is:

cmd.exe /Q /C %c

and on any non-Windows system is:

xterm -e "/bin/sh %c"

build.c

Option Description Default
GEANY_BUILD_ERR_HIGHLIGHT_MAX Amount of build error indicators to be shown in the editor window. This affects the special coloring when Geany detects a compiler output line as an error message and then highlights the corresponding line in the source code. Usually only the first few messages are interesting because following errors are just after-effects. All errors in the Compiler window are parsed and unaffected by this value. 50
PRINTBUILDCMDS Every time a build menu item priority calculation is run, print the state of the menu item table in the form of the table in Build Menu Configuration. May be useful to debug configuration file overloading. Warning produces a lot of output. Can also be enabled/disabled by the debugger by setting printbuildcmds to 1/0 overriding the compile setting. FALSE

GNU General Public License

            GNU GENERAL PUBLIC LICENSE
               Version 2, June 1991

 Copyright (C) 1989, 1991 Free Software Foundation, Inc.
    51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
 Everyone is permitted to copy and distribute verbatim copies
 of this license document, but changing it is not allowed.

                Preamble

  The licenses for most software are designed to take away your
freedom to share and change it.  By contrast, the GNU General Public
License is intended to guarantee your freedom to share and change free
software--to make sure the software is free for all its users.  This
General Public License applies to most of the Free Software
Foundation's software and to any other program whose authors commit to
using it.  (Some other Free Software Foundation software is covered by
the GNU Library General Public License instead.)  You can apply it to
your programs, too.

  When we speak of free software, we are referring to freedom, not
price.  Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
this service if you wish), that you receive source code or can get it
if you want it, that you can change the software or use pieces of it
in new free programs; and that you know you can do these things.

  To protect your rights, we need to make restrictions that forbid
anyone to deny you these rights or to ask you to surrender the rights.
These restrictions translate to certain responsibilities for you if you
distribute copies of the software, or if you modify it.

  For example, if you distribute copies of such a program, whether
gratis or for a fee, you must give the recipients all the rights that
you have.  You must make sure that they, too, receive or can get the
source code.  And you must show them these terms so they know their
rights.

  We protect your rights with two steps: (1) copyright the software, and
(2) offer you this license which gives you legal permission to copy,
distribute and/or modify the software.

  Also, for each author's protection and ours, we want to make certain
that everyone understands that there is no warranty for this free
software.  If the software is modified by someone else and passed on, we
want its recipients to know that what they have is not the original, so
that any problems introduced by others will not reflect on the original
authors' reputations.

  Finally, any free program is threatened constantly by software
patents.  We wish to avoid the danger that redistributors of a free
program will individually obtain patent licenses, in effect making the
program proprietary.  To prevent this, we have made it clear that any
patent must be licensed for everyone's free use or not licensed at all.

  The precise terms and conditions for copying, distribution and
modification follow.

            GNU GENERAL PUBLIC LICENSE
   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION

  0. This License applies to any program or other work which contains
a notice placed by the copyright holder saying it may be distributed
under the terms of this General Public License.  The "Program", below,
refers to any such program or work, and a "work based on the Program"
means either the Program or any derivative work under copyright law:
that is to say, a work containing the Program or a portion of it,
either verbatim or with modifications and/or translated into another
language.  (Hereinafter, translation is included without limitation in
the term "modification".)  Each licensee is addressed as "you".

Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope.  The act of
running the Program is not restricted, and the output from the Program
is covered only if its contents constitute a work based on the
Program (independent of having been made by running the Program).
Whether that is true depends on what the Program does.

  1. You may copy and distribute verbatim copies of the Program's
source code as you receive it, in any medium, provided that you
conspicuously and appropriately publish on each copy an appropriate
copyright notice and disclaimer of warranty; keep intact all the
notices that refer to this License and to the absence of any warranty;
and give any other recipients of the Program a copy of this License
along with the Program.

You may charge a fee for the physical act of transferring a copy, and
you may at your option offer warranty protection in exchange for a fee.

  2. You may modify your copy or copies of the Program or any portion
of it, thus forming a work based on the Program, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:

    a) You must cause the modified files to carry prominent notices
    stating that you changed the files and the date of any change.

    b) You must cause any work that you distribute or publish, that in
    whole or in part contains or is derived from the Program or any
    part thereof, to be licensed as a whole at no charge to all third
    parties under the terms of this License.

    c) If the modified program normally reads commands interactively
    when run, you must cause it, when started running for such
    interactive use in the most ordinary way, to print or display an
    announcement including an appropriate copyright notice and a
    notice that there is no warranty (or else, saying that you provide
    a warranty) and that users may redistribute the program under
    these conditions, and telling the user how to view a copy of this
    License.  (Exception: if the Program itself is interactive but
    does not normally print such an announcement, your work based on
    the Program is not required to print an announcement.)

These requirements apply to the modified work as a whole.  If
identifiable sections of that work are not derived from the Program,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works.  But when you
distribute the same sections as part of a whole which is a work based
on the Program, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote it.

Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Program.

In addition, mere aggregation of another work not based on the Program
with the Program (or with a work based on the Program) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.

  3. You may copy and distribute the Program (or a work based on it,
under Section 2) in object code or executable form under the terms of
Sections 1 and 2 above provided that you also do one of the following:

    a) Accompany it with the complete corresponding machine-readable
    source code, which must be distributed under the terms of Sections
    1 and 2 above on a medium customarily used for software interchange; or,

    b) Accompany it with a written offer, valid for at least three
    years, to give any third party, for a charge no more than your
    cost of physically performing source distribution, a complete
    machine-readable copy of the corresponding source code, to be
    distributed under the terms of Sections 1 and 2 above on a medium
    customarily used for software interchange; or,

    c) Accompany it with the information you received as to the offer
    to distribute corresponding source code.  (This alternative is
    allowed only for noncommercial distribution and only if you
    received the program in object code or executable form with such
    an offer, in accord with Subsection b above.)

The source code for a work means the preferred form of the work for
making modifications to it.  For an executable work, complete source
code means all the source code for all modules it contains, plus any
associated interface definition files, plus the scripts used to
control compilation and installation of the executable.  However, as a
special exception, the source code distributed need not include
anything that is normally distributed (in either source or binary
form) with the major components (compiler, kernel, and so on) of the
operating system on which the executable runs, unless that component
itself accompanies the executable.

If distribution of executable or object code is made by offering
access to copy from a designated place, then offering equivalent
access to copy the source code from the same place counts as
distribution of the source code, even though third parties are not
compelled to copy the source along with the object code.

  4. You may not copy, modify, sublicense, or distribute the Program
except as expressly provided under this License.  Any attempt
otherwise to copy, modify, sublicense or distribute the Program is
void, and will automatically terminate your rights under this License.
However, parties who have received copies, or rights, from you under
this License will not have their licenses terminated so long as such
parties remain in full compliance.

  5. You are not required to accept this License, since you have not
signed it.  However, nothing else grants you permission to modify or
distribute the Program or its derivative works.  These actions are
prohibited by law if you do not accept this License.  Therefore, by
modifying or distributing the Program (or any work based on the
Program), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Program or works based on it.

  6. Each time you redistribute the Program (or any work based on the
Program), the recipient automatically receives a license from the
original licensor to copy, distribute or modify the Program subject to
these terms and conditions.  You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties to
this License.

  7. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License.  If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Program at all.  For example, if a patent
license would not permit royalty-free redistribution of the Program by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Program.

If any portion of this section is held invalid or unenforceable under
any particular circumstance, the balance of the section is intended to
apply and the section as a whole is intended to apply in other
circumstances.

It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system, which is
implemented by public license practices.  Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.

This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.

  8. If the distribution and/or use of the Program is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Program under this License
may add an explicit geographical distribution limitation excluding
those countries, so that distribution is permitted only in or among
countries not thus excluded.  In such case, this License incorporates
the limitation as if written in the body of this License.

  9. The Free Software Foundation may publish revised and/or new versions
of the General Public License from time to time.  Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.

Each version is given a distinguishing version number.  If the Program
specifies a version number of this License which applies to it and "any
later version", you have the option of following the terms and conditions
either of that version or of any later version published by the Free
Software Foundation.  If the Program does not specify a version number of
this License, you may choose any version ever published by the Free Software
Foundation.

  10. If you wish to incorporate parts of the Program into other free
programs whose distribution conditions are different, write to the author
to ask for permission.  For software which is copyrighted by the Free
Software Foundation, write to the Free Software Foundation; we sometimes
make exceptions for this.  Our decision will be guided by the two goals
of preserving the free status of all derivatives of our free software and
of promoting the sharing and reuse of software generally.

                NO WARRANTY

  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
REPAIR OR CORRECTION.

  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.

             END OF TERMS AND CONDITIONS

        How to Apply These Terms to Your New Programs

  If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.

  To do so, attach the following notices to the program.  It is safest
to attach them to the start of each source file to most effectively
convey the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.

    <one line to give the program's name and a brief idea of what it does.>
    Copyright (C) <year>  <name of author>

    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation; either version 2 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License along
    with this program; if not, write to the Free Software Foundation, Inc.,
    51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.


Also add information on how to contact you by electronic and paper mail.

If the program is interactive, make it output a short notice like this
when it starts in an interactive mode:

    Gnomovision version 69, Copyright (C) year  name of author
    Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
    This is free software, and you are welcome to redistribute it
    under certain conditions; type `show c' for details.

The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License.  Of course, the commands you use may
be called something other than `show w' and `show c'; they could even be
mouse-clicks or menu items--whatever suits your program.

You should also get your employer (if you work as a programmer) or your
school, if any, to sign a "copyright disclaimer" for the program, if
necessary.  Here is a sample; alter the names:

  Yoyodyne, Inc., hereby disclaims all copyright interest in the program
  `Gnomovision' (which makes passes at compilers) written by James Hacker.

  <signature of Ty Coon>, 1 April 1989
  Ty Coon, President of Vice

This General Public License does not permit incorporating your program into
proprietary programs.  If your program is a subroutine library, you may
consider it more useful to permit linking proprietary applications with the
library.  If this is what you want to do, use the GNU Library General
Public License instead of this License.

License for Scintilla and SciTE

Copyright 1998-2003 by Neil Hodgson <neilh(at)scintilla(dot)org>

All Rights Reserved

Permission to use, copy, modify, and distribute this software and its documentation for any purpose and without fee is hereby granted, provided that the above copyright notice appear in all copies and that both that copyright notice and this permission notice appear in supporting documentation.

NEIL HODGSON DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL NEIL HODGSON BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.

geany-1.32/doc/geany.1.in0000644000175000017500000001157113204260276012031 00000000000000.TH "GEANY" "1" "November 19, 2017" "geany @VERSION@" "" .SH "NAME" Geany \(em a small and lightweight IDE .SH "SYNOPSIS" .PP \fBgeany\fR [\fBoption\fP] [\fP+number\fP] [\fBfiles ...\fP] .SH "DESCRIPTION" .PP Geany is a small and fast editor with basic features of an integrated development environment. .PP Some of its features: syntax highlighting, code completion, code folding, symbol/tag lists and many supported filetypes like C(++), Java, PHP, HTML, DocBook, Perl and more. .PP Homepage: http://www.geany.org/ .SH "OPTIONS" .IP "\fB\fP \fBfiles ...\fP " 10 A space-separated list of filenames. Absolute and relative filenames can be used. Geany also recognises line and column information when appended to the filename with colons, e.g. "geany foo.bar:10:5" will open the file foo.bar and place the cursor in line 10 at column 5. .IP "\fB\fP \fB\fP " 10 Projects can also be opened but a project file (*.geany) must be the first non-option argument. All additionally given files are ignored. .IP "\fB\fP \fB\+number\fP " 10 Set initial line .I number for the first opened file (same as \-\-line, do not put a space between the + sign and the number). E.g. "geany +7 foo.bar" will open the file foo.bar and place the cursor in line 7. .IP "\fB\fP \fB\-\-column\fP " 10 Set initial column number for the first opened file (useful in conjunction with \-\-line). .IP "\fB-c\fP, \fB\-\-config\fP " 10 Use an alternate configuration directory. Default configuration directory is ~/.config/geany/ and there resides geany.conf and some template files. .IP "\fB\fP \fB\-\-ft\-names\fP " 10 Print a list of Geany's internal filetype names (useful snippets configuration). .IP "\fB-g\fP, \fB\-\-generate\-tags\fP " 10 Generate a global tags file (see documentation). .IP "\fB-P\fP, \fB\-\-no\-preprocessing\fP " 10 Don't preprocess C/C++ files when generating tags. .IP "\fB-i\fP, \fB\-\-new-instance\fP " 10 Don't open files in a running instance, force opening a new instance. Only available if Geany was compiled with support for Sockets. .IP "\fB-l\fP, \fB\-\-line\fP " 10 Set initial line number for the first opened file. .IP "\fB\fP \fB\-\-list\-documents\fP " 10 Return a list of open documents in a running Geany instance. This can be used to read the currently opened documents in Geany from an external script or tool. The returned list is separated by newlines (LF) and consists of the full, UTF\-8 encoded filenames of the documents. Only available if Geany was compiled with support for Sockets. .IP "\fB-m\fP, \fB\-\-no-msgwin\fP " 10 Don't show the message window. Use this option if you don't need compiler messages or VTE support. .IP "\fB-n\fP, \fB\-\-no-ctags\fP " 10 Don't load symbol completion and call tip data. Use this option, if you don't want to use them. For more information please see documentation. .IP "\fB-p\fP, \fB\-\-no-plugins\fP " 10 Don't load plugin support. .IP "\fB\fP \fB\-\-print-prefix\fP " 10 Print installation prefix, the data directory, the lib directory and the locale directory (in this order) to stdout, each per line. This is mainly intended for plugin authors to detect installation paths. .IP "\fB-r\fP, \fB\-\-read-only\fP " 10 Open all files given on the command line in read-only mode. This only applies to files opened explicitly from the command line, so files from previous sessions or project files are unaffected. .IP "\fB-s\fP, \fB\-\-no-session\fP " 10 Don't load the previous session's files. .IP "\fB-t\fP, \fB\-\-no-terminal\fP " 10 Don't load terminal support. Use this option, if you don't want to load the virtual terminal emulator widget at startup. If you don't have libvte.so.4 installed, then terminal-support is automatically disabled. Only available if Geany was compiled with support for VTE. .IP "\fB\fP \fB\-\-socket-file\fP " 10 Use this socket filename for communication with a running Geany instance .IP "\fB\fP \fB\-\-vte-lib\fP " 10 Specify explicitly the path including filename or only the filename to the VTE library, e.g. /usr/lib/libvte.so or libvte.so. This option is only needed, when the autodetection doesn't work. Only available if Geany was compiled with support for VTE. .IP "\fB-v\fP, \fB\-\-verbose\fP " 10 Be verbose (print useful status messages). .IP "\fB-V\fP, \fB\-\-version\fP " 10 Show version information and exit. .IP "\fB-?\fP, \fB\-\-help\fP " 10 Show help information and exit. .PP Geany supports all generic GTK options, a list is available on the help screen. .SH "AUTHOR" .PP This manual page was written by the Geany developer team. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU General Public License, Version 2. .PP The complete text of the GNU General Public License can be found in @GEANY_DATA_DIR@/GPL-2. geany-1.32/doc/Makefile.in0000644000175000017500000007616713204260455012317 00000000000000# Makefile.in generated by automake 1.15.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2017 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = { \ if test -z '$(MAKELEVEL)'; then \ false; \ elif test -n '$(MAKE_HOST)'; then \ true; \ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ true; \ else \ false; \ fi; \ } am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ @WITH_DOXYGEN_TRUE@am__append_1 = $(doxygen_sources) @ENABLE_GTKDOC_HEADER_TRUE@@WITH_DOXYGEN_TRUE@am__append_2 = geany-gtkdoc.h geany-sciwrappers-gtkdoc.h @ENABLE_GTKDOC_HEADER_TRUE@@WITH_DOXYGEN_TRUE@am__append_3 = clean-gtkdoc-header-local subdir = doc ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/ax_cxx_compile_stdcxx_11.m4 \ $(top_srcdir)/m4/geany-binreloc.m4 \ $(top_srcdir)/m4/geany-docutils.m4 \ $(top_srcdir)/m4/geany-doxygen.m4 \ $(top_srcdir)/m4/geany-gtkdoc-header.m4 \ $(top_srcdir)/m4/geany-i18n.m4 $(top_srcdir)/m4/geany-lib.m4 \ $(top_srcdir)/m4/geany-mac-integration.m4 \ $(top_srcdir)/m4/geany-mingw.m4 \ $(top_srcdir)/m4/geany-plugins.m4 \ $(top_srcdir)/m4/geany-prog-cxx.m4 \ $(top_srcdir)/m4/geany-revision.m4 \ $(top_srcdir)/m4/geany-socket.m4 \ $(top_srcdir)/m4/geany-status.m4 \ $(top_srcdir)/m4/geany-the-force.m4 \ $(top_srcdir)/m4/geany-utils.m4 $(top_srcdir)/m4/geany-vte.m4 \ $(top_srcdir)/m4/intltool.m4 $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) DIST_COMMON = $(srcdir)/Makefile.am \ $(am__dist_htmldocimages_DATA_DIST) $(am__DIST_COMMON) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = geany.1 Doxyfile CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__uninstall_files_from_dir = { \ test -z "$$files" \ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ $(am__cd) "$$dir" && rm -f $$files; }; \ } man1dir = $(mandir)/man1 am__installdirs = "$(DESTDIR)$(man1dir)" \ "$(DESTDIR)$(htmldocimagesdir)" "$(DESTDIR)$(docdir)" \ "$(DESTDIR)$(geany_gtkdocincludedir)" NROFF = nroff MANS = $(man_MANS) am__dist_htmldocimages_DATA_DIST = \ images/build_menu_commands_dialog.png images/find_dialog.png \ images/find_in_files_dialog.png images/main_window.png \ images/pref_dialog_edit_completions.png \ images/pref_dialog_edit_display.png \ images/pref_dialog_edit_features.png \ images/pref_dialog_edit_indentation.png \ images/pref_dialog_files.png images/pref_dialog_gen_misc.png \ images/pref_dialog_gen_startup.png \ images/pref_dialog_interface_interface.png \ images/pref_dialog_interface_notebook.png \ images/pref_dialog_interface_toolbar.png \ images/pref_dialog_keys.png images/pref_dialog_printing.png \ images/pref_dialog_templ.png images/pref_dialog_tools.png \ images/pref_dialog_various.png images/pref_dialog_vte.png \ images/replace_dialog.png DATA = $(dist_htmldocimages_DATA) $(doc_DATA) HEADERS = $(nodist_geany_gtkdocinclude_HEADERS) am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) # Read a list of newline-separated strings from the standard input, # and print each of them once, without duplicates. Input order is # *not* preserved. am__uniquify_input = $(AWK) '\ BEGIN { nonempty = 0; } \ { items[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in items) print i; }; } \ ' # Make sure the list of sources is unique. This is necessary because, # e.g., the same source file might be shared among _SOURCES variables # for different programs/libraries. am__define_uniq_tagged_files = \ list='$(am__tagged_files)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` ETAGS = etags CTAGS = ctags am__DIST_COMMON = $(srcdir)/Doxyfile.in $(srcdir)/Makefile.in \ $(srcdir)/geany.1.in DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) pkgdatadir = @pkgdatadir@ ACLOCAL = @ACLOCAL@ ALL_LINGUAS = @ALL_LINGUAS@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CATALOGS = @CATALOGS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DEPENDENCIES = @DEPENDENCIES@ DLLTOOL = @DLLTOOL@ DOXYGEN = @DOXYGEN@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GEANY_DATA_DIR = @GEANY_DATA_DIR@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GMOFILES = @GMOFILES@ GMSGFMT = @GMSGFMT@ GREP = @GREP@ GTHREAD_CFLAGS = @GTHREAD_CFLAGS@ GTHREAD_LIBS = @GTHREAD_LIBS@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ GTK_VERSION = @GTK_VERSION@ HAVE_CXX11 = @HAVE_CXX11@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLLIBS = @INTLLIBS@ INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ INTLTOOL_MERGE = @INTLTOOL_MERGE@ INTLTOOL_PERL = @INTLTOOL_PERL@ INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ INTLTOOL_V_MERGE = @INTLTOOL_V_MERGE@ INTLTOOL_V_MERGE_OPTIONS = @INTLTOOL_V_MERGE_OPTIONS@ INTLTOOL__v_MERGE_ = @INTLTOOL__v_MERGE_@ INTLTOOL__v_MERGE_0 = @INTLTOOL__v_MERGE_0@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBGEANY_CFLAGS = @LIBGEANY_CFLAGS@ LIBGEANY_EXPORT_CFLAGS = @LIBGEANY_EXPORT_CFLAGS@ LIBGEANY_LDFLAGS = @LIBGEANY_LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ MAC_INTEGRATION_CFLAGS = @MAC_INTEGRATION_CFLAGS@ MAC_INTEGRATION_LIBS = @MAC_INTEGRATION_LIBS@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGFMT_OPTS = @MSGFMT_OPTS@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POFILES = @POFILES@ POSUB = @POSUB@ PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@ PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@ PYTHON = @PYTHON@ PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@ PYTHON_PLATFORM = @PYTHON_PLATFORM@ PYTHON_PREFIX = @PYTHON_PREFIX@ PYTHON_VERSION = @PYTHON_VERSION@ RANLIB = @RANLIB@ RST2HTML = @RST2HTML@ RST2PDF = @RST2PDF@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ SORT = @SORT@ STRIP = @STRIP@ UNIQ = @UNIQ@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ intltool__v_merge_options_ = @intltool__v_merge_options_@ intltool__v_merge_options_0 = @intltool__v_merge_options_0@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ pkgpyexecdir = @pkgpyexecdir@ pkgpythondir = @pkgpythondir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ pyexecdir = @pyexecdir@ pythondir = @pythondir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ man_MANS = geany.1 @INSTALL_HTML_DOCS_TRUE@htmldocimagesdir = $(docdir)/html/images @INSTALL_HTML_DOCS_TRUE@dist_htmldocimages_DATA = \ @INSTALL_HTML_DOCS_TRUE@ images/build_menu_commands_dialog.png \ @INSTALL_HTML_DOCS_TRUE@ images/find_dialog.png \ @INSTALL_HTML_DOCS_TRUE@ images/find_in_files_dialog.png \ @INSTALL_HTML_DOCS_TRUE@ images/main_window.png \ @INSTALL_HTML_DOCS_TRUE@ images/pref_dialog_edit_completions.png \ @INSTALL_HTML_DOCS_TRUE@ images/pref_dialog_edit_display.png \ @INSTALL_HTML_DOCS_TRUE@ images/pref_dialog_edit_features.png \ @INSTALL_HTML_DOCS_TRUE@ images/pref_dialog_edit_indentation.png \ @INSTALL_HTML_DOCS_TRUE@ images/pref_dialog_files.png \ @INSTALL_HTML_DOCS_TRUE@ images/pref_dialog_gen_misc.png \ @INSTALL_HTML_DOCS_TRUE@ images/pref_dialog_gen_startup.png \ @INSTALL_HTML_DOCS_TRUE@ images/pref_dialog_interface_interface.png \ @INSTALL_HTML_DOCS_TRUE@ images/pref_dialog_interface_notebook.png \ @INSTALL_HTML_DOCS_TRUE@ images/pref_dialog_interface_toolbar.png \ @INSTALL_HTML_DOCS_TRUE@ images/pref_dialog_keys.png \ @INSTALL_HTML_DOCS_TRUE@ images/pref_dialog_printing.png \ @INSTALL_HTML_DOCS_TRUE@ images/pref_dialog_templ.png \ @INSTALL_HTML_DOCS_TRUE@ images/pref_dialog_tools.png \ @INSTALL_HTML_DOCS_TRUE@ images/pref_dialog_various.png \ @INSTALL_HTML_DOCS_TRUE@ images/pref_dialog_vte.png \ @INSTALL_HTML_DOCS_TRUE@ images/replace_dialog.png doc_DATA = \ $(top_srcdir)/AUTHORS \ $(top_srcdir)/ChangeLog \ $(top_srcdir)/COPYING \ $(top_srcdir)/NEWS \ $(top_srcdir)/README \ $(top_srcdir)/THANKS \ $(top_srcdir)/TODO DOCDIR = $(DESTDIR)$(docdir) EXTRA_DIST = geany.html geany.css geany.txt geany.1 $(am__append_1) # API Documentation @WITH_DOXYGEN_TRUE@doxygen_sources = \ @WITH_DOXYGEN_TRUE@ $(srcdir)/plugins.dox \ @WITH_DOXYGEN_TRUE@ $(srcdir)/pluginsignals.c \ @WITH_DOXYGEN_TRUE@ $(srcdir)/pluginsymbols.c \ @WITH_DOXYGEN_TRUE@ $(srcdir)/stash-example.c \ @WITH_DOXYGEN_TRUE@ $(srcdir)/stash-gui-example.c @WITH_DOXYGEN_TRUE@doxygen_dependencies = \ @WITH_DOXYGEN_TRUE@ $(doxygen_sources) \ @WITH_DOXYGEN_TRUE@ $(top_srcdir)/src/*.[ch] \ @WITH_DOXYGEN_TRUE@ $(top_srcdir)/plugins/geanyplugin.h \ @WITH_DOXYGEN_TRUE@ $(top_srcdir)/src/tagmanager/tm_source_file.[ch] \ @WITH_DOXYGEN_TRUE@ $(top_srcdir)/src/tagmanager/tm_workspace.[ch] \ @WITH_DOXYGEN_TRUE@ $(top_srcdir)/src/tagmanager/tm_tag.h \ @WITH_DOXYGEN_TRUE@ $(top_srcdir)/src/tagmanager/tm_parser.h @WITH_DOXYGEN_TRUE@ALL_LOCAL_TARGETS = Doxyfile.stamp $(am__append_2) @WITH_DOXYGEN_TRUE@CLEAN_LOCAL_TARGETS = clean-api-docs-local \ @WITH_DOXYGEN_TRUE@ $(am__append_3) @ENABLE_GTKDOC_HEADER_TRUE@@WITH_DOXYGEN_TRUE@geany_gtkdocincludedir = $(includedir)/geany/gtkdoc @ENABLE_GTKDOC_HEADER_TRUE@@WITH_DOXYGEN_TRUE@nodist_geany_gtkdocinclude_HEADERS = geany-gtkdoc.h geany-sciwrappers-gtkdoc.h all: all-am .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu doc/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu doc/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): geany.1: $(top_builddir)/config.status $(srcdir)/geany.1.in cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ Doxyfile: $(top_builddir)/config.status $(srcdir)/Doxyfile.in cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs install-man1: $(man_MANS) @$(NORMAL_INSTALL) @list1=''; \ list2='$(man_MANS)'; \ test -n "$(man1dir)" \ && test -n "`echo $$list1$$list2`" \ || exit 0; \ echo " $(MKDIR_P) '$(DESTDIR)$(man1dir)'"; \ $(MKDIR_P) "$(DESTDIR)$(man1dir)" || exit 1; \ { for i in $$list1; do echo "$$i"; done; \ if test -n "$$list2"; then \ for i in $$list2; do echo "$$i"; done \ | sed -n '/\.1[a-z]*$$/p'; \ fi; \ } | while read p; do \ if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; echo "$$p"; \ done | \ sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \ -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \ sed 'N;N;s,\n, ,g' | { \ list=; while read file base inst; do \ if test "$$base" = "$$inst"; then list="$$list $$file"; else \ echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \ $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst" || exit $$?; \ fi; \ done; \ for i in $$list; do echo "$$i"; done | $(am__base_list) | \ while read files; do \ test -z "$$files" || { \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man1dir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(man1dir)" || exit $$?; }; \ done; } uninstall-man1: @$(NORMAL_UNINSTALL) @list=''; test -n "$(man1dir)" || exit 0; \ files=`{ for i in $$list; do echo "$$i"; done; \ l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \ sed -n '/\.1[a-z]*$$/p'; \ } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \ -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \ dir='$(DESTDIR)$(man1dir)'; $(am__uninstall_files_from_dir) install-dist_htmldocimagesDATA: $(dist_htmldocimages_DATA) @$(NORMAL_INSTALL) @list='$(dist_htmldocimages_DATA)'; test -n "$(htmldocimagesdir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(htmldocimagesdir)'"; \ $(MKDIR_P) "$(DESTDIR)$(htmldocimagesdir)" || exit 1; \ fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(htmldocimagesdir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(htmldocimagesdir)" || exit $$?; \ done uninstall-dist_htmldocimagesDATA: @$(NORMAL_UNINSTALL) @list='$(dist_htmldocimages_DATA)'; test -n "$(htmldocimagesdir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(htmldocimagesdir)'; $(am__uninstall_files_from_dir) install-docDATA: $(doc_DATA) @$(NORMAL_INSTALL) @list='$(doc_DATA)'; test -n "$(docdir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(docdir)'"; \ $(MKDIR_P) "$(DESTDIR)$(docdir)" || exit 1; \ fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(docdir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(docdir)" || exit $$?; \ done uninstall-docDATA: @$(NORMAL_UNINSTALL) @list='$(doc_DATA)'; test -n "$(docdir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(docdir)'; $(am__uninstall_files_from_dir) install-nodist_geany_gtkdocincludeHEADERS: $(nodist_geany_gtkdocinclude_HEADERS) @$(NORMAL_INSTALL) @list='$(nodist_geany_gtkdocinclude_HEADERS)'; test -n "$(geany_gtkdocincludedir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(geany_gtkdocincludedir)'"; \ $(MKDIR_P) "$(DESTDIR)$(geany_gtkdocincludedir)" || exit 1; \ fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(geany_gtkdocincludedir)'"; \ $(INSTALL_HEADER) $$files "$(DESTDIR)$(geany_gtkdocincludedir)" || exit $$?; \ done uninstall-nodist_geany_gtkdocincludeHEADERS: @$(NORMAL_UNINSTALL) @list='$(nodist_geany_gtkdocinclude_HEADERS)'; test -n "$(geany_gtkdocincludedir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(geany_gtkdocincludedir)'; $(am__uninstall_files_from_dir) ID: $(am__tagged_files) $(am__define_uniq_tagged_files); mkid -fID $$unique tags: tags-am TAGS: tags tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) set x; \ here=`pwd`; \ $(am__define_uniq_tagged_files); \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: ctags-am CTAGS: ctags ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) $(am__define_uniq_tagged_files); \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" cscopelist: cscopelist-am cscopelist-am: $(am__tagged_files) list='$(am__tagged_files)'; \ case "$(srcdir)" in \ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ *) sdir=$(subdir)/$(srcdir) ;; \ esac; \ for i in $$list; do \ if test -f "$$i"; then \ echo "$(subdir)/$$i"; \ else \ echo "$$sdir/$$i"; \ fi; \ done >> $(top_builddir)/cscope.files distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am @WITH_DOXYGEN_FALSE@@WITH_RST2HTML_FALSE@@WITH_RST2PDF_FALSE@all-local: all-am: Makefile $(MANS) $(DATA) $(HEADERS) all-local installdirs: for dir in "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(htmldocimagesdir)" "$(DESTDIR)$(docdir)" "$(DESTDIR)$(geany_gtkdocincludedir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." @WITH_DOXYGEN_FALSE@@WITH_RST2HTML_FALSE@@WITH_RST2PDF_FALSE@clean-local: @WITH_RST2HTML_FALSE@maintainer-clean-local: clean: clean-am clean-am: clean-generic clean-libtool clean-local mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic distclean-tags dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-data-local install-dist_htmldocimagesDATA \ install-docDATA install-man \ install-nodist_geany_gtkdocincludeHEADERS install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-man1 install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic \ maintainer-clean-local mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-dist_htmldocimagesDATA uninstall-docDATA \ uninstall-local uninstall-man \ uninstall-nodist_geany_gtkdocincludeHEADERS uninstall-man: uninstall-man1 .MAKE: install-am install-strip .PHONY: CTAGS GTAGS TAGS all all-am all-local check check-am clean \ clean-generic clean-libtool clean-local cscopelist-am ctags \ ctags-am distclean distclean-generic distclean-libtool \ distclean-tags distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am \ install-data-local install-dist_htmldocimagesDATA \ install-docDATA install-dvi install-dvi-am install-exec \ install-exec-am install-html install-html-am install-info \ install-info-am install-man install-man1 \ install-nodist_geany_gtkdocincludeHEADERS install-pdf \ install-pdf-am install-ps install-ps-am install-strip \ installcheck installcheck-am installdirs maintainer-clean \ maintainer-clean-generic maintainer-clean-local mostlyclean \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags tags-am uninstall uninstall-am \ uninstall-dist_htmldocimagesDATA uninstall-docDATA \ uninstall-local uninstall-man uninstall-man1 \ uninstall-nodist_geany_gtkdocincludeHEADERS .PRECIOUS: Makefile # HTML user manual and hacking file @WITH_RST2HTML_TRUE@geany.html: $(srcdir)/geany.css $(srcdir)/geany.txt @WITH_RST2HTML_TRUE@ $(AM_V_GEN)$(RST2HTML) -stg --stylesheet=$(srcdir)/geany.css $(srcdir)/geany.txt $@ @WITH_RST2HTML_TRUE@hacking.html: $(srcdir)/geany.css $(top_srcdir)/HACKING @WITH_RST2HTML_TRUE@ $(AM_V_GEN)$(RST2HTML) -stg --stylesheet=$(srcdir)/geany.css $(top_srcdir)/HACKING $@ @WITH_RST2HTML_TRUE@all-local: geany.html hacking.html # clean on 'maintainer-clean' rather than 'clean' in case it was not # built by Make but rather part of the distribution. This is fine even # then, as configure will properly require what is needed to build it # again if it is missing. @WITH_RST2HTML_TRUE@maintainer-clean-local: maintainer-clean-html-local @WITH_RST2HTML_TRUE@maintainer-clean-html-local: @WITH_RST2HTML_TRUE@ -rm -f geany.html @WITH_RST2HTML_TRUE@clean-local: clean-html-local @WITH_RST2HTML_TRUE@clean-html-local: @WITH_RST2HTML_TRUE@ -rm -f hacking.html # PDF user manual @WITH_RST2PDF_TRUE@geany-$(VERSION).pdf: geany.txt @WITH_RST2PDF_TRUE@ $(AM_V_GEN)$(RST2PDF) $(srcdir)/geany.txt -o $@ @WITH_RST2PDF_TRUE@all-local: geany-$(VERSION).pdf @WITH_RST2PDF_TRUE@clean-local: clean-pdf-local @WITH_RST2PDF_TRUE@clean-pdf-local: @WITH_RST2PDF_TRUE@ -rm -f geany-$(VERSION).pdf @WITH_DOXYGEN_TRUE@Doxyfile.stamp: Doxyfile $(doxygen_dependencies) @WITH_DOXYGEN_TRUE@ $(AM_V_GEN)$(DOXYGEN) Doxyfile && echo "" > $@ @WITH_DOXYGEN_TRUE@clean-api-docs-local: @WITH_DOXYGEN_TRUE@ -rm -rf reference/ Doxyfile.stamp doxygen_* # set WARN_IF_UNDOCUMENTED because apparently doxygens warns for undocumented stuff # in headers (even though it's correctly documented in the corresponding .c file) only # for xml output @ENABLE_GTKDOC_HEADER_TRUE@@WITH_DOXYGEN_TRUE@Doxyfile-gi: Doxyfile @ENABLE_GTKDOC_HEADER_TRUE@@WITH_DOXYGEN_TRUE@ $(AM_V_GEN)$(SED) \ @ENABLE_GTKDOC_HEADER_TRUE@@WITH_DOXYGEN_TRUE@ -e 's,gironly=@internal,gironly=,' \ @ENABLE_GTKDOC_HEADER_TRUE@@WITH_DOXYGEN_TRUE@ -e 's,^\(GENERATE_HTML.*\)YES,\1NO,' \ @ENABLE_GTKDOC_HEADER_TRUE@@WITH_DOXYGEN_TRUE@ -e 's,^\(GENERATE_XML.*\)NO,\1YES,' \ @ENABLE_GTKDOC_HEADER_TRUE@@WITH_DOXYGEN_TRUE@ -e 's,^\(WARN_IF_UNDOCUMENTED.*\)YES,\1NO,' \ @ENABLE_GTKDOC_HEADER_TRUE@@WITH_DOXYGEN_TRUE@ -e 's,^\(SORT_MEMBER_DOCS.*\)YES,\1NO,' \ @ENABLE_GTKDOC_HEADER_TRUE@@WITH_DOXYGEN_TRUE@ -e 's,^\(SORT_BRIEF_DOCS.*\)YES,\1NO,' \ @ENABLE_GTKDOC_HEADER_TRUE@@WITH_DOXYGEN_TRUE@ $< > $@ || { $(RM) $@ && exit 1; } # we depend on Doxyfile.stamp not have this run in parallel with it to avoid # concurrent Doxygen runs, which might overwrite each other's files @ENABLE_GTKDOC_HEADER_TRUE@@WITH_DOXYGEN_TRUE@Doxyfile-gi.stamp: Doxyfile-gi Doxyfile.stamp $(doxygen_dependencies) @ENABLE_GTKDOC_HEADER_TRUE@@WITH_DOXYGEN_TRUE@ $(AM_V_GEN)$(DOXYGEN) Doxyfile-gi && echo "" > $@ @ENABLE_GTKDOC_HEADER_TRUE@@WITH_DOXYGEN_TRUE@geany-gtkdoc.h: Doxyfile-gi.stamp $(top_srcdir)/scripts/gen-api-gtkdoc.py @ENABLE_GTKDOC_HEADER_TRUE@@WITH_DOXYGEN_TRUE@ $(AM_V_GEN)$(top_srcdir)/scripts/gen-api-gtkdoc.py xml -d $(builddir) -o $@ \ @ENABLE_GTKDOC_HEADER_TRUE@@WITH_DOXYGEN_TRUE@ --sci-output geany-sciwrappers-gtkdoc.h @ENABLE_GTKDOC_HEADER_TRUE@@WITH_DOXYGEN_TRUE@geany-sciwrappers-gtkdoc.h: geany-gtkdoc.h @ENABLE_GTKDOC_HEADER_TRUE@@WITH_DOXYGEN_TRUE@clean-gtkdoc-header-local: @ENABLE_GTKDOC_HEADER_TRUE@@WITH_DOXYGEN_TRUE@ -rm -rf xml/ Doxyfile-gi Doxyfile-gi.stamp geany-gtkdoc.h geany-sciwrappers-gtkdoc.h @WITH_DOXYGEN_TRUE@all-local: $(ALL_LOCAL_TARGETS) @WITH_DOXYGEN_TRUE@clean-local: $(CLEAN_LOCAL_TARGETS) uninstall-local: rm -f $(DOCDIR)/html/index.html rm -f $(DOCDIR)/manual.txt rm -f $(DOCDIR)/ScintillaLicense.txt # manually install some files under another name install-data-local: @INSTALL_HTML_DOCS_TRUE@ $(mkinstalldirs) $(DOCDIR)/html # as we don't install with the automated mechanism so we can rename the file, # we need to find the source file in the right location (either builddir or srcdir) @INSTALL_HTML_DOCS_TRUE@ dir=$(builddir); test -f "$$dir/geany.html" || dir=$(srcdir); \ @INSTALL_HTML_DOCS_TRUE@ $(INSTALL_DATA) "$$dir/geany.html" $(DOCDIR)/html/index.html $(mkinstalldirs) $(DOCDIR) $(INSTALL_DATA) $(srcdir)/geany.txt $(DOCDIR)/manual.txt $(INSTALL_DATA) $(top_srcdir)/scintilla/License.txt $(DOCDIR)/ScintillaLicense.txt # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: geany-1.32/doc/Doxyfile.in0000644000175000017500000032101013204251306012334 00000000000000# Doxyfile 1.8.8 # This file describes the settings to be used by the documentation system # doxygen (www.doxygen.org) for a project. # # All text after a double hash (##) is considered a comment and is placed in # front of the TAG it is preceding. # # All text after a single hash (#) is considered a comment and will be ignored. # The format is: # TAG = value [value, ...] # For lists, items can also be appended using: # TAG += value [value, ...] # Values that contain spaces should be placed between quotes (\" \"). #--------------------------------------------------------------------------- # Project related configuration options #--------------------------------------------------------------------------- # This tag specifies the encoding used for all characters in the config file # that follow. The default is UTF-8 which is also the encoding used for all text # before the first occurrence of this tag. Doxygen uses libiconv (or the iconv # built into libc) for the transcoding. See http://www.gnu.org/software/libiconv # for the list of possible encodings. # The default value is: UTF-8. DOXYFILE_ENCODING = UTF-8 # The PROJECT_NAME tag is a single word (or a sequence of words surrounded by # double-quotes, unless you are using Doxywizard) that should identify the # project for which the documentation is generated. This name is used in the # title of most generated pages and in a few other places. # The default value is: My Project. PROJECT_NAME = Geany # The PROJECT_NUMBER tag can be used to enter a project or revision number. This # could be handy for archiving the generated documentation or if some version # control system is used. PROJECT_NUMBER = @VERSION@ # Using the PROJECT_BRIEF tag one can provide an optional one line description # for a project that appears at the top of each page and should give viewer a # quick idea about the purpose of the project. Keep the description short. PROJECT_BRIEF = # With the PROJECT_LOGO tag one can specify an logo or icon that is included in # the documentation. The maximum height of the logo should not exceed 55 pixels # and the maximum width should not exceed 200 pixels. Doxygen will copy the logo # to the output directory. PROJECT_LOGO = # The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) path # into which the generated documentation will be written. If a relative path is # entered, it will be relative to the location where doxygen was started. If # left blank the current directory will be used. OUTPUT_DIRECTORY = @top_builddir@/doc # If the CREATE_SUBDIRS tag is set to YES, then doxygen will create 4096 sub- # directories (in 2 levels) under the output directory of each output format and # will distribute the generated files over these directories. Enabling this # option can be useful when feeding doxygen a huge amount of source files, where # putting all generated files in the same directory would otherwise causes # performance problems for the file system. # The default value is: NO. CREATE_SUBDIRS = NO # If the ALLOW_UNICODE_NAMES tag is set to YES, doxygen will allow non-ASCII # characters to appear in the names of generated files. If set to NO, non-ASCII # characters will be escaped, for example _xE3_x81_x84 will be used for Unicode # U+3044. # The default value is: NO. ALLOW_UNICODE_NAMES = NO # The OUTPUT_LANGUAGE tag is used to specify the language in which all # documentation generated by doxygen is written. Doxygen will use this # information to generate all constant output in the proper language. # Possible values are: Afrikaans, Arabic, Armenian, Brazilian, Catalan, Chinese, # Chinese-Traditional, Croatian, Czech, Danish, Dutch, English (United States), # Esperanto, Farsi (Persian), Finnish, French, German, Greek, Hungarian, # Indonesian, Italian, Japanese, Japanese-en (Japanese with English messages), # Korean, Korean-en (Korean with English messages), Latvian, Lithuanian, # Macedonian, Norwegian, Persian (Farsi), Polish, Portuguese, Romanian, Russian, # Serbian, Serbian-Cyrillic, Slovak, Slovene, Spanish, Swedish, Turkish, # Ukrainian and Vietnamese. # The default value is: English. OUTPUT_LANGUAGE = English # If the BRIEF_MEMBER_DESC tag is set to YES doxygen will include brief member # descriptions after the members that are listed in the file and class # documentation (similar to Javadoc). Set to NO to disable this. # The default value is: YES. BRIEF_MEMBER_DESC = YES # If the REPEAT_BRIEF tag is set to YES doxygen will prepend the brief # description of a member or function before the detailed description # # Note: If both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the # brief descriptions will be completely suppressed. # The default value is: YES. REPEAT_BRIEF = YES # This tag implements a quasi-intelligent brief description abbreviator that is # used to form the text in various listings. Each string in this list, if found # as the leading text of the brief description, will be stripped from the text # and the result, after processing the whole list, is used as the annotated # text. Otherwise, the brief description is used as-is. If left blank, the # following values are used ($name is automatically replaced with the name of # the entity):The $name class, The $name widget, The $name file, is, provides, # specifies, contains, represents, a, an and the. ABBREVIATE_BRIEF = "The $name class " \ "The $name widget " \ "The $name file " \ is \ provides \ specifies \ contains \ represents \ a \ an \ the # If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then # doxygen will generate a detailed section even if there is only a brief # description. # The default value is: NO. ALWAYS_DETAILED_SEC = NO # If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all # inherited members of a class in the documentation of that class as if those # members were ordinary class members. Constructors, destructors and assignment # operators of the base classes will not be shown. # The default value is: NO. INLINE_INHERITED_MEMB = NO # If the FULL_PATH_NAMES tag is set to YES doxygen will prepend the full path # before files name in the file list and in the header files. If set to NO the # shortest path that makes the file name unique will be used # The default value is: YES. FULL_PATH_NAMES = NO # The STRIP_FROM_PATH tag can be used to strip a user-defined part of the path. # Stripping is only done if one of the specified strings matches the left-hand # part of the path. The tag can be used to show relative paths in the file list. # If left blank the directory from which doxygen is run is used as the path to # strip. # # Note that you can specify absolute paths here, but also relative paths, which # will be relative from the directory where doxygen is started. # This tag requires that the tag FULL_PATH_NAMES is set to YES. STRIP_FROM_PATH = # The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of the # path mentioned in the documentation of a class, which tells the reader which # header file to include in order to use a class. If left blank only the name of # the header file containing the class definition is used. Otherwise one should # specify the list of include paths that are normally passed to the compiler # using the -I flag. STRIP_FROM_INC_PATH = # If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter (but # less readable) file names. This can be useful is your file systems doesn't # support long names like on DOS, Mac, or CD-ROM. # The default value is: NO. SHORT_NAMES = NO # If the JAVADOC_AUTOBRIEF tag is set to YES then doxygen will interpret the # first line (until the first dot) of a Javadoc-style comment as the brief # description. If set to NO, the Javadoc-style will behave just like regular Qt- # style comments (thus requiring an explicit @brief command for a brief # description.) # The default value is: NO. JAVADOC_AUTOBRIEF = YES # If the QT_AUTOBRIEF tag is set to YES then doxygen will interpret the first # line (until the first dot) of a Qt-style comment as the brief description. If # set to NO, the Qt-style will behave just like regular Qt-style comments (thus # requiring an explicit \brief command for a brief description.) # The default value is: NO. QT_AUTOBRIEF = NO # The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make doxygen treat a # multi-line C++ special comment block (i.e. a block of //! or /// comments) as # a brief description. This used to be the default behavior. The new default is # to treat a multi-line C++ comment block as a detailed description. Set this # tag to YES if you prefer the old behavior instead. # # Note that setting this tag to YES also means that rational rose comments are # not recognized any more. # The default value is: NO. MULTILINE_CPP_IS_BRIEF = NO # If the INHERIT_DOCS tag is set to YES then an undocumented member inherits the # documentation from any documented member that it re-implements. # The default value is: YES. INHERIT_DOCS = YES # If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce a # new page for each member. If set to NO, the documentation of a member will be # part of the file/class/namespace that contains it. # The default value is: NO. SEPARATE_MEMBER_PAGES = NO # The TAB_SIZE tag can be used to set the number of spaces in a tab. Doxygen # uses this value to replace tabs by spaces in code fragments. # Minimum value: 1, maximum value: 16, default value: 4. TAB_SIZE = 4 # This tag can be used to specify a number of aliases that act as commands in # the documentation. An alias has the form: # name=value # For example adding # "sideeffect=@par Side Effects:\n" # will allow you to put the command \sideeffect (or @sideeffect) in the # documentation, which will result in a user-defined paragraph with heading # "Side Effects:". You can put \n's in the value part of an alias to insert # newlines. ## ALIASES taken from pidgin ALIASES = "signal=- @ref " \ "signaldef=@subsection " \ "endsignaldef= " \ "signalproto=@code " \ "endsignalproto=@endcode " \ "signaldesc=" \ "signals=@b Signals: " \ "endsignals= " \ "gironly=@internal" # Apparently Doxygen doesn't seem to like \only without a previous command, so create a no-op ALIASES += "noop=\if FALSE \endif" ALIASES += "transfer{1}=\noop \xmlonly \1\endxmlonly \htmlonly (transfer: \1) \endhtmlonly" ALIASES += "elementtype{1}=\noop \xmlonly \1\endxmlonly \htmlonly (element-type: \1) \endhtmlonly" ALIASES += "scope{1}=\noop \xmlonly \1\endxmlonly \htmlonly (scope: \1) \endhtmlonly" ALIASES += "girskip=\noop \xmlonly \endxmlonly" ALIASES += "nullable=\noop \xmlonly \endxmlonly" ALIASES += "out=\noop \xmlonly \endxmlonly \htmlonly (out) \endhtmlonly" ALIASES += "optional=\noop \xmlonly \endxmlonly" ALIASES += "cb=\noop \xmlonly notified\endxmlonly" ALIASES += "cbdata=\noop \xmlonly \endxmlonly" ALIASES += "cbfree=\noop \xmlonly \endxmlonly" # This tag can be used to specify a number of word-keyword mappings (TCL only). # A mapping has the form "name=value". For example adding "class=itcl::class" # will allow you to use the command class in the itcl::class meaning. TCL_SUBST = # Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C sources # only. Doxygen will then generate output that is more tailored for C. For # instance, some of the names that are used will be different. The list of all # members will be omitted, etc. # The default value is: NO. OPTIMIZE_OUTPUT_FOR_C = YES # Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java or # Python sources only. Doxygen will then generate output that is more tailored # for that language. For instance, namespaces will be presented as packages, # qualified scopes will look different, etc. # The default value is: NO. OPTIMIZE_OUTPUT_JAVA = NO # Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran # sources. Doxygen will then generate output that is tailored for Fortran. # The default value is: NO. OPTIMIZE_FOR_FORTRAN = NO # Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL # sources. Doxygen will then generate output that is tailored for VHDL. # The default value is: NO. OPTIMIZE_OUTPUT_VHDL = NO # Doxygen selects the parser to use depending on the extension of the files it # parses. With this tag you can assign which parser to use for a given # extension. Doxygen has a built-in mapping, but you can override or extend it # using this tag. The format is ext=language, where ext is a file extension, and # language is one of the parsers supported by doxygen: IDL, Java, Javascript, # C#, C, C++, D, PHP, Objective-C, Python, Fortran (fixed format Fortran: # FortranFixed, free formatted Fortran: FortranFree, unknown formatted Fortran: # Fortran. In the later case the parser tries to guess whether the code is fixed # or free formatted code, this is the default for Fortran type files), VHDL. For # instance to make doxygen treat .inc files as Fortran files (default is PHP), # and .f files as C (default is Fortran), use: inc=Fortran f=C. # # Note For files without extension you can use no_extension as a placeholder. # # Note that for custom extensions you also need to set FILE_PATTERNS otherwise # the files are not read by doxygen. EXTENSION_MAPPING = # If the MARKDOWN_SUPPORT tag is enabled then doxygen pre-processes all comments # according to the Markdown format, which allows for more readable # documentation. See http://daringfireball.net/projects/markdown/ for details. # The output of markdown processing is further processed by doxygen, so you can # mix doxygen, HTML, and XML commands with Markdown formatting. Disable only in # case of backward compatibilities issues. # The default value is: YES. MARKDOWN_SUPPORT = YES # When enabled doxygen tries to link words that correspond to documented # classes, or namespaces to their corresponding documentation. Such a link can # be prevented in individual cases by by putting a % sign in front of the word # or globally by setting AUTOLINK_SUPPORT to NO. # The default value is: YES. AUTOLINK_SUPPORT = YES # If you use STL classes (i.e. std::string, std::vector, etc.) but do not want # to include (a tag file for) the STL sources as input, then you should set this # tag to YES in order to let doxygen match functions declarations and # definitions whose arguments contain STL classes (e.g. func(std::string); # versus func(std::string) {}). This also make the inheritance and collaboration # diagrams that involve STL classes more complete and accurate. # The default value is: NO. BUILTIN_STL_SUPPORT = NO # If you use Microsoft's C++/CLI language, you should set this option to YES to # enable parsing support. # The default value is: NO. CPP_CLI_SUPPORT = NO # Set the SIP_SUPPORT tag to YES if your project consists of sip (see: # http://www.riverbankcomputing.co.uk/software/sip/intro) sources only. Doxygen # will parse them like normal C++ but will assume all classes use public instead # of private inheritance when no explicit protection keyword is present. # The default value is: NO. SIP_SUPPORT = NO # For Microsoft's IDL there are propget and propput attributes to indicate # getter and setter methods for a property. Setting this option to YES will make # doxygen to replace the get and set methods by a property in the documentation. # This will only work if the methods are indeed getting or setting a simple # type. If this is not the case, or you want to show the methods anyway, you # should set this option to NO. # The default value is: YES. IDL_PROPERTY_SUPPORT = YES # If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC # tag is set to YES, then doxygen will reuse the documentation of the first # member in the group (if any) for the other members of the group. By default # all members of a group must be documented explicitly. # The default value is: NO. DISTRIBUTE_GROUP_DOC = NO # Set the SUBGROUPING tag to YES to allow class member groups of the same type # (for instance a group of public functions) to be put as a subgroup of that # type (e.g. under the Public Functions section). Set it to NO to prevent # subgrouping. Alternatively, this can be done per class using the # \nosubgrouping command. # The default value is: YES. SUBGROUPING = YES # When the INLINE_GROUPED_CLASSES tag is set to YES, classes, structs and unions # are shown inside the group in which they are included (e.g. using \ingroup) # instead of on a separate page (for HTML and Man pages) or section (for LaTeX # and RTF). # # Note that this feature does not work in combination with # SEPARATE_MEMBER_PAGES. # The default value is: NO. INLINE_GROUPED_CLASSES = NO # When the INLINE_SIMPLE_STRUCTS tag is set to YES, structs, classes, and unions # with only public data fields or simple typedef fields will be shown inline in # the documentation of the scope in which they are defined (i.e. file, # namespace, or group documentation), provided this scope is documented. If set # to NO, structs, classes, and unions are shown on a separate page (for HTML and # Man pages) or section (for LaTeX and RTF). # The default value is: NO. INLINE_SIMPLE_STRUCTS = NO # When TYPEDEF_HIDES_STRUCT tag is enabled, a typedef of a struct, union, or # enum is documented as struct, union, or enum with the name of the typedef. So # typedef struct TypeS {} TypeT, will appear in the documentation as a struct # with name TypeT. When disabled the typedef will appear as a member of a file, # namespace, or class. And the struct will be named TypeS. This can typically be # useful for C code in case the coding convention dictates that all compound # types are typedef'ed and only the typedef is referenced, never the tag name. # The default value is: NO. TYPEDEF_HIDES_STRUCT = NO # The size of the symbol lookup cache can be set using LOOKUP_CACHE_SIZE. This # cache is used to resolve symbols given their name and scope. Since this can be # an expensive process and often the same symbol appears multiple times in the # code, doxygen keeps a cache of pre-resolved symbols. If the cache is too small # doxygen will become slower. If the cache is too large, memory is wasted. The # cache size is given by this formula: 2^(16+LOOKUP_CACHE_SIZE). The valid range # is 0..9, the default is 0, corresponding to a cache size of 2^16=65536 # symbols. At the end of a run doxygen will report the cache usage and suggest # the optimal cache size from a speed point of view. # Minimum value: 0, maximum value: 9, default value: 0. LOOKUP_CACHE_SIZE = 0 #--------------------------------------------------------------------------- # Build related configuration options #--------------------------------------------------------------------------- # If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in # documentation are documented, even if no documentation was available. Private # class members and static file members will be hidden unless the # EXTRACT_PRIVATE respectively EXTRACT_STATIC tags are set to YES. # Note: This will also disable the warnings about undocumented members that are # normally produced when WARNINGS is set to YES. # The default value is: NO. EXTRACT_ALL = NO # If the EXTRACT_PRIVATE tag is set to YES all private members of a class will # be included in the documentation. # The default value is: NO. EXTRACT_PRIVATE = NO # If the EXTRACT_PACKAGE tag is set to YES all members with package or internal # scope will be included in the documentation. # The default value is: NO. EXTRACT_PACKAGE = NO # If the EXTRACT_STATIC tag is set to YES all static members of a file will be # included in the documentation. # The default value is: NO. EXTRACT_STATIC = NO # If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) defined # locally in source files will be included in the documentation. If set to NO # only classes defined in header files are included. Does not have any effect # for Java sources. # The default value is: YES. EXTRACT_LOCAL_CLASSES = YES # This flag is only useful for Objective-C code. When set to YES local methods, # which are defined in the implementation section but not in the interface are # included in the documentation. If set to NO only methods in the interface are # included. # The default value is: NO. EXTRACT_LOCAL_METHODS = NO # If this flag is set to YES, the members of anonymous namespaces will be # extracted and appear in the documentation as a namespace called # 'anonymous_namespace{file}', where file will be replaced with the base name of # the file that contains the anonymous namespace. By default anonymous namespace # are hidden. # The default value is: NO. EXTRACT_ANON_NSPACES = NO # If the HIDE_UNDOC_MEMBERS tag is set to YES, doxygen will hide all # undocumented members inside documented classes or files. If set to NO these # members will be included in the various overviews, but no documentation # section is generated. This option has no effect if EXTRACT_ALL is enabled. # The default value is: NO. HIDE_UNDOC_MEMBERS = YES # If the HIDE_UNDOC_CLASSES tag is set to YES, doxygen will hide all # undocumented classes that are normally visible in the class hierarchy. If set # to NO these classes will be included in the various overviews. This option has # no effect if EXTRACT_ALL is enabled. # The default value is: NO. HIDE_UNDOC_CLASSES = YES # If the HIDE_FRIEND_COMPOUNDS tag is set to YES, doxygen will hide all friend # (class|struct|union) declarations. If set to NO these declarations will be # included in the documentation. # The default value is: NO. HIDE_FRIEND_COMPOUNDS = NO # If the HIDE_IN_BODY_DOCS tag is set to YES, doxygen will hide any # documentation blocks found inside the body of a function. If set to NO these # blocks will be appended to the function's detailed documentation block. # The default value is: NO. HIDE_IN_BODY_DOCS = YES # The INTERNAL_DOCS tag determines if documentation that is typed after a # \internal command is included. If the tag is set to NO then the documentation # will be excluded. Set it to YES to include the internal documentation. # The default value is: NO. INTERNAL_DOCS = NO # If the CASE_SENSE_NAMES tag is set to NO then doxygen will only generate file # names in lower-case letters. If set to YES upper-case letters are also # allowed. This is useful if you have classes or files whose names only differ # in case and if your file system supports case sensitive file names. Windows # and Mac users are advised to set this option to NO. # The default value is: system dependent. CASE_SENSE_NAMES = YES # If the HIDE_SCOPE_NAMES tag is set to NO then doxygen will show members with # their full class and namespace scopes in the documentation. If set to YES the # scope will be hidden. # The default value is: NO. HIDE_SCOPE_NAMES = NO # If the SHOW_INCLUDE_FILES tag is set to YES then doxygen will put a list of # the files that are included by a file in the documentation of that file. # The default value is: YES. SHOW_INCLUDE_FILES = NO # If the SHOW_GROUPED_MEMB_INC tag is set to YES then Doxygen will add for each # grouped member an include statement to the documentation, telling the reader # which file to include in order to use the member. # The default value is: NO. SHOW_GROUPED_MEMB_INC = NO # If the FORCE_LOCAL_INCLUDES tag is set to YES then doxygen will list include # files with double quotes in the documentation rather than with sharp brackets. # The default value is: NO. FORCE_LOCAL_INCLUDES = NO # If the INLINE_INFO tag is set to YES then a tag [inline] is inserted in the # documentation for inline members. # The default value is: YES. INLINE_INFO = NO # If the SORT_MEMBER_DOCS tag is set to YES then doxygen will sort the # (detailed) documentation of file and class members alphabetically by member # name. If set to NO the members will appear in declaration order. # The default value is: YES. SORT_MEMBER_DOCS = YES # If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the brief # descriptions of file, namespace and class members alphabetically by member # name. If set to NO the members will appear in declaration order. Note that # this will also influence the order of the classes in the class list. # The default value is: NO. SORT_BRIEF_DOCS = YES # If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen will sort the # (brief and detailed) documentation of class members so that constructors and # destructors are listed first. If set to NO the constructors will appear in the # respective orders defined by SORT_BRIEF_DOCS and SORT_MEMBER_DOCS. # Note: If SORT_BRIEF_DOCS is set to NO this option is ignored for sorting brief # member documentation. # Note: If SORT_MEMBER_DOCS is set to NO this option is ignored for sorting # detailed member documentation. # The default value is: NO. SORT_MEMBERS_CTORS_1ST = NO # If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the hierarchy # of group names into alphabetical order. If set to NO the group names will # appear in their defined order. # The default value is: NO. SORT_GROUP_NAMES = NO # If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be sorted by # fully-qualified names, including namespaces. If set to NO, the class list will # be sorted only by class name, not including the namespace part. # Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES. # Note: This option applies only to the class list, not to the alphabetical # list. # The default value is: NO. SORT_BY_SCOPE_NAME = NO # If the STRICT_PROTO_MATCHING option is enabled and doxygen fails to do proper # type resolution of all parameters of a function it will reject a match between # the prototype and the implementation of a member function even if there is # only one candidate or it is obvious which candidate to choose by doing a # simple string match. By disabling STRICT_PROTO_MATCHING doxygen will still # accept a match between prototype and implementation in such cases. # The default value is: NO. STRICT_PROTO_MATCHING = NO # The GENERATE_TODOLIST tag can be used to enable ( YES) or disable ( NO) the # todo list. This list is created by putting \todo commands in the # documentation. # The default value is: YES. GENERATE_TODOLIST = YES # The GENERATE_TESTLIST tag can be used to enable ( YES) or disable ( NO) the # test list. This list is created by putting \test commands in the # documentation. # The default value is: YES. GENERATE_TESTLIST = NO # The GENERATE_BUGLIST tag can be used to enable ( YES) or disable ( NO) the bug # list. This list is created by putting \bug commands in the documentation. # The default value is: YES. GENERATE_BUGLIST = YES # The GENERATE_DEPRECATEDLIST tag can be used to enable ( YES) or disable ( NO) # the deprecated list. This list is created by putting \deprecated commands in # the documentation. # The default value is: YES. GENERATE_DEPRECATEDLIST= YES # The ENABLED_SECTIONS tag can be used to enable conditional documentation # sections, marked by \if ... \endif and \cond # ... \endcond blocks. ENABLED_SECTIONS = # The MAX_INITIALIZER_LINES tag determines the maximum number of lines that the # initial value of a variable or macro / define can have for it to appear in the # documentation. If the initializer consists of more lines than specified here # it will be hidden. Use a value of 0 to hide initializers completely. The # appearance of the value of individual variables and macros / defines can be # controlled using \showinitializer or \hideinitializer command in the # documentation regardless of this setting. # Minimum value: 0, maximum value: 10000, default value: 30. MAX_INITIALIZER_LINES = 30 # Set the SHOW_USED_FILES tag to NO to disable the list of files generated at # the bottom of the documentation of classes and structs. If set to YES the list # will mention the files that were used to generate the documentation. # The default value is: YES. SHOW_USED_FILES = NO # Set the SHOW_FILES tag to NO to disable the generation of the Files page. This # will remove the Files entry from the Quick Index and from the Folder Tree View # (if specified). # The default value is: YES. SHOW_FILES = YES # Set the SHOW_NAMESPACES tag to NO to disable the generation of the Namespaces # page. This will remove the Namespaces entry from the Quick Index and from the # Folder Tree View (if specified). # The default value is: YES. SHOW_NAMESPACES = YES # The FILE_VERSION_FILTER tag can be used to specify a program or script that # doxygen should invoke to get the current version for each file (typically from # the version control system). Doxygen will invoke the program by executing (via # popen()) the command command input-file, where command is the value of the # FILE_VERSION_FILTER tag, and input-file is the name of an input file provided # by doxygen. Whatever the program writes to standard output is used as the file # version. For an example see the documentation. FILE_VERSION_FILTER = # The LAYOUT_FILE tag can be used to specify a layout file which will be parsed # by doxygen. The layout file controls the global structure of the generated # output files in an output format independent way. To create the layout file # that represents doxygen's defaults, run doxygen with the -l option. You can # optionally specify a file name after the option, if omitted DoxygenLayout.xml # will be used as the name of the layout file. # # Note that if you run doxygen from a directory containing a file called # DoxygenLayout.xml, doxygen will parse it automatically even if the LAYOUT_FILE # tag is left empty. LAYOUT_FILE = # The CITE_BIB_FILES tag can be used to specify one or more bib files containing # the reference definitions. This must be a list of .bib files. The .bib # extension is automatically appended if omitted. This requires the bibtex tool # to be installed. See also http://en.wikipedia.org/wiki/BibTeX for more info. # For LaTeX the style of the bibliography can be controlled using # LATEX_BIB_STYLE. To use this feature you need bibtex and perl available in the # search path. See also \cite for info how to create references. CITE_BIB_FILES = #--------------------------------------------------------------------------- # Configuration options related to warning and progress messages #--------------------------------------------------------------------------- # The QUIET tag can be used to turn on/off the messages that are generated to # standard output by doxygen. If QUIET is set to YES this implies that the # messages are off. # The default value is: NO. QUIET = YES # The WARNINGS tag can be used to turn on/off the warning messages that are # generated to standard error ( stderr) by doxygen. If WARNINGS is set to YES # this implies that the warnings are on. # # Tip: Turn warnings on while writing the documentation. # The default value is: YES. WARNINGS = YES # If the WARN_IF_UNDOCUMENTED tag is set to YES, then doxygen will generate # warnings for undocumented members. If EXTRACT_ALL is set to YES then this flag # will automatically be disabled. # The default value is: YES. WARN_IF_UNDOCUMENTED = YES # If the WARN_IF_DOC_ERROR tag is set to YES, doxygen will generate warnings for # potential errors in the documentation, such as not documenting some parameters # in a documented function, or documenting parameters that don't exist or using # markup commands wrongly. # The default value is: YES. WARN_IF_DOC_ERROR = YES # This WARN_NO_PARAMDOC option can be enabled to get warnings for functions that # are documented, but have no documentation for their parameters or return # value. If set to NO doxygen will only warn about wrong or incomplete parameter # documentation, but not about the absence of documentation. # The default value is: NO. WARN_NO_PARAMDOC = YES # The WARN_FORMAT tag determines the format of the warning messages that doxygen # can produce. The string should contain the $file, $line, and $text tags, which # will be replaced by the file and line number from which the warning originated # and the warning text. Optionally the format may contain $version, which will # be replaced by the version of the file (if it could be obtained via # FILE_VERSION_FILTER) # The default value is: $file:$line: $text. WARN_FORMAT = "$file:$line: $text " # The WARN_LOGFILE tag can be used to specify a file to which warning and error # messages should be written. If left blank the output is written to standard # error (stderr). WARN_LOGFILE = #--------------------------------------------------------------------------- # Configuration options related to the input files #--------------------------------------------------------------------------- # The INPUT tag is used to specify the files and/or directories that contain # documented source files. You may enter file names like myfile.cpp or # directories like /usr/src/myproject. Separate the files or directories with # spaces. # Note: If this tag is empty the current directory is searched. INPUT = @top_srcdir@/src/ \ @top_srcdir@/doc/plugins.dox \ @top_srcdir@/doc/pluginsignals.c \ @top_srcdir@/doc/pluginsymbols.c \ @top_srcdir@/doc/stash-example.c \ @top_srcdir@/doc/stash-gui-example.c \ @top_srcdir@/plugins/geanyplugin.h \ @top_srcdir@/src/tagmanager/tm_source_file.c \ @top_srcdir@/src/tagmanager/tm_source_file.h \ @top_srcdir@/src/tagmanager/tm_workspace.c \ @top_srcdir@/src/tagmanager/tm_workspace.h \ @top_srcdir@/src/tagmanager/tm_tag.c \ @top_srcdir@/src/tagmanager/tm_tag.h \ @top_srcdir@/src/tagmanager/tm_parser.h # This tag can be used to specify the character encoding of the source files # that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses # libiconv (or the iconv built into libc) for the transcoding. See the libiconv # documentation (see: http://www.gnu.org/software/libiconv) for the list of # possible encodings. # The default value is: UTF-8. INPUT_ENCODING = UTF-8 # If the value of the INPUT tag contains directories, you can use the # FILE_PATTERNS tag to specify one or more wildcard patterns (like *.cpp and # *.h) to filter out the source-files in the directories. If left blank the # following patterns are tested:*.c, *.cc, *.cxx, *.cpp, *.c++, *.java, *.ii, # *.ixx, *.ipp, *.i++, *.inl, *.idl, *.ddl, *.odl, *.h, *.hh, *.hxx, *.hpp, # *.h++, *.cs, *.d, *.php, *.php4, *.php5, *.phtml, *.inc, *.m, *.markdown, # *.md, *.mm, *.dox, *.py, *.f90, *.f, *.for, *.tcl, *.vhd, *.vhdl, *.ucf, # *.qsf, *.as and *.js. FILE_PATTERNS = *.c \ *.cc \ *.cxx \ *.cpp \ *.c++ \ *.h \ *.hh \ *.hxx \ *.hpp \ *.h++ \ *.dox \ *.py \ *.C \ *.CC \ *.C++ \ *.H \ *.HH \ *.H++ # The RECURSIVE tag can be used to specify whether or not subdirectories should # be searched for input files as well. # The default value is: NO. RECURSIVE = NO # The EXCLUDE tag can be used to specify files and/or directories that should be # excluded from the INPUT source files. This way you can easily exclude a # subdirectory from a directory tree whose root is specified with the INPUT tag. # # Note that relative paths are relative to the directory from which doxygen is # run. EXCLUDE = @top_srcdir@/doc/geany-gtkdoc.h \ @top_srcdir@/doc/geany-sciwrappers-gtkdoc.h # The EXCLUDE_SYMLINKS tag can be used to select whether or not files or # directories that are symbolic links (a Unix file system feature) are excluded # from the input. # The default value is: NO. EXCLUDE_SYMLINKS = NO # If the value of the INPUT tag contains directories, you can use the # EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude # certain files from those directories. # # Note that the wildcards are matched against the file with absolute path, so to # exclude all test directories for example use the pattern */test/* EXCLUDE_PATTERNS = # The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names # (namespaces, classes, functions, etc.) that should be excluded from the # output. The symbol name can be a fully qualified name, a word, or if the # wildcard * is used, a substring. Examples: ANamespace, AClass, # AClass::ANamespace, ANamespace::*Test # # Note that the wildcards are matched against the file with absolute path, so to # exclude all test directories use the pattern */test/* EXCLUDE_SYMBOLS = # The EXAMPLE_PATH tag can be used to specify one or more files or directories # that contain example code fragments that are included (see the \include # command). EXAMPLE_PATH = @top_srcdir@/doc # If the value of the EXAMPLE_PATH tag contains directories, you can use the # EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp and # *.h) to filter out the source-files in the directories. If left blank all # files are included. EXAMPLE_PATTERNS = * # If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be # searched for input files to be used with the \include or \dontinclude commands # irrespective of the value of the RECURSIVE tag. # The default value is: NO. EXAMPLE_RECURSIVE = NO # The IMAGE_PATH tag can be used to specify one or more files or directories # that contain images that are to be included in the documentation (see the # \image command). IMAGE_PATH = # The INPUT_FILTER tag can be used to specify a program that doxygen should # invoke to filter for each input file. Doxygen will invoke the filter program # by executing (via popen()) the command: # # # # where is the value of the INPUT_FILTER tag, and is the # name of an input file. Doxygen will then use the output that the filter # program writes to standard output. If FILTER_PATTERNS is specified, this tag # will be ignored. # # Note that the filter must not add or remove lines; it is applied before the # code is scanned, but not when the output code is generated. If lines are added # or removed, the anchors will not be placed correctly. INPUT_FILTER = # The FILTER_PATTERNS tag can be used to specify filters on a per file pattern # basis. Doxygen will compare the file name with each pattern and apply the # filter if there is a match. The filters are a list of the form: pattern=filter # (like *.cpp=my_cpp_filter). See INPUT_FILTER for further information on how # filters are used. If the FILTER_PATTERNS tag is empty or if none of the # patterns match the file name, INPUT_FILTER is applied. FILTER_PATTERNS = # If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using # INPUT_FILTER ) will also be used to filter the input files that are used for # producing the source files to browse (i.e. when SOURCE_BROWSER is set to YES). # The default value is: NO. FILTER_SOURCE_FILES = NO # The FILTER_SOURCE_PATTERNS tag can be used to specify source filters per file # pattern. A pattern will override the setting for FILTER_PATTERN (if any) and # it is also possible to disable source filtering for a specific pattern using # *.ext= (so without naming a filter). # This tag requires that the tag FILTER_SOURCE_FILES is set to YES. FILTER_SOURCE_PATTERNS = # If the USE_MDFILE_AS_MAINPAGE tag refers to the name of a markdown file that # is part of the input, its contents will be placed on the main page # (index.html). This can be useful if you have a project on for instance GitHub # and want to reuse the introduction page also for the doxygen output. USE_MDFILE_AS_MAINPAGE = #--------------------------------------------------------------------------- # Configuration options related to source browsing #--------------------------------------------------------------------------- # If the SOURCE_BROWSER tag is set to YES then a list of source files will be # generated. Documented entities will be cross-referenced with these sources. # # Note: To get rid of all source code in the generated output, make sure that # also VERBATIM_HEADERS is set to NO. # The default value is: NO. SOURCE_BROWSER = NO # Setting the INLINE_SOURCES tag to YES will include the body of functions, # classes and enums directly into the documentation. # The default value is: NO. INLINE_SOURCES = NO # Setting the STRIP_CODE_COMMENTS tag to YES will instruct doxygen to hide any # special comment blocks from generated source code fragments. Normal C, C++ and # Fortran comments will always remain visible. # The default value is: YES. STRIP_CODE_COMMENTS = YES # If the REFERENCED_BY_RELATION tag is set to YES then for each documented # function all documented functions referencing it will be listed. # The default value is: NO. REFERENCED_BY_RELATION = NO # If the REFERENCES_RELATION tag is set to YES then for each documented function # all documented entities called/used by that function will be listed. # The default value is: NO. REFERENCES_RELATION = NO # If the REFERENCES_LINK_SOURCE tag is set to YES and SOURCE_BROWSER tag is set # to YES, then the hyperlinks from functions in REFERENCES_RELATION and # REFERENCED_BY_RELATION lists will link to the source code. Otherwise they will # link to the documentation. # The default value is: YES. REFERENCES_LINK_SOURCE = YES # If SOURCE_TOOLTIPS is enabled (the default) then hovering a hyperlink in the # source code will show a tooltip with additional information such as prototype, # brief description and links to the definition and documentation. Since this # will make the HTML file larger and loading of large files a bit slower, you # can opt to disable this feature. # The default value is: YES. # This tag requires that the tag SOURCE_BROWSER is set to YES. SOURCE_TOOLTIPS = YES # If the USE_HTAGS tag is set to YES then the references to source code will # point to the HTML generated by the htags(1) tool instead of doxygen built-in # source browser. The htags tool is part of GNU's global source tagging system # (see http://www.gnu.org/software/global/global.html). You will need version # 4.8.6 or higher. # # To use it do the following: # - Install the latest version of global # - Enable SOURCE_BROWSER and USE_HTAGS in the config file # - Make sure the INPUT points to the root of the source tree # - Run doxygen as normal # # Doxygen will invoke htags (and that will in turn invoke gtags), so these # tools must be available from the command line (i.e. in the search path). # # The result: instead of the source browser generated by doxygen, the links to # source code will now point to the output of htags. # The default value is: NO. # This tag requires that the tag SOURCE_BROWSER is set to YES. USE_HTAGS = NO # If the VERBATIM_HEADERS tag is set the YES then doxygen will generate a # verbatim copy of the header file for each class for which an include is # specified. Set to NO to disable this. # See also: Section \class. # The default value is: YES. VERBATIM_HEADERS = NO # If the CLANG_ASSISTED_PARSING tag is set to YES, then doxygen will use the # clang parser (see: http://clang.llvm.org/) for more accurate parsing at the # cost of reduced performance. This can be particularly helpful with template # rich C++ code for which doxygen's built-in parser lacks the necessary type # information. # Note: The availability of this option depends on whether or not doxygen was # compiled with the --with-libclang option. # The default value is: NO. # CLANG_ASSISTED_PARSING = NO # If clang assisted parsing is enabled you can provide the compiler with command # line options that you would normally use when invoking the compiler. Note that # the include paths will already be set by doxygen for the files and directories # specified with INPUT and INCLUDE_PATH. # This tag requires that the tag CLANG_ASSISTED_PARSING is set to YES. # CLANG_OPTIONS = #--------------------------------------------------------------------------- # Configuration options related to the alphabetical class index #--------------------------------------------------------------------------- # If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index of all # compounds will be generated. Enable this if the project contains a lot of # classes, structs, unions or interfaces. # The default value is: YES. ALPHABETICAL_INDEX = NO # The COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns in # which the alphabetical index list will be split. # Minimum value: 1, maximum value: 20, default value: 5. # This tag requires that the tag ALPHABETICAL_INDEX is set to YES. COLS_IN_ALPHA_INDEX = 5 # In case all classes in a project start with a common prefix, all classes will # be put under the same header in the alphabetical index. The IGNORE_PREFIX tag # can be used to specify a prefix (or a list of prefixes) that should be ignored # while generating the index headers. # This tag requires that the tag ALPHABETICAL_INDEX is set to YES. IGNORE_PREFIX = #--------------------------------------------------------------------------- # Configuration options related to the HTML output #--------------------------------------------------------------------------- # If the GENERATE_HTML tag is set to YES doxygen will generate HTML output # The default value is: YES. GENERATE_HTML = YES # The HTML_OUTPUT tag is used to specify where the HTML docs will be put. If a # relative path is entered the value of OUTPUT_DIRECTORY will be put in front of # it. # The default directory is: html. # This tag requires that the tag GENERATE_HTML is set to YES. HTML_OUTPUT = reference/ # The HTML_FILE_EXTENSION tag can be used to specify the file extension for each # generated HTML page (for example: .htm, .php, .asp). # The default value is: .html. # This tag requires that the tag GENERATE_HTML is set to YES. HTML_FILE_EXTENSION = .html # The HTML_HEADER tag can be used to specify a user-defined HTML header file for # each generated HTML page. If the tag is left blank doxygen will generate a # standard header. # # To get valid HTML the header file that includes any scripts and style sheets # that doxygen needs, which is dependent on the configuration options used (e.g. # the setting GENERATE_TREEVIEW). It is highly recommended to start with a # default header using # doxygen -w html new_header.html new_footer.html new_stylesheet.css # YourConfigFile # and then modify the file new_header.html. See also section "Doxygen usage" # for information on how to generate the default header that doxygen normally # uses. # Note: The header is subject to change so you typically have to regenerate the # default header when upgrading to a newer version of doxygen. For a description # of the possible markers and block names see the documentation. # This tag requires that the tag GENERATE_HTML is set to YES. HTML_HEADER = # The HTML_FOOTER tag can be used to specify a user-defined HTML footer for each # generated HTML page. If the tag is left blank doxygen will generate a standard # footer. See HTML_HEADER for more information on how to generate a default # footer and what special commands can be used inside the footer. See also # section "Doxygen usage" for information on how to generate the default footer # that doxygen normally uses. # This tag requires that the tag GENERATE_HTML is set to YES. HTML_FOOTER = # The HTML_STYLESHEET tag can be used to specify a user-defined cascading style # sheet that is used by each HTML page. It can be used to fine-tune the look of # the HTML output. If left blank doxygen will generate a default style sheet. # See also section "Doxygen usage" for information on how to generate the style # sheet that doxygen normally uses. # Note: It is recommended to use HTML_EXTRA_STYLESHEET instead of this tag, as # it is more robust and this tag (HTML_STYLESHEET) will in the future become # obsolete. # This tag requires that the tag GENERATE_HTML is set to YES. HTML_STYLESHEET = # The HTML_EXTRA_STYLESHEET tag can be used to specify additional user-defined # cascading style sheets that are included after the standard style sheets # created by doxygen. Using this option one can overrule certain style aspects. # This is preferred over using HTML_STYLESHEET since it does not replace the # standard style sheet and is therefor more robust against future updates. # Doxygen will copy the style sheet files to the output directory. # Note: The order of the extra stylesheet files is of importance (e.g. the last # stylesheet in the list overrules the setting of the previous ones in the # list). For an example see the documentation. # This tag requires that the tag GENERATE_HTML is set to YES. HTML_EXTRA_STYLESHEET = # The HTML_EXTRA_FILES tag can be used to specify one or more extra images or # other source files which should be copied to the HTML output directory. Note # that these files will be copied to the base HTML output directory. Use the # $relpath^ marker in the HTML_HEADER and/or HTML_FOOTER files to load these # files. In the HTML_STYLESHEET file, use the file name only. Also note that the # files will be copied as-is; there are no commands or markers available. # This tag requires that the tag GENERATE_HTML is set to YES. HTML_EXTRA_FILES = # The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. Doxygen # will adjust the colors in the stylesheet and background images according to # this color. Hue is specified as an angle on a colorwheel, see # http://en.wikipedia.org/wiki/Hue for more information. For instance the value # 0 represents red, 60 is yellow, 120 is green, 180 is cyan, 240 is blue, 300 # purple, and 360 is red again. # Minimum value: 0, maximum value: 359, default value: 220. # This tag requires that the tag GENERATE_HTML is set to YES. HTML_COLORSTYLE_HUE = 220 # The HTML_COLORSTYLE_SAT tag controls the purity (or saturation) of the colors # in the HTML output. For a value of 0 the output will use grayscales only. A # value of 255 will produce the most vivid colors. # Minimum value: 0, maximum value: 255, default value: 100. # This tag requires that the tag GENERATE_HTML is set to YES. HTML_COLORSTYLE_SAT = 100 # The HTML_COLORSTYLE_GAMMA tag controls the gamma correction applied to the # luminance component of the colors in the HTML output. Values below 100 # gradually make the output lighter, whereas values above 100 make the output # darker. The value divided by 100 is the actual gamma applied, so 80 represents # a gamma of 0.8, The value 220 represents a gamma of 2.2, and 100 does not # change the gamma. # Minimum value: 40, maximum value: 240, default value: 80. # This tag requires that the tag GENERATE_HTML is set to YES. HTML_COLORSTYLE_GAMMA = 80 # If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML # page will contain the date and time when the page was generated. Setting this # to NO can help when comparing the output of multiple runs. # The default value is: YES. # This tag requires that the tag GENERATE_HTML is set to YES. HTML_TIMESTAMP = YES # If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML # documentation will contain sections that can be hidden and shown after the # page has loaded. # The default value is: NO. # This tag requires that the tag GENERATE_HTML is set to YES. HTML_DYNAMIC_SECTIONS = NO # With HTML_INDEX_NUM_ENTRIES one can control the preferred number of entries # shown in the various tree structured indices initially; the user can expand # and collapse entries dynamically later on. Doxygen will expand the tree to # such a level that at most the specified number of entries are visible (unless # a fully collapsed tree already exceeds this amount). So setting the number of # entries 1 will produce a full collapsed tree by default. 0 is a special value # representing an infinite number of entries and will result in a full expanded # tree by default. # Minimum value: 0, maximum value: 9999, default value: 100. # This tag requires that the tag GENERATE_HTML is set to YES. HTML_INDEX_NUM_ENTRIES = 100 # If the GENERATE_DOCSET tag is set to YES, additional index files will be # generated that can be used as input for Apple's Xcode 3 integrated development # environment (see: http://developer.apple.com/tools/xcode/), introduced with # OSX 10.5 (Leopard). To create a documentation set, doxygen will generate a # Makefile in the HTML output directory. Running make will produce the docset in # that directory and running make install will install the docset in # ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find it at # startup. See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html # for more information. # The default value is: NO. # This tag requires that the tag GENERATE_HTML is set to YES. GENERATE_DOCSET = NO # This tag determines the name of the docset feed. A documentation feed provides # an umbrella under which multiple documentation sets from a single provider # (such as a company or product suite) can be grouped. # The default value is: Doxygen generated docs. # This tag requires that the tag GENERATE_DOCSET is set to YES. DOCSET_FEEDNAME = "Doxygen generated docs" # This tag specifies a string that should uniquely identify the documentation # set bundle. This should be a reverse domain-name style string, e.g. # com.mycompany.MyDocSet. Doxygen will append .docset to the name. # The default value is: org.doxygen.Project. # This tag requires that the tag GENERATE_DOCSET is set to YES. DOCSET_BUNDLE_ID = org.doxygen.Project # The DOCSET_PUBLISHER_ID tag specifies a string that should uniquely identify # the documentation publisher. This should be a reverse domain-name style # string, e.g. com.mycompany.MyDocSet.documentation. # The default value is: org.doxygen.Publisher. # This tag requires that the tag GENERATE_DOCSET is set to YES. DOCSET_PUBLISHER_ID = org.doxygen.Publisher # The DOCSET_PUBLISHER_NAME tag identifies the documentation publisher. # The default value is: Publisher. # This tag requires that the tag GENERATE_DOCSET is set to YES. DOCSET_PUBLISHER_NAME = Publisher # If the GENERATE_HTMLHELP tag is set to YES then doxygen generates three # additional HTML index files: index.hhp, index.hhc, and index.hhk. The # index.hhp is a project file that can be read by Microsoft's HTML Help Workshop # (see: http://www.microsoft.com/en-us/download/details.aspx?id=21138) on # Windows. # # The HTML Help Workshop contains a compiler that can convert all HTML output # generated by doxygen into a single compiled HTML file (.chm). Compiled HTML # files are now used as the Windows 98 help format, and will replace the old # Windows help format (.hlp) on all Windows platforms in the future. Compressed # HTML files also contain an index, a table of contents, and you can search for # words in the documentation. The HTML workshop also contains a viewer for # compressed HTML files. # The default value is: NO. # This tag requires that the tag GENERATE_HTML is set to YES. GENERATE_HTMLHELP = NO # The CHM_FILE tag can be used to specify the file name of the resulting .chm # file. You can add a path in front of the file if the result should not be # written to the html output directory. # This tag requires that the tag GENERATE_HTMLHELP is set to YES. CHM_FILE = # The HHC_LOCATION tag can be used to specify the location (absolute path # including file name) of the HTML help compiler ( hhc.exe). If non-empty # doxygen will try to run the HTML help compiler on the generated index.hhp. # The file has to be specified with full path. # This tag requires that the tag GENERATE_HTMLHELP is set to YES. HHC_LOCATION = # The GENERATE_CHI flag controls if a separate .chi index file is generated ( # YES) or that it should be included in the master .chm file ( NO). # The default value is: NO. # This tag requires that the tag GENERATE_HTMLHELP is set to YES. GENERATE_CHI = NO # The CHM_INDEX_ENCODING is used to encode HtmlHelp index ( hhk), content ( hhc) # and project file content. # This tag requires that the tag GENERATE_HTMLHELP is set to YES. CHM_INDEX_ENCODING = # The BINARY_TOC flag controls whether a binary table of contents is generated ( # YES) or a normal table of contents ( NO) in the .chm file. Furthermore it # enables the Previous and Next buttons. # The default value is: NO. # This tag requires that the tag GENERATE_HTMLHELP is set to YES. BINARY_TOC = NO # The TOC_EXPAND flag can be set to YES to add extra items for group members to # the table of contents of the HTML help documentation and to the tree view. # The default value is: NO. # This tag requires that the tag GENERATE_HTMLHELP is set to YES. TOC_EXPAND = NO # If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and # QHP_VIRTUAL_FOLDER are set, an additional index file will be generated that # can be used as input for Qt's qhelpgenerator to generate a Qt Compressed Help # (.qch) of the generated HTML documentation. # The default value is: NO. # This tag requires that the tag GENERATE_HTML is set to YES. GENERATE_QHP = NO # If the QHG_LOCATION tag is specified, the QCH_FILE tag can be used to specify # the file name of the resulting .qch file. The path specified is relative to # the HTML output folder. # This tag requires that the tag GENERATE_QHP is set to YES. QCH_FILE = # The QHP_NAMESPACE tag specifies the namespace to use when generating Qt Help # Project output. For more information please see Qt Help Project / Namespace # (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#namespace). # The default value is: org.doxygen.Project. # This tag requires that the tag GENERATE_QHP is set to YES. QHP_NAMESPACE = org.doxygen.Project # The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating Qt # Help Project output. For more information please see Qt Help Project / Virtual # Folders (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#virtual- # folders). # The default value is: doc. # This tag requires that the tag GENERATE_QHP is set to YES. QHP_VIRTUAL_FOLDER = doc # If the QHP_CUST_FILTER_NAME tag is set, it specifies the name of a custom # filter to add. For more information please see Qt Help Project / Custom # Filters (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#custom- # filters). # This tag requires that the tag GENERATE_QHP is set to YES. QHP_CUST_FILTER_NAME = # The QHP_CUST_FILTER_ATTRS tag specifies the list of the attributes of the # custom filter to add. For more information please see Qt Help Project / Custom # Filters (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#custom- # filters). # This tag requires that the tag GENERATE_QHP is set to YES. QHP_CUST_FILTER_ATTRS = # The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this # project's filter section matches. Qt Help Project / Filter Attributes (see: # http://qt-project.org/doc/qt-4.8/qthelpproject.html#filter-attributes). # This tag requires that the tag GENERATE_QHP is set to YES. QHP_SECT_FILTER_ATTRS = # The QHG_LOCATION tag can be used to specify the location of Qt's # qhelpgenerator. If non-empty doxygen will try to run qhelpgenerator on the # generated .qhp file. # This tag requires that the tag GENERATE_QHP is set to YES. QHG_LOCATION = # If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files will be # generated, together with the HTML files, they form an Eclipse help plugin. To # install this plugin and make it available under the help contents menu in # Eclipse, the contents of the directory containing the HTML and XML files needs # to be copied into the plugins directory of eclipse. The name of the directory # within the plugins directory should be the same as the ECLIPSE_DOC_ID value. # After copying Eclipse needs to be restarted before the help appears. # The default value is: NO. # This tag requires that the tag GENERATE_HTML is set to YES. GENERATE_ECLIPSEHELP = NO # A unique identifier for the Eclipse help plugin. When installing the plugin # the directory name containing the HTML and XML files should also have this # name. Each documentation set should have its own identifier. # The default value is: org.doxygen.Project. # This tag requires that the tag GENERATE_ECLIPSEHELP is set to YES. ECLIPSE_DOC_ID = org.doxygen.Project # If you want full control over the layout of the generated HTML pages it might # be necessary to disable the index and replace it with your own. The # DISABLE_INDEX tag can be used to turn on/off the condensed index (tabs) at top # of each HTML page. A value of NO enables the index and the value YES disables # it. Since the tabs in the index contain the same information as the navigation # tree, you can set this option to YES if you also set GENERATE_TREEVIEW to YES. # The default value is: NO. # This tag requires that the tag GENERATE_HTML is set to YES. DISABLE_INDEX = NO # The GENERATE_TREEVIEW tag is used to specify whether a tree-like index # structure should be generated to display hierarchical information. If the tag # value is set to YES, a side panel will be generated containing a tree-like # index structure (just like the one that is generated for HTML Help). For this # to work a browser that supports JavaScript, DHTML, CSS and frames is required # (i.e. any modern browser). Windows users are probably better off using the # HTML help feature. Via custom stylesheets (see HTML_EXTRA_STYLESHEET) one can # further fine-tune the look of the index. As an example, the default style # sheet generated by doxygen has an example that shows how to put an image at # the root of the tree instead of the PROJECT_NAME. Since the tree basically has # the same information as the tab index, you could consider setting # DISABLE_INDEX to YES when enabling this option. # The default value is: NO. # This tag requires that the tag GENERATE_HTML is set to YES. GENERATE_TREEVIEW = NO # The ENUM_VALUES_PER_LINE tag can be used to set the number of enum values that # doxygen will group on one line in the generated HTML documentation. # # Note that a value of 0 will completely suppress the enum values from appearing # in the overview section. # Minimum value: 0, maximum value: 20, default value: 4. # This tag requires that the tag GENERATE_HTML is set to YES. ENUM_VALUES_PER_LINE = 4 # If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be used # to set the initial width (in pixels) of the frame in which the tree is shown. # Minimum value: 0, maximum value: 1500, default value: 250. # This tag requires that the tag GENERATE_HTML is set to YES. TREEVIEW_WIDTH = 250 # When the EXT_LINKS_IN_WINDOW option is set to YES doxygen will open links to # external symbols imported via tag files in a separate window. # The default value is: NO. # This tag requires that the tag GENERATE_HTML is set to YES. EXT_LINKS_IN_WINDOW = NO # Use this tag to change the font size of LaTeX formulas included as images in # the HTML documentation. When you change the font size after a successful # doxygen run you need to manually remove any form_*.png images from the HTML # output directory to force them to be regenerated. # Minimum value: 8, maximum value: 50, default value: 10. # This tag requires that the tag GENERATE_HTML is set to YES. FORMULA_FONTSIZE = 10 # Use the FORMULA_TRANPARENT tag to determine whether or not the images # generated for formulas are transparent PNGs. Transparent PNGs are not # supported properly for IE 6.0, but are supported on all modern browsers. # # Note that when changing this option you need to delete any form_*.png files in # the HTML output directory before the changes have effect. # The default value is: YES. # This tag requires that the tag GENERATE_HTML is set to YES. FORMULA_TRANSPARENT = YES # Enable the USE_MATHJAX option to render LaTeX formulas using MathJax (see # http://www.mathjax.org) which uses client side Javascript for the rendering # instead of using prerendered bitmaps. Use this if you do not have LaTeX # installed or if you want to formulas look prettier in the HTML output. When # enabled you may also need to install MathJax separately and configure the path # to it using the MATHJAX_RELPATH option. # The default value is: NO. # This tag requires that the tag GENERATE_HTML is set to YES. USE_MATHJAX = NO # When MathJax is enabled you can set the default output format to be used for # the MathJax output. See the MathJax site (see: # http://docs.mathjax.org/en/latest/output.html) for more details. # Possible values are: HTML-CSS (which is slower, but has the best # compatibility), NativeMML (i.e. MathML) and SVG. # The default value is: HTML-CSS. # This tag requires that the tag USE_MATHJAX is set to YES. MATHJAX_FORMAT = HTML-CSS # When MathJax is enabled you need to specify the location relative to the HTML # output directory using the MATHJAX_RELPATH option. The destination directory # should contain the MathJax.js script. For instance, if the mathjax directory # is located at the same level as the HTML output directory, then # MATHJAX_RELPATH should be ../mathjax. The default value points to the MathJax # Content Delivery Network so you can quickly see the result without installing # MathJax. However, it is strongly recommended to install a local copy of # MathJax from http://www.mathjax.org before deployment. # The default value is: http://cdn.mathjax.org/mathjax/latest. # This tag requires that the tag USE_MATHJAX is set to YES. MATHJAX_RELPATH = http://cdn.mathjax.org/mathjax/latest # The MATHJAX_EXTENSIONS tag can be used to specify one or more MathJax # extension names that should be enabled during MathJax rendering. For example # MATHJAX_EXTENSIONS = TeX/AMSmath TeX/AMSsymbols # This tag requires that the tag USE_MATHJAX is set to YES. MATHJAX_EXTENSIONS = # The MATHJAX_CODEFILE tag can be used to specify a file with javascript pieces # of code that will be used on startup of the MathJax code. See the MathJax site # (see: http://docs.mathjax.org/en/latest/output.html) for more details. For an # example see the documentation. # This tag requires that the tag USE_MATHJAX is set to YES. MATHJAX_CODEFILE = # When the SEARCHENGINE tag is enabled doxygen will generate a search box for # the HTML output. The underlying search engine uses javascript and DHTML and # should work on any modern browser. Note that when using HTML help # (GENERATE_HTMLHELP), Qt help (GENERATE_QHP), or docsets (GENERATE_DOCSET) # there is already a search function so this one should typically be disabled. # For large projects the javascript based search engine can be slow, then # enabling SERVER_BASED_SEARCH may provide a better solution. It is possible to # search using the keyboard; to jump to the search box use + S # (what the is depends on the OS and browser, but it is typically # , /