MAGIC Magic Mailing List
 
 

From: R. Timothy Edwards (tim AT stravinsky DOT jhuapl.edu)
Date: Mon Feb 04 2002 - 11:40:24 EST

  • Next message: Prakash: "MAGIC's router tool"

    --------------------------------------------------------------------------
    (I'm CC'ing this to magic-dev, because it contains useful information
    about the "new style" macros vs. the "old style" macros that might
    help prevent people from getting confused by the fact that they compiled
    with "use new system macros" and now basic things like the "q", "w", "e",
    "r" keys don't work.  If you ever hated the "vi" bindings to h-j-k-l
    for cursor movement (I do, but I still prefer "vi" to "emacs"), you'll
    appreciate that the new key bindings make more sense.  But they take
    some getting used to, and it's probably not a good idea to start learning
    the new macros just as you're trying to meet a tapeout deadline.)
    --------------------------------------------------------------------------
    
    Dear Marc,
    
        The system .magic file is in /home/cad/lib/magic/sys/.magic.  The
    original file is unprocessed and has all the comments and #ifdefs, and is
    /home/cad/src/magic-7.1.3/magic/proto.magic.  The original .magic file
    is in the original magic library directory, which I saved by moving it
    to:  /home/cad/lib/magic6.5/sys/.magic.
    
       Watch printing it out.  It contains control characters.  You might
    want to make a copy of the file and convert all the controls printed as
    '^A' and so forth to their ASCII equivalents.
    
       Oh, heck.  It looks like I managed to install part of magic 7.1 into
    the original library directory some time ago on my first unsuccessful
    attempt, so there's really no "old-style" macro file there.  I'll just
    print the two files the way they're supposed to be below, with control
    characters printable (by the way, the newer magic executable accepts
    the two-character sequence "^A" as equivalent to the control character
    itself, but the control characters are kept in the file for backwards
    compatibility with magic 6.5.1 and earlier versions).
    
       Note:  "imacro" is a feature added by Philippe that causes the
    contents of the macro to be placed on the command line, but doesn't
    print out the final return character and doesn't execute the command.
    The "XK_" stuff is from the X11 header definitions for symbolic key
    names.  "XK_KP_" is the keypad.  "Up, Down, Right, Left" are the
    keyboard arrow keys.
    
    						---Tim
    
    ----------------File #1 (old macros)----------------------------------
    
    echo ""
    macro s "select"
    macro S "select more"
    macro a "select area"
    macro A "select more area"
    macro f "select cell"
    macro C "select clear"
    macro d "delete"
    macro '^D' "erase $"
    macro t "move"
    macro T "stretch"
    macro c "copy"
    macro '^X' "expand toggle"
    macro x "expand"
    macro X "unexpand"
    macro q "move left 1"
    macro w "move down 1"
    macro e "move up 1"
    macro r "move right 1"
    macro Q "stretch left 1"
    macro W "stretch down 1"
    macro E "stretch up 1"
    macro R "stretch right 1"
    macro g "grid"
    macro G "grid 2"
    macro u "undo"
    macro U "redo"
    macro v "view"
    macro z "findbox zoom"
    macro Z "zoom 2"
    macro b "box"
    macro B "findbox"
    macro , "center"
    macro y "drc why"
    macro '^L' "redraw"
    macro y "drc why"
    macro ? "help"
    macro o "openwindow"
    macro O "closewindow"
    macro " " "tool"
    macro '^R' "iroute route -dBox"
    macro '^N' "iroute route -dSelection"
    
    ----------------File #2 (new macros)----------------------------------
    
    macro a "select visible"
    macro A "select more visible"
    macro '^A' "select less visible"
    macro b "box"
    macro B "findbox"
    macro c "copy"
    macro d "delete"
    macro '^D' "erase $"
    macro e "edit"
    macro f "sideways"
    macro F "upsidedown"
    macro g "grid"
    macro G "grid 2"
    macro i "select cell"
    macro I "select more cell"
    macro Control_XK_i "select less cell"
    imacro l "label "
    macro L "shell ls"
    macro '^L' "redraw"
    macro m "move"
    macro M "stretch"
    macro '^N' ""
    macro o "openwindow"
    macro O "closewindow"
    imacro p "paint "
    macro Control_Shift_XK_q "quit"
    macro r "clockwise"
    macro R "clockwise 270"
    macro '^R' "clockwise 180"
    macro s "select"
    macro S "select more"
    macro '^S' "select less"
    macro Control_Shift_XK_s "undo ; select"
    macro u "undo"
    macro U "redo"
    macro v "view"
    macro V "xview"
    macro w "writeall"
    macro W "writeall force"
    macro x "expand"
    macro X "unexpand"
    macro '^X' "expand toggle"
    macro z "zoom .5"
    macro Z "zoom 2"
    macro '^Z' "findbox zoom"
    macro Control_Shift_XK_z "center"
    macro ? "drc why"
    macro / "select area; what ; select clear"
    macro , "select clear"
    imacro ! "shell "
    macro " " "tool"
    macro Shift_XK_space "tool box"
    macro Control_XK_space "tool wiring"
    macro XK_Left "scroll l .1"
    macro Shift_XK_Left "scroll l 1"
    macro Control_XK_Left "box +l 1"
    macro Control_Shift_XK_Left "box -r 1"
    macro XK_Right "scroll r .1"
    macro Shift_XK_Right "scroll r 1"
    macro Control_XK_Right "box +r 1"
    macro Control_Shift_XK_Right "box -l 1"
    macro XK_Up "scroll u .1"
    macro Shift_XK_Up "scroll u 1"
    macro Control_XK_Up "box +u 1"
    macro Control_Shift_XK_Up "box -d 1"
    macro XK_Down "scroll d .1"
    macro Shift_XK_Down "scroll d 1"
    macro Control_XK_Down "box +d 1"
    macro Control_Shift_XK_Down "box -u 1"
    macro XK_KP_Delete "box w 0; box h 0"
    macro XK_KP_0 "box w 4; box h 4"
    macro XK_KP_Insert "box w 4; box h 4"
    macro Shift_XK_KP_0 "box w 7; box h 2"
    macro XK_0 "box w 7; box h 2"
    macro Control_XK_KP_0 "box w 2; box h 7"
    macro Control_XK_KP_Insert "box w 2; box h 7"
    macro XK_KP_1 "move l 1; move d 1"
    macro XK_KP_End "move l 1; move d 1"
    macro Shift_XK_KP_1 "stretch l 1; stretch d 1"
    macro XK_1 "stretch l 1; stretch d 1"
    macro XK_KP_2 "move d 1"
    macro XK_KP_Down "move d 1"
    macro Shift_XK_KP_2 "stretch d 1"
    macro XK_2 "stretch d 1"
    macro XK_KP_3 "move r 1; move d 1"
    macro XK_KP_Next "move r 1; move d 1"
    macro Shift_XK_KP_3 "stretch r 1; stretch d 1"
    macro XK_3 "stretch r 1; stretch d 1"
    macro XK_KP_4 "move l 1"
    macro XK_KP_Left "move l 1"
    macro Shift_XK_KP_4 "stretch l 1"
    macro XK_4 "stretch l 1"
    macro XK_KP_5 "findbox zoom"
    macro XK_KP_Begin "findbox zoom"
    macro Shift_XK_KP_5 "findbox"
    macro XK_5 "findbox"
    macro XK_KP_6 "move r 1"
    macro XK_KP_Right "move r 1"
    macro Shift_XK_KP_6 "stretch r 1"
    macro XK_6 "stretch r 1"
    macro XK_KP_7 "move l 1; move u 1"
    macro XK_KP_Home "move l 1; move u 1"
    macro Shift_XK_KP_7 "stretch l 1; stretch u 1"
    macro XK_7 "stretch l 1; stretch u 1"
    macro XK_KP_8 "move u 1"
    macro XK_KP_Up "move u 1"
    macro Shift_XK_KP_8 "stretch u 1"
    macro XK_8 "stretch u 1"
    macro XK_KP_9 "move r 1; move u 1"
    macro XK_KP_Prior "move r 1; move u 1"
    macro Shift_XK_KP_9 "stretch r 1; stretch u 1"
    macro XK_9 "stretch r 1; stretch u 1"
    macro XK_F1  "paint ndiff"
    macro XK_F2  "paint pdiff"
    macro XK_F3  "paint poly"
    macro XK_F4  "paint poly2"
    macro XK_F5  "paint m1"
    macro XK_F6  "paint m2"
    macro XK_F7  "paint m3"
    macro XK_F8  "paint m4"
    macro XK_F9  "paint ndc"
    macro XK_F10 "paint pdc"
    macro XK_F11 "paint pc"
    macro XK_F12 "paint via"
    
    ---------------------------------------------------------------
    


  •  
     
    Questions? Contact Rajit Manohar
    cornell logo