[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Axiom-developer] hypertex and uses info
From: |
Waldek Hebisch |
Subject: |
[Axiom-developer] hypertex and uses info |
Date: |
Wed, 1 Nov 2006 23:20:30 +0100 (CET) |
All versions of hypertex that I used crashed (or maybe showed nothing)
when I clicked "Uses" or "Dependants" field in a description of a constructor.
AFAICS recent versions of Axiom have two problems here:
1) databases which contain corresponding information (USERS.DAASE
and DEPENDENTS.DAASE) were not installed
2) infamous 'probe-file' problem
The patch below correct both problems. It also fixes the
"Cannot rename the file erlib to NRLIB" problem. I also added
sensible dependency in database rule, so that all databses
are re-made when one get out of date. And 'RDEFIOSTREAM' is
now called in error-checking mode (old code happily passed
bad pathnames and supressed error checking).
diff -ru build-improvements.pp/src/etc/Makefile.in
build-improvements/src/etc/Makefile.in
--- build-improvements.pp/src/etc/Makefile.in 2006-11-01 19:33:11.000000000
+0100
+++ build-improvements/src/etc/Makefile.in 2006-11-01 19:36:00.000000000
+0100
@@ -2,6 +2,10 @@
MID=${OBJ}/${SYS}/etc
DOC=${INT}/doc/src/etc
INTERPSYS=$(axiom_build_bindir)/interpsys
+DATABASES_SHORT=compress.daase interp.daase browse.daase category.daase \
+ operation.daase libdb.text comdb.text USERS.DAASE/index.KAF \
+ DEPENDENTS.DAASE/index.KAF
+DATABASES=$(addprefix $(axiom_targetdir)/algebra/, $(DATABASES_SHORT))
subdir = src/etc/
@@ -10,7 +14,7 @@
all: all-ax
-all-ax: $(axiom_targetdir)/algebra/*.daase $(axiom_target_bindir)/asq \
+all-ax: $(DATABASES) $(axiom_target_bindir)/asq \
$(axiom_target_libdir)/summary \
$(axiom_target_libdir)/copyright \
$(axiom_target_bindir)/axiom
@@ -18,8 +22,8 @@
-rm -f stamp
$(STAMP) stamp
-$(axiom_targetdir)/algebra/*.daase: ${INT}/algebra/*.NRLIB/code.o
- @ echo 4 rebuilding databases...
+$(DATABASES): ${INT}/algebra/*.NRLIB/code.o
+ @ echo 4 rebuilding databases ...
@ cp $(axiom_src_docdir)/gloss.text ${INT}/algebra
@ cp $(axiom_src_docdir)/gloss.text ${INT}/algebra
@ cp $(axiom_src_docdir)/topics.data ${INT}/algebra
@@ -29,6 +33,12 @@
@ $(INSTALL_DATA) ${INT}/algebra/*.daase $(axiom_targetdir)/algebra
@ $(INSTALL_DATA) ${INT}/algebra/libdb.text $(axiom_targetdir)/algebra
@ $(INSTALL_DATA) ${INT}/algebra/comdb.text $(axiom_targetdir)/algebra
+ @ $(mkinstalldirs) $(axiom_targetdir)/algebra/USERS.DAASE \
+ $(axiom_targetdir)/algebra/DEPENDENTS.DAASE
+ @ $(INSTALL_DATA) ${INT}/algebra/USERS.DAASE/index.KAF \
+ $(axiom_targetdir)/algebra/USERS.DAASE
+ @ $(INSTALL_DATA) ${INT}/algebra/DEPENDENTS.DAASE/index.KAF \
+ $(axiom_targetdir)/algebra/DEPENDENTS.DAASE
asq_sources = asq.c
asq_SOURCES = $(addsuffix .pamphlet, $(asq_sources))
Tylko w build-improvements/src/etc: Makefile.in.orig
diff -ru build-improvements.pp/src/etc/Makefile.pamphlet
build-improvements/src/etc/Makefile.pamphlet
--- build-improvements.pp/src/etc/Makefile.pamphlet 2006-11-01
19:33:11.000000000 +0100
+++ build-improvements/src/etc/Makefile.pamphlet 2006-11-01
19:36:00.000000000 +0100
@@ -26,8 +26,8 @@
the databases. If any if any of these are changed, the databases must
be re-built.
<<dbcomplete>>=
-$(axiom_targetdir)/algebra/*.daase: ${INT}/algebra/*.NRLIB/code.o
- @ echo 4 rebuilding databases...
+$(DATABASES): ${INT}/algebra/*.NRLIB/code.o
+ @ echo 4 rebuilding databases ...
@ cp $(axiom_src_docdir)/gloss.text ${INT}/algebra
@ cp $(axiom_src_docdir)/gloss.text ${INT}/algebra
@ cp $(axiom_src_docdir)/topics.data ${INT}/algebra
@@ -37,6 +37,12 @@
@ $(INSTALL_DATA) ${INT}/algebra/*.daase $(axiom_targetdir)/algebra
@ $(INSTALL_DATA) ${INT}/algebra/libdb.text $(axiom_targetdir)/algebra
@ $(INSTALL_DATA) ${INT}/algebra/comdb.text $(axiom_targetdir)/algebra
+ @ $(mkinstalldirs) $(axiom_targetdir)/algebra/USERS.DAASE \
+ $(axiom_targetdir)/algebra/DEPENDENTS.DAASE
+ @ $(INSTALL_DATA) ${INT}/algebra/USERS.DAASE/index.KAF \
+ $(axiom_targetdir)/algebra/USERS.DAASE
+ @ $(INSTALL_DATA) ${INT}/algebra/DEPENDENTS.DAASE/index.KAF \
+ $(axiom_targetdir)/algebra/DEPENDENTS.DAASE
@
\section{summary}
@@ -90,6 +96,10 @@
MID=${OBJ}/${SYS}/etc
DOC=${INT}/doc/src/etc
INTERPSYS=$(axiom_build_bindir)/interpsys
+DATABASES_SHORT=compress.daase interp.daase browse.daase category.daase \
+ operation.daase libdb.text comdb.text USERS.DAASE/index.KAF \
+ DEPENDENTS.DAASE/index.KAF
+DATABASES=$(addprefix $(axiom_targetdir)/algebra/, $(DATABASES_SHORT))
subdir = src/etc/
@@ -98,7 +108,7 @@
all: all-ax
-all-ax: $(axiom_targetdir)/algebra/*.daase $(axiom_target_bindir)/asq \
+all-ax: $(DATABASES) $(axiom_target_bindir)/asq \
$(axiom_target_libdir)/summary \
$(axiom_target_libdir)/copyright \
$(axiom_target_bindir)/axiom
Tylko w build-improvements/src/etc: Makefile.pamphlet.orig
diff -ru build-improvements.pp/src/interp/lisplib.boot.pamphlet
build-improvements/src/interp/lisplib.boot.pamphlet
--- build-improvements.pp/src/interp/lisplib.boot.pamphlet 2006-11-01
19:33:09.000000000 +0100
+++ build-improvements/src/interp/lisplib.boot.pamphlet 2006-11-01
19:36:52.000000000 +0100
@@ -56,9 +56,8 @@
readLibPathFast p
readLibPathFast p ==
- -- assumes 1) p is a valid pathname
- -- 2) file has already been checked for existence
- RDEFIOSTREAM([['FILE,:p], '(MODE . INPUT)],false)
+ -- DO NOT assume that p is a valid pathname
+ RDEFIOSTREAM([['FILE,:p], '(MODE . INPUT)])
writeLib(fn,ft) == writeLib1(fn,ft,"*")
diff -ru build-improvements.pp/src/interp/nlib.lisp.pamphlet
build-improvements/src/interp/nlib.lisp.pamphlet
--- build-improvements.pp/src/interp/nlib.lisp.pamphlet 2006-11-01
19:33:09.000000000 +0100
+++ build-improvements/src/interp/nlib.lisp.pamphlet 2006-11-01
19:36:00.000000000 +0100
@@ -448,17 +448,23 @@
:test #'string=)
:test #'string=))))
+(defun axiom-probe-file (file)
+ (if (equal (|directoryp| file) -1)
+ nil
+ (truename file))
+)
+
(defun make-input-filename (filearg &optional (filetype nil))
(let*
((filename (make-filename filearg filetype))
(dirname (pathname-directory filename))
(ft (pathname-type filename))
(dirs (get-directory-list ft))
- (newfn nil))
+ (newfn nil))
(if (or (null dirname) (eqcar dirname :relative))
(dolist (dir dirs (probe-name filename))
(when
- (probe-file
+ (axiom-probe-file
(setq newfn (concatenate 'string dir filename)))
(return newfn)))
(probe-name filename))))
@@ -476,7 +482,7 @@
;; ($ERASE filearg) -> 0 if succeeds else 1
(defun $erase (&rest filearg)
(setq filearg (make-full-namestring filearg))
- (if (probe-file filearg)
+ (if (axiom-probe-file filearg)
#+:CCL (delete-file filearg)
#+:AKCL
(if (library-file filearg)
--
Waldek Hebisch
address@hidden