Path: utzoo!utgpu!news-server.csri.toronto.edu!bonnie.concordia.ca!uunet!samsung!usc!snorkelwacker.mit.edu!bu.edu!att!pacbell.com!ucsd!ucbvax!IRIS.KTH.DK!operator From: operator@IRIS.KTH.DK (Martin Liversage) Newsgroups: comp.sys.sgi Subject: GNU Emacs 18.56 - patches for Irix 3.2 Message-ID: <9101231331.AA25068@iris.kth.dk> Date: 23 Jan 91 13:31:53 GMT Sender: daemon@ucbvax.BERKELEY.EDU Organization: The Internet Lines: 317 These are my installation notes for compiling GNU Emacs 18.56 under Irix 3.2. System: GNU emacs 18.56 Date: Wed Jan 23 14:14:39 MET 1991 Source: Anonymous ftp to prep.ai.mit.edu (pub/gnu/emacs-18.56.tar.Z) Comment: Unpack archive (zcat emacs-18.56.tar.Z | tar xvof -). Apply patch (patch -p < patch1). Install it (rm -rf /usr/local/emacs ; chmod +x build-install ; build-install). Clean up (make clean ; rm -rf oldXmenu gdb). Make man page (awf -man etc/emacs.1 > /usr/catman/local/cat1/emacs.1). Files: /usr/local/bin/emacs /usr/local/bin/ctags /usr/local/bin/etags /usr/local/emacs/* /usr/catman/local/cat1/emacs.1 And here are the patches ----------------------------- file: patch1 ----------------------------- System: GNU Emacs 18.56 Patch #: 1 Description: Local installation patch Date: Wed Jan 23 14:14:39 MET 1991 Index: etc/Makefile *** etc/Makefile.orig Mon Jan 7 05:21:30 1991 --- etc/Makefile Wed Jan 23 13:12:47 1991 *************** *** 1,8 **** ! CFLAGS= -g # For Xenix. Needed for movemail # LOADLIBES= -lx # For Mips. Needed for who knows what. ! # LOADLIBES = -lmld /usr/bsd43/usr/lib/libc.a EXECUTABLES = test-distrib etags ctags wakeup make-docfile \ digest-doc sorted-doc movemail cvtmail fakemail yow env \ --- 1,8 ---- ! CFLAGS= -O -Olimit 622 # For Xenix. Needed for movemail # LOADLIBES= -lx # For Mips. Needed for who knows what. ! LOADLIBES = -lmld -lc_s EXECUTABLES = test-distrib etags ctags wakeup make-docfile \ digest-doc sorted-doc movemail cvtmail fakemail yow env \ Index: src/ymakefile *** src/ymakefile.orig Tue Jan 8 19:23:01 1991 --- src/ymakefile Wed Jan 23 13:12:53 1991 *************** *** 44,50 **** /* Some machines don't find the standard C libraries in the usual place. */ #ifndef LIB_STANDARD ! #define LIB_STANDARD -lc #endif /* Unless inhibited or changed, use -lg to link for debugging. */ --- 44,50 ---- /* Some machines don't find the standard C libraries in the usual place. */ #ifndef LIB_STANDARD ! #define LIB_STANDARD -lbsd -lc #endif /* Unless inhibited or changed, use -lg to link for debugging. */ *************** *** 78,84 **** /* Some m- files define this to request special switches in cc. */ #ifndef C_SWITCH_MACHINE ! #define C_SWITCH_MACHINE #endif #ifndef C_SWITCH_SYSTEM --- 78,84 ---- /* Some m- files define this to request special switches in cc. */ #ifndef C_SWITCH_MACHINE ! #define C_SWITCH_MACHINE -I/usr/include/bsd #endif #ifndef C_SWITCH_SYSTEM *************** *** 144,150 **** SHORT= shortnames #endif /* SHORTNAMES */ ! CFLAGS= C_DEBUG_SWITCH -Demacs $(MYCPPFLAG) C_SWITCH_MACHINE C_SWITCH_SYSTEM /* DO NOT use -R. There is a special hack described in lastfile.c which is used instead. Some initialized data areas are modified at initial startup, then labeled as part of the text area when --- 144,150 ---- SHORT= shortnames #endif /* SHORTNAMES */ ! CFLAGS= C_OPTIMIZE_SWITCH -Demacs $(MYCPPFLAG) C_SWITCH_MACHINE C_SWITCH_SYSTEM /* DO NOT use -R. There is a special hack described in lastfile.c which is used instead. Some initialized data areas are modified at initial startup, then labeled as part of the text area when Index: src/fns.c *** src/fns.c.orig Tue Jan 8 18:33:26 1991 --- src/fns.c Wed Jan 23 13:13:13 1991 *************** *** 1211,1219 **** --- 1211,1223 ---- #ifdef IRIS_4D { + #ifndef IRIX_32 #include #include nl[0].n_value = sysmp(MP_KERNADDR, MPKA_AVENRUN); + #else /* IRIX_32 */ + nlist(KERNEL_FILE, nl); + #endif /* IRIX_32 */ nl[0].n_value &= 0x7fffffff; } #else Index: src/config.h *** /dev/null Wed Jan 23 11:17:40 1991 --- src/config.h Wed Jan 23 13:12:59 1991 *************** *** 0 **** --- 1,115 ---- + /* GNU Emacs site configuration template file. + Copyright (C) 1988 Free Software Foundation, Inc. + + This file is part of GNU Emacs. + + GNU Emacs is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 1, or (at your option) + any later version. + + GNU Emacs is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with GNU Emacs; see the file COPYING. If not, write to + the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ + + + + /* Include here a s- file that describes the system type you are using. + See the file ../etc/MACHINES for a list of systems and + the names of the s- files to use for them. + See s-template.h for documentation on writing s- files. */ + #include "s-irix3-3.h" + + /* Include here a m- file that describes the machine and system you use. + See the file ../etc/MACHINES for a list of machines and + the names of the m- files to use for them. + See m-template.h for info on what m- files should define. + */ + #include "m-iris4d.h" + + /* Load in the conversion definitions if this system + needs them and the source file being compiled has not + said to inhibit this. There should be no need for you + to alter these lines. */ + + #ifdef SHORTNAMES + #ifndef NO_SHORTNAMES + #include "../shortnames/remap.h" + #endif /* not NO_SHORTNAMES */ + #endif /* SHORTNAMES */ + + /* Define HAVE_X_WINDOWS if you want to use the X window system. */ + + /* #define HAVE_X_WINDOWS */ + + /* Define X11 if you want to use version 11 of X windows. + Otherwise, Emacs expects to use version 10. */ + + /* #define X11 */ + + /* Define HAVE_X_MENU if you want to use the X window menu system. + This appears to work on some machines that support X + and not on others. */ + + /* #define HAVE_X_MENU */ + + /* Define `subprocesses' should be defined if you want to + have code for asynchronous subprocesses + (as used in M-x compile and M-x shell). + These do not work for some USG systems yet; + for the ones where they work, the s-*.h file defines this flag. */ + + #ifndef VMS + #ifndef USG + #define subprocesses + #endif + #endif + + /* Define USER_FULL_NAME to return a string + that is the user's full name. + It can assume that the variable `pw' + points to the password file entry for this user. + + At some sites, the pw_gecos field contains + the user's full name. If neither this nor any other + field contains the right thing, use pw_name, + giving the user's login name, since that is better than nothing. */ + + #define USER_FULL_NAME pw->pw_gecos + + /* Define AMPERSAND_FULL_NAME if you use the convention + that & in the full name stands for the login id. */ + + /* #define AMPERSAND_FULL_NAME */ + + /* # bytes of pure Lisp code to leave space for. + Note that s-vms.h and m-sun2.h may override this default. */ + + #ifndef PURESIZE + #ifdef HAVE_X_WINDOWS + #define PURESIZE 122000 + #else + #define PURESIZE 119000 + #endif + #endif + + /* Define HIGHPRI as a negative number + if you want Emacs to run at a higher than normal priority. + For this to take effect, you must install Emacs with setuid root. + Emacs will change back to the users's own uid after setting + its priority. */ + + /* #define HIGHPRI */ + + /* Additions by Martin Liversage - 91.01.23 */ + + #define IRIX_32 + #undef NOMULTIPLEJOBS + #define SYSV_SYSTEM_DIR + #define sigsetmask(mask) + #define sigblock(x) x Index: lisp/term/iris.el *** /dev/null Wed Jan 23 11:17:40 1991 --- lisp/term/iris.el Wed Jan 23 13:14:10 1991 *************** *** 0 **** --- 1,54 ---- + ;; Martin Liversage - 91.01.10 12:10:32 + + (require 'keypad) + + (defvar iris-function-map nil) + + (if (not iris-function-map) + (progn + (setq iris-function-map (lookup-key global-map "\e[")) + (if (not (keymapp iris-function-map)) + (setq iris-function-map (make-sparse-keymap))) + (setup-terminal-keymap iris-function-map + '(("A" . ?u) ; Up + ("B" . ?d) ; Down + ("C" . ?r) ; Right + ("D" . ?l) ; Left + ("H" . ?h) ; Home + ("150q" . ?P) ; Page Up + ("154q" . ?N) ; Page Down + ("001q" . ?\C-a) ; F1 + ("002q" . ?\C-b) + ("003q" . ?\C-c) + ("004q" . ?\C-d) + ("005q" . ?\C-e) + ("006q" . ?\C-f) + ("007q" . ?\C-g) + ("008q" . ?\C-h) + ("009q" . ?\C-i) + ("010q" . ?\C-j) + ("011q" . ?\C-k) + ("012q" . ?\C-l) + ("013q" . ?\C-m) ; Shift-F1 + ("014q" . ?\C-n) + ("015q" . ?\C-o) + ("016q" . ?\C-p) + ("017q" . ?\C-q) + ("018q" . ?\C-r) + ("019q" . ?\C-s) + ("020q" . ?\C-t) + ("021q" . ?\C-u) + ("022q" . ?\C-v) + ("023q" . ?\C-w) + ("024q" . ?\C-x) + ("139q" . ?I) ; Insert + ("150q" . ?P) ; Page Up + ("154q" . ?N))))) ; Page Down + + (defun enable-function-keys () + "Enable the use of the iris arrow and function keys. + Because of the nature of the iris, this unavoidably breaks + the standard Emacs command ESC [; therefore, it is not done by default, + but only if you give this command." + (global-set-key "\e[" iris-function-map)) + -------------------------- end of file: patch1 -------------------------- Hope this is useful to some of you 8) \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ \ \ \ Martin Liversage 8616 m /\ \ \ Royal Dental College Copenhagen / \_ K2 - Mountain of Fate \ \ Department of Pediatric Dentistry / \ \ and Dreams \ \ Norre Alle 20 / | | \ \ \ DK-2200 Kobenhavn N /\ | \ \ \ \ +45 31 37 17 00 - 4276 / \ ^ | \ \ \ \ \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\