just like messageboxes just like messageboxes just like messageboxes for a demonstration, please open this abstraction instance set abstraction instance arguments using a messagebox-like interface. this updates the binbuf, the objectbox's appearance, the canvas-environment, and the titlebar of the patch window, whenever one of its five methods are called. just like messageboxes just like messageboxes just like messageboxes don't forget to write the classname! If you use it without arguments, make sure that the classname is the next thing that you add. But the classname will only be applied at the next reload, delete/undo, copy/paste, or duplicate. just like messageboxes INTERNAL USE ONLY : this sets the \$1, \$2, \$3, ... variables of the instance and the titlebar of the instance. this is called automatically by any of the other methods here. This part is what happens AFTER the $-substitution, so, it does not set the contents of the objectbox, which is BEFORE the \$0-substitution and is done directly by every other method here. \$2 is a symbol containing a single character \$1 is a symbol representing a mangled dollsym \$1 is demangled by replacing every occurrence of the \$2 character by a dollar sign. no leading dollarsign is implied. thus adddollsym2 foo-%1-bar % gives foo-\$1-bar and adddollsym2 @0-zut-@3 @ gives \$0-zut-\$3 default is 1 \$1=1 means the canvas containing the abstraction that we are in should be set as having unsaved changes. \$1=0 means it should be set as not having unsaved changes (in practice you shouldn't use this)