Index: bindings.doc ================================================================== --- bindings.doc +++ bindings.doc @@ -211,10 +211,13 @@ so there are false positives). However, you can set this deliberately by yourself, in case you know that the solution remains valid; if you do set it by yourself just before saving, it will use your value rather than setting it automatically. +'mm' + Modify a MRU. Any values specified as null means no change. + 'mR' Select a relative MRU. Negative numbers move up the list, and positive numbers move down the list. 'mr' Index: default.heromeshrc ================================================================== --- default.heromeshrc +++ default.heromeshrc @@ -179,10 +179,11 @@ ?.editClick.right: delete from objects where x=$X and y=$Y and up is null; ?.editClick.ctrl.right: select 'am',class,image,misc1,misc2,misc3,dir from objects where x=$X and y=$Y and up is null; ?.editClick.shift.left: ^< ?.editClick.shift.middle: values('^Z',null),('^<',xy($X,$Y)); ?.editClick.shift.right: ^> +?.editClick.alt.middle: select 'mm',null,null,null,$X,$Y,null; ! Global key bindings ?.?.kp_minus: select 'go',-(level()-1) where level()>1; ?.?.kp_plus: select 'go',-(level()+1) where level()=MRUCOUNT) return prev; + if(argc>1 && sqlite3_column_type(args,1)!=SQLITE_NULL) { + x=sqlite3_column_int(args,1)&0x3FFF; + if(x) mru[curmru].class=x; + } + if(argc>2 && sqlite3_column_type(args,2)!=SQLITE_NULL) mru[curmru].img=sqlite3_column_int(args,2)&0xFF; + if(argc>3 && sqlite3_column_type(args,3)!=SQLITE_NULL) mru[curmru].misc1=UVALUE(sqlite3_column_int64(args,3),sqlite3_column_int64(args,3)>>32); + if(argc>4 && sqlite3_column_type(args,4)!=SQLITE_NULL) mru[curmru].misc2=UVALUE(sqlite3_column_int64(args,4),sqlite3_column_int64(args,4)>>32); + if(argc>5 && sqlite3_column_type(args,5)!=SQLITE_NULL) mru[curmru].misc3=UVALUE(sqlite3_column_int64(args,5),sqlite3_column_int64(args,5)>>32); + if(argc>6 && sqlite3_column_type(args,6)!=SQLITE_NULL) mru[curmru].dir=sqlite3_column_int64(args,6)&7; + return prev; case 'mR': // Select MRU relative number+=curmru; // fall through case 'mr': // Select MRU absolute if(number>=0 && number