]> git.ipfire.org Git - thirdparty/vim.git/commitdiff
patch 7.4.1433 v7.4.1433
authorBram Moolenaar <Bram@vim.org>
Sat, 27 Feb 2016 17:13:23 +0000 (18:13 +0100)
committerBram Moolenaar <Bram@vim.org>
Sat, 27 Feb 2016 17:13:23 +0000 (18:13 +0100)
Problem:    The Sniff interface is no longer useful, the tool has not been
            available for may years.
Solution:   Delete the Sniff interface and related code.

30 files changed:
runtime/doc/if_sniff.txt
src/Make_mvc.mak
src/Make_vms.mms
src/Makefile
src/auto/configure
src/charset.c
src/config.h.in
src/config.mk.in
src/configure.in
src/edit.c
src/eval.c
src/ex_cmds.h
src/ex_cmds2.c
src/ex_docmd.c
src/ex_getln.c
src/feature.h
src/gui_gtk_x11.c
src/gui_w32.c
src/gui_x11.c
src/if_sniff.c [deleted file]
src/if_sniff.h [deleted file]
src/keymap.h
src/normal.c
src/os_unix.c
src/os_win32.c
src/structs.h
src/term.c
src/ui.c
src/version.c
src/vim.h

index a3d52085f2c9f736d88da0a24554458e92666c23..6feaa53da50faefce66971af35e4b9f69213199b 100644 (file)
@@ -1,95 +1,11 @@
-*if_sniff.txt* For Vim version 7.4.  Last change: 2005 Mar 29
+*if_sniff.txt* For Vim version 7.4.  Last change: 2016 Feb 27
 
 
                  VIM REFERENCE MANUAL
                by Anton Leherbauer (toni@takefive.co.at)
 
 
-SNiFF+ and Vim                             *sniff*
-
-1. Introduction                                    |sniff-intro|
-2. Commands                                |sniff-commands|
-3. Compiling Vim with SNiFF+ interface     |sniff-compiling|
-
-{Vi does not have any of these commands}  *E275* *E274* *E276* *E278* *E279*
-
-The SNiFF+ interface only works, when Vim was compiled with the |+sniff|
-feature.
-
-==============================================================================
-1. Introduction                                        *sniff-intro*
-
-The following features for the use with SNiFF+ are available:
-
-   * Vim can be used for all editing requests
-   * SNiFF+ recognizes and updates all browsers when a file is saved in Vim
-   * SNiFF+ commands can be issued directly from Vim
-
-How to use Vim with SNiFF+
-   1. Make sure SNiFF+ is running.
-   2. In the Editor view of the Preferences dialog set the Field named
-      'External Editor' to 'Emacs/Vim'.
-   4. Start Vim
-   5. Connect to SNiFF+ (:sniff connect)
-
-Once a connection is established, SNiFF+ uses Vim for all requests to show or
-edit source code.  On the other hand, you can send queries to SNiFF+ with the
-:sniff command.
-
-==============================================================================
-2. Commands                                *sniff-commands*
-
-                           *:sniff* *:sni*
-:sni[ff] request [symbol]   Send request to sniff with optional symbol.
-                           {not in Vi}
-:sni[ff]                   Display all possible requests and the connection
-                           status
-
-Most requests require a symbol (identifier) as parameter.  If it is omitted,
-Vim will use the current word under the cursor.
-The available requests are listed below:
-
-request                      mapping   description
--------------------------------------------------------------------------------
-connect                        sc      Establish connection with SNiFF+.
-                               Make sure SNiFF+ is prepared for this in the
-                               Preferences
-disconnect             sq      Disconnect from SNiFF+.  You can reconnect any
-                               time with :sniff connect (or 'sc')
-toggle                 st      Toggle between implementation
-                               and definition file
-find-symbol            sf      Load the symbol into a Symbol Browser
-browse-class           sb      Loads the class into a Class Browser
-superclass             ss      Edit superclass of symbol
-overridden             so      Edit overridden method of symbol
-retrieve-file          srf     Retrieve symbol in current file
-retrieve-project       srp     Retrieve symbol in current project
-retrieve-all-projects  srP     Retrieve symbol in all projects
-retrieve-next          sR      Retrieve symbol using current Retriever
-                               settings
-goto-symbol            sg      Goto definition or implementation of symbol
-hierarchy              sh      Load symbol into the Hierarchy Browser
-restr-hier             sH      same as above but show only related classes
-xref-to                        sxt     Start a refers-to query on symbol and
-                               load the results into the Cross Referencer
-xref-by                        sxb     Start a referred-by query on symbol
-xref-has               sxh     Start a refers-to components query on symbol
-xref-used-by           sxu     Start a referred-by as component query on
-                               symbol
-show-docu              sd      Show documentation of symbol
-gen-docu               sD      Generate documentation of symbol
-
-The mappings are defined in a file 'sniff.vim', which is part of every SNiFF+
-product ($SNIFF_DIR/config/sniff.vim).  This file is sourced whenever Vim
-connects to SNiFF+.
-
-==============================================================================
-3. Compiling Vim with SNiFF+ interface         *sniff-compiling*
-
-To compile Vim with SNiFF+ support, you need two source files of the extra
-archive: if_sniff.c and if_sniff.h.
-On Unix: Edit the Makefile and uncomment the line "--enable-sniff".  Or run
-configure manually with this argument.
-On NT: Specify SNIFF=yes with your make command.
+The SNiFF+ support was removed at patch 7.4.1433.  If you want to check it out
+sync to before that.
 
  vim:tw=78:ts=8:ft=help:norl:
index 0843d25c42c83afbc8c9cf116f326ce52ea6a9a2..4378e0077942147047a94d68ee601d055ab24faf 100644 (file)
@@ -82,8 +82,6 @@
 #        TCL_VER_LONG=[Tcl version, eg 8.3] (default is 8.3)
 #          You must set TCL_VER_LONG when you set TCL_VER.
 #
-#      SNiFF+ interface: SNIFF=yes
-#
 #      Cscope support: CSCOPE=yes
 #
 #      Iconv library support (always dynamically loaded):
@@ -269,16 +267,6 @@ WP64CHECK = /Wp64
 CTAGS = ctags
 !endif
 
-!if "$(SNIFF)" == "yes"
-# SNIFF - Include support for SNiFF+.
-SNIFF_INCL  = if_sniff.h
-SNIFF_OBJ   = $(OBJDIR)/if_sniff.obj
-SNIFF_LIB   = shell32.lib
-SNIFF_DEFS  = -DFEAT_SNIFF
-# The SNiFF integration needs multithreaded libraries!
-MULTITHREADED = yes
-!endif
-
 !ifndef CSCOPE
 CSCOPE = yes
 !endif
@@ -380,7 +368,7 @@ WINVER = 0x0501
 #VIMRUNTIMEDIR = somewhere
 
 CFLAGS = -c /W3 /nologo $(CVARS) -I. -Iproto -DHAVE_PATHDEF -DWIN32 \
-               $(SNIFF_DEFS) $(CSCOPE_DEFS) $(NETBEANS_DEFS) $(CHANNEL_DEFS) \
+               $(CSCOPE_DEFS) $(NETBEANS_DEFS) $(CHANNEL_DEFS) \
                $(NBDEBUG_DEFS) $(XPM_DEFS) \
                $(DEFINES) -DWINVER=$(WINVER) -D_WIN32_WINNT=$(WINVER) \
                /Fo$(OUTDIR)/ 
@@ -528,7 +516,7 @@ CFLAGS = $(CFLAGS) /Zl /MTd
 !endif # DEBUG
 
 INCL = vim.h os_win32.h ascii.h feature.h globals.h keymap.h macros.h \
-       proto.h option.h structs.h term.h $(SNIFF_INCL) $(CSCOPE_INCL) \
+       proto.h option.h structs.h term.h $(CSCOPE_INCL) \
        $(NBDEBUG_INCL)
 
 OBJ = \
@@ -997,7 +985,7 @@ conflags = $(conflags) /map /mapinfo:lines
 !ENDIF
 
 LINKARGS1 = $(linkdebug) $(conflags)
-LINKARGS2 = $(CON_LIB) $(GUI_LIB) $(NODEFAULTLIB) $(LIBC) $(OLE_LIB) user32.lib $(SNIFF_LIB) \
+LINKARGS2 = $(CON_LIB) $(GUI_LIB) $(NODEFAULTLIB) $(LIBC) $(OLE_LIB) user32.lib \
                $(LUA_LIB) $(MZSCHEME_LIB) $(PERL_LIB) $(PYTHON_LIB) $(PYTHON3_LIB) $(RUBY_LIB) \
                $(TCL_LIB) $(NETBEANS_LIB) $(XPM_LIB) $(LINK_PDB)
 
@@ -1020,12 +1008,12 @@ all:    $(VIM).exe \
 
 $(VIM).exe: $(OUTDIR) $(OBJ) $(GUI_OBJ) $(OLE_OBJ) $(OLE_IDL) $(MZSCHEME_OBJ) \
                $(LUA_OBJ) $(PERL_OBJ) $(PYTHON_OBJ) $(PYTHON3_OBJ) $(RUBY_OBJ) $(TCL_OBJ) \
-               $(SNIFF_OBJ) $(CSCOPE_OBJ) $(NETBEANS_OBJ) $(CHANNEL_OBJ) $(XPM_OBJ) \
+               $(CSCOPE_OBJ) $(NETBEANS_OBJ) $(CHANNEL_OBJ) $(XPM_OBJ) \
                version.c version.h
        $(CC) $(CFLAGS) version.c
        $(link) $(LINKARGS1) -out:$(VIM).exe $(OBJ) $(GUI_OBJ) $(OLE_OBJ) \
                $(LUA_OBJ) $(MZSCHEME_OBJ) $(PERL_OBJ) $(PYTHON_OBJ) $(PYTHON3_OBJ) $(RUBY_OBJ) \
-               $(TCL_OBJ) $(SNIFF_OBJ) $(CSCOPE_OBJ) $(NETBEANS_OBJ) $(CHANNEL_OBJ) \
+               $(TCL_OBJ) $(CSCOPE_OBJ) $(NETBEANS_OBJ) $(CHANNEL_OBJ) \
                $(XPM_OBJ) $(OUTDIR)\version.obj $(LINKARGS2)
        if exist $(VIM).exe.manifest mt.exe -nologo -manifest $(VIM).exe.manifest -updateresource:$(VIM).exe;1
 
@@ -1212,9 +1200,6 @@ $(OUTDIR)/if_ole.obj: $(OUTDIR) if_ole.cpp  $(INCL) if_ole.h
 $(OUTDIR)/if_ruby.obj: $(OUTDIR) if_ruby.c  $(INCL)
        $(CC) $(CFLAGS) $(RUBY_INC) if_ruby.c
 
-$(OUTDIR)/if_sniff.obj:        $(OUTDIR) if_sniff.c  $(INCL)
-       $(CC) $(CFLAGS) if_sniff.c
-
 $(OUTDIR)/if_tcl.obj: $(OUTDIR) if_tcl.c  $(INCL)
        $(CC) $(CFLAGS) $(TCL_INC) if_tcl.c
 
index da535b90f5933cc0aeeea46880c753b9551c32ba..35167cb78dd792c8b0911ac6c2c91b2e68b97298 100644 (file)
@@ -2,7 +2,7 @@
 # Makefile for Vim on OpenVMS
 #
 # Maintainer:   Zoltan Arpadffy <arpadffy@polarhome.com>
-# Last change:  2016 Jan 22
+# Last change:  2016 Feb 27
 #
 # This has script been tested on VMS 6.2 to 8.2 on DEC Alpha, VAX and IA64
 # with MMS and MMK
@@ -66,7 +66,6 @@ CCVER = YES
 # VIM_PERL   = YES
 # VIM_PYTHON = YES
 # VIM_RUBY   = YES
-# VIM_SNIFF  = YES
 
 # X Input Method.  For entering special languages like chinese and
 # Japanese. Please define just one: VIM_XIM or VIM_HANGULIN
@@ -228,15 +227,6 @@ TCL_LIB = ,OS_VMS_TCL.OPT/OPT
 TCL_INC = ,dka0:[tcl80.generic]
 .ENDIF
 
-.IFDEF VIM_SNIFF
-# SNIFF related setup.
-SNIFF_DEF = ,"FEAT_SNIFF"
-SNIFF_SRC = if_sniff.c
-SNIFF_OBJ = if_sniff.obj
-SNIFF_LIB =
-SNIFF_INC =
-.ENDIF
-
 .IFDEF VIM_RUBY
 # RUBY related setup.
 RUBY_DEF = ,"FEAT_RUBY"
@@ -293,7 +283,7 @@ VIMHOST = "''F$TRNLNM("SYS$NODE")'''F$TRNLNM("UCX$INET_HOST")'.''F$TRNLNM("UCX$I
 .SUFFIXES : .obj .c
 
 ALL_CFLAGS = /def=($(MODEL_DEF)$(DEFS)$(DEBUG_DEF)$(PERL_DEF)$(PYTHON_DEF) -
- $(TCL_DEF)$(SNIFF_DEF)$(RUBY_DEF)$(XIM_DEF)$(HANGULIN_DEF)$(TAG_DEF)$(MZSCH_DEF)$(ICONV_DEF)) -
+ $(TCL_DEF)$(RUBY_DEF)$(XIM_DEF)$(HANGULIN_DEF)$(TAG_DEF)$(MZSCH_DEF)$(ICONV_DEF)) -
  $(CFLAGS)$(GUI_FLAG) -
  /include=($(C_INC)$(GUI_INC_DIR)$(GUI_INC)$(PERL_INC)$(PYTHON_INC)$(TCL_INC))
 
@@ -302,12 +292,12 @@ ALL_CFLAGS = /def=($(MODEL_DEF)$(DEFS)$(DEBUG_DEF)$(PERL_DEF)$(PYTHON_DEF) -
 # as $(GUI_INC) - replaced with $(GUI_INC_VER)
 # Otherwise should not be any other difference.
 ALL_CFLAGS_VER = /def=($(MODEL_DEF)$(DEFS)$(DEBUG_DEF)$(PERL_DEF)$(PYTHON_DEF) -
- $(TCL_DEF)$(SNIFF_DEF)$(RUBY_DEF)$(XIM_DEF)$(HANGULIN_DEF)$(TAG_DEF)$(MZSCH_DEF)$(ICONV_DEF)) -
+ $(TCL_DEF)$(RUBY_DEF)$(XIM_DEF)$(HANGULIN_DEF)$(TAG_DEF)$(MZSCH_DEF)$(ICONV_DEF)) -
  $(CFLAGS)$(GUI_FLAG) -
  /include=($(C_INC)$(GUI_INC_DIR)$(GUI_INC_VER)$(PERL_INC)$(PYTHON_INC)$(TCL_INC))
 
 ALL_LIBS = $(LIBS) $(GUI_LIB_DIR) $(GUI_LIB) \
-          $(PERL_LIB) $(PYTHON_LIB) $(TCL_LIB) $(SNIFF_LIB) $(RUBY_LIB)
+          $(PERL_LIB) $(PYTHON_LIB) $(TCL_LIB) $(RUBY_LIB)
 
 SRC =  blowfish.c buffer.c charset.c crypt.c, crypt_zip.c diff.c digraph.c edit.c eval.c ex_cmds.c ex_cmds2.c \
        ex_docmd.c ex_eval.c ex_getln.c if_xcmdsrv.c fileio.c fold.c getchar.c \
@@ -315,7 +305,7 @@ SRC =       blowfish.c buffer.c charset.c crypt.c, crypt_zip.c diff.c digraph.c edit.c
        misc2.c move.c normal.c ops.c option.c popupmnu.c quickfix.c regexp.c search.c sha256.c\
        spell.c syntax.c tag.c term.c termlib.c ui.c undo.c version.c screen.c \
        window.c os_unix.c os_vms.c pathdef.c \
-       $(GUI_SRC) $(PERL_SRC) $(PYTHON_SRC) $(TCL_SRC) $(SNIFF_SRC) \
+       $(GUI_SRC) $(PERL_SRC) $(PYTHON_SRC) $(TCL_SRC) \
        $(RUBY_SRC) $(HANGULIN_SRC) $(MZSCH_SRC)
 
 OBJ =  blowfish.obj buffer.obj charset.obj crypt.obj, crypt_zip.obj diff.obj digraph.obj edit.obj eval.obj \
@@ -326,7 +316,7 @@ OBJ =       blowfish.obj buffer.obj charset.obj crypt.obj, crypt_zip.obj diff.obj digr
        regexp.obj search.obj sha256.obj spell.obj syntax.obj tag.obj term.obj termlib.obj \
        ui.obj undo.obj screen.obj version.obj window.obj os_unix.obj \
        os_vms.obj pathdef.obj if_mzsch.obj\
-       $(GUI_OBJ) $(PERL_OBJ) $(PYTHON_OBJ) $(TCL_OBJ) $(SNIFF_OBJ) \
+       $(GUI_OBJ) $(PERL_OBJ) $(PYTHON_OBJ) $(TCL_OBJ) \
        $(RUBY_OBJ) $(HANGULIN_OBJ) $(MZSCH_OBJ)
 
 # Default target is making the executable
@@ -778,10 +768,6 @@ if_ruby.obj : if_ruby.c vim.h [.auto]config.h feature.h os_unix.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 version.h
-if_sniff.obj : if_sniff.c vim.h [.auto]config.h feature.h os_unix.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 os_unixx.h
 gui_beval.obj : gui_beval.c vim.h [.auto]config.h feature.h os_unix.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 \
index 1326cf06efb0be2ac8e0e68993ebe44e168545ca..f460a6158c20955444e22d654d83abc4b202de47 100644 (file)
@@ -466,9 +466,6 @@ CClink = $(CC)
 # Uncomment this when you do not want inter process communication.
 #CONF_OPT_CHANNEL = --disable-channel
 
-# SNIFF - Include support for SNiFF+.
-#CONF_OPT_SNIFF = --enable-sniff
-
 # MULTIBYTE - To edit multi-byte characters.
 # Uncomment this when you want to edit a multibyte language.
 # It's automatically enabled with normal features, GTK or IME support.
@@ -1391,7 +1388,7 @@ OSDEF_CFLAGS = $(PRE_DEFS) $(POST_DEFS)
 
 LINT_CFLAGS = -DLINT -I. $(PRE_DEFS) $(POST_DEFS) $(RUBY_CFLAGS) $(LUA_CFLAGS) $(PERL_CFLAGS) $(PYTHON_CFLAGS) $(PYTHON3_CFLAGS) $(TCL_CFLAGS) -Dinline= -D__extension__= -Dalloca=alloca
 
-LINT_EXTRA = -DUSE_SNIFF -DHANGUL_INPUT -D"__attribute__(x)="
+LINT_EXTRA = -DHANGUL_INPUT -D"__attribute__(x)="
 
 DEPEND_CFLAGS = -DPROTO -DDEPEND -DFEAT_GUI $(LINT_CFLAGS)
 
@@ -1532,14 +1529,13 @@ SRC =   $(BASIC_SRC) \
        $(PYTHON_SRC) $(PYTHON3_SRC) \
        $(TCL_SRC) \
        $(RUBY_SRC) \
-       $(SNIFF_SRC) \
        $(WORKSHOP_SRC) \
        $(WSDEBUG_SRC)
 
 TAGS_SRC = *.c *.cpp if_perl.xs
 
 EXTRA_SRC = hangulin.c if_lua.c if_mzsch.c auto/if_perl.c if_perlsfio.c \
-           if_python.c if_python3.c if_tcl.c if_ruby.c if_sniff.c \
+           if_python.c if_python3.c if_tcl.c if_ruby.c \
            gui_beval.c workshop.c wsdebug.c integration.c \
            netbeans.c channel.c \
            $(GRESOURCE_SRC)
@@ -1561,7 +1557,7 @@ ALL_SRC = $(BASIC_SRC) $(ALL_GUI_SRC) $(UNITTEST_SRC) $(EXTRA_SRC)
 # The perl sources also don't work well with lint.
 LINT_SRC = $(BASIC_SRC) $(GUI_SRC) $(HANGULIN_SRC) \
           $(PYTHON_SRC) $(PYTHON3_SRC) $(TCL_SRC) \
-          $(SNIFF_SRC) $(WORKSHOP_SRC) $(WSDEBUG_SRC) \
+          $(WORKSHOP_SRC) $(WSDEBUG_SRC) \
           $(NETBEANS_SRC) $(CHANNEL_SRC)
 #LINT_SRC = $(SRC)
 #LINT_SRC = $(ALL_SRC)
@@ -1611,7 +1607,6 @@ OBJ_COMMON = \
        objects/sha256.o \
        objects/spell.o \
        objects/syntax.o \
-       $(SNIFF_OBJ) \
        objects/tag.o \
        objects/term.o \
        objects/ui.o \
@@ -1750,7 +1745,7 @@ config auto/config.mk: auto/configure config.mk.in config.h.in
                $(CONF_OPT_TCL) $(CONF_OPT_RUBY) $(CONF_OPT_NLS) \
                $(CONF_OPT_CSCOPE) $(CONF_OPT_MULTIBYTE) $(CONF_OPT_INPUT) \
                $(CONF_OPT_OUTPUT) $(CONF_OPT_GPM) $(CONF_OPT_WORKSHOP) \
-               $(CONF_OPT_SNIFF) $(CONF_OPT_FEAT) $(CONF_TERM_LIB) \
+               $(CONF_OPT_FEAT) $(CONF_TERM_LIB) \
                $(CONF_OPT_COMPBY) $(CONF_OPT_ACL) $(CONF_OPT_NETBEANS) \
                $(CONF_OPT_CHANNEL) \
                $(CONF_ARGS) $(CONF_OPT_MZSCHEME) $(CONF_OPT_PLTHOME) \
@@ -2815,9 +2810,6 @@ objects/if_python3.o: if_python3.c if_py_both.h
 objects/if_ruby.o: if_ruby.c
        $(CCC) $(RUBY_CFLAGS) -o $@ if_ruby.c
 
-objects/if_sniff.o: if_sniff.c
-       $(CCC) -o $@ if_sniff.c
-
 objects/if_tcl.o: if_tcl.c
        $(CCC) $(TCL_CFLAGS) -o $@ if_tcl.c
 
@@ -3364,10 +3356,6 @@ objects/if_ruby.o: if_ruby.c auto/config.h vim.h feature.h os_unix.h auto/osdef.
  ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
  gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h globals.h \
  farsi.h arabic.h version.h
-objects/if_sniff.o: if_sniff.c vim.h auto/config.h feature.h os_unix.h \
- auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
- regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h \
- globals.h farsi.h arabic.h os_unixx.h
 objects/gui_beval.o: gui_beval.c vim.h auto/config.h feature.h os_unix.h \
  auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
  regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h proto.h \
index a528ccbef303776f3c165b68d92cbaff070884a0..861fe4d94750c1b992f017350c6e9c0f60e01f00 100755 (executable)
@@ -653,8 +653,6 @@ X_PRE_LIBS
 X_CFLAGS
 XMKMF
 xmkmfpath
-SNIFF_OBJ
-SNIFF_SRC
 CHANNEL_OBJ
 CHANNEL_SRC
 NETBEANS_OBJ
@@ -812,7 +810,6 @@ enable_cscope
 enable_workshop
 enable_netbeans
 enable_channel
-enable_sniff
 enable_multibyte
 enable_hangulinput
 enable_xim
@@ -1477,7 +1474,6 @@ Optional Features:
   --enable-workshop       Include Sun Visual Workshop support.
   --disable-netbeans      Disable NetBeans integration support.
   --disable-channel      Disable process communication support.
-  --enable-sniff          Include Sniff interface.
   --enable-multibyte      Include multibyte editing support.
   --enable-hangulinput    Include Hangul input support.
   --enable-xim            Include XIM input support.
@@ -7439,26 +7435,6 @@ if test "$enable_channel" = "yes"; then
 
 fi
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking --enable-sniff argument" >&5
-$as_echo_n "checking --enable-sniff argument... " >&6; }
-# Check whether --enable-sniff was given.
-if test "${enable_sniff+set}" = set; then :
-  enableval=$enable_sniff;
-else
-  enable_sniff="no"
-fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_sniff" >&5
-$as_echo "$enable_sniff" >&6; }
-if test "$enable_sniff" = "yes"; then
-  $as_echo "#define FEAT_SNIFF 1" >>confdefs.h
-
-  SNIFF_SRC="if_sniff.c"
-
-  SNIFF_OBJ="objects/if_sniff.o"
-
-fi
-
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking --enable-multibyte argument" >&5
 $as_echo_n "checking --enable-multibyte argument... " >&6; }
 # Check whether --enable-multibyte was given.
index 2414b2a4012d46fc695338c4e183851ce59faac6..ad3f8bcfd7e4b771e6036ed4ac63733019841f33 100644 (file)
@@ -1761,8 +1761,7 @@ skiptowhite(char_u *p)
     return p;
 }
 
-#if defined(FEAT_LISTCMDS) || defined(FEAT_SIGNS) || defined(FEAT_SNIFF) \
-       || defined(PROTO)
+#if defined(FEAT_LISTCMDS) || defined(FEAT_SIGNS) || defined(PROTO)
 /*
  * skiptowhite_esc: Like skiptowhite(), but also skip escaped chars
  */
index fd45c7332ba4fcab45e7b7bf831c6b16b5e1c4c9..dc0e9b2adc2d8b97e18aa9f0ab6d5d6405213c83 100644 (file)
 /* Define for linking via dlopen() or LoadLibrary() */
 #undef DYNAMIC_TCL
 
-/* Define if you want to include the Sniff interface. */
-#undef FEAT_SNIFF
-
 /* Define if you want to add support for ACL */
 #undef HAVE_POSIX_ACL
 #undef HAVE_SOLARIS_ZFS_ACL
index b514f2bc267929ffea98db5621e91c8e22a3a77a..7c0726c296ffe64a4c5987e6a5f77f1bfe90abbd 100644 (file)
@@ -99,9 +99,6 @@ RUBY_PRO      = @RUBY_PRO@
 RUBY_CFLAGS    = @RUBY_CFLAGS@
 RUBY_LIBS      = @RUBY_LIBS@
 
-SNIFF_SRC      = @SNIFF_SRC@
-SNIFF_OBJ      = @SNIFF_OBJ@
-
 AWK            = @AWK@
 
 STRIP          = @STRIP@
index acbccdea39bc71609c7771687bcb6b233a790696..fbfa37fe6346978ff9fa2a1265d6e93c1bd894e0 100644 (file)
@@ -2021,19 +2021,6 @@ if test "$enable_channel" = "yes"; then
   AC_SUBST(CHANNEL_OBJ)
 fi
 
-AC_MSG_CHECKING(--enable-sniff argument)
-AC_ARG_ENABLE(sniff,
-       [  --enable-sniff          Include Sniff interface.], ,
-       [enable_sniff="no"])
-AC_MSG_RESULT($enable_sniff)
-if test "$enable_sniff" = "yes"; then
-  AC_DEFINE(FEAT_SNIFF)
-  SNIFF_SRC="if_sniff.c"
-  AC_SUBST(SNIFF_SRC)
-  SNIFF_OBJ="objects/if_sniff.o"
-  AC_SUBST(SNIFF_OBJ)
-fi
-
 AC_MSG_CHECKING(--enable-multibyte argument)
 AC_ARG_ENABLE(multibyte,
        [  --enable-multibyte      Include multibyte editing support.], ,
index 60b6523374ba029d8ffaa4fcceb06bcbfd11b84f..626d3272c208a429d1f0eba77d3fccf008d781db 100644 (file)
@@ -1052,12 +1052,6 @@ doESCkey:
        case K_SELECT:  /* end of Select mode mapping - ignore */
            break;
 
-#ifdef FEAT_SNIFF
-       case K_SNIFF:   /* Sniff command received */
-           stuffcharReadbuff(K_SNIFF);
-           goto doESCkey;
-#endif
-
        case K_HELP:    /* Help key works like <ESC> <Help> */
        case K_F1:
        case K_XF1:
index a6486374b2590ebdf749e3e76d2b343d6653a080..f69e81431037d183ec5e2e0d68d7debc74e35f7d 100644 (file)
@@ -13930,9 +13930,6 @@ f_has(typval_T *argvars, typval_T *rettv)
 #ifdef FEAT_SMARTINDENT
        "smartindent",
 #endif
-#ifdef FEAT_SNIFF
-       "sniff",
-#endif
 #ifdef STARTUPTIME
        "startuptime",
 #endif
index 23c26fafbe4e51b57811e115ab0a23a8b773d2af..d17f4d54e1046a7f4ad9bc742a2c275ce4098564 100644 (file)
@@ -1281,9 +1281,6 @@ EX(CMD_smenu,             "smenu",        ex_menu,
 EX(CMD_snext,          "snext",        ex_next,
                        RANGE|NOTADR|BANG|FILES|EDITCMD|ARGOPT|TRLBAR,
                        ADDR_LINES),
-EX(CMD_sniff,          "sniff",        ex_sniff,
-                       EXTRA|TRLBAR,
-                       ADDR_LINES),
 EX(CMD_snomagic,       "snomagic",     ex_submagic,
                        RANGE|WHOLEFOLD|EXTRA|CMDWIN,
                        ADDR_LINES),
index 3f8c50816c84253d3a92f14bb3b44514448f73d6..88257ccddd732cb0cb55b27e52371cbb24c8f4f1 100644 (file)
@@ -131,9 +131,6 @@ do_debug(char_u *cmd)
     redir_off = TRUE;          /* don't redirect debug commands */
 
     State = NORMAL;
-#ifdef FEAT_SNIFF
-    want_sniff_request = 0;    /* No K_SNIFF wanted */
-#endif
 
     if (!debug_did_msg)
        MSG(_("Entering Debug mode.  Type \"cont\" to continue."));
@@ -151,9 +148,7 @@ do_debug(char_u *cmd)
     {
        msg_scroll = TRUE;
        need_wait_return = FALSE;
-#ifdef FEAT_SNIFF
-       ProcessSniffRequests();
-#endif
+
        /* Save the current typeahead buffer and replace it with an empty one.
         * This makes sure we get input from the user here and don't interfere
         * with the commands being executed.  Reset "ex_normal_busy" to avoid
index 1f493ad1e6d72e31b2f2111cc915dc6f167e8177..9900c1b6de919715bc8551270c3a482dca06fa95 100644 (file)
@@ -296,9 +296,6 @@ static void ex_popup(exarg_T *eap);
 # define ex_rubydo             ex_ni
 # define ex_rubyfile           ex_ni
 #endif
-#ifndef FEAT_SNIFF
-# define ex_sniff              ex_ni
-#endif
 #ifndef FEAT_KEYMAP
 # define ex_loadkeymap         ex_ni
 #endif
@@ -641,9 +638,6 @@ do_exmode(
     /* Ignore scrollbar and mouse events in Ex mode */
     ++hold_gui_events;
 #endif
-#ifdef FEAT_SNIFF
-    want_sniff_request = 0;    /* No K_SNIFF wanted */
-#endif
 
     MSG(_("Entering Ex mode.  Type \"visual\" to go to Normal mode."));
     while (exmode_active)
@@ -661,9 +655,6 @@ do_exmode(
        changedtick = curbuf->b_changedtick;
        prev_msg_row = msg_row;
        prev_line = curwin->w_cursor.lnum;
-#ifdef FEAT_SNIFF
-       ProcessSniffRequests();
-#endif
        if (improved)
        {
            cmdline_row = msg_row;
index 6741e1119cabc39f526c4e6700dd4a43c96d1c01..8db37d9977a80e103fb812648667cfc75fb86617 100644 (file)
@@ -206,9 +206,6 @@ getcmdline(
     struct cmdline_info save_ccline;
 #endif
 
-#ifdef FEAT_SNIFF
-    want_sniff_request = 0;
-#endif
 #ifdef FEAT_EVAL
     if (firstc == -1)
     {
index 4150f07b5efd21b96f059882c24a2a81d33e02f9..f753227562f9b90a32a6d3d5283d1138dfa29cea 100644 (file)
  * +perl               Perl interface: "--enable-perlinterp"
  * +python             Python interface: "--enable-pythoninterp"
  * +tcl                        TCL interface: "--enable-tclinterp"
- * +sniff              Sniff interface: "--enable-sniff"
  * +sun_workshop       Sun Workshop integration
  * +netbeans_intg      Netbeans integration
  * +channel            Inter process communication
index 440b401ab16b00784e1b9d338235af7030345c2a..69e4e1824e82e6eda08239ac4bee5b155a28c6ae 100644 (file)
@@ -6460,22 +6460,6 @@ input_timer_cb(gpointer data)
     return FALSE;              /* don't happen again */
 }
 
-#ifdef FEAT_SNIFF
-/*
- * Callback function, used when data is available on the SNiFF connection.
- */
-    static void
-sniff_request_cb(
-    gpointer   data UNUSED,
-    gint       source_fd UNUSED,
-    GdkInputCondition condition UNUSED)
-{
-    static char_u bytes[3] = {CSI, (int)KS_EXTRA, (int)KE_SNIFF};
-
-    add_to_input_buf(bytes, 3);
-}
-#endif
-
 /*
  * GUI input routine called by gui_wait_for_chars().  Waits for a character
  * from the keyboard.
@@ -6491,26 +6475,6 @@ gui_mch_wait_for_chars(long wtime)
     int focus;
     guint timer;
     static int timed_out;
-#ifdef FEAT_SNIFF
-    static int sniff_on = 0;
-    static gint        sniff_input_id = 0;
-#endif
-
-#ifdef FEAT_SNIFF
-    if (sniff_on && !want_sniff_request)
-    {
-       if (sniff_input_id)
-           gdk_input_remove(sniff_input_id);
-       sniff_on = 0;
-    }
-    else if (!sniff_on && want_sniff_request)
-    {
-       /* Add fd_from_sniff to watch for available data in main loop. */
-       sniff_input_id = gdk_input_add(fd_from_sniff,
-                              GDK_INPUT_READ, sniff_request_cb, NULL);
-       sniff_on = 1;
-    }
-#endif
 
     timed_out = FALSE;
 
index aff0ba26aa34aac7e19da2043c1d45269087d586..6cc2e06988b3412d720a1d61dfbe8b53a2303b3e 100644 (file)
@@ -326,7 +326,7 @@ static int          s_findrep_is_find;      /* TRUE for find dialog, FALSE
 #endif
 
 static HINSTANCE       s_hinst = NULL;
-#if !defined(FEAT_SNIFF) && !defined(FEAT_GUI)
+#if !defined(FEAT_GUI)
 static
 #endif
 HWND                   s_hwnd = NULL;
@@ -1927,23 +1927,6 @@ process_message(void)
     }
 #endif
 
-#ifdef FEAT_SNIFF
-    if (sniff_request_waiting && want_sniff_request)
-    {
-       static char_u bytes[3] = {CSI, (char_u)KS_EXTRA, (char_u)KE_SNIFF};
-       add_to_input_buf(bytes, 3); /* K_SNIFF */
-       sniff_request_waiting = 0;
-       want_sniff_request = 0;
-       /* request is handled in normal.c */
-    }
-    if (msg.message == WM_USER)
-    {
-       MyTranslateMessage(&msg);
-       pDispatchMessage(&msg);
-       return;
-    }
-#endif
-
 #ifdef MSWIN_FIND_REPLACE
     /* Don't process messages used by the dialog */
     if (s_findrep_hwnd != NULL && pIsDialogMessage(s_findrep_hwnd, &msg))
index 5a0fe8d5273cb331666a2f232bfc121606d136a0..b525cf7a68449d821897ac1c030def4556c8313c 100644 (file)
@@ -145,9 +145,6 @@ static void gui_x11_focus_change_cb(Widget w, XtPointer data, XEvent *event, Boo
 static void gui_x11_enter_cb(Widget w, XtPointer data, XEvent *event, Boolean *dum);
 static void gui_x11_leave_cb(Widget w, XtPointer data, XEvent *event, Boolean *dum);
 static void gui_x11_mouse_cb(Widget w, XtPointer data, XEvent *event, Boolean *dum);
-#ifdef FEAT_SNIFF
-static void gui_x11_sniff_request_cb(XtPointer closure, int *source, XtInputId *id);
-#endif
 static void gui_x11_check_copy_area(void);
 #ifdef FEAT_CLIENTSERVER
 static void gui_x11_send_event_handler(Widget, XtPointer, XEvent *, Boolean *);
@@ -1163,20 +1160,6 @@ gui_x11_mouse_cb(
     gui_send_mouse_event(button, x, y, repeated_click, vim_modifiers);
 }
 
-#ifdef FEAT_SNIFF
-/* ARGSUSED */
-    static void
-gui_x11_sniff_request_cb(
-    XtPointer  closure UNUSED,
-    int                *source UNUSED,
-    XtInputId  *id UNUSED)
-{
-    static char_u bytes[3] = {CSI, (int)KS_EXTRA, (int)KE_SNIFF};
-
-    add_to_input_buf(bytes, 3);
-}
-#endif
-
 /*
  * End of call-back routines
  */
@@ -2818,28 +2801,9 @@ gui_mch_wait_for_chars(long wtime)
     static int     timed_out;
     XtIntervalId    timer = (XtIntervalId)0;
     XtInputMask            desired;
-#ifdef FEAT_SNIFF
-    static int     sniff_on = 0;
-    static XtInputId sniff_input_id = 0;
-#endif
 
     timed_out = FALSE;
 
-#ifdef FEAT_SNIFF
-    if (sniff_on && !want_sniff_request)
-    {
-       if (sniff_input_id)
-           XtRemoveInput(sniff_input_id);
-       sniff_on = 0;
-    }
-    else if (!sniff_on && want_sniff_request)
-    {
-       sniff_input_id = XtAppAddInput(app_context, fd_from_sniff,
-                    (XtPointer)XtInputReadMask, gui_x11_sniff_request_cb, 0);
-       sniff_on = 1;
-    }
-#endif
-
     if (wtime > 0)
        timer = XtAppAddTimeOut(app_context, (long_u)wtime, gui_x11_timer_cb,
                                                                  &timed_out);
diff --git a/src/if_sniff.c b/src/if_sniff.c
deleted file mode 100644 (file)
index 85c4755..0000000
+++ /dev/null
@@ -1,1201 +0,0 @@
-/* vi:set ts=8 sts=4 sw=4:
- *
- * if_sniff.c Interface between Vim and SNiFF+
- *
- * See README.txt for an overview of the Vim source code.
- */
-
-#include "vim.h"
-
-#ifdef WIN32
-# include <stdio.h>
-# include <process.h>
-# include <string.h>
-# include <assert.h>
-#else
-# ifdef FEAT_GUI_X11
-#  include "gui_x11.pro"
-# endif
-# include "os_unixx.h"
-#endif
-
-static int sniffemacs_pid;
-
-int fd_from_sniff;
-int sniff_connected = 0;
-int sniff_request_waiting = 0;
-int want_sniff_request = 0;
-
-#define MAX_REQUEST_LEN 512
-
-#define NEED_SYMBOL    2
-#define EMPTY_SYMBOL   4
-#define NEED_FILE      8
-#define SILENT         16
-#define DISCONNECT     32
-#define CONNECT                64
-
-#define RQ_NONE                0
-#define RQ_SIMPLE      1
-#define RQ_CONTEXT     NEED_FILE + NEED_SYMBOL
-#define RQ_SCONTEXT    NEED_FILE + NEED_SYMBOL + EMPTY_SYMBOL
-#define RQ_NOSYMBOL    NEED_FILE
-#define RQ_SILENT      RQ_NOSYMBOL + SILENT
-#define RQ_CONNECT     RQ_NONE + CONNECT
-#define RQ_DISCONNECT  RQ_SIMPLE + DISCONNECT
-
-struct sn_cmd
-{
-    char *cmd_name;
-    char cmd_code;
-    char *cmd_msg;
-    int  cmd_type;
-};
-
-struct sn_cmd_list
-{
-    struct sn_cmd* sniff_cmd;
-    struct sn_cmd_list* next_cmd;
-};
-
-static struct sn_cmd sniff_cmds[] =
-{
-    { "toggle",                'e', N_("Toggle implementation/definition"),RQ_SCONTEXT },
-    { "superclass",    's', N_("Show base class of"),          RQ_CONTEXT },
-    { "overridden",    'm', N_("Show overridden member function"),RQ_SCONTEXT },
-    { "retrieve-file", 'r', N_("Retrieve from file"),          RQ_CONTEXT },
-    { "retrieve-project",'p', N_("Retrieve from project"),     RQ_CONTEXT },
-    { "retrieve-all-projects",
-                       'P', N_("Retrieve from all projects"),  RQ_CONTEXT },
-    { "retrieve-next", 'R', N_("Retrieve"),    RQ_CONTEXT },
-    { "goto-symbol",   'g', N_("Show source of"),              RQ_CONTEXT },
-    { "find-symbol",   'f', N_("Find symbol"),                 RQ_CONTEXT },
-    { "browse-class",  'w', N_("Browse class"),                RQ_CONTEXT },
-    { "hierarchy",     't', N_("Show class in hierarchy"),     RQ_CONTEXT },
-    { "restr-hier",    'T', N_("Show class in restricted hierarchy"),RQ_CONTEXT },
-    { "xref-to",       'x', N_("Xref refers to"),              RQ_CONTEXT },
-    { "xref-by",       'X', N_("Xref referred by"),            RQ_CONTEXT },
-    { "xref-has",      'c', N_("Xref has a"),                  RQ_CONTEXT },
-    { "xref-used-by",  'C', N_("Xref used by"),                RQ_CONTEXT },
-    { "show-docu",     'd', N_("Show docu of"),                RQ_CONTEXT },
-    { "gen-docu",      'D', N_("Generate docu for"),           RQ_CONTEXT },
-    { "connect",       'y', NULL,                              RQ_CONNECT },
-    { "disconnect",    'q', NULL,                              RQ_DISCONNECT },
-    { "font-info",     'z', NULL,                              RQ_SILENT },
-    { "update",                'u', NULL,                              RQ_SILENT },
-    { NULL,            '\0', NULL, 0}
-};
-
-
-static char *SniffEmacs[2] = {"sniffemacs", (char *)NULL};  /* Yes, Emacs! */
-static int fd_to_sniff;
-static int sniff_will_disconnect = 0;
-static char msg_sniff_disconnect[] = N_("Cannot connect to SNiFF+. Check environment (sniffemacs must be found in $PATH).\n");
-static char sniff_rq_sep[] = " ";
-static struct sn_cmd_list *sniff_cmd_ext = NULL;
-
-/* Initializing vim commands
- * executed each time vim connects to Sniff
- */
-static char *init_cmds[]= {
-    "augroup sniff",
-    "autocmd BufWritePost * sniff update",
-    "autocmd BufReadPost * sniff font-info",
-    "autocmd VimLeave * sniff disconnect",
-    "augroup END",
-
-    "let g:sniff_connected = 1",
-
-    "if ! exists('g:sniff_mappings_sourced')|"
-       "if ! exists('g:sniff_mappings')|"
-           "if exists('$SNIFF_DIR4')|"
-               "let g:sniff_mappings='$SNIFF_DIR4/config/integrations/vim/sniff.vim'|"
-           "else|"
-               "let g:sniff_mappings='$SNIFF_DIR/config/sniff.vim'|"
-           "endif|"
-       "endif|"
-       "let g:sniff_mappings=expand(g:sniff_mappings)|"
-       "if filereadable(g:sniff_mappings)|"
-           "execute 'source' g:sniff_mappings|"
-           "let g:sniff_mappings_sourced=1|"
-       "endif|"
-    "endif",
-
-    NULL
-};
-
-/*-------- Function Prototypes ----------------------------------*/
-
-static int ConnectToSniffEmacs(void);
-static void sniff_connect(void);
-static void HandleSniffRequest(char* buffer);
-static int get_request(int fd, char *buf, int maxlen);
-static void WriteToSniff(char *str);
-static void SendRequest(struct sn_cmd *command, char* symbol);
-static void vi_msg(char *);
-static void vi_error_msg(char *);
-static char *vi_symbol_under_cursor(void);
-static void vi_open_file(char *);
-static char *vi_buffer_name(void);
-static buf_T *vi_find_buffer(char *);
-static void vi_exec_cmd(char *);
-static void vi_set_cursor_pos(long char_nr);
-static long vi_cursor_pos(void);
-
-/* debug trace */
-#if 0
-static FILE* _tracefile = NULL;
-#define SNIFF_TRACE_OPEN(file) if (!_tracefile) _tracefile = fopen(file, "w")
-#define SNIFF_TRACE(msg) fprintf(_tracefile, msg); fflush(_tracefile);
-#define SNIFF_TRACE1(msg, arg) fprintf(_tracefile, msg,arg); fflush(_tracefile);
-#define SNIFF_TRACE_CLOSE fclose(_tracefile); _tracefile=NULL;
-#else
-#define SNIFF_TRACE_OPEN(file)
-#define SNIFF_TRACE(msg)
-#define SNIFF_TRACE1(msg, arg)
-#define SNIFF_TRACE_CLOSE
-#endif
-
-/*-------- Windows Only Declarations -----------------------------*/
-#ifdef WIN32
-
-static int  sniff_request_processed=1;
-static HANDLE sniffemacs_handle=NULL;
-static HANDLE readthread_handle=NULL;
-static HANDLE handle_to_sniff=NULL;
-static HANDLE handle_from_sniff=NULL;
-
-struct sniffBufNode
-{
-    struct sniffBufNode *next;
-    int    bufLen;
-    char   buf[MAX_REQUEST_LEN];
-};
-static struct sniffBufNode *sniffBufStart=NULL;
-static struct sniffBufNode *sniffBufEnd=NULL;
-static HANDLE hBufferMutex=NULL;
-
-# ifdef FEAT_GUI_W32
-    extern HWND s_hwnd;       /* gvim's Window handle */
-# endif
-/*
- * some helper functions for Windows port only
- */
-
-    static HANDLE
-ExecuteDetachedProgram(char *szBinary, char *szCmdLine,
-    HANDLE hStdInput, HANDLE hStdOutput)
-{
-    BOOL bResult;
-    DWORD nError;
-    PROCESS_INFORMATION aProcessInformation;
-    PROCESS_INFORMATION *pProcessInformation= &aProcessInformation;
-    STARTUPINFO aStartupInfo;
-    STARTUPINFO *pStartupInfo= &aStartupInfo;
-    DWORD dwCreationFlags= 0;
-    char szPath[512];
-    HINSTANCE hResult;
-
-    hResult = FindExecutable(szBinary, ".", szPath);
-    if ((int)hResult <= 32)
-    {
-       /* can't find the exe file */
-       return NULL;
-    }
-
-    ZeroMemory(pStartupInfo, sizeof(*pStartupInfo));
-    pStartupInfo->dwFlags= STARTF_USESHOWWINDOW|STARTF_USESTDHANDLES;
-    pStartupInfo->hStdInput = hStdInput;
-    pStartupInfo->hStdOutput = hStdOutput;
-    pStartupInfo->wShowWindow= SW_HIDE;
-    pStartupInfo->cb = sizeof(STARTUPINFO);
-
-    bResult= CreateProcess(
-       szPath,
-       szCmdLine,
-       NULL,    /* security attr for process */
-       NULL,    /* security attr for primary thread */
-       TRUE,    /* DO inherit stdin and stdout */
-       dwCreationFlags, /* creation flags */
-       NULL,    /* environment */
-       ".",    /* current directory */
-       pStartupInfo,   /* startup info: NULL crashes  */
-       pProcessInformation /* process information: NULL crashes */
-    );
-    nError= GetLastError();
-    if (bResult)
-    {
-       CloseHandle(pProcessInformation->hThread);
-       CloseHandle(hStdInput);
-       CloseHandle(hStdOutput);
-       return(pProcessInformation->hProcess);
-    }
-    else
-       return(NULL);
-}
-
-/*
- * write to the internal Thread / Thread communications buffer.
- * Return TRUE if successful, FALSE else.
- */
-    static BOOL
-writeToBuffer(char *msg, int len)
-{
-    DWORD dwWaitResult;     /* Request ownership of mutex. */
-    struct sniffBufNode *bn;
-    int bnSize;
-
-    SNIFF_TRACE1("writeToBuffer %d\n", len);
-    bnSize = sizeof(struct sniffBufNode) - MAX_REQUEST_LEN + len + 1;
-    if (bnSize < 128) bnSize = 128; /* minimum length to avoid fragmentation */
-    bn = (struct sniffBufNode *)malloc(bnSize);
-    if (!bn)
-       return FALSE;
-
-    memcpy(bn->buf, msg, len);
-    bn->buf[len]='\0';    /* terminate CString for added safety */
-    bn->next = NULL;
-    bn->bufLen = len;
-    /* now, acquire a Mutex for adding the string to our linked list */
-    dwWaitResult = WaitForSingleObject(
-       hBufferMutex,   /* handle of mutex */
-       1000L);   /* one-second time-out interval */
-    if (dwWaitResult == WAIT_OBJECT_0)
-    {
-       /* The thread got mutex ownership. */
-       if (sniffBufEnd)
-       {
-           sniffBufEnd->next = bn;
-           sniffBufEnd = bn;
-       }
-       else
-           sniffBufStart = sniffBufEnd = bn;
-       /* Release ownership of the mutex object. */
-       if (! ReleaseMutex(hBufferMutex))
-       {
-           /* Deal with error. */
-       }
-       return TRUE;
-    }
-
-    /* Cannot get mutex ownership due to time-out or mutex object abandoned. */
-    free(bn);
-    return FALSE;
-}
-
-/*
- * read from the internal Thread / Thread communications buffer.
- * Return TRUE if successful, FALSE else.
- */
-    static int
-ReadFromBuffer(char *buf, int maxlen)
-{
-    DWORD dwWaitResult;     /* Request ownership of mutex. */
-    int   theLen;
-    struct sniffBufNode *bn;
-
-    dwWaitResult = WaitForSingleObject(
-       hBufferMutex,   /* handle of mutex */
-       1000L);         /* one-second time-out interval */
-    if (dwWaitResult == WAIT_OBJECT_0)
-    {
-       if (!sniffBufStart)
-       {
-           /* all pending Requests Processed */
-           theLen = 0;
-       }
-       else
-       {
-           bn = sniffBufStart;
-           theLen = bn->bufLen;
-           SNIFF_TRACE1("ReadFromBuffer %d\n", theLen);
-           if (theLen >= maxlen)
-           {
-               /* notify the user of buffer overflow? */
-               theLen = maxlen-1;
-           }
-           memcpy(buf, bn->buf, theLen);
-           buf[theLen] = '\0';
-           if (! (sniffBufStart = bn->next))
-           {
-               sniffBufEnd = NULL;
-               sniff_request_processed = 1;
-           }
-           free(bn);
-       }
-       if (! ReleaseMutex(hBufferMutex))
-       {
-           /* Deal with error. */
-       }
-       return theLen;
-    }
-
-    /* Cannot get mutex ownership due to time-out or mutex object abandoned. */
-    return -1;
-}
-
-/* on Win32, a separate Thread reads the input pipe. get_request is not needed here. */
-    static void __cdecl
-SniffEmacsReadThread(void *dummy)
-{
-    static char        ReadThreadBuffer[MAX_REQUEST_LEN];
-    int                ReadThreadLen=0;
-    int                result=0;
-    int                msgLen=0;
-    char       *msgStart, *msgCur;
-
-    SNIFF_TRACE("begin thread\n");
-    /* Read from the pipe to SniffEmacs */
-    while (sniff_connected)
-    {
-       if (!ReadFile(handle_from_sniff,
-               ReadThreadBuffer + ReadThreadLen,    /* acknowledge rest in buffer */
-               MAX_REQUEST_LEN - ReadThreadLen,
-               &result,
-               NULL))
-       {
-           DWORD err = GetLastError();
-           result = -1;
-       }
-
-       if (result < 0)
-       {
-           /* probably sniffemacs died... log the Error? */
-           sniff_disconnect(1);
-       }
-       else if (result > 0)
-       {
-           ReadThreadLen += result-1;   /* total length of valid chars */
-           for(msgCur=msgStart=ReadThreadBuffer; ReadThreadLen > 0; msgCur++, ReadThreadLen--)
-           {
-               if (*msgCur == '\0' || *msgCur == '\r' || *msgCur == '\n')
-               {
-                   msgLen = msgCur-msgStart; /* don't add the CR/LF chars */
-                   if (msgLen > 0)
-                       writeToBuffer(msgStart, msgLen);
-                   msgStart = msgCur + 1; /* over-read single CR/LF chars */
-               }
-           }
-
-       /* move incomplete message to beginning of buffer */
-       ReadThreadLen = msgCur - msgStart;
-       if (ReadThreadLen > 0)
-           mch_memmove(ReadThreadBuffer, msgStart, ReadThreadLen);
-
-       if (sniff_request_processed)
-       {
-           /* notify others that new data has arrived */
-           sniff_request_processed = 0;
-           sniff_request_waiting = 1;
-#ifdef FEAT_GUI_W32
-           PostMessage(s_hwnd, WM_USER, (WPARAM)0, (LPARAM)0);
-#endif
-           }
-       }
-    }
-    SNIFF_TRACE("end thread\n");
-}
-#endif /* WIN32 */
-/*-------- End of Windows Only Declarations ------------------------*/
-
-
-/* ProcessSniffRequests
- * Function that should be called from outside
- * to process the waiting sniff requests
- */
-    void
-ProcessSniffRequests(void)
-{
-    static char buf[MAX_REQUEST_LEN];
-    int len;
-
-    while (sniff_connected)
-    {
-#ifdef WIN32
-       len = ReadFromBuffer(buf, sizeof(buf));
-#else
-       len = get_request(fd_from_sniff, buf, sizeof(buf));
-#endif
-       if (len < 0)
-       {
-           vi_error_msg(_("E274: Sniff: Error during read. Disconnected"));
-           sniff_disconnect(1);
-           break;
-       }
-       else if (len > 0)
-           HandleSniffRequest( buf );
-       else
-           break;
-    }
-
-    if (sniff_will_disconnect) /* Now the last msg has been processed */
-       sniff_disconnect(1);
-}
-
-    static struct sn_cmd *
-find_sniff_cmd(char *cmd)
-{
-    struct sn_cmd *sniff_cmd = NULL;
-    int i;
-    for(i=0; sniff_cmds[i].cmd_name; i++)
-    {
-       if (!strcmp(cmd, sniff_cmds[i].cmd_name))
-       {
-           sniff_cmd = &sniff_cmds[i];
-           break;
-       }
-    }
-    if (!sniff_cmd)
-    {
-       struct sn_cmd_list *list = sniff_cmd_ext;
-       while (list)
-       {
-           if (!strcmp(cmd, list->sniff_cmd->cmd_name))
-           {
-               sniff_cmd = list->sniff_cmd;
-               break;
-           }
-           list = list->next_cmd;
-       }
-    }
-    return sniff_cmd;
-}
-
-    static int
-add_sniff_cmd(char *cmd, char *def, char *msg)
-{
-    int rc = 0;
-    if (def != NULL && def[0] != NUL && find_sniff_cmd(cmd) == NULL)
-    {
-       struct sn_cmd_list *list = sniff_cmd_ext;
-       struct sn_cmd *sniff_cmd = (struct sn_cmd*)malloc(sizeof(struct sn_cmd));
-       struct sn_cmd_list *cmd_node = (struct sn_cmd_list*)malloc(sizeof(struct sn_cmd_list));
-       int rq_type = 0;
-
-       /* unescape message text */
-       char *p = msg;
-       char *end = p+strlen(msg);
-       while (*p)
-       {
-           if (*p == '\\')
-               mch_memmove(p,p+1,end-p);
-           p++;
-       }
-       SNIFF_TRACE1("request name = %s\n",cmd);
-       SNIFF_TRACE1("request def = %s\n",def);
-       SNIFF_TRACE1("request msg = %s\n",msg);
-
-       while (list && list->next_cmd)
-           list = list->next_cmd;
-       if (!list)
-           sniff_cmd_ext = cmd_node;
-       else
-           list->next_cmd = cmd_node;
-
-       sniff_cmd->cmd_name = cmd;
-       sniff_cmd->cmd_code = def[0];
-       sniff_cmd->cmd_msg = msg;
-       switch(def[1])
-       {
-           case 'f':
-               rq_type = RQ_NOSYMBOL;
-               break;
-           case 's':
-               rq_type = RQ_CONTEXT;
-               break;
-           case 'S':
-               rq_type = RQ_SCONTEXT;
-               break;
-           default:
-               rq_type = RQ_SIMPLE;
-               break;
-       }
-       sniff_cmd->cmd_type = rq_type;
-       cmd_node->sniff_cmd = sniff_cmd;
-       cmd_node->next_cmd = NULL;
-       rc = 1;
-    }
-    return rc;
-}
-
-/* ex_sniff
- * Handle ":sniff" command
- */
-    void
-ex_sniff(exarg_T *eap)
-{
-    char_u     *arg = eap->arg;
-    char_u *symbol = NULL;
-    char_u *cmd = NULL;
-
-    SNIFF_TRACE_OPEN("if_sniff.log");
-    if (ends_excmd(*arg))      /* no request: print available commands */
-    {
-       int i;
-       msg_start();
-       msg_outtrans_attr((char_u *)"-- SNiFF+ commands --", hl_attr(HLF_T));
-       for(i=0; sniff_cmds[i].cmd_name; i++)
-       {
-           msg_putchar('\n');
-           msg_outtrans((char_u *)":sniff ");
-           msg_outtrans((char_u *)sniff_cmds[i].cmd_name);
-       }
-       msg_putchar('\n');
-       msg_outtrans((char_u *)_("SNiFF+ is currently "));
-       if (!sniff_connected)
-           msg_outtrans((char_u *)_("not "));
-       msg_outtrans((char_u *)_("connected"));
-       msg_end();
-    }
-    else       /* extract command name and symbol if present */
-    {
-       symbol = skiptowhite(arg);
-       cmd  = vim_strnsave(arg, (int)(symbol-arg));
-       symbol = skipwhite(symbol);
-       if (ends_excmd(*symbol))
-           symbol = NULL;
-       if (!strcmp((char *)cmd, "addcmd"))
-       {
-           char_u *def = skiptowhite(symbol);
-           char_u *name = vim_strnsave(symbol, (int)(def-symbol));
-           char_u *msg;
-           def = skipwhite(def);
-           msg = skiptowhite(def);
-           def = vim_strnsave(def, (int)(msg-def));
-           msg = skipwhite(msg);
-           if (ends_excmd(*msg))
-               msg = vim_strsave(name);
-           else
-               msg = vim_strnsave(msg, (int)(skiptowhite_esc(msg)-msg));
-           if (!add_sniff_cmd((char*)name, (char*)def, (char*)msg))
-           {
-               vim_free(msg);
-               vim_free(def);
-               vim_free(name);
-           }
-       }
-       else
-       {
-           struct sn_cmd* sniff_cmd = find_sniff_cmd((char*)cmd);
-           if (sniff_cmd)
-               SendRequest(sniff_cmd, (char *)symbol);
-           else
-               EMSG2(_("E275: Unknown SNiFF+ request: %s"), cmd);
-       }
-       vim_free(cmd);
-    }
-}
-
-
-    static void
-sniff_connect(void)
-{
-    if (sniff_connected)
-       return;
-    if (ConnectToSniffEmacs())
-       vi_error_msg(_("E276: Error connecting to SNiFF+"));
-    else
-    {
-       int i;
-
-       for (i = 0; init_cmds[i]; i++)
-           vi_exec_cmd(init_cmds[i]);
-    }
-}
-
-    void
-sniff_disconnect(int immediately)
-{
-    if (!sniff_connected)
-       return;
-    if (immediately)
-    {
-       vi_exec_cmd("augroup sniff");
-       vi_exec_cmd("au!");
-       vi_exec_cmd("augroup END");
-       vi_exec_cmd("unlet g:sniff_connected");
-       sniff_connected = 0;
-       want_sniff_request = 0;
-       sniff_will_disconnect = 0;
-#ifdef FEAT_GUI
-       if (gui.in_use)
-           gui_mch_wait_for_chars(0L);
-#endif
-#ifdef WIN32
-       while (sniffBufStart != NULL)
-       {
-           struct sniffBufNode *node = sniffBufStart;
-           sniffBufStart = sniffBufStart->next;
-           free(node);
-       }
-       sniffBufStart = sniffBufEnd = NULL;
-       sniff_request_processed = 1;
-       CloseHandle(handle_to_sniff);
-       CloseHandle(handle_from_sniff);
-       WaitForSingleObject(sniffemacs_handle, 1000L);
-       CloseHandle(sniffemacs_handle);
-       sniffemacs_handle = NULL;
-       WaitForSingleObject(readthread_handle, 1000L);
-       readthread_handle = NULL;
-       CloseHandle(hBufferMutex);
-       hBufferMutex = NULL;
-       SNIFF_TRACE_CLOSE;
-#else
-       close(fd_to_sniff);
-       close(fd_from_sniff);
-       wait(NULL);
-#endif
-    }
-    else
-    {
-#ifdef WIN32
-# if (defined(_MSC_VER) && _MSC_VER >= 1400)
-        Sleep(2);
-# else
-       _sleep(2);
-# endif
-       if (!sniff_request_processed)
-           ProcessSniffRequests();
-#else
-       sleep(2);                   /* Incoming msg could disturb edit */
-#endif
-       sniff_will_disconnect = 1;  /* We expect disconnect msg in 2 secs */
-    }
-}
-
-
-/* ConnectToSniffEmacs
- * Connect to Sniff: returns 1 on error
- */
-    static int
-ConnectToSniffEmacs(void)
-{
-#ifdef WIN32           /* Windows Version of the Code */
-    HANDLE ToSniffEmacs[2], FromSniffEmacs[2];
-    SECURITY_ATTRIBUTES sa;
-
-    sa.nLength = sizeof(sa);
-    sa.lpSecurityDescriptor = NULL;
-    sa.bInheritHandle = TRUE;
-
-    if (! CreatePipe(&ToSniffEmacs[0], &ToSniffEmacs[1], &sa, 0))
-       return 1;
-    if (! CreatePipe(&FromSniffEmacs[0], &FromSniffEmacs[1], &sa, 0))
-       return 1;
-
-    sniffemacs_handle = ExecuteDetachedProgram(SniffEmacs[0], SniffEmacs[0],
-       ToSniffEmacs[0], FromSniffEmacs[1]);
-
-    if (sniffemacs_handle)
-    {
-       handle_to_sniff  = ToSniffEmacs[1];
-       handle_from_sniff = FromSniffEmacs[0];
-       sniff_connected = 1;
-       hBufferMutex = CreateMutex(
-           NULL,                       /* no security attributes */
-           FALSE,                      /* initially not owned */
-           "SniffReadBufferMutex");    /* name of mutex */
-       if (hBufferMutex == NULL)
-       {
-           /* Check for error. */
-       }
-       readthread_handle = (HANDLE)_beginthread(SniffEmacsReadThread, 0, NULL);
-       return 0;
-    }
-    else
-    {
-       /* error in spawn() */
-       return 1;
-    }
-
-#else          /* UNIX Version of the Code */
-    int ToSniffEmacs[2], FromSniffEmacs[2];
-
-    if (pipe(ToSniffEmacs) != 0)
-       return 1;
-    if (pipe(FromSniffEmacs) != 0)
-       return 1;
-
-    /* fork */
-    if ((sniffemacs_pid=fork()) == 0)
-    {
-       /* child */
-
-       /* prepare communication pipes */
-       close(ToSniffEmacs[1]);
-       close(FromSniffEmacs[0]);
-
-       dup2(ToSniffEmacs[0],fileno(stdin));   /* write to ToSniffEmacs[1] */
-       dup2(FromSniffEmacs[1],fileno(stdout));/* read from FromSniffEmacs[0] */
-
-       close(ToSniffEmacs[0]);
-       close(FromSniffEmacs[1]);
-
-       /* start sniffemacs */
-       execvp (SniffEmacs[0], SniffEmacs);
-       {
-/*         FILE *out = fdopen(FromSniffEmacs[1], "w"); */
-           sleep(1);
-           fputs(_(msg_sniff_disconnect), stdout);
-           fflush(stdout);
-           sleep(3);
-#ifdef FEAT_GUI
-           if (gui.in_use)
-               gui_exit(1);
-#endif
-           exit(1);
-       }
-       return 1;
-    }
-    else if (sniffemacs_pid > 0)
-    {
-       /* parent process */
-       close(ToSniffEmacs[0]);
-       fd_to_sniff  = ToSniffEmacs[1];
-       close(FromSniffEmacs[1]);
-       fd_from_sniff = FromSniffEmacs[0];
-       sniff_connected = 1;
-       return 0;
-    }
-    else   /* error in fork() */
-       return 1;
-#endif         /* UNIX Version of the Code */
-}
-
-
-/* HandleSniffRequest
- * Handle one request from SNiFF+
- */
-    static void
-HandleSniffRequest(char *buffer)
-{
-    char VICommand[MAX_REQUEST_LEN];
-    char command;
-    char *arguments;
-    char *token;
-    char *argv[3];
-    int argc = 0;
-    buf_T  *buf;
-
-    const char *SetTab     = "set tabstop=%d";
-    const char *SelectBuf  = "buf %s";
-    const char *DeleteBuf  = "bd %s";
-    const char *UnloadBuf  = "bun %s";
-    const char *GotoLine   = "%d";
-
-    command   = buffer[0];
-    arguments = &buffer[1];
-    token = strtok(arguments, sniff_rq_sep);
-    while (argc <3)
-    {
-       if (token)
-       {
-           argv[argc] = (char*)vim_strsave((char_u *)token);
-           token = strtok(0, sniff_rq_sep);
-       }
-       else
-           argv[argc] = strdup("");
-       argc++;
-    }
-
-    switch (command)
-    {
-       case 'o' :  /* visit file at char pos */
-       case 'O' :  /* visit file at line number */
-       {
-           char *file = argv[0];
-           int position = atoi(argv[1]);
-
-           buf = vi_find_buffer(file);
-           setpcmark();      /* insert current pos in jump list [mark.c]*/
-           if (!buf)
-               vi_open_file(file);
-           else if (buf!=curbuf)
-           {
-               vim_snprintf(VICommand, sizeof(VICommand),
-                                                    (char *)SelectBuf, file);
-               vi_exec_cmd(VICommand);
-           }
-           if (command == 'o')
-               vi_set_cursor_pos((long)position);
-           else
-           {
-               vim_snprintf(VICommand, sizeof(VICommand),
-                                            (char *)GotoLine, (int)position);
-               vi_exec_cmd(VICommand);
-           }
-           checkpcmark();      /* [mark.c] */
-#if defined(FEAT_GUI_X11) || defined(FEAT_GUI_W32)
-           if (gui.in_use && !gui.in_focus)  /* Raise Vim Window */
-           {
-# ifdef FEAT_GUI_W32
-               SetForegroundWindow(s_hwnd);
-# else
-               extern Widget vimShell;
-
-               XSetInputFocus(gui.dpy, XtWindow(vimShell), RevertToNone,
-                       CurrentTime);
-               XRaiseWindow(gui.dpy, XtWindow(vimShell));
-# endif
-           }
-#endif
-           break;
-       }
-       case 'p' :  /* path of file has changed */
-           /* when changing from shared to private WS (checkout) */
-       {
-           char *file = argv[0];
-           char *new_path = argv[1];
-
-           buf = vi_find_buffer(file);
-           if (buf && !buf->b_changed) /* delete buffer only if not modified */
-           {
-               vim_snprintf(VICommand, sizeof(VICommand),
-                                                    (char *)DeleteBuf, file);
-               vi_exec_cmd(VICommand);
-           }
-           vi_open_file(new_path);
-           break;
-       }
-       case 'w' :  /* writability has changed */
-           /* Sniff sends request twice,
-            * but only the last one is the right one */
-       {
-           char *file = argv[0];
-           int writable = atoi(argv[1]);
-
-           buf = vi_find_buffer(file);
-           if (buf)
-           {
-               buf->b_p_ro = !writable;
-               if (buf != curbuf)
-               {
-                   buf->b_flags |= BF_CHECK_RO + BF_NEVERLOADED;
-                   if (writable && !buf->b_changed)
-                   {
-                       vim_snprintf(VICommand, sizeof(VICommand),
-                                                    (char *)UnloadBuf, file);
-                       vi_exec_cmd(VICommand);
-                   }
-               }
-               else if (writable && !buf->b_changed)
-               {
-                   vi_exec_cmd("e");
-               }
-           }
-           break;
-       }
-       case 'h' :  /* highlight info */
-           break;  /* not implemented */
-
-       case 't' :  /* Set tab width */
-       {
-           int tab_width = atoi(argv[1]);
-
-           if (tab_width > 0 && tab_width <= 16)
-           {
-               vim_snprintf(VICommand, sizeof(VICommand),
-                                                  (char *)SetTab, tab_width);
-               vi_exec_cmd(VICommand);
-           }
-           break;
-       }
-       case '|':
-       {
-           /* change the request separator */
-           sniff_rq_sep[0] = arguments[0];
-           /* echo the request */
-           WriteToSniff(buffer);
-           break;
-       }
-       case 'A' :  /* Warning/Info msg */
-           vi_msg(arguments);
-           if (!strncmp(arguments, "Disconnected", 12))
-               sniff_disconnect(1);    /* unexpected disconnection */
-           break;
-       case 'a' :  /* Error msg */
-           vi_error_msg(arguments);
-           if (!strncmp(arguments, "Cannot connect", 14))
-               sniff_disconnect(1);
-           break;
-
-       default :
-           break;
-    }
-    while (argc)
-       vim_free(argv[--argc]);
-}
-
-
-#ifndef WIN32
-/* get_request
- * read string from fd up to next newline (excluding the nl),
- * returns  length of string
- *         0 if no data available or no complete line
- *        <0 on error
- */
-    static int
-get_request(int fd, char *buf, int maxlen)
-{
-    static char        inbuf[1024];
-    static int pos = 0, bytes = 0;
-    int                len;
-#ifdef HAVE_SELECT
-    struct timeval tval;
-    fd_set     rfds;
-
-    FD_ZERO(&rfds);
-    FD_SET(fd, &rfds);
-    tval.tv_sec  = 0;
-    tval.tv_usec = 0;
-#else
-    struct pollfd fds;
-
-    fds.fd = fd;
-    fds.events = POLLIN;
-#endif
-
-    for (len = 0; len < maxlen; len++)
-    {
-       if (pos >= bytes)           /* end of buffer reached? */
-       {
-#ifdef HAVE_SELECT
-           if (select(fd + 1, &rfds, NULL, NULL, &tval) > 0)
-#else
-           if (poll(&fds, 1, 0) > 0)
-#endif
-           {
-               pos = 0;
-               bytes = read(fd, inbuf, sizeof(inbuf));
-               if (bytes <= 0)
-                   return bytes;
-           }
-           else
-           {
-               pos = pos-len;
-               buf[0] = '\0';
-               return 0;
-           }
-       }
-       if ((buf[len] = inbuf[pos++]) =='\n')
-           break;
-    }
-    buf[len] = '\0';
-    return len;
-}
-#endif     /* WIN32 */
-
-
-    static void
-SendRequest(struct sn_cmd *command, char *symbol)
-{
-    int                cmd_type = command->cmd_type;
-    static char cmdstr[MAX_REQUEST_LEN];
-    static char msgtxt[MAX_REQUEST_LEN];
-    char       *buffer_name = NULL;
-
-    if (cmd_type == RQ_CONNECT)
-    {
-       sniff_connect();
-       return;
-    }
-    if (!sniff_connected && !(cmd_type & SILENT))
-    {
-       vi_error_msg(_("E278: SNiFF+ not connected"));
-       return;
-    }
-
-    if (cmd_type & NEED_FILE)
-    {
-       if (!curbuf->b_sniff)
-       {
-           if (!(cmd_type & SILENT))
-               vi_error_msg(_("E279: Not a SNiFF+ buffer"));
-           return;
-       }
-       buffer_name = vi_buffer_name();
-       if (buffer_name == NULL)
-           return;
-       if (cmd_type & NEED_SYMBOL)
-       {
-           if (cmd_type & EMPTY_SYMBOL)
-               symbol = " ";
-           else if (!symbol && !(symbol = vi_symbol_under_cursor()))
-               return;     /* error msg already displayed */
-       }
-
-       if (symbol)
-           vim_snprintf(cmdstr, sizeof(cmdstr), "%c%s%s%ld%s%s\n",
-               command->cmd_code,
-               buffer_name,
-               sniff_rq_sep,
-               vi_cursor_pos(),
-               sniff_rq_sep,
-               symbol
-           );
-       else
-           vim_snprintf(cmdstr, sizeof(cmdstr), "%c%s\n",
-                   command->cmd_code, buffer_name);
-    }
-    else    /* simple request */
-    {
-       cmdstr[0] = command->cmd_code;
-       cmdstr[1] = '\n';
-       cmdstr[2] = '\0';
-    }
-    if (command->cmd_msg && !(cmd_type & SILENT))
-    {
-       if ((cmd_type & NEED_SYMBOL) && !(cmd_type & EMPTY_SYMBOL))
-       {
-           vim_snprintf(msgtxt, sizeof(msgtxt), "%s: %s",
-                                                _(command->cmd_msg), symbol);
-           vi_msg(msgtxt);
-       }
-       else
-           vi_msg(_(command->cmd_msg));
-    }
-    WriteToSniff(cmdstr);
-    if (cmd_type & DISCONNECT)
-       sniff_disconnect(0);
-}
-
-
-
-    static void
-WriteToSniff(char *str)
-{
-    int bytes;
-#ifdef WIN32
-    if (! WriteFile(handle_to_sniff, str, strlen(str), &bytes, NULL))
-    {
-       DWORD err=GetLastError();
-       bytes = -1;
-    }
-#else
-    bytes = write(fd_to_sniff, str, strlen(str));
-#endif
-    if (bytes<0)
-    {
-       vi_msg(_("Sniff: Error during write. Disconnected"));
-       sniff_disconnect(1);
-    }
-}
-
-/*-------- vim helping functions --------------------------------*/
-
-    static void
-vi_msg(char *str)
-{
-    if (str != NULL && *str != NUL)
-       MSG((char_u *)str);
-}
-
-    static void
-vi_error_msg(char *str)
-{
-    if (str != NULL && *str != NUL)
-       EMSG((char_u *)str);
-}
-
-    static void
-vi_open_file(char *fname)
-{
-    ++no_wait_return;
-    do_ecmd(0, (char_u *)fname, NULL, NULL, ECMD_ONE, ECMD_HIDE+ECMD_OLDBUF,
-           curwin);
-    curbuf->b_sniff = TRUE;
-    --no_wait_return;                                  /* [ex_docmd.c] */
-}
-
-    static buf_T *
-vi_find_buffer(char *fname)
-{                          /* derived from buflist_findname() [buffer.c] */
-    buf_T      *buf;
-
-    for (buf = firstbuf; buf != NULL; buf = buf->b_next)
-       if (buf->b_sfname != NULL && fnamecmp(fname, buf->b_sfname) == 0)
-           return (buf);
-    return NULL;
-}
-
-
-    static char *
-vi_symbol_under_cursor(void)
-{
-    int                len;
-    char       *symbolp;
-    char       *p;
-    static char sniff_symbol[256];
-
-    len = find_ident_under_cursor((char_u **)&symbolp, FIND_IDENT);
-    /* [normal.c] */
-    if (len <= 0)
-       return NULL;
-    for (p=sniff_symbol; len; len--)
-       *p++ = *symbolp++;
-    *p = '\0';
-    return sniff_symbol;
-}
-
-
-    static char *
-vi_buffer_name(void)
-{
-    return (char *)curbuf->b_sfname;
-}
-
-    static void
-vi_exec_cmd(char *vicmd)
-{
-    do_cmdline_cmd((char_u *)vicmd);  /* [ex_docmd.c] */
-}
-
-/*
- * Set cursor on character position
- * derived from cursor_pos_info() [buffer.c]
- */
-    static void
-vi_set_cursor_pos(long char_pos)
-{
-    linenr_T   lnum;
-    long       char_count = 1;  /* first position = 1 */
-    int                line_size;
-    int                eol_size;
-
-    if (char_pos == 0)
-    {
-       char_pos = 1;
-    }
-    if (get_fileformat(curbuf) == EOL_DOS)
-       eol_size = 2;
-    else
-       eol_size = 1;
-    for (lnum = 1; lnum <= curbuf->b_ml.ml_line_count; ++lnum)
-    {
-       line_size = STRLEN(ml_get(lnum)) + eol_size;
-       if (char_count+line_size > char_pos) break;
-       char_count += line_size;
-    }
-    curwin->w_cursor.lnum = lnum;
-    curwin->w_cursor.col  = char_pos - char_count;
-}
-
-    static long
-vi_cursor_pos(void)
-{
-    linenr_T   lnum;
-    long       char_count=1;  /* sniff starts with pos 1 */
-    int                line_size;
-    int                eol_size;
-
-    if (curbuf->b_p_tx)
-       eol_size = 2;
-    else
-       eol_size = 1;
-    for (lnum = 1; lnum < curwin->w_cursor.lnum; ++lnum)
-    {
-       line_size = STRLEN(ml_get(lnum)) + eol_size;
-       char_count += line_size;
-    }
-    return char_count + curwin->w_cursor.col;
-}
diff --git a/src/if_sniff.h b/src/if_sniff.h
deleted file mode 100644 (file)
index 50186b8..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-/*
- * if_sniff.h Interface between Vim and SNiFF+
- */
-
-#ifndef __if_sniff_h__
-#define __if_sniff_h__
-
-extern int  want_sniff_request;
-extern int  sniff_request_waiting;
-extern int  sniff_connected;
-extern int  fd_from_sniff;
-extern void sniff_disconnect(int immediately);
-extern void ProcessSniffRequests(void);
-extern void ex_sniff(exarg_T *eap);
-
-#endif
index 986006dc9292369ed1579eed8d60cfdd8c9152e0..066aa29b548816ca86e96e338cd8f8c843c5843e 100644 (file)
@@ -211,8 +211,6 @@ enum key_extra
     , KE_TAB           /* unshifted TAB key */
     , KE_S_TAB_OLD     /* shifted TAB key (no longer used) */
 
-    , KE_SNIFF         /* SNiFF+ input waiting */
-
     , KE_XF1           /* extra vt100 function keys for xterm */
     , KE_XF2
     , KE_XF3
@@ -449,8 +447,6 @@ enum key_extra
 #define K_IGNORE       TERMCAP2KEY(KS_EXTRA, KE_IGNORE)
 #define K_NOP          TERMCAP2KEY(KS_EXTRA, KE_NOP)
 
-#define K_SNIFF                TERMCAP2KEY(KS_EXTRA, KE_SNIFF)
-
 #define K_MOUSEDOWN    TERMCAP2KEY(KS_EXTRA, KE_MOUSEDOWN)
 #define K_MOUSEUP      TERMCAP2KEY(KS_EXTRA, KE_MOUSEUP)
 #define K_MOUSELEFT    TERMCAP2KEY(KS_EXTRA, KE_MOUSELEFT)
index d4b4b70fcbf03b15882c9a2b2a00705d591e7683..b57191ae07ffba791f19e8b37d18fe5530b9a6ec 100644 (file)
@@ -163,9 +163,6 @@ static void nv_halfpage(cmdarg_T *cap);
 static void    nv_join(cmdarg_T *cap);
 static void    nv_put(cmdarg_T *cap);
 static void    nv_open(cmdarg_T *cap);
-#ifdef FEAT_SNIFF
-static void    nv_sniff(cmdarg_T *cap);
-#endif
 #ifdef FEAT_NETBEANS_INTG
 static void    nv_nbcmd(cmdarg_T *cap);
 #endif
@@ -420,9 +417,6 @@ static const struct nv_cmd
     {K_F8,     farsi_fkey,     0,                      0},
     {K_F9,     farsi_fkey,     0,                      0},
 #endif
-#ifdef FEAT_SNIFF
-    {K_SNIFF,  nv_sniff,       0,                      0},
-#endif
 #ifdef FEAT_NETBEANS_INTG
     {K_F21,    nv_nbcmd,       NV_NCH_ALW,             0},
 #endif
@@ -570,10 +564,6 @@ normal_cmd(
      * remembered in "opcount". */
     ca.opcount = opcount;
 
-#ifdef FEAT_SNIFF
-    want_sniff_request = sniff_connected;
-#endif
-
     /*
      * If there is an operator pending, then the command we take this time
      * will terminate it. Finish_op tells us to finish the operation before
@@ -9388,14 +9378,6 @@ nv_open(cmdarg_T *cap)
        n_opencmd(cap);
 }
 
-#ifdef FEAT_SNIFF
-    static void
-nv_sniff(cmdarg_T *cap UNUSED)
-{
-    ProcessSniffRequests();
-}
-#endif
-
 #ifdef FEAT_NETBEANS_INTG
     static void
 nv_nbcmd(cmdarg_T *cap)
index 3c0b48c355e5867a222e8af2ce1871baec364158..360259a67f7943f85fbabd8c998f31f9f27c68ad 100644 (file)
@@ -5340,7 +5340,6 @@ WaitForChar(long msec)
  * "msec" == 0 will check for characters once.
  * "msec" == -1 will block until a character is available.
  * When a GUI is being used, this will not be used for input -- webb
- * Returns also, when a request from Sniff is waiting -- toni.
  * Or when a Linux GPM mouse event is waiting.
  * Or when a clientserver message is on the queue.
  */
@@ -5427,15 +5426,6 @@ RealWaitForChar(int fd, long msec, int *check_for_gpm UNUSED)
        fds[0].events = POLLIN;
        nfd = 1;
 
-# ifdef FEAT_SNIFF
-#  define SNIFF_IDX 1
-       if (want_sniff_request)
-       {
-           fds[SNIFF_IDX].fd = fd_from_sniff;
-           fds[SNIFF_IDX].events = POLLIN;
-           nfd++;
-       }
-# endif
 # ifdef FEAT_XCLIPBOARD
        may_restore_clipboard();
        if (xterm_Shell != (Widget)0)
@@ -5478,17 +5468,6 @@ RealWaitForChar(int fd, long msec, int *check_for_gpm UNUSED)
            finished = FALSE;
 # endif
 
-# ifdef FEAT_SNIFF
-       if (ret < 0)
-           sniff_disconnect(1);
-       else if (want_sniff_request)
-       {
-           if (fds[SNIFF_IDX].revents & POLLHUP)
-               sniff_disconnect(1);
-           if (fds[SNIFF_IDX].revents & POLLIN)
-               sniff_request_waiting = 1;
-       }
-# endif
 # ifdef FEAT_XCLIPBOARD
        if (xterm_Shell != (Widget)0 && (fds[xterm_idx].revents & POLLIN))
        {
@@ -5574,15 +5553,6 @@ select_eintr:
 # endif
        maxfd = fd;
 
-# ifdef FEAT_SNIFF
-       if (want_sniff_request)
-       {
-           FD_SET(fd_from_sniff, &rfds);
-           FD_SET(fd_from_sniff, &efds);
-           if (maxfd < fd_from_sniff)
-               maxfd = fd_from_sniff;
-       }
-# endif
 # ifdef FEAT_XCLIPBOARD
        may_restore_clipboard();
        if (xterm_Shell != (Widget)0)
@@ -5652,17 +5622,6 @@ select_eintr:
            finished = FALSE;
 # endif
 
-# ifdef FEAT_SNIFF
-       if (ret < 0 )
-           sniff_disconnect(1);
-       else if (ret > 0 && want_sniff_request)
-       {
-           if (FD_ISSET(fd_from_sniff, &efds))
-               sniff_disconnect(1);
-           if (FD_ISSET(fd_from_sniff, &rfds))
-               sniff_request_waiting = 1;
-       }
-# endif
 # ifdef FEAT_XCLIPBOARD
        if (ret > 0 && xterm_Shell != (Widget)0
                && FD_ISSET(ConnectionNumber(xterm_dpy), &rfds))
index b7b393083a70905d0466933e6bc6fa5368a664ad..28c02630888660df2614e5980eac6194585e3ad7 100644 (file)
@@ -1683,27 +1683,6 @@ mch_inchar(
     if (typeaheadlen > 0)
        goto theend;
 
-#ifdef FEAT_SNIFF
-    if (want_sniff_request)
-    {
-       if (sniff_request_waiting)
-       {
-           /* return K_SNIFF */
-           typeahead[typeaheadlen++] = CSI;
-           typeahead[typeaheadlen++] = (char_u)KS_EXTRA;
-           typeahead[typeaheadlen++] = (char_u)KE_SNIFF;
-           sniff_request_waiting = 0;
-           want_sniff_request = 0;
-           goto theend;
-       }
-       else if (time < 0 || time > 250)
-       {
-           /* don't wait too long, a request might be pending */
-           time = 250;
-       }
-    }
-#endif
-
     if (time >= 0)
     {
        if (!WaitForChar(time))     /* no character available */
index f3753306d59e6d0068bfa0f90fca06bb11651b40..2989dcd9e36e8705061c6094f1258f3994ec1e93 100644 (file)
@@ -1639,10 +1639,6 @@ struct file_buffer
     char        b_fab_rat;     /* Record attribute */
     unsigned int b_fab_mrs;    /* Max record size  */
 #endif
-#ifdef FEAT_SNIFF
-    int                b_sniff;        /* file was loaded through Sniff */
-#endif
-
     int                b_fnum;         /* buffer number for this file. */
 
     int                b_changed;      /* 'modified': Set to TRUE if something in the
index a97fe54848f5a1f8d2689720e97528c1a2a4fa9d..d6ba5373b73be1a09beaecf2f15fc48c7dfaa9e9 100644 (file)
@@ -1796,16 +1796,6 @@ set_termname(char_u *term)
 # endif
 #endif /* FEAT_MOUSE */
 
-#ifdef FEAT_SNIFF
-    {
-       char_u  name[2];
-
-       name[0] = (int)KS_EXTRA;
-       name[1] = (int)KE_SNIFF;
-       add_termcode(name, (char_u *)"\233sniff", FALSE);
-    }
-#endif
-
 #ifdef USE_TERM_CONSOLE
     /* DEFAULT_TERM indicates that it is the machine console. */
     if (STRCMP(term, DEFAULT_TERM) != 0)
index 891da1bf4494c26d1b9381bc22663c3ab1fbbed3..be5d8c50fbd263aa8046a60683394ce9eda20105 100644 (file)
--- a/src/ui.c
+++ b/src/ui.c
@@ -1627,7 +1627,7 @@ set_input_buf(char_u *p)
 #if defined(FEAT_GUI) \
        || defined(FEAT_MOUSE_GPM) || defined(FEAT_SYSMOUSE) \
        || defined(FEAT_XCLIPBOARD) || defined(VMS) \
-       || defined(FEAT_SNIFF) || defined(FEAT_CLIENTSERVER) \
+       || defined(FEAT_CLIENTSERVER) \
        || defined(PROTO)
 /*
  * Add the given bytes to the input buffer
@@ -1772,17 +1772,7 @@ fill_input_buf(int exit_on_error UNUSED)
     inbufcount = 0;
 # else
 
-#  ifdef FEAT_SNIFF
-    if (sniff_request_waiting)
-    {
-       add_to_input_buf((char_u *)"\233sniff",6); /* results in K_SNIFF */
-       sniff_request_waiting = 0;
-       want_sniff_request = 0;
-       return;
-    }
-#  endif
-
-# ifdef FEAT_MBYTE
+#  ifdef FEAT_MBYTE
     if (rest != NULL)
     {
        /* Use remainder of previous call, starts with an invalid character
@@ -1806,7 +1796,7 @@ fill_input_buf(int exit_on_error UNUSED)
     }
     else
        unconverted = 0;
-#endif
+#  endif
 
     len = 0;   /* to avoid gcc warning */
     for (try = 0; try < 100; ++try)
index 5ae9179d5851a174f931e30eac1900f6892d5a9c..480fd8a7ab689c18f90881cd8ce2af73de1aae02 100644 (file)
@@ -554,11 +554,6 @@ static char *(features[]) =
 #else
        "-smartindent",
 #endif
-#ifdef FEAT_SNIFF
-       "+sniff",
-#else
-       "-sniff",
-#endif
 #ifdef STARTUPTIME
        "+startuptime",
 #else
@@ -748,6 +743,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    1433,
 /**/
     1432,
 /**/
index fc693b39cbe5deac557c5f4662e21d4d0a498d62..bf50dca6aeb1b71b3c140b9bfa56098319ac331e 100644 (file)
--- a/src/vim.h
+++ b/src/vim.h
@@ -1972,10 +1972,6 @@ typedef int VimClipboard;        /* This is required for the prototypes. */
 
 #include "globals.h"       /* global variables and messages */
 
-#ifdef FEAT_SNIFF
-# include "if_sniff.h"
-#endif
-
 #ifndef FEAT_VIRTUALEDIT
 # define getvvcol(w, p, s, c, e) getvcol(w, p, s, c, e)
 # define virtual_active() FALSE