changeset 2823:8bd38abda314 v7.3.187

updated for version 7.3.187 Problem: The RISC OS port has obvious errors and is not being maintained. Solution: Remove the RISC OS files and code.
author Bram Moolenaar <bram@vim.org>
date Tue, 10 May 2011 16:41:25 +0200
parents 7b62cd406330
children 27d6df28842d
files runtime/doc/os_risc.txt src/ascii.h src/eval.c src/ex_cmds.c src/ex_cmds2.c src/ex_docmd.c src/fileio.c src/globals.h src/gui.c src/gui.h src/main.c src/memfile.c src/memline.c src/misc1.c src/proto.h src/quickfix.c src/search.c src/structs.h src/term.c src/termlib.c src/version.c src/vim.h
diffstat 22 files changed, 43 insertions(+), 634 deletions(-) [+]
line wrap: on
line diff
--- a/runtime/doc/os_risc.txt
+++ b/runtime/doc/os_risc.txt
@@ -1,322 +1,12 @@
-*os_risc.txt*   For Vim version 7.3.  Last change: 2010 Aug 07
+*os_risc.txt*   For Vim version 7.3.  Last change: 2011 May 10
 
 
 		  VIM REFERENCE MANUAL    by Thomas Leonard
 
 
 						*riscos* *RISCOS* *RISC-OS*
-This file contains the particularities for the RISC OS version of Vim.
-
-The RISC OS port is a completely new port and is not based on the old "archi"
-port.
-
-1.  File locations		|riscos-locations|
-2.  Filename munging		|riscos-munging|
-3.  Command-line use		|riscos-commandline|
-4.  Desktop (GUI) use		|riscos-gui|
-5.  Remote use (telnet)		|riscos-remote|
-6.  Temporary files		|riscos-temp-files|
-7.  Interrupting		|riscos-interrupt|
-8.  Memory usage		|riscos-memory|
-9.  Filetypes			|riscos-filetypes|
-10. The shell			|riscos-shell|
-11. Porting new releases	|riscos-porting|
-
-If I've missed anything, email me and I'll try to fix it.  In fact, even if I
-haven't missed anything then email me anyway to give me some confidence that it
-actually works!
-
-Thomas Leonard <tal197@ecs.soton.ac.uk>
-
-	[these URLs no longer work...]
- Port homepage:	http://www.ecs.soton.ac.uk/~tal197/
-	or try:	http://www.soton.ac.uk/~tal197/
-
-==============================================================================
-							*riscos-locations*
-1. File locations
-
-The Vim executable and shared resource files are all stored inside the !Vim
-application directory.
-
-When !Vim is first seen by the filer, it aliases the *vi and *ex commands to
-run the command-line versions of Vim (see |riscos-commandline|).
-
-!Vim.Resources and !Vim.Resources2 contain the files from the standard Vim
-distribution, but modified slightly to work within the limits of ADFS, plus
-some extra files such as the window templates.
-
-User choices are read from "Choices:*" and are saved to "<Choices$Write>.*".
-If you have the new !Boot structure then these should be set up already.  If
-not, set Choices$Path to a list of directories to search when looking for
-user configuration files.  Set Choices$Write to the directory you want files
-to be saved into (so your search patterns and marks can be remembered between
-sessions).
-
-==============================================================================
-							*riscos-munging*
-2. Filename munging
-
-All pathname munging is disabled by default, so Vim should behave like a
-normal RISC OS application now.  So, if you want to edit "doc/html" then you
-actually type "*vi doc/html".
-
-The only times munging is done is when:
-
-- Searching included files from C programs, since these are always munged.
-  See |[I|.
-  Note: make sure you are in the right directory when you use this
-	command (i.e. the one with subdirectories "c" and "h").
-
-- Sourcing files using |:so|.
-  Paths starting "$VIM/" are munged like this:
-
-  $VIM/syntax/help.vim  ->  Vim:syntax.help
-
-  Also, files ending in ".vim" have their extensions removed, and slashes
-  replaced with dots.
-
-Some tag files and script files may have to be edited to work under this port.
-
-==============================================================================
-							*riscos-commandline*
-3. Command-line use
-
-To use Vim from the command-line use the "*vi" command (or "*ex" for
-|Ex-mode|).
-
-Type "*vi -h" for a list of options.
-
-Running the command-line version of Vim in a large high-color mode may cause
-the scrolling to be very slow.  Either change to a mode with fewer colors or
-use the GUI version.
-
-Also, holding down Ctrl will slow it down even more, and Ctrl-Shift will
-freeze it, as usual for text programs.
-
-==============================================================================
-							*riscos-gui*
-4. Desktop use
-
-Limitations:
-
-- Left scrollbars don't work properly (right and bottom are fine).
-- Doesn't increase scroll speed if it gets behind.
-
-You can resize the window by dragging the lower-right corner, even though
-there is no icon shown there.
-
-You can use the --rows and --columns arguments to specify the initial size of
-the Vim window, like this: >
-
-  *Vi -g --rows 20 --columns 80
-
-The global clipboard is supported, so you can select some text and then
-paste it directly into another application (provided it supports the
-clipboard too).
-
-Clicking Menu now opens a menu like a normal RISC OS program.  Hold down Shift
-when clicking Menu to paste (from the global clipboard).
-
-Dragging a file to the window replaces the CURRENT buffer (the one with the
-cursor, NOT the one you dragged to) with the file.
-
-Dragging with Ctrl held down causes a new Vim window to be opened for the
-file (see |:sp|).
-
-Dragging a file in with Shift held down in insert mode inserts the pathname of
-the file.
-
-:browse :w opens a standard RISC OS save box.
-:browse :e opens a directory viewer.
-
-For fonts, you have the choice of the system font, an outline font, the system
-font via ZapRedraw and any of the Zap fonts via ZapRedraw: >
-
-  :set guifont=
-<			To use the system font via the VDU drivers.  Supports
-			bold and underline.
->
-  :set guifont=Corpus.Medium
-<			Use the named outline font.  You can use any font, but
-			only monospaced ones like Corpus look right.
->
-  :set guifont=Corpus.Medium:w8:h12:b:i
-<			As before, but with size of 8 point by 12 point, and
-			in bold italic.
-			If only one of width and height is given then that
-			value is used for both.  If neither is given then 10
-			point is used.
-
-Thanks to John Kortink, Vim can use the ZapRedraw module.  Start the font name
-with "!" (or "!!" for double height), like this: >
-
-  :set guifont=!!
-<			Use the system font, but via ZapRedraw.  This gives a
-			faster redraw on StrongARM processors, but you can't
-			get bold or italic text.  Double height.
->
-  :set guifont=!script
-<			Uses the named Zap font (a directory in VimFont$Path).
-			The redraw is the same speed as for "!!", but you get
-			a nicer looking font.
-			Only the "man+" and "script" fonts are supplied
-			currently, but you can use any of the Zap fonts if
-			they are in VimFont$Path.
-			Vim will try to load font files "0", "B", "I" and "IB"
-			from the named directory.  Only "0" (normal style) MUST
-			be present.  Link files are not currently supported.
-
-Note that when using ZapRedraw the edit bar is drawn in front of the character
-you are on rather than behind it.  Also redraw is incorrect for screen modes
-with eigen values of 0.  If the font includes control characters then you can
-get Vim to display them by changing the 'isprint' option.
-
-If you find the scrolling is too slow on your machine, try experimenting
-with the 'scrolljump' and 'ttyscroll' options.
-
-In particular, StrongARM users may find that: >
-
-  :set ttyscroll=0
-
-makes scrolling faster in high-color modes.
-
-=============================================================================
-							*riscos-remote*
-5. Remote use (telnet)
-
-I have included a built-in termcap entry, but you can edit the termcap file to
-allow other codes to be used if you want to use Vim from a remote terminal.
-
-Although I do not have an internet connection to my Acorn, I have managed to
-run Vim in a FreeTerm window using the loopback connection.
-
-It seems to work pretty well now, using "*vi -T ansi".
-
-==============================================================================
-							*riscos-temp-files*
-6. Temporary files
-
-If Vim crashes then the swap and backup files (if any) will be in the
-directories set with the 'directory' and 'bdir' options.  By default the swap
-files are in <Wimp$ScrapDir> (i.e. inside !Scrap) and backups are in the
-directory you were saving to.  Vim will allow you to try and recover the file
-when you next try to edit it.
-
-To see a list of swap files, press <F12> and type "*vi -r".
-
-Vim no longer brings up ATTENTION warnings if you try to edit two files with
-the same name in different directories.
-
-However, it also no longer warns if you try to edit the same file twice (with
-two copies of Vim), though you will still be warned when you save that the
-datestamp has changed.
-
-==============================================================================
-							*riscos-interrupt*
-7. Interrupting
-
-To break out of a looping macro, or similar, hold down Escape in the
-command-line version, or press CTRL-C in the GUI version.
-
-==============================================================================
-							*riscos-memory*
-8. Memory usage
-
-Vim will use dynamic areas on RISC OS 3.5 or later.  If you can use them on
-older machines then edit the !RunTxt and GVim files.  I don't know what UnixLib
-does by default on these machines so I'm playing safe.
-
-It doesn't work at all well without dynamic areas, since it can't change its
-memory allocation once running.  Hence you should edit "!Vim.GVim" and
-"!Vim.!RunTxt" to choose the best size for you.  You probably need at least
-about 1400K.
-
-==============================================================================
-							*riscos-filetypes*
-9. Filetypes
-
-You can now specify that autocommands are only executed for files of certain
-types.  The filetype is given in the form &xxx, when xxx is the filetype.
-
-Filetypes must be specified by number (e.g. &fff for Text).
-
-The system has changed from version 5.3.  The new sequence of events is:
-
-- A file is loaded. |'osfiletype'| is set to the RISC OS filetype.
-- Based on the filetype and pathname, Vim will try to set |'filetype'| to the
-  Vim-type of the file.
-- Setting this option may load syntax files and perform other actions.
-- Saving the file will give it a filetype of |'osfiletype'|.
-
-Some examples may make this clearer:
-
-  Kind of file loaded	osfiletype	filetype ~
-  C code "c.hellow"	Text (&fff)	C
-  LaTeX document	LaTeX (&2a8)	TeX
-  Draw document		DrawFile (&aff)	(not changed)
-
-==============================================================================
-							*riscos-shell*
-10. The shell
-
-- Bangs (!s) are only replaced if they are followed by a space or end-of-line,
-  since many pathnames contain them.
-
-- You can prefix the command with "~", which stops any output from being
-  displayed.  This also means that you don't have to press <Enter> afterwards,
-  and stops the screen from being redrawn. {only in the GUI version}
-
-==============================================================================
-							*riscos-porting*
-11. Porting new releases to RISC OS
-
-Downloading everything you need:
-
-- Get the latest source distribution (see www.vim.org)
-- Get the runtime environment files (e.g. these help files)
-- Get the RISC OS binary distribution (if possible)
+The RISC OS support has been removed from Vim with patch 7.3.187.
+If you would like to use Vim on RISC OS get the files from before that patch.
 
 
-Unarchiving:
-
-- Create a raFS disk and put the archives on it
-- Un-gzip them
-- Un-tar them   (*tar xELf 50 archive/tar)
-
-
-Recompiling the sources:
-
-- Create c, s, and h directories.
-- Put all the header files in "h".	     \
-- Put all the C files in "c".		     | And lose the extensions
-- Put the assembler file ("swis/s") in "s".  /
-- Rename all the files in "proto" to "h", like this:
-    raFS::VimSrc.source.proto.file/pro
-	  becomes
-    raFS::VimSrc.source.h.file_pro
-- In the files "h.proto" and "c.termlib", search and replace
-    .pro"
-       with
-    _pro.h"
-- Create a simple Makefile if desired and do "*make -k".
-  Use "CC = gcc -DRISCOS -DUSE_GUI -O2 -x c" in the Makefile.
-- Save the binary as !Vim.Vim in the binary distribution.
-
-
-Updating the run-time environment:
-
-- Replace old or missing files inside !Vim.Resources with the
-  new files.
-- Remove files in "doc" not ending in "/txt", except for "tags".
-- Lose the extensions from the files in "doc".
-- Edit the "doc.tags" file.  Remove extensions from the second column: >
-	:%s/^\(.[^\t]*\t.*\)\.txt\t/\1\t/
-- Remove extensions from the syntax files.  Split them into two directories
-  to avoid the 77 entry limit on old ADFS filesystems.
-- Edit "Vim:FileType" to match "*.c.*" as well as "*/c" and so on.
-  Add filetype checking too.
-- Edit "Vim:Menu" and remove all the keys from the menus: >
-	:%s/<Tab>[^ \t]*//
-<
  vim:tw=78:ts=8:ft=help:norl:
--- a/src/ascii.h
+++ b/src/ascii.h
@@ -183,11 +183,6 @@ extern char MetaCharTable[];
 # define PATHSEP	psepc
 # define PATHSEPSTR	pseps
 #else
-# ifdef RISCOS
-#  define PATHSEP	'.'
-#  define PATHSEPSTR	"."
-# else
-#  define PATHSEP	'/'
-#  define PATHSEPSTR	"/"
-# endif
+# define PATHSEP	'/'
+# define PATHSEPSTR	"/"
 #endif
--- a/src/eval.c
+++ b/src/eval.c
@@ -11818,9 +11818,6 @@ f_has(argvars, rettv)
 #ifdef __QNX__
 	"qnx",
 #endif
-#ifdef RISCOS
-	"riscos",
-#endif
 #ifdef UNIX
 	"unix",
 #endif
--- a/src/ex_cmds.c
+++ b/src/ex_cmds.c
@@ -899,9 +899,6 @@ free_prev_shellcmd()
  * Handle the ":!cmd" command.	Also for ":r !cmd" and ":w !cmd"
  * Bangs in the argument are replaced with the previously entered command.
  * Remember the argument.
- *
- * RISCOS: Bangs only replaced when followed by a space, since many
- * pathnames contain one.
  */
     void
 do_bang(addr_count, eap, forceit, do_in, do_out)
@@ -980,11 +977,7 @@ do_bang(addr_count, eap, forceit, do_in,
 	trailarg = NULL;
 	while (*p)
 	{
-	    if (*p == '!'
-#ifdef RISCOS
-			&& (p[1] == ' ' || p[1] == NUL)
-#endif
-					)
+	    if (*p == '!')
 	    {
 		if (p > newcmd && p[-1] == '\\')
 		    STRMOVE(p - 1, p);
@@ -1578,14 +1571,8 @@ make_filter_cmd(cmd, itmp, otmp)
 	    if (p != NULL)
 		*p = NUL;
 	}
-# ifdef RISCOS
-	STRCAT(buf, " { < ");	/* Use RISC OS notation for input. */
-	STRCAT(buf, itmp);
-	STRCAT(buf, " } ");
-# else
 	STRCAT(buf, " <");	/* " < " causes problems on Amiga */
 	STRCAT(buf, itmp);
-# endif
 	if (*p_shq == NUL)
 	{
 	    p = vim_strchr(cmd, '|');
@@ -1634,16 +1621,9 @@ append_redir(buf, buflen, opt, fname)
     else
 	vim_snprintf((char *)end, (size_t)(buflen - (end - buf)),
 #ifdef FEAT_QUICKFIX
-# ifndef RISCOS
-		opt != p_sp ? " %s%s" :
-# endif
 		" %s %s",
 #else
-# ifndef RISCOS
 		" %s%s",	/* " > %s" causes problems on Amiga */
-# else
-		" %s %s",	/* But is needed for 'shellpipe' and RISC OS */
-# endif
 #endif
 		(char *)opt, (char *)fname);
 }
@@ -1844,11 +1824,7 @@ write_viminfo(file, forceit)
 #ifdef VMS
 				    (char_u *)"-tmp",
 #else
-# ifdef RISCOS
-				    (char_u *)"/tmp",
-# else
 				    (char_u *)".tmp",
-# endif
 #endif
 				    FALSE);
 	    if (tempname == NULL)		/* out of memory */
--- a/src/ex_cmds2.c
+++ b/src/ex_cmds2.c
@@ -500,18 +500,10 @@ dbg_parsearg(arg, gap)
 	/* Expand the file name in the same way as do_source().  This means
 	 * doing it twice, so that $DIR/file gets expanded when $DIR is
 	 * "~/dir". */
-#ifdef RISCOS
-	q = mch_munge_fname(p);
-#else
 	q = expand_env_save(p);
-#endif
 	if (q == NULL)
 	    return FAIL;
-#ifdef RISCOS
-	p = mch_munge_fname(q);
-#else
 	p = expand_env_save(q);
-#endif
 	vim_free(q);
 	if (p == NULL)
 	    return FAIL;
@@ -2940,11 +2932,7 @@ do_source(fname, check_other, is_vimrc)
     proftime_T		    wait_start;
 #endif
 
-#ifdef RISCOS
-    p = mch_munge_fname(fname);
-#else
     p = expand_env_save(fname);
-#endif
     if (p == NULL)
 	return retval;
     fname_exp = fix_fname(p);
--- a/src/ex_docmd.c
+++ b/src/ex_docmd.c
@@ -9702,14 +9702,7 @@ eval_vars(src, srcstart, usedlen, lnump,
 		    valid = 0;	    /* Must have ":p:h" to be valid */
 		}
 		else
-#ifdef RISCOS
-		    /* Always use the full path for RISC OS if possible. */
-		    result = curbuf->b_ffname;
-		    if (result == NULL)
-			result = curbuf->b_fname;
-#else
 		    result = curbuf->b_fname;
-#endif
 		break;
 
 	case SPEC_HASH:		/* '#' or "#99": alternate file */
@@ -9854,11 +9847,7 @@ eval_vars(src, srcstart, usedlen, lnump,
 	if (src[*usedlen] == '<')	/* remove the file name extension */
 	{
 	    ++*usedlen;
-#ifdef RISCOS
-	    if ((s = vim_strrchr(result, '/')) != NULL && s >= gettail(result))
-#else
 	    if ((s = vim_strrchr(result, '.')) != NULL && s >= gettail(result))
-#endif
 		resultlen = (int)(s - result);
 	}
 #ifdef FEAT_MODIFY_FNAME
@@ -10875,8 +10864,7 @@ get_view_file(c)
 	    else if (vim_ispathsep(*p))
 	    {
 		*s++ = '=';
-#if defined(BACKSLASH_IN_FILENAME) || defined(AMIGA) || defined(RISCOS) \
-	|| defined(VMS)
+#if defined(BACKSLASH_IN_FILENAME) || defined(AMIGA) || defined(VMS)
 		if (*p == ':')
 		    *s++ = '-';
 		else
--- a/src/fileio.c
+++ b/src/fileio.c
@@ -504,18 +504,11 @@ readfile(fname, sfname, from, lines_to_s
 
     if (newfile && !read_stdin && !read_buffer)
     {
-	/* Remember time of file.
-	 * For RISCOS, also remember the filetype.
-	 */
+	/* Remember time of file. */
 	if (mch_stat((char *)fname, &st) >= 0)
 	{
 	    buf_store_time(curbuf, &st, fname);
 	    curbuf->b_mtime_read = curbuf->b_mtime;
-
-#if defined(RISCOS) && defined(FEAT_OSFILETYPE)
-	    /* Read the filetype into the buffer local filetype option. */
-	    mch_read_filetype(fname);
-#endif
 #ifdef UNIX
 	    /*
 	     * Use the protection bits of the original file for the swap file.
@@ -557,7 +550,6 @@ readfile(fname, sfname, from, lines_to_s
 
 /*
  * for UNIX: check readonly with perm and mch_access()
- * for RISCOS: same as Unix, otherwise file gets re-datestamped!
  * for MSDOS and Amiga: check readonly by trying to open the file for writing
  */
     file_readonly = FALSE;
@@ -3804,13 +3796,7 @@ buf_write(buf, fname, sfname, start, end
 
 	/* make sure we have a valid backup extension to use */
 	if (*p_bex == NUL)
-	{
-#ifdef RISCOS
-	    backup_ext = (char_u *)"/bak";
-#else
 	    backup_ext = (char_u *)".bak";
-#endif
-	}
 	else
 	    backup_ext = p_bex;
 
@@ -4724,11 +4710,6 @@ restore_backup:
 #endif
     if (perm >= 0)		/* set perm. of new file same as old file */
 	(void)mch_setperm(wfname, perm);
-#ifdef RISCOS
-    if (!append && !filtering)
-	/* Set the filetype after writing the file. */
-	mch_set_filetype(wfname, buf->b_p_oft);
-#endif
 #ifdef HAVE_ACL
     /* Probably need to set the ACL before changing the user (can't set the
      * ACL on a file the user doesn't own). */
@@ -6262,19 +6243,17 @@ buf_modname(shortname, fname, ext, prepe
      */
     for (ptr = retval + fnamelen; ptr > retval; mb_ptr_back(retval, ptr))
     {
-#ifndef RISCOS
 	if (*ext == '.'
-# ifdef USE_LONG_FNAME
+#ifdef USE_LONG_FNAME
 		    && (!USE_LONG_FNAME || shortname)
-# else
-#  ifndef SHORT_FNAME
+#else
+# ifndef SHORT_FNAME
 		    && shortname
-#  endif
 # endif
+#endif
 								)
 	    if (*ptr == '.')	/* replace '.' by '_' */
 		*ptr = '_';
-#endif
 	if (vim_ispathsep(*ptr))
 	{
 	    ++ptr;
@@ -6309,23 +6288,14 @@ buf_modname(shortname, fname, ext, prepe
 	if (fname == NULL || *fname == NUL
 				   || vim_ispathsep(fname[STRLEN(fname) - 1]))
 	{
-#ifdef RISCOS
-	    if (*ext == '/')
-#else
 	    if (*ext == '.')
-#endif
 		*s++ = '_';
 	}
 	/*
 	 * If the extension starts with '.', truncate the base name at 8
 	 * characters
 	 */
-#ifdef RISCOS
-	/* We normally use '/', but swap files are '_' */
-	else if (*ext == '/' || *ext == '_')
-#else
 	else if (*ext == '.')
-#endif
 	{
 	    if ((size_t)(s - ptr) > (size_t)8)
 	    {
@@ -6337,13 +6307,8 @@ buf_modname(shortname, fname, ext, prepe
 	 * If the extension doesn't start with '.', and the file name
 	 * doesn't have an extension yet, append a '.'
 	 */
-#ifdef RISCOS
-	else if ((e = vim_strchr(ptr, '/')) == NULL)
-	    *s++ = '/';
-#else
 	else if ((e = vim_strchr(ptr, '.')) == NULL)
 	    *s++ = '.';
-#endif
 	/*
 	 * If the extension doesn't start with '.', and there already is an
 	 * extension, it may need to be truncated
@@ -6371,23 +6336,14 @@ buf_modname(shortname, fname, ext, prepe
     /*
      * Prepend the dot.
      */
-    if (prepend_dot && !shortname && *(e = gettail(retval)) !=
-#ifdef RISCOS
-	    '/'
-#else
-	    '.'
-#endif
+    if (prepend_dot && !shortname && *(e = gettail(retval)) != '.'
 #ifdef USE_LONG_FNAME
 	    && USE_LONG_FNAME
 #endif
 				)
     {
 	STRMOVE(e + 1, e);
-#ifdef RISCOS
-	*e = '/';
-#else
 	*e = '.';
-#endif
     }
 #endif
 
@@ -10205,19 +10161,11 @@ file_pat_to_reg_pat(pat, pat_end, allow_
 		    ++p;
 		break;
 	    case '.':
-#ifdef RISCOS
-		if (allow_dirs != NULL)
-		     *allow_dirs = TRUE;
-		/* FALLTHROUGH */
-#endif
 	    case '~':
 		reg_pat[i++] = '\\';
 		reg_pat[i++] = *p;
 		break;
 	    case '?':
-#ifdef RISCOS
-	    case '#':
-#endif
 		reg_pat[i++] = '.';
 		break;
 	    case '\\':
--- a/src/globals.h
+++ b/src/globals.h
@@ -1513,7 +1513,7 @@ EXTERN char_u e_readerrf[]	INIT(= N_("E4
 EXTERN char_u e_sandbox[]	INIT(= N_("E48: Not allowed in sandbox"));
 #endif
 EXTERN char_u e_secure[]	INIT(= N_("E523: Not allowed here"));
-#if defined(AMIGA) || defined(MACOS) || defined(MSWIN) || defined(RISCOS) \
+#if defined(AMIGA) || defined(MACOS) || defined(MSWIN)  \
 	|| defined(UNIX) || defined(VMS) || defined(OS2)
 EXTERN char_u e_screenmode[]	INIT(= N_("E359: Screen mode setting not supported"));
 #endif
--- a/src/gui.c
+++ b/src/gui.c
@@ -2156,7 +2156,7 @@ gui_outstr_nowrap(s, len, flags, fg, bg,
 
     if (highlight_mask & (HL_INVERSE | HL_STANDOUT))
     {
-#if defined(AMIGA) || defined(RISCOS)
+#if defined(AMIGA)
 	gui_mch_set_colors(bg_color, fg_color);
 #else
 	gui_mch_set_fg_color(bg_color);
@@ -2165,7 +2165,7 @@ gui_outstr_nowrap(s, len, flags, fg, bg,
     }
     else
     {
-#if defined(AMIGA) || defined(RISCOS)
+#if defined(AMIGA)
 	gui_mch_set_colors(fg_color, bg_color);
 #else
 	gui_mch_set_fg_color(fg_color);
@@ -2193,7 +2193,7 @@ gui_outstr_nowrap(s, len, flags, fg, bg,
     if (back != 0 && ((draw_flags & DRAW_BOLD) || (highlight_mask & HL_ITALIC)))
 	return FAIL;
 
-#if defined(RISCOS) || defined(FEAT_GUI_GTK)
+#if defined(FEAT_GUI_GTK)
     /* If there's no italic font, then fake it.
      * For GTK2, we don't need a different font for italic style. */
     if (hl_mask_todo & HL_ITALIC)
@@ -2985,26 +2985,11 @@ button_set:
 	    did_clip = TRUE;
 	}
 	/* Allow the left button to start the selection */
-	else if (button ==
-# ifdef RISCOS
-		/* Only start a drag on a drag event. Otherwise
-		 * we don't get a release event. */
-		    MOUSE_DRAG
-# else
-		    MOUSE_LEFT
-# endif
-				)
+	else if (button == MOUSE_LEFT)
 	{
 	    clip_start_selection(X_2_COL(x), Y_2_ROW(y), repeated_click);
 	    did_clip = TRUE;
 	}
-# ifdef RISCOS
-	else if (button == MOUSE_LEFT)
-	{
-	    clip_clear_selection();
-	    did_clip = TRUE;
-	}
-# endif
 
 	/* Always allow pasting */
 	if (button != MOUSE_MIDDLE)
--- a/src/gui.h
+++ b/src/gui.h
@@ -52,10 +52,6 @@
 # include <SegLoad.h>*/
 #endif
 
-#ifdef RISCOS
-# include "gui_riscos.h"
-#endif
-
 #ifdef FEAT_GUI_PHOTON
 # include <Ph.h>
 # include <Pt.h>
@@ -151,7 +147,7 @@
 #define DRAW_BOLD		0x02	/* draw bold text */
 #define DRAW_UNDERL		0x04	/* draw underline text */
 #define DRAW_UNDERC		0x08	/* draw undercurl text */
-#if defined(RISCOS) || defined(FEAT_GUI_GTK)
+#if defined(FEAT_GUI_GTK)
 # define DRAW_ITALIC		0x10	/* draw italic text */
 #endif
 #define DRAW_CURSOR		0x20	/* drawing block cursor (win32) */
@@ -219,9 +215,6 @@ typedef struct GuiScrollbar
 #ifdef FEAT_GUI_MAC
     ControlHandle id;		/* A handle to the scrollbar */
 #endif
-#ifdef RISCOS
-    int		id;		/* Window handle of scrollbar window */
-#endif
 #ifdef FEAT_GUI_PHOTON
     PtWidget_t	*id;
 #endif
@@ -450,14 +443,6 @@ typedef struct Gui
     int		visibility;	    /* Is window partially/fully obscured? */
 #endif
 
-#ifdef RISCOS
-    int		window_handle;
-    char_u	*window_title;
-    int		window_title_size;
-    int		fg_colour;		/* in 0xBBGGRR format */
-    int		bg_colour;
-#endif
-
 #ifdef FEAT_GUI_PHOTON
     PtWidget_t	*vimWindow;		/* PtWindow */
     PtWidget_t	*vimTextArea;		/* PtRaw */
--- a/src/main.c
+++ b/src/main.c
@@ -3276,11 +3276,6 @@ usage()
     main_msg(_("+reverse\t\tDon't use reverse video (also: +rv)"));
     main_msg(_("-xrm <resource>\tSet the specified resource"));
 #endif /* FEAT_GUI_X11 */
-#if defined(FEAT_GUI) && defined(RISCOS)
-    mch_msg(_("\nArguments recognised by gvim (RISC OS version):\n"));
-    main_msg(_("--columns <number>\tInitial width of window in columns"));
-    main_msg(_("--rows <number>\tInitial height of window in rows"));
-#endif
 #ifdef FEAT_GUI_GTK
     mch_msg(_("\nArguments recognised by gvim (GTK+ version):\n"));
     main_msg(_("-font <font>\t\tUse <font> for normal text (also: -fn)"));
--- a/src/memfile.c
+++ b/src/memfile.c
@@ -1307,7 +1307,7 @@ mf_do_open(mfp, fname, flags)
      * fname cannot be NameBuff, because it must have been allocated.
      */
     mf_set_ffname(mfp);
-#if defined(MSDOS) || defined(MSWIN) || defined(RISCOS)
+#if defined(MSDOS) || defined(MSWIN)
     /*
      * A ":!cd e:xxx" may change the directory without us knowning, use the
      * full pathname always.  Careful: This frees fname!
--- a/src/memline.c
+++ b/src/memline.c
@@ -748,7 +748,7 @@ ml_open_file(buf)
 	    continue;
 	if (mf_open_file(mfp, fname) == OK)	/* consumes fname! */
 	{
-#if defined(MSDOS) || defined(MSWIN) || defined(RISCOS)
+#if defined(MSDOS) || defined(MSWIN)
 	    /*
 	     * set full pathname for swap file now, because a ":!cd dir" may
 	     * change directory without us knowing it.
@@ -933,7 +933,7 @@ set_b0_fname(b0p, buf)
 	b0p->b0_fname[0] = NUL;
     else
     {
-#if defined(MSDOS) || defined(MSWIN) || defined(AMIGA) || defined(RISCOS)
+#if defined(MSDOS) || defined(MSWIN) || defined(AMIGA)
 	/* Systems that cannot translate "~user" back into a path: copy the
 	 * file name unmodified.  Do use slashes instead of backslashes for
 	 * portability. */
@@ -1103,7 +1103,7 @@ ml_recover()
 	fname = (char_u *)"";
     len = (int)STRLEN(fname);
     if (len >= 4 &&
-#if defined(VMS) || defined(RISCOS)
+#if defined(VMS)
 	    STRNICMP(fname + len - 4, "_s" , 2)
 #else
 	    STRNICMP(fname + len - 4, ".s" , 2)
@@ -1773,11 +1773,7 @@ recover_names(fname, list, nr, fname_out
 #ifdef VMS
 		names[0] = vim_strsave((char_u *)"*_sw%");
 #else
-# ifdef RISCOS
-		names[0] = vim_strsave((char_u *)"*_sw#");
-# else
 		names[0] = vim_strsave((char_u *)"*.sw?");
-# endif
 #endif
 #if defined(UNIX) || defined(WIN3264)
 		/* For Unix names starting with a dot are special.  MS-Windows
@@ -1804,11 +1800,7 @@ recover_names(fname, list, nr, fname_out
 #ifdef VMS
 		names[0] = concat_fnames(dir_name, (char_u *)"*_sw%", TRUE);
 #else
-# ifdef RISCOS
-		names[0] = concat_fnames(dir_name, (char_u *)"*_sw#", TRUE);
-# else
 		names[0] = concat_fnames(dir_name, (char_u *)"*.sw?", TRUE);
-# endif
 #endif
 #if defined(UNIX) || defined(WIN3264)
 		/* For Unix names starting with a dot are special.  MS-Windows
@@ -1877,7 +1869,7 @@ recover_names(fname, list, nr, fname_out
 	    char_u	    *swapname;
 
 	    swapname = modname(fname_res,
-#if defined(VMS) || defined(RISCOS)
+#if defined(VMS)
 			       (char_u *)"_swp", FALSE
 #else
 			       (char_u *)".swp", TRUE
@@ -2176,11 +2168,7 @@ recov_file_names(names, path, prepend_do
 #ifdef VMS
     names[num_names] = concat_fnames(path, (char_u *)"_sw%", FALSE);
 #else
-# ifdef RISCOS
-    names[num_names] = concat_fnames(path, (char_u *)"_sw#", FALSE);
-# else
     names[num_names] = concat_fnames(path, (char_u *)".sw?", FALSE);
-# endif
 #endif
     if (names[num_names] == NULL)
 	goto end;
@@ -2207,11 +2195,7 @@ recov_file_names(names, path, prepend_do
 #ifdef VMS
     names[num_names] = modname(path, (char_u *)"_sw%", FALSE);
 #else
-# ifdef RISCOS
-    names[num_names] = modname(path, (char_u *)"_sw#", FALSE);
-# else
     names[num_names] = modname(path, (char_u *)".sw?", FALSE);
-# endif
 #endif
     if (names[num_names] == NULL)
 	goto end;
@@ -3205,7 +3189,8 @@ ml_delete_int(buf, lnum, message)
 	mf_free(mfp, hp);	/* free the data block */
 	buf->b_ml.ml_locked = NULL;
 
-	for (stack_idx = buf->b_ml.ml_stack_top - 1; stack_idx >= 0; --stack_idx)
+	for (stack_idx = buf->b_ml.ml_stack_top - 1; stack_idx >= 0;
+								  --stack_idx)
 	{
 	    buf->b_ml.ml_stack_top = 0;	    /* stack is invalid when failing */
 	    ip = &(buf->b_ml.ml_stack[stack_idx]);
@@ -3956,14 +3941,9 @@ makeswapname(fname, ffname, buf, dir_nam
 #else
 	    (buf->b_p_sn || buf->b_shortname),
 #endif
-#ifdef RISCOS
-	    /* Avoid problems if fname has special chars, eg <Wimp$Scrap> */
-	    ffname,
-#else
 	    fname_res,
-#endif
 	    (char_u *)
-#if defined(VMS) || defined(RISCOS)
+#if defined(VMS)
 	    "_swp",
 #else
 	    ".swp",
@@ -4427,14 +4407,6 @@ findswapname(buf, dirp, old_fname)
 		    }
 		    close(fd);
 		}
-#ifdef RISCOS
-		else
-		    /* Can't open swap file, though it does exist.
-		     * Assume that the user is editing two files with
-		     * the same name in different directories. No error.
-		     */
-		    differ = TRUE;
-#endif
 
 		/* give the ATTENTION message when there is an old swap file
 		 * for the current file, and the buffer was not recovered. */
--- a/src/misc1.c
+++ b/src/misc1.c
@@ -4589,25 +4589,21 @@ get_past_head(path)
 vim_ispathsep(c)
     int c;
 {
-#ifdef RISCOS
-    return (c == '.' || c == ':');
-#else
-# ifdef UNIX
+#ifdef UNIX
     return (c == '/');	    /* UNIX has ':' inside file names */
-# else
-#  ifdef BACKSLASH_IN_FILENAME
+#else
+# ifdef BACKSLASH_IN_FILENAME
     return (c == ':' || c == '/' || c == '\\');
-#  else
-#   ifdef VMS
+# else
+#  ifdef VMS
     /* server"user passwd"::device:[full.path.name]fname.extension;version" */
     return (c == ':' || c == '[' || c == ']' || c == '/'
 	    || c == '<' || c == '>' || c == '"' );
-#   else		/* Amiga */
+#  else
     return (c == ':' || c == '/');
-#   endif /* VMS */
-#  endif
+#  endif /* VMS */
 # endif
-#endif /* RISC OS */
+#endif
 }
 
 #if defined(FEAT_SEARCHPATH) || defined(PROTO)
--- a/src/proto.h
+++ b/src/proto.h
@@ -62,9 +62,6 @@ extern int _stricoll __ARGS((char *a, ch
 # ifdef __BEOS__
 #  include "os_beos.pro"
 # endif
-# ifdef RISCOS
-#  include "os_riscos.pro"
-# endif
 # ifdef __QNX__
 #  include "os_qnx.pro"
 # endif
@@ -245,9 +242,6 @@ extern char *vim_SelFile __ARGS((Widget 
 #  ifdef FEAT_GUI_X11
 #   include "gui_x11.pro"
 #  endif
-#  ifdef RISCOS
-#   include "gui_riscos.pro"
-#  endif
 #  ifdef FEAT_GUI_PHOTON
 #   include "gui_photon.pro"
 #  endif
--- a/src/quickfix.c
+++ b/src/quickfix.c
@@ -1182,21 +1182,17 @@ qf_get_fnum(directory, fname)
     if (fname == NULL || *fname == NUL)		/* no file name */
 	return 0;
     {
-#ifdef RISCOS
-	/* Name is reported as `main.c', but file is `c.main' */
-	return ro_buflist_add(fname);
-#else
 	char_u	    *ptr;
 	int	    fnum;
 
-# ifdef VMS
+#ifdef VMS
 	vms_remove_version(fname);
-# endif
-# ifdef BACKSLASH_IN_FILENAME
+#endif
+#ifdef BACKSLASH_IN_FILENAME
 	if (directory != NULL)
 	    slash_adjust(directory);
 	slash_adjust(fname);
-# endif
+#endif
 	if (directory != NULL && !vim_isAbsName(fname)
 		&& (ptr = concat_fnames(directory, fname, TRUE)) != NULL)
 	{
@@ -1221,7 +1217,6 @@ qf_get_fnum(directory, fname)
 	    return fnum;
 	}
 	return buflist_add(fname, 0);
-#endif
     }
 }
 
--- a/src/search.c
+++ b/src/search.c
@@ -4581,9 +4581,6 @@ find_pattern_in_path(ptr, dir, len, whol
     char_u	*already = NULL;
     char_u	*startp = NULL;
     char_u	*inc_opt = NULL;
-#ifdef RISCOS
-    int		previous_munging = __riscosify_control;
-#endif
 #if defined(FEAT_WINDOWS) && defined(FEAT_QUICKFIX)
     win_T	*curwin_save = NULL;
 #endif
@@ -4596,11 +4593,6 @@ find_pattern_in_path(ptr, dir, len, whol
     if (file_line == NULL)
 	return;
 
-#ifdef RISCOS
-    /* UnixLib knows best how to munge c file names - turn munging back on. */
-    int __riscosify_control = 0;
-#endif
-
     if (type != CHECK_PATH && type != FIND_DEFINE
 #ifdef FEAT_INS_EXPAND
 	/* when CONT_SOL is set compare "ptr" with the beginning of the line
@@ -5228,11 +5220,6 @@ fpip_end:
     vim_free(regmatch.regprog);
     vim_free(incl_regmatch.regprog);
     vim_free(def_regmatch.regprog);
-
-#ifdef RISCOS
-   /* Restore previous file munging state. */
-    __riscosify_control = previous_munging;
-#endif
 }
 
     static void
--- a/src/structs.h
+++ b/src/structs.h
@@ -2366,11 +2366,6 @@ struct VimMenu
     MenuHandle	menu_handle;
     MenuHandle	submenu_handle;
 #endif
-#ifdef RISCOS
-    int		*id;		    /* Not used, but gui.c needs it */
-    int		greyed_out;	    /* Flag */
-    int		hidden;
-#endif
 #ifdef FEAT_GUI_PHOTON
     PtWidget_t	*id;
     PtWidget_t	*submenu_id;
--- a/src/term.c
+++ b/src/term.c
@@ -52,7 +52,7 @@
 
 /*
  * Here are the builtin termcap entries.  They are not stored as complete
- * Tcarr structures, as such a structure is too big.
+ * structures with all entries, as such a structure is too big.
  *
  * The entries are compact, therefore they normally are included even when
  * HAVE_TGETENT is defined. When HAVE_TGETENT is defined, the builtin entries
@@ -199,71 +199,6 @@ static struct builtin_term builtin_termc
 #endif
 
 #ifndef NO_BUILTIN_TCAPS
-# if defined(RISCOS) || defined(ALL_BUILTIN_TCAPS)
-/*
- * Default for the Acorn.
- */
-    {(int)KS_NAME,	"riscos"},
-    {(int)KS_CL,	"\014"},		/* Cls and Home Cursor */
-    {(int)KS_CM,	"\001%d\001%d\002"},	/* Position cursor */
-
-    {(int)KS_CCO,	"16"},			/* Allow 16 colors */
-
-    {(int)KS_CAF,	"\001%d\021"},		/* Set foreground colour */
-    {(int)KS_CAB,	"\001%d\022"},		/* Set background colour */
-
-
-    {(int)KS_ME,	"\004"},		/* Normal mode */
-    {(int)KS_MR,	"\005"},		/* Reverse */
-
-    {(int)KS_VI,	"\016"},		/* Cursor invisible */
-    {(int)KS_VE,	"\017"},		/* Cursor visible */
-    {(int)KS_VS,	"\020"},		/* Cursor very visible */
-
-    {(int)KS_CS,	"\001%d\001%d\003"},	/* Set scroll region */
-    {(int)KS_SR,	"\023"},		/* Scroll text down */
-    {K_UP,		"\217"},
-    {K_DOWN,		"\216"},
-    {K_LEFT,		"\214"},
-    {K_RIGHT,		"\215"},
-    {K_S_UP,		"\237"},
-    {K_S_DOWN,		"\236"},
-    {K_S_LEFT,		"\234"},
-    {K_S_RIGHT,		"\235"},
-
-    {K_F1,		"\201"},
-    {K_F2,		"\202"},
-    {K_F3,		"\203"},
-    {K_F4,		"\204"},
-    {K_F5,		"\205"},
-    {K_F6,		"\206"},
-    {K_F7,		"\207"},
-    {K_F8,		"\210"},
-    {K_F9,		"\211"},
-    {K_F10,		"\312"},
-    {K_F11,		"\313"},
-    {K_F12,		"\314"},
-    {K_S_F1,		"\221"},
-    {K_S_F2,		"\222"},
-    {K_S_F3,		"\223"},
-    {K_S_F4,		"\224"},
-    {K_S_F5,		"\225"},
-    {K_S_F6,		"\226"},
-    {K_S_F7,		"\227"},
-    {K_S_F8,		"\230"},
-    {K_S_F9,		"\231"},
-    {K_S_F10,		"\332"},
-    {K_S_F11,		"\333"},
-    {K_S_F12,		"\334"},
-    {K_BS,		"\010"},
-    {K_INS,		"\315"},
-    {K_DEL,		"\177"},
-    {K_HOME,		"\036"},
-    {K_END,		"\213"},
-    {K_PAGEUP,		"\237"},
-    {K_PAGEDOWN,	"\236"},
-# endif	/* Acorn terminal */
-
 
 # if defined(AMIGA) || defined(ALL_BUILTIN_TCAPS)
 /*
@@ -1399,10 +1334,6 @@ static struct builtin_term builtin_termc
 /*
  * DEFAULT_TERM is used, when no terminal is specified with -T option or $TERM.
  */
-#ifdef RISCOS
-# define DEFAULT_TERM	(char_u *)"riscos"
-#endif
-
 #ifdef AMIGA
 # define DEFAULT_TERM	(char_u *)"amiga"
 #endif
--- a/src/termlib.c
+++ b/src/termlib.c
@@ -13,7 +13,7 @@
 #include "vim.h"
 #include "termlib.pro"
 
-#if !defined(AMIGA) && !defined(VMS) && !defined(MACOS) && !defined(RISCOS)
+#if !defined(AMIGA) && !defined(VMS) && !defined(MACOS)
 # include <sgtty.h>
 #endif
 
--- a/src/version.c
+++ b/src/version.c
@@ -715,6 +715,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    187,
+/**/
     186,
 /**/
     185,
@@ -1205,9 +1207,6 @@ list_version()
 # endif
 #endif
 
-#ifdef RISCOS
-    MSG_PUTS(_("\nRISC OS version"));
-#endif
 #ifdef VMS
     MSG_PUTS(_("\nOpenVMS version"));
 # ifdef HAVE_PATHDEF
--- a/src/vim.h
+++ b/src/vim.h
@@ -184,9 +184,6 @@
 #  define SIZEOF_INT 2
 # endif
 #endif
-#ifdef RISCOS
-# define SIZEOF_INT 4
-#endif
 
 
 #include "feature.h"	/* #defines for optionals and features */
@@ -340,10 +337,6 @@
 # include "os_mac.h"
 #endif
 
-#ifdef RISCOS
-# include "os_riscos.h"
-#endif
-
 #ifdef __QNX__
 # include "os_qnx.h"
 #endif