Get cygwin from one of the cygwin mirror sites e.g.: sunsite.auc.dk or ftp.sunet.se . Take from the latest directory. Alternatively you may borrow a CD containing the system from the teacher. If you have your PC on a fast net you can just download the setup.exe and execute it. Then it will download and install the complete system. Alternatively do as follows:
You must copy a part of the latest directory to a new directory on your system: the setup.exe file, the README file and all the subdirectories corresponding to the cygwin components you wish to install. As a minimum you must have gcc, binutils, make and cygwin. But you should also take gdb, bash, fileutils, findutils. (I installed it all). Next go to the main directory (where you have the setup.exe) and execute setup.exe. When asked, tell that the root directory should be .e.g. c:/cygwin and that you install from the directory (d). After installation you must edit the autoexec.bat file so c:\cygwin\bin is in the PATH (see below). You can now delete the downloaded files.
Get emacs 20.7 from one of the mirror-sites e.g. ftp://ftp.sunet.se/pub/os/Win32/ntEmacs/ . From latest get the file emacs-20.7-fullbin-i386.tar.gz and place it in the directory where the emacs directory should be (e.g. c:\util). Do not use a path with spaces. Now use the tar program from the cygwin system. For instance in a bash shell cd to the directory where you have emacs-20.7-fullbin-i386.tar.gz and execute the command
tar zxf emacs-20.7-fullbin-i386.tar.gz
The emacs directory is now created. Optionally change the name from emacs-20.7 to emacs and then put emacs/bin in the PATH as shown in the autoexec.bat file below. The emacs system is now ready.
The cygwin system (especially the bash shell) and emacs can have the default setup changed from autoexec.bat, and 2 unix dot-files: .bashrc and .emacs. Below is shown an extract from from my version of these files:
........ set HOME=c:\home
REM CYGWIN PATH=c:\cygwin\bin;%PATH% SET MAKE_MODE=UNIX REM emacs: set SHELL=c:\cygwin\bin\bash.exe PATH=%PATH%;c:\util\emacs\bin ......
PS1='\W $'
(standard-display-european nil) (transient-mark-mode nil) (show-paren-mode 1) ;; (set-default-font "-*-Courier New-normal-r-*-*-13-78-*-*-c-*-*-ansi-" ) (setq default-frame-alist '((top . 200) (left . 400) (width . 80) (height . 40) (cursors-color . "white") (foreground-color . "black") (background-color . "Aquamarine") (font . "-*-Courier New-normal-r-*-*-13-78-*-*-c-*-*-ansi-") )) (setq initial-frame-alist '((top . 10) (left . 30) (cursors-color . "black") (foreground-color . "Blue") (background-color . "Khaki") )) ;; ;;For use of Bash shell (defun my-shell-setup () "For bash (cygwin 18) under Emacs 20" (setq comint-scroll-show-maximum-output 'this) (setq comint-completion-addsuffix t) ;; (setq comint-process-echoes t) ;; reported that this is no longer needed (setq comint-eol-on-send t) (setq w32-quote-process-args ?\") (make-variable-buffer-local 'comint-completion-addsuffix)) (add-hook 'comint-output-filter-functions 'shell-strip-ctrl-m nil t) (setq shell-mode-hook 'my-shell-setup) (setq process-coding-system-alist (cons '("bash" . raw-text-unix) process-coding-system-alist))
;;
Hans Bruun ( hb@it.dtu.dk ) 20.12.00