racket / drracket

DrRacket, IDE for Racket
http://www.racket-lang.org/
Other
445 stars 93 forks source link

package move under drracket causes infinite internal error loop #529

Open jbclements opened 2 years ago

jbclements commented 2 years ago

1) install a package you don't mind deleting. Hopefully it has no dependencies. let's call it bogo

> raco pkg install bogo

2) start drracket 3) Use shift-option-o to open some file in that package (it might not have to be shift-option-o, but that's what I used) 4) change to the terminal and use

> cd /tmp
> raco pkg update --clone bogo

... to move the installed location of the package to /tmp 5) go back to DrRacket, make some trivial change to the file that no longer exists. 6) try to quit DrRacket See Internal error

open-output-file: error opening file
  path: /Users/clements/racket/racket/share/pkgs/br-parser-tools-lib/info.rkt
  system error: No such file or directory; errno=2
  context...:
   /Users/clements/racket/racket/share/pkgs/gui-lib/mred/private/editor.rkt:304:17: open-the-file-port-and-set-creator-and-type
   /Users/clements/racket/racket/share/pkgs/gui-lib/mred/private/editor.rkt:316:21
   /Users/clements/racket/racket/share/pkgs/drracket/drracket/private/unit.rkt:2981:8
   /Users/clements/racket/racket/share/pkgs/drracket/drracket/private/unit.rkt:2980:6: save-all-unsaved-files method in frame-mixin
   /Users/clements/racket/racket/share/pkgs/drracket/drracket/private/unit.rkt:3388:6: on-activate method in frame-mixin
   /Users/clements/racket/racket/share/pkgs/gui-lib/mred/private/wx/common/queue.rkt:435:6
   /Users/clements/racket/racket/share/pkgs/gui-lib/mred/private/wx/common/queue.rkt:486:32
   /Users/clements/racket/racket/share/pkgs/gui-lib/mred/private/wx/common/dialog.rkt:58:4: show method in dialog-mixin
   /Users/clements/racket/racket/collects/racket/private/more-scheme.rkt:148:2: call-with-break-parameterization
   /Users/clements/racket/racket/collects/ffi/unsafe/atomic.rkt:73:13
   /Users/clements/racket/racket/share/pkgs/gui-lib/mred/private/messagebox.rkt:77:6: show-and-return-results method in message-box/custom-dialog%
   /Users/clements/racket/racket/share/pkgs/gui-lib/framework/gui-utils.rkt:233:0: unsaved-warning
   /Users/clements/racket/racket/collects/racket/contract/private/arrow-val-first.rkt:555:3
   /Users/clements/racket/racket/share/pkgs/gui-lib/framework/private/editor-misc.rkt:624:4: user-saves-or-not-modified? method in file-mixin
   /Users/clements/racket/racket/share/pkgs/gui-lib/framework/private/editor-misc.rkt:620:4: can-close? method in file-mixin
   /Users/clements/racket/racket/share/pkgs/gui-lib/framework/private/frame.rkt:1436:4: can-close? method in editor-mixin
   ...

Which is fine, but clicking "okay" just opens the same dialog again and again and again...