aboutsummaryrefslogtreecommitdiffhomepage
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/sisu/v3/sysenv.rb50
-rw-r--r--lib/sisu/v3/texinfo.rb5
-rw-r--r--lib/sisu/v3/texinfo_format.rb3
3 files changed, 57 insertions, 1 deletions
diff --git a/lib/sisu/v3/sysenv.rb b/lib/sisu/v3/sysenv.rb
index 5134b6c2..e89d77c5 100644
--- a/lib/sisu/v3/sysenv.rb
+++ b/lib/sisu/v3/sysenv.rb
@@ -2286,6 +2286,12 @@ WOK
? @rc['program_select']['man'] \
: 'nroff -man' #'nroff -man' #'groff -man -Tascii'
end
+ def texinfo
+ ((defined? @rc['program_select']['info_viewer']) \
+ && @rc['program_select']['info_viewer'] =~/\S\S+/) \
+ ? @rc['program_select']['info_viewer'] \
+ : 'pinfo -f' #'pinfo -f' 'info' 'tkinfo'
+ end
def file_encoding
is=(defined? @rc['program_set']['file_encoding']) ? @rc['program_set']['encoding'] : ''
(is.nil? || is==true) ? 'encoding' : is
@@ -3262,6 +3268,12 @@ WOK
fn=base_filename.manpage
file=make_file(path,fn)
end
+ def texinfo
+ path=output_path.texinfo.dir
+ make_path(path)
+ fn=base_filename.texinfo
+ file=make_file(path,fn)
+ end
def hash_digest
path=output_path.hash_digest.dir
make_path(path)
@@ -3466,6 +3478,15 @@ WOK
end
self
end
+ def texinfo
+ def dir
+ output_path.texinfo.dir + '/' + base_filename.texinfo
+ end
+ def rel
+ output_path.texinfo.rel + '/' + base_filename.texinfo
+ end
+ self
+ end
def manifest
def dir
output_path.manifest.dir + '/' + base_filename.manifest
@@ -3630,6 +3651,14 @@ WOK
@md.fnb + '.' + @md.opt.f_pth[:lng_is] + '.' + ft
end
end
+ def texinfo
+ ft='info'
+ if @env.output_dir_structure.by_language_code?
+ @md.fnb + '.' + ft
+ else
+ @md.fnb + '.' + @md.opt.f_pth[:lng_is] + '.' + ft
+ end
+ end
def hash_digest
ft='.txt'
if @env.output_dir_structure.by_language_code?
@@ -4237,6 +4266,27 @@ WOK
end
self
end
+ def texinfo
+ def ft
+ 'texinfo'
+ end
+ def dir
+ set_path(ft).dir.ab
+ end
+ def url
+ set_path(ft).url.ab
+ end
+ def rel
+ set_path(ft).rel.ab
+ end
+ def rcp
+ set_path(ft).rcp.ab
+ end
+ def rel_sm
+ set_path(ft).rel_sm.ab
+ end
+ self
+ end
def sitemaps
def ft
'sitemaps'
diff --git a/lib/sisu/v3/texinfo.rb b/lib/sisu/v3/texinfo.rb
index 7281a7f9..f1e3d5a2 100644
--- a/lib/sisu/v3/texinfo.rb
+++ b/lib/sisu/v3/texinfo.rb
@@ -77,6 +77,7 @@ module SiSU_TexInfo
include SiSU_TexInfo
def initialize(opt)
@opt=opt
+ @md=SiSU_Param::Parameters.new(@opt).get
@env=SiSU_Env::Info_env.new(@opt.fns)
@vz=SiSU_Env::Get_init.instance.skin
end
@@ -367,6 +368,10 @@ module SiSU_TexInfo
puts filename if @md.opt.cmd =~/M/
data.each {|s| (filename_texinfo.puts s,"\n") if s}
filename_texinfo.close
+ file_info_src=%{#{@env.processing_path.texi}/#{@md.fnb}.info}
+ file_info="#{@md.file.output_path.texinfo.dir}/#{@md.file.base_filename.texinfo}"
+ SiSU_Env::SiSU_file.new(@md).mkdir
+ system("cp #{file_info_src} #{file_info}")
end
def makeinfo
if @md.fns =~/\.(?:-|ssm\.)?sst$/
diff --git a/lib/sisu/v3/texinfo_format.rb b/lib/sisu/v3/texinfo_format.rb
index b9fb3256..cd98754a 100644
--- a/lib/sisu/v3/texinfo_format.rb
+++ b/lib/sisu/v3/texinfo_format.rb
@@ -376,7 +376,8 @@ WOK
txt.gsub!(/#{Mx[:gl_o]}#042#{Mx[:gl_c]}/,'*')
txt.gsub!(/#{Mx[:gl_o]}#047#{Mx[:gl_c]}/,'/')
txt.gsub!(/#{Mx[:gl_o]}#095#{Mx[:gl_c]}/,'_')
- txt.gsub!(/#{Mx[:br_nl]}+/,"\n")
+ txt.gsub!(/#{Mx[:gl_o]}#092#{Mx[:gl_c]}/,'\\')
+ txt.gsub!(/(?:#{Mx[:br_line]}|#{Mx[:br_nl]})\s*/,"\n\n") # watch
txt.gsub!(/<sup><font face=symbol>&atild;<\/font><\/sup>/,' ')
#txt.gsub!(/\\/,'\\backslash ')
txt.gsub!(/<:pb>/,'\\newpage')