Loading ...
Sorry, an error occurred while loading the content.
 

Re: [patch] tiny-vim builts with gtk gui

Expand Messages
  • Bram Moolenaar
    ... I cannot reproduce the problem. Does this depend on the version of GTK? I m also using glib-2.0 though. Any other feature that matters? -- In his
    Message 1 of 8 , Jan 17, 2013
      Christian Brabandt wrote:

      > Bram,
      > for some reason or the other, I tried a tiny built. Unexptingly the
      > configure script found gnome libraries and built a version of vim linked
      > against the GTK libraries. That was fine, until I hit E325 Message, when
      > Vim crashed:
      >
      > (process:25595): GLib-GObject-CRITICAL **: /build/buildd/glib2.0-2.34.1/./gobject/gtype.c:2720: You forgot to call g_type_init()
      >
      > (process:25595): GLib-CRITICAL **: g_once_init_leave: assertion `result != 0' failed
      >
      > (process:25595): GLib-GObject-CRITICAL **: /build/buildd/glib2.0-2.34.1/./gobject/gtype.c:2720: You forgot to call g_type_init()
      >
      > (process:25595): GLib-GObject-CRITICAL **: /build/buildd/glib2.0-2.34.1/./gobject/gtype.c:2720: You forgot to call g_type_init()
      >
      > (process:25595): GLib-GObject-CRITICAL **: /build/buildd/glib2.0-2.34.1/./gobject/gtype.c:2720: You forgot to call g_type_init()
      >
      > (process:25595): GLib-GObject-CRITICAL **: g_type_add_interface_static: assertion `G_TYPE_IS_INSTANTIATABLE (instance_type)' failed
      >
      > (process:25595): GLib-GObject-CRITICAL **: /build/buildd/glib2.0-2.34.1/./gobject/gtype.c:2720: You forgot to call g_type_init()
      >
      > (process:25595): GLib-GObject-CRITICAL **: g_type_interface_add_prerequisite: assertion `G_TYPE_IS_INTERFACE (interface_type)' failed
      >
      > (process:25595): GLib-CRITICAL **: g_once_init_leave: assertion `result != 0' failed
      >
      > (process:25595): GLib-GObject-CRITICAL **: g_type_add_interface_static: assertion `G_TYPE_IS_INSTANTIATABLE (instance_type)' failed
      >
      > (process:25595): GLib-GObject-CRITICAL **: /build/buildd/glib2.0-2.34.1/./gobject/gtype.c:2720: You forgot to call g_type_init()
      >
      >
      > This patch fixes it (I think, please check):
      >
      > diff --git a/src/feature.h b/src/feature.h
      > --- a/src/feature.h
      > +++ b/src/feature.h
      > @@ -820,6 +820,7 @@
      > || defined(FEAT_GUI_GTK) || defined(FEAT_GUI_MSWIN) \
      > || defined(FEAT_GUI_PHOTON) || defined(FEAT_GUI_MAC))
      > # define FEAT_GUI_TEXTDIALOG
      > +# define FEAT_CON_DIALOG
      > #endif

      I cannot reproduce the problem. Does this depend on the version of GTK?
      I'm also using glib-2.0 though. Any other feature that matters?

      --
      In his lifetime van Gogh painted 486 oil paintings. Oddly enough, 8975
      of them are to be found in the United States.

      /// Bram Moolenaar -- Bram@... -- 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
    • Christian Brabandt
      Hi Bram! ... If you look at feature.h it is clear, that a gui tiny built does not define FEAT_CON_DIALOG: #ifdef FEAT_NORMAL # if ((defined(FEAT_GUI_ATHENA) ||
      Message 2 of 8 , Jan 17, 2013
        Hi Bram!

        On Do, 17 Jan 2013, Bram Moolenaar wrote:

        > I cannot reproduce the problem. Does this depend on the version of GTK?
        > I'm also using glib-2.0 though. Any other feature that matters?

        If you look at feature.h it is clear, that a gui tiny built does not
        define FEAT_CON_DIALOG:
        #ifdef FEAT_NORMAL
        # if ((defined(FEAT_GUI_ATHENA) || defined(FEAT_GUI_MOTIF)) \
        && defined(HAVE_X11_XPM_H)) \
        || defined(FEAT_GUI_GTK) \
        || defined(FEAT_GUI_PHOTON) \
        || defined(FEAT_GUI_MSWIN) \
        || defined(FEAT_GUI_MAC)
        # define FEAT_CON_DIALOG
        # define FEAT_GUI_DIALOG
        # else
        # define FEAT_CON_DIALOG
        # endif
        #endif
        #if !defined(FEAT_GUI_DIALOG) && (defined(FEAT_GUI_MOTIF) \
        || defined(FEAT_GUI_ATHENA) || defined(FEAT_GUI_GTK) \
        || defined(FEAT_GUI_W32))
        /* need a dialog to show error messages when starting from the desktop */
        # define FEAT_GUI_DIALOG
        #endif
        #if defined(FEAT_GUI_DIALOG) && \
        (defined(FEAT_GUI_MOTIF) || defined(FEAT_GUI_ATHENA) \
        || defined(FEAT_GUI_GTK) || defined(FEAT_GUI_MSWIN) \
        || defined(FEAT_GUI_PHOTON) || defined(FEAT_GUI_MAC))
        # define FEAT_GUI_TEXTDIALOG
        #endif

        and in vim.h

        #if defined(FEAT_GUI_DIALOG) && !defined(FEAT_CON_DIALOG)
        # define do_dialog gui_mch_dialog
        #endif

        :version shows

        [...]
        -cmdline_compl -cmdline_hist -cmdline_info -comments -conceal -cryptv -cscope -cursorbind
        cursorshape +dialog_gui -diff -digraphs +dnd -ebcdic -emacs_tags -eval -ex_extra
        -extra_search
        [...]

        So the when showing the E325 message, the console tiny build will try to
        show a gui-dialog, which does not work.

        Mit freundlichen Grüßen
        Christian
        --
        Letzte Worte eines Chemikers:
        "Mist, falsches Becherglas."

        --
        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
      • Bram Moolenaar
        ... OK, that matches my :version output. So what did you do to trigger that E325 message? -- DINGO: You must spank her well and after you have spanked her
        Message 3 of 8 , Jan 17, 2013
          Christian Brabandt wrote:

          > On Do, 17 Jan 2013, Bram Moolenaar wrote:
          >
          > > I cannot reproduce the problem. Does this depend on the version of GTK?
          > > I'm also using glib-2.0 though. Any other feature that matters?
          >
          > If you look at feature.h it is clear, that a gui tiny built does not
          > define FEAT_CON_DIALOG:
          > #ifdef FEAT_NORMAL
          > # if ((defined(FEAT_GUI_ATHENA) || defined(FEAT_GUI_MOTIF)) \
          > && defined(HAVE_X11_XPM_H)) \
          > || defined(FEAT_GUI_GTK) \
          > || defined(FEAT_GUI_PHOTON) \
          > || defined(FEAT_GUI_MSWIN) \
          > || defined(FEAT_GUI_MAC)
          > # define FEAT_CON_DIALOG
          > # define FEAT_GUI_DIALOG
          > # else
          > # define FEAT_CON_DIALOG
          > # endif
          > #endif
          > #if !defined(FEAT_GUI_DIALOG) && (defined(FEAT_GUI_MOTIF) \
          > || defined(FEAT_GUI_ATHENA) || defined(FEAT_GUI_GTK) \
          > || defined(FEAT_GUI_W32))
          > /* need a dialog to show error messages when starting from the desktop */
          > # define FEAT_GUI_DIALOG
          > #endif
          > #if defined(FEAT_GUI_DIALOG) && \
          > (defined(FEAT_GUI_MOTIF) || defined(FEAT_GUI_ATHENA) \
          > || defined(FEAT_GUI_GTK) || defined(FEAT_GUI_MSWIN) \
          > || defined(FEAT_GUI_PHOTON) || defined(FEAT_GUI_MAC))
          > # define FEAT_GUI_TEXTDIALOG
          > #endif
          >
          > and in vim.h
          >
          > #if defined(FEAT_GUI_DIALOG) && !defined(FEAT_CON_DIALOG)
          > # define do_dialog gui_mch_dialog
          > #endif
          >
          > :version shows
          >
          > [...]
          > -cmdline_compl -cmdline_hist -cmdline_info -comments -conceal -cryptv -cscope -cursorbind
          > cursorshape +dialog_gui -diff -digraphs +dnd -ebcdic -emacs_tags -eval -ex_extra
          > -extra_search
          > [...]
          >
          > So the when showing the E325 message, the console tiny build will try to
          > show a gui-dialog, which does not work.

          OK, that matches my :version output. So what did you do to trigger that
          E325 message?

          --
          DINGO: You must spank her well and after you have spanked her you
          may deal with her as you like and then ... spank me.
          AMAZING: And spank me!
          STUNNER: And me.
          LOVELY: And me.
          "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD

          /// Bram Moolenaar -- Bram@... -- 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
        • Tony Mechelynck
          On 17/01/13 21:54, Bram Moolenaar wrote: [...] ... One possible way to reliably trigger the E325 (aka ATTENTION) message is as follows: 1. Edit some file (with
          Message 4 of 8 , Jan 18, 2013
            On 17/01/13 21:54, Bram Moolenaar wrote:
            [...]
            > OK, that matches my :version output. So what did you do to trigger that
            > E325 message?
            >

            One possible way to reliably trigger the E325 (aka ATTENTION) message is
            as follows:

            1. Edit some file (with 'swapfile' on).
            2. Kill Vim (by any OS-specific means).
            3. Edit the same file again.

            Best regards,
            Tony.
            --
            Hier liegt ein Mann ganz obnegleich;
            Im Leibe dick, an Suden reich.
            Wir haben ihn in das Grab gesteckt, Here lies a man with sundry flaws
            Weil es uns dunkt er sei verreckt. And numerous Sins upon his head;
            We buried him today because
            As far as we can tell, he's dead.
            -- PDQ Bach's epitaph, as requested by his cousin Betty
            Sue Bach and written by the local doggerel catcher;
            "The Definitive Biography of PDQ Bach", Peter
            Schickele

            --
            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
          • Bram Moolenaar
            ... When I start Vim with: ./gvim /tmp/tt -u NONE While /tmp/tt is already edited by another Vim, I just get the GUI dialog. Thus I m missing the reason why
            Message 5 of 8 , Jan 19, 2013
              Christian Brabandt wrote:

              > On Do, 17 Jan 2013, Bram Moolenaar wrote:
              >
              > > I cannot reproduce the problem. Does this depend on the version of GTK?
              > > I'm also using glib-2.0 though. Any other feature that matters?
              >
              > If you look at feature.h it is clear, that a gui tiny built does not
              > define FEAT_CON_DIALOG:
              > #ifdef FEAT_NORMAL
              > # if ((defined(FEAT_GUI_ATHENA) || defined(FEAT_GUI_MOTIF)) \
              > && defined(HAVE_X11_XPM_H)) \
              > || defined(FEAT_GUI_GTK) \
              > || defined(FEAT_GUI_PHOTON) \
              > || defined(FEAT_GUI_MSWIN) \
              > || defined(FEAT_GUI_MAC)
              > # define FEAT_CON_DIALOG
              > # define FEAT_GUI_DIALOG
              > # else
              > # define FEAT_CON_DIALOG
              > # endif
              > #endif
              > #if !defined(FEAT_GUI_DIALOG) && (defined(FEAT_GUI_MOTIF) \
              > || defined(FEAT_GUI_ATHENA) || defined(FEAT_GUI_GTK) \
              > || defined(FEAT_GUI_W32))
              > /* need a dialog to show error messages when starting from the desktop */
              > # define FEAT_GUI_DIALOG
              > #endif
              > #if defined(FEAT_GUI_DIALOG) && \
              > (defined(FEAT_GUI_MOTIF) || defined(FEAT_GUI_ATHENA) \
              > || defined(FEAT_GUI_GTK) || defined(FEAT_GUI_MSWIN) \
              > || defined(FEAT_GUI_PHOTON) || defined(FEAT_GUI_MAC))
              > # define FEAT_GUI_TEXTDIALOG
              > #endif
              >
              > and in vim.h
              >
              > #if defined(FEAT_GUI_DIALOG) && !defined(FEAT_CON_DIALOG)
              > # define do_dialog gui_mch_dialog
              > #endif
              >
              > :version shows
              >
              > [...]
              > -cmdline_compl -cmdline_hist -cmdline_info -comments -conceal -cryptv -cscope -cursorbind
              > cursorshape +dialog_gui -diff -digraphs +dnd -ebcdic -emacs_tags -eval -ex_extra
              > -extra_search
              > [...]
              >
              > So the when showing the E325 message, the console tiny build will try to
              > show a gui-dialog, which does not work.

              When I start Vim with:

              ./gvim /tmp/tt -u NONE

              While /tmp/tt is already edited by another Vim, I just get the GUI
              dialog. Thus I'm missing the reason why the GUI dialog doesn't work for
              you.

              The libraries used for me are:
              GTK_LIBNAME = -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgio-2.0 -lpangoft2-1.0 -lpangocairo-1.0 -lgdk_pixbuf-2.0 -lcairo -lpango-1.0 -lfreetype -lfontconfig -lgobject-2.0 -lglib-2.0

              --
              "My particular problem is with registry entries, which seem to just
              accumulate like plastic coffee cups..." -- Paul Moore

              /// Bram Moolenaar -- Bram@... -- 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
            • Christian Brabandt
              Hi Bram! ... What happens with the terminal version of vim? Mit freundlichen Grüßen Christian -- Man kann nicht alles auf einmal tun. Aber man kann alles auf
              Message 6 of 8 , Jan 20, 2013
                Hi Bram!

                On Sa, 19 Jan 2013, Bram Moolenaar wrote:

                >
                > Christian Brabandt wrote:
                >
                > > On Do, 17 Jan 2013, Bram Moolenaar wrote:
                > >
                > > > I cannot reproduce the problem. Does this depend on the version of GTK?
                > > > I'm also using glib-2.0 though. Any other feature that matters?
                > >
                > > If you look at feature.h it is clear, that a gui tiny built does not
                > > define FEAT_CON_DIALOG:
                > > #ifdef FEAT_NORMAL
                > > # if ((defined(FEAT_GUI_ATHENA) || defined(FEAT_GUI_MOTIF)) \
                > > && defined(HAVE_X11_XPM_H)) \
                > > || defined(FEAT_GUI_GTK) \
                > > || defined(FEAT_GUI_PHOTON) \
                > > || defined(FEAT_GUI_MSWIN) \
                > > || defined(FEAT_GUI_MAC)
                > > # define FEAT_CON_DIALOG
                > > # define FEAT_GUI_DIALOG
                > > # else
                > > # define FEAT_CON_DIALOG
                > > # endif
                > > #endif
                > > #if !defined(FEAT_GUI_DIALOG) && (defined(FEAT_GUI_MOTIF) \
                > > || defined(FEAT_GUI_ATHENA) || defined(FEAT_GUI_GTK) \
                > > || defined(FEAT_GUI_W32))
                > > /* need a dialog to show error messages when starting from the desktop */
                > > # define FEAT_GUI_DIALOG
                > > #endif
                > > #if defined(FEAT_GUI_DIALOG) && \
                > > (defined(FEAT_GUI_MOTIF) || defined(FEAT_GUI_ATHENA) \
                > > || defined(FEAT_GUI_GTK) || defined(FEAT_GUI_MSWIN) \
                > > || defined(FEAT_GUI_PHOTON) || defined(FEAT_GUI_MAC))
                > > # define FEAT_GUI_TEXTDIALOG
                > > #endif
                > >
                > > and in vim.h
                > >
                > > #if defined(FEAT_GUI_DIALOG) && !defined(FEAT_CON_DIALOG)
                > > # define do_dialog gui_mch_dialog
                > > #endif
                > >
                > > :version shows
                > >
                > > [...]
                > > -cmdline_compl -cmdline_hist -cmdline_info -comments -conceal -cryptv -cscope -cursorbind
                > > cursorshape +dialog_gui -diff -digraphs +dnd -ebcdic -emacs_tags -eval -ex_extra
                > > -extra_search
                > > [...]
                > >
                > > So the when showing the E325 message, the console tiny build will try to
                > > show a gui-dialog, which does not work.
                >
                > When I start Vim with:
                >
                > ./gvim /tmp/tt -u NONE
                >
                > While /tmp/tt is already edited by another Vim, I just get the GUI
                > dialog. Thus I'm missing the reason why the GUI dialog doesn't work for
                > you.

                What happens with the terminal version of vim?

                Mit freundlichen Grüßen
                Christian
                --
                Man kann nicht alles auf einmal tun. Aber man kann alles auf einmal lassen.

                --
                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
              • Bram Moolenaar
                ... Ah, yes, then I see errors. However, we should not define FEAT_CON_DIALOG for GUI-only builds, such as on Win32. -- Just think of all the things we haven t
                Message 7 of 8 , Jan 20, 2013
                  Christian Brabandt wrote:

                  > >
                  > > > On Do, 17 Jan 2013, Bram Moolenaar wrote:
                  > > >
                  > > > > I cannot reproduce the problem. Does this depend on the version of GTK?
                  > > > > I'm also using glib-2.0 though. Any other feature that matters?
                  > > >
                  > > > If you look at feature.h it is clear, that a gui tiny built does not
                  > > > define FEAT_CON_DIALOG:
                  > > > #ifdef FEAT_NORMAL
                  > > > # if ((defined(FEAT_GUI_ATHENA) || defined(FEAT_GUI_MOTIF)) \
                  > > > && defined(HAVE_X11_XPM_H)) \
                  > > > || defined(FEAT_GUI_GTK) \
                  > > > || defined(FEAT_GUI_PHOTON) \
                  > > > || defined(FEAT_GUI_MSWIN) \
                  > > > || defined(FEAT_GUI_MAC)
                  > > > # define FEAT_CON_DIALOG
                  > > > # define FEAT_GUI_DIALOG
                  > > > # else
                  > > > # define FEAT_CON_DIALOG
                  > > > # endif
                  > > > #endif
                  > > > #if !defined(FEAT_GUI_DIALOG) && (defined(FEAT_GUI_MOTIF) \
                  > > > || defined(FEAT_GUI_ATHENA) || defined(FEAT_GUI_GTK) \
                  > > > || defined(FEAT_GUI_W32))
                  > > > /* need a dialog to show error messages when starting from the desktop */
                  > > > # define FEAT_GUI_DIALOG
                  > > > #endif
                  > > > #if defined(FEAT_GUI_DIALOG) && \
                  > > > (defined(FEAT_GUI_MOTIF) || defined(FEAT_GUI_ATHENA) \
                  > > > || defined(FEAT_GUI_GTK) || defined(FEAT_GUI_MSWIN) \
                  > > > || defined(FEAT_GUI_PHOTON) || defined(FEAT_GUI_MAC))
                  > > > # define FEAT_GUI_TEXTDIALOG
                  > > > #endif
                  > > >
                  > > > and in vim.h
                  > > >
                  > > > #if defined(FEAT_GUI_DIALOG) && !defined(FEAT_CON_DIALOG)
                  > > > # define do_dialog gui_mch_dialog
                  > > > #endif
                  > > >
                  > > > :version shows
                  > > >
                  > > > [...]
                  > > > -cmdline_compl -cmdline_hist -cmdline_info -comments -conceal -cryptv -cscope -cursorbind
                  > > > cursorshape +dialog_gui -diff -digraphs +dnd -ebcdic -emacs_tags -eval -ex_extra
                  > > > -extra_search
                  > > > [...]
                  > > >
                  > > > So the when showing the E325 message, the console tiny build will try to
                  > > > show a gui-dialog, which does not work.
                  > >
                  > > When I start Vim with:
                  > >
                  > > ./gvim /tmp/tt -u NONE
                  > >
                  > > While /tmp/tt is already edited by another Vim, I just get the GUI
                  > > dialog. Thus I'm missing the reason why the GUI dialog doesn't work for
                  > > you.
                  >
                  > What happens with the terminal version of vim?

                  Ah, yes, then I see errors.

                  However, we should not define FEAT_CON_DIALOG for GUI-only builds, such
                  as on Win32.

                  --
                  Just think of all the things we haven't thought of yet.

                  /// Bram Moolenaar -- Bram@... -- 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
                Your message has been successfully submitted and would be delivered to recipients shortly.