Date: Tue, 10 Dec 1996 21:55:51 GMT Server: NCSA/1.4.2 Content-type: text/html Last-modified: Thu, 05 Dec 1996 07:12:28 GMT Content-length: 88963
Emacs won't start anymore? See troubleshooting below.
More from Eli:
It might be of interest to Windows users that this version of Emacs supports long filenames (Windows 95 only) and the Windows clipboard (all versions of MS-Windows). It also supports multiple frames, but they all overlap, like when Emacs runs on a ``glass teletype'' terminal.People who would like to run Emacs on plain DOS (as opposed to Windows) will need to download and install a DPMI host at this URL:
ftp://ftp.simtel.net/pub/simtelnet/gnu/djgpp/v2misc/csdpmi3b.zip
In the same directory you should also find patch files that enable you to upgrade source distributions to the latest version. These patch files are mirrors of the ones on the FSF server at ftp://ftp.gnu.ai.mit.edu/pub/gnu.
Links to precompiled versions:
Mirror sites with precompiled versions:
% gunzip -c -d emacs.tar.gz | tar xvfm -The "-d" flag forces gunzip to decompress (its behavior depends upon the name of the executable, and sometimes it doesn't recognize that it is really gunzip), and the "-c" flag tells it to pipe its output to stdout. Similarly, the "-" flag to tar tells it to read the tar file from stdin. Unpacking the distribution this way leaves the distribution in compressed form so it takes up less space.
If for some reason you also want to have the tar file gunzipped, then invoke gunzip without the -c option:
% gunzip -d emacs.tar.gzIf you have the zip version, use unzip with the "-x" flag on all of the .zip files (note that you cannot use pkunzip on these files, as pkunzip will not preserve the long filenames):
% unzip -x emacs-_1.zip % (repeat for the remaining .zip files)You can find precompiled versions of all of the compression and archive utilities in ftp.cs.washington.edu/pub/ntemacs/utilities.
WARNING: Some utilities that handle tar files can incorrectly untar the distributions when using the default settings. If you encounter problems with Emacs, see the section below on troubleshooting these problems.
Download and place the source distribution in a directory (say, c:\emacs). Unpack the distribution, and go to the nt subdirectory of the emacs directory that gets created in the unpacking process. Read the README and INSTALL files included with the distribution for the full details of this process.
Below are known problems with various combinations of Emacs versions and compiler versions. The problems are being addressed in later versions, and are included here so that you know to expect them and how to work around them:
win32.mak: For some reason, the MSVC 2.2 installation process does not install win32.mak, which is included by the file ntwin32.mak. You'll have to copy over the win32.mak file into the MSVC include directory before the Emacs makefiles will work.PROCESSOR_* macros: Although the PROCESSOR_* macros are defined in the manual, MSVC 2.2 no longer defines the full set of PROCESSOR_* macros in winnt.h. You'll have to comment the macros out in nt\nt.c to get nt.c to compile.
Let's assume that the directory in which you have unpacked Emacs is c:\emacs (note that it can be anything you want it to be; I just want to be able to refer to something concrete at this point). First, you will want to run the program bin\addpm.exe with the Emacs directory as an argument. In this example you would invoke it as:
c:\emacs\bin\addpm.exe c:\emacsInvoking addpm.exe will do two things. First, it will create a set of registry keys that tell Emacs where to find its support files (lisp, info, etc.). Second, it will create a folder containing an icon linked to runemacs.exe (a wrapper program for invoking Emacs).
Now, to run Emacs, simply click on the icon in the newly created folder or invoke runemacs.exe from a command prompt.
Alternate method:
Another alternative for running Emacs is to use the emacs.bat batch file in the bin directory (this is now the old method of invoking Emacs). Edit the emacs.bat file to change the emacs_dir environment variable to point to the Emacs installation directory and invoke the emacs.bat file to run Emacs. (If you use bash as your shell, you can use an equivalent bash script to emacs.bat.)
Note that, on Win95, you are likely to get "Out of environment space" messages when invoking the emacs.bat batch file. The problem is that the console process in which the script is executed runs out of memory in which to set the Emacs environment variables. To get around this problem, create a shortcut icon to the emacs.bat script. Then right click on the icon and select Properties. In the dialog box that pops up, select the Memory tab and then change the Environment memory allocation from "Auto" to "1024". Close the dialog box and then double click on the icon to start Emacs.
The INSTALL_DIR macro in the nt\makefile.def makefile determines where Emacs will get installed from the source distribution. If you want to install Emacs in the same directory as the source tree (say, c:\src\emacs), then simply set INSTALL_DIR appropriately:
INSTALL_DIR = c:\src\emacsIf you want to install Emacs in a different directory (say, c:\emacs), then set INSTALL_DIR to this directory:
INSTALL_DIR = c:\emacsAs compared with the installation process for the precompiled version, the installation process will automatically create a bin\emacs.bat file in the installation tree with the emacs_dir variable set appropriately.
If you feel certain that you have unpacked the distribution correctly, then you should check to make sure that the emacs_dir variable in the emacs.bat file is set correctly. If it is and you are still having trouble, make sure that it is an absolute path that includes the drive letter (or is in UNC format).
If it is still not working, send me mail or send mail to the list.
If you have HeapAgent, then you can work around the problem in two ways. You can download the source and recompile, as described below. Or, you can use editbin to change the base address at which the haloader.dll dll will be loaded (this is the dll that gets loaded into every application's address space on startup):
Otherwise, the only other workaround is to recompile Emacs on your machine so that Emacs creates and initializes its heap at a virtual address that does not conflict with software such as HeapAgent. To do this, you will need to download the source, #define the macro NTHEAP_PROBE_BASE inside the procedure src\ntheap.c:allocate_heap(), and rebuild.editbin /rebase:base=0x20000000 haloader.dll
The reason for this is that Emacs now has networking support built in. When Emacs starts, the winsock DLL automatically gets loaded and tries to resolve the fully qualified domain name for your machine under the name "localhost". If the system doesn't have this name mapped, it will try to query a nameserver on the internet, which is typically some host within your ISP and subsequently prompts to connect to your dialup service so that it can ask a name server for the domain name of your machine. As you know, this is very unfortunate, and was not anticipated when the networking support was added.
This problem will be fixed when 19.32 comes out, but you can work around the problem by giving the dialup support another method for figuring out the domain name of your machine. To do this, you need to edit the hosts file for your system (located in %windir%\hosts on Win95 and %windir%\system32\drivers\etc\hosts on NT) so that localhost becomes an alias for your machine name. If your system doesn't have a hosts file yet, you can easily create one by copying the sample hosts file in the same directory, hosts.sam.
For example, if my machine were named banana-fish.cs.washington.edu, then I would edit the hosts file from:
to127.0.0.1 localhost
The hostname should be the value of invoking (system-name) in the Emacs *scratch* buffer, i.e., the fully qualified domain name for your system. Note that you may also have to tell the system to look in the hosts file as well as using DNS.127.0.0.1 banana-fish.cs.washington.edu localhost
If this doesn't work for you, there are some other options (I have not tried these):
For networking support, you can use the external nttcp.exe program. Download nttcp.exe and place it in your Emacs bin directory. Also download this version of tcp.el, byte-compile it, and place it in your lisp directory. Then add the following to your .emacs:
(load-library "tcp") (setq tcp-program-name "nttcp")
emacs -g 80x40Note that the geometry command can be combined with the position command, as described below.
(set-frame-height (selected-frame) 40)
(set-frame-width (selected-frame) 80)
emacs -g +10+30To combine the size with position, first specify the size and then the position. The two examples above can be combined as follows:
emacs -g 80x40+10+30Note that you can also specify position offsets from any of the corners of the screen. See the GEOMETRY SPECIFICATIONS section of the X man page for complete details on the geometry command.
(set-frame-position (selected-frame) 10 30)
Fonts in Emacs are named using the standard X Windows format for fonts. These font names are the names that can be used as arguments on the command line or in lisp functions. To see the font name corresponding to a font chosen using the font selection dialog, execute the following elisp code in the *scratch* buffer:
(insert (prin1-to-string (win32-select-font)))To see the complete list of fonts that Emacs has access to, execute the following elisp code in the *scratch* buffer:
(insert (prin1-to-string (x-list-fonts "*")))For complete details on X Windows font names, see the FONT NAMES section of the X man page.
The font support currently is a little rough around the edges. In particular, italic fonts give Emacs some problems; see below for more info about using italic fonts. Generally it performs as expected, but occasionally you might get unexpected results (e.g., Emacs didn't quite use the font you told it to use). Work is underway to fix these problems, but for now I suggest experimenting if you encounter problems.
Also, X Windows has the luxury of a set of font aliases (such as fixed) that are convenient names for referring to specific fonts. Work is underway to provide an equivalent alias mechanism under Win32 so that naming fonts does not have to be as cumbersome as it currently is.
emacs -font "-*-Courier-normal-r-*-*-13-97-*-*-c-*-*-ansi-"
To set the font of a particular face, use the set-face-font function.(set-default-font "-*-Courier-normal-r-*-*-13-97-*-*-c-*-*-ansi-")
Value Name: Emacs.FontSince the font strings are rather cumbersome, I would suggest cutting the font string into the kill-ring (which will place it in the clipboard, too) and pasting it (Ctrl-V) into the regedit dialog. (Note that you shouldn't place quotes around the font string in the registry.)
Value Type: REG_SZ
String: -*-Courier-normal-r-*-*-13-97-*-*-c-*-*-ansi-
If you have Emacs frames with specific names, you can also specify a font for that frame. For the Value Name of the entry, use the name of the frame instead of Emacs (e.g., RMAIL.Font for your RMAIL frame).
As with other windowing attributes, Emacs uses the X Windows color names for specifying colors on the command line and in elisp. One set of these names is a set of abstract color names, e.g., red, green, and blue. These names are the ones you will typically use as arguments on the command line or in elisp functions. Emacs also supports the use of numeric color names; see the COLOR NAMES section of the X man page for complete details on how to specify numeric color names and their color spaces.
To see the abstract color names that Emacs understands and the colors that they map to, use the menu command Edit->Text Properties->Display Colors, or invoke the list-colors-display function in the *scratch* buffer:
(list-colors-display)If you would like to change the mapping of color names to RGB values, or to add new color names to Emacs, then you will want to modify the alist win32-color-map. To make changes, you can simply cons new mappings onto the head of the alist:
(setq win32-color-map (cons '("snow" . 16448255) win32-color-map))The number in the element is the logical OR of three values for the red, green, and blue components: (B << 16 | G << 8 | R). In the example above, red is 255, green is 250, and blue is 250. At some point there will be support for reading in files with color mappings to make this process a little easier.
emacs -fg yellow -bg black
The following elisp changes the background color to black:
(set-background-color "black")The following elisp changes the mode line foreground to firebrick:
(set-face-foreground 'modeline "firebrick")The following elisp changes the cursor color to purple:
(set-cursor-color "purple")
Emacs uses two alists to determine the default appearances of frames, default-frame-alist and initial-frame-alist. The default-frame-alist variable sets the basic defaults of all frames. Since it is a common Emacs usage to have the initial frame have slightly different properties than other frames (e.g., its position), you can use the initial-frame-alist variable to override properties in default-frame-alist specially for the initial frame. You should definitely read the help text for these variables (C-h v) for more details on the differences between the two variables and how they interact with each other.
Below is an example of using default-frame-alist and initial-frame-alist to configure the appearances of the initial frame and all other frames (you would place this code in your startup file). With default-frame-alist, we set the top left corner of new frames to be at pixel offset +200+400, the width and height to be 80x40, the cursor to be white, the foreground to be yellow, the background to be black, and the font to be Courier 10. With initial-frame-alist, we override the top left corner of the initial frame to be at pixel offset +10+30, and inherit the remaining properties for the initial frame from default-frame-alist.
(setq default-frame-alist '((top . 200) (left . 400) (width . 80) (height . 40) (cursor-color . "white") (foreground-color . "yellow") (background-color . "black") (font . "-*-Courier-normal-r-*-*-13-97-*-*-c-*-*-ansi-"))) (setq initial-frame-alist '((top . 10) (left . 30)))
Emacs currently requires that italic versions of fonts have the same width as the normal version of the font. However, most of the default fonts have italic and italic bold versions whose character widths are larger than the normal version (the only default font that appears to have viable italic and bold versions is Courier New). Because of this, Emacs by default disables the use of italic faces.
You can still enable the use of italic faces with Emacs by setting the variable win32-enable-italics to t in your startup file:
Although this works best with Courier New, there is still one minor glitch: the italics versions are one pixel higher than the other versions, so the line spacing is increased by a pixel when italics are enabled.(setq win32-enable-italics t) ; This must be done before font settings! (set-face-font 'italic "-*-Courier New-normal-i-*-*-11-82-c-*-*-ansi-") (set-face-font 'bold-italic "-*-Courier New-bold-i-*-*-11-82-c-*-*-ansi-")
Under NT, go to the upper left hand corner and open the "-" menu of the console window. Select "Screen Size and Position...", and use the dialog to set the window to the size you want. Be sure to check the "Save Window Size and Position" checkbox so that future invocations will retain the new window size. After closing the dialog box, resize the window itself by dragging on the edges.
Under Win95, click on the properties icon in the icon toolbar at the top of the window. Go to the "Screen" tab and select the desired window size in the "Usage" panel. Click on "OK".
To reposition Emacs, click on the title bar of the console window and drag it.
Under NT, open the "-" menu. Select "Fonts...", and use the dialog to set the window font to the one you want. Be sure to check the "Save Configuration" checkbox so that your font change will be used in future invocations. Click on "OK", and the window will get resized.
. Under Win95, simply use the popup font menu in the upper left-hand corner of the window. Or click on the font icon in the icon toolbar. Or click on the properties icon in the icon toolbar and go to the "Font" tab and choose the font that you want to use.
Under the NT interface, open the "-" menu. Select "Screen Colors...", and use the dialog to choose the colors you want to use for the window. Be sure to check the "Save Configuration" checkbox so that the colors are used in future invocations. Click on "OK". Unfortunately, the colors are not immediately used, but the changes have been made. To use the new colors, simply close the window and use the icon to start Emacs again. Emacs will then come up using the colors you chose before.
I'm not exactly sure how to change the colors on a per-console-window basis under Win95.
Your home directory is where the HOME configuration variable tells Emacs it is. As with the other Emacs configuration variables, HOME can be set in a number of ways:
The directory specified by HOME is also the directory substituted for tildes (~) in file names (so, by definition, your startup file will be in the directory "~\").
WARNING: If you use a new keyboard layout to switch CapsLock and Control, beware of the option to use hotkey sequences to switch keyboard layouts. This option is in Control Panel->Keyboard under the Language (Win95) or Input Locales (NT) tabs; the sequences themselves are "Left Alt+Control" and "Ctrl+Shift". If you enable one of these options, then you will likely at some point switch keyboard layouts while trying to use an Emacs key combination.
NT 4.0: For NT 4.0, check out swapcapslock.zip.
NT 3.5, 3.51: James Kittock has provided a program for NT that installs a new keyboard layout with the two keys swapped. Once installed, you can then select it using the "International" control panel applet.
Win95: Microsoft has placed a keyboard remapping program for Win95 on their ftp site. For more info, take a look at their Kernel Toys page.
Mark Russinovich has also written a freeware VxD that swaps CapsLock and Control under Windows 95. (I've been told that you might have to hit the real Control key once after installing the VxD to jumpstart the mapping.)
Although it may at first seem like the shell is buffering the output from the program, it is actually the program that is buffering output. The C runtime typically decides how to buffer output based upon whether stdout is bound to a handle to a console window or not. If bound to a console window, output is buffered line by line; if bound to a block device, such as a file, output is buffered block by block.
In a shell buffer, stdout is a pipe handle and so is buffered in blocks. If you would like the buffering behavior of your program to behave differently, the program itself is going to have to be changed; you can use setbuf and setvbuf to manipulate the buffering semantics.
Andrew Innes is working on removing this limitation. If all goes well, it should be available in 19.35.
If you would like to specify a different shell for Emacs to use, then you should do one of two things. You should either explicitly set the environment variable SHELL to be the shell you want to use, or, if you want to have the COMSPEC environment variable determine the shell, then you need to install Emacs using the addpm.exe program and ensure that the SHELL environment variable is not defined when you start up Emacs.
To prevent echoed commands from being printed, you can place the following in your startup file:
If shell-mode still is not stripping echoed commands, then you'll have to explicitly tell the shell to not echo commands. You can do this by setting the explicit-SHELL-args variable appropriately, where SHELL is the value of your shell environment variable (do a "M-: (getenv "SHELL")" to see what it is currently set to). Assuming that you are on NT and that your SHELL environment variable is set to cmd.exe, then placing the following in your startup file will tell cmd.exe to not echo commands:(setq comint-process-echoes t)
The comint package will use the value of this variable as an argument to cmd.exe every time it starts up a new shell (as in shell-mode); the /q is the argument to cmd.exe that stops the echoing (in a shell, invoking "cmd /?" will show you all of the command line arguments to cmd.exe).(setq explicit-cmd.exe-args '("/q"))
Note that this variable is case sensitive; if the value of your SHELL environment variable is CMD.EXE instead, then this variable needs to be named explicit-CMD.EXE-args instead.
Multiple lines for each shell are given since variable names are case sensitive and shell names can be any case (so this only handles the most common situations). If you have an entirely different shell that also complains about being given the "-i" switch, you can initialize a similarly named variable to prevent the "-i" switch from being sent to the shell.(setq explicit-command.com-args nil) (setq explicit-COMMAND.COM-args nil) (setq explicit-cmd.exe-args nil) (setq explicit-CMD.EXE-args nil)
Note that, if you would like to always pass arguments to an interactive shell when it starts up, you would change the nil value in the appropriate assignment above to the list of arguments you would like to use with your shell. For example, if you would like to invoke command.com and tell it which directory its executable resides, you could place something like the following in your startup file:
;; Determine the directory containing the shell program, explicitly making ;; certain that the directory separator is a backslash when doing so. (let ((directory-sep-char ?\\)) (setq shell-directory (file-name-directory (getenv "SHELL")))) (setq explicit-command.com-args (list shell-directory)) (setq explicit-COMMAND.COM-args (list shell-directory))
The fix for this is to either prevent any arguments from being sent to the shell when it starts up (in which case command.com will use a default, and correct, value for COMSPEC), or to have the first argument be the directory in which the shell executable resides. Examples of how to do both of these are in shown in the previous subsection.
I've only tested the outgoing and incoming RMAIL setups. If you find that the suggested code for any of the other incoming mail configurations is inaccurate, please let me know.
(setq user-full-name "Your full name") (setq user-mail-address "Your email address") (setq smtpmail-default-smtp-server "Domain name of machine with SMTP server") (setq smtpmail-local-domain nil) (setq send-mail-function 'smtpmail-send-it) (load-library "smtpmail")
Note that you will need to customize the Domain name of machine with POP3 server and Your login fields to be the name of your POP server and your login name.(setenv "MAILHOST" "Domain name of machine with POP3 server") (setq rmail-primary-inbox-list '("po:Your login") rmail-pop-password-required t)
Note that you will need to customize the POP3 server and POP user name fields to be your login name and the name of your POP server. You will also probably want to customize the name of your inbox and crash files (~/INBOX and ~/INBOX.CRASH in the example above.)(setq vm-spool-files (list (list "~/INBOX" "POP3 server:110:pass:POP user name:*" "~/INBOX.CRASH")))
Be sure to customize the POP user name field appropriately.;; For sending mail (setq message-send-mail-function 'smtpmail-send-it) ;; For reading mail (other backends can be substituted for nnml) (setq gnus-secondary-select-methods '((nnml ""))) (setq nnmail-spool-file "po:POP user name") (setq nnmail-pop-password-required t)
Chris Szurgot <szurgot@itribe.net> has been working on both of these problems. He has a version of ftp that solves the password problem, and a version of ange-ftp that deals with the incompatibilities. You can find both on his ftp server:
Place the ftp.exe executable in a directory where you keep your local executables, and the ange-ftp.el file in whatever directory you keep custom and personalized elisp files (you will probably also want to byte-compile ange-ftp.el, too). Then be sure that the exec-path variable is set so that, when Emacs runs the ftp.exe program, it runs the one you downloaded (and not the default one). Likewise, be sure to set load-path so that, when ange-ftp is invoked, the ange-ftp.el file you downloaded gets loaded instead of the default one. As an example, assuming that you placed ftp.exe in, say, %HOME%\bin and ange-ftp.el in %HOME%\elisp, you could set exec-path and load-path as follows in your startup file:
As another alternative, you can tell ange-ftp exactly which ftp program to use by customizing ange-ftp-ftp-program-name, e.g.:(setq exec-path (cons (expand-file-name "~/bin") exec-path)) (setq load-path (cons (expand-file-name "~/elisp") load-path))
With this method you don't have to worry about the wrong ftp program being picked up through exec-path.(setq ange-ftp-ftp-program-name "c:/bin/ftp.exe")
You will also want to customize the temporary directory that ange-ftp uses to cache files:
Note that this particular ftp client was ported pretty much only for use with Emacs; if you're looking for a snazzier ftp client for more general use, you might want to look at the ncftp client on Chris's ftp server.(setq ange-ftp-tmp-name-template (concat (expand-file-name (getenv "TEMP")) "/ange-ftp")) (setq ange-ftp-gateway-tmp-name-template (concat (expand-file-name (getenv "TEMP")) "/ange-ftp"))
To get telnet working with Emacs, I see two possibilities. One is to implement a version of telnet.el that talks the telnet protocol directly (c.f. the gnus implementation), skipping the telnet program altogether. The other possibility is to implement a console version of telnet. Chris Szurgot <szurgot@itribe.net> has a console app telnet on his ftp server (see ftp://ftp.itribe.net/pub/virtunix/telc10a.zip), but it unfortunately uses direct console input and output. This version can be hacked to use stdin and stdout, and then could be used as an Emacs subprocess.
This package will allow you to transparently visit `.Z', `.gz', `.tar', `.tar.gz' and DOS files. (However, on occasion, certain `.tar.gz' files lock up emacs...don't know why, but killing `gzip' frees up emacs again.)Download this version of crypt++.el and place it somewhere in your load path. You'll also need the compression/uncompression utilities (look in ftp.cs.washington.edu/pub/ntemacs/utilities) in your exec path.
Then add the following commands to your startup file:
This works with the default browser on your system, whether it's IE or something else. However, you must have IE3 installed on your system for it to work with other browsers as the dll that makes this all work, WININET.DLL, only gets installed when IE3 is installed.(defvar shell-execute-helper "shelex.exe") (defun shell-execute-url (url &optional new-window) "Invoke the shell-execute-helper program to call ShellExecute and launch or re-direct a web browser on the specified url." (interactive "sURL: ") (call-process shell-execute-helper nil nil nil url)) (setq browse-url-browser-function 'shell-execute-url) (setq gnus-button-url 'shell-execute-url) ; GNUS (setq vm-url-browser 'shell-execute-url) ; VM
Three variables control mouse button emulation under Emacs: win32-num-mouse-buttons, win32-mouse-button-tolerance, and win32-swap-mouse-buttons. If you use help on win32-num-mouse-buttons (i.e., with "C-h v"), it will tell you how many buttons Emacs thinks your mouse has; if win32-num-mouse-buttons is less than 3, then Emacs will emulate the middle mouse button.
Emacs emulates the middle mouse button by treating simultaneous button presses of the left and right buttons as a middle button press. Since presses both buttons cannot really be simultaneous, Emacs compares button presses within a specified window of time to determine whether it should emulate the middle button. This window of time is controlled using win32-mouse-button-tolerance. Help on this variable will show you the value Emacs uses by default, and you can change this value to suit your needs.
Depending upon the type of two-button mouse, you may find it useful to swap the mapping of middle and right mouse buttons. By default, the middle button is mapped to mouse-2 and the right button is mapped to mouse-3. If you set win32-swap-mouse-buttons to a non-nil value, then you can swap these two mappings.
Some people find that they have a three button mouse, but the middle mouse button does not work for them. First check to see if win32-num-mouse-buttons is set correctly. If so, then check to see whether your mouse has been installed with the proper driver (open Control Panel->Mouse to examine the driver being used). If nothing seems to be amiss, then at the very least you can have Emacs emulate the middle button by setting win32-num-mouse-buttons to 2.
(transient-mark-mode t)
Look up help for the function for a complete description of how to use the function and which sounds it recognizes.(set-message-beep 'ok)
(standard-display-european t)To input 8-bit characters, you may also need to adjust the input mode (from Johan Myreen (jem@vistacom.fi)):
(set-input-mode (car (current-input-mode)) (nth 1 (current-input-mode)) 0)
Jeff Paquette <paquette@ici.net> has a version of pr for use with Emacs, and instructions on how to set it up.
Vassil Peytchev <vassil@msn.fullfeed.com> has an example of how to use ghostscript to print to non-postscript printers.
Nico's distribution is in:
Comments from Nico:
I've made some small modifications and now there's a gnuclientw.exe included which is compiled as a Windows program (it will also force the -q flag on so it doesn't hang around for nothing).Ideal to be used for file associations. Also rather cool to put a shortcut to gnuclientw.exe on your desktop and have the ability to drag-n-drop files into Emacs.
(using-unix-filesystems t)in your startup file. Note, though, that this has Emacs treat all files as if they were on a UNIX filesystem, which can be very limiting.
A future replacement for using-unix-filesystems are the functions at the end of untranslate.el. These functions enable you to turn on and off translation on an individual filesystem basis. If you want to use these functions, download and place untranslate.el in your load-path and have it loaded from your startup file. Then you can place calls to add-untranslated-filesystem to selectively access filesystems in binary mode.
Here is a simple mode for editing programs written in The World's Most Sucessful Programming Language. It features indentation, font locking, keyword capitalization, and some other convenience functions.
(Executables provided by Peter Breton <pbreton@dirac.i-kinetics.com>. I don't have any source.)
Note that to use RCS you will also need a copy of gnu diff.
Brian Tibbetts <tibbetts@cat.rpi.edu> has also done some work on making ispell more Win32 friendly. Check out his page at http://cat.rpi.edu/~tibbetts/ispell_toc.html (his latest update on 10/16/96).
In time I will grow this list to be a more comprehensive list of bugs.
(global-set-key [delete] "\C-d")
(global-set-key [M-delete] "\M-d")
(global-set-key [M-backspace] [?\M-\177])
(setq backup-by-copying t)(Note that this workaround only works for autosave files, though.)
To get around this problem, create a shortcut icon to the emacs.bat script. Then right click on the icon and select Properties. In the dialog box that pops up, select the Memory tab and then change the Environment memory allocation from Auto to 1024. Close the dialog box and then double click on the icon to start Emacs.
An older set of the GNU tools that I have seen offered on ftp sites for NT and Win95 have been based on the Congruent tools (I have heard mixed reviews of these ports, so use with your own discretion). An ftp site that seems to offer the full set of these tools is ftp.cc.utexas.edu/microlib/nt/gnu.
Microsoft also has a collection of tools for use with NT, including Unix tools such as cron, ps, kill, and nice, as well as a number of NT specific tools. A list of these tools is at http://www.microsoft.com/ntserver/tools/Maintnce.htm.
If you're a perl user, then you probably want the port of perl to Win32. Check out HIP Communication's port of perl 5 for Win32.
David Wihl is maintaining a FAQ about porting Unix applications to NT. It can be found at http://www.shore.net/~wihl/unix2nt.html.
Chris Szurgot is also collecting and implementing Unix style tools for Windows 95 (and presumably NT). See http://www.itribe.net/virtunix.
Jeff Paquette <paquette@ici.net> has a collection of the GNU text utilities for Win32. See http://www.tiac.net/users/paquette/WinProgramming.html.
To unsubscribe from the list, send a message to ntemacs-users-request@cs.washington.edu with the word "unsubscribe" in the body of the message. Please do not send the unsubscribe message to the list itself, but to the request alias instead. Sending the message to the list does not unsubscribe you from it, and it tends to be annoying to people on the list.
If you are trying to unsubscribe from the list but are encountering problems, send me mail directly and I will manually remove you from the list. Again, do not send mail to the list complaining that you cannot unsubscribe from it.
From the list's "info" message:
The list ntemacs-users@cs.washington.edu is a forum for discussion related to using GNU Emacs on Windows NT and Windows 95. Please feel free to ask and/or answer any questions related to Emacs on NT or Win95 as you see fit, although I ask that questions regarding general use of Emacs be directed to the Emacs Info files and the general Emacs news groups, such as comp.emacs and gnu.emacs.help.I will also be sending announcements about new releases and bug fixes to this list. These announcements should be relatively infrequent, however.