From 555507975dd8fda3d7490d9d23219fc2d6928306 Mon Sep 17 00:00:00 2001 From: Thomas Nagy Date: Sat, 19 Mar 2016 10:26:42 +0100 Subject: [PATCH] Rewrite ConfigSet._get_list_value_for_modification --- README.md | 2 +- waflib/ConfigSet.py | 18 +++++++++++------- 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index 653ec8c0..b6ff9eca 100644 --- a/README.md +++ b/README.md @@ -19,7 +19,7 @@ Download the project from our page on [waf.io](https://waf.io/) or from the mirr ## HOW TO CREATE THE WAF SCRIPT -Python >= 2.6 3.4 is required to generate the waf script, and the resulting file can then run on Python 2.5. +Python >= 2.6 is required to generate the waf script, and the resulting file can then run on Python 2.5. Just execute: ```sh $ ./waf-light configure build diff --git a/waflib/ConfigSet.py b/waflib/ConfigSet.py index fc5c9002..2d6aae20 100644 --- a/waflib/ConfigSet.py +++ b/waflib/ConfigSet.py @@ -191,16 +191,20 @@ class ConfigSet(object): try: value = self.table[key] except KeyError: - try: value = self.parent[key] - except AttributeError: value = [] - if isinstance(value, list): - value = value[:] + try: + value = self.parent[key] + except AttributeError: + value = [] else: - value = [value] + if isinstance(value, list): + # force a copy + value = value[:] + else: + value = [value] + self.table[key] = value else: if not isinstance(value, list): - value = [value] - self.table[key] = value + self.table[key] = value = [value] return value def append_value(self, var, val):