From 04bf0d8efc25d7e40fc034db0f2546cf8a09cfda Mon Sep 17 00:00:00 2001 From: Tiago Cunha Date: Tue, 22 May 2012 20:50:51 +0000 Subject: [PATCH] Sync OpenBSD patchset 1113: Ignore line continuation when escaped as \\, from Simon Nicolussi. --- cfg.c | 4 +++- tmux.1 | 3 ++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/cfg.c b/cfg.c index 459e8620..4d6a45c9 100644 --- a/cfg.c +++ b/cfg.c @@ -109,7 +109,9 @@ load_cfg(const char *path, struct cmd_ctx *ctxin, struct causelist *causes) len = strlen(line); if (len > 0 && line[len - 1] == '\\') { line[len - 1] = '\0'; - continue; + /* Ignore escaped backslash at EOL. */ + if (len > 1 && line[len - 2] != '\\') + continue; } buf = line; line = NULL; diff --git a/tmux.1 b/tmux.1 index bc83be19..4f52ae05 100644 --- a/tmux.1 +++ b/tmux.1 @@ -497,7 +497,8 @@ Multiple commands may be specified together as part of a .Em command sequence . Each command should be separated by spaces and a semicolon; commands are executed sequentially from left to right and -lines ending with a backslash continue on to the next line. +lines ending with a backslash continue on to the next line, +except when escaped by another backslash. A literal semicolon may be included by escaping it with a backslash (for example, when specifying a command sequence to .Ic bind-key ) .