@@ -284,7 +284,6 @@ impl Redirect {
284
284
core : & mut ShellCore ,
285
285
lineno : usize ,
286
286
) -> Result < ( ) , ParseError > {
287
- let mut lineno2 = lineno;
288
287
let remove_tab = self . symbol == "<<-" ;
289
288
let end = match self . right . eval_as_value ( core) {
290
289
Ok ( s) => s,
@@ -301,11 +300,9 @@ impl Redirect {
301
300
if feeder. is_empty ( ) {
302
301
if feeder. feed_additional_line ( core) . is_err ( ) {
303
302
let msg = format ! ( "warning: here-document at line {} delimited by end-of-file (wanted `{}')" , lineno, & self . right. text) ;
304
- let _ = core. db . set_param ( "LINENO" , & lineno2 . to_string ( ) , None ) ;
303
+ let _ = core. db . set_param ( "LINENO" , & feeder . lineno . to_string ( ) , None ) ;
305
304
error:: print ( & msg, core) ;
306
305
break ;
307
- } else {
308
- lineno2 += 1 ;
309
306
}
310
307
311
308
if remove_tab {
@@ -316,6 +313,13 @@ impl Redirect {
316
313
if feeder. starts_with ( & end_return) {
317
314
feeder. consume ( end. len ( ) ) ;
318
315
break ;
316
+ } else if feeder. starts_with ( & end) {
317
+ feeder. consume ( end. len ( ) ) ;
318
+ let msg = format ! ( "warning: here-document at line {} delimited by end-of-file (wanted `{}')" , lineno, & self . right. text) ;
319
+ //let _ = core.db.set_param("LINENO", &lineno2.to_string(), None);
320
+ let _ = core. db . set_param ( "LINENO" , & feeder. lineno . to_string ( ) , None ) ;
321
+ error:: print ( & msg, core) ;
322
+ break ;
319
323
}
320
324
}
321
325
0 commit comments