Mercurial > vim
comparison src/os_win32.c @ 11991:15ec6d5adf43 v8.0.0876
patch 8.0.0876: backslashes and wildcards in backticks don't work
commit https://github.com/vim/vim/commit/39d21e3c30f3391f3b27f5ddb7e1ad411bdb8f2e
Author: Bram Moolenaar <Bram@vim.org>
Date: Sat Aug 5 23:09:31 2017 +0200
patch 8.0.0876: backslashes and wildcards in backticks don't work
Problem: MS-Windows: Backslashes and wildcards in backticks don't work.
Solution: Do not handle backslashes inside backticks in the wrong place.
(Yasuhiro Matsumoto, closes #1942)
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Sat, 05 Aug 2017 23:15:04 +0200 |
parents | 74e45c11b754 |
children | 7e704d75a882 |
comparison
equal
deleted
inserted
replaced
11990:402d24fae651 | 11991:15ec6d5adf43 |
---|---|
7002 { | 7002 { |
7003 idx = used_file_indexes[i]; | 7003 idx = used_file_indexes[i]; |
7004 str = utf16_to_enc(ArglistW[idx], NULL); | 7004 str = utf16_to_enc(ArglistW[idx], NULL); |
7005 if (str != NULL) | 7005 if (str != NULL) |
7006 { | 7006 { |
7007 int literal = used_file_literal; | |
7008 | |
7007 #ifdef FEAT_DIFF | 7009 #ifdef FEAT_DIFF |
7008 /* When using diff mode may need to concatenate file name to | 7010 /* When using diff mode may need to concatenate file name to |
7009 * directory name. Just like it's done in main(). */ | 7011 * directory name. Just like it's done in main(). */ |
7010 if (used_file_diff_mode && mch_isdir(str) && GARGCOUNT > 0 | 7012 if (used_file_diff_mode && mch_isdir(str) && GARGCOUNT > 0 |
7011 && !mch_isdir(alist_name(&GARGLIST[0]))) | 7013 && !mch_isdir(alist_name(&GARGLIST[0]))) |
7023 /* Re-use the old buffer by renaming it. When not using literal | 7025 /* Re-use the old buffer by renaming it. When not using literal |
7024 * names it's done by alist_expand() below. */ | 7026 * names it's done by alist_expand() below. */ |
7025 if (used_file_literal) | 7027 if (used_file_literal) |
7026 buf_set_name(fnum_list[i], str); | 7028 buf_set_name(fnum_list[i], str); |
7027 | 7029 |
7028 alist_add(&global_alist, str, used_file_literal ? 2 : 0); | 7030 /* Check backtick literal. backtick literal is already expanded in |
7031 * main.c, so this part add str as literal. */ | |
7032 if (literal == FALSE) | |
7033 { | |
7034 int len = STRLEN(str); | |
7035 if (len > 2 && *str == '`' && *(str + len - 1) == '`') | |
7036 literal = TRUE; | |
7037 } | |
7038 alist_add(&global_alist, str, literal ? 2 : 0); | |
7029 } | 7039 } |
7030 } | 7040 } |
7031 | 7041 |
7032 if (!used_file_literal) | 7042 if (!used_file_literal) |
7033 { | 7043 { |