0
0
mirror of https://github.com/vim/vim.git synced 2025-07-24 10:45:12 -04:00

patch 8.1.0763: nobody is using the Sun Workshop support

Problem:    Nobody is using the Sun Workshop support.
Solution:   Remove the Workshop support.
This commit is contained in:
Bram Moolenaar 2019-01-17 15:45:25 +01:00
parent e40742526e
commit bb1969b6ab
37 changed files with 55 additions and 4093 deletions

View File

@ -180,7 +180,6 @@ Interfaces ~
|if_ole.txt| OLE automation interface for Win32
|if_ruby.txt| Ruby interface
|debugger.txt| Interface with a debugger
|workshop.txt| Sun Visual Workshop interface
|netbeans.txt| NetBeans External Editor interface
|sign.txt| debugging signs

View File

@ -1,10 +1,10 @@
*netbeans.txt* For Vim version 8.1. Last change: 2016 Jul 15
*netbeans.txt* For Vim version 8.1. Last change: 2019 Jan 17
VIM REFERENCE MANUAL by Gordon Prieur et al.
*netbeans* *netbeans-support*
*netbeans* *NetBeans* *netbeans-support*
Vim NetBeans Protocol: a socket interface for Vim integration into an IDE.
@ -123,8 +123,18 @@ Currently the NetBeans interface is supported by Vim running in a terminal and
by gvim when it is run with one of the following GUIs: GTK, GNOME, Windows,
Athena and Motif.
If Motif support is required the user must supply XPM libraries. See
|workshop-xpm| for details on obtaining the latest version of XPM.
*netbeans-xpm*
If Motif support is required the user must supply XPM libraries.
The XPM library is required to show images within Vim with Motif or Athena.
Without it the toolbar and signs will be disabled.
The XPM library is provided by Arnaud Le Hors of the French National Institute
for Research in Computer Science and Control. It can be downloaded from
http://cgit.freedesktop.org/xorg/lib/libXpm. The current release, as of this
writing, is xpm-3.4k-solaris.tgz, which is a gzip'ed tar file. If you create
the directory /usr/local/xpm and untar the file there you can use the
uncommented lines in the Makefile without changing them. If you use another
xpm directory you will need to change the XPM_DIR in src/Makefile.
On MS-Windows:

View File

@ -1,4 +1,4 @@
*workshop.txt* For Vim version 8.1. Last change: 2013 Jul 06
*workshop.txt* For Vim version 8.1. Last change: 2019 Jan 17
VIM REFERENCE MANUAL by Gordon Prieur
@ -6,93 +6,9 @@
Sun Visual WorkShop Features *workshop* *workshop-support*
1. Introduction |workshop-intro|
2. Commands |workshop-commands|
3. Compiling vim/gvim for WorkShop |workshop-compiling|
4. Configuring gvim for a WorkShop release tree |workshop-configure|
5. Obtaining the latest version of the XPM library |workshop-xpm|
The support for WorkShop was removed in patch 8.1.0763 in January 2019.
The product has not been available for a long time and has been replaced by
|NetBeans|.
{Vi does not have any of these features}
{only available when compiled with the |+sun_workshop| feature}
==============================================================================
1. Introduction *workshop-intro*
Sun Visual WorkShop has an "Editor of Choice" feature designed to let users
debug using their favorite editors. For the 6.0 release we have added support
for gvim. A workshop debug session will have a debugging window and an editor
window (possibly others as well). The user can do many debugging operations
from the editor window, minimizing the need to switch from window to window.
The version of vim shipped with Sun Visual WorkShop 6 (also called Forte
Developer 6) is vim 5.3. The features in this release are much more reliable
than the vim/gvim shipped with Visual WorkShop. VWS users wishing to use vim
as their editor should compile these sources and install them in their
workshop release tree.
==============================================================================
2. Commands *workshop-commands*
*:ws* *:wsverb*
:ws[verb] verb Pass the verb to the verb executor
Pass the verb to a workshop function which gathers some arguments and
sends the verb and data to workshop over an IPC connection.
==============================================================================
3. Compiling vim/gvim for WorkShop *workshop-compiling*
Compiling vim with FEAT_SUN_WORKSHOP turns on all compile time flags necessary
for building a vim to work with Visual WorkShop. The features required for VWS
have been built and tested using the Sun compilers from the VWS release. They
have not been built or tested using Gnu compilers. This does not mean the
features won't build and run if compiled with gcc, just that nothing is
guaranteed with gcc!
==============================================================================
4. Configuring gvim for a WorkShop release tree *workshop-configure*
There are several assumptions which must be met in order to compile a gvim for
use with Sun Visual WorkShop 6.
o You should use the compiler in VWS rather than gcc. We have neither
built nor tested with gcc and cannot guarantee it will build properly.
o You must supply your own XPM library. See |workshop-xpm| below for
details on obtaining the latest version of XPM.
o Edit the Makefile in the src directory and uncomment the lines for Sun
Visual WorkShop. You can easily find these by searching for the string
FEAT_SUN_WORKSHOP
o We also suggest you use Motif for your gui. This will provide gvim with
the same look-and-feel as the rest of Sun Visual WorkShop.
The following configuration line can be used to configure vim to build for use
with Sun Visual WorkShop:
$ CC=cc configure --enable-workshop --enable-gui=motif \
-prefix=<VWS-install-dir>/contrib/contrib6/<vim-version>
The VWS-install-dir should be the base directory where your Sun Visual WorkShop
was installed. By default this is /opt/SUNWspro. It will normally require
root permissions to install the vim release. You will also need to change the
symlink <VWS-install-dir>/bin/gvim to point to the vim in your newly installed
directory. The <vim-version> should be a unique version string. I use "vim"
concatenated with the equivalent of version.h's VIM_VERSION_SHORT.
==============================================================================
5. Obtaining the latest version of the XPM library *workshop-xpm*
The XPM library is required to show images within Vim with Motif or Athena.
Without it the toolbar and signs will be disabled.
The XPM library is provided by Arnaud Le Hors of the French National Institute
for Research in Computer Science and Control. It can be downloaded from
http://cgit.freedesktop.org/xorg/lib/libXpm. The current release, as of this
writing, is xpm-3.4k-solaris.tgz, which is a gzip'ed tar file. If you create
the directory /usr/local/xpm and untar the file there you can use the
uncommented lines in the Makefile without changing them. If you use another
xpm directory you will need to change the XPM_DIR in src/Makefile.
vim:tw=78:ts=8:noet:ft=help:norl:

View File

@ -317,7 +317,7 @@ CClink = $(CC)
# You can give a lot of options to configure.
# Change this to your desire and do 'make config' afterwards
# examples:
# examples you can uncomment:
#CONF_ARGS1 = --exec-prefix=/usr
#CONF_ARGS2 = --with-vim-name=vim8 --with-ex-name=ex8 --with-view-name=view8
#CONF_ARGS3 = --with-global-runtime=/etc/vim,/usr/share/vim
@ -781,7 +781,7 @@ SANITIZER_LIBS = $(SANITIZER_CFLAGS)
#CC = /usr/ucb/cc
#EXTRA_LIBS = -R/usr/ucblib
### Solaris with Forte Developer and FEAT_SUN_WORKSHOP
### Solaris with Forte Developer and NetBeans.
# The Xpm library is available from http://koala.ilog.fr/ftp/pub/xpm.
#CC = cc
#XPM_DIR = /usr/local/xpm/xpm-3.4k-solaris
@ -791,10 +791,6 @@ SANITIZER_LIBS = $(SANITIZER_CFLAGS)
#EXTRA_IPATHS = $(XPM_IPATH)
#EXTRA_DEFS = -xCC -DHAVE_X11_XPM_H
### Solaris with workshop compilers: Vim is unstable when compiled with
# "-fast". Use this instead. (Shea Martin)
#CFLAGS = -x02 -xtarget=ultra
### (R) for Solaris 2.5 (or 2.5.1) with gcc > 2.5.6 you might need this:
#LDFLAGS = -lw -ldl -lXmu
#GUI_LIB_LOC = -L/usr/local/lib
@ -1651,14 +1647,11 @@ SRC = $(BASIC_SRC) \
$(PERL_SRC) \
$(PYTHON_SRC) $(PYTHON3_SRC) \
$(TCL_SRC) \
$(RUBY_SRC) \
$(WORKSHOP_SRC) \
$(WSDEBUG_SRC)
$(RUBY_SRC)
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 \
gui_beval.c workshop.c wsdebug.c integration.c \
netbeans.c channel.c \
gui_beval.c netbeans.c channel.c \
$(GRESOURCE_SRC)
# Unittest files
@ -1684,7 +1677,6 @@ ALL_SRC = $(BASIC_SRC) $(ALL_GUI_SRC) $(UNITTEST_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) \
$(WORKSHOP_SRC) $(WSDEBUG_SRC) \
$(NETBEANS_SRC) $(CHANNEL_SRC) $(TERM_SRC)
#LINT_SRC = $(SRC)
#LINT_SRC = $(ALL_SRC)
@ -1761,11 +1753,9 @@ OBJ_COMMON = \
$(TCL_OBJ) \
$(RUBY_OBJ) \
$(OS_EXTRA_OBJ) \
$(WORKSHOP_OBJ) \
$(NETBEANS_OBJ) \
$(CHANNEL_OBJ) \
$(XDIFF_OBJS) \
$(WSDEBUG_OBJ)
$(XDIFF_OBJS)
# The files included by tests are not in OBJ_COMMON.
OBJ_MAIN = \
@ -1889,7 +1879,6 @@ PRO_AUTO = \
window.pro \
beval.pro \
gui_beval.pro \
workshop.pro \
netbeans.pro \
channel.pro \
$(ALL_GUI_PRO) \
@ -1932,7 +1921,7 @@ config auto/config.mk: auto/configure config.mk.in config.h.in
$(CONF_OPT_PERL) $(CONF_OPT_PYTHON) $(CONF_OPT_PYTHON3) \
$(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_OUTPUT) $(CONF_OPT_GPM) \
$(CONF_OPT_FEAT) $(CONF_TERM_LIB) \
$(CONF_OPT_COMPBY) $(CONF_OPT_ACL) $(CONF_OPT_NETBEANS) \
$(CONF_OPT_CHANNEL) $(CONF_OPT_TERMINAL) \
@ -3098,9 +3087,6 @@ objects/if_ruby.o: if_ruby.c
objects/if_tcl.o: if_tcl.c
$(CCC_NF) $(TCL_CFLAGS) $(ALL_CFLAGS) -o $@ if_tcl.c
objects/integration.o: integration.c
$(CCC) -o $@ integration.c
objects/json.o: json.c
$(CCC) -o $@ json.c
@ -3239,12 +3225,6 @@ objects/userfunc.o: userfunc.c
objects/window.o: window.c
$(CCC) -o $@ window.c
objects/workshop.o: workshop.c
$(CCC) -o $@ workshop.c
objects/wsdebug.o: wsdebug.c
$(CCC) -o $@ wsdebug.c
objects/netbeans.o: netbeans.c
$(CCC) -o $@ netbeans.c
@ -3784,16 +3764,6 @@ objects/gui_beval.o: gui_beval.c vim.h protodef.h auto/config.h feature.h \
os_unix.h auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
proto.h globals.h farsi.h arabic.h
objects/workshop.o: workshop.c protodef.h auto/config.h integration.h vim.h \
feature.h os_unix.h auto/osdef.h ascii.h keymap.h term.h macros.h \
option.h beval.h proto/gui_beval.pro structs.h regexp.h gui.h alloc.h \
ex_cmds.h spell.h proto.h globals.h farsi.h arabic.h version.h \
workshop.h
objects/wsdebug.o: wsdebug.c
objects/integration.o: integration.c vim.h protodef.h auto/config.h feature.h \
os_unix.h auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
proto.h globals.h farsi.h arabic.h integration.h
objects/netbeans.o: netbeans.c vim.h protodef.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \

27
src/auto/configure vendored
View File

@ -661,8 +661,6 @@ CHANNEL_OBJ
CHANNEL_SRC
NETBEANS_OBJ
NETBEANS_SRC
WORKSHOP_OBJ
WORKSHOP_SRC
RUBY_LIBS
RUBY_CFLAGS
RUBY_PRO
@ -812,7 +810,6 @@ with_tclsh
enable_rubyinterp
with_ruby_command
enable_cscope
enable_workshop
enable_netbeans
enable_channel
enable_terminal
@ -1494,7 +1491,6 @@ Optional Features:
--enable-tclinterp=OPTS Include Tcl interpreter. default=no OPTS=no/yes/dynamic
--enable-rubyinterp=OPTS Include Ruby interpreter. default=no OPTS=no/yes/dynamic
--enable-cscope Include cscope interface.
--enable-workshop Include Sun Visual Workshop support.
--disable-netbeans Disable NetBeans integration support.
--disable-channel Disable process communication support.
--enable-terminal Enable terminal emulation support.
@ -7665,29 +7661,6 @@ if test "$enable_cscope" = "yes"; then
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking --enable-workshop argument" >&5
$as_echo_n "checking --enable-workshop argument... " >&6; }
# Check whether --enable-workshop was given.
if test "${enable_workshop+set}" = set; then :
enableval=$enable_workshop;
else
enable_workshop="no"
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_workshop" >&5
$as_echo "$enable_workshop" >&6; }
if test "$enable_workshop" = "yes"; then
$as_echo "#define FEAT_SUN_WORKSHOP 1" >>confdefs.h
WORKSHOP_SRC="workshop.c integration.c"
WORKSHOP_OBJ="objects/workshop.o objects/integration.o"
if test "${enable_gui-xxx}" = xxx; then
enable_gui=motif
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking --disable-netbeans argument" >&5
$as_echo_n "checking --disable-netbeans argument... " >&6; }
# Check whether --enable-netbeans was given.

View File

@ -273,10 +273,6 @@ general_beval_cb(BalloonEval *beval, int state UNUSED)
if (bevalServers & BEVAL_NETBEANS)
netbeans_beval_cb(beval, state);
#endif
#ifdef FEAT_SUN_WORKSHOP
if (bevalServers & BEVAL_WORKSHOP)
workshop_beval_cb(beval, state);
#endif
recursive = FALSE;
}

View File

@ -658,11 +658,6 @@ aucmd_abort:
*/
if (wipe_buf)
{
#ifdef FEAT_SUN_WORKSHOP
if (usingSunWorkShop)
workshop_file_closed_lineno((char *)buf->b_ffname,
(int)buf->b_last_cursor.lnum);
#endif
if (buf->b_sfname != buf->b_ffname)
VIM_CLEAR(buf->b_sfname);
else

View File

@ -441,9 +441,6 @@
/* Define if we have shl_load() */
#undef HAVE_SHL_LOAD
/* Define if you want to include Sun Visual Workshop support. */
#undef FEAT_SUN_WORKSHOP
/* Define if you want to include NetBeans integration. */
#undef FEAT_NETBEANS_INTG

View File

@ -81,9 +81,6 @@ TCL_LIBS = @TCL_LIBS@
HANGULIN_SRC = @HANGULIN_SRC@
HANGULIN_OBJ = @HANGULIN_OBJ@
WORKSHOP_SRC = @WORKSHOP_SRC@
WORKSHOP_OBJ = @WORKSHOP_OBJ@
NETBEANS_SRC = @NETBEANS_SRC@
NETBEANS_OBJ = @NETBEANS_OBJ@
CHANNEL_SRC = @CHANNEL_SRC@

View File

@ -1996,22 +1996,6 @@ if test "$enable_cscope" = "yes"; then
AC_DEFINE(FEAT_CSCOPE)
fi
AC_MSG_CHECKING(--enable-workshop argument)
AC_ARG_ENABLE(workshop,
[ --enable-workshop Include Sun Visual Workshop support.], ,
[enable_workshop="no"])
AC_MSG_RESULT($enable_workshop)
if test "$enable_workshop" = "yes"; then
AC_DEFINE(FEAT_SUN_WORKSHOP)
WORKSHOP_SRC="workshop.c integration.c"
AC_SUBST(WORKSHOP_SRC)
WORKSHOP_OBJ="objects/workshop.o objects/integration.o"
AC_SUBST(WORKSHOP_OBJ)
if test "${enable_gui-xxx}" = xxx; then
enable_gui=motif
fi
fi
AC_MSG_CHECKING(--disable-netbeans argument)
AC_ARG_ENABLE(netbeans,
[ --disable-netbeans Disable NetBeans integration support.],

View File

@ -6512,9 +6512,6 @@ f_has(typval_T *argvars, typval_T *rettv)
#ifdef FEAT_STL_OPT
"statusline",
#endif
#ifdef FEAT_SUN_WORKSHOP
"sun_workshop",
#endif
#ifdef FEAT_NETBEANS_INTG
"netbeans_intg",
#endif

View File

@ -28,9 +28,9 @@ static const unsigned short cmdidxs1[26] =
/* u */ 481,
/* v */ 492,
/* w */ 510,
/* x */ 525,
/* y */ 534,
/* z */ 535
/* x */ 524,
/* y */ 533,
/* z */ 534
};
/*
@ -63,10 +63,10 @@ static const unsigned char cmdidxs2[26][26] =
/* t */ { 2, 0, 19, 0, 22, 24, 0, 25, 0, 26, 0, 27, 31, 34, 36, 37, 0, 38, 40, 0, 41, 0, 0, 0, 0, 0 },
/* u */ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
/* v */ { 0, 0, 0, 0, 1, 0, 0, 0, 4, 0, 0, 0, 9, 12, 0, 0, 0, 0, 15, 0, 16, 0, 0, 0, 0, 0 },
/* w */ { 2, 0, 0, 0, 0, 0, 0, 3, 4, 0, 0, 0, 0, 8, 0, 9, 10, 0, 12, 0, 13, 14, 0, 0, 0, 0 },
/* w */ { 2, 0, 0, 0, 0, 0, 0, 3, 4, 0, 0, 0, 0, 8, 0, 9, 10, 0, 0, 0, 12, 13, 0, 0, 0, 0 },
/* x */ { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 5, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0 },
/* y */ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
/* z */ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
};
static const int command_count = 548;
static const int command_count = 547;

View File

@ -3805,9 +3805,6 @@ do_ecmd(
int newcol = -1;
int solcol = -1;
pos_T *pos;
#ifdef FEAT_SUN_WORKSHOP
char_u *cp;
#endif
char_u *command = NULL;
#ifdef FEAT_SPELL
int did_get_winopts = FALSE;
@ -3881,11 +3878,6 @@ do_ecmd(
if (free_fname != NULL)
ffname = free_fname;
other_file = otherfile(ffname);
#ifdef FEAT_SUN_WORKSHOP
if (usingSunWorkShop && p_acd
&& (cp = vim_strrchr(sfname, '/')) != NULL)
sfname = ++cp;
#endif
}
}
@ -4457,13 +4449,9 @@ do_ecmd(
}
#endif
#if defined(FEAT_SUN_WORKSHOP) || defined(FEAT_NETBEANS_INTG)
#if defined(FEAT_NETBEANS_INTG)
if (curbuf->b_ffname != NULL)
{
# ifdef FEAT_SUN_WORKSHOP
if (gui.in_use && usingSunWorkShop)
workshop_file_opened((char *)curbuf->b_ffname, curbuf->b_p_ro);
# endif
# ifdef FEAT_NETBEANS_INTG
if ((flags & ECMD_SET_HELP) != ECMD_SET_HELP)
netbeans_file_opened(curbuf);

View File

@ -1670,9 +1670,6 @@ EX(CMD_wq, "wq", ex_exit,
EX(CMD_wqall, "wqall", do_wqall,
BANG|FILE1|ARGOPT|DFLALL|TRLBAR,
ADDR_LINES),
EX(CMD_wsverb, "wsverb", ex_wsverb,
EXTRA|NOTADR|NEEDARG,
ADDR_LINES),
EX(CMD_wundo, "wundo", ex_wundo,
BANG|NEEDARG|FILE1,
ADDR_LINES),

View File

@ -411,9 +411,6 @@ static void ex_folddo(exarg_T *eap);
#ifndef FEAT_SIGNS
# define ex_sign ex_ni
#endif
#ifndef FEAT_SUN_WORKSHOP
# define ex_wsverb ex_ni
#endif
#ifndef FEAT_NETBEANS_INTG
# define ex_nbclose ex_ni
# define ex_nbkey ex_ni

View File

@ -1232,7 +1232,6 @@
* +perl Perl interface: "--enable-perlinterp"
* +python Python interface: "--enable-pythoninterp"
* +tcl TCL interface: "--enable-tclinterp"
* +sun_workshop Sun Workshop integration
* +netbeans_intg Netbeans integration
* +channel Inter process communication
*/
@ -1243,13 +1242,6 @@
* +tgetent
*/
/*
* The Sun Workshop features currently only work with Motif.
*/
#if !defined(FEAT_GUI_MOTIF) && defined(FEAT_SUN_WORKSHOP)
# undef FEAT_SUN_WORKSHOP
#endif
/*
* The Netbeans feature requires +eval.
*/
@ -1279,8 +1271,7 @@
* +signs Allow signs to be displayed to the left of text lines.
* Adds the ":sign" command.
*/
#if defined(FEAT_BIG) || defined(FEAT_SUN_WORKSHOP) \
|| defined(FEAT_NETBEANS_INTG)
#if defined(FEAT_BIG) || defined(FEAT_NETBEANS_INTG)
# define FEAT_SIGNS
# if ((defined(FEAT_GUI_MOTIF) || defined(FEAT_GUI_ATHENA)) \
&& defined(HAVE_X11_XPM_H)) \
@ -1299,7 +1290,6 @@
|| defined(FEAT_GUI_GTK) || defined(FEAT_GUI_W32)) \
&& ( ((defined(FEAT_TOOLBAR) || defined(FEAT_GUI_TABLINE)) \
&& !defined(FEAT_GUI_GTK) && !defined(FEAT_GUI_W32)) \
|| defined(FEAT_SUN_WORKSHOP) \
|| defined(FEAT_NETBEANS_INTG) || defined(FEAT_EVAL))
# define FEAT_BEVAL_GUI
# if !defined(FEAT_XFONTSET) && !defined(FEAT_GUI_GTK) \
@ -1329,37 +1319,25 @@
# define FEAT_GUI_X11
#endif
#if defined(FEAT_SUN_WORKSHOP) || defined(FEAT_NETBEANS_INTG)
/*
* The following features are (currently) only used by Sun Visual WorkShop 6
* and NetBeans. These features could be used with other integrations with
* debuggers so I've used separate feature defines.
*/
#if defined(FEAT_NETBEANS_INTG)
// NetBeans uses menus.
# if !defined(FEAT_MENU)
# define FEAT_MENU
# endif
#endif
#if defined(FEAT_SUN_WORKSHOP)
/*
* Use an alternative method of X input for a secondary
* command input.
*/
# define ALT_X_INPUT
#if 0
/*
* +footer Motif only: Add a message area at the bottom of the
* main window area.
*/
# define FEAT_FOOTER
#endif
/*
* +autochdir 'autochdir' option.
*/
#if defined(FEAT_SUN_WORKSHOP) || defined(FEAT_NETBEANS_INTG) \
|| defined(FEAT_BIG)
#if defined(FEAT_NETBEANS_INTG) || defined(FEAT_BIG)
# define FEAT_AUTOCHDIR
#endif

View File

@ -5094,11 +5094,6 @@ restore_backup:
if (!p_bk && backup != NULL && mch_remove(backup) != 0)
emsg(_("E207: Can't delete backup file"));
#ifdef FEAT_SUN_WORKSHOP
if (usingSunWorkShop)
workshop_file_saved((char *) ffname);
#endif
goto nofail;
/*

View File

@ -1218,10 +1218,9 @@ EXTERN int no_hlsearch INIT(= FALSE);
#if defined(FEAT_BEVAL) && !defined(NO_X11_INCLUDES)
EXTERN BalloonEval *balloonEval INIT(= NULL);
EXTERN int balloonEvalForTerm INIT(= FALSE);
# if defined(FEAT_NETBEANS_INTG) || defined(FEAT_SUN_WORKSHOP)
# if defined(FEAT_NETBEANS_INTG)
EXTERN int bevalServers INIT(= 0);
# define BEVAL_NETBEANS 0x01
# define BEVAL_WORKSHOP 0x02
# endif
#endif
@ -1363,14 +1362,6 @@ EXTERN linenr_T spell_redraw_lnum INIT(= 0);
EXTERN int need_cursor_line_redraw INIT(= FALSE);
#endif
#ifdef ALT_X_INPUT
/* we need to be able to go into the dispatch loop while processing a command
* received via alternate input. However, we don't want to process another
* command until the first is completed.
*/
EXTERN int suppress_alternate_input INIT(= FALSE);
#endif
#ifdef USE_MCH_ERRMSG
/* Grow array to collect error messages in until they can be displayed. */
EXTERN garray_T error_ga

View File

@ -672,10 +672,6 @@ gui_init(void)
#ifdef FEAT_MENU
gui_create_initial_menus(root_menu);
#endif
#ifdef FEAT_SUN_WORKSHOP
if (usingSunWorkShop)
workshop_init();
#endif
#ifdef FEAT_SIGN_ICONS
sign_gui_started();
#endif
@ -1604,19 +1600,8 @@ gui_set_shellsize(
/* Remember the original window position. */
(void)gui_mch_get_winpos(&x, &y);
#ifdef USE_SUN_WORKSHOP
if (!mustset && usingSunWorkShop
&& workshop_get_width_height(&width, &height))
{
Columns = (width - base_width + gui.char_width - 1) / gui.char_width;
Rows = (height - base_height + gui.char_height - 1) / gui.char_height;
}
else
#endif
{
width = Columns * gui.char_width + base_width;
height = Rows * gui.char_height + base_height;
}
width = Columns * gui.char_width + base_width;
height = Rows * gui.char_height + base_height;
if (fit_to_display)
{
@ -5128,7 +5113,7 @@ no_console_input(void)
}
#endif
#if defined(FIND_REPLACE_DIALOG) || defined(FEAT_SUN_WORKSHOP) \
#if defined(FIND_REPLACE_DIALOG) \
|| defined(NEED_GUI_UPDATE_SCREEN) \
|| defined(PROTO)
/*

View File

@ -199,8 +199,7 @@ gui_mch_currently_showing_beval(void)
#endif
#endif /* !FEAT_GUI_W32 */
#if defined(FEAT_SUN_WORKSHOP) || defined(FEAT_NETBEANS_INTG) \
|| defined(FEAT_EVAL) || defined(PROTO)
#if defined(FEAT_NETBEANS_INTG) || defined(FEAT_EVAL) || defined(PROTO)
# if !defined(FEAT_GUI_W32) || defined(PROTO)
/*
@ -216,7 +215,7 @@ gui_mch_post_balloon(BalloonEval *beval, char_u *mesg)
undrawBalloon(beval);
}
# endif /* !FEAT_GUI_W32 */
#endif /* FEAT_SUN_WORKSHOP || FEAT_NETBEANS_INTG || PROTO */
#endif /* FEAT_NETBEANS_INTG || PROTO */
#if !defined(FEAT_GUI_W32) || defined(PROTO)
#if defined(FEAT_BEVAL_TIP) || defined(PROTO)

View File

@ -698,8 +698,7 @@ manage_centered(Widget dialog_child)
XtVaSetValues(shell, XmNmappedWhenManaged, mappedWhenManaged, NULL);
}
#if defined(FEAT_MENU) || defined(FEAT_SUN_WORKSHOP) \
|| defined(FEAT_GUI_DIALOG) || defined(PROTO)
#if defined(FEAT_MENU) || defined(FEAT_GUI_DIALOG) || defined(PROTO)
/*
* Encapsulate the way an XmFontList is created.

View File

@ -22,11 +22,11 @@
#include <X11/cursorfont.h>
/*
* For Workshop XpmP.h is preferred, because it makes the signs drawn with a
* transparent background instead of black.
* XpmP.h is preferred, because it makes the signs drawn with a transparent
* background instead of black.
*/
#if defined(HAVE_XM_XPMP_H) && defined(FEAT_GUI_MOTIF) \
&& (!defined(HAVE_X11_XPM_H) || defined(FEAT_SUN_WORKSHOP))
&& !defined(HAVE_X11_XPM_H)
# include <Xm/XpmP.h>
#else
# ifdef HAVE_X11_XPM_H
@ -469,7 +469,7 @@ static XtResource vim_resources[] =
XtRString,
DFLT_TOOLTIP_FONT
},
/* This one isn't really needed, keep for Sun Workshop? */
/* This one may not be really needed? */
{
"balloonEvalFontSet",
XtCFontSet,
@ -636,8 +636,7 @@ gui_x11_expose_cb(
gui_mch_update();
}
#if ((defined(FEAT_NETBEANS_INTG) || defined(FEAT_SUN_WORKSHOP)) \
&& defined(FEAT_GUI_MOTIF)) || defined(PROTO)
#if (defined(FEAT_NETBEANS_INTG) && defined(FEAT_GUI_MOTIF)) || defined(PROTO)
/*
* This function fills in the XRectangle object with the current x,y
* coordinates and height, width so that an XtVaSetValues to the same shell of
@ -701,15 +700,6 @@ gui_x11_resize_window_cb(
#endif
);
}
#ifdef FEAT_SUN_WORKSHOP
if (usingSunWorkShop)
{
XRectangle rec;
shellRectangle(w, &rec);
workshop_frame_moved(rec.x, rec.y, rec.width, rec.height);
}
#endif
#if defined(FEAT_NETBEANS_INTG) && defined(FEAT_GUI_MOTIF)
if (netbeans_active())
{
@ -1224,22 +1214,6 @@ gui_mch_prepare(int *argc, char **argv)
argv[*argc] = NULL;
}
else
#ifdef FEAT_SUN_WORKSHOP
if (strcmp("-ws", argv[arg]) == 0)
{
usingSunWorkShop++;
p_acd = TRUE;
gui.dofork = FALSE; /* don't fork() when starting GUI */
mch_memmove(&argv[arg], &argv[arg + 1],
(--*argc - arg) * sizeof(char *));
argv[*argc] = NULL;
# ifdef WSDEBUG
wsdebug_wait(WT_ENV | WT_WAIT | WT_STOP, "SPRO_GVIM_WAIT", 20);
wsdebug_log_init("SPRO_GVIM_DEBUG", "SPRO_GVIM_DLEVEL");
# endif
}
else
#endif
#ifdef FEAT_NETBEANS_INTG
if (strncmp("-nb", argv[arg], 3) == 0)
{
@ -1543,11 +1517,6 @@ gui_mch_init(void)
if (gui.color_approx)
emsg(_("Vim E458: Cannot allocate colormap entry, some colors may be incorrect"));
#ifdef FEAT_SUN_WORKSHOP
if (usingSunWorkShop)
workshop_connect(app_context);
#endif
#ifdef FEAT_BEVAL_GUI
gui_init_tooltip_font();
#endif
@ -1681,9 +1650,6 @@ gui_mch_open(void)
#ifdef FEAT_XIM
xim_init();
#endif
#ifdef FEAT_SUN_WORKSHOP
workshop_postinit();
#endif
return OK;
}
@ -2748,12 +2714,7 @@ gui_mch_wait_for_chars(long wtime)
#endif
focus = gui.in_focus;
#ifdef ALT_X_INPUT
if (suppress_alternate_input)
desired = (XtIMXEvent | XtIMTimer);
else
#endif
desired = (XtIMAll);
desired = (XtIMAll);
while (!timed_out)
{
/* Stop or start blinking when focus changes */

File diff suppressed because it is too large Load Diff

View File

@ -1,452 +0,0 @@
/* vi:set ts=8 sts=4 sw=4 noet:
*
* VIM - Vi IMproved by Bram Moolenaar
* Visual Workshop integration by Gordon Prieur
*
* Do ":help uganda" in Vim to read copying and usage conditions.
* Do ":help credits" in Vim to see a list of people who contributed.
*/
/*
THIS IS AN UNSTABLE INTERFACE! It is unsupported and will likely
change in future releases, possibly breaking compatibility!
*/
#ifndef _INTEGRATION_H
#define _INTEGRATION_H
#include <X11/Intrinsic.h>
#include <Xm/Xm.h>
#ifdef __cplusplus
extern "C" {
#endif
/* Enable NoHands test support functions. Define this only if you want to
compile in support in the editor such that it can be run under
the WorkShop test suite. */
#ifndef NOHANDS_SUPPORT_FUNCTIONS
#define NOHANDS_SUPPORT_FUNCTIONS
#endif
/* This header file has three parts.
* 1. Functions you need to implement; these are called by the integration
* library
* 2. Functions you need to call when certain events happen in the editor;
* these are implemented by the integration library
* 3. Utility functions provided by the integration library; these make
* task 1 a bit easier.
*/
/*
* The following functions need to be implemented by the editor
* integration code (and will be editor-specific). Please see the
* sample workshop.c file for comments explaining what each functions
* needs to do, what the arguments mean, etc.
*/
/*
* This string is recognized by eserve and should be all lower case.
* This is how the editor detects that it is talking to NEdit instead
* of Vim, for example, when the connection is initiated from the editor.
* Examples: "nedit", "gvim"
*/
char *workshop_get_editor_name();
/*
* Version number of the editor.
* This number is communicated along with the protocol
* version to the application.
* Examples: "5.0.2", "19.3"
*/
char *workshop_get_editor_version();
/* Goto a given line in a given file */
void workshop_goto_line(char *filename, int lineno);
/* Set mark in a given file */
void workshop_set_mark(char *filename, int lineno, int markId, int type);
/* Change mark type (for example from current-pc to pc-and-breakpoint) */
void workshop_change_mark_type(char *filename, int markId, int type);
/*
* Goto the given mark in a file (e.g. show it).
* If message is not null, display it in the footer.
*/
void workshop_goto_mark(char *filename, int markId, char *message);
/* Delete mark */
void workshop_delete_mark(char *filename, int markId);
/* Begin/end pair of messages indicating that a series of _set_mark and
* _delete_mark messages will be sent. This can/should be used to suppress gui
* redraws between the begin and end messages. For example, if you switch
* to a headerfile that has a class breakpoint set, there may be hundreds
* of marks that need to be added. You don't want to refresh the gui for each
* added sign, you want to wait until the final end message.
*/
void workshop_mark_batch_begin();
void workshop_mark_batch_end();
/* Load a given file into the WorkShop buffer. "frameid" is a token string
* that identifies which frame the file would like to be loaded into. This
* will usually be null, in which case you should use the default frame.
* However, if frameid is not null, you need to find a frame that has this
* frameid, and replace the file in that frame. Finally, if the frameid is
* one you haven't seen before, you should create a new frame for this file.
* Note that "frameid" is a string value, not just an opaque pointer, so
* you should use strcmp rather than == when testing for equality.
*/
void workshop_load_file(char *filename, int line, char *frameid);
/* Reload the WorkShop buffer */
void workshop_reload_file(char *filename, int line);
/* Show the given file */
void workshop_show_file(char *filename);
/* Front the given file */
void workshop_front_file(char *filename);
/* Save the given file */
void workshop_save_file(char *filename);
/* Save all WorkShop edited files. You can ask user about modified files
* and skip saving any files the user doesn't want to save.
* This function is typically called when the user issues a build, a fix,
* etc. (and also if you select "Save All" from the File menu :-)
*/
void workshop_save_files();
/* Show a message in all footers.
Severity currently is not defined. */
void workshop_footer_message(char *message, int severity);
/* Minimize all windows */
void workshop_minimize();
/* Maximize all windows */
void workshop_maximize();
/*
* Create a new mark type, assign it a given index, a given textbackground
* color, and a given left-margin sign (where sign is a filename to an
* .xpm file)
*/
void workshop_add_mark_type(int idx, char *colorspec, char *sign);
/* Get mark line number */
int workshop_get_mark_lineno(char *filename, int markId);
/* Exit editor; save confirmation dialogs are okay */
void workshop_quit();
/* Set an editor option.
* For example, name="syntax",value="on" would enable syntax highlighting.
* The currently defined options are:
* lineno {on,off} show line numbers
* syntax {on,off} highlight syntax
* parentheses {on,off} show matching parentheses
* The following options are interpreted by the library for you (so you
* will never see the message. However, the implementation requires you
* to provide certain callbacks, like restore hotkeys or save all files.
* These are documented separately).
* workshopkeys {on,off} set workshop hotkeys
* savefiles {on,off} save all files before issuing a build
* balloon {on,off} enable/disable balloon evaluate
*
* IGNORE an option if you do not recognize it.
*/
void workshop_set_option(char *name, char *value);
/*
* (See workshop_add_frame first.) This function notifies the editor
* that the frame for the given window (indicated by "frame", which
* was supplied by the editor in workshop_add_frame) has been created.
* This can happen much later than the workshop_add_frame message, since
* often a window is created on editor startup, while the frame description
* is passed over from eserve much later, when the connection is complete.
* This gives the editor a chance to kick its GUI to show the frame
* properly; typically you'll unmanage and remanage the parent widget to
* force a geometry recalculation.
*/
void workshop_reconfigure_frame(void *frame);
/* Are there any moved marks? If so, call workshop_move_mark on
* each of them now. This is how eserve can find out if for example
* breakpoints have moved when a program has been recompiled and
* reloaded into dbx.
*/
void workshop_moved_marks(char *filename);
/* A button in the toolbar has been pushed. "frame" is provided
* which should let you determine which toolbar had a button pushed
* (you supplied this clientData when you created a toolbar). From
* this you should be able to figure out which file the operation
* applies to, and for that window the cursor line and column,
* selection begin line and column, selection end line and column,
* selection text and selection text length. The column numbers are
* currently unused but implement it anyway in case we decide to use
* them in the future.
* Note that frame can be NULL. In this case, you should pick
* a default window to translate coordinates for (ideally, the
* last window the user has operated on.) This will be the case when
* the user clicks on a Custom Button programmed to take the current
* line number as an argument. Here it's ambiguous which buffer
* to use, so you need to pick one.
* (Interface consideration: Perhaps we instead should add smarts
* into the library such that we remember which frame pointer
* we last noticed (e.g. last call to get_positions, or perhaps
* last add_frame) and then pass that instead? For example, we could
* have all workshop operations return the clientData when passed
* the filename (or add a filename-to-clientData converter?) and then
* remember the last filename/clientData used.
*/
int workshop_get_positions(void *frame,
char **filename,
int *curLine,
int *curCol,
int *selStartLine,
int *selStartCol,
int *selEndLine,
int *selEndCol,
int *selLength,
char **selection);
/* The following function should return the height of a character
* in the text display. This is used to pick out a suitable size
* for the signs to match the text (currently available in three
* sizes). If you just return 0, WorkShop will use the default
* sign size. (Use XmStringExtent on character "A" to get the height.)
*/
int workshop_get_font_height(void);
/* The following function requests that you register the given
* hotkey as a keyboard accelerator for all frames. Whenever the
* hotkey is pressed, you should invoke workshop_hotkey_pressed
* and pass the current frame pointer as an argument as well as
* the clientData pointer passed in to this function.
* The remove function unregisters the hotkey.
*/
void workshop_register_hotkey(Modifiers modifiers, KeySym keysym,
void *clientData);
void workshop_unregister_hotkey(Modifiers modifiers, KeySym keysym,
void *clientData);
/*
*
* The following functions notify eserve of important editor events,
* such as files being modified, files being saved, etc. You must
* sprinkle your editor code with calls to these. For example, whenever
* a file is modified (well, when its read-only status changes to modified),
* call workshop_file_modified().
*
*/
/* Connect with eserve. Add this call after you editor initialization
* is done, right before entering the event loop or blocking on input.
* This will set up a socket connection with eserve.
*/
void workshop_connect(XtAppContext context);
/* A file has been opened. */
void workshop_file_opened(char *filename, int readOnly);
/* A file has been saved. Despite its name, eserve also uses this
* message to mean a file has been reverted or unmodified.
*/
void workshop_file_saved(char *filename);
#if 0
/* A file has been closed */
void workshop_file_closed(char *filename);
#endif
/* Like workshop_file_closed, but also inform eserve what line the
cursor was on when you left the file. That way eserve can put you
back where you left off when you return to this file. */
void workshop_file_closed_lineno(char *filename, int line);
#if 0
/* A file has been modified */
void workshop_file_modified(char *filename);
/*
* A mark has been moved. Only call this as a response to
* a workshop_moved_marks request call.
*/
void workshop_move_mark(char *filename, int markId, int newLineno);
#endif
/* Tell the integration library about a new frame being added.
* Supply a form for the toolbar, a label for the footer, and an
* XmPulldown menu for the WorkShop menu to attach to. Top and bottom
* are the widgets above and below the toolbar form widget, if
* any. Call this function when you create a new window. It returns a
* void *, a handle which you should keep and return when you delete
* the window with workshop_delete_toolbar. The "footer" argument
* points to a Label widget that is going to be used as a status
* message area, and "menu" (if any) points to an Menu widget that
* should contain a WorkShop menu. Clientdata is a pointer which is
* only used by the editor. It will typically be a pointer to the
* window object that the toolbar is placed in. If you have multiple
* windows, you need to use this pointer to figure out which window
* (and thus corresponding buffer) the user has clicked on to respond
* to the workshop_get_positions message.
* Each frame's clientData ("frame") should be unique.
*/
void *workshop_add_frame(void *frame, Widget form,
Widget top, Widget bottom, Widget footer,
Widget menu);
/* Delete a window/frame. Call this when an editor window is being deleted. */
void workshop_delete_frame(void *handle);
/* Add a balloon evaluate text area. "frame" is used the same way
* as in workshop_add_frame. This call is not part of workshop_add_frame because
* a frame can have multiple tooltip areas (typically, an editor frame that
* is split showing multiple buffers will have a separate tooltip area for
* each text widget. Each such area is called a "window" (consistent with
* XEmacs terminology). Separate these by the window argument if necessary.
* You will need to implement workshop_get_balloon_text such that it uses
* these two arguments to derive the file, line etc. for the tip.
* Call the remove function if you delete this area such that the integration
* library can update itself. You must call workshop_add_frame before you
* call add_balloon_eval_area, and you must pass the same frame pointer.
*/
void workshop_add_balloon_eval_area(void *frame, void *window, Widget widget);
void workshop_remove_balloon_eval_area(void *frame, void *window, Widget widget);
/* For a given mouse position inside the balloon area (passed as x,y),
* return the balloon text to be evaluated. There are two scenarios:
* If the position is inside the selection, return the selection
* string. Else, return the full line (or possibly the full line up
* to the last semicolon (that's TBD), along with an index pointing to
* where which character the mouse is over.
* If we have the selection-scenario, set mouseIndex to -1 to indicate
* that no autoexpansion should occur but that the selection should
* be evaluated as is.
*
* XXX Does dbx need more information here, like the filename and line
* number in order to determine the correct language and scope to be
* used during evaluation?? Or should it just work like the p= button
* (where the current scope and language is used, even if you are
* pointing at a different file with a different scope) ?
*/
int workshop_get_balloon_text(Position x, Position y,
void *frame,
void *window,
char **filename,
int *line,
char **text,
int *mouseIndex);
/* Window size and location
* WorkShop will attempt to restore the size and location of a single
* editor frame. For vi, this window is designated as the "reusable" one.
* You can implement your own scheme for determining which window you
* want to associate with WorkShop. Whenever the size and location of
* this window is changed, call the following function to notify eserve.
* Like workshop_invoked, this can be called before the workshop_connect()
* call.
*/
void workshop_frame_moved(int new_x, int new_y, int new_w, int new_h);
Boolean workshop_get_width_height(int *, int *);
#if 0
Boolean workshop_get_rows_cols(int *, int *);
#endif
/* This function should be invoked when you press a hotkey
* set up by workshop_register_hotkey. Pass the clientData
* to it that was given to you with workshop_register_hotkey.
*/
void workshop_hotkey_pressed(void *frame, void *clientData);
/*
* Utility functions
* These provide convenience functions to simplify implementing some
* of the above functions.
*
*/
#if 0
/* Were we invoked by WorkShop? This function can be used early during startup
* if you want to do things differently if the editor is started standalone
* or in WorkShop mode. For example, in standalone mode you may not want to
* add a footer/message area or a sign gutter.
*/
int workshop_invoked(void);
#endif
/* Minimize (iconify) the given shell */
void workshop_minimize_shell(Widget shell);
/* Maximize (deiconify) the given shell */
void workshop_maximize_shell(Widget shell);
/* Called by frame.cc -- editor shouldn't call this directly.
* Perhaps we need an integrationP.h file ? */
void workshop_perform_verb(char *verb, void *clientData);
void workshop_send_message(char *buf);
#ifdef NOHANDS_SUPPORT_FUNCTIONS
/* The following functions are needed to run the WorkShop testsuite
* with this editor. You don't need to implement these unless you
* intend for your editor to be run by Workshop's testsuite.
* getcursorrow should return the number of lines from the top of
* the window the cursor is; similarly for getcursorcol.
*/
char *workshop_test_getcurrentfile();
int workshop_test_getcursorrow();
int workshop_test_getcursorcol();
char *workshop_test_getcursorrowtext();
char *workshop_test_getselectedtext();
#endif
/*
* Struct used to set/unset the sensitivity of verbs.
*/
typedef struct {
char *verb;
Boolean sense;
} VerbSense;
#ifdef __cplusplus
}
#endif
#endif /* _INTEGRATION_H */

View File

@ -628,10 +628,7 @@ vim_main2(void)
*/
if (gui.in_use)
{
# ifdef FEAT_SUN_WORKSHOP
if (!usingSunWorkShop)
# endif
gui_wait_for_chars(50L, typebuf.tb_change_cnt);
gui_wait_for_chars(50L, typebuf.tb_change_cnt);
TIME_MSG("GUI delay");
}
#endif
@ -983,9 +980,6 @@ common_init(mparm_T *paramp)
*/
early_arg_scan(paramp);
#ifdef FEAT_SUN_WORKSHOP
findYourself(paramp->argv[0]);
#endif
#if defined(FEAT_GUI)
/* Prepare for possibly starting GUI sometime */
gui_prepare(&paramp->argc, paramp->argv);

View File

@ -3411,7 +3411,7 @@ same_directory(char_u *f1, char_u *f2)
#if defined(FEAT_SESSION) || defined(FEAT_AUTOCHDIR) \
|| defined(MSWIN) || defined(FEAT_GUI_MAC) || defined(FEAT_GUI_GTK) \
|| defined(FEAT_SUN_WORKSHOP) || defined(FEAT_NETBEANS_INTG) \
|| defined(FEAT_NETBEANS_INTG) \
|| defined(PROTO)
/*
* Change to a file's directory.

View File

@ -42,7 +42,7 @@ static int errorHandler(Display *, XErrorEvent *);
/*
* nbdebug_wait - This function can be used to delay or stop execution of vim.
* It's normally used to delay startup while attaching a
* debugger to a running process. Since workshop starts gvim
* debugger to a running process. Since NetBeans starts gvim
* from a background process this is the only way to debug
* startup problems.
*/

View File

@ -2273,9 +2273,7 @@ coloncmd(char *cmd, ...)
nbdebug((" COLONCMD %s\n", buf));
/* ALT_INPUT_LOCK_ON; */
do_cmdline((char_u *)buf, NULL, NULL, DOCMD_NOWAIT | DOCMD_KEYTYPED);
/* ALT_INPUT_LOCK_OFF; */
setcursor(); /* restore the cursor position */
out_flush_cursor(TRUE, FALSE);

View File

@ -295,9 +295,6 @@ extern char *vim_SelFile(Widget toplevel, char *prompt, char *init_path, int (*s
# ifdef FEAT_GUI_PHOTON
# include "gui_photon.pro"
# endif
# ifdef FEAT_SUN_WORKSHOP
# include "workshop.pro"
# endif
# endif /* FEAT_GUI */
# ifdef FEAT_OLE

View File

@ -1,49 +0,0 @@
/* workshop.c */
void workshop_init(void);
void workshop_postinit(void);
void ex_wsverb(exarg_T *eap);
char *workshop_get_editor_name(void);
char *workshop_get_editor_version(void);
void workshop_load_file(char *filename, int line, char *frameid);
void workshop_reload_file(char *filename, int line);
void workshop_show_file(char *filename);
void workshop_goto_line(char *filename, int lineno);
void workshop_front_file(char *filename);
void workshop_save_file(char *filename);
void workshop_save_files(void);
void workshop_quit(void);
void workshop_minimize(void);
void workshop_maximize(void);
void workshop_add_mark_type(int idx, char *colorspec, char *sign);
void workshop_set_mark(char *filename, int lineno, int markId, int idx);
void workshop_change_mark_type(char *filename, int markId, int idx);
void workshop_goto_mark(char *filename, int markId, char *message);
void workshop_delete_mark(char *filename, int markId);
int workshop_get_mark_lineno(char *filename, int markId);
void workshop_moved_marks(char *filename);
int workshop_get_font_height(void);
void workshop_footer_message(char *message, int severity);
void workshop_menu_begin(char *label);
void workshop_submenu_begin(char *label);
void workshop_submenu_end(void);
void workshop_menu_item(char *label, char *verb, char *accelerator, char *acceleratorText, char *name, char *filepos, char *sensitive);
void workshop_menu_end(void);
void workshop_toolbar_begin(void);
void workshop_toolbar_end(void);
void workshop_toolbar_button(char *label, char *verb, char *senseVerb, char *filepos, char *help, char *sense, char *file, char *left);
void workshop_frame_sensitivities(VerbSense *vs);
void workshop_set_option(char *option, char *value);
void workshop_balloon_mode(Boolean on);
void workshop_balloon_delay(int delay);
void workshop_show_balloon_tip(char *tip);
void workshop_hotkeys(Boolean on);
int workshop_get_positions(void *clientData, char **filename, int *curLine, int *curCol, int *selStartLine, int *selStartCol, int *selEndLine, int *selEndCol, int *selLength, char **selection);
char *workshop_test_getcurrentfile(void);
int workshop_test_getcursorrow(void);
int workshop_test_getcursorcol(void);
char *workshop_test_getcursorrowtext(void);
char *workshop_test_getselectedtext(void);
void workshop_save_sensitivity(char *filename);
void workshop_beval_cb(BalloonEval *beval, int state);
void findYourself(char *argv0);
/* vim: set ft=c : */

View File

@ -1625,10 +1625,9 @@ clip_gen_owner_exists(VimClipboard *cbd UNUSED)
* descriptions which would otherwise overflow. The buffer is considered full
* when only this extra space (or part of it) remains.
*/
#if defined(FEAT_SUN_WORKSHOP) || defined(FEAT_JOB_CHANNEL) \
|| defined(FEAT_CLIENTSERVER)
#if defined(FEAT_JOB_CHANNEL) || defined(FEAT_CLIENTSERVER)
/*
* Sun WorkShop and NetBeans stuff debugger commands into the input buffer.
* NetBeans stuffs debugger commands into the input buffer.
* This requires a larger buffer...
* (Madsen) Go with this for remote input as well ...
*/

View File

@ -598,11 +598,7 @@ static char *(features[]) =
#else
"-statusline",
#endif
#ifdef FEAT_SUN_WORKSHOP
"+sun_workshop",
#else
"-sun_workshop",
#endif
#ifdef FEAT_SYN_HL
"+syntax",
#else
@ -795,6 +791,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
763,
/**/
762,
/**/

View File

@ -288,10 +288,6 @@
# include "os_qnx.h"
#endif
#ifdef FEAT_SUN_WORKSHOP
# include "workshop.h"
#endif
#ifdef X_LOCALE
# include <X11/Xlocale.h>
#else
@ -2236,14 +2232,6 @@ typedef enum {
# define vim_realloc(ptr, size) realloc((ptr), (size))
#endif
/*
* The following macros stop display/event loop nesting at the wrong time.
*/
#ifdef ALT_X_INPUT
# define ALT_INPUT_LOCK_OFF suppress_alternate_input = FALSE
# define ALT_INPUT_LOCK_ON suppress_alternate_input = TRUE
#endif
#ifdef FEAT_MBYTE
/*
* Return byte length of character that starts with byte "b".

File diff suppressed because it is too large Load Diff

View File

@ -1,28 +0,0 @@
/* vi:set ts=8 sts=4 sw=4 noet:
*
* VIM - Vi IMproved by Bram Moolenaar
* Visual Workshop integration by Gordon Prieur
*
* Do ":help uganda" in Vim to read copying and usage conditions.
* Do ":help credits" in Vim to see a list of people who contributed.
*/
#if !defined(WORKSHOP_H) && defined(FEAT_SUN_WORKSHOP)
#define WORKSHOP_H
#include <X11/Intrinsic.h>
#include <Xm/Xm.h>
#include "integration.h"
#ifdef WSDEBUG
# include "wsdebug.h"
#else
# ifndef ASSERT
# define ASSERT(c)
# endif
#endif
extern int usingSunWorkShop; /* set if -ws flag is used */
#endif

View File

@ -1,184 +0,0 @@
/* vi:set ts=8 sw=8 noet:
*
* VIM - Vi IMproved by Bram Moolenaar
* Visual Workshop integration by Gordon Prieur
*
* Do ":help uganda" in Vim to read copying and usage conditions.
* Do ":help credits" in Vim to see a list of people who contributed.
* See README.txt for an overview of the Vim source code.
*/
/*
* WorkShop Debugging Tools. What are these tools and why are they important?
* There are two main tools here. The first tool is a tool for delaying or
* stopping gvim during startup. The second tool is a protocol log tool.
*
* The startup delay tool is called wsdebug_wait(). This is very important for
* debugging startup problems because gvim will be started automatically from
* workshop and cannot be run directly from a debugger. The only way to debug
* a gvim started by workshop is by attaching a debugger to it. Without this
* tool all starup code will have completed before you can get the pid and
* attach.
*
* The second tool is a protocol log tool. The workshop editor server and gvim
* pass information back and forth during a workshop session. Sometimes it is
* very important to peruse this conversation in order to understand what is
* happening. The wsdebug_log_init() call sets up this protocol log tool and
* wsdebug() and wstrace() calls output the information to the log.
*
* This code must have WSDEBUG defined for it to be compiled into vim/gvim.
*/
#ifdef WSDEBUG
#include "vim.h"
FILE *ws_debug = NULL;
u_int ws_dlevel = 0; /* ws_debug verbosity level */
void wsdebug(char *, ...);
void wstrace(char *, ...);
static int lookup(char *);
#ifdef USE_WS_ERRORHANDLER
static int errorHandler(Display *, XErrorEvent *);
#endif
/*
* wsdebug_wait - This function can be used to delay or stop execution of vim.
* It's normally used to delay startup while attaching a
* debugger to a running process. Since workshop starts gvim
* from a background process this is the only way to debug
* startup problems.
*/
void wsdebug_wait(
u_int wait_flags, /* tells what to do */
char *wait_var, /* wait environment variable */
u_int wait_secs) /* how many seconds to wait */
{
init_homedir(); /* not inited yet */
#ifdef USE_WDDUMP
WDDump(0, 0, 0);
#endif
/* for debugging purposes only */
if (wait_flags & WT_ENV && wait_var && getenv(wait_var) != NULL) {
sleep(atoi(getenv(wait_var)));
} else if (wait_flags & WT_WAIT && lookup("~/.gvimwait")) {
sleep(wait_secs > 0 && wait_secs < 120 ? wait_secs : 20);
} else if (wait_flags & WT_STOP && lookup("~/.gvimstop")) {
int w = 1;
while (w) {
;
}
}
} /* end wsdebug_wait */
void
wsdebug_log_init(
char *log_var, /* env var with log file */
char *level_var) /* env var with ws_debug level */
{
char *file; /* possible ws_debug output file */
char *cp; /* ws_dlevel pointer */
if (log_var && (file = getenv(log_var)) != NULL)
{
char buf[BUFSIZ];
vim_snprintf(buf, sizeof(buf), "date > %s", file);
system(buf);
ws_debug = fopen(file, "a");
if (level_var && (cp = getenv(level_var)) != NULL) {
ws_dlevel = strtoul(cp, NULL, 0);
} else {
ws_dlevel = WS_TRACE; /* default level */
}
#ifdef USE_WS_ERRORHANDLER
XSetErrorHandler(errorHandler);
#endif
}
} /* end wsdebug_log_init */
void
wstrace(
char *fmt,
...)
{
va_list ap;
if (ws_debug!= NULL && (ws_dlevel & (WS_TRACE | WS_TRACE_VERBOSE))) {
va_start(ap, fmt);
vfprintf(ws_debug, fmt, ap);
va_end(ap);
fflush(ws_debug);
}
} /* end wstrace */
void
wsdebug(
char *fmt,
...)
{
va_list ap;
if (ws_debug != NULL) {
va_start(ap, fmt);
vfprintf(ws_debug, fmt, ap);
va_end(ap);
fflush(ws_debug);
}
} /* end wsdebug */
static int
lookup(
char *file)
{
char buf[BUFSIZ];
expand_env((char_u *) file, (char_u *) buf, BUFSIZ);
return (access(buf, F_OK) == 0);
} /* end lookup */
#ifdef USE_WS_ERRORHANDLER
static int
errorHandler(
Display *dpy,
XErrorEvent *err)
{
char msg[256];
char buf[256];
XGetErrorText(dpy, err->error_code, msg, sizeof(msg));
wsdebug("\n\nWSDEBUG Vim: X Error of failed request: %s\n", msg);
sprintf(buf, "%d", err->request_code);
XGetErrorDatabaseText(dpy,
"XRequest", buf, "Unknown", msg, sizeof(msg));
wsdebug("\tMajor opcode of failed request: %d (%s)\n",
err->request_code, msg);
if (err->request_code > 128) {
wsdebug("\tMinor opcode of failed request: %d\n",
err->minor_code);
}
return 0;
}
#endif
#endif /* WSDEBUG */

View File

@ -1,81 +0,0 @@
/* vi:set ts=8 sw=8 noet:
*
* VIM - Vi IMproved by Bram Moolenaar
* Visual Workshop integration by Gordon Prieur
*
* Do ":help uganda" in Vim to read copying and usage conditions.
* Do ":help credits" in Vim to see a list of people who contributed.
*/
#ifndef WSDEBUG_H
#define WSDEBUG_H
#ifdef WSDEBUG
#ifndef ASSERT
#define ASSERT(c) \
if (!(c)) { \
fprintf(stderr, "Assertion failed: line %d, file %s\n", \
__LINE__, __FILE__); \
fflush(stderr); \
abort(); \
}
#endif
#define WS_TRACE 0x00000001
#define WS_TRACE_VERBOSE 0x00000002
#define WS_TRACE_COLONCMD 0x00000004
#define WS_DEBUG_ALL 0xffffffff
#define WSDLEVEL(flags) (ws_debug != NULL && (ws_dlevel & (flags)))
#ifdef USE_WDDUMP
#include "wdump.h"
#endif
#define WSDEBUG_TRACE 1
//#define WSDEBUG_SENSE 2
typedef enum {
WT_ENV = 1, /* look for env var if set */
WT_WAIT, /* look for ~/.gvimwait if set */
WT_STOP /* look for ~/.gvimstop if set */
} WtWait;
void wsdebug(char *, ...);
void wstrace(char *, ...);
extern FILE *ws_debug;
extern u_int ws_dlevel; /* ws_debug verbosity level */
# else /* not WSDEBUG */
#ifndef ASSERT
# define ASSERT(c)
#endif
/*
* The following 2 stubs are needed because a macro cannot be used because of
* the variable number of arguments.
*/
void
wsdebug(
char *fmt,
...)
{
}
void
wstrace(
char *fmt,
...)
{
}
#endif /* WSDEBUG */
#endif /* WSDEBUG_H */