patch 8.1.1608: the evalfunc.c file is too big

Problem:    The evalfunc.c file is too big.
Solution:   Move sign functionality to sign.c.
diff --git a/src/testdir/test_popupwin.vim b/src/testdir/test_popupwin.vim
index 1cb0734..f4bc33c 100644
--- a/src/testdir/test_popupwin.vim
+++ b/src/testdir/test_popupwin.vim
@@ -1436,7 +1436,15 @@
     func ScrollDown()
       call feedkeys("\<F3>\<ScrollWheelDown>", "xt")
     endfunc
+    func ClickTop()
+      call feedkeys("\<F4>\<LeftMouse>", "xt")
+    endfunc
+    func ClickBot()
+      call feedkeys("\<F5>\<LeftMouse>", "xt")
+    endfunc
     map <silent> <F3> :call test_setmouse(5, 36)<CR>
+    map <silent> <F4> :call test_setmouse(4, 42)<CR>
+    map <silent> <F5> :call test_setmouse(7, 42)<CR>
   END
   call writefile(lines, 'XtestPopupScroll')
   let buf = RunVimInTerminal('-S XtestPopupScroll', {'rows': 10})
@@ -1464,6 +1472,14 @@
   call term_sendkeys(buf, ":call ScrollDown()\<CR>")
   call VerifyScreenDump(buf, 'Test_popupwin_scroll_7', {})
 
+  call term_sendkeys(buf, ":call ClickTop()\<CR>")
+  sleep 100m
+  call term_sendkeys(buf, ":call ClickTop()\<CR>")
+  call VerifyScreenDump(buf, 'Test_popupwin_scroll_8', {})
+
+  call term_sendkeys(buf, ":call ClickBot()\<CR>")
+  call VerifyScreenDump(buf, 'Test_popupwin_scroll_9', {})
+
   " clean up
   call StopVimInTerminal(buf)
   call delete('XtestPopupScroll')