Согласно документации guile а также R5RS функция load должна тупо подчиняться и грузить то что её попросят, однако дрянь guile в boot-9.scm проводит подстановку load на load-module, которая имеет наглость заниматься подстановками dirname скрипта в случае когда имя загружаемого файла не абсолютное. При этом честный load всё ещё доступен обладающим тайным знанием как basic-load. Вот как это посмотреть. ---/tmp/test.scm (load "test1.scm") --- guile -s /tmp/test.scm ERROR: In procedure open-file: ERROR: No such file or directory: "/tmp/test1.scm" P.S. Эх скорее бы срулить с guile ;) - его какие-то жулики делали ;), помнишь про проблему close-port.
> P.S. Эх скорее бы срулить с guile ;) - его какие-то жулики делали ;) Полчаса тому WhiteOwl рассказывал историю появления, выходит именно так -- а тут смотрю, эта бага в cybertalk@ пробегает :) (грит, драли с учебного варианта, причём включая то, про что вообще-то говорили "а вот так делать НЕ нужно" ;)
Проблема та же, что и в #8203, по большому счёту. Запросто может сломаться что-то, что расчитывает на эту функциональность. Поэтому думаю сделать так: В load-module будем конструировать имя файла относительно директории загружающего файла, и, если этого файла нет, то пытаемся загрузиться как есть. Получится максимально близкое приближение к стандарту, которое не должно сломать ничего из существующего. Устроит?
по результатам разговора в jabber решили не фиксить. оставить как есть, чтобы не ломать совместимость.