autoexec.batfrom which to run
qpvars.batto set up environment variables. Instead you can use the
Systemcontrol panel to set up these environment variables. The following assumes Quintus is installed in the default location
"Quintus"to the environment variable
"C:\quintus"(without the quotes), prepend
"C:\quintus\lib\ix86;"to the environment variable
"C:\quintus\bin\ix86"to the environment variable
"Lib"does not previously exist then they should be set as above but without the semicolon.
"C:/quintus/bin/ix86/prolog.exe"to ensure the Emacs interface works correctly. (This is not set from
qpvars.batbut probably should be).
TMPDIRenvironment variable that does not contain backslash characters. TMPDIR should be the path to a directory where Quintus can write temporary files. It is also recommended that this is a short file name, that is, a file name that does not contain space characters.
On Windows 2000 you can give the command SET TEMP to obtain a suitable
directory. Note that you need to change any backward slashes
\to forward slashes
/. A typical value for a
user "joe" could be
When Quintus is run outside of Emacs and there is no
TMPDIR Quintus will use
C:/temp as a
fallback, which may not exist. This affects the
predicate among other things. For this reason it is recommended that
TMPDIR is set up as above even if Quintus is only used outside of
windows/emacs/latest/on any FSF mirror, see section "Where can I get precompiled versions?" in http://www.gnu.org/software/emacs/windows/ntemacs.html for details. An installer for XEmacs can be obtained from www.xemacs.org.
manual/1may not work correctly unless
TMPDIRis setup as described above.
prolog.exe) from a command prompt. This is not a problem if running
qpwin.exeor if running Quintus from within Emacs. The reason is that the command interpreter (
cmd.exe) uses a different code page than the system default. A symptom of this is that a character entered at the Quintus top-level gets a different numerical code than the same character read from a file. There is no work around at this time; the command
chcp(change codepage) does not seem to have the desired effect. This is a Windows problem, not a Quintus bug.
There are some problems on Windows when running Quintus (prolog.exe) from within Emacs.
The following assumes you start Quintus from withing Emacs using
M-x run-prolog or equivalent.
manual/1predicate will fail if called from within Emacs unless
TMPDIRis set as above. E.g., when doing
manual(d).Emacs will report that there is no information available. (Emacs will ensure that
TMPDIRis set and exists but it may contain backward slashes).
C-c C-c) does not always work reliably. The situation seems to have improved in later version of Emacs, e.g., Emacs 20.7.1.
At least in Emacs 20.7, it is possible to interrupt a running Quintus
C-c C-c (i.e.,
does not work in some earlier versions of Emacs (and also not in
XEmacs 21.4, which also has other problems with Quintus emacs code).
An attempt to interrupt Quintus while it is waiting for character input (either at a top-level prompt or as result of calling, e.g., read/1) will not interrupt Quintus. Furthermore, subsequent attempts to interrupt Quintus (even when not waiting for character input) will have no effect. After restarting prolog it will be interruptible again.
When building a self contained executable with
qld -S you
may need to pass some Windows libraries to the linker to
avoid "unresolved external symbol" errors. Something
qld -S -d -o foo.exe foo.qof -LD user32.lib gdi32.lib comdlg32.lib
Some tips for including prolog code in a Microsoft Visual Studio
project. You can browse the files
or download the zip archive