В этом разделе описываются две команды, которые отступают текущую строку на основе содержимого предыдущих строк.
Эта команда вставляет пробелы в точке, расширяя их до той же колонки, что и следующая точка отступа в предыдущей непустой строке. Точка отступа — это непробельный символ, за которым следует пробел. Следующая точка отступа — это первая точка отступа в колонке, большей текущей колонки точки. Например, если точка находится под и слева от первого непустого символа строки текста, она перемещается в эту колонку путем вставки пробелов.
Если предыдущая непустая строка не имеет следующей точки отступа (т.е.
нет такой точки в достаточно большой колонке), indent-relative
либо ничего не делает (если unindented-ok не равно
nil), либо вызывает tab-to-tab-stop. Таким
образом, если точка находится под и справа от последней колонки короткой
строки текста, эта команда обычно перемещает точку к следующей табуляционной
остановке путем вставки пробелов.
Если first-only не равно nil, рассматривается
только первая точка отступа.
Возвращаемое значение indent-relative непредсказуемо.
В следующем примере точка находится в начале второй строки:
Эта строка отступлена на двенадцать пробелов. ∗Быстрая коричневая лиса прыгнула.
Выполнение выражения (indent-relative nil) дает
следующее:
Эта строка отступлена на двенадцать пробелов.
∗Быстрая коричневая лиса прыгнула.
В следующем примере точка находится между символами ‘m’ и ‘p’ слова ‘jumped’:
Эта строка отступлена на двенадцать пробелов. Быстрая коричневая лиса jum∗ped.
Выполнение выражения (indent-relative nil) дает
следующее:
Эта строка отступлена на двенадцать пробелов. Быстрая коричневая лиса jum ∗ped.
Эта команда отступает текущую строку так же, как предыдущая непустая строка,
вызывая indent-relative с t в качестве аргумента
first-only. Возвращаемое значение непредсказуемо.
Если предыдущая непустая строка не имеет точек отступа за текущей колонкой, эта команда ничего не делает.