<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rtmux.git/cmd-list.c, branch master</title>
<subtitle>Tmux with Rahm's extra hacks.</subtitle>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rtmux.git/'/>
<entry>
<title>Remove cmd-list.c line in master.</title>
<updated>2019-06-15T06:42:49+00:00</updated>
<author>
<name>Nicholas Marriott</name>
<email>nicholas.marriott@gmail.com</email>
</author>
<published>2019-06-15T06:42:49+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rtmux.git/commit/?id=08f55414e1a0f5599fa7d62db711fbfa4e4a80b2'/>
<id>08f55414e1a0f5599fa7d62db711fbfa4e4a80b2</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge cmd_list_parse into cmd-parse.y so it can use the new alias</title>
<updated>2019-05-25T07:18:20+00:00</updated>
<author>
<name>nicm</name>
<email>nicm</email>
</author>
<published>2019-05-25T07:18:20+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rtmux.git/commit/?id=f8d3d247d884a9dc0b23f2799944c15630cab28f'/>
<id>f8d3d247d884a9dc0b23f2799944c15630cab28f</id>
<content type='text'>
processing code.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
processing code.
</pre>
</div>
</content>
</entry>
<entry>
<title>Break the argument escaping code into a separate function and use it to</title>
<updated>2019-05-23T14:03:44+00:00</updated>
<author>
<name>nicm</name>
<email>nicm</email>
</author>
<published>2019-05-23T14:03:44+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rtmux.git/commit/?id=27bfb56ad5e19afa686ed6a99bf8b205fac98aef'/>
<id>27bfb56ad5e19afa686ed6a99bf8b205fac98aef</id>
<content type='text'>
escape key bindings in list-keys. Also escape ~ and ; and $ properly.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
escape key bindings in list-keys. Also escape ~ and ; and $ properly.
</pre>
</div>
</content>
</entry>
<entry>
<title>Replace the split parser code (cfg.c and cmd-string.c) with a single</title>
<updated>2019-05-23T11:13:30+00:00</updated>
<author>
<name>nicm</name>
<email>nicm</email>
</author>
<published>2019-05-23T11:13:30+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rtmux.git/commit/?id=723010ba72e337832402f8e44981c02caa30b476'/>
<id>723010ba72e337832402f8e44981c02caa30b476</id>
<content type='text'>
parser using yacc(1). This is a major change but is clearer and simpler
and allows some edge cases to be made more consistent, as well as
tidying up how aliases are handled. It will also allow some further
improvements later.

Entirely the same parser is now used for parsing the configuration file
and for string commands. This means that constructs previously only
available in .tmux.conf, such as %if, can now be used in string commands
(for example, those given to if-shell - not commands invoked from the
shell, they are still parsed by the shell itself).

The only syntax change I am aware of is that #{} outside quotes or a
comment is now considered a format and not a comment, so #{ is now a
syntax error (notably, if it is at the start of a line).

This also adds two new sections to the man page documenting the syntax
and outlining how parsing and command execution works.

Thanks to everyone who sent me test configs (they still all parse
without errors - but this doesn't mean they still work as intended!).

Thanks to Avi Halachmi for testing and man page improvements, also to
jmc@ for reviewing the man page changes.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
parser using yacc(1). This is a major change but is clearer and simpler
and allows some edge cases to be made more consistent, as well as
tidying up how aliases are handled. It will also allow some further
improvements later.

Entirely the same parser is now used for parsing the configuration file
and for string commands. This means that constructs previously only
available in .tmux.conf, such as %if, can now be used in string commands
(for example, those given to if-shell - not commands invoked from the
shell, they are still parsed by the shell itself).

The only syntax change I am aware of is that #{} outside quotes or a
comment is now considered a format and not a comment, so #{ is now a
syntax error (notably, if it is at the start of a line).

This also adds two new sections to the man page documenting the syntax
and outlining how parsing and command execution works.

Thanks to everyone who sent me test configs (they still all parse
without errors - but this doesn't mean they still work as intended!).

Thanks to Avi Halachmi for testing and man page improvements, also to
jmc@ for reviewing the man page changes.
</pre>
</div>
</content>
</entry>
<entry>
<title>Add a helper to allocate a cmd_list.</title>
<updated>2019-05-20T11:34:37+00:00</updated>
<author>
<name>nicm</name>
<email>nicm</email>
</author>
<published>2019-05-20T11:34:37+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rtmux.git/commit/?id=8db89f8efba007bab51dd8b8979a828730892f56'/>
<id>8db89f8efba007bab51dd8b8979a828730892f56</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>I no longer use my SourceForge address so replace it.</title>
<updated>2016-01-19T15:59:12+00:00</updated>
<author>
<name>nicm</name>
<email>nicm</email>
</author>
<published>2016-01-19T15:59:12+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rtmux.git/commit/?id=995af0e2b72aec54ba3685b1a8ce5e78d279d8ff'/>
<id>995af0e2b72aec54ba3685b1a8ce5e78d279d8ff</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Do not set a limit on the length of commands when printing them.</title>
<updated>2015-11-27T15:06:43+00:00</updated>
<author>
<name>nicm</name>
<email>nicm</email>
</author>
<published>2015-11-27T15:06:43+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rtmux.git/commit/?id=6a2ca34216530c687027cf9e767d2b46c85976e6'/>
<id>6a2ca34216530c687027cf9e767d2b46c85976e6</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Various minor style and spacing nits.</title>
<updated>2014-09-01T21:50:18+00:00</updated>
<author>
<name>nicm</name>
<email>nicm</email>
</author>
<published>2014-09-01T21:50:18+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rtmux.git/commit/?id=4e956d545a52fe6b8310cfb30a26a89976d55cd9'/>
<id>4e956d545a52fe6b8310cfb30a26a89976d55cd9</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Don't blindly increase offsets by the return value of snprintf, if there</title>
<updated>2014-04-11T19:35:54+00:00</updated>
<author>
<name>nicm</name>
<email>nicm</email>
</author>
<published>2014-04-11T19:35:54+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rtmux.git/commit/?id=b8bda67f304b7c70dee891b7ca660036793c2a4b'/>
<id>b8bda67f304b7c70dee891b7ca660036793c2a4b</id>
<content type='text'>
wasn't enough space this will go off the end. Instead clamp to the
available space. Fixes crash reported by Julien Rebetez.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
wasn't enough space this will go off the end. Instead clamp to the
available space. Fixes crash reported by Julien Rebetez.
</pre>
</div>
</content>
</entry>
<entry>
<title>Add a command queue to standardize and simplify commands that call other</title>
<updated>2013-03-24T09:54:10+00:00</updated>
<author>
<name>Nicholas Marriott</name>
<email>nicm@openbsd.org</email>
</author>
<published>2013-03-24T09:54:10+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rtmux.git/commit/?id=20636d956dd36c1f14152569a4d44a50eea9083d'/>
<id>20636d956dd36c1f14152569a4d44a50eea9083d</id>
<content type='text'>
commands and allow a command to block execution of subsequent
commands. This allows run-shell and if-shell to be synchronous which has
been much requested.

Each client has a default command queue and commands are consumed one at
a time from it. A command may suspend execution from the queue by
returning CMD_RETURN_WAIT and then resume it by calling cmd_continue() -
for example run-shell does this from the callback that is fired after
the job is freed.

When the command queue becomes empty, command clients are automatically
exited (unless attaching). A callback is also fired - this is used for
nested commands in, for example, if-shell which can block execution of
the client's cmdq until a new cmdq becomes empty.

Also merge all the old error/info/print functions together and lose the
old curclient/cmdclient distinction - a cmdq is bound to one client (or
none if in the configuration file), this is a command client if
c-&gt;session is NULL otherwise an attached client.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commands and allow a command to block execution of subsequent
commands. This allows run-shell and if-shell to be synchronous which has
been much requested.

Each client has a default command queue and commands are consumed one at
a time from it. A command may suspend execution from the queue by
returning CMD_RETURN_WAIT and then resume it by calling cmd_continue() -
for example run-shell does this from the callback that is fired after
the job is freed.

When the command queue becomes empty, command clients are automatically
exited (unless attaching). A callback is also fired - this is used for
nested commands in, for example, if-shell which can block execution of
the client's cmdq until a new cmdq becomes empty.

Also merge all the old error/info/print functions together and lose the
old curclient/cmdclient distinction - a cmdq is bound to one client (or
none if in the configuration file), this is a command client if
c-&gt;session is NULL otherwise an attached client.
</pre>
</div>
</content>
</entry>
</feed>
