Index: gnomespeechfactory.py
===================================================================
--- gnomespeechfactory.py	(revision 1896)
+++ gnomespeechfactory.py	(working copy)
@@ -651,6 +651,20 @@
                 #
                 isSpecial = isPrev and isNext and (oldText[i] == ".")
 
+                # If this is a dash and the users punctuation level is not 
+                # NONE and the previous character is a white space character,
+                # and the next character is a dollar sign, then always
+                # speak it. See bug #392939.
+                #
+                if oldText[i] == "-" and \
+                   style != settings.PUNCTUATION_STYLE_NONE:
+                    prevCharMatches = nextCharMatches = False
+                    if i > 0:
+                        prevCharMatches = (oldText[i - 1] in string.whitespace)
+                    if i < (len(oldText) - 1):
+                        nextCharMatches = (oldText[i + 1] in "$")
+                    isSpecial = prevCharMatches and nextCharMatches
+
                 if (len(oldText) == 1) or isSpecial or (style <= level):
                     if isPrev:
                         newText += " "
