!* -*- TECO -*- Library created and maintained by KMP@MC ! !~Filename~:! !EMACS macros for editting Macsyma code! MAXIMA !Maxima Mode:! !S Setup for Macsyma editting C-M-A Go to head of Macsyma definition C-M-E Go to end of Macsyma definition Rubout deletes backwards changing tabs into spaces Ctrl-Rubout deletes backwards normally Tab indents like lisp tab Semicolon ends a Macsyma expression, typing a Dollarsign ends a Macsyma expression, typing a := types a and indents appropriately for head of a Macsyma definition.! M(M.M &_Init_Buffer_Locals) M.Q..D !* Make a local called ..D ! 0FO..QMaxima_..DF"N U..D' !* Dont copy ..D if dont have to ! "#W 40M.LComment Column !* Set comment column ! :i..D ..D !* Copy ..D ! Q..D M.V Maxima_..D !* Set up to do this faster next time.! 5*?:f..DAA !* Make ? alphabetic ! 5*;:f..D__ !* Make semicolon just a break char! 5*\:f..D_/ !* Make backslash like slash ! 5*/:f..D__ !* Make slash just a break char ! 5*.:f..D__ !* Make period just a break char ! !""! 5*':f..DA' !* Make quote like lisp quote ! 5*":f..D_| !'! !* Make doublequote like vertical bar ! 5*|:f..D__ !* Make vertical bar just a delimiter ! 5*}:f..D_) !* Make braces work like parens ! 5*{:f..D_( !* Make braces work like parens ! 5*]:f..D_) !* Make brackets work like parens ! 5*[:f..D_(' !* Make brackets work like parens ! :I* /*_  M.L Comment_Begin !* How to start comment ! :I* /*  M.L Comment_Start !* How to recognize comment start ! :I* _*/  M.L Comment_End !* How to end comment ! M.M ^R_Indent_For_LispM.QI !* Make Tab indent for lisp ! Q¨Q.Í.Q›)M.Q.› !* Ctrl-Rubout <-> Rubout interchange ! M.M ^R_Macsyma_Electric_;M.Q; M.M ^R_Macsyma_Electric_;M.Q$ M.M ^R_Macsyma_Electric_=M.Q= M.M ^R_Beginning_of_Macsyma_DefinitionM.Q...A M.M ^R_End_of_Macsyma_DefinitionM.Q...E 0fo..Q Display_Matching_Paren"e !* If not already enabled, ... ! 2 M.QDisplay_Matching_Paren'!* Make local paren matching happen ! 0 M.QPermit_UnMatched_Paren !* Disallow unmatched parens ! 1M(M.M&_Set_Mode_Line)Maxima !* Set mode line ! !^R Beginning of Macsyma Definition:! !^R Jump to head of := expression ! -:s :"lj' "#fkcr' !* Search back for end of previous ! 0 !* Return ! !^R End of Macsyma Definition:! !^R Jump to end of := expression ! :s\$\;"l l'"#zj' !* Search forward for a $ or ; ! 0' !* Return ! !^R Macsyma Electric =:! !^R Electric = for Macsyma mode! ff"e -1,0a-:"e .(i= _____),.'' !* If a :=, type the return and indent ! f@m(qA) !* Insert and return ! !^R Macsyma Electric ;:! !^R Electric ;, etc for Macsyma mode! ff"e .(q..0i i ),.'' !* Insert char + carriage return; return! f@m(qA) !* Insert nomally and return !