LINUX.ORG.RU

Emacs 23.2

 ,


0

0

8 мая вышел стабильный релиз 23.2 замечательного редактора Emacs.

Изменения:

  • Добавлены новые флаги сборки; опции влияющие на загрузку Х-ресурсов, опция максимизирующая фрейм; максимальный размер буферов удвоен, на типичной 32-битной системе буфер может достигать 512Мб. Изменено значение `trash-directory', теперь `move-file-to-trash' удаляет файлы в соответствии со спецификацией freedesktop.org.
  • Emacs может использовать системный моноширинный шрифт Gnome. Если в системе изменяется этот шрифт, Emacs также будет использовать изменённый шрифт. Эта возможность требует включения поддержки Gconf при сборке, которая включена по-умолчанию, если configure находит gconf библиотеки.
  • В X11 Emacs теперь реагирует на изменения конфигурации Xft. Это включает в себя: antialias, hinting, hintstyle, RGBA, DPI и lcdfilter.
  • «Unibyte-сессии» теперь считаются устаревшими. Добавлена новая кодировка «utf-8-hfs», которая является кодировкой по-умолчанию для работы Emacs с файлами в Mac OS X.
  • Добавлена новая команда `async-shell-command', глобально привязанная к `M-&'. Вызов запускает указываемую команду асинхронно.
  • Если запускается достаточно новый xterm (новее версии 242), Emacs берёт цвет фона из настроек xterm, устанавливая при необходимости контрастный цвет шрифта для тёмного фона.
  • Проведён ряд изменений связанных с `kill-ring': добавлены новые переменные; появилась возможность прдотвратить потерю скопированного текста из других программ в буфер обмена при вызове kill- команд; предотвратить дублирование строк занесённых в `kill-ring'.
  • Ряд изменений связанных с Completion. Добавлена новая команда `completion-at-point' выполняющая автодополнение, зависимое от текущего режима. Установленное `tab-always-indent' в `complete' позволяет использовать клавишу «TAB» для автодополнения. Доступен новый стиль добавления `initials'. Появилась новая переменная `completions-format' определающая, как отображаются варианты дополнения в буфере «*Completions*».
  • Abbrevs файл теперь называется abbrev_defs в пользовательской emacs-директории; но старое значение «~/.abbrev_defs» используется, если этот файл существует.
  • Проведён ряд изменений в специфичнных режимах и пакетах в Emacs 23.2: calc, calendar, diary, desktop, dired, docview, elint, info, pcomplete, tramp, shell.
  • GDB-UI: добавлена функциональность в тулбар для реверсивной отладки. Показ STL коллекций как watch- выражений. Функциональность требует в наличии GDB 7.0 или более поздней.
  • Grep: добавлена новая команда `zrgrep' проводящая рекурсивный поиск в сжатых gzip'ом файлах.
  • «LaTeX mode» теперь имеет автодополнение (используя `completion-at-point').
  • «nXML mode» теперь является режимом по-умолчанию для редактирования XML файлов.
  • «Message mode» включён в Emacs как часть пакета Gnus package.
  • Проведены множественные изменения в VC и связанных режимах: автоматическое интерактивное добавление файлов и директорий в системы контроля версий, новые команды показывающие историю директорий, находящихся под контролем систем контроля версий, изменения в показе логов связанные с изменением форматов отображения, аннотации к скопированным и переименованным файлам, использование diff и log операций в Dired буферах и т.д.
  • Команды eshell-а `su' и `sudo' поддерживают Tramp. Они меняют `default-directory' и запускают команды, которые используют права доступа выбранного пользователя.
  • CEDET (the Collection of Emacs Development Tools) теперь входит в состав Emacs. Это коллекция пакетов для использования Emacs в качестве IDE (интегрированной среды разработки): Semantic предоставляет парсинг и навигацию по исходому коду, EDE (Emacs Development Environment) - пакет для работы с проектами, включает такие возможности как автоматическую генерацию Make- файлов или использование инфраструктуры automake. SRecode - библиотека для работы с Semantic tags. Используется в пакетах Semantic и EDE. EIEIO реализует Common Lisp Object System (CLOS), используется остальными CEDET пакетами.
  • mpc.el: фронт-энд для Music Player Daemon. Запускается: «M-x mpc».
  • htmlfontify.el: превращает «fontified» буфер в HTML страницу.
  • js.el: новый основном режим (major mode) для JavaScript файлов.
  • imap-hash.el: новая библиотека для адресации IMAP почтовых ящиков как хэштаблиц.
  • Lisp reader превращает слишком большие и слишком маленькие целые (integer) в значения с плавающей точкой (floats).
  • Несколько устаревших функций, объявленных устаревшими в Emacs 19 удалено.
  • Удалена поддержка генерации байткода совместимого с Emacs 18.
  • В MS-Windows `display-time' теперь показывает среднюю загрузку системы, а так же время, как это происходит в GNU и Unix.

>>> Подробности

★★

Проверено: isden ()

Ответ на: комментарий от AlexM

> Емаксовые кийбиндинги залазят в пальцы, на уровень подкорки. А, скажем, эклипсовые - не залазят. Почему не знаю, но вот такое наблюдение...

Ага потому что биндинги не от балды наклепали, а с учетом эргономики и по возможности логики. В вим например : i - insert/input, u - undo , p - put/paste y- yank/copy (наиболее часто используемые операции редактирования ) которые расположены рядом с g - go h j k l , :w - write :wq - write and quit также должны быть понятны даже местным лоровским секретарям конечно если в состоянии хоть немного поднапрячь мозг. Поздравляю емаксеров.

crono ()
Ответ на: комментарий от yk4ever

>Есть люди, которых прёт учиться. А есть люди, которым это неинтересно.

Я контр примера дождусь, как именно все таки помогают визуальные средства профессионалу в работе? Что именно используете вы? Лично для меня учиться необходимость, для меня это как отжимания или велосипед, К тому же чем качественнее я думаю тем больше зарабатываю я замотивирован по самое немогу.

Yur4eg ★★ ()
Ответ на: комментарий от age

> Пытался сделять хотя-бы простой автокомплит. Что Lisp, что С - «semantic-analyze-current-context: Cannot analyze buffers not supported by Semantic».

При включённом semantic-mode, вызов completion-at-point, дефолтно бинд на M-TAB. M-n, M-p прокрутка списка возможных комплишенов.

Reaper ★★ ()
Ответ на: комментарий от Yur4eg

> Я контр примера дождусь, как именно все таки помогают визуальные средства профессионалу в работе?

Интересно, а каких примеров ты ждешь? И кстати, что не так с поиском по F3 в mc?

tailgunner ★★★★★ ()
Ответ на: комментарий от tailgunner

>Интересно, а каких примеров ты ждешь? И кстати, что не так с поиском по F3 в mc?

Имел ввиду поиск внутри лог файлов. Это медленно, и еще полбеды, когда нужная информация находится точно в строчке, паттерн которой известен. А бывает так что и нет. Например надо посмотреть как прошло письмо через почтовик, а известно только поле от или кому. Я ищу грепом id который присвоил письму postfix, потом по этому id сразу вижу весь путь письма. А мой коллега в mc прыгает по строчкам портит себе зрение и нервы. И говорит ему удобно.

Yur4eg ★★ ()
Ответ на: комментарий от Yur4eg

>> И кстати, что не так с поиском по F3 в mc?

Имел ввиду поиск внутри лог файлов. Это медленно

Не думаю, что это медленнее grep. Впрочем, задача грепанья логов, конечно, может обойтись без визуальных средств, но не у всех же такие задачи.

А мой коллега в mc прыгает по строчкам портит себе зрение и нервы. И говорит ему удобно.

Если ему удобно, нервы он не портит. И для простых случаев mc может быть и правда удобнее. А для сложных - нажимаешь Ctrl-O и к твоим услугам нормальный shell.

tailgunner ★★★★★ ()
Ответ на: комментарий от Turbo_Mascal

> Для этого есть Zile:

Не надо никаких зайлов. Имакс клиент отлично моментально запускался, а текущая версия имакса уже стартует достаточно быстро.

Reaper ★★ ()
Ответ на: комментарий от Yur4eg

Всему в мире научиться нельзя. Значит учиться нужно только тому что интересно и полезно. Именно в таких приоритетах. Автоматизация задач - все таки не задача секретарши. У нее ест ты.

Keplian ()
Ответ на: комментарий от Yur4eg

Я контр примера дождусь, как именно все таки помогают визуальные средства профессионалу в работе?

Вот, например.

Ъ

Довольно часто, по долгу службы, мне приходится работать с логами корпоративного прокси (как правило, расследуя инциденты об инсайдерстве). Никаких проблем с этим нет, логи ежедневно прогружаются в удобную business intelligence систему с элементами корелляции событий безопасности, к которой можно делать практически произвольные запросы. Есть также пара самописных приблуд, позволяющих получать из ее же хранилища простенькие выборки в формате сырых логов с целью дальнейшего их низкоуровневого анализа.

Все это хорошо и сильно облегчает работу, если не принимать во внимание тот факт, что выборки из логов часто нужно делать в тот же день, когда имело место инсайдерство (ибо срочно) и тут BI уже ничем помочь не может, т.к. лог за текущий день прогружается в нее только на следующий. В этом случае, приходится забирать с прокси сырой лог и анализировать его всякими grepa'ами, logparser'ами и, как это ни странно, excel'ем, т.к. все, что мне нужно делать с логом первыми двумя, в excel'е тоже можно сделать, причем быстрее и нагляднее. Ну, и руководству итоговый отчет интересен в этом же формате, поэтому в 99% случаев я всю подобную работу делаю сразу в excel'е, чтобы по десять раз туда-сюда данные не импортировать.

ps сам использую имакс для обычного текста и простеньких скриптов (org-mode, bash).

RealSiberianMan ()
Ответ на: комментарий от Yur4eg

> Я контр примера дождусь, как именно все таки помогают визуальные средства профессионалу в работе?

Во-первых, плавная учебная кривая. Можно в незнакомом продукте сразу сесть и работать, отыскивая функционал в меню по мере необходимости - вместо часов и дней рытья в мануалах и запоминания кучи консольных параметров и кейбиндингов.

Во-вторых, более богатые средства отображения информации. Надо ориентироваться на зрительный аппарат человека, а не на возможности пунтуперов сорокалетней давности.

В-третьих, вспомогательные средства - проверка кода и выдача варнингов на лету, удобная навигация по коду и т.п. По этим направлениям емаксам до серьёзных визуальных сред - как пешком до марса.

Что именно используете вы?

Из лёгких редакторов - посоветую Scite и Geany. Из полновесных IDE - однозначно рулят продукты JetBrains, если у вас на них есть бабло. Остальное по ситуации и вкусу.

Лично для меня учиться необходимость, для меня это как отжимания или велосипед,

Странные у вас понятия о необходимостях.

К тому же чем качественнее я думаю тем больше зарабатываю я

Зависимость неочевидна. Платят обычно не за качество думания.

yk4ever ()
Ответ на: комментарий от yk4ever

>У них форсмажор: НЕОЖИДАННО выяснилось, что опять пора делать релиз. Бегают, кричат, машут руками. Надо переждать.

Странно, никто не бегает и руками не машет... Вы с кем-то спутали.

JackYF ★★★★ ()
Ответ на: комментарий от JackYF

> Странно, никто не бегает и руками не машет... Вы с кем-то спутали.

Это ж дебиан. Они даже бегут и руками машут очень неспешно. Для стороннего наблюдателя это кажется практически неподвижностью.

yk4ever ()
Ответ на: комментарий от zloelamo

Для вима есть простой двухтактовый финт ушами: замапить в режиме вставки <Enter> как <Esc>, а <Shift><Enter> как <Enter>. Пару дней привыкаешь, потом становится много удобнее работать. И да, смена <LControl> и <Caps> рулит. ))

wingless ()
Ответ на: комментарий от shimon

> А потом я тычу этим документом ей в нос: «ты зачем, с-ка, абзацные отступы и центровку пробелами делала?» А она такая вся ошарашенная: «А что, по-другому можно разве?»

+1024

Но вообще, там, где нужен именно редактор, а не IDE - мне хватает mcedit.

hobbit ★★★★★ ()

> # Lisp reader превращает слишком большие и слишком маленькие целые (integer) в значения с плавающей точкой (floats).

Зачем? O_o

# mpc.el: фронт-энд для Music Player Daemon. Запускается: «M-x mpc».

Годная функция

dragonfly ()
Ответ на: комментарий от yk4ever

>Для стороннего наблюдателя это кажется практически неподвижностью.

Вот только я не сторонний наблюдатель. И тем не менее указанных эффектов не наблюдаю. Откуда дровишки-то?

JackYF ★★★★ ()
Ответ на: комментарий от RealSiberianMan

>Новая версия не волк — в лес не убежит (c) debian team ? :)

Точно :)

JackYF ★★★★ ()
Ответ на: комментарий от DJAnto

Теперь осталось только дождаться, когда всё это счастье окажется в Debian Sid...

Если нужна дебка - попробуйте мою, собранную в бубунте:

http://dl.dropbox.com/u/4255152/emacs_23.2-1_i386.deb

или соберите сами, как оказалось (никогда не заморачивался до), это совсем просто.

Reaper ★★ ()
Ответ на: комментарий от yk4ever

> Можно в незнакомом продукте сразу сесть и работать, отыскивая функционал в меню по мере необходимости - вместо часов и дней рытья в мануалах и запоминания кучи консольных параметров и кейбиндингов.

Мало того, что ты не освоил правильную работу с клавиатурой, которой обучают на первых уроках информатики в 7 классе. Так ты даже 15-ти минутный туториал не осилил. Погоди-погоди, может ты еще и английский не знаешь?

Свои бредни про секретарш и визуал студию, будешь на винфаке рассказывать.

anonymous ()

Иногда, при чтении таких тредов, мне вдруг хочется попробовать emacs. Иногда, я его ставлю, и даже пробую что-то сделать. Но из всех комбинаций клавиш помню лишь C-x C-c, да C-w... Бывает такое и с другими редакторами. Но потом я неизбежно возвращаюсь в уютный vim. Почему? Не из-за простого и понятного клавиатурного управления, а только лишь из-за такого гениальнейшего изобретения, как modal editing, который по загадочным причинам многим не нравится... (= Выдохнул.

GotF ★★★★★ ()
Ответ на: комментарий от GotF

Вот уж поистине, каждому своё. Я после Емакса, если вдруг приходится работать с другим редактором, по привычке нажимаю C-x C-f, к примеру, чтобы открыть файл, да и многие другие сочетания так же. :-)

DJAnto ()
Ответ на: комментарий от GotF

У меня совершенно наоборот! Пробовал vim, но эти длинные коомбинации клавиш в emacs мне куда ближе. Причем emacs можно настроить под себя как тебе угодно. А режимы в vim просто расстраивают меня

dragonfly ()
Ответ на: комментарий от GotF

Во-во. Как только начинаешь писать что-нить крупное на vim, немедленно сталкиваешься с кучей сексуальных приключений, и то и дело пытаешься на emacs перелезть, но отсутствие модальности и дополнительных рук/пальцев мешает.

zloelamo ★★★★ ()
Ответ на: комментарий от dragonfly

А режимы в vim просто расстраивают меня

А у меня просто засели на подсознательный уровень, и в однорежимном редакторе я чувствую себя ужасно дискомфортно (=

GotF ★★★★★ ()
Ответ на: комментарий от dragonfly

> # Lisp reader превращает слишком большие и слишком маленькие целые (integer) в значения с плавающей точкой (floats).

Зачем? O_o

Не зачем, а почему. В Emacs Lisp ширина integer зависит от архитектуры, но два бита используются для tag, поэтому для представления integer на 32-битных архитектурах, например, остается 30 бит. Поэтому большое целое число шириной больше 30 бит (знак + 29-битное значение) нельзя представить. А есть ситуации, когда нужно. Получается, что если reader встречает 1234567890, то без двух бит видит это как 160826066; 9234567890 вообще дает -1. А вот (string-to-number «1234567890») хотя бы возвращает float, т. е. 1234567890.0, и есть возможность с этим числом какие-то арифметические операции проводить.

Вот в этой версии сделали так, чтобы и reader так работал. Однако это все-таки некоторый костыль, о котором надо помнить, если пишется программа, оперирующая с такими числами.

Zubok ★★★★★ ()
Ответ на: комментарий от wingless

> Для вима есть простой двухтактовый финт ушами: замапить в режиме вставки <Enter> как <Esc>, а <Shift><Enter> как <Enter>

Интерстная мысль надо попробовать. Я на F4 маплю - на MS Natural очень лекго до этой клавиши достаю средним пальцем.

zloelamo ★★★★ ()
Ответ на: комментарий от GotF

Спокойно пользуюсь обоими редакторами. Vim'ом правлю конфиги и делаю всякую мелочь, Emacs у меня для более серьёзной работы.

srj ★★ ()
Ответ на: комментарий от GotF

То же самое. )) После вима надо было что-то простенькое сверстать в ТеХ, открываю LyX, начинаю как в ворде исправлять ручками... Чувствую, что на голове начинают расти большие ослиные уши... Ругаюсь, закрываю LyX, открываю GVim - и там скриптами и привычными хоткеями добиваю задачу.

В ворде наверстался уже текстов, больше не хочу этих маразмов...

Емакс хорошая ОС, но у меня пока не возникает задачи, для которой её стоит изучать.

wingless ()
Ответ на: комментарий от ott

Но все равно придется читать мануалы по другим интересным возможностям. К примеру, мощнейший org-mode, у которого нет аналогов ни под линукс, ни под винду.

anonymous ()

Народ. Что там изучать?! Меня тоже пугали тем, что он сложный. Нифига, выучил нужные хоткеи - при этом не знаю, как юзать буфер обмена:) - пользуюсь cua-mode (C-x C-c C-v работают с буфером обмена, если есть выделенный блок текста).

Иногда смотрю сюда для улучшения своих конфигов:

http://www.gnu.org/software/emacs/manual/elisp.html

Юзаю его для всего. Для редактирования конфигов, написания программ, работы в терминале (M-x term) итд.

dragonfly ()
Ответ на: комментарий от anonymous

ну это да, просто разговор шел про первые шаги :-) Кстати, материалов по емаксу на русском тоже очень много, в том числе и по org-mode

ott ★★★★★ ()
Ответ на: комментарий от dragonfly

Возможно, знаю его не идеально, но для работы хватает ещё как

dragonfly ()
Ответ на: комментарий от dragonfly

>Хм. Проверил, действительно верно.

Поправлюсь, так как я переврал несколько. Не два бита на tag, а даже все три. Получается 28 бит + 1 бит знак, т .е. -268435456 до 268435455

Zubok ★★★★★ ()

Пользуюсь сабжем уже где-то с пол года и что могу сказать?

Во-первых, раскладка по-умолчанию просто отвратительна, пальцы бы переломать тому упоротому идиоту, который придумал такое (и не надо мне про терминалы без стрелочек, сейчас 2010 год на дворе). Ещё просто бесит, что основной контрол приходится нажимать мизинцем — он начинает болеть уже через пару минут использования сабжа. Посему с нуля создал свою эргономичную раскладку.

Во-вторых, под сабж дофига инструментов, но большая часть просто неюзабельна, приходится постоянно всё допиливать до себя, в результате имею конфиг на 23 килобайта и он ещё считается довольно малым. В печь такое.

В-третьих, несмотря на наличие десятка тысяч встроенных функций, в действительности используются только пара десятков: заметил, что гораздо проще нажать мизинцем стрелочку и подержать пару секунд, чем вспоминать всякие C-M-S-p и растопыривать пальцы под эту хренотень.

В общем, имакс напоминает мне весь гну/линукс в целом: огромная куча слабоинтегрированных друг в друга хреновеньких приложений, огромная сложность настройки и поддержки и какое-то фанатичное отвергание понятия usability.

Я честно пытался сделать из сабжа хоть какое-то подобие VS, для этого нужно было объединить десяток пакетов (ecb, cedet etc.), каждый настроить, практически каждый дописать, ибо из коробки идёт нечто неюзабельное, настроить свои привязки, убрать дефолтные вырвиглазные цвета и так далее и тому подобное. Стоит ли говорить, что в итоге получилось что-то ну очень отдалённое от VS по функционалу и *полезным* фичам. Как меня теперь смешат люди, которые в комментарии к выходу очередной VS пишут, что Emacs это их всё. Ну-ну, аскеты хреновы.

Разумеется, мне никто ничего не должен и не обязан, я прекрасно понимаю, но лучше вместо того, чтоб месяцами сидеть и читать маны, дописывать и настраивать этот конструктор, я просто заплачу денег за нормальный редактор/человеческую IDE.

mix_mix ★★★★★ ()
Ответ на: комментарий от Zubok

Точно, как раз у меня 1152921504606846975 - «последнее» целое число.

dragonfly ()
Ответ на: комментарий от mix_mix

> Ещё просто бесит, что основной контрол приходится нажимать мизинцем

Карлик? Ребенок?

C-x C-f C-c C-d C-b C-v (в основном нужно это) находятся весьма близко. C-u - единственное дефолтное полезное сочетание, которое сложно нажать одной рукой.

В-третьих, несмотря на наличие десятка тысяч встроенных функций, в действительности используются только пара десятков

Тут соглашусь.

dragonfly ()
Ответ на: комментарий от mix_mix

> Как меня теперь смешат люди, которые в комментарии к выходу очередной VS пишут, что Emacs это их всё. Ну-ну, аскеты хреновы.

Ну так быдло ты, быдло. У нас вот тут народ серьёзный - нет таких говнюков безмозглых, как ты. Разработка вся под Windows, под .NET. Подписка на MSDN есть, студию могли бы и использовать. Но никто не хочет так унижаться, никто не хочет так резко понижать производительность труда, опускаясь до убогой быдловской IDE. Вот и работают все в vim или emacs, сборка под NAnt и gnu make для нативных частей проекта. И никого тут не заставишь переходить на убогую VS никогда.

anonymous ()
Ответ на: комментарий от dragonfly

С кем, вы согласитесь? В glibc десятки тысяч функций и ему не все нужны? А программам, которые он использует они нужны, интересно?

alx_me ★★☆ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.