@@ -3000,9 +3000,13 @@ fn redo(cx: &mut Context) {
30003000
30013001fn yank(cx: &mut Context) {
30023002 let (view, doc) = current!(cx.editor);
3003+ let text = doc.text().slice(..);
3004+
30033005 let values: Vec<String> = doc
30043006 .selection(view.id)
3005− .fragments(doc.text().slice(..))
3007+ .clone()
3008+ .min_width_1(text)
3009+ .fragments(text)
30063010 .map(Cow::into_owned)
30073011 .collect();
30083012
@@ -3021,10 +3025,13 @@ fn yank(cx: &mut Context) {
30213025
30223026fn yank_joined_to_clipboard_impl(editor: &mut Editor, separator: &str) -> anyhow::Result<()> {
30233027 let (view, doc) = current!(editor);
3028+ let text = doc.text().slice(..);
30243029
30253030 let values: Vec<String> = doc
30263031 .selection(view.id)
3027− .fragments(doc.text().slice(..))
3032+ .clone()
3033+ .min_width_1(text)
3034+ .fragments(text)
30283035 .map(Cow::into_owned)
30293036 .collect();
30303037
@@ -3052,11 +3059,13 @@ fn yank_joined_to_clipboard(cx: &mut Context) {
30523059
30533060fn yank_main_selection_to_clipboard_impl(editor: &mut Editor) -> anyhow::Result<()> {
30543061 let (view, doc) = current!(editor);
3062+ let text = doc.text().slice(..);
30553063
30563064 let value = doc
30573065 .selection(view.id)
30583066 .primary()
3059− .fragment(doc.text().slice(..));
3067+ .min_width_1(text)
3068+ .fragment(text);
30603069
30613070 if let Err(e) = editor.clipboard_provider.set_contents(value.into_owned()) {
30623071 bail!("Couldn't set system clipboard content: {:?}", e);