Jean-Marc,

I've been looking through the changes to the 1.3.x tree since I started
this effort to merge Ruurd's LyX/Win port into the official sources. As a
result, I've added descriptions of a number of small fixes to status.13x,
attached.

I've also tried to describe the 'bigger picture' that Windows users will
see when they compare LyX 1.3.6 to Ruurd's port. See porting-changes.txt.
I'd imagine that this should be merged into status.13x but it could
probably do with some more polish. No doubt you'll have your own ideas...

-- 
Angus
Ruurd Reitsma's original port of LyX to Windows made the absolute
minimum of changes necessary to get LyX to run on the Windows OS. We
decided to take a slightly different route when we came to merge his
port into the official LyX sources. Our guiding principle has been "to
do the right thing". Often this has meant that a chunk of Ruurd's code
has just been added verbatim to the official sources. In many cases,
however, it has lead to a re-write of some code, affecting both
Windows and Unix users.

The resulting Windows port has almost the same functionality as its
Unix counterpart. The following things do not work, however:

* The spellchecker cannot use an external ispell-type spell engine
  which communicates with LyX through its STDIN and STDOUT streams. To
  do so would require a complete re-write of the way that LyX launches
  child processes on Windows.
* The lyxserver does not work. LyX's code to communicate with an
  external process through named pipes is written using the unix
  API. Indeed, it works only on some flavours of unix. Windows will
  require some completely new code.
* The "autosave" facility which makes a back-up of your document every
  5 or so minutes and which runs asynchronously on unix machines will
  block execution on Windows. We will have to introduce multiple
  threads to change this.

In addition to squashing many, many little bugs in Ruurd's port,
Windows users will notice several other changes to their LyX 1.3.5:

* Graphics files are now converted to a "loadable" format
  asynchronously. That is, LyX will not hang whilst graphics files are
  displayed on screen.

* Packaging. MacOS, Unix and Windows each have different traditions on
  where an application should look for its support files. We've tried
  to take these traditions into account, so Windows users will find
  that the LyX application bundle has the directory structure
    LyX/
      bin/
      Resources/
        locale/
        lyx/
        man/
  The locale subdirectory contains language-specific translations of
  the LyX interface (Menus, dialogs, etc).
  The lyx subdirectory contains the system-wide support files that may
  be overwritten by a user in his or her personal lyx support directory.

  In addition, Windows users will find that their "HOME" directory is
  now C:\Documents and Settings\USERNAME.
  LyX expects to find local changes to its support files in
  C:\Documents and Settings\USERNAME\Application Data\lyx.
  Similarly, the temporary directory that LyX uses as its workspace now 
  defaults to
  C:\Documents and Settings\USERNAME\Local Settings\Temp

  The main LyX application bundle is fully relocatable. Specifically,
  we decided not to use the rats' nest that is the Windows
  Registery. Instead, we recommend that you use the new "\path_prefix"
  variable in your preferences file to tell LyX where to find things
  like acroread and ImageMagick's convert utility,
  etc., etc., etc.. Eg:
  \path_prefix "C:\Program Files\Adobe\Acrobat 7.0\Reader;C:\Program 
Files\ImageMagick-6.2.1-Q16"
  You can set this data either by editing your preferences file
  directly or by using the "PATH prefix:" entry in the Paths pane of
  the Preferences dialog.

* "File names with spaces" The observant among you will notice that
  the paths above all contain spaces. We have worked hard to make this
  release of LyX work well with such file names. Modern LaTeX
  distributions, such as MikTeX 2.4 can handle such paths, although
  you'll have to jump through some hoops to be able to use the
  resulting .dvi file. See
  http://wiki.lyx.org/LaTeX/FilesWithSpecialChars for details and a
  script with which to post-process the .dvi file output by the latex
  compiler.

  LyX will try and ascertain automatically whether your latex compiler
  can handle such file names, but you can also override its findings
  by adding
    \tex_allows_spaces true
  (or false) to your preferences file.
Index: status.13x
===================================================================
RCS file: /usr/local/lyx/cvsroot/lyx-devel/Attic/status.13x,v
retrieving revision 1.1.2.246
diff -u -p -r1.1.2.246 status.13x
--- status.13x	13 May 2005 13:12:18 -0000	1.1.2.246
+++ status.13x	17 May 2005 12:15:50 -0000
@@ -35,6 +35,12 @@ What's new
   level operation like selection by double-click or index entry
   defaults.
 
+- The converters defined in the lyxrc.defaults and preferences files
+  can now use a "$$s" placeholder to tell LyX to look for the
+  converter in its support directories. A typical example is:
+
+  \converter lyxpreview ppm "python $$s/scripts/lyxpreview2ppm.py" ""
+
 - The ``annote'' field of BibTeX entries is now shown in citation preview.
 
 - update the aastex textclass to AASTeX 5.2
@@ -87,16 +93,33 @@ What's new
 - remove detection of a PS interpreter in lib/configure, since we do
   not use it.
 
+- Fix crash when using math-mutate with invalid argument.
 
-* User Interface:
+- Remove from convertDefault.sh the test that "convert" really succeeded
+  as it reported failures on Windows that were actually successes.
+  See, eg, http://marc.theaimsgroup.com/?l=lyx-users&m=110561697803860&w=2
 
-- Fix crash when using math-mutate with invalid argument.
+- No longer quote the name of the external executable in lyxpreview2ppm.py.
+  Windows didn't like that.
+
+- Windows users are now able to define and use their own graphics converters
+  because the command is now quoted correctly.
+
+- Given a Windows-style path, don't forget to mangle the drive letter too when
+  generating a unique temporary file name.
+
+
+* User Interface:
 
 - Fix math fonts display in LyX/Mac.
 
 - Make LyX behave normally when a file has been open from the Explorer
   [Windows only].
 
+- LyX now passes all external scripts to the relevant interpretter explicitly.
+  This means that Windows can now run the script even when it doesn't have
+  a "recognized" file extension.
+
 - Fix font metrics problems with Qt/Win 3.2.1.
 
 - Fix bindings for depth-increment/decrement for LyX/Mac.
@@ -121,6 +144,12 @@ What's new
 - Enable the display of accented characters in the Help->About dialog.
 
 - Fix "longtable" user interface in the tabular dialog [bug 1061] [qt only]
+
+- Remove the "child process" dialog, with which a user could kill child
+  processes spawned by LyX. It was decided that this functionality belonged
+  best with the OS.
+
+- Post convertDefault.sh's error messages to STDERR.
 
 
 * Configuration/Installation:

Reply via email to