<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array">
    <added>
      <filename>txt2h.pl</filename>
    </added>
  </added>
  <modified type="array">
    <modified>
      <diff>@@ -6,3 +6,4 @@ newsbeuter
 podbeuter
 test/test
 test/test-rss
+xlicense.h</diff>
      <filename>.gitignore</filename>
    </modified>
    <modified>
      <diff>@@ -59,7 +59,7 @@ POFILES:=$(wildcard po/*.po)
 MOFILES:=$(patsubst %.po,%.mo,$(POFILES))
 POTFILE=po/newsbeuter.pot
 
-STFLCONV=./stfl2h.pl
+TEXTCONV=./txt2h.pl
 RM=rm -f
 
 all: $(NEWSBEUTER) $(PODBEUTER)
@@ -95,7 +95,7 @@ regenerate-parser:
 	$(CXX) $(CXXFLAGS) -o $@ -c $&lt;
 
 %.h: %.stfl
-	$(STFLCONV) $&lt; &gt; $@
+	$(TEXTCONV) $&lt; .stfl &gt; $@
 
 clean-newsbeuter:
 	$(RM) $(NEWSBEUTER) $(NEWSBEUTER_OBJS)
@@ -117,7 +117,7 @@ clean-doc:
 	$(RM) doc/*.xml doc/*.1 doc/newsbeuter-cfgcmds.txt doc/podbeuter-cfgcmds.txt doc/newsbeuter-keycmds.txt
 
 clean: clean-newsbeuter clean-podbeuter clean-libbeuter clean-libfilter clean-doc clean-librsspp
-	$(RM) $(STFLHDRS)
+	$(RM) $(STFLHDRS) xlicense.h
 
 distclean: clean clean-mo test-clean
 	$(RM) core *.core core.* config.mk
@@ -197,4 +197,7 @@ config: config.mk
 config.mk:
 	@./config.sh
 
+xlicense.h: LICENSE
+	$(TEXTCONV) $&lt; &gt; $@
+
 include mk.deps</diff>
      <filename>Makefile</filename>
    </modified>
    <modified>
      <diff>@@ -3,6 +3,14 @@ TODO:
 - add an auto-flag configuration command to automatically flag articles that match a certain query
 - when reload is finished, the focus shall be in the current form's list
 - per-feed refresh settings
+- fix :source for bind-key: bind-key j down etc.
+- implement internal alias mechanism to allow transition of renamed config commands.
+- improve logging of which feeds are broken.
+- persist search and command history to text files.
+- make last search phrase stand out in article view.
+- make search phrase stand out in help (just like article view instead of limit) - configurable? combine both limit and standout?
+- add license to -V output
+- rename -v to something else to avoid confusion
 
 
 DONE:</diff>
      <filename>TODO</filename>
    </modified>
    <modified>
      <diff>@@ -11,10 +11,10 @@ After you've installed newsbeuter, you can run it for the first time by typing
 			-u &lt;urlfile&gt;    read RSS feed URLs from &lt;urlfile&gt;
 			-c &lt;cachefile&gt;  use &lt;cachefile&gt; as cache file
 			-C &lt;configfile&gt; read configuration from &lt;configfile&gt;
-			-v              clean up cache thoroughly
+			-X              clean up cache thoroughly
 			-x &lt;command&gt;... execute list of commands
 			-o              activate offline mode (only applies to bloglines synchronization mode)
-			-V              get version information
+			-v              get version information
 			-l &lt;loglevel&gt;   write a log with a certain loglevel (valid values: 1 to 6)
 			-d &lt;logfile&gt;    use &lt;logfile&gt; as output log file
 			-E &lt;file&gt;       export list of read articles to &lt;file&gt;</diff>
      <filename>doc/chapter-firststeps.txt</filename>
    </modified>
    <modified>
      <diff>@@ -10,7 +10,7 @@ newsbeuter - an RSS feed reader for text terminals
 
 SYNOPSIS
 --------
-'newsbeuter' [-r] [-e] [-i opmlfile] [-u urlfile] [-c cachefile] [-C configfile] [-v] [-o] [-x &lt;command&gt; ...] [-h]
+'newsbeuter' [-r] [-e] [-i opmlfile] [-u urlfile] [-c cachefile] [-C configfile] [-X] [-o] [-x &lt;command&gt; ...] [-h]
 
 
 DESCRIPTION
@@ -32,10 +32,10 @@ OPTIONS
 -e::
         Export feeds as OPML to stdout
 
--v::
+-X::
         Clean up cache thoroughly (i.e. reduce it in size if possible)
 
--V::
+-v, -V::
         Get version information about newsbeuter and the libraries it uses
 
 -i opmlfile::</diff>
      <filename>doc/manpage-newsbeuter.txt</filename>
    </modified>
    <modified>
      <diff>@@ -76,7 +76,7 @@ namespace newsbeuter {
 
 		private:
 			void usage(char * argv0);
-			void version_information();
+			void version_information(const char * argv0, unsigned int level);
 			void import_opml(const char * filename);
 			void export_opml();
 			void rec_find_rss_outlines(xmlNode * node, std::string tag);</diff>
      <filename>include/controller.h</filename>
    </modified>
    <modified>
      <diff>@@ -14,7 +14,7 @@ src/configparser.o: include/configparser.h include/tagsouppullparser.h include/e
 src/controller.o: include/view.h include/controller.h include/configparser.h \
 	include/configcontainer.h include/exceptions.h include/downloadthread.h \
 	include/colormanager.h include/logger.h include/utils.h include/stflpp.h \
-	config.h
+	config.h xlicense.h
 
 src/download.o: include/download.h include/pb_controller.h config.h
 </diff>
      <filename>mk.deps</filename>
    </modified>
    <modified>
      <diff>@@ -13,6 +13,7 @@
 #include &lt;formatstring.h&gt;
 #include &lt;regexmanager.h&gt;
 #include &lt;rss_parser.h&gt;
+#include &lt;xlicense.h&gt;
 
 #include &lt;cstdlib&gt;
 #include &lt;cstring&gt;
@@ -119,12 +120,13 @@ void controller::run(int argc, char * argv[]) {
 	std::string importfile;
 	bool do_read_import = false, do_read_export = false;
 	std::string readinfofile;
+	unsigned int show_version = 0;
 
 	bool silent = false;
 	bool execute_cmds = false;
 
 	do {
-		if((c = ::getopt(argc,argv,&quot;i:erhu:c:C:d:l:vVoxI:E:&quot;))&lt;0)
+		if((c = ::getopt(argc,argv,&quot;i:erhu:c:C:d:l:vVoxXI:E:&quot;))&lt;0)
 			continue;
 		switch (c) {
 			case ':': /* fall-through */
@@ -161,11 +163,12 @@ void controller::run(int argc, char * argv[]) {
 			case 'C':
 				config_file = optarg;
 				break;
-			case 'v':
+			case 'X':
 				do_vacuum = true;
 				break;
+			case 'v':
 			case 'V':
-				version_information();
+				show_version++;
 				break;
 			case 'o':
 				offline_mode = true;
@@ -203,6 +206,9 @@ void controller::run(int argc, char * argv[]) {
 		}
 	} while (c != -1);
 
+	if (show_version) {
+		version_information(argv[0], show_version);
+	}
 
 	if (do_import) {
 		LOG(LOG_INFO,&quot;Importing OPML file from %s&quot;,importfile.c_str());
@@ -651,21 +657,27 @@ void controller::start_reload_all_thread(std::vector&lt;int&gt; * indexes) {
 	dlt-&gt;start();
 }
 
-void controller::version_information() {
-	std::cout &lt;&lt; PROGRAM_NAME &lt;&lt; &quot; &quot; &lt;&lt; PROGRAM_VERSION &lt;&lt; &quot; - &quot; &lt;&lt; PROGRAM_URL &lt;&lt; std::endl;
-	std::cout &lt;&lt; &quot;Copyright (C) 2006-2009 Andreas Krennmair&quot; &lt;&lt; std::endl &lt;&lt; std::endl;
+void controller::version_information(const char * argv0, unsigned int level) {
+	if (level&lt;=1) {
+		std::cout &lt;&lt; PROGRAM_NAME &lt;&lt; &quot; &quot; &lt;&lt; PROGRAM_VERSION &lt;&lt; &quot; - &quot; &lt;&lt; PROGRAM_URL &lt;&lt; std::endl;
+		std::cout &lt;&lt; &quot;Copyright (C) 2006-2009 Andreas Krennmair&quot; &lt;&lt; std::endl &lt;&lt; std::endl;
 
-	struct utsname xuts;
-	uname(&amp;xuts);
+		std::cout &lt;&lt; _(&quot;newsbeuter is free software and licensed under the MIT/X Consortium License.&quot;) &lt;&lt; std::endl;
+		std::cout &lt;&lt; utils::strprintf(_(&quot;Type `%s -vv' for more information.&quot;), argv0) &lt;&lt; std::endl &lt;&lt; std::endl;
 
-	std::cout &lt;&lt; &quot;System: &quot; &lt;&lt; xuts.sysname &lt;&lt; &quot; &quot; &lt;&lt; xuts.release &lt;&lt; &quot; (&quot; &lt;&lt; xuts.machine &lt;&lt; &quot;)&quot; &lt;&lt; std::endl;
+		struct utsname xuts;
+		uname(&amp;xuts);
+		std::cout &lt;&lt; &quot;System: &quot; &lt;&lt; xuts.sysname &lt;&lt; &quot; &quot; &lt;&lt; xuts.release &lt;&lt; &quot; (&quot; &lt;&lt; xuts.machine &lt;&lt; &quot;)&quot; &lt;&lt; std::endl;
 #if defined(__GNUC__) &amp;&amp; defined(__VERSION__)
-	std::cout &lt;&lt; &quot;Compiler: g++ &quot; &lt;&lt; __VERSION__ &lt;&lt; std::endl;
+		std::cout &lt;&lt; &quot;Compiler: g++ &quot; &lt;&lt; __VERSION__ &lt;&lt; std::endl;
 #endif
-	std::cout &lt;&lt; &quot;ncurses: &quot; &lt;&lt; curses_version() &lt;&lt; &quot; (compiled with &quot; &lt;&lt; NCURSES_VERSION &lt;&lt; &quot;)&quot; &lt;&lt; std::endl;
-	std::cout &lt;&lt; &quot;libcurl: &quot; &lt;&lt; curl_version()  &lt;&lt; &quot; (compiled with &quot; &lt;&lt; LIBCURL_VERSION &lt;&lt; &quot;)&quot; &lt;&lt; std::endl;
-	std::cout &lt;&lt; &quot;SQLite: &quot; &lt;&lt; sqlite3_libversion() &lt;&lt; &quot; (compiled with &quot; &lt;&lt; SQLITE_VERSION &lt;&lt; &quot;)&quot; &lt;&lt; std::endl;
-	std::cout &lt;&lt; &quot;libxml2: compiled with &quot; &lt;&lt; LIBXML_DOTTED_VERSION &lt;&lt; std::endl;
+		std::cout &lt;&lt; &quot;ncurses: &quot; &lt;&lt; curses_version() &lt;&lt; &quot; (compiled with &quot; &lt;&lt; NCURSES_VERSION &lt;&lt; &quot;)&quot; &lt;&lt; std::endl;
+		std::cout &lt;&lt; &quot;libcurl: &quot; &lt;&lt; curl_version()  &lt;&lt; &quot; (compiled with &quot; &lt;&lt; LIBCURL_VERSION &lt;&lt; &quot;)&quot; &lt;&lt; std::endl;
+		std::cout &lt;&lt; &quot;SQLite: &quot; &lt;&lt; sqlite3_libversion() &lt;&lt; &quot; (compiled with &quot; &lt;&lt; SQLITE_VERSION &lt;&lt; &quot;)&quot; &lt;&lt; std::endl;
+		std::cout &lt;&lt; &quot;libxml2: compiled with &quot; &lt;&lt; LIBXML_DOTTED_VERSION &lt;&lt; std::endl &lt;&lt; std::endl;
+	} else {
+		std::cout &lt;&lt; LICENSE_str &lt;&lt; std::endl;
+	}
 
 	::exit(EXIT_SUCCESS);
 }
@@ -692,10 +704,10 @@ void controller::usage(char * argv0) {
 		{ 'u', _(&quot;&lt;urlfile&gt;&quot;), _(&quot;read RSS feed URLs from &lt;urlfile&gt;&quot;) },
 		{ 'c', _(&quot;&lt;cachefile&gt;&quot;), _(&quot;use &lt;cachefile&gt; as cache file&quot;) },
 		{ 'C', _(&quot;&lt;configfile&gt;&quot;), _(&quot;read configuration from &lt;configfile&gt;&quot;) },
-		{ 'v', &quot;&quot;, _(&quot;clean up cache thoroughly&quot;) },
+		{ 'X', &quot;&quot;, _(&quot;clean up cache thoroughly&quot;) },
 		{ 'x', _(&quot;&lt;command&gt;...&quot;), _(&quot;execute list of commands&quot;) },
 		{ 'o', &quot;&quot;, _(&quot;activate offline mode (only applies to bloglines synchronization mode)&quot;) },
-		{ 'V', &quot;&quot;, _(&quot;get version information&quot;) },
+		{ 'v', &quot;&quot;, _(&quot;get version information&quot;) },
 		{ 'l', _(&quot;&lt;loglevel&gt;&quot;), _(&quot;write a log with a certain loglevel (valid values: 1 to 6)&quot;) },
 		{ 'd', _(&quot;&lt;logfile&gt;&quot;), _(&quot;use &lt;logfile&gt; as output log file&quot;) },
 		{ 'E', _(&quot;&lt;file&gt;&quot;), _(&quot;export list of read articles to &lt;file&gt;&quot;) },</diff>
      <filename>src/controller.cpp</filename>
    </modified>
  </modified>
  <removed type="array">
    <removed>
      <filename>stfl2h.pl</filename>
    </removed>
  </removed>
  <parents type="array">
    <parent>
      <id>4e1f444dddc01ae1bc9d08bbe5517269cd16ea55</id>
    </parent>
  </parents>
  <author>
    <name>Andreas Krennmair</name>
    <email>ak@synflood.at</email>
  </author>
  <url>http://github.com/akrennmair/newsbeuter/commit/0249e5e0dec18f983f4a0aa84bb6af1faf9203ca</url>
  <id>0249e5e0dec18f983f4a0aa84bb6af1faf9203ca</id>
  <committed-date>2009-02-09T00:38:35-08:00</committed-date>
  <authored-date>2009-02-09T00:38:35-08:00</authored-date>
  <message>updated TODO list, renamed -v to -X, added license information in new -v output.</message>
  <tree>7e4d239e0857b204a18d07b259443741438ad1f2</tree>
  <committer>
    <name>Andreas Krennmair</name>
    <email>ak@synflood.at</email>
  </committer>
</commit>
