comparison man/maintaining.texi @ 45801:0cbd872ef18b

New multi-line regexp and new regexp syntax. New {language} and @regexp features.
author Francesco Potortì <pot@gnu.org>
date Thu, 13 Jun 2002 12:10:00 +0000
parents c8a6b0050bb0
children 22138a27a5f3
comparison
equal deleted inserted replaced
45800:d11816fe2c59 45801:0cbd872ef18b
475 based on regexp matching. You can freely intermix it with file names. 475 based on regexp matching. You can freely intermix it with file names.
476 Each @samp{--regex} option adds to the preceding ones, and applies only 476 Each @samp{--regex} option adds to the preceding ones, and applies only
477 to the following files. The syntax is: 477 to the following files. The syntax is:
478 478
479 @smallexample 479 @smallexample
480 --regex=/@var{tagregexp}[/@var{nameregexp}]/ 480 --regex=[@var{@{language@}}]/@var{tagregexp}/[@var{nameregexp}/]@var{modifiers}
481 @end smallexample 481 @end smallexample
482 482
483 or else:
484
485 @smallexample
486 --regex=@@@var{regexfile}
487 @end smallexample
488
483 @noindent 489 @noindent
484 where @var{tagregexp} is used to match the lines to tag. It is always 490 where @var{tagregexp} is used to find the tags. It is always
485 anchored, that is, it behaves as if preceded by @samp{^}. If you want 491 anchored, that is, it behaves as if preceded by @samp{^}. If you want
486 to account for indentation, just match any initial number of blanks by 492 to account for indentation, just match any initial number of blanks by
487 beginning your regular expression with @samp{[ \t]*}. In the regular 493 beginning your regular expression with @samp{[ \t]*}. In the regular
488 expressions, @samp{\} quotes the next character, and all the 494 expressions, @samp{\} quotes the next character, and all the
489 @code{gcc} character escape sequences are supported. Here is the list 495 @code{gcc} character escape sequences are supported. Here is the list
514 Emacs. 520 Emacs.
515 521
516 You should not match more characters with @var{tagregexp} than that 522 You should not match more characters with @var{tagregexp} than that
517 needed to recognize what you want to tag. If the match is such that 523 needed to recognize what you want to tag. If the match is such that
518 more characters than needed are unavoidably matched by @var{tagregexp} 524 more characters than needed are unavoidably matched by @var{tagregexp}
519 (as will usually be the case), you should add a @var{nameregexp}, to 525 (as will sometimes be the case), you should add a @var{nameregexp}, to
520 pick out just the tag. This will enable Emacs to find tags more 526 pick out just the tag. This will enable Emacs to find tags more
521 accurately and to do completion on tag names more reliably. You can 527 accurately and to do completion on tag names more reliably. You can
522 find some examples below. 528 find some examples below.
523 529
524 The option @samp{--ignore-case-regex} (or @samp{-c}) works like 530 A @samp{--regex} option can be restricted to match only files of a
525 @samp{--regex}, except that matching ignores case. This is 531 given language using the optional prefix @var{@{language@}}. This is
526 appropriate for certain programming languages. 532 particularly useful when storing many predefined regular expressions
533 for @code{etags} in a file.
534
535 The @var{modifiers} are a sequence of 0 or more characters that
536 modify the way @code{etags} does the matching. Without modifiers,
537 each regexp is applied sequentially to each line of the input file, in
538 a case-sensitive way. The modifiers and their meanings are:
539
540 @table @samp
541 @item i
542 ignore case when matching.
543 @item m
544 do not match line by line; rather, match the whole file, so that
545 multi-line matches are possible.
546 @item s
547 implies @samp{m}, and causes dots in @var{tagregexp} to match newlines
548 as well.
549 @end table
550
551 A @var{regexfile} is the name of a file where regular expressions
552 are stored, one per line. Lines beginning with space or tab are
553 ignored, and can be used for adding comments.
527 554
528 The @samp{-R} option deletes all the regexps defined with 555 The @samp{-R} option deletes all the regexps defined with
529 @samp{--regex} options. It applies to the file names following it, as 556 @samp{--regex} options. It applies to the file names following it, as
530 you can see from the following example: 557 you can see from the following example:
531 558