diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt
index 1944fdd8..b100682 100644
--- a/runtime/doc/eval.txt
+++ b/runtime/doc/eval.txt
@@ -60,7 +60,7 @@
 		value. |Dictionary|
 		Examples:
 			{'blue': "#0000ff", 'red': "#ff0000"}
-			*{blue: "#0000ff", red: "#ff0000"}
+			~{blue: "#0000ff", red: "#ff0000"}
 
 Funcref		A reference to a function |Funcref|.
 		Example: function("strlen")
@@ -482,10 +482,10 @@
 Number will be converted to the String '4'.  The empty string can also be used
 as a key.
 						*literal-Dict*
-To avoid having to put quotes around every key the *{} form can be used.  This
+To avoid having to put quotes around every key the ~{} form can be used.  This
 does require the key to consist only of ASCII letters, digits, '-' and '_'.
 Example: >
-	let mydict = *{zero: 0, one_key: 1, two-key: 2, 333: 3}
+	let mydict = ~{zero: 0, one_key: 1, two-key: 2, 333: 3}
 Note that 333 here is the string "333".  Empty keys are not possible here.
 
 A value can be any expression.  Using a Dictionary for a value creates a
diff --git a/runtime/doc/popup.txt b/runtime/doc/popup.txt
index 0fd30eb..564bcbe 100644
--- a/runtime/doc/popup.txt
+++ b/runtime/doc/popup.txt
@@ -178,7 +178,7 @@
 popup_atcursor({what}, {options})			*popup_atcursor()*
 		Show the {what} above the cursor, and close it when the cursor
 		moves.  This works like: >
-			call popup_create({what}, *{
+			call popup_create({what}, ~{
 				\ pos: 'botleft',
 				\ line: 'cursor-1',
 				\ col: 'cursor',
@@ -191,7 +191,7 @@
 		Show the {what} above the position from 'ballooneval' and
 		close it when the mouse moves.  This works like: >
 		  let pos = screenpos(v:beval_winnr, v:beval_lnum, v:beval_col)
-		  call popup_create({what}, *{
+		  call popup_create({what}, ~{
 			\ pos: 'botleft',
 			\ line: pos.row - 1,
 			\ col: pos.col,
@@ -240,7 +240,7 @@
 
 popup_dialog({what}, {options})				*popup_dialog()*
 		Just like |popup_create()| but with these default options: >
-			call popup_create({what}, *{
+			call popup_create({what}, ~{
 				\ pos: 'center',
 				\ zindex: 200,
 				\ drag: 1,
@@ -249,7 +249,7 @@
 				\})
 <		Use {options} to change the properties. E.g. add a 'filter'
 		option with value 'popup_filter_yesno'.  Example: >
-			call popup_create('do you want to quit (Yes/no)?', *{
+			call popup_create('do you want to quit (Yes/no)?', ~{
 				\ filter: 'popup_filter_yesno',
 				\ callback: 'QuitCallback',
 				\ })
@@ -356,7 +356,7 @@
 		items with cursorkeys, and close it an item is selected with
 		Space or Enter. {what} should have multiple lines to make this
 		useful.  This works like: >
-			call popup_create({what}, *{
+			call popup_create({what}, ~{
 				\ pos: 'center',
 				\ zindex: 200,
 				\ drag: 1,
@@ -391,7 +391,7 @@
 popup_notification({what}, {options})			 *popup_notification()*
 		Show the {what} for 3 seconds at the top of the Vim window.
 		This works like: >
-			call popup_create({what}, *{
+			call popup_create({what}, ~{
 				\ line: 1,
 				\ col: 10,
 				\ minwidth: 20,
@@ -732,7 +732,7 @@
 	   endif
 	endfunc
 
-	call popup_dialog('Continue? y/n', *{
+	call popup_dialog('Continue? y/n', ~{
 		\ filter: 'popup_filter_yesno',
 		\ callback: 'MyDialogHandler',
 		\ })
@@ -740,7 +740,7 @@
 					*popup_menu-shortcut-example*
 Extend popup_filter_menu() with shortcut keys: >
 
-	call popup_menu(['Save', 'Cancel', 'Discard'], *{
+	call popup_menu(['Save', 'Cancel', 'Discard'], ~{
 		\ filter: 'MyMenuFilter',
 		\ callback: 'MyMenuHandler',
 		\ })
@@ -781,7 +781,7 @@
 	    endif
 	    call popup_close(s:winid)
 	  endif
-	  let s:winid = popup_beval(v:beval_text, *{mousemoved: 'word'})
+	  let s:winid = popup_beval(v:beval_text, ~{mousemoved: 'word'})
 	  let s:last_text = v:beval_text
 	  return ''
 	endfunc
@@ -812,7 +812,7 @@
 	endfunc
 
 	func ShowPopup(id)
-	  let s:winid = popup_beval(s:balloonText, *{mousemoved: 'word'})
+	  let s:winid = popup_beval(s:balloonText, ~{mousemoved: 'word'})
 	endfunc
 <
 
