Patch 8.2.0622
Problem:    Haiku: GUI does not compile.
Solution:   Various fixes. (Emir Sari, closes #5961)
Files:      Filelist, README.md, READMEdir/README_haiku.txt,
            runtime/doc/os_haiku.txt, src/Makefile, src/beval.h,
            src/gui_haiku.cc, src/proto/gui_haiku.pro


*** ../vim-8.2.0621/Filelist    2020-04-05 20:20:40.100596581 +0200
--- Filelist    2020-04-23 15:30:38.312889184 +0200
***************
*** 607,612 ****
--- 607,613 ----
  
  # source files for Haiku (also in the extra archive)
  SRC_HAIKU =   \
+               README_haiku.txt \
                src/os_haiku.h \
                src/os_haiku.rdef \
                src/gui_haiku.cc \
*** ../vim-8.2.0621/README.md   2020-01-26 15:52:33.007833314 +0100
--- README.md   2020-04-23 15:30:38.312889184 +0200
***************
*** 26,33 ****
  with ten fingers can work very fast.  Additionally, function keys can be
  mapped to commands by the user, and the mouse can be used.
  
! Vim runs under MS-Windows (XP, Vista, 7, 8, 10), macOS, VMS and almost all
! flavours of UNIX.  Porting to other systems should not be very difficult.
  Older versions of Vim run on MS-DOS, MS-Windows 95/98/Me/NT/2000, Amiga DOS,
  Atari MiNT, BeOS, RISC OS and OS/2.  These are no longer maintained.
  
--- 26,33 ----
  with ten fingers can work very fast.  Additionally, function keys can be
  mapped to commands by the user, and the mouse can be used.
  
! Vim runs under MS-Windows (XP, Vista, 7, 8, 10), macOS, Haiku, VMS and almost
! all flavours of UNIX.  Porting to other systems should not be very difficult.
  Older versions of Vim run on MS-DOS, MS-Windows 95/98/Me/NT/2000, Amiga DOS,
  Atari MiNT, BeOS, RISC OS and OS/2.  These are no longer maintained.
  
***************
*** 72,77 ****
--- 72,78 ----
        README_unix.txt         Unix
        README_dos.txt          MS-DOS and MS-Windows
        README_mac.txt          Macintosh
+       README_haiku.txt        Haiku
        README_vms.txt          VMS
  
  There are other `README_*.txt` files, depending on the distribution you used.
*** ../vim-8.2.0621/READMEdir/README_haiku.txt  2020-04-23 15:40:27.415489349 
+0200
--- READMEdir/README_haiku.txt  2020-04-23 15:30:38.312889184 +0200
***************
*** 0 ****
--- 1,13 ----
+ README_haiku.txt for version 8.2 of Vim: Vi IMproved.
+ 
+ This file explains the installation of Vim on Haiku operating system.
+ See "README.txt" for general information about Vim.
+ 
+ Preferred (and easy) way to get Vim on Haiku is to use default Haiku
+ software repository HaikuPorts. To get Vim:
+ 
+ - Open HaikuDepot application and search for "vim" package, then install,
+ - Open a Terminal and type "pkgman install vim", then follow instructions.
+ 
+ If you prefer to install Vim from source, follow the instructions on
+ "runtime/doc/os_haiku.txt", "Compiling Haiku" section.
*** ../vim-8.2.0621/runtime/doc/os_haiku.txt    2020-02-26 16:15:31.064386980 
+0100
--- runtime/doc/os_haiku.txt    2020-04-23 15:30:38.312889184 +0200
***************
*** 1,4 ****
! *os_haiku.txt*        For Vim version 8.2.  Last change: 2020 Feb 26
  
  
                  VIM REFERENCE MANUAL    by Bram Moolenaar
--- 1,4 ----
! *os_haiku.txt*        For Vim version 8.2.  Last change: 2020 Mar 19
  
  
                  VIM REFERENCE MANUAL    by Bram Moolenaar
***************
*** 16,22 ****
   2. Compiling Vim             |haiku-compiling|
   3. The Haiku GUI             |haiku-gui|
   4. The $VIM directory                |haiku-vimdir|
!  5. The $BE_USER_SETTINGS
      directory                 |haiku-user-settings-dir|
   6. Drag & Drop                       |haiku-dragndrop|
   7. Single Launch vs. Multiple
--- 16,22 ----
   2. Compiling Vim             |haiku-compiling|
   3. The Haiku GUI             |haiku-gui|
   4. The $VIM directory                |haiku-vimdir|
!  5. The $USER_SETTINGS_DIR
      directory                 |haiku-user-settings-dir|
   6. Drag & Drop                       |haiku-dragndrop|
   7. Single Launch vs. Multiple
***************
*** 26,32 ****
  10. Mouse key mappings                |haiku-mouse|
  11. Color names                       |haiku-colors|
  12. Credits                   |haiku-support-credits|
! 13. Bugs & things To Do               |haiku-bugs|
  
  
  1. General                                            *haiku-general*
--- 26,32 ----
  10. Mouse key mappings                |haiku-mouse|
  11. Color names                       |haiku-colors|
  12. Credits                   |haiku-support-credits|
! 13. Bugs & to-do              |haiku-bugs|
  
  
  1. General                                            *haiku-general*
***************
*** 44,51 ****
  vim with the Haiku GUI support.  Run ./configure --help , to find out other
  features you can enable/disable.
  
  Now you should use "make" to compile Vim, then "make install" to install it.
! For seamless integration into the Haiku the GUI-less vim binary should be
  additionally installed over the GUI version. Typical build commands are: >
  
    ./configure --prefix=`finddir B_SYSTEM_NONPACKAGED_DIRECTORY` \
--- 44,55 ----
  vim with the Haiku GUI support.  Run ./configure --help , to find out other
  features you can enable/disable.
  
+ Haiku uses "ncurses6" as its terminal library, therefore you need to have
+ "ncurses6_devel" package installed from HaikuDepot in order to configure
+ the Haiku build.
+ 
  Now you should use "make" to compile Vim, then "make install" to install it.
! For seamless integration into Haiku, the GUI-less vim binary should be
  additionally installed over the GUI version. Typical build commands are: >
  
    ./configure --prefix=`finddir B_SYSTEM_NONPACKAGED_DIRECTORY` \
***************
*** 78,97 ****
    still playing with the scrollbar it won't change it itself. I provided a
    workaround which kicks in when the window is activated or deactivated (so it
    works best with focus- follows-mouse turned on).
! - The cursor does not flash (very low priority; I'm not sure I even like it
!   when it flashes)
  
  
  4. The $VIM directory                                 *haiku-vimdir*
  
! $VIM is the symbolic name for the place where Vims support files are stored.
  The default value for $VIM is set at compile time and can be determined with >
  
    :version
  
! The normal value is /boot/common/data/vim.  If you don't like it you can
! set the VIM environment variable to override this, or set 'helpfile' in your
! .vimrc: >
  
    :if version >= 500
    :    set helpfile=~/vim/runtime/doc/help.txt
--- 82,101 ----
    still playing with the scrollbar it won't change it itself. I provided a
    workaround which kicks in when the window is activated or deactivated (so it
    works best with focus- follows-mouse turned on).
! - The cursor does not flash.
  
  
  4. The $VIM directory                                 *haiku-vimdir*
  
! $VIM is the symbolic name for the place where Vim's support files are stored.
  The default value for $VIM is set at compile time and can be determined with >
  
    :version
  
! The normal value is /boot/system/data/vim for Haikuports version, 
! /boot/system/non-packaged/data/vim for manual builds.  If you don't like it
! you can set the VIM environment variable to override this, or set 'helpfile'
! in your .vimrc: >
  
    :if version >= 500
    :    set helpfile=~/vim/runtime/doc/help.txt
***************
*** 216,228 ****
  Thank you, all!
  
  
! 13. Bugs & things To Do                                       *haiku-bugs*
! 
! The port is under development now and far away from the perfect state. Bug
! reports, patches and wishes are welcome.
! 
! 
!  -Siarzhuk Zharski <[email protected]>
  
  
   vim:tw=78:ts=8:ft=help:norl:
--- 220,233 ----
  Thank you, all!
  
  
! 13. Bugs & to-do                                      *haiku-bugs*
!  
! The port is under development now and far away from the perfect state. For bug
! reports, patches and wishes, please use the Vim mailing list or Vim Github
! repository.
!  
! Mailing list: https://www.vim.org/maillist.php
! Vim Github repository: https://github.com/vim/vim
  
  
   vim:tw=78:ts=8:ft=help:norl:
*** ../vim-8.2.0621/src/Makefile        2020-04-23 14:41:42.843059324 +0200
--- src/Makefile        2020-04-23 15:30:38.312889184 +0200
***************
*** 1404,1411 ****
  HAIKUGUI_BUNDLE =
  
  # All GUI files
! ALL_GUI_SRC  = gui.c gui_gtk.c gui_gtk_f.c gui_motif.c gui_xmdlg.c 
gui_xmebw.c gui_athena.c gui_gtk_x11.c gui_x11.c gui_at_sb.c gui_at_fs.c
! ALL_GUI_PRO  = gui.pro gui_gtk.pro gui_motif.pro gui_xmdlg.pro gui_athena.pro 
gui_gtk_x11.pro gui_x11.pro gui_w32.pro gui_photon.pro
  
  # }}}
  
--- 1404,1411 ----
  HAIKUGUI_BUNDLE =
  
  # All GUI files
! ALL_GUI_SRC  = gui.c gui_gtk.c gui_gtk_f.c gui_motif.c gui_xmdlg.c 
gui_xmebw.c gui_athena.c gui_gtk_x11.c gui_x11.c gui_at_sb.c gui_at_fs.c 
gui_haiku.cc
! ALL_GUI_PRO  = gui.pro gui_gtk.pro gui_motif.pro gui_xmdlg.pro gui_athena.pro 
gui_gtk_x11.pro gui_x11.pro gui_w32.pro gui_photon.pro gui_haiku.pro
  
  # }}}
  
*** ../vim-8.2.0621/src/beval.h 2020-01-26 21:59:25.620718163 +0100
--- src/beval.h 2020-04-23 15:30:38.312889184 +0200
***************
*** 79,84 ****
--- 79,88 ----
  #ifdef FEAT_GUI_MSWIN
      void              *tofree;
  #endif
+ #ifdef FEAT_GUI_HAIKU
+     int                       x;
+     int                       y;
+ #endif
  } BalloonEval;
  
  #define EVAL_OFFSET_X 15 // displacement of beval topleft corner from pointer
*** ../vim-8.2.0621/src/gui_haiku.cc    2020-02-26 16:15:31.072386953 +0100
--- src/gui_haiku.cc    2020-04-23 15:38:39.399738387 +0200
***************
*** 2916,2921 ****
--- 2916,2922 ----
                        menu->button = NULL;
                }
        }
+       return true;
  }
  
        bool
***************
*** 2926,2931 ****
--- 2927,2933 ----
                if(index >= 0)
                        menu->button->SetEnabled(grey ? false : true);
        }
+       return true;
  }
  
        void
***************
*** 3563,3569 ****
                gui.vimTextArea->MoveTo(x, y);
                gui.vimTextArea->ResizeTo(w - PEN_WIDTH, h - PEN_WIDTH);
  
! /*#ifdef FEAT_GUI_TABLINE
                if(gui.vimForm->TabLine() != NULL) {
                        gui.vimForm->TabLine()->ResizeTo(w, 
gui.vimForm->TablineHeight());
                }
--- 3565,3571 ----
                gui.vimTextArea->MoveTo(x, y);
                gui.vimTextArea->ResizeTo(w - PEN_WIDTH, h - PEN_WIDTH);
  
! #ifdef FEAT_GUI_TABLINE
                if(gui.vimForm->TabLine() != NULL) {
                        gui.vimForm->TabLine()->ResizeTo(w, 
gui.vimForm->TablineHeight());
                }
***************
*** 3679,3685 ****
        }
  }
  
! #if defined(FEAT_WINDOWS) || defined(PROTO)
  void
  gui_mch_destroy_scrollbar(
                scrollbar_T     *sb)
--- 3681,3687 ----
        }
  }
  
! #if defined(FEAT_WINDOWS) || defined(FEAT_GUI_HAIKU) || defined(PROTO)
  void
  gui_mch_destroy_scrollbar(
                scrollbar_T     *sb)
***************
*** 3736,3742 ****
   * Stop the cursor blinking.  Show the cursor if it wasn't shown.
   */
        void
! gui_mch_stop_blink()
  {
        // TODO
        if (blink_timer != 0)
--- 3738,3744 ----
   * Stop the cursor blinking.  Show the cursor if it wasn't shown.
   */
        void
! gui_mch_stop_blink(int may_call_gui_update_cursor)
  {
        // TODO
        if (blink_timer != 0)
***************
*** 3870,3876 ****
                hl_set_font_name((char_u*)font_name);
  
                //  Set guifont to the name of the selected font.
!               char_u* new_p_guifont = alloc(STRLEN(font_name) + 1);
                if (new_p_guifont != NULL) {
                        STRCPY(new_p_guifont, font_name);
                        vim_free(p_guifont);
--- 3872,3878 ----
                hl_set_font_name((char_u*)font_name);
  
                //  Set guifont to the name of the selected font.
!               char_u* new_p_guifont = (char_u*)alloc(STRLEN(font_name) + 1);
                if (new_p_guifont != NULL) {
                        STRCPY(new_p_guifont, font_name);
                        vim_free(p_guifont);
***************
*** 4488,4494 ****
                        if (gui.in_focus)
                                gui_mch_start_blink();
                        else
!                               gui_mch_stop_blink();
                        focus = gui.in_focus;
                }
  
--- 4490,4496 ----
                        if (gui.in_focus)
                                gui_mch_start_blink();
                        else
!                               gui_mch_stop_blink(TRUE);
                        focus = gui.in_focus;
                }
  
*** ../vim-8.2.0621/src/proto/gui_haiku.pro     2020-02-26 16:15:31.072386953 
+0100
--- src/proto/gui_haiku.pro     2020-04-23 15:30:38.312889184 +0200
***************
*** 6,12 ****
  void gui_mch_exit(int vim_exitcode);
  int gui_mch_init_check(void);
  void gui_mch_flush(void);
! 
  void gui_mch_new_colors(void);
  void gui_mch_set_bg_color(guicolor_T color);
  void gui_mch_set_fg_color(guicolor_T color);
--- 6,12 ----
  void gui_mch_exit(int vim_exitcode);
  int gui_mch_init_check(void);
  void gui_mch_flush(void);
! int gui_mch_is_blink_off(void);
  void gui_mch_new_colors(void);
  void gui_mch_set_bg_color(guicolor_T color);
  void gui_mch_set_fg_color(guicolor_T color);
*** ../vim-8.2.0621/src/version.c       2020-04-23 14:41:42.847059320 +0200
--- src/version.c       2020-04-23 15:40:14.279519521 +0200
***************
*** 748,749 ****
--- 748,751 ----
  {   /* Add new patch number below this line */
+ /**/
+     622,
  /**/

-- 
A)bort, R)etry, D)o it right this time

 /// Bram Moolenaar -- [email protected] -- http://www.Moolenaar.net   \\\
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\  an exciting new programming language -- http://www.Zimbu.org        ///
 \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///

-- 
-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- 
You received this message because you are subscribed to the Google Groups 
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/vim_dev/202004231342.03NDgN1O031323%40masaka.moolenaar.net.

Raspunde prin e-mail lui