patch 8.2.0907: when using :global clipboard isn't set correctly

Problem:    When using :global clipboard isn't set correctly.
Solution:   Set "clip_unnamed_saved" instead of "clip_unnamed". (Christian
            Brabandt, closes #6203, closes #6198)
diff --git a/src/clipboard.c b/src/clipboard.c
index 7a35112..5db13a0 100644
--- a/src/clipboard.c
+++ b/src/clipboard.c
@@ -1317,7 +1317,12 @@
     }
     if (errmsg == NULL)
     {
-	clip_unnamed = new_unnamed;
+	if (global_busy)
+	    // clip_unnamed will be reset to clip_unnamed_saved
+	    // at end_global_changes
+	    clip_unnamed_saved = new_unnamed;
+	else
+	    clip_unnamed = new_unnamed;
 	clip_autoselect_star = new_autoselect_star;
 	clip_autoselect_plus = new_autoselect_plus;
 	clip_autoselectml = new_autoselectml;
diff --git a/src/testdir/test_global.vim b/src/testdir/test_global.vim
index d3bfaa9..38dc082 100644
--- a/src/testdir/test_global.vim
+++ b/src/testdir/test_global.vim
@@ -1,3 +1,4 @@
+source check.vim
 
 func Test_yank_put_clipboard()
   new
@@ -13,6 +14,16 @@
   bwipe!
 endfunc
 
+func Test_global_set_clipboard()
+  CheckFeature clipboard_working
+  new
+  set clipboard=unnamedplus
+  let @+='clipboard' | g/^/set cb= | let @" = 'unnamed' | put
+  call assert_equal(['','unnamed'], getline(1, '$'))
+  set clipboard&
+  bwipe!
+endfunc
+
 func Test_nested_global()
   new
   call setline(1, ['nothing', 'found', 'found bad', 'bad'])
diff --git a/src/version.c b/src/version.c
index 0530106..3fccc70 100644
--- a/src/version.c
+++ b/src/version.c
@@ -747,6 +747,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    907,
+/**/
     906,
 /**/
     905,