[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[cgreek:00083] Takahashi's new utilities
- To: cgreek-emacs-mule discussion list <cgreek@xxxxxxxx>
- Subject: [cgreek:00083] Takahashi's new utilities
- From: Robin Smith <rasmith@xxxxxxxxxxxxxxxxxx>
- Date: Tue, 29 Aug 2000 13:28:02 -0500
- Reply-to: cgreek@xxxxxxxx
I haven't been able to get the new cgreek package to run
yet (probably some conflicts with my existing utilities, but
I'm too busy to shut down emacs, and all the
However, it looks to me as if this code in tlg2cit.c won't
work correctly:
case 0:
/* increment the ID at this level */
i = atoi(ptr);
sprintf(ptr, "%d", i + 1);
break;
This assumes that the "ID" in question is an ascii representation of a
numeric value. However, level ids are actually *letter* values and
nevertheless get incremented by this call. In Plato, for example
(tlg0059.txt), level 2 ids are Stephanos page sections with values
'a', 'b', 'c', etc., and these are incremented by precisely this type
of call (they need to be incremented as binary values, so that 'a' + 1
= 'b'). There is no way in general to tell what might be in an
idt string. (This can't be handled by typing, either, since the
format of a value can change within a single work. For instance,
though the line numbers in most works are just integers, editorial
changes can produce line numbers like "10a", "10b", or even odd
things like "8, 9" (used in Aristotle for a case where the editor
has combined two lines).
Perhaps I'm misunderstanding the code; I should probably wait
until I have it running.
Robin Smith