Commit Graph

77 Commits

Author SHA1 Message Date
190ddda572 Merge branch 'obsd-master' 2024-12-16 12:01:12 +00:00
6b32d195e8 Add a nesting limit to source-file, from Fadi Afani in GitHub issue
4223.
2024-12-16 09:13:09 +00:00
cb00e869ea Merge branch 'obsd-master' 2024-10-12 12:01:09 +01:00
f8b56fdc3f Call realpath on the source file to match -f on the command line, GitHub
issue 4180.
2024-10-12 08:20:32 +00:00
9f9156c030 Merge branch 'obsd-master' 2023-09-15 10:01:11 +01:00
d394293ba5 Add -t to source-file, GitHub issue 3473. 2023-09-15 06:31:49 +00:00
95a374d7d2 Merge branch 'obsd-master' into master 2021-08-23 16:06:46 +01:00
4a753dbefc Fix a few memory leaks. 2021-08-23 11:04:21 +00:00
03054598df Merge branch 'obsd-master' into master 2021-08-22 16:01:19 +01:00
72d905f32c Do not double free expanded path in source-file, also remove some
unnecessary assignments.
2021-08-22 13:48:29 +00:00
62036121fa Merge branch 'obsd-master' into master 2021-08-21 12:01:41 +01:00
08e6360f23 Add args parsing callback for some future work, currently unused. 2021-08-21 10:22:38 +00:00
b0da0cee4d Merge branch 'obsd-master' into master 2021-08-20 22:01:46 +01:00
5f32b7d961 Hide struct args behind a couple of accessor functions. 2021-08-20 19:50:16 +00:00
77bd6b9ec3 Do not use NULL client when source-file finishes, GitHub issue 2707. 2021-06-10 07:53:19 +00:00
f03b27c72b Do not use NULL client when source-file finishes, GitHub issue 2707. 2021-05-12 07:08:58 +01:00
a0fee328bf Merge branch 'obsd-master' 2020-09-01 12:01:20 +01:00
60860aced8 Add -F to set-environment and source-file; GitHub issue 2359. 2020-09-01 09:19:01 +00:00
8f2b5d714a Merge branch 'obsd-master' 2020-04-13 14:01:45 +01:00
04cdd03525 Also move cmdq_item and cmdq_list into cmd-queue.c (this is to make its
use more clearly defined and preparation for some future work).
2020-04-13 10:59:58 +00:00
b117c3b812 Merge branch 'obsd-master' 2020-04-13 10:30:00 +01:00
c20eb0c0ae Make struct cmd local to cmd.c and move it out of tmux.h. 2020-04-13 08:26:27 +00:00
a6b1cbba02 Merge branch 'obsd-master' 2019-12-21 18:01:24 +00:00
tim
5cd00eda0b Restore source-file -q behaviour, broken in r1.42; OK nicm@ 2019-12-21 17:30:48 +00:00
745233d6a1 Merge branch 'obsd-master' 2019-12-19 10:01:26 +00:00
1764f66b7d When adding a list with multiple commands to the queue, the next item to
insert after needs to be the last one added, not the first. Reported by
Jason Kim in GitHub issue 2023.
2019-12-19 09:22:33 +00:00
d0cd68d5e4 Merge branch 'obsd-master' 2019-12-18 08:01:23 +00:00
ef54a08080 Do not rely on errno after glob(3) fails. 2019-12-18 07:48:56 +00:00
7922f4ee7b Merge branch 'obsd-master' 2019-12-12 14:33:47 +00:00
5134666702 Change source-file to use new file code which allows it to read from
stdin.
2019-12-12 12:49:36 +00:00
c91680822d Merge branch 'obsd-master' 2019-06-05 23:02:26 +01:00
8f40796f05 Add a -v flag to source-file to show the commands and line numbers. 2019-06-05 20:00:53 +00:00
b8360504f3 Merge branch 'obsd-master' 2019-05-28 15:02:26 +01:00
299d4f3aaa Exit 1 correctly if source-file fails. 2019-05-28 12:20:28 +00:00
0ec410689c Allow source-file to take multiple arguments. 2019-05-28 11:46:30 +00:00
75aeb733f2 Merge branch 'obsd-master' 2019-05-23 13:02:27 +01:00
723010ba72 Replace the split parser code (cfg.c and cmd-string.c) with a single
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.
2019-05-23 11:13:30 +00:00
98ee93bde3 Merge branch 'obsd-master' 2019-05-20 15:02:40 +01:00
87d82170a6 Fix ordering of source-file with multiple files and add flags to load_cfg. 2019-05-20 13:23:32 +00:00
7448b38327 Merge branch 'obsd-master' 2018-05-24 13:02:29 +01:00
b9a6162d2f Make server_client_get_cwd used (almost) everywhere we need to work out
the cwd, and do not fall back to "." as it is pretty useless. GitHub
issue 1331.
2018-05-24 09:42:49 +00:00
3385159c94 Merge branch 'obsd-master' 2017-04-19 20:01:11 +01:00
f184c6f06c load_cfg returns < 0 on error, not != 0. Problem reported by Kaushal Modi. 2017-04-19 16:59:54 +00:00
2b4c144f96 Remove vis.h. 2017-02-15 08:37:11 +00:00
e340df2034 Make source-file look for files relative to the client working directory
(like load-buffer and save-buffer), from Chris Pickel. Also break the
where-is-this-file code out into its own function for loadb and saveb.
2017-02-14 18:13:05 +00:00
b6099f31ea Add -n to break-pane. 2017-01-29 22:10:55 +00:00
561b5c6fdb source-file -q needs to apply to glob(3) too. 2017-01-09 19:29:12 +00:00
5330a2a85d Run the source-file pattern through glob(3). 2017-01-09 19:27:00 +00:00
b342bd0b46 Mass rename struct cmd_q to struct cmdq_item and related. 2016-10-16 19:04:05 +00:00
ddc4512d2e Rewrite command queue handling. Each client still has a command queue,
but there is also now a global command queue. Instead of command queues
being dispatched on demand from wherever the command happens to be
added, they are now all dispatched from the top level server
loop. Command queues may now also include callbacks as well as commands,
and items may be inserted after the current command as well as at the end.

This all makes command queues significantly more predictable and easier
to use, and avoids the complex multiple nested command queues used by
source-file, if-shell and friends.

A mass rename of struct cmdq to a better name (cmdq_item probably) is
coming.
2016-10-16 17:55:14 +00:00