<\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-fragment> 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 : <\scheme-fragment> (menu-bind menus-menu \ \ ("Hi" (insert "Hello world"))) \; (menu-extend texmacs-extra-menu \ \ (if (equal? (get-env "prog language") "menus") \ \ \ \ \ \ (=\ "Menus" (link menus-menu)))) \; (define-macro (menus-add s) \ \ `(menu-extend menus-menu \ \ \ \ \ (,s (insert ,s)))) The configuration of proceeds as usual: <\scheme-fragment> (plugin-configure menus \ \ (:require (url-exists-in-path? "menus.bin")) \ \ (:launch "menus.bin") \ \ (:session "Menus")) <\initial> <\collection>