Repository: nvaccess/nvda

Issue:
Using English US computer Braille crashes NVDA when reading URLs
<!-- Please read the text in this edit field before filling it in.
Please thoroughly read NVDA's wiki article on how to fill in this template, including how to provide the required files.
Issues may be closed if the required information is not present.
https://github.com/nvaccess/nvda/wiki/Github-issue-template-explanation-and-examples
Please also note that the NVDA project has a Citizen and Contributor Code of Conduct which can be found at https://github.com/nvaccess/nvda/blob/master/CODE_OF_CONDUCT.MD. NV Access expects that all contributors and other community members read and abide by the rules set out in this document while participating or contributing to this project. This includes creating or commenting on issues and pull requests. 
-->

### Steps to reproduce:

1) Set NVDA's output Braille table to use English (US) grade 2.
2) Ensure "Expand to computer Braille for the word at the cursor" is enabled.
3) Use a connected Braille display OR the Braille viewer from NVDA's tools menu.
4) Open Notepad.
5) Type text including a URL, eg:
NV Access https://www.nvaccess.org/
6) Press control+right arrow twice to the URL.
7) Press LEFT ARROW to the end of the word then right arrow to the URL.

### Actual behavior:
NVDA stops responding at step 7.

### Expected behavior:

NVDA should read the URL and keep working normally.

### System configuration
#### NVDA installed/portable/running from source:

#### NVDA version:

NVDA 2019.3.1
NVDA 2020.1 portable
NVDA 2020.2 portable
NVDA 2020.3rc1 installed
(I couldn't test any earlier as I don't have a Braille display handy and the Braille viewer was introduced in 2019.3).

Note that:
NVDA 2019.3 used LibLouis commit 58d67e63
NVDA 2020.1 used LibLouis 3.1.2
NVDA 2020.2 and newer use LibLouis 3.1.4
#### Windows version:

Windows 10 (64-bit) Version: 1903 Build 18362

#### Name and version of other software in use when reproducing the issue:

Notepad, but reporting user advised it happens in other programs as well.

#### Other information about your system:

### Other questions
#### Does the issue still occur after restarting your computer?
Yes

#### Have you tried any other versions of NVDA? If so, please report their behaviors.
As above

#### If addons are disabled, is your problem still occuring?
Yes

#### Did you try to run the COM registry fixing tool in NVDA menu / tools?



Discussion:

Resolving patch:
diff --git a/source/brailleTables.py b/source/brailleTables.py
--- a/source/brailleTables.py
+++ b/source/brailleTables.py
@@ -81,6 +81,7 @@ def listTables():
 	"no-no.ctb":"no-no-8dot.utb",
 	"no-no-comp8.ctb":"no-no-8dot.utb",
 	"ru-compbrl.ctb":"ru.ctb",
+	"ru-ru-g1.utb": "ru-litbrl-detailed.utb",
 	"sk-sk-g1.utb":"sk-g1.ctb",
 	"UEBC-g1.ctb":"en-ueb-g1.ctb",
 	"UEBC-g2.ctb":"en-ueb-g2.ctb",
@@ -104,6 +105,9 @@ def listTables():
 addTable("as-in-g1.utb", _("Assamese grade 1"))
 # Translators: The name of a braille table displayed in the
 # braille settings dialog.
+addTable("ba.utb", _("Bashkir grade 1"), input=False)
+# Translators: The name of a braille table displayed in the
+# braille settings dialog.
 addTable("be-in-g1.utb", _("Bengali grade 1"))
 # Translators: The name of a braille table displayed in the
 # braille settings dialog.
@@ -113,6 +117,9 @@ def listTables():
 addTable("ckb-g1.ctb", _("Central Kurdish grade 1"))
 # Translators: The name of a braille table displayed in the
 # braille settings dialog.
+addTable("cop-eg-comp8.utb", _("Coptic 8 dot computer braille"), input=False)
+# Translators: The name of a braille table displayed in the
+# braille settings dialog.
 addTable("cy-cy-g1.utb", _("Welsh grade 1"))
 # Translators: The name of a braille table displayed in the
 # braille settings dialog.
@@ -380,7 +387,10 @@ def listTables():
 addTable("ru.ctb", _("Russian computer braille"))
 # Translators: The name of a braille table displayed in the
 # braille settings dialog.
-addTable("ru-ru-g1.utb", _("Russian grade 1"))
+addTable("ru-litbrl.ctb", _("Russian literary braille"), input=False)
+# Translators: The name of a braille table displayed in the
+# braille settings dialog.
+addTable("ru-litbrl-detailed.utb", _("Russian literary braille (detailed)"), input=False)
 # Translators: The name of a braille table displayed in the
 # braille settings dialog.
 addTable("sa-in-g1.utb", _("Sanskrit grade 1"))


Test patch: