История изменений
Исправление Zubok, (текущая версия) :
Ну, если честно, я совсем не понял задачи.
Это не обязательно может быть Емакс, может быть и другая IDE, скажем, лиспворкс или аллегро.
У каждой IDE свой интерфейс к CL. Emacs использует swank со стороны CL. Значит, если ты из своей IDE передаешь строчку, то через swank ты можешь сообщить, откуда эта строчка идет. Универсального способа нет.
Когда же CL сам своими средствами загружает и компилирует файлы, то он об этом знает, что это за файлы, так как сам это делает.
А через IDE же передается все что угодно: отдельные формы, кусочки файлов, целые файлы. И это уже твое дело, как ты сообщишь CL, откуда ты это передаешь. В случае slime механизм есть - это swank. Передаешь кусок на eval и какую-нибудь свою переменную типа *eval-truename* выставляешь в название файла, откуда IDE передаваемый кусочек вытащил. Как eval закончился, сбрасываешь в nil.
Исправление Zubok, :
Ну, если честно, я не совсем понял.
Это не обязательно может быть Емакс, может быть и другая IDE, скажем, лиспворкс или аллегро.
У каждой IDE свой интерфейс к CL. Emacs использует swank со стороны CL. Значит, если ты из своей IDE передаешь строчку, то через swank ты можешь сообщить, откуда эта строчка идет. Универсального способа нет.
Когда же CL сам своими средствами загружает и компилирует файлы, то он об этом знает, что это зафайлы, так как сам это делает.
А через IDE же передается все что угодно: отдельные формы, кусочки файлов, целые файлы. И это уже твое дело, как ты сообщишь CL, откуда ты это передаешь. В случае slime механизм есть - это swank. Передаешь кусок на eval и какую-нибудь свою переменную типа *eval-truename* выставляешь в название файла, откуда IDE передаваемый кусочек вытащил. Как eval закончился, сбрасываешь в nil.
Исходная версия Zubok, :
Ну, если честно, я не совсем понял.
Это не обязательно может быть Емакс, может быть и другая IDE, скажем, лиспворкс или аллегро.
У каждой IDE свой интерфейс к CL. Emacs использует swank со стороны CL. Значит, если ты из своей IDE передаешь строчку, то через swank ты можешь сообщить, откуда эта строчка идет. Универсального способа нет.
Когда же CL сам своими средствами загружает и компилирует файлы, то он об этом знает, так как сам это делает.
А через IDE передается все, что угодно. отдельные формы, кусочки файлов, целые файлы. И это уже твое дело, как ты сообщишь CL, откуда ты это передаешь. В случае slime механизм есть - это swank. Передаешь кусок на eval и какую-нибудь свою переменную типа *eval-truename* выставляешь в название файла, откуда IDE передаваемый кусочек вытащил. Как eval закончился, сбрасываешь в nil.