Bug 6996

Summary: Очередная некрасивость в guile
Product: Sisyphus Reporter: inger <inger>
Component: guile16Assignee: Nobody's working on this, feel free to take it <nobody>
Status: CLOSED WONTFIX QA Contact: qa-sisyphus
Severity: major    
Priority: P2 CC: mike
Version: unstable   
Hardware: all   
OS: Linux   

Description inger@altlinux.org 2005-06-03 11:42:07 MSD
Согласно документации 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.
Comment 1 Michael Shigorin 2007-11-14 23:31:02 MSK
> P.S. Эх скорее бы срулить с guile ;) - его какие-то жулики делали ;)
Полчаса тому WhiteOwl рассказывал историю появления, выходит именно так -- а тут
смотрю, эта бага в cybertalk@ пробегает :)

(грит, драли с учебного варианта, причём включая то, про что вообще-то говорили
"а вот так делать НЕ нужно" ;)
Comment 2 Alexey Voinov 2008-04-24 13:35:03 MSD
Проблема та же, что и в #8203, по большому счёту. Запросто может сломаться
что-то, что расчитывает на эту функциональность. Поэтому думаю сделать так: В
load-module будем конструировать имя файла относительно директории загружающего
файла, и, если этого файла нет, то пытаемся загрузиться как есть. Получится
максимально близкое приближение к стандарту, которое не должно сломать ничего из
существующего. Устроит?
Comment 3 Alexey Voinov 2008-04-25 16:51:31 MSD
по результатам разговора в jabber решили не фиксить. оставить как есть, чтобы не
ломать совместимость.