| ; EMACS.RC / .emascrc |
| ; |
| ; Startup file for MicroEMACS 3.9 and uEmacs/PK 4.0 |
| ; This file is executed every time the editor is entered. |
| ; |
| ; Modified by Petri Kutvonen, last edited September 1991. |
| |
| set $discmd "FALSE" |
| |
| ; First, try to resolve if we are on a PC ... yes, this is a kludge |
| |
| !if &seq $sres "NORMAL" |
| set %system "OTHER" |
| !else |
| set %system "PC" |
| !endif |
| |
| !if &seq %system "PC" |
| |
| ; PC specific initialization |
| |
| write-message "(Setting up)" |
| |
| ; Comment out or change this line if you want more than 25 lines, |
| ; other possible $sres values include EGA and VGA |
| |
| set $sres "CGA" |
| |
| ; Uncomment next line if your old screen "snows" |
| |
| ;set $flicker "TRUE" |
| |
| ; If your screen "snows" you'll not like scrolling |
| |
| !if &seq $flicker "TRUE" |
| set $scroll "FALSE" |
| !endif |
| |
| ; Function keys (unshifted) |
| ; f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 |
| ; FN; FN< FN= FN> FN? FN@ FNA FNB FNC FND |
| |
| bind-to-key help FN; |
| bind-to-key exit-emacs FND |
| |
| ; Function keys (shifted) |
| ; F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 |
| ; FNT FNU FNV FNW FNX FNY FNZ FN[ FN\ FN] |
| |
| ; Other special keys (unshifted) |
| ; Home End Ins Del PgUp PgDn |
| ; FNG FNO FNR FNS FNI FNQ |
| |
| ; Some common Alt-keys |
| ; Alt-X Alt-Z Alt-C Alt-F Alt-O |
| ; FN- FN, FN. FN! FN^X |
| |
| bind-to-key exit-emacs FN- |
| bind-to-key quick-exit FN, |
| bind-to-key i-shell FN. |
| bind-to-key find-file FN! |
| bind-to-key view-file FN/ |
| bind-to-key next-window FN^X |
| |
| ; Set screen colors |
| |
| ; You can define a DOS environment variable EMACS_BW (any value) |
| ; if you don't like colors, e.g. if you have a LCD screen |
| |
| !if &seq &env "EMACS_BW" "" |
| add-global-mode "blue" |
| add-global-mode "HIGH" |
| !endif |
| |
| !endif |
| |
| ; Help facility |
| |
| 40 store-macro |
| set $discmd "FALSE" |
| !if ¬ &seq $cbufname "emacs.hlp" |
| write-message "(Loading Help)" |
| !force help |
| !force 8 resize-window |
| !if &seq %system "PC" |
| !if &seq &env "EMACS_BW" "" |
| add-mode "red" |
| !endif |
| bind-to-key execute-macro-38 FNI |
| bind-to-key execute-macro-37 FNQ |
| !else |
| bind-to-key execute-macro-38 FN5 |
| bind-to-key execute-macro-37 FN6 |
| !endif |
| beginning-of-line |
| 2 forward-character |
| 1 redraw-display |
| save-window |
| !if &seq %system "PC" |
| set %hlpupdn "<PgUp> / <PgDn>" |
| set %hlphelp "<F1>" |
| !else |
| set %hlpupdn "<Prev Scrn> / <Next Scrn>" |
| set %hlphelp "<Help>" |
| !endif |
| execute-macro-39 |
| !else |
| set %hlpcode &lef $line 2 |
| !if &seq %hlpcode ".." |
| set %hlptopic &mid $line 4 99 |
| end-of-line |
| !force search-forward %hlptopic |
| beginning-of-line |
| 2 forward-character |
| 1 redraw-display |
| execute-macro-39 |
| !else |
| !if &seq %system "PC" |
| bind-to-key previous-page FNI |
| bind-to-key next-page FNQ |
| !else |
| bind-to-key previous-page FN5 |
| bind-to-key next-page FN6 |
| !endif |
| !force restore-window |
| !force delete-window |
| clear-message-line |
| !endif |
| !endif |
| set $discmd "TRUE" |
| !endm |
| |
| bind-to-key execute-macro-40 M-? |
| !if &seq %system "PC" |
| bind-to-key execute-macro-40 FN; |
| !else |
| bind-to-key execute-macro-40 FNh |
| !endif |
| |
| ; Help on Help |
| |
| 39 store-macro |
| !if &seq &rig $line 5 "INDEX" |
| write-message &cat "Select topic from list and press " %hlphelp |
| !else |
| write-message &cat "Use " &cat %hlpupdn &cat " to scan help file -- " &cat %hlphelp " to toggle help window" |
| !endif |
| !endm |
| |
| ; Previous help page |
| |
| 38 store-macro |
| !if &seq $cbufname "emacs.hlp" |
| beginning-of-line |
| !force search-reverse "=>" |
| 2 forward-character |
| 1 redraw-display |
| execute-macro-39 |
| !else |
| previous-page |
| !endif |
| !endm |
| |
| ; Next help page |
| |
| 37 store-macro |
| !if &seq $cbufname "emacs.hlp" |
| beginning-of-line |
| 2 forward-character |
| !force search-forward "=>" |
| 1 redraw-display |
| execute-macro-39 |
| !else |
| next-page |
| !endif |
| !endm |
| |
| ; Set up auto CMODE |
| |
| 36 store-macro |
| !if &seq &mid $cfname 1 7 "/tmp/Re" |
| add-mode "wrap" |
| !return |
| !endif |
| !if &gre &sin $cfname "/.ed" 0 |
| add-mode "wrap" |
| !return |
| !endif |
| !if &gre &sin $cfname "/.let" 0 |
| add-mode "wrap" |
| !return |
| !endif |
| !if &gre &sin $cfname "/.art" 0 |
| add-mode "wrap" |
| !return |
| !endif |
| !if &gre &sin $cfname "/nn." 0 |
| add-mode "wrap" |
| !return |
| !endif |
| set %rctmp &sin $cfname "." |
| !if &equ %rctmp 0 |
| !return |
| !endif |
| set %rctmp &mid $cfname &add %rctmp 1 5 |
| !if &or &seq %rctmp "c" &seq %rctmp "h" |
| add-mode "cmode" |
| !endif |
| !if &or &seq %rctmp "txt" &or &seq %rctmp "doc" &or &seq %rctmp "tmp" &seq %rctmp "tex" |
| add-mode "wrap" |
| !endif |
| |
| !endm |
| |
| bind-to-key execute-macro-36 M-FNR |
| |
| ; Setup for ASCII {|}[\] to ISO Latin-1 translation |
| |
| 21 store-macro |
| insert-string "ä" |
| !endm |
| 22 store-macro |
| insert-string "ö" |
| !endm |
| 23 store-macro |
| insert-string "å" |
| !endm |
| 24 store-macro |
| insert-string "Ä" |
| !endm |
| 25 store-macro |
| insert-string "Ö" |
| !endm |
| 26 store-macro |
| insert-string "Å" |
| !endm |
| |
| 27 store-macro |
| bind-to-key execute-macro-21 { |
| bind-to-key execute-macro-22 | |
| bind-to-key execute-macro-23 } |
| bind-to-key execute-macro-24 [ |
| bind-to-key execute-macro-25 \ |
| bind-to-key execute-macro-26 ] |
| write-message "ISO Latin-1 äöåÄÖÅ" |
| !endm |
| |
| 28 store-macro |
| unbind-key { |
| unbind-key | |
| unbind-key } |
| unbind-key [ |
| unbind-key \ |
| unbind-key ] |
| write-message "ASCII {|}[\]" |
| !endm |
| |
| bind-to-key execute-macro-27 ^X[ |
| bind-to-key execute-macro-28 ^X] |
| |
| ; Make cut-paste easier in window systems |
| |
| bind-to-key newline ^J |
| |
| ; uEmacs/PK specific initialization |
| |
| !if &seq $progname "uEmacs/PK" |
| |
| ; Don't scroll on a Sun |
| |
| !if &or &seq $TERM "sun" &seq $TERM "sun-cmd" |
| set $scroll "FALSE" |
| !endif |
| |
| ; Execute local initialization files |
| |
| !if &seq %system "PC" |
| !force execute-file "EM.RC" |
| !else |
| !force execute-file &cat $HOME "/.emrc" |
| !force execute-file ".emrc" |
| !endif |
| !endif |
| |
| !if &gre &sin $LANG "UTF-8" 0 |
| add-global-mode "utf-8" |
| !endif |
| |
| !if &gre &sin $LANG "utf8" 0 |
| add-global-mode "utf-8" |
| !endif |
| add-global-mode "utf-8" |
| |
| set $discmd "TRUE" |