dnl dnl =============
dnl OG_OPTION_GROUP(Other options)
dnl
-dnl OG_ARG_WITH([tooltalk],
-dnl AS_HELP_STRING([--with-tooltalk],
-dnl [Support the ToolTalk IPC protocol.]),
-dnl [no], [NO], [], [with_tooltalk=$withval], [with_tooltalk=no])
-
## -------------------------------------------------------------------------
## Check for users who regularly forget about running autoconf
dnl Determine the compiler, set up for feature testing
dnl --------------------------------------------------
-dnl Sun Development environment support
-test "$with_sparcworks" = "yes" && with_workshop=yes # compatibility alias
-SXE_CHECK_FEATURE_DEPENDENCY([workshop], [tooltalk])
-if test "$with_workshop" = "yes"; then
- AC_DEFINE([SUNPRO], [1], [Description here!])
-fi
-
if test "$with_clash_detection" != "no"; then
AC_DEFINE([CLASH_DETECTION], [1], [Description here!])
SXE_ADD_CRUFT_OBJS([filelock.o])
fi
if test "$got_motif" != "yes"; then
- dnl Try to find Motif/CDE/Tooltalk dirs
+ dnl Try to find Motif dirs
dnl These take precedence over other X libs/includes, so PRE-pend
for lib_dir in \
"/usr/dt/lib" "/usr/lib/Motif2.1" \
dnl if test "$with_tty" = "no" ; then
dnl AC_MSG_ERROR([No window system support and no TTY support - Unable to proceed.])
dnl fi
- for feature in tooltalk cde offix wmcommand xim xmu nas_sound
+ for feature in offix wmcommand xim xmu nas_sound
do
if eval "test -n \"\$with_${feature}\" -a \"\$with_${feature}\" != no" ; then
AC_MSG_WARN([--with-$feature ignored: Not valid without X support])
with_widgets=no
fi
-dnl Autodetect tooltalk
-if test "$with_tooltalk" != "no" ; then
- dnl autodetect the location of tt_c.h
- dnl tt_c.h might be in Tt or desktop include directories
- for dir in "" "Tt/" "desktop/" ; do
- AC_CHECK_HEADER(${dir}tt_c.h, tt_c_h_file="${dir}tt_c.h"; break)
- done
- if test -z "$tt_c_h_file"; then
- if test "$with_tooltalk" = "yes"; then
- SXE_USAGE_ERROR("Unable to find required tooltalk header files.")
- fi
- with_tooltalk=no
- fi
-fi
-if test "$with_tooltalk" != "no" ; then
- for extra_libs in "" "-lI18N -lce" "-lcxx"; do
- AC_CHECK_LIB(tt, tt_message_create,
- tt_libs="-ltt $extra_libs"; break, [:],$extra_libs)
- done
- if test -z "$tt_libs"; then
- if test "$with_tooltalk" = "yes"; then
- SXE_USAGE_ERROR("Unable to find required tooltalk libraries.")
- fi
- with_tooltalk=no
- fi
-fi
-if test "$with_tooltalk" = "yes"; then
- AC_DEFINE([TOOLTALK], [1], [Description here!])
- AC_DEFINE_UNQUOTED([TT_C_H_FILE], ["$tt_c_h_file"], [Description here!])
- SXE_PREPEND($tt_libs, libs_x)
-fi
-
-dnl Autodetect CDE
-AC_CHECK_HEADER(Dt/Dt.h, , with_cde=no)
-AC_CHECK_LIB(DtSvc, DtDndDragStart, [:], with_cde=no)
-if test "$with_dragndrop" = "no" ; then
- if test "$with_cde" = "yes" ; then
- AC_MSG_WARN([--with-cde forced to `no'; no generic Drag'n'Drop support])
- fi
- with_cde=no
-fi
-if test "$with_cde" = "yes" ; then
- AC_DEFINE([HAVE_CDE], [1], [Description here!])
- SXE_PREPEND(-lDtSvc, libs_x)
- SXE_APPEND(CDE, dragndrop_proto)
- with_tooltalk=yes # CDE requires Tooltalk
- need_motif=yes # CDE requires Motif
-fi
-
dnl Always compile OffiX unless --without-offix is given, no
dnl X11 support is compiled in, no standard Xmu is available,
dnl or dragndrop support is disabled
fi
with_offix=no
fi
-if test "$with_cde" = "yes" ; then
- if test "$with_offix" = "yes" ; then
- AC_MSG_WARN([--with-offix forced to `no'; CDE already found])
- fi
- with_offix=no
-fi
if test "$with_offix" = "yes"; then
AC_DEFINE([HAVE_OFFIX_DND], [1], [Description here!])
SXE_APPEND(offix.o, dnd_objs)
*** tm
Emacs MIME support. Not needed for gnus >= 5.8.0.
-*** tooltalk
-Support for building with Tooltalk.
-
*** tpu
DEC EDIT/TPU support.
+++ /dev/null
-# Makefile for man subdirectory in SXEmacs
-# Copyright (C) 1995 Board of Trustees, University of Illinois
-# Copyright (C) 1994, 1995 Sun Microsystems.
-
-# This file is part of SXEmacs.
-
-# SXEmacs is free software; you can redistribute it and/or modify it
-# under the terms of the GNU General Public License as published by the
-# Free Software Foundation; either version 2, or (at your option) any
-# later version.
-
-# SXEmacs is distributed in the hope that it will be useful, but WITHOUT
-# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
-# for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with SXEmacs; see the file COPYING. If not, write to
-# the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-# Boston, MA 02111-1307, USA.
-
-SHELL = /bin/sh
-MAKEINFO = makeinfo
-TEXI2DVI = texi2dvi
-DVI2PS = dvips
-DVI2PDF = dvipdf
-
-RM = rm -f
-
-.SUFFIXES:
-.SUFFIXES: .info .texi .dvi
-
-RECURSIVE_MAKE_ARGS = $(MAKE) $(MFLAGS) MAKEINFO='$(MAKEINFO)' TEXI2DVI='$(TEXI2DVI)'
-
-all : info
-
-# Ughhh! The things we do to have portable makefiles...
-
-INFODIR = ../info
-HTMLDIR = ../html
-
-info_files = \
- $(INFODIR)/cl.info \
- $(INFODIR)/custom.info \
- $(INFODIR)/emodules.info \
- $(INFODIR)/external-widget.info \
- $(INFODIR)/lispref.info \
- $(INFODIR)/internals.info \
- $(INFODIR)/new-users-guide.info \
- $(INFODIR)/sppm.info \
- $(INFODIR)/term.info \
- $(INFODIR)/widget.info \
- $(INFODIR)/sxemacs.info \
- $(INFODIR)/sxemacs-faq.info
-
-html_files = \
- $(HTMLDIR)/cl.html \
- $(HTMLDIR)/custom.html \
- $(HTMLDIR)/emodules.html \
- $(HTMLDIR)/external-widget.html \
- $(HTMLDIR)/lispref.html \
- $(HTMLDIR)/internals.html \
- $(HTMLDIR)/new-users-guide.html \
- $(HTMLDIR)/sppm.html \
- $(HTMLDIR)/term.html \
- $(HTMLDIR)/widget.html \
- $(HTMLDIR)/sxemacs.html \
- $(HTMLDIR)/sxemacs-faq.html
-
-dvi_files = \
- cl.dvi \
- custom.dvi \
- emodules.dvi \
- external-widget.dvi \
- lispref.dvi \
- internals.dvi \
- new-users-guide.dvi \
- sppm.dvi \
- term.dvi \
- widget.dvi \
- sxemacs.dvi \
- sxemacs-faq.dvi
-
-ps_files = \
- cl.ps \
- custom.ps \
- emodules.ps \
- external-widget.ps \
- lispref.ps \
- internals.ps \
- new-users-guide.ps \
- sppm.ps \
- term.ps \
- widget.ps \
- sxemacs.ps \
- sxemacs-faq.ps
-
-pdf_files = \
- cl.pdf \
- custom.pdf \
- emodules.pdf \
- external-widget.pdf \
- lispref.pdf \
- internals.pdf \
- new-users-guide.pdf \
- sppm.pdf \
- term.pdf \
- widget.pdf \
- sxemacs.pdf \
- sxemacs-faq.pdf
-
-sxemacs-srcs = \
- sxemacs/abbrevs.texi \
- sxemacs/basic.texi \
- sxemacs/buffers.texi \
- sxemacs/building.texi \
- sxemacs/calendar.texi \
- sxemacs/cmdargs.texi \
- sxemacs/custom.texi \
- sxemacs/display.texi \
- sxemacs/entering.texi \
- sxemacs/files.texi \
- sxemacs/fixit.texi \
- sxemacs/frame.texi \
- sxemacs/glossary.texi \
- sxemacs/help.texi \
- sxemacs/indent.texi \
- sxemacs/keystrokes.texi \
- sxemacs/killing.texi \
- sxemacs/m-x.texi \
- sxemacs/major.texi \
- sxemacs/mark.texi \
- sxemacs/menus.texi \
- sxemacs/mini.texi \
- sxemacs/misc.texi \
- sxemacs/mouse.texi \
- sxemacs/mule.texi \
- sxemacs/new.texi \
- sxemacs/packages.texi \
- sxemacs/picture.texi \
- sxemacs/programs.texi \
- sxemacs/reading.texi \
- sxemacs/regs.texi \
- sxemacs/search.texi \
- sxemacs/sending.texi \
- sxemacs/startup.texi \
- sxemacs/text.texi \
- sxemacs/trouble.texi \
- sxemacs/undo.texi \
- sxemacs/windows.texi \
- sxemacs/sxemacs.texi
-
-lispref-srcs = \
- lispref/abbrevs.texi \
- lispref/annotations.texi \
- lispref/back.texi \
- lispref/backups.texi \
- lispref/buffers.texi \
- lispref/building.texi \
- lispref/commands.texi \
- lispref/compile.texi \
- lispref/consoles-devices.texi \
- lispref/control.texi \
- lispref/customize.texi \
- lispref/databases.texi \
- lispref/debugging.texi \
- lispref/dialog.texi \
- lispref/display.texi \
- lispref/dragndrop.texi \
- lispref/edebug-inc.texi \
- lispref/edebug.texi \
- lispref/ent.texi \
- lispref/errors.texi \
- lispref/eval.texi \
- lispref/extents.texi \
- lispref/faces.texi \
- lispref/files.texi \
- lispref/frames.texi \
- lispref/functions.texi \
- lispref/glyphs.texi \
- lispref/hash-tables.texi \
- lispref/help.texi \
- lispref/hooks.texi \
- lispref/index.texi \
- lispref/internationalization.texi \
- lispref/intro.texi \
- lispref/keymaps.texi \
- lispref/ldap.texi \
- lispref/lispref.texi \
- lispref/lists.texi \
- lispref/loading.texi \
- lispref/locals.texi \
- lispref/macros.texi \
- lispref/maps.texi \
- lispref/markers.texi \
- lispref/menus.texi \
- lispref/minibuf.texi \
- lispref/modes.texi \
- lispref/mouse.texi \
- lispref/mule.texi \
- lispref/numbers.texi \
- lispref/objects.texi \
- lispref/openssl.texi \
- lispref/os.texi \
- lispref/packaging.texi \
- lispref/positions.texi \
- lispref/postgresql.texi \
- lispref/processes.texi \
- lispref/range-tables.texi \
- lispref/scrollbars.texi \
- lispref/searching.texi \
- lispref/sequences.texi \
- lispref/specifiers.texi \
- lispref/streams.texi \
- lispref/strings.texi \
- lispref/symbols.texi \
- lispref/syntax.texi \
- lispref/text.texi \
- lispref/tips.texi \
- lispref/toolbar.texi \
- lispref/tooltalk.texi \
- lispref/variables.texi \
- lispref/windows.texi \
- lispref/x-windows.texi
-
-internals-srcs = \
- internals/internals.texi
-
-new-users-guide-srcs = \
- new-users-guide/custom1.texi \
- new-users-guide/custom2.texi \
- new-users-guide/edit.texi \
- new-users-guide/enter.texi \
- new-users-guide/files.texi \
- new-users-guide/help.texi \
- new-users-guide/modes.texi \
- new-users-guide/new-users-guide.texi \
- new-users-guide/region.texi \
- new-users-guide/search.texi \
- new-users-guide/xmenu.texi
-
-$(INFODIR)/cl.info : cl.texi
- $(MAKEINFO) -o $(INFODIR)/cl.info cl.texi
-
-$(INFODIR)/custom.info : custom.texi
- $(MAKEINFO) -o $(INFODIR)/custom.info custom.texi
-
-$(INFODIR)/emodules.info : emodules.texi
- $(MAKEINFO) -o $(INFODIR)/emodules.info emodules.texi
-
-$(INFODIR)/external-widget.info : external-widget.texi
- $(MAKEINFO) -o $(INFODIR)/external-widget.info external-widget.texi
-
-$(INFODIR)/sppm.info : sppm.texi
- $(MAKEINFO) -o $(INFODIR)/sppm.info sppm.texi
-
-$(INFODIR)/term.info : term.texi
- $(MAKEINFO) -o $(INFODIR)/term.info term.texi
-
-$(INFODIR)/widget.info : widget.texi
- $(MAKEINFO) -o $(INFODIR)/widget.info widget.texi
-
-$(INFODIR)/sxemacs-faq.info : sxemacs-faq.texi
- $(MAKEINFO) -o $(INFODIR)/sxemacs-faq.info sxemacs-faq.texi
-
-# Manuals with their own subdirectory
-$(INFODIR)/sxemacs.info : $(sxemacs-srcs)
- $(MAKEINFO) -P sxemacs -o $(INFODIR)/sxemacs.info sxemacs/sxemacs.texi
-
-$(INFODIR)/lispref.info : $(lispref-srcs)
- $(MAKEINFO) -P lispref -o $(INFODIR)/lispref.info lispref/lispref.texi
-
-$(INFODIR)/internals.info : $(internals-srcs)
- $(MAKEINFO) -P internals -o $(INFODIR)/internals.info internals/internals.texi
-
-$(INFODIR)/new-users-guide.info : $(new-users-guide-srcs)
- $(MAKEINFO) -P new-users-guide -o $(INFODIR)/new-users-guide.info new-users-guide/new-users-guide.texi
-
-
-$(HTMLDIR)/cl.html : cl.texi
- $(MAKEINFO) --html -o $(HTMLDIR)/cl/ $<
-
-$(HTMLDIR)/custom.html : custom.texi
- $(MAKEINFO) --html -o $(HTMLDIR)/custom/ $<
-
-$(HTMLDIR)/emodules.html : emodules.texi
- $(MAKEINFO) --html -o $(HTMLDIR)/dso/ $<
-
-$(HTMLDIR)/external-widget.html : external-widget.texi
- $(MAKEINFO) --html -o $(HTMLDIR)/extwidget/ $<
-
-$(HTMLDIR)/sppm.html : sppm.texi
- $(MAKEINFO) --html -o $(HTMLDIR)/sppm/ $<
-
-$(HTMLDIR)/term.html : term.texi
- $(MAKEINFO) --html -o $(HTMLDIR)/term/ $<
-
-$(HTMLDIR)/widget.html : widget.texi
- $(MAKEINFO) --html -o $(HTMLDIR)/widget/ $<
-
-$(HTMLDIR)/sxemacs-faq.html : sxemacs-faq.texi
- $(MAKEINFO) --html -o $(HTMLDIR)/faq/ $<
-
-# Manuals with their own subdirectory
-$(HTMLDIR)/sxemacs.html : $(sxemacs-srcs)
- $(MAKEINFO) -P sxemacs --html -o $(HTMLDIR)/sxemacs/ sxemacs/sxemacs.texi
-
-$(HTMLDIR)/lispref.html : $(lispref-srcs)
- $(MAKEINFO) -P lispref --html -o $(HTMLDIR)/lispref/ lispref/lispref.texi
-
-$(HTMLDIR)/internals.html : $(internals-srcs)
- $(MAKEINFO) -P internals --html -o $(HTMLDIR)/internals/ internals/internals.texi
-
-$(HTMLDIR)/new-users-guide.html : $(new-users-guide-srcs)
- $(MAKEINFO) -P new-users-guide --html -o $(HTMLDIR)/intro/ new-users-guide/new-users-guide.texi
-
-
-sxemacs : $(INFODIR)/sxemacs.info
-lispref : $(INFODIR)/lispref.info
-internals : $(INFODIR)/internals.info
-new-users-guide.info : $(INFODIR)/new-users-guide.info
-
-.PHONY : sxemacs lispref internals new-users-guide info dvi
-
-info : $(info_files)
-
-.PHONY: info dvi html
-
-.texi.dvi:
- $(TEXI2DVI) -c -s $<
-
-sxemacs.dvi : $(sxemacs-srcs)
- $(TEXI2DVI) -I sxemacs -c -s sxemacs/sxemacs.texi
-
-lispref.dvi : $(lispref-srcs)
- $(TEXI2DVI) -I lispref -c -s lispref/lispref.texi
-
-internals.dvi : $(internals-srcs)
- $(TEXI2DVI) -I internals -c -s internals/internals.texi
-
-new-users-guide.dvi : $(new-users-guide-srcs)
- $(TEXI2DVI) -I new-users-guide -c -s new-users-guide/new-users-guide.texi
-
-dvi : $(dvi_files)
-
-
-%.ps: %.dvi
- $(DVI2PS) $< -o $@
-
-ps : $(ps_files)
-
-
-
-%.pdf: %.dvi
- $(DVI2PDF) $< $@
-
-
-pdf : $(pdf_files)
-
-$(HTMLDIR):
- mkdir -p $@
-
-html: $(HTMLDIR) $(html_files)
-
-
-
-
-.PHONY: mostlyclean clean distclean realclean extraclean
-mostlyclean:
- $(RM) *.toc *.aux *.log *.op *.cp *.cps *.fn *.fns
- $(RM) *.ky *.kys *.pg *.pgs *.tp *.tps *.vr *.vrs
-clean: mostlyclean
- $(RM) core *.dvi *.pdf *.ps
-distclean: clean
-realclean: distclean
-extraclean: distclean
- $(RM) *~ \#* */*~ */\#*
window-system child window that is drawn into by an external process;
this object should be integrated into the glyph system but isn't yet,
and may change form when this is done.
-@item tooltalk-message
-@itemx tooltalk-pattern
-Objects that represent resources used in the ToolTalk interprocess
-communication protocol.
@item toolbar-button
An object used in conjunction with the toolbar.
@end table
-@example
-tooltalk.c
-tooltalk.h
-@end example
-
-These two modules implement an interface to the ToolTalk protocol, which
-is an interprocess communication protocol implemented on some versions
-of Unix. ToolTalk is a high-level protocol that allows processes to
-register themselves as providers of particular services; other processes
-can then request a service without knowing or caring exactly who is
-providing the service. It is similar in spirit to the DDE protocol
-provided under Microsoft Windows. ToolTalk is a part of the new CDE
-(Common Desktop Environment) specification and is used to connect the
-parts of the SPARCWorks development environment.
-
-
-
@example
getloadavg.c
@end example
keymap, charset, color_instance, font_instance, opaque, opaque-list,
process, range-table, specifier, symbol-value-buffer-local,
symbol-value-lisp-magic, symbol-value-varalias, toolbar-button,
-tooltalk-message, tooltalk-pattern, window, and window-configuration. We
+window, and window-configuration. We
take care of them in the fist place
in order to be able to handle and to finalize items stored in them more
easily. The function @code{sweep_lcrecords_1} as described below is
@item singularity-error
@code{"Arithmetic singularity error"}@*
-@c SXEmacs feature
-@item tooltalk-error
-@code{"ToolTalk error"}@*
-@xref{ToolTalk Support}.
-
@c SXEmacs feature
@item undefined-keystroke-sequence
@code{"Undefined keystroke sequence"}@*
@item text-mode-hook
@item today-visible-calendar-hook
@item today-invisible-calendar-hook
-@item tooltalk-message-handler-hook
-@item tooltalk-pattern-handler-hook
-@item tooltalk-unprocessed-message-hook
@item unmap-frame-hook
@item vc-checkin-hook
@item vc-checkout-writable-buffer-hook
@c See the file lispref.texi for copying conditions.
@setfilename ../../info/ldap.info
-@node LDAP Support, PostgreSQL Support, ToolTalk Support, top
+@node LDAP Support, PostgreSQL Support, X-Windows, top
@chapter LDAP Support
@cindex LDAP
* System Interface:: Getting the user id, system type, environment
variables, and other such things.
* X-Windows:: Functions specific to the X Window System.
-* ToolTalk Support:: Interfacing with the ToolTalk message service.
* LDAP Support:: Interfacing with the Lightweight Directory
Access Protocol.
* PostgreSQL Support:: Interfacing to the PostgreSQL libpq library.
* Grabs:: Restricting access to the server by other apps.
* X Miscellaneous:: Other X-specific functions and variables.
-ToolTalk Support
-
-* SXEmacs ToolTalk API Summary::
-* Sending Messages::
-* Receiving Messages::
-
LDAP Support
* Building SXEmacs with LDAP support:: How to add LDAP support to SXEmacs
@include processes.texi
@include os.texi
@include x-windows.texi
-@include tooltalk.texi
@include ldap.texi
@include postgresql.texi
@include openssl.texi
@item
toolbar-button
@item
-tooltalk-message
-@item
-tooltalk-pattern
-@item
vector
@item
weak-list
under SXEmacs/MULE.
* Coding System Type:: An object encapsulating a way of converting between
different textual encodings, under SXEmacs/MULE.
-* ToolTalk Message Type:: A message, in the ToolTalk IPC protocol.
-* ToolTalk Pattern Type:: A pattern, in the ToolTalk IPC protocol.
@end menu
(not yet documented)
-@node ToolTalk Message Type
-@subsection ToolTalk Message Type
-
-(not yet documented)
-
-
-@node ToolTalk Pattern Type
-@subsection ToolTalk Pattern Type
-
-(not yet documented)
-
-
@node Window-System Types
@section Window-System Types
@cindex window system types
@code{image-instance}, @code{integer}, @code{keymap}, @code{marker},
@code{process}, @code{range-table}, @code{specifier}, @code{string},
@code{subr}, @code{subwindow}, @code{symbol}, @code{toolbar-button},
-@code{tooltalk-message}, @code{tooltalk-pattern}, @code{vector},
+@code{vector},
@code{weak-list}, @code{window}, @code{window-configuration}, or
@code{x-resource}.
+++ /dev/null
-@c -*-texinfo-*-
-@c This is part of the SXEmacs Lisp Reference Manual.
-@c Copyright (C) 1990, 1991, 1992, 1993 Free Software Foundation, Inc.
-@c Copyright (C) 2005 Sebastian Freundt <hroptatyr@sxemacs.org>
-@c See the file lispref.texi for copying conditions.
-@setfilename ../../info/tooltalk.info
-
-@node ToolTalk Support, LDAP Support, X-Windows, top
-@chapter ToolTalk Support
-@cindex ToolTalk
-
-@menu
-* SXEmacs ToolTalk API Summary::
-* Sending Messages::
-* Receiving Messages::
-@end menu
-
-
-@node SXEmacs ToolTalk API Summary
-@section SXEmacs ToolTalk API Summary
-
-The SXEmacs Lisp interface to ToolTalk is similar, at least in spirit,
-to the standard C ToolTalk API. Only the message and pattern parts
-of the API are supported at present; more of the API could be added
-if needed. The Lisp interface departs from the C API in a few ways:
-
-@itemize @bullet
-@item
-ToolTalk is initialized automatically at SXEmacs startup-time. Messages
-can only be sent other ToolTalk applications connected to the same X11
-server that SXEmacs is running on.
-
-@item
-There are fewer entry points; polymorphic functions with keyword
-arguments are used instead.
-
-@item
-The callback interface is simpler and marginally less functional.
-A single callback may be associated with a message or a pattern;
-the callback is specified with a Lisp symbol (the symbol should
-have a function binding).
-
-@item
-The session attribute for messages and patterns is always
-initialized to the default session.
-
-@item
-Anywhere a ToolTalk enum constant, e.g. @samp{TT_SESSION}, is valid, one
-can substitute the corresponding symbol, e.g. @code{'TT_SESSION}. This
-simplifies building lists that represent messages and patterns.
-@end itemize
-
-
-@node Sending Messages
-@section Sending Messages
-@cindex sending ToolTalk messages
-@cindex ToolTalk message
-
-@menu
-* Example of Sending Messages::
-* Elisp Interface for Sending Messages::
-@end menu
-
-
-@node Example of Sending Messages
-@subsection Example of Sending Messages
-
-Here's a simple example that sends a query to another application
-and then displays its reply. Both the query and the reply are
-stored in the first argument of the message.
-
-@example
-(defun tooltalk-random-query-handler (msg)
- (let ((state (get-tooltalk-message-attribute msg 'state)))
- (cond
- ((eq state 'TT_HANDLED)
- (message (get-tooltalk-message-attribute msg arg_val 0)))
- ((memq state '(TT_FAILED TT_REJECTED))
- (message "Random query turns up nothing")))))
-
-(defvar random-query-message
- '( class TT_REQUEST
- scope TT_SESSION
- address TT_PROCEDURE
- op "random-query"
- args '((TT_INOUT "?" "string"))
- callback tooltalk-random-query-handler))
-
-(let ((m (make-tooltalk-message random-query-message)))
- (send-tooltalk-message m))
-@end example
-
-@node Elisp Interface for Sending Messages
-@subsection Elisp Interface for Sending Messages
-
-@defun make-tooltalk-message attributes
-Create a ToolTalk message and initialize its attributes.
-The value of @var{attributes} must be a list of alternating keyword/values,
-where keywords are symbols that name valid message attributes.
-For example:
-
-@example
- (make-tooltalk-message
- '(class TT_NOTICE
- scope TT_SESSION
- address TT_PROCEDURE
- op "do-something"
- args ("arg1" 12345 (TT_INOUT "arg3" "string"))))
-@end example
-
-Values must always be strings, integers, or symbols that represent
-ToolTalk constants. Attribute names are the same as those supported by
-@code{set-tooltalk-message-attribute}, plus @code{args}.
-
-The value of @code{args} should be a list of message arguments where
-each message argument has the following form:
-
-@quotation
- @samp{(mode [value [type]])} or just @samp{value}
-@end quotation
-
-Where @var{mode} is one of @code{TT_IN}, @code{TT_OUT}, or
-@code{TT_INOUT} and @var{type} is a string. If @var{type} isn't
-specified then @code{int} is used if @var{value} is a number; otherwise
-@code{string} is used. If @var{type} is @code{string} then @var{value}
-is converted to a string (if it isn't a string already) with
-@code{prin1-to-string}. If only a value is specified then @var{mode}
-defaults to @code{TT_IN}. If @var{mode} is @code{TT_OUT} then
-@var{value} and @var{type} don't need to be specified. You can find out
-more about the semantics and uses of ToolTalk message arguments in
-chapter 4 of the @cite{ToolTalk Programmer's Guide}.
-@refill
-@end defun
-
-@defun send-tooltalk-message msg
-Send the message on its way. Once the message has been sent it's almost
-always a good idea to get rid of it with
-@code{destroy-tooltalk-message}.
-@refill
-@end defun
-
-@defun return-tooltalk-message msg &optional mode
-Send a reply to this message. The second argument can be @code{reply},
-@code{reject} or @code{fail}; the default is @code{reply}. Before
-sending a reply, all message arguments whose mode is @code{TT_INOUT} or
-@code{TT_OUT} should have been filled in---see
-@code{set-tooltalk-message-attribute}.
-@refill
-@end defun
-
-@defun get-tooltalk-message-attribute msg attribute &optional argn
-Returns the indicated ToolTalk message attribute. Attributes are
-identified by symbols with the same name (underscores and all) as the
-suffix of the ToolTalk @samp{tt_message_<attribute>} function that
-extracts the value. String attribute values are copied and enumerated
-type values (except disposition) are converted to symbols;
-e.g. @samp{TT_HANDLER} is @code{'TT_HANDLER}, @samp{uid} and @samp{gid}
-are represented by fixnums (small integers), @samp{opnum} is converted
-to a string, and @samp{disposition} is converted to a fixnum. We
-convert @samp{opnum} (a C int) to a string (e.g. @code{123} @result{}
-@code{"123"}) because there's no guarantee that opnums will fit within
-the range of SXEmacs Lisp integers.
-@refill
-
-[TBD] Use the @code{plist} attribute instead of C API @code{user}
-attribute for user-defined message data. To retrieve the value of a
-message property, specify the indicator for @var{argn}. For example, to
-get the value of a property called @code{rflag}, use
-
-@example
- (get-tooltalk-message-attribute msg 'plist 'rflag)
-@end example
-
-To get the value of a message argument use one of the @code{arg_val}
-(strings), @code{arg_ival} (integers), or @code{arg_bval} (strings with
-embedded nulls), attributes. For example, to get the integer value of
-the third argument:
-
-@example
- (get-tooltalk-message-attribute msg 'arg_ival 2)
-@end example
-
-As you can see, argument numbers are zero-based. The type of each
-arguments can be retrieved with the @code{arg_type} attribute; however
-ToolTalk doesn't define any semantics for the string value of
-@code{arg_type}. Conventionally @code{string} is used for strings and
-@code{int} for 32 bit integers.
-
-Note: SXEmacs Lisp stores the lengths of strings explicitly (unlike C)
-so treating the value returned by @code{arg_bval} like a string is fine.
-@refill
-@end defun
-
-@defun set-tooltalk-message-attribute value msg attribute &optional argn
-Initialize one ToolTalk message attribute.
-
-Attribute names and values are the same as for
-@code{get-tooltalk-message-attribute}. A property list is provided for
-user data (instead of the @code{user} message attribute); see
-@code{get-tooltalk-message-attribute}.
-@refill
-
-Callbacks are handled slightly differently than in the C ToolTalk API.
-The value of @var{callback} should be the name of a function of one
-argument. It will be called each time the state of the message changes.
-This is usually used to notice when the message's state has changed to
-@code{TT_HANDLED} (or @code{TT_FAILED}), so that reply argument values
-can be used.
-@refill
-
-If one of the argument attributes is specified as @code{arg_val},
-@code{arg_ival}, or @code{arg_bval}, then @var{argn} must be the
-number of an already created argument. Arguments can be added to a
-message with @code{add-tooltalk-message-arg}.
-@refill
-@end defun
-
-@defun add-tooltalk-message-arg msg mode type &optional value
-Append one new argument to the message. @var{mode} must be one of
-@code{TT_IN}, @code{TT_INOUT}, or @code{TT_OUT}, @var{type} must be a
-string, and @var{value} can be a string or an integer. ToolTalk doesn't
-define any semantics for @var{type}, so only the participants in the
-protocol you're using need to agree what types mean (if anything).
-Conventionally @code{string} is used for strings and @code{int} for 32
-bit integers.
-
-Arguments can initialized by providing a value or with
-@code{set-tooltalk-message-attribute}; the latter is necessary if you
-want to initialize the argument with a string that can contain embedded
-nulls (use @code{arg_bval}).
-@refill
-@end defun
-
-@defun create-tooltalk-message &optional no-callback
-Create a new ToolTalk message. The message's session attribute is
-initialized to the default session. Other attributes can be initialized
-with @code{set-tooltalk-message-attribute}.
-@code{make-tooltalk-message} is the preferred way to create and
-initialize a message.
-
-Optional arg @var{no-callback} says don't add a C-level callback at all.
-Normally don't do that; just don't specify the Lisp callback when
-calling @code{make-tooltalk-message}.
-@refill
-@end defun
-
-@defun destroy-tooltalk-message msg
-Apply @samp{tt_message_destroy} to the message. It's not necessary to
-destroy messages after they've been processed by a message or pattern
-callback, the Lisp/ToolTalk callback machinery does this for you.
-@end defun
-
-
-@node Receiving Messages
-@section Receiving Messages
-@cindex ToolTalk pattern
-@cindex receiving ToolTalk messages
-
-@menu
-* Example of Receiving Messages::
-* Elisp Interface for Receiving Messages::
-@end menu
-
-
-@node Example of Receiving Messages
-@subsection Example of Receiving Messages
-
-Here's a simple example of a handler for a message that tells XEmacs to
-display a string in the mini-buffer area. The message operation is
-called @samp{emacs-display-string}. Its first (0th) argument is the
-string to display.
-
-@example
-(defun tooltalk-display-string-handler (msg)
- (message (get-tooltalk-message-attribute msg 'arg_val 0)))
-
-(defvar display-string-pattern
- '(category TT_HANDLE
- scope TT_SESSION
- op "emacs-display-string"
- callback tooltalk-display-string-handler))
-
-(let ((p (make-tooltalk-pattern display-string-pattern)))
- (register-tooltalk-pattern p))
-@end example
-
-
-@node Elisp Interface for Receiving Messages
-@subsection Elisp Interface for Receiving Messages
-
-@defun make-tooltalk-pattern attributes
-Create a ToolTalk pattern and initialize its attributes.
-The value of attributes must be a list of alternating keyword/values,
-where keywords are symbols that name valid pattern attributes
-or lists of valid attributes. For example:
-
-@example
- (make-tooltalk-pattern
- '(category TT_OBSERVE
- scope TT_SESSION
- op ("operation1" "operation2")
- args ("arg1" 12345 (TT_INOUT "arg3" "string"))))
-@end example
-
-Attribute names are the same as those supported by
-@code{add-tooltalk-pattern-attribute}, plus @code{'args}.
-
-Values must always be strings, integers, or symbols that represent
-ToolTalk constants or lists of same. When a list of values is provided
-all of the list elements are added to the attribute. In the example
-above, messages whose @samp{op} attribute is @samp{"operation1"} or
-@samp{"operation2"} would match the pattern.
-
-The value of @var{args} should be a list of pattern arguments where each
-pattern argument has the following form:
-
-@quotation
- @samp{(mode [value [type]])} or just @samp{value}
-@end quotation
-
-Where @var{mode} is one of @code{TT_IN}, @code{TT_OUT}, or
-@code{TT_INOUT} and @var{type} is a string. If @var{type} isn't
-specified then @code{int} is used if @var{value} is a number; otherwise
-@code{string} is used. If @var{type} is @code{string} then @var{value}
-is converted to a string (if it isn't a string already) with
-@code{prin1-to-string}. If only a value is specified then @var{mode}
-defaults to @code{TT_IN}. If @var{mode} is @code{TT_OUT} then
-@var{value} and @var{type} don't need to be specified. You can find out
-more about the semantics and uses of ToolTalk pattern arguments in
-chapter 3 of the @cite{ToolTalk Programmer's Guide}.
-@refill
-@end defun
-
-@defun register-tooltalk-pattern pattern
-SXEmacs will begin receiving messages that match this pattern.
-@end defun
-
-@defun unregister-tooltalk-pattern pattern
-SXEmacs will stop receiving messages that match this pattern.
-@end defun
-
-@defun add-tooltalk-pattern-attribute value pattern indicator
-Add one value to the indicated pattern attribute. The names of
-attributes are the same as the ToolTalk accessors used to set them less
-the @samp{tooltalk_pattern_} prefix and the @samp{_add} suffix. For
-example, the name of the attribute for the
-@samp{tt_pattern_disposition_add} attribute is @code{disposition}. The
-@code{category} attribute is handled specially, since a pattern can only
-be a member of one category (@code{TT_OBSERVE} or @code{TT_HANDLE}).
-@refill
-
-Callbacks are handled slightly differently than in the C ToolTalk API.
-The value of @var{callback} should be the name of a function of one
-argument. It will be called each time the pattern matches an incoming
-message.
-@end defun
-
-@defun add-tooltalk-pattern-arg pattern mode vtype &optional value
-Add one fully-specified argument to a ToolTalk pattern. @var{mode} must
-be one of @code{TT_IN}, @code{TT_INOUT}, or @code{TT_OUT}. @var{vtype}
-must be a string. @var{value} can be an integer, string or @code{nil}.
-If @var{value} is an integer then an integer argument
-(@samp{tt_pattern_iarg_add}) is added; otherwise a string argument is
-added. At present there's no way to add a binary data argument.
-@refill
-@end defun
-
-@defun create-tooltalk-pattern
-Create a new ToolTalk pattern and initialize its session attribute to
-be the default session.
-@end defun
-
-@defun destroy-tooltalk-pattern pattern
-Apply @samp{tt_pattern_destroy} to the pattern. This effectively
-unregisters the pattern.
-@end defun
-
-@defun describe-tooltalk-message msg &optional stream
-Print the message's attributes and arguments to @var{stream}. This is
-often useful for debugging.
-@end defun
@c See the file lispref.texi for copying conditions.
@setfilename ../../info/x-windows.texinfo
-@node X-Windows, ToolTalk Support, System Interface, Top
+@node X-Windows, LDAP Support, System Interface, Top
@chapter Functions Specific to the X Window System
@cindex X
@cindex X-Windows
Sparcworks, EOS, and WorkShop:
* Q4.4.1:: What is SPARCworks, EOS, and WorkShop
-* Q4.4.2:: How do I start the Sun Workshop support in SXEmacs?
Energize:
* Q4.5.1:: What is/was Energize?
@item
Marginal annotations.
-@item
-ToolTalk support.
-
@item
XEmacs can be used as an Xt widget, and can be embedded within another
application.
Sparcworks, EOS, and WorkShop:
* Q4.4.1:: What is SPARCworks, EOS, and WorkShop
-* Q4.4.2:: How do I start the Sun Workshop support in SXEmacs?
Energize:
* Q4.5.1:: What is/was Energize?
@end quotation
-@node Q4.4.2
-@unnumberedsec Q4.4.2: How do I start the Sun Workshop support in SXEmacs?
-
-Add the switch ---with-workshop to the configure command when building
-SXEmacs and put the following in one of your startup files
-(e.g. site-start.el or init.el):
-
-@lisp
-(when (featurep 'tooltalk)
- (load "tooltalk-macros")
- (load "tooltalk-util")
- (load "tooltalk-init"))
-(when (featurep 'sparcworks)
- (load "sunpro-init")
- (load "ring")
- (load "comint")
- (load "annotations")
- (sunpro-startup))
-@end lisp
-
-
@node Q4.5.1
@unnumberedsec 4.5: Energize
@unnumberedsec Q4.5.1: What is/was Energize?
@item tm
Emacs MIME support. Not needed for Gnus >= 5.8.0
-@item tooltalk
-Support for building with Tooltalk.
-
@item tpu
DEC EDIT/TPU support.
echo "
Other Features:"
test "$with_ipv6_cname" = no && echo " Inhibiting IPv6 canonicalization at startup."
-test "$with_tooltalk" = yes && echo " Compiling in support for ToolTalk."
-test "$with_workshop" = yes && echo " Compiling in support for Sun WorkShop."
test "$with_socks" = yes && echo " Compiling in support for SOCKS."
test "$with_dnet" = yes && echo " Compiling in support for DNET."
if test "$with_regex_malloc" = no; then