diff --git a/runtime/doc/popup.txt b/runtime/doc/popup.txt
index 02c66c3..a6dab8b 100644
--- a/runtime/doc/popup.txt
+++ b/runtime/doc/popup.txt
@@ -89,7 +89,7 @@
 TODO:
 - Why does 'nrformats' leak from the popup window buffer???
 - Disable commands, feedkeys(), CTRL-W, etc. in a popup window.
-  Use NOT_IN_POPUP_WINDOW for more commands.
+  Use ERROR_IF_POPUP_WINDOW for more commands.
 - Add 'balloonpopup': instead of showing text, let the callback open a popup
   window and return the window ID.   The popup will then be closed when the
   mouse moves, except when it moves inside the popup.
@@ -109,8 +109,6 @@
 - When the lines do not fit show a scrollbar (like in the popup menu).
   Use the mouse wheel for scrolling.
 - Implement:
-	popup_filter_menu({id}, {key})
-	popup_menu({text}, {options})
 	popup_setoptions({id}, {options})
 	hidden option
 	tabpage option with number
@@ -220,12 +218,20 @@
 
 
 popup_filter_menu({id}, {key})				*popup_filter_menu()*
-		{not implemented yet}
-		Filter that can be used for a popup. It handles the cursor
-		keys to move the selected index in the popup. Space and Enter
-		can be used to select an item.  Invokes the "callback" of the
-		popup menu with the index of the selected line as the second
-		argument.
+		Filter that can be used for a popup. These keys can be used:
+		    j <Down>	select item below
+		    k <Up>		select item above
+		    <Space> <Enter>	accept current selection
+		    x Esc CTRL-C	cancel the menu
+		Other keys are ignored.
+
+		A match is set on that line to highlight it, see
+		|popup_menu()|.
+
+		When the current selection is accepted the "callback" of the
+		popup menu is invoked with the index of the selected line as
+		the second argument.  The first entry has index one.
+		Cancelling the menu invokes the callback with -1.
 
 
 popup_filter_yesno({id}, {key})				*popup_filter_yesno()*
@@ -279,7 +285,6 @@
 
 
 popup_menu({text}, {options})				 *popup_menu()*
-		{not implemented yet}
 		Show the {text} near the cursor, handle selecting one of the
 		items with cursorkeys, and close it an item is selected with
 		Space or Enter. {text} should have multiple lines to make this
@@ -287,11 +292,16 @@
 			call popup_create({text}, {
 				\ 'pos': 'center',
 				\ 'zindex': 200,
+				\ 'drag': 1,
 				\ 'wrap': 0,
 				\ 'border': [],
+				\ 'padding': [],
 				\ 'filter': 'popup_filter_menu',
 				\ })
-<		Use {options} to change the properties.  Should at least set
+<		The current line is highlighted with a match using
+		PopupSelected, or |PmenuSel| if that is not defined.
+
+		Use {options} to change the properties.  Should at least set
 		"callback" to a function that handles the selected item.
 
 
@@ -320,7 +330,8 @@
 				\ })
 <		The PopupNotification highlight group is used instead of
 		WarningMsg if it is defined.
-<		The position will be adjusted to avoid overlap with other
+
+		The position will be adjusted to avoid overlap with other
 		notifications.
 		Use {options} to change the properties.
 
