]> git.eshelyaron.com Git - emacs.git/commit
Hardcode regex syntax to remove dead code handling different syntax
authorMichal Nazarewicz <mina86@mina86.com>
Wed, 27 Jul 2016 21:13:11 +0000 (23:13 +0200)
committerMichal Nazarewicz <mina86@mina86.com>
Tue, 2 Aug 2016 13:39:10 +0000 (15:39 +0200)
commit54a3c0c98f844ef6b21b011884132d5fe5ae5e1f
treef0d9813b80d65482c52ab021b2e821a539fc78cd
parentda9c55ddbbd08fc07ab36dc8bdc740e352eeab2c
Hardcode regex syntax to remove dead code handling different syntax

Emacs only ever uses its own regex syntax so support for other syntaxes
is never used.  Hardcode the syntax so that the compilar can detect such
dead code and remove it from compiled code.

The only exception is RE_NO_POSIX_BACKTRACKING which can be separatelly
specified.  Handle this separatelly with a function argument (replacing
now unnecessary syntax argument).

With this patchset, size of Emacs binary on x86_64 machine is reduced by
around 60 kB:

new-sizes:-rwx------ 3 mpn eng 30254720 Jul 27 23:31 src/emacs
old-sizes:-rwx------ 3 mpn eng 30314828 Jul 27 23:29 src/emacs

* src/regex.h (re_pattern_buffer): Don’t define syntax field #ifdef emacs.
(re_compile_pattern): Replace syntax with posix_backtracking argument.

* src/regex.c (print_compiled_pattern): Don’t print syntax #ifdef emacs.
(regex_compile): #ifdef emacs, replace syntax argument with
posix_backtracking which is now used instead of testing for
RE_NO_POSIX_BACKTRACKING syntax.
(re_match_2_internal): Don’t access bufp->syntax #ifndef emacs.
(re_compile_pattern): Replace syntax with posix_backtracking argument.

* src/search.c (compile_pattern_1): Pass boolean posix_backtracking
instead of syntax to re_compile_pattern.
src/regex.c
src/regex.h
src/search.c