.#ý- Maple_Program% mapleþ / custom_variableý3 Maple_Prompt_Regexp+ ^[a-zA-Z]*>þ / custom_variable* ) Maple_Pid+" -1°) Maple_Pid,* # buf+* ) this_line ) mark_line+* ! m # len+ý ) Maple_Pidþ , process_mark°! m ) what_line°) this_line ) push_marký ! mþ . goto_user_mark ) what_line°) mark_line ) this_line ) mark_line@. * pop_mark_0 - push_mark_eob ) bufsubstr°# buf/. * pop_mark_1 # eol ) push_marký 3 Maple_Prompt_Regexpþ * re_bsearch°# len # len. * pop_mark_0w/bý # len! 1:þ ( go_right ) bufsubstr °# buf # eobý # bufþ & insert/d ' newlineý ! mþ . move_user_marký ) Maple_Pidý # buf" \nþ & strcatþ , send_processy0 maple_send_input( MapleMap°" $1ý " $1þ ( keymap_p.ý " $1þ + make_keymap/bý0 maple_send_input" ^M " $1þ ) definekey,* # pid % flags & status+* # msg+ # eobý # pid % flags & statusþ 9 aprocess_stringify_status°# msgý7 \n\n----- %s ------\n\n # msgþ ' vinsert % flags! 2B." -1°) Maple_Pid/cy4 maple_signal_handler,* # pid # str+ # eob ) push_spotý # strþ & insert ( pop_spot # bolý " \r + Null_Stringþ ' replace # eobýý # pidþ , process_markþ . move_user_marky3 maple_insert_output,* # buf+' *maple*°# buf* # arg % nargs+! 0°% nargs ) Maple_Pid" -1Bý # bufþ ' bufferpC.ýO Currently, only one maple process is supported.þ % error/c ý # bufþ ' pop2bufý( MapleMapþ * use_keymapý/ maple_mode_hookþ . run_mode_hooks , erase_buffer.ý - Maple_Program % nargs" 32þ / extract_element°# arg # arg $ NULLA.v/c·% nargs # arg/e % nargs! 1: , open_process°) Maple_Pidý ) Maple_Pid& signal 4 maple_signal_handlerþ + set_processý ) Maple_Pid& output3 maple_insert_outputþ + set_processy% maple