diff options
author | liljencrantz <liljencrantz@gmail.com> | 2008-01-09 10:00:46 +1000 |
---|---|---|
committer | liljencrantz <liljencrantz@gmail.com> | 2008-01-09 10:00:46 +1000 |
commit | 5379200b9ecef9e80b8d7f60c9ef480231c7ed39 (patch) | |
tree | 9a6140be0582826bf973c2dddd16ac3dbffac08c /reader.c | |
parent | 9c38ed8238cb184b11ac349a70e8e9679783e183 (diff) |
Make sure inserted completions are escaped, even when case insensitive
darcs-hash:20080109000046-75c98-baf9ef4594ad0c7024a79b5c4819c10c0697ba47.gz
Diffstat (limited to 'reader.c')
-rw-r--r-- | reader.c | 10 |
1 files changed, 8 insertions, 2 deletions
@@ -967,7 +967,8 @@ static void completion_insert( const wchar_t *val, int flags ) int tok_start, tok_len; wchar_t *begin, *end; string_buffer_t sb; - + wchar_t *escaped; + parse_util_token_extent( data->buff, data->buff_pos, &begin, 0, 0, 0 ); end = data->buff+data->buff_pos; @@ -976,7 +977,12 @@ static void completion_insert( const wchar_t *val, int flags ) sb_init( &sb ); sb_append_substring( &sb, data->buff, begin - data->buff ); - sb_append( &sb, val ); + + escaped = escape( val, ESCAPE_ALL | ESCAPE_NO_QUOTED ); + + sb_append( &sb, escaped ); + free( escaped ); + if( add_space ) { sb_append( &sb, L" " ); |