To: vim-dev@vim.org Subject: Patch 6.2.501 Fcc: outbox From: Bram Moolenaar Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit ------------ Patch 6.2.501 Problem: Vim does not compile with MorphOS. Solution: Add a Makefile and a few changes to make Vim work with MorphOS. (Ali Akcaagac) Files: runtime/doc/os_amiga.txt, src/INSTALLami.txt, src/Make_morphos.mak, src/memfile.c, src/term.c *** ../vim-6.2.500/runtime/doc/os_amiga.txt Sun Jun 1 12:20:34 2003 --- runtime/doc/os_amiga.txt Sun Apr 25 16:44:21 2004 *************** *** 1,4 **** ! *os_amiga.txt* For Vim version 6.2. Last change: 2001 Sep 03 VIM REFERENCE MANUAL by Bram Moolenaar --- 1,4 ---- ! *os_amiga.txt* For Vim version 6.2. Last change: 2004 Apr 25 VIM REFERENCE MANUAL by Bram Moolenaar *************** *** 6,11 **** --- 6,12 ---- *Amiga* This file contains the particularities for the Amiga version of Vim. + There is also a section specifically for |MorphOS| below. Installation on the Amiga: - Assign "VIM:" to the directory where the Vim "doc" directory is. Vim will *************** *** 74,78 **** --- 75,139 ---- Commands that accept a single file name allow for embedded spaces in the file name. However, when using commands that accept several file names, embedded spaces need to be escaped with a backslash. + + ------------------------------------------------------------------------------ + Vim for MorphOS *MorphOS* + + [this section mostly by Ali Akcaagac] + + For the latest info about the MorphOS version: + http://www.akcaagac.com/index_vim.html + + + Problems ~ + + There are a couple of problems which are not MorphOS related but more Vim and + UN*X related. When starting up Vim in ram: it complains with a nag requester + from MorphOS please simply ignore it. Another problem is when running Vim as + is some plugins will cause a few problems which you can ignore as well. + Hopefully someone will be fixing it over the time. + + To pass all these problems for now you can either run: + + vim + + or if you want to run Vim plain and enjoy the motion of Helpfiles etc. it then + would be better to enter: + + vim --noplugins + + + Installation ~ + + 1) Please copy the binary 'VIM' file to c: + 2) Get the Vim runtime package from: + + ftp://ftp.vim.org/pub/vim/amiga/vim62rt.tgz + + and unpack it in your 'Apps' directory of the MorphOS installation. For me + this would create following directory hierarchy: + + MorphOS:Apps/Vim/Vim62/... + + 3) Add the following lines to your s:shell-startup (Important!). + + ;Begin VIM + Set VIM=MorphOS:Apps/Vim/Vim62 + Assign HOME: "" + ;End VIM + + 4) Copy the '.vimrc' file to s: + + 5) There is also a file named 'color-sequence' included in this archive. This + will set the MorphOS Shell to show ANSI colors. Please copy the file to s: + and change the s:shell-startup to: + + ;Begin VIM + Set VIM=MorphOS:Apps/Vim/Vim62 + Assign HOME: "" + Execute S:Color-Sequence + Cls + ;End VIM + vim:tw=78:ts=8:ft=help:norl: *** ../vim-6.2.500/src/INSTALLami.txt Wed Jul 19 12:53:38 2000 --- src/INSTALLami.txt Sun Apr 25 16:46:09 2004 *************** *** 26,28 **** --- 26,34 ---- You will have to set the "VIM" environment variable to the location of the documentation files. + + + MorphOS + + Use the Make_morphos.mak Makefile: + make -f Make_morphos.mak *** ../vim-6.2.500/src/Make_morphos.mak Sun Apr 25 16:57:38 2004 --- src/Make_morphos.mak Sun Apr 25 16:48:43 2004 *************** *** 0 **** --- 1,54 ---- + # + # Makefile for VIM, using MorphOS SDK (gcc 2.95.3) + # + + # Uncomment the following two lines and comment the two after in + # case you want to play with GVIM MorphOS. But it's still known + # to not work at all. So meanwhile it's better to stick with VIM. + + # GVIM = -DFEAT_GUI_AMIGA + # GVIMSRC = gui_amiga.c gui.c + + GVIM = + GVIMSRC = + + CFLAGS = -c \ + -pipe \ + -O2 \ + -Wall \ + -DNO_ARP \ + -DUSE_TMPNAM \ + ${GVIM} \ + -noixemul \ + -Iproto + + PRG = Vim + LIBS = -noixemul -s + CC = gcc + LD = gcc + + .c.o: + ${CC} ${CFLAGS} $< -o $@ + + SRC = buffer.c charset.c diff.c \ + digraph.c edit.c eval.c \ + ex_cmds.c ex_cmds2.c ex_docmd.c \ + ex_eval.c ex_getln.c fileio.c \ + fold.c getchar.c main.c \ + mark.c memfile.c memline.c \ + menu.c message.c misc1.c \ + misc2.c move.c mbyte.c \ + normal.c ops.c option.c \ + os_amiga.c quickfix.c regexp.c \ + screen.c search.c syntax.c \ + tag.c term.c ui.c \ + undo.c window.c version.c \ + ${GVIMSRC} + + OBJ = $(SRC:.c=.o) + + $(PRG): $(OBJ) + ${LD} -o $(PRG) $(OBJ) $(LIBS) + + clean: + rm -fv *.o $(PRG) *** ../vim-6.2.500/src/memfile.c Tue Apr 6 21:31:48 2004 --- src/memfile.c Sun Apr 25 16:53:51 2004 *************** *** 517,522 **** --- 517,533 ---- mf_ins_free(mfp, hp); /* put *hp in the free list */ } + #if defined(__MORPHOS__) + /* function is missing in MorphOS libnix version */ + extern unsigned long *__stdfiledes; + + static unsigned long + fdtofh(int filedescriptor) + { + return __stdfiledes[filedescriptor]; + } + #endif + /* * Sync the memory file *mfp to disk. * Flags: *************** *** 660,673 **** Flush(fp->ufbfh); } # else ! # if defined(_DCC) || defined(__GNUC__) { ! # ifdef __GNUC__ /* Have function (in libnix at least), * but ain't got no prototype anywhere. */ ! unsigned long fdtofh(int filedescriptor); # endif - BPTR fh = (BPTR)fdtofh(mfp->mf_fd); if (fh != 0) --- 671,683 ---- Flush(fp->ufbfh); } # else ! # if defined(_DCC) || defined(__GNUC__) || defined(__MORPHOS__) { ! # if defined(__GNUC__) && !defined(__MORPHOS__) /* Have function (in libnix at least), * but ain't got no prototype anywhere. */ ! extern unsigned long fdtofh(int filedescriptor); # endif BPTR fh = (BPTR)fdtofh(mfp->mf_fd); if (fh != 0) *** ../vim-6.2.500/src/term.c Mon Apr 19 20:26:43 2004 --- src/term.c Sun Apr 25 16:48:43 2004 *************** *** 296,301 **** --- 296,312 ---- {(int)KS_UE, "\033[0m"}, {(int)KS_CZH, "\033[3m"}, {(int)KS_CZR, "\033[0m"}, + #if defined(__MORPHOS__) + {(int)KS_CCO, "8"}, /* allow 8 colors */ + # ifdef TERMINFO + {(int)KS_CAB, "\033[4%p1%dm"},/* set background color */ + {(int)KS_CAF, "\033[3%p1%dm"},/* set foreground color */ + # else + {(int)KS_CAB, "\033[4%dm"}, /* set background color */ + {(int)KS_CAF, "\033[3%dm"}, /* set foreground color */ + # endif + {(int)KS_OP, "\033[m"}, /* reset colors */ + #endif {(int)KS_MS, "y"}, {(int)KS_UT, "y"}, /* guessed */ {(int)KS_LE, "\b"}, *************** *** 304,309 **** --- 315,323 ---- # else {(int)KS_CM, "\033[%i%d;%dH"}, # endif + #if defined(__MORPHOS__) + {(int)KS_SR, "\033M"}, + #endif # ifdef TERMINFO {(int)KS_CRI, "\033[%p1%dC"}, # else *** ../vim-6.2.500/src/version.c Sun Apr 25 16:29:55 2004 --- src/version.c Sun Apr 25 16:56:39 2004 *************** *** 639,640 **** --- 639,642 ---- { /* Add new patch number below this line */ + /**/ + 501, /**/ -- If they don't keep on exercising their lips, he thought, their brains start working. -- Douglas Adams, "The Hitchhiker's Guide to the Galaxy" /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ /// Sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ \\\ Project leader for A-A-P -- http://www.A-A-P.org /// \\\ Buy at Amazon and help AIDS victims -- http://ICCF.nl/click1.html ///