aboutsummaryrefslogtreecommitdiffhomepage
path: root/lib/sisu/v5/texinfo.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/sisu/v5/texinfo.rb')
-rw-r--r--lib/sisu/v5/texinfo.rb25
1 files changed, 16 insertions, 9 deletions
diff --git a/lib/sisu/v5/texinfo.rb b/lib/sisu/v5/texinfo.rb
index ba890be3..c18b4b1e 100644
--- a/lib/sisu/v5/texinfo.rb
+++ b/lib/sisu/v5/texinfo.rb
@@ -107,7 +107,7 @@ module SiSU_TexInfo
tool=(@opt.act[:verbose][:set]==:on \
|| @opt.act[:verbose_plus][:set]==:on \
|| @opt.act[:maintenance][:set]==:on) \
- ? "#{@env.program.texinfo} #{@md.file.output_path.texinfo.dir}/#{@md.file.base_filename.info}"
+ ? "cd #{@md.file.output_path.texinfo.dir} && #{@env.program.texinfo} #{@md.file.base_filename.info}; cd -"
: "[#{@opt.f_pth[:lng_is]}] #{@opt.fno}"
(@opt.act[:verbose][:set]==:on \
|| @opt.act[:verbose_plus][:set]==:on \
@@ -308,32 +308,36 @@ module SiSU_TexInfo
@@do_submenu,@@do_subsubmenu=1,1
data_new=[]
data.each do |dob|
- mono=SiSU_TexInfoFormat::Texinfo.new(@md,dob)
+ unless defined? dob.ln and dob.ln == (5..6)
+ mono=SiSU_TexInfoFormat::Texinfo.new(@md,dob)
+ end
if dob.is==:heading
case dob.ln
when 1 then dob=mono.level1
when 2 then dob=mono.level2
when 3 then dob=mono.level3
when 4;
+ @@n4_txt=dob.obj
dob=mono.level4
n_menu+=1
@@do_submenu,@@do_subsubmenu=1,1
when 5;
n_submenu+=1
@@do_subsubmenu=1
+ @@n5_txt=dob.obj
if @@do_submenu==1
menu=SiSU_TexInfoFormat::TeXinfoTxt.new(@md,dob,@submenu[n_menu])
- dob.obj="#{menu.submenu}#{mono.level5.obj}"
+ dob.obj="#{menu.submenu}#{SiSU_TexInfoFormat::Texinfo.new(@md,dob,@@n4_txt).level5.obj}"
@@do_submenu=0
- else dob=mono.level5
+ else dob.obj="#{SiSU_TexInfoFormat::Texinfo.new(@md,dob,@@n4_txt).level5.obj}"
end
when 6;
if @@do_submenu==1
menu=SiSU_TexInfoFormat::TeXinfoTxt.new(@md,dob,@submenu[n_menu])
+ dob.obj="#{menu.submenu}#{SiSU_TexInfoFormat::Texinfo.new(@md,dob,@@n5_txt).level6.obj}"
dob.obj="#{menu.subsubmenu}#{mono.level6.obj}"
@@do_subsubmenu=0
- else
- dob=mono.level6
+ else dob.obj="#{SiSU_TexInfoFormat::Texinfo.new(@md,dob,@@n5_txt).level6.obj}"
end
end
else
@@ -341,8 +345,9 @@ module SiSU_TexInfo
dob.obj=nil
else
if dob.is==:para \
- && (dob.obj !~/##{dob.ocn}/)
- dob.obj="#{dob.obj} ##{dob.ocn}"
+ && (dob.obj !~/#{Dx[:ocn_o]}#{dob.ocn}#{Dx[:ocn_c]}/)
+ dob.obj=dob.ocn.is_a?(Fixnum) \
+ ? "#{dob.obj} #{Dx[:ocn_o]}#{dob.ocn}#{Dx[:ocn_c]}\n\n" : "#{dob.obj}\n\n"
end
end
end
@@ -412,7 +417,9 @@ module SiSU_TexInfo
FileUtils::mkdir_p(@f.output_path.texinfo.dir)
end
info_src=%{#{@env.processing_path.texi}/#{@md.fnb}.info}
- FileUtils::cp(info_src, @f.place_file.info.dir)
+ Dir.glob("#{info_src}*").sort.each do |f|
+ FileUtils::cp(f, File.dirname(@f.place_file.info.dir)) # bug should provide dir without need to extract it!
+ end
end
end
end