Yes. Thank you. The error message is excellent. And the demo apps now show the edit button as they should.
But there is nothing telling a new user that he must press page refresh after he has edited and loaded the script. I would suggest adding a menu item "Save and Refresh Page" in the edit menu. In effect, do a 'appname' jpage '' if the script does not end with jpage. Or if it does, use the same numbered locale instead of creating another instance of the app and a new locale. It would be useful in developing our own apps as it would no longer be necessary to deal with another instance of the app appearing along with the old one. How to implement that? I'm not sure as there is no way for edit to know what instance of the app to refresh. Maybe showing the menu item if there is only one instance of the app running.
Perhaps add a refresh menu item to the app menu. Don't like that either. But then it seems the only way to get rid of an instance of an app is the close button in the menu. When the app crashes sometimes that option is gone or doesn't work leaving unusable numbers locales running around. A different problem.
About catch fixing errors. I have always had mixed feelings about try/catch as the catch can make errors hard to find as was shown in this case. Catch didn't take care of the error but it didn't report the error in a way to make it easy to fix. I have noticed that sometimes 13!:1 has an error message in it but no error was signaled. Apparently J was able to handle the error internally and execution continued. Perhaps if catch worked similarly in that the message was left for 13!:1 to show but let execution continue.