Как заставить Cocoa Emacs перейти на номер строки из внешнего приложения?

При использовании Carbon Emacs (v22) из ​​внешнего приложения (например, Unity 3D) файлы, отправленные в Carbon Emacs, переходят на номер строки, запрашиваемый внешним приложением (т. Е. Двойной щелчок на редакторе сообщений об ошибках, выбранном в настройках, запускается с файлом на номер строки ошибки). По какой-то причине новый Cocoa Emacs (v23) больше не делает этого. Вместо этого он просто открывает файл, но не переходит на номер строки, запрошенный внешним приложением.

1 ответ

Не уверен, какую командную строку Unity 3D использовал для правильного запуска Carbon Emacs, но похоже, что вы можете открыть файл в заданной позиции в Emacs 23, используя следующее:

emacsclient -c +4:3 FILE1

где 4 - номер строки, а 3 - номер столбца. Обратите внимание, что исполняемый вами emacsclient должен соответствовать вашему emacs; под OS X вы найдете /usr/bin/emacsclient, но вы действительно должны выполнять /Applications/Emacs.app/Contents/MacOS/bin/emacsclient вместо.

Вы также можете использовать небольшое вспомогательное приложение, чтобы Emacs реагировал на emacs:// URL-адреса, содержащие аргументы строк и столбцов. Я написал об этом здесь.

Другие вопросы по тегам