patch 7.4.1553
Problem:    ":runtime" does not use 'packpath'.
Solution:   Add "what" argument.
diff --git a/src/testdir/test_packadd.vim b/src/testdir/test_packadd.vim
index 3ca8375..52e6a33 100644
--- a/src/testdir/test_packadd.vim
+++ b/src/testdir/test_packadd.vim
@@ -134,3 +134,50 @@
   colorscheme three
   call assert_equal(1, g:found_three)
 endfunc
+
+func Test_runtime()
+  let rundir = &packpath . '/runtime/extra'
+  let startdir = &packpath . '/pack/mine/start/foo/extra'
+  let optdir = &packpath . '/pack/mine/opt/bar/extra'
+  call mkdir(rundir, 'p')
+  call mkdir(startdir, 'p')
+  call mkdir(optdir, 'p')
+  call writefile(['let g:sequence .= "run"'], rundir . '/bar.vim')
+  call writefile(['let g:sequence .= "start"'], startdir . '/bar.vim')
+  call writefile(['let g:sequence .= "foostart"'], startdir . '/foo.vim')
+  call writefile(['let g:sequence .= "opt"'], optdir . '/bar.vim')
+  call writefile(['let g:sequence .= "xxxopt"'], optdir . '/xxx.vim')
+  exe 'set rtp=' . &packpath . '/runtime'
+
+  let g:sequence = ''
+  runtime extra/bar.vim
+  call assert_equal('run', g:sequence)
+  let g:sequence = ''
+  runtime START extra/bar.vim
+  call assert_equal('start', g:sequence)
+  let g:sequence = ''
+  runtime OPT extra/bar.vim
+  call assert_equal('opt', g:sequence)
+  let g:sequence = ''
+  runtime PACK extra/bar.vim
+  call assert_equal('start', g:sequence)
+  let g:sequence = ''
+  runtime! PACK extra/bar.vim
+  call assert_equal('startopt', g:sequence)
+  let g:sequence = ''
+  runtime PACK extra/xxx.vim
+  call assert_equal('xxxopt', g:sequence)
+
+  let g:sequence = ''
+  runtime ALL extra/bar.vim
+  call assert_equal('run', g:sequence)
+  let g:sequence = ''
+  runtime ALL extra/foo.vim
+  call assert_equal('foostart', g:sequence)
+  let g:sequence = ''
+  runtime! ALL extra/xxx.vim
+  call assert_equal('xxxopt', g:sequence)
+  let g:sequence = ''
+  runtime! ALL extra/bar.vim
+  call assert_equal('runstartopt', g:sequence)
+endfunc