__ and __ can take one of these forms: - __ + If __ or __ is a number, it specifies an absolute line number (lines count from 1). + - `//` + This form will use the first line matching the given POSIX __. If __ is a regex, it will search from the end of the previous `-L` range, if any, otherwise from the start of file. If __ is `^//`, it will search from the start of file. If __ is a regex, it will search starting at the line given by __. + - `+` or `-` + This is only valid for __ and will specify a number of lines before or after the line given by __. + If `:` is given in place of __ and __, it is a regular expression that denotes the range from the first funcname line that matches __, up to the next funcname line. `:` searches from the end of the previous `-L` range, if any, otherwise from the start of file. `^:` searches from the start of file. The function names are determined in the same way as `git diff` works out patch hunk headers (see 'Defining a custom hunk-header' in linkgit:gitattributes[5]).