<\body> > The application may use as a very particular output format in order to send commands to . In other words, the block <\quotation> command:>> will send the command > to . Such commands are executed immediately after reception of . We also recall that such command blocks may be incorporated recursively in larger - blocks. plug-in> The plug-in shows how an application can modify the menus in an interactive way. The plug-in consists of the files <\verbatim> \ \ \ \ \ \ \ \ \ \ \ \ The body of the main loop of simply contains <\cpp-code> char buffer[100]; cin.getline (buffer, 100, '\\n'); cout \\ DATA_BEGIN \\ "verbatim:"; cout \\ DATA_BEGIN \\ "command:(menus-add \\"" \ \ \ \ \ \\ buffer \\ "\\")" \\ DATA_END; cout \\ "Added " \\ buffer \\ " to menu"; cout \\ DATA_END; fflush (stdout); The macro is defined in : <\scm-code> (define menu-items '("Hi")) \; (tm-menu (menus-menu) \ \ (for (entry menu-items) \ \ \ \ ((eval entry) (insert entry)))) \; (tm-define (menus-add entry) \ \ (set! menu-items (cons entry menu-items))) \; (plugin-configure menus \ \ (:require (url-exists-in-path? "menus.bin")) \ \ (:launch "menus.bin") \ \ (:session "Menus")) \; (menu-bind plugin-menu \ \ (:require (in-menus?)) \ \ (=\ "Menus" (link menus-menu))) The configuration of proceeds as usual: <\scm-code> (plugin-configure menus \ \ (:require (url-exists-in-path? "menus.bin")) \ \ (:launch "menus.bin") \ \ (:session "Menus")) <\initial> <\collection>