octave-maintainers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

pkg.m is busted, gen_doc_cache sematics changed


From: Jason Riedy
Subject: pkg.m is busted, gen_doc_cache sematics changed
Date: Tue, 24 Feb 2009 13:55:00 -0500
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.0.90 (gnu/linux)

When you changed gen_doc_cache's semantics, you did not change how pkg.m
calls it. Package installation doesn't work in the tip.

I have no idea where the cache files for a directory hierarchy
are supposed to live, so I'm not sure how to fix it. Should
pkg>generate_lookfor_cache iterate over the directories and
save to help_cache.mat in each? Such a patch is appended, but
lookfor cannot find the relevant functions.

Also fixed below, makeinfo should be __makeinfo__ now, but
that's pointless until gen_doc_cache is called correctly.

Even with this patch, however, the *first* pkg install call
dies complaining about an invalid call to mlock. The second
succeeds. How long has it been since anyone here installed a
package? ;)

Jason

diff --git a/scripts/help/gen_doc_cache.m b/scripts/help/gen_doc_cache.m
index 6d35852..ce0893a 100644
--- a/scripts/help/gen_doc_cache.m
+++ b/scripts/help/gen_doc_cache.m
@@ -60,7 +60,7 @@ function [text, first_sentence, status] = handle_function (f, 
text, format)
     case "plain text"
       status = 0;
     case "texinfo"
-      [text, status] = makeinfo (text, "plain text");
+      [text, status] = __makeinfo__ (text, "plain text");
     case "html"
       [text, status] = strip_html_tags (text);
     otherwise
diff --git a/scripts/pkg/pkg.m b/scripts/pkg/pkg.m
index dc3dfd2..1376bad 100644
--- a/scripts/pkg/pkg.m
+++ b/scripts/pkg/pkg.m
@@ -1585,7 +1585,10 @@ function finish_installation (desc, packdir, 
global_install)
 endfunction
 
 function generate_lookfor_cache (desc)
-  gen_doc_cache (genpath (desc.dir));
+  dirs = split_by (genpath (desc.dir), pathsep ());
+  for i = 1 : length (dirs)
+    gen_doc_cache (fullfile (dirs{i}, "help_cache.mat"), dirs{i});
+  endfor
 endfunction
 
 ## Make sure the package contains the essential files.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]