Index: src/orca/settings.py
===================================================================
--- src/orca/settings.py	(revision 3986)
+++ src/orca/settings.py	(working copy)
@@ -107,10 +107,12 @@
     "enableNavigationKeys",
     "enableBraille",
     "enableBrailleGrouping",
+    "disableBrailleEol",
     "brailleVerbosityLevel",
     "brailleRolenameStyle",
     "brailleSelectorIndicator",
     "brailleLinkIndicator",
+    "brailleEOLIndicator",
     "enableBrailleMonitor",
     "enableMagnifier",
     "enableMagLiveUpdating",
@@ -331,6 +333,10 @@
 #
 enableBrailleMonitor    = False
 
+disableBrailleEol = False
+# string to indicate end of printed line for braille displays:
+brailleEOLIndicator = '$l'
+
 # Strings used to indicate checkbox/radio button states in braille:
 #
 brailleCheckBoxIndicators = ["< >", "<x>", "<->"]
Index: src/orca/orca-setup.glade
===================================================================
--- src/orca/orca-setup.glade	(revision 3986)
+++ src/orca/orca-setup.glade	(working copy)
@@ -1555,6 +1555,26 @@
 			  <property name="fill">False</property>
 			</packing>
 		      </child>
+
+		      <child>
+			<widget class="GtkCheckButton" id="disableBrailleEol">
+			  <property name="visible">True</property>
+			  <property name="can_focus">True</property>
+			  <property name="label" translatable="yes">Disable _end of line symbol</property>
+			  <property name="use_underline">True</property>
+			  <property name="relief">GTK_RELIEF_NORMAL</property>
+			  <property name="focus_on_click">True</property>
+			  <property name="active">False</property>
+			  <property name="inconsistent">False</property>
+			  <property name="draw_indicator">True</property>
+			  <signal name="toggled" handler="disableBrailleEolChecked" last_modification_time="Thu, 21 May 2008 14:39:01 GMT"/>
+			</widget>
+			<packing>
+			  <property name="padding">0</property>
+			  <property name="expand">False</property>
+			  <property name="fill">False</property>
+			</packing>
+		      </child>
 		    </widget>
 		    <packing>
 		      <property name="padding">0</property>
Index: src/orca/flat_review.py
===================================================================
--- src/orca/flat_review.py	(revision 3986)
+++ src/orca/flat_review.py	(working copy)
@@ -574,7 +574,7 @@
                 pad.brailleOffset = brailleOffset
                 self.brailleRegions.append(pad)
                 brailleOffset += 1
-            eol = braille.Region("$l")
+            eol = braille.Region(settings.brailleEOLIndicator)
             eol.brailleOffset = brailleOffset
             self.brailleRegions.append(eol)
 
Index: src/orca/orca_prefs.py
===================================================================
--- src/orca/orca_prefs.py	(revision 3986)
+++ src/orca/orca_prefs.py	(working copy)
@@ -720,6 +720,8 @@
                                                               prefsDict[key])
             elif key == "brailleContractionTable":
                 value = "'%s'" % prefsDict[key]
+            elif key == "brailleEOLIndicator":
+                value = "'%s'" % prefsDict[key]
             else:
                 value = prefsDict[key]
 
Index: src/orca/braille.py
===================================================================
--- src/orca/braille.py	(revision 3986)
+++ src/orca/braille.py	(working copy)
@@ -501,7 +501,7 @@
 
         Region.__init__(self, string, cursorOffset, True)
 
-        if not self.contracted:
+        if not self.contracted or not settings.disableBrailleEol:
             self.string += self.eol
 
     def repositionCursor(self):
Index: src/orca/braillegenerator.py
===================================================================
--- src/orca/braillegenerator.py	(revision 3986)
+++ src/orca/braillegenerator.py	(working copy)
@@ -648,7 +648,7 @@
 
         textRegion = braille.Text(obj,
                                   self._script.getDisplayedLabel(obj),
-                                  " $l")
+                                  settings.brailleEOLIndicator)
         regions.append(textRegion)
 
         # We do not want the role at the end of text areas.
@@ -834,7 +834,7 @@
 
         textRegion = braille.Text(obj,
                                   self._script.getDisplayedLabel(obj),
-                                  " $l")
+                                  settings.brailleEOLIndicator)
         regions.append(textRegion)
 
         # We do not want the role at the end of text areas.
Index: src/orca/orca_gui_prefs.py
===================================================================
--- src/orca/orca_gui_prefs.py	(revision 3986)
+++ src/orca/orca_gui_prefs.py	(working copy)
@@ -1469,6 +1469,10 @@
         state = prefs["brailleRolenameStyle"] == \
                             settings.BRAILLE_ROLENAME_STYLE_SHORT
         self.get_widget("abbrevRolenames").set_active(state)
+
+        self.get_widget("disableBrailleEol").set_active(
+            prefs["disableBrailleEol"])
+
         if louis is None:
             self.get_widget( \
                 "contractedBrailleCheckbutton").set_sensitive(False)
@@ -2826,6 +2830,18 @@
             self.prefsDict["brailleRolenameStyle"] = \
                 settings.BRAILLE_ROLENAME_STYLE_LONG
 
+    def disableBrailleEolChecked(self, widget):
+        """Signal handler for the "toggled" signal for the disableBrailleEol
+           GtkCheckButton widget. The user has [un]checked the 'Disable
+           braille end of line symbol' checkbox. Set the 'disableBrailleEol'
+           preference to the new value.
+
+        Arguments:
+        - widget: the component that generated the signal.
+        """
+
+        self.prefsDict["disableBrailleEol"] = widget.get_active()
+
     def brailleVerbosityChanged(self, widget):
         """Signal handler for the "toggled" signal for the brailleBriefButton,
            or brailleVerboseButton GtkRadioButton widgets. The user has
