From 5379200b9ecef9e80b8d7f60c9ef480231c7ed39 Mon Sep 17 00:00:00 2001 From: liljencrantz Date: Wed, 9 Jan 2008 10:00:46 +1000 Subject: [PATCH] Make sure inserted completions are escaped, even when case insensitive darcs-hash:20080109000046-75c98-baf9ef4594ad0c7024a79b5c4819c10c0697ba47.gz --- reader.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/reader.c b/reader.c index 3ae6db52c..b15c8a8c1 100644 --- a/reader.c +++ b/reader.c @@ -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" " );