Fix crasher in iSearch_helper
In iSearch_helper, the second-to-last line has an error: w is used before being defined at the line:  `c, binding='BackSpace', char='\b', w=w)`

To see the bug, do <Alt+i> and then type a character not in the text:

```console
  File "/home/felix/leo-editor/leo/core/leoFind.py", line 2697, in iSearch_helper
    c, binding='BackSpace', char='\b', w=w)
UnboundLocalError: local variable 'w' referenced before assignment
```
diff --git a/leo/core/leoFind.py b/leo/core/leoFind.py
index b1899e046..a0891ef41 100644
--- a/leo/core/leoFind.py
+++ b/leo/core/leoFind.py
@@ -2694,7 +2694,7 @@ class LeoFind:
             g.es(f"not found: {pattern}")
             if not again:
                 event = g.app.gui.create_key_event(
-                    c, binding='BackSpace', char='\b', w=w)
+                    c, binding='BackSpace', char='\b', w=None)
                 k.updateLabel(event)
     #@+node:ekr.20131117164142.16950: *5* find.isearch_state_handler
     def isearch_state_handler(self, event: Event) -> None:  # pragma: no cover (cmd)
diff --git a/leo/core/leoKeys.py b/leo/core/leoKeys.py
index 9dc1760c3..a75435303 100644
--- a/leo/core/leoKeys.py
+++ b/leo/core/leoKeys.py
@@ -3774,7 +3774,7 @@ class KeyHandlerClass:
         ch, stroke = event.char, event.stroke
         if ch in "\n\r":
             return
-        if stroke and not k.isPlainKey(stroke):
+        if ch != '\b' and stroke and not k.isPlainKey(stroke):
             return  # #2041.
         c.widgetWantsFocusNow(w)
         i, j = w.getSelectionRange()
diff --git a/leo/doc/LeoDocs.leo b/leo/doc/LeoDocs.leo
index 1fd7c58be..70df5e476 100644
--- a/leo/doc/LeoDocs.leo
+++ b/leo/doc/LeoDocs.leo
@@ -18938,7 +18938,7 @@ Searches creating clones:
 
     Alt+R isearch-backward
           isearch-backward-regexp
-    Alt+S isearch-forward
+    Alt+I isearch-forward
           isearch-forward-regexp
           isearch-with-present-options
 </t>
['leo/doc/LeoDocs.leo', 'leo/core/leoKeys.py', 'leo/core/leoFind.py']