The sequence number is USUALLY in the File Comment, but there is a
separate field named SEQ# that isn't always filled in. Generally, the
File Comment does not have the SEQ# in cases where multiple patches
are loaded in the same KIDS file.
We are only using KIDS version 1.0, the "soon to be released" version
2.0 was never developed, to my knowledge.
In my opinion, a fully functional VistA software development life
cycle is going to require the community to work on KIDS and fix the
things that were promised over 15 years ago.
David
--
Nancy Anthracite
594 SEQ #531 SEP 17, 2004 SCHLEHUBER,CAMERON
520 SEQ #532 SEP 17, 2004 SCHLEHUBER,CAMERON
589 JAN 28, 2005 MANAGER,SYSTEM
607 SEQ #534 APR 05, 2005 USER,PATCH
615 SEQ #536 APR 07, 2005 USER,PATCH
625 SEQ #537 APR 07, 2005 USER,PATCH
582 SEQ #538 APR 07, 2005 USER,PATCH
605 SEQ #541 APR 07, 2005 USER,PATCH
604 SEQ #542 APR 07, 2005 USER,PATCH
600 SEQ #540 APR 07, 2005 USER,PATCH
598 SEQ #544 APR 07, 2005 USER,PATCH
485 SEQ #547 APR 07, 2005 USER,PATCH
621 SEQ #551 APR 07, 2005 USER,PATCH
623 SEQ #552 APR 07, 2005 USER,PATCH
626 SEQ #553 APR 07, 2005 USER,PATCH
639 SEQ #555 APR 07, 2005 USER,PATCH
646 SEQ #556 APR 07, 2005 USER,PATCH
584 SEQ #558 APR 07, 2005 USER,PATCH
564 APR 07, 2005 USER,PATCH
478 APR 07, 2005 USER,PATCH
606 APR 07, 2005 USER,PATCH
617 APR 07, 2005 USER,PATCH
568 APR 07, 2005 USER,PATCH
637 APR 07, 2005 USER,PATCH
628 SEQ #548 APR 07, 2005 USER,PATCH
570 SEQ #549 APR 07, 2005 USER,PATCH
632 SEQ #550 APR 07, 2005 USER,PATCH
563 APR 07, 2005 USER,PATCH
585 SEQ #557 APR 07, 2005 USER,PATCH
609 SEQ #559 APR 07, 2005 USER,PATCH
633 SEQ #560 JUL 19, 2005 USER,PATCH
610 NOV 28, 2005 MARSHALL,RICK
627 NOV 29, 2005 STOXEN,JAMES H
622 NOV 29, 2005 STOXEN,JAMES H
642 DEC 02, 2005 STOXEN,JAMES H
629 DEC 02, 2005 STOXEN,JAMES H
638 DEC 02, 2005 STOXEN,JAMES H
640 DEC 02, 2005 STOXEN,JAMES H
618 DEC 04, 2005 STOXEN,JAMES H
643 DEC 04, 2005 STOXEN,JAMES H
614 DEC 04, 2005 STOXEN,JAMES H
620 DEC 04, 2005 STOXEN,JAMES H
651 DEC 06, 2005 STOXEN,JAMES H
645 DEC 08, 2005 STOXEN,JAMES H
670 DEC 08, 2005 STOXEN,JAMES H
641 DEC 08, 2005 STOXEN,JAMES H
630 DEC 08, 2005 STOXEN,JAMES H
636 DEC 08, 2005 STOXEN,JAMES H
665 DEC 08, 2005 STOXEN,JAMES H
666 DEC 12, 2005 STOXEN,JAMES H
662 DEC 12, 2005 STOXEN,JAMES H
647 DEC 12, 2005 STOXEN,JAMES H
624 DEC 18, 2005 STOXEN,JAMES H
677 DEC 27, 2005 STOXEN,JAMES H
655 DEC 28, 2005 STOXEN,JAMES H
658 DEC 28, 2005 STOXEN,JAMES H
654 DEC 28, 2005 STOXEN,JAMES H
635 DEC 28, 2005 STOXEN,JAMES H
649 APR 03, 2006 MARSHALL,RICK
631 APR 03, 2006 MARSHALL,RICK
678 APR 03, 2006 MARSHALL,RICK
680 APR 03, 2006 MARSHALL,RICK
684 APR 03, 2006 MARSHALL,RICK
681 APR 03, 2006 MARSHALL,RICK
686 APR 03, 2006 MARSHALL,RICK
685 APR 03, 2006 MARSHALL,RICK
675 APR 03, 2006 MARSHALL,RICK
648 APR 03, 2006 MARSHALL,RICK
682 APR 03, 2006 MARSHALL,RICK
669 APR 03, 2006 MARSHALL,RICK
672 APR 03, 2006 MARSHALL,RICK
687 APR 21, 2006 MARSHALL,RICK
690 APR 21, 2006 MARSHALL,RICK
698 APR 21, 2006 MARSHALL,RICK
709 MAY 10, 2006 MARSHALL,RICK
695 MAY 11, 2006 MARSHALL,RICK
692 MAY 11, 2006 MARSHALL,RICK
554 OCT 02, 2006 MARSHALL,RICK
679 OCT 02, 2006 MARSHALL,RICK
697 OCT 02, 2006 MARSHALL,RICK
704 OCT 08, 2006 SCHLEHUBER,CAMERON
538 OCT 08, 2006 SCHLEHUBER,CAMERON
557 OCT 08, 2006 SCHLEHUBER,CAMERON
703 OCT 08, 2006 SCHLEHUBER,CAMERON
706 OCT 08, 2006 SCHLEHUBER,CAMERON
611 OCT 08, 2006 SCHLEHUBER,CAMERON
683 OCT 08, 2006 SCHLEHUBER,CAMERON
700 OCT 08, 2006 SCHLEHUBER,CAMERON
711 OCT 08, 2006 SCHLEHUBER,CAMERON
702 OCT 08, 2006 SCHLEHUBER,CAMERON
705 OCT 08, 2006 SCHLEHUBER,CAMERON
715 OCT 08, 2006 SCHLEHUBER,CAMERON
694 OCT 08, 2006 SCHLEHUBER,CAMERON
701 OCT 08, 2006 SCHLEHUBER,CAMERON
699 OCT 08, 2006 SCHLEHUBER,CAMERON
718 OCT 08, 2006 SCHLEHUBER,CAMERON
719 OCT 08, 2006 SCHLEHUBER,CAMERON
726 OCT 08, 2006 SCHLEHUBER,CAMERON
673 OCT 08, 2006 SCHLEHUBER,CAMERON
727 OCT 08, 2006 SCHLEHUBER,CAMERON
696 OCT 08, 2006@04:24:49 SCHLEHUBER,CAMERON
634 AUG 29, 2007 SCHLEHUBER,CAMERON
717 NOV 06, 2006@15:11:19 SCHLEHUBER,CAMERON
720 NOV 06, 2006@15:11:28 SCHLEHUBER,CAMERON
689 NOV 06, 2006@15:11:29 SCHLEHUBER,CAMERON
656 NOV 06, 2006@15:11:31 SCHLEHUBER,CAMERON
716 NOV 06, 2006@15:11:33 SCHLEHUBER,CAMERON
708 NOV 06, 2006@15:11:51 SCHLEHUBER,CAMERON
721 NOV 06, 2006@15:11:53 SCHLEHUBER,CAMERON
659 DEC 25, 2006@18:00:20 SCHLEHUBER,CAMERON
728 DEC 25, 2006@18:00:20 SCHLEHUBER,CAMERON
650 DEC 25, 2006@18:00:46 SCHLEHUBER,CAMERON
714 DEC 25, 2006@18:00:58 SCHLEHUBER,CAMERON
731 DEC 25, 2006@18:00:58 SCHLEHUBER,CAMERON
735 DEC 25, 2006@18:01:02 SCHLEHUBER,CAMERON
734 JAN 18, 2007@17:43:57 SCHLEHUBER,CAMERON
583 JAN 18, 2007@17:45:37 SCHLEHUBER,CAMERON
713 JAN 18, 2007@17:46:28 SCHLEHUBER,CAMERON
733 JAN 18, 2007@17:46:29 SCHLEHUBER,CAMERON
657 MAR 16, 2007@12:53:16 SCHLEHUBER,CAMERON
730 MAR 16, 2007@12:53:18 SCHLEHUBER,CAMERON
732 MAR 16, 2007@12:56:05 SCHLEHUBER,CAMERON
725 MAR 16, 2007@13:04:23 SCHLEHUBER,CAMERON
746 MAR 16, 2007@13:04:29 SCHLEHUBER,CAMERON
747 MAR 16, 2007@13:07:21 SCHLEHUBER,CAMERON
739 JUN 13, 2007@09:12:07 SCHLEHUBER,CAMERON
738 JUN 13, 2007@09:12:08 SCHLEHUBER,CAMERON
751 JUN 13, 2007@09:17:31 SCHLEHUBER,CAMERON
740 JUN 13, 2007@09:17:31 SCHLEHUBER,CAMERON
674 JUN 13, 2007@09:56:03 SCHLEHUBER,CAMERON
737 JUN 13, 2007@09:56:27 SCHLEHUBER,CAMERON
707 AUG 29, 2007@21:15:59 SCHLEHUBER,CAMERON
744 AUG 29, 2007@21:16 SCHLEHUBER,CAMERON
653 AUG 29, 2007@21:16:02 SCHLEHUBER,CAMERON
742 AUG 29, 2007@21:16:04 SCHLEHUBER,CAMERON
761 AUG 29, 2007@21:36:56 SCHLEHUBER,CAMERON
758 AUG 29, 2007@21:36:59 SCHLEHUBER,CAMERON
756 OCT 11, 2007@19:54:14 SCHLEHUBER,CAMERON
729 OCT 11, 2007@19:54:16 SCHLEHUBER,CAMERON
757 OCT 11, 2007@19:54:40 SCHLEHUBER,CAMERON
--
Nancy Anthracite
I think the patch should go in the FIRST directory. Consider the case where there is a common set of routines shared by 2 institutions. Since each institution has a separate database, and since patches change both routines and databases, you want to apply the patch twice, once to each institution. Later, you can move common routines to the shared area. But this way, each institution can be patched at a different time, and can run at different patch levels.
That said, it looks like a 1 line change will do the trick. If you consider the "unrolled" form of the code, the line:
set %F=$P($P($ZRO,")"),"(",2)_"/"_X_".m"
can be changed to:
set %F=$P($S($F($ZRO," ")>$F($ZRO,"(")&$F($ZRO,"("):$P($P($ZRO,")"),"(",2),1:$ZRO)," ")_"/"_X_".m"
Or, in the "rolled up" version of the code:
N %I,%F,%S S %I=$I,%F=$P($P($ZRO,")"),"(",2)_"/"_X_".m" O %F:(NEWVERSION) U %F X "S %S=0 F S %S=$O(^UTILITY($J,0,%S)) Q:%S=""""Q:'$D(^(%S)) S %=^UTILITY($J,0,%S) I $E(%)'="";"" W %,!" C %F U %I
can read
N %I,%F,%S S %I=$I,%F=$P($S($F($ZRO," ")>$F($ZRO,"(")&$F($ZRO,"("):$P($P($ZRO,")"),"(",2),1:$ZRO)," ")_"/"_X_".m" O %F:(NEWVERSION) U %F X "S %S=0 F S %S=$O(^UTILITY($J,0,%S)) Q:%S=""""Q:'$D(^(%S)) S %=^UTILITY($J,0,%S) I $E(%)'="";"" W %,!" C %F U %I
I would be glad to answer any questions about the change.
Regards
-- Bhaskar
-skip "we have met the enemy and he is us." - Pogo
On the contrary, as long as I have been associated with GT.M (I joined Greystone in 1995), $ZRO on UNIX/Linux has consisted of one or more "chunks" separated by spaces with each chunk having one of the following forms:
1. obj&srcdirectory
2. objdirectory(srcdirectory)
3. objdirectory(srcdirectory1 srcdirectory2 ...)
The fourth form, which we added circa 2003 was for a chunk to be the name of a shared library file. From the first (or only) chunk of $ZRO, depending on the form of the chunk, the code has to pull out either obj&srcdirectory, srcdirectory, or srcdirectory1.
Regards
-- Bhaskar
-----Original Message-----
From: Hard...@googlegroups.com on behalf of David Whitten
Sent: Mon 9/22/2008 7:33 PM
To: Hard...@googlegroups.com
Subject: [Hardhats] Re: Fun with KIDS patching, including a question
At the time the code was written there were two possible flavors of $ZRO in the wild.
$ZRO="r-directory1 space r-directory2"
and
$ZRO="o-directory1 open-paren r-directory1 close-paren space r-directory2"
the code selects the r-directory1 in both cases.
And as to the rare use of $FIND, I simply have to say Wally believes in using all of
MUMPS, not just the common parts. And of course, he is a very good,
long-experienced, professional VistA programmer.
David Whitten
713-870-3834
_____________
There are two cases to consider:
1. $ZRO contains parentheses and an open paren occurs before the first space: the source directory is the first space separated piece in the second open paren separated piece.
2. $ZRO doesn't contain parenthesis or space occurs in $ZRO before an open paren: the source directory is the first piece with space as the piece separator (this handles the case of only one directory in $ZRO).
GT.M doesn't handle directories with spaces or parentheses in their names, even though UNIX/Linux permits it.
On Sep 22, 2008, at 6:17 PM, Bhaskar, KS wrote:
There are two cases to consider:
1. $ZRO contains parentheses and an open paren occurs before the first space: the source directory is the first space separated piece in the second open paren separated piece.
I'm trying to follow this. One value matching your description is aaa(bbb ccc). Are you saying bbb is the source directory? Is aaa ever non-null? What is ccc?
[KSB] aaa is the object directory. There is a search path for source directories inside the parentheses. If this construct is used, VistA should put the source in bbb, and GT.M will automatically compile it the next time it is linked (automatically or manually) and place the new object in aaa because the source in bbb will be newer than the object, if any, in aaa, and any source in bbb will precede any source in ccc.
2. $ZRO doesn't contain parenthesis or space occurs in $ZRO before an open paren: the source directory is the first piece with space as the piece separator (this handles the case of only one directory in $ZRO).
So, in aaa we have just the source directory, but what about aaa (bbb) or aaa (bbb ccc)?
[KSB] In the case where it is just aaa, the source and object code go in the same directory, aaa. The constructs (bbb) and (bbb ccc) are invalid - there must be a directory just before the open paren, no spaces.
GT.M doesn't handle directories with spaces or parentheses in their names, even though UNIX/Linux permits it.
That could be an issue for OS X, though I usually set up symbolic links for traditional Unix applications (or just to make typing easier).
[KSB] Well, it is (historically) unusual to have parentheses and spaces in file names. Let's just call it a GT.M limitation for now, even though it is a cultural limitation as well.
That could be an issue for OS X, though I usually set up symbolic links for traditional Unix applications (or just to make typing easier).
[KSB] Well, it is (historically) unusual to have parentheses and spaces in file names. Let's just call it a GT.M limitation for now, even though it is a cultural limitation as well.
Regards
-- Bhaskar
I would like to suggest some tweaks to get VistA patching to exploit GT.M's $ZROutines better than it does today. Apologies for the long lines and possible line breaks. I will send the files as attachments to anyone who requests them. Also, what are RTNDIR^ZOSVGUX and RTNDIR^ZOSVGTM supposed to do? I may want to suggest some changes to them too.
Any review of comments on the following are gratefully appreciated. Thank you very much.
-- Bhaskar