File Reading Problem Fixed
In build 65 we introduced a bug that caused pop!site to always open files in a way that
excluded other programs from opening them. The most obvious place where this created trouble was
when trying to convert several pop!talk files to HTML at the same time (by selecting them and
using Convert to HTML). If two pop!talk documents both tried
to use the same <include> file, errors would result. This bug has been slain.
TimeStamp Object Enhancements
TimeStamp objects have been enhanced. The year, month, day, hour, minute and second
properties are no longer read-only properties.
Additionally, the ability to have detailed
control over formatting of TimeStamps is now available using the new formatted method
of TimeStamps. For example:
|<timestamp.now.formatted format="The month is %B, the year is %Y and it's now %X.">
Will produce something like this:
|The month is April, the year 1997 and it's now 16:44:09.
As you can see, the format attribute controls the result. Various bits of the timestamp
can be included by using the % character followed by a special character or two. The following table
lists the available codes:
||Abbreviated weekday name
||Full weekday name
||Abbreviated month name
||Full month name
||Date and time representation appropriate for locale
||Day of month as decimal number (01 31)
||Hour in 24-hour format (00 23)
||Hour in 12-hour format (01 12)
||Day of year as decimal number (001 366)
||Month as decimal number (01 12)
||Minute as decimal number (00 59)
||Current locales A.M./P.M. indicator for 12-hour clock
||Second as decimal number (00 59)
||Week of year as decimal number, with Sunday as first day of week (00 51)
||Weekday as decimal number (0 6; Sunday is 0)
||Week of year as decimal number, with Monday as first day of week (00 51)
||Date representation for current locale
||Time representation for current locale
||Year without century, as decimal number (00 99)
||Year with century, as decimal number
||Time-zone name or abbreviation; no characters if time zone is unknown
The # character may be used to indicate special additional formatting rules
by prefixing a formatting code. In that case, the meaning of the format
code is changed as follows.
|%#a, %#A, %#b, %#B, %#p, %#X, %#z, %#Z, %#%
||# flag is ignored.
||Long date and time representation, appropriate for current locale. For example: "Tuesday, March 14, 1995, 12:41:29".
||Long date representation, appropriate to current locale. For example: "Tuesday, March 14, 1995".
|%#d, %#H, %#I, %#j, %#m, %#M, %#S, %#U, %#w, %#W, %#y, %#Y
||Remove leading zeros (if any).
Additionally, TimeStamp objects now are able to represent two additional points in time: the beginning of all
time and the end of all time. To test for these cases, two
new properties have been added to TimeStamp objects: IsBeginningOfTime
And (as if that weren't enough!), you can subtract two timestamps. This will give you a new timestamp
which holds the number of seconds difference between the two timestamps. For example:
|&(ts1 = timestamp.new ; ts1.second = 4 ; ts1.minute = 8 ; ts1.hour = 10 ; ts1.month = 2 ; ts1.day = 14 ; ts1.year = 1997);
&(ts2 = timestamp.new ; ts2.second = 10 ; ts2.minute = 9 ; ts2.hour = 10 ; ts2.month = 2 ; ts2.day = 14 ; ts2.year = 1997);
The difference is &(mid.getasnumber); seconds.
Will produce this:
|The difference is 66 seconds.