Pressing BACKSPACE in WinWord Document Causes GP Fault

ID: Q114392

6.00 6.00a 6.00c WINDOWS kbusage buglist6.00 buglist6.00a buglist6.00c fixlist7.00
The information in this article applies to:
  • Microsoft Word for Windows, versions 6.0, 6.0a, 6.0c


SYMPTOMS

If you press BACKSPACE many times in a document to delete text, Word for Windows may hang (stop responding), and one of the following error messages occur:

Application Error: WINWORD caused a General Protection Fault in module WINWORD.EXE at 00DE:4137

Application Error: WINWORD caused a General Protection Fault in module WINWORD.EXE at 0002:1223


CAUSE

The general protection (GP) fault occurs if your document contains a bookmark at the beginning of the document. The problem is unrelated to any file format conversion you may have performed in Word.


STATUS

Microsoft has confirmed this to be a problem in Word for Windows, versions 6.0, 6.0a, and 6.0c. This problem was corrected in Word version 7.0 for Windows 95.


WORKAROUND

Method 1

To avoid this problem, use one of the following methods to delete large amounts of text from your Word documents:

  • Select the text, then choose Cut from the Edit menu.


  • -or-
  • Select the text, then press DELETE.


Method 2

Delete the bookmark at the beginning of the document. If you need a bookmark at the beginning of your document, use the predefined (built-in) \StartOfDoc bookmark instead. Use the following instructions to delete a bookmark that you added to the beginning of your document:

  1. Press CTRL+HOME to go to the beginning of your document.


  2. From the Edit menu, choose Bookmark.


  3. From the Bookmark Name list, select the bookmark at the beginning of your document (it may already be selected).


  4. Choose the Delete button, and then choose the Close button.


Method 3

Create a new macro to simulate the Backspace command and assign it to the BACKSPACE key.

WARNING: ANY USE BY YOU OF THE CODE PROVIDED IN THIS ARTICLE IS AT YOUR OWN RISK. Microsoft provides this macro code "as is" without warranty of any kind, either express or implied, including but not limited to the implied warranties of merchantability and/or fitness for a particular purpose.

  1. Create and save the following macro. Name it BackSpaceSubstitute.


  2. 
                 Sub MAIN
                 Clear = 1
                 If CmpBookmarks("\sel", "\startofdoc") <> 0 Then
                    If SelType() = 1 Then
                       CharLeft 1
                       If Selection$() = Chr$(21) Then
                          CharRight 1
                          Clear = 0
                       End If
                    End If
                    If Clear Then EditClear
                 End If
                 End Sub 
  3. Next, run the following macro. This macro assigns the BackSpaceSubstitute macro to the BACKSPACE key.
    
                 Sub MAIN
                 ToolsCustomizeKeyboard .KeyCode = 8, .Category = 1, .Name =
                 "BackSpaceSubstitute", .Add, .Context = 0
                 End Sub 
    where the text from "ToolsCustomizeKeyboard..." to ".Context = 0" is all on one line.

    There are a few minor differences when using the BackSpaceSubstitute macro instead of the Word internal Backspace command:

    • When you select more than one cell of a table and you press the BACKSPACE key, the default action is to clear the contents of the first cell of the selection. The BackSpaceSubstitute macro clears all the contents of the selection, rather than clearing the contents of only the first cell.


    • When your insertion point is immediately to the left of the paragraph mark immediately following a table, the default backspace action is to do nothing. The BackSpaceSubstitute macro places the insertion point immediately to the left of the last end of row marker in the table.


    To reset the BACKSPACE key to the original Backspace command, run the following macro
    
              Sub MAIN
              ToolsCustomizeKeyboard .KeyCode = 8, .Category = 1, .Name =
              "BackSpaceSubstitute", .Remove, .Context = 0
              End Sub 
    where the text from "ToolsCustomizeKeyboard..." to ".Context = 0" is all on one line.

    Note that this macro is almost identical to the one above with the exception of the ".Remove" parameter in place of the ".Add" parameter.


For more information about predefined bookmarks in Word, see pages 60-61 and 826-828 in the "Microsoft Word Developer's Kit."

IMPORTANT: The document is not truly corrupt, so standard corrupt-document troubleshooting techniques will not work for documents that experience the problem described in this article. Deleting the bookmark from the beginning of the document is the only way to "clean" the document and thereby prevent the problem from happening with this document in the future.


REFERENCES

"Microsoft Word Developer's Kit," Word version 6.0 for Windows, Microsoft Press, 1994, pages 60-61, 826-828

Additional query words: 6.00a 6.00c winword gpf hang hung crash crashed locks locked frozen freezes crashing quit quits stopped crashes word7 bomb win31 errmsg cut remove erase legal

Keywords : kbformat
Version : WINDOWS:6.0,6.0a,6.0c
Platform : WINDOWS
Issue type :


Last Reviewed: September 29, 1999
© 2000 Microsoft Corporation. All rights reserved. Terms of Use.