view etc/emacskeys.sco @ 814:a634e3b7acc8

[xemacs-hg @ 2002-04-14 12:41:59 by ben] latest changes TODO.ben-mule-21-5: Update. make-docfile.c: Add basic support for handling ISO 2022 doc strings -- we parse the basic charset designation sequences so we know whether we're in ASCII and have to pay attention to end quotes and such. Reformat code according to coding standards. abbrev.el: Add `global-abbrev-mode', which turns on or off abbrev-mode in all buffers. Added `defining-abbrev-turns-on-abbrev-mode' -- if non-nil, defining an abbrev through an interactive function will automatically turn on abbrev-mode, either globally or locally depending on the command. This is the "what you'd expect" behavior. indent.el: general function for indenting a balanced expression in a mode-correct way. Works similar to indent-region in that a mode can specify a specific command to do the whole operation; if not, figure out the region using forward-sexp and indent each line using indent-according-to-mode. keydefs.el: Removed. Modify M-C-backslash to do indent-region-or-balanced-expression. Make S-Tab just insert a TAB char, like it's meant to do. make-docfile.el: Now that we're using the call-process-in-lisp, we need to load an extra file win32-native.el because we're running a bare temacs. menubar-items.el: Totally redo the Cmds menu so that most used commands appear directly on the menu and less used commands appear in submenus. The old way may have been very pretty, but rather impractical. process.el: Under Windows, don't ever use old-call-process-internal, even in batch mode. We can do processes in batch mode. subr.el: Someone recoded truncate-string-to-width, saying "the FSF version is too complicated and does lots of hard-to-understand stuff" but the resulting recoded version was *totally* wrong! it misunderstood the basic point of this function, which is work in *columns* not chars. i dumped ours and copied the version from FSF 21.1. Also added truncate-string-with-continuation-dots, since this idiom is used often. config.inc.samp, xemacs.mak: Separate out debug and optimize flags. Remove all vestiges of USE_MINIMAL_TAGBITS, USE_INDEXED_LRECORD_IMPLEMENTATION, and GUNG_HO, since those ifdefs have long been removed. Make error-checking support actually work. Some rearrangement of config.inc.samp to make it more logical. Remove callproc.c and ntproc.c from xemacs.mak, no longer used. Make pdump the default. lisp.h: Add support for strong type-checking of Bytecount, Bytebpos, Charcount, Charbpos, and others, by making them classes, overloading the operators to provide integer-like operation and carefully controlling what operations are allowed. Not currently enabled in C++ builds because there are still a number of compile errors, and it won't really work till we merge in my "8-bit-Mule" workspace, in which I make use of the new types Charxpos, Bytexpos, Memxpos, representing a "position" either in a buffer or a string. (This is especially important in the extent code.) abbrev.c, alloc.c, eval.c, buffer.c, buffer.h, editfns.c, fns.c, text.h: Warning fixes, some of them related to new C++ strict type checking of Bytecount, Charbpos, etc. dired.c: Caught an actual error due to strong type checking -- char len being passed when should be byte len. alloc.c, backtrace.h, bytecode.c, bytecode.h, eval.c, sysdep.c: Further optimize Ffuncall: -- process arg list at compiled-function creation time, converting into an array for extra-quick access at funcall time. -- rewrite funcall_compiled_function to use it, and inline this function. -- change the order of check for magic stuff in SPECBIND_FAST_UNSAFE to be faster. -- move the check for need to garbage collect into the allocation code, so only a single flag needs to be checked in funcall. buffer.c, symbols.c: add debug funs to check on mule optimization info in buffers and strings. eval.c, emacs.c, text.c, regex.c, scrollbar-msw.c, search.c: Fix evil crashes due to eistrings not properly reinitialized under pdump. Redo a bit some of the init routines; convert some complex_vars_of() into simple vars_of(), because they didn't need complex processing. callproc.c, emacs.c, event-stream.c, nt.c, process.c, process.h, sysdep.c, sysdep.h, syssignal.h, syswindows.h, ntproc.c: Delete. Hallelujah, praise the Lord, there is no god but Allah!!! fix so that processes can be invoked in bare temacs -- thereby eliminating any need for callproc.c. (currently only eliminated under NT.) remove all crufty and unnecessary old process code in ntproc.c and elsewhere. move non-callproc-specific stuff (mostly environment) into process.c, so callproc.c can be left out under NT. console-tty.c, doc.c, file-coding.c, file-coding.h, lstream.c, lstream.h: fix doc string handling so it works with Japanese, etc docs. change handling of "character mode" so callers don't have to manually set it (quite error-prone). event-msw.c: spacing fixes. lread.c: eliminate unused crufty vintage-19 "FSF defun hack" code. lrecord.h: improve pdump description docs. buffer.c, ntheap.c, unexnt.c, win32.c, emacs.c: Mule-ize some unexec and startup code. It was pseudo-Mule-ized before by simply always calling the ...A versions of functions, but that won't cut it -- eventually we want to be able to run properly even if XEmacs has been installed in a Japanese directory. (The current problem is the timing of the loading of the Unicode tables; this will eventually be fixed.) Go through and fix various other places where the code was not Mule-clean. Provide a function mswindows_get_module_file_name() to get our own name without resort to PATH_MAX and such. Add a big comment in main() about the problem with Unicode table load timing that I just alluded to. emacs.c: When error-checking is enabled (interpreted as "user is developing XEmacs"), don't ask user to "pause to read messages" when a fatal error has occurred, because it will wedge if we are in an inner modal loop (typically when a menu is popped up) and make us unable to get a useful stack trace in the debugger. text.c: Correct update_entirely_ascii_p_flag to actually work. lisp.h, symsinit.h: declarations for above changes.
author ben
date Sun, 14 Apr 2002 12:43:31 +0000
parents 376386a54a3c
children
line wrap: on
line source

#
# SCO(tm) keyboard mapping file with Emacs meta-keys
# Automatically generated using the emap utility
#
# Below is the uuencoded source for the emap utility. This program
# will, when run on an SCO console, take the current keyboard
# map and set the 'meta' bit for all keys. To make this usable
# under Emacs, edit your termcap and terminfo entries for the
# sco console (the ansi entries) and add the 'km' capability.
# Usage:
# emap [-o] [-f filename]
# If you run the utility with no flags, it will simply modify the
# current keyboard map in kernel memory for the multiscreen on
# which it was invoked. Specifying -f and a filename will cause
# a file suitable for input to the mapkey(M) utility to be generated.
# Specifying -o will produce, on stdout, a file suitable for input
# to the mapkey(M) utility but will NOT modify the in-memory
# map.
# I personally run this utility once, and replace /usr/lib/keyboard/keys
# with the result. You may prefer to run it in your .profile or
# via a shell-script which will in turn invoke emacs.
#
# begin 600 emap.c.gz
# M'XL("'F'RC " V5M87 N8P"=5VUOXC@0_LZOF$W50KIT%^AM[U2V>Z*HW%9+
# MH2JL=*<6H6"<$A&27&RZ1;?][S=C.X&$%'H7(>S8\\R;QS.3 R]@_G+*X;.0
# M4R_\,/M2.DB7EH&'J]DUL1(?Y2KB8GMYSE>3T(D5H,2?)8\#8#,GAN,PDD[\
# MV$P6O4 "+GG!M$HCCV,UXJ]9*FF$(UC@++BX'\$%_%,"L(*E;U5I(L*9F<AG
# M/>'I))1F$ORM)PZ;Z\F$&_A$Z'%F2 .S_I2\1WID<2+.C)X>ISXW$U9/)HUD
# M<II,?C','"->K()$UXGA[R0K"T.R-#M<,#UQC:J/9HS-& BK])*ZJH1^][V 
# M0X7\RJJ [PLG&DLXGB_L$CE/2$=Z3!]&_'3?^'0V:N*R>I>BKA:J.&ND6\1*
# MSJO@H1C$1S$NN%!!XBI8AY^FJ$45F-U4S&,6K: 2/Q&+NJT0;ABC/GAVM29X
# M\!EZWV_&@V%K>#7 ]_?O;20!=:[TR#D2DO;V?''R!=6_9Z,/:,*]-U+,Z/%0
# M^O5@/+B]:E^WNE!!VZIDK&?;AF+-CQ[QPY-LAAK/[8W5+ UZP!$<OHU[_=OS
# MU YM8Q!&EMV$2<R=>;,(TQU\S6-\,?-<N1MVMPV+WP!K=[_E8<P/,;AWHGK;
# MJ& _:K"-$OM1E\/691XVD<YD-ZK5'>9!CK_/A06@>"^J/>QN>5#&_AY1!:AX
# M/ZSWYZ"]Y7B!&:48->6NL_3E>691ASS&+WRYH$-IWW5L.#JBB(;/9J5KVSG,
# MUEU%J8=3O*L$.TGYO(>ZW<Q!N8^Z9V1VOO=R,G'E#3)=O,(9H9K1:T+WL=-7
# M,4/U4LK/,HPV+SE91.K#:2.K>.9XTGHCYZ.,K-0KE*0NH-[X=0<7:\I]JQAN
# MG(I*;#BTWCC+>3-G>OE0'+(R>=+(+S^4RS;\_ GI^T/9MN%WL!X>+#@'2U6(
# M@@?S8%ZO78)KSX>U!E;5+"YQ]@9Q@^K!R9F@>J"S_]HOCDRJ0L.LOZAJ8E)S
# M92/;N_ZC@".H/==.[<WBH"Y4=]P_+V!K]7/WR1"W"XG;Q<2]0N)>,?%E(?%E
# MCIB\%'.YQ$X'"=!RM)KJZ<+Q EVDL1G"TJ7+]S&^/.DRK?NBBQIV0^Y%+:W0
# MQVZ ]1'[!(<)=)>@TFC1;N>Z>X6[-$UK/OXG]=NK,E4^?\P\'[N#>K;H,N3Y
# MR*GI@HK6AQ1!<T+W?!W#%+J, NVJWUE':B:'I2&NZ,IA>4T71BBD_@JA6RZN
# MW*&[":)'V9_TD&^^^$F,6M^%\\C/ ?T7P?U).,(_%UST"=WXT4.0N['/GB1G
# MY26IT"6G>2&3/E3PE/ZX[H^_7?UUT[JMPA%R5QAMX#OL?++^CK#-I:;(6J/6
# M@K70S"TA/N0*]$66$;G'#2..L>0&>%X_LJ>E(!4=&G:MV,6I+NUPZ4\A"+%O
# MQ".5',*EC)92>:?(+8V"9. FCG91F8--=V9W8-#N5^3"AN0[@6(U\H)')0TP
# M*<S@BF(<%EPZ)Q3I.YBUEC)<4%?K^/X* SG@,>H_A:4@CG+&]7DOI>=[<O4Z
# MHQTB_N>#G<@.I@+[_F(<"["OR+!9#V:/NK =O%F(GV(PH5P%JJ=,@>;-<"O<
# MHV\$_A8_O:3]/=/]/</BBK[^$(SIS/ ]W]]36+[;;-Z16C7OO?[=36NSH2 V
# M&_T_-GHCLW.1W]/8$?S$HO%;K;E/U.#K=6>X4]+@:V=4*$E!WRRH/;S;;1&V
# ME,5R"/D?[.D@HWT&*5D%!NF-1-2&+,K8:<;)9-%#NHWJXU)_;#*3\S+))Y.P
# MMH)H#XOBM.?B=PX&=,75'Y9K)6O;]6R=FF^+4O.ZH*W3\ZNI\;8@3>]*A/2O
# .]VJJY/\+D-=?N%H1  #5
#  
# end
#
# The output below is the result of running emap on the default
# SCO keymap as installed by SCO. It is the equivalent of the
# at.ibm.usa key map file in /usr/lib/keyboard/keys, but with
# the meta bits set properly. Note that for meta keys to work correctly
# you MUST edit /etc/termcap and /usr/lib/terminfo/terminfo.src and add
# the 'km' capability for the 'ansi' entry, and you must disable channel
# mapping in /etc/default/mapchan for the console screens. Extra function
# keys have been added, and the matching emacsstrs.sco is in this
# directory to make a map which scoansi.el can use. So the sequence of
# events should be:
# a) Copy this file to /usr/lib/keyboard/keys
# b) copy emacsstrs.sco to /usr/lib/keyboard/stings
# c) run mapkey and mapstr and set MAPKEY=yes in /etc/default/boot
# d) Add mapstr -f to your /etc/profile or your shell startup
# e) Arrange to have scoansi.el loaded from your .emacs file.
#
#                                                        alt
# scan                      cntrl          alt    alt   cntrl  lock
# code  base  shift  cntrl  shift   alt   shift  cntrl  shift  state
#
    0  nop    nop    nop    nop    nop    nop    nop    nop    O
    1  esc    esc    esc    esc    0x9b   0x9b   0x9b   0x9b   O
    2  '1'    '!'    nop    nop    0xb1   0xa1   nop    nop    O
    3  '2'    '@'    nul    nul    0xb2   0xc0   0x80   0x80   O
    4  '3'    '#'    nop    nop    0xb3   0xa3   nop    nop    O
    5  '4'    '$'    nop    nop    0xb4   0xa4   nop    nop    O
    6  '5'    '%'    nop    nop    0xb5   0xa5   nop    nop    O
    7  '6'    '^'    rs     rs     0xb6   0xde   0x9e   0x9e   O
    8  '7'    '&'    nop    nop    0xb7   0xa6   nop    nop    O
    9  '8'    '*'    nop    nop    0xb8   0xaa   nop    nop    O
   10  '9'    '('    nop    nop    0xb9   0xa8   nop    nop    O
   11  '0'    ')'    nop    nop    0xb0   0xa9   nop    nop    O
   12  '-'    '_'    ns     ns     0xad   0xdf   0x9f   0x9f   O
   13  '='    '+'    nop    nop    0xbd   0xab   nop    nop    O
   14  bs     bs     del    del    0x88   0x88   0xff   0xff   O
   15  ht     btab   nop    nop    0x89   btab   nop    nop    O
   16  'q'    'Q'    dc1    dc1    0xf1   0xd1   0x91   0x91   C
   17  'w'    'W'    etb    etb    0xf7   0xd7   0x97   0x97   C
   18  'e'    'E'    enq    enq    0xe5   0xc5   0x85   0x85   C
   19  'r'    'R'    dc2    dc2    0xf2   0xd2   0x92   0x92   C
   20  't'    'T'    dc4    dc4    0xf4   0xd4   0x94   0x94   C
   21  'y'    'Y'    em     em     0xf9   0xd9   0x99   0x99   C
   22  'u'    'U'    nak    nak    0xf5   0xd5   0x95   0x95   C
   23  'i'    'I'    ht     ht     0xe9   0xc9   0x89   0x89   C
   24  'o'    'O'    si     si     0xef   0xcf   0x8f   0x8f   C
   25  'p'    'P'    dle    dle    0xf0   0xd0   0x90   0x90   C
   26  '['    '{'    esc    esc    0xdb   0xfb   0x9b   0x9b   O
   27  ']'    '}'    gs     gs     0xdd   0xfd   0x9d   0x9d   O
   28  cr     cr     nl     nl     0x8d   0x8d   0x8a   0x8a   O
   29  ctrl   ctrl   ctrl   ctrl   ctrl   ctrl   ctrl   ctrl   O
   30  'a'    'A'    soh    soh    0xe1   0xc1   0x81   0x81   C
   31  's'    'S'    dc3    dc3    0xf3   0xd3   0x93   0x93   C
   32  'd'    'D'    eot    eot    0xe4   0xc4   0x84   0x84   C
   33  'f'    'F'    ack    ack    0xe6   0xc6   0x86   0x86   C
   34  'g'    'G'    bel    bel    0xe7   0xc7   0x87   0x87   C
   35  'h'    'H'    bs     bs     0xe8   0xc8   0x88   0x88   C
   36  'j'    'J'    nl     nl     0xea   0xca   0x8a   0x8a   C
   37  'k'    'K'    vt     vt     0xeb   0xcb   0x8b   0x8b   C
   38  'l'    'L'    np     np     0xec   0xcc   0x8c   0x8c   C
   39  ';'    ':'    nop    nop    0xbb   0xba   nop    nop    O
   40  '\''   '"'    nop    nop    0xa7   0xa2   nop    nop    O
   41  '`'    '~'    nop    nop    0xe0   0xfe   nop    nop    O
   42  lshift lshift lshift lshift lshift lshift lshift lshift O
   43  '\\'   '|'    fs     fs     0xdc   0xfc   0x9c   0x9c   O
   44  'z'    'Z'    sub    sub    0xfa   0xda   0x9a   0x9a   C
   45  'x'    'X'    can    can    0xf8   0xd8   0x98   0x98   C
   46  'c'    'C'    etx    etx    0xe3   0xc3   0x83   0x83   C
   47  'v'    'V'    syn    syn    0xf6   0xd6   0x96   0x96   C
   48  'b'    'B'    stx    stx    0xe2   0xc2   0x82   0x82   C
   49  'n'    'N'    so     so     0xee   0xce   0x8e   0x8e   C
   50  'm'    'M'    cr     cr     0xed   0xcd   0x8d   0x8d   C
   51  ','    '<'    nop    nop    0xac   0xbc   nop    nop    O
   52  '.'    '>'    nop    nop    0xae   0xbe   nop    nop    O
   53  '/'    '?'    nop    nop    0xaf   0xbf   nop    nop    O
   54  rshift rshift rshift rshift rshift rshift rshift rshift O
   55  '*'    '*'    nscr   nscr   0xaa   0xaa   nscr   nscr   O
   56  alt    alt    alt    alt    alt    alt    alt    alt    O
   57  ' '    ' '    ' '    ' '    0xa0   0xa0   0xa0   0xa0   O
   58  clock  clock  clock  clock  clock  clock  clock  clock  O
   59  fkey1  fkey13 fkey25 fkey37 scr1   scr11  scr1   scr11  O
   60  fkey2  fkey14 fkey26 fkey38 scr2   scr12  scr2   scr12  O
   61  fkey3  fkey15 fkey27 fkey39 scr3   scr13  scr3   scr13  O
   62  fkey4  fkey16 fkey28 fkey40 scr4   scr14  scr4   scr14  O
   63  fkey5  fkey17 fkey29 fkey41 scr5   scr15  scr5   scr15  O
   64  fkey6  fkey18 fkey30 fkey42 scr6   scr16  scr6   scr16  O
   65  fkey7  fkey19 fkey31 fkey43 scr7   scr7   scr7   scr7   O
   66  fkey8  fkey20 fkey32 fkey44 scr8   scr8   scr8   scr8   O
   67  fkey9  fkey21 fkey33 fkey45 scr9   scr9   scr9   scr9   O
   68  fkey10 fkey22 fkey34 fkey46 scr10  scr10  scr10  scr10  O
   69  nlock  nlock  dc3    dc3    nlock  nlock  0x93   0x93   O
   70  slock  slock  del    del    slock  slock  0xff   0xff   O
   71  fkey49 '7'    '7'    '7'    '7'    0xb7   0xb7   0xb7   N
   72  fkey50 '8'    '8'    '8'    '8'    0xb8   0xb8   0xb8   N
   73  fkey51 '9'    '9'    '9'    '9'    0xb9   0xb9   0xb9   N
   74  fkey52 '-'    '-'    '-'    '-'    0xad   0xad   0xad   N
   75  fkey53 '4'    '4'    '4'    '4'    0xb4   0xb4   0xb4   N
   76  fkey54 '5'    '5'    '5'    '5'    0xb5   0xb5   0xb5   N
   77  fkey55 '6'    '6'    '6'    '6'    0xb6   0xb6   0xb6   N
   78  fkey56 '+'    '+'    '+'    '+'    0xab   0xab   0xab   N
   79  fkey57 '1'    '1'    '1'    '1'    0xb1   0xb1   0xb1   N
   80  fkey58 '2'    '2'    '2'    '2'    0xb2   0xb2   0xb2   N
   81  fkey59 '3'    '3'    '3'    '3'    0xb3   0xb3   0xb3   N
   82  fkey60 '0'    '0'    '0'    '0'    0xb0   0xb0   0xb0   N
   83  del    '.'    del    del    0xff   0xae   0xff   0xff   N
   84  ns     ns     ns     ns     0x9f   0x9f   0x9f   0x9f   O
   85  nop    nop    nop    nop    nop    nop    nop    nop    O
   86  nop    nop    nop    nop    nop    nop    nop    nop    O
   87  fkey11 fkey23 fkey35 fkey47 scr11  scr11  scr11  scr11  O
   88  fkey12 fkey24 fkey36 fkey48 scr12  scr12  scr12  scr12  O
   89  nop    nop    nop    nop    nop    nop    nop    nop    O
   90  nop    nop    nop    nop    nop    nop    nop    nop    O
   91  nop    nop    nop    nop    nop    nop    nop    nop    O
   92  nop    nop    nop    nop    nop    nop    nop    nop    O
   93  nop    nop    nop    nop    nop    nop    nop    nop    O
   94  nop    nop    nop    nop    nop    nop    nop    nop    O
   95  nop    nop    nop    nop    nop    nop    nop    nop    O
   96  fkey50 fkey62 fkey72 fkey50 fkey82 fkey62 fkey72 fkey50 N
   97  fkey53 fkey64 fkey74 fkey53 fkey84 fkey64 fkey74 fkey53 N
   98  fkey58 fkey67 fkey77 fkey58 fkey87 fkey67 fkey77 fkey58 N
   99  fkey55 fkey65 fkey75 fkey55 fkey85 fkey65 fkey75 fkey55 N
  100  fkey49 fkey61 fkey71 fkey49 fkey81 fkey61 fkey71 fkey49 N
  101  nop    nop    nop    nop    nop    nop    nop    nop    O
  102  fkey57 fkey66 fkey76 fkey57 fkey86 fkey66 fkey76 fkey57 N
  103  fkey59 fkey68 fkey78 fkey59 fkey88 fkey68 fkey78 fkey59 N
  104  fkey60 fkey69 fkey79 fkey60 fkey89 fkey69 fkey79 fkey60 N
  105  del    del    del    del    0xff   0xff   0xff   0xff   N
  106  fkey54 fkey54 fkey93 fkey54 fkey96 fkey54 fkey54 fkey54 N
  107  nop    nop    nop    nop    nop    nop    nop    nop    O
  108  nop    nop    nop    nop    nop    nop    nop    nop    O
  109  nop    nop    nop    nop    nop    nop    nop    nop    O
  110  nop    nop    nop    nop    nop    nop    nop    nop    O
  111  nop    nop    nop    nop    nop    nop    nop    nop    O
  112  nop    nop    nop    nop    nop    nop    nop    nop    O
  113  nop    nop    nop    nop    nop    nop    nop    nop    O
  114  nop    nop    nop    nop    nop    nop    nop    nop    O
  115  nop    nop    nop    nop    nop    nop    nop    nop    O
  116  nop    nop    nop    nop    nop    nop    nop    nop    O
  117  nop    nop    nop    nop    nop    nop    nop    nop    O
  118  nop    nop    nop    nop    nop    nop    nop    nop    O
  119  nop    nop    nop    nop    nop    nop    nop    nop    O
  120  nop    nop    nop    nop    nop    nop    nop    nop    O
  121  nop    nop    nop    nop    nop    nop    nop    nop    O
  122  nop    nop    nop    nop    nop    nop    nop    nop    O
  123  nop    nop    nop    nop    nop    nop    nop    nop    O
  124  nop    nop    nop    nop    nop    nop    nop    nop    O
  125  nop    nop    nop    nop    nop    nop    nop    nop    O
  126  nop    nop    nop    nop    nop    nop    nop    nop    O
  127  nop    nop    nop    nop    nop    nop    nop    nop    O
  128  rctrl  rctrl  rctrl  rctrl  rctrl  rctrl  rctrl  rctrl  O
  129  ralt   ralt   ralt   ralt   ralt   ralt   ralt   ralt   O
  130  fkey60 fkey69 fkey79 fkey60 fkey89 fkey69 fkey79 fkey60 O
  131  del    del    del    del    0xff   0xff   0xff   0xff   N
  132  fkey49 fkey61 fkey71 fkey49 fkey81 fkey61 fkey71 fkey49 N
  133  fkey57 fkey66 fkey76 fkey57 fkey86 fkey66 fkey76 fkey57 N
  134  fkey51 fkey63 fkey73 fkey51 fkey83 fkey63 fkey73 fkey51 N
  135  fkey59 fkey68 fkey78 fkey59 fkey88 fkey68 fkey78 fkey59 N
  136  fkey55 fkey65 fkey75 fkey55 fkey85 fkey65 fkey75 fkey55 N
  137  fkey53 fkey64 fkey74 fkey53 fkey84 fkey64 fkey74 fkey53 N
  138  fkey50 fkey62 fkey72 fkey50 fkey82 fkey62 fkey72 fkey50 N
  139  fkey58 fkey67 fkey77 fkey58 fkey87 fkey67 fkey77 fkey58 N
  140  '/'    nop    nop    nop    0xaf   nop    nop    nop    O
  141  cr     cr     nl     nl     0x8d   0x8d   0x8a   0x8a   O