diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt
index b100682..8c70b52 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,11 +482,11 @@
 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}
-Note that 333 here is the string "333".  Empty keys are not possible here.
+	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 with #{}.
 
 A value can be any expression.  Using a Dictionary for a value creates a
 nested Dictionary: >
diff --git a/runtime/doc/popup.txt b/runtime/doc/popup.txt
index 564bcbe..cbe8310 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
 <
 
