Revision: 1473
http://svn.sourceforge.net/geany/?rev=1473&view=rev
Author: ntrel
Date: 2007-04-23 05:55:37 -0700 (Mon, 23 Apr 2007)
Log Message:
-----------
When linking (or using Make Custom), remove error indicators in all
documents (should fix #1705374).
Modified Paths:
--------------
trunk/ChangeLog
trunk/src/build.c
Modified: trunk/ChangeLog
===================================================================
--- trunk/ChangeLog 2007-04-23 12:30:27 UTC (rev 1472)
+++ trunk/ChangeLog 2007-04-23 12:55:37 UTC (rev 1473)
@@ -1,3 +1,10 @@
+2007-04-23 Nick Treleaven <nick.treleaven(a)btinternet.com>
+
+ * src/build.c:
+ When linking (or using Make Custom), remove error indicators in all
+ documents (should fix #1705374).
+
+
2007-04-21 Nick Treleaven <nick.treleaven(a)btinternet.com>
* src/project.c, src/project.h, src/keyfile.c, src/main.c:
Modified: trunk/src/build.c
===================================================================
--- trunk/src/build.c 2007-04-23 12:30:27 UTC (rev 1472)
+++ trunk/src/build.c 2007-04-23 12:55:37 UTC (rev 1473)
@@ -407,6 +407,34 @@
}
+/* If linking, clear all error indicators in all documents.
+ * Otherwise, just clear error indicators in document idx. */
+static void clear_errors(gint idx)
+{
+ switch (build_info.type)
+ {
+ case GBO_COMPILE:
+ case GBO_MAKE_OBJECT:
+ document_clear_indicators(idx);
+ break;
+
+ case GBO_BUILD:
+ case GBO_MAKE_ALL:
+ case GBO_MAKE_CUSTOM:
+ {
+ guint i;
+
+ for (i = 0; i < doc_array->len; i++)
+ {
+ if (doc_list[i].is_valid)
+ document_clear_indicators(i);
+ }
+ break;
+ }
+ }
+}
+
+
/* dir is the UTF-8 working directory to run cmd in. It can be NULL to use the
* idx document directory */
static GPid build_spawn_cmd(gint idx, const gchar *cmd, const gchar *dir)
@@ -425,7 +453,7 @@
g_return_val_if_fail(DOC_IDX_VALID(idx), (GPid) 1);
- document_clear_indicators(idx);
+ clear_errors(idx);
locale_filename = utils_get_locale_from_utf8(doc_list[idx].file_name);
executable = utils_remove_ext_from_filename(locale_filename);
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
Revision: 1465
http://svn.sourceforge.net/geany/?rev=1465&view=rev
Author: ntrel
Date: 2007-04-20 07:44:34 -0700 (Fri, 20 Apr 2007)
Log Message:
-----------
Update generating global tags section.
Modified Paths:
--------------
trunk/ChangeLog
trunk/doc/geany.docbook
Modified: trunk/ChangeLog
===================================================================
--- trunk/ChangeLog 2007-04-19 13:44:42 UTC (rev 1464)
+++ trunk/ChangeLog 2007-04-20 14:44:34 UTC (rev 1465)
@@ -1,3 +1,9 @@
+2007-04-20 Nick Treleaven <nick.treleaven(a)btinternet.com>
+
+ * doc/geany.docbook:
+ Update generating global tags section.
+
+
2007-04-19 Enrico Tröger <enrico.troeger(a)uvena.de>
* doc/geany.docbook, src/vte.c:
Modified: trunk/doc/geany.docbook
===================================================================
--- trunk/doc/geany.docbook 2007-04-19 13:44:42 UTC (rev 1464)
+++ trunk/doc/geany.docbook 2007-04-20 14:44:34 UTC (rev 1465)
@@ -957,6 +957,25 @@
</section>
<section><title>Global tags</title>
<para>
+ Global tags are used to provide autocompletion and calltips without having to open
+ the corresponding source files. This is intended for library APIs, as the tags file
+ only has to be updated when you upgrade the library.
+ </para>
+ <para>
+ You can load a global tags file with the <emphasis>Load Tags</emphasis> command,
+ in the File menu. You can either download these files or generate your own.
+ These tags files have the filename:
+ </para>
+ <para>
+ <filename>libraryname.lang_ext.tags</filename>
+ </para>
+ <para>
+ <emphasis>lang_ext</emphasis> is one of the extensions set for the filetype
+ associated with the tags. See <xref linkend="filetype_extensions"/> for more
+ information.
+ </para>
+ <section><title>Default global tags files</title>
+ <para>
For some languages, a list of global tags is loaded when the corresponding filetype
is first used. Currently these are for:
<itemizedlist>
@@ -967,37 +986,71 @@
<listitem><para>LaTeX</para></listitem>
</itemizedlist>
</para>
- <section><title>Generating a global tags file</title>
+ </section>
+ <section id="tags_generating"><title>Generating a global tags file</title>
<para>
- <application>Geany</application> currently uses a file <filename>global.tags</filename>
- for C and C++, commonly installed in <filename>/usr/share/geany</filename>. This
- file can be replaced with one containing tags parsed from a different set of
- header files. The following command was used to generate it, from a
- <filename>bash</filename> shell:
+ <note><title>Filetypes support</title>
+ <para>
+ Currently this is only supported for filetypes that can be pre-processed
+ with <filename>gcc</filename>,
+ i.e. do not use the <literal>#</literal> character outside of strings.
+ Also Pascal, PHP and LaTeX will not work yet.
+ </para>
+ <para>
+ This is known to work with C, C++ and D filetypes.
+ </para>
+ </note>
</para>
<para>
- <literal>CFLAGS=`pkg-config --cflags libgnomeui-2.0` geany -g global.tags
- /usr/include/libgnomeui-2.0/gnome.h
- </literal>
+ You can generate your own global tags files by parsing a list of source files.
+ The format is:
</para>
<para>
- You can adapt this command to use CFLAGS and header files appropriate for
- whichever libraries you want. The format is:
+ geany -g <Tag File> <File list>
</para>
<para>
- geany -g <Tag File> <File list>
+ <itemizedlist>
+ <listitem><para><emphasis>Tag File</emphasis> should be in the format described
+ earlier.</para></listitem>
+ <listitem><para><emphasis>File list</emphasis> is a list of filenames, each with
+ a full path.</para></listitem>
+ </itemizedlist>
</para>
<para>
- <filename>gcc</filename> is required, as header files are preprocessed to include
+ <filename>gcc</filename> is required, as C/C++ header files are preprocessed to include
any other header files they depend upon. Currently <filename>grep</filename> is
also required for tags generation.
</para>
<para>
- After creating the file, replace the installed
- <filename>global.tags</filename> file with it and restart
- <application>Geany</application>. You should keep a copy of the generated
+ Example for the wxD library for the D programming language:
+ <programlisting>geany -g wxd.d.tags /home/username/wxd/wx/*.d</programlisting>
+ </para>
+ <para>
+ For C/C++ files, the environment variable CFLAGS should be set with appropriate
+ <literal>-I/path</literal> include paths.
+ The following example works with the <filename>bash</filename> shell, generating
+ tags for the GnomeUI library:
+ <programlisting>CFLAGS=`pkg-config --cflags libgnomeui-2.0` geany -g gnomeui.c.tags
+/usr/include/libgnomeui-2.0/gnome.h</programlisting>
+ </para>
+ <para>
+ You can adapt this command to use CFLAGS and header files appropriate for
+ whichever libraries you want.
+ </para>
+ <para>
+ <note><title>Replacing the default C/C++ tags file</title>
+ <para>
+ <application>Geany</application> currently uses a default global tags file
+ <filename>global.tags</filename>
+ for C and C++, commonly installed in <filename>/usr/share/geany</filename>. This
+ file can be replaced with one containing tags parsed from a different set of
+ header files. When <application>Geany</application> is next started, your custom
+ tags file will be loaded instead of the default <filename>global.tags</filename>.
+ You should keep a copy of the generated
tags file because it will get overwritten when upgrading
<application>Geany</application>.
+ </para>
+ </note>
</para>
</section>
</section>
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
Revision: 1464
http://svn.sourceforge.net/geany/?rev=1464&view=rev
Author: eht16
Date: 2007-04-19 06:44:42 -0700 (Thu, 19 Apr 2007)
Log Message:
-----------
Fixed handling of command line arguments within the shell command for the VTE to enable use of shells as login shells.
Modified Paths:
--------------
trunk/ChangeLog
trunk/doc/geany.docbook
trunk/src/vte.c
Modified: trunk/ChangeLog
===================================================================
--- trunk/ChangeLog 2007-04-18 15:21:33 UTC (rev 1463)
+++ trunk/ChangeLog 2007-04-19 13:44:42 UTC (rev 1464)
@@ -1,3 +1,10 @@
+2007-04-19 Enrico Tröger <enrico.troeger(a)uvena.de>
+
+ * doc/geany.docbook, src/vte.c:
+ Fixed handling of command line arguments within the shell command for
+ the VTE to enable use of shells as login shells.
+
+
2007-04-18 Nick Treleaven <nick.treleaven(a)btinternet.com>
* doc/geany.docbook:
Modified: trunk/doc/geany.docbook
===================================================================
--- trunk/doc/geany.docbook 2007-04-18 15:21:33 UTC (rev 1463)
+++ trunk/doc/geany.docbook 2007-04-19 13:44:42 UTC (rev 1464)
@@ -394,6 +394,12 @@
pressing the middle mouse button in the VTE (on 2-button mice,
the middle button can often be simulated by pressing both mouse buttons together).
</para>
+ <para>
+ In the preferences dialog you can specify a shell which should be started in the
+ VTE. To make the specified shell a login shell just use the appropriate command
+ line options for the shell. These options should be found in the manual page of
+ the shell. For zsh and bash you can use the argument <literal>--login</literal>.
+ </para>
<note>
<para><application>Geany</application> tries to load <filename>libvte.so</filename>.
If this fails, it tries to load <filename>libvte.so.4</filename>. If this
Modified: trunk/src/vte.c
===================================================================
--- trunk/src/vte.c 2007-04-18 15:21:33 UTC (rev 1463)
+++ trunk/src/vte.c 2007-04-19 13:44:42 UTC (rev 1464)
@@ -233,8 +233,11 @@
{
vte_get_working_directory(); // try to keep the working directory when restarting the VTE
- kill(pid, SIGINT);
- pid = 0;
+ if (pid > 0)
+ {
+ kill(pid, SIGINT);
+ pid = 0;
+ }
vf->vte_terminal_reset(VTE_TERMINAL(widget), TRUE, TRUE);
vte_start(widget);
@@ -249,11 +252,21 @@
{
VteTerminal *vte = VTE_TERMINAL(widget);
gchar **env;
+ gchar **argv;
- env = vte_get_child_environment();
- pid = vf->vte_terminal_fork_command(VTE_TERMINAL(vte), vc->shell, NULL, env,
+ // split the shell command line, so arguments will work too
+ argv = g_strsplit(vc->shell, " ", -1);
+
+ if (argv != NULL)
+ {
+ env = vte_get_child_environment();
+ pid = vf->vte_terminal_fork_command(VTE_TERMINAL(vte), argv[0], argv, env,
vte_info.dir, TRUE, TRUE, TRUE);
- g_strfreev(env);
+ g_strfreev(env);
+ g_strfreev(argv);
+ }
+ else
+ pid = 0; // use 0 as invalid pid
}
@@ -405,7 +418,7 @@
gchar *cwd;
gint length;
- if (pid >= 0)
+ if (pid > 0)
{
file = g_strdup_printf("/proc/%d/cwd", pid);
length = readlink(file, buffer, sizeof (buffer));
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.