SF.net SVN: geany:[5268] trunk
ntrel at users.sourceforge.net
ntrel at xxxxx
Fri Oct 1 12:43:32 UTC 2010
Revision: 5268
http://geany.svn.sourceforge.net/geany/?rev=5268&view=rev
Author: ntrel
Date: 2010-10-01 12:43:32 +0000 (Fri, 01 Oct 2010)
Log Message:
-----------
Fix passing quoted arguments when using 'Send Selection to'. This
means sed 's/\./(dot)/g' now works.
Modified Paths:
--------------
trunk/ChangeLog
trunk/doc/geany.html
trunk/doc/geany.txt
trunk/src/tools.c
Modified: trunk/ChangeLog
===================================================================
--- trunk/ChangeLog 2010-09-30 17:10:50 UTC (rev 5267)
+++ trunk/ChangeLog 2010-10-01 12:43:32 UTC (rev 5268)
@@ -1,3 +1,10 @@
+2010-10-01 Nick Treleaven <nick(dot)treleaven(at)btinternet(dot)com>
+
+ * src/tools.c, doc/geany.txt, doc/geany.html:
+ Fix passing quoted arguments when using 'Send Selection to'. This
+ means sed 's/\./(dot)/g' now works.
+
+
2010-09-30 Nick Treleaven <nick(dot)treleaven(at)btinternet(dot)com>
* src/utils.h, src/filetypesprivate.h, src/filetypes.c,
Modified: trunk/doc/geany.html
===================================================================
--- trunk/doc/geany.html 2010-09-30 17:10:50 UTC (rev 5267)
+++ trunk/doc/geany.html 2010-10-01 12:43:32 UTC (rev 5268)
@@ -6,7 +6,7 @@
<meta name="generator" content="Docutils 0.4: http://docutils.sourceforge.net/" />
<title>Geany</title>
<meta name="authors" content="Enrico Tröger Nick Treleaven Frank Lanitz" />
-<meta name="date" content="2010-09-23" />
+<meta name="date" content="2010-09-30" />
<style type="text/css">
/*
@@ -139,7 +139,7 @@
<br />Nick Treleaven
<br />Frank Lanitz</td></tr>
<tr><th class="docinfo-name">Date:</th>
-<td>2010-09-23</td></tr>
+<td>2010-09-30</td></tr>
<tr><th class="docinfo-name">Version:</th>
<td>0.20</td></tr>
</tbody>
@@ -1259,21 +1259,27 @@
<div class="section">
<h3><a class="toc-backref" href="#id49" id="sending-text-through-custom-commands" name="sending-text-through-custom-commands">Sending text through custom commands</a></h3>
<p>You can define several custom commands in Geany and send the current
-selection to one of these commands using the "Edit->Format->Send
-Selection to" menu or keybindings.
-The output of the command will be
-used to replace the current selection. This makes it possible to use text
-formatting tools with Geany in a general way. The selected text will
-be sent to the standard input of the executed command, so the command
-should be able to read from it and it should print all results to its
-standard output which will be read by Geany. To help finding errors
-in executing the command, the output of the program's standard error
-will be printed on Geany's standard output.</p>
-<p>To add a custom command, just go to the Set Custom Commands dialog
-in the Format sub menu of the Edit and Popup menu. Then click on Add
-to get a new text entry and type the command. You can also specify
-some command line options. To delete a command, just clear the text
-entry and press OK. It will be deleted automatically.</p>
+selection to one of these commands using the <em>Edit->Format->Send
+Selection to</em> menu or keybindings. The output of the command will be
+used to replace the current selection. This makes it possible to use
+text formatting tools with Geany in a general way.</p>
+<p>The selected text will be sent to the standard input of the executed
+command, so the command should be able to read from it and it should
+print all results to its standard output which will be read by
+Geany. To help finding errors in executing the command, the output
+of the program's standard error will be printed on Geany's standard
+output.</p>
+<p>To add a custom command, use the <em>Send Selection to->Set Custom
+Commands</em> menu item. Click on <em>Add</em> to get a new text entry and type
+the command. You can also specify some command line options. To
+delete a command, just clear the text entry and press OK. It will be
+deleted automatically.</p>
+<p>Normal shell quoting is supported, so you can do things like:</p>
+<ul class="simple">
+<li><tt class="docutils literal"><span class="pre">sed</span> <span class="pre">'s/\./(dot)/g'</span></tt></li>
+</ul>
+<p>The above example would normally be done with the <a class="reference" href="#replace-all">Replace all</a>
+function, but it can be handy to have common commands already set up.</p>
</div>
<div class="section">
<h3><a class="toc-backref" href="#id50" id="context-actions" name="context-actions">Context actions</a></h3>
@@ -6207,7 +6213,7 @@
<div class="footer">
<hr class="footer" />
<a class="reference" href="geany.txt">View document source</a>.
-Generated on: 2010-09-23 18:04 UTC.
+Generated on: 2010-10-01 12:43 UTC.
Generated by <a class="reference" href="http://docutils.sourceforge.net/">Docutils</a> from <a class="reference" href="http://docutils.sourceforge.net/rst.html">reStructuredText</a> source.
</div>
Modified: trunk/doc/geany.txt
===================================================================
--- trunk/doc/geany.txt 2010-09-30 17:10:50 UTC (rev 5267)
+++ trunk/doc/geany.txt 2010-10-01 12:43:32 UTC (rev 5268)
@@ -851,24 +851,32 @@
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
You can define several custom commands in Geany and send the current
-selection to one of these commands using the "Edit->Format->Send
-Selection to" menu or keybindings.
-The output of the command will be
-used to replace the current selection. This makes it possible to use text
-formatting tools with Geany in a general way. The selected text will
-be sent to the standard input of the executed command, so the command
-should be able to read from it and it should print all results to its
-standard output which will be read by Geany. To help finding errors
-in executing the command, the output of the program's standard error
-will be printed on Geany's standard output.
+selection to one of these commands using the *Edit->Format->Send
+Selection to* menu or keybindings. The output of the command will be
+used to replace the current selection. This makes it possible to use
+text formatting tools with Geany in a general way.
-To add a custom command, just go to the Set Custom Commands dialog
-in the Format sub menu of the Edit and Popup menu. Then click on Add
-to get a new text entry and type the command. You can also specify
-some command line options. To delete a command, just clear the text
-entry and press OK. It will be deleted automatically.
+The selected text will be sent to the standard input of the executed
+command, so the command should be able to read from it and it should
+print all results to its standard output which will be read by
+Geany. To help finding errors in executing the command, the output
+of the program's standard error will be printed on Geany's standard
+output.
+To add a custom command, use the *Send Selection to->Set Custom
+Commands* menu item. Click on *Add* to get a new text entry and type
+the command. You can also specify some command line options. To
+delete a command, just clear the text entry and press OK. It will be
+deleted automatically.
+Normal shell quoting is supported, so you can do things like:
+
+* ``sed 's/\./(dot)/g'``
+
+The above example would normally be done with the `Replace all`_
+function, but it can be handy to have common commands already set up.
+
+
Context actions
^^^^^^^^^^^^^^^
Modified: trunk/src/tools.c
===================================================================
--- trunk/src/tools.c 2010-09-30 17:10:50 UTC (rev 5267)
+++ trunk/src/tools.c 2010-10-01 12:43:32 UTC (rev 5268)
@@ -242,7 +242,12 @@
if (! sci_has_selection(doc->editor->sci))
return;
- argv = g_strsplit(command, " ", -1);
+ if (!g_shell_parse_argv(command, NULL, &argv, &error))
+ {
+ ui_set_statusbar(TRUE, _("Custom command failed: %s"), error->message);
+ g_error_free(error);
+ return;
+ }
ui_set_statusbar(TRUE, _("Passing data and executing custom command: %s"), command);
cc_error_occurred = FALSE;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
More information about the Commits
mailing list