diff options
author | Bram Moolenaar <Bram@vim.org> | 2004-06-30 16:16:41 +0000 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2004-06-30 16:16:41 +0000 |
commit | 843ee41eb8258ac50ed81976757d8b228382a880 (patch) | |
tree | d0fcdff9e19b05b182de1bb1be46b2e6f5b8b0b7 /src | |
parent | f4b8e57ffd048f9ca46dd7618939ba7a1b2294ec (diff) | |
download | vim-git-843ee41eb8258ac50ed81976757d8b228382a880.tar.gz |
updated for version 7.0003
Diffstat (limited to 'src')
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")); @@ -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)); /* @@ -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 */ @@ -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 " @@ -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)) |