Changeset 177


Ignore:
Timestamp:
10/24/02 21:52:42 (20 years ago)
Author:
piso
Message:

enter(): don't autoindent if findContainingSexp() returns null.

File:
1 edited

Legend:

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

    r171 r177  
    33 *
    44 * Copyright (C) 2002 Peter Graves
    5  * $Id: LispShellMode.java,v 1.4 2002-10-19 19:46:53 piso Exp $
     5 * $Id: LispShellMode.java,v 1.5 2002-10-24 21:52:42 piso Exp $
    66 *
    77 * This program is free software; you can redistribute it and/or
     
    7575    public static void enter()
    7676    {
    77         CommandInterpreter.shellEnter();
    78 
    7977        final Editor editor = Editor.currentEditor();
    80         final Display display = editor.getDisplay();
    8178        final Buffer buffer = editor.getBuffer();
    82         final Mode mode = buffer.getMode();
    83         if (mode != getMode()) {
     79        if (buffer.getMode() != mode) {
    8480            Debug.bug();
    8581            return;
    8682        }
     83       
     84        Line dotLine = editor.getDotLine();
     85        Position pos = mode.findContainingSexp(
     86            new Position(dotLine, editor.getDotOffset()));
     87       
     88        CommandInterpreter.shellEnter();
     89       
     90        if (pos == null)
     91            return;
    8792
    88         Line dotLine = editor.getDotLine();
     93        dotLine = editor.getDotLine();
    8994        if (dotLine.length() > 0)
    9095            return;
     
    99104        try {
    100105            buffer.getFormatter().parseBuffer();
    101             int indent = LispMode.getMode().getCorrectIndentation(dotLine, buffer);
     106            int indent = mode.getCorrectIndentation(dotLine, buffer);
    102107            if (indent != buffer.getIndentation(dotLine)) {
    103108                editor.addUndo(SimpleEdit.LINE_EDIT);
     
    110115                editor.moveCaretToDotCol();
    111116            } else {
     117                final Display display = editor.getDisplay();
    112118                display.setCaretCol(indent - display.getShift());
    113119                if (buffer.getBooleanProperty(Property.RESTRICT_CARET))
Note: See TracChangeset for help on using the changeset viewer.