debug.el: Prevent re-entering the debugger for the same error

We can have several active `handler-bind`s that all want to invoke the
debugger, in which case we can have the following sequence:

- The more deeply nested handler calls the debugger.
- After a while the user invokes `debugger-continue`.
- `signal_or_quit` propagates the error up the stack to the
  second handler, which calls the debugger again.
- The user thus ends up right back at the same place, as if
  `debugger-continue` had not be processed.

Fix this by remembering the last processed error and skipping
the debugger if we bump into it again.

* lisp/emacs-lisp/debug.el (debugger--last-error): New var.
(debugger--duplicate-p): New function.
(debug): Use them.
10 jobs for master in 111 minutes and 56 seconds (queued for 4 minutes and 53 seconds)
Status Job ID Name Coverage
  Build Images
failed #82682
build-image-inotify

01:51:52

 
  Normal
skipped #82683
test-all-inotify
 
  Platform Images
failed #82684
build-image-eglot

01:51:47

failed #82686
build-image-gnustep

01:46:10

failed #82685
build-image-tree-sitter

01:50:55

 
  Platforms
skipped #82687
test-eglot
skipped #82689
test-gnustep
skipped #82688
test-tree-sitter
 
  Native Comp Images
failed #82690
build-native-comp-speed2

01:46:05

 
  Native Comp
skipped #82691
test-native-comp-speed2
 
Name Stage Failure
failed
build-image-tree-sitter Platform Images There has been a timeout failure or the job got stuck. Check your timeout limits or try again
No job log
failed
build-image-eglot Platform Images There has been a timeout failure or the job got stuck. Check your timeout limits or try again
No job log
failed
build-native-comp-speed2 Native Comp Images There has been a timeout failure or the job got stuck. Check your timeout limits or try again
No job log
failed
build-image-gnustep Platform Images There has been a timeout failure or the job got stuck. Check your timeout limits or try again
No job log
failed
build-image-inotify Build Images There has been a timeout failure or the job got stuck. Check your timeout limits or try again
No job log