summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2004-06-30 16:16:41 +0000
committerBram Moolenaar <Bram@vim.org>2004-06-30 16:16:41 +0000
commit843ee41eb8258ac50ed81976757d8b228382a880 (patch)
treed0fcdff9e19b05b182de1bb1be46b2e6f5b8b0b7 /src
parentf4b8e57ffd048f9ca46dd7618939ba7a1b2294ec (diff)
downloadvim-git-843ee41eb8258ac50ed81976757d8b228382a880.tar.gz
updated for version 7.0003
Diffstat (limited to 'src')
-rw-r--r--src/INSTALL13
-rw-r--r--src/INSTALLkde.txt101
-rw-r--r--src/Makefile119
-rwxr-xr-xsrc/auto/configure1327
-rw-r--r--src/config.h.in3
-rw-r--r--src/config.mk.in2
-rw-r--r--src/configure.in258
-rw-r--r--src/edit.c30
-rw-r--r--src/eval.c4
-rw-r--r--src/ex_cmds2.c8
-rw-r--r--src/ex_docmd.c22
-rw-r--r--src/feature.h18
-rw-r--r--src/fileio.c3
-rw-r--r--src/globals.h10
-rw-r--r--src/gui.c33
-rw-r--r--src/gui.h43
-rw-r--r--src/gui_kde.cc587
-rw-r--r--src/gui_kde_widget.cc1396
-rw-r--r--src/gui_kde_widget.h234
-rw-r--r--src/gui_kde_x11.cc1307
-rw-r--r--src/kvim_iface.h19
-rw-r--r--src/main.c19
-rw-r--r--src/mbyte.c17
-rw-r--r--src/menu.c9
-rw-r--r--src/misc1.c2
-rw-r--r--src/misc2.c4
-rw-r--r--src/normal.c4
-rw-r--r--src/option.c10
-rw-r--r--src/option.h6
-rw-r--r--src/os_mswin.c33
-rw-r--r--src/os_unix.c15
-rw-r--r--src/os_unixx.h6
-rw-r--r--src/proto.h6
-rw-r--r--src/proto/gui_kde.pro19
-rw-r--r--src/proto/gui_kde_x11.pro62
-rw-r--r--src/proto/misc2.pro2
-rw-r--r--src/proto/os_mswin.pro2
-rw-r--r--src/screen.c4
-rw-r--r--src/structs.h3
-rw-r--r--src/ui.c6
-rw-r--r--src/version.c4
-rw-r--r--src/version.h4
-rw-r--r--src/vim.h21
43 files changed, 5239 insertions, 556 deletions
diff --git a/src/INSTALL b/src/INSTALL
index b1aa6a879..0c01ef27d 100644
--- a/src/INSTALL
+++ b/src/INSTALL
@@ -88,7 +88,7 @@ that "make shadow" creates won't work.]
Unix: COMPILING WITH/WITHOUT GUI
These configure arguments can be used to select which GUI to use:
---enable-gui= gtk, motif, athena or auto
+--enable-gui= gtk, kde, motif, athena or auto
--disable-gtk-check
--disable-motif-check
--disable-athena-check
@@ -98,19 +98,19 @@ the order of GTK, Motif, then Athena). If one is found, then is uses it and
does not proceed to check any of the remaining ones. Otherwise, it moves on
to the next one.
---enable-{gtk,motif,athena}-check all default to "yes", such that if
+--enable-{gtk,kde,motif,athena}-check all default to "yes", such that if
--enable-gui is "auto" (which it is by default), GTK, Motif, and Athena will
be checked for. If you want to *exclude* a certain check, then you use
---disable-{gtk,motif,athena}-check.
+--disable-{gtk,kde,motif,athena}-check.
For example, if --enable-gui is set to "auto", but you don't want it look for
Motif, you then also specify --disable-motif-check. This results in only
checking for GTK and Athena.
Lastly, if you know which one you want to use, then you can just do
---enable-gui={gtk,motif,athena}. So if you wanted to only use Motif, then
+--enable-gui={gtk,kde,motif,athena}. So if you wanted to only use Motif, then
you'd specify --enable-gui=motif. Once you specify what you want, the
---enable-{gtk,motif,athena}-check options are ignored.
+--enable-{gtk,kde,motif,athena}-check options are ignored.
For compiling with the GTK+ GUI, you need a recent version of glib and gtk+.
Configure checks for at least version 1.1.16, but below 2.0. An older versions
@@ -124,6 +124,9 @@ do not, you may have left-over header files and/or library files from an older
auto/config.log for any error messages that may give you a hint as to what's
happening.
+For KDE see INSTALLkde.txt.
+
+
Unix: COMPILING WITH MULTI-BYTE
When you want to compile with the multi-byte features enabled, make sure you
diff --git a/src/INSTALLkde.txt b/src/INSTALLkde.txt
new file mode 100644
index 000000000..42d4a12c8
--- /dev/null
+++ b/src/INSTALLkde.txt
@@ -0,0 +1,101 @@
+Vim with KDE: kvim
+
+ON THE INTERNET
+===============
+
+ The homepage is http://www.freehackers.org/kvim/
+ The core is build around the official vim-6.x releases and patches
+
+ KVim CVS is full and does not need extra package. Just download and compile it.
+
+INSTALL :
+=========
+ We now use Vim's configure to configure, compile and install KVim.
+
+ Don't forget, that you need to have QT and KDE headers and tools installed, otherwise it won't
+ work ! (these can commonly be found in kde-devel/qt-devel packages)
+
+ Enter the 'src' directory and configure it your way (you need to add at least these flags to the configure command line : --enable-gui=kde --with-qt-dir=$QTDIR ) then make and make install as root.
+ We added to configure some options for KDE / QT detection, it will for example, find whether you use KDE 2.x or KDE 3.x automatically. For now, QT is _not_ autodetected. I hope to fix this soon.
+ From KVim 6.1, you can now use a KDE toolbar instead of Vim's Toolbar, to enable it, use the --enable-kde-toolbar configure flag.
+
+
+=> If it fails : (yes it still can, the configure script i wrote is still experimental and probably not
+perfect ;p)
+ or 'how to make a bug report' :
+
+ In some cases, I can imagine it will fail, if this happens then send to marchand@kde.org :
+ ->auto/config.mk (important one)
+ ->your configure command line with your options
+ ->your paths : where KDE is (which version ?), where QT is (version ?), and find where your
+ libs are (your kdelibs, your QT libs and QT headers)
+ ->the output of 'kde-config --version'
+ ->your OS / Linux Distribution version
+ ->in case of a compilation error : the full error output.
+ ->the compiler used (gcc 2.95, 2.96, 3.1 ...)
+ ->any stuff you think could be usefull to me :)
+
+ Thanks for giving KVim a try, we hope you'll enjoy it !
+
+
+DEVELOPMENT STATE AND KNOWN BUGS:
+=================================
+Most Vim GUI features are now implemented, only multibyte support is incomplete.
+We are working on this and this is our primary goal after KVim 6.1 release.
+We hope to get it to work before we include KVim into the core Vim which we want to
+do before the end of the year 2002 if possible.
+
+We would be happy to hear from you if you've tried kvim. Tell us
+what is missing, what you like and don't like, and what you want.
+
+As people have wished it for a while, Philippe developped a component for Vim.
+The component is now fully usable with GVim and KVim and can be found on KDE's CVS
+in the kdeextragear-1 module.
+
+SOURCE ACCESS:
+==============
+Releases and maybe snapshots are/will be found on http://freehackers.org/kvim/
+The CVS is CVSROOT=:pserver:anonymous@cvs.tuxfamily.org:/cvsroot/kvim
+(with no password)
+You'll find there a full vim 6.x package (with runtime files included).
+
+MAILING LIST:
+=============
+As we released KVim 6.0, we created a public mailing list, for feedback,
+user help and development related discussions : "kvim-dev@freenux.org",
+ to subscribe send a mail to "kvim-dev-subscribe@freenux.org" with
+"subscribe" as the subject and just reply to the mail you will receive.
+(sorry the admin messages are in french, but the list discussions are in
+english)
+
+THANKS :
+========
+To all the guys on #kde@opn (Neil, Malte and many other) and to all the people who
+tried, debugged, compiled and recompiled again KVim to bring now a much more robust KVim
+and of course to all of you who send patchs and comments :)
+And of course to Vim Authors :)
+
+CURRENT MAINTAINER:
+===================
+ Mickael Marchand <marchand@kde.org>
+
+DEVELOPERS (CVS accounts):
+==========
+ Mickael Marchand <marchand@kde.org> (marchand)
+ Mark Westcott <mark@houseoffish.org> Qtopia GUI (mark)
+ Thomas Capricelli <orzel@kde.org> Initial KVim author (orzel)
+ Philippe Fremy <pfremy@chez.com> Initial KVim author (pfremy)
+
+AUTHORS
+=========
+ Thomas Capricelli <orzel@kde.org> Initial KVim author
+ Philippe Fremy <pfremy@chez.com> Initial KVim author
+
+CONTRIBUTORS
+============
+ David Spencer Tyree <celer@scrypt.net>
+ Vince Negri <vince@bulbous.freeserve.co.uk> AntiAliasing support
+ Kailash Sethuraman (hsaliak, #netbsd@opn) NetBSD configuration/compilation fixes
+ Some other, see the About KVim dialog box in KVim...
+
+
diff --git a/src/Makefile b/src/Makefile
index d59f32abe..7e4c385b0 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -336,6 +336,7 @@ CClink = $(CC)
# use it (e.g., want a GTK-only version), then use --enable-gui=gtk.
#
# If the selected GUI isn't found, the GUI is disabled automatically
+#CONF_OPT_GUI = --enable-gui=kde
#CONF_OPT_GUI = --enable-gui=gtk
#CONF_OPT_GUI = --enable-gui=gtk --disable-gtktest
#CONF_OPT_GUI = --enable-gui=gtk2
@@ -1041,6 +1042,35 @@ LINKIT = @echo >/dev/null
# Without a GUI install the normal way.
NONE_INSTALL = install_normal
+### KDE GUI interface.
+KDE_DIR = $(KDE_PREFIX)
+KDE_INCL = gui.h
+KDE_SRC = gui.c pty.c gui_kde.cc gui_kde_x11.cc gui_kde_widget.cc gui_kde_widget_moc.cc kvim_iface_skel.cc
+KDE_OBJ = objects/gui.o objects/pty.o objects/gui_kde.o objects/gui_kde_x11.o \
+ objects/gui_kde_widget.o objects/gui_kde_widget_moc.o \
+ objects/kvim_iface_skel.o
+KDE_DEFS = -DFEAT_GUI_KDE $(NARROW_PROTO)
+KDE_IPATH = $(GUI_INC_LOC)
+KDE_LIBS_DIR = $(GUI_LIB_LOC)
+KDE_LIBS1 =
+KDE_LIBS2 = $(KDE_LIBNAME)
+KDE_INSTALL = install_normal
+KDE_TARGETS = installklinks installkdeicons
+KDE_MAN_TARGETS =
+KDE_TESTTARGET = gui
+
+#for KDE rename files to avoid confusion with gvim for GTK
+KVIMNAME = k$(VIMNAME)
+KVIMTARGET = $(KVIMNAME)$(LNKEXT)
+KVIEWNAME = k$(VIEWNAME)
+KVIEWTARGET = $(KVIEWNAME)$(LNKEXT)
+RKVIMNAME = r$(KVIMNAME)
+RKVIMTARGET = $(RKVIMNAME)$(LNKEXT)
+RKVIEWNAME = r$(KVIEWNAME)
+RKVIEWTARGET = $(RKVIEWNAME)$(LNKEXT)
+KVIMDIFFNAME = k$(VIMDIFFNAME)
+KVIMDIFFTARGET = $(KVIMDIFFNAME)$(LNKEXT)
+
### GTK GUI
GTK_SRC = gui.c gui_gtk.c gui_gtk_x11.c pty.c gui_gtk_f.c \
gui_beval.c
@@ -1170,8 +1200,8 @@ CARBONGUI_MAN_TARGETS =
CARBONGUI_TESTTARGET =
# All GUI files
-ALL_GUI_SRC = gui.c gui_gtk.c gui_gtk_f.c gui_motif.c gui_athena.c gui_gtk_x11.c gui_x11.c gui_at_sb.c gui_at_fs.c pty.c
-ALL_GUI_PRO = gui.pro gui_gtk.pro gui_motif.pro gui_athena.pro gui_gtk_x11.pro gui_x11.pro gui_w16.pro gui_w32.pro gui_amiga.pro gui_photon.pro
+ALL_GUI_SRC = gui.c gui_gtk.c gui_gtk_f.c gui_motif.c gui_athena.c gui_gtk_x11.c gui_x11.c gui_at_sb.c gui_at_fs.c pty.c gui_kde.cc gui_kde_widget.cc gui_kde_x11.cc gui_kde_widget_moc.cc
+ALL_GUI_PRO = gui.pro gui_gtk.pro gui_motif.pro gui_athena.pro gui_gtk_x11.pro gui_x11.pro gui_w16.pro gui_w32.pro gui_amiga.pro gui_photon.pro gui_kde.pro gui_kde_x11.pro
# }}}
@@ -1307,7 +1337,7 @@ BASIC_SRC = \
SRC = $(BASIC_SRC) $(GUI_SRC) $(HANGULIN_SRC) $(PERL_SRC) $(PYTHON_SRC) \
$(TCL_SRC) $(RUBY_SRC) $(SNIFF_SRC) $(WORKSHOP_SRC) $(WSDEBUG_SRC)
-TAGS_SRC = *.c *.cpp if_perl.xs
+TAGS_SRC = *.c *.cpp *.cc if_perl.xs
EXTRA_SRC = hangulin.c auto/if_perl.c if_perlsfio.c if_python.c if_tcl.c \
if_ruby.c if_sniff.c gui_beval.c \
@@ -1800,6 +1830,23 @@ install-languages: languages $(DEST_LANG) $(DEST_KMAP)
fi
# install the icons for KDE, if the directory exists and the icon doesn't.
+# doesn't.<=looks strange to install icons to user's directory ;), i add my
+# own install procedure, mikmak
+installkdeicons:
+ mkdir -p $(DESTDIR)$(KDE_DIR)/share/applnk/Editors/
+ mkdir -p $(DESTDIR)$(KDE_DIR)/share/icons/hicolor/32x32/apps/
+ mkdir -p $(DESTDIR)$(KDE_DIR)/share/icons/hicolor/48x48/apps/
+ mkdir -p $(DESTDIR)$(KDE_DIR)/share/icons/hicolor/22x22/actions/
+ mkdir -p $(DESTDIR)$(KDE_DIR)/share/icons/hicolor/16x16/actions/
+ mkdir -p $(DESTDIR)$(KDE_DIR)/share/apps/kvim
+
+ cp ../runtime/KVim.desktop $(DESTDIR)$(KDE_DIR)/share/applnk/Editors/ && chmod 644 $(DESTDIR)$(KDE_DIR)/share/applnk/Editors/KVim.desktop
+ cp ../runtime/kvim32x32.png $(DESTDIR)$(KDE_DIR)/share/icons/hicolor/32x32/apps/kvim.png && chmod 644 $(DESTDIR)$(KDE_DIR)/share/icons/hicolor/32x32/apps/kvim.png
+ cp ../runtime/kvim48x48.png $(DESTDIR)$(KDE_DIR)/share/icons/hicolor/48x48/apps/kvim.png && chmod 644 $(DESTDIR)$(KDE_DIR)/share/icons/hicolor/48x48/apps/kvim.png
+ cp ../runtime/hi16-action-make.png $(DESTDIR)$(KDE_DIR)/share/icons/hicolor/16x16/actions/hi16-action-make.png
+ cp ../runtime/hi22-action-make.png $(DESTDIR)$(KDE_DIR)/share/icons/hicolor/22x22/actions/hi22-action-make.png
+ cp ../runtime/kde-tips $(DESTDIR)$(KDE_DIR)/share/apps/kvim/tips && chmod 644 $(DESTDIR)$(KDE_DIR)/share/apps/kvim/tips
+
ICON48PATH = $(DESTDIR)$(DATADIR)/icons/hicolor/48x48/apps
ICON32PATH = $(DESTDIR)$(DATADIR)/icons/locolor/32x32/apps
ICON16PATH = $(DESTDIR)$(DATADIR)/icons/locolor/16x16/apps
@@ -1848,8 +1895,17 @@ installglinks: $(DEST_BIN)/$(GVIMTARGET) \
$(DEST_BIN)/$(EVIEWTARGET) \
$(INSTALLGVIMDIFF)
+installklinks: $(DEST_BIN)/$(KVIMTARGET) \
+ $(DEST_BIN)/$(KVIEWTARGET) \
+ $(DEST_BIN)/$(RKVIMTARGET) \
+ $(DEST_BIN)/$(RKVIEWTARGET) \
+ $(DEST_BIN)/$(EVIMTARGET) \
+ $(DEST_BIN)/$(EVIEWTARGET) \
+ installkvimdiff
+
installvimdiff: $(DEST_BIN)/$(VIMDIFFTARGET)
installgvimdiff: $(DEST_BIN)/$(GVIMDIFFTARGET)
+installkvimdiff: $(DEST_BIN)/$(KVIMDIFFTARGET)
$(DEST_BIN)/$(EXTARGET):
cd $(DEST_BIN); ln -s $(VIMTARGET) $(EXTARGET)
@@ -1863,6 +1919,12 @@ $(DEST_BIN)/$(GVIMTARGET):
$(DEST_BIN)/$(GVIEWTARGET):
cd $(DEST_BIN); ln -s $(VIMTARGET) $(GVIEWTARGET)
+$(DEST_BIN)/$(KVIMTARGET):
+ cd $(DEST_BIN); ln -s $(VIMTARGET) $(KVIMTARGET)
+
+$(DEST_BIN)/$(KVIEWTARGET):
+ cd $(DEST_BIN); ln -s $(VIMTARGET) $(KVIEWTARGET)
+
$(DEST_BIN)/$(RVIMTARGET):
cd $(DEST_BIN); ln -s $(VIMTARGET) $(RVIMTARGET)
@@ -1875,12 +1937,21 @@ $(DEST_BIN)/$(RGVIMTARGET):
$(DEST_BIN)/$(RGVIEWTARGET):
cd $(DEST_BIN); ln -s $(VIMTARGET) $(RGVIEWTARGET)
+$(DEST_BIN)/$(RKVIMTARGET):
+ cd $(DEST_BIN); ln -s $(VIMTARGET) $(RKVIMTARGET)
+
+$(DEST_BIN)/$(RKVIEWTARGET):
+ cd $(DEST_BIN); ln -s $(VIMTARGET) $(RKVIEWTARGET)
+
$(DEST_BIN)/$(VIMDIFFTARGET):
cd $(DEST_BIN); ln -s $(VIMTARGET) $(VIMDIFFTARGET)
$(DEST_BIN)/$(GVIMDIFFTARGET):
cd $(DEST_BIN); ln -s $(VIMTARGET) $(GVIMDIFFTARGET)
+$(DEST_BIN)/$(KVIMDIFFTARGET):
+ cd $(DEST_BIN); ln -s $(VIMTARGET) $(KVIMDIFFTARGET)
+
$(DEST_BIN)/$(EVIMTARGET):
cd $(DEST_BIN); ln -s $(VIMTARGET) $(EVIMTARGET)
@@ -1895,7 +1966,7 @@ installhelplinks: $(GUI_MAN_TARGETS) \
$(DEST_MAN)/$(RVIMNAME).1 \
$(DEST_MAN)/$(RVIEWNAME).1
-installghelplinks: $(DEST_MAN)/$(GVIMNAME).1 \
+installghelplinks installkhelplinks : $(DEST_MAN)/$(GVIMNAME).1 \
$(DEST_MAN)/$(GVIEWNAME).1 \
$(DEST_MAN)/$(RGVIMNAME).1 \
$(DEST_MAN)/$(RGVIEWNAME).1 \
@@ -1939,9 +2010,12 @@ uninstall: uninstall_runtime
-rm -f $(DEST_BIN)/xxd$(EXEEXT) $(DEST_MAN)/xxd.1
-rm -f $(DEST_BIN)/$(EXTARGET) $(DEST_BIN)/$(VIEWTARGET)
-rm -f $(DEST_BIN)/$(GVIMTARGET) $(DEST_BIN)/$(GVIEWTARGET)
+ -rm -f $(DEST_BIN)/$(KVIMTARGET) $(DEST_BIN)/$(KVIEWTARGET)
-rm -f $(DEST_BIN)/$(RVIMTARGET) $(DEST_BIN)/$(RVIEWTARGET)
-rm -f $(DEST_BIN)/$(RGVIMTARGET) $(DEST_BIN)/$(RGVIEWTARGET)
+ -rm -f $(DEST_BIN)/$(RKVIMTARGET) $(DEST_BIN)/$(RKVIEWTARGET)
-rm -f $(DEST_BIN)/$(VIMDIFFTARGET) $(DEST_BIN)/$(GVIMDIFFTARGET)
+ -rm -f $(DEST_BIN)/$(VIMDIFFTARGET) $(DEST_BIN)/$(KVIMDIFFTARGET)
-rm -f $(DEST_BIN)/$(EVIMTARGET) $(DEST_BIN)/$(EVIEWTARGET)
-rm -f $(DEST_MAN)/$(EXNAME).1 $(DEST_MAN)/$(VIEWNAME).1
-rm -f $(DEST_MAN)/$(GVIMNAME).1 $(DEST_MAN)/$(GVIEWNAME).1
@@ -1984,6 +2058,7 @@ clean celan: testclean
-rm -f *.o objects/* core $(VIMTARGET).core $(VIMTARGET) xxd/*.o
-rm -f $(TOOLS) auto/osdef.h auto/pathdef.c auto/if_perl.c
-rm -f conftest* *~ auto/link.sed
+ -rm -f gui_kde_widget_moc.cc kvim_iface_skel.cc *.kidl
if test -d $(PODIR); then \
cd $(PODIR); $(MAKE) prefix=$(DESTDIR)$(prefix) clean; \
fi
@@ -2326,6 +2401,24 @@ objects/workshop.o: workshop.c
objects/wsdebug.o: wsdebug.c
$(CCC) -o $@ wsdebug.c
+objects/gui_kde.o: gui_kde.cc
+ $(CCC) -o $@ gui_kde.cc
+
+objects/gui_kde_x11.o: gui_kde_x11.cc
+ $(CCC) -o $@ gui_kde_x11.cc
+
+objects/gui_kde_widget.o: gui_kde_widget.cc
+ $(MOC) -o gui_kde_widget_moc.cc gui_kde_widget.h
+ $(KDE_DIR)/bin/dcopidl kvim_iface.h > kvim_iface.kidl || ( rm -f kvim_iface.kidl ; /bin/false )
+ $(KDE_DIR)/bin/dcopidl2cpp --c++-suffix cc --no-stub kvim_iface.kidl
+ $(CCC) -o $@ gui_kde_widget.cc
+
+objects/gui_kde_widget_moc.o: gui_kde_widget_moc.cc
+ $(CCC) -o $@ gui_kde_widget_moc.cc
+
+objects/kvim_iface_skel.o: kvim_iface_skel.cc
+ $(CCC) -o $@ kvim_iface_skel.cc
+
objects/netbeans.o: netbeans.c
$(CCC) -o $@ netbeans.c
@@ -2637,6 +2730,24 @@ objects/pty.o: pty.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h gui_beval.h \
proto/gui_beval.pro option.h ex_cmds.h proto.h globals.h farsi.h \
arabic.h
+objects/gui_kde.o: gui_kde.cc gui_kde_widget.h kvim_iface.h vim.h \
+ auto/config.h feature.h os_unix.h auto/osdef.h ascii.h keymap.h \
+ term.h macros.h structs.h regexp.h gui.h option.h ex_cmds.h proto.h \
+ globals.h farsi.h
+objects/gui_kde_widget.o: gui_kde_widget.cc gui_kde_widget.h kvim_iface.h \
+ vim.h auto/config.h feature.h os_unix.h auto/osdef.h ascii.h keymap.h \
+ term.h macros.h structs.h regexp.h gui.h option.h ex_cmds.h proto.h \
+ globals.h farsi.h proto/../../pixmaps/alert.xpm proto/../../pixmaps/error.xpm \
+ proto/../../pixmaps/generic.xpm proto/../../pixmaps/info.xpm \
+ proto/../../pixmaps/quest.xpm
+objects/gui_kde_x11.o: gui_kde_x11.cc gui_kde_widget.h kvim_iface.h vim.h \
+ auto/config.h feature.h os_unix.h auto/osdef.h ascii.h keymap.h \
+ term.h macros.h structs.h regexp.h gui.h option.h ex_cmds.h proto.h \
+ globals.h farsi.h version.h ../runtime/vim32x32.xpm
+objects/gui_kde_widget_moc.o: gui_kde_widget_moc.cc gui_kde_widget.h \
+ kvim_iface.h vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
+ ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h option.h \
+ ex_cmds.h proto.h globals.h
objects/hangulin.o: hangulin.c vim.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h structs.h regexp.h \
gui.h gui_beval.h proto/gui_beval.pro option.h ex_cmds.h proto.h \
diff --git a/src/auto/configure b/src/auto/configure
index b040a75f5..e9e5637f2 100755
--- a/src/auto/configure
+++ b/src/auto/configure
@@ -62,7 +62,9 @@ ac_help="$ac_help
ac_help="$ac_help
--with-x use the X Window System"
ac_help="$ac_help
- --enable-gui[=OPTS] X11 GUI [default=auto] [OPTS=auto/no/gtk/gtk2/gnome/gnome2/motif/athena/neXtaw/beos/photon/carbon]"
+ --enable-gui[=OPTS] X11 GUI [default=auto] [OPTS=auto/no/gtk/gtk2/gnome/gnome2/kde/motif/athena/neXtaw/beos/photon/carbon]"
+ac_help="$ac_help
+ --enable-kde-check If auto-select GUI, check for KDE [default=no]"
ac_help="$ac_help
--enable-gtk-check If auto-select GUI, check for GTK [default=yes]"
ac_help="$ac_help
@@ -78,6 +80,24 @@ ac_help="$ac_help
ac_help="$ac_help
--enable-carbon-check If auto-select GUI, check for Carbon [default=yes]"
ac_help="$ac_help
+ --with-qt-dir=DIR Specify prefix of QT files"
+ac_help="$ac_help
+ --with-qt-includes=DIR Specify location of Qt headers"
+ac_help="$ac_help
+ --with-qt-libs=DIR Specify location of Qt libraries"
+ac_help="$ac_help
+ --enable-kde-toolbar if KDE GUI is selected, enable a KDE-look toolbar [default=no]"
+ac_help="$ac_help
+ --disable-rpath Disable rpath."
+ac_help="$ac_help
+ --with-kde-prefix=PFX Prefix where KDE is installed (optional)"
+ac_help="$ac_help
+ --with-kde-includes=DIR Specify location of KDE headers"
+ac_help="$ac_help
+ --with-kde-libs=DIR Specify location of KDE libraries"
+ac_help="$ac_help
+ --disable-kdetest Do not try to compile and run a test KDE program"
+ac_help="$ac_help
--with-gtk-prefix=PFX Prefix where GTK is installed (optional)"
ac_help="$ac_help
--with-gtk-exec-prefix=PFX Exec prefix where GTK is installed (optional)"
@@ -616,7 +636,7 @@ cat >> confdefs.h <<\EOF
EOF
echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6
-echo "configure:620: checking whether ${MAKE-make} sets \${MAKE}" >&5
+echo "configure:640: checking whether ${MAKE-make} sets \${MAKE}" >&5
set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -646,7 +666,7 @@ fi
# Extract the first word of "gcc", so it can be a program name with args.
set dummy gcc; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:650: checking for $ac_word" >&5
+echo "configure:670: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -676,7 +696,7 @@ if test -z "$CC"; then
# Extract the first word of "cc", so it can be a program name with args.
set dummy cc; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:680: checking for $ac_word" >&5
+echo "configure:700: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -727,7 +747,7 @@ fi
# Extract the first word of "cl", so it can be a program name with args.
set dummy cl; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:731: checking for $ac_word" >&5
+echo "configure:751: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -759,7 +779,7 @@ fi
fi
echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6
-echo "configure:763: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
+echo "configure:783: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
ac_ext=c
# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
@@ -770,12 +790,12 @@ cross_compiling=$ac_cv_prog_cc_cross
cat > conftest.$ac_ext << EOF
-#line 774 "configure"
+#line 794 "configure"
#include "confdefs.h"
main(){return(0);}
EOF
-if { (eval echo configure:779: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:799: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
ac_cv_prog_cc_works=yes
# If we can't run a trivial program, we are probably using a cross compiler.
if (./conftest; exit) 2>/dev/null; then
@@ -801,12 +821,12 @@ if test $ac_cv_prog_cc_works = no; then
{ echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; }
fi
echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6
-echo "configure:805: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
+echo "configure:825: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6
cross_compiling=$ac_cv_prog_cc_cross
echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
-echo "configure:810: checking whether we are using GNU C" >&5
+echo "configure:830: checking whether we are using GNU C" >&5
if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -815,7 +835,7 @@ else
yes;
#endif
EOF
-if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:819: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:839: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
ac_cv_prog_gcc=yes
else
ac_cv_prog_gcc=no
@@ -834,7 +854,7 @@ ac_test_CFLAGS="${CFLAGS+set}"
ac_save_CFLAGS="$CFLAGS"
CFLAGS=
echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
-echo "configure:838: checking whether ${CC-cc} accepts -g" >&5
+echo "configure:858: checking whether ${CC-cc} accepts -g" >&5
if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -865,7 +885,7 @@ else
fi
fi
echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6
-echo "configure:869: checking how to run the C preprocessor" >&5
+echo "configure:889: checking how to run the C preprocessor" >&5
# On Suns, sometimes $CPP names a directory.
if test -n "$CPP" && test -d "$CPP"; then
CPP=
@@ -880,13 +900,13 @@ else
# On the NeXT, cc -E runs the code through the compiler's parser,
# not just through cpp.
cat > conftest.$ac_ext <<EOF
-#line 884 "configure"
+#line 904 "configure"
#include "confdefs.h"
#include <assert.h>
Syntax Error
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:890: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:910: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
:
@@ -897,13 +917,13 @@ else
rm -rf conftest*
CPP="${CC-cc} -E -traditional-cpp"
cat > conftest.$ac_ext <<EOF
-#line 901 "configure"
+#line 921 "configure"
#include "confdefs.h"
#include <assert.h>
Syntax Error
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:907: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:927: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
:
@@ -914,13 +934,13 @@ else
rm -rf conftest*
CPP="${CC-cc} -nologo -E"
cat > conftest.$ac_ext <<EOF
-#line 918 "configure"
+#line 938 "configure"
#include "confdefs.h"
#include <assert.h>
Syntax Error
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:924: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:944: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
:
@@ -944,7 +964,7 @@ else
fi
echo "$ac_t""$CPP" 1>&6
cat > conftest.$ac_ext <<EOF
-#line 948 "configure"
+#line 968 "configure"
#include "confdefs.h"
EOF
@@ -954,7 +974,7 @@ if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
fi
rm -f conftest*
echo $ac_n "checking for POSIXized ISC""... $ac_c" 1>&6
-echo "configure:958: checking for POSIXized ISC" >&5
+echo "configure:978: checking for POSIXized ISC" >&5
if test -d /etc/conf/kconfig.d &&
grep _POSIX_VERSION /usr/include/sys/unistd.h >/dev/null 2>&1
then
@@ -978,7 +998,7 @@ do
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:982: checking for $ac_word" >&5
+echo "configure:1002: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_AWK'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1010,7 +1030,7 @@ done
# Extract the first word of "strip", so it can be a program name with args.
set dummy strip; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1014: checking for $ac_word" >&5
+echo "configure:1034: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_STRIP'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1039,12 +1059,12 @@ fi
echo $ac_n "checking for Cygwin environment""... $ac_c" 1>&6
-echo "configure:1043: checking for Cygwin environment" >&5
+echo "configure:1063: checking for Cygwin environment" >&5
if eval "test \"`echo '$''{'ac_cv_cygwin'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 1048 "configure"
+#line 1068 "configure"
#include "confdefs.h"
int main() {
@@ -1055,7 +1075,7 @@ int main() {
return __CYGWIN__;
; return 0; }
EOF
-if { (eval echo configure:1059: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:1079: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_cygwin=yes
else
@@ -1072,19 +1092,19 @@ echo "$ac_t""$ac_cv_cygwin" 1>&6
CYGWIN=
test "$ac_cv_cygwin" = yes && CYGWIN=yes
echo $ac_n "checking for mingw32 environment""... $ac_c" 1>&6
-echo "configure:1076: checking for mingw32 environment" >&5
+echo "configure:1096: checking for mingw32 environment" >&5
if eval "test \"`echo '$''{'ac_cv_mingw32'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 1081 "configure"
+#line 1101 "configure"
#include "confdefs.h"
int main() {
return __MINGW32__;
; return 0; }
EOF
-if { (eval echo configure:1088: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:1108: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_mingw32=yes
else
@@ -1103,7 +1123,7 @@ test "$ac_cv_mingw32" = yes && MINGW32=yes
echo $ac_n "checking for executable suffix""... $ac_c" 1>&6
-echo "configure:1107: checking for executable suffix" >&5
+echo "configure:1127: checking for executable suffix" >&5
if eval "test \"`echo '$''{'ac_cv_exeext'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1113,7 +1133,7 @@ else
rm -f conftest*
echo 'int main () { return 0; }' > conftest.$ac_ext
ac_cv_exeext=
- if { (eval echo configure:1117: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
+ if { (eval echo configure:1137: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
for file in conftest.*; do
case $file in
*.c | *.o | *.obj) ;;
@@ -1160,14 +1180,14 @@ test "$GCC" = yes && CPP_MM=M;
if test -f ./toolcheck; then
echo "checking for buggy tools" 1>&6
-echo "configure:1164: checking for buggy tools" >&5
+echo "configure:1184: checking for buggy tools" >&5
sh ./toolcheck 1>&6
fi
OS_EXTRA_SRC=""; OS_EXTRA_OBJ=""
echo $ac_n "checking for BeOS""... $ac_c" 1>&6
-echo "configure:1171: checking for BeOS" >&5
+echo "configure:1191: checking for BeOS" >&5
case `uname` in
BeOS) OS_EXTRA_SRC=os_beos.c; OS_EXTRA_OBJ=objects/os_beos.o
BEOS=yes; echo "$ac_t""yes" 1>&6;;
@@ -1175,7 +1195,7 @@ case `uname` in
esac
echo $ac_n "checking for QNX""... $ac_c" 1>&6
-echo "configure:1179: checking for QNX" >&5
+echo "configure:1199: checking for QNX" >&5
case `uname` in
QNX) OS_EXTRA_SRC=os_qnx.c; OS_EXTRA_OBJ=objects/os_qnx.o
test -z "$with_x" && with_x=no
@@ -1185,12 +1205,12 @@ esac
DEFAULT_VIMNAME=vim
echo $ac_n "checking for Darwin (Mac OS X)""... $ac_c" 1>&6
-echo "configure:1189: checking for Darwin (Mac OS X)" >&5
+echo "configure:1209: checking for Darwin (Mac OS X)" >&5
if test "`(uname) 2>/dev/null`" = Darwin; then
echo "$ac_t""yes" 1>&6
echo $ac_n "checking --disable-darwin argument""... $ac_c" 1>&6
-echo "configure:1194: checking --disable-darwin argument" >&5
+echo "configure:1214: checking --disable-darwin argument" >&5
# Check whether --enable-darwin or --disable-darwin was given.
if test "${enable_darwin+set}" = set; then
enableval="$enable_darwin"
@@ -1202,7 +1222,7 @@ fi
if test "$enable_darwin" = "yes"; then
echo "$ac_t""no" 1>&6
echo $ac_n "checking if Darwin files are there""... $ac_c" 1>&6
-echo "configure:1206: checking if Darwin files are there" >&5
+echo "configure:1226: checking if Darwin files are there" >&5
if test -f os_macosx.c; then
echo "$ac_t""yes" 1>&6
else
@@ -1221,17 +1241,17 @@ echo "configure:1206: checking if Darwin files are there" >&5
ac_safe=`echo "Carbon/Carbon.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for Carbon/Carbon.h""... $ac_c" 1>&6
-echo "configure:1225: checking for Carbon/Carbon.h" >&5
+echo "configure:1245: checking for Carbon/Carbon.h" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 1230 "configure"
+#line 1250 "configure"
#include "confdefs.h"
#include <Carbon/Carbon.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1235: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:1255: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
@@ -1288,7 +1308,7 @@ if test -z "$have_local_include" -a -d /usr/local/include; then
fi
echo $ac_n "checking --with-vim-name argument""... $ac_c" 1>&6
-echo "configure:1292: checking --with-vim-name argument" >&5
+echo "configure:1312: checking --with-vim-name argument" >&5
# Check whether --with-vim-name or --without-vim-name was given.
if test "${with_vim_name+set}" = set; then
withval="$with_vim_name"
@@ -1299,7 +1319,7 @@ fi
echo $ac_n "checking --with-ex-name argument""... $ac_c" 1>&6
-echo "configure:1303: checking --with-ex-name argument" >&5
+echo "configure:1323: checking --with-ex-name argument" >&5
# Check whether --with-ex-name or --without-ex-name was given.
if test "${with_ex_name+set}" = set; then
withval="$with_ex_name"
@@ -1310,7 +1330,7 @@ fi
echo $ac_n "checking --with-view-name argument""... $ac_c" 1>&6
-echo "configure:1314: checking --with-view-name argument" >&5
+echo "configure:1334: checking --with-view-name argument" >&5
# Check whether --with-view-name or --without-view-name was given.
if test "${with_view_name+set}" = set; then
withval="$with_view_name"
@@ -1322,7 +1342,7 @@ fi
echo $ac_n "checking --with-global-runtime argument""... $ac_c" 1>&6
-echo "configure:1326: checking --with-global-runtime argument" >&5
+echo "configure:1346: checking --with-global-runtime argument" >&5
# Check whether --with-global-runtime or --without-global-runtime was given.
if test "${with_global_runtime+set}" = set; then
withval="$with_global_runtime"
@@ -1336,7 +1356,7 @@ fi
echo $ac_n "checking --with-modified-by argument""... $ac_c" 1>&6
-echo "configure:1340: checking --with-modified-by argument" >&5
+echo "configure:1360: checking --with-modified-by argument" >&5
# Check whether --with-modified-by or --without-modified-by was given.
if test "${with_modified_by+set}" = set; then
withval="$with_modified_by"
@@ -1350,9 +1370,9 @@ fi
echo $ac_n "checking if character set is EBCDIC""... $ac_c" 1>&6
-echo "configure:1354: checking if character set is EBCDIC" >&5
+echo "configure:1374: checking if character set is EBCDIC" >&5
cat > conftest.$ac_ext <<EOF
-#line 1356 "configure"
+#line 1376 "configure"
#include "confdefs.h"
int main() {
@@ -1365,7 +1385,7 @@ make an error "Character set is not EBCDIC"
#endif
; return 0; }
EOF
-if { (eval echo configure:1369: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:1389: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
# TryCompile action if true
cf_cv_ebcdic=yes
@@ -1393,7 +1413,7 @@ esac
if test "$cf_cv_ebcdic" = "yes"; then
echo $ac_n "checking for OS/390 Unix""... $ac_c" 1>&6
-echo "configure:1397: checking for OS/390 Unix" >&5
+echo "configure:1417: checking for OS/390 Unix" >&5
case `uname` in
OS/390) OS390Unix="yes";
if test "$CC" = "cc"; then
@@ -1430,7 +1450,7 @@ fi
echo $ac_n "checking --with-features argument""... $ac_c" 1>&6
-echo "configure:1434: checking --with-features argument" >&5
+echo "configure:1454: checking --with-features argument" >&5
# Check whether --with-features or --without-features was given.
if test "${with_features+set}" = set; then
withval="$with_features"
@@ -1473,7 +1493,7 @@ esac
echo $ac_n "checking --with-compiledby argument""... $ac_c" 1>&6
-echo "configure:1477: checking --with-compiledby argument" >&5
+echo "configure:1497: checking --with-compiledby argument" >&5
# Check whether --with-compiledby or --without-compiledby was given.
if test "${with_compiledby+set}" = set; then
withval="$with_compiledby"
@@ -1485,7 +1505,7 @@ fi
echo $ac_n "checking --disable-xsmp argument""... $ac_c" 1>&6
-echo "configure:1489: checking --disable-xsmp argument" >&5
+echo "configure:1509: checking --disable-xsmp argument" >&5
# Check whether --enable-xsmp or --disable-xsmp was given.
if test "${enable_xsmp+set}" = set; then
enableval="$enable_xsmp"
@@ -1498,7 +1518,7 @@ fi
if test "$enable_xsmp" = "yes"; then
echo "$ac_t""no" 1>&6
echo $ac_n "checking --disable-xsmp-interact argument""... $ac_c" 1>&6
-echo "configure:1502: checking --disable-xsmp-interact argument" >&5
+echo "configure:1522: checking --disable-xsmp-interact argument" >&5
# Check whether --enable-xsmp-interact or --disable-xsmp-interact was given.
if test "${enable_xsmp_interact+set}" = set; then
enableval="$enable_xsmp_interact"
@@ -1521,7 +1541,7 @@ else
fi
echo $ac_n "checking --enable-perlinterp argument""... $ac_c" 1>&6
-echo "configure:1525: checking --enable-perlinterp argument" >&5
+echo "configure:1545: checking --enable-perlinterp argument" >&5
# Check whether --enable-perlinterp or --disable-perlinterp was given.
if test "${enable_perlinterp+set}" = set; then
enableval="$enable_perlinterp"
@@ -1536,7 +1556,7 @@ if test "$enable_perlinterp" = "yes"; then
# Extract the first word of "perl", so it can be a program name with args.
set dummy perl; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1540: checking for $ac_word" >&5
+echo "configure:1560: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_vi_cv_path_perl'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1570,7 +1590,7 @@ fi
if test "X$vi_cv_path_perl" != "X"; then
echo $ac_n "checking Perl version""... $ac_c" 1>&6
-echo "configure:1574: checking Perl version" >&5
+echo "configure:1594: checking Perl version" >&5
if $vi_cv_path_perl -e 'require 5.003_01' >/dev/null 2>/dev/null; then
eval `$vi_cv_path_perl -V:usethreads`
if test "X$usethreads" = "XUNKNOWN" -o "X$usethreads" = "Xundef"; then
@@ -1606,7 +1626,7 @@ echo "configure:1574: checking Perl version" >&5
-e 'ccdlflags' | sed -e 's/-bE:perl.exp//'`
echo $ac_n "checking if compile and link flags for Perl are sane""... $ac_c" 1>&6
-echo "configure:1610: checking if compile and link flags for Perl are sane" >&5
+echo "configure:1630: checking if compile and link flags for Perl are sane" >&5
cflags_save=$CFLAGS
libs_save=$LIBS
ldflags_save=$LDFLAGS
@@ -1614,14 +1634,14 @@ echo "configure:1610: checking if compile and link flags for Perl are sane" >&5
LIBS="$LIBS $perllibs"
LDFLAGS="$perlldflags $LDFLAGS"
cat > conftest.$ac_ext <<EOF
-#line 1618 "configure"
+#line 1638 "configure"
#include "confdefs.h"
int main() {
; return 0; }
EOF
-if { (eval echo configure:1625: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:1645: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
echo "$ac_t""yes" 1>&6; perl_ok=yes
else
@@ -1684,7 +1704,7 @@ fi
echo $ac_n "checking --enable-pythoninterp argument""... $ac_c" 1>&6
-echo "configure:1688: checking --enable-pythoninterp argument" >&5
+echo "configure:1708: checking --enable-pythoninterp argument" >&5
# Check whether --enable-pythoninterp or --disable-pythoninterp was given.
if test "${enable_pythoninterp+set}" = set; then
enableval="$enable_pythoninterp"
@@ -1698,7 +1718,7 @@ if test "$enable_pythoninterp" = "yes"; then
# Extract the first word of "python", so it can be a program name with args.
set dummy python; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1702: checking for $ac_word" >&5
+echo "configure:1722: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_vi_cv_path_python'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1733,7 +1753,7 @@ fi
if test "X$vi_cv_path_python" != "X"; then
echo $ac_n "checking Python version""... $ac_c" 1>&6
-echo "configure:1737: checking Python version" >&5
+echo "configure:1757: checking Python version" >&5
if eval "test \"`echo '$''{'vi_cv_var_python_version'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1745,14 +1765,14 @@ fi
echo "$ac_t""$vi_cv_var_python_version" 1>&6
echo $ac_n "checking Python is 1.4 or better""... $ac_c" 1>&6
-echo "configure:1749: checking Python is 1.4 or better" >&5
+echo "configure:1769: checking Python is 1.4 or better" >&5
if ${vi_cv_path_python} -c \
"import sys; sys.exit(${vi_cv_var_python_version} < 1.4)"
then
echo "$ac_t""yep" 1>&6
echo $ac_n "checking Python's install prefix""... $ac_c" 1>&6
-echo "configure:1756: checking Python's install prefix" >&5
+echo "configure:1776: checking Python's install prefix" >&5
if eval "test \"`echo '$''{'vi_cv_path_python_pfx'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1764,7 +1784,7 @@ fi
echo "$ac_t""$vi_cv_path_python_pfx" 1>&6
echo $ac_n "checking Python's execution prefix""... $ac_c" 1>&6
-echo "configure:1768: checking Python's execution prefix" >&5
+echo "configure:1788: checking Python's execution prefix" >&5
if eval "test \"`echo '$''{'vi_cv_path_python_epfx'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1795,7 +1815,7 @@ fi
echo $ac_n "checking Python's configuration directory""... $ac_c" 1>&6
-echo "configure:1799: checking Python's configuration directory" >&5
+echo "configure:1819: checking Python's configuration directory" >&5
if eval "test \"`echo '$''{'vi_cv_path_python_conf'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1868,7 +1888,7 @@ fi
PYTHON_GETPATH_CFLAGS="-DPYTHONPATH='\"${vi_cv_path_pythonpath}\"' -DPREFIX='\"${vi_cv_path_python_pfx}\"' -DEXEC_PREFIX='\"${vi_cv_path_python_epfx}\"'"
echo $ac_n "checking if -pthread should be used""... $ac_c" 1>&6
-echo "configure:1872: checking if -pthread should be used" >&5
+echo "configure:1892: checking if -pthread should be used" >&5
threadsafe_flag=
thread_lib=
if test "x$MACOSX" != "xyes"; then
@@ -1884,14 +1904,14 @@ echo "configure:1872: checking if -pthread should be used" >&5
CFLAGS="$CFLAGS $threadsafe_flag"
LIBS="$LIBS $thread_lib"
cat > conftest.$ac_ext <<EOF
-#line 1888 "configure"
+#line 1908 "configure"
#include "confdefs.h"
int main() {
; return 0; }
EOF
-if { (eval echo configure:1895: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:1915: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
echo "$ac_t""yes" 1>&6; PYTHON_CFLAGS="$PYTHON_CFLAGS $threadsafe_flag"
else
@@ -1908,20 +1928,20 @@ rm -f conftest*
fi
echo $ac_n "checking if compile and link flags for Python are sane""... $ac_c" 1>&6
-echo "configure:1912: checking if compile and link flags for Python are sane" >&5
+echo "configure:1932: checking if compile and link flags for Python are sane" >&5
cflags_save=$CFLAGS
libs_save=$LIBS
CFLAGS="$CFLAGS $PYTHON_CFLAGS"
LIBS="$LIBS $PYTHON_LIBS"
cat > conftest.$ac_ext <<EOF
-#line 1918 "configure"
+#line 1938 "configure"
#include "confdefs.h"
int main() {
; return 0; }
EOF
-if { (eval echo configure:1925: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:1945: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
echo "$ac_t""yes" 1>&6; python_ok=yes
else
@@ -1960,7 +1980,7 @@ fi
echo $ac_n "checking --enable-tclinterp argument""... $ac_c" 1>&6
-echo "configure:1964: checking --enable-tclinterp argument" >&5
+echo "configure:1984: checking --enable-tclinterp argument" >&5
# Check whether --enable-tclinterp or --disable-tclinterp was given.
if test "${enable_tclinterp+set}" = set; then
enableval="$enable_tclinterp"
@@ -1974,7 +1994,7 @@ echo "$ac_t""$enable_tclinterp" 1>&6
if test "$enable_tclinterp" = "yes"; then
echo $ac_n "checking --with-tclsh argument""... $ac_c" 1>&6
-echo "configure:1978: checking --with-tclsh argument" >&5
+echo "configure:1998: checking --with-tclsh argument" >&5
# Check whether --with-tclsh or --without-tclsh was given.
if test "${with_tclsh+set}" = set; then
withval="$with_tclsh"
@@ -1986,7 +2006,7 @@ fi
# Extract the first word of "$tclsh_name", so it can be a program name with args.
set dummy $tclsh_name; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1990: checking for $ac_word" >&5
+echo "configure:2010: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_vi_cv_path_tcl'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -2025,7 +2045,7 @@ fi
# Extract the first word of "$tclsh_name", so it can be a program name with args.
set dummy $tclsh_name; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2029: checking for $ac_word" >&5
+echo "configure:2049: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_vi_cv_path_tcl'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -2063,7 +2083,7 @@ fi
# Extract the first word of "$tclsh_name", so it can be a program name with args.
set dummy $tclsh_name; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2067: checking for $ac_word" >&5
+echo "configure:2087: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_vi_cv_path_tcl'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -2098,14 +2118,14 @@ fi
fi
if test "X$vi_cv_path_tcl" != "X"; then
echo $ac_n "checking Tcl version""... $ac_c" 1>&6
-echo "configure:2102: checking Tcl version" >&5
+echo "configure:2122: checking Tcl version" >&5
if echo 'exit [expr [info tclversion] < 8.0]' | $vi_cv_path_tcl - ; then
tclver=`echo 'puts [info tclversion]' | $vi_cv_path_tcl -`
echo "$ac_t""$tclver - OK" 1>&6;
tclloc=`echo 'set l [info library];set i [string last lib $l];incr i -2;puts [string range $l 0 $i]' | $vi_cv_path_tcl -`
echo $ac_n "checking for location of Tcl include""... $ac_c" 1>&6
-echo "configure:2109: checking for location of Tcl include" >&5
+echo "configure:2129: checking for location of Tcl include" >&5
if test "x$MACOSX" != "xyes"; then
tclinc="$tclloc/include $tclloc/include/tcl $tclloc/include/tcl$tclver /usr/local/include"
else
@@ -2124,7 +2144,7 @@ echo "configure:2109: checking for location of Tcl include" >&5
fi
if test -z "$SKIP_TCL"; then
echo $ac_n "checking for location of tclConfig.sh script""... $ac_c" 1>&6
-echo "configure:2128: checking for location of tclConfig.sh script" >&5
+echo "configure:2148: checking for location of tclConfig.sh script" >&5
if test "x$MACOSX" != "xyes"; then
tclcnf=`echo $tclinc | sed s/include/lib/g`
else
@@ -2142,7 +2162,7 @@ echo "configure:2128: checking for location of tclConfig.sh script" >&5
if test -z "$TCL_LIBS"; then
echo "$ac_t""<not found>" 1>&6
echo $ac_n "checking for Tcl library by myself""... $ac_c" 1>&6
-echo "configure:2146: checking for Tcl library by myself" >&5
+echo "configure:2166: checking for Tcl library by myself" >&5
tcllib=`echo $tclinc | sed s/include/lib/g`
for ext in .so .a ; do
for ver in "" $tclver ; do
@@ -2188,7 +2208,7 @@ fi
echo $ac_n "checking --enable-rubyinterp argument""... $ac_c" 1>&6
-echo "configure:2192: checking --enable-rubyinterp argument" >&5
+echo "configure:2212: checking --enable-rubyinterp argument" >&5
# Check whether --enable-rubyinterp or --disable-rubyinterp was given.
if test "${enable_rubyinterp+set}" = set; then
enableval="$enable_rubyinterp"
@@ -2203,7 +2223,7 @@ if test "$enable_rubyinterp" = "yes"; then
# Extract the first word of "ruby", so it can be a program name with args.
set dummy ruby; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2207: checking for $ac_word" >&5
+echo "configure:2227: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_vi_cv_path_ruby'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -2237,11 +2257,11 @@ fi
if test "X$vi_cv_path_ruby" != "X"; then
echo $ac_n "checking Ruby version""... $ac_c" 1>&6
-echo "configure:2241: checking Ruby version" >&5
+echo "configure:2261: checking Ruby version" >&5
if $vi_cv_path_ruby -e 'VERSION >= "1.6.0" or exit 1' >/dev/null 2>/dev/null; then
echo "$ac_t""OK" 1>&6
echo $ac_n "checking Ruby header files""... $ac_c" 1>&6
-echo "configure:2245: checking Ruby header files" >&5
+echo "configure:2265: checking Ruby header files" >&5
rubyhdrdir=`$vi_cv_path_ruby -r mkmf -e 'print Config::CONFIG["archdir"] || $hdrdir' 2>/dev/null`
if test "X$rubyhdrdir" != "X"; then
echo "$ac_t""$rubyhdrdir" 1>&6
@@ -2293,7 +2313,7 @@ fi
echo $ac_n "checking --enable-cscope argument""... $ac_c" 1>&6
-echo "configure:2297: checking --enable-cscope argument" >&5
+echo "configure:2317: checking --enable-cscope argument" >&5
# Check whether --enable-cscope or --disable-cscope was given.
if test "${enable_cscope+set}" = set; then
enableval="$enable_cscope"
@@ -2311,7 +2331,7 @@ EOF
fi
echo $ac_n "checking --enable-workshop argument""... $ac_c" 1>&6
-echo "configure:2315: checking --enable-workshop argument" >&5
+echo "configure:2335: checking --enable-workshop argument" >&5
# Check whether --enable-workshop or --disable-workshop was given.
if test "${enable_workshop+set}" = set; then
enableval="$enable_workshop"
@@ -2336,7 +2356,7 @@ EOF
fi
echo $ac_n "checking --disable-netbeans argument""... $ac_c" 1>&6
-echo "configure:2340: checking --disable-netbeans argument" >&5
+echo "configure:2360: checking --disable-netbeans argument" >&5
# Check whether --enable-netbeans or --disable-netbeans was given.
if test "${enable_netbeans+set}" = set; then
enableval="$enable_netbeans"
@@ -2348,7 +2368,7 @@ fi
if test "$enable_netbeans" = "yes"; then
echo "$ac_t""no" 1>&6
echo $ac_n "checking for socket in -lsocket""... $ac_c" 1>&6
-echo "configure:2352: checking for socket in -lsocket" >&5
+echo "configure:2372: checking for socket in -lsocket" >&5
ac_lib_var=`echo socket'_'socket | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -2356,7 +2376,7 @@ else
ac_save_LIBS="$LIBS"
LIBS="-lsocket $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 2360 "configure"
+#line 2380 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
@@ -2367,7 +2387,7 @@ int main() {
socket()
; return 0; }
EOF
-if { (eval echo configure:2371: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2391: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@@ -2395,7 +2415,7 @@ else
fi
echo $ac_n "checking for gethostbyname in -lnsl""... $ac_c" 1>&6
-echo "configure:2399: checking for gethostbyname in -lnsl" >&5
+echo "configure:2419: checking for gethostbyname in -lnsl" >&5
ac_lib_var=`echo nsl'_'gethostbyname | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -2403,7 +2423,7 @@ else
ac_save_LIBS="$LIBS"
LIBS="-lnsl $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 2407 "configure"
+#line 2427 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
@@ -2414,7 +2434,7 @@ int main() {
gethostbyname()
; return 0; }
EOF
-if { (eval echo configure:2418: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2438: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@@ -2442,9 +2462,9 @@ else
fi
echo $ac_n "checking whether compiling netbeans integration is possible""... $ac_c" 1>&6
-echo "configure:2446: checking whether compiling netbeans integration is possible" >&5
+echo "configure:2466: checking whether compiling netbeans integration is possible" >&5
cat > conftest.$ac_ext <<EOF
-#line 2448 "configure"
+#line 2468 "configure"
#include "confdefs.h"
#include <stdio.h>
@@ -2474,7 +2494,7 @@ int main() {
; return 0; }
EOF
-if { (eval echo configure:2478: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2498: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
echo "$ac_t""yes" 1>&6
else
@@ -2499,7 +2519,7 @@ EOF
fi
echo $ac_n "checking --enable-sniff argument""... $ac_c" 1>&6
-echo "configure:2503: checking --enable-sniff argument" >&5
+echo "configure:2523: checking --enable-sniff argument" >&5
# Check whether --enable-sniff or --disable-sniff was given.
if test "${enable_sniff+set}" = set; then
enableval="$enable_sniff"
@@ -2521,7 +2541,7 @@ EOF
fi
echo $ac_n "checking --enable-multibyte argument""... $ac_c" 1>&6
-echo "configure:2525: checking --enable-multibyte argument" >&5
+echo "configure:2545: checking --enable-multibyte argument" >&5
# Check whether --enable-multibyte or --disable-multibyte was given.
if test "${enable_multibyte+set}" = set; then
enableval="$enable_multibyte"
@@ -2539,7 +2559,7 @@ EOF
fi
echo $ac_n "checking --enable-hangulinput argument""... $ac_c" 1>&6
-echo "configure:2543: checking --enable-hangulinput argument" >&5
+echo "configure:2563: checking --enable-hangulinput argument" >&5
# Check whether --enable-hangulinput or --disable-hangulinput was given.
if test "${enable_hangulinput+set}" = set; then
enableval="$enable_hangulinput"
@@ -2551,7 +2571,7 @@ fi
echo "$ac_t""$enable_hangulinput" 1>&6
echo $ac_n "checking --enable-xim argument""... $ac_c" 1>&6
-echo "configure:2555: checking --enable-xim argument" >&5
+echo "configure:2575: checking --enable-xim argument" >&5
# Check whether --enable-xim or --disable-xim was given.
if test "${enable_xim+set}" = set; then
enableval="$enable_xim"
@@ -2562,7 +2582,7 @@ fi
echo $ac_n "checking --enable-fontset argument""... $ac_c" 1>&6
-echo "configure:2566: checking --enable-fontset argument" >&5
+echo "configure:2586: checking --enable-fontset argument" >&5
# Check whether --enable-fontset or --disable-fontset was given.
if test "${enable_fontset+set}" = set; then
enableval="$enable_fontset"
@@ -2582,7 +2602,7 @@ else
# Extract the first word of "xmkmf", so it can be a program name with args.
set dummy xmkmf; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2586: checking for $ac_word" >&5
+echo "configure:2606: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_xmkmfpath'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -2620,7 +2640,7 @@ fi
# Uses ac_ vars as temps to allow command line to override cache and checks.
# --without-x overrides everything else, but does not touch the cache.
echo $ac_n "checking for X""... $ac_c" 1>&6
-echo "configure:2624: checking for X" >&5
+echo "configure:2644: checking for X" >&5
# Check whether --with-x or --without-x was given.
if test "${with_x+set}" = set; then
@@ -2682,12 +2702,12 @@ if test "$ac_x_includes" = NO; then
# First, try using that file with no special directory specified.
cat > conftest.$ac_ext <<EOF
-#line 2686 "configure"
+#line 2706 "configure"
#include "confdefs.h"
#include <$x_direct_test_include>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:2691: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:2711: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
@@ -2756,14 +2776,14 @@ if test "$ac_x_libraries" = NO; then
ac_save_LIBS="$LIBS"
LIBS="-l$x_direct_test_library $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 2760 "configure"
+#line 2780 "configure"
#include "confdefs.h"
int main() {
${x_direct_test_function}()
; return 0; }
EOF
-if { (eval echo configure:2767: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2787: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
LIBS="$ac_save_LIBS"
# We can link X programs with no special library path.
@@ -2869,17 +2889,17 @@ else
case "`(uname -sr) 2>/dev/null`" in
"SunOS 5"*)
echo $ac_n "checking whether -R must be followed by a space""... $ac_c" 1>&6
-echo "configure:2873: checking whether -R must be followed by a space" >&5
+echo "configure:2893: checking whether -R must be followed by a space" >&5
ac_xsave_LIBS="$LIBS"; LIBS="$LIBS -R$x_libraries"
cat > conftest.$ac_ext <<EOF
-#line 2876 "configure"
+#line 2896 "configure"
#include "confdefs.h"
int main() {
; return 0; }
EOF
-if { (eval echo configure:2883: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2903: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
ac_R_nospace=yes
else
@@ -2895,14 +2915,14 @@ rm -f conftest*
else
LIBS="$ac_xsave_LIBS -R $x_libraries"
cat > conftest.$ac_ext <<EOF
-#line 2899 "configure"
+#line 2919 "configure"
#include "confdefs.h"
int main() {
; return 0; }
EOF
-if { (eval echo configure:2906: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2926: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
ac_R_space=yes
else
@@ -2934,7 +2954,7 @@ rm -f conftest*
# libraries were built with DECnet support. And karl@cs.umb.edu says
# the Alpha needs dnet_stub (dnet does not exist).
echo $ac_n "checking for dnet_ntoa in -ldnet""... $ac_c" 1>&6
-echo "configure:2938: checking for dnet_ntoa in -ldnet" >&5
+echo "configure:2958: checking for dnet_ntoa in -ldnet" >&5
ac_lib_var=`echo dnet'_'dnet_ntoa | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -2942,7 +2962,7 @@ else
ac_save_LIBS="$LIBS"
LIBS="-ldnet $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 2946 "configure"
+#line 2966 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
@@ -2953,7 +2973,7 @@ int main() {
dnet_ntoa()
; return 0; }
EOF
-if { (eval echo configure:2957: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2977: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@@ -2975,7 +2995,7 @@ fi
if test $ac_cv_lib_dnet_dnet_ntoa = no; then
echo $ac_n "checking for dnet_ntoa in -ldnet_stub""... $ac_c" 1>&6
-echo "configure:2979: checking for dnet_ntoa in -ldnet_stub" >&5
+echo "configure:2999: checking for dnet_ntoa in -ldnet_stub" >&5
ac_lib_var=`echo dnet_stub'_'dnet_ntoa | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -2983,7 +3003,7 @@ else
ac_save_LIBS="$LIBS"
LIBS="-ldnet_stub $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 2987 "configure"
+#line 3007 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
@@ -2994,7 +3014,7 @@ int main() {
dnet_ntoa()
; return 0; }
EOF
-if { (eval echo configure:2998: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3018: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@@ -3023,12 +3043,12 @@ fi
# The nsl library prevents programs from opening the X display
# on Irix 5.2, according to dickey@clark.net.
echo $ac_n "checking for gethostbyname""... $ac_c" 1>&6
-echo "configure:3027: checking for gethostbyname" >&5
+echo "configure:3047: checking for gethostbyname" >&5
if eval "test \"`echo '$''{'ac_cv_func_gethostbyname'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 3032 "configure"
+#line 3052 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char gethostbyname(); below. */
@@ -3051,7 +3071,7 @@ gethostbyname();
; return 0; }
EOF
-if { (eval echo configure:3055: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3075: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_gethostbyname=yes"
else
@@ -3072,7 +3092,7 @@ fi
if test $ac_cv_func_gethostbyname = no; then
echo $ac_n "checking for gethostbyname in -lnsl""... $ac_c" 1>&6
-echo "configure:3076: checking for gethostbyname in -lnsl" >&5
+echo "configure:3096: checking for gethostbyname in -lnsl" >&5
ac_lib_var=`echo nsl'_'gethostbyname | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -3080,7 +3100,7 @@ else
ac_save_LIBS="$LIBS"
LIBS="-lnsl $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 3084 "configure"
+#line 3104 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
@@ -3091,7 +3111,7 @@ int main() {
gethostbyname()
; return 0; }
EOF
-if { (eval echo configure:3095: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3115: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@@ -3121,12 +3141,12 @@ fi
# -lsocket must be given before -lnsl if both are needed.
# We assume that if connect needs -lnsl, so does gethostbyname.
echo $ac_n "checking for connect""... $ac_c" 1>&6
-echo "configure:3125: checking for connect" >&5
+echo "configure:3145: checking for connect" >&5
if eval "test \"`echo '$''{'ac_cv_func_connect'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 3130 "configure"
+#line 3150 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char connect(); below. */
@@ -3149,7 +3169,7 @@ connect();
; return 0; }
EOF
-if { (eval echo configure:3153: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3173: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_connect=yes"
else
@@ -3170,7 +3190,7 @@ fi
if test $ac_cv_func_connect = no; then
echo $ac_n "checking for connect in -lsocket""... $ac_c" 1>&6
-echo "configure:3174: checking for connect in -lsocket" >&5
+echo "configure:3194: checking for connect in -lsocket" >&5
ac_lib_var=`echo socket'_'connect | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -3178,7 +3198,7 @@ else
ac_save_LIBS="$LIBS"
LIBS="-lsocket $X_EXTRA_LIBS $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 3182 "configure"
+#line 3202 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
@@ -3189,7 +3209,7 @@ int main() {
connect()
; return 0; }
EOF
-if { (eval echo configure:3193: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3213: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@@ -3213,12 +3233,12 @@ fi
# gomez@mi.uni-erlangen.de says -lposix is necessary on A/UX.
echo $ac_n "checking for remove""... $ac_c" 1>&6
-echo "configure:3217: checking for remove" >&5
+echo "configure:3237: checking for remove" >&5
if eval "test \"`echo '$''{'ac_cv_func_remove'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 3222 "configure"
+#line 3242 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char remove(); below. */
@@ -3241,7 +3261,7 @@ remove();
; return 0; }
EOF
-if { (eval echo configure:3245: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3265: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_remove=yes"
else
@@ -3262,7 +3282,7 @@ fi
if test $ac_cv_func_remove = no; then
echo $ac_n "checking for remove in -lposix""... $ac_c" 1>&6
-echo "configure:3266: checking for remove in -lposix" >&5
+echo "configure:3286: checking for remove in -lposix" >&5
ac_lib_var=`echo posix'_'remove | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -3270,7 +3290,7 @@ else
ac_save_LIBS="$LIBS"
LIBS="-lposix $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 3274 "configure"
+#line 3294 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
@@ -3281,7 +3301,7 @@ int main() {
remove()
; return 0; }
EOF
-if { (eval echo configure:3285: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3305: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@@ -3305,12 +3325,12 @@ fi
# BSDI BSD/OS 2.1 needs -lipc for XOpenDisplay.
echo $ac_n "checking for shmat""... $ac_c" 1>&6
-echo "configure:3309: checking for shmat" >&5
+echo "configure:3329: checking for shmat" >&5
if eval "test \"`echo '$''{'ac_cv_func_shmat'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 3314 "configure"
+#line 3334 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char shmat(); below. */
@@ -3333,7 +3353,7 @@ shmat();
; return 0; }
EOF
-if { (eval echo configure:3337: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3357: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_shmat=yes"
else
@@ -3354,7 +3374,7 @@ fi
if test $ac_cv_func_shmat = no; then
echo $ac_n "checking for shmat in -lipc""... $ac_c" 1>&6
-echo "configure:3358: checking for shmat in -lipc" >&5
+echo "configure:3378: checking for shmat in -lipc" >&5
ac_lib_var=`echo ipc'_'shmat | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -3362,7 +3382,7 @@ else
ac_save_LIBS="$LIBS"
LIBS="-lipc $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 3366 "configure"
+#line 3386 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
@@ -3373,7 +3393,7 @@ int main() {
shmat()
; return 0; }
EOF
-if { (eval echo configure:3377: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3397: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@@ -3406,7 +3426,7 @@ fi
# libraries we check for below, so use a different variable.
# --interran@uluru.Stanford.EDU, kb@cs.umb.edu.
echo $ac_n "checking for IceConnectionNumber in -lICE""... $ac_c" 1>&6
-echo "configure:3410: checking for IceConnectionNumber in -lICE" >&5
+echo "configure:3430: checking for IceConnectionNumber in -lICE" >&5
ac_lib_var=`echo ICE'_'IceConnectionNumber | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -3414,7 +3434,7 @@ else
ac_save_LIBS="$LIBS"
LIBS="-lICE $X_EXTRA_LIBS $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 3418 "configure"
+#line 3438 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
@@ -3425,7 +3445,7 @@ int main() {
IceConnectionNumber()
; return 0; }
EOF
-if { (eval echo configure:3429: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3449: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@@ -3479,18 +3499,18 @@ fi
echo $ac_n "checking if X11 header files can be found""... $ac_c" 1>&6
-echo "configure:3483: checking if X11 header files can be found" >&5
+echo "configure:3503: checking if X11 header files can be found" >&5
cflags_save=$CFLAGS
CFLAGS="$CFLAGS $X_CFLAGS"
cat > conftest.$ac_ext <<EOF
-#line 3487 "configure"
+#line 3507 "configure"
#include "confdefs.h"
#include <X11/Xlib.h>
int main() {
; return 0; }
EOF
-if { (eval echo configure:3494: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:3514: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
echo "$ac_t""yes" 1>&6
else
@@ -3516,7 +3536,7 @@ EOF
LDFLAGS="-L$x_libraries $LDFLAGS"
echo $ac_n "checking for _XdmcpAuthDoIt in -lXdmcp""... $ac_c" 1>&6
-echo "configure:3520: checking for _XdmcpAuthDoIt in -lXdmcp" >&5
+echo "configure:3540: checking for _XdmcpAuthDoIt in -lXdmcp" >&5
ac_lib_var=`echo Xdmcp'_'_XdmcpAuthDoIt | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -3524,7 +3544,7 @@ else
ac_save_LIBS="$LIBS"
LIBS="-lXdmcp -lXt $X_PRE_LIBS -lX11 $X_EXTRA_LIBS -lXdmcp $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 3528 "configure"
+#line 3548 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
@@ -3535,7 +3555,7 @@ int main() {
_XdmcpAuthDoIt()
; return 0; }
EOF
-if { (eval echo configure:3539: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3559: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@@ -3557,7 +3577,7 @@ fi
echo $ac_n "checking for IceOpenConnection in -lICE""... $ac_c" 1>&6
-echo "configure:3561: checking for IceOpenConnection in -lICE" >&5
+echo "configure:3581: checking for IceOpenConnection in -lICE" >&5
ac_lib_var=`echo ICE'_'IceOpenConnection | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -3565,7 +3585,7 @@ else
ac_save_LIBS="$LIBS"
LIBS="-lICE $X_EXTRA_LIBS $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 3569 "configure"
+#line 3589 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
@@ -3576,7 +3596,7 @@ int main() {
IceOpenConnection()
; return 0; }
EOF
-if { (eval echo configure:3580: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3600: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@@ -3599,7 +3619,7 @@ fi
LDFLAGS="$X_LIBS $ac_save_LDFLAGS"
echo $ac_n "checking for XpmCreatePixmapFromData in -lXpm""... $ac_c" 1>&6
-echo "configure:3603: checking for XpmCreatePixmapFromData in -lXpm" >&5
+echo "configure:3623: checking for XpmCreatePixmapFromData in -lXpm" >&5
ac_lib_var=`echo Xpm'_'XpmCreatePixmapFromData | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -3607,7 +3627,7 @@ else
ac_save_LIBS="$LIBS"
LIBS="-lXpm -lXt $X_PRE_LIBS -lXpm -lX11 $X_EXTRA_LIBS $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 3611 "configure"
+#line 3631 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
@@ -3618,7 +3638,7 @@ int main() {
XpmCreatePixmapFromData()
; return 0; }
EOF
-if { (eval echo configure:3622: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3642: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@@ -3640,18 +3660,18 @@ fi
echo $ac_n "checking if X11 header files implicitly declare return values""... $ac_c" 1>&6
-echo "configure:3644: checking if X11 header files implicitly declare return values" >&5
+echo "configure:3664: checking if X11 header files implicitly declare return values" >&5
cflags_save=$CFLAGS
CFLAGS="$CFLAGS $X_CFLAGS -Werror"
cat > conftest.$ac_ext <<EOF
-#line 3648 "configure"
+#line 3668 "configure"
#include "confdefs.h"
#include <X11/Xlib.h>
int main() {
; return 0; }
EOF
-if { (eval echo configure:3655: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:3675: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
echo "$ac_t""no" 1>&6
else
@@ -3660,14 +3680,14 @@ else
rm -rf conftest*
CFLAGS="$CFLAGS -Wno-implicit-int"
cat > conftest.$ac_ext <<EOF
-#line 3664 "configure"
+#line 3684 "configure"
#include "confdefs.h"
#include <X11/Xlib.h>
int main() {
; return 0; }
EOF
-if { (eval echo configure:3671: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:3691: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
echo "$ac_t""yes" 1>&6; cflags_save="$cflags_save -Wno-implicit-int"
else
@@ -3691,7 +3711,7 @@ fi
test "x$with_x" = xno -a "x$BEOS" != "xyes" -a "x$MACOSX" != "xyes" -a "x$QNX" != "xyes" && enable_gui=no
echo $ac_n "checking --enable-gui argument""... $ac_c" 1>&6
-echo "configure:3695: checking --enable-gui argument" >&5
+echo "configure:3715: checking --enable-gui argument" >&5
# Check whether --enable-gui or --disable-gui was given.
if test "${enable_gui+set}" = set; then
enableval="$enable_gui"
@@ -3753,7 +3773,6 @@ elif test "x$MACOSX" = "xyes" -a "x$with_x" = "xno" ; then
else
-
case "$enable_gui_canon" in
no|none) echo "$ac_t""no GUI support" 1>&6 ;;
yes|""|auto) echo "$ac_t""yes/auto - automatic GUI support" 1>&6
@@ -3764,6 +3783,8 @@ else
SKIP_ATHENA=
SKIP_NEXTAW=
SKIP_CARBON=;;
+ kde|Kde|KDE) echo "$ac_t""KDE 2.x or 3.x GUI support" 1>&6
+ SKIP_KDE=;;
gtk) echo "$ac_t""GTK+ 1.x GUI support" 1>&6
SKIP_GTK=;;
gtk2) echo "$ac_t""GTK+ 2.x GUI support" 1>&6
@@ -3787,9 +3808,26 @@ else
fi
+if test "x$SKIP_KDE" != "xYES" -a "$enable_gui_canon" != "kde"; then
+ echo $ac_n "checking whether or not to look for KDE""... $ac_c" 1>&6
+echo "configure:3814: checking whether or not to look for KDE" >&5
+ # Check whether --enable-kde-check or --disable-kde-check was given.
+if test "${enable_kde_check+set}" = set; then
+ enableval="$enable_kde_check"
+ :
+else
+ enable_kde_check="no"
+fi
+
+ echo "$ac_t""$enable_kde_check" 1>&6;
+ if test "x$enable_kde_check" = "xno"; then
+ SKIP_KDE=YES
+ fi
+fi
+
if test "x$SKIP_GTK" != "xYES" -a "$enable_gui_canon" != "gtk" -a "$enable_gui_canon" != "gtk2"; then
echo $ac_n "checking whether or not to look for GTK""... $ac_c" 1>&6
-echo "configure:3793: checking whether or not to look for GTK" >&5
+echo "configure:3831: checking whether or not to look for GTK" >&5
# Check whether --enable-gtk-check or --disable-gtk-check was given.
if test "${enable_gtk_check+set}" = set; then
enableval="$enable_gtk_check"
@@ -3808,7 +3846,7 @@ fi
if test "x$SKIP_GTK2" != "xYES" -a "$enable_gui_canon" != "gtk2" \
-a "$enable_gui_canon" != "gnome2"; then
echo $ac_n "checking whether or not to look for GTK+ 2""... $ac_c" 1>&6
-echo "configure:3812: checking whether or not to look for GTK+ 2" >&5
+echo "configure:3850: checking whether or not to look for GTK+ 2" >&5
# Check whether --enable-gtk2-check or --disable-gtk2-check was given.
if test "${enable_gtk2_check+set}" = set; then
enableval="$enable_gtk2_check"
@@ -3826,7 +3864,7 @@ fi
if test "x$SKIP_GNOME" != "xYES" -a "$enable_gui_canon" != "gnome" \
-a "$enable_gui_canon" != "gnome2"; then
echo $ac_n "checking whether or not to look for GNOME""... $ac_c" 1>&6
-echo "configure:3830: checking whether or not to look for GNOME" >&5
+echo "configure:3868: checking whether or not to look for GNOME" >&5
# Check whether --enable-gnome-check or --disable-gnome-check was given.
if test "${enable_gnome_check+set}" = set; then
enableval="$enable_gnome_check"
@@ -3843,7 +3881,7 @@ fi
if test "x$SKIP_MOTIF" != "xYES" -a "$enable_gui_canon" != "motif"; then
echo $ac_n "checking whether or not to look for Motif""... $ac_c" 1>&6
-echo "configure:3847: checking whether or not to look for Motif" >&5
+echo "configure:3885: checking whether or not to look for Motif" >&5
# Check whether --enable-motif-check or --disable-motif-check was given.
if test "${enable_motif_check+set}" = set; then
enableval="$enable_motif_check"
@@ -3860,7 +3898,7 @@ fi
if test "x$SKIP_ATHENA" != "xYES" -a "$enable_gui_canon" != "athena"; then
echo $ac_n "checking whether or not to look for Athena""... $ac_c" 1>&6
-echo "configure:3864: checking whether or not to look for Athena" >&5
+echo "configure:3902: checking whether or not to look for Athena" >&5
# Check whether --enable-athena-check or --disable-athena-check was given.
if test "${enable_athena_check+set}" = set; then
enableval="$enable_athena_check"
@@ -3877,7 +3915,7 @@ fi
if test "x$SKIP_NEXTAW" != "xYES" -a "$enable_gui_canon" != "nextaw"; then
echo $ac_n "checking whether or not to look for neXtaw""... $ac_c" 1>&6
-echo "configure:3881: checking whether or not to look for neXtaw" >&5
+echo "configure:3919: checking whether or not to look for neXtaw" >&5
# Check whether --enable-nextaw-check or --disable-nextaw-check was given.
if test "${enable_nextaw_check+set}" = set; then
enableval="$enable_nextaw_check"
@@ -3894,7 +3932,7 @@ fi
if test "x$SKIP_CARBON" != "xYES" -a "$enable_gui_canon" != "carbon"; then
echo $ac_n "checking whether or not to look for Carbon""... $ac_c" 1>&6
-echo "configure:3898: checking whether or not to look for Carbon" >&5
+echo "configure:3936: checking whether or not to look for Carbon" >&5
# Check whether --enable-carbon-check or --disable-carbon-check was given.
if test "${enable_carbon_check+set}" = set; then
enableval="$enable_carbon_check"
@@ -3909,9 +3947,359 @@ fi
fi
fi
+
+if test -z "$SKIP_KDE"; then
+# Check whether --with-qt-dir or --without-qt-dir was given.
+if test "${with_qt_dir+set}" = set; then
+ withval="$with_qt_dir"
+
+ ROOTQT="$withval"
+ MOC="$withval"/bin/moc
+ QT_INCLUDES="$withval"/include
+ QT_LIBS="$withval"/lib
+
+fi
+
+
+if test "x$ROOTQT" = "x"; then
+ if test -z "$QTDIR"; then
+ # Extract the first word of "moc", so it can be a program name with args.
+set dummy moc; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:3970: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_path_MOC'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ case "$MOC" in
+ /*)
+ ac_cv_path_MOC="$MOC" # Let the user override the test with a path.
+ ;;
+ ?:/*)
+ ac_cv_path_MOC="$MOC" # Let the user override the test with a dos path.
+ ;;
+ *)
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_path_MOC="$ac_dir/$ac_word"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_path_MOC" && ac_cv_path_MOC="no"
+ ;;
+esac
+fi
+MOC="$ac_cv_path_MOC"
+if test -n "$MOC"; then
+ echo "$ac_t""$MOC" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+ if text"x$MOC" = "x"; then
+ { echo "configure: error: could not find Qt directory" 1>&2; exit 1; }
+ else
+ ROOTQT=`echo $MOC | sed 's+/bin/moc++'`
+ fi
+ else
+ ROOTQT="$QTDIR"
+ fi
+fi
+MOC="$ROOTQT"/bin/moc
+QT_INCLUDES="$ROOTQT"/include
+QT_LIBS="$ROOTQT"/lib
+
+# Check whether --with-qt-includes or --without-qt-includes was given.
+if test "${with_qt_includes+set}" = set; then
+ withval="$with_qt_includes"
+ QT_INCLUDES="$withval"
+
+fi
+
+
+# Check whether --with-qt-libraries or --without-qt-libraries was given.
+if test "${with_qt_libraries+set}" = set; then
+ withval="$with_qt_libraries"
+ QT_LIBS="$withval"
+
+fi
+
+
+if test "x$QT_LIBS" = "x" ; then
+ QT_LIBS="$ROOTQT"/lib
+fi
+if test "x$QT_INCLUDES" = "x" ; then
+ QT_INCLUDES="$ROOTQT"/include
+fi
+
+echo $ac_n "checking whether or not to use a KDE Toolbar in KVim""... $ac_c" 1>&6
+echo "configure:4040: checking whether or not to use a KDE Toolbar in KVim" >&5
+# Check whether --enable-kde-toolbar or --disable-kde-toolbar was given.
+if test "${enable_kde_toolbar+set}" = set; then
+ enableval="$enable_kde_toolbar"
+ :
+else
+ enable_kde_toolbar="no"
+fi
+
+if test "x$enable_kde_toolbar" != "xno"; then
+ cat >> confdefs.h <<\EOF
+#define FEAT_KDETOOLBAR 1
+EOF
+
+fi
+echo "$ac_t""$enable_kde_toolbar" 1>&6;
+fi
+
+
+if test -z "$SKIP_KDE"; then
+
+
+echo $ac_n "checking --disable-rpath argument""... $ac_c" 1>&6
+echo "configure:4063: checking --disable-rpath argument" >&5
+# Check whether --enable-rpath or --disable-rpath was given.
+if test "${enable_rpath+set}" = set; then
+ enableval="$enable_rpath"
+ :
+else
+ enable_rpath="yes"
+fi
+
+if test "$enable_rpath" = "yes"; then
+ echo "$ac_t""no" 1>&6
+else
+ echo "$ac_t""yes" 1>&6
+fi
+
+echo $ac_n "checking --with-kde-prefix argument""... $ac_c" 1>&6
+echo "configure:4079: checking --with-kde-prefix argument" >&5
+# Check whether --with-kde-prefix or --without-kde-prefix was given.
+if test "${with_kde_prefix+set}" = set; then
+ withval="$with_kde_prefix"
+ kde_config_prefix="$withval";
+echo "$ac_t""$kde_config_prefix" 1>&6
+else
+ kde_config_prefix="";echo "$ac_t""no" 1>&6
+fi
+
+
+# Check whether --with-kde-includes or --without-kde-includes was given.
+if test "${with_kde_includes+set}" = set; then
+ withval="$with_kde_includes"
+ KDE_INCLUDES="$withval"
+
+fi
+
+
+# Check whether --with-kde-libraries or --without-kde-libraries was given.
+if test "${with_kde_libraries+set}" = set; then
+ withval="$with_kde_libraries"
+ KDE_LIBS="$withval"
+
+fi
+
+
+echo $ac_n "checking --disable-kdetest argument""... $ac_c" 1>&6
+echo "configure:4107: checking --disable-kdetest argument" >&5
+# Check whether --enable-kdetest or --disable-kdetest was given.
+if test "${enable_kdetest+set}" = set; then
+ enableval="$enable_kdetest"
+ enable_kdetest=yes
+fi
+
+
+if test "x$enable_kdetest" = "xyes" ; then
+ echo "$ac_t""kde test enabled" 1>&6
+else
+ echo "$ac_t""kde test disabled" 1>&6
+fi
+
+if test "x$kde_config_prefix" != "x" ; then
+ kde_config_args=""
+ KDE_CONFIG=$kde_config_prefix/bin/kde-config
+fi
+
+if test "X$KDE_CONFIG" = "X"; then
+ # Extract the first word of "kde-config", so it can be a program name with args.
+set dummy kde-config; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:4130: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_path_KDE_CONFIG'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ case "$KDE_CONFIG" in
+ /*)
+ ac_cv_path_KDE_CONFIG="$KDE_CONFIG" # Let the user override the test with a path.
+ ;;
+ ?:/*)
+ ac_cv_path_KDE_CONFIG="$KDE_CONFIG" # Let the user override the test with a dos path.
+ ;;
+ *)
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_path_KDE_CONFIG="$ac_dir/$ac_word"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_path_KDE_CONFIG" && ac_cv_path_KDE_CONFIG="no"
+ ;;
+esac
+fi
+KDE_CONFIG="$ac_cv_path_KDE_CONFIG"
+if test -n "$KDE_CONFIG"; then
+ echo "$ac_t""$KDE_CONFIG" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+else
+ echo "$ac_t""Using KDE configuration program $KDE_CONFIG" 1>&6
+fi
+
+if test "X$KDE_CONFIG" != "X" ; then
+
+ if test "X$KDE_CONFIG" != "X"; then
+ min_kde_version=2.0.0
+ echo $ac_n "checking for KDE version >= $min_kde_version""... $ac_c" 1>&6
+echo "configure:4172: checking for KDE version >= $min_kde_version" >&5
+ no_kde=""
+ if test "$KDE_CONFIG" = "no" ; then
+ no_kde=yes
+ else
+ KDE_PREFIX=`$KDE_CONFIG $kde_config_args --prefix`
+ if test "x$KDE_LIBS" = "x"; then
+ KDE_LIBS="$KDE_PREFIX/lib"
+ fi
+ if test "x$KDE_INCLUDES" = "x"; then
+ KDE_INCLUDES="$KDE_PREFIX/include"
+ fi
+ kde_major_version=`$KDE_CONFIG --version | grep KDE | \
+sed 's/KDE:\ //' | sed 's/\([0-9]*\).\([0-9]*.*\)/\1/'`
+ kde_minor_version=`$KDE_CONFIG --version | grep KDE | \
+sed 's/KDE:\ //' | sed 's/\([0-9]*\).\([0-9]*.*\)/\2/'`
+
+ qt_major_version=`$KDE_CONFIG --version | grep Qt | sed -e \
+'s/Qt:\ //' | sed 's/\([0-9]*\).\([0-9]*.*\)/\1/'`
+ qt_minor_version=`$KDE_CONFIG --version | grep Qt | sed -e \
+'s/Qt:\ //' | sed 's/\([0-9]*\).\([0-9]*.*\)/\2/'`
+
+ if test "x$enable-kdetest" = "xyes" ; then
+ ac_save_LIBS="$LIBS"
+ LIBS="$LIBS $KDE_LIBS"
+
+ if test "$cross_compiling" = yes; then
+ echo $ac_n "cross compiling KDE ? ? how can i remove that ? :)"
+else
+ cat > conftest.$ac_ext <<EOF
+#line 4202 "configure"
+#include "confdefs.h"
+
+#include <stdio.h>
+int
+main()
+{ return 0; }
+
+EOF
+if { (eval echo configure:4211: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+then
+ :
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -fr conftest*
+ no_kde=yes
+fi
+rm -fr conftest*
+fi
+
+ LIBS="$ac_save_LIBS"
+ fi
+ fi
+ if test "x$no_kde" = x ; then
+ echo "$ac_t""found KDE $kde_major_version.$kde_minor_version" 1>&6
+ GUI_LIB_LOC="-L$KDE_LIBS -lkdeui -lkdecore -lDCOP"
+ GUI_INC_LOC="-I$KDE_INCLUDES"
+ KDEDIR="$KDE_PREFIX"
+ else
+ echo "$ac_t""no" 1>&6
+ KDE_LIBS=""
+ :
+ fi
+else
+ echo "$ac_t""no" 1>&6
+ KDE_LIBS=""
+ :
+fi
+
+
+
+
+ if test "x$KDE_PREFIX" != "x"; then
+ echo $ac_n "checking for QT version $qt_major_version.x""... $ac_c" 1>&6
+echo "configure:4247: checking for QT version $qt_major_version.x" >&5
+ if test "x$ROOTQT" != "x" ; then
+ GUI_INC_LOC="-I$QT_INCLUDES $GUI_INC_LOC"
+ if test $qt_major_version -lt 2; then
+ { echo "configure: error: Your QT version is prior to 2.0; KDE 2.x and 3.x require at least QT 2" 1>&2; exit 1; }
+ fi
+ if test "`(uname) 2>/dev/null`" = "FreeBSD"; then
+ CFLAGS="$CFLAGS -D_THREAD_SAFE"
+ CXXFLAGS="$CXXFLAGS -D_THREAD_SAFE"
+ GUI_LIB_LOC="$GUI_LIB_LOC -pthread"
+ LIBS="$LIBS -pthread"
+ fi
+
+ if test "x$enable_rpath" = "xyes"; then
+ if test $qt_major_version = 2; then
+ GUI_LIB_LOC="-L$KDE_LIBS -lkfile -L$QT_LIBS -lqt $GUI_LIB_LOC \
+-Wl,--rpath -Wl,$KDE_LIBS -Wl,--rpath -Wl,$QT_LIBS"
+ else
+ GUI_LIB_LOC="-L$KDE_LIBS -lkio -L$QT_LIBS -lqt-mt $GUI_LIB_LOC \
+-Wl,--rpath -Wl,$KDE_LIBS -Wl,--rpath -Wl,$QT_LIBS"
+ fi
+ else
+ if test $qt_major_version = 2; then
+ GUI_LIB_LOC="-L$KDE_LIBS -lkfile -L$QT_LIBS -lqt $GUI_LIB_LOC"
+ else
+ GUI_LIB_LOC="-L$KDE_LIBS -lkio -L$QT_LIBS -lqt-mt $GUI_LIB_LOC"
+ fi
+ fi
+
+ GUI_INC_LOC="`echo $GUI_INC_LOC\ | sed 's%-I/usr/include %%'`"
+
+ echo "$ac_t""found $qt_major_version.$qt_minor_version in $ROOTQT" 1>&6
+ SKIP_GTK=YES
+ SKIP_ATHENA=YES
+ SKIP_MOTIF=YES
+ GUITYPE=KDE
+
+
+
+
+
+ cat >> confdefs.h <<\EOF
+#define FEAT_GUI_KDE 1
+EOF
+
+ else
+ { echo "configure: error: Detected QT version mismatched" 1>&2; exit 1; }
+ fi
+ else
+ { echo "configure: error: Could not find KDE installation prefix" 1>&2; exit 1; }
+ fi
+fi
+fi
+
if test "x$MACOSX" = "xyes" -a -z "$SKIP_CARBON" -a "x$CARBON" = "xyes"; then
echo $ac_n "checking for Carbon GUI""... $ac_c" 1>&6
-echo "configure:3915: checking for Carbon GUI" >&5
+echo "configure:4303: checking for Carbon GUI" >&5
echo "$ac_t""yes" 1>&6;
GUITYPE=CARBONGUI
SKIP_GTK=YES;
@@ -3933,11 +4321,10 @@ fi
-
if test -z "$SKIP_GTK"; then
echo $ac_n "checking --with-gtk-prefix argument""... $ac_c" 1>&6
-echo "configure:3941: checking --with-gtk-prefix argument" >&5
+echo "configure:4328: checking --with-gtk-prefix argument" >&5
# Check whether --with-gtk-prefix or --without-gtk-prefix was given.
if test "${with_gtk_prefix+set}" = set; then
withval="$with_gtk_prefix"
@@ -3948,7 +4335,7 @@ fi
echo $ac_n "checking --with-gtk-exec-prefix argument""... $ac_c" 1>&6
-echo "configure:3952: checking --with-gtk-exec-prefix argument" >&5
+echo "configure:4339: checking --with-gtk-exec-prefix argument" >&5
# Check whether --with-gtk-exec-prefix or --without-gtk-exec-prefix was given.
if test "${with_gtk_exec_prefix+set}" = set; then
withval="$with_gtk_exec_prefix"
@@ -3959,7 +4346,7 @@ fi
echo $ac_n "checking --disable-gtktest argument""... $ac_c" 1>&6
-echo "configure:3963: checking --disable-gtktest argument" >&5
+echo "configure:4350: checking --disable-gtktest argument" >&5
# Check whether --enable-gtktest or --disable-gtktest was given.
if test "${enable_gtktest+set}" = set; then
enableval="$enable_gtktest"
@@ -3986,7 +4373,7 @@ fi
# Extract the first word of "gtk-config", so it can be a program name with args.
set dummy gtk-config; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3990: checking for $ac_word" >&5
+echo "configure:4377: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_GTK_CONFIG'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -4023,7 +4410,7 @@ fi
# Extract the first word of "gtk12-config", so it can be a program name with args.
set dummy gtk12-config; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:4027: checking for $ac_word" >&5
+echo "configure:4414: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_GTK12_CONFIG'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -4065,7 +4452,7 @@ fi
# Extract the first word of "pkg-config", so it can be a program name with args.
set dummy pkg-config; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:4069: checking for $ac_word" >&5
+echo "configure:4456: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_PKG_CONFIG'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -4107,7 +4494,7 @@ fi
{
min_gtk_version=2.2.0
echo $ac_n "checking for GTK - version >= $min_gtk_version""... $ac_c" 1>&6
-echo "configure:4111: checking for GTK - version >= $min_gtk_version" >&5
+echo "configure:4498: checking for GTK - version >= $min_gtk_version" >&5
no_gtk=""
if (test "X$SKIP_GTK2" != "XYES" -a "X$PKG_CONFIG" != "Xno") \
&& $PKG_CONFIG --exists gtk+-2.0; then
@@ -4148,7 +4535,7 @@ echo "configure:4111: checking for GTK - version >= $min_gtk_version" >&5
echo $ac_n "cross compiling; assumed OK... $ac_c"
else
cat > conftest.$ac_ext <<EOF
-#line 4152 "configure"
+#line 4539 "configure"
#include "confdefs.h"
#include <gtk/gtk.h>
@@ -4180,7 +4567,7 @@ return 1;
}
EOF
-if { (eval echo configure:4184: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:4571: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
:
else
@@ -4238,7 +4625,7 @@ fi
{
min_gtk_version=1.1.16
echo $ac_n "checking for GTK - version >= $min_gtk_version""... $ac_c" 1>&6
-echo "configure:4242: checking for GTK - version >= $min_gtk_version" >&5
+echo "configure:4629: checking for GTK - version >= $min_gtk_version" >&5
no_gtk=""
if (test "X$SKIP_GTK2" != "XYES" -a "X$PKG_CONFIG" != "Xno") \
&& $PKG_CONFIG --exists gtk+-2.0; then
@@ -4279,7 +4666,7 @@ echo "configure:4242: checking for GTK - version >= $min_gtk_version" >&5
echo $ac_n "cross compiling; assumed OK... $ac_c"
else
cat > conftest.$ac_ext <<EOF
-#line 4283 "configure"
+#line 4670 "configure"
#include "confdefs.h"
#include <gtk/gtk.h>
@@ -4311,7 +4698,7 @@ return 1;
}
EOF
-if { (eval echo configure:4315: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:4702: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
:
else
@@ -4429,7 +4816,7 @@ fi
if test "x$want_gnome" = xyes -a "0$gtk_major_version" -ge 2; then
{
echo $ac_n "checking for libgnomeui-2.0""... $ac_c" 1>&6
-echo "configure:4433: checking for libgnomeui-2.0" >&5
+echo "configure:4820: checking for libgnomeui-2.0" >&5
if $PKG_CONFIG --exists libgnomeui-2.0; then
echo "$ac_t""yes" 1>&6
GNOME_LIBS=`$PKG_CONFIG --libs-only-l libgnomeui-2.0`
@@ -4448,7 +4835,7 @@ echo "configure:4433: checking for libgnomeui-2.0" >&5
# Extract the first word of "gnome-config", so it can be a program name with args.
set dummy gnome-config; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:4452: checking for $ac_word" >&5
+echo "configure:4839: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_GNOME_CONFIG'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -4485,7 +4872,7 @@ fi
no_gnome_config="yes"
else
echo $ac_n "checking if $GNOME_CONFIG works""... $ac_c" 1>&6
-echo "configure:4489: checking if $GNOME_CONFIG works" >&5
+echo "configure:4876: checking if $GNOME_CONFIG works" >&5
if $GNOME_CONFIG --libs-only-l gnome >/dev/null 2>&1; then
echo "$ac_t""yes" 1>&6
GNOME_LIBS="`$GNOME_CONFIG --libs-only-l gnome gnomeui`"
@@ -4510,7 +4897,7 @@ echo "configure:4489: checking if $GNOME_CONFIG works" >&5
if test "$no_gnome_config" = "yes"; then
echo $ac_n "checking for gnomeConf.sh file in $gnome_prefix""... $ac_c" 1>&6
-echo "configure:4514: checking for gnomeConf.sh file in $gnome_prefix" >&5
+echo "configure:4901: checking for gnomeConf.sh file in $gnome_prefix" >&5
if test -f $gnome_prefix/gnomeConf.sh; then
echo "$ac_t""found" 1>&6
echo "loading gnome configuration from" \
@@ -4548,7 +4935,7 @@ if test -z "$SKIP_MOTIF"; then
GUI_INC_LOC="`echo $GUI_INC_LOC|sed 's%-I%%g'`"
echo $ac_n "checking for location of Motif GUI includes""... $ac_c" 1>&6
-echo "configure:4552: checking for location of Motif GUI includes" >&5
+echo "configure:4939: checking for location of Motif GUI includes" >&5
gui_includes="`echo $x_includes|sed 's%/^/^/*$%%'` `echo "$gui_XXX" | sed s/XXX/include/g` $GUI_INC_LOC"
GUI_INC_LOC=
for try in $gui_includes; do
@@ -4572,7 +4959,7 @@ fi
if test -z "$SKIP_MOTIF"; then
echo $ac_n "checking --with-motif-lib argument""... $ac_c" 1>&6
-echo "configure:4576: checking --with-motif-lib argument" >&5
+echo "configure:4963: checking --with-motif-lib argument" >&5
# Check whether --with-motif-lib or --without-motif-lib was given.
if test "${with_motif_lib+set}" = set; then
withval="$with_motif_lib"
@@ -4589,7 +4976,7 @@ fi
GUI_LIB_LOC="`echo $GUI_LIB_LOC|sed 's%-L%%g'`"
echo $ac_n "checking for location of Motif GUI libs""... $ac_c" 1>&6
-echo "configure:4593: checking for location of Motif GUI libs" >&5
+echo "configure:4980: checking for location of Motif GUI libs" >&5
gui_libs="`echo $x_libraries|sed 's%/^/^/*$%%'` `echo "$gui_XXX" | sed s/XXX/lib/g` `echo "$GUI_INC_LOC" | sed s/include/lib/` $GUI_LIB_LOC"
GUI_LIB_LOC=
for try in $gui_libs; do
@@ -4632,11 +5019,11 @@ GUI_X_LIBS=
if test -z "$SKIP_ATHENA"; then
echo $ac_n "checking if Athena header files can be found""... $ac_c" 1>&6
-echo "configure:4636: checking if Athena header files can be found" >&5
+echo "configure:5023: checking if Athena header files can be found" >&5
cflags_save=$CFLAGS
CFLAGS="$CFLAGS $X_CFLAGS"
cat > conftest.$ac_ext <<EOF
-#line 4640 "configure"
+#line 5027 "configure"
#include "confdefs.h"
#include <X11/Intrinsic.h>
@@ -4645,7 +5032,7 @@ int main() {
; return 0; }
EOF
-if { (eval echo configure:4649: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:5036: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
echo "$ac_t""yes" 1>&6
else
@@ -4664,11 +5051,11 @@ fi
if test -z "$SKIP_NEXTAW"; then
echo $ac_n "checking if neXtaw header files can be found""... $ac_c" 1>&6
-echo "configure:4668: checking if neXtaw header files can be found" >&5
+echo "configure:5055: checking if neXtaw header files can be found" >&5
cflags_save=$CFLAGS
CFLAGS="$CFLAGS $X_CFLAGS"
cat > conftest.$ac_ext <<EOF
-#line 4672 "configure"
+#line 5059 "configure"
#include "confdefs.h"
#include <X11/Intrinsic.h>
@@ -4677,7 +5064,7 @@ int main() {
; return 0; }
EOF
-if { (eval echo configure:4681: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:5068: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
echo "$ac_t""yes" 1>&6
else
@@ -4705,7 +5092,7 @@ if test -z "$SKIP_ATHENA" -o -z "$SKIP_NEXTAW" -o -z "$SKIP_MOTIF"; then
ldflags_save=$LDFLAGS
LDFLAGS="$X_LIBS $LDFLAGS"
echo $ac_n "checking for XShapeQueryExtension in -lXext""... $ac_c" 1>&6
-echo "configure:4709: checking for XShapeQueryExtension in -lXext" >&5
+echo "configure:5096: checking for XShapeQueryExtension in -lXext" >&5
ac_lib_var=`echo Xext'_'XShapeQueryExtension | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -4713,7 +5100,7 @@ else
ac_save_LIBS="$LIBS"
LIBS="-lXext -lXt $X_PRE_LIBS -lX11 $X_EXTRA_LIBS $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 4717 "configure"
+#line 5104 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
@@ -4724,7 +5111,7 @@ int main() {
XShapeQueryExtension()
; return 0; }
EOF
-if { (eval echo configure:4728: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5115: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@@ -4745,7 +5132,7 @@ else
fi
echo $ac_n "checking for wslen in -lw""... $ac_c" 1>&6
-echo "configure:4749: checking for wslen in -lw" >&5
+echo "configure:5136: checking for wslen in -lw" >&5
ac_lib_var=`echo w'_'wslen | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -4753,7 +5140,7 @@ else
ac_save_LIBS="$LIBS"
LIBS="-lw $GUI_X_LIBS -lXt $X_PRE_LIBS -lX11 $X_EXTRA_LIBS $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 4757 "configure"
+#line 5144 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
@@ -4764,7 +5151,7 @@ int main() {
wslen()
; return 0; }
EOF
-if { (eval echo configure:4768: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5155: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@@ -4785,7 +5172,7 @@ else
fi
echo $ac_n "checking for dlsym in -ldl""... $ac_c" 1>&6
-echo "configure:4789: checking for dlsym in -ldl" >&5
+echo "configure:5176: checking for dlsym in -ldl" >&5
ac_lib_var=`echo dl'_'dlsym | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -4793,7 +5180,7 @@ else
ac_save_LIBS="$LIBS"
LIBS="-ldl $GUI_X_LIBS -lXt $X_PRE_LIBS -lX11 $X_EXTRA_LIBS $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 4797 "configure"
+#line 5184 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
@@ -4804,7 +5191,7 @@ int main() {
dlsym()
; return 0; }
EOF
-if { (eval echo configure:4808: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5195: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@@ -4825,7 +5212,7 @@ else
fi
echo $ac_n "checking for XmuCreateStippledPixmap in -lXmu""... $ac_c" 1>&6
-echo "configure:4829: checking for XmuCreateStippledPixmap in -lXmu" >&5
+echo "configure:5216: checking for XmuCreateStippledPixmap in -lXmu" >&5
ac_lib_var=`echo Xmu'_'XmuCreateStippledPixmap | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -4833,7 +5220,7 @@ else
ac_save_LIBS="$LIBS"
LIBS="-lXmu $GUI_X_LIBS -lXt $X_PRE_LIBS -lX11 $X_EXTRA_LIBS $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 4837 "configure"
+#line 5224 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
@@ -4844,7 +5231,7 @@ int main() {
XmuCreateStippledPixmap()
; return 0; }
EOF
-if { (eval echo configure:4848: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5235: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@@ -4866,7 +5253,7 @@ fi
if test -z "$SKIP_MOTIF"; then
echo $ac_n "checking for XpEndJob in -lXp""... $ac_c" 1>&6
-echo "configure:4870: checking for XpEndJob in -lXp" >&5
+echo "configure:5257: checking for XpEndJob in -lXp" >&5
ac_lib_var=`echo Xp'_'XpEndJob | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -4874,7 +5261,7 @@ else
ac_save_LIBS="$LIBS"
LIBS="-lXp $GUI_X_LIBS -lXm -lXt $X_PRE_LIBS -lX11 $X_EXTRA_LIBS $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 4878 "configure"
+#line 5265 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
@@ -4885,7 +5272,7 @@ int main() {
XpEndJob()
; return 0; }
EOF
-if { (eval echo configure:4889: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5276: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@@ -4909,7 +5296,7 @@ fi
LDFLAGS=$ldflags_save
echo $ac_n "checking for extra X11 defines""... $ac_c" 1>&6
-echo "configure:4913: checking for extra X11 defines" >&5
+echo "configure:5300: checking for extra X11 defines" >&5
NARROW_PROTO=
rm -fr conftestdir
if mkdir conftestdir; then
@@ -4939,17 +5326,17 @@ if test "$enable_xsmp" = "yes"; then
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:4943: checking for $ac_hdr" >&5
+echo "configure:5330: checking for $ac_hdr" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 4948 "configure"
+#line 5335 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:4953: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:5340: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
@@ -4986,17 +5373,17 @@ if test -z "$SKIP_ATHENA" -o -z "$SKIP_NEXTAW" -o -z "$SKIP_MOTIF" -o -z "$SKIP_
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:4990: checking for $ac_hdr" >&5
+echo "configure:5377: checking for $ac_hdr" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 4995 "configure"
+#line 5382 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:5000: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:5387: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
@@ -5025,9 +5412,9 @@ done
if test ! "$enable_xim" = "no"; then
echo $ac_n "checking for XIMText in X11/Xlib.h""... $ac_c" 1>&6
-echo "configure:5029: checking for XIMText in X11/Xlib.h" >&5
+echo "configure:5416: checking for XIMText in X11/Xlib.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 5031 "configure"
+#line 5418 "configure"
#include "confdefs.h"
#include <X11/Xlib.h>
EOF
@@ -5058,17 +5445,17 @@ if test -z "$SKIP_ATHENA" -o -z "$SKIP_NEXTAW" -o -z "$SKIP_MOTIF"; then
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:5062: checking for $ac_hdr" >&5
+echo "configure:5449: checking for $ac_hdr" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 5067 "configure"
+#line 5454 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:5072: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:5459: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
@@ -5104,17 +5491,17 @@ if test -z "$SKIP_MOTIF"; then
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:5108: checking for $ac_hdr" >&5
+echo "configure:5495: checking for $ac_hdr" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 5113 "configure"
+#line 5500 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:5118: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:5505: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
@@ -5207,17 +5594,17 @@ fi
echo $ac_n "checking quality of toupper""... $ac_c" 1>&6
-echo "configure:5211: checking quality of toupper" >&5
+echo "configure:5598: checking quality of toupper" >&5
if test "$cross_compiling" = yes; then
{ echo "configure: error: failed to compile test program" 1>&2; exit 1; }
else
cat > conftest.$ac_ext <<EOF
-#line 5216 "configure"
+#line 5603 "configure"
#include "confdefs.h"
#include <ctype.h>
main() { exit(toupper('A') == 'A' && tolower('z') == 'z'); }
EOF
-if { (eval echo configure:5221: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:5608: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
cat >> confdefs.h <<\EOF
#define BROKEN_TOUPPER 1
@@ -5234,16 +5621,16 @@ fi
echo $ac_n "checking whether __DATE__ and __TIME__ work""... $ac_c" 1>&6
-echo "configure:5238: checking whether __DATE__ and __TIME__ work" >&5
+echo "configure:5625: checking whether __DATE__ and __TIME__ work" >&5
cat > conftest.$ac_ext <<EOF
-#line 5240 "configure"
+#line 5627 "configure"
#include "confdefs.h"
int main() {
printf("(" __DATE__ " " __TIME__ ")");
; return 0; }
EOF
-if { (eval echo configure:5247: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:5634: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
echo "$ac_t""yes" 1>&6; cat >> confdefs.h <<\EOF
#define HAVE_DATE_TIME 1
@@ -5259,17 +5646,17 @@ rm -f conftest*
ac_safe=`echo "elf.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for elf.h""... $ac_c" 1>&6
-echo "configure:5263: checking for elf.h" >&5
+echo "configure:5650: checking for elf.h" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 5268 "configure"
+#line 5655 "configure"
#include "confdefs.h"
#include <elf.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:5273: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:5660: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
@@ -5292,7 +5679,7 @@ fi
if test "$HAS_ELF" = 1; then
echo $ac_n "checking for main in -lelf""... $ac_c" 1>&6
-echo "configure:5296: checking for main in -lelf" >&5
+echo "configure:5683: checking for main in -lelf" >&5
ac_lib_var=`echo elf'_'main | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -5300,14 +5687,14 @@ else
ac_save_LIBS="$LIBS"
LIBS="-lelf $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 5304 "configure"
+#line 5691 "configure"
#include "confdefs.h"
int main() {
main()
; return 0; }
EOF
-if { (eval echo configure:5311: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5698: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@@ -5341,12 +5728,12 @@ for ac_hdr in dirent.h sys/ndir.h sys/dir.h ndir.h
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr that defines DIR""... $ac_c" 1>&6
-echo "configure:5345: checking for $ac_hdr that defines DIR" >&5
+echo "configure:5732: checking for $ac_hdr that defines DIR" >&5
if eval "test \"`echo '$''{'ac_cv_header_dirent_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 5350 "configure"
+#line 5737 "configure"
#include "confdefs.h"
#include <sys/types.h>
#include <$ac_hdr>
@@ -5354,7 +5741,7 @@ int main() {
DIR *dirp = 0;
; return 0; }
EOF
-if { (eval echo configure:5358: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:5745: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
eval "ac_cv_header_dirent_$ac_safe=yes"
else
@@ -5379,7 +5766,7 @@ done
# Two versions of opendir et al. are in -ldir and -lx on SCO Xenix.
if test $ac_header_dirent = dirent.h; then
echo $ac_n "checking for opendir in -ldir""... $ac_c" 1>&6
-echo "configure:5383: checking for opendir in -ldir" >&5
+echo "configure:5770: checking for opendir in -ldir" >&5
ac_lib_var=`echo dir'_'opendir | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -5387,7 +5774,7 @@ else
ac_save_LIBS="$LIBS"
LIBS="-ldir $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 5391 "configure"
+#line 5778 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
@@ -5398,7 +5785,7 @@ int main() {
opendir()
; return 0; }
EOF
-if { (eval echo configure:5402: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5789: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@@ -5420,7 +5807,7 @@ fi
else
echo $ac_n "checking for opendir in -lx""... $ac_c" 1>&6
-echo "configure:5424: checking for opendir in -lx" >&5
+echo "configure:5811: checking for opendir in -lx" >&5
ac_lib_var=`echo x'_'opendir | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -5428,7 +5815,7 @@ else
ac_save_LIBS="$LIBS"
LIBS="-lx $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 5432 "configure"
+#line 5819 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
@@ -5439,7 +5826,7 @@ int main() {
opendir()
; return 0; }
EOF
-if { (eval echo configure:5443: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5830: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@@ -5463,12 +5850,12 @@ fi
echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6
-echo "configure:5467: checking for ANSI C header files" >&5
+echo "configure:5854: checking for ANSI C header files" >&5
if eval "test \"`echo '$''{'ac_cv_header_stdc'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 5472 "configure"
+#line 5859 "configure"
#include "confdefs.h"
#include <stdlib.h>
#include <stdarg.h>
@@ -5476,7 +5863,7 @@ else
#include <float.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:5480: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:5867: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
@@ -5493,7 +5880,7 @@ rm -f conftest*
if test $ac_cv_header_stdc = yes; then
# SunOS 4.x string.h does not declare mem*, contrary to ANSI.
cat > conftest.$ac_ext <<EOF
-#line 5497 "configure"
+#line 5884 "configure"
#include "confdefs.h"
#include <string.h>
EOF
@@ -5511,7 +5898,7 @@ fi
if test $ac_cv_header_stdc = yes; then
# ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
cat > conftest.$ac_ext <<EOF
-#line 5515 "configure"
+#line 5902 "configure"
#include "confdefs.h"
#include <stdlib.h>
EOF
@@ -5532,7 +5919,7 @@ if test "$cross_compiling" = yes; then
:
else
cat > conftest.$ac_ext <<EOF
-#line 5536 "configure"
+#line 5923 "configure"
#include "confdefs.h"
#include <ctype.h>
#define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
@@ -5543,7 +5930,7 @@ if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) exit(2);
exit (0); }
EOF
-if { (eval echo configure:5547: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:5934: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
:
else
@@ -5567,12 +5954,12 @@ EOF
fi
echo $ac_n "checking for sys/wait.h that is POSIX.1 compatible""... $ac_c" 1>&6
-echo "configure:5571: checking for sys/wait.h that is POSIX.1 compatible" >&5
+echo "configure:5958: checking for sys/wait.h that is POSIX.1 compatible" >&5
if eval "test \"`echo '$''{'ac_cv_header_sys_wait_h'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 5576 "configure"
+#line 5963 "configure"
#include "confdefs.h"
#include <sys/types.h>
#include <sys/wait.h>
@@ -5588,7 +5975,7 @@ wait (&s);
s = WIFEXITED (s) ? WEXITSTATUS (s) : 1;
; return 0; }
EOF
-if { (eval echo configure:5592: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:5979: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_header_sys_wait_h=yes
else
@@ -5611,16 +5998,16 @@ fi
if test $ac_cv_header_sys_wait_h = no; then
echo $ac_n "checking for sys/wait.h that defines union wait""... $ac_c" 1>&6
-echo "configure:5615: checking for sys/wait.h that defines union wait" >&5
+echo "configure:6002: checking for sys/wait.h that defines union wait" >&5
cat > conftest.$ac_ext <<EOF
-#line 5617 "configure"
+#line 6004 "configure"
#include "confdefs.h"
#include <sys/wait.h>
int main() {
union wait xx, yy; xx = yy
; return 0; }
EOF
-if { (eval echo configure:5624: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:6011: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
echo "$ac_t""yes" 1>&6
cat >> confdefs.h <<\EOF
@@ -5651,17 +6038,17 @@ for ac_hdr in stdarg.h stdlib.h string.h sys/select.h sys/utsname.h \
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:5655: checking for $ac_hdr" >&5
+echo "configure:6042: checking for $ac_hdr" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 5660 "configure"
+#line 6047 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:5665: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:6052: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
@@ -5693,17 +6080,17 @@ if test "x$MACOSX" != "xyes"; then
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:5697: checking for $ac_hdr" >&5
+echo "configure:6084: checking for $ac_hdr" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 5702 "configure"
+#line 6089 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:5707: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:6094: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
@@ -5732,11 +6119,11 @@ done
fi
echo $ac_n "checking if strings.h can be included after string.h""... $ac_c" 1>&6
-echo "configure:5736: checking if strings.h can be included after string.h" >&5
+echo "configure:6123: checking if strings.h can be included after string.h" >&5
cppflags_save=$CPPFLAGS
CPPFLAGS="$CPPFLAGS $X_CFLAGS"
cat > conftest.$ac_ext <<EOF
-#line 5740 "configure"
+#line 6127 "configure"
#include "confdefs.h"
#if defined(_AIX) && !defined(_AIX51) && !defined(_NO_PROTO)
@@ -5757,7 +6144,7 @@ int main() {
int i; i = 0;
; return 0; }
EOF
-if { (eval echo configure:5761: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:6148: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
echo "$ac_t""yes" 1>&6
else
@@ -5775,13 +6162,13 @@ CPPFLAGS=$cppflags_save
if test $ac_cv_prog_gcc = yes; then
echo $ac_n "checking whether ${CC-cc} needs -traditional""... $ac_c" 1>&6
-echo "configure:5779: checking whether ${CC-cc} needs -traditional" >&5
+echo "configure:6166: checking whether ${CC-cc} needs -traditional" >&5
if eval "test \"`echo '$''{'ac_cv_prog_gcc_traditional'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
ac_pattern="Autoconf.*'x'"
cat > conftest.$ac_ext <<EOF
-#line 5785 "configure"
+#line 6172 "configure"
#include "confdefs.h"
#include <sgtty.h>
Autoconf TIOCGETP
@@ -5799,7 +6186,7 @@ rm -f conftest*
if test $ac_cv_prog_gcc_traditional = no; then
cat > conftest.$ac_ext <<EOF
-#line 5803 "configure"
+#line 6190 "configure"
#include "confdefs.h"
#include <termio.h>
Autoconf TCGETA
@@ -5821,12 +6208,12 @@ echo "$ac_t""$ac_cv_prog_gcc_traditional" 1>&6
fi
echo $ac_n "checking for working const""... $ac_c" 1>&6
-echo "configure:5825: checking for working const" >&5
+echo "configure:6212: checking for working const" >&5
if eval "test \"`echo '$''{'ac_cv_c_const'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 5830 "configure"
+#line 6217 "configure"
#include "confdefs.h"
int main() {
@@ -5875,7 +6262,7 @@ ccp = (char const *const *) p;
; return 0; }
EOF
-if { (eval echo configure:5879: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:6266: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_c_const=yes
else
@@ -5896,12 +6283,12 @@ EOF
fi
echo $ac_n "checking for mode_t""... $ac_c" 1>&6
-echo "configure:5900: checking for mode_t" >&5
+echo "configure:6287: checking for mode_t" >&5
if eval "test \"`echo '$''{'ac_cv_type_mode_t'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 5905 "configure"
+#line 6292 "configure"
#include "confdefs.h"
#include <sys/types.h>
#if STDC_HEADERS
@@ -5929,12 +6316,12 @@ EOF
fi
echo $ac_n "checking for off_t""... $ac_c" 1>&6
-echo "configure:5933: checking for off_t" >&5
+echo "configure:6320: checking for off_t" >&5
if eval "test \"`echo '$''{'ac_cv_type_off_t'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 5938 "configure"
+#line 6325 "configure"
#include "confdefs.h"
#include <sys/types.h>
#if STDC_HEADERS
@@ -5962,12 +6349,12 @@ EOF
fi
echo $ac_n "checking for pid_t""... $ac_c" 1>&6
-echo "configure:5966: checking for pid_t" >&5
+echo "configure:6353: checking for pid_t" >&5
if eval "test \"`echo '$''{'ac_cv_type_pid_t'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 5971 "configure"
+#line 6358 "configure"
#include "confdefs.h"
#include <sys/types.h>
#if STDC_HEADERS
@@ -5995,12 +6382,12 @@ EOF
fi
echo $ac_n "checking for size_t""... $ac_c" 1>&6
-echo "configure:5999: checking for size_t" >&5
+echo "configure:6386: checking for size_t" >&5
if eval "test \"`echo '$''{'ac_cv_type_size_t'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 6004 "configure"
+#line 6391 "configure"
#include "confdefs.h"
#include <sys/types.h>
#if STDC_HEADERS
@@ -6028,12 +6415,12 @@ EOF
fi
echo $ac_n "checking for uid_t in sys/types.h""... $ac_c" 1>&6
-echo "configure:6032: checking for uid_t in sys/types.h" >&5
+echo "configure:6419: checking for uid_t in sys/types.h" >&5
if eval "test \"`echo '$''{'ac_cv_type_uid_t'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 6037 "configure"
+#line 6424 "configure"
#include "confdefs.h"
#include <sys/types.h>
EOF
@@ -6062,12 +6449,12 @@ EOF
fi
echo $ac_n "checking whether time.h and sys/time.h may both be included""... $ac_c" 1>&6
-echo "configure:6066: checking whether time.h and sys/time.h may both be included" >&5
+echo "configure:6453: checking whether time.h and sys/time.h may both be included" >&5
if eval "test \"`echo '$''{'ac_cv_header_time'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 6071 "configure"
+#line 6458 "configure"
#include "confdefs.h"
#include <sys/types.h>
#include <sys/time.h>
@@ -6076,7 +6463,7 @@ int main() {
struct tm *tp;
; return 0; }
EOF
-if { (eval echo configure:6080: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:6467: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_header_time=yes
else
@@ -6097,12 +6484,12 @@ EOF
fi
echo $ac_n "checking for ino_t""... $ac_c" 1>&6
-echo "configure:6101: checking for ino_t" >&5
+echo "configure:6488: checking for ino_t" >&5
if eval "test \"`echo '$''{'ac_cv_type_ino_t'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 6106 "configure"
+#line 6493 "configure"
#include "confdefs.h"
#include <sys/types.h>
#if STDC_HEADERS
@@ -6130,12 +6517,12 @@ EOF
fi
echo $ac_n "checking for dev_t""... $ac_c" 1>&6
-echo "configure:6134: checking for dev_t" >&5
+echo "configure:6521: checking for dev_t" >&5
if eval "test \"`echo '$''{'ac_cv_type_dev_t'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 6139 "configure"
+#line 6526 "configure"
#include "confdefs.h"
#include <sys/types.h>
#if STDC_HEADERS
@@ -6164,12 +6551,12 @@ fi
echo $ac_n "checking for rlim_t""... $ac_c" 1>&6
-echo "configure:6168: checking for rlim_t" >&5
+echo "configure:6555: checking for rlim_t" >&5
if eval "test \"`echo '$''{'ac_cv_type_rlim_t'+set}'`\" = set"; then
echo "$ac_t""(cached) $ac_cv_type_rlim_t" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 6173 "configure"
+#line 6560 "configure"
#include "confdefs.h"
#include <sys/types.h>
@@ -6201,12 +6588,12 @@ EOF
fi
echo $ac_n "checking for stack_t""... $ac_c" 1>&6
-echo "configure:6205: checking for stack_t" >&5
+echo "configure:6592: checking for stack_t" >&5
if eval "test \"`echo '$''{'ac_cv_type_stack_t'+set}'`\" = set"; then
echo "$ac_t""(cached) $ac_cv_type_stack_t" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 6210 "configure"
+#line 6597 "configure"
#include "confdefs.h"
#include <sys/types.h>
@@ -6236,9 +6623,9 @@ EOF
fi
echo $ac_n "checking whether stack_t has an ss_base field""... $ac_c" 1>&6
-echo "configure:6240: checking whether stack_t has an ss_base field" >&5
+echo "configure:6627: checking whether stack_t has an ss_base field" >&5
cat > conftest.$ac_ext <<EOF
-#line 6242 "configure"
+#line 6629 "configure"
#include "confdefs.h"
#include <sys/types.h>
@@ -6253,7 +6640,7 @@ int main() {
stack_t sigstk; sigstk.ss_base = 0;
; return 0; }
EOF
-if { (eval echo configure:6257: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:6644: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
echo "$ac_t""yes" 1>&6; cat >> confdefs.h <<\EOF
#define HAVE_SS_BASE 1
@@ -6269,7 +6656,7 @@ rm -f conftest*
olibs="$LIBS"
echo $ac_n "checking --with-tlib argument""... $ac_c" 1>&6
-echo "configure:6273: checking --with-tlib argument" >&5
+echo "configure:6660: checking --with-tlib argument" >&5
# Check whether --with-tlib or --without-tlib was given.
if test "${with_tlib+set}" = set; then
withval="$with_tlib"
@@ -6287,7 +6674,7 @@ else
esac
for libname in $tlibs; do
echo $ac_n "checking for tgetent in -l${libname}""... $ac_c" 1>&6
-echo "configure:6291: checking for tgetent in -l${libname}" >&5
+echo "configure:6678: checking for tgetent in -l${libname}" >&5
ac_lib_var=`echo ${libname}'_'tgetent | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -6295,7 +6682,7 @@ else
ac_save_LIBS="$LIBS"
LIBS="-l${libname} $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 6299 "configure"
+#line 6686 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
@@ -6306,7 +6693,7 @@ int main() {
tgetent()
; return 0; }
EOF
-if { (eval echo configure:6310: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6697: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@@ -6338,7 +6725,7 @@ fi
res="FAIL"
else
cat > conftest.$ac_ext <<EOF
-#line 6342 "configure"
+#line 6729 "configure"
#include "confdefs.h"
#ifdef HAVE_TERMCAP_H
@@ -6346,7 +6733,7 @@ else
#endif
main() {char *s; s=(char *)tgoto("%p1%d", 0, 1); exit(0); }
EOF
-if { (eval echo configure:6350: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:6737: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
res="OK"
else
@@ -6368,12 +6755,12 @@ fi
fi
if test "x$olibs" != "x$LIBS"; then
echo $ac_n "checking whether we talk terminfo""... $ac_c" 1>&6
-echo "configure:6372: checking whether we talk terminfo" >&5
+echo "configure:6759: checking whether we talk terminfo" >&5
if test "$cross_compiling" = yes; then
{ echo "configure: error: failed to compile test program." 1>&2; exit 1; }
else
cat > conftest.$ac_ext <<EOF
-#line 6377 "configure"
+#line 6764 "configure"
#include "confdefs.h"
#ifdef HAVE_TERMCAP_H
@@ -6382,7 +6769,7 @@ else
main()
{char *s; s=(char *)tgoto("%p1%d", 0, 1); exit(!strcmp(s==0 ? "" : s, "1")); }
EOF
-if { (eval echo configure:6386: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:6773: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
echo "$ac_t""no -- we are in termcap land" 1>&6
else
@@ -6403,12 +6790,12 @@ fi
if test "x$olibs" != "x$LIBS"; then
echo $ac_n "checking what tgetent() returns for an unknown terminal""... $ac_c" 1>&6
-echo "configure:6407: checking what tgetent() returns for an unknown terminal" >&5
+echo "configure:6794: checking what tgetent() returns for an unknown terminal" >&5
if test "$cross_compiling" = yes; then
{ echo "configure: error: failed to compile test program." 1>&2; exit 1; }
else
cat > conftest.$ac_ext <<EOF
-#line 6412 "configure"
+#line 6799 "configure"
#include "confdefs.h"
#ifdef HAVE_TERMCAP_H
@@ -6417,7 +6804,7 @@ else
main()
{char s[10000]; int res = tgetent(s, "thisterminaldoesnotexist"); exit(res != 0); }
EOF
-if { (eval echo configure:6421: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:6808: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
echo "$ac_t""zero" 1>&6; cat >> confdefs.h <<\EOF
#define TGETENT_ZERO_ERR 0
@@ -6435,9 +6822,9 @@ fi
fi
echo $ac_n "checking whether termcap.h contains ospeed""... $ac_c" 1>&6
-echo "configure:6439: checking whether termcap.h contains ospeed" >&5
+echo "configure:6826: checking whether termcap.h contains ospeed" >&5
cat > conftest.$ac_ext <<EOF
-#line 6441 "configure"
+#line 6828 "configure"
#include "confdefs.h"
#ifdef HAVE_TERMCAP_H
@@ -6448,7 +6835,7 @@ int main() {
ospeed = 20000
; return 0; }
EOF
-if { (eval echo configure:6452: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6839: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
echo "$ac_t""yes" 1>&6; cat >> confdefs.h <<\EOF
#define HAVE_OSPEED 1
@@ -6460,9 +6847,9 @@ else
rm -rf conftest*
echo "$ac_t""no" 1>&6
echo $ac_n "checking whether ospeed can be extern""... $ac_c" 1>&6
-echo "configure:6464: checking whether ospeed can be extern" >&5
+echo "configure:6851: checking whether ospeed can be extern" >&5
cat > conftest.$ac_ext <<EOF
-#line 6466 "configure"
+#line 6853 "configure"
#include "confdefs.h"
#ifdef HAVE_TERMCAP_H
@@ -6474,7 +6861,7 @@ int main() {
ospeed = 20000
; return 0; }
EOF
-if { (eval echo configure:6478: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6865: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
echo "$ac_t""yes" 1>&6; cat >> confdefs.h <<\EOF
#define OSPEED_EXTERN 1
@@ -6492,9 +6879,9 @@ fi
rm -f conftest*
echo $ac_n "checking whether termcap.h contains UP, BC and PC""... $ac_c" 1>&6
-echo "configure:6496: checking whether termcap.h contains UP, BC and PC" >&5
+echo "configure:6883: checking whether termcap.h contains UP, BC and PC" >&5
cat > conftest.$ac_ext <<EOF
-#line 6498 "configure"
+#line 6885 "configure"
#include "confdefs.h"
#ifdef HAVE_TERMCAP_H
@@ -6505,7 +6892,7 @@ int main() {
if (UP == 0 && BC == 0) PC = 1
; return 0; }
EOF
-if { (eval echo configure:6509: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6896: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
echo "$ac_t""yes" 1>&6; cat >> confdefs.h <<\EOF
#define HAVE_UP_BC_PC 1
@@ -6517,9 +6904,9 @@ else
rm -rf conftest*
echo "$ac_t""no" 1>&6
echo $ac_n "checking whether UP, BC and PC can be extern""... $ac_c" 1>&6
-echo "configure:6521: checking whether UP, BC and PC can be extern" >&5
+echo "configure:6908: checking whether UP, BC and PC can be extern" >&5
cat > conftest.$ac_ext <<EOF
-#line 6523 "configure"
+#line 6910 "configure"
#include "confdefs.h"
#ifdef HAVE_TERMCAP_H
@@ -6531,7 +6918,7 @@ int main() {
if (UP == 0 && BC == 0) PC = 1
; return 0; }
EOF
-if { (eval echo configure:6535: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6922: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
echo "$ac_t""yes" 1>&6; cat >> confdefs.h <<\EOF
#define UP_BC_PC_EXTERN 1
@@ -6549,9 +6936,9 @@ fi
rm -f conftest*
echo $ac_n "checking whether tputs() uses outfuntype""... $ac_c" 1>&6
-echo "configure:6553: checking whether tputs() uses outfuntype" >&5
+echo "configure:6940: checking whether tputs() uses outfuntype" >&5
cat > conftest.$ac_ext <<EOF
-#line 6555 "configure"
+#line 6942 "configure"
#include "confdefs.h"
#ifdef HAVE_TERMCAP_H
@@ -6562,7 +6949,7 @@ int main() {
extern int xx(); tputs("test", 1, (outfuntype)xx)
; return 0; }
EOF
-if { (eval echo configure:6566: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:6953: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
echo "$ac_t""yes" 1>&6; cat >> confdefs.h <<\EOF
#define HAVE_OUTFUNTYPE 1
@@ -6577,9 +6964,9 @@ fi
rm -f conftest*
echo $ac_n "checking whether sys/select.h and sys/time.h may both be included""... $ac_c" 1>&6
-echo "configure:6581: checking whether sys/select.h and sys/time.h may both be included" >&5
+echo "configure:6968: checking whether sys/select.h and sys/time.h may both be included" >&5
cat > conftest.$ac_ext <<EOF
-#line 6583 "configure"
+#line 6970 "configure"
#include "confdefs.h"
#include <sys/types.h>
@@ -6589,7 +6976,7 @@ int main() {
; return 0; }
EOF
-if { (eval echo configure:6593: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:6980: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
echo "$ac_t""yes" 1>&6
cat >> confdefs.h <<\EOF
@@ -6606,7 +6993,7 @@ rm -f conftest*
echo $ac_n "checking for /dev/ptc""... $ac_c" 1>&6
-echo "configure:6610: checking for /dev/ptc" >&5
+echo "configure:6997: checking for /dev/ptc" >&5
if test -r /dev/ptc; then
cat >> confdefs.h <<\EOF
#define HAVE_DEV_PTC 1
@@ -6618,17 +7005,17 @@ else
fi
echo $ac_n "checking for SVR4 ptys""... $ac_c" 1>&6
-echo "configure:6622: checking for SVR4 ptys" >&5
+echo "configure:7009: checking for SVR4 ptys" >&5
if test -c /dev/ptmx ; then
cat > conftest.$ac_ext <<EOF
-#line 6625 "configure"
+#line 7012 "configure"
#include "confdefs.h"
int main() {
ptsname(0);grantpt(0);unlockpt(0);
; return 0; }
EOF
-if { (eval echo configure:6632: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7019: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
echo "$ac_t""yes" 1>&6; cat >> confdefs.h <<\EOF
#define HAVE_SVR4_PTYS 1
@@ -6646,14 +7033,14 @@ else
fi
echo $ac_n "checking for ptyranges""... $ac_c" 1>&6
-echo "configure:6650: checking for ptyranges" >&5
+echo "configure:7037: checking for ptyranges" >&5
if test -d /dev/ptym ; then
pdir='/dev/ptym'
else
pdir='/dev'
fi
cat > conftest.$ac_ext <<EOF
-#line 6657 "configure"
+#line 7044 "configure"
#include "confdefs.h"
#ifdef M_UNIX
yes;
@@ -6687,13 +7074,13 @@ else
fi
echo $ac_n "checking default tty permissions/group""... $ac_c" 1>&6
-echo "configure:6691: checking default tty permissions/group" >&5
+echo "configure:7078: checking default tty permissions/group" >&5
rm -f conftest_grp
if test "$cross_compiling" = yes; then
{ echo "configure: error: failed to compile test program" 1>&2; exit 1; }
else
cat > conftest.$ac_ext <<EOF
-#line 6697 "configure"
+#line 7084 "configure"
#include "confdefs.h"
#include <sys/types.h>
@@ -6725,7 +7112,7 @@ main()
}
EOF
-if { (eval echo configure:6729: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:7116: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
if test -f conftest_grp; then
@@ -6756,12 +7143,12 @@ rm -f conftest_grp
echo $ac_n "checking return type of signal handlers""... $ac_c" 1>&6
-echo "configure:6760: checking return type of signal handlers" >&5
+echo "configure:7147: checking return type of signal handlers" >&5
if eval "test \"`echo '$''{'ac_cv_type_signal'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 6765 "configure"
+#line 7152 "configure"
#include "confdefs.h"
#include <sys/types.h>
#include <signal.h>
@@ -6778,7 +7165,7 @@ int main() {
int i;
; return 0; }
EOF
-if { (eval echo configure:6782: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:7169: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_type_signal=void
else
@@ -6810,9 +7197,9 @@ EOF
fi
echo $ac_n "checking for struct sigcontext""... $ac_c" 1>&6
-echo "configure:6814: checking for struct sigcontext" >&5
+echo "configure:7201: checking for struct sigcontext" >&5
cat > conftest.$ac_ext <<EOF
-#line 6816 "configure"
+#line 7203 "configure"
#include "confdefs.h"
#include <signal.h>
@@ -6826,7 +7213,7 @@ int main() {
; return 0; }
EOF
-if { (eval echo configure:6830: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:7217: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
echo "$ac_t""yes" 1>&6
cat >> confdefs.h <<\EOF
@@ -6842,12 +7229,12 @@ fi
rm -f conftest*
echo $ac_n "checking getcwd implementation""... $ac_c" 1>&6
-echo "configure:6846: checking getcwd implementation" >&5
+echo "configure:7233: checking getcwd implementation" >&5
if test "$cross_compiling" = yes; then
{ echo "configure: error: failed to compile test program" 1>&2; exit 1; }
else
cat > conftest.$ac_ext <<EOF
-#line 6851 "configure"
+#line 7238 "configure"
#include "confdefs.h"
char *dagger[] = { "IFS=pwd", 0 };
@@ -6859,7 +7246,7 @@ main()
return getcwd(buffer, 500) ? 0 : 1;
}
EOF
-if { (eval echo configure:6863: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:7250: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
echo "$ac_t""it is usable" 1>&6
else
@@ -6884,12 +7271,12 @@ for ac_func in bcmp fchdir fchown fseeko fsync ftello getcwd getpseudotty \
strnicmp strpbrk strtol tgetent towlower towupper usleep utime utimes
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:6888: checking for $ac_func" >&5
+echo "configure:7275: checking for $ac_func" >&5
if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 6893 "configure"
+#line 7280 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -6912,7 +7299,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:6916: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7303: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
@@ -6938,9 +7325,9 @@ done
echo $ac_n "checking for st_blksize""... $ac_c" 1>&6
-echo "configure:6942: checking for st_blksize" >&5
+echo "configure:7329: checking for st_blksize" >&5
cat > conftest.$ac_ext <<EOF
-#line 6944 "configure"
+#line 7331 "configure"
#include "confdefs.h"
#include <sys/types.h>
#include <sys/stat.h>
@@ -6952,7 +7339,7 @@ int main() {
n = (int)st.st_blksize;
; return 0; }
EOF
-if { (eval echo configure:6956: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:7343: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
echo "$ac_t""yes" 1>&6; cat >> confdefs.h <<\EOF
#define HAVE_ST_BLKSIZE 1
@@ -6967,18 +7354,18 @@ fi
rm -f conftest*
echo $ac_n "checking whether stat() ignores a trailing slash""... $ac_c" 1>&6
-echo "configure:6971: checking whether stat() ignores a trailing slash" >&5
+echo "configure:7358: checking whether stat() ignores a trailing slash" >&5
if test "$cross_compiling" = yes; then
{ echo "configure: error: failed to compile test program" 1>&2; exit 1; }
else
cat > conftest.$ac_ext <<EOF
-#line 6976 "configure"
+#line 7363 "configure"
#include "confdefs.h"
#include <sys/types.h>
#include <sys/stat.h>
main() {struct stat st; exit(stat("configure/", &st) != 0); }
EOF
-if { (eval echo configure:6982: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:7369: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
echo "$ac_t""yes" 1>&6; cat >> confdefs.h <<\EOF
#define STAT_IGNORES_SLASH 1
@@ -6995,11 +7382,11 @@ fi
echo $ac_n "checking for iconv_open()""... $ac_c" 1>&6
-echo "configure:6999: checking for iconv_open()" >&5
+echo "configure:7386: checking for iconv_open()" >&5
save_LIBS="$LIBS"
LIBS="$LIBS -liconv"
cat > conftest.$ac_ext <<EOF
-#line 7003 "configure"
+#line 7390 "configure"
#include "confdefs.h"
#ifdef HAVE_ICONV_H
@@ -7010,7 +7397,7 @@ int main() {
iconv_open("fr", "to");
; return 0; }
EOF
-if { (eval echo configure:7014: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7401: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
echo "$ac_t""yes; with -liconv" 1>&6; cat >> confdefs.h <<\EOF
#define HAVE_ICONV 1
@@ -7022,7 +7409,7 @@ else
rm -rf conftest*
LIBS="$save_LIBS"
cat > conftest.$ac_ext <<EOF
-#line 7026 "configure"
+#line 7413 "configure"
#include "confdefs.h"
#ifdef HAVE_ICONV_H
@@ -7033,7 +7420,7 @@ int main() {
iconv_open("fr", "to");
; return 0; }
EOF
-if { (eval echo configure:7037: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7424: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
echo "$ac_t""yes" 1>&6; cat >> confdefs.h <<\EOF
#define HAVE_ICONV 1
@@ -7051,9 +7438,9 @@ rm -f conftest*
echo $ac_n "checking for nl_langinfo(CODESET)""... $ac_c" 1>&6
-echo "configure:7055: checking for nl_langinfo(CODESET)" >&5
+echo "configure:7442: checking for nl_langinfo(CODESET)" >&5
cat > conftest.$ac_ext <<EOF
-#line 7057 "configure"
+#line 7444 "configure"
#include "confdefs.h"
#ifdef HAVE_LANGINFO_H
@@ -7064,7 +7451,7 @@ int main() {
char *cs = nl_langinfo(CODESET);
; return 0; }
EOF
-if { (eval echo configure:7068: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7455: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
echo "$ac_t""yes" 1>&6; cat >> confdefs.h <<\EOF
#define HAVE_NL_LANGINFO_CODESET 1
@@ -7079,7 +7466,7 @@ fi
rm -f conftest*
echo $ac_n "checking --disable-acl argument""... $ac_c" 1>&6
-echo "configure:7083: checking --disable-acl argument" >&5
+echo "configure:7470: checking --disable-acl argument" >&5
# Check whether --enable-acl or --disable-acl was given.
if test "${enable_acl+set}" = set; then
enableval="$enable_acl"
@@ -7091,7 +7478,7 @@ fi
if test "$enable_acl" = "yes"; then
echo "$ac_t""no" 1>&6
echo $ac_n "checking for acl_get_file in -lposix1e""... $ac_c" 1>&6
-echo "configure:7095: checking for acl_get_file in -lposix1e" >&5
+echo "configure:7482: checking for acl_get_file in -lposix1e" >&5
ac_lib_var=`echo posix1e'_'acl_get_file | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -7099,7 +7486,7 @@ else
ac_save_LIBS="$LIBS"
LIBS="-lposix1e $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 7103 "configure"
+#line 7490 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
@@ -7110,7 +7497,7 @@ int main() {
acl_get_file()
; return 0; }
EOF
-if { (eval echo configure:7114: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7501: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@@ -7129,7 +7516,7 @@ if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
else
echo "$ac_t""no" 1>&6
echo $ac_n "checking for acl_get_file in -lacl""... $ac_c" 1>&6
-echo "configure:7133: checking for acl_get_file in -lacl" >&5
+echo "configure:7520: checking for acl_get_file in -lacl" >&5
ac_lib_var=`echo acl'_'acl_get_file | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -7137,7 +7524,7 @@ else
ac_save_LIBS="$LIBS"
LIBS="-lacl $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 7141 "configure"
+#line 7528 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
@@ -7148,7 +7535,7 @@ int main() {
acl_get_file()
; return 0; }
EOF
-if { (eval echo configure:7152: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7539: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@@ -7165,7 +7552,7 @@ if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
echo "$ac_t""yes" 1>&6
LIBS="$LIBS -lacl"
echo $ac_n "checking for fgetxattr in -lattr""... $ac_c" 1>&6
-echo "configure:7169: checking for fgetxattr in -lattr" >&5
+echo "configure:7556: checking for fgetxattr in -lattr" >&5
ac_lib_var=`echo attr'_'fgetxattr | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -7173,7 +7560,7 @@ else
ac_save_LIBS="$LIBS"
LIBS="-lattr $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 7177 "configure"
+#line 7564 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
@@ -7184,7 +7571,7 @@ int main() {
fgetxattr()
; return 0; }
EOF
-if { (eval echo configure:7188: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7575: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@@ -7212,9 +7599,9 @@ fi
echo $ac_n "checking for POSIX ACL support""... $ac_c" 1>&6
-echo "configure:7216: checking for POSIX ACL support" >&5
+echo "configure:7603: checking for POSIX ACL support" >&5
cat > conftest.$ac_ext <<EOF
-#line 7218 "configure"
+#line 7605 "configure"
#include "confdefs.h"
#include <sys/types.h>
@@ -7228,7 +7615,7 @@ acl = acl_get_file("foo", ACL_TYPE_ACCESS);
acl_free(acl);
; return 0; }
EOF
-if { (eval echo configure:7232: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7619: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
echo "$ac_t""yes" 1>&6; cat >> confdefs.h <<\EOF
#define HAVE_POSIX_ACL 1
@@ -7243,9 +7630,9 @@ fi
rm -f conftest*
echo $ac_n "checking for Solaris ACL support""... $ac_c" 1>&6
-echo "configure:7247: checking for Solaris ACL support" >&5
+echo "configure:7634: checking for Solaris ACL support" >&5
cat > conftest.$ac_ext <<EOF
-#line 7249 "configure"
+#line 7636 "configure"
#include "confdefs.h"
#ifdef HAVE_SYS_ACL_H
@@ -7256,7 +7643,7 @@ acl("foo", GETACLCNT, 0, NULL);
; return 0; }
EOF
-if { (eval echo configure:7260: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7647: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
echo "$ac_t""yes" 1>&6; cat >> confdefs.h <<\EOF
#define HAVE_SOLARIS_ACL 1
@@ -7271,9 +7658,9 @@ fi
rm -f conftest*
echo $ac_n "checking for AIX ACL support""... $ac_c" 1>&6
-echo "configure:7275: checking for AIX ACL support" >&5
+echo "configure:7662: checking for AIX ACL support" >&5
cat > conftest.$ac_ext <<EOF
-#line 7277 "configure"
+#line 7664 "configure"
#include "confdefs.h"
#ifdef HAVE_SYS_ACL_H
@@ -7295,7 +7682,7 @@ aclsize = sizeof(struct acl);
; return 0; }
EOF
-if { (eval echo configure:7299: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7686: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
echo "$ac_t""yes" 1>&6; cat >> confdefs.h <<\EOF
#define HAVE_AIX_ACL 1
@@ -7313,7 +7700,7 @@ else
fi
echo $ac_n "checking --disable-gpm argument""... $ac_c" 1>&6
-echo "configure:7317: checking --disable-gpm argument" >&5
+echo "configure:7704: checking --disable-gpm argument" >&5
# Check whether --enable-gpm or --disable-gpm was given.
if test "${enable_gpm+set}" = set; then
enableval="$enable_gpm"
@@ -7326,13 +7713,13 @@ fi
if test "$enable_gpm" = "yes"; then
echo "$ac_t""no" 1>&6
echo $ac_n "checking for gpm""... $ac_c" 1>&6
-echo "configure:7330: checking for gpm" >&5
+echo "configure:7717: checking for gpm" >&5
if eval "test \"`echo '$''{'vi_cv_have_gpm'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
olibs="$LIBS" ; LIBS="-lgpm"
cat > conftest.$ac_ext <<EOF
-#line 7336 "configure"
+#line 7723 "configure"
#include "confdefs.h"
#include <gpm.h>
#include <linux/keyboard.h>
@@ -7340,7 +7727,7 @@ int main() {
Gpm_GetLibVersion(NULL);
; return 0; }
EOF
-if { (eval echo configure:7344: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7731: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
vi_cv_have_gpm=yes
else
@@ -7367,12 +7754,12 @@ else
fi
echo $ac_n "checking for vsnprintf()""... $ac_c" 1>&6
-echo "configure:7371: checking for vsnprintf()" >&5
+echo "configure:7758: checking for vsnprintf()" >&5
if test "$cross_compiling" = yes; then
{ echo "configure: error: failed to compile test program" 1>&2; exit 1; }
else
cat > conftest.$ac_ext <<EOF
-#line 7376 "configure"
+#line 7763 "configure"
#include "confdefs.h"
#include <stdio.h>
@@ -7393,7 +7780,7 @@ else
}
EOF
-if { (eval echo configure:7397: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:7784: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
cat >> confdefs.h <<\EOF
#define HAVE_VSNPRINTF 1
@@ -7411,16 +7798,16 @@ fi
echo $ac_n "checking for rename""... $ac_c" 1>&6
-echo "configure:7415: checking for rename" >&5
+echo "configure:7802: checking for rename" >&5
cat > conftest.$ac_ext <<EOF
-#line 7417 "configure"
+#line 7804 "configure"
#include "confdefs.h"
#include <stdio.h>
int main() {
rename("this", "that")
; return 0; }
EOF
-if { (eval echo configure:7424: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7811: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
echo "$ac_t""yes" 1>&6; cat >> confdefs.h <<\EOF
#define HAVE_RENAME 1
@@ -7435,9 +7822,9 @@ fi
rm -f conftest*
echo $ac_n "checking for sysctl""... $ac_c" 1>&6
-echo "configure:7439: checking for sysctl" >&5
+echo "configure:7826: checking for sysctl" >&5
cat > conftest.$ac_ext <<EOF
-#line 7441 "configure"
+#line 7828 "configure"
#include "confdefs.h"
#include <sys/types.h>
#include <sys/sysctl.h>
@@ -7452,7 +7839,7 @@ int main() {
; return 0; }
EOF
-if { (eval echo configure:7456: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:7843: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
echo "$ac_t""yes" 1>&6; cat >> confdefs.h <<\EOF
#define HAVE_SYSCTL 1
@@ -7467,9 +7854,9 @@ fi
rm -f conftest*
echo $ac_n "checking for sysinfo""... $ac_c" 1>&6
-echo "configure:7471: checking for sysinfo" >&5
+echo "configure:7858: checking for sysinfo" >&5
cat > conftest.$ac_ext <<EOF
-#line 7473 "configure"
+#line 7860 "configure"
#include "confdefs.h"
#include <sys/types.h>
#include <sys/sysinfo.h>
@@ -7482,7 +7869,7 @@ int main() {
; return 0; }
EOF
-if { (eval echo configure:7486: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:7873: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
echo "$ac_t""yes" 1>&6; cat >> confdefs.h <<\EOF
#define HAVE_SYSINFO 1
@@ -7497,9 +7884,9 @@ fi
rm -f conftest*
echo $ac_n "checking for sysconf""... $ac_c" 1>&6
-echo "configure:7501: checking for sysconf" >&5
+echo "configure:7888: checking for sysconf" >&5
cat > conftest.$ac_ext <<EOF
-#line 7503 "configure"
+#line 7890 "configure"
#include "confdefs.h"
#include <unistd.h>
int main() {
@@ -7508,7 +7895,7 @@ int main() {
; return 0; }
EOF
-if { (eval echo configure:7512: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:7899: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
echo "$ac_t""yes" 1>&6; cat >> confdefs.h <<\EOF
#define HAVE_SYSCONF 1
@@ -7524,7 +7911,7 @@ rm -f conftest*
echo $ac_n "checking size of int""... $ac_c" 1>&6
-echo "configure:7528: checking size of int" >&5
+echo "configure:7915: checking size of int" >&5
if eval "test \"`echo '$''{'ac_cv_sizeof_int'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -7532,7 +7919,7 @@ else
{ echo "configure: error: failed to compile test program" 1>&2; exit 1; }
else
cat > conftest.$ac_ext <<EOF
-#line 7536 "configure"
+#line 7923 "configure"
#include "confdefs.h"
#include <stdio.h>
main()
@@ -7543,7 +7930,7 @@ else
exit(0);
}
EOF
-if { (eval echo configure:7547: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:7934: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
ac_cv_sizeof_int=`cat conftestval`
else
@@ -7564,7 +7951,7 @@ EOF
echo $ac_n "checking whether memmove/bcopy/memcpy handle overlaps""... $ac_c" 1>&6
-echo "configure:7568: checking whether memmove/bcopy/memcpy handle overlaps" >&5
+echo "configure:7955: checking whether memmove/bcopy/memcpy handle overlaps" >&5
bcopy_test_prog='
main() {
char buf[10];
@@ -7584,11 +7971,11 @@ if test "$cross_compiling" = yes; then
{ echo "configure: error: failed to compile test program" 1>&2; exit 1; }
else
cat > conftest.$ac_ext <<EOF
-#line 7588 "configure"
+#line 7975 "configure"
#include "confdefs.h"
#define mch_memmove(s,d,l) memmove(d,s,l) $bcopy_test_prog
EOF
-if { (eval echo configure:7592: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:7979: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
cat >> confdefs.h <<\EOF
#define USEMEMMOVE 1
@@ -7602,11 +7989,11 @@ else
{ echo "configure: error: failed to compile test program" 1>&2; exit 1; }
else
cat > conftest.$ac_ext <<EOF
-#line 7606 "configure"
+#line 7993 "configure"
#include "confdefs.h"
#define mch_memmove(s,d,l) bcopy(d,s,l) $bcopy_test_prog
EOF
-if { (eval echo configure:7610: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:7997: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
cat >> confdefs.h <<\EOF
#define USEBCOPY 1
@@ -7620,11 +8007,11 @@ else
{ echo "configure: error: failed to compile test program" 1>&2; exit 1; }
else
cat > conftest.$ac_ext <<EOF
-#line 7624 "configure"
+#line 8011 "configure"
#include "confdefs.h"
#define mch_memmove(s,d,l) memcpy(d,s,l) $bcopy_test_prog
EOF
-if { (eval echo configure:7628: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:8015: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
cat >> confdefs.h <<\EOF
#define USEMEMCPY 1
@@ -7656,19 +8043,19 @@ if test "$enable_multibyte" = "yes"; then
CFLAGS="$CFLAGS -I$x_includes"
LDFLAGS="$X_LIBS $LDFLAGS -lX11"
echo $ac_n "checking whether X_LOCALE needed""... $ac_c" 1>&6
-echo "configure:7660: checking whether X_LOCALE needed" >&5
+echo "configure:8047: checking whether X_LOCALE needed" >&5
cat > conftest.$ac_ext <<EOF
-#line 7662 "configure"
+#line 8049 "configure"
#include "confdefs.h"
#include <X11/Xlocale.h>
int main() {
; return 0; }
EOF
-if { (eval echo configure:7669: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:8056: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
cat > conftest.$ac_ext <<EOF
-#line 7672 "configure"
+#line 8059 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
@@ -7679,7 +8066,7 @@ int main() {
_Xsetlocale()
; return 0; }
EOF
-if { (eval echo configure:7683: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:8070: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
echo "$ac_t""yes" 1>&6
cat >> confdefs.h <<\EOF
@@ -7706,7 +8093,7 @@ rm -f conftest*
fi
echo $ac_n "checking for _xpg4_setrunelocale in -lxpg4""... $ac_c" 1>&6
-echo "configure:7710: checking for _xpg4_setrunelocale in -lxpg4" >&5
+echo "configure:8097: checking for _xpg4_setrunelocale in -lxpg4" >&5
ac_lib_var=`echo xpg4'_'_xpg4_setrunelocale | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -7714,7 +8101,7 @@ else
ac_save_LIBS="$LIBS"
LIBS="-lxpg4 $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 7718 "configure"
+#line 8105 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
@@ -7725,7 +8112,7 @@ int main() {
_xpg4_setrunelocale()
; return 0; }
EOF
-if { (eval echo configure:7729: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:8116: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@@ -7747,7 +8134,7 @@ fi
echo $ac_n "checking how to create tags""... $ac_c" 1>&6
-echo "configure:7751: checking how to create tags" >&5
+echo "configure:8138: checking how to create tags" >&5
test -f tags && mv tags tags.save
if (eval ctags --version /dev/null | grep Exuberant) < /dev/null 1>&5 2>&1; then
TAGPRG="ctags"
@@ -7764,7 +8151,7 @@ test -f tags.save && mv tags.save tags
echo "$ac_t""$TAGPRG" 1>&6
echo $ac_n "checking how to run man with a section nr""... $ac_c" 1>&6
-echo "configure:7768: checking how to run man with a section nr" >&5
+echo "configure:8155: checking how to run man with a section nr" >&5
MANDEF="man"
(eval man -s 2 read) < /dev/null > /dev/null 2>&5 && MANDEF="man -s"
echo "$ac_t""$MANDEF" 1>&6
@@ -7776,7 +8163,7 @@ EOF
fi
echo $ac_n "checking --disable-nls argument""... $ac_c" 1>&6
-echo "configure:7780: checking --disable-nls argument" >&5
+echo "configure:8167: checking --disable-nls argument" >&5
# Check whether --enable-nls or --disable-nls was given.
if test "${enable_nls+set}" = set; then
enableval="$enable_nls"
@@ -7791,7 +8178,7 @@ if test "$enable_nls" = "yes"; then
# Extract the first word of "msgfmt", so it can be a program name with args.
set dummy msgfmt; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:7795: checking for $ac_word" >&5
+echo "configure:8182: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_MSGFMT'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -7818,19 +8205,19 @@ else
fi
echo $ac_n "checking for NLS""... $ac_c" 1>&6
-echo "configure:7822: checking for NLS" >&5
+echo "configure:8209: checking for NLS" >&5
if test -f po/Makefile; then
have_gettext="no"
if test -n "$MSGFMT"; then
cat > conftest.$ac_ext <<EOF
-#line 7827 "configure"
+#line 8214 "configure"
#include "confdefs.h"
#include <libintl.h>
int main() {
gettext("Test");
; return 0; }
EOF
-if { (eval echo configure:7834: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:8221: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
echo "$ac_t""gettext() works" 1>&6; have_gettext="yes"
else
@@ -7840,14 +8227,14 @@ else
olibs=$LIBS
LIBS="$LIBS -lintl"
cat > conftest.$ac_ext <<EOF
-#line 7844 "configure"
+#line 8231 "configure"
#include "confdefs.h"
#include <libintl.h>
int main() {
gettext("Test");
; return 0; }
EOF
-if { (eval echo configure:7851: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:8238: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
echo "$ac_t""gettext() works with -lintl" 1>&6; have_gettext="yes"
else
@@ -7873,12 +8260,12 @@ EOF
for ac_func in bind_textdomain_codeset
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:7877: checking for $ac_func" >&5
+echo "configure:8264: checking for $ac_func" >&5
if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 7882 "configure"
+#line 8269 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -7901,7 +8288,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:7905: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:8292: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
@@ -7926,9 +8313,9 @@ fi
done
echo $ac_n "checking for _nl_msg_cat_cntr""... $ac_c" 1>&6
-echo "configure:7930: checking for _nl_msg_cat_cntr" >&5
+echo "configure:8317: checking for _nl_msg_cat_cntr" >&5
cat > conftest.$ac_ext <<EOF
-#line 7932 "configure"
+#line 8319 "configure"
#include "confdefs.h"
#include <libintl.h>
extern int _nl_msg_cat_cntr;
@@ -7936,7 +8323,7 @@ int main() {
++_nl_msg_cat_cntr;
; return 0; }
EOF
-if { (eval echo configure:7940: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:8327: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
echo "$ac_t""yes" 1>&6; cat >> confdefs.h <<\EOF
#define HAVE_NL_MSG_CAT_CNTR 1
@@ -7959,17 +8346,17 @@ fi
ac_safe=`echo "dlfcn.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for dlfcn.h""... $ac_c" 1>&6
-echo "configure:7963: checking for dlfcn.h" >&5
+echo "configure:8350: checking for dlfcn.h" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 7968 "configure"
+#line 8355 "configure"
#include "confdefs.h"
#include <dlfcn.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:7973: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:8360: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
@@ -7990,17 +8377,17 @@ else
echo "$ac_t""no" 1>&6
ac_safe=`echo "dl.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for dl.h""... $ac_c" 1>&6
-echo "configure:7994: checking for dl.h" >&5
+echo "configure:8381: checking for dl.h" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 7999 "configure"
+#line 8386 "configure"
#include "confdefs.h"
#include <dl.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:8004: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:8391: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
@@ -8029,9 +8416,9 @@ if test x${DLL} = xdlfcn.h; then
EOF
echo $ac_n "checking for dlopen()""... $ac_c" 1>&6
-echo "configure:8033: checking for dlopen()" >&5
+echo "configure:8420: checking for dlopen()" >&5
cat > conftest.$ac_ext <<EOF
-#line 8035 "configure"
+#line 8422 "configure"
#include "confdefs.h"
int main() {
@@ -8041,7 +8428,7 @@ int main() {
; return 0; }
EOF
-if { (eval echo configure:8045: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:8432: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
echo "$ac_t""yes" 1>&6;
cat >> confdefs.h <<\EOF
@@ -8054,11 +8441,11 @@ else
rm -rf conftest*
echo "$ac_t""no" 1>&6;
echo $ac_n "checking for dlopen() in -ldl""... $ac_c" 1>&6
-echo "configure:8058: checking for dlopen() in -ldl" >&5
+echo "configure:8445: checking for dlopen() in -ldl" >&5
olibs=$LIBS
LIBS="$LIBS -ldl"
cat > conftest.$ac_ext <<EOF
-#line 8062 "configure"
+#line 8449 "configure"
#include "confdefs.h"
int main() {
@@ -8068,7 +8455,7 @@ int main() {
; return 0; }
EOF
-if { (eval echo configure:8072: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:8459: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
echo "$ac_t""yes" 1>&6;
cat >> confdefs.h <<\EOF
@@ -8086,9 +8473,9 @@ rm -f conftest*
fi
rm -f conftest*
echo $ac_n "checking for dlsym()""... $ac_c" 1>&6
-echo "configure:8090: checking for dlsym()" >&5
+echo "configure:8477: checking for dlsym()" >&5
cat > conftest.$ac_ext <<EOF
-#line 8092 "configure"
+#line 8479 "configure"
#include "confdefs.h"
int main() {
@@ -8098,7 +8485,7 @@ int main() {
; return 0; }
EOF
-if { (eval echo configure:8102: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:8489: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
echo "$ac_t""yes" 1>&6;
cat >> confdefs.h <<\EOF
@@ -8111,11 +8498,11 @@ else
rm -rf conftest*
echo "$ac_t""no" 1>&6;
echo $ac_n "checking for dlsym() in -ldl""... $ac_c" 1>&6
-echo "configure:8115: checking for dlsym() in -ldl" >&5
+echo "configure:8502: checking for dlsym() in -ldl" >&5
olibs=$LIBS
LIBS="$LIBS -ldl"
cat > conftest.$ac_ext <<EOF
-#line 8119 "configure"
+#line 8506 "configure"
#include "confdefs.h"
int main() {
@@ -8125,7 +8512,7 @@ int main() {
; return 0; }
EOF
-if { (eval echo configure:8129: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:8516: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
echo "$ac_t""yes" 1>&6;
cat >> confdefs.h <<\EOF
@@ -8148,9 +8535,9 @@ elif test x${DLL} = xdl.h; then
EOF
echo $ac_n "checking for shl_load()""... $ac_c" 1>&6
-echo "configure:8152: checking for shl_load()" >&5
+echo "configure:8539: checking for shl_load()" >&5
cat > conftest.$ac_ext <<EOF
-#line 8154 "configure"
+#line 8541 "configure"
#include "confdefs.h"
int main() {
@@ -8160,7 +8547,7 @@ int main() {
; return 0; }
EOF
-if { (eval echo configure:8164: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:8551: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
echo "$ac_t""yes" 1>&6;
cat >> confdefs.h <<\EOF
@@ -8173,11 +8560,11 @@ else
rm -rf conftest*
echo "$ac_t""no" 1>&6;
echo $ac_n "checking for shl_load() in -ldld""... $ac_c" 1>&6
-echo "configure:8177: checking for shl_load() in -ldld" >&5
+echo "configure:8564: checking for shl_load() in -ldld" >&5
olibs=$LIBS
LIBS="$LIBS -ldld"
cat > conftest.$ac_ext <<EOF
-#line 8181 "configure"
+#line 8568 "configure"
#include "confdefs.h"
int main() {
@@ -8187,7 +8574,7 @@ int main() {
; return 0; }
EOF
-if { (eval echo configure:8191: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:8578: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
echo "$ac_t""yes" 1>&6;
cat >> confdefs.h <<\EOF
@@ -8209,17 +8596,17 @@ for ac_hdr in setjmp.h
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:8213: checking for $ac_hdr" >&5
+echo "configure:8600: checking for $ac_hdr" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 8218 "configure"
+#line 8605 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:8223: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:8610: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
@@ -8256,7 +8643,7 @@ fi
if test "x$MACOSX" = "xyes" && test "x$CARBON" = "xyes" \
&& test "x$GUITYPE" != "xCARBONGUI"; then
echo $ac_n "checking whether we need -framework Carbon""... $ac_c" 1>&6
-echo "configure:8260: checking whether we need -framework Carbon" >&5
+echo "configure:8647: checking whether we need -framework Carbon" >&5
if test "x$enable_multibyte" = "xyes" || test "x$features" == "xbig" \
|| test "x$features" = "xhuge"; then
LIBS="$LIBS -framework Carbon"
@@ -8454,6 +8841,14 @@ s%@X_PRE_LIBS@%$X_PRE_LIBS%g
s%@X_LIBS@%$X_LIBS%g
s%@X_EXTRA_LIBS@%$X_EXTRA_LIBS%g
s%@X_LIB@%$X_LIB%g
+s%@MOC@%$MOC%g
+s%@KDE_CONFIG@%$KDE_CONFIG%g
+s%@KDE_LIBS@%$KDE_LIBS%g
+s%@KDE_INCLUDES@%$KDE_INCLUDES%g
+s%@KDE_PREFIX@%$KDE_PREFIX%g
+s%@QT_LIBS@%$QT_LIBS%g
+s%@QT_INCLUDES@%$QT_INCLUDES%g
+s%@ROOTQT@%$ROOTQT%g
s%@GTK_CONFIG@%$GTK_CONFIG%g
s%@GTK12_CONFIG@%$GTK12_CONFIG%g
s%@PKG_CONFIG@%$PKG_CONFIG%g
diff --git a/src/config.h.in b/src/config.h.in
index bba26623c..1c888f470 100644
--- a/src/config.h.in
+++ b/src/config.h.in
@@ -312,6 +312,9 @@
/* Define if you use GTK and want GNOME support. */
#undef FEAT_GUI_GNOME
+/* Define if you use KDE and want KDE Toolbar support. */
+#undef FEAT_KDETOOLBAR
+
/* Define if GTK+ 2 is available. */
#undef HAVE_GTK2
diff --git a/src/config.mk.in b/src/config.mk.in
index 046649921..b5af74b53 100644
--- a/src/config.mk.in
+++ b/src/config.mk.in
@@ -124,6 +124,8 @@ NARROW_PROTO = @NARROW_PROTO@
GUI_X_LIBS = @GUI_X_LIBS@
MOTIF_LIBNAME = @MOTIF_LIBNAME@
GTK_LIBNAME = @GTK_LIBNAME@
+KDE_PREFIX = @KDE_PREFIX@
+MOC = @MOC@
### Any OS dependent extra source and object file
OS_EXTRA_SRC = @OS_EXTRA_SRC@
diff --git a/src/configure.in b/src/configure.in
index 2c23e0611..1ebf82c18 100644
--- a/src/configure.in
+++ b/src/configure.in
@@ -982,7 +982,7 @@ test "x$with_x" = xno -a "x$BEOS" != "xyes" -a "x$MACOSX" != "xyes" -a "x$QNX" !
AC_MSG_CHECKING(--enable-gui argument)
AC_ARG_ENABLE(gui,
- [ --enable-gui[=OPTS] X11 GUI [default=auto] [OPTS=auto/no/gtk/gtk2/gnome/gnome2/motif/athena/neXtaw/beos/photon/carbon]], , enable_gui="auto")
+ [ --enable-gui[=OPTS] X11 GUI [default=auto] [OPTS=auto/no/gtk/gtk2/gnome/gnome2/kde/motif/athena/neXtaw/beos/photon/carbon]], , enable_gui="auto")
dnl Canonicalize the --enable-gui= argument so that it can be easily compared.
dnl Do not use character classes for portability with old tools.
@@ -1039,7 +1039,6 @@ elif test "x$MACOSX" = "xyes" -a "x$with_x" = "xno" ; then
else
-
case "$enable_gui_canon" in
no|none) AC_MSG_RESULT(no GUI support) ;;
yes|""|auto) AC_MSG_RESULT(yes/auto - automatic GUI support)
@@ -1050,6 +1049,8 @@ else
SKIP_ATHENA=
SKIP_NEXTAW=
SKIP_CARBON=;;
+ kde|Kde|KDE) AC_MSG_RESULT(KDE 2.x or 3.x GUI support)
+ SKIP_KDE=;;
gtk) AC_MSG_RESULT(GTK+ 1.x GUI support)
SKIP_GTK=;;
gtk2) AC_MSG_RESULT(GTK+ 2.x GUI support)
@@ -1073,6 +1074,17 @@ else
fi
+if test "x$SKIP_KDE" != "xYES" -a "$enable_gui_canon" != "kde"; then
+ AC_MSG_CHECKING(whether or not to look for KDE)
+ AC_ARG_ENABLE(kde-check,
+ [ --enable-kde-check If auto-select GUI, check for KDE [default=no]],
+ ,enable_kde_check="no")
+ AC_MSG_RESULT($enable_kde_check);
+ if test "x$enable_kde_check" = "xno"; then
+ SKIP_KDE=YES
+ fi
+fi
+
if test "x$SKIP_GTK" != "xYES" -a "$enable_gui_canon" != "gtk" -a "$enable_gui_canon" != "gtk2"; then
AC_MSG_CHECKING(whether or not to look for GTK)
AC_ARG_ENABLE(gtk-check,
@@ -1153,6 +1165,247 @@ if test "x$SKIP_CARBON" != "xYES" -a "$enable_gui_canon" != "carbon"; then
fi
fi
+dnl ---------------------------------------------------------------------------
+dnl we use the kde-config script included in KDE since 2.x to check which
+dnl version of KDE, we'll use. We'll use additional args in configure to
+dnl obtain the QT directory (includes and libs) as qt does not give any
+dnl config script ! (shame on the trolls ! ;p)
+dnl ---------------------------------------------------------------------------
+
+if test -z "$SKIP_KDE"; then
+dnl ------------------
+dnl now, take care of QT
+dnl -----------------
+AC_ARG_WITH(qt-dir,
+ [ --with-qt-dir=DIR Specify prefix of QT files],
+ [
+ ROOTQT="$withval"
+ MOC="$withval"/bin/moc
+ QT_INCLUDES="$withval"/include
+ QT_LIBS="$withval"/lib
+ ])
+
+if test "x$ROOTQT" = "x"; then
+ if test -z "$QTDIR"; then
+ dnl Find the Qt directory by looking for the "moc" program.
+ dnl It's better than nothing.
+ AC_PATH_PROG(MOC, moc, no)
+ if text"x$MOC" = "x"; then
+ AC_MSG_ERROR(could not find Qt directory)
+ else
+ ROOTQT=`echo $MOC | sed 's+/bin/moc++'`
+ fi
+ else
+ ROOTQT="$QTDIR"
+ fi
+fi
+MOC="$ROOTQT"/bin/moc
+QT_INCLUDES="$ROOTQT"/include
+QT_LIBS="$ROOTQT"/lib
+
+AC_ARG_WITH(qt-includes,
+ [ --with-qt-includes=DIR Specify location of Qt headers],
+ [QT_INCLUDES="$withval"]
+ )
+
+AC_ARG_WITH(qt-libraries,
+ [ --with-qt-libs=DIR Specify location of Qt libraries],
+ [QT_LIBS="$withval"]
+ )
+
+if test "x$QT_LIBS" = "x" ; then
+ QT_LIBS="$ROOTQT"/lib
+fi
+if test "x$QT_INCLUDES" = "x" ; then
+ QT_INCLUDES="$ROOTQT"/include
+fi
+dnl we should get QT's version from here and compare with what kde-config
+dnl says
+
+AC_MSG_CHECKING(whether or not to use a KDE Toolbar in KVim)
+AC_ARG_ENABLE(kde-toolbar,
+ [ --enable-kde-toolbar if KDE GUI is selected, enable a KDE-look toolbar [default=no]],
+ , enable_kde_toolbar="no")
+if test "x$enable_kde_toolbar" != "xno"; then
+ AC_DEFINE(FEAT_KDETOOLBAR)
+fi
+AC_MSG_RESULT($enable_kde_toolbar);
+fi
+
+dnl -------------------
+dnl so, first, look up at the kde-config script
+dnl ------------------
+
+if test -z "$SKIP_KDE"; then
+AC_DEFUN(AM_PATH_KDE,
+[
+ if test "X$KDE_CONFIG" != "X"; then
+ min_kde_version=ifelse([$1], ,2.0,[$1])
+ AC_MSG_CHECKING(for KDE version >= $min_kde_version)
+ no_kde=""
+ if test "$KDE_CONFIG" = "no" ; then
+ no_kde=yes
+ else
+ KDE_PREFIX=`$KDE_CONFIG $kde_config_args --prefix`
+ if test "x$KDE_LIBS" = "x"; then
+ KDE_LIBS="$KDE_PREFIX/lib"
+ fi
+ if test "x$KDE_INCLUDES" = "x"; then
+ KDE_INCLUDES="$KDE_PREFIX/include"
+ fi
+ kde_major_version=`$KDE_CONFIG --version | grep KDE | \
+sed 's/KDE:\ //' | sed 's/\([[0-9]]*\).\([[0-9]]*.*\)/\1/'`
+ kde_minor_version=`$KDE_CONFIG --version | grep KDE | \
+sed 's/KDE:\ //' | sed 's/\([[0-9]]*\).\([[0-9]]*.*\)/\2/'`
+
+ qt_major_version=`$KDE_CONFIG --version | grep Qt | sed -e \
+'s/Qt:\ //' | sed 's/\([[0-9]]*\).\([[0-9]]*.*\)/\1/'`
+ qt_minor_version=`$KDE_CONFIG --version | grep Qt | sed -e \
+'s/Qt:\ //' | sed 's/\([[0-9]]*\).\([[0-9]]*.*\)/\2/'`
+
+ dnl maybe in a near future we'll get these ones : QT_PREFIX, QT_LIBS,
+ dnl QT_INCLUDES
+ dnl but for now we need configure options to get them ...
+ if test "x$enable-kdetest" = "xyes" ; then
+ ac_save_LIBS="$LIBS"
+ LIBS="$LIBS $KDE_LIBS"
+
+ dnl fake test
+ AC_TRY_RUN([
+#include <stdio.h>
+int
+main()
+{ return 0; }
+ ],, no_kde=yes,[echo $ac_n "cross compiling KDE ? ? how can i remove that ? :)"])
+ LIBS="$ac_save_LIBS"
+ fi
+ fi
+ if test "x$no_kde" = x ; then
+ AC_MSG_RESULT(found KDE $kde_major_version.$kde_minor_version)
+ ifelse([$2], , :, [$2])
+ else
+ AC_MSG_RESULT(no)
+ KDE_LIBS=""
+ ifelse([$3], , :, [$3])
+ fi
+else
+ AC_MSG_RESULT(no)
+ KDE_LIBS=""
+ ifelse([$3], , :, [$3])
+fi
+AC_SUBST(KDE_LIBS)
+AC_SUBST(KDE_INCLUDES)
+AC_SUBST(KDE_PREFIX)
+])
+
+dnl Check all the KDE stuff
+AC_MSG_CHECKING(--disable-rpath argument)
+AC_ARG_ENABLE(rpath,
+ [ --disable-rpath Disable rpath.],
+ , enable_rpath="yes")
+if test "$enable_rpath" = "yes"; then
+ AC_MSG_RESULT(no)
+else
+ AC_MSG_RESULT(yes)
+fi
+
+AC_MSG_CHECKING(--with-kde-prefix argument)
+AC_ARG_WITH(kde-prefix,[ --with-kde-prefix=PFX Prefix where KDE is installed (optional)],kde_config_prefix="$withval";
+AC_MSG_RESULT($kde_config_prefix), kde_config_prefix="";AC_MSG_RESULT(no))
+
+AC_ARG_WITH(kde-includes,
+ [ --with-kde-includes=DIR Specify location of KDE headers],
+ [KDE_INCLUDES="$withval"]
+ )
+
+AC_ARG_WITH(kde-libraries,
+ [ --with-kde-libs=DIR Specify location of KDE libraries],
+ [KDE_LIBS="$withval"]
+ )
+
+AC_MSG_CHECKING(--disable-kdetest argument)
+AC_ARG_ENABLE(kdetest,
+ [ --disable-kdetest Do not try to compile and run a test KDE program],
+ enable_kdetest=yes)
+
+if test "x$enable_kdetest" = "xyes" ; then
+ AC_MSG_RESULT(kde test enabled)
+else
+ AC_MSG_RESULT(kde test disabled)
+fi
+
+if test "x$kde_config_prefix" != "x" ; then
+ kde_config_args=""
+ KDE_CONFIG=$kde_config_prefix/bin/kde-config
+fi
+
+if test "X$KDE_CONFIG" = "X"; then
+ AC_PATH_PROG(KDE_CONFIG, kde-config, no)
+else
+ AC_MSG_RESULT(Using KDE configuration program $KDE_CONFIG)
+fi
+
+if test "X$KDE_CONFIG" != "X" ; then
+ AM_PATH_KDE(2.0.0,
+ [GUI_LIB_LOC="-L$KDE_LIBS -lkdeui -lkdecore -lDCOP"
+ GUI_INC_LOC="-I$KDE_INCLUDES"
+ KDEDIR="$KDE_PREFIX"], )
+ if test "x$KDE_PREFIX" != "x"; then
+ AC_MSG_CHECKING(for QT version $qt_major_version.x)
+ if test "x$ROOTQT" != "x" ; then
+ GUI_INC_LOC="-I$QT_INCLUDES $GUI_INC_LOC"
+ if test $qt_major_version -lt 2; then
+ AC_MSG_ERROR(Your QT version is prior to 2.0; KDE 2.x and 3.x require at least QT 2)
+ fi
+ dnl hack for FreeBSD
+ if test "`(uname) 2>/dev/null`" = "FreeBSD"; then
+ CFLAGS="$CFLAGS -D_THREAD_SAFE"
+ CXXFLAGS="$CXXFLAGS -D_THREAD_SAFE"
+ GUI_LIB_LOC="$GUI_LIB_LOC -pthread"
+ LIBS="$LIBS -pthread"
+ fi
+
+ dnl check the version
+ if test "x$enable_rpath" = "xyes"; then
+ if test $qt_major_version = 2; then
+ GUI_LIB_LOC="-L$KDE_LIBS -lkfile -L$QT_LIBS -lqt $GUI_LIB_LOC \
+-Wl,--rpath -Wl,$KDE_LIBS -Wl,--rpath -Wl,$QT_LIBS"
+ else
+ GUI_LIB_LOC="-L$KDE_LIBS -lkio -L$QT_LIBS -lqt-mt $GUI_LIB_LOC \
+-Wl,--rpath -Wl,$KDE_LIBS -Wl,--rpath -Wl,$QT_LIBS"
+ fi
+ else
+ if test $qt_major_version = 2; then
+ GUI_LIB_LOC="-L$KDE_LIBS -lkfile -L$QT_LIBS -lqt $GUI_LIB_LOC"
+ else
+ GUI_LIB_LOC="-L$KDE_LIBS -lkio -L$QT_LIBS -lqt-mt $GUI_LIB_LOC"
+ fi
+ fi
+
+ dnl Remove "-I/usr/include " from GUI_*
+ GUI_INC_LOC="`echo $GUI_INC_LOC\ | sed 's%-I/usr/include %%'`"
+dnl GUI_LIB_LOC="`echo $GUI_LIB_LOC\ | sed 's% -L/usr/lib%%'`"
+
+ AC_MSG_RESULT(found $qt_major_version.$qt_minor_version in $ROOTQT)
+ SKIP_GTK=YES
+ SKIP_ATHENA=YES
+ SKIP_MOTIF=YES
+ GUITYPE=KDE
+ AC_SUBST(KDE_PREFIX)
+ AC_SUBST(QT_LIBS)
+ AC_SUBST(QT_INCLUDES)
+ AC_SUBST(ROOTQT)
+ AC_SUBST(MOC)
+ AC_DEFINE(FEAT_GUI_KDE)
+ else
+ AC_MSG_ERROR(Detected QT version mismatched)
+ fi
+ else
+ AC_MSG_ERROR(Could not find KDE installation prefix)
+ fi
+fi
+fi
+
if test "x$MACOSX" = "xyes" -a -z "$SKIP_CARBON" -a "x$CARBON" = "xyes"; then
AC_MSG_CHECKING(for Carbon GUI)
dnl already did this
@@ -1170,7 +1423,6 @@ if test "x$MACOSX" = "xyes" -a -z "$SKIP_CARBON" -a "x$CARBON" = "xyes"; then
SKIP_CARBON=YES
fi
-
dnl
dnl Get the cflags and libraries from the gtk-config script
dnl
diff --git a/src/edit.c b/src/edit.c
index 7619a5555..1adcda414 100644
--- a/src/edit.c
+++ b/src/edit.c
@@ -270,6 +270,23 @@ edit(cmdchar, startln, count)
ins_compl_clear(); /* clear stuff for CTRL-X mode */
#endif
+#ifdef FEAT_AUTOCMD
+ /*
+ * Trigger InsertEnter autocommands. Do not do this for "r<CR>" or "grx".
+ */
+ if (cmdchar != 'r' && cmdchar != 'v')
+ {
+ if (cmdchar == 'R')
+ ptr = (char_u *)"r";
+ else if (cmdchar == 'V')
+ ptr = (char_u *)"v";
+ else
+ ptr = (char_u *)"i";
+ set_vim_var_string(VV_INSERTMODE, ptr, 1);
+ apply_autocmds(EVENT_INSERTENTER, NULL, NULL, FALSE, curbuf);
+ }
+#endif
+
#ifdef FEAT_MOUSE
/*
* When doing a paste with the middle mouse button, Insstart is set to
@@ -725,6 +742,12 @@ edit(cmdchar, startln, count)
break;
}
#endif
+#ifdef FEAT_AUTOCMD
+ set_vim_var_string(VV_INSERTMODE,
+ (char_u *)((State & REPLACE_FLAG) ? "i" :
+ replaceState == VREPLACE ? "v" : "r"), 1);
+ apply_autocmds(EVENT_INSERTCHANGE, NULL, NULL, FALSE, curbuf);
+#endif
if (State & REPLACE_FLAG)
State = INSERT | (State & LANGMAP);
else
@@ -859,7 +882,14 @@ doESCkey:
o_lnum = curwin->w_cursor.lnum;
if (ins_esc(&count, cmdchar))
+ {
+#ifdef FEAT_AUTOCMD
+ if (cmdchar != 'r' && cmdchar != 'v')
+ apply_autocmds(EVENT_INSERTLEAVE, NULL, NULL,
+ FALSE, curbuf);
+#endif
return (c == Ctrl_O);
+ }
continue;
/*
diff --git a/src/eval.c b/src/eval.c
index ce7bf0999..5e405157f 100644
--- a/src/eval.c
+++ b/src/eval.c
@@ -231,6 +231,7 @@ struct vimvar
{"throwpoint", sizeof("throwpoint") - 1, NULL, VAR_STRING, VV_RO},
{"register", sizeof("register") - 1, NULL, VAR_STRING, VV_RO},
{"cmdbang", sizeof("cmdbang") - 1, NULL, VAR_NUMBER, VV_RO},
+ {"insertmode", sizeof("insertmode") - 1, NULL, VAR_STRING, VV_RO},
};
static int eval0 __ARGS((char_u *arg, VAR retvar, char_u **nextcmd, int evaluate));
@@ -4877,6 +4878,9 @@ f_has(argvars, retvar)
#ifdef FEAT_GUI_BEOS
"gui_beos",
#endif
+#ifdef FEAT_GUI_KDE
+ "gui_kde",
+#endif
#ifdef FEAT_GUI_GTK
"gui_gtk",
# ifdef HAVE_GTK2
diff --git a/src/ex_cmds2.c b/src/ex_cmds2.c
index 67134820d..f9bd48773 100644
--- a/src/ex_cmds2.c
+++ b/src/ex_cmds2.c
@@ -447,7 +447,13 @@ dbg_parsearg(arg)
vim_free(q);
if (p == NULL)
return FAIL;
- bp->dbg_name = p;
+ if (*p != '*')
+ {
+ bp->dbg_name = fix_fname(p);
+ vim_free(p);
+ }
+ else
+ bp->dbg_name = p;
#ifdef MACOS_CLASSIC
if (bp->dbg_name != NULL)
slash_n_colon_adjust(bp->dbg_name);
diff --git a/src/ex_docmd.c b/src/ex_docmd.c
index af8d3fc7c..27f4b9d3a 100644
--- a/src/ex_docmd.c
+++ b/src/ex_docmd.c
@@ -197,7 +197,7 @@ static void ex_tearoff __ARGS((exarg_T *eap));
#else
# define ex_tearoff ex_ni
#endif
-#if (defined(FEAT_GUI_MSWIN) || defined(FEAT_GUI_GTK)) && defined(FEAT_MENU)
+#if (defined(FEAT_GUI_MSWIN) || defined(FEAT_GUI_KDE) || defined(FEAT_GUI_GTK)) && defined(FEAT_MENU)
static void ex_popup __ARGS((exarg_T *eap));
#else
# define ex_popup ex_ni
@@ -205,11 +205,11 @@ static void ex_popup __ARGS((exarg_T *eap));
#ifndef FEAT_GUI_MSWIN
# define ex_simalt ex_ni
#endif
-#if !defined(FEAT_GUI_MSWIN) && !defined(FEAT_GUI_GTK) && !defined(FEAT_GUI_MOTIF)
+#if !defined(FEAT_GUI_MSWIN) && !defined(FEAT_GUI_GTK) && !defined(FEAT_GUI_MOTIF) && !defined(FEAT_GUI_KDE)
# define gui_mch_find_dialog ex_ni
# define gui_mch_replace_dialog ex_ni
#endif
-#ifndef FEAT_GUI_GTK
+#if !defined(FEAT_GUI_GTK) && !defined(FEAT_GUI_KDE)
# define ex_helpfind ex_ni
#endif
#ifndef FEAT_CSCOPE
@@ -258,7 +258,7 @@ static void ex_wincmd __ARGS((exarg_T *eap));
#else
# define ex_wincmd ex_ni
#endif
-#if defined(FEAT_GUI) || defined(UNIX) || defined(VMS)
+#if defined(FEAT_GUI) || defined(UNIX) || defined(VMS) || defined(MSWIN)
static void ex_winpos __ARGS((exarg_T *eap));
#else
# define ex_winpos ex_ni
@@ -6719,7 +6719,7 @@ ex_tearoff(eap)
}
#endif
-#if (defined(FEAT_GUI_MSWIN) || defined(FEAT_GUI_GTK)) && defined(FEAT_MENU)
+#if (defined(FEAT_GUI_MSWIN) || defined(FEAT_GUI_KDE) || defined(FEAT_GUI_GTK)) && defined(FEAT_MENU)
static void
ex_popup(eap)
exarg_T *eap;
@@ -7108,7 +7108,7 @@ ex_wincmd(eap)
}
#endif
-#if defined(FEAT_GUI) || defined(UNIX) || defined(VMS)
+#if defined(FEAT_GUI) || defined(UNIX) || defined(VMS) || defined(MSWIN)
/*
* ":winpos".
*/
@@ -7122,8 +7122,12 @@ ex_winpos(eap)
if (*arg == NUL)
{
-# ifdef FEAT_GUI
+# if defined(FEAT_GUI) || defined(MSWIN)
+# ifdef FEAT_GUI
if (gui.in_use && gui_mch_get_winpos(&x, &y) != FAIL)
+# else
+ if (mch_get_winpos(&x, &y) != FAIL)
+# endif
{
sprintf((char *)IObuff, _("Window position: X %d, Y %d"), x, y);
msg(IObuff);
@@ -7155,6 +7159,10 @@ ex_winpos(eap)
# ifdef HAVE_TGETENT
else
# endif
+# else
+# ifdef MSWIN
+ mch_set_winpos(x, y);
+# endif
# endif
# ifdef HAVE_TGETENT
if (*T_CWP)
diff --git a/src/feature.h b/src/feature.h
index 725c0710a..8ebe94fd3 100644
--- a/src/feature.h
+++ b/src/feature.h
@@ -689,13 +689,16 @@
* always has it). But only if menus are enabled.
*/
#if defined(FEAT_NORMAL) && defined(FEAT_MENU) \
- && (defined(FEAT_GUI_GTK) \
+ && (defined(FEAT_GUI_KDE) \
+ || defined(FEAT_GUI_GTK) \
|| defined(FEAT_GUI_MSWIN) \
|| ((defined(FEAT_GUI_MOTIF) || defined(FEAT_GUI_ATHENA)) \
&& defined(HAVE_XPM)) \
|| defined(FEAT_GUI_PHOTON))
# define FEAT_TOOLBAR
#endif
+
+
#if defined(FEAT_TOOLBAR) && !defined(FEAT_MENU)
# define FEAT_MENU
#endif
@@ -706,7 +709,7 @@
* BROWSE_CURRBUF Open file browser in the directory of the current
* buffer, instead of the current directory.
*/
-#if defined(FEAT_NORMAL) && (defined(FEAT_GUI_MSWIN) || defined(FEAT_GUI_MOTIF) || defined(FEAT_GUI_ATHENA) || defined(FEAT_GUI_GTK) || defined(FEAT_GUI_PHOTON) || defined(FEAT_GUI_MAC))
+#if defined(FEAT_NORMAL) && (defined(FEAT_GUI_MSWIN) || defined(FEAT_GUI_KDE) || defined(FEAT_GUI_MOTIF) || defined(FEAT_GUI_ATHENA) || defined(FEAT_GUI_GTK) || defined(FEAT_GUI_PHOTON) || defined(FEAT_GUI_MAC))
# define FEAT_BROWSE
#endif
#if defined(FEAT_NORMAL) && defined(FEAT_GUI_MSWIN)
@@ -724,7 +727,8 @@
|| defined(FEAT_GUI_GTK) \
|| defined(FEAT_GUI_PHOTON) \
|| defined(FEAT_GUI_MSWIN) \
- || defined(FEAT_GUI_MAC)
+ || defined(FEAT_GUI_MAC) \
+ || defined(FEAT_GUI_KDE)
# define FEAT_CON_DIALOG
# define FEAT_GUI_DIALOG
# else
@@ -732,13 +736,13 @@
# endif
#endif
#if !defined(FEAT_GUI_DIALOG) && (defined(FEAT_GUI_MOTIF) \
- || defined(FEAT_GUI_ATHENA) || defined(FEAT_GUI_GTK))
+ || defined(FEAT_GUI_ATHENA) || defined(FEAT_GUI_GTK) || defined(FEAT_GUI_KDE))
/* 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_GTK) || defined(FEAT_GUI_KDE)|| defined(FEAT_GUI_MSWIN) \
|| defined(FEAT_GUI_PHOTON) || defined(FEAT_GUI_MAC))
# define FEAT_GUI_TEXTDIALOG
#endif
@@ -931,7 +935,7 @@
* +X11 Unix only. Include code for xterm title saving and X
* clipboard. Only works if HAVE_X11 is also defined.
*/
-#if defined(FEAT_NORMAL) || defined(FEAT_GUI_MOTIF) || defined(FEAT_GUI_ATHENA)
+#if (defined(FEAT_NORMAL) || defined(FEAT_GUI_MOTIF) || defined(FEAT_GUI_ATHENA))
# define WANT_X11
#endif
@@ -1057,7 +1061,7 @@
# define MCH_CURSOR_SHAPE
# endif
# if defined(FEAT_GUI_W32) || defined(FEAT_GUI_W16) || defined(FEAT_GUI_MOTIF) \
- || defined(FEAT_GUI_ATHENA) || defined(FEAT_GUI_GTK) \
+ || defined(FEAT_GUI_ATHENA) || defined(FEAT_GUI_GTK) || defined(FEAT_GUI_KDE)\
|| defined(FEAT_GUI_PHOTON)
# define FEAT_MOUSESHAPE
# endif
diff --git a/src/fileio.c b/src/fileio.c
index ce5ce41e0..92c1e98bb 100644
--- a/src/fileio.c
+++ b/src/fileio.c
@@ -6651,6 +6651,9 @@ static struct event_name
{"FocusLost", EVENT_FOCUSLOST},
{"FuncUndefined", EVENT_FUNCUNDEFINED},
{"GUIEnter", EVENT_GUIENTER},
+ {"InsertChange", EVENT_INSERTCHANGE},
+ {"InsertEnter", EVENT_INSERTENTER},
+ {"InsertLeave", EVENT_INSERTLEAVE},
{"RemoteReply", EVENT_REMOTEREPLY},
{"StdinReadPost", EVENT_STDINREADPOST},
{"StdinReadPre", EVENT_STDINREADPRE},
diff --git a/src/globals.h b/src/globals.h
index 6f53317a6..8a59f1ccb 100644
--- a/src/globals.h
+++ b/src/globals.h
@@ -722,6 +722,10 @@ EXTERN int* (*iconv_errno) (void);
#endif /* FEAT_MBYTE */
#ifdef FEAT_XIM
+# ifdef FEAT_GUI_KDE
+EXTERN colnr_T preedit_start_col INIT(= MAXCOL);
+EXTERN char *draw_feedback INIT(= NULL);
+# endif
# ifdef FEAT_GUI_GTK
# ifdef HAVE_GTK2
EXTERN GtkIMContext *xic INIT(= NULL);
@@ -1112,6 +1116,10 @@ EXTERN guint32 gtk_socket_id INIT(= 0);
EXTERN int echo_wid_arg INIT(= FALSE); /* --echo-wid argument */
#endif
+#ifdef FEAT_GUI_KDE
+EXTERN int echo_wid_arg INIT(= FALSE);
+# endif
+
#ifdef FEAT_CLIENTSERVER
EXTERN char_u *serverName INIT(= NULL); /* name of the server */
EXTERN int received_from_client INIT(= FALSE); /* received text from
@@ -1321,7 +1329,7 @@ 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) \
- || defined(UNIX) || defined(VMS)
+ || defined(UNIX) || defined(VMS) || defined(OS2)
EXTERN char_u e_screenmode[] INIT(=N_("E359: Screen mode setting not supported"));
#endif
EXTERN char_u e_scroll[] INIT(=N_("E49: Invalid scroll size"));
diff --git a/src/gui.c b/src/gui.c
index 3ffa2257d..c8930d8bf 100644
--- a/src/gui.c
+++ b/src/gui.c
@@ -97,7 +97,7 @@ gui_start()
vim_free(old_term);
-#if defined(FEAT_GUI_GTK) || defined(FEAT_GUI_X11)
+#if defined(FEAT_GUI_GTK) || defined(FEAT_GUI_X11) || defined(FEAT_GUI_KDE)
if (gui.in_use)
/* Display error messages in a dialog now. */
display_errors();
@@ -531,7 +531,7 @@ gui_init()
/* Our GUI can't do bidi. */
p_tbidi = FALSE;
#endif
-#ifdef FEAT_GUI_GTK
+#if defined FEAT_GUI_GTK || defined FEAT_GUI_KDE
/* Give GTK+ a chance to put all widget's into place. */
gui_mch_update();
/* Now make sure the shell fits on the screen. */
@@ -575,7 +575,7 @@ gui_exit(rc)
gui_mch_exit(rc);
}
-#if defined(FEAT_GUI_GTK) || defined(FEAT_GUI_X11) || defined(FEAT_GUI_MSWIN) \
+#if defined(FEAT_GUI_KDE) || defined(FEAT_GUI_GTK) || defined(FEAT_GUI_X11) || defined(FEAT_GUI_MSWIN) \
|| defined(FEAT_GUI_PHOTON) || defined(FEAT_GUI_MAC) || defined(PROTO)
/*
* Called when the GUI shell is closed by the user. If there are no changed
@@ -1058,7 +1058,7 @@ gui_update_cursor(force, clear_selection)
void
gui_position_menu()
{
-# if !defined(FEAT_GUI_GTK) && !defined(FEAT_GUI_MOTIF)
+# if !defined(FEAT_GUI_KDE) && !defined(FEAT_GUI_GTK) && !defined(FEAT_GUI_MOTIF)
if (gui.menu_is_active && gui.in_use)
gui_mch_set_menu_pos(0, 0, gui.menu_width, gui.menu_height);
# endif
@@ -1164,6 +1164,7 @@ gui_get_base_height()
if (gui.menu_is_active)
base_height += gui.menu_height;
# endif
+#ifndef FEAT_GUI_KDE
# ifdef FEAT_TOOLBAR
if (vim_strchr(p_go, GO_TOOLBAR) != NULL)
# if defined(FEAT_GUI_MSWIN) && defined(FEAT_TOOLBAR)
@@ -1172,6 +1173,7 @@ gui_get_base_height()
base_height += gui.toolbar_height;
# endif
# endif
+#endif
# ifdef FEAT_FOOTER
if (vim_strchr(p_go, GO_FOOTER) != NULL)
base_height += gui.footer_height;
@@ -1680,7 +1682,7 @@ gui_write(s, len)
* We need to make sure this is cleared since Athena doesn't tell us when
* he is done dragging. Do the same for GTK.
*/
-#if defined(FEAT_GUI_ATHENA) || defined(FEAT_GUI_GTK)
+#if defined(FEAT_GUI_ATHENA) || defined(FEAT_GUI_GTK) || defined(FEAT_GUI_KDE)
gui.dragged_sb = SBAR_NONE;
#endif
@@ -2071,7 +2073,7 @@ gui_outstr_nowrap(s, len, flags, fg, bg, back)
if (back != 0 && ((draw_flags & DRAW_BOLD) || (highlight_mask & HL_ITALIC)))
return FAIL;
-#if defined(RISCOS) || defined(HAVE_GTK2)
+#if defined(RISCOS) || defined(HAVE_GTK2) || defined(FEAT_GUI_KDE)
/* 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)
@@ -2141,7 +2143,7 @@ gui_outstr_nowrap(s, len, flags, fg, bg, back)
/* print the string so far if it's the last character or there is
* a composing character. */
if (i + cl >= len || (comping && i > start) || dowide
-# if defined(FEAT_GUI_X11) || defined(FEAT_GUI_GTK)
+# if defined(FEAT_GUI_X11) || defined(FEAT_GUI_GTK) || defined (FEAT_GUI_KDE)
|| (cn > 1
# ifdef FEAT_XFONTSET
/* No fontset: At least draw char after wide char at
@@ -2173,8 +2175,9 @@ gui_outstr_nowrap(s, len, flags, fg, bg, back)
start += cl;
}
-# if defined(FEAT_GUI_X11) || defined(FEAT_GUI_GTK)
- /* No fontset: draw a space to fill the gap after a wide char */
+# if defined(FEAT_GUI_X11) || defined(FEAT_GUI_GTK) || defined(FEAT_GUI_KDE)
+ /* No fontset: draw a space to fill the gap after a wide char
+ * */
if (cn > 1 && (draw_flags & DRAW_TRANSP) == 0
# ifdef FEAT_XFONTSET
&& fontset == NOFONTSET
@@ -4056,8 +4059,9 @@ gui_get_color(name)
if (*name == NUL)
return INVALCOLOR;
t = gui_mch_get_color(name);
+
if (t == INVALCOLOR
-#if defined(FEAT_GUI_X11) || defined(FEAT_GUI_GTK)
+#if defined(FEAT_GUI_X11) || defined(FEAT_GUI_GTK) || defined(FEAT_GUI_KDE)
&& gui.in_use
#endif
)
@@ -4183,7 +4187,6 @@ gui_mouse_moved(x, y)
add_to_input_buf(st, 8);
st[3] = (char_u)MOUSE_RELEASE;
add_to_input_buf(st, 8);
-
#ifdef FEAT_GUI_GTK
/* Need to wake up the main loop */
if (gtk_main_level() > 0)
@@ -4301,7 +4304,7 @@ ex_gui(eap)
}
#if ((defined(FEAT_GUI_X11) || defined(FEAT_GUI_GTK) || defined(FEAT_GUI_W32) \
- || defined(FEAT_GUI_PHOTON)) && defined(FEAT_TOOLBAR)) || defined(PROTO)
+ || defined(FEAT_GUI_PHOTON) || defined(FEAT_GUI_KDE)) && defined(FEAT_TOOLBAR)) || defined(PROTO)
/*
* This is shared between Athena, Motif and GTK.
*/
@@ -4364,7 +4367,7 @@ gui_find_iconfile(name, buffer, ext)
# endif
#endif
-#if defined(FEAT_GUI_GTK) || defined(FEAT_GUI_X11) || defined(PROTO)
+#if defined(FEAT_GUI_GTK) || defined(FEAT_GUI_KDE) || defined(FEAT_GUI_X11) || defined(PROTO)
void
display_errors()
{
@@ -4410,7 +4413,7 @@ no_console_input()
#if defined(FEAT_GUI_GTK) || defined(FEAT_GUI_MOTIF) \
|| defined(MSWIN_FIND_REPLACE) || defined(FEAT_SUN_WORKSHOP) \
- || defined(PROTO)
+ || defined(PROTO) || defined(FEAT_GUI_KDE)
/*
* Update the current window and the screen.
*/
@@ -4428,7 +4431,7 @@ gui_update_screen()
#endif
#if defined(FEAT_GUI_GTK) || defined(FEAT_GUI_MOTIF) \
- || defined(MSWIN_FIND_REPLACE) || defined(PROTO)
+ || defined(MSWIN_FIND_REPLACE) || defined(PROTO) || defined(FEAT_GUI_KDE)
static void concat_esc __ARGS((garray_T *gap, char_u *text, int what));
/*
diff --git a/src/gui.h b/src/gui.h
index 4357c46aa..02028f2c7 100644
--- a/src/gui.h
+++ b/src/gui.h
@@ -30,6 +30,23 @@
# include "gui_beval.h"
#endif
+#ifdef FEAT_GUI_KDE
+# include <X11/Intrinsic.h>
+
+/* used only as pointer to, so casting to int is ok */
+# ifdef __cplusplus
+class QScrollBar;
+class QPopupMenu;
+class QFont;
+class VimWidget;
+# else
+# define QScrollBar int
+# define QPopupMenu int
+# define QFont int
+# define VimWidget int
+# endif
+#endif
+
#ifdef FEAT_GUI_GTK
# include <X11/Intrinsic.h>
# include <gtk/gtk.h>
@@ -85,7 +102,7 @@
* GUIs that support dropping files on a running Vim.
*/
#if defined(FEAT_GUI_MSWIN) || defined(FEAT_GUI_MAC) \
- || defined(FEAT_GUI_BEOS) || defined(FEAT_GUI_GTK)
+ || defined(FEAT_GUI_BEOS) || defined(FEAT_GUI_GTK) || defined(FEAT_GUI_KDE)
# define HAVE_DROP_FILE
#endif
@@ -152,7 +169,7 @@
#define DRAW_TRANSP 0x01 /* draw with transparant bg */
#define DRAW_BOLD 0x02 /* draw bold text */
#define DRAW_UNDERL 0x04 /* draw underline text */
-#if defined(RISCOS) || defined(HAVE_GTK2)
+#if defined(RISCOS) || defined(HAVE_GTK2) || defined (FEAT_GUI_KDE)
# define DRAW_ITALIC 0x08 /* draw italic text */
#endif
#define DRAW_CURSOR 0x10 /* drawing block cursor (win32) */
@@ -171,7 +188,7 @@
#endif
#define TOOLBAR_BORDER_HEIGHT 12 /* room above+below buttons for MSWindows */
-#if defined(NO_CONSOLE) || defined(FEAT_GUI_GTK) || defined(FEAT_GUI_X11)
+#if defined(NO_CONSOLE) || defined(FEAT_GUI_GTK) || defined(FEAT_GUI_KDE) || defined(FEAT_GUI_X11)
# define NO_CONSOLE_INPUT /* use no_console_input() to check if there
is no console input possible */
#endif
@@ -195,6 +212,9 @@ typedef struct GuiScrollbar
int width; /* Current width of scroll bar in cols */
#endif
int status_height; /* Height of status line */
+#ifdef FEAT_GUI_KDE
+ QScrollBar *w;
+#endif
#ifdef FEAT_GUI_X11
Widget id; /* Id of real scroll bar */
#endif
@@ -231,6 +251,12 @@ typedef long guicolor_T; /* handle for a GUI color; for X11 this should
displays there is a tiny chance this is an
actual color */
+#ifdef FEAT_GUI_KDE
+ typedef QFont *GuiFont;
+ typedef QFont *GuiFontset;
+# define NOFONT (GuiFont)NULL
+# define NOFONTSET (GuiFontset)NULL
+#endif
#ifdef FEAT_GUI_GTK
# ifdef HAVE_GTK2
typedef PangoFontDescription *GuiFont; /* handle for a GUI font */
@@ -254,10 +280,12 @@ typedef long guicolor_T; /* handle for a GUI color; for X11 this should
# define NOFONT (GuiFont)0
# define NOFONTSET (GuiFontset)0
# else
+# if !defined(FEAT_GUI_KDE)
typedef long_u GuiFont; /* handle for a GUI font */
typedef long_u GuiFontset; /* handle for a GUI fontset */
# define NOFONT (GuiFont)0
# define NOFONTSET (GuiFontset)0
+# endif
# endif
# endif
#endif
@@ -375,6 +403,13 @@ typedef struct Gui
Bool color_approx; /* Some color was approximated */
#endif
+#ifdef FEAT_GUI_KDE
+ VimWidget *w; /* Vim widget */
+ Display *dpy; /* X display */
+ QFont *current_font;
+ char_u *fontname; /* font name from font selection dialog */
+#endif
+
#ifdef FEAT_GUI_GTK
int visibility; /* Is shell partially/fully obscured? */
GdkCursor *blank_pointer; /* Blank pointer */
@@ -507,7 +542,7 @@ typedef enum
}
gui_win_pos_T;
-#if defined(FEAT_GUI_MOTIF) || defined(FEAT_GUI_GTK) \
+#if defined(FEAT_GUI_MOTIF) || defined(FEAT_GUI_GTK) || defined(FEAT_GUI_KDE) \
|| defined(MSWIN_FIND_REPLACE)
/*
* Flags used to distinguish the different contexts in which the
diff --git a/src/gui_kde.cc b/src/gui_kde.cc
new file mode 100644
index 000000000..772e45792
--- /dev/null
+++ b/src/gui_kde.cc
@@ -0,0 +1,587 @@
+/* vi:set ts=8 sts=0 sw=8:
+ *
+ * VIM - Vi IMproved by Bram Moolenaar
+ *
+ * Do ":help uganda" in Vim to read copying and usage conditions.
+ * Do ":help credits" in Vim to see a list of people who contributed.
+ */
+
+/*
+ * Porting to KDE(2) was done by
+ *
+ * (C) 2000 by Thomas Capricelli <orzel@freehackers.org>
+ *
+ * Please visit http://freehackers.org/kvim for other vim- or
+ * kde-related coding.
+ *
+ * $Id$
+ *
+ */
+#include <assert.h>
+#include <errno.h>
+#include <string.h>
+#include <kmenubar.h>
+#include <kfiledialog.h>
+#include <kiconloader.h>
+
+#include <qscrollbar.h>
+#include <qcursor.h>
+#include <qmessagebox.h>
+#include <qiconset.h>
+#include <qtextcodec.h>
+#include "gui_kde_widget.h"
+
+extern "C" {
+#include "vim.h"
+}
+
+#undef dbf
+#undef db
+#undef mputs
+
+#if 1
+#define dbf( format, args... ) { printf( "%s" " : " format "\n" , __FUNCTION__ , ## args ); fflush(stdout); }
+#define db() { printf( "%s\n", __FUNCTION__ );fflush(stdout); }
+#else
+#define dbf(format, args... )
+#define db()
+#endif
+
+
+#ifdef FEAT_TOOLBAR
+#ifndef FEAT_KDETOOLBAR
+/*
+ * Icons used by the toolbar code.
+ *///{{{
+#include "../pixmaps/tb_new.xpm"
+#include "../pixmaps/tb_open.xpm"
+#include "../pixmaps/tb_close.xpm"
+#include "../pixmaps/tb_save.xpm"
+#include "../pixmaps/tb_print.xpm"
+#include "../pixmaps/tb_cut.xpm"
+#include "../pixmaps/tb_copy.xpm"
+#include "../pixmaps/tb_paste.xpm"
+#include "../pixmaps/tb_find.xpm"
+#include "../pixmaps/tb_find_next.xpm"
+#include "../pixmaps/tb_find_prev.xpm"
+#include "../pixmaps/tb_find_help.xpm"
+#include "../pixmaps/tb_exit.xpm"
+#include "../pixmaps/tb_undo.xpm"
+#include "../pixmaps/tb_redo.xpm"
+#include "../pixmaps/tb_help.xpm"
+#include "../pixmaps/tb_macro.xpm"
+#include "../pixmaps/tb_make.xpm"
+#include "../pixmaps/tb_save_all.xpm"
+#include "../pixmaps/tb_jump.xpm"
+#include "../pixmaps/tb_ctags.xpm"
+#include "../pixmaps/tb_load_session.xpm"
+#include "../pixmaps/tb_save_session.xpm"
+#include "../pixmaps/tb_new_session.xpm"
+#include "../pixmaps/tb_blank.xpm"
+#include "../pixmaps/tb_maximize.xpm"
+#include "../pixmaps/tb_split.xpm"
+#include "../pixmaps/tb_minimize.xpm"
+#include "../pixmaps/tb_shell.xpm"
+#include "../pixmaps/tb_replace.xpm"
+#include "../pixmaps/tb_vsplit.xpm"
+#include "../pixmaps/tb_maxwidth.xpm"
+#include "../pixmaps/tb_minwidth.xpm"
+//}}}
+/*
+ * These are the pixmaps used for the default buttons.
+ * Order must exactly match toolbar_names[] in menu.c!
+ *///{{{
+static char **(built_in_pixmaps[]) =
+{
+ tb_new_xpm,
+ tb_open_xpm,
+ tb_save_xpm,
+ tb_undo_xpm,
+ tb_redo_xpm,
+ tb_cut_xpm,
+ tb_copy_xpm,
+ tb_paste_xpm,
+ tb_print_xpm,
+ tb_help_xpm,
+ tb_find_xpm,
+ tb_save_all_xpm,
+ tb_save_session_xpm,
+ tb_new_session_xpm,
+ tb_load_session_xpm,
+ tb_macro_xpm,
+ tb_replace_xpm,
+ tb_close_xpm,
+ tb_maximize_xpm,
+ tb_minimize_xpm,
+ tb_split_xpm,
+ tb_shell_xpm,
+ tb_find_prev_xpm,
+ tb_find_next_xpm,
+ tb_find_help_xpm,
+ tb_make_xpm,
+ tb_jump_xpm,
+ tb_ctags_xpm,
+ tb_vsplit_xpm,
+ tb_maxwidth_xpm,
+ tb_minwidth_xpm,
+ tb_exit_xpm
+};//}}}
+#else
+const char *kdeicons[] = {
+ "filenew",
+ "fileopen",
+ "filesave",
+ "undo",
+ "redo",
+ "editcut",
+ "editcopy",
+ "editpaste",
+ "fileprint",
+ "contents2",
+ "filefind",
+ "save_all",
+ "fileexport",
+ "filenew",
+ "fileimport",
+ "run",
+ "edit",
+ "fileclose",
+ "",
+ "",
+ "split",
+ "openterm",
+ "previous",
+ "next",
+ "help",
+ "make",
+ "goto",
+ "run",
+ "vsplit",
+ "maxwidth",
+ "minwidth",
+ "quit"
+};
+#endif
+/*
+ * creates a blank pixmap using tb_blank
+ */
+ QPixmap
+pixmap_create_from_xpm(char **xpm)//{{{
+{
+ return(QPixmap((const char **)xpm));
+}//}}}
+
+/*
+ * creates a pixmap by using a built-in number
+ */
+ QPixmap
+pixmap_create_by_num(int pixmap_num)//{{{
+{
+#ifdef FEAT_KDETOOLBAR
+ if (pixmap_num >= 0 && (unsigned)pixmap_num < (sizeof(kdeicons)
+ / sizeof(kdeicons[0])) - 1) {
+
+ KIconLoader *il = kapp->iconLoader(); //new KIconLoader();
+ QString icon;
+ icon=QString(kdeicons[pixmap_num]);
+ return il->loadIcon(icon,KIcon::MainToolbar);
+ }
+ return QPixmap();
+#else
+ if (pixmap_num >= 0 && (unsigned)pixmap_num < (sizeof(built_in_pixmaps)
+ / sizeof(built_in_pixmaps[0])) - 1)
+ return pixmap_create_from_xpm(built_in_pixmaps[pixmap_num]);
+ else return QPixmap();
+#endif
+}//}}}
+
+/*
+ * Creates a pixmap by using the pixmap "name" found in 'runtimepath'/bitmaps/
+ */
+ QPixmap
+pixmap_create_by_dir(char_u *name)//{{{
+{
+ char_u full_pathname[MAXPATHL + 1];
+
+ if (gui_find_bitmap(name, full_pathname, "xpm") == OK) {
+ return QPixmap((const char *)full_pathname);
+ }
+ else return QPixmap();
+}//}}}
+
+
+ QPixmap
+pixmap_create_from_file(char_u *file)
+{
+ return QPixmap((const char*)file);
+}
+#endif
+
+ void
+gui_mch_add_menu(vimmenu_T * menu, int idx)//{{{
+{
+#ifdef FEAT_MENU
+ QPopupMenu *me;
+ vimmenu_T *parent = menu->parent;
+
+ if (menu_is_popup(menu->name)) {
+ menu->widget = new QPopupMenu(vmw , (const char *) menu->name);
+ QObject::connect( menu->widget, SIGNAL(activated(int)), vmw, SLOT(menu_activated(int)) );
+ return;
+ }
+
+ if (!menu_is_menubar(menu->name))
+ return;
+
+ if (parent) {
+ idx++; // for tearoffs to be first in menus
+ me = new QPopupMenu(parent->widget, (const char *) menu->name);
+ parent->widget->insertItem( QString((const char *)menu->name), me, (int)me, idx);
+ } else {
+ me = new QPopupMenu(vmw->menuBar() , (const char *) menu->name);
+ vmw->menuBar()->insertItem( QString((const char *)menu->name), me , (int) me, idx);
+ }
+
+ me->setCaption((const char*)( menu->dname ));
+ if (vmw->have_tearoff) me->insertTearOffHandle(0,0);
+ QObject::connect( me, SIGNAL(activated(int)), vmw, SLOT(menu_activated(int)) );
+ menu->widget = me;
+#endif
+}//}}}
+
+
+ void
+gui_mch_add_menu_item(vimmenu_T * menu, int idx)//{{{
+{
+#ifdef FEAT_MENU
+ vimmenu_T *parent = menu->parent;
+#ifdef FEAT_TOOLBAR
+ if (menu_is_toolbar(parent->name)) {
+ QPixmap pix;
+ if ( menu_is_separator(menu->name) )
+ {
+ vmw->toolBar()->insertSeparator();
+ return;
+ }
+ if (menu->iconfile != NULL) {
+ pix = pixmap_create_from_file(menu->iconfile);
+ }
+ if (!menu->icon_builtin) {
+ pix = pixmap_create_by_dir(menu->name);
+ }
+ if (pix.isNull() && menu->iconidx >= 0) {
+ pix = pixmap_create_by_num(menu->iconidx);
+ }
+#ifndef FEAT_KDETOOLBAR
+ if (pix.isNull()) {
+ pix = pixmap_create_from_xpm(tb_blank_xpm);
+ }
+#endif
+ if (pix.isNull()) return; // failed
+ vmw->toolBar()->insertButton (
+ pix,
+ (int) menu , // id
+ true,
+ (char *) (menu->strings[MENU_INDEX_TIP]) , // tooltip or text
+ idx
+ );
+ menu->parent=parent;
+ return;
+ }
+#endif // FEAT_TOOLBAR
+
+ idx++;
+ if ( menu_is_separator(menu->name) ) {
+ parent->widget->insertSeparator();
+ return;
+ }
+ parent->widget->insertItem(QString((const char *)menu->name), (int)menu, idx );
+#endif
+}//}}}
+
+
+ void
+gui_mch_set_text_area_pos(int x, int y, int w, int h)//{{{
+{
+ int X = 0;
+ int Y = 0;
+ if (vmw->menuBar()->isVisible() && vmw->menuBar()->isEnabled()
+#if QT_VERSION>=300
+ && !vmw->menuBar()->isTopLevelMenu()
+#endif
+ )
+ Y += vmw->menuBar()->height();
+#ifdef FEAT_TOOLBAR
+ if (vmw->toolBar()->isVisible() && vmw->toolBar()->isEnabled() &&
+ vmw->toolBar()->barPos()==KToolBar::Top)
+ Y += vmw->toolBar()->height();
+
+ if (vmw->toolBar()->isVisible() && vmw->toolBar()->isEnabled() &&
+ vmw->toolBar()->barPos()==KToolBar::Left)
+ X += vmw->toolBar()->width();
+#endif // FEAT_TOOLBAR
+
+ gui.w->setGeometry(x+X,y+Y,w,h);
+}//}}}
+
+
+#if defined(FEAT_MENU) || defined(PROTO)
+/*
+ * Enable or disable mnemonics for the toplevel menus.
+ */
+ void
+gui_gtk_set_mnemonics(int enable)//{{{ // TO BE REMOVED
+{
+}//}}}
+
+ void
+toggle_tearoffs(vimmenu_T *menu, int enable)//{{{
+{
+ while (menu != NULL) {
+ if (!menu_is_popup(menu->name)) {
+ if (menu->widget != 0) {
+ if (enable) menu->widget->insertTearOffHandle(0,0);
+ else menu->widget->removeItem(0);
+ }
+ toggle_tearoffs(menu->children, enable);
+ }
+ menu = menu->next;
+ }
+}//}}}
+
+ void
+gui_mch_toggle_tearoffs(int enable)//{{{
+{
+ vmw->have_tearoff=enable;
+ toggle_tearoffs(root_menu, enable);
+}//}}}
+#endif
+
+
+#if defined(FEAT_MENU) || defined(PROTO)
+/*
+ * Destroy the machine specific menu widget.
+ */
+ void
+gui_mch_destroy_menu(vimmenu_T * menu)//{{{
+{
+#ifdef FEAT_TOOLBAR
+ if (menu->parent && menu_is_toolbar(menu->parent->name)) {
+ vmw->toolBar()->removeItem( (int) menu );
+ return;
+ }
+#endif
+ if(menu->parent){
+ menu->parent->widget->removeItem((int)menu );
+ }
+ if (menu->widget){
+ delete menu->widget;
+ }
+ menu->widget = 0;
+}//}}}
+#endif /* FEAT_MENU */
+
+
+/*
+ * Scrollbar stuff.
+ */
+
+ void
+gui_mch_set_scrollbar_thumb(scrollbar_T * sb, long val, long size, long max)//{{{
+{
+ if (!sb->w) return;
+
+ sb->w->setRange(0, max+1-size);
+ sb->w->setValue(val);
+
+ sb->w->setLineStep(1);
+ sb->w->setPageStep(size);
+}//}}}
+
+ void
+gui_mch_set_scrollbar_pos(scrollbar_T * sb, int x, int y, int w, int h)//{{{
+{
+ if (!sb->w) return;
+ //we add the menubar and toolbar height/width
+ int X = 0;
+ int Y = 0;
+
+ if (vmw->menuBar()->isVisible() && vmw->menuBar()->isEnabled()
+#if QT_VERSION>=300
+ && !vmw->menuBar()->isTopLevelMenu()
+#endif
+ )
+ Y += vmw->menuBar()->height();
+#ifdef FEAT_TOOLBAR
+ if (vmw->toolBar()->isVisible() && vmw->toolBar()->isEnabled() &&
+ vmw->toolBar()->barPos()==KToolBar::Top)
+ Y += vmw->toolBar()->height();
+
+ if (vmw->toolBar()->isVisible() && vmw->toolBar()->isEnabled() &&
+ vmw->toolBar()->barPos()==KToolBar::Left)
+ X += vmw->toolBar()->width();
+#endif //FEAT_TOOLBAR
+ if (sb->w->orientation() == Qt::Vertical) {
+ bool leftscroll=gui.which_scrollbars[SBAR_LEFT];
+ bool rightscroll=gui.which_scrollbars[SBAR_RIGHT];
+ if (x<20) leftscroll=true;
+ else rightscroll=true;
+ if (x<20) sb->w->setGeometry(X,y+Y,w,h);
+ else sb->w->setGeometry(vmw->width()-w-1+X, y+Y,w,h);
+ } else {
+ sb->w->setGeometry(x+X,y+Y,w,h);
+ }
+}//}}}
+
+/* SBAR_VERT or SBAR_HORIZ */
+ void
+gui_mch_create_scrollbar(scrollbar_T * sb, int orient)//{{{
+{
+ sbpool->create(sb,orient);
+ if (orient==SBAR_VERT)
+ gui.scrollbar_width = sb->w->sizeHint().width();
+ else
+ gui.scrollbar_height = sb->w->sizeHint().height();
+}//}}}
+
+ void
+gui_mch_destroy_scrollbar(scrollbar_T * sb)//{{{
+{
+ sbpool->destroy(sb);
+}//}}}
+
+#if defined(FEAT_BROWSE) || defined(PROTO)
+/*
+ * Implementation of the file selector related stuff
+ */
+
+/*
+ * Put up a file requester.
+ * Returns the selected name in allocated memory, or NULL for Cancel.
+ * saving, select file to write
+ * title title for the window
+ * dflt default name
+ * ext not used (extension added)
+ * initdir initial directory, NULL for current dir
+ * filter not used (file name filter)
+ */
+/*ARGSUSED*/
+char_u *
+gui_mch_browse(int saving,//{{{
+ char_u * title,
+ char_u * dflt,
+ char_u * ext,
+ char_u * initdir,
+ char_u * filter)
+{
+ char * filt_glob;
+ if (filter != (char_u *) 0x0 ) {
+ filter = vim_strsave(filter);
+ strtok((char *) filter, "(");
+ filt_glob = strtok(0L, ")");
+ } else
+ filt_glob = (char *) filter;
+
+ gui_mch_mousehide(FALSE);
+
+ QString s;
+ if (! saving)
+ s = KFileDialog::getOpenFileName( (char *) initdir, (char *) filt_glob, vmw, (char *) title );
+ else
+ s = KFileDialog::getSaveFileName( );
+
+ if (filter)
+ vim_free(filter);
+
+ if (s.isNull())
+ return NULL;
+ QCString unistring = vmw->codec->fromUnicode(s);
+ char_u * s2 = (char_u *)(const char*)unistring;
+ if (s2)
+ s2 = vim_strsave( s2 );
+
+ return s2;
+}//}}}
+
+#endif /* FEAT_BROWSE */
+
+#ifdef FEAT_GUI_DIALOG
+
+/* ARGSUSED */
+int
+gui_mch_dialog(int type, /* type of dialog *///{{{
+ char_u * title, /* title of dialog */
+ char_u * message, /* message text */
+ char_u * buttons, /* names of buttons */
+ int def_but, /* default button */
+ char_u *textfield)
+{
+ gui_mch_mousehide(FALSE);
+ VimDialog vd(type, title, message, buttons, def_but,textfield);
+ int ret = vd.exec();
+ return ret;
+}//}}}
+
+
+#endif /* FEAT_GUI_DIALOG */
+
+#if defined(FEAT_MENU) || defined(PROTO)
+ void
+gui_mch_show_popupmenu(vimmenu_T * menu)//{{{
+{
+ menu->widget->popup(QCursor::pos());
+}//}}}
+
+void
+gui_make_popup (char_u *pathname) {//{{{
+ vimmenu_T *menu = gui_find_menu(pathname);
+
+ if (menu != NULL) {
+ menu->widget->popup(QCursor::pos());
+ }
+}//}}}
+#endif
+
+
+
+/* Find and Replace implementations */
+ void
+gui_mch_find_dialog(exarg_T * eap)//{{{
+{
+ // char_u* entry_text;
+ //int exact_word=FALSE;
+ // entry_text = get_find_dialog_text(eap->arg,&exact_word);
+
+ vmw->finddlg->setCaseSensitive(true);
+
+ /* if(entry_text!=NULL) {
+ vmw->finddlg->setText(QString((char*)entry_text));
+ // exact match should go there, hopefully KDE old KEdFind/KEdReplace will be replaced in KDE 4 as pple wanted KDE 3's Find/Replace to be kept
+ }*/ // Don't use it, KDE keeps old search in memory and vim give \\Csearch, which is difficult to handle
+ // vim_free(entry_text);
+
+ vmw->finddlg->show();
+}//}}}
+
+ void
+gui_mch_replace_dialog(exarg_T * eap)//{{{
+{
+ // char_u* entry_text;
+ //int exact_word=FALSE;
+
+ // entry_text = get_find_dialog_text(eap->arg,&exact_word);
+
+ /* if(entry_text!=NULL) {
+ vmw->repldlg->setText(QString((char*)entry_text));
+ // exact match should go there, hopefully KDE old KEdFind/KEdReplace will be replaced in KDE 4 as pple wanted KDE 3's Find/Replace to be kept
+ }*/
+ //vim_free(entry_text);
+
+ vmw->repldlg->show();
+}//}}}
+
+ void
+ex_helpfind(exarg_T *eap)//{{{
+{
+ do_cmdline_cmd((char_u *)"emenu ToolBar.FindHelp");
+}//}}}
diff --git a/src/gui_kde_widget.cc b/src/gui_kde_widget.cc
new file mode 100644
index 000000000..c2e9e7ca8
--- /dev/null
+++ b/src/gui_kde_widget.cc
@@ -0,0 +1,1396 @@
+/* vi:set ts=8 sts=4 sw=4:
+ *
+ * VIM - Vi IMproved by Bram Moolenaar
+ *
+ * Do ":help uganda" in Vim to read copying and usage conditions.
+ * Do ":help credits" in Vim to see a list of people who contributed.
+ */
+
+/*
+ * Porting to KDE(2) was done by
+ *
+ * (C) 2000 by Thomas Capricelli <orzel@freehackers.org>
+ *
+ * Please visit http://freehackers.org/kvim for other vim- or
+ * kde-related coding.
+ *
+ * $Id$
+ *
+ */
+
+#include <assert.h>
+#include <qpainter.h>
+#include <qevent.h>
+#include <qpushbutton.h>
+#include <qscrollbar.h>
+#include <qlayout.h>
+#include <qclipboard.h>
+#include <qdragobject.h>
+#include <qstrlist.h>
+#include <qmenubar.h>
+#include <qtextcodec.h>
+#if QT_VERSION>=300
+#include <qptrlist.h>
+#include <ktip.h>
+#endif
+#include <kglobal.h>
+#include <kconfig.h>
+#include <kaboutapplication.h>
+#include <dcopclient.h>
+#include <kaboutkde.h>
+#include <kbugreport.h>
+#include <kurldrag.h>
+#include <kmenubar.h>
+#include <ktoolbar.h>
+#include <kstandarddirs.h>
+#include "gui_kde_widget.h"
+#include <qxembed.h>
+
+extern "C" {
+#include "version.h"
+}
+
+// Pixmap for dialog
+#ifdef FEAT_GUI_DIALOG
+# include "../../pixmaps/alert.xpm"
+# include "../../pixmaps/error.xpm"
+# include "../../pixmaps/generic.xpm"
+# include "../../pixmaps/info.xpm"
+# include "../../pixmaps/quest.xpm"
+#endif
+
+/**
+ * Keycodes recognized by vim.
+ */
+struct special_key {//{{{
+ int qtkey;
+ char_u code0;
+ char_u code1;
+} special_keys[] =
+{
+ { Qt::Key_Up, 'k', 'u' },
+ { Qt::Key_Down, 'k', 'd' },
+ { Qt::Key_Left, 'k', 'l' },
+ { Qt::Key_Right, 'k', 'r' },
+ { Qt::Key_F1, 'k', '1' },
+ { Qt::Key_F2, 'k', '2' },
+ { Qt::Key_F3, 'k', '3' },
+ { Qt::Key_F4, 'k', '4' },
+ { Qt::Key_F5, 'k', '5' },
+ { Qt::Key_F6, 'k', '6' },
+ { Qt::Key_F7, 'k', '7' },
+ { Qt::Key_F8, 'k', '8' },
+ { Qt::Key_F9, 'k', '9' },
+ { Qt::Key_F10, 'k', ';' },
+ { Qt::Key_F11, 'F', '1' },
+ { Qt::Key_F12, 'F', '2' },
+ { Qt::Key_F13, 'F', '3' },
+ { Qt::Key_F14, 'F', '4' },
+ { Qt::Key_F15, 'F', '5' },
+ { Qt::Key_F16, 'F', '6' },
+ { Qt::Key_F17, 'F', '7' },
+ { Qt::Key_F18, 'F', '8' },
+ { Qt::Key_F19, 'F', '9' },
+ { Qt::Key_F20, 'F', 'A' },
+ { Qt::Key_F21, 'F', 'B' },
+ { Qt::Key_F22, 'F', 'C' },
+ { Qt::Key_F23, 'F', 'D' },
+ { Qt::Key_F24, 'F', 'E' },
+ { Qt::Key_F25, 'F', 'F' },
+ { Qt::Key_F26, 'F', 'G' },
+ { Qt::Key_F27, 'F', 'H' },
+ { Qt::Key_F28, 'F', 'I' },
+ { Qt::Key_F29, 'F', 'J' },
+ { Qt::Key_F30, 'F', 'K' },
+ { Qt::Key_F31, 'F', 'L' },
+ { Qt::Key_F32, 'F', 'M' },
+ { Qt::Key_F33, 'F', 'N' },
+ { Qt::Key_F34, 'F', 'O' },
+ { Qt::Key_F35, 'F', 'P' },
+ { Qt::Key_Help, '%', '1' },
+ // { Qt::Key_Undo, '&', '8' }, <= hmmm ?
+ { Qt::Key_BackSpace, 'k', 'b' },
+ { Qt::Key_Insert, KS_EXTRA, KE_KINS },
+ { Qt::Key_Delete, KS_EXTRA, KE_KDEL },
+ { Qt::Key_Home, 'K', '1' },
+ { Qt::Key_End, 'K', '4' },
+ { Qt::Key_Prior, 'K', '3' },
+ { Qt::Key_Next, 'K', '5' },
+ { Qt::Key_Print, '%', '9' },
+
+ { Qt::Key_Plus, 'K', '6'},
+ { Qt::Key_Minus, 'K', '7'},
+ { Qt::Key_Slash, 'K', '8'},
+ { Qt::Key_multiply, 'K', '9'},
+ { Qt::Key_Enter, 'K', 'A'},
+ { Qt::Key_Period, 'K', 'B'},
+
+ { Qt::Key_0, 'K', 'C'},
+ { Qt::Key_1, 'K', 'D'},
+ { Qt::Key_2, 'K', 'E'},
+ { Qt::Key_3, 'K', 'F'},
+ { Qt::Key_4, 'K', 'G'},
+ { Qt::Key_5, 'K', 'H'},
+ { Qt::Key_6, 'K', 'I'},
+ { Qt::Key_7, 'K', 'J'},
+ { Qt::Key_8, 'K', 'K'},
+ { Qt::Key_9, 'K', 'L'},
+ /* End of list marker: */
+ { 0, 0, 0 }
+};//}}}
+
+#ifdef FEAT_CLIENTSERVER
+typedef int (*QX11EventFilter) (XEvent*);
+extern QX11EventFilter qt_set_x11_event_filter (QX11EventFilter filter);
+static QX11EventFilter oldFilter = 0;
+static int kvim_x11_event_filter( XEvent* e);
+#endif
+void gui_keypress(QKeyEvent *e);
+
+/*
+ * Return OK if the key with the termcap name "name" is supported.
+ */
+ int
+gui_mch_haskey(char_u * name)//{{{
+{
+ for (int i=0; special_keys[i].qtkey != 0; i++)
+ if (name[0] == special_keys[i].code0 &&
+ name[1] == special_keys[i].code1)
+ return OK;
+ return FAIL;
+}//}}}
+
+/*
+ * custom Frame for drawing ...
+ */
+void VimWidget::paintEvent( QPaintEvent *e)//{{{
+{
+ QRect r = e->rect();
+ gui_redraw(r.x(), r.y(), r.width(), r.height() );
+}//}}}
+
+void VimWidget::draw_string(int x, int y, QString s, int len, int flags)//{{{
+{
+ gui.current_font->setBold( flags & DRAW_BOLD );
+ gui.current_font->setUnderline( flags & DRAW_UNDERL );
+ gui.current_font->setItalic(flags & DRAW_ITALIC);
+ painter->setBackgroundMode( flags & DRAW_TRANSP ? Qt::TransparentMode : Qt::OpaqueMode);
+ painter->setFont( *(gui.current_font) );
+ painter->drawText( x, y, s, len);
+}//}}}
+
+void VimWidget::mousePressEvent(QMouseEvent *event)//{{{
+{
+ int button=0;
+ int modifiers=0;
+ ButtonState state = event->state();
+ ButtonState buttons = event->button();
+
+ //Look at button states
+ if(buttons & QMouseEvent::LeftButton) {
+ button|=MOUSE_LEFT;
+ }
+ if(buttons & QMouseEvent::RightButton) {
+ button|=MOUSE_RIGHT;
+ }
+ if(buttons & QMouseEvent::MidButton) {
+ button|=MOUSE_MIDDLE;
+ }
+ //Look for keyboard modifiers
+ if(state & QMouseEvent::ShiftButton) {
+ modifiers|=MOUSE_SHIFT;
+ }
+ if(state & QMouseEvent::ControlButton){
+ modifiers|=MOUSE_CTRL;
+ }
+ if(state & QMouseEvent::AltButton){
+ modifiers|=MOUSE_ALT;
+ }
+ gui_send_mouse_event(button,event->x(),event->y(),FALSE,modifiers);
+#if QT_VERSION>=300
+ QByteArray params;
+ QDataStream stream(params, IO_WriteOnly);
+ stream << kapp->dcopClient()->appId() << button << modifiers << gui.row << gui.col;
+ kapp->dcopClient()->emitDCOPSignal("mousePEvent(QCString,int,int,int,int)", params);
+#endif
+ event->accept();
+}//}}}
+
+#if defined(FEAT_SESSION)
+void VimMainWindow::saveGlobalProperties (KConfig *conf)
+{
+ //we write a mksession file to a file written in the user's ~/.kde/share/config/
+ //the name of the file in saved in 'conf'
+ //when restoring app, we source this file
+#if 0 //disabled for release
+ QString filename = KGlobal::dirs()->localkdedir() + KGlobal::dirs()->kde_default("config") + kapp->randomString(10);
+ QString cmd("mksession ");
+ cmd+=filename;
+ do_cmdline_cmd((char_u*)cmd.latin1());
+ conf->writePathEntry("sessionfile", filename);
+ conf->sync();
+#endif
+}
+
+void VimMainWindow::readGlobalProperties (KConfig *conf)
+{
+#if 0
+ QString filename = conf->readPathEntry("sessionfile");
+ if (filename.isNull()) return;
+ QString cmd("source ");
+ cmd+=filename;
+ do_cmdline_cmd((char_u*)cmd.latin1());
+#endif
+}
+#endif
+
+void VimMainWindow::wheelEvent (QWheelEvent *event)//{{{
+{
+ ButtonState state = event->state();
+ int button=0;
+ int modifiers=0;
+
+ if (event->delta()>0)
+ button|=MOUSE_4;
+ else button|=MOUSE_5;
+
+ if(state & ShiftButton)
+ modifiers|=MOUSE_SHIFT;
+ if(state & ControlButton)
+ modifiers|=MOUSE_CTRL;
+ if(state & AltButton)
+ modifiers|=MOUSE_ALT;
+
+ gui_send_mouse_event(button,event->x(),event->y(),FALSE,modifiers);
+#if QT_VERSION>=300
+ QByteArray params;
+ QDataStream stream(params, IO_WriteOnly);
+ stream << kapp->dcopClient()->appId() << button << modifiers << gui.row << gui.col;
+ kapp->dcopClient()->emitDCOPSignal("mouseWhlEvent(QCString, int, int,int,int)", params);
+#endif
+ event->accept();
+}//}}}
+
+void VimWidget::mouseDoubleClickEvent(QMouseEvent *event)//{{{
+{
+ ButtonState state = event->state();
+ ButtonState buttons = event->button();
+ int modifiers=0;
+ int button=0;
+
+ //Look at button states
+ if(buttons & LeftButton)
+ button|=MOUSE_LEFT;
+ if(buttons & RightButton)
+ button|=MOUSE_RIGHT;
+ if(buttons & MidButton)
+ button|=MOUSE_MIDDLE;
+
+ //Look for keyboard modifiers
+ if(state & ShiftButton)
+ modifiers|=MOUSE_SHIFT;
+ if(state & ControlButton)
+ modifiers|=MOUSE_CTRL;
+ if(state & AltButton)
+ modifiers|=MOUSE_ALT;
+
+ gui_send_mouse_event(button,event->x(),event->y(),TRUE,modifiers);
+#if QT_VERSION>=300
+ QByteArray params;
+ QDataStream stream(params, IO_WriteOnly);
+ stream << kapp->dcopClient()->appId() << button << modifiers << gui.row << gui.col;
+ kapp->dcopClient()->emitDCOPSignal("mouseDblClickEvent(QCString, int, int,int,int)", params);
+#endif
+ event->accept();
+}//}}}
+
+void VimWidget::mouseMoveEvent(QMouseEvent *event){//{{{
+ ButtonState state = event->state();
+ int modifiers=0;
+ int button=0;
+
+ gui_mch_mousehide(FALSE);
+
+ //Look at button states
+ //warning: we use state here, this is important !
+ if(state & QMouseEvent::LeftButton || state & QMouseEvent::RightButton || state & QMouseEvent::MidButton)
+ button|=MOUSE_DRAG;
+
+ //Look for keyboard modifiers
+ if(state & ShiftButton)
+ modifiers|=MOUSE_SHIFT;
+ if(state & ControlButton)
+ modifiers|=MOUSE_CTRL;
+ if(state & AltButton)
+ modifiers|=MOUSE_ALT;
+ if (button!=MOUSE_DRAG)
+ gui_mouse_moved(event->x(),event->y());
+ else
+ gui_send_mouse_event(MOUSE_DRAG,event->x(),event->y(),FALSE,modifiers);
+}//}}}
+
+void VimWidget::mouseReleaseEvent(QMouseEvent *event)//{{{
+{
+ ButtonState state = event->state();
+ int modifiers=0;
+
+ //Look for keyboard modifiers
+ if(state & ShiftButton)
+ modifiers|=MOUSE_SHIFT;
+ if(state & ControlButton)
+ modifiers|=MOUSE_CTRL;
+ if(state & AltButton)
+ modifiers|=MOUSE_ALT;
+
+ gui_send_mouse_event(MOUSE_RELEASE,event->x(),event->y(),FALSE,modifiers);
+ event->accept();
+}//}}}
+
+/*
+ * The main widget (everything but toolbar/menubar)
+ */
+ VimWidget::VimWidget( QWidget *parent, const char *name, WFlags f )//{{{
+:QWidget(parent, name, f)
+ ,DCOPObject("KVim")
+{
+ //to be able to show/hide the cursor when moving the mouse
+ setMouseTracking(true);
+ painter=new QPainter(this);
+
+ setKeyCompression(true);
+ setFocusPolicy( QWidget::StrongFocus );
+ setAcceptDrops(TRUE); // DND
+ blink_state = BLINK_NONE;
+ blink_on_time = 700;
+ blink_off_time = 400;
+ blink_wait_time = 250;
+ connect( &blink_timer, SIGNAL( timeout() ), SLOT( blink_cursor() ));
+ connect( &wait_timer, SIGNAL( timeout() ), SLOT ( wait_timeout() ));
+}//}}}
+
+void VimWidget::execNormal(QString command)//{{{
+{
+ QString cmd("execute 'normal ");
+ cmd+=command;
+ cmd+="'";
+ QCString unistring = vmw->codec->fromUnicode(cmd);
+ do_cmdline_cmd((char_u *)(const char*)unistring);
+ gui_update_screen();
+}//}}}
+
+void VimWidget::execInsert(QString command)//{{{
+{
+ QString cmd("execute 'normal i");
+ cmd+=command;
+ cmd+="'";
+ QCString unistring = vmw->codec->fromUnicode(cmd);
+ do_cmdline_cmd((char_u *)(const char*)unistring);
+ gui_update_screen();
+}//}}}
+
+void VimWidget::execRaw(QString command)//{{{
+{
+ QString cmd("execute '");
+ cmd+=command;
+ cmd+="'";
+ QCString unistring = vmw->codec->fromUnicode(cmd);
+ do_cmdline_cmd((char_u *)(const char*)unistring);
+ gui_update_screen();
+}//}}}
+
+void VimWidget::execCmd(QString command)//{{{
+{
+ QCString unistring = vmw->codec->fromUnicode(command);
+ do_cmdline_cmd((char_u *)(const char*)unistring);
+ gui_update_screen();
+}//}}}
+
+QString VimWidget::eval(QString expr)//{{{
+{
+#ifdef FEAT_EVAL
+ QCString unistring = vmw->codec->fromUnicode(expr);
+ QString val((const char *)eval_to_string((char_u *)(const char*)unistring,NULL));
+ return val;
+#else
+ return QString::null;
+#endif
+}//}}}
+
+void VimWidget::wait(long wtime)//{{{
+{
+ if ( wait_timer.isActive() ) wait_timer.stop();
+ wait_done = false;
+ wait_timer.start( wtime, true);
+}//}}}
+
+void VimWidget::wait_timeout() //{{{
+{
+ wait_done = true;
+}//}}}
+
+void VimWidget::dragEnterEvent (QDragEnterEvent *e)//{{{
+{
+#if (defined(FEAT_WINDOWS) && defined(HAVE_DROP_FILE)) || defined(PROTO)
+ e->accept(QUriDrag::canDecode(e));
+#else
+ e->ignore();
+#endif
+}//}}}
+
+void VimWidget::dropEvent (QDropEvent *e) // {{{
+{
+#if (defined(FEAT_WINDOWS) && defined(HAVE_DROP_FILE)) || defined(PROTO)
+ QStrList urls;
+
+ char_u **fnames;
+ int redo_dirs = FALSE;
+ int i;
+ int n;
+ int nfiles;
+ int url = FALSE;
+
+ /* Count how many items there may be and normalize delimiters. */
+
+ if (QUriDrag::decode(e, urls)) {
+ n = urls.count();
+ fnames = (char_u **)lalloc((n+1) * sizeof(char_u *), TRUE);
+ nfiles = 0;
+#if QT_VERSION>=300
+ QPtrListIterator<char> it(urls);
+ for( ; it.current(); ++it ) {
+ KURL u(*it);
+#else
+ for (i=0;i<urls.count();++i) {
+ KURL u(urls.at(i));
+#endif
+ if ( !u.isLocalFile() )
+ url = TRUE;
+ else {
+ fnames[nfiles] = (char_u *)strdup((const char *)u.path());
+ ++nfiles;
+ }
+ }
+ /* Real files (i.e. not http and not ftp) */
+ if (url == FALSE)
+ {
+ if (nfiles == 1)
+ {
+ if (mch_isdir(fnames[0]))
+ {
+ /* Handle dropping a directory on Vim. */
+ if (mch_chdir((char *)fnames[0]) == 0)
+ {
+ free(fnames[0]);
+ fnames[0] = NULL;
+ redo_dirs = TRUE;
+ }
+ }
+ } else {
+ /* Ignore any directories */
+ for (i = 0; i < nfiles; ++i)
+ {
+ if (mch_isdir(fnames[i]))
+ {
+ vim_free(fnames[i]);
+ fnames[i] = NULL;
+ }
+ }
+ }
+
+ if (0)
+ {
+ /* Shift held down, change to first file's directory */
+ if (fnames[0] != NULL && vim_chdirfile(fnames[0]) == OK)
+ redo_dirs = TRUE;
+ } else {
+ char_u dirname[MAXPATHL];
+ char_u *s;
+ if (mch_dirname(dirname, MAXPATHL) == OK)
+ for (i = 0; i < nfiles; ++i)
+ if (fnames[i] != NULL)
+ {
+ s = shorten_fname(fnames[i], dirname);
+ if (s != NULL && (s = vim_strsave(s)) != NULL)
+ {
+ vim_free(fnames[i]);
+ fnames[i] = s;
+ }
+ }
+ }
+ }
+
+ /* Handle the drop, :edit or :split to get to the file */
+ handle_drop(nfiles, fnames, FALSE);
+
+ if (redo_dirs)
+ shorten_fnames(TRUE);
+ }
+
+ /* Update the screen display */
+ update_screen(NOT_VALID);
+#ifdef FEAT_MENU
+ gui_update_menus(0);
+#endif
+ setcursor();
+ out_flush();
+ gui_update_cursor(FALSE, FALSE);
+ gui_mch_flush();
+#endif
+} // }}}
+
+void VimWidget::keyPressEvent( QKeyEvent *e ) // {{{
+{
+ gui_keypress(e);
+} // }}}
+
+void gui_keypress(QKeyEvent *e) { // {{{
+ int key = (int)e->key();
+ int modifiers = 0,i;
+ uchar string[256],string2[256];
+ uchar *s,*d;
+ Qt::ButtonState state = e->state();
+
+ QCString unistring = vmw->codec->fromUnicode(e->text());
+ if (unistring.length()>0)
+ strncpy((char*)string, (const char*)unistring,unistring.length());
+ string[unistring.length()] = 0;
+ int len=unistring.length();
+
+ // ignore certain keys
+ if (key == Qt::Key_Shift || key == Qt::Key_Alt || key == Qt::Key_Control || key == Qt::Key_Meta
+ || key == Qt::Key_CapsLock || key == Qt::Key_NumLock || key == Qt::Key_ScrollLock ) {
+ e->ignore();
+ return;
+ }
+
+#ifdef FEAT_MBYTE
+ if (input_conv.vc_type != CONV_NONE)
+ {
+ mch_memmove(string2, string, len);
+ len = convert_input(string2, len, sizeof(string2));
+ s = string2;
+ }
+ else
+#endif
+ s = string;
+ d = string;
+ for (i = 0; i < len; ++i)
+ {
+ *d++ = s[i];
+ if (d[-1] == CSI && d + 2 < string + sizeof(string))
+ {
+ /* Turn CSI into K_CSI. */
+ *d++ = KS_EXTRA;
+ *d++ = (int)KE_CSI;
+ }
+ }
+ len = d - string;
+
+
+ // change shift-tab (backtab) into S_TAB
+ if ( key == Qt::Key_BackTab && state & Qt::ShiftButton) {
+ key = Qt::Key_Tab;
+ }
+
+ // Change C-@ and C-2 in NUL ? Gtk does this
+ if ( (key == Qt::Key_2 || key == Qt::Key_At)
+ && state & Qt::ControlButton ) {
+ string[0] = NUL;
+ len = 1;
+ }
+ else if (len == 0 && (key == Qt::Key_Space || key == Qt::Key_Tab))
+ {
+ /* When there are modifiers, these keys get zero length; we need the
+ * original key here to be able to add a modifier below. */
+ string[0] = (key & 0xff);
+ len = 1;
+ }
+ /* Check for Alt/Meta key (Mod1Mask), but not for a BS, DEL or character
+ * that already has the 8th bit set.
+ * Don't do this for <S-M-Tab>, that should become K_S_TAB with ALT. */
+ if (len == 1
+ && (key != Qt::Key_BackSpace && key != Qt::Key_Delete)
+ && (string[0] & 0x80) == 0
+ && (state & Qt::AltButton)
+ && !(key == Qt::Key_Tab && (state & Qt::ShiftButton)))
+ {
+ string[0] |= 0x80;
+#ifdef FEAT_MBYTE
+ if (enc_utf8) // convert to utf-8
+ {
+ string[1] = string[0] & 0xbf;
+ string[0] = ((unsigned)string[0] >> 6) + 0xc0;
+ if (string[1] == CSI)
+ {
+ string[2] = KS_EXTRA;
+ string[3] = (int)KE_CSI;
+ len = 4;
+ }
+ else
+ len = 2;
+ }
+#endif
+ }
+
+ /* Check for special keys, making sure BS and DEL are recognised. */
+ if (len == 0 || key == Qt::Key_BackSpace || key == Qt::Key_Delete)
+ {
+ while (special_keys[i].qtkey != 0 && special_keys[i].qtkey != key ) i++;
+ if (special_keys[i].qtkey != 0) {
+ string[0] = CSI;
+ string[1] = special_keys[i].code0;
+ string[2] = special_keys[i].code1;
+ len = -3;
+ }
+/*
+ for (i = 0; special_keys[i].qtkey != 0 ; i++)
+ {
+ if (special_keys[i].qtkey == key ) {
+ string[0] = CSI;
+ string[1] = special_keys[i].code0;
+ string[2] = special_keys[i].code1;
+ len = -3;
+ break;
+ }
+ }*/
+ }
+
+ if (len == 0) {
+ //no need to dump that, that's a QT problem, we can't do anything
+ //dbf("Unrecognised Key : %X %s", key, e->text().latin1());
+ e->ignore();
+ return;
+ }
+
+
+ /* Special keys (and a few others) may have modifiers */
+ if (len == -3 || key == Qt::Key_Space || key == Qt::Key_Tab ||
+ key == Qt::Key_Return || key == Qt::Key_Enter ||
+ key == Qt::Key_Escape) {
+
+ modifiers = 0;
+ if (state & Qt::ShiftButton) modifiers |= MOD_MASK_SHIFT;
+ if (state & Qt::ControlButton) modifiers |= MOD_MASK_CTRL;
+ if (state & Qt::AltButton) modifiers |= MOD_MASK_ALT;
+
+ /*
+ * For some keys a shift modifier is translated into another key
+ * code. Do we need to handle the case where len != 1 and
+ * string[0] != CSI?
+ */
+ if (len == -3)
+ key = TO_SPECIAL(string[1], string[2]);
+ else
+ key = string[0];
+
+ key = simplify_key(key, &modifiers);
+ if (key == CSI) key=K_CSI;
+
+ if (IS_SPECIAL(key)) {
+ string[0] = CSI;
+ string[1] = K_SECOND(key);
+ string[2] = K_THIRD(key);
+ len = 3;
+ } else {
+ string[0] = key;
+ len = 1;
+ }
+
+
+ if (modifiers!=0) {
+ uchar string2[10];
+ string2[0] = CSI;
+ string2[1] = KS_MODIFIER;
+ string2[2] = modifiers;
+ add_to_input_buf(string2, 3);
+ }
+
+ } /* special keys */
+
+ if (len == 1 && ((string[0] == Ctrl_C && ctrl_c_interrupts)
+ || (string[0] == intr_char && intr_char != Ctrl_C)))
+ {
+ trash_input_buf();
+ got_int = TRUE;
+ }
+
+ add_to_input_buf(string, len);
+ if (p_mh) {
+ gui_mch_mousehide(TRUE);
+ }
+ //DCOP Embedding stuff
+ //if we are here then the user has type something in the window, thus we can easily imagine that :
+ // 1 - text has changed (emit textChanged())
+ // 2 - characters were interactively inserted (emit charactersInteractivelyInserted())
+ // 3 - cursor position has changed ( emit cursorPositionChanged() )
+ // 4 - selection has changed ? dunno yet //XXX
+ // 5 - undo changed too ? (each character typed in makes the undo changes anyway)
+ // conclusion : this makes a lot of things to send to the vim kpart, maybe too much
+ // for now i'll just send : keyboardEvent to the kpart with the event string as parameter,
+ // with current current position
+ // i'll do the same for mouseEvents
+#if QT_VERSION>=300
+ QByteArray params;
+ QDataStream stream(params, IO_WriteOnly);
+ stream << kapp->dcopClient()->appId() << unistring << gui.row << gui.col;
+ kapp->dcopClient()->emitDCOPSignal("keyboardEvent(QCString, QCString,int,int)", params);
+#endif
+ e->ignore();
+} // }}}
+
+#ifdef FEAT_CLIENTSERVER
+void VimWidget::serverActivate(WId id) //{{{
+{
+ if (serverName == NULL && serverDelayedStartName != NULL) {
+ commWindow = id;
+ (void)serverRegisterName(qt_xdisplay(), serverDelayedStartName);
+ } else {
+ serverChangeRegisteredWindow( qt_xdisplay(), id );
+ }
+}//}}}
+#endif
+
+#ifdef FEAT_XIM
+void VimWidget::imStartEvent(QIMEvent *e) {
+ e->accept();
+}
+
+void VimWidget::imEndEvent(QIMEvent *e) {
+ uchar string[256];
+
+ QCString unistring = vmw->codec->fromUnicode(e->text());
+ if (unistring.length()>0)
+ strncpy((char*)string, (const char*)unistring,unistring.length());
+ string[unistring.length()] = 0;
+ int len=unistring.length();
+
+ add_to_input_buf(string, len);
+ e->accept();
+}
+
+void VimWidget::imComposeEvent(QIMEvent *e) {
+ //i should do something here, displaying the text somewhere ... (status area ?)
+ e->accept();
+}
+#endif
+
+
+void VimMainWindow::lock()
+{
+ locked=true;
+}
+
+void VimMainWindow::unlock()
+{
+ locked=false;
+}
+
+bool VimMainWindow::isLocked()
+{
+ return locked;
+}
+
+// ->resize VimWidget if not locked
+//
+void VimMainWindow::resizeEvent ( QResizeEvent *e ) //{{{
+{
+ if ( vmw->isLocked() ) return;
+ //remove toolbar and menubar height
+ int height = e->size().height();
+ int width = e->size().width();
+
+ if (vmw->menuBar()->isVisible() && vmw->menuBar()->isEnabled()
+#if QT_VERSION>=300
+ && !vmw->menuBar()->isTopLevelMenu()
+#endif
+ )
+ height -= vmw->menuBar()->height();
+#ifdef FEAT_TOOLBAR
+ if (vmw->toolBar()->isVisible() && vmw->toolBar()->isEnabled() &&
+ (vmw->toolBar()->barPos()==KToolBar::Top ||
+ vmw->toolBar()->barPos()==KToolBar::Bottom))
+ height -= vmw->toolBar()->height();
+
+ if (vmw->toolBar()->isVisible() && vmw->toolBar()->isEnabled() &&
+ (vmw->toolBar()->barPos()==KToolBar::Left ||
+ vmw->toolBar()->barPos()==KToolBar::Right))
+ width -= vmw->toolBar()->width();
+#endif
+ height = ( ((int)(height/gui.char_height))*gui.char_height );
+ if (!vmw->isLocked()) gui_resize_shell(width,height);
+}//}}}
+
+void VimWidget::focusInEvent( QFocusEvent * fe ) // {{{
+{
+ gui_focus_change(true);
+
+ if (blink_state == BLINK_NONE)
+ gui_mch_start_blink();
+} // }}}
+
+void VimWidget::focusOutEvent( QFocusEvent * fe )//{{{
+{
+ gui_focus_change(false);
+
+ if (blink_state != BLINK_NONE)
+ gui_mch_stop_blink();
+}//}}}
+
+void VimWidget::set_blink_time( long wait, long on, long off)//{{{
+{
+ blink_wait_time = wait;
+ blink_on_time = on;
+ blink_off_time = off;
+}//}}}
+
+void VimWidget::start_cursor_blinking()//{{{
+{
+ if (blink_timer.isActive()) blink_timer.stop();
+
+ /* Only switch blinking on if none of the times is zero */
+ if (blink_wait_time && blink_on_time && blink_off_time && gui.in_focus) {
+ blink_state = BLINK_ON;
+ gui_update_cursor(TRUE, FALSE);
+ // The first blink appears after wait_time
+ blink_timer.start( blink_wait_time, true);
+ }
+}//}}}
+
+void VimWidget::blink_cursor()//{{{
+{
+ if (blink_state == BLINK_ON) {
+ // set cursor off
+ gui_undraw_cursor();
+ blink_state = BLINK_OFF;
+ blink_timer.start( blink_off_time, true);
+ } else {
+ // set cursor on
+ gui_update_cursor(TRUE, FALSE);
+ blink_state = BLINK_ON;
+ blink_timer.start( blink_on_time, true);
+ }
+}//}}}
+
+void VimWidget::stop_cursor_blinking()//{{{
+{
+ if (blink_timer.isActive()) blink_timer.stop();
+
+ if (blink_state == BLINK_OFF)
+ gui_update_cursor(TRUE, FALSE);
+
+ blink_state = BLINK_NONE;
+}//}}}
+
+void VimWidget::flash()//{{{
+{
+ QPainter p(this);
+
+ p.setRasterOp(Qt::XorROP);
+ p.fillRect(geometry(),QColor(0xFF,0xFF,0xFF));
+ p.flush();
+ //FIXME: Make this a little smarter. Maybe add a timer or something
+ usleep(19000);
+ p.fillRect(geometry(),QColor(0xFF,0xFF,0xFF));
+ p.flush();
+ p.end();
+}//}}}
+
+
+/*
+ * The main Window
+ */
+ VimMainWindow::VimMainWindow ( const char *name , WFlags f)//{{{
+:KMainWindow(0L, name,f)
+{
+#ifdef FEAT_CLIENTSERVER
+ oldFilter = qt_set_x11_event_filter( kvim_x11_event_filter );
+#endif
+ if (echo_wid_arg== 1) {
+ fprintf(stderr, "WID: %ld\n", (long)winId());
+ fflush(stderr);
+ }
+
+ w = new VimWidget(this, "main vim widget");
+ gui.w = w;
+ setFocusProxy(w);
+ w->setFocus();
+ have_tearoff=0;
+
+ finddlg=new KEdFind (this,0,false);
+ repldlg=new KEdReplace (this,0,false);
+ QObject::connect( finddlg, SIGNAL(search()), this, SLOT(slotSearch()) );
+ QObject::connect( repldlg, SIGNAL(find()), this, SLOT(slotFind()) );
+ QObject::connect( repldlg, SIGNAL(replace()), this, SLOT(slotReplace()) );
+ QObject::connect( repldlg, SIGNAL(replaceAll()), this, SLOT(slotReplaceAll()) );
+
+#ifdef FEAT_TOOLBAR
+ connect(toolBar(), SIGNAL(clicked(int)), this, SLOT(menu_activated(int)));
+#endif
+#ifdef FEAT_CLIENTSERVER
+ w->serverActivate(winId());
+
+ if (serverName!=NULL)
+ kapp->dcopClient()->registerAs(QCString((const char*)serverName),false);
+ else if (serverDelayedStartName!=NULL)
+ kapp->dcopClient()->registerAs(QCString((const char*)serverDelayedStartName),false);
+ else if (argServerName!=NULL)
+ kapp->dcopClient()->registerAs(argServerName->utf8(),false);
+#else
+ if (argServerName!=NULL)
+ kapp->dcopClient()->registerAs(argServerName->utf8(),false);
+#endif
+ QXEmbed::initialize();
+
+}//{{{
+
+bool VimMainWindow::queryClose()//{{{
+{
+ gui_shell_closed();
+ return true;
+}//}}}
+
+bool VimMainWindow::queryExit()//{{{
+{
+ return true;
+}//}}}
+
+void VimMainWindow::menu_activated(int dx)//{{{
+{
+#ifdef FEAT_MENU
+ if (!dx) { // tearoff
+ return;
+ }
+ gui_mch_set_foreground();
+ gui_menu_cb((VimMenu *) dx);
+#endif
+}//}}}
+
+
+void VimMainWindow::clipboard_selection_update(){//{{{
+ if(kapp->clipboard()->ownsSelection()) {
+ clip_own_selection(&clip_star);
+ } else {
+ clip_lose_selection(&clip_star);
+ }
+}//}}}
+
+void VimMainWindow::clipboard_data_update(){//{{{
+#if QT_VERSION>=300
+ if (kapp->clipboard()->ownsClipboard()) {
+ clip_own_selection(&clip_plus);
+ } else {
+ clip_lose_selection(&clip_plus);
+ }
+#else
+ if (kapp->clipboard()->ownsSelection()) {
+ clip_own_selection(&clip_star);
+ } else {
+ clip_lose_selection(&clip_star);
+ }
+#endif
+}//}}}
+
+void VimMainWindow::slotSearch()//{{{
+{
+ QString find_text;
+ bool direction_down = TRUE;
+ bool casesensitive = TRUE;
+ int flags = FRD_FINDNEXT;
+
+ find_text = finddlg->getText();
+ direction_down = !(finddlg->get_direction());
+ casesensitive = finddlg->case_sensitive();
+ // if (casesensitive) find_text = "\\C" + find_text;
+ // else find_text = "\\c" + find_text;
+ if (casesensitive) flags|=FRD_MATCH_CASE;
+ QCString unistring = vmw->codec->fromUnicode(find_text);
+ gui_do_findrepl(flags, (char_u *)(const char *)unistring, NULL,(int)direction_down);
+}//}}}
+
+void VimMainWindow::slotFind()//{{{
+{
+ QString find_text;
+ bool direction_down=TRUE;
+ bool casesensitive = TRUE;
+ int flags = FRD_R_FINDNEXT;
+
+ find_text=repldlg->getText();
+ direction_down = !(repldlg->get_direction());
+ casesensitive = repldlg->case_sensitive();
+ // if (casesensitive) find_text = "\\C" + find_text;
+ // else find_text = "\\c" + find_text;
+ if (casesensitive) flags|=FRD_MATCH_CASE;
+
+ QCString unistring = vmw->codec->fromUnicode(find_text);
+ gui_do_findrepl(flags, (char_u *)(const char *)unistring, NULL,(int)direction_down);
+}//}}}
+
+void VimMainWindow::slotReplace()//{{{
+{
+ QString find_text;
+ QString repl_text;
+ bool direction_down=TRUE;
+ bool casesensitive = TRUE;
+ int flags = FRD_REPLACE;
+
+ find_text=repldlg->getText();
+ repl_text=repldlg->getReplaceText();
+ direction_down = !(repldlg->get_direction());
+ //if (casesensitive) find_text = "\\C" + find_text;
+ //else find_text = "\\c" + find_text;
+ if (casesensitive) flags|=FRD_MATCH_CASE;
+
+ QCString unistring = vmw->codec->fromUnicode(find_text);
+ QCString unistring2 = vmw->codec->fromUnicode(repl_text);
+ gui_do_findrepl(flags, (char_u *)(const char *)unistring,(char_u *)(const char*)unistring2,(int)direction_down);
+}//}}}
+
+void VimMainWindow::slotReplaceAll()//{{{
+{
+ QString find_text;
+ QString repl_text;
+ bool direction_down=TRUE;
+ bool casesensitive = TRUE;
+ int flags = FRD_REPLACEALL;
+
+ find_text=repldlg->getText();
+ repl_text=repldlg->getReplaceText();
+ direction_down = !(repldlg->get_direction());
+ casesensitive = repldlg->case_sensitive();
+ // if (casesensitive) find_text = "\\C" + find_text;
+ // else find_text = "\\c" + find_text;
+ if (casesensitive) flags|=FRD_MATCH_CASE;
+ QCString unistring = vmw->codec->fromUnicode(find_text);
+ QCString unistring2 = vmw->codec->fromUnicode(repl_text);
+ gui_do_findrepl(flags, (char_u *)(const char *)unistring,(char_u *)(const char*)unistring2,(int)direction_down);
+}//}}}
+
+void VimMainWindow::showAboutKDE()
+{
+ KAboutKDE *kde = new KAboutKDE(this);
+ kde->show();
+}
+
+void VimMainWindow::showAboutApplication()//{{{
+{
+ KAboutData *aboutData = new KAboutData (
+ "kvim"
+ , I18N_NOOP("KVim")
+ , VIM_VERSION_SHORT
+ , I18N_NOOP("Vim in a KDE interface")
+ , 0
+ , "(c) Vim Team, \":help credits\" for more infos.\nType \":help iccf\" to see how you can help the children in Uganda"
+ , 0l
+ , "http://freehackers.org/kvim"
+ , "kvim-dev@freenux.org"
+ );
+
+ aboutData->addAuthor("Bram Moolenaar",
+ I18N_NOOP("Main vim author"),
+ "Bram@vim.org",
+ "http://www.vim.org/");
+ aboutData->addAuthor("Thomas Capricelli",
+ I18N_NOOP("KDE porting"),
+ "orzel@freehackers.org",
+ "http://orzel.freehackers.org");
+ aboutData->addAuthor("Philippe Fremy",
+ I18N_NOOP("KDE porting"),
+ "pfremy@chez.com",
+ "http://www.freehackers.org/kvim");
+ aboutData->addAuthor("Mark Westcott",
+ I18N_NOOP("Qtopia porting, maintainer of the Qtopia part"),
+ "mark@houseoffish.org",
+ "http://houseoffish.org");
+ aboutData->addAuthor("Mickael Marchand",
+ I18N_NOOP("KDE porting, maintainer"),
+ "marchand@kde.org",
+ "http://freenux.org");
+ aboutData->addAuthor("Many other people",
+ I18N_NOOP("type :help credits for more infos")
+ );
+ aboutData->addCredit("Vince Negri",
+ I18N_NOOP("Antialiasing support, Color fixes"),
+ "vnegri@asl-electronics.co.uk");
+ aboutData->addCredit("Malte Starostik",
+ I18N_NOOP("Patch for performance improvement"),
+ "malte@kde.org");
+ aboutData->addCredit("Mark Stosberg",
+ I18N_NOOP("Provided a FreeBSD box to debug KVim on BSD"),
+ "mark@summersault.com"
+ );
+ aboutData->addCredit("Henrik Skott",
+ I18N_NOOP("Font patch when KDE not configured"),
+ "henrik.skott@hem.utfors.se"
+ );
+ aboutData->addCredit("Kailash Sethuraman",
+ I18N_NOOP("NetBSD configure/compilation fixes")
+ );
+ aboutData->setLicenseText(
+"KVim as an extension of Vim follows Vim license : \n\
+Vim is Charityware. You can use and copy it as much as you like, but you are\n\
+encouraged to make a donation to orphans in Uganda. Please read the file\n\
+runtime/doc/uganda.txt for details.\n\
+\n\
+There are no restrictions on distributing an unmodified copy of Vim. Parts of\n\
+Vim may also be distributed, but this text must always be included. You are\n\
+allowed to include executables that you made from the unmodified Vim sources,\n\
+your own usage examples and Vim scripts.\n\
+\n\
+If you distribute a modified version of Vim, you are encouraged to send the\n\
+maintainer a copy, including the source code. Or make it available to the\n\
+maintainer through ftp; let him know where it can be found. If the number of\n\
+changes is small (e.g., a modified Makefile) e-mailing the diffs will do.\n\
+When the maintainer asks for it (in any way) you must make your changes,\n\
+including source code, available to him.\n\
+\n\
+The maintainer reserves the right to include any changes in the official\n\
+version of Vim. This is negotiable. You are not allowed to distribute a\n\
+modified version of Vim when you are not willing to make the source code\n\
+available to the maintainer.\n\
+\n\
+The current maintainer is Bram Moolenaar <Bram@vim.org>. If this changes, it\n\
+will be announced in appropriate places (most likely www.vim.org and\n\
+comp.editors). When it is completely impossible to contact the maintainer,\n\
+the obligation to send him modified source code ceases.\n\
+\n\
+It is not allowed to remove these restrictions from the distribution of the\n\
+Vim sources or parts of it. These restrictions may also be used for previous\n\
+Vim releases instead of the text that was included with it.");
+
+ KAboutApplication *about = new KAboutApplication(aboutData);
+ about->show();
+}//}}}
+
+void VimMainWindow::showTipOfTheDay() {
+#if QT_VERSION>=300
+ KTipDialog::showTip (vmw,QString::null,true);
+#endif
+}
+
+void VimMainWindow::buffersToolbar() {
+
+}
+
+void VimMainWindow::showBugReport() {
+ KBugReport *bug= new KBugReport(this,true);
+ bug->show();
+}
+/*
+ * Vim Dialog
+ *
+ * Returns:
+ * 0: Cancel
+ * 1- : nb of the pressed button
+ */
+
+VimDialog::VimDialog (int type, /* type of dialog *///{{{
+ char_u * title, /* title of dialog */
+ char_u * message, /* message text */
+ char_u * buttons, /* names of buttons */
+ int def_but, /* default button */
+ char_u *textfield ) /* input field */
+:QDialog(vmw, "vim generic dialog", true), // true is for "modal"
+ mapper(this, "dialog signal mapper")
+{
+ /*
+ * Create Icon
+ */
+ char ** icon_data;
+ switch (type) {
+ case VIM_GENERIC:
+ icon_data = generic_xpm;
+ break;
+ case VIM_ERROR:
+ icon_data = error_xpm;
+ break;
+ case VIM_WARNING:
+ icon_data = alert_xpm;
+ break;
+ case VIM_INFO:
+ icon_data = info_xpm;
+ break;
+ case VIM_QUESTION:
+ icon_data = quest_xpm;
+ break;
+ default:
+ icon_data = generic_xpm;
+ };
+ QLabel * icon = new QLabel( this );
+ icon->setPixmap( QPixmap( (const char **) icon_data ) );
+ icon->setFixedSize( icon->sizeHint() );
+
+ QLabel * text = new QLabel( (const char *)message, this );
+ text->setAlignment( AlignHCenter | AlignVCenter | ExpandTabs );
+
+ QStringList buttonText = QStringList::split( DLG_BUTTON_SEP, (char *) buttons);
+ int butNb = buttonText.count();
+
+ /*
+ * Layout
+ */
+
+ QVBoxLayout * vly = new QVBoxLayout( this, 5, 5 );
+ QHBoxLayout * hly1 = new QHBoxLayout( vly, 5);
+ hly1->addWidget( icon );
+ hly1->addWidget( text );
+ QHBoxLayout * hly3 = new QHBoxLayout ( vly , 5);
+ if (textfield!=NULL) {
+ entry = new QLineEdit((const char *)textfield,this);
+ entry->setText((const char *)textfield);
+ hly3->addWidget( entry );
+ ret=textfield;
+ } else entry=NULL;
+
+ QHBoxLayout * hly2 = new QHBoxLayout( vly, 15);
+ QString s;
+ QPushButton * pushButton = 0L;
+ for( int i=0; i<butNb; i++) {
+ s = buttonText[i];
+ pushButton = new QPushButton(s, this );
+ if (s.find('&') != -1) {
+ pushButton->setAccel( s.at(s.find('&')+1).latin1() );
+ }
+
+ hly2->addWidget( pushButton );
+ if (i == def_but-1) {
+ pushButton->setDefault( true );
+ pushButton->setAutoDefault( true );
+ setResult( i+1 );
+ }
+ connect(pushButton, SIGNAL(clicked()), &mapper, SLOT(map()));
+ mapper.setMapping(pushButton, i+1);
+ }
+ connect( &mapper, SIGNAL(mapped(int)), this, SLOT(done(int)));
+
+ setCaption((const char *) title);
+
+ vly->activate();
+}//}}}
+
+void VimDialog::done(int r) {
+ if (entry!=NULL) {
+ if (r) {
+ QCString unistring=vmw->codec->fromUnicode(entry->text());
+ STRCPY(ret,(const char*)unistring);
+ } else
+ *ret=NUL;
+ }
+ QDialog::done(r);
+}
+
+/*
+ * ScrollBar pool handling
+ */
+SBPool::SBPool(void)//{{{
+ :mapper(this, "SBPool signal mapper")
+{
+ connect(&mapper, SIGNAL(mapped(int)), this, SLOT(sbUsed(int)));
+}//}}}
+
+
+void SBPool::create(GuiScrollbar * sb, int orient)//{{{
+{
+ switch(orient) {
+ case SBAR_HORIZ:
+ sb->w = new QScrollBar(QScrollBar::Horizontal, vmw);
+ break;
+ case SBAR_VERT:
+ sb->w = new QScrollBar(QScrollBar::Vertical, vmw);
+ break;
+ default:
+ sb->w = 0;
+ return;
+ }
+
+ connect(sb->w, SIGNAL(valueChanged(int)), &mapper, SLOT(map()));
+ mapper.setMapping(sb->w, (int)sb);
+}//}}}
+
+
+void SBPool::sbUsed(int who)//{{{
+{
+ GuiScrollbar *sb = (GuiScrollbar*)who;
+ gui_drag_scrollbar( sb, sb->w->value(), FALSE);
+}//}}}
+
+
+void SBPool::destroy(GuiScrollbar * sb)//{{{
+{
+ if (!sb->w) return;
+
+ delete sb->w;
+ sb->w = 0;
+}//}}}
+
+#ifdef FEAT_CLIENTSERVER
+static int kvim_x11_event_filter( XEvent* e)//{{{
+{
+ if (e->xproperty.type == PropertyNotify
+ && e->xproperty.atom == commProperty
+ && e->xproperty.window == commWindow
+ && e->xproperty.state == PropertyNewValue ) {
+ serverEventProc(qt_xdisplay(), e);
+ }
+
+ if (oldFilter) return oldFilter( e );
+ return FALSE;
+}//}}}
+#endif
+
+//add some QT 3 fonts usefull functions
+#if QT_VERSION<300
+QString KVimUtils::toString(QFont *f)
+{
+ QStringList l;
+ l.append(f->family());
+ l.append(QString::number(f->pointSize()));
+ l.append(QString::number(f->pixelSize()));
+ l.append(QString::number((int)f->styleHint()));
+ l.append(QString::number(f->weight()));
+ l.append(QString::number((int)f->italic()));
+ l.append(QString::number((int)f->underline()));
+ l.append(QString::number((int)f->strikeOut()));
+ l.append(QString::number((int)f->fixedPitch()));
+ l.append(QString::number((int)f->rawMode()));
+ return l.join(",");
+}
+
+bool KVimUtils::fromString(QFont *f, QString descrip)
+{
+ QStringList l(QStringList::split(',', descrip));
+
+ int count = l.count();
+ if (count != 10 && count != 9) {
+ return FALSE;
+ }
+
+ f->setFamily(l[0]);
+ f->setPointSize(l[1].toInt());
+ if ( count == 9 ) {
+ f->setStyleHint((QFont::StyleHint) l[2].toInt());
+ f->setWeight(l[3].toInt());
+ f->setItalic(l[4].toInt());
+ f->setUnderline(l[5].toInt());
+ f->setStrikeOut(l[6].toInt());
+ f->setFixedPitch(l[7].toInt());
+ f->setRawMode(l[8].toInt());
+ } else {
+ f->setPixelSize(l[2].toInt());
+ f->setStyleHint((QFont::StyleHint) l[3].toInt());
+ f->setWeight(l[4].toInt());
+ f->setItalic(l[5].toInt());
+ f->setUnderline(l[6].toInt());
+ f->setStrikeOut(l[7].toInt());
+ f->setFixedPitch(l[8].toInt());
+ f->setRawMode(l[9].toInt());
+ }
+ return TRUE;
+}
+#endif
+
+QString KVimUtils::convertEncodingName(QString name)
+{
+ if (name.startsWith("ucs") || name.startsWith("utf-16")) return QString("utf16");
+ if (name=="cp950") return QString("Big5");
+ return QString();
+}
diff --git a/src/gui_kde_widget.h b/src/gui_kde_widget.h
new file mode 100644
index 000000000..f2e9c3f85
--- /dev/null
+++ b/src/gui_kde_widget.h
@@ -0,0 +1,234 @@
+/* vi:set ts=8 sts=0 sw=8:
+ *
+ * VIM - Vi IMproved by Bram Moolenaar
+ *
+ * Do ":help uganda" in Vim to read copying and usage conditions.
+ * Do ":help credits" in Vim to see a list of people who contributed.
+ */
+
+/*
+ * Porting to KDE(2) was done by
+ *
+ * (C) 2000 by Thomas Capricelli <orzel@freehackers.org>
+ *
+ * Please visit http://freehackers.org/kvim for other vim- or
+ * kde-related coding.
+ *
+ * $Id$
+ *
+ */
+
+#ifndef GUI_KDE_WIDGET
+#define GUI_KDE_WIDGET
+
+#if 1
+#define dbf( format, args... ) { printf( "%s" " : " format "\n" , __FUNCTION__ , ## args ); fflush(stdout); }
+#define db() { printf( "%s\n", __FUNCTION__ );fflush(stdout); }
+#else
+#define dbf(format, args... )
+#define db()
+#endif
+
+#define UNIX // prevent a warning : a symbol is defined twice in X and Qt
+
+#include <qdialog.h>
+#include <qlabel.h>
+#include <qsignalmapper.h>
+#include <qtimer.h>
+#include <qmainwindow.h>
+#include <qapplication.h>
+#include <qevent.h>
+#include <qlineedit.h>
+#include <qpainter.h>
+#include <qwidget.h>
+#include <qpopupmenu.h>
+#include <klocale.h>
+#include <kapp.h>
+#include <kcmdlineargs.h>
+#include <kaboutdata.h>
+#include <keditcl.h>
+#include <kaboutdata.h>
+#if (KDE_VERSION>=290)
+#include <kmainwindow.h>
+#else
+#include <ktmainwindow.h>
+#endif
+#include <kparts/part.h>
+#include <kurl.h>
+#include "kvim_iface.h"
+
+#undef UNIX // prevent a warning
+extern "C" {
+#include "vim.h"
+}
+
+class QPushButton;
+class QDialog;
+class QLineEdit;
+class QSignalMapper;
+class QPaintEvent;
+
+enum BlinkState {
+ BLINK_NONE,
+ BLINK_ON,
+ BLINK_OFF
+};
+
+class VimWidget : public QWidget, virtual public KVim
+{
+ Q_OBJECT
+
+public:
+ VimWidget( QWidget *parent=0, const char *name=0, WFlags f=0 );
+ virtual void paintEvent( QPaintEvent *);
+ void draw_string(int x, int y, QString s, int len, int flags);
+
+ /** Init the blinking time */
+ void set_blink_time( long, long, long );
+ void start_cursor_blinking();
+ void stop_cursor_blinking();
+ void wait(long);
+#ifdef FEAT_CLIENTSERVER
+ void serverActivate(WId id);
+#endif
+ void flash();
+
+ /** DCOP */
+ void execNormal(QString command);
+ void execInsert(QString command);
+ void execRaw(QString command);
+ void execCmd(QString command);
+ QString eval(QString expr);
+
+ bool wait_done;
+ BlinkState blink_state;
+ QPainter *painter;
+ QPopupMenu *menu;
+
+protected:
+ virtual void keyPressEvent( QKeyEvent * );
+ virtual void mousePressEvent( QMouseEvent *);
+ virtual void mouseDoubleClickEvent( QMouseEvent *);
+ virtual void mouseReleaseEvent( QMouseEvent *);
+ virtual void mouseMoveEvent( QMouseEvent *);
+ virtual void focusInEvent( QFocusEvent * );
+ virtual void focusOutEvent( QFocusEvent * );
+ virtual void dragEnterEvent (QDragEnterEvent *);
+ virtual void dropEvent (QDropEvent *);
+#ifdef FEAT_XIM
+ virtual void imStartEvent ( QIMEvent * );
+ virtual void imEndEvent ( QIMEvent * );
+ virtual void imComposeEvent ( QIMEvent * );
+#endif
+
+ /* cursor blinking stuff */
+ QTimer blink_timer;
+ long blink_wait_time, blink_on_time, blink_off_time;
+
+ /* wait for input */
+ QTimer wait_timer;
+
+public slots:
+ void blink_cursor();
+ void wait_timeout();
+};
+
+class VimMainWindow : public KMainWindow
+{
+ Q_OBJECT
+
+public:
+ VimMainWindow ( const char *name = 0L, WFlags f = WDestructiveClose );
+
+ /** called when the widget closes */
+// bool close(bool alsoDelete);
+ VimWidget *w;
+ KEdFind *finddlg;
+ KEdReplace *repldlg;
+ int have_tearoff;
+ QTextCodec *codec;
+
+public slots:
+ void menu_activated(int dx);
+ void clipboard_selection_update();
+ void clipboard_data_update();
+ void slotSearch();
+ void slotFind();
+ void slotReplace();
+ void slotReplaceAll();
+ void showAboutApplication();
+ void showAboutKDE();
+ void showBugReport();
+ void showTipOfTheDay();
+ void buffersToolbar();
+ bool isLocked();
+ void lock();
+ void unlock();
+
+protected:
+ virtual void wheelEvent (QWheelEvent *);
+ virtual void resizeEvent ( QResizeEvent *e );
+
+#if defined(FEAT_SESSION)
+ void saveGlobalProperties (KConfig *conf);
+ void readGlobalProperties (KConfig *conf);
+#endif
+ bool queryClose();
+ bool queryExit();
+ bool locked;
+};
+
+
+class VimDialog : public QDialog
+{
+ Q_OBJECT
+public:
+ VimDialog (int type, /* type of dialog */
+ unsigned char * title, /* title of dialog */
+ unsigned char * message, /* message text */
+ unsigned char * buttons, /* names of buttons */
+ int def_but, /* default button */
+ char_u *textfield); /* input text */
+private:
+ QSignalMapper mapper;
+ QLineEdit *entry;
+ char_u *ret;
+ int butNb;
+
+protected slots:
+ void done(int);
+};
+
+
+/*
+ * QScrollBar pool
+ */
+struct GuiScrollbar;
+
+class SBPool : public QObject
+{
+ Q_OBJECT
+public:
+ SBPool(void);
+ void create(GuiScrollbar * sb, int orient);
+ void destroy(GuiScrollbar * sb);
+public slots:
+ void sbUsed(int who);
+private:
+ QSignalMapper mapper;
+};
+
+class KVimUtils {
+public:
+ static QString convertEncodingName(QString);
+#if QT_VERSION<300
+ static bool fromString(QFont*,QString);
+ static QString toString(QFont*);
+#endif
+};
+
+extern VimMainWindow *vmw;
+extern SBPool *sbpool;
+extern QString *argServerName;
+
+#endif // GUI_KDE_WIDGET
diff --git a/src/gui_kde_x11.cc b/src/gui_kde_x11.cc
new file mode 100644
index 000000000..b3f3aa12c
--- /dev/null
+++ b/src/gui_kde_x11.cc
@@ -0,0 +1,1307 @@
+/* vi:set ts=8 sts=4 sw=4:
+ *
+ * VIM - Vi IMproved by Bram Moolenaar
+ *
+ * Do ":help uganda" in Vim to read copying and usage conditions.
+ * Do ":help credits" in Vim to see a list of people who contributed.
+ */
+
+/*
+ * Porting to KDE(2) was done by
+ *
+ * (C) 2000 by Thomas Capricelli <orzel@freehackers.org>
+ *
+ * Please visit http://freehackers.org/kvim for other vim- or
+ * kde-related coding.
+ *
+ * $Id$
+ *
+ */
+
+#include <qscrollbar.h>
+#include <qcstring.h>
+#include <qdatetime.h>
+#include <qcursor.h>
+#include <qfontmetrics.h>
+#include <qpaintdevice.h>
+#include <qclipboard.h>
+#include <qregexp.h>
+#include <kaboutkde.h>
+#include <kiconloader.h>
+#include <kfontdialog.h>
+#include <kmessagebox.h>
+#include <dcopclient.h>
+#include <kwin.h>
+#include <kmenubar.h>
+#include <kconfig.h>
+#if (QT_VERSION>=300)
+#include <qnamespace.h>
+#include <ktip.h>
+#endif
+#include <qpopupmenu.h>
+#include <qpainter.h>
+#include <qtextcodec.h>
+#include <qfontmetrics.h>
+#include <qfont.h>
+
+
+#include "gui_kde_widget.h"
+
+
+extern "C" {
+#include "vim.h"
+#include "version.h"
+}
+
+#include <stdio.h>
+
+/*
+ * global variable for KDE, we can't put them in Gui, cause there are C++ types
+ */
+VimMainWindow *vmw=0;
+SBPool *sbpool=0;
+QString *argServerName=0;
+
+#ifdef FEAT_MOUSESHAPE
+/* The last set mouse pointer shape is remembered, to be used when it goes
+ * from hidden to not hidden. */
+static int last_shape = 0;
+#endif
+
+/*
+ * Arguments handled by KDE internally.
+ */
+
+#if QT_VERSION>=300
+static int tip=0; // 1 no dialog, 0 use it if enabled in conf, 2 force the tip
+#endif
+static int reverse=0; // 0 bg : white, 1 : bg : black
+QString *startfont;
+QSize *startsize;
+static int gui_argc = 0;
+static char **gui_argv = NULL;
+
+/*
+ * Parse the GUI related command-line arguments. Any arguments used are
+ * deleted from argv, and *argc is decremented accordingly. This is called
+ * when vim is started, whether or not the GUI has been started.
+ */
+ void
+gui_mch_prepare(int *argc, char **argv)// {{{
+{
+ //copy args for KDE/Qt
+ gui_argc = 0;
+ //this one is not really good as all options are not for KDE/Qt ...
+ gui_argv = (char **)lalloc((long_u)(*argc * sizeof(char *)), FALSE);
+ if (gui_argv == NULL)
+ return;
+ gui_argv[gui_argc++] = argv[0];
+
+ int found = 0;
+ for (int i = 1; i < *argc ; i++)
+ {
+ if (found!=2)
+ found = 0;
+ else {
+ found=0;
+ //remove from the list of argv
+ if (--*argc>i) {
+ mch_memmove(&argv[i], &argv[i + 1],
+ (*argc - i) * sizeof(char *));
+ }
+ i--;
+ continue;
+ }
+
+ if (strcmp(argv[i],"--servername")==0) {
+ argServerName = new QString(argv[i+1]); // to get the serverName now
+ }
+#if QT_VERSION>+300
+ if (strcmp(argv[i],"-tip")==0 ) {
+ tip=2;
+ found=1;
+ }
+ if (strcmp(argv[i],"-notip")==0 ) {
+ tip=1;
+ found=1;
+ }
+#endif
+ if (strcmp(argv[i],"-black")==0 ) {
+ reverse=1;
+ found=1;
+ }
+ /* replaced by -black */
+/* if (strcmp(argv[i],"-rv")==0 ) {
+ reverse=1;
+ found=1;
+ }*/
+ if (strcmp(argv[i],"-font")==0 || strcmp(argv[i], "-fn")==0 ) {
+ startfont=new QString(argv[i+1]);
+ found=2;
+ }
+ if (strcmp(argv[i],"-geometry")==0 || strcmp (argv[i],"-geom")==0 ) {
+ found=2;
+ QString text(argv[i+1]);
+ QStringList list = QStringList::split(QChar('x'), text);
+ startsize = new QSize(list[0].toInt(),list[1].toInt());
+ }
+ if (strcmp (argv[i],"-display")==0 ) { //XXX: this does not work,
+ // too many -display options in main.c !
+ // ask Bram ...
+ gui_argv[gui_argc++] = strdup("--display");
+ gui_argv[gui_argc++] = argv[i+1];
+ found=0;
+ }
+ if (strcmp (argv[i],"--display")==0 ) {
+ gui_argv[gui_argc++] = argv[i];
+ gui_argv[gui_argc++] = argv[i+1];
+ found=2;
+ }
+ //KDE/Qt options with no args
+ if (strcmp(argv[i],"--help-kde")==0 || strcmp (argv[i],"--help-qt")==0
+ || strcmp(argv[i], "--help-all")==0
+ || strcmp(argv[i], "--reverse")==0
+ || strcmp(argv[i], "--author")==0
+// || strcmp(argv[i], "--version")==0 //disabled we need these for kcmvim
+// || strcmp(argv[i], "-v")==0
+ || strcmp(argv[i], "--license")==0
+ || strcmp(argv[i], "--cmap")==0
+ || strcmp(argv[i], "--nograb")==0
+ || strcmp(argv[i], "--dograb")==0
+ || strcmp(argv[i], "--sync")==0
+ || strcmp(argv[i], "--noxim")==0
+ || strcmp(argv[i], "--nocrashhandler")==0
+ || strcmp(argv[i], "--waitforwm")==0
+ ) {
+ gui_argv[gui_argc++] = argv[i];
+ found=1;
+ }
+ //this outputs KDE and Vim versions :)
+ if (strcmp(argv[i],"--version")==0
+ || strcmp (argv[i],"-v")==0
+ ) {
+ gui_argv[gui_argc++] = argv[i];
+ }
+
+
+ //KDE/Qt options with one arg
+ if ( strcmp(argv[i],"--session")==0
+ || strcmp(argv[i],"--ncols")==0
+ || strcmp(argv[i],"--bg")==0
+ || strcmp(argv[i],"--background")==0
+ || strcmp(argv[i],"--fg")==0
+ || strcmp(argv[i],"--foreground")==0
+ || strcmp(argv[i],"--btn")==0
+ || strcmp(argv[i],"--name")==0
+ || strcmp(argv[i],"--title")==0
+ || strcmp(argv[i],"--inputstyle")==0
+ || strcmp(argv[i],"--im")==0
+ || strcmp(argv[i],"--caption")==0
+ || strcmp(argv[i],"--icon")==0
+ || strcmp(argv[i],"--miniicon")==0
+ || strcmp(argv[i],"--config")==0
+ || strcmp(argv[i],"--dcopserver")==0
+ || strcmp(argv[i],"--style")==0
+ || strcmp(argv[i],"--geometry")==0
+ || strcmp(argv[i],"--smkey")==0
+ || strcmp(argv[i],"-smkey")==0
+ || strcmp(argv[i],"-session")==0
+ ) {
+ gui_argv[gui_argc++] = argv[i];
+ gui_argv[gui_argc++] = argv[i+1];
+ found=2;
+ }
+
+ //remove from the list of argv
+ if (found >= 1 && --*argc>i) {
+ mch_memmove(&argv[i], &argv[i + 1],
+ (*argc - i) * sizeof(char *));
+ i--;
+ }
+ }
+ KCmdLineArgs::init( gui_argc,gui_argv,"kvim", I18N_NOOP("Vim inside KDE"),VIM_VERSION_SHORT);
+}// }}}
+
+/****************************************************************************
+ * Focus handlers:
+ */
+
+/*
+ * Initialises time intervals for the cursor blinking
+ */
+ void
+gui_mch_set_blinking(long waittime, long on, long off)//{{{
+{
+ gui.w->set_blink_time( waittime, on, off );
+}//}}}
+
+/*
+ * Stop the cursor blinking. Show the cursor if it wasn't shown.
+ */
+ void
+gui_mch_stop_blink()//{{{
+{
+ gui.w->stop_cursor_blinking();
+}//}}}
+
+/*
+ * Start the cursor blinking. If it was already blinking, this restarts the
+ * waiting time and shows the cursor.
+ */
+ void
+gui_mch_start_blink()//{{{
+{
+ gui.w->start_cursor_blinking();
+}//}}}
+
+/*
+ * Check if the GUI can be started. Called before gvimrc is sourced.
+ * Return OK or FAIL.
+ */
+ int
+gui_mch_init_check(void)//{{{
+{
+ gui.dpy = qt_xdisplay();
+ return OK;
+}//}}}
+
+/*
+ * Initialise the X GUI. Create all the windows, set up all the call-backs etc.
+ * Returns OK for success, FAIL when the GUI can't be started.
+ */
+ int
+gui_mch_init()//{{{
+{
+ (void) new KApplication();
+ KApplication::kApplication()->dcopClient()->registerAs(KApplication::kApplication()->name(),false);
+// dbf("%s %s",KGlobal::locale()->language().latin1(),KLocale::defaultLanguage().latin1());
+
+ vmw = new VimMainWindow("KVim",0);
+ vmw->setFrameBorderWidth(0);
+ kapp->setMainWidget(vmw);
+ kapp->setTopWidget(vmw);
+
+ sbpool = new SBPool;
+
+#if QT_VERSION>=300
+ vmw->connect(kapp->clipboard(),SIGNAL(selectionChanged()),vmw,SLOT(clipboard_selection_update()));
+#endif
+ vmw->connect(kapp->clipboard(),SIGNAL(dataChanged()),vmw,SLOT(clipboard_data_update()));
+ clip_lose_selection(&clip_plus);
+ clip_lose_selection(&clip_star);
+
+ gui.in_focus = FALSE; // will be updated
+
+ if (reverse) {
+ gui.def_norm_pixel = gui_get_color((char_u *)"White");
+ gui.def_back_pixel = gui_get_color((char_u *)"Black");
+#if QT_VERSION>=300
+ gui.w->setEraseColor ( QColor(Qt::black) );
+#else
+ gui.w->setBackgroundColor ( QColor(Qt::black) );
+#endif
+ } else {
+ gui.def_norm_pixel = gui_get_color((char_u *)"Black");
+ gui.def_back_pixel = gui_get_color((char_u *)"White");
+#if QT_VERSION>=300
+ gui.w->setEraseColor ( QColor(Qt::white) );
+#else
+ gui.w->setBackgroundColor ( QColor(Qt::white) );
+#endif
+ }
+
+ gui.norm_pixel = gui.def_norm_pixel;
+ gui.back_pixel = gui.def_back_pixel;
+
+ gui.border_width = 1;
+ gui.border_offset = 1;//gui.border_width;
+ gui.scrollbar_width=SB_DEFAULT_WIDTH;
+ gui.scrollbar_height=SB_DEFAULT_WIDTH;
+
+ //gui.menu_height=vmw->menuBar()->height()+1;
+ //gui.toolbar_height=vmw->toolBar()->height();
+
+ return OK;
+}//}}}
+
+
+/*
+ * Called when the foreground or background color has been changed.
+ */
+ void
+gui_mch_new_colors()//{{{
+{
+ QColor rgb;
+ rgb.setRgb(gui.back_pixel);
+#if QT_VERSION>=300
+ gui.w->setEraseColor(rgb);
+#else
+ gui.w->setBackgroundColor(rgb);
+#endif
+}//}}}
+
+/*
+ * Open the GUI window which was created by a call to gui_mch_init().
+ */
+ int
+gui_mch_open()//{{{
+{
+ gui.dpy=qt_xdisplay();
+ set_normal_colors();
+
+ /* Check that none of the colors are the same as the background color */
+ gui_check_colors();
+
+ /* Get the colors for the highlight groups (gui_check_colors() might have
+ * changed them).
+ */
+ highlight_gui_started(); /* re-init colors and fonts */
+#ifdef FEAT_MENU
+ vmw->w->menu = new QPopupMenu(vmw);
+
+#if QT_VERSION>=300
+ vmw->w->menu->insertItem(SmallIcon("ktip"), i18n("&Tip of the day..."), vmw, SLOT(showTipOfTheDay()));
+ vmw->w->menu->insertSeparator();
+#endif
+ if (vmw->have_tearoff) vmw->w->menu->insertTearOffHandle(0,0);
+ vmw->w->menu->insertItem(i18n("&Report Bug ..."), vmw, SLOT(showBugReport()));
+ vmw->w->menu->insertSeparator();
+ vmw->w->menu->insertItem(SmallIcon("kvim"), i18n("&About KVim..."), vmw, SLOT(showAboutApplication()));
+ vmw->w->menu->insertItem(SmallIcon("about_kde"), i18n("About &KDE..."), vmw, SLOT(showAboutKDE()));
+ vmw->menuBar()->insertItem("&KVim", vmw->w->menu);
+#endif
+ if (startfont!=NULL)
+ gui_mch_init_font((char_u*)startfont->latin1(),0);
+
+ if (startsize!=NULL)
+ vmw->resize(startsize->width(), startsize->height());
+
+ gui_mch_update_codec();
+
+ if (kapp->isRestored())
+ if (KMainWindow::canBeRestored(1))
+ vmw->restore(1);
+
+ vmw->show();
+#if QT_VERSION>=300
+ if (tip==2) KTipDialog::showTip (vmw,QString::null,true);
+ else if (tip==0) KTipDialog::showTip (vmw);
+#endif
+
+ return OK;
+}//}}}
+
+ void
+gui_mch_exit(int rc)//{{{
+{
+ kapp->quit();
+}//}}}
+
+/*
+ * Get the position of the top left corner of the window.
+ */
+ int
+gui_mch_get_winpos(int *x, int *y)//{{{
+{
+ *x = vmw->x();
+ *y = vmw->y();
+ return OK;
+}//}}}
+
+/*
+ * Set the position of the top left corner of the window to the given
+ * coordinates.
+ */
+ void
+gui_mch_set_winpos(int x, int y)//{{{
+{
+ vmw->move(x,y);
+}//}}}
+
+/*
+ * Set the windows size.
+ * ->resize VimWidget
+ * ->resize vmw (block any events generated from here)
+ */
+void
+gui_mch_set_shellsize(int width, int height,//{{{
+ int min_width, int min_height,
+ int base_width, int base_height)
+{
+ //resize VimWidget
+ vmw->w->resize(width,height);
+
+ //resize vmw
+ int vheight, vwidth;
+ vheight = height;
+ vwidth = width;
+
+ if (gui.which_scrollbars[SBAR_LEFT]) vwidth+=gui.scrollbar_width;
+ if (gui.which_scrollbars[SBAR_RIGHT]) vwidth+=gui.scrollbar_width;
+ if (gui.which_scrollbars[SBAR_BOTTOM]) vheight+=gui.scrollbar_height;
+
+ if (vmw->menuBar()->isVisible() && vmw->menuBar()->isEnabled()
+#if QT_VERSION>=300
+ && !vmw->menuBar()->isTopLevelMenu()
+#endif
+ )
+ vheight += vmw->menuBar()->height();
+#ifdef FEAT_TOOLBAR
+ if (vmw->toolBar()->isVisible() && vmw->toolBar()->isEnabled() &&
+ (vmw->toolBar()->barPos()==KToolBar::Top ||
+ vmw->toolBar()->barPos()==KToolBar::Bottom))
+ vheight += vmw->toolBar()->height();
+
+ if (vmw->toolBar()->isVisible() && vmw->toolBar()->isEnabled() &&
+ (vmw->toolBar()->barPos()==KToolBar::Left ||
+ vmw->toolBar()->barPos()==KToolBar::Right))
+ vwidth += vmw->toolBar()->width();
+#endif
+ vmw->lock();
+ vmw->resize(vwidth,vheight);
+ gui_mch_update();
+ //size should be nearly perfect, update baseSize and sizeIncrement
+ vmw->setBaseSize(base_width,vmw->menuBar()->height()+1+vmw->toolBar()->height()+gui.char_height*2);
+ vmw->setSizeIncrement( ( ( int )( gui.char_width/2 )*2 ),gui.char_height);
+ vmw->unlock();
+}//}}}
+
+
+/*
+ * The screen size is used to make sure the initial window doesn't get bigger
+ * then the screen. This subtracts some room for menubar, toolbar and window
+ * decorations.
+ */
+ void
+gui_mch_get_screen_dimensions(int *screen_w, int *screen_h)//{{{
+{
+ *screen_w = kapp->desktop()->width();
+ *screen_h = kapp->desktop()->height();
+}//}}}
+
+#if defined(FEAT_MENU) || defined(PROTO)
+ void
+gui_mch_enable_menu(int showit)//{{{
+{
+ if (showit)
+ vmw->menuBar()->show();
+ else
+ vmw->menuBar()->hide();
+ vmw->resize(vmw->width(),vmw->height());
+}//}}}
+#endif
+
+
+#if defined(FEAT_TOOLBAR) || defined(PROTO)
+ void
+gui_mch_show_toolbar(int showit)//{{{
+{
+ if (showit)
+ vmw->toolBar()->show();
+ else
+ vmw->toolBar()->hide();
+ vmw->resize(vmw->width(),vmw->height());
+}//}}}
+#endif
+
+/*
+ * Put up a font dialog and return the selected font name in allocated memory.
+ * "oldval" is the previous value.
+ * Return NULL when cancelled.
+ */
+
+char_u *gui_mch_font_dialog (char_u *oldval)//{{{
+{
+ QFont myFont( vmw->w->font() );
+ if (gui.fontname) {
+ gui.fontname=NULL;
+ }
+ int result = KFontDialog::getFont( myFont, true );
+ if ( result != KFontDialog::Accepted ) {
+ return NULL;
+ }
+// myFont.setFixedPitch(true);
+#if QT_VERSION>=300
+ QString n = myFont.toString();
+#else
+ QString n = KVimUtils::toString(&myFont);
+#endif
+ n.replace(QRegExp(","),"/");
+ gui.fontname = (char_u *)strdup((const char *)n);
+ n.replace(QRegExp(" "),"\\ ");
+ n=QString("To set this font as your default font for KVim, edit your ~/.gvimrc file and add the following lines : \nif has(\"gui_kde\")\nset guifont=")+n+QString("\nendif");// \n OR \n use the control center of KDE and choose the correct fixed font");
+
+ //display a message box which explains how to save your font settings
+ KMessageBox::information(vmw, n,"Font Selection", "kvimselectfont");
+
+ return vim_strsave(gui.fontname);
+}//}}}
+
+/*
+ * Initialise vim to use the font with the given name.
+ * Return FAIL if the font could not be loaded, OK otherwise.
+ */
+ int
+gui_mch_init_font(char_u * font_name, int fontset)//{{{
+{
+ QString fontname;
+ GuiFont font=NULL;
+
+ if (font_name==NULL) {
+#if 0
+#if QT_VERSION>=300
+ KConfig *base = KGlobal::config();
+#else
+ KConfigBase *base = KGlobal::config();
+#endif
+ base->setGroup("General");
+ if(!base->hasKey("fixed")) {
+ KMessageBox::error(KApplication::kApplication()->mainWidget(),"Cannot load default fixed font\n\nConfigure fonts in KDE Control Center.\n(Just click 'Choose...', 'OK' and then 'Apply')");
+ return FAIL;
+ }
+#if QT_VERSION>=300
+ QString f = base->readEntry("fixed");
+#else
+ QFont ft = base->readFontEntry("fixed", NULL);
+ QString f = KVimUtils::toString(&ft);
+#endif
+ font_name = (char_u*)strdup(f.latin1()); //latin1 ?
+#else
+ font_name = (char_u*)strdup("misc-fixed/10/-1/5/50/0/0/0/1/0");
+#endif
+ }
+ fontname = (const char *)font_name;
+/* fontname.replace(QRegExp("/"),",");
+ font = new QFont();
+ font->fromString( fontname );
+*/
+ gui_mch_free_font(gui.norm_font);
+#ifdef FEAT_XFONTSET
+ gui_mch_free_fontset(gui.fontset);
+ if (fontset)
+ font = gui_mch_get_fontset(font_name,TRUE,TRUE);
+#endif
+ if (font == NULL) {
+ font = gui_mch_get_font(font_name,FALSE);
+ gui.norm_font = font;
+#ifdef FEAT_XFONTSET
+ gui.fontset=NOFONTSET;
+#endif
+ }
+#ifdef FEAT_XFONTSET
+ else {
+ gui.fontset=font;
+ gui.norm_font=NOFONT;
+ }
+#endif
+
+ if (font == NULL)
+ return FAIL;
+
+ if (fontname.contains('*') && fontname.contains('-'))
+ return FAIL;
+
+ QFontMetrics f(*font);
+ gui.char_width = f.maxWidth();
+ gui.char_height = f.height()+p_linespace;
+ gui.char_ascent = f.ascent()+p_linespace/2;
+
+ //check values, just to make sure and avoid a crash
+ if (gui.char_width<=0) gui.char_width=8;
+ if (gui.char_height<=0) gui.char_height=1;
+
+ hl_set_font_name(font_name);
+
+ return OK;
+}//}}}
+
+ GuiFont
+gui_mch_get_font(char_u * name, int report_error)//{{{
+{
+ QString fontname((const char *)name);
+ if (!gui.in_use || name == NULL)
+ return NOFONT;
+ if (fontname.contains('*') && fontname.contains('-'))
+ return NOFONT; // XFLD names not allowed anymore
+ QFont *myFont = new QFont();
+ fontname.replace(QRegExp("/"),",");
+// myFont->setRawMode(TRUE);
+
+#if QT_VERSION>=300
+ myFont->fromString(fontname);
+#else
+ KVimUtils::fromString(myFont,fontname);
+#endif
+ myFont->setFixedPitch(true);
+ if (!myFont->fixedPitch()) dbf("Non fixed-width font");
+ return (GuiFont) myFont;
+}//}}}
+
+/*
+ * Set the current text font.
+ * Since we create all GC on demand, we use just gui.current_font to
+ * indicate the desired current font.
+ */
+ void
+gui_mch_set_font(GuiFont font)//{{{
+{
+ gui.current_font=font;
+ gui.w->painter->setFont( *(gui.current_font) );
+}//}}}
+
+/*
+ * If a font is not going to be used, free its structure.
+ */
+ void
+gui_mch_free_font(GuiFont font)//{{{
+{
+ if (font)
+ delete font; // this is a QFont , we can delete it :)
+}//}}}
+
+GuiFontset gui_mch_get_fontset (char_u *name, int report_error, int fixed_width)
+{
+ return (GuiFontset)gui_mch_get_font(name,report_error);
+}
+
+void gui_mch_set_fontset (GuiFontset fontset)
+{
+ gui_mch_set_font((GuiFont)fontset);
+}
+
+void gui_mch_free_fontset (GuiFontset fontset)
+{
+ if (fontset)
+ delete fontset;
+}
+
+void gui_mch_settitle (char_u *title, char_u *icon)//{{{
+{
+ if (!gui.in_use) /* can't do this when GUI not running */
+ return;
+ vmw->setPlainCaption((const char *)title);
+ QPixmap p((const char *)icon);
+ vmw->setIcon(p); //FIXME
+}//}}}
+
+/*
+ * Return the Pixel value (color) for the given color name. This routine was
+ * pretty much taken from example code in the Silicon Graphics OSF/Motif
+ * Programmer's Guide.
+ * Return -1 for error.
+ */
+ guicolor_T
+gui_mch_get_color(char_u * name)//{{{
+{
+ int i;
+ static char *(vimnames[][2]) =
+ {
+ /* A number of colors that some X11 systems don't have */
+ {"LightRed", "#FFA0A0"},
+ {"LightGreen", "#80FF80"},
+ {"LightMagenta", "#FFA0FF"},
+ {"DarkCyan", "#008080"},
+ {"DarkBlue", "#0000C0"},
+ {"DarkRed", "#C00000"},
+ {"DarkMagenta", "#C000C0"},
+ {"DarkGrey", "#C0C0C0"},
+ {NULL, NULL}
+ };
+
+ if (!gui.in_use) /* can't do this when GUI not running */
+ return (guicolor_T)(-1);
+
+ QColor _color((const char *)name);
+
+
+ if (_color.isValid()) {
+ //return (_color.red() << 16) + ((_color.green() << 8)) + (_color.blue());
+ return _color.rgb();
+ //return (guicolor_T) _color.pixel();
+ }
+
+ /* add a few builtin names */
+ for (i = 0;; ++i) {
+ if (vimnames[i][0] == NULL)
+ return (guicolor_T)(-1);
+ if (STRICMP(name, vimnames[i][0]) == 0) {
+ name = (char_u *) vimnames[i][1];
+ return gui_mch_get_color(name);
+ }
+ }
+
+ return (guicolor_T)(-1); // dead code, should not be reached..
+}//}}}
+
+/*
+ * Set the current text foreground color.
+ */
+ void
+gui_mch_set_fg_color(guicolor_T color)//{{{
+{
+ QColor rgb;
+ rgb.setRgb(color);
+ gui.w->painter->setPen( rgb );
+}//}}}
+
+/*
+ * Set the current text background color.
+ */
+ void
+gui_mch_set_bg_color(guicolor_T color)//{{{
+{
+ QColor rgb;
+ rgb.setRgb(color);
+ gui.w->painter->setBackgroundColor(rgb);
+}//}}}
+
+/*
+ * Use the blank mouse pointer or not.
+ *
+ * hide: TRUE = use blank ptr, FALSE = use parent ptr
+ */
+ void
+gui_mch_mousehide(int hide)//{{{
+{
+ if (hide == gui.pointer_hidden) return;
+ //#ifdef FEAT_MOUSESHAPE
+ // if( !hide) mch_set_mouse_shape(last_shape);
+ //#else
+# if (QT_VERSION<300)
+ gui.w->setCursor((hide)?BlankCursor:ArrowCursor);
+# else
+ gui.w->setCursor((hide)?Qt::BlankCursor:Qt::ArrowCursor);
+# endif
+ //#endif
+ gui.pointer_hidden = hide;
+}//}}}
+
+ void
+gui_mch_update_codec()
+{
+#ifdef FEAT_MBYTE
+ if (!gui.in_use) return;
+ vmw->codec = QTextCodec::codecForName((const char *)p_enc);
+ if (vmw->codec==NULL)
+ vmw->codec = QTextCodec::codecForName(KVimUtils::convertEncodingName(QString((const char*)p_enc)));
+ if (vmw->codec==NULL)
+ vmw->codec = QTextCodec::codecForLocale();
+#else
+ vmw->codec = QTextCodec::codecForLocale();
+#endif
+ if (vmw->codec==NULL)
+ vmw->codec = QTextCodec::codecForName("ISO-8859-1"); //fallback
+}
+
+ void
+gui_mch_draw_string(int row, int col, char_u * s, int len, int flags)//{{{
+{
+ QString text = vmw->codec->toUnicode((const char *)s,len);
+ gui.w->draw_string( TEXT_X(col), TEXT_Y(row), text, text.length(), flags );
+}//}}}
+
+#if defined(FEAT_TITLE) || defined(PROTO)
+/*
+ * Return the text window-id and display. Only required for X-based GUI's
+ */
+ int
+gui_get_x11_windis(Window * win, Display ** dis)//{{{
+{
+ *win = /*vmw*/gui.w->winId();
+ *dis = qt_xdisplay();
+ return OK;
+}//}}}
+#endif
+
+ void
+gui_mch_beep()//{{{
+{
+ kapp->beep();
+}//}}}
+
+ void
+gui_mch_flash(int msec)//{{{
+{
+ gui.w->flash();
+}//}}}
+
+/*
+ * Invert a rectangle from row r, column c, for nr rows and nc columns.
+ */
+ void
+gui_mch_invert_rectangle(int r, int c, int nr, int nc)//{{{
+{
+ bitBlt (
+ gui.w,
+ FILL_X(c), FILL_Y(r),
+ gui.w,
+ FILL_X(c), FILL_Y(r),
+ (nc) * gui.char_width,
+ (nr) * gui.char_height,
+ Qt::NotROP, // raster Operation
+ true ); // ignoreMask
+}//}}}
+
+/*
+ * Iconify the GUI window.
+ */
+ void
+gui_mch_iconify()//{{{
+{
+ vmw->showMinimized();
+}//}}}
+
+/*
+ * Draw a cursor without focus.
+ */
+ void
+gui_mch_draw_hollow_cursor(guicolor_T color)//{{{
+{
+ QPainter p(gui.w);
+ p.setPen( color );
+
+ p.drawRect(FILL_X(gui.col), FILL_Y(gui.row), gui.char_width - 1, gui.char_height - 1 );
+
+ p.end();
+}//}}}
+
+/*
+ * Draw part of a cursor, "w" pixels wide, and "h" pixels high, using
+ * color "color".
+ */
+ void
+gui_mch_draw_part_cursor(int w, int h, guicolor_T color)//{{{
+{
+ QPainter p(gui.w);
+ p.setPen( color );
+ p.fillRect(
+ FILL_X(gui.col),
+ FILL_Y(gui.row) + gui.char_height - h +1,
+ w, h-2, QColor( color, color));
+ p.drawRect(FILL_X(gui.col),FILL_Y(gui.row) + gui.char_height - h + (int)p_linespace / 2,
+ w, h - (int)p_linespace );
+
+}//}}}
+
+
+/*
+ * Catch up with any queued X11 events. This may put keyboard input into the
+ * input buffer, call resize call-backs, trigger timers etc. If there is
+ * nothing in the X11 event queue (& no timers pending), then we return
+ * immediately.
+ */
+ void
+gui_mch_update()//{{{
+{
+ kapp->processEvents();
+}//}}}
+
+
+/*
+ * GUI input routine called by gui_wait_for_chars(). Waits for a character
+ * from the keyboard.
+ * wtime == -1 Wait forever.
+ * wtime == 0 This should never happen.
+ * wtime > 0 Wait wtime milliseconds for a character.
+ * Returns OK if a character was found to be available within the given time,
+ * or FAIL otherwise.
+ */
+ int
+gui_mch_wait_for_chars(long wtime)//{{{
+{
+ // malte@kde.org's gift to KVim ;), thanks to him :) for this hard to find bug
+ if (wtime>0) {
+ gui.w->wait( wtime );
+ while ( vim_is_input_buf_empty() && !gui.w->wait_done )
+ kapp->processOneEvent();
+ return vim_is_input_buf_empty() ? FAIL : OK;
+ } else
+ while (vim_is_input_buf_empty() ) {
+ kapp->processOneEvent();
+ }
+
+ return OK;
+}//}}}
+
+
+/****************************************************************************
+ * Output drawing routines.
+ ****************************************************************************/
+
+
+/* Flush any output to the screen */
+ void
+gui_mch_flush()//{{{
+{
+ kapp->flushX();
+}//}}}
+
+/*
+ * Clear a rectangular region of the screen from text pos (row1, col1) to
+ * (row2, col2) inclusive.
+ */
+ void
+gui_mch_clear_block(int row1, int col1, int row2, int col2)//{{{
+{
+ gui.w->erase (FILL_X(col1), FILL_Y(row1),
+ (col2 - col1 + 1) * gui.char_width+ (col2 == Columns - 1),
+ (row2 - row1 + 1) * gui.char_height );
+}//}}}
+
+ void
+gui_mch_clear_all(void)//{{{
+{
+ gui.w->erase();
+}//}}}
+
+
+/*
+ * Delete the given number of lines from the given row, scrolling up any
+ * text further down within the scroll region.
+ */
+ void
+gui_mch_delete_lines(int row, int num_lines)//{{{
+{
+ if (num_lines <= 0)
+ return;
+
+ if (row + num_lines > gui.scroll_region_bot) {
+ /* Scrolled out of region, just blank the lines out */
+ gui_clear_block(row, gui.scroll_region_left, gui.scroll_region_bot, gui.scroll_region_right);
+ } else {
+ bitBlt (
+ gui.w,
+ FILL_X(gui.scroll_region_left), FILL_Y(row),
+ gui.w,
+ FILL_X(gui.scroll_region_left), FILL_Y(row + num_lines),
+ gui.char_width * (gui.scroll_region_right -gui.scroll_region_left + 1) + 1,
+ gui.char_height * (gui.scroll_region_bot - row - num_lines + 1),
+ Qt::CopyROP, // raster Operation
+ true ); // ignoreMask
+
+ /* Update gui.cursor_row if the cursor scrolled or copied over */
+ if (gui.cursor_row >= row) {
+ if (gui.cursor_row < row + num_lines)
+ gui.cursor_is_valid = FALSE;
+ else if (gui.cursor_row <= gui.scroll_region_bot)
+ gui.cursor_row -= num_lines;
+ }
+
+ gui_clear_block(gui.scroll_region_bot - num_lines + 1, gui.scroll_region_left,
+ gui.scroll_region_bot, gui.scroll_region_right);
+
+ }
+}//}}}
+
+/*
+ * Insert the given number of lines before the given row, scrolling down any
+ * following text within the scroll region.
+ */
+ void
+gui_mch_insert_lines(int row, int num_lines)//{{{
+{
+ if (num_lines <= 0)
+ return;
+
+ if (row + num_lines > gui.scroll_region_bot) {
+ /* Scrolled out of region, just blank the lines out */
+ gui_clear_block(row, gui.scroll_region_left, gui.scroll_region_bot, gui.scroll_region_right - 1);
+ } else {
+ bitBlt (
+ gui.w,
+ FILL_X(gui.scroll_region_left), FILL_Y(row + num_lines),
+ gui.w,
+ FILL_X(gui.scroll_region_left), FILL_Y(row),
+ gui.char_width * ( gui.scroll_region_right - gui.scroll_region_left + 1 ) + 1,
+ gui.char_height * (gui.scroll_region_bot - row - num_lines + 1),
+ Qt::CopyROP, // raster Operation
+ true ); // ignoreMask
+
+ /* Update gui.cursor_row if the cursor scrolled or copied over */
+ if (gui.cursor_row >= gui.row) {
+ if (gui.cursor_row <= gui.scroll_region_bot - num_lines)
+ gui.cursor_row += num_lines;
+ else if (gui.cursor_row <= gui.scroll_region_bot)
+ gui.cursor_is_valid = FALSE;
+ }
+
+ gui_clear_block(row, gui.scroll_region_left, row + num_lines - 1, gui.scroll_region_right);
+ }
+}//}}}
+
+/*
+ * X Selection stuff, for cutting and pasting text to other windows.
+ */
+ void
+clip_mch_request_selection(VimClipboard *cbd)//{{{
+{
+#if QT_VERSION>=300
+ if (cbd==&clip_star) kapp->clipboard()->setSelectionMode(true);
+#endif
+ QString selection = kapp->clipboard()->text();
+
+ QCString unistring = vmw->codec->fromUnicode(selection);
+ clip_yank_selection(MCHAR,(char_u *)(const char*)unistring,(long) unistring.length(),cbd);
+#if QT_VERSION>=300
+ if (cbd==&clip_star) kapp->clipboard()->setSelectionMode(false);
+#endif
+}//}}}
+
+ void
+clip_mch_lose_selection(VimClipboard *cbd)//{{{
+{
+ //Don't need to do anything here
+ gui_mch_update();
+}//}}}
+
+/*
+ * Check whatever we allready own the selection.
+ */
+ int
+clip_mch_own_selection(VimClipboard *cbd)//{{{
+{
+ if (kapp->clipboard()->ownsSelection())
+ return OK;
+ else {
+#if QT_VERSION>=300
+ kapp->clipboard()->setSelectionMode(true);
+#endif
+ return OK;
+ }
+}//}}}
+
+/*
+ * Send the current selection to the clipboard.
+ */
+void
+clip_mch_set_selection(VimClipboard *cbd){//{{{
+ char_u *data;
+ long_u length;
+
+ clip_get_selection(cbd);
+ if(clip_convert_selection(&data,&length,cbd)<0) return;
+
+ QString selection((const char *) data);
+ //We must turncate the string because it is not
+ // null terminated
+ selection.truncate((uint) length);
+
+#if QT_VERSION>=300
+ if (cbd==&clip_star) kapp->clipboard()->setSelectionMode(true);
+#endif
+ kapp->clipboard()->setText(selection);
+#if QT_VERSION>=300
+ kapp->clipboard()->setSelectionMode(false);
+#endif
+}//}}}
+
+
+#if defined(FEAT_MENU) || defined(PROTO)
+/*
+ * Make a menu item appear either active or not active (grey or not grey).
+ */
+ void
+gui_mch_menu_grey(vimmenu_T * menu, int grey)//{{{
+{
+ if ( !menu || !menu->parent || !menu->parent->widget ) return;
+ menu->parent->widget->setItemEnabled((int)menu, !grey);
+ gui_mch_update();
+}//}}}
+
+/*
+ * Make menu item hidden or not hidden.
+ */
+ void
+gui_mch_menu_hidden(vimmenu_T * menu, int hidden)//{{{
+{
+ //FIXME: cannot be fixed AFAIK
+ gui_mch_menu_grey(menu,hidden); // it's hard to remove an item in a QPopupMenu
+}//}}}
+
+/*
+ * This is called after setting all the menus to grey/hidden or not.
+ */
+ void
+gui_mch_draw_menubar()//{{{
+{
+ // nothing to do under kde
+}//}}}
+#endif
+
+/*
+ * Scrollbar stuff.
+ */
+ void
+gui_mch_enable_scrollbar(scrollbar_T * sb, int flag)//{{{
+{
+ if (!sb->w) return;
+ int width = gui.w->width();
+ int height = gui.w->height();
+ int neww = vmw->width();
+ int newh = vmw->height();
+
+ if (gui.which_scrollbars[SBAR_LEFT]) width += gui.scrollbar_width;
+ if (gui.which_scrollbars[SBAR_RIGHT]) width += gui.scrollbar_width;
+ if (gui.which_scrollbars[SBAR_BOTTOM]) height += gui.scrollbar_height;
+
+ if (vmw->menuBar()->isVisible() && vmw->menuBar()->isEnabled()
+#if QT_VERSION>=300
+ && !vmw->menuBar()->isTopLevelMenu()
+#endif
+ )
+ height += vmw->menuBar()->height();
+#ifdef FEAT_TOOLBAR
+ if (vmw->toolBar()->isVisible() && vmw->toolBar()->isEnabled() &&
+ (vmw->toolBar()->barPos()==KToolBar::Top ||
+ vmw->toolBar()->barPos()==KToolBar::Bottom))
+ height += vmw->toolBar()->height();
+
+ if (vmw->toolBar()->isVisible() && vmw->toolBar()->isEnabled() &&
+ (vmw->toolBar()->barPos()==KToolBar::Left ||
+ vmw->toolBar()->barPos()==KToolBar::Right))
+ width += vmw->toolBar()->width();
+#endif
+ if ( abs(vmw->width() - width)>5 && (sb->type==SBAR_LEFT || sb->type==SBAR_RIGHT) )
+ neww=width;
+ if (abs(vmw->height() - height)>5 && (sb->type==SBAR_BOTTOM) )
+ newh=height;
+
+ if (flag)
+ sb->w->show();
+ else
+ sb->w->hide();
+ gui_mch_update();
+ vmw->lock();
+ vmw->resize(neww,newh);
+ vmw->unlock();
+ gui_mch_update();
+}//}}}
+
+/*
+ * Return the RGB value of a pixel as "#RRGGBB".
+ */
+ long_u
+gui_mch_get_rgb(guicolor_T pixel)//{{{
+{
+// QColor c(pixel,pixel);
+// return (c.red() << 16) + ((c.green() << 8)) + (c.blue());
+ return pixel; // funny no ? it looks like with Qt we can always use directly the rgb value (i hope i don't break colors again ;p)
+}//}}}
+
+/*
+ * Get current y mouse coordinate in text window.
+ * Return -1 when unknown.
+ */
+ int
+gui_mch_get_mouse_x(void)//{{{
+{
+ return vmw->mapFromGlobal( QCursor::pos() ).x();
+}//}}}
+
+ int
+gui_mch_get_mouse_y(void)//{{{
+{
+ return vmw->mapFromGlobal( QCursor::pos() ).y();
+}//}}}
+
+ void
+gui_mch_setmouse(int x, int y)//{{{
+{
+ QCursor::setPos( vmw->mapToGlobal( QPoint(x,y)) );
+}//}}}
+
+#if defined(FEAT_MOUSESHAPE) || defined(PROTO)
+#if QT_VERSION>=300
+static int mshape_ids[] = {//{{{
+ Qt::ArrowCursor, /* arrow */
+ Qt::BlankCursor, /* blank */
+ Qt::IbeamCursor, /* beam */
+ Qt::SizeVerCursor, /* updown */
+ Qt::SplitHCursor, /* udsizing */
+ Qt::SizeHorCursor, /* leftright */
+ Qt::SizeHorCursor, /* lrsizing */
+ Qt::WaitCursor, /* busy */
+ Qt::ForbiddenCursor, /* no */
+ Qt::CrossCursor, /* crosshair */
+ Qt::PointingHandCursor, /* hand1 */
+ Qt::PointingHandCursor, /* hand2 */
+ Qt::ArrowCursor, /* pencil */
+ Qt::WhatsThisCursor, /* question */
+ Qt::ArrowCursor, /* right-arrow */
+ Qt::UpArrowCursor, /* up-arrow */
+ Qt::ArrowCursor /* last one */
+};//}}}
+#else
+static int mshape_ids[] = {//{{{
+ ArrowCursor, /* arrow */
+ BlankCursor, /* blank */
+ IbeamCursor, /* beam */
+ SizeVerCursor, /* updown */
+ SplitHCursor, /* udsizing */
+ SizeHorCursor, /* leftright */
+ SizeHorCursor, /* lrsizing */
+ WaitCursor, /* busy */
+ ForbiddenCursor, /* no */
+ CrossCursor, /* crosshair */
+ PointingHandCursor, /* hand1 */
+ PointingHandCursor, /* hand2 */
+ ArrowCursor, /* pencil */
+ ArrowCursor, /* question */
+ ArrowCursor, /* right-arrow */
+ UpArrowCursor, /* up-arrow */
+ ArrowCursor /* last one */
+};//}}}
+#endif
+
+ void
+mch_set_mouse_shape (int shape)//{{{
+{
+ int id;
+
+ if (shape == MSHAPE_HIDE || gui.pointer_hidden)
+#if QT_VERSION>=300
+ gui.w->setCursor(Qt::BlankCursor);
+#else
+ gui.w->setCursor(BlankCursor);
+#endif
+ else
+ {
+ if (shape >= MSHAPE_NUMBERED)
+ {
+ id = shape - MSHAPE_NUMBERED;
+ /* if (id >= GDK_NUM_GLYPHS)
+ id = GDK_LEFT_PTR;
+ else
+ id &= ~1;*/ /* they are always even (why?) */
+ id &= -1;
+ }
+ else
+ id = mshape_ids[shape];
+
+ gui.w->setCursor(id);
+ }
+ if (shape != MSHAPE_HIDE)
+ last_shape = shape;
+}//}}}
+#endif
+
+ int
+gui_mch_adjust_charsize ()//{{{
+{
+ QFont f(*(gui.current_font));
+ QFontMetrics fm (f);
+ gui.char_height = fm.height() + p_linespace;
+ //gui.char_height = fm.ascent() + fm.descent() + p_linespace;
+ gui.char_ascent = fm.ascent() + p_linespace/2;
+
+ return OK;
+}//}}}
+
+ void
+gui_mch_set_foreground ()//{{{
+{
+ KWin::setActiveWindow(vmw->winId());
+}//}}}
+
+
+
diff --git a/src/kvim_iface.h b/src/kvim_iface.h
new file mode 100644
index 000000000..1084bc25d
--- /dev/null
+++ b/src/kvim_iface.h
@@ -0,0 +1,19 @@
+#ifndef KVIM_IFACE
+#define KVIM_IFACE
+
+#include <dcopobject.h>
+
+class KVim : virtual public DCOPObject
+{
+ K_DCOP
+public:
+
+k_dcop:
+ virtual void execInsert(QString command)=0;
+ virtual void execNormal(QString command)=0;
+ virtual void execRaw(QString command)=0;
+ virtual void execCmd(QString command)=0;
+ virtual QString eval(QString expr)=0;
+};
+
+#endif
diff --git a/src/main.c b/src/main.c
index 91854bf7a..5fd83394d 100644
--- a/src/main.c
+++ b/src/main.c
@@ -259,7 +259,7 @@ main
break;
# ifdef FEAT_XCLIPBOARD
else if (STRICMP(argv[i], "-display") == 0
-# ifdef FEAT_GUI_GTK
+# if defined(FEAT_GUI_GTK) || defined(FEAT_GUI_KDE)
|| STRICMP(argv[i], "--display") == 0
# endif
)
@@ -442,7 +442,7 @@ main
++initstr;
}
- if (TOLOWER_ASC(initstr[0]) == 'g')
+ if (TOLOWER_ASC(initstr[0]) == 'g' || initstr[0] == 'k')
{
main_start_gui();
#ifdef FEAT_GUI
@@ -1087,7 +1087,7 @@ scripterror:
#ifdef ALWAYS_USE_GUI
gui.starting = TRUE;
#else
-# if defined(FEAT_GUI_X11) || defined(FEAT_GUI_GTK)
+# if defined(FEAT_GUI_X11) || defined(FEAT_GUI_GTK) || defined(FEAT_GUI_KDE)
/*
* Check if the GUI can be started. Reset gui.starting if not.
* Don't know about other systems, stay on the safe side and don't check.
@@ -1170,7 +1170,7 @@ scripterror:
* For GTK we can't be sure, but when started from the desktop it doesn't
* make sense to try using a terminal.
*/
-#if defined(ALWAYS_USE_GUI) || defined(FEAT_GUI_X11) || defined(FEAT_GUI_GTK)
+#if defined(ALWAYS_USE_GUI) || defined(FEAT_GUI_X11) || defined(FEAT_GUI_GTK) || defined(FEAT_GUI_KDE)
if (gui.starting
# ifdef FEAT_GUI_GTK
&& !isatty(2)
@@ -2614,6 +2614,17 @@ usage()
# endif
main_msg(_("--socketid <xid>\tOpen Vim inside another GTK widget"));
#endif
+#ifdef FEAT_GUI_KDE
+ mch_msg(_("\nArguments recognised by kvim (KDE version):\n"));
+ main_msg(_("-black\t\tUse reverse video"));
+#if QT_VERSION>=300
+ main_msg(_("-tip\t\t\tDisplay the tip dialog on startup"));
+ main_msg(_("-notip\t\tDisable the tip dialog"));
+#endif
+ main_msg(_("-font <font>\t\tUse <font> for normal text (also: -fn)"));
+ main_msg(_("-geometry <geom>\tUse <geom> for initial geometry (also: -geom)"));
+ main_msg(_("--display <display>\tRun vim on <display>"));
+#endif
#ifdef FEAT_GUI_W32
main_msg(_("-P <parent title>\tOpen Vim inside parent application"));
#endif
diff --git a/src/mbyte.c b/src/mbyte.c
index 699316d0e..db7c6524d 100644
--- a/src/mbyte.c
+++ b/src/mbyte.c
@@ -690,6 +690,11 @@ codepage_invalid:
apply_autocmds(EVENT_ENCODINGCHANGED, NULL, (char_u *)"", FALSE, curbuf);
#endif
+#ifdef FEAT_GUI_KDE
+ if (gui.in_use)
+ gui_mch_update_codec();
+#endif
+
return NULL;
}
@@ -3976,7 +3981,7 @@ static int status_area_enabled = TRUE;
# endif
#endif
-#if defined(FEAT_GUI_GTK) || defined(PROTO)
+#if defined(FEAT_GUI_GTK) || defined(PROTO) || defined(FEAT_GUI_KDE)
static int preedit_buf_len = 0;
static int xim_can_preediting INIT(= FALSE); /* XIM in showmode() */
static int xim_input_style;
@@ -4112,7 +4117,7 @@ im_set_active(active)
/* If 'imdisable' is set, XIM is never active. */
if (p_imdisable)
active = FALSE;
-#ifndef FEAT_GUI_GTK
+#if !defined (FEAT_GUI_GTK) && !defined (FEAT_GUI_KDE)
else if (input_style & XIMPreeditPosition)
/* There is a problem in switching XIM off when preediting is used,
* and it is not clear how this can be solved. For now, keep XIM on
@@ -4386,6 +4391,8 @@ xim_set_preedit()
gdk_ic_set_attr(xic, attr, (GdkICAttributesType)attrmask);
}
#else /* FEAT_GUI_GTK */
+# ifdef FEAT_GUI_KDE
+# else
{
XVaNestedList attr_list;
XRectangle spot_area;
@@ -4432,6 +4439,7 @@ xim_set_preedit()
XFree(attr_list);
}
}
+# endif /* FEAT_GUI_KDE */
#endif /* FEAT_GUI_GTK */
}
@@ -4485,6 +4493,8 @@ xim_set_status_area()
}
# endif
#else
+# ifdef FEAT_GUI_KDE
+# else
{
XVaNestedList preedit_list = 0, status_list = 0, list = 0;
XRectangle pre_area, status_area;
@@ -4576,6 +4586,7 @@ xim_set_status_area()
if (preedit_list)
XFree(preedit_list);
}
+# endif /* FEAT_GUI_KDE */
#endif
}
@@ -5350,6 +5361,8 @@ xim_get_status_area_height()
#ifdef FEAT_GUI_GTK
if (xim_input_style & (int)GDK_IM_STATUS_AREA)
return gui.char_height;
+#elif defined FEAT_GUI_KDE
+#warning FIXME
#else
if (status_area_enabled)
return gui.char_height;
diff --git a/src/menu.c b/src/menu.c
index 052910f7e..fc8411fbf 100644
--- a/src/menu.c
+++ b/src/menu.c
@@ -96,7 +96,7 @@ ex_menu(eap)
char_u *arg;
char_u *p;
int i;
-#if defined(FEAT_GUI) && !defined(FEAT_GUI_GTK)
+#if defined(FEAT_GUI) && !defined(FEAT_GUI_GTK) && !defined(FEAT_GUI_KDE)
int old_menu_height;
# if defined(FEAT_TOOLBAR) && !defined(FEAT_GUI_W32) && !defined(FEAT_GUI_W16)
int old_toolbar_height;
@@ -320,7 +320,7 @@ ex_menu(eap)
EMSG(_(e_trailing));
goto theend;
}
-#if defined(FEAT_GUI) && !(defined(FEAT_GUI_GTK) || defined(FEAT_GUI_PHOTON))
+#if defined(FEAT_GUI) && !(defined(FEAT_GUI_GTK) || defined(FEAT_GUI_KDE) || defined(FEAT_GUI_PHOTON))
old_menu_height = gui.menu_height;
# if defined(FEAT_TOOLBAR) && !defined(FEAT_GUI_W32) && !defined(FEAT_GUI_W16)
old_toolbar_height = gui.toolbar_height;
@@ -437,7 +437,7 @@ ex_menu(eap)
vim_free(map_buf);
}
-#if defined(FEAT_GUI) && !defined(FEAT_GUI_GTK)
+#if defined(FEAT_GUI) && !(defined(FEAT_GUI_GTK) || defined(FEAT_GUI_KDE))
/* If the menubar height changed, resize the window */
if (gui.in_use
&& (gui.menu_height != old_menu_height
@@ -1843,7 +1843,7 @@ gui_update_menus(modes)
}
}
-#if defined(FEAT_GUI_MSWIN) || defined(FEAT_GUI_MOTIF) || defined(FEAT_GUI_GTK) \
+#if defined(FEAT_GUI_MSWIN) || defined(FEAT_GUI_MOTIF) || defined(FEAT_GUI_GTK) || defined(FEAT_GUI_KDE) \
|| defined(FEAT_GUI_PHOTON) || defined(PROTO)
/*
* Check if a key is used as a mnemonic for a toplevel menu.
@@ -2174,6 +2174,7 @@ ex_emenu(eap)
}
#if defined(FEAT_GUI_MSWIN) \
+ || (defined(FEAT_GUI_KDE) && defined(FEAT_MENU)) \
|| (defined(FEAT_GUI_GTK) && defined(FEAT_MENU)) \
|| defined(FEAT_BEVAL_TIP) || defined(PROTO)
/*
diff --git a/src/misc1.c b/src/misc1.c
index 6c5cb6ab2..63301103e 100644
--- a/src/misc1.c
+++ b/src/misc1.c
@@ -4055,7 +4055,7 @@ getnextcomp(fname)
#if defined(FEAT_MODIFY_FNAME) || defined(FEAT_EVAL) \
|| defined(FEAT_SESSION) || defined(MSWIN) \
- || (defined(FEAT_GUI_GTK) \
+ || ((defined(FEAT_GUI_GTK) || defined(FEAT_GUI_KDE)) \
&& (defined(FEAT_WINDOWS) || defined(FEAT_DND))) \
|| defined(FEAT_SUN_WORKSHOP) || defined(FEAT_NETBEANS_INTG) \
|| defined(PROTO)
diff --git a/src/misc2.c b/src/misc2.c
index 55c44a865..367894789 100644
--- a/src/misc2.c
+++ b/src/misc2.c
@@ -2668,8 +2668,8 @@ get_real_state()
}
#if defined(FEAT_SESSION) || defined(MSWIN) || defined(FEAT_GUI_MAC) \
- || (defined(FEAT_GUI_GTK) \
- && (defined(FEAT_WINDOWS) || defined(FEAT_DND))) \
+ || ((defined(FEAT_GUI_GTK) || defined(FEAT_GUI_KDE)) \
+ && ( defined(FEAT_WINDOWS) || defined(FEAT_DND)) ) \
|| defined(FEAT_SUN_WORKSHOP) || defined(FEAT_NETBEANS_INTG) \
|| defined(PROTO)
/*
diff --git a/src/normal.c b/src/normal.c
index 222e47589..8fb8c028d 100644
--- a/src/normal.c
+++ b/src/normal.c
@@ -2357,7 +2357,7 @@ do_mouse(oap, c, dir, count, fixindent)
* NOTE: Ignore right button down and drag mouse events.
* Windows only shows the popup menu on the button up event.
*/
-#if defined(FEAT_GUI_MOTIF) || defined(FEAT_GUI_GTK) || defined(FEAT_GUI_PHOTON)
+#if defined(FEAT_GUI_MOTIF) || defined(FEAT_GUI_GTK) || defined(FEAT_GUI_PHOTON) || defined(FEAT_GUI_KDE)
if (!is_click)
return FALSE;
#endif
@@ -2365,7 +2365,7 @@ do_mouse(oap, c, dir, count, fixindent)
if (is_click || is_drag)
return FALSE;
#endif
-#if defined(FEAT_GUI_MOTIF) || defined(FEAT_GUI_GTK) \
+#if defined(FEAT_GUI_MOTIF) || defined(FEAT_GUI_GTK) || defined(FEAT_GUI_KDE) \
|| defined(FEAT_GUI_ATHENA) || defined(FEAT_GUI_MSWIN) \
|| defined(FEAT_GUI_MAC) || defined(FEAT_GUI_PHOTON)
if (gui.in_use)
diff --git a/src/option.c b/src/option.c
index fcbddeae8..948018d3b 100644
--- a/src/option.c
+++ b/src/option.c
@@ -1019,14 +1019,14 @@ static struct vimoption
#endif
},
{"guiheadroom", "ghr", P_NUM|P_VI_DEF,
-#if defined(FEAT_GUI_GTK) || defined(FEAT_GUI_X11)
+#if defined(FEAT_GUI_GTK) || defined(FEAT_GUI_X11) || defined(FEAT_GUI_KDE)
(char_u *)&p_ghr, PV_NONE,
#else
(char_u *)NULL, PV_NONE,
#endif
{(char_u *)50L, (char_u *)0L}},
{"guioptions", "go", P_STRING|P_VI_DEF|P_RALL|P_FLAGLIST,
-#if defined(FEAT_GUI)
+#if defined(FEAT_GUI) || defined(FEAT_GUI_KDE)
(char_u *)&p_go, PV_NONE,
# if defined(UNIX) && !defined(MACOS)
{(char_u *)"agimrLtT", (char_u *)0L}
@@ -1112,7 +1112,7 @@ static struct vimoption
(char_u *)&p_ic, PV_NONE,
{(char_u *)FALSE, (char_u *)0L}},
{"imactivatekey","imak",P_STRING|P_VI_DEF,
-#if defined(FEAT_XIM) && defined(FEAT_GUI_GTK)
+#if defined(FEAT_XIM) && (defined(FEAT_GUI_GTK) || defined(FEAT_GUI_KDE))
(char_u *)&p_imak, PV_NONE,
#else
(char_u *)NULL, PV_NONE,
@@ -4906,7 +4906,7 @@ did_set_string_option(opt_idx, varp, new_value_alloced, oldval, errbuf,
}
#endif
-#if defined(FEAT_XIM) && defined(FEAT_GUI_GTK)
+#if defined(FEAT_XIM) && ( defined(FEAT_GUI_GTK) || defined(FEAT_GUI_KDE) )
else if (varp == &p_imak)
{
if (gui.in_use && !im_xim_isvalid_imactivate())
@@ -5163,7 +5163,7 @@ did_set_string_option(opt_idx, varp, new_value_alloced, oldval, errbuf,
if (gui.in_use)
{
p = p_guifont;
-# ifdef FEAT_GUI_GTK
+# if defined(FEAT_GUI_GTK) || defined(FEAT_GUI_KDE)
/*
* Put up a font dialog and let the user select a new value.
* If this is cancelled go back to the old value but don't
diff --git a/src/option.h b/src/option.h
index 1d2b83c2a..7e04190d6 100644
--- a/src/option.h
+++ b/src/option.h
@@ -466,7 +466,7 @@ EXTERN char_u *p_guifontwide; /* 'guifontwide' */
# endif
EXTERN int p_guipty; /* 'guipty' */
#endif
-#if defined(FEAT_GUI_GTK) || defined(FEAT_GUI_X11)
+#if defined(FEAT_GUI_GTK) || defined(FEAT_GUI_X11) || defined(FEAT_GUI_KDE)
EXTERN long p_ghr; /* 'guiheadroom' */
#endif
#ifdef CURSOR_SHAPE
@@ -512,7 +512,7 @@ EXTERN int p_icon; /* 'icon' */
EXTERN char_u *p_iconstring; /* 'iconstring' */
#endif
EXTERN int p_ic; /* 'ignorecase' */
-#if defined(FEAT_XIM) && defined(FEAT_GUI_GTK)
+#if defined(FEAT_XIM) && (defined(FEAT_GUI_GTK) || defined(FEAT_GUI_KDE))
EXTERN char_u *p_imak; /* 'imactivatekey' */
#endif
#ifdef USE_IM_CONTROL
@@ -773,7 +773,7 @@ static char *(p_ve_values[]) = {"block", "insert", "all", NULL};
EXTERN long p_verbose; /* 'verbose' */
EXTERN int p_warn; /* 'warn' */
#if defined(FEAT_GUI_MSWIN) || defined(FEAT_GUI_MOTIF) || defined(LINT) \
- || defined (FEAT_GUI_GTK) || defined(FEAT_GUI_PHOTON)
+ || defined (FEAT_GUI_GTK) || defined(FEAT_GUI_PHOTON) || defined(FEAT_GUI_KDE)
#define FEAT_WAK
EXTERN char_u *p_wak; /* 'winaltkeys' */
#endif
diff --git a/src/os_mswin.c b/src/os_mswin.c
index 97803a89d..d199f3e24 100644
--- a/src/os_mswin.c
+++ b/src/os_mswin.c
@@ -155,12 +155,7 @@ extern char g_szOrigTitle[];
#ifdef FEAT_GUI
extern HWND s_hwnd;
#else
-# if (defined(FEAT_PRINTER) && !defined(FEAT_POSTSCRIPT)) \
- || defined(FEAT_CLIENTSERVER) \
- || (defined(FEAT_EVAL) && !defined(FEAT_GUI))
-# define HAVE_GETCONSOLEHWND
static HWND s_hwnd = 0; /* console window handle, set by GetConsoleHwnd() */
-# endif
#endif
extern int WSInitialized;
@@ -1537,7 +1532,7 @@ Trace(
#endif //_DEBUG
-#ifdef HAVE_GETCONSOLEHWND
+#if !defined(FEAT_GUI) || defined(PROTO)
# if defined(FEAT_TITLE) && defined(WIN3264)
extern HWND g_hWnd; /* This is in os_win32.c. */
# endif
@@ -1580,6 +1575,32 @@ GetConsoleHwnd(void)
SetConsoleTitle(pszOldWindowTitle);
}
+
+/*
+ * Console implementation of ":winpos".
+ */
+ int
+mch_get_winpos(int *x, int *y)
+{
+ RECT rect;
+
+ GetConsoleHwnd();
+ GetWindowRect(s_hwnd, &rect);
+ *x = rect.left;
+ *y = rect.top;
+ return OK;
+}
+
+/*
+ * Console implementation of ":winpos x y".
+ */
+ void
+mch_set_winpos(int x, int y)
+{
+ GetConsoleHwnd();
+ SetWindowPos(s_hwnd, NULL, x, y, 0, 0,
+ SWP_NOZORDER | SWP_NOSIZE | SWP_NOACTIVATE);
+}
#endif
#if (defined(FEAT_PRINTER) && !defined(FEAT_POSTSCRIPT)) || defined(PROTO)
diff --git a/src/os_unix.c b/src/os_unix.c
index b59d8ff5d..597ca3d34 100644
--- a/src/os_unix.c
+++ b/src/os_unix.c
@@ -1222,6 +1222,13 @@ x_error_handler(dpy, error_event)
Display *dpy;
XErrorEvent *error_event;
{
+ /* KDE sometimes produces X error that we want to ignore */
+#if defined(FEAT_GUI_KDE)
+ XGetErrorText(dpy, error_event->error_code, (char *)IObuff, IOSIZE);
+ STRCAT(IObuff, "\nVim: Got X error but we continue...\n");
+ fprintf(stderr, IObuff);
+ return 0;
+#else
XGetErrorText(dpy, error_event->error_code, (char *)IObuff, IOSIZE);
STRCAT(IObuff, _("\nVim: Got X error\n"));
@@ -1231,6 +1238,7 @@ x_error_handler(dpy, error_event)
preserve_exit(); /* preserve files and exit */
return 0; /* NOTREACHED */
+#endif
}
/*
@@ -1371,7 +1379,7 @@ get_x11_windis()
did_set_error_handler = TRUE;
}
-#if defined(FEAT_GUI_X11) || defined(FEAT_GUI_GTK)
+#if defined(FEAT_GUI_X11) || defined(FEAT_GUI_GTK) || defined(FEAT_GUI_KDE)
if (gui.in_use)
{
/*
@@ -1798,7 +1806,10 @@ mch_settitle(title, icon)
* Note: if "t_TS" is set, title is set with escape sequence rather
* than x11 calls, because the x11 calls don't always work
*/
-
+#ifdef FEAT_GUI_KDE
+ /* dont know why but KDE needs this one as we don't go through the next function... */
+ gui_mch_settitle(title, icon);
+#endif
if ((type || *T_TS != NUL) && title != NULL)
{
if (oldtitle == NULL
diff --git a/src/os_unixx.h b/src/os_unixx.h
index 9f4f7eb60..abed14d3b 100644
--- a/src/os_unixx.h
+++ b/src/os_unixx.h
@@ -92,6 +92,12 @@
# if defined(HAVE_LIMITS_H) && !defined(_LIMITS_H)
# include <limits.h> /* for SYS_NMLN (Sinix 5.41 / Unix SysV.4) */
# endif
+
+/* Define SYS_NMLN ourselves if it still isn't defined (for CrayT3E). */
+# ifndef SYS_NMLN
+# define SYS_NMLN 32
+# endif
+
# include <sys/systeminfo.h> /* for sysinfo */
#endif
diff --git a/src/proto.h b/src/proto.h
index d89c84731..2471bb67f 100644
--- a/src/proto.h
+++ b/src/proto.h
@@ -20,7 +20,7 @@
* Machine-dependent routines.
*/
/* avoid errors in function prototypes */
-# if !defined(FEAT_X11) && !defined(FEAT_GUI_GTK)
+# if !defined(FEAT_X11) && !defined(FEAT_GUI_GTK) && !defined(FEAT_GUI_KDE)
# define Display int
# define Widget int
# endif
@@ -180,6 +180,10 @@ extern char_u *vimpty_getenv __ARGS((const char_u *string)); /* from pty.c */
# ifdef FEAT_GUI_W32
# include "gui_w32.pro"
# endif
+# ifdef FEAT_GUI_KDE
+# include "gui_kde.pro"
+# include "gui_kde_x11.pro"
+# endif
# ifdef FEAT_GUI_GTK
# include "gui_gtk.pro"
# include "gui_gtk_x11.pro"
diff --git a/src/proto/gui_kde.pro b/src/proto/gui_kde.pro
new file mode 100644
index 000000000..3a52fa77c
--- /dev/null
+++ b/src/proto/gui_kde.pro
@@ -0,0 +1,19 @@
+/* gui_kde.c */
+void gui_mch_add_menu __ARGS((vimmenu_T *menu, int idx));
+void gui_mch_add_menu_item __ARGS((vimmenu_T *menu, int idx));
+void gui_mch_set_text_area_pos __ARGS((int x, int y, int w, int h));
+void gui_gtk_set_mnemonics __ARGS((int enable));
+void gui_mch_toggle_tearoffs __ARGS((int enable));
+void gui_mch_destroy_menu __ARGS((vimmenu_T *menu));
+void gui_mch_set_scrollbar_thumb __ARGS((scrollbar_T *sb, long val, long size, long max));
+void gui_mch_set_scrollbar_pos __ARGS((scrollbar_T *sb, int x, int y, int w, int h));
+void gui_mch_create_scrollbar __ARGS((scrollbar_T *sb, int orient));
+void gui_mch_destroy_scrollbar __ARGS((scrollbar_T *sb));
+char_u *gui_mch_browse __ARGS((int saving, char_u *title, char_u *dflt, char_u *ext, char_u *initdir, char_u *filter));
+int gui_mch_dialog __ARGS((int type, char_u *title, char_u *message, char_u *buttons, int def_but, char_u *textfield));
+void gui_mch_show_popupmenu __ARGS((vimmenu_T *menu));
+void gui_mch_find_dialog __ARGS((exarg_T *eap));
+void gui_mch_replace_dialog __ARGS((exarg_T *eap));
+void ex_helpfind __ARGS((exarg_T *eap));
+void gui_make_popup __ARGS((char_u *path_name));
+/* vim: set ft=c : */
diff --git a/src/proto/gui_kde_x11.pro b/src/proto/gui_kde_x11.pro
new file mode 100644
index 000000000..7d968d9c5
--- /dev/null
+++ b/src/proto/gui_kde_x11.pro
@@ -0,0 +1,62 @@
+/* gui_kde_x11.c */
+void gui_mch_prepare __ARGS((int *argc, char **argv));
+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));
+int gui_mch_init_check __ARGS((void));
+int gui_mch_init __ARGS((void));
+void gui_mch_new_colors __ARGS((void));
+int gui_mch_open __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));
+void gui_mch_enable_menu __ARGS((int flag));
+void gui_mch_show_toolbar __ARGS((int showit));
+int gui_mch_adjust_charsize __ARGS((void));
+GuiFontset gui_mch_get_fontset __ARGS((char_u *name, int report_error, int fixed_width));
+int gui_mch_init_font __ARGS((char_u *font_name, int fontset));
+GuiFont gui_mch_get_font __ARGS((char_u *name, int report_error));
+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));
+guicolor_T gui_mch_get_color __ARGS((char_u *name));
+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));
+int gui_get_x11_windis __ARGS((Window *win, Display **dis));
+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_request_selection __ARGS((VimClipboard *cbd));
+void clip_mch_lose_selection __ARGS((VimClipboard *cbd));
+int clip_mch_own_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_enable_scrollbar __ARGS((scrollbar_T *sb, int flag));
+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_mousehide __ARGS((int hide));
+void mch_set_mouse_shape __ARGS((int shape));
+char_u *gui_mch_font_dialog __ARGS((char_u *oldval));
+void gui_mch_settitle __ARGS((char_u *title,char_u *icon));
+void gui_mch_update_codec __ARGS((void));
+/* vim: set ft=c : */
diff --git a/src/proto/misc2.pro b/src/proto/misc2.pro
index cbe2af759..899018be5 100644
--- a/src/proto/misc2.pro
+++ b/src/proto/misc2.pro
@@ -17,7 +17,9 @@ void check_cursor __ARGS((void));
void adjust_cursor_col __ARGS((void));
int leftcol_changed __ARGS((void));
void vim_mem_profile_dump __ARGS((void));
+#ifndef __cplusplus
char_u *alloc __ARGS((unsigned size));
+#endif
char_u *alloc_clear __ARGS((unsigned size));
char_u *alloc_check __ARGS((unsigned size));
char_u *lalloc_clear __ARGS((long_u size, int message));
diff --git a/src/proto/os_mswin.pro b/src/proto/os_mswin.pro
index b4612f0d0..c9e495d61 100644
--- a/src/proto/os_mswin.pro
+++ b/src/proto/os_mswin.pro
@@ -33,6 +33,8 @@ char_u *ucs2_to_enc __ARGS((short_u *str, int *lenp));
void clip_mch_request_selection __ARGS((VimClipboard *cbd));
void clip_mch_set_selection __ARGS((VimClipboard *cbd));
void DumpPutS __ARGS((const char *psz));
+int mch_get_winpos __ARGS((int *x, int *y));
+void mch_set_winpos __ARGS((int x, int y));
void mch_print_cleanup __ARGS((void));
int mch_print_init __ARGS((prt_settings_T *psettings, char_u *jobname, int forceit));
int mch_print_begin __ARGS((prt_settings_T *psettings));
diff --git a/src/screen.c b/src/screen.c
index 594c42479..8a5b4214b 100644
--- a/src/screen.c
+++ b/src/screen.c
@@ -2594,7 +2594,7 @@ win_line(wp, lnum, startrow, endrow)
#endif
#define WL_LINE WL_SBR + 1 /* text in the line */
int draw_state = WL_START; /* what to draw next */
-#if defined(FEAT_XIM) && defined(FEAT_GUI_GTK)
+#if defined(FEAT_XIM) && (defined(FEAT_GUI_GTK) || defined(FEAT_GUI_KDE))
int feedback_col = 0;
int feedback_old_attr = -1;
#endif
@@ -3785,7 +3785,7 @@ win_line(wp, lnum, startrow, endrow)
&& (search_attr == 0 || char_attr != search_attr))
char_attr = extra_attr;
-#if defined(FEAT_XIM) && defined(FEAT_GUI_GTK)
+#if defined(FEAT_XIM) && (defined(FEAT_GUI_GTK) || defined(FEAT_GUI_KDE))
/* XIM don't send preedit_start and preedit_end, but they send
* preedit_changed and commit. Thus Vim can't set "im_is_active", use
* im_is_preediting() here. */
diff --git a/src/structs.h b/src/structs.h
index 0edd729da..9e6d4e249 100644
--- a/src/structs.h
+++ b/src/structs.h
@@ -1751,6 +1751,9 @@ struct VimMenu
Widget id; /* Manage this to enable item */
Widget submenu_id; /* If this is submenu, add children here */
#endif
+#ifdef FEAT_GUI_KDE
+ QPopupMenu *widget;
+#endif
#ifdef FEAT_GUI_GTK
GtkWidget *id; /* Manage this to enable item */
GtkWidget *submenu_id; /* If this is submenu, add children here */
diff --git a/src/ui.c b/src/ui.c
index ebbf85dbb..47ff80ec6 100644
--- a/src/ui.c
+++ b/src/ui.c
@@ -1511,7 +1511,7 @@ vim_free_in_input_buf()
}
#endif
-#if defined(FEAT_GUI_GTK) || defined(PROTO)
+#if defined(FEAT_GUI_GTK) || defined(FEAT_GUI_KDE) || defined(PROTO)
int
vim_used_in_input_buf()
{
@@ -1593,7 +1593,7 @@ add_to_input_buf(s, len)
}
#endif
-#if (defined(FEAT_XIM) && defined(FEAT_GUI_GTK)) \
+#if (defined(FEAT_XIM) && (defined(FEAT_GUI_GTK) || defined(FEAT_GUI_KDE))) \
|| (defined(FEAT_MBYTE) && defined(FEAT_MBYTE_IME)) \
|| defined(PROTO)
/*
@@ -2876,7 +2876,7 @@ mouse_find_win(rowp, colp)
}
#endif
-#if defined(FEAT_GUI_MOTIF) || defined(FEAT_GUI_GTK) || defined (FEAT_GUI_MAC) \
+#if defined(FEAT_GUI_MOTIF) || defined(FEAT_GUI_GTK) || defined (FEAT_GUI_MAC) || defined (FEAT_GUI_KDE) \
|| defined(FEAT_GUI_ATHENA) || defined(FEAT_GUI_MSWIN) \
|| defined(FEAT_GUI_PHOTON) || defined(PROTO)
/*
diff --git a/src/version.c b/src/version.c
index 01293435e..a51550fe6 100644
--- a/src/version.c
+++ b/src/version.c
@@ -859,6 +859,10 @@ list_version()
# else
# if defined (MACOS)
MSG_PUTS(_("with (classic) GUI."));
+# else
+# ifdef FEAT_GUI_KDE
+ MSG_PUTS(_("with KDE GUI."));
+# endif
# endif
# endif
# endif
diff --git a/src/version.h b/src/version.h
index 2d98d2874..5799d9cc4 100644
--- a/src/version.h
+++ b/src/version.h
@@ -36,5 +36,5 @@
#define VIM_VERSION_NODOT "vim70aa"
#define VIM_VERSION_SHORT "7.0aa"
#define VIM_VERSION_MEDIUM "7.0aa ALPHA"
-#define VIM_VERSION_LONG "VIM - Vi IMproved 7.0aa ALPHA (2004 June 7)"
-#define VIM_VERSION_LONG_DATE "VIM - Vi IMproved 7.0aa ALPHA (2004 June 7, compiled "
+#define VIM_VERSION_LONG "VIM - Vi IMproved 7.0aa ALPHA (2004 June 30)"
+#define VIM_VERSION_LONG_DATE "VIM - Vi IMproved 7.0aa ALPHA (2004 June 30, compiled "
diff --git a/src/vim.h b/src/vim.h
index c3482017e..d19668845 100644
--- a/src/vim.h
+++ b/src/vim.h
@@ -88,7 +88,8 @@
|| defined(FEAT_GUI_W16) \
|| defined(FEAT_GUI_BEOS) \
|| defined(FEAT_GUI_AMIGA) \
- || defined(FEAT_GUI_PHOTON)
+ || defined(FEAT_GUI_PHOTON) \
+ || defined(FEAT_GUI_KDE)
# ifndef FEAT_GUI
# define FEAT_GUI
# endif
@@ -212,7 +213,15 @@
# define __PARMS(x) __ARGS(x)
#endif
-#if defined(UNIX) && !defined(MACOS_X) /* MACOS_X doesn't yet support osdef.h */
+/* if we're compiling in C++ (currently only KVim), the system
+ * headers must have the correct prototypes or nothing will build.
+ * conversely, our prototypes might clash due to throw() specifiers and
+ * cause compilation failures even though the headers are correct. for
+ * a concrete example, gcc-3.2 enforces exception specifications, and
+ * glibc-2.2.5 has them in their system headers.
+ */
+#if !defined(__cplusplus) && defined(UNIX) \
+ && !defined(MACOS_X) /* MACOS_X doesn't yet support osdef.h */
# include "auto/osdef.h" /* bring missing declarations in */
#endif
@@ -1022,6 +1031,9 @@ enum auto_event
EVENT_FOCUSGAINED, /* got the focus */
EVENT_FOCUSLOST, /* lost the focus to another app */
EVENT_GUIENTER, /* after starting the GUI */
+ EVENT_INSERTCHANGE, /* when changing Insert/Replace mode */
+ EVENT_INSERTENTER, /* when entering Insert mode */
+ EVENT_INSERTLEAVE, /* when leaving Insert mode */
EVENT_STDINREADPOST, /* after reading from stdin */
EVENT_STDINREADPRE, /* before reading from stdin */
EVENT_SYNTAX, /* syntax selected */
@@ -1473,7 +1485,8 @@ int vim_memcmp __ARGS((void *, void *, size_t));
#define VV_THROWPOINT 30
#define VV_REG 31
#define VV_CMDBANG 32
-#define VV_LEN 33 /* number of v: vars */
+#define VV_INSERTMODE 33
+#define VV_LEN 34 /* number of v: vars */
#ifdef FEAT_CLIPBOARD
@@ -1572,7 +1585,7 @@ typedef int VimClipboard; /* This is required for the prototypes. */
* been seen at that stage. But it must be before globals.h, where error_ga
* is declared. */
#if !defined(FEAT_GUI_W32) && !defined(FEAT_GUI_X11) \
- && !defined(FEAT_GUI_GTK) && !defined(FEAT_GUI_MAC)
+ && !defined(FEAT_GUI_GTK) && !defined(FEAT_GUI_KDE) && !defined(FEAT_GUI_MAC)
# define mch_errmsg(str) fprintf(stderr, "%s", (str))
# define display_errors() fflush(stderr)
# define mch_msg(str) printf("%s", (str))