!*$ * M[opener] -- Open files, specified on the command line * * It supports both the +line[,column] and filename:line[:column] syntaxes. * Since this may make it hard to open files with certain file names, all * filenames after "--" are interpreted verbatim. * It does not change the current buffer. *! @[opener]{ [* <%.i :Q[\.i]:; EQ[\.i] !* --/-S stops processing of special arguments *! 0A--"= 1A--"= 2A"< <%.i :Q[\.i]:; EBN[\.i]> 1; ''' 1U.l 1U.c !* +line[,column] *! 0A-+"= C 0A"D \U.l <0A"DC|1;'> 0A-,"= C \U.c <0A"DC|1;'> ' 0A"< %.i Oopen ' '' !* filename:line[:column][:] *! ZJ -A-:"=R' 0U.p <-%.pA"D|1;'> Q.pA-:"= Q.p+1C \U.a R 0U.p <-%.pA"D|1;'> Q.pA-:"= Q.p+1C \U.l Q.aU.c R | Q.aU.l 1U.c ' !* FIXME: modifies the i *! .,ZD ' !open! EBN[\.i] Q.c-1,Q.l-1ESFINDCOLUMN:J > ]* } !*$ * M[opener.check-recovery] -- Warn if there if a recovery file (#filename#) is detected * * This points to a prior crash or unexpected termination. *! @[opener.check-recovery]{ :Q*"=  ' [* EQ.f G* I# R <-A"I 1; ' :R;> I# 1:EN*Q.f"S 2Detected recovery file "Q.f" ' ]* }