SF.net SVN: geany-plugins:[358] trunk

yurand at users.sourceforge.net yurand at xxxxx
Tue Dec 23 10:31:59 UTC 2008


Revision: 358
          http://geany-plugins.svn.sourceforge.net/geany-plugins/?rev=358&view=rev
Author:   yurand
Date:     2008-12-23 10:31:55 +0000 (Tue, 23 Dec 2008)

Log Message:
-----------
GeanyDebug: rename GeanyDebug to GeanyGdb

Modified Paths:
--------------
    trunk/wscript

Added Paths:
-----------
    trunk/geanygdb/
    trunk/geanygdb/.gitignore
    trunk/geanygdb/AUTHORS
    trunk/geanygdb/COPYING
    trunk/geanygdb/ChangeLog
    trunk/geanygdb/INSTALL
    trunk/geanygdb/Makefile.am
    trunk/geanygdb/NEWS
    trunk/geanygdb/README
    trunk/geanygdb/THANKS
    trunk/geanygdb/autogen.sh
    trunk/geanygdb/configure.in
    trunk/geanygdb/indent-all.sh
    trunk/geanygdb/makefile.win32
    trunk/geanygdb/po/
    trunk/geanygdb/po/.gitignore
    trunk/geanygdb/po/ChangeLog
    trunk/geanygdb/po/LINGUAS
    trunk/geanygdb/po/POTFILES.in
    trunk/geanygdb/po/POTFILES.skip
    trunk/geanygdb/po/de.po
    trunk/geanygdb/src/
    trunk/geanygdb/src/Makefile.am
    trunk/geanygdb/src/gdb-io-break.c
    trunk/geanygdb/src/gdb-io-envir.c
    trunk/geanygdb/src/gdb-io-frame.c
    trunk/geanygdb/src/gdb-io-priv.h
    trunk/geanygdb/src/gdb-io-read.c
    trunk/geanygdb/src/gdb-io-run.c
    trunk/geanygdb/src/gdb-io-stack.c
    trunk/geanygdb/src/gdb-io.h
    trunk/geanygdb/src/gdb-lex.c
    trunk/geanygdb/src/gdb-lex.h
    trunk/geanygdb/src/gdb-ui-break.c
    trunk/geanygdb/src/gdb-ui-envir.c
    trunk/geanygdb/src/gdb-ui-frame.c
    trunk/geanygdb/src/gdb-ui-locn.c
    trunk/geanygdb/src/gdb-ui-main.c
    trunk/geanygdb/src/gdb-ui.h
    trunk/geanygdb/src/geanydebug.c
    trunk/geanygdb/src/ttyhelper.c
    trunk/geanygdb/tests/
    trunk/geanygdb/tests/Makefile.am
    trunk/geanygdb/tests/unittests.c

Removed Paths:
-------------
    trunk/geanydebug/.gitignore
    trunk/geanydebug/AUTHORS
    trunk/geanydebug/COPYING
    trunk/geanydebug/ChangeLog
    trunk/geanydebug/INSTALL
    trunk/geanydebug/Makefile.am
    trunk/geanydebug/NEWS
    trunk/geanydebug/README
    trunk/geanydebug/THANKS
    trunk/geanydebug/autogen.sh
    trunk/geanydebug/configure.in
    trunk/geanydebug/indent-all.sh
    trunk/geanydebug/makefile.win32
    trunk/geanydebug/po/.gitignore
    trunk/geanydebug/po/ChangeLog
    trunk/geanydebug/po/LINGUAS
    trunk/geanydebug/po/POTFILES.in
    trunk/geanydebug/po/POTFILES.skip
    trunk/geanydebug/po/de.po
    trunk/geanydebug/src/Makefile.am
    trunk/geanydebug/src/gdb-io-break.c
    trunk/geanydebug/src/gdb-io-envir.c
    trunk/geanydebug/src/gdb-io-frame.c
    trunk/geanydebug/src/gdb-io-priv.h
    trunk/geanydebug/src/gdb-io-read.c
    trunk/geanydebug/src/gdb-io-run.c
    trunk/geanydebug/src/gdb-io-stack.c
    trunk/geanydebug/src/gdb-io.h
    trunk/geanydebug/src/gdb-lex.c
    trunk/geanydebug/src/gdb-lex.h
    trunk/geanydebug/src/gdb-ui-break.c
    trunk/geanydebug/src/gdb-ui-envir.c
    trunk/geanydebug/src/gdb-ui-frame.c
    trunk/geanydebug/src/gdb-ui-locn.c
    trunk/geanydebug/src/gdb-ui-main.c
    trunk/geanydebug/src/gdb-ui.h
    trunk/geanydebug/src/geanydebug.c
    trunk/geanydebug/src/ttyhelper.c
    trunk/geanydebug/tests/Makefile.am
    trunk/geanydebug/tests/unittests.c

Deleted: trunk/geanydebug/.gitignore
===================================================================
--- trunk/geanydebug/.gitignore	2008-12-23 10:24:56 UTC (rev 357)
+++ trunk/geanydebug/.gitignore	2008-12-23 10:31:55 UTC (rev 358)
@@ -1,26 +0,0 @@
-autom4te.cache
-Makefile
-Makefile.in
-aclocal.m4
-config.log
-config.status
-config.guess
-config.sub
-config.h
-config.h.in
-configure
-.deps
-.libs
-*.o
-*.la
-*.lo
-libtool
-*.tar.gz
-unittests
-ltmain.sh
-depcomp
-install-sh
-missing
-intltool-*
-mkinstalldirs
-stamp-h1

Deleted: trunk/geanydebug/AUTHORS
===================================================================
--- trunk/geanydebug/AUTHORS	2008-12-23 10:24:56 UTC (rev 357)
+++ trunk/geanydebug/AUTHORS	2008-12-23 10:31:55 UTC (rev 358)
@@ -1 +0,0 @@
-Jeff Pohlmeyer <yetanothergeek at gmail.com>

Deleted: trunk/geanydebug/COPYING
===================================================================
--- trunk/geanydebug/COPYING	2008-12-23 10:24:56 UTC (rev 357)
+++ trunk/geanydebug/COPYING	2008-12-23 10:31:55 UTC (rev 358)
@@ -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/geanydebug/Makefile.am
===================================================================
--- trunk/geanydebug/Makefile.am	2008-12-23 10:24:56 UTC (rev 357)
+++ trunk/geanydebug/Makefile.am	2008-12-23 10:31:55 UTC (rev 358)
@@ -1,14 +0,0 @@
-SUBDIRS = src po tests
-
-EXTRA_DIST =				\
-	autogen.sh				\
-	makefile.win32			\
-	intltool-extract.in		\
-	intltool-merge.in		\
-	intltool-update.in		\
-	indent-all.sh
-
-DISTCLEANFILES =			\
-	intltool-extract		\
-	intltool-merge			\
-	intltool-update

Deleted: trunk/geanydebug/NEWS
===================================================================
--- trunk/geanydebug/NEWS	2008-12-23 10:24:56 UTC (rev 357)
+++ trunk/geanydebug/NEWS	2008-12-23 10:31:55 UTC (rev 358)
@@ -1 +0,0 @@
-See "ChangeLog"

Deleted: trunk/geanydebug/README
===================================================================
--- trunk/geanydebug/README	2008-12-23 10:24:56 UTC (rev 357)
+++ trunk/geanydebug/README	2008-12-23 10:31:55 UTC (rev 358)
@@ -1,48 +0,0 @@
-
-This is a plugin to provide integrated debugging from Geany using the GNU
-debugger (gdb). It was developed and tested on openSUSE-10.3 with GDB-6.7.50.
-Other recent versions of GDB will probably work, but operating systems other
-than Linux-PC will not work, at least not without some considerable hacking.
-
-There is no real documentation, but if you hover your mouse over the buttons
-in the "Debug" sidebar panel in Geany the tooltips should give you some idea
-of what to do next. There are also a few "rough draft" notes below:
-
-Most of the console output from GDB is sent to the "Compiler" message window
-in Geany, and you can send standard commands to GDB using the "Console" entry
-on the debug sidebar. This should be used with caution, since GDB's machine
-interface and console interface don't always play well together.
-
-Also note that the plugin sets its own internal breakpoint #1 to grab the
-program's PID on startup, so any user-specified breakpoint numbers begin
-at #2, and if you manually delete the #1 breakpoint it will likely cause
-you some problems.
-
-Whenever the target program hits a breakpoint or encounters a segfault etc.
-it will try to open the appropriate source file and jump to the correct line.
-
-To examine the state of the program's variables, you can click on the "Stack"
-button in the debug sidebar. Note that the interaction between the plugin and
-the debugger can sometimes be quite slow, so please be patient when waiting
-for the dialogs to open.
-
-The "Add breakpoint", "Add watchpoint", and "Run to" dialogs will try to
-suggest some values based on your current position in whatever file you
-have open in Geany, but if you don't like the choice, just click the "Clear"
-button and type in whatever you please.
-
-The plugin tries to enable only the buttons that are relevant to the current
-state, but ocassionally it might end up getting things wrong. If this happens,
-you should be able to click the "Unload" button and everything will be reset.
-
-If you try to unload the plugin using the plugin manager while it has a
-program loaded, the plugin manager might appear to hang for a few seconds,
-while GDB tries to shut down. Again, just be patient, but note that it is
-much better use the "Unload" button in the debug sidebar before trying to
-disable the plugin.
-
-There also seems to be some conflict with the GeanyLua plugin, if you have
-any ~/.geany/plugins/events/ scripts. ( The GeanyLua author tells me it is
-a problem with that plugin, and it will be fixed in the 0.6.2 release. :-)
-
-

Deleted: trunk/geanydebug/THANKS
===================================================================
--- trunk/geanydebug/THANKS	2008-12-23 10:24:56 UTC (rev 357)
+++ trunk/geanydebug/THANKS	2008-12-23 10:31:55 UTC (rev 358)
@@ -1,20 +0,0 @@
-Thanks to:
-
-Salvador E. Tropea <set(at)users(dot)sf(dot)net>
-  Author of the libmigdb library. ( This project doesn't use any code from
-  libmigdb, but his project made me believe such a thing was even possible. )
-
-
-Enrico Troeger <enrico(dot)troeger(at)uvena(dot)de>
-  Geany IDE author.
-
-
-Nick Treleaven <nick(dot)treleaven(at)btinternet(dot)com>
-  Chief architect of the Geany plugin API.
-
-
-Yura Siamashka yurand2(at)gmail(dot)com
-  Initial autotools scripts ( adapted from the geanyvc plugin. )
-  and improvements to INSTALL instructions.
-
-

Deleted: trunk/geanydebug/autogen.sh
===================================================================
--- trunk/geanydebug/autogen.sh	2008-12-23 10:24:56 UTC (rev 357)
+++ trunk/geanydebug/autogen.sh	2008-12-23 10:31:55 UTC (rev 358)
@@ -1,165 +0,0 @@
-#!/bin/sh
-# Run this to generate all the initial makefiles, etc.
-
-srcdir=`dirname $0`
-test -z "$srcdir" && srcdir=.
-
-DIE=0
-
-if [ -n "$GNOME2_DIR" ]; then
-	ACLOCAL_FLAGS="-I $GNOME2_DIR/share/aclocal $ACLOCAL_FLAGS"
-	LD_LIBRARY_PATH="$GNOME2_DIR/lib:$LD_LIBRARY_PATH"
-	PATH="$GNOME2_DIR/bin:$PATH"
-	export PATH
-	export LD_LIBRARY_PATH
-fi
-
-(test -f $srcdir/configure.in) || {
-    echo -n "**Error**: Directory "\`$srcdir\'" does not look like the"
-    echo " top-level package directory"
-    exit 1
-}
-
-(autoconf --version) < /dev/null > /dev/null 2>&1 || {
-  echo
-  echo "**Error**: You must have \`autoconf' installed."
-  echo "Download the appropriate package for your distribution,"
-  echo "or get the source tarball at ftp://ftp.gnu.org/pub/gnu/"
-  DIE=1
-}
-
-(grep "^AC_PROG_INTLTOOL" $srcdir/configure.in >/dev/null) && {
-  (intltoolize --version) < /dev/null > /dev/null 2>&1 || {
-    echo 
-    echo "**Error**: You must have \`intltool' installed."
-    echo "You can get it from:"
-    echo "  ftp://ftp.gnome.org/pub/GNOME/"
-    DIE=1
-  }
-}
-
-(grep "^AM_PROG_XML_I18N_TOOLS" $srcdir/configure.in >/dev/null) && {
-  (xml-i18n-toolize --version) < /dev/null > /dev/null 2>&1 || {
-    echo
-    echo "**Error**: You must have \`xml-i18n-toolize' installed."
-    echo "You can get it from:"
-    echo "  ftp://ftp.gnome.org/pub/GNOME/"
-    DIE=1
-  }
-}
-
-(grep "^AM_PROG_LIBTOOL" $srcdir/configure.in >/dev/null) && {
-  (libtool --version) < /dev/null > /dev/null 2>&1 || {
-    echo
-    echo "**Error**: You must have \`libtool' installed."
-    echo "You can get it from: ftp://ftp.gnu.org/pub/gnu/"
-    DIE=1
-  }
-}
-
-(grep "^AM_GLIB_GNU_GETTEXT" $srcdir/configure.in >/dev/null) && {
-  (grep "sed.*POTFILES" $srcdir/configure.in) > /dev/null || \
-  (glib-gettextize --version) < /dev/null > /dev/null 2>&1 || {
-    echo
-    echo "**Error**: You must have \`glib' installed."
-    echo "You can get it from: ftp://ftp.gtk.org/pub/gtk"
-    DIE=1
-  }
-}
-
-(automake --version) < /dev/null > /dev/null 2>&1 || {
-  echo
-  echo "**Error**: You must have \`automake' installed."
-  echo "You can get it from: ftp://ftp.gnu.org/pub/gnu/"
-  DIE=1
-  NO_AUTOMAKE=yes
-}
-
-
-# if no automake, don't bother testing for aclocal
-test -n "$NO_AUTOMAKE" || (aclocal --version) < /dev/null > /dev/null 2>&1 || {
-  echo
-  echo "**Error**: Missing \`aclocal'.  The version of \`automake'"
-  echo "installed doesn't appear recent enough."
-  echo "You can get automake from ftp://ftp.gnu.org/pub/gnu/"
-  DIE=1
-}
-
-if test "$DIE" -eq 1; then
-  exit 1
-fi
-
-if test -z "$*"; then
-  echo "**Warning**: I am going to run \`configure' with no arguments."
-  echo "If you wish to pass any to it, please specify them on the"
-  echo \`$0\'" command line."
-  echo
-fi
-
-case $CC in
-xlc )
-  am_opt=--include-deps;;
-esac
-
-for coin in `find $srcdir -path $srcdir/CVS -prune -o -name configure.in -print`
-do 
-  dr=`dirname $coin`
-  if test -f $dr/NO-AUTO-GEN; then
-    echo skipping $dr -- flagged as no auto-gen
-  else
-    echo processing $dr
-    ( cd $dr
-
-      aclocalinclude="$ACLOCAL_FLAGS"
-
-      if grep "^AM_GLIB_GNU_GETTEXT" configure.in >/dev/null; then
-	echo "Creating $dr/aclocal.m4 ..."
-	test -r $dr/aclocal.m4 || touch $dr/aclocal.m4
-	echo "Running glib-gettextize...  Ignore non-fatal messages."
-	echo "no" | glib-gettextize --force --copy
-	echo "Making $dr/aclocal.m4 writable ..."
-	test -r $dr/aclocal.m4 && chmod u+w $dr/aclocal.m4
-      fi
-      if grep "^AC_PROG_INTLTOOL" configure.in >/dev/null; then
-        echo "Running intltoolize..."
-	intltoolize --copy --force --automake
-      fi
-      if grep "^AM_PROG_XML_I18N_TOOLS" configure.in >/dev/null; then
-        echo "Running xml-i18n-toolize..."
-	xml-i18n-toolize --copy --force --automake
-      fi
-      if grep "^AM_PROG_LIBTOOL" configure.in >/dev/null; then
-	if test -z "$NO_LIBTOOLIZE" ; then 
-	  echo "Running libtoolize..."
-	  libtoolize --force --copy
-	fi
-      fi
-      if grep "^AC_PROG_LIBTOOL" configure.in >/dev/null; then
-	if test -z "$NO_LIBTOOLIZE" ; then 
-	  echo "Running libtoolize..."
-	  libtoolize --force --copy
-	fi
-      fi
-      echo "Running aclocal $aclocalinclude ..."
-      aclocal $aclocalinclude
-      if grep "^AM_CONFIG_HEADER" configure.in >/dev/null; then
-	echo "Running autoheader..."
-	autoheader
-      fi
-      echo "Running automake --gnu $am_opt ..."
-      automake --add-missing --gnu $am_opt
-      echo "Running autoconf ..."
-      autoconf
-    )
-  fi
-done
-
-conf_flags="--enable-maintainer-mode"
-
-if test x$NOCONFIGURE = x; then
-  echo Running $srcdir/configure $conf_flags "$@" ...
-  $srcdir/configure $conf_flags "$@" \
-  && echo Now type \`make\' to compile. || exit 1
-else
-  echo Skipping configure process.
-fi

Deleted: trunk/geanydebug/configure.in
===================================================================
--- trunk/geanydebug/configure.in	2008-12-23 10:24:56 UTC (rev 357)
+++ trunk/geanydebug/configure.in	2008-12-23 10:31:55 UTC (rev 358)
@@ -1,73 +0,0 @@
-dnl Process this file with autoconf to produce a configure script.
-
-AC_INIT([geanydebug], [0.1], [yurand2 at gmail.com])
-AM_INIT_AUTOMAKE([1.9 foreign])
-
-AM_CONFIG_HEADER(config.h)
-
-AC_PROG_CC
-
-AC_DISABLE_STATIC
-AM_PROG_LIBTOOL
-LIBTOOL="$LIBTOOL --silent"
-
-AC_PROG_INSTALL
-AC_PROG_INTLTOOL
-
-
-# checking for Geany
-PKG_CHECK_MODULES(GEANY, [geany >= 0.15])
-AC_SUBST(GTK_CFLAGS)
-AC_SUBST(GTK_LIBS)
-
-GEANY_VERSION=`$PKG_CONFIG --modversion geany`
-GTK_VERSION=`$PKG_CONFIG --modversion gtk+-2.0`
-
-
-# i18n
-GETTEXT_PACKAGE=geanydebug
-AC_SUBST(GETTEXT_PACKAGE)
-AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE,"$GETTEXT_PACKAGE", [Gettext package.])
-
-ALL_LINGUAS="`sed -e '/^#/d' $srcdir/po/LINGUAS`" # take all languages found in file po/LINGUAS
-
-AM_GLIB_GNU_GETTEXT
-# workaround for intltool bug (http://bugzilla.gnome.org/show_bug.cgi?id=490845)
-if test "x$MSGFMT" = "xno"; then
-	AC_MSG_ERROR([msgfmt not found. Please install the gettext package.])
-fi
-
-# intltool hack to define install_sh on Debian/Ubuntu systems
-if test "x$install_sh" = "x"; then
-	install_sh="`pwd`/install-sh"
-	AC_SUBST(install_sh)
-fi
-
-# get the plugin installed at the correct location for Geany
-# TODO find a way to NOT override --libdir command line option if given
-libdir="`$PKG_CONFIG --variable=libdir geany`/geany"
-
-dnl unittests
-PKG_CHECK_MODULES([CHECK], [check >= 0.9.4], [
-AC_SUBST(CHECK_CFLAGS)
-AC_SUBST(CHECK_LIBS)
-AM_CONDITIONAL(UNITTESTS, true)
-], [
-AM_CONDITIONAL(UNITTESTS, false)
-])
-
-
-AC_OUTPUT([
-Makefile
-src/Makefile
-tests/Makefile
-po/Makefile.in
-])
-
-echo "----------------------------------------"
-echo "Install geanydebug in              : ${libdir}"
-echo "Using Geany version                : ${GEANY_VERSION}"
-echo "Using GTK version                  : ${GTK_VERSION}"
-echo ""
-echo "Configuration is done OK."
-echo ""

Deleted: trunk/geanydebug/indent-all.sh
===================================================================
--- trunk/geanydebug/indent-all.sh	2008-12-23 10:24:56 UTC (rev 357)
+++ trunk/geanydebug/indent-all.sh	2008-12-23 10:31:55 UTC (rev 358)
@@ -1,4 +0,0 @@
-#!/bin/sh
-indent -bli0 -i8 -cli8 -npcs -l100 src/*.c src/*.h
-rm src/*~
-

Deleted: trunk/geanydebug/makefile.win32
===================================================================
--- trunk/geanydebug/makefile.win32	2008-12-23 10:24:56 UTC (rev 357)
+++ trunk/geanydebug/makefile.win32	2008-12-23 10:31:55 UTC (rev 358)
@@ -1,63 +0,0 @@
-# Running make creates config.h then calls the sub makefiles.
-#
-# Other targets are:
-#	deps: delete the dependencies so they are regenerated on next make
-#	clean: clean all generated files
-#
-# localwin32.mk is an optional file to override make variables.
-# Use localwin32.mk instead of editing variables as it is included in sub
-# makefiles.
-# localwin32.mk to set PREFIX instead of the default C:\libs
-# For MSYS use localwin32.mk to set CP and RM.
-# By default this will work in a Windows command prompt.
-
-CC = gcc
-CP = copy
-RM = del
-PREFIX = C:/libs
-GEANY_SRC = ../geany
-TARGET = geanydebug.dll
-.SUFFIXES: .c .o
--include localwin32.mk
-
-VPATH = src
-
-OBJS =	insert_object_here.o
-INCLUDEDIRS=  -I. -I.. \
-              -I$(GEANY_SRC) \
-              -I$(GEANY_SRC)/src \
-              -I$(GEANY_SRC)/plugins \
-              -I$(GEANY_SRC)/tagmanager/include \
-              -I$(GEANY_SRC)/scintilla/include \
-              -I$(PREFIX)/include/gtk-2.0 \
-              -I$(PREFIX)/lib/gtk-2.0/include \
-              -I$(PREFIX)/include/atk-1.0 \
-              -I$(PREFIX)/include/pango-1.0 \
-              -I$(PREFIX)/include/cairo \
-              -I$(PREFIX)/include/glib-2.0 \
-              -I$(PREFIX)/lib/glib-2.0/include \
-              -I$(PREFIX)/include/gettext \
-              -I$(PREFIX)/include
-ALL_GTK_LIBS= \
-	-L"$(PREFIX)/lib" \
-	-lgtk-win32-2.0 -lgdk-win32-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lpangowin32-1.0 -lgdi32 \
-	-lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lglib-2.0 -lintl -liconv
-CCFLAGS=-Wall -O2 -mms-bitfields -DHAVE_CONFIG_H
-
-
-all: $(TARGET)
-
-deps.mak:
-	$(CC) -MM $(CCFLAGS) $(INCLUDEDIRS) src/*.c >deps.mak
-
-.c.o:
-	$(CC) $(CCFLAGS) $(INCLUDEDIRS) -c $<
-
-$(TARGET): $(OBJS) deps.mak
-	$(CC) -shared $(OBJS) $(ALL_GTK_LIBS) -o $(TARGET)
-
-clean:
-	-$(RM) deps.mak *.o *.dll
-
-# Generate header dependencies with "make deps.mak"
-include deps.mak

Deleted: trunk/geanydebug/po/.gitignore
===================================================================
--- trunk/geanydebug/po/.gitignore	2008-12-23 10:24:56 UTC (rev 357)
+++ trunk/geanydebug/po/.gitignore	2008-12-23 10:31:55 UTC (rev 358)
@@ -1,7 +0,0 @@
-Makefile
-Makefile.in
-Makefile.in.in
-POTFILES
-*.gmo
-*.pot
-stamp-it

Deleted: trunk/geanydebug/po/ChangeLog
===================================================================
--- trunk/geanydebug/po/ChangeLog	2008-12-23 10:24:56 UTC (rev 357)
+++ trunk/geanydebug/po/ChangeLog	2008-12-23 10:31:55 UTC (rev 358)
@@ -1,8 +0,0 @@
-2008-11-07  Enrico Tröger  <enrico(dot)troeger(at)uvena(dot)de>
-
- * de.po: Update German translation, not yet complete.
-
-
-2008-11-02  Frank Lanitz  <frank(at)frank(dot)uvena(dot)de>
-
- * de.po, LINGUAS: Added German translation

Deleted: trunk/geanydebug/po/LINGUAS
===================================================================
--- trunk/geanydebug/po/LINGUAS	2008-12-23 10:24:56 UTC (rev 357)
+++ trunk/geanydebug/po/LINGUAS	2008-12-23 10:31:55 UTC (rev 358)
@@ -1,2 +0,0 @@
-# set of available languages (in alphabetic order)
-de

Deleted: trunk/geanydebug/po/POTFILES.in
===================================================================
--- trunk/geanydebug/po/POTFILES.in	2008-12-23 10:24:56 UTC (rev 357)
+++ trunk/geanydebug/po/POTFILES.in	2008-12-23 10:31:55 UTC (rev 358)
@@ -1,19 +0,0 @@
-# List of source files containing translatable strings.
-
-src/gdb-io-break.c
-src/gdb-io-envir.c
-src/gdb-io-frame.c
-src/gdb-io-priv.h
-src/gdb-io-read.c
-src/gdb-io-run.c
-src/gdb-io-stack.c
-src/gdb-io.h
-src/gdb-lex.c
-src/gdb-lex.h
-src/gdb-ui-break.c
-src/gdb-ui-envir.c
-src/gdb-ui-frame.c
-src/gdb-ui-locn.c
-src/gdb-ui-main.c
-src/gdb-ui.h
-src/geanydebug.c

Deleted: trunk/geanydebug/po/POTFILES.skip
===================================================================
--- trunk/geanydebug/po/POTFILES.skip	2008-12-23 10:24:56 UTC (rev 357)
+++ trunk/geanydebug/po/POTFILES.skip	2008-12-23 10:31:55 UTC (rev 358)
@@ -1 +0,0 @@
-# List of source files containing translatable strings but should be ignored.

Deleted: trunk/geanydebug/po/de.po
===================================================================
--- trunk/geanydebug/po/de.po	2008-12-23 10:24:56 UTC (rev 357)
+++ trunk/geanydebug/po/de.po	2008-12-23 10:31:55 UTC (rev 358)
@@ -1,682 +0,0 @@
-# German translations for geanydebug package.
-# Copyright (C) 2008 THE geanydebug's COPYRIGHT HOLDER
-# This file is distributed under the same license as the geanydebug package.
-# Enrico Tröger <enrico.troeger at uvena.de> 2008
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: geanydebug 0.1\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2008-11-07 20:20+0100\n"
-"PO-Revision-Date: 2008-11-07 19:32+0100\n"
-"Last-Translator: Enrico Tröger <enrico at xfce.org>\n"
-"Language-Team: geany-i18n <geany-i18n at uvena.de>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-
-#: ../src/gdb-io-break.c:142
-#, c-format
-msgid "Added breakpoint #%s in %s() at %s:%s\n"
-msgstr "Haltepunkt #%s in %s() bei %s:%s hinzugefügt\n"
-
-#: ../src/gdb-io-break.c:147
-#, c-format
-msgid "Added breakpoint #%s at %s:%s\n"
-msgstr "Haltepunkt #%s bei %s:%s hinzugefügt\n"
-
-#: ../src/gdb-io-break.c:159
-#, c-format
-msgid "Added write watchpoint #%s for %s\n"
-msgstr ""
-
-#: ../src/gdb-io-break.c:168
-#, c-format
-msgid "Added read/write watchpoint #%s for %s\n"
-msgstr ""
-
-#: ../src/gdb-io-break.c:179
-#, c-format
-msgid "Added read watchpoint #%s for %s\n"
-msgstr ""
-
-#: ../src/gdb-io-break.c:226
-msgid "Watch/breakpoint deleted.\n"
-msgstr ""
-
-#: ../src/gdb-io-break.c:250
-msgid "Failed to toggle breakpoint -\n"
-msgstr ""
-
-#: ../src/gdb-io-break.c:268
-msgid "Watch/breakpoint toggled.\n"
-msgstr ""
-
-#: ../src/gdb-io-break.c:282
-msgid "Watch/breakpoint modified.\n"
-msgstr ""
-
-#: ../src/gdb-io-envir.c:123
-msgid "Failed to retrieve source search path setting from GDB."
-msgstr ""
-
-#: ../src/gdb-io-envir.c:144
-msgid "Failed to retrieve executable search path setting from GDB."
-msgstr ""
-
-#: ../src/gdb-io-envir.c:166
-msgid "Failed to retrieve working directory setting from GDB."
-msgstr ""
-
-#: ../src/gdb-io-frame.c:488
-msgid "Field list too long, not all items can be displayed.\n"
-msgstr ""
-
-#: ../src/gdb-io-read.c:232
-msgid "Error starting target process!\n"
-msgstr ""
-
-#: ../src/gdb-io-read.c:277
-msgid ""
-"This executable does not appear to contain the required debugging "
-"information."
-msgstr ""
-
-#: ../src/gdb-io-read.c:539
-#, c-format
-msgid "Program received signal %s (%s) at %s in function %s() at %s:%s"
-msgstr ""
-
-#: ../src/gdb-io-read.c:590
-#, c-format
-msgid "Watchpoint #%s out of scope"
-msgstr ""
-
-#: ../src/gdb-io-read.c:599
-#, c-format
-msgid "Program exited on signal %s (%s).\n"
-msgstr ""
-
-#: ../src/gdb-io-read.c:601
-msgid "Unknown signal"
-msgstr "Unbekanntes Signal"
-
-#: ../src/gdb-io-read.c:618
-#, c-format
-msgid "Program exited with code %d [%s]\n"
-msgstr ""
-
-#: ../src/gdb-io-read.c:619
-msgid "(unknown)"
-msgstr "(unbekannt)"
-
-#: ../src/gdb-io-read.c:625
-msgid "Program exited normally.\n"
-msgstr ""
-
-#: ../src/gdb-io-run.c:251
-msgid "tty temporary directory not specified!\n"
-msgstr ""
-
-#: ../src/gdb-io-run.c:256
-msgid "tty temporary directory not found!\n"
-msgstr ""
-
-#: ../src/gdb-io-run.c:275
-msgid "tty helper program not specified!\n"
-msgstr ""
-
-#: ../src/gdb-io-run.c:282
-msgid "tty helper program not found!\n"
-msgstr ""
-
-#: ../src/gdb-io-run.c:335
-#, c-format
-msgid "Attaching to terminal %s\n"
-msgstr ""
-
-#: ../src/gdb-io-run.c:350
-msgid "Timeout waiting for TTY name.\n"
-msgstr ""
-
-#: ../src/gdb-io-run.c:399
-#, c-format
-msgid "GDB exited (pid=%d)\n"
-msgstr ""
-
-#: ../src/gdb-io-run.c:460
-#, c-format
-msgid "Target process exited. (pid=%d; %s%s)\n"
-msgstr ""
-
-#: ../src/gdb-io-run.c:462
-msgid "code="
-msgstr ""
-
-#: ../src/gdb-io-run.c:462
-msgid "reason:"
-msgstr "Grund:"
-
-#: ../src/gdb-io-run.c:528 ../src/gdb-io-run.c:593
-#, c-format
-msgid "Directory %s not found!\n"
-msgstr "Verzeichnis »%s« nicht gefunden!\n"
-
-#: ../src/gdb-io-run.c:533
-msgid "Shutting down target program.\n"
-msgstr ""
-
-#: ../src/gdb-io-run.c:540
-msgid "Killing target program.\n"
-msgstr "Töte Zielprogramm.\n"
-
-#: ../src/gdb-io-run.c:548
-msgid "Timeout waiting for target process.\n"
-msgstr ""
-
-#: ../src/gdb-io-run.c:551
-msgid "Using a bigger hammer!\n"
-msgstr ""
-
-#: ../src/gdb-io-run.c:565
-msgid "Waiting for target process to exit.\n"
-msgstr ""
-
-#: ../src/gdb-io-run.c:601
-#, c-format
-msgid "Killing GDB (pid=%d)\n"
-msgstr ""
-
-#: ../src/gdb-io-run.c:615
-msgid "Timeout trying to kill GDB.\n"
-msgstr ""
-
-#: ../src/gdb-io-run.c:625
-msgid "Shutting down GDB\n"
-msgstr ""
-
-#: ../src/gdb-io-run.c:638
-msgid "Waiting for GDB to exit.\n"
-msgstr ""
-
-#: ../src/gdb-io-run.c:646
-msgid "Timeout waiting for GDB to exit.\n"
-msgstr ""
-
-#: ../src/gdb-io-run.c:709
-#, c-format
-msgid "Starting gdb (pid=%d)\n"
-msgstr ""
-
-#: ../src/gdb-io-run.c:769
-#, c-format
-msgid "Started target process. (pid=%d)\n"
-msgstr ""
-
-#: ../src/gdb-io-stack.c:178
-#, c-format
-msgid ""
-"Stack too deep to display!\n"
-"(Showing only %d frame)"
-msgid_plural ""
-"Stack too deep to display!\n"
-"(Showing only %d frames)"
-msgstr[0] ""
-msgstr[1] ""
-
-#: ../src/gdb-ui-break.c:103
-msgid "Delete selected watchpoint?"
-msgstr ""
-
-#: ../src/gdb-ui-break.c:103
-msgid "Delete selected breakpoint?"
-msgstr "Ausgewählten Haltepunkt löschen?"
-
-#: ../src/gdb-ui-break.c:131
-msgid "Edit watchpoint"
-msgstr ""
-
-#: ../src/gdb-ui-break.c:131
-msgid "Edit breakpoint"
-msgstr "Haltepunkt bearbeiten"
-
-#: ../src/gdb-ui-break.c:141
-msgid "Enabled"
-msgstr "Aktiviert"
-
-#: ../src/gdb-ui-break.c:147
-msgid " Break after "
-msgstr ""
-
-#: ../src/gdb-ui-break.c:154
-msgid " times. "
-msgstr " mal "
-
-#: ../src/gdb-ui-break.c:159
-msgid " Break when "
-msgstr ""
-
-#: ../src/gdb-ui-break.c:166
-msgid " is true. "
-msgstr ""
-
-#: ../src/gdb-ui-break.c:231
-msgid "Add watchpoint"
-msgstr ""
-
-#: ../src/gdb-ui-break.c:231
-msgid "Add breakpoint"
-msgstr "Haltepunkt hinzufügen"
-
-#: ../src/gdb-ui-break.c:332
-msgid "watchpoint"
-msgstr ""
-
-#: ../src/gdb-ui-break.c:332 ../src/gdb-ui-break.c:386
-msgid "breakpoint"
-msgstr ""
-
-#: ../src/gdb-ui-break.c:482
-msgid "Watchpoints"
-msgstr ""
-
-#: ../src/gdb-ui-break.c:482
-msgid "Breakpoints"
-msgstr "Haltepunkte"
-
-#: ../src/gdb-ui-envir.c:83
-msgid "Environment settings"
-msgstr ""
-
-#: ../src/gdb-ui-envir.c:105
-msgid ""
-"\n"
-" Command-line arguments passed to target program:"
-msgstr ""
-"\n"
-"Kommandozeilenargumente für das Zielprogramm:"
-
-#: ../src/gdb-ui-envir.c:106
-msgid ""
-"\n"
-" Search path for source files:"
-msgstr ""
-"\n"
-"Suchpfad für Quelldateien:"
-
-#: ../src/gdb-ui-envir.c:107
-msgid ""
-"\n"
-" Working directory for target program:"
-msgstr ""
-"\n"
-"Arbeitesverzeichnis für das Zielprogramm:"
-
-#: ../src/gdb-ui-envir.c:108
-msgid ""
-"\n"
-" Search path for executables:"
-msgstr ""
-"\n"
-"Suchpfad für ausführbare Dateien:"
-
-#: ../src/gdb-ui-envir.c:151
-msgid "Select Font"
-msgstr "Schriftart auswählen"
-
-#: ../src/gdb-ui-envir.c:173
-msgid "Preferences"
-msgstr "Einstellungen"
-
-#: ../src/gdb-ui-envir.c:189
-msgid "Keep debug window on top."
-msgstr "Debugfenster im Vordergrund halten"
-
-#: ../src/gdb-ui-envir.c:191
-msgid "Show tooltips."
-msgstr "Kurzhilfen anzeigen"
-
-#: ../src/gdb-ui-envir.c:192
-msgid "Show icons."
-msgstr "Symbole anzeigen"
-
-#: ../src/gdb-ui-envir.c:197
-msgid "Font for source code listings:"
-msgstr "Schriftart für die Quellcode-Anzeige"
-
-#: ../src/gdb-ui-envir.c:209
-msgid "Terminal program:"
-msgstr "Textkonsolen-Programm:"
-
-#: ../src/gdb-ui-frame.c:127
-msgid "_Examine"
-msgstr "_Prüfen"
-
-#: ../src/gdb-ui-frame.c:277
-msgid "Object info"
-msgstr "Objektinformationen"
-
-#: ../src/gdb-ui-frame.c:284
-msgid "Elements"
-msgstr "Elemente"
-
-#: ../src/gdb-ui-frame.c:284
-msgid "Fields"
-msgstr "Felder"
-
-#: ../src/gdb-ui-frame.c:292
-msgid "Return to previous dialog."
-msgstr "Zum vorherigen Dialog zurückkehren"
-
-#: ../src/gdb-ui-frame.c:297 ../src/gdb-ui-frame.c:371
-msgid "Display additional information about the selected item."
-msgstr "Zusätzliche Information zum ausgewählten Eintrag anzeigen"
-
-#: ../src/gdb-ui-frame.c:344
-msgid "Frame info"
-msgstr ""
-
-#: ../src/gdb-ui-frame.c:347
-#, c-format
-msgid ""
-"\n"
-"Frame #%s in %s() at %s:%s\n"
-msgstr ""
-
-#: ../src/gdb-ui-frame.c:357
-msgid "Function arguments"
-msgstr "Funktionsargumente"
-
-#: ../src/gdb-ui-frame.c:361
-msgid "Local variables"
-msgstr "Lokale Variablen"
-
-#: ../src/gdb-ui-frame.c:366
-msgid "Return to stack list dialog."
-msgstr ""
-
-#: ../src/gdb-ui-frame.c:577
-msgid "Stack trace"
-msgstr ""
-
-#: ../src/gdb-ui-frame.c:594
-msgid "Display additional information about the selected frame."
-msgstr ""
-
-#: ../src/gdb-ui-locn.c:53
-msgid "Clea_r"
-msgstr "_Leeren"
-
-#: ../src/gdb-ui-locn.c:68
-msgid "Filename: "
-msgstr "Dateiname: "
-
-#: ../src/gdb-ui-locn.c:81
-msgid "Variable to watch:"
-msgstr ""
-
-#: ../src/gdb-ui-locn.c:82
-msgid "Line number or function name: "
-msgstr "Zeilennummer oder Funktionsname: "
-
-#: ../src/gdb-ui-locn.c:123
-msgid "Access trigger:"
-msgstr ""
-
-#: ../src/gdb-ui-main.c:123
-msgid "(no program)"
-msgstr "(kein Programm)"
-
-#: ../src/gdb-ui-main.c:137
-msgid "loaded"
-msgstr "geladen"
-
-#: ../src/gdb-ui-main.c:142
-msgid "starting"
-msgstr "startet"
-
-#: ../src/gdb-ui-main.c:149
-msgid "running"
-msgstr "läuft"
-
-#: ../src/gdb-ui-main.c:168
-msgid "stopped"
-msgstr "unterbrochen"
-
-#: ../src/gdb-ui-main.c:182
-msgid "terminated"
-msgstr "abgebrochen"
-
-#: ../src/gdb-ui-main.c:219
-msgid "paused"
-msgstr "pausiert"
-
-#: ../src/gdb-ui-main.c:228
-msgid "Program received signal:"
-msgstr "Programm empfind signal:"
-
-#: ../src/gdb-ui-main.c:297
-msgid "Error:"
-msgstr "Fehler:"
-
-#: ../src/gdb-ui-main.c:449
-msgid "Select executable to debug"
-msgstr "Zielprogrammdatei auswählen"
-
-#: ../src/gdb-ui-main.c:472
-msgid "Debugging of object files is not supported."
-msgstr "Das Debuggen von Objektdateien wird nicht unterstützt."
-
-#: ../src/gdb-ui-main.c:522
-msgid "You don't have permission to execute this file."
-msgstr "Sie haben keine Berechtigung diese Datei auszuführen."
-
-#: ../src/gdb-ui-main.c:528
-msgid "Debugging of shared libraries is not supported."
-msgstr "Das Debuggen von Bibliotheken wird nicht unterstützt."
-
-#: ../src/gdb-ui-main.c:533
-msgid "Debugging of core files id not supported."
-msgstr "Das Debuggen von Core-Dateien wird nicht unterstützt."
-
-#: ../src/gdb-ui-main.c:538
-msgid "Target file must be ELF 32-bit x86 executable."
-msgstr "Die Zieldatei muss im ELF 32-bit x86 Format sein."
-
-#: ../src/gdb-ui-main.c:544
-msgid "You don't have permission to read this file."
-msgstr "Sie haben keine Berechtigung diese Datei lesen."
-
-#: ../src/gdb-ui-main.c:661
-msgid "Run to location"
-msgstr ""
-
-#: ../src/gdb-ui-main.c:771
-msgid "no program"
-msgstr "Kein Programm"
-
-#: ../src/gdb-ui-main.c:779
-msgid "_Load"
-msgstr "_Laden"
-
-#: ../src/gdb-ui-main.c:779
-msgid "Load target program into debugger."
-msgstr ""
-
-#: ../src/gdb-ui-main.c:781
-msgid "_Unload"
-msgstr "_Entladen"
-
-#: ../src/gdb-ui-main.c:782
-msgid "Kill the target program AND the debugger."
-msgstr "Das Programm UND den Debugger beenden (töten)."
-
-#: ../src/gdb-ui-main.c:784
-msgid "_Run"
-msgstr "_Ausführen"
-
-#: ../src/gdb-ui-main.c:785
-msgid "Execute target program in debugger."
-msgstr "Zieprogramm im Debugger ausführen."
-
-#: ../src/gdb-ui-main.c:787
-msgid "_Kill"
-msgstr "_Töten"
-
-#: ../src/gdb-ui-main.c:788
-msgid "Kill the target program with SIGKILL."
-msgstr ""
-
-#: ../src/gdb-ui-main.c:790
-msgid "_Pause"
-msgstr "_Anhalten"
-
-#: ../src/gdb-ui-main.c:791
-msgid "Pause the target program with SIGINT."
-msgstr ""
-
-#: ../src/gdb-ui-main.c:793
-msgid "_Continue"
-msgstr "_Fortfahren"
-
-#: ../src/gdb-ui-main.c:794
-msgid "Continue executing target program."
-msgstr ""
-
-#: ../src/gdb-ui-main.c:796
-msgid "_Step"
-msgstr ""
-
-#: ../src/gdb-ui-main.c:797
-msgid "Step to the next line or function call."
-msgstr ""
-
-#: ../src/gdb-ui-main.c:799
-msgid "Step _in"
-msgstr ""
-
-#: ../src/gdb-ui-main.c:800
-msgid "Execute the next machine instruction or function call."
-msgstr ""
-
-#: ../src/gdb-ui-main.c:801
-msgid "Step to the next line."
-msgstr ""
-
-#: ../src/gdb-ui-main.c:803
-msgid "Ne_xt in"
-msgstr ""
-
-#: ../src/gdb-ui-main.c:804
-msgid "Execute the next machine instruction."
-msgstr ""
-
-#: ../src/gdb-ui-main.c:806
-msgid "Run _to"
-msgstr ""
-
-#: ../src/gdb-ui-main.c:807
-msgid "Run to specified source line."
-msgstr ""
-
-#: ../src/gdb-ui-main.c:809
-msgid "Stac_k"
-msgstr ""
-
-#: ../src/gdb-ui-main.c:810
-msgid "Display a backtrace of the current call stack."
-msgstr ""
-
-#: ../src/gdb-ui-main.c:811
-msgid "Add or remove breakpoints."
-msgstr "Haltepunkte hinzufügen oder entfernen."
-
-#: ../src/gdb-ui-main.c:812
-msgid "Add or remove watchpoints."
-msgstr ""
-
-#: ../src/gdb-ui-main.c:814
-msgid "_Finish"
-msgstr "_Beenden"
-
-#: ../src/gdb-ui-main.c:815
-msgid "Complete the currently executing function."
-msgstr ""
-
-#: ../src/gdb-ui-main.c:817
-msgid "_Return"
-msgstr ""
-
-#: ../src/gdb-ui-main.c:818
-msgid "Return immediately from the current function."
-msgstr ""
-
-#: ../src/gdb-ui-main.c:820
-msgid "En_viron"
-msgstr ""
-
-#: ../src/gdb-ui-main.c:821
-msgid "Set target environment and command line options."
-msgstr ""
-
-#: ../src/gdb-ui-main.c:823
-msgid "_Options"
-msgstr "_Optionen"
-
-#: ../src/gdb-ui-main.c:824
-msgid "Set user interface options."
-msgstr ""
-
-#: ../src/gdb-ui-main.c:873
-msgid "Run in terminal"
-msgstr "In Terminal ausführen"
-
-#: ../src/gdb-ui-main.c:875
-msgid "Execute target program inside a terminal window."
-msgstr "Zielprogramm in einem Konsolenfenster ausführen"
-
-#: ../src/gdb-ui-main.c:878
-msgid "Ignore SIGPIPE"
-msgstr "SIGPIPE ignorieren"
-
-#: ../src/gdb-ui-main.c:880
-msgid ""
-"Don't pause execution when target gets a SIGPIPE signal.\n"
-"(Useful for certain networking applications.)"
-msgstr ""
-"Die Ausführung des Programms nicht unterbrechen wenn das Signal SIGPIPE "
-"empfangen wird.\n"
-"(Nützlich bei einigen Netzwerkanwendungen)"
-
-#: ../src/gdb-ui-main.c:887
-msgid "Console:"
-msgstr "Konsole:"
-
-#: ../src/gdb-ui-main.c:888
-msgid "Send a GDB command directly to the debugger."
-msgstr "Sendet einen GDB-Befehl direkt an den Debugger."
-
-#: ../src/gdb-ui-main.c:944
-msgid "_Quit"
-msgstr "_Beenden"
-
-#: ../src/gdb-ui-main.c:944
-msgid "Exit everything"
-msgstr "Alles beenden"
-
-#: ../src/geanydebug.c:55
-msgid "Debugger"
-msgstr "Debugger"
-
-#: ../src/geanydebug.c:55
-msgid "Integrated debugging with GDB."
-msgstr "Debugging integriert in Geany"
-
-#: ../src/geanydebug.c:55
-msgid "Jeff Pohlmeyer"
-msgstr "Jeff Pohlmeyer"
-
-#: ../src/geanydebug.c:283
-msgid "Plugin configuration directory could not be created."
-msgstr "Plugin-Konfigurationsverzeichnis konnte nicht erstellt werden."

Deleted: trunk/geanydebug/src/Makefile.am
===================================================================
--- trunk/geanydebug/src/Makefile.am	2008-12-23 10:24:56 UTC (rev 357)
+++ trunk/geanydebug/src/Makefile.am	2008-12-23 10:31:55 UTC (rev 358)
@@ -1,28 +0,0 @@
-
-lib_LTLIBRARIES = geanydebug.la
-geanydebug_la_SOURCES = gdb-io-break.c \
-    gdb-io-envir.c \
-    gdb-io-frame.c \
-    gdb-io-priv.h \
-    gdb-io-read.c \
-    gdb-io-run.c \
-    gdb-io-stack.c \
-    gdb-io.h \
-    gdb-lex.c \
-    gdb-lex.h \
-    gdb-ui-break.c \
-    gdb-ui-envir.c \
-    gdb-ui-frame.c \
-    gdb-ui-locn.c \
-    gdb-ui-main.c \
-    gdb-ui.h \
-    geanydebug.c
-
-geanydebug_la_LDFLAGS = -module -avoid-version
-geanydebug_la_LIBADD  = @GEANY_LIBS@  $(INTLLIBS)
-
-bin_PROGRAMS = geanydebug_ttyhelper
-geanydebug_ttyhelper_SOURCES = ttyhelper.c
-
-AM_CFLAGS = @GEANY_CFLAGS@ -DLOCALEDIR=\""$(localedir)"\" -DPREFIX=\""$(prefix)"\"
-

Deleted: trunk/geanydebug/src/gdb-io-break.c
===================================================================
--- trunk/geanydebug/src/gdb-io-break.c	2008-12-23 10:24:56 UTC (rev 357)
+++ trunk/geanydebug/src/gdb-io-break.c	2008-12-23 10:31:55 UTC (rev 358)
@@ -1,313 +0,0 @@
-
-/*
- * gdb-io-break.c - Breakpoint management functions for GDB wrapper library.
- *
- * See the file "gdb-io.h" for license information.
- *
- */
-
-
-#include <string.h>
-#include <glib.h>
-#include "gdb-io-priv.h"
-#include "support.h"
-
-
-static GdbListFunc gdbio_break_list_func = NULL;
-
-static GSList *breakpoint_list = NULL;
-
-
-static void
-free_breakpoint_list()
-{
-	GSList *p;
-	for (p = breakpoint_list; p; p = p->next)
-	{
-		GdbBreakPointInfo *bpi = p->data;
-		if (bpi)
-		{
-			g_free(bpi->addr);
-			g_free(bpi->disp);
-			g_free(bpi->enabled);
-			g_free(bpi->file);
-			g_free(bpi->fullname);
-			g_free(bpi->func);
-			g_free(bpi->line);
-			g_free(bpi->number);
-			g_free(bpi->times);
-			g_free(bpi->type);
-			g_free(bpi->what);
-			g_free(bpi->cond);
-			g_free(bpi->ignore);
-			g_free(bpi);
-		}
-	}
-	g_slist_free(breakpoint_list);
-	breakpoint_list = NULL;
-}
-
-
-
-#define populate(rec, hash, key) \
-  rec->key=gdblx_lookup_string(hash, #key""); \
-  if (rec->key) {rec->key=g_strdup(rec->key);}
-
-
-
-static void
-breakpoint_cb(gpointer data, gpointer user_data)
-{
-	GdbLxValue *v = (GdbLxValue *) data;
-	if (v && (v->type == vt_HASH) && (v->hash))
-	{
-		GHashTable *bkpt = v->hash;
-		if (bkpt)
-		{
-			GdbBreakPointInfo *bpi = g_new0(GdbBreakPointInfo, 1);
-			populate(bpi, bkpt, addr);
-			populate(bpi, bkpt, disp);
-			populate(bpi, bkpt, enabled);
-			populate(bpi, bkpt, file);
-			populate(bpi, bkpt, fullname);
-			populate(bpi, bkpt, func);
-			populate(bpi, bkpt, line);
-			populate(bpi, bkpt, number);
-			populate(bpi, bkpt, times);
-			populate(bpi, bkpt, type);
-			populate(bpi, bkpt, what);
-			populate(bpi, bkpt, cond);
-			populate(bpi, bkpt, ignore);
-			breakpoint_list = g_slist_append(breakpoint_list, bpi);
-		}
-	}
-}
-
-
-static void
-parse_break_list(gint seq, gchar ** list, gchar * resp)
-{
-	GHashTable *h = gdbio_get_results(resp, list);
-	HTAB(h, BreakpointTable);
-	gdbio_pop_seq(seq);
-	if (BreakpointTable && gdbio_break_list_func)
-	{
-		HLST(BreakpointTable, body);
-		if (body)
-		{
-			free_breakpoint_list();
-			g_slist_foreach(body, breakpoint_cb, NULL);
-			gdbio_break_list_func(breakpoint_list);
-			free_breakpoint_list();
-		}
-		else
-		{
-			gdbio_break_list_func(NULL);
-		}
-	}
-	if (h)
-		g_hash_table_destroy(h);
-}
-
-
-
-void
-gdbio_show_breaks(GdbListFunc func)
-{
-	gdbio_break_list_func = func;
-	if (func)
-	{
-		gdbio_send_seq_cmd(parse_break_list, "-break-list\n");
-	}
-}
-
-
-
-static void
-added_break(gint seq, gchar ** list, gchar * resp)
-{
-	GHashTable *h = gdbio_get_results(resp, list);
-	gdbio_pop_seq(seq);
-	if (h)
-	{
-		HTAB(h, bkpt);
-		if (bkpt)
-		{
-			HSTR(bkpt, file);
-			HSTR(bkpt, line);
-			HSTR(bkpt, func);
-			HSTR(bkpt, number);
-			if (func)
-			{
-				gdbio_info_func(_("Added breakpoint #%s in %s() at %s:%s\n"), number,
-						func, file, line);
-			}
-			else
-			{
-				gdbio_info_func(_("Added breakpoint #%s at %s:%s\n"), number, file,
-						line);
-			}
-
-		}
-		else
-		{
-			HTAB(h, wpt);
-			if (wpt)
-			{
-				HSTR(wpt, exp);
-				HSTR(wpt, number);
-				gdbio_info_func(_("Added write watchpoint #%s for %s\n"), number, exp);
-			}
-			else
-			{
-				HTAB(h, hw_awpt);
-				if (hw_awpt)
-				{
-					HSTR(hw_awpt, exp);
-					HSTR(hw_awpt, number);
-					gdbio_info_func(_("Added read/write watchpoint #%s for %s\n"),
-							number, exp);
-				}
-				else
-				{
-					HTAB(h, hw_rwpt);
-					if (hw_rwpt)
-					{
-						HSTR(hw_rwpt, exp);
-						HSTR(hw_rwpt, number);
-						gdbio_info_func
-							(_("Added read watchpoint #%s for %s\n"),
-							 number, exp);
-					}
-				}
-			}
-		}
-		g_hash_table_destroy(h);
-	}
-	if (gdbio_break_list_func)
-	{
-		gdbio_show_breaks(gdbio_break_list_func);
-	}
-}
-
-/* opt is "-r" (read) or "-a" (r/w) or NULL or empty (write) */
-void
-gdbio_add_watch(GdbListFunc func, const gchar * option, const gchar * varname)
-{
-	gdbio_break_list_func = func;
-	gdbio_send_seq_cmd(added_break, "-break-watch %s %s\n", option ? option : "", varname);
-}
-
-
-
-void
-gdbio_add_break(GdbListFunc func, const gchar * filename, const gchar * locn)
-{
-	gdbio_break_list_func = func;
-	if (filename && *filename)
-	{
-		gdbio_send_seq_cmd(added_break, "-break-insert %s:%s\n", filename, locn);
-	}
-	else
-	{
-		gdbio_send_seq_cmd(added_break, "-break-insert %s\n", locn);
-	}
-}
-
-
-static void
-deleted_break(gint seq, gchar ** list, gchar * resp)
-{
-	GHashTable *h = gdbio_get_results(resp, list);
-	gdbio_pop_seq(seq);
-	if (h)
-	{
-		g_hash_table_destroy(h);
-		gdbio_info_func(_("Watch/breakpoint deleted.\n"));
-	}
-	if (gdbio_break_list_func)
-	{
-		gdbio_show_breaks(gdbio_break_list_func);
-	}
-}
-
-
-
-static void
-toggled_break(gint seq, gchar ** list, gchar * resp)
-{
-	gdbio_pop_seq(seq);
-	if (strncmp(resp, "^error", 6) == 0)
-	{
-		if (resp[6] == ',')
-		{
-			GHashTable *h = gdblx_parse_results(resp + 7);
-			HSTR(h, msg);
-
-			if (msg)
-			{
-				gchar *tmp =
-					g_strconcat(_("Failed to toggle breakpoint -\n"), msg, NULL);
-				gdbio_error_func(tmp);
-				if (tmp)
-				{
-					g_free(tmp);
-				}
-			}
-			else
-			{
-			}
-			if (h)
-			{
-				g_hash_table_destroy(h);
-			}
-		}
-	}
-	else
-	{
-		gdbio_info_func(_("Watch/breakpoint toggled.\n"));
-	}
-}
-
-
-
-static void
-edited_break(gint seq, gchar ** list, gchar * resp)
-{
-	GHashTable *h = gdbio_get_results(resp, list);
-	gdbio_pop_seq(seq);
-	if (h)
-	{
-		g_hash_table_destroy(h);
-		gdbio_info_func(_("Watch/breakpoint modified.\n"));
-	}
-}
-
-
-void
-gdbio_delete_break(GdbListFunc func, const gchar * number)
-{
-	gdbio_break_list_func = func;
-	gdbio_send_seq_cmd(deleted_break, "-break-delete %s\n", number);
-}
-
-
-void
-gdbio_enable_break(const gchar * number, gboolean enabled)
-{
-	gdbio_send_seq_cmd(toggled_break, "-break-%s %s\n", enabled ? "enable" : "disable", number);
-}
-
-
-void
-gdbio_ignore_break(const gchar * number, const gchar * times)
-{
-	gdbio_send_seq_cmd(edited_break, "-break-after %s %s\n", number, times);
-}
-
-
-void
-gdbio_break_cond(const gchar * number, const gchar * expr)
-{
-	gdbio_send_seq_cmd(edited_break, "-break-condition %s %s\n", number, expr);
-}

Deleted: trunk/geanydebug/src/gdb-io-envir.c
===================================================================
--- trunk/geanydebug/src/gdb-io-envir.c	2008-12-23 10:24:56 UTC (rev 357)
+++ trunk/geanydebug/src/gdb-io-envir.c	2008-12-23 10:31:55 UTC (rev 358)
@@ -1,182 +0,0 @@
-
-/*
- * gdb-io-envir.c - Environment settings for GDB wrapper library.
- *
- * See the file "gdb-io.h" for license information.
- *
- */
-
-
-#include <string.h>
-#include <glib.h>
-#include "gdb-io-priv.h"
-#include "support.h"
-
-
-static GdbEnvironFunc gdbio_environ_func = NULL;
-
-static GdbEnvironInfo env_info = { NULL, NULL, NULL, NULL };
-
-
-static void
-free_env_info()
-{
-	g_free(env_info.cwd);
-	g_free(env_info.path);
-	g_free(env_info.args);
-	g_free(env_info.dirs);
-	memset(&env_info, '\0', sizeof(env_info));
-}
-
-
-
-static gchar *
-unquote(gchar * quoted)
-{
-	gint len = quoted ? strlen(quoted) : 0;
-	if (len && (quoted[0] == '"') && (quoted[len - 1] == '"'))
-	{
-		gchar *tmp = g_strndup(quoted + 1, len - 2);
-		gchar *rv = g_strcompress(tmp);
-		g_free(tmp);
-		return rv;
-	}
-	else
-		return NULL;
-}
-
-
-
-static void
-get_env_args(gint seq, gchar ** list, gchar * resp)
-{
-	gchar *args;
-	gint i;
-	gdbio_pop_seq(seq);
-	for (i = 0; list[i]; i++)
-	{
-		if (strncmp(list[i], "~\"", 2) == 0)
-		{
-			args = unquote(list[i] + 1);
-			if (args && *args)
-			{
-				gchar *quote = strchr(g_strstrip(args), '"');
-				if (quote)
-				{
-					memmove(args, quote + 1, strlen(quote));
-					quote = strrchr(args, '"');
-					if (quote && g_str_equal(quote, "\"."))
-					{
-						*quote = '\0';
-						break;
-					}
-				}
-			}
-			g_free(args);
-			args = NULL;
-		}
-	}
-	env_info.args = args;
-	if (gdbio_environ_func)
-	{
-		gdbio_environ_func(&env_info);
-	}
-}
-
-
-
-static void
-get_env_dirs(gint seq, gchar ** list, gchar * resp)
-{
-	GHashTable *h = gdbio_get_results(resp, list);
-	HSTR(h, source_path);
-	gdbio_pop_seq(seq);
-	if (source_path)
-	{
-		gchar *p;
-		env_info.dirs = g_strdup(source_path);
-		p = strstr(env_info.dirs, "$cdir:$cwd");
-		if (p)
-		{
-			memmove(p, p + 10, strlen(p + 10) + 1);
-		}
-		p = strchr(env_info.dirs, '\0');
-		if (p)
-		{
-			while (p > env_info.dirs)
-			{
-				p--;
-				if (*p == ':')
-				{
-					*p = '\0';
-				}
-				else
-				{
-					break;
-				}
-			}
-		}
-	}
-	else
-	{
-		gdbio_info_func(_("Failed to retrieve source search path setting from GDB."));
-//    gdblx_dump_table(h);
-	}
-	if (h)
-		g_hash_table_destroy(h);
-	gdbio_send_seq_cmd(get_env_args, "show args\n");
-}
-
-
-static void
-get_env_path(gint seq, gchar ** list, gchar * resp)
-{
-	GHashTable *h = gdbio_get_results(resp, list);
-	HSTR(h, path);
-	gdbio_pop_seq(seq);
-	if (path)
-	{
-		env_info.path = g_strdup(path);
-	}
-	else
-	{
-		gdbio_info_func(_("Failed to retrieve executable search path setting from GDB."));
-//    gdblx_dump_table(h);
-	}
-	if (h)
-		g_hash_table_destroy(h);
-	gdbio_send_seq_cmd(get_env_dirs, "-environment-directory\n");
-}
-
-
-static void
-get_env_cwd(gint seq, gchar ** list, gchar * resp)
-{
-	GHashTable *h = gdbio_get_results(resp, list);
-	HSTR(h, cwd);
-	gdbio_pop_seq(seq);
-	free_env_info();
-	if (cwd)
-	{
-		env_info.cwd = g_strdup(cwd);
-	}
-	else
-	{
-		gdbio_info_func(_("Failed to retrieve working directory setting from GDB."));
-//    gdblx_dump_table(h);
-	}
-	if (h)
-		g_hash_table_destroy(h);
-	gdbio_send_seq_cmd(get_env_path, "-environment-path\n");
-}
-
-
-void
-gdbio_get_env(GdbEnvironFunc func)
-{
-	gdbio_environ_func = func;
-	if (func)
-	{
-		gdbio_send_seq_cmd(get_env_cwd, "-environment-pwd\n");
-	}
-}

Deleted: trunk/geanydebug/src/gdb-io-frame.c
===================================================================
--- trunk/geanydebug/src/gdb-io-frame.c	2008-12-23 10:24:56 UTC (rev 357)
+++ trunk/geanydebug/src/gdb-io-frame.c	2008-12-23 10:31:55 UTC (rev 358)
@@ -1,544 +0,0 @@
-
-/*
- * gdb-io-frame.c - Stack frame information functions for GDB wrapper library.
- *
- * See the file "gdb-io.h" for license information.
- *
- */
-
-
-#include <string.h>
-#include <glib.h>
-
-#include "gdb-io-priv.h"
-#include "support.h"
-
-
-static GdbFrameFunc gdbio_locals_func = NULL;
-
-static GSList *locals_list = NULL;
-static GSList **which_list = NULL;
-
-static gint locals_index = 0;
-static gint args_index = 0;
-static gint *which_index = NULL;
-
-static void var_created(gint seq, gchar ** list, gchar * resp);
-static void got_varlist(gint seq, gchar ** list, gchar * resp);
-
-typedef enum _FrameProcState
-{
-	fpBegin,
-	fpGotLocals,
-	fpGotArgs
-} FrameProcState;
-
-
-static FrameProcState state = fpBegin;
-static GdbFrameInfo current_frame;
-
-
-
-static void
-gdbio_free_var(GdbVar * v)
-{
-	if (v)
-	{
-		g_free(v->type);
-		g_free(v->name);
-		g_free(v->value);
-		g_free(v->numchild);
-		g_free(v);
-	}
-}
-
-
-void
-gdbio_free_var_list(GSList * args)
-{
-	GSList *p;
-	for (p = args; p; p = p->next)
-	{
-		gdbio_free_var((GdbVar *) p->data);
-	}
-	g_slist_free(args);
-}
-
-
-
-static void
-free_lists()
-{
-	gdbio_free_var_list(locals_list);
-	locals_list = NULL;
-	locals_index = 0;
-	args_index = 0;
-	which_list = &locals_list;
-	which_index = &locals_index;
-	state = fpBegin;
-	g_free(current_frame.func);
-	g_free(current_frame.filename);
-	gdbio_free_var_list(current_frame.args);
-	memset(&current_frame, 0, sizeof(current_frame));
-}
-
-static void
-get_arglist()
-{
-	which_list = &current_frame.args;
-	which_index = &args_index;
-	gdbio_send_seq_cmd(got_varlist, "-stack-list-arguments 1 %s %s\n",
-			   current_frame.level, current_frame.level);
-}
-
-
-static void
-create_var(gchar * varname)
-{
-	gdbio_send_seq_cmd(var_created, "-var-create x%s * %s\n", varname, varname);
-}
-
-
-static void
-var_deleted(gint seq, gchar ** list, gchar * resp)
-{
-	GdbVar *lv;
-	gdbio_pop_seq(seq);
-	(*which_index)++;
-	lv = g_slist_nth_data(*which_list, *which_index);
-	if (lv)
-	{
-		create_var(lv->name);
-	}
-	else
-	{
-		if (state == fpBegin)
-		{
-			state = fpGotLocals;
-			get_arglist();
-		}
-		else
-		{
-			if (gdbio_locals_func)
-			{
-				gdbio_locals_func(&current_frame, locals_list);
-			}
-			free_lists();
-		}
-	}
-}
-
-
-
-static void
-delete_var(gchar * varname)
-{
-	gdbio_send_seq_cmd(var_deleted, "-var-delete x%s\n", varname);
-}
-
-
-
-static gchar *
-fmt_val(gchar * value)
-{
-	gchar buf[256];
-	if (!value)
-		return g_strdup("0");
-	if (strlen(value) < sizeof(buf))
-	{
-		return g_strdup(value);
-	}
-	strncpy(buf, value, sizeof(buf) - 1);
-	buf[sizeof(buf) - 1] = '\0';
-	return g_strdup_printf("%s...%s", buf, strchr(buf, '"') ? "\"" : "");
-}
-
-
-
-static void
-var_created(gint seq, gchar ** list, gchar * resp)
-{
-	GHashTable *h = gdbio_get_results(resp, list);
-	HSTR(h, type);
-	HSTR(h, value);
-	HSTR(h, numchild);
-	gdbio_pop_seq(seq);
-	if (type)
-	{
-		GdbVar *lv = g_slist_nth_data(*which_list, *which_index);
-		if (lv)
-		{
-			lv->type = g_strdup(type ? type : "int");
-			lv->value = fmt_val(value);
-			lv->numchild = g_strdup(numchild ? numchild : "0");
-		}
-		delete_var(lv->name);
-	}
-	if (h)
-		g_hash_table_destroy(h);
-}
-
-
-
-void
-got_varlist(gint seq, gchar ** list, gchar * resp)
-{
-	GHashTable *h = gdbio_get_results(resp, list);
-	GSList *hlist = NULL;
-	HLST(h, locals);
-	HLST(h, stack_args);
-	gdbio_pop_seq(seq);
-	if (state == fpBegin)
-	{
-		hlist = locals;
-	}
-	else
-	{
-		GdbLxValue *v = stack_args->data;
-		if (v && (v->type == vt_HASH))
-		{
-			HLST(v->hash, args);
-			if (args)
-			{
-				hlist = args;
-			}
-		}
-	}
-	if (hlist)
-	{
-		GSList *p;
-		GdbVar *lv;
-		for (p = hlist; p; p = p->next)
-		{
-			GdbLxValue *v = p->data;
-			if (v && (v->type == vt_HASH) && v->hash)
-			{
-				HSTR(v->hash, name);
-				if (name)
-				{
-					lv = g_new0(GdbVar, 1);
-					lv->name = g_strdup(name);
-					*which_list = g_slist_append(*which_list, lv);
-				}
-			}
-		}
-		lv = g_slist_nth_data(*which_list, *which_index);
-		if (lv)
-		{
-			create_var(lv->name);
-		}
-	}
-	else
-	{
-		if (state == fpBegin)
-		{
-			state = fpGotLocals;
-			get_arglist();
-		}
-		else
-		{
-			if (gdbio_locals_func)
-			{
-				gdbio_locals_func(&current_frame, locals_list);
-			}
-		}
-	}
-	if (h)
-		g_hash_table_destroy(h);
-}
-
-
-
-
-
-static void
-got_current_level(gint seq, gchar ** list, gchar * resp)
-{
-	GHashTable *h = gdbio_get_results(resp, list);
-	HTAB(h, frame);
-	gdbio_pop_seq(seq);
-	if (frame)
-	{
-		HSTR(frame, level);
-		if (level)
-		{
-			HSTR(frame, addr);
-			HSTR(frame, func);
-			HSTR(frame, file);
-			HSTR(frame, fullname);
-			HSTR(frame, line);
-			strncpy(current_frame.level, level, sizeof(current_frame.level) - 1);
-			strncpy(current_frame.addr, addr ? addr : "",
-				sizeof(current_frame.addr) - 1);
-			strncpy(current_frame.line, line ? line : "",
-				sizeof(current_frame.line) - 1);
-			current_frame.filename = g_strdup(fullname ? fullname : file ? file : "");
-			current_frame.func = g_strdup(func ? func : "");
-		}
-	}
-	if (h)
-		g_hash_table_destroy(h);
-	gdbio_send_seq_cmd(got_varlist, "-stack-list-locals 1\n");
-}
-
-
-static void
-set_current_level(gint seq, gchar ** list, gchar * resp)
-{
-	gdbio_pop_seq(seq);
-	gdbio_send_seq_cmd(got_current_level, "-stack-info-frame\n");
-}
-
-void
-gdbio_show_locals(GdbFrameFunc func, gchar * level)
-{
-	free_lists();
-	gdbio_locals_func = func;
-	gdbio_send_seq_cmd(set_current_level, "-stack-select-frame %s\n", level);
-}
-
-
-
-
-static gpointer
-qpop(GQueue ** q)
-{
-	gpointer p = NULL;
-	if (*q)
-	{
-		p = g_queue_pop_head(*q);
-		if (g_queue_get_length(*q) == 0)
-		{
-			g_queue_free(*q);
-			*q = NULL;
-		}
-	}
-	return p;
-}
-
-static void
-qpush(GQueue ** q, gpointer p)
-{
-	if (p)
-	{
-		if (!*q)
-		{
-			*q = g_queue_new();
-		}
-		g_queue_push_head(*q, p);
-	}
-}
-
-static gpointer
-qtop(GQueue * q)
-{
-	return q ? g_queue_peek_head(q) : NULL;
-}
-
-
-
-/*
-static gpointer qnth(GQueue*q, gint n)
-{
-  return q?g_queue_peek_nth(q, n):NULL;
-}
-
-static gint qlen(GQueue*q)
-{
-  return q?g_queue_get_length(q):0;
-}
-*/
-
-
-static GQueue *obj_list_queue = NULL;
-static void
-push_list(GSList * p)
-{
-	qpush(&obj_list_queue, p);
-}
-static void
-pop_list()
-{
-	gdbio_free_var_list(qpop(&obj_list_queue));
-}
-static GSList *
-top_list()
-{
-	return qtop(obj_list_queue);
-}
-
-
-static GQueue *obj_var_queue = NULL;
-static void
-push_var(GdbVar * p)
-{
-	qpush(&obj_var_queue, p);
-}
-static void
-pop_var()
-{
-	gdbio_free_var(qpop(&obj_var_queue));
-}
-static GdbVar *
-top_var()
-{
-	return qtop(obj_var_queue);
-}
-
-
-
-
-//static GdbObjectFunc gdbio_object_list_func=NULL;
-
-static GQueue *obj_func_queue = NULL;
-static void
-push_func(GdbObjectFunc p)
-{
-	qpush(&obj_func_queue, p);
-}
-static void
-pop_func()
-{
-	qpop(&obj_func_queue);
-}
-static GdbObjectFunc
-top_func()
-{
-	return qtop(obj_func_queue);
-}
-
-
-
-
-static void
-done_top()
-{
-	pop_var();
-	pop_list();
-//  pop_name();
-	pop_func();
-}
-
-
-
-static void
-object_deleted(gint seq, gchar ** list, gchar * resp)
-{
-	GHashTable *h = gdbio_get_results(resp, list);
-	gdbio_pop_seq(seq);
-	if (h)
-	{
-		if (top_func() && top_var() && top_list())
-		{
-			top_func()(top_var(), top_list());
-		}
-		done_top();
-		g_hash_table_destroy(h);
-	}
-}
-
-
-
-static GdbVar *
-hash_val_to_var(GHashTable * h)
-{
-	HSTR(h, name);
-	if (name)
-	{
-		GdbVar *var = g_new0(GdbVar, 1);
-		HSTR(h, type);
-		HSTR(h, value);
-		HSTR(h, numchild);
-		var->name = g_strdup(name + 1);
-		var->type = g_strdup(type ? type : "int");
-		var->value = fmt_val(value);
-		var->numchild = g_strdup(numchild ? numchild : "0");
-		return var;
-	}
-	return NULL;
-}
-
-
-#define MAX_ITEMS 1024
-
-static GSList *
-hash_list_to_var_list(GSList * hlist)
-{
-	GSList *vlist = NULL;
-	GSList *p;
-	gint i;
-	for (p = hlist, i = 0; p; p = p->next, i++)
-	{
-		GdbLxValue *hv = p->data;
-		if (hv && (hv->type == vt_HASH) && hv->hash)
-		{
-			GdbVar *var = hash_val_to_var(hv->hash);
-			if (var)
-			{
-				vlist = g_slist_append(vlist, var);
-			}
-		}
-		if (i >= MAX_ITEMS)
-		{
-			GdbVar *var = g_new0(GdbVar, 1);
-			var->type = g_strdup(" ");
-			var->name = g_strdup_printf("* LIST TRUNCATED AT ITEM #%d *", i + 1);
-			var->value = g_strdup(" ");
-			var->numchild = g_strdup("0");
-			vlist = g_slist_append(vlist, var);
-			gdbio_error_func(_("Field list too long, not all items can be displayed.\n"));
-			break;
-		}
-	}
-	return vlist;
-}
-
-
-
-static void
-object_listed(gint seq, gchar ** list, gchar * resp)
-{
-	GHashTable *h = gdbio_get_results(resp, list);
-	gdbio_pop_seq(seq);
-	if (h)
-	{
-		HLST(h, children);
-		if (children)
-		{
-			push_list(hash_list_to_var_list(children));
-		}
-		gdbio_send_seq_cmd(object_deleted, "-var-delete x%s\n", top_var()->name);
-		g_hash_table_destroy(h);
-	}
-}
-
-
-
-static void
-object_created(gint seq, gchar ** list, gchar * resp)
-{
-	GHashTable *h = gdbio_get_results(resp, list);
-	gdbio_pop_seq(seq);
-	if (h)
-	{
-		HSTR(h, name);
-		if (name)
-		{
-			push_var(hash_val_to_var(h));
-			gdbio_send_seq_cmd(object_listed, "-var-list-children 1 %s\n", name);
-		}
-		g_hash_table_destroy(h);
-	}
-}
-
-
-void
-gdbio_show_object(GdbObjectFunc func, const gchar * varname)
-{
-
-	if (func)
-	{
-		push_func(func);
-		gdbio_send_seq_cmd(object_created, "-var-create x%s * %s\n", varname, varname);
-	}
-}

Deleted: trunk/geanydebug/src/gdb-io-priv.h
===================================================================
--- trunk/geanydebug/src/gdb-io-priv.h	2008-12-23 10:24:56 UTC (rev 357)
+++ trunk/geanydebug/src/gdb-io-priv.h	2008-12-23 10:31:55 UTC (rev 358)
@@ -1,95 +0,0 @@
-
-/*
- * gdb-io-priv.h - private header for GDB wrapper library.
- *
- * See the file "gdb-io.h" for license information.
- *
- */
-
-
-#include "gdb-lex.h"
-#include "gdb-io.h"
-
-
-void gdbio_free_var_list(GSList * args);
-
-
-typedef void (*ResponseHandler) (gint seq, gchar ** lines, gchar * resp);
-
-
-/*
-  Sends a command to GDB, and returns the results to the specified
-  ResponseHandler function.
-*/
-gint gdbio_send_seq_cmd(ResponseHandler func, const gchar * fmt, ...);
-
-
-/* Look up a handler function */
-ResponseHandler gdbio_seq_lookup(gint seq);
-
-
-/*
-  gdbio_pop_seq() removes a handler function from the sequencer.
-  This should (almost) always be called from the associated
-  ResponseHandler function, to avoid filling up the sequencer
-  with stale commands.
-*/
-void gdbio_pop_seq(gint seq);
-
-
-/*
-  Parses the output of GDB and returns it as a hash table,
-  unless the response is an error message, it calls the
-  error handler function and then returns NULL.
-*/
-GHashTable *gdbio_get_results(gchar * resp, gchar ** list);
-
-/*
-Preprocessor sugar for declaring C variables from hash key names, e.g.
-  HSTR(myhash,somevar)
-expands to:
-  gchar *somevar = gdblx_lookup_string ( myhash, "somevar" );
-*/
-#define HSTR(hash,token) gchar* token = gdblx_lookup_string(hash, #token"")
-#define HTAB(hash,token) GHashTable* token = gdblx_lookup_hash(hash, #token"")
-#define HLST(hash,token) GSList* token = gdblx_lookup_list(hash, #token"")
-
-
-#if 0
-#define do_loop()  \
-  while (g_main_context_pending(NULL)) \
-    g_main_context_iteration(NULL,FALSE);
-#else
-#define do_loop() g_main_context_iteration(NULL,FALSE);
-#endif
-
-
-
-
-void gdbio_info_func(gchar * fmt, ...);
-void gdbio_error_func(gchar * fmt, ...);
-void gdbio_do_status(GdbStatus s);
-
-
-void gdbio_target_exited(gchar * reason);
-void gdbio_set_target_pid(GPid pid);
-GPid gdbio_get_target_pid();
-void gdbio_set_running(gboolean running);
-
-/*
- Max/Min values for sequencer tokens.
-The current values of 100000-999999 allow for 899999 pending commands.
-I can't imagine why you would need more, but if you change this,keep in mind
-that the number of digits for any possible value *must* be exactly SEQ_LEN.
-*/
-
-#define SEQ_MIN 100000
-#define SEQ_MAX 999999
-#define SEQ_LEN 6
-
-
-
-void gdbio_consume_response(GString * recv_buf);
-
-void gdbio_set_starting(gboolean s);
-void gdbio_target_started(gint seq, gchar ** list, gchar * resp);

Deleted: trunk/geanydebug/src/gdb-io-read.c
===================================================================
--- trunk/geanydebug/src/gdb-io-read.c	2008-12-23 10:24:56 UTC (rev 357)
+++ trunk/geanydebug/src/gdb-io-read.c	2008-12-23 10:31:55 UTC (rev 358)
@@ -1,811 +0,0 @@
-/*
- *
- * gdb-io-read.c - Output reading functions for GDB wrapper library.
- *
- * See the file "gdb-io.h" for license information.
- */
-
-
-#include <stdlib.h>
-#include <sys/time.h>
-
-#include <string.h>
-#include <unistd.h>
-#include <stdarg.h>
-#include <glib.h>
-
-#include "gdb-io-priv.h"
-#include "support.h"
-
-
-
-static GSList *source_files = NULL;
-
-static gboolean starting = FALSE;
-
-
-
-static void
-free_string_list(GSList ** list)
-{
-	GSList *p;
-	for (p = *list; p; p = p->next)
-	{
-		if (p->data)
-		{
-			g_free(p->data);
-		}
-	}
-	*list = NULL;
-}
-
-
-static void
-free_source_list()
-{
-	free_string_list(&source_files);
-}
-
-
-
-static gint
-find_file_and_fullname(gconstpointer data, gconstpointer user_data)
-{
-	GdbLxValue *v = (GdbLxValue *) data;
-	gchar *ref = (gchar *) user_data;
-	HSTR(v->hash, fullname);
-	HSTR(v->hash, file);
-	return (fullname && file
-		&& (g_str_equal(ref, file) || g_str_equal(ref, fullname))) ? 0 : -1;
-}
-
-
-
-static void
-parse_file_list_cb(gpointer data, gpointer user_data)
-{
-	GdbLxValue *v = (GdbLxValue *) data;
-	if (v && (v->type == vt_HASH))
-	{
-		HSTR(v->hash, fullname);
-		HSTR(v->hash, file);
-		if (file && !fullname)
-		{
-			if (g_slist_find_custom((GSList *) user_data, file, find_file_and_fullname))
-			{
-				return;
-			}
-		}
-		if (fullname)
-		{
-			file = fullname;
-		}
-		if (file)
-		{
-			if (!g_slist_find_custom(source_files, file, (GCompareFunc) strcmp))
-			{
-				source_files = g_slist_append(source_files, g_strdup(file));
-			}
-		}
-	}
-}
-
-
-
-static void handle_response_line(gchar * str, gchar ** list);
-
-
-static void
-handle_response_lines(gchar ** list)
-{
-	if (list)
-	{
-		gint i;
-		for (i = 0; list[i]; i++)
-		{
-			handle_response_line(list[i], list);
-		}
-	}
-}
-
-
-
-static gboolean
-response_is_error(gchar * resp, gchar ** list)
-{
-	if (strncmp(resp, "^error", 6) == 0)
-	{
-		handle_response_line(resp, list);
-		return TRUE;
-	}
-	else
-	{
-		return FALSE;
-	}
-}
-
-#define CHK_RESP_ERR(resp, list) if (response_is_error(resp,list)) { return; }
-
-#define IsDigit g_ascii_isdigit
-
-static void
-parse_process_info(gint seq, gchar ** list, gchar * resp)
-{
-	CHK_RESP_ERR(resp, list);
-	gdbio_pop_seq(seq);
-	if (g_str_equal(resp, "^done"))
-	{
-		gchar *pidstr = strchr(list[0], ' ');
-		if (pidstr)
-		{
-			GPid pid = -1;
-			while (g_ascii_isspace(*pidstr))
-			{
-				pidstr++;
-			}
-			if (IsDigit(*pidstr))
-			{
-				gchar *end = pidstr;
-				while (IsDigit(*end))
-				{
-					end++;
-				}
-				*end = '\0';
-				pid = gdbio_atoi(pidstr);
-				if ((pid > 0) && (!gdbio_get_target_pid()))
-				{
-					gdbio_set_target_pid(pid);
-					gdbio_send_cmd("-exec-continue\n");
-				}
-			}
-		}
-	}
-}
-
-
-GHashTable *
-gdbio_get_results(gchar * resp, gchar ** list)
-{
-	if (strncmp(resp, "^error", 6) == 0)
-	{
-		if (resp[6] == ',')
-		{
-			GHashTable *h = gdblx_parse_results(resp + 7);
-			HSTR(h, msg);
-			gchar *tmp = NULL;
-			if (msg)
-			{
-				if (g_str_equal(msg, "unknown error"))
-				{
-					gint len = g_strv_length(list);
-					if ((len > 1) && list[len - 2] && *list[len - 2])
-					{
-						tmp = list[len - 2];
-						if (tmp[0] == '&')
-						{
-							tmp++;
-						}
-						tmp = g_strcompress(tmp);
-						g_strstrip(tmp);
-						msg = tmp;
-					}
-				}
-				gdbio_error_func(msg);
-				if (tmp)
-				{
-					g_free(tmp);
-				}
-			}
-			if (h)
-			{
-				g_hash_table_destroy(h);
-			}
-		}
-		return NULL;
-	}
-	if (strncmp(resp, "^done,", 6) == 0)
-		return gdblx_parse_results(resp + 6);
-	if (strncmp(resp, "*stopped,", 9) == 0)
-	{
-		gdbio_do_status(GdbStopped);
-		return gdblx_parse_results(resp + 9);
-	}
-	return NULL;
-}
-
-
-
-static void handle_response_line(gchar * str, gchar ** list);
-
-
-void
-gdbio_set_starting(gboolean s)
-{
-	starting = s;
-}
-
-void
-gdbio_target_started(gint seq, gchar ** list, gchar * resp)
-{
-	if ((strncmp(resp, "^error", 6) == 0) && (!gdbio_get_target_pid()))
-	{
-		gdbio_error_func(_("Error starting target process!\n"));
-		gdbio_do_status(GdbFinished);
-	}
-	else
-	{
-		handle_response_lines(list);
-	}
-}
-
-
-
-static void
-set_main_break(gint seq, gchar ** list, gchar * resp)
-{
-	GHashTable *h = gdbio_get_results(resp, list);
-	HTAB(h, bkpt);
-	gdbio_pop_seq(seq);
-	if (bkpt)
-	{
-		if (gdblx_check_keyval(bkpt, "number", "1"))
-		{
-			gdbio_do_status(GdbLoaded);
-		}
-	}
-	if (h)
-		g_hash_table_destroy(h);
-}
-
-
-void
-gdbio_parse_file_list(gint seq, gchar ** list, gchar * resp)
-{
-	GHashTable *h = gdbio_get_results(resp, list);
-	HLST(h, files);
-	gdbio_pop_seq(seq);
-	if (files)
-	{
-		free_source_list();
-		g_slist_foreach(files, parse_file_list_cb, files);
-		free_source_list();
-		gdbio_send_seq_cmd(set_main_break, "-break-insert _start\n");
-	}
-	else
-	{
-		gdbio_error_func
-			(_("This executable does not appear to contain the required debugging information."));
-	}
-	if (h)
-		g_hash_table_destroy(h);
-}
-
-
-
-
-
-static gboolean
-do_step_func(GHashTable * h, gchar * reason)
-{
-	HTAB(h, frame);
-	HSTR(frame, fullname);
-	HSTR(frame, line);
-	if (fullname && line)
-	{
-		if (gdbio_setup.step_func)
-		{
-			gchar *p;
-			for (p = reason; *p; p++)
-			{
-				if (*p == '-')
-				{
-					*p = ' ';
-				}
-			}
-			gdbio_setup.step_func(fullname, line, reason);
-		}
-		else
-		{
-			gdbio_info_func("%s:%s", fullname, line);
-		}
-		return TRUE;
-	}
-	else
-	{
-		HSTR(frame, func);
-		if (func)
-		{
-			return TRUE;
-		}
-	}
-	return FALSE;
-}
-
-
-
-#define reason_is(r) (r && reason && g_str_equal(reason, r))
-
-static void
-finish_function(gint seq, gchar ** list, gchar * resp)
-{
-	if (strncmp(resp, "^running", 8) == 0)
-	{
-		gdbio_set_running(TRUE);
-		gdbio_do_status(GdbRunning);
-	}
-	else
-	{
-		GHashTable *h = gdbio_get_results(resp, list);
-		HSTR(h, reason);
-		gdbio_pop_seq(seq);
-		if (reason_is("function-finished"))
-		{
-			gdbio_do_status(GdbStopped);
-			do_step_func(h, reason);
-		}
-		else
-		{
-			handle_response_lines(list);
-		}
-		if (h)
-			g_hash_table_destroy(h);
-	}
-}
-
-
-static void
-return_function(gint seq, gchar ** list, gchar * resp)
-{
-	GHashTable *h = gdbio_get_results(resp, list);
-	gdbio_pop_seq(seq);
-	if (h)
-	{
-		do_step_func(h, "returned");
-	}
-	else
-	{
-		handle_response_lines(list);
-	}
-}
-
-
-
-
-static void
-watchpoint_trigger(GHashTable * h, GHashTable * wp, gchar * reason)
-{
-	HTAB(h, value);
-	HSTR(wp, exp);
-	HSTR(wp, number);
-	HSTR(value, new);
-	HSTR(value, old);
-	gchar *readval = gdblx_lookup_string(value, "value");
-	if (new && old)
-	{
-		gdbio_info_func("%s #%s  expression:%s  old-value:%s  new-value:%s\n",
-				reason, number ? number : "?", exp ? exp : "?", old, new);
-	}
-	else
-	{
-		if (old)
-		{
-			gdbio_info_func("%s #%s  expression:%s  value:%s", reason,
-					number ? number : "?", exp ? exp : "?", old);
-		}
-		else
-		{
-			if (new)
-			{
-				gdbio_info_func("%s #%s  expression:%s  value:%s", reason,
-						number ? number : "?", exp ? exp : "?", new);
-			}
-			else
-			{
-				if (readval)
-				{
-					gdbio_info_func("%s #%s  expression:%s  value:%s", reason,
-							number ? number : "?", exp ? exp : "?",
-							readval);
-				}
-				else
-				{
-					gdbio_info_func("%s #%s  expression:%s", reason,
-							number ? number : "?", exp ? exp : "?");
-				}
-			}
-		}
-	}
-}
-
-static gboolean
-handle_results_hash(GHashTable * h, gchar * rectype, gchar ** list)
-{
-	if (g_str_equal(rectype, "^error"))
-	{
-		HSTR(h, msg);
-		gchar *tmp = NULL;
-		if (msg)
-		{
-			if (g_str_equal(msg, "unknown error"))
-			{
-				gint len = g_strv_length(list);
-				if ((len > 1) && list[len - 2] && *list[len - 2])
-				{
-					tmp = list[len - 2];
-					if (tmp[0] == '&')
-					{
-						tmp++;
-					}
-					tmp = g_strcompress(tmp);
-					g_strstrip(tmp);
-					msg = tmp;
-				}
-			}
-			gdbio_error_func(msg);
-			if (tmp)
-			{
-				g_free(tmp);
-			}
-			return TRUE;
-		}
-		else
-			return FALSE;
-	}
-	if (g_str_equal(rectype, "^done"))
-	{
-
-		HTAB(h, frame);
-		if (frame)
-		{
-			HSTR(frame, fullname);
-			HSTR(frame, line);
-			if (fullname && line)
-			{
-				return do_step_func(h, "done");
-			}
-		}
-		return FALSE;
-	}
-	if (g_str_equal(rectype, "*stopped"))
-	{
-		HSTR(h, reason);
-		if (!reason)
-		{
-			return FALSE;
-		}
-		if (reason_is("breakpoint-hit"))
-		{
-			if (gdblx_check_keyval(h, "bkptno", "1"))
-			{
-				gdbio_send_seq_cmd(parse_process_info,
-						   "-interpreter-exec console \"info proc\"\n");
-				return TRUE;
-			}
-			else
-			{
-				return (do_step_func(h, reason));
-			}
-			return FALSE;
-		}
-		gdbio_set_running(FALSE);
-		if (reason_is("signal-received"))
-		{
-			HSTR(h, signal_name);
-			HSTR(h, signal_meaning);
-			HSTR(h, thread_id);
-			HTAB(h, frame);
-			HSTR(frame, func);
-			HSTR(frame, file);
-			HSTR(frame, fullname);
-			HSTR(frame, line);
-			HSTR(frame, addr);
-			HSTR(frame, from);
-			HLST(frame, args);
-			if (!fullname)
-			{
-				fullname = "??";
-			}
-			if (!file)
-			{
-				file = "??";
-			}
-			if (!line)
-			{
-				line = "??";
-			}
-			if (!args)
-			{
-				args = NULL;
-			}
-			if (signal_name && signal_meaning && thread_id && frame &&
-			    addr && func && file && fullname)
-			{
-				if (gdbio_setup.signal_func)
-				{
-					GdbSignalInfo si;
-					si.signal_name = signal_name;
-					si.signal_meaning = signal_meaning;
-					si.addr = addr;
-					si.func = func;
-					si.file = file;
-					si.fullname = fullname;
-					si.line = line;
-					si.from = from;
-					gdbio_setup.signal_func(&si);
-				}
-				else
-				{
-					gdbio_info_func
-						(_("Program received signal %s (%s) at %s in function %s() at %s:%s"),
-						 signal_name, signal_meaning, addr, func, file,
-						 line);
-				}
-				return TRUE;
-			}
-		}
-
-
-		if (reason_is("end-stepping-range"))
-		{
-			return do_step_func(h, reason);
-		}
-		if (reason_is("function-finished"))
-		{
-			return do_step_func(h, reason);
-		}
-		if (reason_is("location-reached"))
-		{
-			return do_step_func(h, reason);
-		}
-		if (reason_is("watchpoint-trigger"))
-		{
-			HTAB(h, wpt);
-			if (wpt)
-			{
-				watchpoint_trigger(h, wpt, reason);
-			}
-			return do_step_func(h, reason);
-		}
-		if (reason_is("access-watchpoint-trigger"))
-		{
-			HTAB(h, hw_awpt);
-			if (hw_awpt)
-			{
-				watchpoint_trigger(h, hw_awpt, reason);
-			}
-			return do_step_func(h, reason);
-		}
-		if (reason_is("read-watchpoint-trigger"))
-		{
-			HTAB(h, hw_rwpt);
-			if (hw_rwpt)
-			{
-				watchpoint_trigger(h, hw_rwpt, reason);
-			}
-			return do_step_func(h, reason);
-		}
-		if (reason_is("watchpoint-scope"))
-		{
-			HSTR(h, wpnum);
-			gdbio_info_func(_("Watchpoint #%s out of scope"), wpnum ? wpnum : "?");
-			gdbio_send_cmd("-exec-continue\n");
-			return do_step_func(h, reason);
-		}
-
-		if (reason_is("exited-signalled"))
-		{
-			HSTR(h, signal_name);
-			HSTR(h, signal_meaning);
-			gdbio_info_func(_("Program exited on signal %s (%s).\n"),
-					signal_name ? signal_name : "UNKNOWN",
-					signal_meaning ? signal_meaning : _("Unknown signal"));
-			gdbio_target_exited(signal_name);
-			return TRUE;
-		}
-		if (reason_is("exited"))
-		{
-			HSTR(h, exit_code);
-			gchar *tail = NULL;
-			gint ec = -1;
-			if (exit_code)
-			{
-				ec = strtoull(exit_code, &tail, 8);
-				if ((!tail) || (*tail))
-				{
-					ec = -1;
-				}
-			}
-			gdbio_info_func(_("Program exited with code %d [%s]\n"), ec,
-					exit_code ? exit_code : _("(unknown)"));
-			gdbio_target_exited(exit_code);
-			return TRUE;
-		}
-		if (g_str_equal(reason, "exited-normally"))
-		{
-			gdbio_info_func(_("Program exited normally.\n"));
-			gdbio_target_exited("0");
-			return TRUE;
-		}
-	}
-	return FALSE;
-}
-
-
-
-static void
-handle_response_line(gchar * str, gchar ** list)
-{
-	gchar *rv = str;
-	if (!rv)
-	{
-		return;
-	}
-	switch (rv[0])
-	{
-		case '~':
-		case '@':
-		case '&':
-			{
-				rv++;
-				if (rv[0] == '"')
-				{
-					gint len = strlen(rv);
-					memmove(rv, rv + 1, len);
-					if (rv[len - 2] == '"')
-					{
-						rv[len - 2] = '\0';
-					}
-				}
-				rv = g_strcompress(rv);
-				gdbio_info_func(rv);
-				g_free(rv);
-				break;
-			}
-		case '^':
-		case '*':
-			{
-				gchar *comma = strchr(rv, ',');
-				if (comma)
-				{
-					GHashTable *h = gdblx_parse_results(comma + 1);
-					*comma = '\0';
-					if (g_str_equal(rv, "*stopped"))
-					{
-						gdbio_do_status(GdbStopped);
-					}
-					if (!handle_results_hash(h, rv, list))
-					{
-						gdblx_dump_table(h);
-					}
-					g_hash_table_destroy(h);
-				}
-				else
-				{
-					if (g_str_equal(rv, "^running"))
-					{
-						if (starting)
-						{
-							starting = FALSE;
-						}
-						else
-						{
-							gdbio_do_status(GdbRunning);
-						}
-						gdbio_set_running(TRUE);
-					}
-				}
-				break;
-			}
-		default:
-			{
-				break;
-			}
-	}
-}
-
-
-
-
-#define prompt "\n(gdb) \n"
-#define prlen 8
-
-
-#define starts_with_token(resp) \
-  ( IsDigit(resp[0]) && IsDigit(resp[1]) && \
-    IsDigit(resp[2]) && IsDigit(resp[3]) && \
-    IsDigit(resp[4]) && IsDigit(resp[5]) && \
-    strchr("^*=+", resp[6]) )
-
-
-void
-gdbio_consume_response(GString * recv_buf)
-{
-	gchar *eos = NULL;
-	do
-	{
-		if (recv_buf->len)
-		{
-			eos = strstr(recv_buf->str, prompt);
-		}
-		else
-		{
-			eos = NULL;
-		}
-		if (eos)
-		{
-			gint seq = -1;
-			gchar seqbuf[SEQ_LEN + 2];
-			ResponseHandler handler = NULL;
-			gchar **lines;
-			gint len;
-			*eos = '\0';
-			lines = g_strsplit(recv_buf->str, "\n", 0);
-			*eos = '\n';
-			len = g_strv_length(lines);
-			g_string_erase(recv_buf, 0, (eos - recv_buf->str) + 8);
-			if (len)
-			{
-				gchar *resp = lines[len - 1];
-				if (starts_with_token(resp))
-				{
-					strncpy(seqbuf, resp, SEQ_LEN);
-					seqbuf[SEQ_LEN] = '\0';
-					seq = gdbio_atoi(seqbuf);
-					if (seq >= 0)
-					{
-						handler = gdbio_seq_lookup(seq);
-						if (handler)
-						{
-							memmove(resp, resp + SEQ_LEN,
-								strlen(resp + SEQ_LEN) + 1);
-							g_strstrip(resp);
-							handler(seq, lines, resp);
-							g_strfreev(lines);
-							do_loop();
-							continue;
-						}
-						else
-						{
-							g_printerr
-								("***Error: Could not find handler for token #%s\n",
-								 seqbuf);
-						}
-					}
-				}
-			}
-			if (lines)
-			{
-				handle_response_lines(lines);
-				g_strfreev(lines);
-			}
-		}
-		do_loop();
-	}
-	while (eos);
-}
-
-
-
-
-
-void
-gdbio_continue()
-{
-	gdbio_send_cmd("-exec-continue\n");
-}
-
-
-
-
-void
-gdbio_return()
-{
-	gdbio_send_seq_cmd(return_function, "-exec-return\n");
-}
-
-
-void
-gdbio_finish()
-{
-	gdbio_send_seq_cmd(finish_function, "-exec-finish\n");
-}

Deleted: trunk/geanydebug/src/gdb-io-run.c
===================================================================
--- trunk/geanydebug/src/gdb-io-run.c	2008-12-23 10:24:56 UTC (rev 357)
+++ trunk/geanydebug/src/gdb-io-run.c	2008-12-23 10:31:55 UTC (rev 358)
@@ -1,792 +0,0 @@
-
-/*
- * gdb-io-run.c - Process execution and input functions for GDB wrapper library.
- *
- * See the file "gdb-io.h" for license information.
- *
- */
-
-
-#include <unistd.h>
-#include <signal.h>
-#include <string.h>
-#include <glib.h>
-#include "gdb-io-priv.h"
-#include "support.h"
-
-
-extern gint g_unlink(const gchar * filename);
-
-
-GdbIoSetup gdbio_setup;
-
-
-static gchar *gdbio_args[] = { "gdb", "--interpreter=mi", "-nx", NULL };
-
-static GPid gdbio_pid = 0;
-static GPid target_pid = 0;
-static GPid xterm_pid = 0;
-
-static GSource *gdbio_src;
-static gint gdbio_in;
-static gint gdbio_out;
-static GIOChannel *gdbio_ch_in;
-static GIOChannel *gdbio_ch_out;
-static guint gdbio_id_in;
-static guint gdbio_id_out;
-
-static GString send_buf = { NULL, 0, 0 };
-static GString recv_buf = { NULL, 0, 0 };
-
-static gchar *xterm_tty_file = NULL;
-
-
-static gint sequence = SEQ_MIN;
-static gboolean is_running = FALSE;
-static gint process_token = 0;
-
-
-/*
-  Hash table to associate a "tokenized" GDB command with a function call.
-  This stores a list of key-value pairs where the unique sequence-number
-  (GDB token) is the key, and a ResponseHandler function pointer is the value.
-*/
-static GHashTable *sequencer;
-
-
-
-#if !GLIB_CHECK_VERSION(2, 14, 0)
-static void
-g_string_append_vprintf(GString *str, const gchar *fmt, va_list args)
-{
-	gchar *tmp = g_strdup_vprintf(fmt, args);
-	g_string_append(str, tmp);
-	g_free(tmp);
-}
-#endif
-
-
-/* Add a handler function to the sequencer */
-gint
-gdbio_send_seq_cmd(ResponseHandler func, const gchar * fmt, ...)
-{
-	va_list args;
-	if (!gdbio_pid)
-	{
-		return 0;
-	}
-	if (sequence >= SEQ_MAX)
-	{
-		sequence = SEQ_MIN;
-	}
-	else
-	{
-		sequence++;
-	}
-	if (!sequencer)
-	{
-		sequencer = g_hash_table_new(g_direct_hash, g_direct_equal);
-	}
-	g_hash_table_insert(sequencer, GINT_TO_POINTER(sequence), func);
-	g_string_append_printf(&send_buf, "%d", sequence);
-	va_start(args, fmt);
-	g_string_append_vprintf(&send_buf, fmt, args);
-	va_end(args);
-	return sequence;
-}
-
-
-ResponseHandler
-gdbio_seq_lookup(gint seq)
-{
-	return g_hash_table_lookup(sequencer, GINT_TO_POINTER(seq));
-}
-
-
-void
-gdbio_pop_seq(gint seq)
-{
-	g_hash_table_remove(sequencer, GINT_TO_POINTER(seq));
-}
-
-static gboolean
-gerror(gchar * msg, GError ** err)
-{
-	if (*err)
-	{
-		if (msg)
-		{
-			gdbio_error_func("%s\n%s\n", msg, (*err)->message);
-		}
-		else
-		{
-			gdbio_error_func("%s\n", (*err)->message);
-		}
-		g_error_free(*err);
-		*err = NULL;
-		return TRUE;
-	}
-	else
-	{
-		return FALSE;
-	}
-}
-
-
-gint
-gdbio_atoi(gchar * str)
-{
-	gchar *tail = NULL;
-	gint rv = strtol(str, &tail, 10);
-	return (tail && !*tail) ? rv : -1;
-}
-
-
-void
-gdbio_error_func(gchar * fmt, ...)
-{
-	va_list args;
-	gchar *msg;
-	va_start(args, fmt);
-	msg = g_strdup_vprintf(fmt, args);
-	if (gdbio_setup.error_func)
-	{
-		gdbio_setup.error_func(g_strstrip(msg));
-	}
-	else
-	{
-		g_printerr("%s", msg);
-	}
-	g_free(msg);
-	va_end(args);
-}
-
-
-void
-gdbio_info_func(gchar * fmt, ...)
-{
-	va_list args;
-	gchar *msg;
-	va_start(args, fmt);
-	msg = g_strdup_vprintf(fmt, args);
-	if (gdbio_setup.info_func)
-	{
-		gdbio_setup.info_func(g_strstrip(msg));
-	}
-	else
-	{
-		g_printerr("%s", msg);
-	}
-	g_free(msg);
-	va_end(args);
-}
-
-
-gint
-gdbio_wait(gint ms)
-{
-	struct timespec req = { 0, 0 }, rem =
-	{
-	0, 0};
-	gint rms = ms;
-	if (ms >= 1000)
-	{
-		req.tv_sec = ms / 1000;
-		rms = ms % 1000;
-	}
-	req.tv_nsec = rms * 1000000;	/* 1 millisecond = 1,000,000 nanoseconds */
-	do
-	{
-		nanosleep(&req, &rem);
-		if ((rem.tv_sec || rem.tv_nsec))
-		{
-			memcpy(&req, &rem, sizeof(req));
-			memset(&rem, 0, sizeof(rem));
-		}
-		else
-		{
-			break;
-		}
-
-	}
-	while (1);
-	return ms;
-}
-
-
-
-void
-gdbio_send_cmd(const gchar * fmt, ...)
-{
-	va_list args;
-	if (!gdbio_pid)
-	{
-		return;
-	}
-	va_start(args, fmt);
-	g_string_append_vprintf(&send_buf, fmt, args);
-	va_end(args);
-}
-
-
-
-void
-gdbio_set_running(gboolean running)
-{
-	is_running = running;
-}
-
-
-
-static void
-kill_xterm()
-{
-	if (xterm_pid)
-	{
-		kill(xterm_pid, SIGKILL);
-		xterm_pid = 0;
-	}
-}
-
-
-
-static gchar *
-start_xterm(gchar * term_cmd)
-{
-	gchar *term_args[] = { "xterm", "-title", "Debug terminal", "-e", NULL, NULL, NULL };
-	GError *err = NULL;
-	gint i = 0;
-	gchar *tty_name = NULL;
-	const gchar *exe_name = basename(term_cmd);
-	gchar *all;
-	if (!gdbio_setup.temp_dir)
-	{
-		gdbio_error_func(_("tty temporary directory not specified!\n"));
-		return NULL;
-	}
-	if (!g_file_test(gdbio_setup.temp_dir, G_FILE_TEST_IS_DIR))
-	{
-		gdbio_error_func(_("tty temporary directory not found!\n"));
-		return NULL;
-	}
-	if (!xterm_tty_file)
-	{
-		xterm_tty_file = g_strdup_printf("%s/%d.tty", gdbio_setup.temp_dir, getpid());
-	}
-	if (g_file_set_contents(xterm_tty_file, "", -1, &err))
-	{
-		g_unlink(xterm_tty_file);
-	}
-	else
-	{
-		gerror("writing ttyname logfile", &err);
-		g_unlink(xterm_tty_file);
-		return FALSE;
-	}
-	if (!gdbio_setup.tty_helper)
-	{
-		gdbio_error_func(_("tty helper program not specified!\n"));
-		return NULL;
-	}
-	if (!
-	    (g_file_test(gdbio_setup.tty_helper, G_FILE_TEST_IS_EXECUTABLE) &&
-	     g_file_test(gdbio_setup.tty_helper, G_FILE_TEST_IS_REGULAR)))
-	{
-		gdbio_error_func(_("tty helper program not found!\n"));
-		return NULL;
-	}
-	term_args[0] = term_cmd;
-	if (g_str_equal(exe_name, "xterm") || g_str_equal(exe_name, "konsole"))
-	{
-		term_args[1] = "-T";
-	}
-	else
-	{
-		if (g_str_equal(exe_name, "gnome-terminal"))
-		{
-			term_args[1] = "--title";
-			term_args[3] = "-x";
-		}
-		else
-		{
-			if (g_str_equal(exe_name, "rxvt") || g_str_equal(exe_name, "urxvt"))
-			{
-				term_args[1] = "-title";
-			}
-			else
-			{
-				term_args[1] = "-e";
-				term_args[2] = NULL;
-			}
-		}
-	}
-	i = 0;
-	while (term_args[i])
-	{
-		i++;
-	}
-	term_args[i] = gdbio_setup.tty_helper;
-	term_args[i + 1] = xterm_tty_file;
-	all = g_strjoinv("\"  \"", term_args);
-	gdbio_info_func("\"%s\"\n", all);
-	g_free(all);
-	if (g_spawn_async(NULL, term_args, NULL, G_SPAWN_SEARCH_PATH, NULL, NULL, &xterm_pid, &err))
-	{
-		gchar *contents = NULL;
-		gsize len;
-		gint ms = 0;
-		do
-		{
-			if (g_file_test(xterm_tty_file, G_FILE_TEST_EXISTS))
-			{
-				if (g_file_get_contents(xterm_tty_file, &contents, &len, &err))
-				{
-					g_strstrip(contents);
-					if (strlen(contents))
-					{
-						tty_name = g_strdup(contents);
-						gdbio_info_func(_("Attaching to terminal %s\n"),
-								tty_name);
-					}
-					break;
-				}
-				else
-				{
-					gerror("Error getting tty name:", &err);
-				}
-			}
-			ms += gdbio_wait(250);
-		}
-		while (ms <= 10000);
-		if (ms > 10000)
-		{
-			gdbio_error_func(_("Timeout waiting for TTY name.\n"));
-			kill_xterm();
-		}
-	}
-	else
-	{
-		gerror("Error starting terminal: ", &err);
-	}
-	g_unlink(xterm_tty_file);
-	return tty_name;
-}
-
-
-
-static void
-free_buf(GString * buf)
-{
-	if (buf->str)
-	{
-		g_free(buf->str);
-		buf->str = NULL;
-		buf->len = 0;
-		buf->allocated_len = 0;
-	}
-}
-
-static void
-shutdown_channel(GIOChannel ** ch)
-{
-	if (*ch)
-	{
-		GError *err = NULL;
-		gint fd = g_io_channel_unix_get_fd(*ch);
-		g_io_channel_shutdown(*ch, TRUE, &err);
-		gerror("Shutting down channel", &err);
-		g_io_channel_unref(*ch);
-		*ch = NULL;
-		if (fd >= 0)
-		{
-			close(fd);
-		}
-	}
-}
-
-
-static void
-on_gdb_exit(GPid pid, gint status, gpointer data)
-{
-	gdbio_pid = 0;
-	gdbio_info_func(_("GDB exited (pid=%d)\n"), pid);
-	g_spawn_close_pid(pid);
-
-
-	g_source_remove(gdbio_id_in);
-	shutdown_channel(&gdbio_ch_in);
-
-	g_source_remove(gdbio_id_out);
-	shutdown_channel(&gdbio_ch_out);
-
-	free_buf(&send_buf);
-	if (recv_buf.len)
-	{
-		gdbio_info_func("%s\n", recv_buf.str);
-	}
-	free_buf(&recv_buf);
-
-	if (target_pid)
-	{
-		kill(target_pid, SIGKILL);
-		target_pid = 0;
-	}
-	gdbio_set_running(FALSE);
-	gdblx_scanner_done();
-	gdbio_do_status(GdbDead);
-}
-
-
-
-static gboolean
-on_send_to_gdb(GIOChannel * src, GIOCondition cond, gpointer data)
-{
-	GIOStatus st;
-	GError *err = NULL;
-	gsize count;
-	if (send_buf.len)
-	{
-		while (send_buf.len)
-		{
-			st = g_io_channel_write_chars(src, send_buf.str, send_buf.len, &count,
-						      &err);
-			g_string_erase(&send_buf, 0, count);
-			if (err || (st == G_IO_STATUS_ERROR) || (st == G_IO_STATUS_EOF))
-			{
-				gerror("Error sending command", &err);
-				break;
-			}
-		}
-		st = g_io_channel_flush(src, &err);
-		gerror("Error pushing command", &err);
-	}
-	do_loop();
-	gdbio_wait(10);
-	return TRUE;
-}
-
-
-
-void
-gdbio_target_exited(gchar * reason)
-{
-	gdbio_info_func(_("Target process exited. (pid=%d; %s%s)\n"), target_pid,
-			reason
-			&& g_ascii_isdigit(reason[0]) ? _("code=") : _("reason:"),
-			reason ? reason : "unknown");
-	target_pid = 0;
-	kill_xterm();
-	gdbio_set_running(FALSE);
-	gdbio_do_status(GdbFinished);
-	if (process_token)
-	{
-		gdbio_pop_seq(process_token);
-		process_token = 0;
-	}
-}
-
-static GdbStatus gdbio_status = GdbDead;
-
-void
-gdbio_do_status(GdbStatus s)
-{
-	gdbio_status = s;
-	if (gdbio_setup.status_func)
-	{
-		gdbio_setup.status_func(s);
-	}
-}
-
-
-
-void
-gdbio_pause_target()
-{
-	if (target_pid)
-	{
-		kill(target_pid, SIGINT);
-	}
-}
-
-
-
-static void
-target_killed(gint seq, gchar ** list, gchar * resp)
-{
-	GHashTable *h = gdbio_get_results(resp, list);
-	gdbio_pop_seq(seq);
-	if (h)
-	{
-		g_hash_table_destroy(h);
-	}
-	if (strncmp(resp, "^done", 5) == 0)
-	{
-		gdbio_target_exited("killed by GDB");
-	}
-}
-
-
-
-void
-gdbio_kill_target(gboolean force)
-{
-	if (target_pid)
-	{
-		gchar pidstr[64];
-		GPid this_pid = target_pid;
-		gint ms = 0;
-		snprintf(pidstr, sizeof(pidstr) - 1, "/proc/%d", target_pid);
-		if (!g_file_test(pidstr, G_FILE_TEST_IS_DIR))
-		{
-			gdbio_info_func(_("Directory %s not found!\n"), pidstr);
-			pidstr[0] = '\0';
-		}
-		if (!force)
-		{
-			gdbio_info_func(_("Shutting down target program.\n"));
-			gdbio_send_seq_cmd(target_killed, "kill SIGKILL\n");
-			gdbio_wait(250);
-			do_loop();
-		}
-		else
-		{
-			gdbio_info_func(_("Killing target program.\n"));
-			kill(this_pid, SIGKILL);
-		}
-		while (1)
-		{
-			do_loop();
-			if (ms >= 2000)
-			{
-				gdbio_info_func(_("Timeout waiting for target process.\n"));
-				if (!force)
-				{
-					gdbio_info_func(_("Using a bigger hammer!\n"));
-					gdbio_kill_target(TRUE);
-				}
-				break;
-			}
-			if (target_pid != this_pid)
-			{
-				break;
-			}
-			if ((pidstr[0]) && !g_file_test(pidstr, G_FILE_TEST_EXISTS))
-			{
-				break;
-			}
-			if (!(ms % 1000))
-				gdbio_info_func(_("Waiting for target process to exit.\n"));
-			ms += gdbio_wait(250);
-		}
-	}
-	kill_xterm();
-}
-
-static gboolean
-have_console()
-{
-	return (gdbio_status == GdbLoaded) || (gdbio_status == GdbStopped)
-		|| (gdbio_status == GdbFinished);
-}
-
-void
-gdbio_exit()
-{
-	gdbio_kill_target(!have_console());
-	if (gdbio_pid)
-	{
-		GPid this_gdb = gdbio_pid;
-		gint ms = 0;
-		gchar pidstr[64];
-		snprintf(pidstr, sizeof(pidstr) - 1, "/proc/%d", this_gdb);
-		if (is_running)
-		{
-			if (!g_file_test(pidstr, G_FILE_TEST_IS_DIR))
-			{
-				gdbio_info_func(_("Directory %s not found!\n"), pidstr);
-				pidstr[0] = '\0';
-			}
-			do
-			{
-				do_loop();
-				if (gdbio_pid == this_gdb)
-				{
-					gdbio_info_func(_("Killing GDB (pid=%d)\n"), this_gdb);
-				}
-				else
-				{
-					break;
-				}
-				kill(this_gdb, SIGKILL);
-				ms += gdbio_wait(500);
-				if (pidstr[0] && !g_file_test(pidstr, G_FILE_TEST_EXISTS))
-				{
-					break;
-				}
-				if (ms > 2000)
-				{
-					gdbio_error_func(_("Timeout trying to kill GDB.\n"));
-					break;
-				}
-			}
-			while (1);
-			free_buf(&send_buf);
-			gdbio_wait(500);
-		}
-		else
-		{
-			gdbio_info_func(_("Shutting down GDB\n"));
-			gdbio_send_cmd("-gdb-exit\n");
-			while (1)
-			{
-				do_loop();
-				ms += gdbio_wait(250);
-				if (pidstr[0] && !g_file_test(pidstr, G_FILE_TEST_EXISTS))
-				{
-					break;
-				}
-				if (gdbio_pid == this_gdb)
-				{
-					if (!(ms % 1000))
-						gdbio_info_func(_("Waiting for GDB to exit.\n"));
-				}
-				else
-				{
-					break;
-				}
-				if (ms > 2000)
-				{
-					gdbio_info_func(_("Timeout waiting for GDB to exit.\n"));
-					gdbio_set_running(TRUE);
-					gdbio_exit();
-					break;
-				}
-			}
-		}
-	}
-	if (sequencer)
-	{
-		g_hash_table_destroy(sequencer);
-		sequencer = NULL;
-	}
-	g_free(xterm_tty_file);
-	xterm_tty_file = NULL;
-}
-
-
-
-void gdbio_parse_file_list(gint seq, gchar ** list, gchar * resp);
-
-static void
-load_target(const gchar * exe_name)
-{
-	gdbio_set_running(FALSE);
-	gdbio_send_cmd("-file-exec-and-symbols %s\n", exe_name);
-	gdbio_send_seq_cmd(gdbio_parse_file_list, "-file-list-exec-source-files\n");
-
-}
-
-
-
-static gboolean
-on_read_from_gdb(GIOChannel * src, GIOCondition cond, gpointer data)
-{
-	gchar buf[1024];
-	GIOStatus st;
-	GError *err = NULL;
-	gsize count;
-	st = g_io_channel_read_chars(src, buf, sizeof(buf) - 1, &count, &err);
-	buf[count] = '\0';
-	g_string_append_len(&recv_buf, buf, count);
-	gerror("Error reading response", &err);
-	gdbio_consume_response(&recv_buf);
-	gdbio_wait(10);
-	return TRUE;
-}
-
-
-#define GDB_SPAWN_FLAGS \
-G_SPAWN_SEARCH_PATH | \
-G_SPAWN_DO_NOT_REAP_CHILD
-
-
-void
-gdbio_load(const gchar * exe_name)
-{
-	GError *err = NULL;
-	gdbio_exit();
-	if (g_spawn_async_with_pipes(NULL, gdbio_args, NULL,
-				     GDB_SPAWN_FLAGS, NULL,
-				     NULL, &gdbio_pid, &gdbio_in, &gdbio_out, NULL, &err))
-	{
-		gdbio_info_func(_("Starting gdb (pid=%d)\n"), gdbio_pid);
-
-		g_child_watch_add(gdbio_pid, on_gdb_exit, NULL);
-		gdbio_src = g_child_watch_source_new(gdbio_pid);
-
-		gdbio_ch_in = g_io_channel_unix_new(gdbio_in);
-		g_io_channel_set_encoding(gdbio_ch_in, NULL, &err);
-		gerror("Error setting encoding", &err);
-		g_io_channel_set_buffered(gdbio_ch_in, FALSE);
-
-		gdbio_ch_out = g_io_channel_unix_new(gdbio_out);
-		g_io_channel_set_encoding(gdbio_ch_out, NULL, &err);
-		gerror("Error setting encoding", &err);
-		g_io_channel_set_buffered(gdbio_ch_out, FALSE);
-
-		gdbio_id_in = g_io_add_watch(gdbio_ch_in, G_IO_OUT, on_send_to_gdb, NULL);
-		gdbio_id_out = g_io_add_watch(gdbio_ch_out, G_IO_IN, on_read_from_gdb, NULL);
-
-		gdbio_send_cmd("-gdb-set width 0\n-gdb-set height 0\n");
-		if (exe_name)
-		{
-			load_target(exe_name);
-		}
-	}
-	else
-	{
-		gerror("Error starting debugger.", &err);
-	}
-}
-
-
-
-void
-gdbio_exec_target(gchar * terminal_command)
-{
-	if (terminal_command)
-	{
-		gchar *tty_name = start_xterm(terminal_command);
-		if (tty_name)
-		{
-			gdbio_send_cmd("-inferior-tty-set %s\n", tty_name);
-			g_free(tty_name);
-		}
-		else
-			return;
-	}
-	if (process_token)
-	{

@@ Diff output truncated at 100000 characters. @@

This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.



More information about the Plugins-Commits mailing list