Changeset 8685


Ignore:
Timestamp:
03/03/05 14:04:18 (16 years ago)
Author:
piso
Message:

getKeyMap()

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/j/src/org/armedbear/j/AbstractMode.java

    r8592 r8685  
    33 *
    44 * Copyright (C) 1998-2005 Peter Graves
    5  * $Id: AbstractMode.java,v 1.21 2005-02-16 21:39:20 piso Exp $
     5 * $Id: AbstractMode.java,v 1.22 2005-03-03 14:04:18 piso Exp $
    66 *
    77 * This program is free software; you can redistribute it and/or
     
    2828import javax.swing.JMenuItem;
    2929import javax.swing.JPopupMenu;
     30import org.armedbear.lisp.Interpreter;
     31import org.armedbear.lisp.JavaObject;
     32import org.armedbear.lisp.LispObject;
    3033
    3134/**
     
    4447 * </p>
    4548 *
    46  * ***More on overriding AbstractMode goes here***
    47  *
    4849 * @future #createBuffer(File)
    4950 *
     
    128129    }
    129130
    130     /**
    131      * Returns the display name for this mode.
    132      *
    133      * @return The display name for this mode.
    134      */
    135131    public final String toString()
    136132    {
     
    142138    {
    143139        if (keyMap == null) {
     140            if (Editor.isLispInitialized()) {
     141                String functionName =
     142                    displayName.toLowerCase().replace(' ', '-').concat("-mode-map");
     143                FastStringBuffer sb = new FastStringBuffer("(ignore-errors (");
     144                sb.append("j::");
     145                sb.append(functionName);
     146                sb.append("))");
     147                try {
     148                    LispObject result =
     149                        Interpreter.evaluate(sb.toString());
     150                    if (result instanceof JavaObject) {
     151                        Object obj = ((JavaObject)result).getObject();
     152                        if (obj instanceof KeyMap) {
     153                            keyMap = (KeyMap) obj;
     154                            return keyMap;
     155                        }
     156                    }
     157                }
     158                catch (Throwable t) {
     159                    Log.debug(t);
     160                }
     161            }
    144162            if (!loadKeyMapForMode()) {
    145163                keyMap = new KeyMap();
Note: See TracChangeset for help on using the changeset viewer.