Mercurial > vim
view src/nbdebug.h @ 11525:14b6b79d685b v8.0.0645
patch 8.0.0645: no error for illegal back reference in NFA engine
commit https://github.com/vim/vim/commit/1ef9bbe215e13a273e74fccaddd8fc5a42c76b6e
Author: Bram Moolenaar <Bram@vim.org>
Date: Sat Jun 17 20:08:20 2017 +0200
patch 8.0.0645: no error for illegal back reference in NFA engine
Problem: The new regexp engine does not give an error for using a back
reference where it is not allowed. (Dominique Pelle)
Solution: Check the back reference like the old engine. (closes #1774)
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Sat, 17 Jun 2017 20:15:03 +0200 |
parents | 4aead6a9b7a9 |
children | c7ba5fed403c |
line wrap: on
line source
/* vi:set ts=8 sw=8 noet: * * VIM - Vi IMproved by Bram Moolenaar * Visual Workshop integration by Gordon Prieur * * Do ":help uganda" in Vim to read copying and usage conditions. * Do ":help credits" in Vim to see a list of people who contributed. */ #ifndef NBDEBUG_H #define NBDEBUG_H #ifdef NBDEBUG #ifndef ASSERT #define ASSERT(c) \ if (!(c)) { \ fprintf(stderr, "Assertion failed: line %d, file %s\n", \ __LINE__, __FILE__); \ fflush(stderr); \ abort(); \ } #endif #define nbdebug(a) nbdbg a #define NB_TRACE 0x00000001 #define NB_TRACE_VERBOSE 0x00000002 #define NB_TRACE_COLONCMD 0x00000004 #define NB_PRINT 0x00000008 #define NB_DEBUG_ALL 0xffffffff #define NBDLEVEL(flags) (nb_debug != NULL && (nb_dlevel & (flags))) #define NBDEBUG_TRACE 1 typedef enum { WT_ENV = 1, /* look for env var if set */ WT_WAIT, /* look for ~/.gvimwait if set */ WT_STOP /* look for ~/.gvimstop if set */ } WtWait; void nbdbg(char *, ...); void nbdebug_wait(u_int wait_flags, char *wait_var, u_int wait_secs); void nbdebug_log_init(char *log_var, char *level_var); extern FILE *nb_debug; extern u_int nb_dlevel; /* nb_debug verbosity level */ # else /* not NBDEBUG */ #ifndef ASSERT # define ASSERT(c) #endif /* * The following 3 stubs are needed because a macro cannot be used because of * the variable number of arguments. */ void nbdbg( char *fmt, ...) { } #endif /* NBDEBUG */ #endif /* NBDEBUG_H */