rpm/rpmio
Panu Matilainen 237f35f16f Change macro scoping to be global / local to parametric macros
This changes the macro scoping rules quite fundamentally: macro
definitions are local to the parametric macro they were defined in,
and everything else is global. Among other things, this makes this
common spec idiom (RhBug:552944, RhBug:551971 etc) behave
deterministically because "foo" is placed into global scope:

        %{?!foo: %define foo bar}

In theory it's certainly possible that this breaks somebodys carefully
crafted advanced macros but it seems quite unlikely, considering how
broken the alleged block-scoping has been. OTOH for macros defined
within parametric macros, nothing actually changes as that scoping has
always been enforced by rpm. The non-global define tracking is also
no longer needed for emitting warnings, because the case where it
was needed simply no longer exists.

Note that macro recursion depth is a different thing and still needs
to be tracked separately.
2017-03-07 14:03:12 +02:00
..
Makefile.am Add OpenSSL support for digest and signatures 2017-02-16 11:26:55 +01:00
argv.c A non-naive implementation of argvJoin() 2013-02-18 10:50:38 +02:00
argv.h add short summaries to headers that miss one 2016-01-28 14:42:47 +01:00
base64.c Fix off-by-one error 2016-05-25 12:31:19 +01:00
digest.c Duplicate IDs in digest bundles are not permitted 2017-03-03 11:24:34 +02:00
digest.h Check the mpi length before calling setmpi, remove pend parameter 2013-08-28 20:34:11 +03:00
digest_beecrypt.c digest_beecrypt: Use correct header locations 2016-02-24 17:45:55 +01:00
digest_nss.c Revert back to DSA-1 only support for NSS 2014-05-19 15:50:32 +03:00
digest_openssl.c Cosmetics: if, while and switch are followed by a space 2017-02-27 17:41:37 +02:00
macro.c Change macro scoping to be global / local to parametric macros 2017-03-07 14:03:12 +02:00
rpmbase64.h Add/fix a few missing/misleading doxygen annotations 2016-11-02 13:37:09 +02:00
rpmfileutil.c Cosmetics: if, while and switch are followed by a space 2017-02-27 17:41:37 +02:00
rpmfileutil.h Add RubyGems support. 2015-11-12 10:51:30 +01:00
rpmglob.c Cosmetics: if, while and switch are followed by a space 2017-02-27 17:41:37 +02:00
rpmhook.c Ugh, fix brokenness from previous commit 2009-08-31 11:20:40 +03:00
rpmhook.h Add "c++ protection" to (hopefully) all of our internal headers 2010-09-21 15:21:12 +03:00
rpmio.c Cosmetics: if, while and switch are followed by a space 2017-02-27 17:41:37 +02:00
rpmio.h add short summaries to headers that miss one 2016-01-28 14:42:47 +01:00
rpmio_internal.h Add an internal API to dup in-flight digest context from FD 2017-02-23 11:29:01 +02:00
rpmkeyring.c Fix memory leaks in rpmGetSubkeys() and pgpPrtParamsSubkeys() 2016-03-08 14:29:24 +01:00
rpmkeyring.h add short summaries to headers that miss one 2016-01-28 14:42:47 +01:00
rpmlog.c Don't show error message if log function fails because of broken pipe. 2015-06-12 14:00:04 +02:00
rpmlog.h Eliminate a bunch of 2000 vintage never used and uncompilable rpmlog goo 2016-10-13 09:48:05 +03:00
rpmlua.c Add rpm.undefine() function to Lua interface 2017-01-19 15:31:03 +02:00
rpmlua.h Add rpmScriptNextFiletFunc() 2015-02-05 08:08:12 +01:00
rpmmacro.h Add return code to rpmPushMacro() and rpmPopMacro() 2017-01-19 16:03:15 +02:00
rpmmalloc.c Avoid using void pointer when we have a real type for the memfail function 2010-09-21 13:41:25 +03:00
rpmpgp.c Cosmetics: if, while and switch are followed by a space 2017-02-27 17:41:37 +02:00
rpmpgp.h Use arbitrary ids instead of algorithm number to identify digests in bundles 2017-02-21 14:30:39 +02:00
rpmsq.c Static signal-related variables need to be thread local 2016-12-16 09:51:12 +02:00
rpmsq.h Literally blocking *all* signals is a bit too much 2016-12-15 15:15:33 +02:00
rpmstring.c Enhanced string hash to permit calculating string length on the same call 2012-09-18 04:40:20 +03:00
rpmstring.h Minor optimization to rnibble() 2012-09-03 15:44:53 +03:00
rpmstrpool.c Clarify a couple of comments 2013-12-02 13:13:00 +02:00
rpmstrpool.h add short summaries to headers that miss one 2016-01-28 14:42:47 +01:00
rpmsw.c Rip i386-specific RDTSC support from rpmsw, use gettimeofday() everywhere 2008-04-21 12:39:18 +03:00
rpmsw.h add short summaries to headers that miss one 2016-01-28 14:42:47 +01:00
rpmurl.h add short summaries to headers that miss one 2016-01-28 14:42:47 +01:00
rpmutil.h add short summaries to headers that miss one 2016-01-28 14:42:47 +01:00
stubs.c Bury our glob() implementation entirely inside rpmglob.c (RhBug:819680) 2012-05-31 16:46:40 +03:00
url.c Eliminate bunch of obvious dead NULL-assignments around librpmio 2011-05-28 19:43:52 +03:00