summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CHANGES2
-rw-r--r--pygments/util.py10
2 files changed, 10 insertions, 2 deletions
diff --git a/CHANGES b/CHANGES
index ffbdad8f..71281a81 100644
--- a/CHANGES
+++ b/CHANGES
@@ -19,6 +19,8 @@ Version 1.4
* Scss (#509)
* Duel/JBST
+- Do not fail in analyse_text methods (#618).
+
- Performance improvements in the HTML formatter (#523).
- With the ``noclasses`` option in the HTML formatter, some styles
diff --git a/pygments/util.py b/pygments/util.py
index 1bd1455f..46c5a125 100644
--- a/pygments/util.py
+++ b/pygments/util.py
@@ -110,10 +110,16 @@ def make_analysator(f):
returns float values.
"""
def text_analyse(text):
- rv = f(text)
+ try:
+ rv = f(text)
+ except Exception:
+ return 0.0
if not rv:
return 0.0
- return min(1.0, max(0.0, float(rv)))
+ try:
+ return min(1.0, max(0.0, float(rv)))
+ except ValueError:
+ return 0.0
text_analyse.__doc__ = f.__doc__
return staticmethod(text_analyse)