mirror of
https://github.com/PDP-10/its.git
synced 2026-01-11 23:53:12 +00:00
Emacs MAXIMA library - Macsyma mode.
This commit is contained in:
parent
19e85f69ef
commit
ef6346abb1
@ -61,6 +61,7 @@ respond ":EJ" "\033xgenerate\033emacs;kbdmac\033emacs1;kbdmac\r"
|
||||
respond ":EJ" "\033xgenerate\033emacs;ledit\033emacs1;ledit\r"
|
||||
respond ":EJ" "\033xgenerate\033emacs;lispt\033emacs1;lispt\r"
|
||||
respond ":EJ" "\033xgenerate\033emacs;lsputl\033emacs1;lsputl\r"
|
||||
respond ":EJ" "\033xgenerate\033emacs;maxima\033emacs1;maxima\r"
|
||||
respond ":EJ" "\033xgenerate\033emacs;mazlib\033emacs1;mazlib\r"
|
||||
respond ":EJ" "\033xgenerate\033emacs;modlin\033emacs1;modlin\r"
|
||||
respond ":EJ" "\033xgenerate\033emacs;muddle\033emacs1;muddle\r"
|
||||
|
||||
28
doc/emacs1/maxima.info
Executable file
28
doc/emacs1/maxima.info
Executable file
@ -0,0 +1,28 @@
|
||||
The MAXIMA library Sunday, 23 December 1979
|
||||
|
||||
The MAXIMA library defines the command MM Maxima Mode
|
||||
|
||||
It has the following features:
|
||||
|
||||
C-M-A - Beginning of Macsyma Definition
|
||||
C-M-E - End of Macsyma Definition
|
||||
|
||||
Electric tokens: ; $ :=
|
||||
If any of these are typed, it will type a carriage return after inserting
|
||||
them. In the case of :=, it will also auto-indent.
|
||||
|
||||
Parens/Braces/Brackets
|
||||
These now use the builtin paren matching features of new Emacs. Echoing
|
||||
of matches plus beeping on mismatches is standard.
|
||||
|
||||
Comments
|
||||
Meta-; and the related comment hacking commands know about /* and */
|
||||
|
||||
Syntax
|
||||
Appropriate adjustments have been made for making C-M- and M- commands work
|
||||
right on Macsyma tokens.
|
||||
|
||||
Indentation
|
||||
This mode just uses Lisp Mode indentation. That turns out to be right a
|
||||
lot of the time. At some later date a real Macsyma indentation algorithm
|
||||
may be devised.
|
||||
79
src/emacs1/maxima.26
Executable file
79
src/emacs1/maxima.26
Executable file
@ -0,0 +1,79 @@
|
||||
!* -*- 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 <CR>
|
||||
Dollarsign ends a Macsyma expression, typing a <CR>
|
||||
:= types a <CR> 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 !
|
||||
Loading…
x
Reference in New Issue
Block a user