summaryrefslogtreecommitdiff
path: root/comms
diff options
context:
space:
mode:
authormarkd <markd@pkgsrc.org>2007-01-26 01:26:46 +0000
committermarkd <markd@pkgsrc.org>2007-01-26 01:26:46 +0000
commita38ce447d43bf8ea1bbc47996b964f1dcbd4c2e7 (patch)
tree4b679784cb3ca82628e5be44f7fa52945d5f0618 /comms
parentd611c0e7ab2af32c65f3e30e5ff3a2eb08ed531f (diff)
downloadpkgsrc-a38ce447d43bf8ea1bbc47996b964f1dcbd4c2e7.tar.gz
Update pilot-link-libs, pilot-link, p5-pilot-link to 0.12.1
pilot-link v0.12.1 There isn't much "new" in this release, just some rapid-fire bug fixes reported from users and a lot of code has been cleaned up in the tree to remove unnecessary includes. * Code cleanup in libpisock, libpisync, src and include * Fixed the installation faux pas with udev rules, oops! pilot-link v0.12.0 pilot-link 0.12.0 "Trois ans" ("Three Years") is now official. There have been so many changes in this release and I can't remember them all, but here's the short list: * Many of the userland binaries now have new names, to avoid some potential namespace collisions (dlpsh is now pilot-dlpsh for example, memos is now pilot-memos). If you use scripts which call these applications, you may have to make minor changes to accomodate the new naming scheme. * Documentation is now in DocBook XML, and manpages are dynamically generated from that source. Other docs are much more detailed, and there are quite a few README files that have been added to help. * Direct libusb support! This is one of the most monumental features in 0.12.0, and should help those who have trouble using the kernel's visor driver in Linux with their device. Now you can get a healthy 300% to 600% speedup in sync times, depending on your Palm's processor speed. See doc/README.libusb for details. Thanks go to Zephania Hull for working out how to get native libusb working with pilot-link. * Native support for Mac OS X. You can now just download the tarball and build it directly on Mac OS X machines, and it will just run. Thanks go to Florent Pillet for his tireless work in getting this all working efficiently and for squashing countless bugs in the libraries along the way. * So many other fixes, additions, features and new things to count.
Diffstat (limited to 'comms')
-rw-r--r--comms/p5-pilot-link/Makefile27
-rw-r--r--comms/pilot-link-libs/Makefile5
-rw-r--r--comms/pilot-link-libs/PLIST16
-rw-r--r--comms/pilot-link-libs/buildlink3.mk4
-rw-r--r--comms/pilot-link/Makefile13
-rw-r--r--comms/pilot-link/Makefile.common8
-rw-r--r--comms/pilot-link/PLIST69
-rw-r--r--comms/pilot-link/distinfo13
-rw-r--r--comms/pilot-link/patches/patch-aa20
-rw-r--r--comms/pilot-link/patches/patch-ad29
-rw-r--r--comms/pilot-link/patches/patch-ae1322
-rw-r--r--comms/pilot-link/patches/patch-af13
12 files changed, 97 insertions, 1442 deletions
diff --git a/comms/p5-pilot-link/Makefile b/comms/p5-pilot-link/Makefile
index 92300c96d85..8b04327c3c8 100644
--- a/comms/p5-pilot-link/Makefile
+++ b/comms/p5-pilot-link/Makefile
@@ -1,10 +1,9 @@
-# $NetBSD: Makefile,v 1.32 2006/04/17 13:46:19 wiz Exp $
+# $NetBSD: Makefile,v 1.33 2007/01/26 01:26:46 markd Exp $
#
.include "../../comms/pilot-link/Makefile.common"
PKGNAME= p5-${DISTNAME}
-PKGREVISION= 6
COMMENT= Perl bindings for pilot-link
@@ -12,21 +11,31 @@ BUILDLINK_API_DEPENDS.pilot-link-libs= pilot-link-libs>=${PILOT_LINK_VERS}
USE_TOOLS+= gmake
+CONFIGURE_ARGS+= --enable-conduits
CONFIGURE_ARGS+= --with-perl=${PERL5:Q}
PERL5_CONFIGURE= NO
PERL5_PACKLIST= auto/PDA/Pilot/.packlist
+PERL5_LDFLAGS= -lpisock
+
+REPLACE_PERL+= bindings/Perl/h2xs-pilot-link
INSTALL_DIRS= ${WRKSRC}/bindings
BUILD_DIRS+= ${WRKSRC}/src
BUILD_DIRS+= ${INSTALL_DIRS}
-post-patch:
- cd ${WRKSRC} && \
- for mf in src/Makefile.in src/*/Makefile.in ; do \
- ${CP} $$mf $$mf.old && \
- ${SED} -e 's|..top_builddir./lib[^/]*/\(lib[^\.]*\.la\)|${PREFIX}/lib/\1|g' \
- < $$mf.old > $$mf ; \
- done
+SUBST_CLASSES+= progs
+SUBST_STAGE.progs= post-patch
+SUBST_MESSAGE.progs= Trim programs to build
+SUBST_FILES.progs= src/Makefile.in
+SUBST_SED.progs= -e s:@ENABLE_CONDUITS_TRUE@bin_PROGRAMS:@ENABLE_CONDUITS_TRUE@bin_PROGRAMSX:
+
+#post-patch:
+# cd ${WRKSRC} && \
+# for mf in src/Makefile.in src/*/Makefile.in ; do \
+# ${CP} $$mf $$mf.old && \
+# ${SED} -e 's|..top_builddir./lib[^/]*/\(lib[^\.]*\.la\)|${PREFIX}/lib/\1|g' \
+# < $$mf.old > $$mf ; \
+# done
post-install:
.for bin in ietf2datebook pilot-undelete sync-plan
diff --git a/comms/pilot-link-libs/Makefile b/comms/pilot-link-libs/Makefile
index 9277ede4baa..696a15e7be1 100644
--- a/comms/pilot-link-libs/Makefile
+++ b/comms/pilot-link-libs/Makefile
@@ -1,15 +1,13 @@
-# $NetBSD: Makefile,v 1.16 2006/06/04 16:26:52 joerg Exp $
+# $NetBSD: Makefile,v 1.17 2007/01/26 01:26:46 markd Exp $
#
.include "../../comms/pilot-link/Makefile.common"
PKGNAME= pilot-link-libs-${PILOT_LINK_VERS}
-PKGREVISION= 3
COMMENT= Libraries for talking to the 3Com Pilot PDA
CONFLICTS+= pilot-link<0.9.5
-
MAKE_ENV+= PILIB="libsock/libpisock.la"
MAKE_ENV+= PICCLIB="libcc/libpicc.a"
@@ -19,7 +17,6 @@ CONFIGURE_ENV+= ac_cv_header_inttypes_h="no"
BUILD_DIRS= ${WRKSRC}/include
BUILD_DIRS+= ${WRKSRC}/libpisock
-BUILD_DIRS+= ${WRKSRC}/libpisock++
BUILD_DIRS+= ${WRKSRC}/libpisync
.include "../../converters/libiconv/buildlink3.mk"
diff --git a/comms/pilot-link-libs/PLIST b/comms/pilot-link-libs/PLIST
index 2c6a91408ad..0bb96de1da8 100644
--- a/comms/pilot-link-libs/PLIST
+++ b/comms/pilot-link-libs/PLIST
@@ -1,17 +1,17 @@
-@comment $NetBSD: PLIST,v 1.3 2004/09/22 08:09:21 jlam Exp $
+@comment $NetBSD: PLIST,v 1.4 2007/01/26 01:26:46 markd Exp $
include/pi-address.h
-include/pi-address.hxx
include/pi-appinfo.h
-include/pi-appinfo.hxx
include/pi-args.h
+include/pi-buffer.h
include/pi-cmp.h
+include/pi-contact.h
include/pi-datebook.h
-include/pi-datebook.hxx
include/pi-debug.h
include/pi-dlp.h
-include/pi-dlp.hxx
+include/pi-error.h
include/pi-expense.h
include/pi-file.h
+include/pi-foto.h
include/pi-header.h
include/pi-hinote.h
include/pi-inet.h
@@ -19,7 +19,6 @@ include/pi-macros.h
include/pi-mail.h
include/pi-md5.h
include/pi-memo.h
-include/pi-memo.hxx
include/pi-money.h
include/pi-net.h
include/pi-notepad.h
@@ -33,11 +32,12 @@ include/pi-source.h
include/pi-sync.h
include/pi-sys.h
include/pi-syspkt.h
+include/pi-threadsafe.h
include/pi-todo.h
-include/pi-todo.hxx
include/pi-usb.h
include/pi-util.h
+include/pi-veo.h
+include/pi-versamail.h
include/pi-version.h
-lib/libpisock++.la
lib/libpisock.la
lib/libpisync.la
diff --git a/comms/pilot-link-libs/buildlink3.mk b/comms/pilot-link-libs/buildlink3.mk
index db8ab82d33b..1171533c0c1 100644
--- a/comms/pilot-link-libs/buildlink3.mk
+++ b/comms/pilot-link-libs/buildlink3.mk
@@ -1,4 +1,4 @@
-# $NetBSD: buildlink3.mk,v 1.8 2006/07/08 23:10:38 jlam Exp $
+# $NetBSD: buildlink3.mk,v 1.9 2007/01/26 01:26:46 markd Exp $
BUILDLINK_DEPTH:= ${BUILDLINK_DEPTH}+
PILOT_LINK_LIBS_BUILDLINK3_MK:= ${PILOT_LINK_LIBS_BUILDLINK3_MK}+
@@ -13,7 +13,7 @@ BUILDLINK_ORDER:= ${BUILDLINK_ORDER} ${BUILDLINK_DEPTH}pilot-link-libs
.if !empty(PILOT_LINK_LIBS_BUILDLINK3_MK:M+)
BUILDLINK_API_DEPENDS.pilot-link-libs+= pilot-link-libs>=0.11.7nb1
-BUILDLINK_ABI_DEPENDS.pilot-link-libs+= pilot-link-libs>=0.11.7nb2
+BUILDLINK_ABI_DEPENDS.pilot-link-libs+= pilot-link-libs>=0.12.1
BUILDLINK_PKGSRCDIR.pilot-link-libs?= ../../comms/pilot-link-libs
.endif # PILOT_LINK_LIBS_BUILDLINK3_MK
diff --git a/comms/pilot-link/Makefile b/comms/pilot-link/Makefile
index 8eb2b3d525c..e7e982b384e 100644
--- a/comms/pilot-link/Makefile
+++ b/comms/pilot-link/Makefile
@@ -1,9 +1,7 @@
-# $NetBSD: Makefile,v 1.45 2006/04/17 13:46:19 wiz Exp $
+# $NetBSD: Makefile,v 1.46 2007/01/26 01:26:46 markd Exp $
.include "../../comms/pilot-link/Makefile.common"
-PKGREVISION= 5
-
COMMENT= Tools to talk to the 3Com Pilot PDA
BUILDLINK_API_DEPENDS.pilot-link-libs= pilot-link-libs>=${PILOT_LINK_VERS}
@@ -12,9 +10,9 @@ USE_TOOLS+= gmake perl:run
USE_GNU_READLINE= YES
CONFIGURE_ARGS+= --with-perl5=${PERL5:Q}
-CONFIGURE_ARGS+= --with-readline21
-CONFIGURE_ARGS+= --with-tcl=${BUILDLINK_PREFIX.tcl}
-CONFIGURE_ARGS+= --with-tk=${BUILDLINK_PREFIX.tk}
+CONFIGURE_ARGS+= --with-libpng
+CONFIGURE_ARGS+= --with-readline
+CONFIGURE_ARGS+= --enable-conduits
BUILD_DIRS= ${WRKSRC}/src
BUILD_DIRS+= ${WRKSRC}/bindings
@@ -30,9 +28,8 @@ post-patch:
done
.include "../../comms/pilot-link-libs/buildlink3.mk"
+.include "../../devel/popt/buildlink3.mk"
.include "../../devel/readline/buildlink3.mk"
.include "../../graphics/png/buildlink3.mk"
-.include "../../lang/tcl/buildlink3.mk"
-.include "../../x11/tk/buildlink3.mk"
.include "../../mk/bsd.pkg.mk"
diff --git a/comms/pilot-link/Makefile.common b/comms/pilot-link/Makefile.common
index 6233277bf00..cc3e78b5b34 100644
--- a/comms/pilot-link/Makefile.common
+++ b/comms/pilot-link/Makefile.common
@@ -1,16 +1,16 @@
-# $NetBSD: Makefile.common,v 1.9 2006/03/04 21:29:05 jlam Exp $
+# $NetBSD: Makefile.common,v 1.10 2007/01/26 01:26:46 markd Exp $
DISTNAME= pilot-link-${PILOT_LINK_VERS}
CATEGORIES= comms
-MASTER_SITES= http://www.pilot-link.org/source/
+MASTER_SITES= http://downloads.pilot-link.org/
EXTRACT_SUFX= .tar.bz2
-PILOT_LINK_VERS= 0.11.7
+PILOT_LINK_VERS= 0.12.1
MAINTAINER= pkgsrc-users@NetBSD.org
HOMEPAGE?= http://www.pilot-link.org/
-USE_LANGUAGES= c c++
+USE_LANGUAGES= c
USE_LIBTOOL= yes
GNU_CONFIGURE= yes
diff --git a/comms/pilot-link/PLIST b/comms/pilot-link/PLIST
index 72d6a4b5db5..4d5cbeb1b75 100644
--- a/comms/pilot-link/PLIST
+++ b/comms/pilot-link/PLIST
@@ -1,9 +1,4 @@
-@comment $NetBSD: PLIST,v 1.2 2003/01/10 04:30:18 rh Exp $
-bin/addresses
-bin/ccexample
-bin/debugsh
-bin/dlpsh
-bin/hinotes
+@comment $NetBSD: PLIST,v 1.3 2007/01/26 01:26:46 markd Exp $
bin/install-datebook
bin/install-expenses
bin/install-hinote
@@ -12,49 +7,68 @@ bin/install-netsync
bin/install-todo
bin/install-todos
bin/install-user
-bin/memos
-bin/money2qif
-bin/pi-csd
-bin/pi-getram
-bin/pi-getrom
-bin/pi-getromtoken
-bin/pi-nredir
bin/pilot-addresses
-bin/pilot-archive
bin/pilot-clip
-bin/pilot-datebook
-bin/pilot-debug
+bin/pilot-csd
+bin/pilot-debugsh
bin/pilot-dedupe
+bin/pilot-dlpsh
bin/pilot-file
-bin/pilot-prc
+bin/pilot-foto
+bin/pilot-getram
+bin/pilot-getrom
+bin/pilot-getromtoken
+bin/pilot-hinotes
+bin/pilot-memos
+bin/pilot-nredir
+bin/pilot-reminders
bin/pilot-schlep
+bin/pilot-treofoto
+bin/pilot-wav
bin/pilot-xfer
bin/read-expenses
bin/read-ical
bin/read-notepad
bin/read-palmpix
+bin/read-screenshot
bin/read-todos
-bin/reminders
-man/man1/addresses.1
-man/man1/dlpsh.1
-man/man1/hinotes.1
+bin/read-veo
man/man1/ietf2datebook.1
man/man1/install-datebook.1
man/man1/install-expenses.1
man/man1/install-hinote.1
man/man1/install-memo.1
man/man1/install-netsync.1
+man/man1/install-todo.1
+man/man1/install-todos.1
man/man1/install-user.1
-man/man1/pi-getram.1
-man/man1/pi-getrom.1
man/man1/pilot-addresses.1
+man/man1/pilot-clip.1
+man/man1/pilot-csd.1
+man/man1/pilot-debugsh.1
+man/man1/pilot-dedupe.1
+man/man1/pilot-dlpsh.1
+man/man1/pilot-file.1
+man/man1/pilot-foto.1
+man/man1/pilot-getram.1
+man/man1/pilot-getrom.1
+man/man1/pilot-getromtoken.1
+man/man1/pilot-hinotes.1
+man/man1/pilot-memos.1
+man/man1/pilot-nredir.1
+man/man1/pilot-reminders.1
+man/man1/pilot-schlep.1
+man/man1/pilot-treofoto.1
+man/man1/pilot-wav.1
man/man1/pilot-xfer.1
+man/man1/read-expenses.1
man/man1/read-ical.1
man/man1/read-notepad.1
man/man1/read-palmpix.1
+man/man1/read-screenshot.1
+man/man1/read-todos.1
+man/man1/read-veo.1
man/man7/pilot-link.7
-share/pilot-link/getrom.prc
-share/pilot-link/getrom2.prc
share/pilot-link/pix/b1.gif
share/pilot-link/pix/b2.gif
share/pilot-link/pix/b3.gif
@@ -65,5 +79,10 @@ share/pilot-link/pix/b7.gif
share/pilot-link/pix/case.gif
share/pilot-link/pix/case.xbm
share/pilot-link/pix/casemask.xbm
+share/pilot-link/prc/getrom.prc
+share/pilot-link/prc/getrom2.prc
+share/pilot-link/udev/60-libpisock.rules
+@dirrm share/pilot-link/udev
+@dirrm share/pilot-link/prc
@dirrm share/pilot-link/pix
@dirrm share/pilot-link
diff --git a/comms/pilot-link/distinfo b/comms/pilot-link/distinfo
index da4dce467e1..9240cc8fee8 100644
--- a/comms/pilot-link/distinfo
+++ b/comms/pilot-link/distinfo
@@ -1,10 +1,7 @@
-$NetBSD: distinfo,v 1.18 2006/01/02 16:14:04 joerg Exp $
+$NetBSD: distinfo,v 1.19 2007/01/26 01:26:46 markd Exp $
-SHA1 (pilot-link-0.11.7.tar.bz2) = f1ae56d3aad5d793f58fac4d3a51ca0c0f517262
-RMD160 (pilot-link-0.11.7.tar.bz2) = 3f97de52f8142fe2328c8f3eb4a0893ab440abf6
-Size (pilot-link-0.11.7.tar.bz2) = 669470 bytes
-SHA1 (patch-aa) = 842f3abe3c9c794206ee21fa835c8da34f6cbc8a
+SHA1 (pilot-link-0.12.1.tar.bz2) = b776aa4467f254b1f0c9fe76bd54afc9860c3e88
+RMD160 (pilot-link-0.12.1.tar.bz2) = a43e1069b490d0b28b5a17fdcab17b8636d8f56a
+Size (pilot-link-0.12.1.tar.bz2) = 931338 bytes
+SHA1 (patch-aa) = c124995244710b802686fd766a8717eab4f3ace6
SHA1 (patch-ab) = add1156600a681cc0ae30c5d9095b4f1bb6739c3
-SHA1 (patch-ad) = 91e0a72a0f2d313173024c9edacfa0b92fb33b3d
-SHA1 (patch-ae) = 2dd6343e3b1cef4108649454124e425beef68e23
-SHA1 (patch-af) = 7c3e80f8d8b0c0a77aac5590098c59541685dd17
diff --git a/comms/pilot-link/patches/patch-aa b/comms/pilot-link/patches/patch-aa
index b8895447a3f..0051ada31b3 100644
--- a/comms/pilot-link/patches/patch-aa
+++ b/comms/pilot-link/patches/patch-aa
@@ -1,13 +1,13 @@
-$NetBSD: patch-aa,v 1.9 2004/11/02 15:56:03 gavan Exp $
+$NetBSD: patch-aa,v 1.10 2007/01/26 01:26:46 markd Exp $
---- configure.orig Mon Jan 6 09:45:21 2003
+--- configure.orig 2006-09-05 07:01:21.000000000 +1200
+++ configure
-@@ -6685,7 +6685,7 @@ EOF
- usb_type=linux
- msg_usb="yes, Linux"
- ;;
-- *freebsd*)
-+ *bsd*)
- cat >> confdefs.h <<\EOF
+@@ -23224,7 +23224,7 @@ _ACEOF
+ usb_type=linux
+ msg_usb="yes, Linux"
+ ;;
+- *freebsd*)
++ *bsd*)
+
+ cat >>confdefs.h <<\_ACEOF
#define HAVE_USB 1
- EOF
diff --git a/comms/pilot-link/patches/patch-ad b/comms/pilot-link/patches/patch-ad
deleted file mode 100644
index 497e8d49a22..00000000000
--- a/comms/pilot-link/patches/patch-ad
+++ /dev/null
@@ -1,29 +0,0 @@
-$NetBSD: patch-ad,v 1.2 2003/01/10 04:30:19 rh Exp $
-
---- libpisock/unixserial.c.orig Tue Dec 3 00:32:47 2002
-+++ libpisock/unixserial.c
-@@ -178,13 +178,23 @@ s_open(struct pi_socket *ps, struct pi_s
- i;
- char *tty = addr->pi_device;
- struct pi_serial_data *data = (struct pi_serial_data *)ps->device->data;
-+#define maxretries 100
-+ int retries;
-
- #ifndef SGTTY
- struct termios tcn;
- #else
- struct sgttyb tcn;
- #endif
-- if ((fd = open(tty, O_RDWR | O_NONBLOCK)) == -1) {
-+
-+ for (retries = 0 ; retries <= maxretries ; retries++ ) {
-+ if ((fd = open(tty, O_RDWR | O_NONBLOCK)) != -1) {
-+ break;
-+ }
-+ usleep(50000);
-+ }
-+
-+ if (fd == -1) {
- return -1; /* errno already set */
- }
-
diff --git a/comms/pilot-link/patches/patch-ae b/comms/pilot-link/patches/patch-ae
deleted file mode 100644
index a0a6c068c8b..00000000000
--- a/comms/pilot-link/patches/patch-ae
+++ /dev/null
@@ -1,1322 +0,0 @@
-$NetBSD: patch-ae,v 1.5 2006/01/02 16:14:04 joerg Exp $
-
---- src/pilot-debug.c.orig 2002-12-02 14:32:47.000000000 +0000
-+++ src/pilot-debug.c
-@@ -60,7 +60,9 @@ int usetk;
-
- /* The following variable is a special hack that is needed in order for Sun
- shared libraries to be used for Tcl. */
-+#if !defined(__DragonFly__)
- int *tclDummyMathPtr = (int *) matherr;
-+#endif
-
- int done = 0;
- int Interactive = 1;
-@@ -1549,526 +1551,524 @@ static int proc_inittkdbg(ClientData cli
- return TCL_OK;
- }
-
-- Tcl_VarEval(interp,"\
--
--### /*** Generate remote UI window ***/
--
--set tkdbg 1
--
--toplevel .remote
--wm title .remote {Palm Remote UI}
--
--catch {
-- if {[file exists {tools/pix/case.gif}]} {
-- set dir {tools}
-- } elseif {[file exists {",LIBDIR,"/pix/case.gif}]} {
-- set dir {",LIBDIR,"/pix}
-- } else {
-- error {No pix}
-- }
-- image create photo Case -format gif -file \"$dir/pix/case.gif\"
-- image create photo B1 -format gif -file \"$dir/pix/b1.gif\"
-- image create photo B2 -format gif -file \"$dir/pix/b2.gif\"
-- image create photo B3 -format gif -file \"$dir/pix/b3.gif\"
-- image create photo B4 -format gif -file \"$dir/pix/b4.gif\"
-- image create photo B5 -format gif -file \"$dir/pix/b5.gif\"
-- image create photo B6 -format gif -file \"$dir/pix/b6.gif\"
-- image create photo B7 -format gif -file \"$dir/pix/b7.gif\"
--}
--
--canvas .remote.c -width 221 -height 337
--
--.remote.c create rectangle 27 29 196 260 -outline {red} -tag screen -fill {blue}
--.remote.c create rectangle 0 280 18 306 -outline {red} -tag button1 -fill {blue}
--.remote.c create oval 23 276 52 307 -outline {red} -tag button2 -fill {blue}
--.remote.c create oval 63 276 92 307 -outline {red} -tag button3 -fill {blue}
--.remote.c create rectangle 97 277 127 294 -outline {red} -tag button4 -fill {blue}
--.remote.c create rectangle 97 300 127 317 -outline {red} -tag button5 -fill {blue}
--.remote.c create oval 133 276 162 307 -outline {red} -tag button6 -fill {blue}
--.remote.c create oval 171 276 200 307 -outline {red} -tag button7 -fill {blue}
--
--.remote.c create rectangle 33 32 187 253 -outline black -tag screen
--.remote.c create rectangle 33 200 61 225 -outline black -tag screen
--.remote.c create rectangle 33 225 61 253 -outline black -tag screen
--.remote.c create rectangle 160 200 187 225 -outline black -tag screen
--.remote.c create rectangle 160 225 187 253 -outline black -tag screen
--.remote.c create rectangle 62 200 159 253 -outline black -tag screen
--
--set buttons(1) 0
--
--proc holdbutton {button} {
-- global buttons
-- if {$button==1} {
-- set buttons($button) [after 1000 \"continuebutton $button\"]
-- } else {
-- pushbutton $button
-- set buttons($button) [after 250 \"holdbutton $button\"]
-- }
--}
--
--proc continuebutton {button} {
-- global buttons
-- if {$button==1} {
-- pushbutton 0
-- }
-- set buttons($button) \"\"
--}
--
--proc releasebutton {button} {
-- global buttons
-- if {$buttons($button)!=\"\"} {
-- if {$button==1} {
-- pushbutton 1
-- }
-- after cancel $buttons($button)
-- set buttons($button) \"\"
-- }
--}
--
--.remote.c bind button1 <ButtonPress-1> {.remote.c itemconfigure button1 -fill green; update; holdbutton 1}
--.remote.c bind button1 <ButtonRelease-1> {.remote.c itemconfigure button1 -fill blue; releasebutton 1}
--
--.remote.c bind button2 <ButtonPress-1> {.remote.c itemconfigure button2 -fill green; update; holdbutton 2}
--.remote.c bind button2 <ButtonRelease-1> {.remote.c itemconfigure button2 -fill blue; releasebutton 2}
--
--.remote.c bind button3 <ButtonPress-1> {.remote.c itemconfigure button3 -fill green; update; holdbutton 3}
--.remote.c bind button3 <ButtonRelease-1> {.remote.c itemconfigure button3 -fill blue; releasebutton 3}
--
--.remote.c bind button4 <ButtonPress-1> {.remote.c itemconfigure button4 -fill green; update; holdbutton 4}
--.remote.c bind button4 <ButtonRelease-1> {.remote.c itemconfigure button4 -fill blue; releasebutton 4}
--
--.remote.c bind button5 <ButtonPress-1> {.remote.c itemconfigure button5 -fill green; update; holdbutton 5}
--.remote.c bind button5 <ButtonRelease-1> {.remote.c itemconfigure button5 -fill blue; releasebutton 5}
--
--.remote.c bind button6 <ButtonPress-1> {.remote.c itemconfigure button6 -fill green; update; holdbutton 6}
--.remote.c bind button6 <ButtonRelease-1> {.remote.c itemconfigure button6 -fill blue; releasebutton 6}
--
--.remote.c bind button7 <ButtonPress-1> {.remote.c itemconfigure button7 -fill green; update; holdbutton 7}
--.remote.c bind button7 <ButtonRelease-1> {.remote.c itemconfigure button7 -fill blue; releasebutton 7}
--
--catch {
-- .remote.c create image 0 282 -image B1 -anchor nw -tag downbutton1
-- .remote.c create image 22 274 -image B2 -anchor nw -tag downbutton2
-- .remote.c create image 60 275 -image B3 -anchor nw -tag downbutton3
-- .remote.c create image 93 278 -image B4 -anchor nw -tag downbutton4
-- .remote.c create image 95 298 -image B5 -anchor nw -tag downbutton5
-- .remote.c create image 131 275 -image B6 -anchor nw -tag downbutton6
-- .remote.c create image 169 274 -image B7 -anchor nw -tag downbutton7
--
-- .remote.c create image 0 0 -image Case -anchor nw
--
-- .remote.c bind button1 <ButtonPress-1> {.remote.c raise downbutton1; update; holdbutton 1}
-- .remote.c bind button1 <ButtonRelease-1> {.remote.c lower downbutton1; releasebutton 1}
--
-- .remote.c bind button2 <ButtonPress-1> {.remote.c raise downbutton2; update; holdbutton 2}
-- .remote.c bind button2 <ButtonRelease-1> {.remote.c lower downbutton2; releasebutton 2}
--
-- .remote.c bind button3 <ButtonPress-1> {.remote.c raise downbutton3; update; holdbutton 3}
-- .remote.c bind button3 <ButtonRelease-1> {.remote.c lower downbutton3; releasebutton 3}
--
-- .remote.c bind button4 <ButtonPress-1> {.remote.c raise downbutton4; update; holdbutton 4}
-- .remote.c bind button4 <ButtonRelease-1> {.remote.c lower downbutton4; releasebutton 4}
--
-- .remote.c bind button5 <ButtonPress-1> {.remote.c raise downbutton5; update; holdbutton 5}
-- .remote.c bind button5 <ButtonRelease-1> {.remote.c lower downbutton5; releasebutton 5}
--
-- .remote.c bind button6 <ButtonPress-1> {.remote.c raise downbutton6; update; holdbutton 6}
-- .remote.c bind button6 <ButtonRelease-1> {.remote.c lower downbutton6; releasebutton 6}
--
-- .remote.c bind button7 <ButtonPress-1> {.remote.c raise downbutton7; update; holdbutton 7}
-- .remote.c bind button7 <ButtonRelease-1> {.remote.c lower downbutton7; releasebutton 7}
--
--
-- .remote.c itemconfigure button1 -outline {} -fill {}
-- .remote.c raise button1
-- .remote.c itemconfigure button2 -outline {} -fill {}
-- .remote.c raise button2
-- .remote.c itemconfigure button3 -outline {} -fill {}
-- .remote.c raise button3
-- .remote.c itemconfigure button4 -outline {} -fill {}
-- .remote.c raise button4
-- .remote.c itemconfigure button5 -outline {} -fill {}
-- .remote.c raise button5
-- .remote.c itemconfigure button6 -outline {} -fill {}
-- .remote.c raise button6
-- .remote.c itemconfigure button7 -outline {} -fill {}
-- .remote.c raise button7
-- .remote.c itemconfigure screen -outline {} -fill {}
-- .remote.c raise screen
--}
--
--pack .remote.c -side top
--
--.remote.c bind screen <ButtonPress-1> {pen %x %y 1}
--.remote.c bind screen <B1-Motion> {pen %x %y 1}
--.remote.c bind screen <ButtonRelease-1> {pen %x %y 0}
--
--global KeyQueue
--global KeyQueueId
--global KeyQueueDelay
--set KeyQueue {}
--set KeyQueueId {}
--set KeyQueueDelay 50
--
--proc readyqueue {} {
-- global KeyQueueId
-- global KeyQueueDelay
-- if {$KeyQueueId == {}} {
-- after $KeyQueueDelay { set KeyQueueId [ after idle {sendqueue} ] }
-- }
--}
--
--proc queuekey {c} {
-- global KeyQueue
-- append KeyQueue $c
-- readyqueue
--}
--
--proc sendqueue {} {
-- global KeyQueue
-- global KeyQueueId
-- if {[string length $KeyQueue] > 0} {
-- key [string index $KeyQueue 0]
-- set KeyQueue [string range $KeyQueue 1 end]
-- }
-- set KeyQueueId {}
-- if {[string length $KeyQueue] > 0} { readyqueue }
--}
--
--bind .remote <KeyPress> {queuekey %A}
--
--## Handle pasting
--proc do_paste { } {
-- if [catch {selection get} sel] {
-- if [catch {selection get -selection CLIPBOARD} sel] {
-- return
-- }
-- }
-- queuekey $sel
--}
--bind .remote <ButtonPress-2> {do_paste}
--
--##### /*** Generate remote console window ***/
--
--toplevel .console
--wm title .console \"Palm Remote Console\"
--scrollbar .console.y -orient vertical -command {.console.t yview}
--text .console.t -yscrollcommand {.console.y set}
--pack .console.t -fill both -expand yes -side left
--pack .console.y -fill y -side right
--focus .console.t
--
--#### /*** Generate pilot state window ***/
--
--toplevel .state
--wm title .state {Palm State}
--label .state.l1 -text {Active mode:}
--label .state.l1x -text {Battery:}
--label .state.l2 -text {Exception:}
--label .state.l25 -text {Reset:}
--label .state.l3 -text {Function:}
--label .state.l4 -text {F-start:}
--label .state.l5 -text {F-end:}
--label .state.l6 -text {D0:}
--label .state.l7 -text {A0:}
--label .state.l8 -text {D1:}
--label .state.l9 -text {A1:}
--label .state.l10 -text {D2:}
--label .state.l11 -text {A2:}
--label .state.l12 -text {D3:}
--label .state.l13 -text {A3:}
--label .state.l14 -text {D4:}
--label .state.l15 -text {A4:}
--label .state.l16 -text {D5:}
--label .state.l17 -text {A5:}
--label .state.l18 -text {D6:}
--label .state.l19 -text {A6:}
--label .state.l20 -text {D7:}
--
--label .state.l21 -text {PC:}
--label .state.l22 -text {SR:}
--label .state.l23 -text {USP:}
--label .state.l24 -text {SSP:}
--
--label .state.halted -text {None}
--label .state.battery -text {Unknown}
--label .state.exception -text {0}
--label .state.reset -text {No}
--label .state.funcname -text {}
--label .state.funcstart -text {00000000}
--label .state.funcend -text {00000000}
--label .state.d0 -text {00000000}
--label .state.a0 -text {00000000}
--label .state.d1 -text {00000000}
--label .state.a1 -text {00000000}
--label .state.d2 -text {00000000}
--label .state.a2 -text {00000000}
--label .state.d3 -text {00000000}
--label .state.a3 -text {00000000}
--label .state.d4 -text {00000000}
--label .state.a4 -text {00000000}
--label .state.d5 -text {00000000}
--label .state.a5 -text {00000000}
--label .state.d6 -text {00000000}
--label .state.a6 -text {00000000}
--label .state.d7 -text {00000000}
--label .state.pc -text {00000000}
--label .state.sr -text {0000}
--label .state.usp -text {00000000}
--label .state.ssp -text {00000000}
--
--grid .state.l1 -column 0 -row 0 -sticky e -columnspan 2
--grid .state.halted -column 2 -row 0 -sticky w -columnspan 2
--
--grid .state.l1x -column 0 -row 1 -sticky e -columnspan 2
--grid .state.battery -column 2 -row 1 -sticky w -columnspan 2
--
--grid .state.l2 -column 0 -row 2 -sticky e -columnspan 2
--grid .state.exception -column 2 -row 2 -sticky w -columnspan 2
--
--grid .state.l25 -column 0 -row 3 -sticky e -columnspan 2
--grid .state.reset -column 2 -row 3 -sticky w -columnspan 2
--
--grid .state.l3 -column 0 -row 4 -sticky e -columnspan 2
--grid .state.funcname -column 2 -row 4 -sticky w -columnspan 2
--
--grid .state.l4 -column 0 -row 5 -sticky e -columnspan 2
--grid .state.funcstart -column 2 -row 5 -sticky w -columnspan 2
--
--grid .state.l5 -column 0 -row 6 -sticky e -columnspan 2
--grid .state.funcend -column 2 -row 6 -sticky w -columnspan 2
--
--frame .state.rule1 -relief raised -bd 2 -height 4
--grid .state.rule1 -column 0 -row 7 -columnspan 4 -sticky ew
--
--grid .state.l6 -column 0 -row 8 -sticky e
--grid .state.d0 -column 1 -row 8 -sticky w
--grid .state.l7 -column 2 -row 8 -sticky e
--grid .state.a0 -column 3 -row 8 -sticky w
--
--grid .state.l8 -column 0 -row 9 -sticky e
--grid .state.d1 -column 1 -row 9 -sticky w
--grid .state.l9 -column 2 -row 9 -sticky e
--grid .state.a1 -column 3 -row 9 -sticky w
--
--grid .state.l10 -column 0 -row 10 -sticky e
--grid .state.d2 -column 1 -row 10 -sticky w
--grid .state.l11 -column 2 -row 10 -sticky e
--grid .state.a2 -column 3 -row 10 -sticky w
--
--grid .state.l12 -column 0 -row 11 -sticky e
--grid .state.d3 -column 1 -row 11 -sticky w
--grid .state.l13 -column 2 -row 11 -sticky e
--grid .state.a3 -column 3 -row 11 -sticky w
--
--grid .state.l14 -column 0 -row 12 -sticky e
--grid .state.d4 -column 1 -row 12 -sticky w
--grid .state.l15 -column 2 -row 12 -sticky e
--grid .state.a4 -column 3 -row 12 -sticky w
--
--grid .state.l16 -column 0 -row 13 -sticky e
--grid .state.d5 -column 1 -row 13 -sticky w
--grid .state.l17 -column 2 -row 13 -sticky e
--grid .state.a5 -column 3 -row 13 -sticky w
--
--grid .state.l18 -column 0 -row 14 -sticky e
--grid .state.d6 -column 1 -row 14 -sticky w
--grid .state.l19 -column 2 -row 14 -sticky e
--grid .state.a6 -column 3 -row 14 -sticky w
--
--grid .state.l20 -column 0 -row 15 -sticky e
--grid .state.d7 -column 1 -row 15 -sticky w
--
--grid .state.l21 -column 0 -row 16 -sticky e
--grid .state.pc -column 1 -row 16 -sticky w
--grid .state.l22 -column 2 -row 16 -sticky e
--grid .state.sr -column 3 -row 16 -sticky w
--
--grid .state.l23 -column 0 -row 17 -sticky e
--grid .state.usp -column 1 -row 17 -sticky w
--grid .state.l24 -column 2 -row 17 -sticky e
--grid .state.ssp -column 3 -row 17 -sticky w
--
--label .state.bl2 -text {B1:}
--label .state.bl4 -text {B2:}
--label .state.bl6 -text {B3:}
--label .state.bl8 -text {B4:}
--label .state.bl10 -text {B5:}
--label .state.bl12 -text {B6:}
--
--label .state.b1 -text {00000000}
--label .state.b1a -text {Off}
--label .state.b2 -text {00000000}
--label .state.b2a -text {Off}
--label .state.b3 -text {00000000}
--label .state.b3a -text {Off}
--label .state.b4 -text {00000000}
--label .state.b4a -text {Off}
--label .state.b5 -text {00000000}
--label .state.b5a -text {Off}
--label .state.b6 -text {00000000}
--label .state.b6a -text {Off}
--
--frame .state.rule2 -relief raised -bd 2 -height 4
--grid .state.rule2 -column 0 -row 18 -columnspan 4 -sticky ew
--
--grid .state.bl2 -column 0 -row 19 -sticky e
--grid .state.b1 -column 1 -row 19 -sticky w
--grid .state.b1a -column 2 -row 19 -sticky w
--
--grid .state.bl4 -column 0 -row 20 -sticky e
--grid .state.b2 -column 1 -row 20 -sticky w
--grid .state.b2a -column 2 -row 20 -sticky w
--
--grid .state.bl6 -column 0 -row 21 -sticky e
--grid .state.b3 -column 1 -row 21 -sticky w
--grid .state.b3a -column 2 -row 21 -sticky w
--
--grid .state.bl8 -column 0 -row 22 -sticky e
--grid .state.b4 -column 1 -row 22 -sticky w
--grid .state.b4a -column 2 -row 22 -sticky w
--
--grid .state.bl10 -column 0 -row 23 -sticky e
--grid .state.b5 -column 1 -row 23 -sticky w
--grid .state.b5a -column 2 -row 23 -sticky w
--
--grid .state.bl12 -column 0 -row 24 -sticky e
--grid .state.b6 -column 1 -row 24 -sticky w
--grid .state.b6a -column 2 -row 24 -sticky w
--
--### /*** Generate debugger console window ***/
--
--wm title . \"Palm Debugger Console\"
--catch {
-- wm iconbitmap . {@pix/case.xbm}
-- wm iconbitmap .remote {@pix/case.xbm}
-- wm iconbitmap .console {@pix/case.xbm}
-- wm iconbitmap .state {@pix/case.xbm}
-- #wm iconmask . {@pix/casemask.xbm}
--}
--
--frame .m -relief raised
--frame .f
--scrollbar .f.y -orient vertical -command {.f.t yview}
--text .f.t -yscrollcommand {.f.y set} -wrap word
--pack .f.t -fill both -expand yes -side left
--pack .f.y -fill y -side right
--pack [menubutton .m.file -text {File} -menu .m.file.m] -side left
--#pack [menubutton .m.edit -text {Edit} -menu .m.edit.m] -side left
--pack [menubutton .m.windows -text {Windows} -menu .m.windows.m] -side left
--#pack [menubutton .m.help -text {display_help} -menu .m.help.m] -side right
--
--menu .m.file.m
--menu .m.windows.m
--#menu .m.edit.m
--#menu .m.help.m
--
--#wm iconify .remote
--#wm iconify .console
--#wm iconify .state
--
--
--proc ShowWindow {name1 name2 op} {
-- global show
-- if {$show($name2)} {
-- if {[wm state $name2] != \"normal\"} {
-- wm deiconify $name2
-- }
-- } else {
-- if {[wm state $name2] == \"normal\"} {
-- wm withdraw $name2
-- }
-- }
--}
--
--
--trace variable show w {ShowWindow}
--
--bind .remote <Unmap> { set show(.remote) 0 }
--bind .console <Unmap> { set show(.console) 0 }
--bind .state <Unmap> { set show(.state) 0 }
--
--bind .remote <Map> { set show(.remote) 1 }
--bind .console <Map> { set show(.console) 1 }
--bind .state <Map> { set show(.state) 1 }
--
--wm protocol .remote WM_DELETE_WINDOW { set show(.remote) 0 }
--wm protocol .console WM_DELETE_WINDOW { set show(.console) 0 }
--wm protocol .state WM_DELETE_WINDOW { set show(.state) 0 }
--
--set show(.remote) 0
--set show(.console) 0
--set show(.state) 0
--
--
--.m.file.m add command -label {Exit} -command {exit}
--
--.m.windows.m add checkbutton -label {Remote UI} -var show(.remote)
--.m.windows.m add checkbutton -label {Remote Console} -var show(.console)
--.m.windows.m add checkbutton -label {Remote State} -var show(.state)
--
--pack .m -side top -fill x
--pack .f -side top -fill both -expand yes
--focus .f.t
--
--### /*** Configure console bindings ***/
--
--bind .console.t <Shift-KeyPress-Return> {tkTextInsert .console.t \"\\n\" ; break}
--bind .f.t <Shift-KeyPress-Return> {tkTextInsert .f.t \"\\n\" ; break}
--
--bind .console.t <Control-KeyPress-Return> {tkTextInsert .console.t \"\\n\" ; break}
--bind .f.t <Control-KeyPress-Return> {tkTextInsert .f.t \"\\n\" ; break}
--
--bind .console.t <KeyPress-Return> {Console [.console.t get {insert linestart} {insert lineend}] ; break}
--bind .f.t <KeyPress-Return> {
-- set line [.f.t get {insert linestart} {insert lineend}]
-- set f [string first \">\" $line]
-- incr f
-- set line [string range $line $f end]
-- .f.t mark set insert {insert lineend}
-- .f.t insert insert \\n
-- Debugger $line
-- if {[.f.t compare insert != {insert linestart}]} {
-- .f.t insert insert \"\\n\"
-- }
-- .f.t insert insert \"pilot-debug> \"
-- .f.t see insert
-- break
--}
--
--proc Console {cmd} {
-- .console.t mark set insert {insert lineend}
-- tkTextInsert .console.t \\n
-- transmit $cmd
--}
--
--proc Debugger {cmd} {
-- #.f.t mark set insert {insert lineend}
-- #tkTextInsert .f.t \\n
-- if {[string length [string trim $cmd]]!=0} {
-- set code [catch {eval $cmd} message]
-- if {[string length $message]} {
-- set message [string trimright $message]
-- Say \"$message\\n\"
-- #if {[.f.t compare insert != {insert linestart}]} {
-- # Say \"\\\n\"
-- #}
-- }
-- }
--}
--
--proc Say {text} {
-- global Interactive
-- if {$Interactive} {
-- .f.t insert insert \"$text\"
-- .f.t see insert
-- } else {
-- upvar result result
-- set result \"$result$text\"
-- }
--}
--
--", NULL);
-+ Tcl_VarEval(interp,
-+"\n"
-+"### /*** Generate remote UI window ***/\n"
-+"\n"
-+"set tkdbg 1\n"
-+"\n"
-+"toplevel .remote\n"
-+"wm title .remote {Palm Remote UI}\n"
-+"\n"
-+"catch {\n"
-+" if {[file exists {tools/pix/case.gif}]} {\n"
-+" set dir {tools}\n"
-+" } elseif {[file exists {",LIBDIR,"/pix/case.gif}]} {\n"
-+" set dir {",LIBDIR,"/pix}\n"
-+" } else {\n"
-+" error {No pix}\n"
-+" }\n"
-+" image create photo Case -format gif -file \"$dir/pix/case.gif\"\n"
-+" image create photo B1 -format gif -file \"$dir/pix/b1.gif\"\n"
-+" image create photo B2 -format gif -file \"$dir/pix/b2.gif\"\n"
-+" image create photo B3 -format gif -file \"$dir/pix/b3.gif\"\n"
-+" image create photo B4 -format gif -file \"$dir/pix/b4.gif\"\n"
-+" image create photo B5 -format gif -file \"$dir/pix/b5.gif\"\n"
-+" image create photo B6 -format gif -file \"$dir/pix/b6.gif\"\n"
-+" image create photo B7 -format gif -file \"$dir/pix/b7.gif\"\n"
-+"}\n"
-+"\n"
-+"canvas .remote.c -width 221 -height 337\n"
-+"\n"
-+".remote.c create rectangle 27 29 196 260 -outline {red} -tag screen -fill {blue}\n"
-+".remote.c create rectangle 0 280 18 306 -outline {red} -tag button1 -fill {blue}\n"
-+".remote.c create oval 23 276 52 307 -outline {red} -tag button2 -fill {blue}\n"
-+".remote.c create oval 63 276 92 307 -outline {red} -tag button3 -fill {blue}\n"
-+".remote.c create rectangle 97 277 127 294 -outline {red} -tag button4 -fill {blue}\n"
-+".remote.c create rectangle 97 300 127 317 -outline {red} -tag button5 -fill {blue}\n"
-+".remote.c create oval 133 276 162 307 -outline {red} -tag button6 -fill {blue}\n"
-+".remote.c create oval 171 276 200 307 -outline {red} -tag button7 -fill {blue}\n"
-+"\n"
-+".remote.c create rectangle 33 32 187 253 -outline black -tag screen\n"
-+".remote.c create rectangle 33 200 61 225 -outline black -tag screen\n"
-+".remote.c create rectangle 33 225 61 253 -outline black -tag screen\n"
-+".remote.c create rectangle 160 200 187 225 -outline black -tag screen\n"
-+".remote.c create rectangle 160 225 187 253 -outline black -tag screen\n"
-+".remote.c create rectangle 62 200 159 253 -outline black -tag screen\n"
-+"\n"
-+"set buttons(1) 0\n"
-+"\n"
-+"proc holdbutton {button} {\n"
-+" global buttons\n"
-+" if {$button==1} {\n"
-+" set buttons($button) [after 1000 \"continuebutton $button\"]\n"
-+" } else {\n"
-+" pushbutton $button\n"
-+" set buttons($button) [after 250 \"holdbutton $button\"]\n"
-+" }\n"
-+"}\n"
-+"\n"
-+"proc continuebutton {button} {\n"
-+" global buttons\n"
-+" if {$button==1} {\n"
-+" pushbutton 0\n"
-+" }\n"
-+" set buttons($button) \"\"\n"
-+"}\n"
-+"\n"
-+"proc releasebutton {button} {\n"
-+" global buttons\n"
-+" if {$buttons($button)!=\"\"} {\n"
-+" if {$button==1} {\n"
-+" pushbutton 1\n"
-+" }\n"
-+" after cancel $buttons($button)\n"
-+" set buttons($button) \"\"\n"
-+" }\n"
-+"}\n"
-+"\n"
-+".remote.c bind button1 <ButtonPress-1> {.remote.c itemconfigure button1 -fill green; update; holdbutton 1}\n"
-+".remote.c bind button1 <ButtonRelease-1> {.remote.c itemconfigure button1 -fill blue; releasebutton 1}\n"
-+"\n"
-+".remote.c bind button2 <ButtonPress-1> {.remote.c itemconfigure button2 -fill green; update; holdbutton 2}\n"
-+".remote.c bind button2 <ButtonRelease-1> {.remote.c itemconfigure button2 -fill blue; releasebutton 2}\n"
-+"\n"
-+".remote.c bind button3 <ButtonPress-1> {.remote.c itemconfigure button3 -fill green; update; holdbutton 3}\n"
-+".remote.c bind button3 <ButtonRelease-1> {.remote.c itemconfigure button3 -fill blue; releasebutton 3}\n"
-+"\n"
-+".remote.c bind button4 <ButtonPress-1> {.remote.c itemconfigure button4 -fill green; update; holdbutton 4}\n"
-+".remote.c bind button4 <ButtonRelease-1> {.remote.c itemconfigure button4 -fill blue; releasebutton 4}\n"
-+"\n"
-+".remote.c bind button5 <ButtonPress-1> {.remote.c itemconfigure button5 -fill green; update; holdbutton 5}\n"
-+".remote.c bind button5 <ButtonRelease-1> {.remote.c itemconfigure button5 -fill blue; releasebutton 5}\n"
-+"\n"
-+".remote.c bind button6 <ButtonPress-1> {.remote.c itemconfigure button6 -fill green; update; holdbutton 6}\n"
-+".remote.c bind button6 <ButtonRelease-1> {.remote.c itemconfigure button6 -fill blue; releasebutton 6}\n"
-+"\n"
-+".remote.c bind button7 <ButtonPress-1> {.remote.c itemconfigure button7 -fill green; update; holdbutton 7}\n"
-+".remote.c bind button7 <ButtonRelease-1> {.remote.c itemconfigure button7 -fill blue; releasebutton 7}\n"
-+"\n"
-+"catch {\n"
-+" .remote.c create image 0 282 -image B1 -anchor nw -tag downbutton1\n"
-+" .remote.c create image 22 274 -image B2 -anchor nw -tag downbutton2\n"
-+" .remote.c create image 60 275 -image B3 -anchor nw -tag downbutton3\n"
-+" .remote.c create image 93 278 -image B4 -anchor nw -tag downbutton4\n"
-+" .remote.c create image 95 298 -image B5 -anchor nw -tag downbutton5\n"
-+" .remote.c create image 131 275 -image B6 -anchor nw -tag downbutton6\n"
-+" .remote.c create image 169 274 -image B7 -anchor nw -tag downbutton7\n"
-+"\n"
-+" .remote.c create image 0 0 -image Case -anchor nw\n"
-+"\n"
-+" .remote.c bind button1 <ButtonPress-1> {.remote.c raise downbutton1; update; holdbutton 1}\n"
-+" .remote.c bind button1 <ButtonRelease-1> {.remote.c lower downbutton1; releasebutton 1}\n"
-+"\n"
-+" .remote.c bind button2 <ButtonPress-1> {.remote.c raise downbutton2; update; holdbutton 2}\n"
-+" .remote.c bind button2 <ButtonRelease-1> {.remote.c lower downbutton2; releasebutton 2}\n"
-+"\n"
-+" .remote.c bind button3 <ButtonPress-1> {.remote.c raise downbutton3; update; holdbutton 3}\n"
-+" .remote.c bind button3 <ButtonRelease-1> {.remote.c lower downbutton3; releasebutton 3}\n"
-+"\n"
-+" .remote.c bind button4 <ButtonPress-1> {.remote.c raise downbutton4; update; holdbutton 4}\n"
-+" .remote.c bind button4 <ButtonRelease-1> {.remote.c lower downbutton4; releasebutton 4}\n"
-+"\n"
-+" .remote.c bind button5 <ButtonPress-1> {.remote.c raise downbutton5; update; holdbutton 5}\n"
-+" .remote.c bind button5 <ButtonRelease-1> {.remote.c lower downbutton5; releasebutton 5}\n"
-+"\n"
-+" .remote.c bind button6 <ButtonPress-1> {.remote.c raise downbutton6; update; holdbutton 6}\n"
-+" .remote.c bind button6 <ButtonRelease-1> {.remote.c lower downbutton6; releasebutton 6}\n"
-+"\n"
-+" .remote.c bind button7 <ButtonPress-1> {.remote.c raise downbutton7; update; holdbutton 7}\n"
-+" .remote.c bind button7 <ButtonRelease-1> {.remote.c lower downbutton7; releasebutton 7}\n"
-+" \n"
-+" \n"
-+" .remote.c itemconfigure button1 -outline {} -fill {}\n"
-+" .remote.c raise button1\n"
-+" .remote.c itemconfigure button2 -outline {} -fill {}\n"
-+" .remote.c raise button2\n"
-+" .remote.c itemconfigure button3 -outline {} -fill {}\n"
-+" .remote.c raise button3\n"
-+" .remote.c itemconfigure button4 -outline {} -fill {}\n"
-+" .remote.c raise button4\n"
-+" .remote.c itemconfigure button5 -outline {} -fill {}\n"
-+" .remote.c raise button5\n"
-+" .remote.c itemconfigure button6 -outline {} -fill {}\n"
-+" .remote.c raise button6\n"
-+" .remote.c itemconfigure button7 -outline {} -fill {}\n"
-+" .remote.c raise button7\n"
-+" .remote.c itemconfigure screen -outline {} -fill {}\n"
-+" .remote.c raise screen\n"
-+"}\n"
-+"\n"
-+"pack .remote.c -side top\n"
-+"\n"
-+".remote.c bind screen <ButtonPress-1> {pen %x %y 1}\n"
-+".remote.c bind screen <B1-Motion> {pen %x %y 1}\n"
-+".remote.c bind screen <ButtonRelease-1> {pen %x %y 0}\n"
-+"\n"
-+"global KeyQueue\n"
-+"global KeyQueueId\n"
-+"global KeyQueueDelay\n"
-+"set KeyQueue {}\n"
-+"set KeyQueueId {}\n"
-+"set KeyQueueDelay 50\n"
-+"\n"
-+"proc readyqueue {} {\n"
-+" global KeyQueueId\n"
-+" global KeyQueueDelay\n"
-+" if {$KeyQueueId == {}} {\n"
-+" after $KeyQueueDelay { set KeyQueueId [ after idle {sendqueue} ] }\n"
-+" }\n"
-+"}\n"
-+"\n"
-+"proc queuekey {c} {\n"
-+" global KeyQueue\n"
-+" append KeyQueue $c\n"
-+" readyqueue\n"
-+"}\n"
-+"\n"
-+"proc sendqueue {} {\n"
-+" global KeyQueue\n"
-+" global KeyQueueId\n"
-+" if {[string length $KeyQueue] > 0} {\n"
-+" key [string index $KeyQueue 0]\n"
-+" set KeyQueue [string range $KeyQueue 1 end]\n"
-+" }\n"
-+" set KeyQueueId {}\n"
-+" if {[string length $KeyQueue] > 0} { readyqueue }\n"
-+"}\n"
-+"\n"
-+"bind .remote <KeyPress> {queuekey %A}\n"
-+"\n"
-+"## Handle pasting\n"
-+"proc do_paste { } {\n"
-+" if [catch {selection get} sel] {\n"
-+" if [catch {selection get -selection CLIPBOARD} sel] {\n"
-+" return\n"
-+" }\n"
-+" }\n"
-+" queuekey $sel\n"
-+"}\n"
-+"bind .remote <ButtonPress-2> {do_paste}\n"
-+"\n"
-+"##### /*** Generate remote console window ***/\n"
-+"\n"
-+"toplevel .console\n"
-+"wm title .console \"Palm Remote Console\"\n"
-+"scrollbar .console.y -orient vertical -command {.console.t yview}\n"
-+"text .console.t -yscrollcommand {.console.y set}\n"
-+"pack .console.t -fill both -expand yes -side left\n"
-+"pack .console.y -fill y -side right\n"
-+"focus .console.t\n"
-+"\n"
-+"#### /*** Generate pilot state window ***/\n"
-+"\n"
-+"toplevel .state\n"
-+"wm title .state {Palm State}\n"
-+"label .state.l1 -text {Active mode:}\n"
-+"label .state.l1x -text {Battery:}\n"
-+"label .state.l2 -text {Exception:}\n"
-+"label .state.l25 -text {Reset:}\n"
-+"label .state.l3 -text {Function:}\n"
-+"label .state.l4 -text {F-start:}\n"
-+"label .state.l5 -text {F-end:}\n"
-+"label .state.l6 -text {D0:}\n"
-+"label .state.l7 -text {A0:}\n"
-+"label .state.l8 -text {D1:}\n"
-+"label .state.l9 -text {A1:}\n"
-+"label .state.l10 -text {D2:}\n"
-+"label .state.l11 -text {A2:}\n"
-+"label .state.l12 -text {D3:}\n"
-+"label .state.l13 -text {A3:}\n"
-+"label .state.l14 -text {D4:}\n"
-+"label .state.l15 -text {A4:}\n"
-+"label .state.l16 -text {D5:}\n"
-+"label .state.l17 -text {A5:}\n"
-+"label .state.l18 -text {D6:}\n"
-+"label .state.l19 -text {A6:}\n"
-+"label .state.l20 -text {D7:}\n"
-+"\n"
-+"label .state.l21 -text {PC:}\n"
-+"label .state.l22 -text {SR:}\n"
-+"label .state.l23 -text {USP:}\n"
-+"label .state.l24 -text {SSP:}\n"
-+"\n"
-+"label .state.halted -text {None}\n"
-+"label .state.battery -text {Unknown}\n"
-+"label .state.exception -text {0}\n"
-+"label .state.reset -text {No}\n"
-+"label .state.funcname -text {}\n"
-+"label .state.funcstart -text {00000000}\n"
-+"label .state.funcend -text {00000000}\n"
-+"label .state.d0 -text {00000000}\n"
-+"label .state.a0 -text {00000000}\n"
-+"label .state.d1 -text {00000000}\n"
-+"label .state.a1 -text {00000000}\n"
-+"label .state.d2 -text {00000000}\n"
-+"label .state.a2 -text {00000000}\n"
-+"label .state.d3 -text {00000000}\n"
-+"label .state.a3 -text {00000000}\n"
-+"label .state.d4 -text {00000000}\n"
-+"label .state.a4 -text {00000000}\n"
-+"label .state.d5 -text {00000000}\n"
-+"label .state.a5 -text {00000000}\n"
-+"label .state.d6 -text {00000000}\n"
-+"label .state.a6 -text {00000000}\n"
-+"label .state.d7 -text {00000000}\n"
-+"label .state.pc -text {00000000}\n"
-+"label .state.sr -text {0000}\n"
-+"label .state.usp -text {00000000}\n"
-+"label .state.ssp -text {00000000}\n"
-+"\n"
-+"grid .state.l1 -column 0 -row 0 -sticky e -columnspan 2\n"
-+"grid .state.halted -column 2 -row 0 -sticky w -columnspan 2\n"
-+"\n"
-+"grid .state.l1x -column 0 -row 1 -sticky e -columnspan 2\n"
-+"grid .state.battery -column 2 -row 1 -sticky w -columnspan 2\n"
-+"\n"
-+"grid .state.l2 -column 0 -row 2 -sticky e -columnspan 2\n"
-+"grid .state.exception -column 2 -row 2 -sticky w -columnspan 2\n"
-+"\n"
-+"grid .state.l25 -column 0 -row 3 -sticky e -columnspan 2\n"
-+"grid .state.reset -column 2 -row 3 -sticky w -columnspan 2\n"
-+"\n"
-+"grid .state.l3 -column 0 -row 4 -sticky e -columnspan 2 \n"
-+"grid .state.funcname -column 2 -row 4 -sticky w -columnspan 2\n"
-+"\n"
-+"grid .state.l4 -column 0 -row 5 -sticky e -columnspan 2 \n"
-+"grid .state.funcstart -column 2 -row 5 -sticky w -columnspan 2\n"
-+"\n"
-+"grid .state.l5 -column 0 -row 6 -sticky e -columnspan 2 \n"
-+"grid .state.funcend -column 2 -row 6 -sticky w -columnspan 2\n"
-+"\n"
-+"frame .state.rule1 -relief raised -bd 2 -height 4\n"
-+"grid .state.rule1 -column 0 -row 7 -columnspan 4 -sticky ew\n"
-+"\n"
-+"grid .state.l6 -column 0 -row 8 -sticky e \n"
-+"grid .state.d0 -column 1 -row 8 -sticky w\n"
-+"grid .state.l7 -column 2 -row 8 -sticky e \n"
-+"grid .state.a0 -column 3 -row 8 -sticky w\n"
-+"\n"
-+"grid .state.l8 -column 0 -row 9 -sticky e \n"
-+"grid .state.d1 -column 1 -row 9 -sticky w\n"
-+"grid .state.l9 -column 2 -row 9 -sticky e \n"
-+"grid .state.a1 -column 3 -row 9 -sticky w\n"
-+"\n"
-+"grid .state.l10 -column 0 -row 10 -sticky e \n"
-+"grid .state.d2 -column 1 -row 10 -sticky w\n"
-+"grid .state.l11 -column 2 -row 10 -sticky e \n"
-+"grid .state.a2 -column 3 -row 10 -sticky w\n"
-+"\n"
-+"grid .state.l12 -column 0 -row 11 -sticky e \n"
-+"grid .state.d3 -column 1 -row 11 -sticky w\n"
-+"grid .state.l13 -column 2 -row 11 -sticky e \n"
-+"grid .state.a3 -column 3 -row 11 -sticky w\n"
-+"\n"
-+"grid .state.l14 -column 0 -row 12 -sticky e \n"
-+"grid .state.d4 -column 1 -row 12 -sticky w\n"
-+"grid .state.l15 -column 2 -row 12 -sticky e \n"
-+"grid .state.a4 -column 3 -row 12 -sticky w\n"
-+"\n"
-+"grid .state.l16 -column 0 -row 13 -sticky e \n"
-+"grid .state.d5 -column 1 -row 13 -sticky w\n"
-+"grid .state.l17 -column 2 -row 13 -sticky e \n"
-+"grid .state.a5 -column 3 -row 13 -sticky w\n"
-+"\n"
-+"grid .state.l18 -column 0 -row 14 -sticky e \n"
-+"grid .state.d6 -column 1 -row 14 -sticky w\n"
-+"grid .state.l19 -column 2 -row 14 -sticky e \n"
-+"grid .state.a6 -column 3 -row 14 -sticky w\n"
-+"\n"
-+"grid .state.l20 -column 0 -row 15 -sticky e \n"
-+"grid .state.d7 -column 1 -row 15 -sticky w\n"
-+"\n"
-+"grid .state.l21 -column 0 -row 16 -sticky e \n"
-+"grid .state.pc -column 1 -row 16 -sticky w\n"
-+"grid .state.l22 -column 2 -row 16 -sticky e \n"
-+"grid .state.sr -column 3 -row 16 -sticky w\n"
-+"\n"
-+"grid .state.l23 -column 0 -row 17 -sticky e \n"
-+"grid .state.usp -column 1 -row 17 -sticky w\n"
-+"grid .state.l24 -column 2 -row 17 -sticky e \n"
-+"grid .state.ssp -column 3 -row 17 -sticky w\n"
-+"\n"
-+"label .state.bl2 -text {B1:}\n"
-+"label .state.bl4 -text {B2:}\n"
-+"label .state.bl6 -text {B3:}\n"
-+"label .state.bl8 -text {B4:}\n"
-+"label .state.bl10 -text {B5:}\n"
-+"label .state.bl12 -text {B6:}\n"
-+"\n"
-+"label .state.b1 -text {00000000}\n"
-+"label .state.b1a -text {Off}\n"
-+"label .state.b2 -text {00000000}\n"
-+"label .state.b2a -text {Off}\n"
-+"label .state.b3 -text {00000000}\n"
-+"label .state.b3a -text {Off}\n"
-+"label .state.b4 -text {00000000}\n"
-+"label .state.b4a -text {Off}\n"
-+"label .state.b5 -text {00000000}\n"
-+"label .state.b5a -text {Off}\n"
-+"label .state.b6 -text {00000000}\n"
-+"label .state.b6a -text {Off}\n"
-+"\n"
-+"frame .state.rule2 -relief raised -bd 2 -height 4\n"
-+"grid .state.rule2 -column 0 -row 18 -columnspan 4 -sticky ew\n"
-+"\n"
-+"grid .state.bl2 -column 0 -row 19 -sticky e\n"
-+"grid .state.b1 -column 1 -row 19 -sticky w\n"
-+"grid .state.b1a -column 2 -row 19 -sticky w \n"
-+"\n"
-+"grid .state.bl4 -column 0 -row 20 -sticky e\n"
-+"grid .state.b2 -column 1 -row 20 -sticky w\n"
-+"grid .state.b2a -column 2 -row 20 -sticky w \n"
-+"\n"
-+"grid .state.bl6 -column 0 -row 21 -sticky e\n"
-+"grid .state.b3 -column 1 -row 21 -sticky w\n"
-+"grid .state.b3a -column 2 -row 21 -sticky w \n"
-+"\n"
-+"grid .state.bl8 -column 0 -row 22 -sticky e\n"
-+"grid .state.b4 -column 1 -row 22 -sticky w\n"
-+"grid .state.b4a -column 2 -row 22 -sticky w \n"
-+"\n"
-+"grid .state.bl10 -column 0 -row 23 -sticky e\n"
-+"grid .state.b5 -column 1 -row 23 -sticky w\n"
-+"grid .state.b5a -column 2 -row 23 -sticky w \n"
-+"\n"
-+"grid .state.bl12 -column 0 -row 24 -sticky e\n"
-+"grid .state.b6 -column 1 -row 24 -sticky w\n"
-+"grid .state.b6a -column 2 -row 24 -sticky w \n"
-+"\n"
-+"### /*** Generate debugger console window ***/\n"
-+"\n"
-+"wm title . \"Palm Debugger Console\"\n"
-+"catch {\n"
-+" wm iconbitmap . {@pix/case.xbm}\n"
-+" wm iconbitmap .remote {@pix/case.xbm}\n"
-+" wm iconbitmap .console {@pix/case.xbm}\n"
-+" wm iconbitmap .state {@pix/case.xbm}\n"
-+" #wm iconmask . {@pix/casemask.xbm}\n"
-+"}\n"
-+"\n"
-+"frame .m -relief raised\n"
-+"frame .f\n"
-+"scrollbar .f.y -orient vertical -command {.f.t yview}\n"
-+"text .f.t -yscrollcommand {.f.y set} -wrap word\n"
-+"pack .f.t -fill both -expand yes -side left\n"
-+"pack .f.y -fill y -side right\n"
-+"pack [menubutton .m.file -text {File} -menu .m.file.m] -side left\n"
-+"#pack [menubutton .m.edit -text {Edit} -menu .m.edit.m] -side left\n"
-+"pack [menubutton .m.windows -text {Windows} -menu .m.windows.m] -side left\n"
-+"#pack [menubutton .m.help -text {display_help} -menu .m.help.m] -side right\n"
-+"\n"
-+"menu .m.file.m\n"
-+"menu .m.windows.m\n"
-+"#menu .m.edit.m\n"
-+"#menu .m.help.m\n"
-+"\n"
-+"#wm iconify .remote\n"
-+"#wm iconify .console\n"
-+"#wm iconify .state\n"
-+"\n"
-+"\n"
-+"proc ShowWindow {name1 name2 op} {\n"
-+" global show\n"
-+" if {$show($name2)} {\n"
-+" if {[wm state $name2] != \"normal\"} {\n"
-+" wm deiconify $name2\n"
-+" }\n"
-+" } else {\n"
-+" if {[wm state $name2] == \"normal\"} {\n"
-+" wm withdraw $name2\n"
-+" }\n"
-+" }\n"
-+"}\n"
-+"\n"
-+"\n"
-+"trace variable show w {ShowWindow}\n"
-+"\n"
-+"bind .remote <Unmap> { set show(.remote) 0 }\n"
-+"bind .console <Unmap> { set show(.console) 0 }\n"
-+"bind .state <Unmap> { set show(.state) 0 }\n"
-+"\n"
-+"bind .remote <Map> { set show(.remote) 1 }\n"
-+"bind .console <Map> { set show(.console) 1 }\n"
-+"bind .state <Map> { set show(.state) 1 }\n"
-+"\n"
-+"wm protocol .remote WM_DELETE_WINDOW { set show(.remote) 0 }\n"
-+"wm protocol .console WM_DELETE_WINDOW { set show(.console) 0 }\n"
-+"wm protocol .state WM_DELETE_WINDOW { set show(.state) 0 }\n"
-+"\n"
-+"set show(.remote) 0\n"
-+"set show(.console) 0\n"
-+"set show(.state) 0\n"
-+"\n"
-+"\n"
-+".m.file.m add command -label {Exit} -command {exit}\n"
-+"\n"
-+".m.windows.m add checkbutton -label {Remote UI} -var show(.remote)\n"
-+".m.windows.m add checkbutton -label {Remote Console} -var show(.console)\n"
-+".m.windows.m add checkbutton -label {Remote State} -var show(.state)\n"
-+"\n"
-+"pack .m -side top -fill x\n"
-+"pack .f -side top -fill both -expand yes\n"
-+"focus .f.t\n"
-+"\n"
-+"### /*** Configure console bindings ***/\n"
-+"\n"
-+"bind .console.t <Shift-KeyPress-Return> {tkTextInsert .console.t \"\\n\" ; break}\n"
-+"bind .f.t <Shift-KeyPress-Return> {tkTextInsert .f.t \"\\n\" ; break}\n"
-+"\n"
-+"bind .console.t <Control-KeyPress-Return> {tkTextInsert .console.t \"\\n\" ; break}\n"
-+"bind .f.t <Control-KeyPress-Return> {tkTextInsert .f.t \"\\n\" ; break}\n"
-+"\n"
-+"bind .console.t <KeyPress-Return> {Console [.console.t get {insert linestart} {insert lineend}] ; break}\n"
-+"bind .f.t <KeyPress-Return> {\n"
-+" set line [.f.t get {insert linestart} {insert lineend}]\n"
-+" set f [string first \">\" $line]\n"
-+" incr f\n"
-+" set line [string range $line $f end]\n"
-+" .f.t mark set insert {insert lineend}\n"
-+" .f.t insert insert \\n\n"
-+" Debugger $line\n"
-+" if {[.f.t compare insert != {insert linestart}]} {\n"
-+" .f.t insert insert \"\\n\"\n"
-+" }\n"
-+" .f.t insert insert \"pilot-debug> \"\n"
-+" .f.t see insert\n"
-+" break\n"
-+"}\n"
-+"\n"
-+"proc Console {cmd} {\n"
-+" .console.t mark set insert {insert lineend}\n"
-+" tkTextInsert .console.t \\n\n"
-+" transmit $cmd\n"
-+"}\n"
-+"\n"
-+"proc Debugger {cmd} {\n"
-+" #.f.t mark set insert {insert lineend}\n"
-+" #tkTextInsert .f.t \\n\n"
-+" if {[string length [string trim $cmd]]!=0} {\n"
-+" set code [catch {eval $cmd} message]\n"
-+" if {[string length $message]} {\n"
-+" set message [string trimright $message]\n"
-+" Say \"$message\\n\"\n"
-+" #if {[.f.t compare insert != {insert linestart}]} {\n"
-+" # Say \"\\\n\"\n"
-+" #}\n"
-+" }\n"
-+" }\n"
-+"}\n"
-+"\n"
-+"proc Say {text} {\n"
-+" global Interactive\n"
-+" if {$Interactive} {\n"
-+" .f.t insert insert \"$text\"\n"
-+" .f.t see insert\n"
-+" } else {\n"
-+" upvar result result\n"
-+" set result \"$result$text\"\n"
-+" }\n"
-+"}\n\n", NULL);
- puts(interp->result);
-
- created = 1;
-@@ -2080,25 +2080,24 @@ proc Say {text} {
-
- static int proc_help(ClientData clientData, Tcl_Interp *interp, int argc, char *argv[])
- {
-- Say("\
----- display_help ---\n\
--g [<addr>] Go: Resume execution (if address is supplied,
-- will start at that point)\n\
--t <addr1> [<addr2>] Till: Resume execution until addr1 (if addr2 is
-- supplied, will start at that point)\n\
--coldboot Simulate the hard-reset (reset pin + power
-- button press, i.e. lose all data)\n\
--warmboot Simulate a soft-reset (reset pin press)\n\
--pushbutton <button number> Simulate button push\n\
--mirror [bool] Continually view the Palm's screen in the
-- Remote UI window (if bool supplied, can
-- turn on or off mirroring, otherwise
-- toggles)\n\
--getdisplay Show the Palm's display in the Remote UI
-- window\n\
--updatedisplay Force a mirror refresh\n\
--feature Get/Set/Read Palm features\n\
--");
-+ Say(
-+"--- display_help ---\n"
-+"g [<addr>] Go: Resume execution (if address is supplied,\n"
-+" will start at that point)\n"
-+"t <addr1> [<addr2>] Till: Resume execution until addr1 (if addr2 is\n"
-+" supplied, will start at that point)\n"
-+"coldboot Simulate the hard-reset (reset pin + power\n"
-+" button press, i.e. lose all data)\n"
-+"warmboot Simulate a soft-reset (reset pin press)\n"
-+"pushbutton <button number> Simulate button push\n"
-+"mirror [bool] Continually view the Palm's screen in the\n"
-+" Remote UI window (if bool supplied, can\n"
-+" turn on or off mirroring, otherwise\n"
-+" toggles)\n"
-+"getdisplay Show the Palm's display in the Remote UI\n"
-+" window\n"
-+"updatedisplay Force a mirror refresh\n"
-+"feature Get/Set/Read Palm features\n");
- return TCL_OK;
- }
-
-@@ -2151,55 +2150,53 @@ Tcl_AppInit(myinterp)
- Tcl_CreateCommand(interp, cmds[i].name, cmds[i].proc, 0, NULL);
- }
-
-- Tcl_VarEval(interp,"\
--proc Say {text} {
-- global Interactive
-- if {$Interactive} {
-- puts \"$text\"
-- } else {
-- upvar result result
-- set result \"$result$text\"
-- }
--}
--
--proc interactive {args} {
-- global Interactive
-- global errorInfo
-- set hold $Interactive
-- set Interactive 1
-- set code [catch $args message]
-- set Interactive $hold
-- error $message $errorInfo $code
--}
--
--proc noninteractive {args} {
-- global Interactive
-- global errorInfo
-- set hold $Interactive
-- set Interactive 0
-- set code [catch $args message]
-- set Interactive $hold
-- error $message $errorInfo $code
--}
--
--set Interactive 1
--
--proc bgerror {msg} {
-- Say $msg
--}
--
--proc checkup {} {
-- catch {noninteractive battery}
-- after 10000 checkup
--}
--
--after 1000 checkup
--
--proc checkupin {time} {
-- after $time {catch {noninteractive battery}}
--}
--
--",NULL);
-+ Tcl_VarEval(interp,
-+"proc Say {text} {\n"
-+" global Interactive\n"
-+" if {$Interactive} {\n"
-+" puts \"$text\"\n"
-+" } else {\n"
-+" upvar result result\n"
-+" set result \"$result$text\"\n"
-+" }\n"
-+"}\n"
-+"\n"
-+"proc interactive {args} {\n"
-+" global Interactive\n"
-+" global errorInfo\n"
-+" set hold $Interactive\n"
-+" set Interactive 1\n"
-+" set code [catch $args message]\n"
-+" set Interactive $hold\n"
-+" error $message $errorInfo $code\n"
-+"}\n"
-+"\n"
-+"proc noninteractive {args} {\n"
-+" global Interactive\n"
-+" global errorInfo\n"
-+" set hold $Interactive\n"
-+" set Interactive 0\n"
-+" set code [catch $args message]\n"
-+" set Interactive $hold\n"
-+" error $message $errorInfo $code\n"
-+"}\n"
-+"\n"
-+"set Interactive 1\n"
-+"\n"
-+"proc bgerror {msg} {\n"
-+" Say $msg\n"
-+"}\n"
-+"\n"
-+"proc checkup {} {\n"
-+" catch {noninteractive battery}\n"
-+" after 10000 checkup\n"
-+"}\n"
-+"\n"
-+"after 1000 checkup\n"
-+"\n"
-+"proc checkupin {time} {\n"
-+" after $time {catch {noninteractive battery}}\n"
-+"}\n\n", NULL);
-
- Tcl_LinkVar(interp, "Interactive", (char*)&Interactive, TCL_LINK_INT);
-
-@@ -2216,44 +2213,36 @@ proc checkupin {time} {
- Type 'exit' to quit the application\n\n");
-
- #if 0
-- Say("\tWelcome to pilot-debug!\n\n\
--
--Please connect your Palm and start console or debugging mode.\n\n\
--
--(Console mode is a background task that can respond to a few commands,\n
--most importantly RPC which lets any function on the Palm be invoked. The\n
--Palm operates as usual while console mode is active, except that since\n
--the serial port is held open, HotSync and other applications that use\n
--the serial port will not work. Debug mode is activated on demand or when\n
--the Palm crashes. In debug mode, the CPU is halted, and no commands may\n
--be executed, except via a debugging console like this one.)\n\n\
--
--In the absence of special utilities, the console can be started by the\n
--\".2\" shortcut, and debugging via \".1\". To clear either mode,\n
--reboot via the reset button. If console mode is active, you may also\n
--reboot via the \"coldboot\" or \"warmboot\" commands.\n\n\
--
--The Remote UI window lets you manipulate the Palm if console mode is\n
--active. By clicking the mouse button on the screen or buttons, you can\n
--simulate pen taps, and if you type anything while the window has the\n
--focus, the Palm will receive the keystrokes.\n\n\
--
--The Remote Console window is specifically for the transmission and\n
--reception of console packets. Pressing Return on a line will transmit\n
--it, and any incoming packets will be displayed here in addition to the\n
--Debug Console.\n\n\
--
--The Remote State window shows the current Palm CPU state. It is only\n
--updated on request or when the Palm halts.\n\n\
--
--
--The Debugging Console window is the primary interface for pilot-debug.\n
--Pressing Return on a line that contains text will execute that line as\n
--a Tcl command. (Try 'expr 3+4'.) All of the usual Tcl and Tk commands\n
--are available, as well as some special-purpose ones, including 'help',\n
--'coldboot', 'warmboot', 'attach', 't', and 'g', (the last one continues\n
--after the Palm halts.)\n\n\ Execute 'help' for the list of commands\n
--currently implemented.\n\n\ ");
-+ Say("\tWelcome to pilot-debug!\n\n\n"
-+"Please connect your Palm and start console or debugging mode.\n\n"
-+"(Console mode is a background task that can respond to a few commands,\n"
-+"most importantly RPC which lets any function on the Palm be invoked. The\n"
-+"Palm operates as usual while console mode is active, except that since\n"
-+"the serial port is held open, HotSync and other applications that use\n"
-+"the serial port will not work. Debug mode is activated on demand or when\n"
-+"the Palm crashes. In debug mode, the CPU is halted, and no commands may\n"
-+"be executed, except via a debugging console like this one.)\n\n"
-+"In the absence of special utilities, the console can be started by the\n"
-+"\".2\" shortcut, and debugging via \".1\". To clear either mode,\n"
-+"reboot via the reset button. If console mode is active, you may also\n"
-+"reboot via the \"coldboot\" or \"warmboot\" commands.\n\n"
-+"The Remote UI window lets you manipulate the Palm if console mode is\n"
-+"active. By clicking the mouse button on the screen or buttons, you can\n"
-+"simulate pen taps, and if you type anything while the window has the\n"
-+"focus, the Palm will receive the keystrokes.\n\n"
-+"The Remote Console window is specifically for the transmission and\n"
-+"reception of console packets. Pressing Return on a line will transmit\n"
-+"it, and any incoming packets will be displayed here in addition to the\n"
-+"Debug Console.\n\n"
-+"The Remote State window shows the current Palm CPU state. It is only\n"
-+"updated on request or when the Palm halts.\n\n"
-+"The Debugging Console window is the primary interface for pilot-debug.\n"
-+"Pressing Return on a line that contains text will execute that line as\n"
-+"a Tcl command. (Try 'expr 3+4'.) All of the usual Tcl and Tk commands\n"
-+"are available, as well as some special-purpose ones, including 'help',\n"
-+"'coldboot', 'warmboot', 'attach', 't', and 'g', (the last one continues\n"
-+"after the Palm halts.)\n\n\ Execute 'help' for the list of commands\n"
-+"currently implemented.\n\n");
- #endif
-
- /* Specify a user-specific startup file to invoke if the application is
-@@ -2263,26 +2252,23 @@ currently implemented.\n\n\ ");
-
- Tcl_SetVar(interp, "tcl_rcFileName", "~/.pdebugrc", TCL_GLOBAL_ONLY);
-
-- Tcl_VarEval(interp,"\
-- set tcl_prompt1 myprompt
-- proc myprompt {} {
-- puts -nonewline \"pilot-debug> \"
-- }
--
-- ",NULL);
-+ Tcl_VarEval(interp,
-+" set tcl_prompt1 myprompt\n"
-+" proc myprompt {} {\n"
-+" puts -nonewline \"pilot-debug> \"\n"
-+" }\n\n",NULL);
-
- /* Deal with command-line arguments */
-
-- Tcl_VarEval(interp,"\
-- if {$argc > 0} {
-- set p [lindex $argv 0]
-- set argv [lrange $argv 1 end]
-- port $p
-- } else {
-- Say \"As you have not entered a serial port on the command like, you might like to \
--set one with 'port /dev/something'\\n\\n\"
-- }
-- ",NULL);
-+ Tcl_VarEval(interp,
-+" if {$argc > 0} {\n"
-+" set p [lindex $argv 0]\n"
-+" set argv [lrange $argv 1 end]\n"
-+" port $p\n"
-+" } else {\n"
-+" Say \"As you have not entered a serial port on the command like, you might like to "
-+"set one with 'port /dev/something'\\n\\n\"\n"
-+" }\n",NULL);
-
- return TCL_OK;
- }
diff --git a/comms/pilot-link/patches/patch-af b/comms/pilot-link/patches/patch-af
deleted file mode 100644
index 3f9f3eecf34..00000000000
--- a/comms/pilot-link/patches/patch-af
+++ /dev/null
@@ -1,13 +0,0 @@
-$NetBSD: patch-af,v 1.4 2005/01/25 18:41:19 tv Exp $
-
---- libpisock/Makefile.in.orig 2005-01-25 13:37:11.000000000 -0500
-+++ libpisock/Makefile.in
-@@ -189,7 +189,7 @@ libpisock_la_SOURCES = \
-
-
- libpisock_la_LIBADD = \
-- $(ICONV_LIBS)
-+ $(ICONV_LIBS) -lm
-
-
- libpisock_la_LDFLAGS = \