Revision: 92 http://geany-plugins.svn.sourceforge.net/geany-plugins/?rev=92&view=rev Author: ntrel Date: 2008-06-30 05:22:12 -0700 (Mon, 30 Jun 2008)
Log Message: ----------- Undoing really stupid commit I made in r91.
Modified Paths: -------------- trunk/geanysendmail/src/geanysendmail.c
Removed Paths: ------------- trunk/AUTHORS trunk/COPYING trunk/COPYRIGHT.LUA trunk/ChangeLog trunk/INSTALL trunk/Makefile.am trunk/Makefile.in trunk/NEWS trunk/README trunk/THANKS trunk/configure.in trunk/docs/ trunk/examples/ trunk/geanylua.c trunk/glspi.h trunk/glspi_app.c trunk/glspi_dlg.c trunk/glspi_doc.c trunk/glspi_init.c trunk/glspi_keycmd.h trunk/glspi_kfile.c trunk/glspi_run.c trunk/glspi_sci.c trunk/glspi_sci.h trunk/glspi_ver.h trunk/gsdlg.c trunk/gsdlg.h trunk/gsdlg_lua.c trunk/keywords.list trunk/util/ trunk/win32-install.vbs trunk/win32-uninstall.vbs
Deleted: trunk/AUTHORS =================================================================== --- trunk/AUTHORS 2008-06-30 12:13:59 UTC (rev 91) +++ trunk/AUTHORS 2008-06-30 12:22:12 UTC (rev 92) @@ -1 +0,0 @@ -Jeff Pohlmeyer yetanothergeek@gmail.com
Deleted: trunk/COPYING =================================================================== --- trunk/COPYING 2008-06-30 12:13:59 UTC (rev 91) +++ trunk/COPYING 2008-06-30 12:22:12 UTC (rev 92) @@ -1,340 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 2, June 1991 - - Copyright (C) 1989, 1991 Free Software Foundation, Inc. - 51 Franklin St, 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 St, 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.
Deleted: trunk/COPYRIGHT.LUA =================================================================== --- trunk/COPYRIGHT.LUA 2008-06-30 12:13:59 UTC (rev 91) +++ trunk/COPYRIGHT.LUA 2008-06-30 12:22:12 UTC (rev 92) @@ -1,34 +0,0 @@ -Lua License ------------ - -Lua is licensed under the terms of the MIT license reproduced below. -This means that Lua is free software and can be used for both academic -and commercial purposes at absolutely no cost. - -For details and rationale, see http://www.lua.org/license.html . - -=============================================================================== - -Copyright (C) 1994-2007 Lua.org, PUC-Rio. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - -=============================================================================== - -(end of COPYRIGHT)
Deleted: trunk/ChangeLog =================================================================== --- trunk/ChangeLog 2008-06-30 12:13:59 UTC (rev 91) +++ trunk/ChangeLog 2008-06-30 12:22:12 UTC (rev 92) @@ -1,281 +0,0 @@ -Mar 24, 2008 - Released version 0.7.0 - -Mar 23, 2008 - Added a new examples folder "work" with three new scripts: - edit-test-script.lua; run-test-script.lua; install-test-script.lua - These should make it a little easier for users to develop and save - their own personal scripts. - Also added "examples/edit/calculator.lua" - - The idea came from the "Plugin Wishlist" on the Geany website, only - this one can even do some fancy stuff like 'sqrt(pi^2*sin(rad(45)))' - -Mar 14, 2008 - Revised configure.in and Makefile.am to support Geany's new header - installation and pkg-config features, so the build configuration - no longer requires the --with-geany-src option. - -Mar 13, 2008 - Added support for Geany's new built-in keybinding API. - This means that scripts can now take advantage of Geany's - preferences system to configure keybindings. - See ./docs/geanylua-keys.html for more info. - -Feb 21, 2008 - Code cleanup to quiet some compiler warnings. - Fix to compile with -DGEANY_DISABLE_DEPRECATED flag. - -Feb 21, 2008 - New function: optimize() disables line info and elapsed time counter - for scripts that need all the CPU time they can get. - Also found and fixed a nasty crash bug in the filter-parsing code for - the pickfile() function. - -Feb 20, 2008 - Added a copy of Enrico Colombini and Thomas Lauer's "Lua Short Reference" - to the GeanyLua docs. This provides a convenient and concise guide to the - Lua language and its core libraries. - -Feb 19, 2008 - Removed gtk_main_iteration() loop from glspi_run_script() in glspi_run.c. - I am not even sure why it was there, possibly it was needed for something, - but maybe it just seemed like a good idea at the time. It was causing some - scripts to hang under certain conditions, particularly when event scripts - were invoked while the GeanyDebug plugin was running. - -Feb 12, 2008 - Fixed missing symbols in Win32 library. - ( Thanks to Joerg Desch for reporting. ) - -Jan 28, 2008 - Released version 0.6.1 - Note that the pre-compiled binaries availiable on the website are now - statically linked to Lua-5.1.3 instead of 5.1.2. This was a bugfix-only - release of Lua, and since most of the bugs were fairly obscure and trivial, - it really shouldn't affect GeanyLua at all. - -Jan 28, 2008 - Fixed "make install" bug where ~/.geany/plugins/geanylua was not getting - created, which caused the installation to fail if the directory didn't - already exist. ( Thanks to Harri Koskinen for reporting. ) - -Jan 22, 2008 - Added the ability to show a calltip for the keygrab() function. - It might not seem like much, but I think it is a big improvement - over the previous "typing while blind" limitation. - -Jan 21, 2008 - Released version 0.6.0 - -Jan 19, 2008 - New function: keygrab() intercepts the next keystroke from Geany, useful for - creating "chained" keybindings. ( Thanks to John Gabriele for suggesting. ) - -Jan 17, 2008 - Fix missing *.vbs files from "make dist" - -Jan 16, 2008 - Major change - All of the core functionality has been moved into a support - library named "libgeanylua.so" and now the "geanylua.so" plugin is only a - thin wrapper around the core. This was done to bypass the local-binding - restriction placed on plugins by Geany, which prevented Lua API functions - from being referenced from binary Lua modules. - -Jan 14, 2008 - Major code refactoring, trying to hide as many globally-visible symbols - as possible. There is a good chance that this might introduce a bug or - two, but I also found and fixed a bug in the choose() function, so - at least maybe it won't be a total loss. - -Jan 13, 2008 - Cleaned up the documentation. - -Jan 12, 2008 - Added some code to help with repainting the GUI during lengthy operations, - using the low-level GDK paint functions instead of the usual GTK main loop. - This should help keep the window painted while still preventing too much - user interaction while a script is running. - -Jan 11, 2008 - The timeout measurement now pauses the timer while dialogs are displayed, - rather than setting the timer back to zero for each dialog. Actually it - considers the time spent as 1/10 of a second, to keep timeouts working - even if you create an endless loop with a dialog inside. But even still, - you might need to click a lot of buttons before the timer expires! - -Jan 10, 2008 - Revamped the ugly and broken goto_error() function. Trying to parse the - filename and line number from the builtin error messages was just wrong, - and couldn't possibly be reliable since Lua truncates long path names when - it formats the message. So now we store the filename and line number from - our debug_hook() in case the filename changes if the script calls Lua's - dofile() function or something. That is a really slow way to do things, - since we strcmp() the filenames every time the interpreter executes a line. - But for now it's the only way I know how, and at least now it's working. - -Jan 8, 2008 - The "geanylua.c" file was getting a bit too large to navigate easily, - so I moved most of the lua-related code into a new file, "glspi_run.c" - Added some new features to the filename-to-menu-label generator, a trailing - underscore in the filename will create an ellipsis after for the menu label, - e.g. "Files_.lua" becomes "Files..." Also, any two-digit prefix followed - by a dot is now stripped off, this gives more control over the position of - menu items, e.g. "01.Zebra.lua" and "02.Apple.lua" creates the "Zebra" label - before the "Apple" label. - -Jan 7, 2008 - Just after releasing 0.5.2, I found a mistake in the "gsdlg.c" file - that prevented the timeout reset for dialogs from working correctly. - It should be fixed now. - -Jan 7, 2008 - Released version 0.5.2 - Revised licensing clause to allow users the possibility of - choosing GPL-v2 or later versions. - -Jan 6, 2008 - New function: yield() allows lengthy script operations to call - gtk_main_iteration() occasionaly to prevent the IDE from appearing - frozen. I imagine there might be cases where using this function - might be a very bad idea, since it allows the user and the script - to interact with Geany at the same time. - -Jan 4, 2008 - Partially fixed the long-standing problem that a faulty script can - potentially lock up Geany. Scripts are now given a maximum of fifteen - seconds to complete before generating an error. This fix is not totally - idiot-proof, but it should provide adequate protection against endless loops. - ( Be warned - it might still be possible to hang up a script in some other - ways which can't currently be detected. ) - Also added a timeout() function to allow script authors to increase or even - completely disable the timeout if needed. - -Jan 2, 2008 - Released version 0.5.1 - Fix to compile against Geany-SVN-r2145 (API Ver 37) - Moved all #include's for geany source headers above the evil "pluginmacros.h" - so maybe this bug won't bite me again. - -Jan 1, 2008 - Released version 0.5.0 - -Jan 1, 2008 - Added files "win32-install.vbs" and "win32-uninstall.vbs" to hopefully - simplify windows installation. Likewise, added the file "install.sh" - to the pre-compiled Linux-x86 archive. - -Dec. 28, 2007 - New function: rescan() rebuilds the "Tools->Lua Scripts" menu - so you can update your menus on-the-fly. - -Dec. 26, 2007 - New function: launch() spawns a new process and returns immediately, - unlike Lua's standard execute() function which waits for the child - process to terminate before returning. - -Dec. 24, 2007 - Completed (?) changing the makefile over to use autotools. - IMPORTANT NOTE: The new name of the script folder is now - .../plugins/geanylua instead of the old name of .../plugins/lua, - so you should move any of your own custom scripts into the new folder. - -Dec. 23, 2007 - Following Enrico's suggestion, I converted code over to use - the "pluginmacors.h" macros. - -Dec. 18, 2007 - Added keycmd() function to activate geany menu commands, per GeanyKeyCommand - enum in geany/src/keybindings.h - -Dec 15, 2007 - Fixed a bad bug where menu items were not getting removed when - the plugin was disabled in plugin manager. - -Nov 29, 2007 - Added function wkdir() to get/set the current working directory. - -Nov 26, 2007 - Fixed a bug in the count() function - it was including documents that - were already closed. - -Nov 24, 2007 - Added a new module "dialog" to provide a more flexible means for creating - custom dialog boxes. See gsdlg* sources and ./docs/geanylua-input.html . - -Nov 21, 2007 - Added support for project opened/saved/closed event scripts. - These events receive a global variable, "geany.project" which - is a thin Lua wrapper around the GKeyFile object. Also added - a new Lua "keyfile" module to manipulate this type of object. - -Nov 20, 2007 - Added PLUGIN_AUTHOR define for API compatibility. - Added a function to display a customized configure dialog for Geany's new - plugin manager. - -Nov 19, 2007 - Released "Development snapshot" (geanylua-2007-11-19.tar.gz) - -Nov 7, 2007 - Added some filesystem-related functions: - basename(); dirname(); dirlist(); stat(); and dirsep constant. - -Nov 6, 2007 - Added support for two new 'event' scripts, "init.lua" and "cleanup.lua" - that run (respectively) when the plugin is loaded and unloaded. - -Nov 5, 2007 - New function: signal() to send signals to Geany widgets, - mostly to activate builtin menu commands. - - -Nov 4, 2007 - Renamed source files from lua_* to glspi_* ( Geany Lua Scripting Plug In ) - - -Nov 3, 2007 - New function: xsel() to get/set the primary X selection. - - -Nov 2, 2007 - New function: appinfo() to retrieve various Geany folder locations and - preferences, etc. - - -Nov 1, 2007 - New function: pickfile() to access the standard GTK file chooser - open/save dialogs. - - -Oct 31, 2007 - Added the ability to launch scripts from accelerator-key bindings - by using specially-formatted comment tags. Now your favorite script - can be right at your fingertips! - - -Oct 15, 2007 - Changed makefile to use pkg-config for Lua. - - -Oct 13, 2007 - Bumped versions: plugin=0.3, API=20 to correspond with "official" - Geany 0.12 release. - - -Oct 10, 2007 - Revised conditional to use GTK_MESSAGE_INFO instead of GTK_MESSAGE_OTHER - for all GTK versions before 2.10. - - -Sept 20, 2007 - Added an "open" button to the script error dialog, to give the user an - option to revise faulty scripts. - - -Sept 11, 2007: - Revised geany.open() function to reflect svn~1870 API changes. - - -Sept 5, 2007: - Initial release. (Version 0.1) -
Deleted: trunk/INSTALL =================================================================== --- trunk/INSTALL 2008-06-30 12:13:59 UTC (rev 91) +++ trunk/INSTALL 2008-06-30 12:22:12 UTC (rev 92) @@ -1,103 +0,0 @@ - -Important note! If you are upgrading from an older installation, please note -that the name of the script folder is now changed from /lua/ to /geanylua/ !!! - - - -These installation instructions are written primarily for a Linux system, -followed by some additional notes for MS-Windows users. - -If you are installing from the pre-compiled Linux plugin package, you can -just run the "install.sh" script, to install the plugin, examples, and help -files into your ~/.geany/plugins directory. - - -If you want Geany's syntax highlighter to recognize the plugin's function -names you can also modify your "filetypes.lua" file according to the notes -in the "geanylua/keywords.list" file. - - -For those of you who want to compile the plugin from scratch, keep reading... - - -At the time of this writing, building the plugin requires a recent SVN checkout -of the Geany sources (r2391+), and a properly installed copy of the Lua 5.1.x -library, headers, and pkg-config script. - - -Recent versions of Geany will now install all the necessary headers in -$PREFIX/include/geany/ along with a pkg-config script that tells configure -where to find the required files, so the old --with-geany-src option -is no longer required. Building should now be as simple as: - - % configure - % make - % make install - -The "make install" command copies the files to your personal ~/.geany/plugins/ -directory, so you don't need to be root to install. If you actually do want -everyone on the system to be able to access to the same copy of the plugin, -you can add the --enable-sys-install option to the ./configure command line. - - -To uninstall the plugin, you should be able to simply type "make uninstall" -but be warned - although it will try not to remove any of your own personal -scripts, the folder "geanylua/examples" and all its contents will always be -removed unconditionally, so any scripts in the examples directory WILL BE LOST! - - - -=========================== MS-WINDOWS NOTES =============================== - -The pre-compiled GeanyLua package includes a couple of Visual Basic scripts -that I hope will simplify installation for most users. The scripts require a -recent version of Geany (SVN-r2151 or newer) and the Windows VBS scripting -engine. ( If you have at least Internet Explorer 5.0, you probably have VBS.) - -To install geanylua using the script, just double-click the "win32-install.vbs" -file and if you don't see any error messages, you should be all set up. -( Be sure to exit any running instance of Geany before installing! ) - -If something goes wrong, you can try installing manually, as follows... - -To install the pre-compiled plugin on Windows, you can copy the "geanylua.dll" -file to the "plugins" folder in the same place where Geany is installed, that -would probably be "C:\Program Files\Geany\plugins\geanylua.dll" or somewhere -like that. - -The exact location where Geany will look for the Lua script files depends on -your Windows version, your Geany version, and possibly even your environment. - -For user "jane" it could be any one of these: - -Prior to Geany-SVN-2139, the paths would look something like this: - -Win2k: C:\Documents and Settings\jane.geany\plugins\geanylua\ -Win98: C:.geany\plugins\geanylua\ -MinGW: C:\msys\1.0\home\jane.geany\plugins\geanylua\ - - -As of Geany-SVN-2139, the configuration paths should be more like this: - -Win2k: C:\Documents and Settings\jane\Application Data\Geanyplugins\geanylua\ -Win98: C:\Windows\Profiles\jane\Application Data\Geany\plugins\geanylua\ -MinGW: Geany's config path now ignores the $HOME environment variable. - -Just in case you aren't confused yet, anonymous users on Win98 may need to -place the files in "C:\Windows\Application Data\Geany\plugins\geanylua" - - -If you want to compile the plugin from the sources on MS-Windows, you will -need a fairly complete MSYS/MINGW/GTK build system, along with a properly built -and installed "liblua.a" library, and the Lua headers. ( The "Win32_mingw3_lib" -package from http://luabinaries.luaforge.net/ worked fine for me. ) - -You also need a copy of the file "lua.pc" from the Lua sources somewhere in -your $PKG_CONFIG_PATH. The libtool I used complains about missing symbols and -refuses to build the DLL, so you may need to explicitly type "make win32" -in order to produce the ".libs/geanylua.dll" file. - -The "make install" target is badly broken for Windows, so you will probably -want to run the "win32-install.vbs" script, or copy the files manually -to their required locations, as described above. -
Deleted: trunk/Makefile.am =================================================================== --- trunk/Makefile.am 2008-06-30 12:13:59 UTC (rev 91) +++ trunk/Makefile.am 2008-06-30 12:22:12 UTC (rev 92) @@ -1,183 +0,0 @@ - -EXTRA_DIST = COPYRIGHT.LUA keywords.list docs examples util \ - win32-install.vbs win32-uninstall.vbs - -noinst_HEADERS = glspi.h glspi_keycmd.h glspi_sci.h glspi_ver.h gsdlg.h gsdlg.c - - -AUTOMAKE_OPTIONS = gnu - - -SNAPSHOT_NAME=date +$(PACKAGE)-%Y-%m-%d - -AM_CFLAGS = \ - -DGEANY_DISABLE_DEPRECATED \ - -Wall -g \ - @OS_FLAGS@ \ - @GEANY_CFLAGS@ \ - @LUA_CFLAGS@ - - -AM_LDFLAGS = -module -avoid-version @GEANY_LIBS@ @OS_FLAGS@ - - -plugindir = $(PLUGIN_DEST_DIR) -plugin_LTLIBRARIES = geanylua.la -geanylua_la_LDFLAGS = $(AM_LDFLAGS) - -geanylua_la_SOURCES = geanylua.c -geanylua_objects = geanylua.o - -libgeanyluadir = $(DATA_DEST_DIR) -libgeanylua_LTLIBRARIES = libgeanylua.la -libgeanylua_la_LDFLAGS = $(AM_LDFLAGS) @LUA_LIBS@ - -libgeanylua_la_SOURCES = \ -glspi_init.c \ -glspi_app.c \ -glspi_dlg.c \ -glspi_doc.c \ -glspi_kfile.c \ -glspi_run.c \ -glspi_sci.c \ -gsdlg_lua.c - -libgeanylua_objects = \ -.libs/glspi_init.o \ -.libs/glspi_app.o \ -.libs/glspi_dlg.o \ -.libs/glspi_doc.o \ -.libs/glspi_kfile.o \ -.libs/glspi_run.o \ -.libs/glspi_sci.o \ -.libs/gsdlg_lua.o - - - - - -# Libtool complains about unresolved symbols -# and refuses to build the windows plugin - -# but manual linking seems to work just fine... -.libs/$(LIBRARY).dll: $(libgeanylua_objects) - $(CC) $^ $(libgeanylua_la_LDFLAGS) --shared -o $@ - -.libs/$(PACKAGE).dll: $(geanylua_objects) - $(CC) $^ $(AM_LDFLAGS) --shared -o $@ - - -win32: all .libs/$(LIBRARY).dll .libs/$(PACKAGE).dll - - - -.libs/$(PACKAGE).so: $(PACKAGE).la - -.libs/$(LIBRARY).so: $(LIBRARY).la - - - -install-library: .libs/$(LIBRARY_FILENAME) - $(MKDIR_P) $(DATA_DEST_DIR) - $(INSTALL) $< $(DATA_DEST_DIR) - - -install-plugin: .libs/$(PLUGIN_FILENAME) - $(MKDIR_P) $(PLUGIN_DEST_DIR) - $(INSTALL) $< $(PLUGIN_DEST_DIR) - - -install-scripts: - $(MKDIR_P) $(DATA_DEST_DIR) - cp -R ./examples $(DATA_DEST_DIR) - - -install-docs: - $(MKDIR_P) $(DOC_DEST_DIR) - cp ./docs/*.html $(DOC_DEST_DIR)/. - - -keywords.list: all - cp .libs/$(LIBRARY_FILENAME) . - ./util/keywords.lua > keywords.list - rm -f $(LIBRARY_FILENAME) - - -install: install-plugin install-library install-scripts install-docs - - -uninstall: - rm -f $(DOC_DEST_DIR)/$(PACKAGE)-*.html - rmdir $(DOC_DEST_DIR) || true - rm -f $(PLUGIN_DEST_DIR)/$(PLUGIN_FILENAME) - rm -f $(DATA_DEST_DIR)/$(LIBRARY_FILENAME) - rm -rf $(DATA_DEST_DIR)/examples - rmdir $(DATA_DEST_DIR) || true - - -snapshot: - ./util/real-clean.sh - ln -sf $${PWD} ../`$(SNAPSHOT_NAME)` - rm -f ../`$(SNAPSHOT_NAME)`.tar.gz - find ../`$(SNAPSHOT_NAME)`/ -type f > ../`$(SNAPSHOT_NAME)`.list - tar --owner=0 --group=0 -zcf ../`$(SNAPSHOT_NAME)`.tar.gz -T ../`$(SNAPSHOT_NAME)`.list - rm -f ../`$(SNAPSHOT_NAME)`{.list,} - - - - -RELEASE_DIR=../$(PACKAGE)-$(VERSION)-release -WIN32_ZIP_DIR=$(PACKAGE)-$(VERSION)-win32 -WIN32_DLL_ZIP=$(RELEASE_DIR)/$(WIN32_ZIP_DIR).zip -LINUX_TAR_DIR=$(PACKAGE)-$(VERSION)-linux-x86 -LINUX_X86_SO_TAR_GZ=$(RELEASE_DIR)/$(LINUX_TAR_DIR).tar.gz - - -PKG_NOTES=docs examples AUTHORS COPYING ChangeLog INSTALL THANKS keywords.list - -win32-dll-zip: - w32-config - w32-make clean win32 - rm -f $(WIN32_DLL_ZIP) - rm -rf $(WIN32_ZIP_DIR) - mkdir $(WIN32_ZIP_DIR) - w32-strip --strip-debug .libs/$(PACKAGE).dll - w32-strip --strip-debug .libs/$(LIBRARY).dll - cp .libs/$(PACKAGE).dll .libs/$(LIBRARY).dll win32-*install.vbs $(WIN32_ZIP_DIR) - cp -ai $(PKG_NOTES) $(WIN32_ZIP_DIR) - zip -XKr -9 $(WIN32_DLL_ZIP) $(WIN32_ZIP_DIR) - rm -rf $(WIN32_ZIP_DIR) - w32-make clean - - - - -linux-x86-so-gz: - ./configure - $(MAKE) clean all - rm -f $(LINUX_X86_SO_TAR_GZ) - rm -rf $(LINUX_TAR_DIR) - mkdir $(LINUX_TAR_DIR) - strip --strip-debug .libs/$(PACKAGE).so - strip --strip-debug .libs/$(LIBRARY).so - cp .libs/$(PACKAGE).so .libs/$(LIBRARY).so util/install.sh $(LINUX_TAR_DIR) - cp -ai $(PKG_NOTES) $(LINUX_TAR_DIR) - tar --owner=0 --group=0 -zvcf $(LINUX_X86_SO_TAR_GZ) $(LINUX_TAR_DIR) - rm -rf $(LINUX_TAR_DIR) - - -release-dir: - mkdir -p $(RELEASE_DIR) - rm -f $(RELEASE_DIR)/$(distdir).tar.gz $(WIN32_DLL_ZIP) $(LINUX_X86_SO_TAR_GZ) - rmdir $(RELEASE_DIR) - mkdir $(RELEASE_DIR) - - -release: $(PKG_NOTES) release-dir win32-dll-zip linux-x86-so-gz dist - mv -v $(PACKAGE)-$(VERSION).tar.gz $(RELEASE_DIR)/ - - -pathcheck: - @echo "Install plugin: $(PLUGIN_DEST_DIR)" - @echo "Install support files: $(DATA_DEST_DIR)" - @echo "Install documentation: $(DOC_DEST_DIR)" -
Deleted: trunk/Makefile.in =================================================================== --- trunk/Makefile.in 2008-06-30 12:13:59 UTC (rev 91) +++ trunk/Makefile.in 2008-06-30 12:22:12 UTC (rev 92) @@ -1,795 +0,0 @@ -# Makefile.in generated by automake 1.10 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006 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@ -pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkgincludedir = $(includedir)/@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 = . -DIST_COMMON = README $(am__configure_deps) $(noinst_HEADERS) \ - $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ - $(top_srcdir)/configure AUTHORS COPYING ChangeLog INSTALL NEWS \ - THANKS config.guess config.sub depcomp install-sh ltmain.sh \ - missing -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.in -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ - configure.lineno config.status.lineno -mkinstalldirs = $(install_sh) -d -CONFIG_CLEAN_FILES = -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 = `echo $$p | sed -e 's|^.*/||'`; -am__installdirs = "$(DESTDIR)$(libgeanyluadir)" \ - "$(DESTDIR)$(plugindir)" -libgeanyluaLTLIBRARIES_INSTALL = $(INSTALL) -pluginLTLIBRARIES_INSTALL = $(INSTALL) -LTLIBRARIES = $(libgeanylua_LTLIBRARIES) $(plugin_LTLIBRARIES) -geanylua_la_LIBADD = -am_geanylua_la_OBJECTS = geanylua.lo -geanylua_la_OBJECTS = $(am_geanylua_la_OBJECTS) -geanylua_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(geanylua_la_LDFLAGS) $(LDFLAGS) -o $@ -libgeanylua_la_LIBADD = -am_libgeanylua_la_OBJECTS = glspi_init.lo glspi_app.lo glspi_dlg.lo \ - glspi_doc.lo glspi_kfile.lo glspi_run.lo glspi_sci.lo \ - gsdlg_lua.lo -libgeanylua_la_OBJECTS = $(am_libgeanylua_la_OBJECTS) -libgeanylua_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(libgeanylua_la_LDFLAGS) $(LDFLAGS) -o $@ -DEFAULT_INCLUDES = -I.@am__isrc@ -depcomp = $(SHELL) $(top_srcdir)/depcomp -am__depfiles_maybe = depfiles -COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ - $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ - --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ - $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -CCLD = $(CC) -LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ - --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ - $(LDFLAGS) -o $@ -SOURCES = $(geanylua_la_SOURCES) $(libgeanylua_la_SOURCES) -DIST_SOURCES = $(geanylua_la_SOURCES) $(libgeanylua_la_SOURCES) -HEADERS = $(noinst_HEADERS) -ETAGS = etags -CTAGS = ctags -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -distdir = $(PACKAGE)-$(VERSION) -top_distdir = $(distdir) -am__remove_distdir = \ - { test ! -d $(distdir) \ - || { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \ - && rm -fr $(distdir); }; } -DIST_ARCHIVES = $(distdir).tar.gz -GZIP_ENV = --best -distuninstallcheck_listfiles = find . -type f -print -distcleancheck_listfiles = find . -type f -print -ACLOCAL = @ACLOCAL@ -AMTAR = @AMTAR@ -AR = @AR@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CXX = @CXX@ -CXXCPP = @CXXCPP@ -CXXDEPMODE = @CXXDEPMODE@ -CXXFLAGS = @CXXFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DATA_DEST_DIR = @DATA_DEST_DIR@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DOC_DEST_DIR = @DOC_DEST_DIR@ -ECHO = @ECHO@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -F77 = @F77@ -FFLAGS = @FFLAGS@ -GEANY_CFLAGS = @GEANY_CFLAGS@ -GEANY_LIBS = @GEANY_LIBS@ -GREP = @GREP@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LDFLAGS = @LDFLAGS@ -LIBOBJS = @LIBOBJS@ -LIBRARY = @LIBRARY@ -LIBRARY_FILENAME = @LIBRARY_FILENAME@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -LUA_CFLAGS = @LUA_CFLAGS@ -LUA_LIBS = @LUA_LIBS@ -MAKEINFO = @MAKEINFO@ -MKDIR_P = @MKDIR_P@ -OBJEXT = @OBJEXT@ -OS_FLAGS = @OS_FLAGS@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -PKG_CONFIG = @PKG_CONFIG@ -PLUGIN_DEST_DIR = @PLUGIN_DEST_DIR@ -PLUGIN_FILENAME = @PLUGIN_FILENAME@ -RANLIB = @RANLIB@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -SYS_INSTALL = @SYS_INSTALL@ -VERSION = @VERSION@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_CXX = @ac_ct_CXX@ -ac_ct_F77 = @ac_ct_F77@ -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@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -EXTRA_DIST = COPYRIGHT.LUA keywords.list docs examples util \ - win32-install.vbs win32-uninstall.vbs - -noinst_HEADERS = glspi.h glspi_keycmd.h glspi_sci.h glspi_ver.h gsdlg.h gsdlg.c -AUTOMAKE_OPTIONS = gnu -SNAPSHOT_NAME = date +$(PACKAGE)-%Y-%m-%d -AM_CFLAGS = \ - -DGEANY_DISABLE_DEPRECATED \ - -Wall -g \ - @OS_FLAGS@ \ - @GEANY_CFLAGS@ \ - @LUA_CFLAGS@ - -AM_LDFLAGS = -module -avoid-version @GEANY_LIBS@ @OS_FLAGS@ -plugindir = $(PLUGIN_DEST_DIR) -plugin_LTLIBRARIES = geanylua.la -geanylua_la_LDFLAGS = $(AM_LDFLAGS) -geanylua_la_SOURCES = geanylua.c -geanylua_objects = geanylua.o -libgeanyluadir = $(DATA_DEST_DIR) -libgeanylua_LTLIBRARIES = libgeanylua.la -libgeanylua_la_LDFLAGS = $(AM_LDFLAGS) @LUA_LIBS@ -libgeanylua_la_SOURCES = \ -glspi_init.c \ -glspi_app.c \ -glspi_dlg.c \ -glspi_doc.c \ -glspi_kfile.c \ -glspi_run.c \ -glspi_sci.c \ -gsdlg_lua.c - -libgeanylua_objects = \ -.libs/glspi_init.o \ -.libs/glspi_app.o \ -.libs/glspi_dlg.o \ -.libs/glspi_doc.o \ -.libs/glspi_kfile.o \ -.libs/glspi_run.o \ -.libs/glspi_sci.o \ -.libs/gsdlg_lua.o - -RELEASE_DIR = ../$(PACKAGE)-$(VERSION)-release -WIN32_ZIP_DIR = $(PACKAGE)-$(VERSION)-win32 -WIN32_DLL_ZIP = $(RELEASE_DIR)/$(WIN32_ZIP_DIR).zip -LINUX_TAR_DIR = $(PACKAGE)-$(VERSION)-linux-x86 -LINUX_X86_SO_TAR_GZ = $(RELEASE_DIR)/$(LINUX_TAR_DIR).tar.gz -PKG_NOTES = docs examples AUTHORS COPYING ChangeLog INSTALL THANKS keywords.list -all: all-am - -.SUFFIXES: -.SUFFIXES: .c .lo .o .obj -am--refresh: - @: -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - echo ' cd $(srcdir) && $(AUTOMAKE) --gnu '; \ - cd $(srcdir) && $(AUTOMAKE) --gnu \ - && exit 0; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --gnu Makefile -.PRECIOUS: Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - echo ' $(SHELL) ./config.status'; \ - $(SHELL) ./config.status;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - $(SHELL) ./config.status --recheck - -$(top_srcdir)/configure: $(am__configure_deps) - cd $(srcdir) && $(AUTOCONF) -$(ACLOCAL_M4): $(am__aclocal_m4_deps) - cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) -install-libgeanyluaLTLIBRARIES: $(libgeanylua_LTLIBRARIES) - @$(NORMAL_INSTALL) - test -z "$(libgeanyluadir)" || $(MKDIR_P) "$(DESTDIR)$(libgeanyluadir)" - @list='$(libgeanylua_LTLIBRARIES)'; for p in $$list; do \ - if test -f $$p; then \ - f=$(am__strip_dir) \ - echo " $(LIBTOOL) --mode=install $(libgeanyluaLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(libgeanyluadir)/$$f'"; \ - $(LIBTOOL) --mode=install $(libgeanyluaLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(libgeanyluadir)/$$f"; \ - else :; fi; \ - done - -uninstall-libgeanyluaLTLIBRARIES: - @$(NORMAL_UNINSTALL) - @list='$(libgeanylua_LTLIBRARIES)'; for p in $$list; do \ - p=$(am__strip_dir) \ - echo " $(LIBTOOL) --mode=uninstall rm -f '$(DESTDIR)$(libgeanyluadir)/$$p'"; \ - $(LIBTOOL) --mode=uninstall rm -f "$(DESTDIR)$(libgeanyluadir)/$$p"; \ - done - -clean-libgeanyluaLTLIBRARIES: - -test -z "$(libgeanylua_LTLIBRARIES)" || rm -f $(libgeanylua_LTLIBRARIES) - @list='$(libgeanylua_LTLIBRARIES)'; for p in $$list; do \ - dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ - test "$$dir" != "$$p" || dir=.; \ - echo "rm -f "$${dir}/so_locations""; \ - rm -f "$${dir}/so_locations"; \ - done -install-pluginLTLIBRARIES: $(plugin_LTLIBRARIES) - @$(NORMAL_INSTALL) - test -z "$(plugindir)" || $(MKDIR_P) "$(DESTDIR)$(plugindir)" - @list='$(plugin_LTLIBRARIES)'; for p in $$list; do \ - if test -f $$p; then \ - f=$(am__strip_dir) \ - echo " $(LIBTOOL) --mode=install $(pluginLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(plugindir)/$$f'"; \ - $(LIBTOOL) --mode=install $(pluginLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(plugindir)/$$f"; \ - else :; fi; \ - done - -uninstall-pluginLTLIBRARIES: - @$(NORMAL_UNINSTALL) - @list='$(plugin_LTLIBRARIES)'; for p in $$list; do \ - p=$(am__strip_dir) \ - echo " $(LIBTOOL) --mode=uninstall rm -f '$(DESTDIR)$(plugindir)/$$p'"; \ - $(LIBTOOL) --mode=uninstall rm -f "$(DESTDIR)$(plugindir)/$$p"; \ - done - -clean-pluginLTLIBRARIES: - -test -z "$(plugin_LTLIBRARIES)" || rm -f $(plugin_LTLIBRARIES) - @list='$(plugin_LTLIBRARIES)'; for p in $$list; do \ - dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ - test "$$dir" != "$$p" || dir=.; \ - echo "rm -f "$${dir}/so_locations""; \ - rm -f "$${dir}/so_locations"; \ - done -geanylua.la: $(geanylua_la_OBJECTS) $(geanylua_la_DEPENDENCIES) - $(geanylua_la_LINK) -rpath $(plugindir) $(geanylua_la_OBJECTS) $(geanylua_la_LIBADD) $(LIBS) -libgeanylua.la: $(libgeanylua_la_OBJECTS) $(libgeanylua_la_DEPENDENCIES) - $(libgeanylua_la_LINK) -rpath $(libgeanyluadir) $(libgeanylua_la_OBJECTS) $(libgeanylua_la_LIBADD) $(LIBS) - -mostlyclean-compile: - -rm -f *.$(OBJEXT) - -distclean-compile: - -rm -f *.tab.c - -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/geanylua.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/glspi_app.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/glspi_dlg.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/glspi_doc.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/glspi_init.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/glspi_kfile.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/glspi_run.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/glspi_sci.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gsdlg_lua.Plo@am__quote@ - -.c.o: -@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(COMPILE) -c $< - -.c.obj: -@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` - -.c.lo: -@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -distclean-libtool: - -rm -f libtool - -ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - mkid -fID $$unique -tags: TAGS - -TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - tags=; \ - here=`pwd`; \ - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ - test -n "$$unique" || unique=$$empty_fix; \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$tags $$unique; \ - fi -ctags: CTAGS -CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - tags=; \ - here=`pwd`; \ - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - test -z "$(CTAGS_ARGS)$$tags$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$tags $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && cd $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) $$here - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -distdir: $(DISTFILES) - $(am__remove_distdir) - test -d $(distdir) || mkdir $(distdir) - @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 $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ - fi; \ - cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ - else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ - || exit 1; \ - fi; \ - done - -find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} ; -o \ - ! -type d ! -perm -444 -links 1 -exec chmod a+r {} ; -o \ - ! -type d ! -perm -400 -exec chmod a+r {} ; -o \ - ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} ; \ - || chmod -R a+r $(distdir) -dist-gzip: distdir - tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz - $(am__remove_distdir) - -dist-bzip2: distdir - tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2 - $(am__remove_distdir) - -dist-tarZ: distdir - tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z - $(am__remove_distdir) - -dist-shar: distdir - shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz - $(am__remove_distdir) - -dist-zip: distdir - -rm -f $(distdir).zip - zip -rq $(distdir).zip $(distdir) - $(am__remove_distdir) - -dist dist-all: distdir - tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz - $(am__remove_distdir) - -# This target untars the dist file and tries a VPATH configuration. Then -# it guarantees that the distribution is self-contained by making another -# tarfile. -distcheck: dist - case '$(DIST_ARCHIVES)' in \ - *.tar.gz*) \ - GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\ - *.tar.bz2*) \ - bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\ - *.tar.Z*) \ - uncompress -c $(distdir).tar.Z | $(am__untar) ;;\ - *.shar.gz*) \ - GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\ - *.zip*) \ - unzip $(distdir).zip ;;\ - esac - chmod -R a-w $(distdir); chmod a+w $(distdir) - mkdir $(distdir)/_build - mkdir $(distdir)/_inst - chmod a-w $(distdir) - dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\/]:[\/],/,'` \ - && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ - && cd $(distdir)/_build \ - && ../configure --srcdir=.. --prefix="$$dc_install_base" \ - $(DISTCHECK_CONFIGURE_FLAGS) \ - && $(MAKE) $(AM_MAKEFLAGS) \ - && $(MAKE) $(AM_MAKEFLAGS) dvi \ - && $(MAKE) $(AM_MAKEFLAGS) check \ - && $(MAKE) $(AM_MAKEFLAGS) install \ - && $(MAKE) $(AM_MAKEFLAGS) installcheck \ - && $(MAKE) $(AM_MAKEFLAGS) uninstall \ - && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \ - distuninstallcheck \ - && chmod -R a-w "$$dc_install_base" \ - && ({ \ - (cd ../.. && umask 077 && mkdir "$$dc_destdir") \ - && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \ - && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \ - && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \ - distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \ - } || { rm -rf "$$dc_destdir"; exit 1; }) \ - && rm -rf "$$dc_destdir" \ - && $(MAKE) $(AM_MAKEFLAGS) dist \ - && rm -rf $(DIST_ARCHIVES) \ - && $(MAKE) $(AM_MAKEFLAGS) distcleancheck - $(am__remove_distdir) - @(echo "$(distdir) archives ready for distribution: "; \ - list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \ - sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x' -distuninstallcheck: - @cd $(distuninstallcheck_dir) \ - && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \ - || { echo "ERROR: files left after uninstall:" ; \ - if test -n "$(DESTDIR)"; then \ - echo " (check DESTDIR support)"; \ - fi ; \ - $(distuninstallcheck_listfiles) ; \ - exit 1; } >&2 -distcleancheck: distclean - @if test '$(srcdir)' = . ; then \ - echo "ERROR: distcleancheck can only run from a VPATH build" ; \ - exit 1 ; \ - fi - @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \ - || { echo "ERROR: files left in build directory after distclean:" ; \ - $(distcleancheck_listfiles) ; \ - exit 1; } >&2 -check-am: all-am -check: check-am -all-am: Makefile $(LTLIBRARIES) $(HEADERS) -installdirs: - for dir in "$(DESTDIR)$(libgeanyluadir)" "$(DESTDIR)$(plugindir)"; do \ - test -z "$$dir" || $(MKDIR_P) "$$dir"; \ - done -install-exec: install-exec-am -install-data: install-data-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - `test -z '$(STRIP)' || \ - echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_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-libgeanyluaLTLIBRARIES clean-libtool \ - clean-pluginLTLIBRARIES mostlyclean-am - -distclean: distclean-am - -rm -f $(am__CONFIG_DISTCLEAN_FILES) - -rm -rf ./$(DEPDIR) - -rm -f Makefile -distclean-am: clean-am distclean-compile distclean-generic \ - distclean-libtool distclean-tags - -dvi: dvi-am - -dvi-am: - -html: html-am - -info: info-am - -info-am: - -install-data-am: install-libgeanyluaLTLIBRARIES \ - install-pluginLTLIBRARIES - -install-dvi: install-dvi-am - -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 - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -f $(am__CONFIG_DISTCLEAN_FILES) - -rm -rf $(top_srcdir)/autom4te.cache - -rm -rf ./$(DEPDIR) - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-compile mostlyclean-generic \ - mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: uninstall-libgeanyluaLTLIBRARIES \ - uninstall-pluginLTLIBRARIES - -.MAKE: install-am install-strip - -.PHONY: CTAGS GTAGS all all-am am--refresh check check-am clean \ - clean-generic clean-libgeanyluaLTLIBRARIES clean-libtool \ - clean-pluginLTLIBRARIES ctags dist dist-all dist-bzip2 \ - dist-gzip dist-shar dist-tarZ dist-zip distcheck distclean \ - distclean-compile distclean-generic distclean-libtool \ - distclean-tags distcleancheck distdir distuninstallcheck 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-libgeanyluaLTLIBRARIES \ - install-man install-pdf install-pdf-am \ - install-pluginLTLIBRARIES install-ps install-ps-am \ - install-strip installcheck installcheck-am installdirs \ - maintainer-clean maintainer-clean-generic mostlyclean \ - mostlyclean-compile mostlyclean-generic mostlyclean-libtool \ - pdf pdf-am ps ps-am tags uninstall uninstall-am \ - uninstall-libgeanyluaLTLIBRARIES uninstall-pluginLTLIBRARIES - - -# Libtool complains about unresolved symbols -# and refuses to build the windows plugin - -# but manual linking seems to work just fine... -.libs/$(LIBRARY).dll: $(libgeanylua_objects) - $(CC) $^ $(libgeanylua_la_LDFLAGS) --shared -o $@ - -.libs/$(PACKAGE).dll: $(geanylua_objects) - $(CC) $^ $(AM_LDFLAGS) --shared -o $@ - -win32: all .libs/$(LIBRARY).dll .libs/$(PACKAGE).dll - -.libs/$(PACKAGE).so: $(PACKAGE).la - -.libs/$(LIBRARY).so: $(LIBRARY).la - -install-library: .libs/$(LIBRARY_FILENAME) - $(MKDIR_P) $(DATA_DEST_DIR) - $(INSTALL) $< $(DATA_DEST_DIR) - -install-plugin: .libs/$(PLUGIN_FILENAME) - $(MKDIR_P) $(PLUGIN_DEST_DIR) - $(INSTALL) $< $(PLUGIN_DEST_DIR) - -install-scripts: - $(MKDIR_P) $(DATA_DEST_DIR) - cp -R ./examples $(DATA_DEST_DIR) - -install-docs: - $(MKDIR_P) $(DOC_DEST_DIR) - cp ./docs/*.html $(DOC_DEST_DIR)/. - -keywords.list: all - cp .libs/$(LIBRARY_FILENAME) . - ./util/keywords.lua > keywords.list - rm -f $(LIBRARY_FILENAME) - -install: install-plugin install-library install-scripts install-docs - -uninstall: - rm -f $(DOC_DEST_DIR)/$(PACKAGE)-*.html - rmdir $(DOC_DEST_DIR) || true - rm -f $(PLUGIN_DEST_DIR)/$(PLUGIN_FILENAME) - rm -f $(DATA_DEST_DIR)/$(LIBRARY_FILENAME) - rm -rf $(DATA_DEST_DIR)/examples - rmdir $(DATA_DEST_DIR) || true - -snapshot: - ./util/real-clean.sh - ln -sf $${PWD} ../`$(SNAPSHOT_NAME)` - rm -f ../`$(SNAPSHOT_NAME)`.tar.gz - find ../`$(SNAPSHOT_NAME)`/ -type f > ../`$(SNAPSHOT_NAME)`.list - tar --owner=0 --group=0 -zcf ../`$(SNAPSHOT_NAME)`.tar.gz -T ../`$(SNAPSHOT_NAME)`.list - rm -f ../`$(SNAPSHOT_NAME)`{.list,} - -win32-dll-zip: - w32-config - w32-make clean win32 - rm -f $(WIN32_DLL_ZIP) - rm -rf $(WIN32_ZIP_DIR) - mkdir $(WIN32_ZIP_DIR) - w32-strip --strip-debug .libs/$(PACKAGE).dll - w32-strip --strip-debug .libs/$(LIBRARY).dll - cp .libs/$(PACKAGE).dll .libs/$(LIBRARY).dll win32-*install.vbs $(WIN32_ZIP_DIR) - cp -ai $(PKG_NOTES) $(WIN32_ZIP_DIR) - zip -XKr -9 $(WIN32_DLL_ZIP) $(WIN32_ZIP_DIR) - rm -rf $(WIN32_ZIP_DIR) - w32-make clean - -linux-x86-so-gz: - ./configure - $(MAKE) clean all - rm -f $(LINUX_X86_SO_TAR_GZ) - rm -rf $(LINUX_TAR_DIR) - mkdir $(LINUX_TAR_DIR) - strip --strip-debug .libs/$(PACKAGE).so - strip --strip-debug .libs/$(LIBRARY).so - cp .libs/$(PACKAGE).so .libs/$(LIBRARY).so util/install.sh $(LINUX_TAR_DIR) - cp -ai $(PKG_NOTES) $(LINUX_TAR_DIR) - tar --owner=0 --group=0 -zvcf $(LINUX_X86_SO_TAR_GZ) $(LINUX_TAR_DIR) - rm -rf $(LINUX_TAR_DIR) - -release-dir: - mkdir -p $(RELEASE_DIR) - rm -f $(RELEASE_DIR)/$(distdir).tar.gz $(WIN32_DLL_ZIP) $(LINUX_X86_SO_TAR_GZ) - rmdir $(RELEASE_DIR) - mkdir $(RELEASE_DIR) - -release: $(PKG_NOTES) release-dir win32-dll-zip linux-x86-so-gz dist - mv -v $(PACKAGE)-$(VERSION).tar.gz $(RELEASE_DIR)/ - -pathcheck: - @echo "Install plugin: $(PLUGIN_DEST_DIR)" - @echo "Install support files: $(DATA_DEST_DIR)" - @echo "Install documentation: $(DOC_DEST_DIR)" -# 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:
Deleted: trunk/NEWS =================================================================== --- trunk/NEWS 2008-06-30 12:13:59 UTC (rev 91) +++ trunk/NEWS 2008-06-30 12:22:12 UTC (rev 92) @@ -1 +0,0 @@ -See "ChangeLog"
Deleted: trunk/README =================================================================== --- trunk/README 2008-06-30 12:13:59 UTC (rev 91) +++ trunk/README 2008-06-30 12:22:12 UTC (rev 92) @@ -1 +0,0 @@ -Please see ./docs/geanylua-index.html for information on using this plugin.
Deleted: trunk/THANKS =================================================================== --- trunk/THANKS 2008-06-30 12:13:59 UTC (rev 91) +++ trunk/THANKS 2008-06-30 12:22:12 UTC (rev 92) @@ -1,47 +0,0 @@ -What's this file about? ------------------------ -This file lists all external people that have contributed to this project. -If we missed anyone, please notify the developer ( see the AUTHORS file. ) - - -Thanks to Enrico Colombini and Thomas Lauer for the "Lua Short Reference" -which is now included in the GeanyLua documentation. (Released under the -same license as Lua itself.) - - - -Testers and contributors: -------------------------- -These people have contributed to GeanyLua by testing the software, -reporting problems, sending patches and making useful suggestions. - - -Enrico Troeger <enrico(dot)troeger(at)uvena(dot)de> - - Geany IDE author. Testing and feedback. - - -Nick Treleaven <nick(dot)treleaven(at)btinternet(dot)com> - Testing and feedback, GTK-2.8 compatibility. - - -Yura Siamashka yurand2(at)gmail(dot)com - Initial autotools scripts ( adapted from the geanyvc plugin. ) - and improvements to INSTALL instructions. - - -Steve Jacobs steve(at)trinidadgraphics(dot)com - Testing and feedback. - - -John Gabriele jmg3000(at)gmail(dot)com - Testing and feedback. - - -Harri Koskinen geany_fi(at)fastmonkey(dot)org - Testing and feedback. - - -Joerg Desch jd(dot)vvd(at)web(dot)de - Testing and feedback. - -
Deleted: trunk/configure.in =================================================================== --- trunk/configure.in 2008-06-30 12:13:59 UTC (rev 91) +++ trunk/configure.in 2008-06-30 12:22:12 UTC (rev 92) @@ -1,144 +0,0 @@ - -AC_INIT([geanylua],0.7.0, [yetanothergeek@gmail.com]) - -PACKAGE="geanylua" -VERSION=0.7.0 -GEANY_MIN_VER=0.13 - -AC_SUBST([VERSION]) -AC_SUBST([PACKAGE]) - -AM_INIT_AUTOMAKE([${PACKAGE}], ${VERSION} ) - - -AC_PROG_CC -AC_LANG_C -AC_PROG_MAKE_SET -AC_HEADER_STDC - -AC_DISABLE_STATIC -AM_PROG_LIBTOOL - - -PKG_CHECK_MODULES(GEANY, [geany]) -AC_SUBST(GEANY_CFLAGS) -AC_SUBST(GEANY_LIBS) - - -AC_ARG_WITH([lua-pkg], - AC_HELP_STRING([--with-lua-pkg=ARG],[name of Lua pkg-config script [[default=lua5.1]]]), - [LUA_PKG_NAME=${withval%.pc}], -[ -LUA_PKG_NAME=lua5.1 - -for L in lua5.1 lua51 lua-5.1 lua -do - AC_MSG_CHECKING([for $L.pc]) - if ${PKG_CONFIG} --exists ${L} - then - AC_MSG_RESULT([yes]) - LUA_PKG_NAME=${L} - break - else - AC_MSG_RESULT([no]) - fi -done -] -) - - -PKG_CHECK_MODULES([LUA], [${LUA_PKG_NAME} >= 5.1.2]) -AC_SUBST(LUA_CFLAGS) -AC_SUBST(LUA_LIBS) - - -AC_ARG_ENABLE([hidden-symbols], - AC_HELP_STRING([--enable-hidden-symbols],[Hide internal symbols in library [[default=no]]]), - [ - if ${CC} --help --verbose 2> /dev/null | grep "-fvisibility>" > /dev/null - then - AC_DEFINE([PLUGIN_EXPORT], [__attribute__ ((visibility ("default")))], [to make a symbol visible]) - OS_FLAGS="${OS_FLAGS} -fvisibility=hidden" - HIDE_SYMS="yes" - else - AC_MSG_ERROR([--enable-hidden-symbols option is not supported by compiler!]) - HIDE_SYMS="no" - fi - ], - [ - OS_FLAGS= - ] -) - - -AC_ARG_ENABLE([sys-install], -AC_HELP_STRING([--enable-sys-install],[install plugin for all users [[default=no]]]), - [ - if test "x${prefix}" = "xNONE"; then - prefix=${ac_default_prefix} - fi - SYS_INSTALL=yes - PLUGIN_DEST_DIR="${prefix}/lib/geany" - DATA_DEST_DIR="${prefix}/share/geany/plugins/${PACKAGE}" - DOC_DEST_DIR="${prefix}/share/doc/geany/plugins/${PACKAGE}" - ], - [ - SYS_INSTALL=no - PLUGIN_DEST_DIR="${HOME}/.geany/plugins" - DATA_DEST_DIR="${HOME}/.geany/plugins/${PACKAGE}" - DOC_DEST_DIR="${HOME}/.geany/plugins/${PACKAGE}/support" - ] -) - -AC_SUBST(SYS_INSTALL) -AC_SUBST(PLUGIN_DEST_DIR) -AC_SUBST(DATA_DEST_DIR) -AC_SUBST(DOC_DEST_DIR) - -case "${host_os}" in - cygwin* | mingw*) - if test "x${SYS_INSTALL}" = "xyes" - then - AC_MSG_ERROR([--enable-sys-install option is not supported on windows!]) - fi - if test "x${HIDE_SYMS}" = "xyes" - then - AC_MSG_ERROR([--enable-hidden-symbols option is not supported on windows!]) - fi - LIBEXT="dll" - OS_FLAGS="${OS_FLAGS} -mms-bitfields" - USER_CMD="'make win32'" - AC_DEFINE([PLUGIN_EXPORT], [__declspec(dllexport)], [to make a symbol visible]) - ;; - *) - LIBEXT="so" - USER_CMD="'make'" - ;; -esac - -LIBRARY="libgeanylua" - -PLUGIN_FILENAME="${PACKAGE}.${LIBEXT}" -LIBRARY_FILENAME="${LIBRARY}.${LIBEXT}" - -AC_SUBST(OS_FLAGS) -AC_SUBST(PLUGIN_FILENAME) -AC_SUBST(LIBRARY) -AC_SUBST(LIBRARY_FILENAME) - - -AC_CONFIG_FILES([Makefile]) -AC_OUTPUT - -echo -echo "========================================" -make pathcheck - -echo -echo "Plugin filename: ${PLUGIN_FILENAME}" -echo "System-wide install: ${SYS_INSTALL}" -echo -echo "Configuration complete, now type ${USER_CMD}" -echo - -
Deleted: trunk/geanylua.c =================================================================== --- trunk/geanylua.c 2008-06-30 12:13:59 UTC (rev 91) +++ trunk/geanylua.c 2008-06-30 12:22:12 UTC (rev 92) @@ -1,192 +0,0 @@ - -/* - * geanylua.c - Lua scripting plugin for the Geany IDE - * Copyright 2007-2008 Jeff Pohlmeyer <yetanothergeek(at)gmail(dot)com> - * - * Portions copyright Enrico Tröger <enrico.troeger(at)uvena(dot)de> - * Portions copyright Nick Treleaven <nick.treleaven(at)btinternet(dot)com> - * - * - * 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. - * - * - * Some portions of this code were adapted from the Lua standalone - * interpreter sources, and may be subject to the terms and conditions - * specified under the Lua license. See the file COPYRIGHT.LUA for more - * information, or visit http://www.lua.org/license.html . - */ - - - -#include "geany.h" -#include "plugindata.h" -#include "keybindings.h" - -#include <glib/gi18n.h> - -#include "glspi_ver.h" - -#define SUPPORT_LIB "libgeanylua." G_MODULE_SUFFIX - -#define CB_COPY(field) geany_callbacks[i].field=glspi_geany_callbacks[i].field; - -#define GETSYM(name,ptr) ( g_module_symbol(libgeanylua, name, (gpointer) &ptr) && ptr ) - -#define MKPATH(dir) g_build_path(G_DIR_SEPARATOR_S, dir, "plugins", "geanylua", SUPPORT_LIB, NULL); - -PLUGIN_EXPORT -VERSION_CHECK(MY_GEANY_API_VER) - -PLUGIN_EXPORT -PLUGIN_INFO(PLUGIN_NAME, PLUGIN_DESC, PLUGIN_VER, PLUGIN_AUTHOR) - -PLUGIN_EXPORT -KeyBindingGroup plugin_key_group[1]; - - - - -typedef void (*InitFunc) (GeanyData *data, KeyBindingGroup *kg); -typedef void (*ConfigFunc) (GtkWidget *parent); -typedef void (*CleanupFunc) (void); - - -static gchar **glspi_version = NULL; -static InitFunc glspi_init = NULL; -static ConfigFunc glspi_configure = NULL; -static CleanupFunc glspi_cleanup = NULL; -static GeanyCallback *glspi_geany_callbacks = NULL; - - - -/* - It seems to me like we could simply pass the callbacks pointer directly - from the support library to the application. But for some reason that - doesn't work at all. So we make a copy of the callbacks array here, - and all is well... -*/ -PLUGIN_EXPORT -GeanyCallback geany_callbacks[8] = { - {NULL, NULL, FALSE, NULL}, - {NULL, NULL, FALSE, NULL}, - {NULL, NULL, FALSE, NULL}, - {NULL, NULL, FALSE, NULL}, - {NULL, NULL, FALSE, NULL}, - {NULL, NULL, FALSE, NULL}, - {NULL, NULL, FALSE, NULL}, - {NULL, NULL, FALSE, NULL} -}; - -static void copy_callbacks(void) -{ - gint i; - for (i=0; glspi_geany_callbacks[i].signal_name; i++) { - CB_COPY(signal_name); - CB_COPY(callback); - CB_COPY(after); - CB_COPY(user_data); - } -} - - - -static GModule *libgeanylua = NULL; - - -static void fail_init(void) { - if (libgeanylua) { g_module_close(libgeanylua); } - libgeanylua = NULL; - glspi_version = NULL; - glspi_init = NULL; - glspi_configure = NULL; - glspi_cleanup = NULL; - glspi_geany_callbacks = NULL; - geany_callbacks[0].signal_name=NULL; - geany_callbacks[0].callback=NULL; - geany_callbacks[0].after=FALSE; - geany_callbacks[0].user_data=NULL; -} - -static GeanyData *geany_data=NULL; - - - -PLUGIN_EXPORT -void init(GeanyData *data) -{ - gchar *libname=NULL; - geany_data=data; - libname=MKPATH(data->app->configdir); - if ( !g_file_test(libname,G_FILE_TEST_IS_REGULAR) ) { - g_free(libname); - libname=MKPATH(data->app->datadir); - } - if ( !g_file_test(libname,G_FILE_TEST_IS_REGULAR) ) { - g_free(libname); - libname=NULL; - g_printerr(_("%s: Can't find support library!\n"), PLUGIN_NAME); - return; - } - libgeanylua=g_module_open(libname,0); - g_free(libname); - if (!libgeanylua) { - g_printerr("%s\n", g_module_error()); - g_printerr(_("%s: Can't load support library!\n"), PLUGIN_NAME); - return; - } - if ( !( - GETSYM("glspi_version", glspi_version) && - GETSYM("glspi_init", glspi_init) && - GETSYM("glspi_configure", glspi_configure) && - GETSYM("glspi_cleanup", glspi_cleanup) && - GETSYM("glspi_geany_callbacks", glspi_geany_callbacks) - )) { - g_printerr("%s\n", g_module_error()); - g_printerr(_("%s: Failed to initialize support library!\n"), PLUGIN_NAME); - fail_init(); - return; - } - if (!g_str_equal(*glspi_version, VERSION)) { - g_printerr(_("%s: Support library version mismatch: %s <=> %s\n"), - PLUGIN_NAME, *glspi_version, VERSION); - fail_init(); - return; - } - copy_callbacks(); - - glspi_init(data, plugin_key_group); -} - - -PLUGIN_EXPORT -void configure(GtkWidget *parent) -{ - if (glspi_configure) { - glspi_configure(parent); - } else { - geany_data->dialogs->show_msgbox(GTK_MESSAGE_ERROR, - _("The "PLUGIN_NAME" plugin failed to load properly.\n" - "Please check your installation.") ); - } -} - - -PLUGIN_EXPORT -void cleanup(void) -{ - if (glspi_cleanup) { glspi_cleanup(); } - if (libgeanylua) { g_module_close(libgeanylua); } -}
Modified: trunk/geanysendmail/src/geanysendmail.c =================================================================== --- trunk/geanysendmail/src/geanysendmail.c 2008-06-30 12:13:59 UTC (rev 91) +++ trunk/geanysendmail/src/geanysendmail.c 2008-06-30 12:22:12 UTC (rev 92) @@ -58,7 +58,7 @@
static gchar *config_file = NULL; static gchar *mailer = NULL; -gboolean icon_in_toolbar = FALSE; +gboolean icon_in_toolbar = FALSE; /* Needed global to remove from toolbar again */ GtkWidget *mailbutton = NULL; GtkWidget *separator = NULL; @@ -186,7 +186,7 @@ gtk_toolbar_insert(GTK_TOOLBAR(main_widgets->toolbar), GTK_TOOL_ITEM(mailbutton), number_of_icons - 1); g_signal_connect (G_OBJECT(mailbutton), "clicked", G_CALLBACK(send_as_attachment), NULL); gtk_widget_show_all (mailbutton); - + separator2 = (GtkWidget*) gtk_separator_tool_item_new(); gtk_widget_show (separator2); gtk_toolbar_insert(GTK_TOOLBAR(main_widgets->toolbar), GTK_TOOL_ITEM(separator2), number_of_icons); @@ -241,7 +241,7 @@ { icon_in_toolbar = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(pref_widgets.checkbox_icon_to_toolbar)); } - + g_key_file_load_from_file(config, config_file, G_KEY_FILE_NONE, NULL); g_key_file_set_string(config, "tools", "mailer", mailer); g_key_file_set_boolean(config, "icon", "show_icon", icon_in_toolbar); @@ -272,7 +272,7 @@ tooltip = gtk_tooltips_new();
vbox = gtk_vbox_new(FALSE, 6); - + /* add a label and a text entry to the dialog */ label1 = gtk_label_new(_("Path and options for the mail client:")); gtk_widget_show(label1); @@ -293,13 +293,13 @@ NULL); gtk_button_set_focus_on_click(GTK_BUTTON(pref_widgets.checkbox_icon_to_toolbar), FALSE); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(pref_widgets.checkbox_icon_to_toolbar), icon_in_toolbar); - gtk_widget_show(pref_widgets.checkbox_icon_to_toolbar); - + gtk_widget_show(pref_widgets.checkbox_icon_to_toolbar); + gtk_container_add(GTK_CONTAINER(vbox), label1); gtk_container_add(GTK_CONTAINER(vbox), pref_widgets.entry); gtk_container_add(GTK_CONTAINER(vbox), label2); gtk_box_pack_start(GTK_BOX(vbox), pref_widgets.checkbox_icon_to_toolbar, TRUE, FALSE, 2); - + gtk_widget_show(vbox);
g_signal_connect(dialog, "response", G_CALLBACK(on_configure_response), NULL);
Deleted: trunk/glspi.h =================================================================== --- trunk/glspi.h 2008-06-30 12:13:59 UTC (rev 91) +++ trunk/glspi.h 2008-06-30 12:22:12 UTC (rev 92) @@ -1,131 +0,0 @@ - -/* - * glspi.h - Lua scripting plugin for the Geany IDE - * See the file "geanylua.c" for copyright information. - * - */ - - -#include <lua.h> -#include <lualib.h> -#include <lauxlib.h> -#include <string.h> -#include <ctype.h> - -#include "geany.h" -#include "prefs.h" -#include "project.h" -#include "support.h" -#include "document.h" -#include "filetypes.h" -#include "plugindata.h" -#include "sciwrappers.h" -#include "keybindings.h" - -#include "pluginmacros.h" - -#include "glspi_ver.h" - -#define tokenWordChars "wordchars" -#define tokenRectSel "rectsel" -#define tokenBanner "banner" -#define tokenCaller "caller" -#define tokenScript "script" -#define tokenDirSep "dirsep" -#define tokenProject "project" - -#define FAIL_STRING_ARG(argnum) \ - (glspi_fail_arg_type(L,__FUNCTION__,argnum,"string")) - -#define FAIL_BOOL_ARG(argnum) \ - (glspi_fail_arg_type(L,__FUNCTION__,argnum,"boolean")) - -#define FAIL_NUMERIC_ARG(argnum) \ - (glspi_fail_arg_type(L,__FUNCTION__,argnum,"number")) - -#define FAIL_UNSIGNED_ARG(argnum) \ - (glspi_fail_arg_type(L,__FUNCTION__,argnum,"unsigned")) - - - -#define FAIL_TABLE_ARG(argnum) \ - (glspi_fail_arg_type(L,__FUNCTION__,argnum,"table")) - -#define FAIL_STR_OR_NUM_ARG(argnum) \ - (glspi_fail_arg_types(L,__FUNCTION__,argnum, "string", "number")) - - -#define DOC_REQUIRED \ - document *doc = p_document->get_current();\ - if (!(doc && doc->sci)) {return 0;} - - -#define SetTableValue(name,value,pusher) \ - lua_pushstring(L, name); \ - pusher(L, value); \ - lua_rawset(L,-3); - -#define SetTableStr(name,value) SetTableValue(name,value,lua_pushstring) -#define SetTableBool(name,value) SetTableValue(name,value,lua_pushboolean) -#define SetTableNum(name,value) SetTableValue(name,(lua_Number)value,lua_pushnumber) - -#define DEFAULT_MAX_EXEC_TIME 15 - - -#define push_number(L,n) lua_pushnumber(L,(lua_Number)n) - -#define sci_send_message(s,m,w,l) \ - p_sci->send_message( s,\ - (unsigned int) (m), \ - (long unsigned int) (w), \ - (long int) (l) ) - - - -extern GeanyData *glspi_geany_data; - -#define geany_data glspi_geany_data - - -#ifdef NEED_FAIL_ARG_TYPE -/* Pushes an error message onto Lua stack if script passes a wrong arg type */ -static gint glspi_fail_arg_type(lua_State *L, const gchar *func, gint argnum, gchar *type) -{ - lua_pushfstring(L, _("Error in module "%s" at function %s():\n" - " expected type "%s" for argument #%d\n"), - LUA_MODULE_NAME, func+6, type, argnum); - lua_error(L); - return 0; -} -#endif - - -#ifdef NEED_FAIL_ARG_TYPES -/* Same as above, but for two overloaded types, eg "string" OR "number" */ -static gint glspi_fail_arg_types( - lua_State *L, const gchar *func, gint argnum, gchar *type1, gchar *type2) -{ - lua_pushfstring(L, _("Error in module "%s" at function %s():\n" - " expected type "%s" or "%s" for argument #%d\n"), - LUA_MODULE_NAME, func+6, type1, type2, argnum); - lua_error(L); - return 0; -} -#endif - - -#ifdef NEED_FAIL_ELEM_TYPE -/*Pushes an error message onto Lua stack if table contains wrong element type*/ -static gint glspi_fail_elem_type( - lua_State *L, const gchar *func, gint argnum, gint idx, gchar *type) -{ - lua_pushfstring(L, _("Error in module "%s" at function %s():\n" - " invalid table in argument #%d:\n" - " expected type "%s" for element #%d\n "), - LUA_MODULE_NAME, func+6, argnum, type, idx); - lua_error(L); - return 0; -} -#endif - -
Deleted: trunk/glspi_app.c =================================================================== --- trunk/glspi_app.c 2008-06-30 12:13:59 UTC (rev 91) +++ trunk/glspi_app.c 2008-06-30 12:22:12 UTC (rev 92) @@ -1,627 +0,0 @@ - -/* - * glspi_app.c - This file is part of the Lua scripting plugin for the Geany IDE - * See the file "geanylua.c" for copyright information. - */ - -#include <sys/stat.h> -#include <stdlib.h> -#include <errno.h> - - -#define NEED_FAIL_ARG_TYPE -#include "glspi.h" - - - - -static gint glspi_pluginver(lua_State* L) -{ - lua_pushfstring(L, _( -"%s %s: %s\n" -"Copyright (c) 2007-2008 "PLUGIN_AUTHOR", et al.\n" -"Compiled on "__DATE__" at "__TIME__" for Geany API version %d\n" -"Released under version 2 of the GNU General Public License.\n" - ), - PLUGIN_NAME, PLUGIN_VER, PLUGIN_DESC, MY_GEANY_API_VER); - return 1; -} - - -static gint glspi_tools(lua_State* L) -{ - lua_newtable(L); - SetTableStr("browser", prefs->tools_browser_cmd); - SetTableStr("make", prefs->tools_make_cmd); - SetTableStr("term", prefs->tools_term_cmd); - SetTableStr("grep", prefs->tools_grep_cmd); - SetTableStr("action", prefs->context_action_cmd); - return 1; -} - - -static gint glspi_template(lua_State* L) -{ - lua_newtable(L); - SetTableStr("developer", prefs->template_developer); - SetTableStr("company", prefs->template_company); - SetTableStr("mail", prefs->template_mail); - SetTableStr("initial", prefs->template_initial); - SetTableStr("version", prefs->template_version); - return 1; -} - - - -static gint glspi_project(lua_State* L) -{ - if (project) { - lua_newtable(L); - SetTableStr("name", project->name); - SetTableStr("desc", project->description); - SetTableStr("file", project->file_name); - SetTableStr("base", project->base_path); - SetTableStr("exec", project->run_cmd); - if (project->file_patterns && *project->file_patterns) { - gchar *tmp=g_strjoinv(";", project->file_patterns); - SetTableStr("mask", tmp); - g_free(tmp); - } - return 1; - } else { - return 0; - } -} - -static gchar *glspi_script_dir = NULL; - -static gint glspi_appinfo(lua_State* L) -{ - lua_newtable(L); - SetTableBool("debug", app->debug_mode); - SetTableStr("configdir", app->configdir); - SetTableStr("datadir", app->datadir); - SetTableStr("docdir", app->docdir); - SetTableStr("scriptdir", glspi_script_dir); - lua_pushstring(L,"template"); - glspi_template(L); - lua_rawset(L,1); - - lua_pushstring(L,"tools"); - glspi_tools(L); - lua_rawset(L,1); - - if (project) { - lua_pushstring(L,"project"); - glspi_project(L); - lua_rawset(L,1); - } - return 1; -} - - - -#ifndef G_OS_WIN32 - -#define CLIPBOARD gtk_clipboard_get(GDK_SELECTION_PRIMARY) - -static gint glspi_xsel(lua_State* L) -{ - if (lua_gettop(L)>0) { - if (lua_isstring(L,1)) { - guint len; - const gchar*txt=lua_tolstring(L,1,&len); - gtk_clipboard_set_text(CLIPBOARD,txt,len); - } else { - FAIL_STRING_ARG(1); - } - return 0; - } else { - gchar *txt=gtk_clipboard_wait_for_text(CLIPBOARD); - if (txt) { - lua_pushstring(L,txt); - g_free(txt); - } else { - lua_pushstring(L,""); - } - return 1; - } -} - -#else -static gint glspi_xsel(lua_State* L) { return 0; } -#endif - - - - -static gint glspi_signal(lua_State* L) { - const gchar*widname,*signame; - GtkWidget*w; - GType typeid; - guint sigid; - if ((lua_gettop(L)<2)||!lua_isstring(L,2) ) { return FAIL_STRING_ARG(2); } - if (!lua_isstring(L,1) ) { return FAIL_STRING_ARG(1); } - widname=lua_tostring(L,1); - signame=lua_tostring(L,2); - w=p_support->lookup_widget(app->window, widname); - if (!w) { - lua_pushfstring(L, _("Error in module "%s" at function %s():\n" - "widget "%s" not found for argument #1.\n "), - LUA_MODULE_NAME, &__FUNCTION__[6], widname); - lua_error(L); - return 0; - } - typeid=G_OBJECT_TYPE(w); - sigid=g_signal_lookup(signame,typeid); - if (!sigid) { - lua_pushfstring(L, _("Error in module "%s" at function %s() argument #2:\n" - "widget "%s" has no signal named "%s".\n "), - LUA_MODULE_NAME, &__FUNCTION__[6], widname, signame); - lua_error(L); - return 0; - } - - g_signal_emit(w, sigid, 0); - return 0; -} - - - - -#ifdef G_OS_WIN32 -#define lstat stat -#define realpath(src,dst) _fullpath((dst),(src),_MAX_PATH) -#include <io.h> -#else -#include <unistd.h> -#endif - -typedef int (*statfunc) (const char *fn, struct stat *st); - -static gint glspi_stat(lua_State* L) -{ - statfunc sf=stat; - const gchar*fn=NULL; - struct stat st; - if (lua_gettop(L)<1) { return FAIL_STRING_ARG(1); } - if (lua_gettop(L)>=2) { - if (!lua_isboolean(L,2)) { return FAIL_BOOL_ARG(2); } - sf=lua_toboolean(L,2)?lstat:stat; - } - if (!lua_isstring(L,1)) { return FAIL_STRING_ARG(1); } - fn=lua_tostring(L,1); - if (sf(fn,&st)==0) { - gchar *ft=NULL; - switch ( st.st_mode & S_IFMT) { - case S_IFBLK:ft="b"; break; - case S_IFCHR:ft="c"; break; - case S_IFDIR:ft="d"; break; - case S_IFIFO:ft="f"; break; - case S_IFREG:ft="r"; break; -#ifndef G_OS_WIN32 - case S_IFLNK:ft="l"; break; - case S_IFSOCK:ft="s"; break; -#endif - } - lua_newtable(L); - SetTableNum("size",st.st_size); - SetTableNum("time",st.st_mtime); - SetTableStr("type",ft); - SetTableBool("read", (access(fn,R_OK)==0)); - SetTableBool("write", (access(fn,W_OK)==0)); - SetTableBool("exec", (access(fn,X_OK)==0)); - return 1; - } - lua_pushnil(L); - lua_pushstring(L, strerror(errno)); - return 2; -} - - -static gint glspi_basename(lua_State* L) -{ - if (lua_gettop(L)>=1) { - gchar *bn=NULL; - const gchar *fn=NULL; - if (!lua_isstring(L,1)) { return FAIL_STRING_ARG(1); } - fn=lua_tostring(L,1); - bn=g_path_get_basename(fn); - lua_pushstring(L,bn); - g_free(bn); - return 1; - } - return 0; -} - - -static gint glspi_dirname(lua_State* L) -{ - if (lua_gettop(L)>=1) { - gchar *dn=NULL; - const gchar *fn=NULL; - if (!lua_isstring(L,1)) { return FAIL_STRING_ARG(1); } - fn=lua_tostring(L,1); - dn=g_path_get_dirname(fn); - lua_pushstring(L,dn); - g_free(dn); - return 1; - } - return 0; -} - - - - -static gint glspi_fullpath(lua_State* L) -{ - if (lua_gettop(L)>=1) { - gchar *rp=NULL; - const gchar *fn=NULL; - if (!lua_isstring(L,1)) { return FAIL_STRING_ARG(1); } - fn=lua_tostring(L,1); - rp=realpath(fn,NULL); - if (rp) { - lua_pushstring(L,rp); - free(rp); - return 1; - } - } - return 0; -} - - - -static gint dirlist_closure(lua_State *L) -{ - GDir*dir=lua_touserdata(L,lua_upvalueindex(1)); - const gchar*entry=g_dir_read_name(dir); - if (entry) { - lua_pushstring(L,entry); - return 1; - } else { - g_dir_close(dir); - return 0; - } -} - - - -static gint glspi_dirlist(lua_State* L) -{ - GDir*dir=NULL; - const gchar*dn="."; - GError*err=NULL; - if (lua_gettop(L)>=1) { - if (!lua_isstring(L,1)) { return FAIL_STRING_ARG(1); } - dn=lua_tostring(L,1); - } - dir=g_dir_open(dn,0,&err); - if (dir) { - lua_pushlightuserdata(L,dir); - lua_pushcclosure(L,&dirlist_closure,1); - return 1; - } else { - lua_pushfstring(L, "Error in module "%s" at function %s() argument #2\n%s", - LUA_MODULE_NAME, &__FUNCTION__[6],err?err->message:"Error reading directory." - ); - if (err) {g_error_free(err);} - lua_error(L); - return 0; - } - return 0; -} - - - -static gint glspi_wkdir(lua_State* L) -{ - if (lua_gettop(L)== 0 ) { - gchar*wd=getcwd(NULL,0); - if (wd) { - lua_pushstring(L,wd); - free(wd); - return 1; - } else { return 0; } - } else { - if (!lua_isstring(L,1)) { return FAIL_STRING_ARG(1); } - if ( chdir(lua_tostring(L,1)) == 0 ) { - lua_pushboolean(L,TRUE); - return 1; - } else { - lua_pushboolean(L,FALSE); - lua_pushstring(L, strerror(errno)); - return 2; - } - } -} - - -#include "glspi_keycmd.h" - -static GHashTable*key_cmd_hash=NULL; - -static void glspi_init_key_cmd_hash(void) -{ - gint i; - key_cmd_hash=g_hash_table_new(g_str_hash,g_str_equal); - for (i=0;key_cmd_hash_entries[i].name; i++) { - g_hash_table_insert( - key_cmd_hash,key_cmd_hash_entries[i].name,&key_cmd_hash_entries[i]); - } -} - - -static void glspi_free_key_cmd_hash(void) { - if (key_cmd_hash) { - g_hash_table_destroy(key_cmd_hash); - key_cmd_hash=NULL; - } -} - -void glspi_set_key_cmd_hash(gboolean create) { - if (create) { - glspi_init_key_cmd_hash (); - } else { - glspi_free_key_cmd_hash(); - } -} - - - -#define lookup_key_cmd_str(cmd) g_hash_table_lookup(key_cmd_hash,cmd); - - -static gint glspi_keycmd(lua_State* L) -{ - KeyCmdHashEntry*he=NULL; - if (lua_gettop(L)<1) {return FAIL_STRING_ARG(1); } - if (lua_isstring(L,1)) { - gchar cmdbuf[64]; - gchar *cmdname; - gint i; - memset(cmdbuf,'\0', sizeof(cmdbuf)); - strncpy(cmdbuf,lua_tostring(L,1),sizeof(cmdbuf)-1); - for (i=0;cmdbuf[i];i++) {cmdbuf[i]=g_ascii_toupper(cmdbuf[i]);} - cmdname=cmdbuf; - if (strncmp(cmdname,"GEANY_",6)==0) { - cmdname+=6; - if (strncmp(cmdname,"KEYS_",5)==0) { - cmdname+=5; - } - } - he=lookup_key_cmd_str(cmdname); - } else { return FAIL_STRING_ARG(1); } - if ( !he ) { - lua_pushfstring( - L, _( "Error in module "%s" at function %s():\n" - "unknown command "%s" given for argument #1.\n"), - LUA_MODULE_NAME, &__FUNCTION__[6], lua_tostring(L,1)); - lua_error(L); - return 0; - } - p_keybindings->send_command(he->group, he->key_id); - return 0; -} - - -static gint glspi_launch(lua_State* L) -{ - gint argc=lua_gettop(L); - gint i; - gchar **argv=NULL; - gboolean rv; - GError *err=NULL; - if (argc==0) { return FAIL_STRING_ARG(1); } - for (i=1;i<=argc;i++) { - if (!lua_isstring(L,i)) { return FAIL_STRING_ARG(i); } - } - argv=g_malloc0(sizeof(gchar *)*argc+1); - for (i=0;i<argc;i++) { - argv[i]=(g_strdup(lua_tostring(L,i+1))); - } - rv=g_spawn_async(NULL, argv, NULL, G_SPAWN_SEARCH_PATH, NULL, NULL, NULL, &err); - g_strfreev(argv); - lua_pushboolean(L,rv); - if (rv) { return 1; } - lua_pushstring(L,err->message); - g_error_free(err); - return 2; -} - - -static guint My_Shift_L=0; -static guint My_Shift_R=0; -static guint My_Control_L=0; -static guint My_Control_R=0; -static guint My_Alt_L=0; -static guint My_Alt_R=0; - - -#ifndef G_OS_WIN32 - -#include <X11/Xlib.h> -#include <X11/keysym.h> -#include <sys/time.h> - - -#define IsShift ( (My_Shift_L == ev->xkey.keycode) || (My_Shift_R == ev->xkey.keycode) ) - -#define IsCtrl ( (My_Control_L == ev->xkey.keycode) || (My_Control_R == ev->xkey.keycode) ) -#define IsAlt ( (My_Alt_L == ev->xkey.keycode) || (My_Alt_R == ev->xkey.keycode) ) - -#define IsCtrlAlt ( IsCtrl || IsAlt ) - -typedef struct _KeyGrabData { -gchar *prompt; -GdkKeymapKey km; -} _KeyGrabData; - - -static GdkFilterReturn keygrab_cb(GdkXEvent *xevent, GdkEvent *event, gpointer data) -{ - XEvent*ev = (XEvent*) xevent; - GdkKeymapKey *km = (GdkKeymapKey*) data; - switch (ev->type) { - case KeyPress:{ - if (IsShift) { - km->level=1; - } else { - if (!IsCtrlAlt) km->group=1; /* Flag to know we have keydown before keyup */ - } - return GDK_FILTER_REMOVE; - } - case KeyRelease:{ - if (IsShift) { - km->level=0; - } else { - if ((km->group==1)&&(!IsCtrlAlt)) { /* OK, we already got our keydown */ - km->group=2; - km->level=(ev->xkey.state & ShiftMask)?1:0; - km->keycode=ev->xkey.keycode; - } - } - return GDK_FILTER_REMOVE; - } - default:{} - } - return GDK_FILTER_CONTINUE; -} - -static void dosleep(void) -{ - struct timespec req, rem; - req.tv_sec=0; - req.tv_nsec=1000; - nanosleep(&req, &rem); -} - -#else -#include <windows.h> -#define dosleep() Sleep(1) - -#define IsShift ( (My_Shift_L == msg->wParam) || (My_Shift_R == msg->wParam) ) - -#define IsCtrl ( (My_Control_L == msg->wParam) || (My_Control_R == msg->wParam) ) -#define IsAlt ( (My_Alt_L == msg->wParam) || (My_Alt_R == msg->wParam) ) - -#define IsCtrlAlt ( IsCtrl || IsAlt ) - - -static GdkFilterReturn keygrab_cb(GdkXEvent *xevent, GdkEvent *event, gpointer data) -{ - MSG*msg = (MSG*) xevent; - GdkKeymapKey *km = (GdkKeymapKey*) data; - switch (msg->message) { - case WM_KEYDOWN:{ - if (IsShift) { - km->level=1; - } else { - if (!IsCtrlAlt) km->group=1; /* Flag to know we have keydown before keyup */ - } - return GDK_FILTER_REMOVE; - } - case WM_KEYUP:{ - if (IsShift) { - km->level=0; - } else { - if ((km->group==1)&&(!IsCtrlAlt)) { /* OK, we already got our keydown */ - km->group=2; - km->level=HIBYTE(GetKeyState(VK_SHIFT))?1:0; - km->keycode=msg->wParam; - } - } - return GDK_FILTER_REMOVE; - } - default:{} - } - return GDK_FILTER_CONTINUE; -} - - -#endif - - -#include <gdk/gdkkeysyms.h> -static gint init_key(guint keyval){ - GdkKeymapKey *kmk=NULL; - gint n_keys=0; - gint rv=0; - if (gdk_keymap_get_entries_for_keyval(NULL,keyval,&kmk,&n_keys)) { - rv=kmk[0].keycode; - g_free(kmk); - } - return rv; -} - -#define InitKey(code,value) if (!code) { code=init_key(value); } - -static gint glspi_keygrab(lua_State* L) -{ - document*doc=NULL; - const gchar*prompt=NULL; - GdkKeymapKey km={0,0,0}; - km.keycode=0; - km.group=0; /* Note: we hijack this field to use as a flag for first keydown. */ - km.level=0; - InitKey(My_Shift_L, GDK_Shift_L); - InitKey(My_Shift_R, GDK_Shift_R); - InitKey(My_Control_L, GDK_Control_L); - InitKey(My_Control_R, GDK_Control_R); - InitKey(My_Alt_L, GDK_Alt_L); - InitKey(My_Alt_R, GDK_Alt_R); - if (lua_gettop(L)>0) { - if (!lua_isstring(L,1)) {return FAIL_STRING_ARG(1); } - prompt=lua_tostring(L,1); - doc=p_document->get_current(); - } - - if (prompt && doc && doc->is_valid ) { - gint fvl=sci_send_message(doc->sci,SCI_GETFIRSTVISIBLELINE, 0,0); - gint pos=p_sci->get_position_from_line(doc->sci, fvl+1); - sci_send_message(doc->sci,SCI_CALLTIPSHOW,pos+3, (gint)prompt); - } - gdk_window_add_filter(app->window->window, keygrab_cb, &km); - do { - while (gtk_events_pending()) { - if (km.group==2) { break; } - gtk_main_iteration(); - } - if (km.group==2) { break; } - dosleep(); - } while (km.group!=2); - - gdk_window_remove_filter(app->window->window, keygrab_cb, &km); - if (prompt && doc && doc->is_valid) { - p_sci->send_command(doc->sci, SCI_CALLTIPCANCEL); - } - km.group=0; /* reset the hijacked flag before passing to GDK */ - lua_pushstring(L, gdk_keyval_name(gdk_keymap_lookup_key(NULL, &km))); - - return 1; -} - - - -static const struct luaL_reg glspi_app_funcs[] = { - {"pluginver", glspi_pluginver}, - {"appinfo", glspi_appinfo}, - {"xsel", glspi_xsel}, - {"signal", glspi_signal}, - {"stat", glspi_stat}, - {"basename", glspi_basename}, - {"dirname", glspi_dirname}, - {"fullpath", glspi_fullpath}, - {"dirlist", glspi_dirlist}, - {"wkdir", glspi_wkdir}, - {"keycmd", glspi_keycmd}, - {"launch", glspi_launch}, - {"keygrab", glspi_keygrab}, - {NULL,NULL} -}; - -void glspi_init_app_funcs(lua_State *L, gchar*script_dir) { - glspi_script_dir = script_dir; - luaL_register(L, NULL,glspi_app_funcs); -} -
Deleted: trunk/glspi_dlg.c =================================================================== --- trunk/glspi_dlg.c 2008-06-30 12:13:59 UTC (rev 91) +++ trunk/glspi_dlg.c 2008-06-30 12:22:12 UTC (rev 92) @@ -1,556 +0,0 @@ -/* - * glspi_dlg.c - This file is part of the Lua scripting plugin for the Geany IDE - * See the file "geanylua.c" for copyright information. - */ - - -#include <gdk/gdkkeysyms.h> - -#define NEED_FAIL_ARG_TYPE -#define NEED_FAIL_ELEM_TYPE - -#include "glspi.h" - -/* Use newer "generic" dialogs if available */ -#if ! GTK_CHECK_VERSION(2, 10, 0) -#define GTK_MESSAGE_OTHER GTK_MESSAGE_INFO -#endif - -#define DIALOG_FLAGS GTK_DIALOG_DESTROY_WITH_PARENT|GTK_DIALOG_MODAL - - -typedef void (*GsDlgRunHook) (gboolean running, gpointer user_data); - -static GsDlgRunHook glspi_pause_timer = NULL; - - -static gint do_glspi_dialog_run(lua_State *L, GtkDialog *dialog) -{ - gint rv; - glspi_pause_timer(TRUE, L); - rv=gtk_dialog_run(dialog); - glspi_pause_timer(FALSE, L); - return rv; -} - -#define glspi_dialog_run(d) do_glspi_dialog_run(L,d) - -static void set_dialog_title(lua_State *L, GtkWidget*dialog) { - const gchar *banner=DEFAULT_BANNER; - lua_getglobal(L, LUA_MODULE_NAME); - if ( lua_istable(L, -1) ) { - lua_pushstring(L,tokenBanner); - lua_gettable(L, -2); - if (lua_isstring(L, -1)) { - banner=lua_tostring(L, -1); - } else { - banner=DEFAULT_BANNER; - lua_getglobal(L, LUA_MODULE_NAME); - lua_pushstring(L,tokenBanner); - lua_pushstring(L,banner); - lua_settable(L, -3); - } - } - gtk_window_set_title(GTK_WINDOW(dialog), banner); -} - - -/* - The GtkMessageDialog wants format strings, but we want literals. - So we need to replace all '%' with "%%" -*/ -static gchar*pct_esc(const gchar*s) -{ - gchar*rv=NULL; - if (s && strchr(s, '%')) { - gchar**a=g_strsplit(s,"%",-1); - rv=g_strjoinv("%%",a); - g_strfreev(a); - } - return rv; -} - -static GtkWidget*new_dlg(gint msg_type, gint buttons, const gchar*msg1, const gchar*msg2) -{ - gchar *tmp=pct_esc(msg1); - GtkWidget*rv=gtk_message_dialog_new(GTK_WINDOW(app->window), - DIALOG_FLAGS, msg_type, buttons, "%s", tmp?tmp:msg1); - - if (tmp) { - g_free(tmp); - tmp=NULL; - } - if (msg2) { - tmp=pct_esc(msg2); - gtk_message_dialog_format_secondary_text(GTK_MESSAGE_DIALOG(rv), "%s", tmp?tmp:msg2); - if (tmp) {g_free(tmp);} - } - return rv; -} - - -/* Close the list dialog with an OK response if user double-clicks an item */ -/* FIXME: Make sure the click was really on an item! */ -static gboolean on_tree_clicked(GtkWidget *w, GdkEventButton *e, gpointer p) -{ - if (w && p && e && (GDK_2BUTTON_PRESS==e->type) && (1==e->button)) { - gtk_dialog_response(GTK_DIALOG(p), GTK_RESPONSE_OK); - } - return FALSE; -} - - - -/* Close the list dialog with an OK response if user presses [Enter] in list */ -static gboolean on_tree_key_release(GtkWidget *w, GdkEventKey *e, gpointer p) -{ - if (w && p && e && (GDK_Return==e->keyval) ) { - gtk_dialog_response(GTK_DIALOG(p), GTK_RESPONSE_OK); - } - return FALSE; -} - - -static gint glspi_choose(lua_State* L) -{ - const gchar *arg1=NULL; - gint i, n; - GtkResponseType rv; - GtkWidget*dialog, *ok_btn, *cancel_btn, *tree, *scroll;
@@ Diff output truncated at 100000 characters. @@
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.