Internal error when using #f for application-preferences-handler
Nobody has claimed this yet.
- Dominant language
- Racket
- Stars
- 68
- Forks
- 82
- PR merge metrics
- No merged PRs in 30d
Description
The docs for application-preferences-handler say that the contract for its handler-thunk argument is (or/c (-> any) #f), and that "if the handler is set to #f, the Preferences item is disabled."
However, installing #f as the preferences handler does not disable the system Preferences menu item, and clicking on it causes an exception when the library to attempts to apply #f as a procedure. (At least, this is what happens on Mac OS 10.14.6 with Racket CS 7.6.)
Note that you can't reproduce this issue within DrRacket, because DrRacket handles the system Preferences menu item. Furthermore, you will only see the error message if you start the GUI program from the command line: if, for example, you double-click on a launcher, thePreferences item appears to do nothing, and no error message is shown.
I've made a Gist with a minimal example program and a typescript (generated by script) showing the error message.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the application-preferences-handler entry point and the minimal example program in the linked Gist, running it from the command line on macOS. Verify that installing #f disables the system Preferences item without raising an exception when clicked; use the accompanying script transcript to compare the current failure.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- macos
- Domain
- desktop
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 52/100