Hi

really sorry. I forget attach the "patches/002-builtinrc.patch" file

attach is the patch.


On 08/05/2010 09:11 AM, Xiangfu Liu wrote:
thanks Jo-Philipp

On 08/05/2010 01:22 AM, Jo-Philipp Wich wrote:
Committed in r22492 - thanks!




--
Best Regards
Xiangfu Liu
http://www.openmobilefree.net
Index: patches/002-builtinrc.patch
===================================================================
--- patches/002-builtinrc.patch	(revision 0)
+++ patches/002-builtinrc.patch	(revision 0)
@@ -0,0 +1,964 @@
+Index: joe-embedded/builtins.c
+===================================================================
+--- joe-embedded/builtins.c	(revision 227)
++++ joe-embedded/builtins.c	(revision 234)
+@@ -1,843 +0,0 @@
+-/* Built-in files */
+-
+-#include "types.h"
+-
+-unsigned char *builtins[]=
+-{
+-	USTR "joerc",
+-		USTR "-notite\n"
+-		"-assume_color\n"
+-		"-assume_256color\n"
+-		"-guess_non_utf8\n"
+-		"-guess_crlf\n"
+-		"-guess_indent\n"
+-		"-menu_above\n"
+-		"-transpose\n"
+-		"-joe_state\n"
+-		"-restore\n"
+-		"-search_prompting\n"
+-		"-lmsg \\i%k%T%W%I%X %n %m%y%R %M %x\n"
+-		"-rmsg  %S Row %r Col %c %t  Ctrl-K H for help\n"
+-		"-highlight\n"
+-		"-istep 2\n"
+-		":defmenu root\n"
+-		"mode,\"overwrite\",rtn	T Overtype %Zoverwrite%\n"
+-		"mode,\"hex\",rtn	% % Hex edit mode\n"
+-		"mode,\"autoindent\",rtn	I Autoindent %Zautoindent%\n"
+-		"mode,\"wordwrap\",rtn	W Word wrap %Zwordwrap%\n"
+-		"mode,\"tab\",rtn	D Tab width %Ztab%\n"
+-		"mode,\"lmargin\",rtn	L Left margin %Zlmargin%\n"
+-		"mode,\"rmargin\",rtn	R Right margin %Zrmargin%\n"
+-		"mode,\"square\",rtn	X Rectangle mode %Zsquare%\n"
+-		"mode,\"indentc\",rtn	% % Indent char %Zindentc%\n"
+-		"mode,\"istep\",rtn	% % Indent step %Zistep%\n"
+-		"mode,\"highlight\",rtn	H Highlighting %Zhighlight%\n"
+-		"mode,\"crlf\",rtn	Z CR-LF (MS-DOS) %Zcrlf%\n"
+-		"mode,\"linums\",rtn	N Line numbers %Zlinums%\n"
+-		"mode,\"beep\",rtn	B Beep %Zbeep%\n"
+-		"mode,\"rdonly\",rtn	O Read only %Zrdonly%\n"
+-		"mode,\"syntax\",rtn	Y Syntax\n"
+-		"mode,\"encoding\",rtn	E Encoding\n"
+-		"mode,\"asis\",rtn	% % Meta chars as-is\n"
+-		"mode,\"language\",rtn	V Language\n"
+-		"mode,\"picture\",rtn	P picture %Zpicture%\n"
+-		"menu,\"more-options\",rtn	  % % More options...\n"
+-		":defmenu more-options\n"
+-		"menu,\"^G\",rtn	% % ^G options\n"
+-		"menu,\"search\",rtn	% % search options\n"
+-		"menu,\"paragraph\",rtn	% % paragraph options\n"
+-		"menu,\"file\",rtn	% % file options\n"
+-		"menu,\"menu\",rtn	% % menu options\n"
+-		"menu,\"global\",rtn	% % global options\n"
+-		"menu,\"cursor\",rtn	% % cursor options\n"
+-		"menu,\"marking\",rtn	% % marking options\n"
+-		"menu,\"tab\",rtn	% % tab/indent options\n"
+-		":defmenu menu\n"
+-		"mode,\"menu_explorer\",rtn	% % Menu explorer %Zmenu_explorer%\n"
+-		"mode,\"menu_above\",rtn	% % Menu position %Zmenu_above%\n"
+-		"mode,\"menu_jump\",rtn	% % Jump into menu %Zmenu_jump%\n"
+-		"mode,\"transpose\",rtn	% % Transpose menus %Ztranspose%\n"
+-		":defmenu ^G\n"
+-		"mode,\"single_quoted\",rtn	% % ^G ignores '...' %Zsingle_quoted%\n"
+-		"mode,\"no_double_quoted\",rtn	% % ^G no ignore \"...\" %Zno_double_quoted%\n"
+-		"mode,\"c_comment\",rtn	% % ^G ignores /*...*/ %Zc_comment%\n"
+-		"mode,\"cpp_comment\",rtn	% % ^G ignores //... %Zcpp_comment%\n"
+-		"mode,\"pound_comment\",rtn	% % ^G ignores #... %Zpound_comment%\n"
+-		"mode,\"vhdl_comment\",rtn	% % ^G ignores --... %Zvhdl_comment%\n"
+-		"mode,\"semi_comment\",rtn	% % ^G ignores ;... %Zsemi_comment%\n"
+-		"mode,\"tex_comment\",rtn % % ^G ignores %... %Ztex_comment%\n"
+-		"mode,\"text_delimiters\",rtn % % Text delimiters %Ztext_delimiters%\n"
+-		":defmenu search\n"
+-		"mode,\"icase\",rtn	% % Case insensitivity %Zicase%\n"
+-		"mode,\"wrap\",rtn	% % Search wraps %Zwrap%\n"
+-		"mode,\"search_prompting\",rtn	% % Search prompting %Zsearch_prompting%\n"
+-		"mode,\"csmode\",rtn	% % Continued search %Zcsmode%\n"
+-		":defmenu paragraph\n"
+-		"mode,\"french\",rtn	% % French spacing %Zfrench%\n"
+-		"mode,\"flowed\",rtn	% % Flowed text %Zflowed%\n"
+-		"mode,\"cpara\",rtn	% % Paragraph indent chars %Zcpara%\n"
+-		":defmenu file\n"
+-		"mode,\"restore\",rtn	% % Restore cursor %Zrestore%\n"
+-		"mode,\"guess_crlf\",rtn	% % Auto detect CR-LF %Zguess_crlf%\n"
+-		"mode,\"guess_indent\",rtn	% % Guess indent %Zguess_indent%\n"
+-		"mode,\"guess_non_utf8\",rtn	% % Guess non-UTF-8 %Zguess_non_utf8%\n"
+-		"mode,\"guess_utf8\",rtn	% % Guess UTF-8 %Zguess_utf8%\n"
+-		"mode,\"force\",rtn	% % Force last NL %Zforce%\n"
+-		"mode,\"nobackup\",rtn	% % No backup %Znobackup%\n"
+-		":defmenu global\n"
+-		"mode,\"nolocks\",rtn	% % Disable locks %Znolocks%\n"
+-		"mode,\"nobackups\",rtn	% % Disable backups %Znobackups%\n"
+-		"mode,\"nomodcheck\",rtn	% % Disable mtime check %Znomodcheck%\n"
+-		"mode,\"nocurdir\",rtn	% % Disable current dir %Znocurdir%\n"
+-		"mode,\"exask\",rtn	% % Exit ask %Zexask%\n"
+-		"mode,\"nosta\",rtn	% % Disable status line %Znosta%\n"
+-		"mode,\"keepup\",rtn	% % Fast status line %Zkeepup%\n"
+-		"mode,\"break_hardlinks\",rtn	% % Break hard links %Zbreak_hardlinks%\n"
+-		"mode,\"break_links\",rtn	% % Break links %Zbreak_links%\n"
+-		"mode,\"joe_state\",rtn	% % Joe_state file %Zjoe_state%\n"
+-		"mode,\"undo_keep\",rtn	% % No. undo records %Zundo_keep%\n"
+-		"mode,\"backpath\",rtn	% % Path to backup files %Zbackpath%\n"
+-		":defmenu cursor\n"
+-		"mode,\"pg\",rtn	% % No. PgUp/PgDn lines %Zpg%\n"
+-		"mode,\"mid\",rtn	C Center on scroll %Zmid%\n"
+-		"mode,\"floatmouse\",rtn	% % Click past end %Zfloatmouse%\n"
+-		"mode,\"rtbutton\",rtn	% % Right button %Zrtbutton%\n"
+-		":defmenu marking\n"
+-		"mode,\"autoswap\",rtn	% % Autoswap mode %Zautoswap%\n"
+-		"mode,\"marking\",rtn	% % Marking %Zmarking%\n"
+-		"mode,\"lightoff\",rtn	% % Auto unmask %Zlightoff%\n"
+-		":defmenu tab\n"
+-		"mode,\"smarthome\",rtn	% % Smart home key %Zsmarthome%\n"
+-		"mode,\"smartbacks\",rtn	% % Smart backspace %Zsmartbacks%\n"
+-		"mode,\"indentfirst\",rtn	% % To indent first %Zindentfirst%\n"
+-		"mode,\"purify\",rtn	% % Clean up indents %Zpurify%\n"
+-		"mode,\"spaces\",rtn	% % No tabs %Zspaces%\n"
+-		"{Basic\n"
+-		"\\i   Help Screen    \\|turn off with ^KH    more help with ESC . (^[.)              \\i\n"
+-		"\\i \\i\\|\\uCURSOR\\u           \\|\\uGO TO\\u            \\|\\uBLOCK\\u      \\|\\uDELETE\\u   \\|\\uMISC\\u         \\|\\uEXIT\\u      \\|\\i \\i\n"
+-		"\\i \\i\\|^B left ^F right \\|^U  prev. screen \\|^KB begin  \\|^D char. \\|^KJ reformat \\|^KX save  \\|\\i \\i\n"
+-		"\\i \\i\\|^P up   ^N down  \\|^V  next screen  \\|^KK end    \\|^Y line  \\|^KA center   \\|^C  abort \\|\\i \\i\n"
+-		"\\i \\i\\|^Z previous word \\|^A  beg. of line \\|^KM move   \\|^W >word \\|^T  options  \\|^KZ shell \\|\\i \\i\n"
+-		"\\i \\i\\|^X next word     \\|^E  end of line  \\|^KC copy   \\|^O word< \\|^R  refresh  \\|\\uFILE\\u      \\|\\i \\i\n"
+-		"\\i \\i\\|\\uSEARCH\\u           \\|^KU top of file  \\|^KW file   \\|^J >line \\|\\uSPELL\\u        \\|^KE edit  \\|\\i \\i\n"
+-		"\\i \\i\\|^KF find text    \\|^KV end of file  \\|^KY delete \\|^_ undo  \\|^[N word     \\|^KR insert\\|\\i \\i\n"
+-		"\\i \\i\\|^L  find next    \\|^KL to line No.  \\|^K/ filter \\|^^ redo  \\|^[L file     \\|^KD save  \\|\\i \\i\n"
+-		"}\n"
+-		"{Windows\n"
+-		"\\i   Help Screen    \\|turn off with ^KH    prev. screen ^[,    next screen ^[.     \\i\n"
+-		"\\i \\i\\|^KO Split the window in half           \\|^KE Load file into window             \\|\\i \\i\n"
+-		"\\i \\i\\|^KG Make current window bigger         \\|^KT Make current window smaller       \\|\\i \\i\n"
+-		"\\i \\i\\|^KN Go to the window below             \\|^KP Go to the window above            \\|\\i \\i\n"
+-		"\\i \\i\\|^[V Switch to next buffer              \\|^[U Switch to previous buffer         \\|\\i \\i\n"
+-		"\\i \\i\\|^C  Eliminate the current window       \\|^KI Show all windows / Show one window\\|\\i \\i\n"
+-		"}\n"
+-		"{Advanced\n"
+-		"\\i   Help Screen    \\|turn off with ^KH    prev. screen ^[,    next screen ^[.     \\i\n"
+-		"\\i \\i\\|\\uMACROS\\u         \\|\\uMISC\\u            \\|\\uSCROLL\\u    \\|\\uSHELL\\u       \\|\\uGOTO\\u       \\|\\uI-SEARCH\\u     \\|\\i \\i\n"
+-		"\\i \\i\\|^K[ 0-9 Record \\|^K SPACE status \\|^[W Up    \\|^K' Window  \\|^[B To ^KB \\|^[R Backwards\\|\\i \\i\n"
+-		"\\i \\i\\|^K]     Stop   \\|^K\\\\ Repeat      \\|^[Z Down  \\|^[! Command \\|^[K To ^KK \\|^[S Forwards \\|\\i \\i\n"
+-		"\\i \\i\\|^K 0-9  Play   \\|\\uINSERT\\u          \\|^K< Left  \\|\\uQUOTE\\u       \\|\\uDELETE\\u     \\|\\uBOOKMARKS\\u    \\|\\i \\i\n"
+-		"\\i \\i\\|^K?     Query  \\|^] split line   \\|^K> Right \\|^[' Ctrl-   \\|^[Y yank   \\|^[ 0-9 Goto  \\|\\i \\i\n"
+-		"\\i \\i\\|^[D     Dump   \\|^SPACE ins space\\|          \\|^\\\\ Meta-    \\|^[O line<  \\|^[^[   Set   \\|\\i \\i\n"
+-		"}\n"
+-		"{Programs\n"
+-		"\\i   Help Screen    \\|turn off with ^KH    prev. screen ^[,    next screen ^[.     \\i\n"
+-		"\\i \\i\\|\\uGOTO\\u                 \\|\\uINDENT\\u   \\|\\uCOMPILING\\u          \\uQUICK\\u                       \\|\\i \\i\n"
+-		"\\i \\i\\|^G  Matching ( [ {   \\|^K, less \\|^[C Compile & parse ^G  find word under cursor \\|\\i \\i\n"
+-		"\\i \\i\\|^K- Previous place   \\|^K. more \\|^[G Grep & parse    ^[ENTER complete word      \\|\\i \\i\n"
+-		"\\i \\i\\|^K= Next place         \\|       \\|^[= To next error   ^[Y paste deleted text     \\|\\i \\i\n"
+-		"\\i \\i\\|^K; Tags file search   \\|       \\|^[- To prev. error  ^[^Y cycle through deleted \\|\\i \\i\n"
+-		"\\i \\i\\|                       \\|       \\|^[ SP Jump to error                            \\|\\i \\i\n"
+-		"}\n"
+-		"{Search\n"
+-		"\\i   Help Screen    \\|turn off with ^KH    prev. screen ^[,    next screen ^[.     \\i\n"
+-		"\\i \\iSpecial search sequences:                                                    \\|\\i \\i\n"
+-		"\\i \\i    \\\\^  \\\\$  matches beg./end of line      \\\\?     match any single char       \\|\\i \\i\n"
+-		"\\i \\i    \\\\<  \\\\>  matches beg./end of word      \\\\*     match 0 or more chars       \\|\\i \\i\n"
+-		"\\i \\i    \\\\c      matches balanced C expression \\\\\\\\     matches a \\\\                 \\|\\i \\i\n"
+-		"\\i \\i    \\\\[..]   matches one of a set          \\\\n     matches a newline           \\|\\i \\i\n"
+-		"\\i \\i    \\\\+      matches 0 or more of the character which follows the \\\\+          \\|\\i \\i\n"
+-		"\\i \\iSpecial replace sequences:                                                   \\|\\i \\i\n"
+-		"\\i \\i    \\\\&      replaced with text which matched search string                   \\|\\i \\i\n"
+-		"\\i \\i    \\\\0 - 9  replaced with text which matched Nth \\\\*, \\\\?, \\\\c, \\\\+, or \\\\[..]    \\|\\i \\i\n"
+-		"\\i \\i    \\\\\\\\      replaced with \\\\               \\\\n     replaced with newline       \\|\\i \\i\n"
+-		"}\n"
+-		"{SearchOptions\n"
+-		"\\i   Help Screen    \\|turn off with ^KH    prev. screen ^[,    next screen ^[.     \\i\n"
+-		"\\i \\iSearch options:                                                              \\|\\i \\i\n"
+-		"\\i \\i   r Replace                                                                 \\|\\i \\i\n"
+-		"\\i \\i   k Restrict search to highlighted block, which can be rectangular          \\|\\i \\i\n"
+-		"\\i \\i   b Search backward instead of forward                                      \\|\\i \\i\n"
+-		"\\i \\i   i Ignore case                                                             \\|\\i \\i\n"
+-		"\\i \\i   a Search across all loaded files                                          \\|\\i \\i\n"
+-		"\\i \\i   e Search across all files in Grep or Compile error list                   \\|\\i \\i\n"
+-		"\\i \\i   w Wrap to beginning of file for this search                               \\|\\i \\i\n"
+-		"\\i \\i   n Do not wrap to beginning of file for this search                        \\|\\i \\i\n"
+-		"\\i \\i   nnn Perform exaclty nnn replacements                                      \\|\\i \\i\n"
+-		"}\n"
+-		"{Math\n"
+-		"\\i   Help Screen    \\|turn off with ^KH    prev. screen ^[,    next screen ^[.     \\i\n"
+-		"\\i \\i \\uCOMMANDS\\u (hit ESC m for math)  \\uFUNCTIONS\\u                                    \\|\\i \\i\n"
+-		"\\i \\i     hex hex display mode       sin cos tab asin acos atan                   \\|\\i \\i\n"
+-		"\\i \\i     dec decimal mode           sinh cosh tanh asinh acosh atanh             \\|\\i \\i\n"
+-		"\\i \\i     ins type result into file  sqrt cbrt exp ln log                         \\|\\i \\i\n"
+-		"\\i \\i    eval evaluate block         int floor ceil abs erg ergc                  \\|\\i \\i\n"
+-		"\\i \\i    0xff enter number in hex    joe(..macro..) - runs an editor macro        \\|\\i \\i\n"
+-		"\\i \\i    3e-4 floating point decimal \\uBLOCK\\u                                        \\|\\i \\i\n"
+-		"\\i \\i    a=10 assign a variable      sum cnt  Sum, count                          \\|\\i \\i\n"
+-		"\\i \\i 2+3:ins multiple commands      avg dev  Average, std. deviation             \\|\\i \\i\n"
+-		"\\i \\i    e pi constants              \\uOPERATORS\\u                                    \\|\\i \\i\n"
+-		"\\i \\i     ans previous result        ! ^  * / %  + -  < <= > >= == !=  &&  ||  ? :\\|\\i \\i\n"
+-		"}\n"
+-		"{Names\n"
+-		"\\i   Help Screen    \\|turn off with ^KH    prev. screen ^[,    next screen ^[.     \\i\n"
+-		"\\i \\i Hit TAB at file name prompts to generate menu of file names                 \\|\\i \\i\n"
+-		"\\i \\i Or use up/down keys to access history of previously entered names           \\|\\i \\i\n"
+-		"\\i \\i Special file names:                                                         \\|\\i \\i\n"
+-		"\\i \\i      !command                 Pipe in/out of a shell command                \\|\\i \\i\n"
+-		"\\i \\i      >>filename               Append to a file                              \\|\\i \\i\n"
+-		"\\i \\i      -                        Read/Write to/from standard I/O               \\|\\i \\i\n"
+-		"\\i \\i      filename,START,SIZE      Read/Write a part of a file/device            \\|\\i \\i\n"
+-		"\\i \\i          Give START/SIZE in decimal (255), octal (0377) or hex (0xFF)       \\|\\i \\i\n"
+-		"}\n"
+-		"{Joe\n"
+-		"\\i   Help Screen    \\|turn off with ^KH    prev. screen ^[,                        \\i\n"
+-		"\\i \\i Send bug reports to: http://sourceforge.net/projects/joe-editor \\|\\i \\i\n"
+-		"\\i \\i \\|\\i \\i\n"
+-		"}\n"
+-		":windows		Bindings common to all windows\n"
+-		"type		^@ TO ÿ		Type a character\n"
+-		"abort		^C		Abort window\n"
+-		"abort		^K Q\n"
+-		"abort		^K ^Q\n"
+-		"abort		^K q\n"
+-		"arg		^K \\		Repeat next command\n"
+-		"explode		^K I		Show all windows or show only one window\n"
+-		"explode		^K ^I\n"
+-		"explode		^K i\n"
+-		"help		^K H		Help menu\n"
+-		"help		^K ^H\n"
+-		"help		^K h\n"
+-		"hnext		^[ .		Next help window\n"
+-		"hprev		^[ ,		Previous help window\n"
+-		"math		^[ m		Calculator\n"
+-		"math		^[ M		Calculator\n"
+-		"msg		^[ h		Display a message\n"
+-		"msg		^[ H		Display a message\n"
+-		"msg		^[ ^H		Display a message\n"
+-		"nextw		^K N		Goto next window\n"
+-		"nextw		^K ^N\n"
+-		"nextw		^K n\n"
+-		"pgdn		.kN		Screen down\n"
+-		"pgdn		^V\n"
+-		"pgdn		^[ [ 6 ~\n"
+-		"pgup		.kP		Screen up\n"
+-		"pgup		^U\n"
+-		"pgup		^[ [ 5 ~\n"
+-		"play		^K 0 TO 9	Execute macro\n"
+-		"prevw		^K P		Goto previous window\n"
+-		"prevw		^K ^P\n"
+-		"prevw		^K p\n"
+-		"query		^K ?		Macro query insert\n"
+-		"record		^K [		Record a macro\n"
+-		"retype		^R		Refresh screen\n"
+-		"rtn		^M		Return\n"
+-		"shell		^K Z		Shell escape\n"
+-		"shell		^K ^Z\n"
+-		"shell		^K z\n"
+-		"stop		^K ]		Stop recording\n"
+-		"defmdown	MDOWN		Move the cursor to the mouse location\n"
+-		"defmup		MUP\n"
+-		"defmdrag	MDRAG		Select a region of characters\n"
+-		"defm2down	M2DOWN		Select the word at the mouse location\n"
+-		"defm2up		M2UP\n"
+-		"defm2drag	M2DRAG		Select a region of words\n"
+-		"defm3down	M3DOWN		Select the line at the mouse location\n"
+-		"defm3up		M3UP\n"
+-		"defm3drag	M3DRAG		Select a region of lines\n"
+-		"xtmouse		^[ [ M		Introduces an xterm mouse event\n"
+-		":main			Text editing window\n"
+-		":inherit windows\n"
+-		":def ispellfile filt,\"cat >ispell.tmp;ispell ispell.tmp </dev/tty >/dev/tty;cat ispell.tmp;/bin/rm ispell.tmp\",rtn,retype\n"
+-		":def ispellword psh,nextword,markk,prevword,markb,filt,\"cat >ispell.tmp;ispell ispell.tmp </dev/tty >/dev/tty;tr -d <ispell.tmp '\\\\012';/bin/rm ispell.tmp\",rtn,retype,nextword\n"
+-		":def aspellfile filt,\"SPLTMP=ispell.tmp;cat >$SPLTMP;aspell --lang=\",language,\".\",charset,\" -x -c $SPLTMP </dev/tty >/dev/tty;cat $SPLTMP;/bin/rm $SPLTMP\",rtn,retype\n"
+-		":def aspellword psh,nextword,markk,prevword,markb,filt,\"SPLTMP=ispell.tmp;cat >$SPLTMP;aspell --lang=\",language,\".\",charset,\" -x -c $SPLTMP </dev/tty >/dev/tty;tr -d <$SPLTMP '\\\\012';/bin/rm $SPLTMP\",rtn,retype,nextword\n"
+-		"aspellfile	^[ l\n"
+-		"aspellword	^[ n\n"
+-		":def compile mwind!,mfit!,querysave,query,scratch,\"* Build Log *\",rtn,bof,markb,eof,\" \",markk,blkdel,build\n"
+-		":def grep_find mwind!,mfit!,scratch,\"* Grep Log *\",rtn,bof,markb,eof,\" \",markk,blkdel,grep\n"
+-		":def man scratch,\"* Man Page *\",rtn,bof,markb,eof,\" \",markk,blkdel,\" \",ltarw,run,\"man -P cat -S 2:3 \"\n"
+-		"paste			^[ ] 5 2 ;		Bracketed paste\n"
+-		"insc			^[ [ 2 ~\n"
+-		"insc			^[ [ L			SCO\n"
+-		"delch			^[ [ 3 ~\n"
+-		"pgup			^[ [ I		SCO\n"
+-		"pgdn			^[ [ G		SCO\n"
+-		"home			^[ [ 1 ~		Putty, Linux, Cygwin\n"
+-		"home			^[ [ H			Xterm, Konsole, SCO\n"
+-		"home			^[ O H			gnome-terminal\n"
+-		"home			^[ [ 7 ~		RxVT\n"
+-		"eol			^[ [ 4 ~		Putty, Linux, Cygwin, ssh\n"
+-		"eol			^[ [ F			Xterm, Konsole, SCO\n"
+-		"eol			^[ O F			gnome-terminal\n"
+-		"eol			^[ [ 8 ~		RxVT\n"
+-		"rtarw,ltarw,begin_marking,rtarw,toggle_marking	^[ [ 1 ; 5 C    Mark right Xterm\n"
+-		"rtarw,ltarw,begin_marking,rtarw,toggle_marking	^[ [ 5 C        Mark right Gnome-terminal\n"
+-		"rtarw,ltarw,begin_marking,rtarw,toggle_marking	^[ O c		Mark right RxVT Ctrl-rtarw\n"
+-		"ltarw,rtarw,begin_marking,ltarw,toggle_marking	^[ [ 1 ; 5 D    Mark left\n"
+-		"ltarw,rtarw,begin_marking,ltarw,toggle_marking	^[ [ 5 D        Mark left\n"
+-		"ltarw,rtarw,begin_marking,ltarw,toggle_marking	^[ O d		Mark left RxVT Ctrl-ltarw\n"
+-		"uparw,dnarw,begin_marking,uparw,toggle_marking	^[ [ 1 ; 5 A    Mark up\n"
+-		"uparw,dnarw,begin_marking,uparw,toggle_marking	^[ [ 5 A        Mark up\n"
+-		"uparw,dnarw,begin_marking,uparw,toggle_marking	^[ O a		Mark up RxVT Ctrl-uparw\n"
+-		"dnarw,uparw,begin_marking,dnarw,toggle_marking	^[ [ 1 ; 5 B    Mark down\n"
+-		"dnarw,uparw,begin_marking,dnarw,toggle_marking	^[ [ 5 B        Mark down\n"
+-		"dnarw,uparw,begin_marking,dnarw,toggle_marking	^[ O b		Mark down RxVT Ctrl-dnarw\n"
+-		"blkdel,nmark   ^[ [ 3 ; 5 -	Gnome-terminal Ctrl-Del\n"
+-		"blkdel,nmark   ^[ [ 3 ; 5 ~	Xterm Ctrl-Del\n"
+-		"yank		^[ [ 2 ; 5 -	Gnome-terminal Ctrl-Ins\n"
+-		"yank		^[ [ 2 ; 5 ~    Xterm Ctrl-Ins\n"
+-		"delbol		^[ o		Delete to beginning of line\n"
+-		"delbol		^[ ^O		Delete to beginning of line\n"
+-		"dnslide		^[ z		Scroll down one line\n"
+-		"dnslide		^[ Z		Scroll down one line\n"
+-		"dnslide		^[ ^Z		Scroll down one line\n"
+-		"dnslide,dnslide,dnslide,dnslide		MWDOWN\n"
+-		"compile		^[ c		Compile\n"
+-		"compile		^[ C\n"
+-		"compile		^[ ^C		Compile\n"
+-		"grep_find	^[ g		Grep\n"
+-		"grep_find	^[ G		Grep\n"
+-		"grep_find	^[ ^G		Grep\n"
+-		"execmd		^[ x		Prompt for command to execute\n"
+-		"execmd		^[ X		Prompt for command to execute\n"
+-		"execmd		^[ ^X		Prompt for command to execute\n"
+-		"finish		^[ ^I		Complete word in document\n"
+-		"finish		^[ ^M		Complete word: used to be math\n"
+-		"mwind,mfit,jump,bol		^[ SP\n"
+-		"isrch		^[ s		Forward incremental search\n"
+-		"isrch		^[ S		Forward incremental search\n"
+-		"isrch		^[ ^S		Forward incremental search\n"
+-		"notmod		^[ ~		Not modified\n"
+-		"mwind,mfit,prevw,nxterr		^[ =		To next error\n"
+-		"parserr		^[ e		Parse errors in current buffer\n"
+-		"parserr		^[ E		Parse errors in current buffer\n"
+-		"parserr		^[ ^E		Parse errors in current buffer\n"
+-		"mwind,mfit,prevw,prverr		^[ -		To previous error\n"
+-		"rsrch		^[ r		Backward incremental search\n"
+-		"rsrch		^[ R		Backward incremental search\n"
+-		"rsrch		^[ ^R		Backward incremental search\n"
+-		"run		^[ !		Run a program in a window\n"
+-		"tomarkb		^[ b		Go to beginning of marked block\n"
+-		"tomarkb		^[ ^B		Go to beginning of marked block\n"
+-		"tomarkk		^[ k		Go to end of marked block\n"
+-		"tomarkk		^[ ^K		Go to end of marked block\n"
+-		"tomarkk		^[ K		Go to end of marked block\n"
+-		"txt		^[ i		Prompt for text and insert it\n"
+-		"txt		^[ I		Prompt for text and insert it\n"
+-		"upslide		^[ w		Scroll up one line\n"
+-		"upslide		^[ ^W		Scroll up one line\n"
+-		"upslide		^[ W		Scroll up one line\n"
+-		"upslide,upslide,upslide,upslide		MWUP\n"
+-		"yank		^[ y		Undelete text\n"
+-		"yankpop		^[ ^Y		Undelete text\n"
+-		"yank		^[ Y		Undelete text\n"
+-		"insc		^@		Ctrl-space used to insert a space\n"
+-		"nbuf		^[ v		Next buffer\n"
+-		"nbuf		^[ V		Next buffer\n"
+-		"nbuf		^[ ^V		Next buffer\n"
+-		"pbuf		^[ u		Prev buffer\n"
+-		"pbuf		^[ U		Prev buffer\n"
+-		"pbuf		^[ ^U		Prev buffer\n"
+-		"quote8		^\\		Enter Meta chars\n"
+-		"quote		^[ '		Enter Ctrl chars\n"
+-		"quote		^Q\n"
+-		"backs		^?		Backspace\n"
+-		"backs		^H\n"
+-		"backw		^O		Backspace word\n"
+-		"bknd		^K '		Shell window\n"
+-		"blkcpy		^K C		Copy marked block\n"
+-		"blkcpy		^K ^C\n"
+-		"blkcpy		^K c\n"
+-		"blkdel		^K Y		Delete marked block\n"
+-		"blkdel		^K ^Y\n"
+-		"blkdel		^K y\n"
+-		"blkmove		^K M		Move marked block\n"
+-		"blkmove		^K ^M\n"
+-		"blkmove		^K m\n"
+-		"blksave		^K W		Save marked block\n"
+-		"blksave		^K ^W\n"
+-		"blksave		^K w\n"
+-		"bof		^K U		Goto beginning of file\n"
+-		"bof		^K ^U\n"
+-		"bof		^K u\n"
+-		"home		.kh\n"
+-		"home		^A\n"
+-		"center		^K A		Center line\n"
+-		"center		^K ^A\n"
+-		"center		^K a\n"
+-		"crawll		^K <		Pan left\n"
+-		"crawlr		^K >		Pan right\n"
+-		"delch		.kD		Delete character\n"
+-		"delch		^D\n"
+-		"deleol		^J		Delete to end of line\n"
+-		"dellin		^Y		Delete entire line\n"
+-		"delw		^W		Delete word to right\n"
+-		"dnarw		.kd		Go down\n"
+-		"dnarw		^N\n"
+-		"dnarw		^[ O B\n"
+-		"dnarw		^[ [ B\n"
+-		"edit		^K E		Edit a file\n"
+-		"edit		^K ^E\n"
+-		"edit		^K e\n"
+-		"eof		^K V		Go to end of file\n"
+-		"eof		^K ^V\n"
+-		"eof		^K v\n"
+-		"eol		.kH		Go to end of line\n"
+-		"eol		....@7\n"
+-		"eol		^E\n"
+-		"exsave		^K X		Save and exit\n"
+-		"exsave		^K ^X\n"
+-		"exsave		^K x\n"
+-		"ffirst		^K F		Find first\n"
+-		"ffirst		^K ^F\n"
+-		"ffirst		^K f\n"
+-		"filt		^K /		Filter block\n"
+-		"fnext		^L		Find next\n"
+-		"fmtblk		^K J		Format paragraphs in block\n"
+-		"fmtblk		^K ^J\n"
+-		"fmtblk		^K j\n"
+-		"gomark		^[ 0 TO 9	Goto bookmark\n"
+-		"groww		^K G		Grow window\n"
+-		"groww		^K ^G\n"
+-		"groww		^K g\n"
+-		"insc		.kI		Insert a space\n"
+-		"insf		^K R		Insert a file\n"
+-		"insf		^K ^R\n"
+-		"insf		^K r\n"
+-		"lindent		^K ,		Indent to left\n"
+-		"line		^K L		Goto line no.\n"
+-		"line		^K ^L\n"
+-		"line		^K l\n"
+-		"ltarw		.kl		Go left\n"
+-		"ltarw		^B\n"
+-		"ltarw		^[ O D\n"
+-		"ltarw		^[ [ D\n"
+-		"macros		^[ d		Dump keyboard macros\n"
+-		"macros		^[ ^D\n"
+-		"markb		^K B		Set beginning of marked block\n"
+-		"markb		^K ^B\n"
+-		"markb		^K b\n"
+-		"markk		^K K		Set end of marked block\n"
+-		"markk		^K ^K\n"
+-		"markk		^K k\n"
+-		"menu,\"root\",rtn		^T		Options menu\n"
+-		"nextpos		^K =		Goto next position in position history\n"
+-		"nextword	^X		Goto next word\n"
+-		"open		^]		Split line\n"
+-		"prevpos		^K -		Previous position in history\n"
+-		"prevword	^Z		Previous word\n"
+-		"redo		^^		Redo changes\n"
+-		"rindent		^K .		Indent to right\n"
+-		"rtarw		.kr		Go right\n"
+-		"rtarw		^F\n"
+-		"rtarw		^[ O C\n"
+-		"rtarw		^[ [ C\n"
+-		"run		^K !		Run a shell command\n"
+-		"save		^K D		Save file\n"
+-		"save		^K S\n"
+-		"save		^K ^D\n"
+-		"save		^K ^S\n"
+-		"save		^K d\n"
+-		"save		^K s\n"
+-		"setmark		^[ ^[		Set bookmark\n"
+-		"shrinkw		^K T		Shrink window\n"
+-		"shrinkw		^K ^T\n"
+-		"shrinkw		^K t\n"
+-		"splitw		^K O		Split window\n"
+-		"splitw		^K ^O\n"
+-		"splitw		^K o\n"
+-		"stat		^K SP		Show status\n"
+-		"tag		^K ;		Tags file search\n"
+-		"tomatch		^G		Goto matching parenthasis\n"
+-		"undo		^_		Undo changes\n"
+-		"uparw		.ku		Go up\n"
+-		"uparw		^P\n"
+-		"uparw		^[ O A\n"
+-		"uparw		^[ [ A\n"
+-		":prompt			Prompt windows\n"
+-		":inherit main\n"
+-		"if,\"byte>size\",then,complete,complete,else,delch,endif	^D\n"
+-		"complete	^I\n"
+-		"dnarw,eol	.kd		Go down\n"
+-		"dnarw,eol	^N\n"
+-		"dnarw,eol	^[ O B\n"
+-		"dnarw,eol	^[ [ B\n"
+-		"uparw,eol	.ku		Go up\n"
+-		"uparw,eol	^P\n"
+-		"uparw,eol	^[ O A\n"
+-		"uparw,eol	^[ [ A\n"
+-		":menu			Selection menus\n"
+-		":inherit windows\n"
+-		"pgupmenu			^[ [ I\n"
+-		"pgdnmenu			^[ [ G\n"
+-		"bolmenu			^[ [ 1 ~		Putty, Linux, Cygwin\n"
+-		"bolmenu			^[ [ H			Xterm, Konsole\n"
+-		"bolmenu			^[ O H			gnome-terminal\n"
+-		"bolmenu			^[ [ 7 ~		RxVT\n"
+-		"eolmenu			^[ [ 4 ~		Putty, Linux, Cygwin, ssh\n"
+-		"eolmenu			^[ [ F			Xterm, Konsole\n"
+-		"eolmenu			^[ O F			gnome-terminal\n"
+-		"eolmenu			^[ [ 8 ~		RxVT\n"
+-		"abort		^[ ^[	Why?\n"
+-		"backsmenu	^?\n"
+-		"backsmenu	^H\n"
+-		"bofmenu		^K U\n"
+-		"bofmenu		^K ^U\n"
+-		"bofmenu		^K u\n"
+-		"bolmenu		.kh\n"
+-		"bolmenu		^A\n"
+-		"dnarwmenu	.kd\n"
+-		"dnarwmenu	^N\n"
+-		"dnarwmenu	^[ [ B\n"
+-		"dnarwmenu	^[ O B\n"
+-		"dnarwmenu	MWDOWN\n"
+-		"eofmenu		^K V\n"
+-		"eofmenu		^K ^V\n"
+-		"eofmenu		^K v\n"
+-		"eolmenu		.kH\n"
+-		"eolmenu		^E\n"
+-		"ltarwmenu	.kl\n"
+-		"ltarwmenu	^B\n"
+-		"ltarwmenu	^[ [ D\n"
+-		"ltarwmenu	^[ O D\n"
+-		"pgdnmenu	.kN		Screen down\n"
+-		"pgdnmenu	^V\n"
+-		"pgdnmenu	^[ [ 6 ~\n"
+-		"pgupmenu	.kP		Screen up\n"
+-		"pgupmenu	^U\n"
+-		"pgupmenu	^[ [ 5 ~\n"
+-		"rtarwmenu	.kr\n"
+-		"rtarwmenu	^F\n"
+-		"rtarwmenu	^[ [ C\n"
+-		"rtarwmenu	^[ O C\n"
+-		"rtn		SP\n"
+-		"rtn		^I\n"
+-		"rtn		^K H\n"
+-		"rtn		^K h\n"
+-		"rtn		^K ^H\n"
+-		"tabmenu		^I\n"
+-		"uparwmenu	.ku\n"
+-		"uparwmenu	^P\n"
+-		"uparwmenu	^[ [ A\n"
+-		"uparwmenu	^[ O A\n"
+-		"uparwmenu	MWUP\n"
+-		"defm2down	M2DOWN		Hits return key\n"
+-		":query			Single-key query window\n"
+-		":inherit windows\n"
+-		":querya			Single-key query window for quoting\n"
+-		"type		^@ TO ÿ\n"
+-		":querysr		Search & replace query window\n"
+-		"type		^@ TO ÿ\n"
+-,	USTR "c.jsf.in",
+-		USTR "=Idle\n"
+-		"=Bad		bold red\n"
+-		"=Preproc 	blue\n"
+-		"=Define		bold blue\n"
+-		"=Comment 	green\n"
+-		"=IncLocal	cyan\n"
+-		"=IncSystem	bold cyan\n"
+-		"=Constant 	cyan\n"
+-		"=Escape 	bold cyan\n"
+-		"=Type 		bold\n"
+-		"=Keyword 	bold\n"
+-		"=CppKeyword	bold\n"
+-		"=Brace		magenta\n"
+-		"=Control\n"
+-		"\n"
+-		":reset Idle\n"
+-		"	*		first		noeat\n"
+-		"	\" \\t\"		reset\n"
+-		"\n"
+-		":first Idle\n"
+-		"	*		idle		noeat\n"
+-		"	\"#\"		pre		recolor=-1\n"
+-		"\n"
+-		":pre Preproc\n"
+-		"	*		preproc		noeat\n"
+-		"	\" \\t\"		pre\n"
+-		"	\"a-z\"		preident	recolor=-1 buffer\n"
+-		"\n"
+-		":preident Preproc\n"
+-		"	*		preproc		noeat strings\n"
+-		"	\"define\"	predef\n"
+-		"	\"include\"	preinc\n"
+-		"done\n"
+-		"	\"a-z\"		preident\n"
+-		"\n"
+-		":preinc Preproc\n"
+-		"	*		preinc\n"
+-		"	\" \\t\"		preinc_ws\n"
+-		"	\"\\n\"		reset\n"
+-		"	\n"
+-		":preinc_ws Preproc\n"
+-		"	*		prebad		recolor=-1\n"
+-		"	\" \\t\"		preinc_ws\n"
+-		"	\"\\\"\"		preinc_local	recolor=-1\n"
+-		"	\"<\"		preinc_system	recolor=-1\n"
+-		"\n"
+-		":preinc_local IncLocal\n"
+-		"	*		preinc_local\n"
+-		"	\"\\\"\\n\"		reset\n"
+-		"	\n"
+-		":preinc_system IncSystem\n"
+-		"	*		preinc_system\n"
+-		"	\">\\n\"		reset\n"
+-		"\n"
+-		":prebad	Bad	\n"
+-		"	*		prebad\n"
+-		"	\"\\n\"		reset\n"
+-		"\n"
+-		"\n"
+-		":predef Preproc\n"
+-		"	*		predef\n"
+-		"	\" \\t\"		predef_ws\n"
+-		"	\"\\n\"		reset\n"
+-		"	\n"
+-		":predef_ws Preproc\n"
+-		"	*		prebad		recolor=-1\n"
+-		"	\" \\t\"		predef_ws\n"
+-		"	\"a-zA-Z0-9_\"	predef_ident	recolor=-1\n"
+-		"\n"
+-		":predef_ident Define\n"
+-		"	*		idle		noeat\n"
+-		"	\"a-zA-Z0-9_\"	predef_ident\n"
+-		"\n"
+-		"\n"
+-		":preproc Preproc\n"
+-		"	*		preproc\n"
+-		"	\"\\n\"		reset\n"
+-		"	\"\\\\\"		preproc_cont\n"
+-		"	\"/\"		preproc_slash\n"
+-		"	\n"
+-		":preproc_slash Preproc\n"
+-		"	*		preproc		noeat\n"
+-		"	\"*\"		comment		recolor=-2\n"
+-		"	\"/\"		line_comment	recolor=-2\n"
+-		"	\n"
+-		":preproc_cont Preproc\n"
+-		"	*		preproc_cont\n"
+-		"	\"\\n\"		preproc\n"
+-		"\n"
+-		":idle Idle\n"
+-		"	*		idle\n"
+-		"	\"\\n\"		reset\n"
+-		"	\"/\"		slash\n"
+-		"	\"0\"		first_digit	recolor=-1\n"
+-		"	\"1-9\"		decimal	recolor=-1\n"
+-		"	\".\"		maybe_float\n"
+-		"	\"\\\"\"		string		recolor=-1\n"
+-		"	\"'\"		char		recolor=-1\n"
+-		"	\"a-zA-Z_\"	ident		buffer\n"
+-		"	\"\\\\\"		outside_escape	recolor=-1\n"
+-		"	\"{}\"		brace		recolor=-1\n"
+-		"	\",:;=()><[]*&|!~+\\-%^\"	control		recolor=-1\n"
+-		"\n"
+-		":outside_escape	Escape\n"
+-		"	*	idle\n"
+-		"\n"
+-		":brace Brace\n"
+-		"	*	idle	noeat\n"
+-		"\n"
+-		":control Control\n"
+-		"	*	idle	noeat\n"
+-		"\n"
+-		":slash Idle\n"
+-		"	*		idle		noeat recolor=-2\n"
+-		"	\"*\"		comment		recolor=-2\n"
+-		"	\"/\"		line_comment	recolor=-2\n"
+-		"\n"
+-		":comment Comment\n"
+-		"	*		comment\n"
+-		"	\"*\"		maybe_end_comment\n"
+-		"\n"
+-		":maybe_end_comment Comment\n"
+-		"	*		comment\n"
+-		"	\"/\"		idle\n"
+-		"	\"*\"		maybe_end_comment\n"
+-		"\n"
+-		":line_comment Comment\n"
+-		"	*		line_comment\n"
+-		"	\"\\n\"		reset\n"
+-		"\n"
+-		":first_digit Constant\n"
+-		"	*		idle	noeat\n"
+-		"	\"xX\"		hex\n"
+-		"	\".\"		float\n"
+-		"	\"eE\"		epart\n"
+-		"	\"0-7\"		octal\n"
+-		"	\"89\"		bad_number	recolor=-1\n"
+-		"\n"
+-		":bad_number Bad\n"
+-		"	*		idle	noeat\n"
+-		"	\"0-9\"		bad_number\n"
+-		"\n"
+-		":octal Constant\n"
+-		"	*		idle	noeat\n"
+-		"	\"0-7\"		octal\n"
+-		"	\"89\"		bad_number	recolor=-1\n"
+-		"\n"
+-		":hex Constant\n"
+-		"	*		idle	noeat\n"
+-		"	\"0-9A-Fa-f\"	hex\n"
+-		"\n"
+-		":decimal Constant\n"
+-		"	*		idle	noeat\n"
+-		"	\"0-9\"		decimal\n"
+-		"	\"eE\"		epart\n"
+-		"	\".\"		float\n"
+-		"\n"
+-		":maybe_float Constant\n"
+-		"	*		idle	recolor=-2	noeat\n"
+-		"	\"0-9\"		float		recolor=-2\n"
+-		"\n"
+-		":float Constant\n"
+-		"	*		idle	noeat\n"
+-		"	\"eE\"		epart\n"
+-		"	\"0-9\"		float\n"
+-		"\n"
+-		":epart Constant\n"
+-		"	*		idle	noeat\n"
+-		"	\"0-9+\\-\"	enum\n"
+-		"\n"
+-		":enum Constant\n"
+-		"	*		idle	noeat\n"
+-		"	\"0-9\"		enum\n"
+-		"\n"
+-		":string	Constant\n"
+-		"	*		string\n"
+-		"	\"\\\"\"		idle\n"
+-		"	\"\\\\\"		string_escape	recolor=-1\n"
+-		"	\"%\"		string_control	recolor=-1\n"
+-		"\n"
+-		":string_escape Escape\n"
+-		"	*		string\n"
+-		"	\"x\"		string_hex1\n"
+-		"	\"0-7\"		string_octal2\n"
+-		"	\"\\n\"		string		recolor=-2\n"
+-		"\n"
+-		":string_hex1 Escape\n"
+-		"	*		string		noeat\n"
+-		"	\"0-9a-fA-F\"	string_hex2\n"
+-		"\n"
+-		":string_hex2 Escape\n"
+-		"	*		string		noeat\n"
+-		"	\"0-9a-fA-F\"	string\n"
+-		"\n"
+-		":string_octal2 Escape\n"
+-		"	*		string		noeat\n"
+-		"	\"0-7\"		string_octal3\n"
+-		"\n"
+-		":string_octal3 Escape\n"
+-		"	*		string		noeat\n"
+-		"	\"0-7\"		string\n"
+-		"\n"
+-		":string_control Escape\n"
+-		"	*		string\n"
+-		"	\"\\\"\"		string noeat\n"
+-		"	\"\\n\"		reset\n"
+-		"	\"0-9.\\-+ #hjILtz$\"	string_control\n"
+-		"\n"
+-		":char Constant\n"
+-		"	*		char\n"
+-		"	\"\\n\"		reset\n"
+-		"	\"'\"		idle\n"
+-		"	\"\\\\\"		char_escape	recolor=-1\n"
+-		"\n"
+-		":char_escape	Escape\n"
+-		"	*		char\n"
+-		"	\"x\"		char_hex1\n"
+-		"	\"0-7\"		char_octal2\n"
+-		"	\"\\n\"		char		recolor=-2\n"
+-		"\n"
+-		":char_hex1 Escape\n"
+-		"	*		char		noeat\n"
+-		"	\"0-9a-fA-F\"	char_hex2\n"
+-		"\n"
+-		":char_hex2 Escape\n"
+-		"	*		char		noeat\n"
+-		"	\"0-9a-fA-F\"	char\n"
+-		"\n"
+-		":char_octal2 Escape\n"
+-		"	*		char		noeat\n"
+-		"	\"0-7\"		char_octal3\n"
+-		"\n"
+-		":char_octal3 Escape\n"
+-		"	*		char		noeat\n"
+-		"	\"0-7\"		char\n"
+-		"\n"
+-		":ident Idle\n"
+-		"	*		idle		noeat strings\n"
+-		"	\"int\"		type\n"
+-		"	\"float\"		type\n"
+-		"	\"long\"		type\n"
+-		"	\"short\"		type\n"
+-		"	\"char\"		type\n"
+-		"	\"double\"	type\n"
+-		"	\"signed\"	type\n"
+-		"	\"unsigned\"	type\n"
+-		"	\"void\"		type\n"
+-		"	\"static\"	type\n"
+-		"	\"register\"	type\n"
+-		"	\"extern\"	type\n"
+-		"	\"inline\"	type\n"
+-		"	\"auto\"		type\n"
+-		"	\"const\"		type\n"
+-		"	\"volatile\"	type\n"
+-		"	\"if\"		kw\n"
+-		"	\"else\"		kw\n"
+-		"	\"while\"		kw\n"
+-		"	\"for\"		kw\n"
+-		"	\"break\"		kw\n"
+-		"	\"continue\"	kw\n"
+-		"	\"do\"		kw\n"
+-		"	\"case\"		kw\n"
+-		"	\"default\"	kw\n"
+-		"	\"switch\"	kw\n"
+-		"	\"goto\"		kw\n"
+-		"	\"struct\"	kw\n"
+-		"	\"enum\"		kw\n"
+-		"	\"return\"	kw\n"
+-		"	\"sizeof\"	kw\n"
+-		"	\"typedef\"	kw\n"
+-		"	\"union\"		kw\n"
+-		"	\"asm\"		kw\n"
+-		"	\"class\"		cppkw\n"
+-		"	\"public\"	cppkw\n"
+-		"	\"private\"	cppkw\n"
+-		"	\"protected\"	cppkw\n"
+-		"	\"friend\"	cppkw\n"
+-		"	\"new\"		cppkw\n"
+-		"	\"delete\"	cppkw\n"
+-		"	\"bool\"		cppkw\n"
+-		"	\"namespace\"	cppkw\n"
+-		"	\"operator\"	cppkw\n"
+-		"	\"template\"	cppkw\n"
+-		"	\"catch\"		cppkw\n"
+-		"	\"throw\"		cppkw\n"
+-		"	\"try\"		cppkw\n"
+-		"	\"typeof\"	cppkw\n"
+-		"done\n"
+-		"	\"a-zA-Z0-9_\"	ident\n"
+-		"\n"
+-		":type Type\n"
+-		"	*	idle	noeat\n"
+-		"\n"
+-		":kw Keyword\n"
+-		"	*	idle	noeat\n"
+-		"\n"
+-		":cppkw CppKeyword\n"
+-		"	*	idle	noeat\n"
+-,	NULL
+-};
+-
+Index: joe-embedded/genbuiltins.sh
+===================================================================
+--- joe-embedded/genbuiltins.sh	(revision 0)
++++ joe-embedded/genbuiltins.sh	(revision 234)
+@@ -0,0 +1,80 @@
++#! /bin/bash
++#
++# Generate builtins.c for joe editor
++#
++# (C) David Kuehling 2010.  License: GPLv2+
++#
++
++
++sed_rc='
++# strip empty and comment lines
++/^$/d
++/^[ \t]/d
++
++# remove comments at and of option lines
++s/\(-[a-z_A-Z0-9]\+\)\(\t\| [ \t]\+\).*/\1/
++
++# fix includes to refer to builtin files
++s/^\(:include \)\([a-z]\)/\1*\2/
++'
++
++sed_syntax='
++# comment lines
++/^#/d
++'
++
++sed_cstring='
++# escape chars
++s/\\/\\\\/g
++s/"/\\"/g
++s/\r/\\r/
++
++# split into one string per line
++s/^.*$/\t"&\\n"/
++'
++
++rcfile(){
++    echo "
++    USTR \"$(basename $1)\",
++    USTR "
++    case "$1" in
++	*rc)
++	    sed="$sed_rc"
++	    ;;
++	*.jsf)
++	    sed="$sed_syntax"
++	    ;;
++	*)
++	    sed=""
++	    ;;
++    esac
++    LANG=C sed -e "$sed" -e "$sed_cstring" "$1" 
++    echo "    ,"
++
++}
++
++prolog(){
++    echo "/* Built-in files */
++
++#include \"types.h\"
++
++unsigned char *builtins[]=
++{
++"
++}
++
++epilog(){
++echo "NULL
++};"
++
++}
++
++prolog
++
++for i in "$@"; do
++    rcfile $i
++done
++
++epilog
++
++
+
+Property changes on: joe-embedded/genbuiltins.sh
+___________________________________________________________________
+Added: svn:executable
+   + *
+
+Index: joe-embedded/Makefile.in
+===================================================================
+--- joe-embedded/Makefile.in	(revision 227)
++++ joe-embedded/Makefile.in	(revision 234)
+@@ -236,7 +236,7 @@
+ 	utils.h va.h vfile.h vs.h w.h utf8.h syntax.h i18n.h charmap.h mouse.h \
+ 	lattr.h gettext.h builtin.h
+ 
+-INCLUDES = -DJOERC="\"$(sysconf_joedir)/\"" -DJOEDATA="\"$(data_joedir)/\""
++INCLUDES = -DJOERC="\"\"" -DJOEDATA="\"$(data_joedir)/\""
+ joe_LDADD = -lm
+ joe_SOURCES = b.c blocks.c bw.c cmd.c hash.c help.c kbd.c macro.c main.c menu.c \
+ 	path.c poshist.c pw.c queue.c qw.c rc.c regex.c scrn.c tab.c termcap.c \
+@@ -249,6 +249,11 @@
+ all: autoconf.h
+ 	$(MAKE) $(AM_MAKEFLAGS) all-recursive
+ 
++builtins.c : rc/ftyperc  rc/jmacsrc.in  rc/joerc.in  rc/jpicorc.in  rc/jstarrc.in  rc/rjoerc.in
++	make -C rc
++	chmod a+x genbuiltins.sh
++	./genbuiltins.sh rc/ftyperc  rc/jmacsrc  rc/joerc  rc/jpicorc  rc/jstarrc  rc/rjoerc > $@
++
+ .SUFFIXES:
+ .SUFFIXES: .c .o .obj
+ am--refresh:
_______________________________________________
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel

Reply via email to