summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMaxime Coste <frrrwww@gmail.com>2016-09-06 22:46:27 +0100
committerMaxime Coste <frrrwww@gmail.com>2016-09-06 22:46:27 +0100
commitc63c92cbf714dc14aa96e4b1a048d4f1132306b6 (patch)
treec8a83bbdbc1adf16e3aef5e271ba3591269e7474 /src
parentc1d7f79a52b3fe1198574c017ac6a2eb6ceac0c6 (diff)
Support kill session inside init command
Diffstat (limited to 'src')
-rw-r--r--src/main.cc36
1 files changed, 18 insertions, 18 deletions
diff --git a/src/main.cc b/src/main.cc
index dbaae037..0049f6be 100644
--- a/src/main.cc
+++ b/src/main.cc
@@ -557,28 +557,28 @@ int run_server(StringView session, StringView init_command,
else
buffer_manager.create_buffer("*scratch*", Buffer::Flags::None);
- if (not daemon)
+ try
{
- local_client = client_manager.create_client(
- create_local_ui(ui_type), get_env_vars(), init_command);
-
- if (local_client)
+ if (not daemon)
{
- auto& selections = local_client->context().selections_write_only();
- auto& buffer = selections.buffer();
- selections = SelectionList(buffer, buffer.clamp(target_coord));
- local_client->context().window().center_line(target_coord.line);
-
- if (startup_error)
- local_client->print_status({
- "error during startup, see *debug* buffer for details",
- get_face("Error")
- });
+ local_client = client_manager.create_client(
+ create_local_ui(ui_type), get_env_vars(), init_command);
+
+ if (local_client)
+ {
+ auto& selections = local_client->context().selections_write_only();
+ auto& buffer = selections.buffer();
+ selections = SelectionList(buffer, buffer.clamp(target_coord));
+ local_client->context().window().center_line(target_coord.line);
+
+ if (startup_error)
+ local_client->print_status({
+ "error during startup, see *debug* buffer for details",
+ get_face("Error")
+ });
+ }
}
- }
- try
- {
while (not terminate and (not client_manager.empty() or daemon))
{
client_manager.redraw_clients();