+2000-05-11 Jean-Marc Lasgouttes <Jean-Marc.Lasgouttes@inria.fr>
+
+ * add addendum to README.OS2 and small patch (from SMiyata)
+
2000-05-10 Jean-Marc Lasgouttes <Jean-Marc.Lasgouttes@inria.fr>
+ * many files: correct the calls to ChangeExtension().
+
+ * src/support/filetools.C (ChangeExtension): remove the no_path
+ argument, which does not belong there. Use OnlyFileName() instead.
+
+ * src/insets/insetbib.C (Latex): use absolute paths for bibtex
+ files when LaTeXing a non-nice latex file.
+
* src/lyxlookup.C (isDeadEvent): use a switch statement instead of
a chain of "if". Return false when deadkeys are not handled.
+These are temporary instructions from Shigeru Miyata <miyata@kusm.kyoto-u.ac.jp>
+===========================================================================
+
+(The top level) configure.cmd is obsoleted by. Please follow the
+step like this:
+
+1. Install GNU m4, gnu?utils, aclocal/2, autoheader/2, automake/2,
+ autoconf/2, perl, GNU patch and a UNIX type shell like pdksh.
+2. Apply the patch development/OS2/quick_fix.patch
+ // os2_defines.h needs a modification because bmtable.c is C.
+ // Now it hits me, why don't we patch "test -x" (gnufutils)?
+ // However, we can't modify the behavior of "test -f", so
+ // it is still necessary to modify script files for LyX.
+3. Install xforms 0.88 and rename
+ forms.a -> forms_d.a
+ forms_s.a -> forms.a
+ // Ever since 1.1.5pre1, you cannot link xforms dynamically.
+ // If you don't like this, please ask Holger Veit to export
+ // fl_get_scrollbar_bounds, fl_get_scrollbar_increment and
+ // fl_get_scrollbar_value from the DLL. They're already there!
+4. Install Hung-Chi Chu's port of GNU gettext. Other ports will
+ not work.
+5. Set environment variables
+ MAKE_SHELL=sh
+ LIBS=-lulib -lsocket -lbsd -lshm -lstdcpp
+ // ulib must be linked if we use static xforms library.
+ // Unless you are using pgcc, we use gcc rather than g++.
+ // Hence stdc++ must be linked explicitely. Also please
+ // note that ld for pgcc often fails to link big executables
+ // like unstripped lyx.exe
+6. From sh prompt, type
+ autogen.sh
+ and then
+ configure --prefix=/XFree86 --datadir=/XFree86/lib/X11
+ x11make
+ // Please do not use make.cmd make.exe should be OK.
+ // x11make.exe is the safest choice
+ // While you are running configure, make sure that it is not
+ // a background process to other CPU intensive processes.
+ // While OS/2 kernel is much more efficient, faster and
+ // more responsive than other systems like LINUX (you can
+ // easily *FEEL* this if you stop PM/WPS and run XFree86
+ // only), its TTY interface is lousy, to say the least.
+ // If the synchronization to the children breaks, configure
+ // often detects wrongfully.
+
+> Or it is possible to download the compiled program?
+
+7. If you are going to make a binary distribution, you have
+ to prepare lib/configure.cmd noweb2lyx.cmd and reLyX.cmd,
+ since end users may not have a UNIX type shell installed.
+ At this stage, lib/configure.cmd in the 1.1.5pre1 should work
+ without change.
+ // If Dekel Tsur introduces the converter_command tag to lyxrc,
+ // the situation changes.
+ In order to create noweb2lyx.cmd and reLyX.cmd, first rename
+ noweb2lyx and reLyX and open them in a text editor. You
+ have to remove hardcoded path in the first line:
+#!perl
+ Also in reLyX.cmd, $lyxdir should be changed to include the
+ drive letter (the line 21):
+$lyxdir = "$ENV{X11ROOT}/XFree86/lib/X11/lyx";
+ Finally, prepend a line
+extproc perl.exe -S
+ so that cmd.exe pass the execution control to perl.
+ // I know configure.cmd had done this automatically.
+ // So you can compare the result with the scripts in 1.0.4
+ // distribution.
+
+
+===========================================================================
README file for OS/2 version of LyX 1.0.1
by Shigeru Miyata <miyata@kusm.kyoto-u.ac.jp>
--- /dev/null
+diff -ubr -X g:/exclude lyx-devel/config/progtest.m4 lyx-build/config/progtest.m4
+--- lyx-devel/config/progtest.m4 Tue Feb 22 06:44:28 2000
++++ lyx-build/config/progtest.m4 Wed May 10 10:12:44 2000
+@@ -11,6 +11,19 @@
+ dnl AM_PATH_PROG_WITH_TEST(VARIABLE, PROG-TO-CHECK-FOR,
+ dnl TEST-PERFORMED-ON-FOUND_PROGRAM [, VALUE-IF-NOT-FOUND [, PATH]])
+ AC_DEFUN(AM_PATH_PROG_WITH_TEST,
++[case "`uname -s 2> /dev/null`" in
++OS/2)
++ PATH=`echo -E "$PATH" | sed 's+\\\\+/+g'`
++ PATH_IFS=';'
++ EXE_EXT='.exe'
++ CMD_EXT='.cmd'
++ ;;
++*)
++ PATH_IFS=':'
++ EXE_EXT=''
++ CMD_EXT=''
++ ;;
++esac]
+ [# Extract the first word of "$2", so it can be a program name with args.
+ set dummy $2; ac_word=[$]2
+ AC_MSG_CHECKING([for $ac_word])
+@@ -20,10 +33,12 @@
+ ac_cv_path_$1="[$]$1" # Let the user override the test with a path.
+ ;;
+ *)
+- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
++ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}$PATH_IFS"
+ for ac_dir in ifelse([$5], , $PATH, [$5]); do
+ test -z "$ac_dir" && ac_dir=.
+- if test -f $ac_dir/$ac_word; then
++ if test -f $ac_dir/$ac_word \
++ -o -f $ac_dir/$ac_word$EXE_EXT \
++ -o -f $ac_dir/$ac_word$CMD_EXT; then
+ if [$3]; then
+ ac_cv_path_$1="$ac_dir/$ac_word"
+ break
+diff -ubr -X g:/exclude lyx-devel/lib/configure.m4 lyx-build/lib/configure.m4
+--- lyx-devel/lib/configure.m4 Tue Feb 22 06:44:42 2000
++++ lyx-build/lib/configure.m4 Wed May 10 07:24:02 2000
+@@ -28,6 +28,19 @@
+ dnl
+ define(SEARCH_PROG,[dnl
+ changequote([,])dnl
++case "`uname -s 2> /dev/null`" in
++OS/2)
++ PATH=`echo -E "$PATH" | sed 's+\\\\+/+g'`
++ PATH_IFS=';'
++ EXE_EXT='.exe'
++ CMD_EXT='.cmd'
++ ;;
++*)
++ PATH_IFS=':'
++ EXE_EXT=''
++ CMD_EXT=''
++ ;;
++esac
+ MSG_CHECKING($1)
+ MSG_RESULT(($3))
+ $2=
+@@ -37,10 +50,12 @@
+ set dummy $ac_prog ; ac_word=$[2]
+ if test -n "$ac_word"; then
+ MSG_CHECKING([for \"$ac_word\"],[+])
+- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
++ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="$PATH_IFS"
+ for ac_dir in $PATH; do
+ test -z "$ac_dir" && ac_dir=.
+- if test -x [$ac_dir/$ac_word]; then
++ if test -x [$ac_dir/$ac_word] \
++ -o -x [$ac_dir/$ac_word$EXE_EXT] \
++ -o -x [$ac_dir/$ac_word$CMD_EXT]; then
+ $2="$ac_prog"
+ break
+ fi
+@@ -179,8 +194,17 @@
+ fi
+
+ # Search for an installed reLyX or a ready-to-install one
++case "`uname -s 2> /dev/null`" in
++OS/2)
++save_PATH=`echo -E "$PATH" | sed 's+\\\\+/+g'`
++PATH_IFS=';'
++;;
++*)
+ save_PATH=${PATH}
+-PATH=${PATH}:./reLyX/
++PATH_IFS=':'
++;;
++esac
++PATH=${PATH}${PATH_IFS}./reLyX/
+ SEARCH_PROG([for reLyX LaTeX-to-LyX translator],RELYX,reLyX)
+ PATH=${save_PATH}
+
+diff -ubr -X g:/exclude lyx-devel/lib/reLyX/acinclude.m4 lyx-build/lib/reLyX/acinclude.m4
+--- lyx-devel/lib/reLyX/acinclude.m4 Tue Sep 28 03:44:34 1999
++++ lyx-build/lib/reLyX/acinclude.m4 Wed May 10 05:38:36 2000
+@@ -11,15 +11,24 @@
+ dnl RELYX_SEARCH_PROG(VARIABLE-NAME,PROGRAMS-LIST,ACTION-IF-FOUND)
+ dnl
+ define(RELYX_SEARCH_PROG,[dnl
++case "`uname -s 2> /dev/null`" in
++OS/2)
++ PATH=`echo -E "$PATH" | sed 's+\\\\+/+g'`
++ PATH_IFS=';'
++ ;;
++*)
++ PATH_IFS=':'
++ ;;
++esac
+ for ac_prog in $2 ; do
+ # Extract the first word of "$ac_prog", so it can be a program name with
+ # args.
+ set dummy $ac_prog ; ac_word=$[2]
+ if test ! -n "[$]$1"; then
+- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
++ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}$PATH_IFS"
+ for ac_dir in $PATH; do
+ test -z "$ac_dir" && ac_dir=.
+- if test -f [$ac_dir/$ac_word]; then
++ if test -f [$ac_dir/$ac_word] -o -f [$ac_dir/$ac_word$ac_exeext]; then
+ $1="$ac_prog"
+ break
+ fi
+diff -ubr -X g:/exclude lyx-devel/lib/reLyX/configure.in lyx-build/lib/reLyX/configure.in
+--- lyx-devel/lib/reLyX/configure.in Tue Feb 22 06:45:24 2000
++++ lyx-build/lib/reLyX/configure.in Wed May 10 05:38:34 2000
+@@ -2,6 +2,7 @@
+ AC_INIT(reLyX.in)
+ AC_PREREQ(2.13) dnl We want to use autoconf 2.13
+ AC_CONFIG_AUX_DIR(../../config)
++AC_EXEEXT
+
+ dnl PACKAGE=reLyX
+ dnl Do this to install in $datadir/lyx/reLyX instead of $datadir/reLyX/reLyX
+diff -ubr -X g:/exclude lyx-devel/src/os2_defines.h lyx-build/src/os2_defines.h
+--- lyx-devel/src/os2_defines.h Fri Mar 10 06:25:50 2000
++++ lyx-build/src/os2_defines.h Fri May 5 11:37:48 2000
+@@ -13,9 +13,14 @@
+ #ifndef OS2_DEFINES_H
+ #define OS2_DEFINES_H
+
++#if defined (__cplusplus)
+ #include <cctype>
+-#include <process.h>
+ #include <cstdlib>
++#else
++#include <ctype.h>
++#include <stdlib.h>
++#endif
++#include <process.h>
+ #include <unistd.h>
+ #include <X11/Xlocale.h>
+ /* #include <malloc.h> */
int Chktex::run(TeXErrors &terr)
{
// run bibtex
- string log = ChangeExtension(file, ".log", true);
+ string log = OnlyFilename(ChangeExtension(file, ".log"));
string tmp = cmd + " -q -v0 -b0 -x " + file + " -o " + log;
Systemcalls one;
int result= one.startscript(Systemcalls::System, tmp);
string token;
int retval = 0;
- string tmp = ChangeExtension(file, ".log", true);
+ string tmp = OnlyFilename(ChangeExtension(file, ".log"));
ifstream ifs(tmp.c_str());
while (getline(ifs, token)) {
Buffer * buf = 0;
int result = one.startscript(Systemcalls::System, tmp);
if (result == 0) {
- string filename = ChangeExtension(file, ".lyx", false);
+ string filename = ChangeExtension(file, ".lyx");
// File was generated without problems. Load it.
buf = bufferlist.loadLyXFile(filename);
}
// but the reason for the error might be in a generated file...
+ string ofname = OnlyFilename(file);
+
// bibtex file
- string bbl = ChangeExtension(file, ".bbl", true);
+ string bbl = ChangeExtension(ofname, ".bbl");
::unlink(bbl.c_str());
// makeindex file
- string ind = ChangeExtension(file, ".ind", true);
+ string ind = ChangeExtension(ofname, ".ind");
::unlink(ind.c_str());
// Also remove the aux file
- string aux = ChangeExtension(file, ".aux", true);
+ string aux = ChangeExtension(ofname, ".aux");
::unlink(aux.c_str());
}
// if needed.
// run makeindex
- if (head.haschanged(ChangeExtension(file, ".idx", true))) {
+ if (head.haschanged(OnlyFilename(ChangeExtension(file, ".idx")))) {
// no checks for now
lyxerr[Debug::LATEX] << "Running MakeIndex." << endl;
minib->Set(_("Running MakeIndex."));
minib->Store();
- rerun = runMakeIndex(ChangeExtension(file, ".idx", true));
+ rerun = runMakeIndex(OnlyFilename(ChangeExtension(file, ".idx")));
}
// run bibtex
lyxerr[Debug::LATEX] << "Running BibTeX." << endl;
minib->Set(_("Running BibTeX."));
minib->Store();
- rerun = runBibTeX(ChangeExtension(file, ".aux", true), head);
+ rerun = runBibTeX(OnlyFilename(ChangeExtension(file, ".aux")),
+ head);
}
// 1
// more after this.
// run makeindex if the <file>.idx has changed or was generated.
- if (head.haschanged(ChangeExtension(file, ".idx", true))) {
+ if (head.haschanged(OnlyFilename(ChangeExtension(file, ".idx")))) {
// no checks for now
lyxerr[Debug::LATEX] << "Running MakeIndex." << endl;
minib->Set(_("Running MakeIndex."));
minib->Store();
- rerun = runMakeIndex(ChangeExtension(file, ".idx", true));
+ rerun = runMakeIndex(OnlyFilename(ChangeExtension(file, ".idx")));
}
// 2
if (dep.extchanged(".bib")
|| dep.extchanged(".bst")) return true;
- string aux = ChangeExtension(file, ".aux", true);
+ string aux = OnlyFilename(ChangeExtension(file, ".aux"));
ifstream ifs(aux.c_str());
string token;
LRegex reg1("\\\\bibdata\\{([^}]+)\\}");
}
string full_l =
findtexfile(
- ChangeExtension(l, "bib", false), "bib");
+ ChangeExtension(l, "bib"), "bib");
if (!full_l.empty()) {
if (!dep.exist(full_l))
return true;
// pass it to the helper
string full_l =
findtexfile(
- ChangeExtension(style, "bst", false),
+ ChangeExtension(style, "bst"),
"bst");
if (!full_l.empty()) {
if (!dep.exist(full_l))
}
string full_l =
findtexfile(
- ChangeExtension(l, "bib", false),
+ ChangeExtension(l, "bib"),
"bib");
lyxerr[Debug::LATEX] << "Bibtex database: `"
<< full_l << "'" << endl;
// pass it to the helper
string full_l =
findtexfile(
- ChangeExtension(style, "bst", false),
+ ChangeExtension(style, "bst"),
"bst");
lyxerr[Debug::LATEX] << "Bibtex style: `"
<< full_l << "'" << endl;
if (using_bibtex) {
// run bibtex and
string tmp = "bibtex ";
- tmp += ChangeExtension(file, string(), true);
+ tmp += OnlyFilename(ChangeExtension(file, string()));
Systemcalls one;
one.startscript(Systemcalls::System, tmp);
return true;
int last_line = -1;
int line_count = 1;
int retval = NO_ERRORS;
- string tmp = ChangeExtension(file, ".log", true);
+ string tmp = OnlyFilename(ChangeExtension(file, ".log"));
lyxerr[Debug::LATEX] << "Log file: " << tmp << endl;
ifstream ifs(tmp.c_str());
// files used by the LaTeX run. The files are then entered into the
// dependency file.
- string logfile = ChangeExtension(file, ".log", true);
+ string logfile = OnlyFilename(ChangeExtension(file, ".log"));
ifstream ifs(logfile.c_str());
while (ifs) {
FileInfo fi;
for (int i = 0; i < file_count; ++i) {
if (!(all_files[i].file & except)) {
- tmp = ChangeExtension(file,
- all_files[i].extension,
- true);
+ tmp = OnlyFilename(ChangeExtension(file,
+ all_files[i].extension));
lyxerr[Debug::DEPEND] << "deptex: " << tmp << endl;
if (fi.newFile(tmp).exist())
head.insert(tmp);
filename = current_view->buffer()->getLatexName();
if (!filename.empty()) {
- fname = ChangeExtension(filename, ".log", true);
- bname = ChangeExtension(filename,
- lyxrc.literate_extension + ".out",
- true);
+ fname = OnlyFilename(ChangeExtension(filename, ".log"));
+ bname = OnlyFilename(ChangeExtension(filename,
+ lyxrc.literate_extension + ".out"));
path = OnlyPath(filename);
if (lyxrc.use_tempdir || (IsDirWriteable(path) < 1)) {
path = current_view->buffer()->tmppath;
}
}
- string fname = ChangeExtension(buffer->getLatexName(), ftypeext, true);
+ string fname = OnlyFilename(ChangeExtension(buffer->getLatexName(), ftypeext));
if (!contains(command, "$$FName"))
command = "( " + command + " ) <$$FName";
command = subst(command, "$$FName", fname);
string Buffer::getLatexName(bool no_path) const
{
- return ChangeExtension(MakeLatexName(filename),
- ".tex", no_path);
+ if (no_path)
+ return OnlyFilename(ChangeExtension(MakeLatexName(filename),
+ ".tex"));
+ else
+ return ChangeExtension(MakeLatexName(filename),
+ ".tex");
}
// get LaTeX-Filename
string name = getLatexName();
// get Literate-Filename
- string lit_name = ChangeExtension (getLatexName(),
- lyxrc.literate_extension, true);
+ string lit_name = OnlyFilename(ChangeExtension (getLatexName(),
+ lyxrc.literate_extension));
string path = OnlyPath(filename);
// get LaTeX-Filename
string name = getLatexName();
// get Literate-Filename
- string lit_name = ChangeExtension(getLatexName(),
- lyxrc.literate_extension, true);
+ string lit_name = OnlyFilename(ChangeExtension(getLatexName(),
+ lyxrc.literate_extension));
string path = OnlyPath(filename);
&& insetinc->isNoLoad()) {
if (!lst.empty())
lst += delim;
- lst += ChangeExtension(insetinc->getContents(), string(), true);
+ lst += OnlyFilename(ChangeExtension(insetinc->getContents(), string()));
}
}
++pos;
if (!(*it)->isDepClean(mastertmpdir)) {
string writefile = mastertmpdir;
writefile += '/';
- writefile += ChangeExtension((*it)->fileName(),
- ".tex", true);
+ writefile += (*it)->getLatexName();
(*it)->makeLaTeXFile(writefile, mastertmpdir,
false, true);
(*it)->markDepClean(mastertmpdir);
string db_in = getContents();
db_in = split(db_in, adb, ',');
while(!adb.empty()) {
- if (!owner->niceFile &&
- IsFileReadable(MakeAbsPath(adb, owner->filepath)+".bib"))
- adb = MakeAbsPath(adb, owner->filepath);
+ if (!owner->niceFile) {
+ string fname
+ = findtexfile(ChangeExtension(adb, "bib"),
+ "bib");
+ if (!fname.empty())
+ adb = ChangeExtension(fname, string());
+ }
db_out += adb;
db_out += ',';
db_in= split(db_in, adb,',');
string bibfiles = getContents();
bibfiles = split(bibfiles, tmp, ',');
while(!tmp.empty()) {
- string fil = findtexfile(ChangeExtension(tmp, "bib", false),
+ string fil = findtexfile(ChangeExtension(tmp, "bib"),
"bib");
lyxerr[Debug::LATEX] << "Bibfile: " << fil << endl;
// If we didn't find a matching file name just fail silently
}
// write it to a file (so far the complete file)
- string writefile = ChangeExtension(getFileName(), ".tex", false);
+ string writefile = ChangeExtension(getFileName(), ".tex");
if (!master->tmppath.empty()
&& !master->niceFile) {
incfile = subst(incfile, '/','@');
writefile = AddName(master->tmppath, incfile);
} else
writefile = getFileName();
- writefile = ChangeExtension(writefile, ".tex", false);
+ writefile = ChangeExtension(writefile, ".tex");
lyxerr[Debug::LATEX] << "incfile:" << incfile << endl;
lyxerr[Debug::LATEX] << "writefile:" << writefile << endl;
os << '\\' << command << '{' << incfile << '}';
} else {
os << '\\' << command << '{'
- << ChangeExtension(incfile, ".tex", false)
+ << ChangeExtension(incfile, ".tex")
<< '}';
}
} else {
// \include don't want extension and demands that the
// file really have .tex
os << '\\' << command << '{'
- << ChangeExtension(incfile, string(), false)
+ << ChangeExtension(incfile, string())
<< '}';
}
return false;
/* get DVI-Filename */
if (name.empty())
- name = ChangeExtension(buffer->getLatexName(),
- ".dvi", true);
+ name = ChangeExtension(buffer->getLatexName(), ".dvi");
path = OnlyPath(name);
if (lyxrc.use_tempdir || (IsDirWriteable(path) < 1)) {
return false;
}
// Generate postscript file
- string psname = ChangeExtension (buffer->fileName(),
- ".ps_tmp", true);
+ string psname = OnlyFilename(ChangeExtension (buffer->fileName(),
+ ".ps_tmp"));
string paper;
// Start postscript viewer
ProhibitInput(current_view);
- string ps = ChangeExtension (buffer->fileName(),
- ".ps_tmp", true);
+ string ps = OnlyFilename(ChangeExtension (buffer->fileName(),
+ ".ps_tmp"));
// push directorypath, if necessary
string path = OnlyPath(buffer->fileName());
if (lyxrc.use_tempdir || (IsDirWriteable(path) < 1)){
}
// Send fax
- string ps = ChangeExtension (buffer->fileName(), ".ps_tmp", true);
+ string ps = OnlyFilename(ChangeExtension (buffer->fileName(),
+ ".ps_tmp"));
string path = OnlyPath (buffer->fileName());
if (lyxrc.use_tempdir || (IsDirWriteable(path) < 1)) {
path = buffer->tmppath;
}
// Get LinuxDoc-Filename
- string s = ChangeExtension(buffer->fileName(),
- ".sgml", false);
+ string s = ChangeExtension(buffer->fileName(), ".sgml");
if (!AskOverwrite(buffer, s))
return;
}
// Get DocBook-Filename
- string s = ChangeExtension(buffer->fileName(),
- ".sgml", false);
+ string s = ChangeExtension(buffer->fileName(), ".sgml");
if (!AskOverwrite(buffer, s))
return;
//if (!bv->text) return;
/* get LaTeX-Filename */
- string s = ChangeExtension (buffer->fileName(),
- ".txt", false);
+ string s = ChangeExtension (buffer->fileName(), ".txt");
if (!AskOverwrite(buffer, s))
//if (!bv->text)
// return;
- string input_file = ChangeExtension(buffer->fileName(),
- lyxrc.print_file_extension,
- true);
+ string input_file = OnlyFilename(ChangeExtension(buffer->fileName(),
+ lyxrc.print_file_extension));
fl_set_input(fd_form_print->input_file, input_file.c_str());
if (fd_form_print->form_print->visible) {
// the tex file name has to be correct for
// latex, but the html file name can be
// anything.
- string result = ChangeExtension(file, ".html", false);
+ string result = ChangeExtension(file, ".html");
string infile = buffer->getLatexName(false);
string tmp = lyxrc.html_command;
tmp = subst(tmp, "$$FName", infile);
// And now, run the converter
string file = buffer->fileName();
- string result = ChangeExtension(file, ".html", false);
- string infile = ChangeExtension(file, ".sgml", false);
+ string result = ChangeExtension(file, ".html");
+ string infile = ChangeExtension(file, ".sgml");
string tmp = lyxrc.linuxdoc_to_html_command;
tmp = subst(tmp, "$$FName", infile);
tmp = subst(tmp, "$$OutName", result);
// And now, run the converter
string file = buffer->fileName();
- string result = ChangeExtension(file, ".html", false);
- string infile = ChangeExtension(file, ".sgml", false);
+ string result = ChangeExtension(file, ".html");
+ string infile = ChangeExtension(file, ".sgml");
string tmp = lyxrc.docbook_to_html_command;
tmp = subst(tmp, "$$FName", infile);
tmp = subst(tmp, "$$OutName", result);
int errorcode = 0;
/* generate a path-less extension name */
- string name = ChangeExtension (filename, ".sgml", true);
+ string name = OnlyFilename(ChangeExtension (filename, ".sgml"));
string path = OnlyPath (filename);
if (lyxrc.use_tempdir || (IsDirWriteable(path) < 1)) {
path = bv->buffer()->tmppath;
int RunDocBook(int flag, string const & filename)
{
/* generate a path-less extension name */
- string name = ChangeExtension (filename, ".sgml", true);
+ string name = OnlyFilename(ChangeExtension (filename, ".sgml"));
string path = OnlyPath (filename);
if (lyxrc.use_tempdir || (IsDirWriteable(path) < 1)) {
path = current_view->buffer()->tmppath;
sscanf(argument.c_str(), " %s %d", file_name, &row);
// Must replace extension of the file to be .lyx and get full path
- string s = ChangeExtension(string(file_name), ".lyx", false);
+ string s = ChangeExtension(string(file_name), ".lyx");
// Either change buffer or load the file
if (bufferlist.exists(s))
// get absolute path of file
filename = MakeAbsPath(filename);
- string lyxfile = ChangeExtension(filename, ".lyx", false);
+ string lyxfile = ChangeExtension(filename, ".lyx");
// Check if the document already is open
if (bufferlist.exists(lyxfile)) {
int result = one.startscript(Systemcalls::System, tmp);
if (result == 0) {
- string filename = ChangeExtension(filename, ".lyx", false);
+ string filename = ChangeExtension(filename, ".lyx");
// File was generated without problems. Load it.
buf = bufferlist.loadLyXFile(filename);
}
Strips path off if no_path == true.
If no extension on oldname, just appends.
*/
-string ChangeExtension(string const & oldname, string const & extension,
- bool no_path)
+string ChangeExtension(string const & oldname, string const & extension)
{
string::size_type last_slash = oldname.rfind('/');
string::size_type last_dot = oldname.rfind('.');
ext= '.' + extension;
else
ext = extension;
- string ret_str;
- if (no_path && last_slash != string::npos) {
- ++last_slash; // step it
- ret_str = oldname.substr(last_slash,
- last_dot - last_slash) + ext;
- } else
- ret_str = oldname.substr(0, last_dot) + ext;
- return CleanupPath(ret_str);
+
+ return CleanupPath(oldname.substr(0, last_dot) + ext);
}
string AddPath(string const & path, string const & path2);
/** Change extension of oldname to extension.
- If no_path is true, the path is stripped from the filename.
If oldname does not have an extension, it is appended.
If the extension is empty, any extension is removed from the name.
*/
-string ChangeExtension(string const & oldname, string const & extension,
- bool no_path);
+string ChangeExtension(string const & oldname, string const & extension);
/// Create absolute path. If impossible, don't do anything
string ExpandPath(string const & path);