diff -c /dev/null ical/ANNOUNCE:1.1
*** /dev/null	Thu Sep 07 09:26:48 1995
--- ical/ANNOUNCE	Thu Sep 07 09:26:48 1995
***************
*** 0 ****
--- 1,99 ----
+ Hi,
+ 
+ I have released Ical v2.0.  All information for ical is available via
+ the World-Wide-Web at
+ 
+ 	http://www.pmg.lcs.mit.edu/~sanjay/ical.html
+ 
+ For people without WWW access:
+ 
+ * Here is a brief blurb for people who don't know what ical is:
+ 	* Ical is an X based calendar program 
+ 	* Calendar items can be created edited and deleted easily. 
+ 	* Items can be made to repeat in various ways. 
+ 	* Ical will post reminders for upcoming appointments. 
+ 	* Ical can print and list item occurrences. 
+ 	* An ical calendar can include other calendars. 
+ 	* Ical calendars can be shared by different users. 
+ 
+ * The source code is available via
+ 
+ 	* FTP "ftp.lcs.mit.edu:/pub/sanjay"
+ 	* WWW "http://clef.lcs.mit.edu/~sanjay/ical/ftp.html"
+ 
+ * Unfortunately I haven't had time to make any precompiled binaries
+   for this release.  I decided it was better to release the code
+   in a timely fashion than to delay everything until some unspecified
+   date by which I could create binaries.
+ 
+ * You will need the following software installed on your machine:
+ 
+ 	* A C++ compiler
+ 	* Tcl 7.4 or later
+ 	* Tk  4.0 or later
+ 
+ * Here is the list of changes since Ical v1.9:
+ 
+   Requirements
+      NO LONGER WORKS WITH TK 3.6 AND OLDER VERSIONS 
+      FIXED FOR TCL 7.4/TK 4.0. 
+      Some incompatibilities were introduced 
+          ical_action does not take a view argument any more
+          Added item-select and item-unselect hooks 
+          Removed dayview-focus and dayview-unfocus hooks 
+ 
+   New and Changed Features
+      The -bg command line option is now handled via tk_setPalette 
+      Added -date option to control starting date for windows/listings 
+      Added -print option for generating postscript from command line 
+      Allow printing arbitrary number of days 
+      Fixed printing code to handle long lines gracefully. 
+      Added contributed script for displaying ISO week numbers 
+      Allow todo items to be marked as done. 
+      Todo/done items are sorted appropriately. 
+      Repeating items now start from current date. 
+      Week day editing dialog double-checks with the user if all week days
+      are unselected. 
+      Added searching code. 
+      Added fontSize option to use smaller fonts. 
+      largeHeadingFont is smaller. 
+      More robust handling of bad color names. 
+      Postscript previewer now runs in background. 
+      Added dialog for editing item properties. 
+      Tab key cycles through the items for the current day 
+      Meta-n used to cyle thru items as well as tab key 
+      Arrow keys can be used to change dates when no item is selected 
+      Escape/Control-g unselect the current item (if any) 
+      Help display uses a pointer cursor. 
+      Allow keyboard shortcuts for scrolling around help window. 
+      Added "about ical" menu entry. 
+ 
+   Installation changes
+      Install contributed files as well 
+ 
+   Internal Code Changes
+      Item hiliting is set to "never" when todo items are marked as done. 
+      Make item copying preserve todo status. 
+      Item cloning now duplicates all item options. 
+      Added todo-item-done hook. 
+      Make time range parsing smarter. 
+      Notice items now widen themselves to use all available space. 
+      More robust appointment resize/move handling. 
+      Changed dayview window names to not have underscores 
+      Allow multiple calendars to be opened correctly. 
+      Added regression tests. 
+      Bug fixes in remove-include of dirty calendar. 
+      Calendar file writing code is more robust. 
+          Handles symbolic and hard links cleanly 
+          Handles non-writable directories 
+      Fixed bug in notice unselection on window close. 
+      Over-kill fix for unpredictable alarm countdown bug. 
+      Other miscellaneous bug fixes 
+      Allow tcl code to get and set item options. 
+      Allow call to "<item> weekdays" with empty week day list 
+      Added rule to build bundle with shared Tcl/Tk libs. 
+      Use "-lnsl" if available. (This is useful on Solaris?) 
+ 
+ Many thanks to everybody who sent me bug reports and feedback.
+ 
+ -Sanjay Ghemawat
diff -c ical/CHANGES.html:1.62 ical/CHANGES.html:1.64
*** ical/CHANGES.html:1.62	Thu Sep 07 09:26:48 1995
--- ical/CHANGES.html	Thu Sep 07 09:26:48 1995
***************
*** 1,7 ****
  <HTML>
  <HEAD>
  <title>Ical Change Log</title>
! <!-- Changed by: Sanjay Ghemawat, 30-Aug-1995 -->
  </HEAD>
  <BODY>
  
--- 1,7 ----
  <HTML>
  <HEAD>
  <title>Ical Change Log</title>
! <!-- Changed by: Sanjay Ghemawat,  7-Sep-1995 -->
  </HEAD>
  <BODY>
  
***************
*** 39,44 ****
--- 39,48 ----
  
  <h2>Patches</h2>
  <ul>
+ <li> Version 2.0p2
+      <ul>
+      <li> Fixed configure.in bug related to prefix directory.
+      </ul>
  <li> Version 2.0p1
       <ul>
       <li> Fixed bug triggered by % signs in item text
diff -c /dev/null ical/FTPDIR.README:1.1
*** /dev/null	Thu Sep 07 09:26:49 1995
--- ical/FTPDIR.README	Thu Sep 07 09:26:49 1995
***************
*** 0 ****
--- 1,8 ----
+ This directory contains ical sources and binaries.
+ 
+ binaries/		Binaries compiled for various platforms.
+ ical-XXX.tar.gz		Source distribution of ical.
+ ical*.patch		Patches for ical
+ 
+ old-versions/		Old versions of ical.
+ snapshot		Beta releases of ical
diff -c ical/README:1.20 ical/README:1.21
*** ical/README:1.20	Thu Sep 07 09:26:49 1995
--- ical/README	Thu Sep 07 09:26:49 1995
***************
*** 11,21 ****
      * Ical can print and list item occurrences.
      * Ical calendars can be shared by different users.
  
! This release of ical is designed to work with Tcl7.0/Tk3.3 or later.
  If you are using older versions of Tcl/Tk, you will need to upgrade if
  you want to use the new version of ical.
  
! See also: http://clef.lcs.mit.edu/~sanjay/ical.html
  
  Copyrights
  ==========
--- 11,21 ----
      * Ical can print and list item occurrences.
      * Ical calendars can be shared by different users.
  
! This release of ical is designed to work with Tcl7.4/Tk4.0 or later.
  If you are using older versions of Tcl/Tk, you will need to upgrade if
  you want to use the new version of ical.
  
! See also: http://www.pmg.lcs.mit.edu/~sanjay/ical.html
  
  Copyrights
  ==========
diff -c ical/configure:1.66 ical/configure:1.68
*** ical/configure:1.66	Thu Sep 07 09:26:49 1995
--- ical/configure	Thu Sep 07 09:26:50 1995
***************
*** 404,410 ****
  
  
  
! ICAL_VERSION="2.0p1"
  
  
  ############################################################################
--- 404,410 ----
  
  
  
! ICAL_VERSION="2.0p2"
  
  
  ############################################################################
***************
*** 810,816 ****
  
  # Base set of directories to search
  dirs="/usr/local /usr"
! if test -z "$prefix"; then
     dirs="$prefix $dirs"
     fi
  
--- 810,816 ----
  
  # Base set of directories to search
  dirs="/usr/local /usr"
! if test -n "$prefix"; then
     dirs="$prefix $dirs"
     fi
  
diff -c ical/configure.in:1.61 ical/configure.in:1.63
*** ical/configure.in:1.61	Thu Sep 07 09:26:50 1995
--- ical/configure.in	Thu Sep 07 09:26:50 1995
***************
*** 1,7 ****
  AC_INIT(ical_tcl.C)
  AC_PREREQ(2.0)
  
! ICAL_VERSION="2.0p1"
  AC_SUBST(ICAL_VERSION)
  
  ############################################################################
--- 1,7 ----
  AC_INIT(ical_tcl.C)
  AC_PREREQ(2.0)
  
! ICAL_VERSION="2.0p2"
  AC_SUBST(ICAL_VERSION)
  
  ############################################################################
***************
*** 47,53 ****
  
  # Base set of directories to search
  dirs="/usr/local /usr"
! if test -z "$prefix"; then
     dirs="$prefix $dirs"
     fi
  
--- 47,53 ----
  
  # Base set of directories to search
  dirs="/usr/local /usr"
! if test -n "$prefix"; then
     dirs="$prefix $dirs"
     fi
  
diff -c ical/release:1.11 ical/release:1.12
*** ical/release:1.11	Thu Sep 07 09:26:50 1995
--- ical/release	Thu Sep 07 09:26:50 1995
***************
*** 1,6 ****
  #!/usr/local/bin/perl
  #
! # XXX Export and create tar file.
  
  require('getopts.pl');
  $opt_n = 0;
--- 1,15 ----
  #!/usr/local/bin/perl
  #
! # This script exports and creates a tar file for a new release of ical.
! #
! # Release checklist:
! #	* Update CHANGES.html
! #	* Run "release <version number>"
! #	* Move the tar file to "ical/icalbins" html directory
! #	* Update pointers from ical/ftp.html
! #	* Copy the tar file to ftp.lcs.mit.edu:pub/sanjay
! #	* Send out announcement to "ical-announce@lcs.mit.edu"
! #	* Send out announcement to "comp.lang.tcl"
  
  require('getopts.pl');
  $opt_n = 0;
diff -c ical/calendar/calendar.C:1.24 ical/calendar/calendar.C:1.25
*** ical/calendar/calendar.C:1.24	Thu Sep 07 09:26:51 1995
--- ical/calendar/calendar.C	Thu Sep 07 09:26:51 1995
***************
*** 283,289 ****
  
      // Just dump array out to file.
      out->append('\0');
!     fprintf(file, "%s", out->as_pointer());
      delete out;
  }
  
--- 283,289 ----
  
      // Just dump array out to file.
      out->append('\0');
!     fputs(out->as_pointer(), file);
      delete out;
  }
  
diff -c ical/tests/cfile.tcl:1.2 ical/tests/cfile.tcl:1.3
*** ical/tests/cfile.tcl:1.2	Thu Sep 07 09:26:53 1995
--- ical/tests/cfile.tcl	Thu Sep 07 09:26:53 1995
***************
*** 12,17 ****
--- 12,18 ----
      run cfile6
      run cfile7
      run cfile8
+     run cfile9
      end_test
  }
  
***************
*** 160,165 ****
--- 161,194 ----
  
      exec rm -f /tmp/ical_$me~ $env(HOME)/icalbak~
      exec chmod 0700 $tmp/rp
+ }
+ 
+ # Saving items with % signs
+ proc cfile9 {} {
+     global tmp
+     set fname $tmp/file1
+     set today [date today]
+ 
+     # Create an item with a text field that has a % sign
+     exec rm -f $fname
+     calendar cal $fname
+     set item [notice]
+     $item text "a % b"
+     $item date $today
+     cal add $item
+     cal save
+     cal delete
+ 
+     # Check the item
+     calendar cal $fname
+     cal query -all $today $today item junk {
+ 	if [string compare [$item text] "a % b"] {
+ 	    failed "item text containing % sign was mangled"
+ 	}
+     }
+     cal delete
+ 
+     exec rm -f $fname
  }
  
  proc make_calendar {fname} {
