Mercurial > hg > xemacs-beta
view nt/PROBLEMS @ 1315:70921960b980
[xemacs-hg @ 2003-02-20 08:19:28 by ben]
check in makefile fixes et al
Makefile.in.in: Major surgery. Move all stuff related to building anything in the
src/ directory into src/. Simplify the dependencies -- everything
in src/ is dependent on the single entry `src' in MAKE_SUBDIRS.
Remove weirdo targets like `all-elc[s]', dump-elc[s], etc.
mule/mule-msw-init.el: Removed.
Delete this file.
mule/mule-win32-init.el: New file, with stuff from mule-msw-init.el -- not just for MS Windows
native, boys and girls!
bytecomp.el: Change code inserted to catch trying to load a Mule-only .elc
file in a non-Mule XEmacs. Formerly you got the rather cryptic
"The required feature `mule' cannot be provided". Now you get
"Loading this file requires Mule support".
finder.el: Remove dependency on which directory this function is invoked
from.
update-elc.el: Don't mess around with ../src/BYTECOMPILE_CHANGE. Now that
Makefile.in.in and xemacs.mak are in sync, both of them use
NEEDTODUMP and the other one isn't used.
dumped-lisp.el: Rewrite in terms of `list' and `nconc' instead of assemble-list, so
we can have arbitrary forms, not just `when-feature'.
very-early-lisp.el: Nuke this file.
finder-inf.el, packages.el, update-elc.el, update-elc-2.el, loadup.el, make-docfile.el: Eliminate references to very-early-lisp.
msw-glyphs.el: Comment clarification.
xemacs.mak: Add macros DO_TEMACS, DO_XEMACS, and a few others; this macro
section is now completely in sync with src/Makefile.in.in. Copy
check-features, load-shadows, and rebuilding finder-inf.el from
src/Makefile.in.in. The main build/dump/recompile process is now
synchronized with src/Makefile.in.in. Change `WARNING' to `NOTE'
and `error checking' to `error-checking' TO avoid tripping
faux warnings and errors in the VC++ IDE.
Makefile.in.in: Major surgery. Move all stuff related to building anything in the
src/ directory from top-level Makefile.in.in to here. Simplify
the dependencies. Rearrange into logical subsections.
Synchronize the main compile/dump/build-elcs section with
xemacs.mak, which is already clean and in good working order.
Remove weirdo targets like `all-elc[s]', dump-elc[s], etc. Add
additional levels of macros \(e.g. DO_TEMACS, DO_XEMACS,
TEMACS_BATCH, XEMACS_BATCH, XEMACS_BATCH_PACKAGES) to factor out
duplicated stuff. Clean up handling of "HEAP_IN_DATA" (Cygwin) so
it doesn't need to ignore the return value from dumping. Add
.NO_PARALLEL since various aspects of building and dumping must be
serialized but do not always have dependencies between them
(this is impossible in some cases). Everything related to src/
now gets built in one pass in this directory by just running
`make' (except the Makefiles themselves and config.h, paths.h,
Emacs.ad.h, and other generated .h files).
console.c: Update list of possibly valid console types.
emacs.c: Rationalize the specifying and handling of the type of the first
frame. This was originally prompted by a workspace in which I got
GTK to compile under C++ and in the process fixed it so it could
coexist with X in the same build -- hence, a combined
TTY/X/MS-Windows/GTK build is now possible under Cygwin. (However,
you can't simultaneously *display* more than one kind of device
connection -- but getting that to work is not that difficult.
Perhaps a project for a bored grad student. I (ben) would do it
but don't see the use.) To make sense of this, I added new
switches that can be used to specifically indicate the window
system: -x [aka --use-x], -tty \[aka --use-tty], -msw [aka
--use-ms-windows], -gtk [aka --use-gtk], and -gnome [aka
--use-gnome, same as --use-gtk]. -nw continues as an alias for
-tty. When none have been given, XEmacs checks for other
parameters implying particular device types (-t -> tty, -display
-> x [or should it have same treatment as DISPLAY below?]), and
has ad-hoc logic afterwards: if env var DISPLAY is set, use x (or
gtk? perhaps should check whether gnome is running), else MS
Windows if it exsits, else TTY if it exists, else stream, and you
must be running in batch mode. This also fixes an existing bug
whereby compiling with no x, no mswin, no tty, when running non-
interactively (e.g. to dump) I get "sorry, must have TTY support".
emacs.c: Turn on Vstack_trace_on_error so that errors are debuggable even
when occurring extremely early in reinitialization.
emacs.c: Try to make sure that the user can see message output under
Windows (i.e. it doesn't just disappear right away) regardless of
when it occurs, e.g. in the middle of creating the first frame.
emacs.c: Define new function `emacs-run-status', indicating whether XEmacs
is noninteractive or interactive, whether raw,
post-dump/pdump-load or run-temacs, whether we are dumping,
whether pdump is in effect.
event-stream.c: It's "mommas are fat", not "momas are fat".
Fix other typo.
event-stream.c: Conditionalize in_menu_callback check on HAVE_MENUBARS,
because it won't exist on w/o menubar support,
lisp.h: More hackery on RETURN_NOT_REACHED. Cygwin v3.2 DOES complain here
if RETURN_NOT_REACHED() is blank, as it is for GCC 2.5+. So make it
blank only for GCC 2.5 through 2.999999999999999.
Declare Vstack_trace_on_error.
profile.c: Need to include "profile.h" to fix warnings.
sheap.c: Don't fatal() when need to rerun Make, just stderr_out() and exit(0).
That way we can distinguish between a dumping failing expectedly
(due to lack of stack space, triggering another dump) and unexpectedly,
in which case, we want to stop building. (or go on, if -K is given)
syntax.c, syntax.h: Use ints where they belong, and enum syntaxcode's where they belong,
and fix warnings thereby.
syntax.h: Fix crash caused by an edge condition in the syntax-cache macros.
text.h: Spacing fixes.
xmotif.h: New file, to get around shadowing warnings.
EmacsManager.c, event-Xt.c, glyphs-x.c, gui-x.c, input-method-motif.c, xmmanagerp.h, xmprimitivep.h: Include xmotif.h.
alloc.c: Conditionalize in_malloc on ERROR_CHECK_MALLOC.
config.h.in, file-coding.h, fileio.c, getloadavg.c, select-x.c, signal.c, sysdep.c, sysfile.h, systime.h, text.c, unicode.c: Eliminate HAVE_WIN32_CODING_SYSTEMS, use WIN32_ANY instead.
Replace defined (WIN32_NATIVE) || defined (CYGWIN) with WIN32_ANY.
lisp.h: More futile attempts to walk and chew gum at the same time when
dealing with subr's that don't return.
author | ben |
---|---|
date | Thu, 20 Feb 2003 08:19:44 +0000 |
parents | abe6d1db359e |
children |
line wrap: on
line source
-*- mode:outline -*- This file describes various problems that have been encountered in running XEmacs on Windows 95, 98 and NT. It has been updated for XEmacs 21.0. This is the first release of XEmacs on Windows. In testing it has proved to be extremely stable in general use (but see the gnus and subprocess problems below), but not all features or packages work correctly yet. Use `C-c C-f' to move to the next equal level of outline, and `C-c C-b' to move to previous equal level. `C-h m' will give more info about the Outline mode. Also, Try finding the things you need using one of the search commands XEmacs provides (e.g. `C-s'). General advice: Remember your .emacs file! ~\.emacs is your Emacs init file. If you observe strange problems, invoke XEmacs with the `-q' option and see if you can repeat the problem. * Problems with running XEmacs ============================== ** Conflicts with FSF NTEmacs Depending on how it is installed, FSF NTEmacs may setup various EMACS* variables in your environment. The presence of these variables may cause XEmacs to fail at startup, cause you to see corrupted doc-strings, or cause other random problems. You should remove these variables from your environment. These variables are not required to run FSF NTEmacs if you start it by running emacs.bat. ** XEmacs can't find my .emacs file XEmacs looks for your .emacs in your "home" directory. XEmacs decides that your "home" directory is, in order of preference: - The value of the HOME environment variable, if the variable exists. - The value of the HOMEDRIVE and HOMEPATH environment variables, if these variables both exist. - The directory that XEmacs was started from. ** XEmacs can't find any packages XEmacs looks for your packages in subdirectories of a directory which is set at compile-time, and defaults to C:\Program Files\XEmacs. The variable configure-package-path holds the actual path that was compiled into your copy of XEmacs. The compile-time default location can be overridden by the EMACSPACKAGEPATH environment variable or by the SOFTWARE\GNU\XEmacs\EMACSPACKAGEPATH registry entry. You should check that these variables, if they exist, point to the actual location of your package tree. ** XEmacs sometimes crashes when using gnus This is a known bug in this release of XEmacs on Windows. If you want to use gnus anyway, you should minimize any possible data loss by saving any modified buffers before you start and ensuring that you haven't set gnus-use-dribble-file to nil or disabled the normal XEmacs auto-save mechanism. ** XEmacs doesn't die when shutting down Windows 95 or 98 When shutting down Windows 95 or 98 you may see a dialog that says "xemacs / You must quit this program before you quit Windows". It is safe to "Click OK to quit the program and Windows", but you won't be offered a chance to save any modified XEmacs buffers. * Look and feel =============== ** Key bindings The C-z, C-x, C-c, and C-v keystrokes have traditional uses in both emacs and Windows programs. XEmacs binds these keys to their traditional emacs uses, and provides Windows 3.x style bindings for the Cut, Copy and Paste functions. Function XEmacs binding -------- -------------- Undo C-_ Cut Sh-Del Copy C-Insert Paste Sh-Insert You can rebind keys to make XEmacs more Windows-compatible; for example, to bind C-z to undo: (global-set-key [(control z)] 'undo) Rebindind C-x and C-c is trickier because by default these are prefix keys in XEmacs. See the "Key Bindings" node in the XEmacs manual. ** Behavior of selected regions Selected regions behave differently in XEmacs from typical Windows programs. The pc-select package provides various functions to enable the standard Windows behavior for selected regions (eg mark via shift-arrow, self-inserting deletes region, etc). ** Limitations on the use of the AltGr key. In some locale and OS combinations you can't generate M-AltGr-key or C-M-AltGr-key sequences at all. To generate C-AltGr-key or C-M-AltGr-key sequences you must use the right-hand Control key and you must press it *after* AltGr. These limitations arise from fundamental problems in the way that the win32 API reports AltGr key events. There isn't anything that XEmacs can do to work round these problems that it isn't already doing. You may want to create alternative bindings if any of the standard XEmacs bindings require you to use some combination of Control or Meta and AltGr. * Features not fully supported in this release ============================================== ** Limited support for subprocesses Attempting to use call-process to run a 16bit program gives a "Spawning child process: Exec format error". For example shell-command fails under Windows 95 and 98 if you use command.com or any other 16bit program as your shell. XEmacs may incorrectly quote your call-process command if it contains double quotes, backslashes or spaces. start-process and functions that rely on it are supported under Windows 95, 98 and NT. However, starting a 16bit program that requires keyboard input may cause XEmacs to hang or crash under Windows 95 and 98, and will leave the orphaned 16bit program consuming all available CPU time. Sending signals to subprocesses started by call-process or by start-process fails with a "Cannot send signal to process" error under Windows 95 and 98. As a side effect of this, quitting XEmacs while it is still running subprocesses causes it to crash under Windows 95 and 98. ** Changing fonts from the Options menu The "Font" and "Size" entries on the Options menu don't work yet. This will be fixed in a future release. In the meantime, you can either change face fonts with customize or manually; for example: (set-face-font 'default "Lucida Console:Regular:10::Western") (set-face-font 'modeline "MS Sans Serif:Regular:10::Western") Font weight and style and character set must be supplied in English as above. Common weights and styles are "Regular", "Regular Italic", "Bold" and "Bold Italic". Common character sets are "Western", "Central European" and "OEM/DOS". Windows 95 only comes with one fixed-width font that is suitable for use by XEmacs, namely "Courier New". ** No MULE support This release of XEmacs on Windows does not contain MULE support. MULE support has not been a priority for the XEmacs on Windows developers. ** Printing This release of XEmacs on Windows does not support printing natively. You can use the lpr-command and lpr-switches variables to specify an external print program.