To: [email protected]
Subject: Patch 6.1b.003 (extra)
Fcc: outbox
From: Bram Moolenaar <[email protected]>
MIME-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------

Patch 6.1b.003 (extra)
Problem:    The RISC OS GUI doesn't compile.
Solution:   Include changes since Vim 5.7. (Andy Wingate)
Files:      src/Make_ro.mak, src/gui_riscos.c, src/os_riscos.c,
           src/os_riscos.h, src/proto/gui_riscos.pro


*** ../vim61b.002/src/Make_ro.mak       Sat Mar  9 18:30:48 2002
--- src/Make_ro.mak     Mon Mar 11 22:10:01 2002
***************
*** 3,9 ****
 #

 GCC         = gcc -mthrowback
! CFLAGS     = -DRISCOS -DUSE_GUI
 # Optimising on ex_docmd.c seems to cause segfaults on compilation. Needs investigation.
 CCEX_DOCMD = $(GCC) $(CFLAGS)
 CC         = $(GCC) $(CFLAGS) -O2
--- 3,9 ----
 #

 GCC         = gcc -mthrowback
! CFLAGS     = -DRISCOS -DFEAT_GUI
 # Optimising on ex_docmd.c seems to cause segfaults on compilation. Needs investigation.
 CCEX_DOCMD = $(GCC) $(CFLAGS)
 CC         = $(GCC) $(CFLAGS) -O2
***************
*** 20,31 ****
       o.syntax o.tag o.term o.termlib o.ui o.undo o.version o.window  \
       o.os_riscos o.swis o.gui o.gui_riscos

! all: $(OBJS)
       $(GCC) -o Vim $(OBJS)

 install: Vim
       squeeze -v Vim @.!Vim.Vim

 o.swis: s.swis
       as $(ASMFLAGS) -o o.swis s.swis

--- 20,36 ----
       o.syntax o.tag o.term o.termlib o.ui o.undo o.version o.window  \
       o.os_riscos o.swis o.gui o.gui_riscos

! Vim: $(OBJS)
       $(GCC) -o Vim $(OBJS)

 install: Vim
       squeeze -v Vim @.!Vim.Vim

+ clean:
+       create o.!fake! 0
+       wipe o.* ~cf
+       remove Vim
+
 o.swis: s.swis
       as $(ASMFLAGS) -o o.swis s.swis

***************
*** 73,82 ****
       $(CC) -c c.getchar -o o.getchar

 o.gui:                c.gui
!       $(CC) -v -c c.gui -o o.gui

 o.gui_riscos: c.gui_riscos
!       $(CC) -v -c c.gui_riscos -o o.gui_riscos

 o.main:               c.main
       $(CC) -c c.main -o o.main
--- 78,87 ----
       $(CC) -c c.getchar -o o.getchar

 o.gui:                c.gui
!       $(CC) -c c.gui -o o.gui

 o.gui_riscos: c.gui_riscos
!       $(CC) -c c.gui_riscos -o o.gui_riscos

 o.main:               c.main
       $(CC) -c c.main -o o.main
*** ../vim61b.002/src/gui_riscos.c      Thu Feb 21 21:08:45 2002
--- src/gui_riscos.c    Mon Mar 11 22:10:01 2002
***************
*** 14,19 ****
--- 14,20 ----
  * gui_riscos.c
  *
  * Thomas Leonard <[email protected]>
+  * Updated by Andy Wingate <[email protected]>
  */

 extern int time_of_last_poll;
***************
*** 1786,1792 ****
       modifiers ^= MOUSE_SHIFT;
       if (modifiers && MOUSE_SHIFT)
       {
!           VimMenu     main;
           /* Shift was NOT pressed - show menu */
           main.dname = (char_u *) "Vim";
           main.children = root_menu;
--- 1787,1793 ----
       modifiers ^= MOUSE_SHIFT;
       if (modifiers && MOUSE_SHIFT)
       {
!           vimmenu_T   main;
           /* Shift was NOT pressed - show menu */
           main.dname = (char_u *) "Vim";
           main.children = root_menu;
***************
*** 2562,2573 ****
     void
 gui_mch_delete_lines(int row, int num_lines)
 {
-     swi(ColourTrans_SetGCOL, gui.back_pixel << 8, 0, 0, 0x80, 0);
-
     int top_from = -row - num_lines;
     int bot_from = -gui.scroll_region_bot - 1;
     int bot_to   = bot_from + num_lines;

     /* Changed without checking! */
     swi(Wimp_BlockCopy, gui.window_handle,
                           gui.scroll_region_left * gui.char_width,
--- 2563,2574 ----
     void
 gui_mch_delete_lines(int row, int num_lines)
 {
     int top_from = -row - num_lines;
     int bot_from = -gui.scroll_region_bot - 1;
     int bot_to   = bot_from + num_lines;

+     swi(ColourTrans_SetGCOL, gui.back_pixel << 8, 0, 0, 0x80, 0);
+
     /* Changed without checking! */
     swi(Wimp_BlockCopy, gui.window_handle,
                           gui.scroll_region_left * gui.char_width,
***************
*** 2591,2601 ****
     void
 gui_mch_insert_lines(int row, int num_lines)
 {
-     swi(ColourTrans_SetGCOL, gui.back_pixel << 8, 0, 0, 0x80, 0);
-
     int top_from = -row;
     int bot_to   = -gui.scroll_region_bot - 1;
     int bot_from = bot_to + num_lines;

     swi(Wimp_BlockCopy, gui.window_handle,
                           gui.scroll_region_left * gui.char_width,
--- 2592,2602 ----
     void
 gui_mch_insert_lines(int row, int num_lines)
 {
     int top_from = -row;
     int bot_to   = -gui.scroll_region_bot - 1;
     int bot_from = bot_to + num_lines;
+
+     swi(ColourTrans_SetGCOL, gui.back_pixel << 8, 0, 0, 0x80, 0);

     swi(Wimp_BlockCopy, gui.window_handle,
                           gui.scroll_region_left * gui.char_width,
*** ../vim61b.002/src/os_riscos.c       Sun Feb 17 15:32:34 2002
--- src/os_riscos.c     Mon Mar 11 22:10:01 2002
***************
*** 15,20 ****
--- 15,21 ----
  * Thomas Leonard <[email protected]>
  */

+ const char *__dynamic_da_name = "Vim heap"; /* Enable and name our dynamic area */
 int ro_line_mode = TRUE;  /* For Ex mode we much echo chars to the screen ourselves */
 int windowed;         /* Flag - are we running inside a text window? */
 int WinLeft, WinTop;  /* We might be started inside a text window */
*** ../vim61b.002/src/os_riscos.h       Sun Feb 17 15:32:27 2002
--- src/os_riscos.h     Mon Mar 11 22:10:01 2002
***************
*** 46,52 ****
 #endif

 #ifndef DFLT_VDIR
! # define DFLT_VDIR    "Choices:Vim.vimfiles/view"     /* default for 'viewdir' */
 #endif

 #ifndef TERMCAPFILE
--- 46,52 ----
 #endif

 #ifndef DFLT_VDIR
! # define DFLT_VDIR    "Choices:Vim.view"      /* default for 'viewdir' */
 #endif

 #ifndef TERMCAPFILE
***************
*** 130,136 ****
 #endif

 #define DFLT_ERRORFILE                "errors/vim"
! #define DFLT_RUNTIMEPATH      "Choices:Vim.vimfiles,$VIMRUNTIME,Choices:Vim.vimfiles/after"

 /*
  * RISC PCs have plenty of memory, use large buffers
--- 130,136 ----
 #endif

 #define DFLT_ERRORFILE                "errors/vim"
! #define DFLT_RUNTIMEPATH      "Choices:Vim,Vim:,Choices:Vim.after"

 /*
  * RISC PCs have plenty of memory, use large buffers
*** ../vim61b.002/src/proto/gui_riscos.pro      Fri Aug 24 15:22:45 2001
--- src/proto/gui_riscos.pro    Mon Mar 11 22:10:12 2002
***************
*** 1,54 ****
! /* Prototypes.
!  * Stolen from gui_x11_pro.h
  */
! void gui_mch_prepare (int *argc, char **argv);
! int gui_mch_init (void);
! void gui_mch_new_colors (void);
! int gui_mch_open (void);
! void gui_mch_exit (int rc);
! void gui_mch_set_winsize (int width, int height, int min_width, int min_height, int base_width, int base_height);
! void gui_mch_get_winpos __ARGS((int *x, int *y));
 void gui_mch_set_winpos __ARGS((int x, int y));
! void gui_mch_get_screen_dimensions (int *screen_w, int *screen_h);
! int gui_mch_init_font (char_u *font_name);
! GuiFont gui_mch_get_font (char_u *name, int giveErrorIfMissing);
! void gui_mch_set_font (GuiFont font);
! int gui_mch_same_font (GuiFont f1, GuiFont f2);
! void gui_mch_free_font (GuiFont font);
! GuiColor gui_mch_get_color (char_u *name);
! void gui_mch_set_colors (GuiColor gf, GuiColor bg);
! void gui_mch_draw_string (int row, int col, char_u *s, int len, int flags);
! int gui_mch_haskey (char_u *name);
! void gui_mch_beep (void);
! void gui_mch_flash (int msec);
! void gui_mch_invert_rectangle (int r, int c, int nr, int nc);
! void gui_mch_iconify (void);
! void gui_mch_draw_hollow_cursor (GuiColor color);
! void gui_mch_draw_part_cursor (int w, int h, GuiColor color);
! void gui_mch_update (void);
! int gui_mch_wait_for_chars (long wtime);
! void gui_mch_flush (void);
! void gui_mch_clear_block (int row1, int col1, int row2, int col2);
! void gui_mch_clear_all (void);
! void gui_mch_delete_lines (int row, int num_lines);
! void gui_mch_insert_lines (int row, int num_lines);
! void clip_mch_request_selection (void);
! void clip_mch_lose_selection (void);
! int clip_mch_own_selection (void);
! void clip_mch_set_selection (void);
! void gui_mch_menu_grey (GuiMenu *menu, int grey);
! void gui_mch_menu_hidden (GuiMenu *menu, int hidden);
! void gui_mch_draw_menubar (void);
! void gui_mch_enable_scrollbar (GuiScrollbar *sb, int flag);
! void gui_mch_set_blinking (long waittime, long on, long off);
! void gui_mch_stop_blink (void);
! void gui_mch_start_blink (void);
! int gui_mch_get_lightness (GuiColor pixel);
! long_u gui_mch_get_rgb (GuiColor pixel);
! void gui_mch_show_popupmenu(GuiMenu *menu);

! void process_event(int event, int *block);
! void plot_rectangle(int plot, int col, int minx, int miny, int maxx, int maxy);
! void ro_redraw_title(int window);
! char_u *gui_mch_browse (int saving, char_u *title, char_u *dflt, char_u *ext, char_u *initdir, char_u *filter);
! int ro_ok_to_quit(void);
--- 1,67 ----
! /* Prototypes for gui_riscos.c
!  * Based on gui_x11_pro.h (10 March 2002 version)
  */
! void gui_mch_prepare __ARGS((int *argc, char **argv));
! int gui_mch_init_check __ARGS((void));
! int gui_mch_init __ARGS((void));
! void gui_mch_uninit __ARGS((void));
! void gui_mch_new_colors __ARGS((void));
! int gui_mch_open __ARGS((void));
! void gui_init_tooltip_font __ARGS((void));
! void gui_init_menu_font __ARGS((void));void gui_mch_exit __ARGS((int rc));
! int gui_mch_get_winpos __ARGS((int *x, int *y));
 void gui_mch_set_winpos __ARGS((int x, int y));
! void gui_mch_set_shellsize __ARGS((int width, int height, int min_width, int min_height, int base_width, int base_height));
! void gui_mch_get_screen_dimensions __ARGS((int *screen_w, int *screen_h));
! int gui_mch_init_font __ARGS((char_u *font_name, int do_fontset));
! GuiFont gui_mch_get_font __ARGS((char_u *name, int giveErrorIfMissing));
! int gui_mch_adjust_charsize __ARGS((void));
! void gui_mch_set_font __ARGS((GuiFont font));
! void gui_mch_set_fontset __ARGS((GuiFontset fontset));
! void gui_mch_free_font __ARGS((GuiFont font));
! void gui_mch_free_fontset __ARGS((GuiFontset fontset));
! GuiFontset gui_mch_get_fontset __ARGS((char_u *name, int giveErrorIfMissing, int fixed_width));
! guicolor_T gui_mch_get_color __ARGS((char_u *reqname));
! void gui_mch_set_fg_color __ARGS((guicolor_T color));
! void gui_mch_set_bg_color __ARGS((guicolor_T color));
! void gui_mch_draw_string __ARGS((int row, int col, char_u *s, int len, int flags));
! int gui_mch_haskey __ARGS((char_u *name));
! void gui_mch_beep __ARGS((void));
! void gui_mch_flash __ARGS((int msec));
! void gui_mch_invert_rectangle __ARGS((int r, int c, int nr, int nc));
! void gui_mch_iconify __ARGS((void));
! void gui_mch_set_foreground __ARGS((void));
! void gui_mch_draw_hollow_cursor __ARGS((guicolor_T color));
! void gui_mch_draw_part_cursor __ARGS((int w, int h, guicolor_T color));
! void gui_mch_update __ARGS((void));
! int gui_mch_wait_for_chars __ARGS((long wtime));
! void gui_mch_flush __ARGS((void));
! void gui_mch_clear_block __ARGS((int row1, int col1, int row2, int col2));
! void gui_mch_clear_all __ARGS((void));
! void gui_mch_delete_lines __ARGS((int row, int num_lines));
! void gui_mch_insert_lines __ARGS((int row, int num_lines));
! void clip_mch_lose_selection __ARGS((VimClipboard *cbd));
! int clip_mch_own_selection __ARGS((VimClipboard *cbd));
! void clip_mch_request_selection __ARGS((VimClipboard *cbd));
! void clip_mch_set_selection __ARGS((VimClipboard *cbd));
! void gui_mch_menu_grey __ARGS((vimmenu_T *menu, int grey));
! void gui_mch_menu_hidden __ARGS((vimmenu_T *menu, int hidden));
! void gui_mch_draw_menubar __ARGS((void));
! void gui_mch_set_blinking __ARGS((long waittime, long on, long off));
! void gui_mch_stop_blink __ARGS((void));
! void gui_mch_start_blink __ARGS((void));
! void process_event __ARGS((int event, int *block));
! void gui_mch_show_popupmenu __ARGS((vimmenu_T *menu));
! long_u gui_mch_get_rgb __ARGS((guicolor_T pixel));
! int gui_mch_get_mouse_x __ARGS((void));
! int gui_mch_get_mouse_y __ARGS((void));
! void gui_mch_setmouse __ARGS((int x, int y));
! void gui_mch_drawsign __ARGS((int row, int col, int typenr));
! void gui_mch_destroy_sign __ARGS((XImage *sign));
! void gui_mch_mousehide __ARGS((int hide));
! void mch_set_mouse_shape __ARGS((int shape));
! void gui_mch_menu_set_tip __ARGS((vimmenu_T *menu));

! void ro_redraw_title __ARGS((int window));
! int ro_ok_to_quit __ARGS((void));
! /* vim: set ft=c : */
*** ../vim61b.002/src/version.c Mon Mar 11 22:07:19 2002
--- src/version.c       Mon Mar 11 22:10:24 2002
***************
*** 608,609 ****
--- 608,611 ----
 {   /* Add new patch number below this line */
+ /**/
+     3,
 /**/

--
hundred-and-one symptoms of being an internet addict:
251. You've never seen your closest friends who usually live WAY too far away.

///  Bram Moolenaar -- [email protected] -- http://www.moolenaar.net  \\\
///   Creator of Vim -- http://vim.sf.net -- ftp://ftp.vim.org/pub/vim   \\\
\\\           Project leader for A-A-P -- http://www.a-a-p.org           ///
\\\  Help me helping AIDS orphans in Uganda - http://iccf-holland.org  ///