diff --git a/src/ex_cmds.h b/src/ex_cmds.h
index 09d62a9..983378c 100644
--- a/src/ex_cmds.h
+++ b/src/ex_cmds.h
@@ -254,7 +254,7 @@
 	EX_RANGE|EX_WORD1|EX_TRLBAR,
 	ADDR_OTHER),
 EXCMD(CMD_caddexpr,	"caddexpr",	ex_cexpr,
-	EX_NEEDARG|EX_WORD1|EX_NOTRLCOM|EX_TRLBAR,
+	EX_NEEDARG|EX_WORD1|EX_NOTRLCOM,
 	ADDR_NONE),
 EXCMD(CMD_caddfile,	"caddfile",	ex_cfile,
 	EX_TRLBAR|EX_FILE1,
@@ -296,7 +296,7 @@
 	EX_TRLBAR|EX_RANGE|EX_WHOLEFOLD|EX_EXTRA|EX_CMDWIN|EX_MODIFY,
 	ADDR_LINES),
 EXCMD(CMD_cexpr,	"cexpr",	ex_cexpr,
-	EX_NEEDARG|EX_WORD1|EX_NOTRLCOM|EX_TRLBAR|EX_BANG,
+	EX_NEEDARG|EX_WORD1|EX_NOTRLCOM|EX_BANG,
 	ADDR_NONE),
 EXCMD(CMD_cfile,	"cfile",	ex_cfile,
 	EX_TRLBAR|EX_FILE1|EX_BANG,
@@ -314,7 +314,7 @@
 	EX_RANGE|EX_WORD1|EX_TRLBAR,
 	ADDR_OTHER),
 EXCMD(CMD_cgetexpr,	"cgetexpr",	ex_cexpr,
-	EX_NEEDARG|EX_WORD1|EX_NOTRLCOM|EX_TRLBAR,
+	EX_NEEDARG|EX_WORD1|EX_NOTRLCOM,
 	ADDR_NONE),
 EXCMD(CMD_chdir,	"chdir",	ex_cd,
 	EX_BANG|EX_FILE1|EX_TRLBAR|EX_CMDWIN,
@@ -746,7 +746,7 @@
 	EX_EXTRA|EX_TRLBAR|EX_CMDWIN,
 	ADDR_NONE),
 EXCMD(CMD_laddexpr,	"laddexpr",	ex_cexpr,
-	EX_NEEDARG|EX_WORD1|EX_NOTRLCOM|EX_TRLBAR,
+	EX_NEEDARG|EX_WORD1|EX_NOTRLCOM,
 	ADDR_NONE),
 EXCMD(CMD_laddbuffer,	"laddbuffer",	ex_cbuffer,
 	EX_RANGE|EX_WORD1|EX_TRLBAR,
@@ -797,7 +797,7 @@
 	EX_EXTRA|EX_NOTRLCOM|EX_SBOXOK|EX_CMDWIN,
 	ADDR_NONE),
 EXCMD(CMD_lexpr,	"lexpr",	ex_cexpr,
-	EX_NEEDARG|EX_WORD1|EX_NOTRLCOM|EX_TRLBAR|EX_BANG,
+	EX_NEEDARG|EX_WORD1|EX_NOTRLCOM|EX_BANG,
 	ADDR_NONE),
 EXCMD(CMD_lfile,	"lfile",	ex_cfile,
 	EX_TRLBAR|EX_FILE1|EX_BANG,
@@ -815,7 +815,7 @@
 	EX_RANGE|EX_WORD1|EX_TRLBAR,
 	ADDR_OTHER),
 EXCMD(CMD_lgetexpr,	"lgetexpr",	ex_cexpr,
-	EX_NEEDARG|EX_WORD1|EX_NOTRLCOM|EX_TRLBAR,
+	EX_NEEDARG|EX_WORD1|EX_NOTRLCOM,
 	ADDR_NONE),
 EXCMD(CMD_lgrep,	"lgrep",	ex_make,
 	EX_RANGE|EX_BANG|EX_NEEDARG|EX_EXTRA|EX_NOTRLCOM|EX_TRLBAR|EX_XFILE,
diff --git a/src/quickfix.c b/src/quickfix.c
index 3d12374..206e901 100644
--- a/src/quickfix.c
+++ b/src/quickfix.c
@@ -7548,7 +7548,7 @@
 
     // Evaluate the expression.  When the result is a string or a list we can
     // use it to fill the errorlist.
-    tv = eval_expr(eap->arg, NULL);
+    tv = eval_expr(eap->arg, &eap->nextcmd);
     if (tv != NULL)
     {
 	if ((tv->v_type == VAR_STRING && tv->vval.v_string != NULL)
diff --git a/src/testdir/test_quickfix.vim b/src/testdir/test_quickfix.vim
index 4c3277c..f7c73f4 100644
--- a/src/testdir/test_quickfix.vim
+++ b/src/testdir/test_quickfix.vim
@@ -100,7 +100,7 @@
   " Populate the list and then try
   Xgetexpr ['non-error 1', 'Xtestfile1:1:3:Line1',
 		  \ 'non-error 2', 'Xtestfile2:2:2:Line2',
-		  \ 'non-error 3', 'Xtestfile3:3:1:Line3']
+		  \ 'non-error| 3', 'Xtestfile3:3:1:Line3']
 
   " List only valid entries
   let l = split(execute('Xlist', ''), "\n")
@@ -112,7 +112,7 @@
   let l = split(execute('Xlist!', ''), "\n")
   call assert_equal([' 1: non-error 1', ' 2 Xtestfile1:1 col 3: Line1',
 		   \ ' 3: non-error 2', ' 4 Xtestfile2:2 col 2: Line2',
-		   \ ' 5: non-error 3', ' 6 Xtestfile3:3 col 1: Line3'], l)
+		   \ ' 5: non-error| 3', ' 6 Xtestfile3:3 col 1: Line3'], l)
 
   " List a range of errors
   let l = split(execute('Xlist 3,6', ''), "\n")
@@ -556,7 +556,7 @@
   Xexpr ""
   call assert_equal(0, g:Xgetlist({'idx' : 0}).idx)
   call assert_equal(0, g:Xgetlist({'size' : 0}).size)
-  Xaddexpr ['foo', 'bar', 'baz', 'quux', 'shmoo']
+  Xaddexpr ['foo', 'bar', 'baz', 'quux', 'sh|moo']
   call assert_equal(5, g:Xgetlist({'size' : 0}).size)
   Xlast
   call assert_equal(5, g:Xgetlist({'idx' : 0}).idx)
@@ -4650,13 +4650,13 @@
 	      \ "Xfile3:1:X3_L1\n" .
 	      \ "Entering dir c\n" .
 	      \ "Xfile4:2:X4_L2\n" .
-	      \ "Leaving dir c\n" .
-	      \ "Leaving dir Xtestdir\n"
+	      \ "Leaving dir c\n"
   set efm=%DEntering\ dir\ %f,%XLeaving\ dir\ %f,%f:%l:%m
-  cexpr lines
+  cexpr lines .. "Leaving dir Xtestdir|\n" | let next = 1
   call assert_equal(11, getqflist({'size' : 0}).size)
   call assert_equal(4, getqflist({'idx' : 0}).idx)
   call assert_equal('X2_L2', getline('.'))
+  call assert_equal(1, next)
   cnext
   call assert_equal(6, getqflist({'idx' : 0}).idx)
   call assert_equal('X1_L2', getline('.'))
diff --git a/src/version.c b/src/version.c
index 8d4f945..b25cda4 100644
--- a/src/version.c
+++ b/src/version.c
@@ -743,6 +743,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    2401,
+/**/
     2400,
 /**/
     2399,
