From a20af65bee6fe8ffccf63afb06838d14dfa4df11 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fredrik=20H=C3=BCbinette=20=28Hubbe=29?= <hubbe@hubbe.net>
Date: Tue, 26 Sep 2000 12:00:27 -0700
Subject: [PATCH] oops, I forgot to check some stuff in yesterday...

Rev: lib/7.0/include/simulate.h:1.1
Rev: lib/7.0/modules/Simulate.pmod:1.1
Rev: lib/7.0/modules/__default.pmod:1.1
Rev: lib/master.pike.in:1.132
Rev: lib/modules/ADT.pmod/Heap.pike:1.4
Rev: lib/modules/ADT.pmod/Priority_queue.pike:1.3
Rev: lib/modules/ADT.pmod/Queue.pike:1.2
Rev: lib/modules/ADT.pmod/Table.pmod:1.13
Rev: lib/modules/ADT.pmod/struct.pike:1.7
Rev: lib/modules/Array.pmod:1.45
Rev: lib/modules/Cache.pmod/Data.pike:1.2
Rev: lib/modules/Cache.pmod/Policy.pmod/Base.pike:1.2
Rev: lib/modules/Cache.pmod/Policy.pmod/Multiple.pike:1.2
Rev: lib/modules/Cache.pmod/Policy.pmod/Null.pike:1.2
Rev: lib/modules/Cache.pmod/Policy.pmod/Sized.pike:1.2
Rev: lib/modules/Cache.pmod/Policy.pmod/Timed.pike:1.2
Rev: lib/modules/Cache.pmod/Storage.pmod/Base.pike:1.3
Rev: lib/modules/Cache.pmod/Storage.pmod/Gdbm.pike:1.3
Rev: lib/modules/Cache.pmod/Storage.pmod/Memory.pike:1.3
Rev: lib/modules/Cache.pmod/Storage.pmod/MySQL.pike:1.2
Rev: lib/modules/Cache.pmod/Storage.pmod/Yabu.pike:1.3
Rev: lib/modules/Cache.pmod/cache.pike:1.3
Rev: lib/modules/Calendar.pmod/Austrian.pmod:1.3
Rev: lib/modules/Calendar.pmod/Calendar.pike:1.2
Rev: lib/modules/Calendar.pmod/Coptic.pmod:1.2
Rev: lib/modules/Calendar.pmod/Discordian.pmod:1.2
Rev: lib/modules/Calendar.pmod/Event.pmod:1.6
Rev: lib/modules/Calendar.pmod/Gregorian.pmod:1.2
Rev: lib/modules/Calendar.pmod/ISO.pmod:1.2
Rev: lib/modules/Calendar.pmod/Islamic.pmod:1.2
Rev: lib/modules/Calendar.pmod/Julian.pmod:1.2
Rev: lib/modules/Calendar.pmod/Language.pmod:1.5
Rev: lib/modules/Calendar.pmod/Namedays.pmod:1.2
Rev: lib/modules/Calendar.pmod/Roman.pmod:1.2
Rev: lib/modules/Calendar.pmod/Ruleset.pike:1.4
Rev: lib/modules/Calendar.pmod/Stardate.pmod:1.2
Rev: lib/modules/Calendar.pmod/Swedish.pmod:1.3
Rev: lib/modules/Calendar.pmod/TZnames.pmod:1.4
Rev: lib/modules/Calendar.pmod/Time.pmod:1.3
Rev: lib/modules/Calendar.pmod/TimeRanges.pmod:1.7
Rev: lib/modules/Calendar.pmod/Timezone.pmod:1.9
Rev: lib/modules/Calendar.pmod/YMD.pmod:1.11
Rev: lib/modules/Calendar.pmod/mkrules.pike:1.3
Rev: lib/modules/Calendar.pmod/module.pmod:1.5
Rev: lib/modules/Colors.pmod:1.5
Rev: lib/modules/Crypto.pmod:1.5
Rev: lib/modules/Crypto/_rsa.pike:1.4
Rev: lib/modules/Crypto/des3.pike:1.5
Rev: lib/modules/Crypto/des3_cbc.pike:1.3
Rev: lib/modules/Crypto/des_cbc.pike:1.3
Rev: lib/modules/Crypto/dsa.pike:1.8
Rev: lib/modules/Crypto/hmac.pike:1.6
Rev: lib/modules/Crypto/idea_cbc.pike:1.3
Rev: lib/modules/Crypto/randomness.pmod:1.17
Rev: lib/modules/Crypto/rsa.pike:1.26
Rev: lib/modules/Debug.pmod/werror.pmod:1.4
Rev: lib/modules/Filesystem.pmod/System.pike:1.5
Rev: lib/modules/Filesystem.pmod/Tar.pmod:1.8
Rev: lib/modules/Filesystem.pmod/module.pmod:1.7
Rev: lib/modules/Function.pmod:1.2
Rev: lib/modules/GDK.pmod:1.8
Rev: lib/modules/GLU.pmod:1.7
Rev: lib/modules/GTKSupport.pmod/Alert.pike:1.4
Rev: lib/modules/GTKSupport.pmod/MenuFactory.pmod:1.4
Rev: lib/modules/GTKSupport.pmod/SClist.pike:1.5
Rev: lib/modules/GTKSupport.pmod/Util.pmod:1.7
Rev: lib/modules/GTKSupport.pmod/pCtree.pike:1.4
Rev: lib/modules/GTKSupport.pmod/pDrawingArea.pike:1.4
Rev: lib/modules/Geography.pmod/Countries.pmod:1.3
Rev: lib/modules/Geography.pmod/Position.pike:1.3
Rev: lib/modules/Getopt.pmod:1.10
Rev: lib/modules/Gnome.pmod:1.2
Rev: lib/modules/Graphics.pmod/Graph.pmod/create_bars.pike:1.2
Rev: lib/modules/Graphics.pmod/Graph.pmod/create_graph.pike:1.3
Rev: lib/modules/Graphics.pmod/Graph.pmod/create_pie.pike:1.3
Rev: lib/modules/Graphics.pmod/Graph.pmod/module.pmod:1.3
Rev: lib/modules/Graphics.pmod/Graph.pmod/polyline.pike:1.2
Rev: lib/modules/Graphics.pmod/Graph.pmod/test.pike:1.3
Rev: lib/modules/LR.pmod/Grammar_parser.pmod:1.9
Rev: lib/modules/LR.pmod/item.pike:1.5
Rev: lib/modules/LR.pmod/lr.pike:1.4
Rev: lib/modules/LR.pmod/parser.pike:1.23
Rev: lib/modules/LR.pmod/priority.pike:1.3
Rev: lib/modules/LR.pmod/rule.pike:1.6
Rev: lib/modules/LR.pmod/scanner.pike:1.2
Rev: lib/modules/Languages.pmod/PLIS.pmod:1.9
Rev: lib/modules/Locale.pmod/Charset.pmod:1.2
Rev: lib/modules/Locale.pmod/Gettext.pmod:1.2
Rev: lib/modules/Locale.pmod/module.pmod:1.3
Rev: lib/modules/Parser.pmod/C.pmod:1.15
Rev: lib/modules/Parser.pmod/Pike.pmod:1.3
Rev: lib/modules/Parser.pmod/XML.pmod/Simple.pike:1.2
Rev: lib/modules/Parser.pmod/XML.pmod/Tree.pmod:1.4
Rev: lib/modules/Parser.pmod/module.pmod:1.2
Rev: lib/modules/Process.pmod:1.28
Rev: lib/modules/Program.pmod:1.2
Rev: lib/modules/Protocols.pmod/DNS.pmod:1.50
Rev: lib/modules/Protocols.pmod/HTTP.pmod/Query.pike:1.19
Rev: lib/modules/Protocols.pmod/HTTP.pmod/module.pmod:1.15
Rev: lib/modules/Protocols.pmod/IMAP.pmod/dummy_server.pike:1.6
Rev: lib/modules/Protocols.pmod/IMAP.pmod/imap_server.pike:1.19
Rev: lib/modules/Protocols.pmod/IMAP.pmod/parse_line.pike:1.24
Rev: lib/modules/Protocols.pmod/IMAP.pmod/parser.pike:1.11
Rev: lib/modules/Protocols.pmod/IMAP.pmod/requests.pmod:1.88
Rev: lib/modules/Protocols.pmod/IMAP.pmod/server.pike:1.13
Rev: lib/modules/Protocols.pmod/IMAP.pmod/types.pmod:1.26
Rev: lib/modules/Protocols.pmod/IRC.pmod/Client.pike:1.3
Rev: lib/modules/Protocols.pmod/IRC.pmod/Error.pmod:1.2
Rev: lib/modules/Protocols.pmod/IRC.pmod/Raw.pike:1.3
Rev: lib/modules/Protocols.pmod/IRC.pmod/Requests.pmod:1.2
Rev: lib/modules/Protocols.pmod/Ident.pmod:1.8
Rev: lib/modules/Protocols.pmod/LDAP.pmod/client.pike:1.19
Rev: lib/modules/Protocols.pmod/LDAP.pmod/ldap_privates.pmod:1.5
Rev: lib/modules/Protocols.pmod/LDAP.pmod/protocol.pike:1.5
Rev: lib/modules/Protocols.pmod/LPD.pmod:1.5
Rev: lib/modules/Protocols.pmod/Line.pmod:1.10
Rev: lib/modules/Protocols.pmod/LysKOM.pmod/ASync.pmod:1.2
Rev: lib/modules/Protocols.pmod/LysKOM.pmod/Connection.pike:1.6
Rev: lib/modules/Protocols.pmod/LysKOM.pmod/Helper.pmod:1.4
Rev: lib/modules/Protocols.pmod/LysKOM.pmod/ProtocolTypes.pmod:1.6
Rev: lib/modules/Protocols.pmod/LysKOM.pmod/Raw.pike:1.9
Rev: lib/modules/Protocols.pmod/LysKOM.pmod/Request.pmod:1.6
Rev: lib/modules/Protocols.pmod/LysKOM.pmod/Session.pike:1.20
Rev: lib/modules/Protocols.pmod/LysKOM.pmod/Threads.pike:1.6
Rev: lib/modules/Protocols.pmod/NNTP.pmod:1.8
Rev: lib/modules/Protocols.pmod/Ports.pmod:1.6
Rev: lib/modules/Protocols.pmod/SMTP.pmod:1.12
Rev: lib/modules/Protocols.pmod/TELNET.pmod:1.10
Rev: lib/modules/Protocols.pmod/X.pmod/Atom.pmod:1.6
Rev: lib/modules/Protocols.pmod/X.pmod/Auth.pmod:1.8
Rev: lib/modules/Protocols.pmod/X.pmod/Extensions.pmod:1.9
Rev: lib/modules/Protocols.pmod/X.pmod/Requests.pmod:1.27
Rev: lib/modules/Protocols.pmod/X.pmod/Types.pmod:1.33
Rev: lib/modules/Protocols.pmod/X.pmod/XImage.pmod:1.15
Rev: lib/modules/Protocols.pmod/X.pmod/XTools.pmod:1.5
Rev: lib/modules/Protocols.pmod/X.pmod/Xlib.pmod:1.40
Rev: lib/modules/Protocols.pmod/X.pmod/_Types.pmod:1.4
Rev: lib/modules/Protocols.pmod/X.pmod/_Xlib.pmod:1.14
Rev: lib/modules/Protocols.pmod/X.pmod/db/convert_compose.pike:1.3
Rev: lib/modules/Remote.pmod/Client.pike:1.8
Rev: lib/modules/Remote.pmod/Server.pike:1.8
Rev: lib/modules/Remote.pmod/call.pike:1.6
Rev: lib/modules/Remote.pmod/connection.pike:1.18
Rev: lib/modules/Remote.pmod/context.pike:1.11
Rev: lib/modules/Remote.pmod/obj.pike:1.4
Rev: lib/modules/Sql.pmod/msql.pike:1.8
Rev: lib/modules/Sql.pmod/mysql.pike:1.11
Rev: lib/modules/Sql.pmod/mysql_result.pike:1.3
Rev: lib/modules/Sql.pmod/odbc.pike:1.6
Rev: lib/modules/Sql.pmod/odbc_result.pike:1.3
Rev: lib/modules/Sql.pmod/oracle.pike:1.5
Rev: lib/modules/Sql.pmod/postgres.pike:1.10
Rev: lib/modules/Sql.pmod/postgres_result.pike:1.3
Rev: lib/modules/Sql.pmod/rsql.pike:1.5
Rev: lib/modules/Sql.pmod/sql.pike:1.39
Rev: lib/modules/Sql.pmod/sql_result.pike:1.6
Rev: lib/modules/Sql.pmod/sql_util.pmod:1.5
Rev: lib/modules/Sql.pmod/sybase.pike:1.4
Rev: lib/modules/Stack.pmod:1.6
Rev: lib/modules/Standards.pmod/ASN1.pmod/Decode.pmod:1.10
Rev: lib/modules/Standards.pmod/ASN1.pmod/Encode.pmod:1.5
Rev: lib/modules/Standards.pmod/ASN1.pmod/Types.pmod:1.15
Rev: lib/modules/Standards.pmod/ISO639_2.pmod:1.3
Rev: lib/modules/Standards.pmod/PKCS.pmod/CSR.pmod:1.7
Rev: lib/modules/Standards.pmod/PKCS.pmod/Certificate.pmod:1.7
Rev: lib/modules/Standards.pmod/PKCS.pmod/DSA.pmod:1.4
Rev: lib/modules/Standards.pmod/PKCS.pmod/Identifiers.pmod:1.9
Rev: lib/modules/Standards.pmod/PKCS.pmod/PFX.pmod:1.5
Rev: lib/modules/Standards.pmod/PKCS.pmod/RSA.pmod:1.13
Rev: lib/modules/Standards.pmod/PKCS.pmod/Signature.pmod:1.3
Rev: lib/modules/Stdio.pmod/Readline.pike:1.36
Rev: lib/modules/Stdio.pmod/Terminfo.pmod:1.10
Rev: lib/modules/Stdio.pmod/module.pmod:1.88
Rev: lib/modules/String.pmod:1.12
Rev: lib/modules/Thread.pmod:1.22
Rev: lib/modules/Tools.pmod/Hilfe.pmod:1.15
Rev: lib/modules/Tools.pmod/Install.pmod:1.8
Rev: lib/modules/Tools.pmod/PEM.pmod:1.7
Rev: lib/modules/Tools.pmod/X509.pmod:1.11
Rev: lib/modules/Tools.pmod/_PEM.pmod:1.3
Rev: lib/modules/Tools.pmod/sed.pmod:1.2
Rev: lib/modules/Yabu.pmod/module.pmod:1.23
Rev: lib/modules/Yabu.pmod/test.pike:1.7
Rev: lib/modules/_Image.pmod/module.pmod:1.10
Rev: lib/modules/_Image_PS.pmod:1.3
Rev: lib/modules/_Image_PSD.pmod:1.8
Rev: lib/modules/_Image_XCF.pmod:1.11
Rev: lib/modules/_Image_XPM.pmod:1.11
Rev: lib/modules/__builtin.pmod:1.2
Rev: lib/modules/error.pmod:1.3
---
 lib/7.0/include/simulate.h                    |   5 +
 lib/7.0/modules/Simulate.pmod                 |  69 +++
 lib/7.0/modules/__default.pmod                |  49 ++
 lib/master.pike.in                            | 458 ++++++++++++------
 lib/modules/ADT.pmod/Heap.pike                |   2 +
 lib/modules/ADT.pmod/Priority_queue.pike      |   2 +
 lib/modules/ADT.pmod/Queue.pike               |   3 +-
 lib/modules/ADT.pmod/Table.pmod               |   3 +-
 lib/modules/ADT.pmod/struct.pike              |   1 +
 lib/modules/Array.pmod                        |   2 +
 lib/modules/Cache.pmod/Data.pike              |   1 +
 lib/modules/Cache.pmod/Policy.pmod/Base.pike  |   4 +-
 .../Cache.pmod/Policy.pmod/Multiple.pike      |   4 +-
 lib/modules/Cache.pmod/Policy.pmod/Null.pike  |   4 +-
 lib/modules/Cache.pmod/Policy.pmod/Sized.pike |   4 +-
 lib/modules/Cache.pmod/Policy.pmod/Timed.pike |   4 +-
 lib/modules/Cache.pmod/Storage.pmod/Base.pike |   4 +-
 lib/modules/Cache.pmod/Storage.pmod/Gdbm.pike |   4 +-
 .../Cache.pmod/Storage.pmod/Memory.pike       |   4 +-
 .../Cache.pmod/Storage.pmod/MySQL.pike        |   4 +-
 lib/modules/Cache.pmod/Storage.pmod/Yabu.pike |   4 +-
 lib/modules/Cache.pmod/cache.pike             |   4 +-
 lib/modules/Calendar.pmod/Austrian.pmod       |   2 +
 lib/modules/Calendar.pmod/Calendar.pike       |   2 +
 lib/modules/Calendar.pmod/Coptic.pmod         |   2 +
 lib/modules/Calendar.pmod/Discordian.pmod     |   2 +
 lib/modules/Calendar.pmod/Event.pmod          |   2 +
 lib/modules/Calendar.pmod/Gregorian.pmod      |   2 +
 lib/modules/Calendar.pmod/ISO.pmod            |   2 +
 lib/modules/Calendar.pmod/Islamic.pmod        |   2 +
 lib/modules/Calendar.pmod/Julian.pmod         |  68 ++-
 lib/modules/Calendar.pmod/Language.pmod       |   2 +
 lib/modules/Calendar.pmod/Namedays.pmod       |   2 +
 lib/modules/Calendar.pmod/Roman.pmod          |   1 +
 lib/modules/Calendar.pmod/Ruleset.pike        |   3 +
 lib/modules/Calendar.pmod/Stardate.pmod       | 343 +++----------
 lib/modules/Calendar.pmod/Swedish.pmod        |   2 +
 lib/modules/Calendar.pmod/TZnames.pmod        |   2 +
 lib/modules/Calendar.pmod/Time.pmod           |   2 +
 lib/modules/Calendar.pmod/TimeRanges.pmod     |   2 +
 lib/modules/Calendar.pmod/Timezone.pmod       |   2 +
 lib/modules/Calendar.pmod/YMD.pmod            |   2 +
 lib/modules/Calendar.pmod/mkrules.pike        |   3 +-
 lib/modules/Calendar.pmod/module.pmod         |   2 +
 lib/modules/Colors.pmod                       |   2 +
 lib/modules/Crypto.pmod                       |   2 +
 lib/modules/Crypto/_rsa.pike                  |   4 +-
 lib/modules/Crypto/des3.pike                  |   4 +-
 lib/modules/Crypto/des3_cbc.pike              |   4 +-
 lib/modules/Crypto/des_cbc.pike               |   4 +-
 lib/modules/Crypto/dsa.pike                   |   2 +
 lib/modules/Crypto/hmac.pike                  |   2 +
 lib/modules/Crypto/idea_cbc.pike              |   4 +-
 lib/modules/Crypto/randomness.pmod            |   4 +-
 lib/modules/Crypto/rsa.pike                   |   4 +-
 lib/modules/Debug.pmod/werror.pmod            |   4 +-
 lib/modules/Filesystem.pmod/System.pike       |   2 +
 lib/modules/Filesystem.pmod/Tar.pmod          |   4 +-
 lib/modules/Filesystem.pmod/module.pmod       |   2 +
 lib/modules/Function.pmod                     |   2 +
 lib/modules/GDK.pmod                          |   2 +
 lib/modules/GLU.pmod                          |   5 +-
 lib/modules/GTKSupport.pmod/Alert.pike        |   2 +
 lib/modules/GTKSupport.pmod/MenuFactory.pmod  |   2 +
 lib/modules/GTKSupport.pmod/SClist.pike       |   2 +
 lib/modules/GTKSupport.pmod/Util.pmod         |   2 +
 lib/modules/GTKSupport.pmod/pCtree.pike       |   2 +
 lib/modules/GTKSupport.pmod/pDrawingArea.pike |   2 +
 lib/modules/Geography.pmod/Countries.pmod     |   2 +
 lib/modules/Geography.pmod/Position.pike      |   2 +
 lib/modules/Getopt.pmod                       |   2 +
 lib/modules/Gnome.pmod                        |   2 +
 .../Graphics.pmod/Graph.pmod/create_bars.pike |   4 +-
 .../Graph.pmod/create_graph.pike              |   4 +-
 .../Graphics.pmod/Graph.pmod/create_pie.pike  |   4 +-
 .../Graphics.pmod/Graph.pmod/module.pmod      |   1 +
 .../Graphics.pmod/Graph.pmod/polyline.pike    |   4 +-
 .../Graphics.pmod/Graph.pmod/test.pike        |   2 +
 lib/modules/LR.pmod/Grammar_parser.pmod       |   6 +-
 lib/modules/LR.pmod/item.pike                 |   6 +-
 lib/modules/LR.pmod/lr.pike                   |   4 +-
 lib/modules/LR.pmod/parser.pike               |   6 +-
 lib/modules/LR.pmod/priority.pike             |   6 +-
 lib/modules/LR.pmod/rule.pike                 |   6 +-
 lib/modules/LR.pmod/scanner.pike              |   3 +-
 lib/modules/Languages.pmod/PLIS.pmod          |   2 +
 lib/modules/Locale.pmod/Charset.pmod          |   2 +
 lib/modules/Locale.pmod/Gettext.pmod          |   2 +
 lib/modules/Locale.pmod/module.pmod           |   2 +
 lib/modules/Parser.pmod/C.pmod                |   2 +
 lib/modules/Parser.pmod/Pike.pmod             |   2 +
 lib/modules/Parser.pmod/XML.pmod/Simple.pike  |   2 +
 lib/modules/Parser.pmod/XML.pmod/Tree.pmod    |   4 +-
 lib/modules/Parser.pmod/module.pmod           |   4 +-
 lib/modules/Process.pmod                      |   2 +
 lib/modules/Program.pmod                      |   2 +
 lib/modules/Protocols.pmod/DNS.pmod           |   4 +-
 .../Protocols.pmod/HTTP.pmod/Query.pike       |   2 +
 .../Protocols.pmod/HTTP.pmod/module.pmod      |   1 +
 .../IMAP.pmod/dummy_server.pike               |   1 +
 .../Protocols.pmod/IMAP.pmod/imap_server.pike |   3 +-
 .../Protocols.pmod/IMAP.pmod/parse_line.pike  |   2 +
 .../Protocols.pmod/IMAP.pmod/parser.pike      |   2 +
 .../Protocols.pmod/IMAP.pmod/requests.pmod    |   4 +-
 .../Protocols.pmod/IMAP.pmod/server.pike      |   2 +
 .../Protocols.pmod/IMAP.pmod/types.pmod       |   2 +
 .../Protocols.pmod/IRC.pmod/Client.pike       |   2 +
 .../Protocols.pmod/IRC.pmod/Error.pmod        |   1 +
 lib/modules/Protocols.pmod/IRC.pmod/Raw.pike  |   2 +
 .../Protocols.pmod/IRC.pmod/Requests.pmod     |   3 +-
 lib/modules/Protocols.pmod/Ident.pmod         |   3 +-
 .../Protocols.pmod/LDAP.pmod/client.pike      |   4 +-
 .../LDAP.pmod/ldap_privates.pmod              |   4 +-
 .../Protocols.pmod/LDAP.pmod/protocol.pike    |   4 +-
 lib/modules/Protocols.pmod/LPD.pmod           |   4 +-
 lib/modules/Protocols.pmod/Line.pmod          |   4 +-
 .../Protocols.pmod/LysKOM.pmod/ASync.pmod     |   2 +
 .../LysKOM.pmod/Connection.pike               |   4 +-
 .../Protocols.pmod/LysKOM.pmod/Helper.pmod    |   2 +
 .../LysKOM.pmod/ProtocolTypes.pmod            |   2 +
 .../Protocols.pmod/LysKOM.pmod/Raw.pike       |   2 +
 .../Protocols.pmod/LysKOM.pmod/Request.pmod   |   4 +-
 .../Protocols.pmod/LysKOM.pmod/Session.pike   |   4 +-
 .../Protocols.pmod/LysKOM.pmod/Threads.pike   |   2 +
 lib/modules/Protocols.pmod/NNTP.pmod          |   2 +
 lib/modules/Protocols.pmod/Ports.pmod         |   4 +-
 lib/modules/Protocols.pmod/SMTP.pmod          |   2 +
 lib/modules/Protocols.pmod/TELNET.pmod        |   4 +-
 lib/modules/Protocols.pmod/X.pmod/Atom.pmod   |   4 +-
 lib/modules/Protocols.pmod/X.pmod/Auth.pmod   |   4 +-
 .../Protocols.pmod/X.pmod/Extensions.pmod     |   4 +-
 .../Protocols.pmod/X.pmod/Requests.pmod       |   4 +-
 lib/modules/Protocols.pmod/X.pmod/Types.pmod  |   4 +-
 lib/modules/Protocols.pmod/X.pmod/XImage.pmod |   4 +-
 lib/modules/Protocols.pmod/X.pmod/XTools.pmod |   4 +-
 lib/modules/Protocols.pmod/X.pmod/Xlib.pmod   |   4 +-
 lib/modules/Protocols.pmod/X.pmod/_Types.pmod |   4 +-
 lib/modules/Protocols.pmod/X.pmod/_Xlib.pmod  |   4 +-
 .../X.pmod/db/convert_compose.pike            |   2 +
 lib/modules/Remote.pmod/Client.pike           |   2 +
 lib/modules/Remote.pmod/Server.pike           |   2 +
 lib/modules/Remote.pmod/call.pike             |   2 +
 lib/modules/Remote.pmod/connection.pike       |   2 +
 lib/modules/Remote.pmod/context.pike          |   2 +
 lib/modules/Remote.pmod/obj.pike              |   2 +
 lib/modules/Sql.pmod/msql.pike                |   2 +
 lib/modules/Sql.pmod/mysql.pike               |   6 +-
 lib/modules/Sql.pmod/mysql_result.pike        |   4 +-
 lib/modules/Sql.pmod/odbc.pike                |   4 +-
 lib/modules/Sql.pmod/odbc_result.pike         |   4 +-
 lib/modules/Sql.pmod/oracle.pike              |   4 +-
 lib/modules/Sql.pmod/postgres.pike            |   4 +-
 lib/modules/Sql.pmod/postgres_result.pike     |   2 +
 lib/modules/Sql.pmod/rsql.pike                |   2 +
 lib/modules/Sql.pmod/sql.pike                 |   6 +-
 lib/modules/Sql.pmod/sql_result.pike          |   6 +-
 lib/modules/Sql.pmod/sql_util.pmod            |   6 +-
 lib/modules/Sql.pmod/sybase.pike              |   4 +-
 lib/modules/Stack.pmod                        |   2 +
 .../Standards.pmod/ASN1.pmod/Decode.pmod      |   2 +
 .../Standards.pmod/ASN1.pmod/Encode.pmod      |   4 +-
 .../Standards.pmod/ASN1.pmod/Types.pmod       |   4 +-
 lib/modules/Standards.pmod/ISO639_2.pmod      |   2 +
 lib/modules/Standards.pmod/PKCS.pmod/CSR.pmod |   4 +-
 .../Standards.pmod/PKCS.pmod/Certificate.pmod |   4 +-
 lib/modules/Standards.pmod/PKCS.pmod/DSA.pmod |   3 +
 .../Standards.pmod/PKCS.pmod/Identifiers.pmod |   2 +
 lib/modules/Standards.pmod/PKCS.pmod/PFX.pmod |   2 +
 lib/modules/Standards.pmod/PKCS.pmod/RSA.pmod |   2 +
 .../Standards.pmod/PKCS.pmod/Signature.pmod   |   2 +
 lib/modules/Stdio.pmod/Readline.pike          |   4 +-
 lib/modules/Stdio.pmod/Terminfo.pmod          |   3 +-
 lib/modules/Stdio.pmod/module.pmod            |   4 +-
 lib/modules/String.pmod                       |   2 +
 lib/modules/Thread.pmod                       |   2 +
 lib/modules/Tools.pmod/Hilfe.pmod             |   2 +
 lib/modules/Tools.pmod/Install.pmod           |   1 +
 lib/modules/Tools.pmod/PEM.pmod               |   2 +
 lib/modules/Tools.pmod/X509.pmod              |   4 +-
 lib/modules/Tools.pmod/_PEM.pmod              |   2 +
 lib/modules/Tools.pmod/sed.pmod               |   2 +
 lib/modules/Yabu.pmod/module.pmod             |   4 +-
 lib/modules/Yabu.pmod/test.pike               |   2 +
 lib/modules/_Image.pmod/module.pmod           |   4 +-
 lib/modules/_Image_PS.pmod                    |   2 +
 lib/modules/_Image_PSD.pmod                   |   2 +
 lib/modules/_Image_XCF.pmod                   |   2 +
 lib/modules/_Image_XPM.pmod                   |   2 +
 lib/modules/__builtin.pmod                    |   2 +
 lib/modules/error.pmod                        |   4 +-
 190 files changed, 994 insertions(+), 537 deletions(-)
 create mode 100644 lib/7.0/include/simulate.h
 create mode 100644 lib/7.0/modules/Simulate.pmod
 create mode 100644 lib/7.0/modules/__default.pmod

diff --git a/lib/7.0/include/simulate.h b/lib/7.0/include/simulate.h
new file mode 100644
index 0000000000..404014dbba
--- /dev/null
+++ b/lib/7.0/include/simulate.h
@@ -0,0 +1,5 @@
+#define list multiset
+#define perror(X) werror(X)
+#define efun predef
+#define regexp(X,Y) filter((X),Regexp(Y)->match)
+import Simulate;
diff --git a/lib/7.0/modules/Simulate.pmod b/lib/7.0/modules/Simulate.pmod
new file mode 100644
index 0000000000..1b0bcaf3df
--- /dev/null
+++ b/lib/7.0/modules/Simulate.pmod
@@ -0,0 +1,69 @@
+#pike 7.1
+
+inherit Array;
+inherit String;
+inherit Process;
+
+#define error(X) throw( ({ (X), backtrace()[0..sizeof(backtrace())-2] }) )
+
+int member_array(mixed needle,array(mixed) haystack,int|void start)
+{
+  return search(haystack,needle,start);
+}
+
+object previous_object()
+{
+  int e;
+  array(array(mixed)) trace;
+  object o,ret;
+  trace=backtrace();
+  o=function_object(trace[-2][2]);
+  for(e=sizeof(trace)-3;e>=0;e--)
+  {
+    if(!trace[e][2]) continue;
+    ret=function_object(trace[e][2]);
+    if(o!=ret) return ret;
+  }
+  return 0;
+}
+
+function this_function()
+{
+  return backtrace()[-2][2];
+}
+
+
+function get_function(object o, string a)
+{
+  mixed ret;
+  ret=o[a];
+  return functionp(ret) ? ret : 0;
+}
+
+array(string) map_regexp(array(string) s, string reg)
+{
+  
+  object(Regexp) regexp = Regexp(reg);
+  s=filter(s,regexp->match);
+  return s;
+}
+
+constant PI = 3.1415926535897932384626433832795080;
+function all_efuns = all_constants;
+function explode = `/;
+function filter_array = filter;
+function map_array = map;
+function implode = `*;
+function m_indices = indices;
+function m_sizeof = sizeof;
+function m_values = values;
+function strstr = search;
+function sum = `+;
+function add_efun = add_constant;
+function l_sizeof = sizeof;
+function listp = multisetp;
+function mklist = mkmultiset;
+function aggregate_list = aggregate_multiset;
+#if efun(gethostname)
+function query_host_name=gethostname;
+#endif
diff --git a/lib/7.0/modules/__default.pmod b/lib/7.0/modules/__default.pmod
new file mode 100644
index 0000000000..a9ae988fce
--- /dev/null
+++ b/lib/7.0/modules/__default.pmod
@@ -0,0 +1,49 @@
+/* Compatibility module */
+
+#pike 7.1
+
+mapping FScache=set_weak_flag(([]),1);
+
+class FS
+{
+  mixed old;
+
+  array(int) file_stat(string s, void|int x)
+    {
+      if(object y=old(s, x))
+	return (array)y;
+      return 0;
+    }
+
+  void create(function o)
+    {
+      old=o;
+      FScache[o]=file_stat;
+    }
+}
+
+string _typeof(mixed x)
+{
+  return sprintf("%O",predef::_typeof(x));
+}
+
+mapping m_delete(mapping m, mixed x)
+{
+  predef::m_delete(m,x);
+  return m;
+}
+
+mapping(string:mixed) all_constants()
+{
+  mapping(string:mixed) ret=predef::all_constants()+([]);
+
+  /* support overloading */
+  ret->file_stat=FScache[ret->file_stat] || FS(ret->file_stat)->file_stat;
+
+  /* does not support overloading (yet) */
+  ret->all_constants=all_constants;
+  ret->_typeof=_typeof;
+  ret->m_delete=m_delete;
+
+  return ret;
+}
diff --git a/lib/master.pike.in b/lib/master.pike.in
index 8f49134dfa..5ea377cb0d 100644
--- a/lib/master.pike.in
+++ b/lib/master.pike.in
@@ -1,6 +1,6 @@
 /* -*- Pike -*-
  *	
- * $Id: master.pike.in,v 1.131 2000/09/24 01:37:01 per Exp $
+ * $Id: master.pike.in,v 1.132 2000/09/26 18:58:56 hubbe Exp $
  * 
  * Master-file for Pike.
  *
@@ -9,6 +9,7 @@
 
 // Some configurable parameters useful for debugging
 
+#pike __VERSION__
 #define PIKE_AUTORELOAD
 
 // Used by describe_backtrace() et al.
@@ -94,9 +95,6 @@ string basename(string x)
 #define UNDEFINED (([])[0])
 #define error(X) throw( ({ (X), backtrace()/*[0..sizeof(backtrace())-2]*/ }) )
 
-array(string) pike_include_path=({});
-array(string) pike_module_path=({});
-array(string) pike_program_path=({});
 int want_warnings = PIKE_WARNINGS;
 
 #ifdef PIKE_AUTORELOAD
@@ -131,9 +129,15 @@ mapping(string:int) load_time=([]);
 
 #endif
 
+int compat_major=-1;
+int compat_minor=-1;
+
 program compile_string(string data, void|string name, object|void handler)
 {
-  return compile(cpp(data,name||"-", 0, handler), handler);
+  return compile(cpp(data,name||"-", 0, handler, compat_major, compat_minor),
+		 handler,
+		 compat_major,
+		 compat_minor);
 }
 
 
@@ -149,7 +153,8 @@ program compile_file(string file, object|void handler)
 {
   AUTORELOAD_CHECK_FILE(file);
   return compile(cpp(master_read_file(file),
-		     file, 1, handler), handler);
+		     file, 1, handler, compat_major, compat_minor), handler,
+		 compat_major, compat_minor );
 }
 
 
@@ -259,49 +264,6 @@ string normalize_path( string X )
 #endif
 }
 
-void add_include_path(string tmp)
-{
-  tmp=normalize_path(combine_path_with_cwd(tmp));
-  pike_include_path-=({tmp});
-  pike_include_path=({tmp})+pike_include_path;
-}
-
-void remove_include_path(string tmp)
-{
-  tmp=normalize_path(combine_path_with_cwd(tmp));
-  pike_include_path-=({tmp});
-}
-
-void add_module_path(string tmp)
-{
-  tmp=normalize_path(combine_path_with_cwd(tmp));
-  pike_module_path-=({tmp});
-  pike_module_path=({tmp})+pike_module_path;
-}
-
-
-void remove_module_path(string tmp)
-{
-  tmp=normalize_path(combine_path_with_cwd(tmp));
-  pike_module_path-=({tmp});
-}
-
-
-void add_program_path(string tmp)
-{
-  tmp=normalize_path(combine_path_with_cwd(tmp));
-  pike_program_path-=({tmp});
-  pike_program_path=({tmp})+pike_program_path;
-}
-
-
-void remove_program_path(string tmp)
-{
-  tmp=normalize_path(combine_path_with_cwd(tmp));
-  pike_program_path-=({tmp});
-}
-
-
 mapping (string:program) programs=(["/master":object_program(this_object())]);
 
 #define capitalize(X) (upper_case((X)[..0])+(X)[1..])
@@ -901,59 +863,190 @@ mixed handle_import(string what, string|void current_file, object|void handler)
   return fc[path]=dirnode(path);
 }
 
-mixed resolv_base(string identifier, string|void current_file)
+
+
+multiset no_resolv = (<>);
+class CompatResolver
 {
-  array(mixed) tmp = ({});
-  foreach(pike_module_path, string path)
-  {
-    string file=combine_path(path,identifier);
-    if(mixed ret=findmodule(file)) {
-      if ((objectp(ret)) &&
-	  (ret->is_resolv_dirnode || ret->is_resolv_joinnode)) {
-	if (mixed new_ret = ret->_module_value) {
-	  ret = new_ret;
-	}
-	tmp += ({ ret });
-      } else {
-	if (mixed new_ret = ret->_module_value) {
-	  ret = new_ret;
+  array(string) pike_include_path=({});
+  array(string) pike_module_path=({});
+  array(string) pike_program_path=({});
+  int want_warnings = PIKE_WARNINGS;
+  string ver;
+
+  void create(mixed v)
+    {
+      ver=(string)v;
+    }
+
+  void add_include_path(string tmp)
+    {
+      tmp=normalize_path(combine_path_with_cwd(tmp));
+      pike_include_path-=({tmp});
+      pike_include_path=({tmp})+pike_include_path;
+    }
+  
+  void remove_include_path(string tmp)
+    {
+      tmp=normalize_path(combine_path_with_cwd(tmp));
+      pike_include_path-=({tmp});
+    }
+  
+  void add_module_path(string tmp)
+    {
+      tmp=normalize_path(combine_path_with_cwd(tmp));
+      pike_module_path-=({tmp});
+      pike_module_path=({tmp})+pike_module_path;
+    }
+  
+  
+  void remove_module_path(string tmp)
+    {
+      tmp=normalize_path(combine_path_with_cwd(tmp));
+      pike_module_path-=({tmp});
+    }
+  
+  
+  void add_program_path(string tmp)
+    {
+      tmp=normalize_path(combine_path_with_cwd(tmp));
+      pike_program_path-=({tmp});
+      pike_program_path=({tmp})+pike_program_path;
+    }
+  
+  
+  void remove_program_path(string tmp)
+    {
+      tmp=normalize_path(combine_path_with_cwd(tmp));
+      pike_program_path-=({tmp});
+    }
+
+  mapping get_default_module()
+    {
+      /* This is an ugly kluge to avoid an infinite recursion.
+       * The infinite recursion occurs because this function is
+       * called for every file when the compat_major/minor is set.
+       * This kluge could cause problems with threads if the
+       * compiler was threaded. -Hubbe
+       */
+      int saved_compat_minor=compat_minor;
+      int saved_compat_major=compat_major;
+      compat_minor=-1;
+      compat_major=-1;
+
+      mixed x;
+      mixed err =catch {
+	if(x=resolv("__default.all_constants")) x=x();
+      };
+
+      compat_major=saved_compat_major;
+      compat_minor=saved_compat_minor;
+      if(err) throw(err);
+      return x;
+    }
+
+  mixed resolv_base(string identifier, string|void current_file)
+    {
+      array(mixed) tmp = ({});
+      foreach(pike_module_path, string path)
+	{
+	  string file=combine_path(path,identifier);
+	  if(mixed ret=findmodule(file)) {
+	    if ((objectp(ret)) &&
+		(ret->is_resolv_dirnode || ret->is_resolv_joinnode)) {
+	      if (mixed new_ret = ret->_module_value) {
+		ret = new_ret;
+	      }
+	      tmp += ({ ret });
+	    } else {
+	      if (mixed new_ret = ret->_module_value) {
+		ret = new_ret;
+	      }
+	      if (!sizeof(tmp)) {
+		return ret;
+	      } else {
+		// Ignore
+		werror(sprintf("Ignoring file %O: %t for identifier %O\n",
+			       file, ret, identifier));
+		continue;
+	      }
+	    }
+	  }
 	}
-	if (!sizeof(tmp)) {
-	  return ret;
-	} else {
-	  // Ignore
-	  werror(sprintf("Ignoring file %O: %t for identifier %O\n",
-			 file, ret, identifier));
-	  continue;
+      if (sizeof(tmp)) {
+	if (sizeof(tmp) == 1) {
+	  return(tmp[0]);
 	}
+	return joinnode(tmp);
       }
+      return UNDEFINED;
     }
-  }
-  if (sizeof(tmp)) {
-    if (sizeof(tmp) == 1) {
-      return(tmp[0]);
+  
+  mapping resolv_cache = set_weak_flag( ([]), 1 );
+  mixed resolv(string identifier, string|void current_file)
+    {
+      if( no_resolv[ identifier ] )
+	return UNDEFINED;
+
+      mixed ret;
+      string id=identifier+":"+(current_file ? dirname(current_file) : "-");
+      if( !zero_type (ret = resolv_cache[id]) )
+	return ret == ZERO_TYPE ? UNDEFINED : resolv_cache[id];
+      array(string) tmp=identifier/".";
+      ret=resolv_base(tmp[0]);
+      foreach(tmp[1..],string index) ret=ret[index];
+      resolv_cache[id] = zero_type (ret) ? ZERO_TYPE : ret;
+      return ret;
+    }
+
+  /* This function is called whenever an #include directive is encountered
+   * it receives the argument for #include and should return the file name
+   * of the file to include
+   */
+  string handle_include(string f,
+			string current_file,
+			int local_include)
+    {
+      array(string) tmp;
+      string path;
+      
+      if(local_include)
+      {
+	tmp=EXPLODE_PATH(current_file);
+	tmp[-1]=f;
+	path=combine_path_with_cwd(tmp*"/");
+      }
+      else
+      {
+	foreach(pike_include_path, path)
+	  {
+	    path=combine_path(path,f);
+	    if(master_file_stat(fakeroot(path)))
+	      break;
+	    else
+	      path=0;
+	  }
+	
+      }
+      
+      return path;
+    }
+  
+  string read_include(string f)
+    {
+      AUTORELOAD_CHECK_FILE(f)
+	return master_read_file(f);
+    }
+
+
+  string _sprintf()
+    {
+      return sprintf("CompatResolver(%s)",ver);
     }
-    return joinnode(tmp);
-  }
-  return UNDEFINED;
-}
-multiset no_resolv = (<>);
-mapping resolv_cache = set_weak_flag( ([]), 1 );
-mixed resolv(string identifier, string|void current_file)
-{
-  if( no_resolv[ identifier ] )
-    return UNDEFINED;
-  mixed ret;
-  string id=identifier+":"+(current_file ? dirname(current_file) : "-");
-  if( !zero_type (ret = resolv_cache[id]) )
-    return ret == ZERO_TYPE ? UNDEFINED : resolv_cache[id];
-  array(string) tmp=identifier/".";
-  ret=resolv_base(tmp[0]);
-  foreach(tmp[1..],string index) ret=ret[index];
-  resolv_cache[id] = zero_type (ret) ? ZERO_TYPE : ret;
-  return ret;
 }
 
+inherit CompatResolver;
+
 // These are useful if you want to start other Pike processes
 // with the same options as this one was started with.
 string _pike_file_name;
@@ -1021,6 +1114,7 @@ void _main(array(string) orig_argv, array(string) env)
     }
     
     q=tmp->find_all_options(argv,({
+      ({"compat_version",tmp->HAS_ARG,({"-V","--compat"})}),
       ({"version",tmp->NO_ARG,({"-v","--version"})}),
       ({"help",tmp->NO_ARG,({"-h","--help"})}),
       ({"execute",tmp->HAS_ARG,({"-e","--execute"})}),
@@ -1049,6 +1143,9 @@ void _main(array(string) orig_argv, array(string) env)
     {
       switch(q[i][0])
       {
+	case "compat_version":
+	  sscanf(q[i][1],"%d.%d",compat_major,compat_minor);
+	  break;
 #ifdef PIKE_AUTORELOAD
       case "autoreload":
 	autoreload_on++;
@@ -1165,7 +1262,7 @@ void _main(array(string) orig_argv, array(string) env)
 	
       case "execute":
 	  random_seed(time() + (getpid() * 0x11111111));
-	compile_string("#include <simulate.h>\nmixed create(){"+opts[1]+";}")();
+	compile_string("mixed create(){"+opts[1]+";}")();
 	exit(0);
 
       case "preprocess":
@@ -1382,46 +1479,6 @@ string decode_charset(string data, string charset)
 }
 
 
-/* This function is called whenever an #include directive is encountered
- * it receives the argument for #include and should return the file name
- * of the file to include
- * Note that previous_object cannot be trusted in ths function, because
- * the compiler calls this function.
- */
-string handle_include(string f,
-		      string current_file,
-		      int local_include)
-{
-  array(string) tmp;
-  string path;
-
-  if(local_include)
-  {
-    tmp=EXPLODE_PATH(current_file);
-    tmp[-1]=f;
-    path=combine_path_with_cwd(tmp*"/");
-  }
-  else
-  {
-    foreach(pike_include_path, path)
-      {
-	path=combine_path(path,f);
-	if(master_file_stat(fakeroot(path)))
-	  break;
-	else
-	  path=0;
-      }
-    
-  }
-
-  return path;
-}
-
-string read_include(string f)
-{
-  AUTORELOAD_CHECK_FILE(f)
-  return master_read_file(f);
-}
 
 class Describer
 {
@@ -1897,3 +1954,134 @@ class Codec
     o->_decode(data);
   }
 }
+
+
+class Version
+{
+  int major;
+  int minor;
+  void create(int maj, int min)
+    {
+      major=maj;
+      minor=min;
+    }
+
+#define CMP(X)  (major - (X)->major) || (minor - (X)->minor)
+  
+  int `<(Version v) { return CMP(v) < 0; }
+  int `>(Version v) { return CMP(v) > 0; }
+  int `==(Version v) { return CMP(v)== 0; }
+  int _hash() { return major * 4711 + minor ; }
+
+  string _sprintf() { return sprintf("%d.%d",major,minor); }
+  mixed cast(string type)
+    {
+      switch(type)
+      {
+	case "string":
+	  return sprintf("%d.%d",major,minor);
+      }
+    }
+}
+
+Version currentversion=Version(__MAJOR__,__MINOR__);
+mapping(Version:CompatResolver) compat_handler_cache=set_weak_flag( ([]), 1);
+
+CompatResolver get_compilation_handler(int major, int minor)
+{
+  CompatResolver ret;
+  
+  Version v=Version(major,minor);
+
+  if(v > currentversion)
+  {
+    /* do we want to make an error if major.minor > __MAJOR__.__MINOR ? */
+    return 0;
+  }
+  
+  if(!zero_type(ret=compat_handler_cache[v])) return ret;
+
+  array(Version) available=({});
+
+#if "�share_prefix�"[0]!='�'
+  foreach(get_dir("�share_prefix�"), string ver)
+    {
+      if(sscanf(ver,"%d.%d",int maj, int min))
+      {
+	Version x=Version(maj, min) ;
+	if(x >= v)
+	  available|=({ x });
+      }
+    }
+#endif
+
+#if "�lib_prefix�"[0]!='�'
+  foreach(get_dir("�lib_prefix�"), string ver)
+    {
+      if(sscanf(ver,"%d.%d",int maj, int min))
+      {
+	Version x=Version(maj, min) ;
+	if(x >= v)
+	  available|=({ x });
+      }
+    }
+#endif
+
+  sort(available);
+
+#ifndef RESOLVER_HACK
+  /* We need to define RESOLVER_HACK when we add
+   * version-specific stuff in the CompatResolver.
+   * As long as all the compatibility is done in the
+   * module dierctories, RESOLVER_HACK can be undefined
+   */
+
+  /* No compat needed */
+  if(!sizeof(available))
+  {
+    compat_handler_cache[v]=0;
+    return 0;
+  }
+
+  /* Same as available[0] */
+  if(ret=compat_handler_cache[available[0]])
+    return compat_handler_cache[v]=ret;
+#endif
+
+  ret=CompatResolver(v);
+  if( v < Version(0,6))
+    ret->pike_module_path+=({"."});
+
+  foreach(available, Version v)
+    {
+      string base;
+#if "�lib_prefix�"[0]!='�'
+      base=combine_path("�lib_prefix�",sprintf("%s",v));
+      ret->add_module_path(combine_path(base,"modules"));
+      ret->add_include_path(combine_path(base,"include"));
+#endif
+
+#if "�share_prefix�"[0]!='�'
+      base=combine_path("�share_prefix�",sprintf("%s",v));
+      ret->add_module_path(combine_path(base,"modules"));
+      ret->add_include_path(combine_path(base,"include"));
+#endif
+    }
+
+  /* Add default paths */
+  map(pike_module_path,ret->add_module_path);
+  map(pike_include_path,ret->add_include_path);
+
+  compat_handler_cache[v] = ret;
+
+#ifndef RESOLVER_HACK
+  compat_handler_cache[available[0]] = ret; /* may be equal to 'v' */
+#endif
+
+  return ret;
+}
+
+string _sprintf()
+{
+  return "master()";
+}
diff --git a/lib/modules/ADT.pmod/Heap.pike b/lib/modules/ADT.pmod/Heap.pike
index b9adc3c05d..8875e90d46 100644
--- a/lib/modules/ADT.pmod/Heap.pike
+++ b/lib/modules/ADT.pmod/Heap.pike
@@ -1,3 +1,5 @@
+#pike __VERSION__
+
 #define SWAP(X,Y) do{ mixed tmp=values[X]; values[X]=values[Y]; values[Y]=tmp; }while(0)
 
 static private array values=allocate(10);
diff --git a/lib/modules/ADT.pmod/Priority_queue.pike b/lib/modules/ADT.pmod/Priority_queue.pike
index 4754fba320..525d570386 100644
--- a/lib/modules/ADT.pmod/Priority_queue.pike
+++ b/lib/modules/ADT.pmod/Priority_queue.pike
@@ -1,3 +1,5 @@
+#pike __VERSION__
+
 inherit .Heap;
 
 class elem {
diff --git a/lib/modules/ADT.pmod/Queue.pike b/lib/modules/ADT.pmod/Queue.pike
index 5a19a27a45..893cea3152 100644
--- a/lib/modules/ADT.pmod/Queue.pike
+++ b/lib/modules/ADT.pmod/Queue.pike
@@ -1,8 +1,9 @@
-/* $Id: Queue.pike,v 1.1 1999/11/29 18:24:24 per Exp $
+/* $Id: Queue.pike,v 1.2 2000/09/26 18:59:09 hubbe Exp $
  *
  * A simple FIFO queue. 
  */
 
+#pike __VERSION__
 #define QUEUE_SIZE 100
 
 array l;
diff --git a/lib/modules/ADT.pmod/Table.pmod b/lib/modules/ADT.pmod/Table.pmod
index 00735be2bd..b2cf41c663 100644
--- a/lib/modules/ADT.pmod/Table.pmod
+++ b/lib/modules/ADT.pmod/Table.pmod
@@ -1,6 +1,7 @@
 // Table.pmod by Fredrik Noring, 1998
-// $Id: Table.pmod,v 1.12 1999/12/21 20:12:43 noring Exp $
+// $Id: Table.pmod,v 1.13 2000/09/26 18:59:09 hubbe Exp $
 
+#pike __VERSION__
 #define TABLE_ERR(msg) throw(({ "(Table) "+msg+"\n", backtrace() }))
 
 class table {
diff --git a/lib/modules/ADT.pmod/struct.pike b/lib/modules/ADT.pmod/struct.pike
index c6af49b078..1b7d9ccdd3 100644
--- a/lib/modules/ADT.pmod/struct.pike
+++ b/lib/modules/ADT.pmod/struct.pike
@@ -3,6 +3,7 @@
  * New version, taken from Protocols.X
  */
 
+#pike __VERSION__
 #if 0
 #include "error.h"
 #else
diff --git a/lib/modules/Array.pmod b/lib/modules/Array.pmod
index de28caa84d..326ee6cd69 100644
--- a/lib/modules/Array.pmod
+++ b/lib/modules/Array.pmod
@@ -1,3 +1,5 @@
+#pike __VERSION__
+
 #define error(X) throw( ({ (X), backtrace()[0..sizeof(backtrace())-2] }) )
 
 constant diff = __builtin.diff;
diff --git a/lib/modules/Cache.pmod/Data.pike b/lib/modules/Cache.pmod/Data.pike
index cb0bf6efbe..a50a4f484f 100644
--- a/lib/modules/Cache.pmod/Data.pike
+++ b/lib/modules/Cache.pmod/Data.pike
@@ -4,6 +4,7 @@
  * (C) 2000 Roxen IS
  */
 
+#pike __VERSION__
 
 int atime=0; //last-access time.
 int ctime=0; //creation-time
diff --git a/lib/modules/Cache.pmod/Policy.pmod/Base.pike b/lib/modules/Cache.pmod/Policy.pmod/Base.pike
index 93f17d2866..06e212f0e8 100644
--- a/lib/modules/Cache.pmod/Policy.pmod/Base.pike
+++ b/lib/modules/Cache.pmod/Policy.pmod/Base.pike
@@ -5,9 +5,11 @@
  *
  * All Storage-related class must MUST implement this method.
  *
- * $Id: Base.pike,v 1.1 2000/07/02 20:14:39 kinkie Exp $
+ * $Id: Base.pike,v 1.2 2000/09/26 18:59:10 hubbe Exp $
  */
 
+#pike __VERSION__
+
 void expire(Cache.Storage storage) {
   throw("Override this!");
 }
diff --git a/lib/modules/Cache.pmod/Policy.pmod/Multiple.pike b/lib/modules/Cache.pmod/Policy.pmod/Multiple.pike
index ec3109f101..20ff94554c 100644
--- a/lib/modules/Cache.pmod/Policy.pmod/Multiple.pike
+++ b/lib/modules/Cache.pmod/Policy.pmod/Multiple.pike
@@ -3,9 +3,11 @@
  * by Francesco Chemolli <kinkie@roxen.com>
  * (C) 2000 Roxen IS
  *
- * $Id: Multiple.pike,v 1.1 2000/07/02 20:14:47 kinkie Exp $
+ * $Id: Multiple.pike,v 1.2 2000/09/26 18:59:11 hubbe Exp $
  */
 
+#pike __VERSION__
+
 inherit Cache.Policy.Base;
 private array(Cache.Policy.Base) my_policies;
 
diff --git a/lib/modules/Cache.pmod/Policy.pmod/Null.pike b/lib/modules/Cache.pmod/Policy.pmod/Null.pike
index 7bdc966a6d..be9ef09609 100644
--- a/lib/modules/Cache.pmod/Policy.pmod/Null.pike
+++ b/lib/modules/Cache.pmod/Policy.pmod/Null.pike
@@ -3,12 +3,14 @@
  * by Francesco Chemolli <kinkie@roxen.com>
  * (C) 2000 Roxen IS
  *
- * $Id: Null.pike,v 1.1 2000/08/07 17:56:07 kinkie Exp $
+ * $Id: Null.pike,v 1.2 2000/09/26 18:59:11 hubbe Exp $
  *
  * This is a policy manager that doesn't actually expire anything.
  * It is useful in multilevel and/or network-based caches.
  */
 
+#pike __VERSION__
+
 void expire (Cache.Storage storage) {
   /* empty */
 }
diff --git a/lib/modules/Cache.pmod/Policy.pmod/Sized.pike b/lib/modules/Cache.pmod/Policy.pmod/Sized.pike
index 3e294930ae..c775466ddd 100644
--- a/lib/modules/Cache.pmod/Policy.pmod/Sized.pike
+++ b/lib/modules/Cache.pmod/Policy.pmod/Sized.pike
@@ -3,9 +3,11 @@
  * by Francesco Chemolli <kinkie@roxen.com>
  * (C) 2000 Roxen IS
  *
- * $Id: Sized.pike,v 1.1 2000/07/02 20:14:56 kinkie Exp $
+ * $Id: Sized.pike,v 1.2 2000/09/26 18:59:11 hubbe Exp $
  */
 
+#pike __VERSION__
+
 inherit Cache.Policy.Base;
 //watermarks
 int max_size=0; //in bytes
diff --git a/lib/modules/Cache.pmod/Policy.pmod/Timed.pike b/lib/modules/Cache.pmod/Policy.pmod/Timed.pike
index 8e1d236e4b..e6f522861b 100644
--- a/lib/modules/Cache.pmod/Policy.pmod/Timed.pike
+++ b/lib/modules/Cache.pmod/Policy.pmod/Timed.pike
@@ -3,9 +3,11 @@
  * by Francesco Chemolli <kinkie@roxen.com>
  * (C) 2000 Roxen IS
  *
- * $Id: Timed.pike,v 1.1 2000/07/02 20:15:10 kinkie Exp $
+ * $Id: Timed.pike,v 1.2 2000/09/26 18:59:12 hubbe Exp $
  */
 
+#pike __VERSION__
+
 //TODO: use the preciousness somehow.
 // idea: expire if (now-atime)*cost < ktime
 
diff --git a/lib/modules/Cache.pmod/Storage.pmod/Base.pike b/lib/modules/Cache.pmod/Storage.pmod/Base.pike
index f4385f38ef..949ed3210b 100644
--- a/lib/modules/Cache.pmod/Storage.pmod/Base.pike
+++ b/lib/modules/Cache.pmod/Storage.pmod/Base.pike
@@ -3,11 +3,13 @@
  * by Francesco Chemolli <kinkie@roxen.com>
  * (C) 2000 Roxen IS
  *
- * $Id: Base.pike,v 1.2 2000/07/05 21:33:33 kinkie Exp $
+ * $Id: Base.pike,v 1.3 2000/09/26 18:59:12 hubbe Exp $
  *
  * All storage managers must provide these methods.
  */
 
+#pike __VERSION__
+
 #define T() throw( ({"override this", backtrace()}))
 
 // The next two functions are an iterator over the cache. There is an
diff --git a/lib/modules/Cache.pmod/Storage.pmod/Gdbm.pike b/lib/modules/Cache.pmod/Storage.pmod/Gdbm.pike
index c81e7f95b6..cb1ced8772 100644
--- a/lib/modules/Cache.pmod/Storage.pmod/Gdbm.pike
+++ b/lib/modules/Cache.pmod/Storage.pmod/Gdbm.pike
@@ -3,7 +3,7 @@
  * by Francesco Chemolli <kinkie@roxen.com>
  * (C) 2000 Roxen IS
  *
- * $Id: Gdbm.pike,v 1.2 2000/07/05 21:36:03 kinkie Exp $
+ * $Id: Gdbm.pike,v 1.3 2000/09/26 18:59:12 hubbe Exp $
  *
  * This storage manager provides the means to save data to memory.
  * In this manager I'll add reference documentation as comments to
@@ -12,6 +12,8 @@
  * Settings will be added later.
  */
 
+#pike __VERSION__
+
 //after this many deletion ops, the databases will be compacted.
 #define CLUTTERED 100
 
diff --git a/lib/modules/Cache.pmod/Storage.pmod/Memory.pike b/lib/modules/Cache.pmod/Storage.pmod/Memory.pike
index 6ae4a97295..a39856fffb 100644
--- a/lib/modules/Cache.pmod/Storage.pmod/Memory.pike
+++ b/lib/modules/Cache.pmod/Storage.pmod/Memory.pike
@@ -3,7 +3,7 @@
  * by Francesco Chemolli <kinkie@roxen.com>
  * (C) 2000 Roxen IS
  *
- * $Id: Memory.pike,v 1.2 2000/07/05 21:37:25 kinkie Exp $
+ * $Id: Memory.pike,v 1.3 2000/09/26 18:59:13 hubbe Exp $
  *
  * This storage manager provides the means to save data to memory.
  * In this manager I'll add reference documentation as comments to
@@ -12,6 +12,8 @@
  * Settings will be added later.
  */
 
+#pike __VERSION__
+
 class Data {
 
   inherit Cache.Data;
diff --git a/lib/modules/Cache.pmod/Storage.pmod/MySQL.pike b/lib/modules/Cache.pmod/Storage.pmod/MySQL.pike
index d9495e12e4..4dde0116f7 100644
--- a/lib/modules/Cache.pmod/Storage.pmod/MySQL.pike
+++ b/lib/modules/Cache.pmod/Storage.pmod/MySQL.pike
@@ -3,7 +3,7 @@
  * by Francesco Chemolli <kinkie@roxen.com>
  * (C) 2000 Roxen IS
  *
- * $Id: MySQL.pike,v 1.1 2000/08/07 17:59:57 kinkie Exp $
+ * $Id: MySQL.pike,v 1.2 2000/09/26 18:59:13 hubbe Exp $
  *
  * This storage manager provides the means to save data to an SQL-based 
  * backend.
@@ -17,6 +17,8 @@
  * 
  */
 
+#pike __VERSION__
+
 #define MAX_KEY_SIZE "255"
 #define CREATION_QUERY "create table cache ( \
 cachekey varchar(" MAX_KEY_SIZE ") not null primary key, \
diff --git a/lib/modules/Cache.pmod/Storage.pmod/Yabu.pike b/lib/modules/Cache.pmod/Storage.pmod/Yabu.pike
index fdfa828669..c3b028acf5 100644
--- a/lib/modules/Cache.pmod/Storage.pmod/Yabu.pike
+++ b/lib/modules/Cache.pmod/Storage.pmod/Yabu.pike
@@ -3,11 +3,13 @@
  * by Francesco Chemolli <kinkie@roxen.com>
  * (C) 2000 Roxen IS
  *
- * $Id: Yabu.pike,v 1.2 2000/07/05 21:38:56 kinkie Exp $
+ * $Id: Yabu.pike,v 1.3 2000/09/26 18:59:13 hubbe Exp $
  *
  * Settings will be added later.
  */
 
+#pike __VERSION__
+
 #define CLUTTERED 200
 
 Yabu.Table db, metadb;
diff --git a/lib/modules/Cache.pmod/cache.pike b/lib/modules/Cache.pmod/cache.pike
index ff1cd80c9e..9eee24f578 100644
--- a/lib/modules/Cache.pmod/cache.pike
+++ b/lib/modules/Cache.pmod/cache.pike
@@ -3,7 +3,7 @@
  * by Francesco Chemolli <kinkie@roxen.com>
  * (C) 2000 Roxen IS
  *
- * $Id: cache.pike,v 1.2 2000/07/05 21:32:58 kinkie Exp $
+ * $Id: cache.pike,v 1.3 2000/09/26 18:59:10 hubbe Exp $
  *
  * This module serves as a front-end to different kinds of caching system
  * It uses two helper objects to actually store data, and to determine
@@ -11,6 +11,8 @@
  * will be added in time, or at least this is the plan.
  */
 
+#pike __VERSION__
+
 #if constant(thread_create)
 #define do_possibly_threaded_call thread_create
 #else
diff --git a/lib/modules/Calendar.pmod/Austrian.pmod b/lib/modules/Calendar.pmod/Austrian.pmod
index d001c27a6d..5ba0ead59f 100644
--- a/lib/modules/Calendar.pmod/Austrian.pmod
+++ b/lib/modules/Calendar.pmod/Austrian.pmod
@@ -9,6 +9,8 @@
 //!	purposes. 
 //!
 
+#pike __VERSION__
+
 inherit Calendar.ISO:ISO;
 
 import ".";
diff --git a/lib/modules/Calendar.pmod/Calendar.pike b/lib/modules/Calendar.pmod/Calendar.pike
index adbdb9854d..b4c7a2683f 100644
--- a/lib/modules/Calendar.pmod/Calendar.pike
+++ b/lib/modules/Calendar.pmod/Calendar.pike
@@ -1,3 +1,5 @@
+#pike __VERSION__
+
 import ".";
 
 //! module Calendar
diff --git a/lib/modules/Calendar.pmod/Coptic.pmod b/lib/modules/Calendar.pmod/Coptic.pmod
index 968e48c21d..bd656c612f 100644
--- a/lib/modules/Calendar.pmod/Coptic.pmod
+++ b/lib/modules/Calendar.pmod/Coptic.pmod
@@ -18,6 +18,8 @@
 //!	with the <ref>Gregorian</ref> calendar, which is odd.
 //! 	
 
+#pike __VERSION__
+
 import ".";
 // inherit some rules from Gregorian, like week numbering
 inherit Gregorian:Gregorian;
diff --git a/lib/modules/Calendar.pmod/Discordian.pmod b/lib/modules/Calendar.pmod/Discordian.pmod
index 3c2b08db8c..9f7787510d 100644
--- a/lib/modules/Calendar.pmod/Discordian.pmod
+++ b/lib/modules/Calendar.pmod/Discordian.pmod
@@ -25,6 +25,8 @@
 
 // the discordian calendar follows the gregorian years, very practical ;)
 
+#pike __VERSION__
+
 import ".";
 inherit Gregorian:Gregorian;
 
diff --git a/lib/modules/Calendar.pmod/Event.pmod b/lib/modules/Calendar.pmod/Event.pmod
index c16e525622..c9509dd124 100644
--- a/lib/modules/Calendar.pmod/Event.pmod
+++ b/lib/modules/Calendar.pmod/Event.pmod
@@ -1,3 +1,5 @@
+#pike __VERSION__
+
 import ".";
 constant TimeRange=TimeRanges.TimeRange;
 
diff --git a/lib/modules/Calendar.pmod/Gregorian.pmod b/lib/modules/Calendar.pmod/Gregorian.pmod
index a26b244be0..ecc5cb4dc0 100644
--- a/lib/modules/Calendar.pmod/Gregorian.pmod
+++ b/lib/modules/Calendar.pmod/Gregorian.pmod
@@ -8,6 +8,8 @@
 //!	in most of europe.
 //!
 
+#pike __VERSION__
+
 import ".";
 inherit YMD:YMD;
 
diff --git a/lib/modules/Calendar.pmod/ISO.pmod b/lib/modules/Calendar.pmod/ISO.pmod
index d2a6d84058..4bb9062fb9 100644
--- a/lib/modules/Calendar.pmod/ISO.pmod
+++ b/lib/modules/Calendar.pmod/ISO.pmod
@@ -10,6 +10,8 @@
 //! inherits Gregorian
 //!
 
+#pike __VERSION__
+
 import ".";
 inherit Gregorian:Gregorian;
 
diff --git a/lib/modules/Calendar.pmod/Islamic.pmod b/lib/modules/Calendar.pmod/Islamic.pmod
index 6b2ea40abd..a3fabd1ca0 100644
--- a/lib/modules/Calendar.pmod/Islamic.pmod
+++ b/lib/modules/Calendar.pmod/Islamic.pmod
@@ -23,6 +23,8 @@
 //!	years are "AH", anno Hegirac.
 //!	
 
+#pike __VERSION__
+
 import ".";
 inherit YMD:YMD;
 
diff --git a/lib/modules/Calendar.pmod/Julian.pmod b/lib/modules/Calendar.pmod/Julian.pmod
index 1e2c90b05d..092dafc8aa 100644
--- a/lib/modules/Calendar.pmod/Julian.pmod
+++ b/lib/modules/Calendar.pmod/Julian.pmod
@@ -1,47 +1,37 @@
-//!
-//! module Calendar
-//! submodule Julian
-//! inherits YMD
-//!
-//! 	This is the Julian calendar, conjured up by
-//!	the old Romans when their calendar were just too
-//!	wierd. It was used by the christians as so far
-//!	as the 18th century in some parts of the world.
-//!	(Especially the protestantic and orthodox parts.)
-//!
-//! note:
-//!	Don't confuse the <i>julian day</i> with the Julian
-//!	calendar. The former is just a linear numbering of days,
-//!	used in the Calendar module as a common unit for
-//!	absolute time.
-
-import ".";
-inherit Gregorian:Gregorian;
-
-string calendar_name() { return "Julian"; }
-
-static int year_leap_year(int y) 
-{ 
-   return !((y)%4);
-}
+#pike __VERSION__
+
+inherit Calendar.Gregorian;
 
-// [y,yjd]
-static array year_from_julian_day(int jd)
+class Year
 {
-   int d=jd-1721058;
+  inherit Calendar.Gregorian.Year;
+
+  int julian_day(int d) // jd%7 gives weekday, mon=0, sun=6
+  {
+    return 1721424 + d + (36525*(y-1))/100;
+  }
 
-   int quad=d/1461;
-   int quad_year=max( (d%1461-1)/365, 0);
+  int leap()
+  {
+    return !(y%4);
+  }
 
-   return 
-   ({
-      quad*4+quad_year,
-      1721058+1461*quad+365*quad_year+!!quad_year
-   });
 }
 
-static int julian_day_from_year(int y)
+class Day
 {
-   y--;
-   return 1721424+y*365+y/4;
+  inherit Calendar.Gregorian.Day;
+
+  void create(int ... arg)
+  {
+    if (!sizeof(arg))
+    {
+      int jd = Calendar.Gregorian.Day()->julian_day()-1721424;
+      y = jd*100/36525+1;
+      d = jd-(y-1)*36525/100;
+    }
+    else
+      ::create(@arg);
+  }
+
 }
diff --git a/lib/modules/Calendar.pmod/Language.pmod b/lib/modules/Calendar.pmod/Language.pmod
index 6110728708..1dde37968d 100644
--- a/lib/modules/Calendar.pmod/Language.pmod
+++ b/lib/modules/Calendar.pmod/Language.pmod
@@ -1,3 +1,5 @@
+#pike __VERSION__
+
 import ".";
 
 static string flat(string s)
diff --git a/lib/modules/Calendar.pmod/Namedays.pmod b/lib/modules/Calendar.pmod/Namedays.pmod
index 42be2a9346..71e26d3142 100644
--- a/lib/modules/Calendar.pmod/Namedays.pmod
+++ b/lib/modules/Calendar.pmod/Namedays.pmod
@@ -1,3 +1,5 @@
+#pike __VERSION__
+
 import ".";
 inherit Event;
 
diff --git a/lib/modules/Calendar.pmod/Roman.pmod b/lib/modules/Calendar.pmod/Roman.pmod
index a0c5121b48..6ed209e164 100644
--- a/lib/modules/Calendar.pmod/Roman.pmod
+++ b/lib/modules/Calendar.pmod/Roman.pmod
@@ -6,6 +6,7 @@
 //! ie, one with years, months, weeks and days
 //!
 
+#pike __VERSION__
 #pragma strict_types
 
 import ".";
diff --git a/lib/modules/Calendar.pmod/Ruleset.pike b/lib/modules/Calendar.pmod/Ruleset.pike
index 38352c88fb..379ad7a0a0 100644
--- a/lib/modules/Calendar.pmod/Ruleset.pike
+++ b/lib/modules/Calendar.pmod/Ruleset.pike
@@ -2,6 +2,9 @@
 //! subclass Ruleset
 //!	This is the container class for rules.
 
+
+#pike __VERSION__
+
 class Timezone
 {
    constant is_timezone=1;
diff --git a/lib/modules/Calendar.pmod/Stardate.pmod b/lib/modules/Calendar.pmod/Stardate.pmod
index d810991205..47b4abb797 100644
--- a/lib/modules/Calendar.pmod/Stardate.pmod
+++ b/lib/modules/Calendar.pmod/Stardate.pmod
@@ -1,305 +1,108 @@
-//! module Calendar
 //! submodule Stardate
-//!	This implements TNG stardates. 
+//!	time unit: TNGDate
 
-import ".";
+//! class TNGDate
+//!	implements ST:TNG stardates
+//!	can be used as create argument to Day 
 
-inherit TimeRanges;
+#pike __VERSION__
 
-static constant TNGSTARPERJULIAN=1000.0/365.2425;
-static constant TNGSTARPERSECOND=TNGSTARPERJULIAN/86400;
-static constant TNG0JULIAN=2569518.5;
-static constant TNG0UNIX=11139552000;
-
-string calendar_name() { return "Stardate"; }
-
-function(mixed...:cTick) Tick=cTick;
-class cTick
+class TNGDate
 {
-   inherit TimeRange;
+   inherit Calendar._TimeUnit;
+
+   // 40759.5  2363-10-05  2584405
+   // 47391.2  2370-05-23  2586827
 
-   constant is_stardate=1;
+   // 50893.5  2373-11-23  2588107
 
-   float tick;
-   float len;
+   //  6631.7  ----------  2422 
+   // 10134.0  ----------  3702
+   //  1000.0  ----------  365.2425
+   //     0.0      -  -    2569519
+#define TNGSTARPERJULIAN (1000.0/365.2425)
 
-//! method void create(mixed ...)
-//! method void create(int|float date)
-//! method void create()
-//!	Apart from the standard creation methods
-//!	(julian day, etc), you can create a stardate
-//!	from the stardate number. The length
-//!	of the period will then be zero.
-//!
-//!	You can also omit any arguments to create now.
-//!
-//! known bugs:
-//!	Since the precision is limited to the float type
-//!	of pike you can get non-precise results:
-//!
-//!     <pre>
-//!	> Calendar.Second(Calendar.Stardate.Day(Calendar.Year()));
-//!	Result: Second(Fri 31 Dec 1999 23:59:18 CET - Sun 31 Dec 2000 23:59:18 CET)
-//!	</pre>
+//-- variables ------------------------------------------------------
 
+   float jd;
+   float tics;
+   
+//-- standard methods -----------------------------------------------
 
-   void create(mixed ...args)
+   void create(int|float|object ... day)
    {
-      switch (sizeof(args))
+      float jd;
+      if (!sizeof(day))
+	 day=({Calendar.Gregorian.Second()});
+      else if (floatp(day[0]))
       {
-	 case 4:
-      // internal
-	    if (args[0]=="stardate")
+	 from_stardate(day[0]);
+	 return;
+      }
+      if (!intp(day[0]))
+      {
+	 object o=day[0];
+
+	 if (o->julian_day || o->julian_day_f)
+	    jd=(float)(o->julian_day_f||o->julian_day)();
+	 else // dig
+	    if (o->day) // larger
 	    {
-	       rules=args[1];
-	       tick=args[2];
-	       len=args[3];
-	       return;
+	       o=o->day(0);
+	       if (o->julian_day_f)
+		  jd=o->julian_day_f();
+	       else if (o->julian_day)
+		  jd=(float)o->julian_day();
+	       else
+		  ; // error, like
 	    }
-	    break;
-	 case 1:
-	    if (intp(args[0]) || floatp(args[0]))
+	    else // smaller
 	    {
-	       rules=default_rules;
-	       tick=(float)args[0];
-	       len=0.0;
-	       return;
+	       float z=1.0;
+	       while (sizeof(o->greater()))
+	       {
+		  string name=o->is();
+		  o=o[o->greater()[0]]();
+		  z*=o["number_of_"+name+"s"]();
+		  if (o->julian_day_f || o->julian_day) 
+		  {
+		     jd=(o->julian_day||o->julian_day_f)()/z;
+		     break;
+		  }
+	       }
 	    }
-	    break;
-	 case 0:
-	    rules=default_rules;
-	    create_unixtime_default(time());
-	    return;
-      }
-      rules=default_rules;
-      ::create(@args);
-   }
-
-   static void create_unixtime(int unixtime,int seconds)
-   {
-      tick=(unixtime-TNG0UNIX)*TNGSTARPERSECOND;
-      len=seconds*TNGSTARPERSECOND;
-   }
-
-   static void create_unixtime_default(int unixtime)
-   {
-      tick=(unixtime-TNG0UNIX)*TNGSTARPERSECOND;
-      len=0.0;
-   }
-
-   static void create_julian_day(int|float jd)
-   {
-      tick=(jd-TNG0JULIAN)*TNGSTARPERJULIAN;
-      len=0.0;
-   }
-
-//! method float tics()
-//!	This gives back the number of stardate tics
-//!	in the period.
-
-   float tics()
-   {
-      return len;
-   }
-
-//! method int number_of_seconds()
-//! method int number_of_days()
-//!	This gives back the Gregorian/Earth/ISO number of seconds
-//!	and number of days, for convinience and conversion to
-//!	other calendars.
-
-   int number_of_seconds()
-   {
-      return (int)(len/TNGSTARPERSECOND);
-   }
-
-   int number_of_days()
-   {
-      return (int)(len/TNGSTARPERJULIAN);
-   }
-
-   int unix_time()
-   {
-      return ((int)(tick/TNGSTARPERSECOND))+TNG0UNIX;
-   }
-
-   float julian_day()
-   {
-      return ((int)(tick/TNGSTARPERJULIAN))+TNG0JULIAN;
-   }
-
-   TimeRange add(int n,void|this_program step)
-   {
-      float x;
-      if (!step) 
-	 x=len;
-      else 
-      {
-	 if (!step->is_stardate)
-	    error("add: Incompatible type %O\n",step);
-	 x=step->len;
-      }
-
-
-      if (n&&x)
-	 return Tick("stardate",rules,tick+x,len);
-      return this_object();
-   }
-
-   static void convert_from(TimeRange other)
-   {
-      if (other->unix_time)
-	 create_unixtime_default(other->unix_time());
-      else
-	 ::convert_from(other);
-      if (other->is_stardate)
-      {
-	 tick=other->tick;
-	 len=other->len;
       }
-      else if (other->number_of_seconds)
-	 len=TNGSTARPERSECOND*other->number_of_seconds();
-      else if (other->number_of_days)
-	 len=TNGSTARPERJULIAN*other->number_of_days();
-      else
-	 len=0.0;
-   }
-
-   static TimeRange _set_size(int n,TimeRange x)
-   {
-      if (!x->is_stardate)
-	 error("distance: Incompatible type %O\n",x);
-      return Tick("stardate",rules,tick,x->len);
-   }
-
-   TimeRange place(TimeRange what,void|int force)
-   {
-// can't do this
-      return this_object();
-   }
-
-   array(TimeRange) split(int n)
-   {
-      if (!n) return ({this_object()}); // foo
-
-      float z=tick;
-      float l=len/n;
-      array(TimeRange) res=({});
-
-      while (n--)
-	 res+=({Tick("stardate",rules,z,l)}),z+=l;
-
-      return res;
-   }
-
-   TimeRange beginning()
-   {
-      if (!len) return this_object();
-      return Tick("stardate",rules,tick,0.0);
-   }
-
-   TimeRange end()
-   {
-      if (!len) return this_object();
-      return Tick("stardate",rules,tick+len,0.0);
-   }
-
-   TimeRange distance(TimeRange to)
-   {
-      if (!to->is_stardate)
-	 error("distance: Incompatible type %O\n",to);
-      if (to->tick<tick)
-	 error("negative distance\n");
-      return Tick("stardate",rules,tick,to->tick-tick);
-   }
-
-   array _compare(TimeRange with)
-   {
-      float b1=tick;
-      float e1=tick+len;
-      float b2,e2;
-      if (with->is_stardate)
-	 b2=with->tick,e2=b2+with->len;
       else 
-	 ::_compare(with);
-#define CMP(A,B) ( ((A)<(B))?-1:((A)>(B))?1:0 )
-      return ({ CMP(b1,b2),CMP(b1,e2),CMP(e1,b2),CMP(e1,e2) });
+	 jd=(float)day[0];
+      from_julian_day(jd);
    }
 
-   int __hash() { return (int)tick; }
-
-   cTick set_ruleset(Ruleset r)
+   static void from_stardate(float f)
    {
-      return Tick("stardate",r,tick,len);
+      tics=f;
+      jd=f/TNGSTARPERJULIAN+2569518.5;
    }
 
-   string _sprintf(int t)
+   static void from_julian_day(float f)
    {
-      switch (t)
-      {
-	 case 'O':
-	    if (len!=0.0) 
-	       return sprintf("Tick(%s)",nice_print_period());
-	    return sprintf("Tick(%s)",nice_print());
-	 default:
-	    return 0;
-      }
+      jd=f;
+      tics=(f-2569518.5)*TNGSTARPERJULIAN;
    }
 
-   string nice_print_period()
-   {
-      if (len>0.010)
-	 return sprintf("%s..%s",nice_print(),end()->nice_print());
-      else
-	 return sprintf("%s..%+g",nice_print(),len);
-   }
+//-- nonstandard methods --------------------------------------------
 
-   string nice_print()
+   float number()
    {
-      return sprintf("%.3f",tick);
+      return tics;
    }
-
-//! string format_long()
-//! string format_short()
-//! string format_vshort()
-//!	Format the stardate tick nicely.
-//!	<pre>
-//!	   long    "-322537.312"
-//!	   short   "77463.312"  (w/o >100000-component)
-//!	   short   "7463.312"  (w/o >10000-component)
-//!	</pre>
-
-   string format_long()
+   
+   int julian_day()
    {
-      return sprintf("%.3f",tick);
+      return (int)jd;
    }
 
-   string format_short()
+   float julian_day_f()
    {
-      return sprintf("%.3f",tick-((int)tick/100000)*100000);
+      return jd;
    }
-
-   string format_vshort()
-   {
-      return sprintf("%.3f",tick-((int)tick/10000)*10000);
-   }
-}
-
-// compat
-function(mixed...:cTick) TNGDate=cTick;
-
-// for events
-function(mixed...:cTick) Day=cTick;
-
-//------------------------------------------------------------------------
-//  global convinience functions
-//------------------------------------------------------------------------
-
-//! method TimeofDay now()
-//!	Give the zero-length time period of the
-//!	current time.
-
-TimeofDay now()
-{
-   return Tick();
 }
diff --git a/lib/modules/Calendar.pmod/Swedish.pmod b/lib/modules/Calendar.pmod/Swedish.pmod
index 4226cb5cdf..252f1e5567 100644
--- a/lib/modules/Calendar.pmod/Swedish.pmod
+++ b/lib/modules/Calendar.pmod/Swedish.pmod
@@ -9,6 +9,8 @@
 //!	purposes. 
 //!
 
+#pike __VERSION__
+
 import ".";
 inherit ISO:ISO;
 
diff --git a/lib/modules/Calendar.pmod/TZnames.pmod b/lib/modules/Calendar.pmod/TZnames.pmod
index 9a51bf4879..74b681a4fd 100644
--- a/lib/modules/Calendar.pmod/TZnames.pmod
+++ b/lib/modules/Calendar.pmod/TZnames.pmod
@@ -24,6 +24,8 @@
 //!	Please note that loading all the timezones can take some 
 //!	time, since they are generated and compiled on the fly.
 
+#pike __VERSION__
+
 mapping zones=
 ([
    "America":   ({"Scoresbysund","Godthab","Thule","New_York","Chicago",    
diff --git a/lib/modules/Calendar.pmod/Time.pmod b/lib/modules/Calendar.pmod/Time.pmod
index ea3feeacd5..00fc6d6a05 100644
--- a/lib/modules/Calendar.pmod/Time.pmod
+++ b/lib/modules/Calendar.pmod/Time.pmod
@@ -9,6 +9,8 @@
 //! 	is inherited by other modules (<ref>ISO</ref> by <ref>YMD</ref>, 
 //! 	for instance).
 
+#pike __VERSION__
+
 //  #pragma strict_types
 
 //- these classes majorly works on seconds
diff --git a/lib/modules/Calendar.pmod/TimeRanges.pmod b/lib/modules/Calendar.pmod/TimeRanges.pmod
index edbcb2a6f8..4aefad1329 100644
--- a/lib/modules/Calendar.pmod/TimeRanges.pmod
+++ b/lib/modules/Calendar.pmod/TimeRanges.pmod
@@ -1,5 +1,7 @@
 //! module Calendar
 
+#pike __VERSION__
+
 #define zero int(0..0)
 
 import ".";
diff --git a/lib/modules/Calendar.pmod/Timezone.pmod b/lib/modules/Calendar.pmod/Timezone.pmod
index 7f02cb4d08..1b879235fa 100644
--- a/lib/modules/Calendar.pmod/Timezone.pmod
+++ b/lib/modules/Calendar.pmod/Timezone.pmod
@@ -78,6 +78,8 @@
 //!	are not listed.
 
 
+#pike __VERSION__
+
 import ".";
 
 // ----------------------------------------------------------------
diff --git a/lib/modules/Calendar.pmod/YMD.pmod b/lib/modules/Calendar.pmod/YMD.pmod
index f558fd71c5..4bd41e649b 100644
--- a/lib/modules/Calendar.pmod/YMD.pmod
+++ b/lib/modules/Calendar.pmod/YMD.pmod
@@ -6,6 +6,8 @@
 //! ie, one with years, months, weeks and days
 //!
 
+#pike __VERSION__
+
 //  #pragma strict_types
 
 import ".";
diff --git a/lib/modules/Calendar.pmod/mkrules.pike b/lib/modules/Calendar.pmod/mkrules.pike
index ddd7c8a7a1..64298fe25b 100644
--- a/lib/modules/Calendar.pmod/mkrules.pike
+++ b/lib/modules/Calendar.pmod/mkrules.pike
@@ -10,8 +10,9 @@
 // and zic(8) is the usual compiler.
 
 // pike mkrules.pike ../data/{africa,antarctica,asia,australasia,backward,etcetera,europe,northamerica,pacificnew,southamerica,systemv}
-// $Id: mkrules.pike,v 1.2 2000/07/30 09:10:10 mirar Exp $
+// $Id: mkrules.pike,v 1.3 2000/09/26 18:59:24 hubbe Exp $
 
+#pike __VERSION__
 
 object cal=Calendar.ISO->set_timezone("UTC");
 function Year=cal->Year;
diff --git a/lib/modules/Calendar.pmod/module.pmod b/lib/modules/Calendar.pmod/module.pmod
index b64baed6e8..1481452ffb 100644
--- a/lib/modules/Calendar.pmod/module.pmod
+++ b/lib/modules/Calendar.pmod/module.pmod
@@ -1,3 +1,5 @@
+#pike __VERSION__
+
 static private int stage=0;
 static private int booted=0;
 static private object defcal;
diff --git a/lib/modules/Colors.pmod b/lib/modules/Colors.pmod
index 9cf8a54b8c..1184f9ef7f 100644
--- a/lib/modules/Colors.pmod
+++ b/lib/modules/Colors.pmod
@@ -1,3 +1,5 @@
+#pike __VERSION__
+
 #define COLOR(C,R,G,B) constant C=({R,G,B})
 
 COLOR(aliceblue,240,248,255);
diff --git a/lib/modules/Crypto.pmod b/lib/modules/Crypto.pmod
index 35ce464ed6..adb5e3987c 100644
--- a/lib/modules/Crypto.pmod
+++ b/lib/modules/Crypto.pmod
@@ -2,6 +2,8 @@
  *
  */
 
+#pike __VERSION__
+
 static private mixed crypto_module;
 
 mixed `[](string name)
diff --git a/lib/modules/Crypto/_rsa.pike b/lib/modules/Crypto/_rsa.pike
index 54fda3454c..41702851bb 100644
--- a/lib/modules/Crypto/_rsa.pike
+++ b/lib/modules/Crypto/_rsa.pike
@@ -1,8 +1,10 @@
-/* $Id: _rsa.pike,v 1.3 2000/06/13 19:05:37 grubba Exp $
+/* $Id: _rsa.pike,v 1.4 2000/09/26 18:59:26 hubbe Exp $
  *
  * Follow the PKCS#1 standard for padding and encryption.
  */
 
+#pike __VERSION__
+
 #if constant(Gmp.mpz)
 
 #define bignum object(Gmp.mpz)
diff --git a/lib/modules/Crypto/des3.pike b/lib/modules/Crypto/des3.pike
index 6fee92b7cf..b0ba21409a 100644
--- a/lib/modules/Crypto/des3.pike
+++ b/lib/modules/Crypto/des3.pike
@@ -1,7 +1,9 @@
-/* $Id: des3.pike,v 1.4 1997/05/31 22:03:46 grubba Exp $
+/* $Id: des3.pike,v 1.5 2000/09/26 18:59:26 hubbe Exp $
  *
  */
 
+#pike __VERSION__
+
 inherit Crypto.pipe : pipe;
 
 private array(object) d;
diff --git a/lib/modules/Crypto/des3_cbc.pike b/lib/modules/Crypto/des3_cbc.pike
index 87244648b2..f02f546aa2 100644
--- a/lib/modules/Crypto/des3_cbc.pike
+++ b/lib/modules/Crypto/des3_cbc.pike
@@ -1,7 +1,9 @@
-/* $Id: des3_cbc.pike,v 1.2 1997/05/31 22:03:46 grubba Exp $
+/* $Id: des3_cbc.pike,v 1.3 2000/09/26 18:59:27 hubbe Exp $
  *
  */
 
+#pike __VERSION__
+
 inherit Crypto.cbc : cbc;
 
 void create()
diff --git a/lib/modules/Crypto/des_cbc.pike b/lib/modules/Crypto/des_cbc.pike
index 8305119d9d..09f73e9f6b 100644
--- a/lib/modules/Crypto/des_cbc.pike
+++ b/lib/modules/Crypto/des_cbc.pike
@@ -1,7 +1,9 @@
-/* $Id: des_cbc.pike,v 1.2 1997/05/31 22:03:47 grubba Exp $
+/* $Id: des_cbc.pike,v 1.3 2000/09/26 18:59:28 hubbe Exp $
  *
  */
 
+#pike __VERSION__
+
 inherit Crypto.cbc : cbc;
 
 void create()
diff --git a/lib/modules/Crypto/dsa.pike b/lib/modules/Crypto/dsa.pike
index f0a08a724c..b338435d48 100644
--- a/lib/modules/Crypto/dsa.pike
+++ b/lib/modules/Crypto/dsa.pike
@@ -3,6 +3,8 @@
  * The Digital Signature Algorithm (aka DSS, Digital Signature Standard).
  */
 
+#pike __VERSION__
+
 #if constant(Gmp.mpz)
 
 #define bignum object(Gmp.mpz)
diff --git a/lib/modules/Crypto/hmac.pike b/lib/modules/Crypto/hmac.pike
index f4a3be6678..5e5489210b 100644
--- a/lib/modules/Crypto/hmac.pike
+++ b/lib/modules/Crypto/hmac.pike
@@ -3,6 +3,8 @@
  * HMAC, defined by RFC-2104
  */
 
+#pike __VERSION__
+
 function H;  /* Constructor for hash object */
 
 /* B is the size of one compression block, in octets. */
diff --git a/lib/modules/Crypto/idea_cbc.pike b/lib/modules/Crypto/idea_cbc.pike
index ab6a709293..59097e3396 100644
--- a/lib/modules/Crypto/idea_cbc.pike
+++ b/lib/modules/Crypto/idea_cbc.pike
@@ -1,7 +1,9 @@
-/* $Id: idea_cbc.pike,v 1.2 1997/05/31 22:03:48 grubba Exp $
+/* $Id: idea_cbc.pike,v 1.3 2000/09/26 18:59:30 hubbe Exp $
  *
  */
 
+#pike __VERSION__
+
 inherit Crypto.cbc : cbc;
 
 void create()
diff --git a/lib/modules/Crypto/randomness.pmod b/lib/modules/Crypto/randomness.pmod
index 63e442e54c..f6d7db7baf 100644
--- a/lib/modules/Crypto/randomness.pmod
+++ b/lib/modules/Crypto/randomness.pmod
@@ -1,4 +1,4 @@
-/* $Id: randomness.pmod,v 1.16 2000/04/15 09:34:26 hubbe Exp $
+/* $Id: randomness.pmod,v 1.17 2000/09/26 18:59:31 hubbe Exp $
  */
 
 //! module Crypto
@@ -10,6 +10,8 @@
  * will block if it can't provide enough random bits, while /dev/urandom
  * will degenerate into a reasonably strong pseudo random generator */
 
+#pike __VERSION__
+
 static constant RANDOM_DEVICE = "/dev/random";
 static constant PRANDOM_DEVICE = "/dev/urandom";
 
diff --git a/lib/modules/Crypto/rsa.pike b/lib/modules/Crypto/rsa.pike
index d62795859d..ee30a6c3b2 100644
--- a/lib/modules/Crypto/rsa.pike
+++ b/lib/modules/Crypto/rsa.pike
@@ -1,8 +1,10 @@
-/* $Id: rsa.pike,v 1.25 2000/06/20 15:13:10 grubba Exp $
+/* $Id: rsa.pike,v 1.26 2000/09/26 18:59:32 hubbe Exp $
  *
  * Follow the PKCS#1 standard for padding and encryption.
  */
 
+#pike __VERSION__
+
 #if constant(Gmp.mpz)
 
 #define bignum object(Gmp.mpz)
diff --git a/lib/modules/Debug.pmod/werror.pmod b/lib/modules/Debug.pmod/werror.pmod
index a94c396fd9..ba422d30f5 100644
--- a/lib/modules/Debug.pmod/werror.pmod
+++ b/lib/modules/Debug.pmod/werror.pmod
@@ -1,10 +1,12 @@
 /*
- * $Id: werror.pmod,v 1.3 1999/12/30 00:36:10 grubba Exp $
+ * $Id: werror.pmod,v 1.4 2000/09/26 18:59:33 hubbe Exp $
  *
  * Some functions to simplify writing debug-messages.
  * (Aren't we lazy? :-) )
  */
 
+#pike __VERSION__
+
 function(:int(0..0)) `[](string print_what)
 {
    if (print_what=="") print_what="bipp\n";
diff --git a/lib/modules/Filesystem.pmod/System.pike b/lib/modules/Filesystem.pmod/System.pike
index a54d76f138..07f16100cc 100644
--- a/lib/modules/Filesystem.pmod/System.pike
+++ b/lib/modules/Filesystem.pmod/System.pike
@@ -1,3 +1,5 @@
+#pike __VERSION__
+
 inherit Filesystem.Base;
 
 static Filesystem.Base parent; // parent filesystem
diff --git a/lib/modules/Filesystem.pmod/Tar.pmod b/lib/modules/Filesystem.pmod/Tar.pmod
index 5fc44f32ce..d47083dcb0 100644
--- a/lib/modules/Filesystem.pmod/Tar.pmod
+++ b/lib/modules/Filesystem.pmod/Tar.pmod
@@ -1,7 +1,9 @@
 /*
- * $Id: Tar.pmod,v 1.7 2000/09/18 17:46:38 grubba Exp $
+ * $Id: Tar.pmod,v 1.8 2000/09/26 18:59:35 hubbe Exp $
  */
 
+#pike __VERSION__
+
 class _Tar  // filesystem
 {
   Stdio.File fd;
diff --git a/lib/modules/Filesystem.pmod/module.pmod b/lib/modules/Filesystem.pmod/module.pmod
index 3bc7528617..ec98d6aa61 100644
--- a/lib/modules/Filesystem.pmod/module.pmod
+++ b/lib/modules/Filesystem.pmod/module.pmod
@@ -1,3 +1,5 @@
+#pike __VERSION__
+
 class Stat
 {
   int mode;
diff --git a/lib/modules/Function.pmod b/lib/modules/Function.pmod
index 7ab3243845..c33b1969c9 100644
--- a/lib/modules/Function.pmod
+++ b/lib/modules/Function.pmod
@@ -1 +1,3 @@
+#pike __VERSION__
+
 constant defined = __builtin.function_defined;
diff --git a/lib/modules/GDK.pmod b/lib/modules/GDK.pmod
index abcbabacb3..55e5b27ade 100644
--- a/lib/modules/GDK.pmod
+++ b/lib/modules/GDK.pmod
@@ -1,3 +1,5 @@
+#pike __VERSION__
+
 #define INDEX(x) GTK[x]
 
 object Atom = class
diff --git a/lib/modules/GLU.pmod b/lib/modules/GLU.pmod
index 773d878a0c..51654442db 100644
--- a/lib/modules/GLU.pmod
+++ b/lib/modules/GLU.pmod
@@ -1,8 +1,11 @@
 /*
- * $Id: GLU.pmod,v 1.6 1999/11/09 00:02:09 grubba Exp $
+ * $Id: GLU.pmod,v 1.7 2000/09/26 18:59:04 hubbe Exp $
  *
  * GL Utilities module.
  */
+
+#pike __VERSION__
+
 #if constant(GL.glGet)
 import GL;
 import Math;
diff --git a/lib/modules/GTKSupport.pmod/Alert.pike b/lib/modules/GTKSupport.pmod/Alert.pike
index 92c9a65360..ada2c3203d 100644
--- a/lib/modules/GTKSupport.pmod/Alert.pike
+++ b/lib/modules/GTKSupport.pmod/Alert.pike
@@ -1,3 +1,5 @@
+#pike __VERSION__
+
 inherit GTK.Dialog;
 
 void begone(object w2)
diff --git a/lib/modules/GTKSupport.pmod/MenuFactory.pmod b/lib/modules/GTKSupport.pmod/MenuFactory.pmod
index cea49d7806..c0e70c14c4 100644
--- a/lib/modules/GTKSupport.pmod/MenuFactory.pmod
+++ b/lib/modules/GTKSupport.pmod/MenuFactory.pmod
@@ -1,3 +1,5 @@
+#pike __VERSION__
+
 #define FLAG_SHIFT   1
 #define FLAG_CTRL    4
 #define FLAG_ALT     8
diff --git a/lib/modules/GTKSupport.pmod/SClist.pike b/lib/modules/GTKSupport.pmod/SClist.pike
index 85023800f1..3f212be8b6 100644
--- a/lib/modules/GTKSupport.pmod/SClist.pike
+++ b/lib/modules/GTKSupport.pmod/SClist.pike
@@ -1,3 +1,5 @@
+#pike __VERSION__
+
 inherit GTK.ScrolledWindow;
 
 GTK.Clist cl;
diff --git a/lib/modules/GTKSupport.pmod/Util.pmod b/lib/modules/GTKSupport.pmod/Util.pmod
index 5c971a90e5..84496ef83e 100644
--- a/lib/modules/GTKSupport.pmod/Util.pmod
+++ b/lib/modules/GTKSupport.pmod/Util.pmod
@@ -1,3 +1,5 @@
+#pike __VERSION__
+
 // This function will be easier to write in newer pikes, where there
 // will be a Image.ANY.decode function, but this will do for now. It
 // decoded an image from a string and returns a mapping with the
diff --git a/lib/modules/GTKSupport.pmod/pCtree.pike b/lib/modules/GTKSupport.pmod/pCtree.pike
index f345053ce7..0432fa67f4 100644
--- a/lib/modules/GTKSupport.pmod/pCtree.pike
+++ b/lib/modules/GTKSupport.pmod/pCtree.pike
@@ -1,3 +1,5 @@
+#pike __VERSION__
+
 inherit GTK.Ctree:ctree;
 
 class Node
diff --git a/lib/modules/GTKSupport.pmod/pDrawingArea.pike b/lib/modules/GTKSupport.pmod/pDrawingArea.pike
index 7e77ce9cdf..b239be8728 100644
--- a/lib/modules/GTKSupport.pmod/pDrawingArea.pike
+++ b/lib/modules/GTKSupport.pmod/pDrawingArea.pike
@@ -1,3 +1,5 @@
+#pike __VERSION__
+
 inherit GTK.DrawingArea;
 static object backing_store, bgc;
 static int _xsize, _ysize, is_realized;
diff --git a/lib/modules/Geography.pmod/Countries.pmod b/lib/modules/Geography.pmod/Countries.pmod
index 43b75f98e5..57041dabde 100644
--- a/lib/modules/Geography.pmod/Countries.pmod
+++ b/lib/modules/Geography.pmod/Countries.pmod
@@ -1,3 +1,5 @@
+#pike __VERSION__
+
 array(Country) countries=
 ({
    Country("AD","Andorra"),
diff --git a/lib/modules/Geography.pmod/Position.pike b/lib/modules/Geography.pmod/Position.pike
index 9ce29d8266..f704863be3 100644
--- a/lib/modules/Geography.pmod/Position.pike
+++ b/lib/modules/Geography.pmod/Position.pike
@@ -1,3 +1,5 @@
+#pike __VERSION__
+
 //!
 //! module Geographical
 //! class Position
diff --git a/lib/modules/Getopt.pmod b/lib/modules/Getopt.pmod
index 5695d5249d..057c3fa73a 100644
--- a/lib/modules/Getopt.pmod
+++ b/lib/modules/Getopt.pmod
@@ -1,3 +1,5 @@
+#pike __VERSION__
+
 //  startpid = (int)find_arg(argv, "s", ({ "start-script-pid" }),
 // 			     ({ "ROXEN_START_SCRIPT_PID"}));
 
diff --git a/lib/modules/Gnome.pmod b/lib/modules/Gnome.pmod
index 9e003f04f3..3542001d63 100644
--- a/lib/modules/Gnome.pmod
+++ b/lib/modules/Gnome.pmod
@@ -1,3 +1,5 @@
+#pike __VERSION__
+
 mixed `[](string what)
 {
   if(what == "_module_value") return ([])[0];
diff --git a/lib/modules/Graphics.pmod/Graph.pmod/create_bars.pike b/lib/modules/Graphics.pmod/Graph.pmod/create_bars.pike
index b143252dba..4bd4c61ace 100755
--- a/lib/modules/Graphics.pmod/Graph.pmod/create_bars.pike
+++ b/lib/modules/Graphics.pmod/Graph.pmod/create_bars.pike
@@ -1,5 +1,7 @@
 #!NOMODULE
 
+#pike __VERSION__
+
 #include "graph.h"
 
 import Image;
@@ -9,7 +11,7 @@ import Stdio;
 inherit "polyline.pike";
 inherit "create_graph.pike";
 
-constant cvs_version = "$Id: create_bars.pike,v 1.1 1999/09/30 13:03:56 hedda Exp $";
+constant cvs_version = "$Id: create_bars.pike,v 1.2 2000/09/26 18:59:43 hubbe Exp $";
 
 /*
  * name = "BG: Create bars";
diff --git a/lib/modules/Graphics.pmod/Graph.pmod/create_graph.pike b/lib/modules/Graphics.pmod/Graph.pmod/create_graph.pike
index c04e780a06..6a56a36d23 100755
--- a/lib/modules/Graphics.pmod/Graph.pmod/create_graph.pike
+++ b/lib/modules/Graphics.pmod/Graph.pmod/create_graph.pike
@@ -1,5 +1,7 @@
 #!NOMODULE
 
+#pike __VERSION__
+
 #include "graph.h"
 
 import Image;
@@ -8,7 +10,7 @@ import Stdio;
 
 inherit "polyline.pike";
 
-constant cvs_version = "$Id: create_graph.pike,v 1.2 2000/07/24 08:08:43 hedda Exp $";
+constant cvs_version = "$Id: create_graph.pike,v 1.3 2000/09/26 18:59:43 hubbe Exp $";
 
 /*
  * name = "BG: Create graphs";
diff --git a/lib/modules/Graphics.pmod/Graph.pmod/create_pie.pike b/lib/modules/Graphics.pmod/Graph.pmod/create_pie.pike
index 74a6be03a5..d1f691b856 100644
--- a/lib/modules/Graphics.pmod/Graph.pmod/create_pie.pike
+++ b/lib/modules/Graphics.pmod/Graph.pmod/create_pie.pike
@@ -1,5 +1,7 @@
 #!NOMODULE
 
+#pike __VERSION__
+
 #include "graph.h"
 
 // import Image;
@@ -10,7 +12,7 @@ inherit "polyline.pike";
 inherit "create_graph.pike";
 inherit "create_bars.pike";
 
-constant cvs_version = "$Id: create_pie.pike,v 1.2 2000/08/28 03:07:27 hedda Exp $";
+constant cvs_version = "$Id: create_pie.pike,v 1.3 2000/09/26 18:59:44 hubbe Exp $";
 
 /*
  * name = "BG: Create pies";
diff --git a/lib/modules/Graphics.pmod/Graph.pmod/module.pmod b/lib/modules/Graphics.pmod/Graph.pmod/module.pmod
index 8e4a912aa3..e8e9037b4c 100644
--- a/lib/modules/Graphics.pmod/Graph.pmod/module.pmod
+++ b/lib/modules/Graphics.pmod/Graph.pmod/module.pmod
@@ -1,3 +1,4 @@
+#pike __VERSION__
 
 #include "graph.h"
 
diff --git a/lib/modules/Graphics.pmod/Graph.pmod/polyline.pike b/lib/modules/Graphics.pmod/Graph.pmod/polyline.pike
index 3033b772f4..b307157b78 100644
--- a/lib/modules/Graphics.pmod/Graph.pmod/polyline.pike
+++ b/lib/modules/Graphics.pmod/Graph.pmod/polyline.pike
@@ -2,9 +2,11 @@
 /*
  * name = "BG: Create pies";
  * doc = "Business Graphics sub-module providing draw functions.";
- * $Id: polyline.pike,v 1.1 1999/09/30 13:04:17 hedda Exp $
+ * $Id: polyline.pike,v 1.2 2000/09/26 18:59:44 hubbe Exp $
  */
 
+#pike __VERSION__
+
 #define CAP_BUTT       0
 #define CAP_ROUND      1
 #define CAP_PROJECTING 2
diff --git a/lib/modules/Graphics.pmod/Graph.pmod/test.pike b/lib/modules/Graphics.pmod/Graph.pmod/test.pike
index e4b87400e1..65cdeac726 100755
--- a/lib/modules/Graphics.pmod/Graph.pmod/test.pike
+++ b/lib/modules/Graphics.pmod/Graph.pmod/test.pike
@@ -1,5 +1,7 @@
 
 //This is a testprogram that creates a simple graph.
+#pike __VERSION__
+
 import ".";
 
 void main()
diff --git a/lib/modules/LR.pmod/Grammar_parser.pmod b/lib/modules/LR.pmod/Grammar_parser.pmod
index 4c6a371331..2e9a0d5450 100755
--- a/lib/modules/LR.pmod/Grammar_parser.pmod
+++ b/lib/modules/LR.pmod/Grammar_parser.pmod
@@ -1,7 +1,9 @@
 #!/usr/local/bin/pike
 
+#pike __VERSION__
+
 /*
- * $Id: Grammar_parser.pmod,v 1.8 2000/03/30 21:19:17 grubba Exp $
+ * $Id: Grammar_parser.pmod,v 1.9 2000/09/26 18:59:45 hubbe Exp $
  *
  * Generates a parser from a textual specification.
  *
@@ -10,7 +12,7 @@
 
 //.
 //. File:	Grammar_parser.pmod
-//. RCSID:	$Id: Grammar_parser.pmod,v 1.8 2000/03/30 21:19:17 grubba Exp $
+//. RCSID:	$Id: Grammar_parser.pmod,v 1.9 2000/09/26 18:59:45 hubbe Exp $
 //. Author:	Henrik grubbstr�m (grubba@infovav.se)
 //.
 //. Synopsis:	Generates an LR parser from a textual specification.
diff --git a/lib/modules/LR.pmod/item.pike b/lib/modules/LR.pmod/item.pike
index 176759e140..4d1f7798ee 100644
--- a/lib/modules/LR.pmod/item.pike
+++ b/lib/modules/LR.pmod/item.pike
@@ -1,14 +1,16 @@
 /*
- * $Id: item.pike,v 1.4 1998/11/12 19:45:41 grubba Exp $
+ * $Id: item.pike,v 1.5 2000/09/26 18:59:46 hubbe Exp $
  *
  * An LR(0) item
  *
  * Henrik Grubbstr�m 1996-11-27
  */
 
+#pike __VERSION__
+
 //.
 //. File:	item.pike
-//. RCSID:	$Id: item.pike,v 1.4 1998/11/12 19:45:41 grubba Exp $
+//. RCSID:	$Id: item.pike,v 1.5 2000/09/26 18:59:46 hubbe Exp $
 //. Author:	Henrik Grubbstr�m (grubba@infovav.se)
 //.
 //. Synopsis:	An LR(0) item
diff --git a/lib/modules/LR.pmod/lr.pike b/lib/modules/LR.pmod/lr.pike
index 4552a9eabf..cfc47084a8 100755
--- a/lib/modules/LR.pmod/lr.pike
+++ b/lib/modules/LR.pmod/lr.pike
@@ -1,13 +1,15 @@
 #!/usr/local/bin/pike
 
 /*
- * $Id: lr.pike,v 1.3 2000/03/30 21:18:53 grubba Exp $
+ * $Id: lr.pike,v 1.4 2000/09/26 18:59:46 hubbe Exp $
  *
  * An LR(1) Parser in Pike
  *
  * Henrik Grubbstr�m 1996-11-23
  */
 
+#pike __VERSION__
+
 import LR;
 
 object(parser) g;
diff --git a/lib/modules/LR.pmod/parser.pike b/lib/modules/LR.pmod/parser.pike
index 95493bd897..0f87ff1d39 100644
--- a/lib/modules/LR.pmod/parser.pike
+++ b/lib/modules/LR.pmod/parser.pike
@@ -1,5 +1,5 @@
 /*
- * $Id: parser.pike,v 1.22 2000/02/16 22:11:41 grubba Exp $
+ * $Id: parser.pike,v 1.23 2000/09/26 18:59:46 hubbe Exp $
  *
  * A BNF-grammar in Pike.
  * Compiles to a LALR(1) state-machine.
@@ -7,9 +7,11 @@
  * Henrik Grubbstr�m 1996-11-24
  */
 
+#pike __VERSION__
+
 //.
 //. File:	parser.pike
-//. RCSID:	$Id: parser.pike,v 1.22 2000/02/16 22:11:41 grubba Exp $
+//. RCSID:	$Id: parser.pike,v 1.23 2000/09/26 18:59:46 hubbe Exp $
 //. Author:	Henrik Grubbstr�m (grubba@infovav.se)
 //.
 //. Synopsis:	LALR(1) parser and compiler.
diff --git a/lib/modules/LR.pmod/priority.pike b/lib/modules/LR.pmod/priority.pike
index 3eeacb0898..a9d93c9c3f 100644
--- a/lib/modules/LR.pmod/priority.pike
+++ b/lib/modules/LR.pmod/priority.pike
@@ -1,14 +1,16 @@
 /*
- * $Id: priority.pike,v 1.2 1997/03/30 17:28:27 grubba Exp $
+ * $Id: priority.pike,v 1.3 2000/09/26 18:59:47 hubbe Exp $
  *
  * Rule priority specification
  *
  * Henrik Grubbstr�m 1996-12-05
  */
 
+#pike __VERSION__
+
 //.
 //. File:	priority.pike
-//. RCSID:	$Id: priority.pike,v 1.2 1997/03/30 17:28:27 grubba Exp $
+//. RCSID:	$Id: priority.pike,v 1.3 2000/09/26 18:59:47 hubbe Exp $
 //. Author:	Henrik Grubbstr�m (grubba@infovav.se)
 //.
 //. Synopsis:	Rule priority specification.
diff --git a/lib/modules/LR.pmod/rule.pike b/lib/modules/LR.pmod/rule.pike
index 4d4393b05d..4258335c72 100644
--- a/lib/modules/LR.pmod/rule.pike
+++ b/lib/modules/LR.pmod/rule.pike
@@ -1,14 +1,16 @@
 /*
- * $Id: rule.pike,v 1.5 1998/11/13 02:36:18 grubba Exp $
+ * $Id: rule.pike,v 1.6 2000/09/26 18:59:47 hubbe Exp $
  *
  * A BNF-rule.
  *
  * Henrik Grubbstr�m 1996-11-24
  */
 
+#pike __VERSION__
+
 //.
 //. File:	rule.pike
-//. RCSID:	$Id: rule.pike,v 1.5 1998/11/13 02:36:18 grubba Exp $
+//. RCSID:	$Id: rule.pike,v 1.6 2000/09/26 18:59:47 hubbe Exp $
 //. Author:	Henrik Grubbstr�m (grubba@infovav.se)
 //.
 //. Synopsis:	Implements a BNF rule.
diff --git a/lib/modules/LR.pmod/scanner.pike b/lib/modules/LR.pmod/scanner.pike
index 730f8bada5..415d454a8e 100644
--- a/lib/modules/LR.pmod/scanner.pike
+++ b/lib/modules/LR.pmod/scanner.pike
@@ -1,8 +1,9 @@
 /*
- * $Id: scanner.pike,v 1.1 1997/03/03 23:50:22 grubba Exp $
+ * $Id: scanner.pike,v 1.2 2000/09/26 18:59:47 hubbe Exp $
  *
  * Scanner using reg-exps.
  *
  * Henrik Grubbstr�m 1996-12-16
  */
 
+#pike __VERSION__
diff --git a/lib/modules/Languages.pmod/PLIS.pmod b/lib/modules/Languages.pmod/PLIS.pmod
index 005da63320..4f70bb8ea9 100644
--- a/lib/modules/Languages.pmod/PLIS.pmod
+++ b/lib/modules/Languages.pmod/PLIS.pmod
@@ -3,6 +3,8 @@
  * PLIS (Permuted Lisp). A Lisp language somewhat similar to scheme.
  */
 
+#pike __VERSION__
+
 #define error(X) throw( ({ (X), backtrace() }) )
 
 #ifdef LISP_DEBUG
diff --git a/lib/modules/Locale.pmod/Charset.pmod b/lib/modules/Locale.pmod/Charset.pmod
index 9d5424f959..5c8a3d921d 100644
--- a/lib/modules/Locale.pmod/Charset.pmod
+++ b/lib/modules/Locale.pmod/Charset.pmod
@@ -1 +1,3 @@
+#pike __VERSION__
+
 inherit _Charset;
diff --git a/lib/modules/Locale.pmod/Gettext.pmod b/lib/modules/Locale.pmod/Gettext.pmod
index d9f2f6144d..0c37d0d612 100644
--- a/lib/modules/Locale.pmod/Gettext.pmod
+++ b/lib/modules/Locale.pmod/Gettext.pmod
@@ -1 +1,3 @@
+#pike __VERSION__
+
 inherit Gettext;
diff --git a/lib/modules/Locale.pmod/module.pmod b/lib/modules/Locale.pmod/module.pmod
index 91a6b12af6..a5ede95c58 100644
--- a/lib/modules/Locale.pmod/module.pmod
+++ b/lib/modules/Locale.pmod/module.pmod
@@ -1,6 +1,8 @@
 // Copyright � 2000, Roxen IS.
 // By Martin Nilsson
 
+#pike __VERSION__
+
 #define CLEAN_CYCLE 60*60
 //#define LOCALE_DEBUG
 //#define LOCALE_DEBUG_ALL
diff --git a/lib/modules/Parser.pmod/C.pmod b/lib/modules/Parser.pmod/C.pmod
index 5150b3869d..45ba0a1d67 100644
--- a/lib/modules/Parser.pmod/C.pmod
+++ b/lib/modules/Parser.pmod/C.pmod
@@ -1,3 +1,5 @@
+#pike __VERSION__
+
 mapping(string:string) global_groupings=(["{":"}","(":")","[":"]"]);
 
 array(string) split(string data)
diff --git a/lib/modules/Parser.pmod/Pike.pmod b/lib/modules/Parser.pmod/Pike.pmod
index 2733787ed1..5ea81f5c9c 100644
--- a/lib/modules/Parser.pmod/Pike.pmod
+++ b/lib/modules/Parser.pmod/Pike.pmod
@@ -1,3 +1,5 @@
+#pike __VERSION__
+
 inherit "C.pmod";
 
 array(string) split(string data)
diff --git a/lib/modules/Parser.pmod/XML.pmod/Simple.pike b/lib/modules/Parser.pmod/XML.pmod/Simple.pike
index be00dee46b..faca8ca0c3 100644
--- a/lib/modules/Parser.pmod/XML.pmod/Simple.pike
+++ b/lib/modules/Parser.pmod/XML.pmod/Simple.pike
@@ -1 +1,3 @@
+#pike __VERSION__
+
 inherit spider.XML;
diff --git a/lib/modules/Parser.pmod/XML.pmod/Tree.pmod b/lib/modules/Parser.pmod/XML.pmod/Tree.pmod
index ed94dd9c3c..0523d3328d 100644
--- a/lib/modules/Parser.pmod/XML.pmod/Tree.pmod
+++ b/lib/modules/Parser.pmod/XML.pmod/Tree.pmod
@@ -1,5 +1,7 @@
+#pike __VERSION__
+
 /*
- * $Id: Tree.pmod,v 1.3 2000/07/12 20:12:13 js Exp $
+ * $Id: Tree.pmod,v 1.4 2000/09/26 18:59:50 hubbe Exp $
  *
  */
 
diff --git a/lib/modules/Parser.pmod/module.pmod b/lib/modules/Parser.pmod/module.pmod
index d39fc420fc..30b26d3993 100644
--- a/lib/modules/Parser.pmod/module.pmod
+++ b/lib/modules/Parser.pmod/module.pmod
@@ -1,8 +1,10 @@
 /*
- * $Id: module.pmod,v 1.1 2000/05/07 00:41:32 hubbe Exp $
+ * $Id: module.pmod,v 1.2 2000/09/26 18:59:50 hubbe Exp $
  *
  */
 
+#pike __VERSION__
+
 inherit Parser._parser;
 
 //! module Parser
diff --git a/lib/modules/Process.pmod b/lib/modules/Process.pmod
index 7c4b2c1379..e45c17d594 100644
--- a/lib/modules/Process.pmod
+++ b/lib/modules/Process.pmod
@@ -1,3 +1,5 @@
+#pike __VERSION__
+
 #define error(X) throw( ({ (X), backtrace()[0..sizeof(backtrace())-2] }) )
 
 import Stdio;
diff --git a/lib/modules/Program.pmod b/lib/modules/Program.pmod
index 86ee7d3bc9..7da81ef687 100644
--- a/lib/modules/Program.pmod
+++ b/lib/modules/Program.pmod
@@ -1,3 +1,5 @@
+#pike __VERSION__
+
 constant inherit_list = __builtin.inherit_list;
 constant inherits = __builtin.program_inherits;
 constant implements = __builtin.program_implements;
diff --git a/lib/modules/Protocols.pmod/DNS.pmod b/lib/modules/Protocols.pmod/DNS.pmod
index 6b12879414..15b7aea2f7 100644
--- a/lib/modules/Protocols.pmod/DNS.pmod
+++ b/lib/modules/Protocols.pmod/DNS.pmod
@@ -4,7 +4,9 @@
 //! module Protocols
 //! submodule DNS
 
-//! $Id: DNS.pmod,v 1.49 2000/09/11 17:16:18 leif Exp $
+//! $Id: DNS.pmod,v 1.50 2000/09/26 18:59:51 hubbe Exp $
+
+#pike __VERSION__
 
 constant NOERROR=0;
 constant FORMERR=1;
diff --git a/lib/modules/Protocols.pmod/HTTP.pmod/Query.pike b/lib/modules/Protocols.pmod/HTTP.pmod/Query.pike
index d8ed9e8895..12cd01f326 100644
--- a/lib/modules/Protocols.pmod/HTTP.pmod/Query.pike
+++ b/lib/modules/Protocols.pmod/HTTP.pmod/Query.pike
@@ -1,3 +1,5 @@
+#pike __VERSION__
+
 /*
 **! module Protocols
 **! submodule HTTP
diff --git a/lib/modules/Protocols.pmod/HTTP.pmod/module.pmod b/lib/modules/Protocols.pmod/HTTP.pmod/module.pmod
index 4f519becf7..b735736c7e 100644
--- a/lib/modules/Protocols.pmod/HTTP.pmod/module.pmod
+++ b/lib/modules/Protocols.pmod/HTTP.pmod/module.pmod
@@ -1,3 +1,4 @@
+#pike __VERSION__
 
 //! module Protocols
 //! submodule HTTP
diff --git a/lib/modules/Protocols.pmod/IMAP.pmod/dummy_server.pike b/lib/modules/Protocols.pmod/IMAP.pmod/dummy_server.pike
index 003907cd0e..c8a70fabef 100644
--- a/lib/modules/Protocols.pmod/IMAP.pmod/dummy_server.pike
+++ b/lib/modules/Protocols.pmod/IMAP.pmod/dummy_server.pike
@@ -1,6 +1,7 @@
 /* test.pike
  *
  */
+#pike __VERSION__
 
 import .types;
 
diff --git a/lib/modules/Protocols.pmod/IMAP.pmod/imap_server.pike b/lib/modules/Protocols.pmod/IMAP.pmod/imap_server.pike
index cdd0925883..b10310f8d4 100644
--- a/lib/modules/Protocols.pmod/IMAP.pmod/imap_server.pike
+++ b/lib/modules/Protocols.pmod/IMAP.pmod/imap_server.pike
@@ -1,7 +1,8 @@
 /* imap_server.pike
  *
- * $Id: imap_server.pike,v 1.18 1999/08/12 00:44:16 marcus fake $
+ * $Id: imap_server.pike,v 1.19 2000/09/26 18:59:55 hubbe Exp $
  */
+#pike __VERSION__
 
 constant unauth_commands =
 ([ "noop" : .requests.noop,
diff --git a/lib/modules/Protocols.pmod/IMAP.pmod/parse_line.pike b/lib/modules/Protocols.pmod/IMAP.pmod/parse_line.pike
index ae9d78a094..2c097a1d25 100644
--- a/lib/modules/Protocols.pmod/IMAP.pmod/parse_line.pike
+++ b/lib/modules/Protocols.pmod/IMAP.pmod/parse_line.pike
@@ -2,6 +2,8 @@
  *
  */
 
+#pike __VERSION__
+
 class partial_literal
 {
   int length;
diff --git a/lib/modules/Protocols.pmod/IMAP.pmod/parser.pike b/lib/modules/Protocols.pmod/IMAP.pmod/parser.pike
index 8ff1c1fdee..3e7488a50d 100644
--- a/lib/modules/Protocols.pmod/IMAP.pmod/parser.pike
+++ b/lib/modules/Protocols.pmod/IMAP.pmod/parser.pike
@@ -3,6 +3,8 @@
  * Continuation based imap parser.
  */
 
+#pike __VERSION__
+
 object line; /* Current line */
 
 // FIXME: Propagete 0:s (errors) through the continuation functions
diff --git a/lib/modules/Protocols.pmod/IMAP.pmod/requests.pmod b/lib/modules/Protocols.pmod/IMAP.pmod/requests.pmod
index c04dcc44c1..dbef5874e1 100644
--- a/lib/modules/Protocols.pmod/IMAP.pmod/requests.pmod
+++ b/lib/modules/Protocols.pmod/IMAP.pmod/requests.pmod
@@ -1,8 +1,10 @@
 /* IMAP.requests
  *
- * $Id: requests.pmod,v 1.87 1999/12/31 22:32:02 grubba Exp $
+ * $Id: requests.pmod,v 1.88 2000/09/26 18:59:56 hubbe Exp $
  */
 
+#pike __VERSION__
+
 import .types;
 
 // FIXME: Pass the current request's tag when returning a "bad" action.
diff --git a/lib/modules/Protocols.pmod/IMAP.pmod/server.pike b/lib/modules/Protocols.pmod/IMAP.pmod/server.pike
index 1173c6ba2b..530d74e79c 100644
--- a/lib/modules/Protocols.pmod/IMAP.pmod/server.pike
+++ b/lib/modules/Protocols.pmod/IMAP.pmod/server.pike
@@ -3,6 +3,8 @@
  * Handles the server side of the protocol.
  */
 
+#pike __VERSION__
+
 inherit Protocols.Line.imap_style;
 
 int debug_level;
diff --git a/lib/modules/Protocols.pmod/IMAP.pmod/types.pmod b/lib/modules/Protocols.pmod/IMAP.pmod/types.pmod
index 45b62b8b59..fcbdbfee28 100644
--- a/lib/modules/Protocols.pmod/IMAP.pmod/types.pmod
+++ b/lib/modules/Protocols.pmod/IMAP.pmod/types.pmod
@@ -2,6 +2,8 @@
  *
  */
 
+#pike __VERSION__
+
 string imap_format(mixed x)
 {
   if (!x)
diff --git a/lib/modules/Protocols.pmod/IRC.pmod/Client.pike b/lib/modules/Protocols.pmod/IRC.pmod/Client.pike
index 77b565a1eb..7ff27b2d46 100644
--- a/lib/modules/Protocols.pmod/IRC.pmod/Client.pike
+++ b/lib/modules/Protocols.pmod/IRC.pmod/Client.pike
@@ -1,3 +1,5 @@
+#pike __VERSION__
+
 import ".";
 
 object raw;
diff --git a/lib/modules/Protocols.pmod/IRC.pmod/Error.pmod b/lib/modules/Protocols.pmod/IRC.pmod/Error.pmod
index c0e6a4a1b2..f3a84ad4e1 100644
--- a/lib/modules/Protocols.pmod/IRC.pmod/Error.pmod
+++ b/lib/modules/Protocols.pmod/IRC.pmod/Error.pmod
@@ -1,3 +1,4 @@
+#pike __VERSION__
 
 class StdErr
 {
diff --git a/lib/modules/Protocols.pmod/IRC.pmod/Raw.pike b/lib/modules/Protocols.pmod/IRC.pmod/Raw.pike
index 5b3927bc5f..e8dd500132 100644
--- a/lib/modules/Protocols.pmod/IRC.pmod/Raw.pike
+++ b/lib/modules/Protocols.pmod/IRC.pmod/Raw.pike
@@ -1,3 +1,5 @@
+#pike __VERSION__
+
 import ".";
 
 object con;
diff --git a/lib/modules/Protocols.pmod/IRC.pmod/Requests.pmod b/lib/modules/Protocols.pmod/IRC.pmod/Requests.pmod
index 46aae2e20d..2cba2f3618 100644
--- a/lib/modules/Protocols.pmod/IRC.pmod/Requests.pmod
+++ b/lib/modules/Protocols.pmod/IRC.pmod/Requests.pmod
@@ -1,3 +1,4 @@
+#pike __VERSION__
 
 /*
 PASS gurka
@@ -5,7 +6,7 @@ NICK Mirar^
 USER mirar mistel.idonex.se irc.starchat.net :Mirar is testing
 */
 
-string __cvs_id="$Id: Requests.pmod,v 1.1 1999/10/27 18:01:16 mirar Exp $";
+string __cvs_id="$Id: Requests.pmod,v 1.2 2000/09/26 18:59:58 hubbe Exp $";
 
 import ".";
 
diff --git a/lib/modules/Protocols.pmod/Ident.pmod b/lib/modules/Protocols.pmod/Ident.pmod
index b11b4a28e2..640b063613 100644
--- a/lib/modules/Protocols.pmod/Ident.pmod
+++ b/lib/modules/Protocols.pmod/Ident.pmod
@@ -1,7 +1,8 @@
 // An implementation of the IDENT protocol, specified in RFC 931.
 //
-// $Id: Ident.pmod,v 1.7 1999/01/30 01:35:41 grubba Exp $
+// $Id: Ident.pmod,v 1.8 2000/09/26 18:59:51 hubbe Exp $
 
+#pike __VERSION__
 
 // #define IDENT_DEBUG
 
diff --git a/lib/modules/Protocols.pmod/LDAP.pmod/client.pike b/lib/modules/Protocols.pmod/LDAP.pmod/client.pike
index 8d2568792a..cc501b537e 100644
--- a/lib/modules/Protocols.pmod/LDAP.pmod/client.pike
+++ b/lib/modules/Protocols.pmod/LDAP.pmod/client.pike
@@ -1,6 +1,8 @@
+#pike __VERSION__
+
 // LDAP client protocol implementation for Pike.
 //
-// $Id: client.pike,v 1.18 2000/07/25 09:59:19 hop Exp $
+// $Id: client.pike,v 1.19 2000/09/26 18:59:58 hubbe Exp $
 //
 // Honza Petrous, hop@unibase.cz
 //
diff --git a/lib/modules/Protocols.pmod/LDAP.pmod/ldap_privates.pmod b/lib/modules/Protocols.pmod/LDAP.pmod/ldap_privates.pmod
index 5be60addb8..0cdafc478c 100644
--- a/lib/modules/Protocols.pmod/LDAP.pmod/ldap_privates.pmod
+++ b/lib/modules/Protocols.pmod/LDAP.pmod/ldap_privates.pmod
@@ -1,6 +1,8 @@
+#pike __VERSION__
+
 // LDAP client protocol implementation for Pike.
 //
-// $Id: ldap_privates.pmod,v 1.4 2000/09/05 15:06:09 per Exp $
+// $Id: ldap_privates.pmod,v 1.5 2000/09/26 18:59:58 hubbe Exp $
 //
 // Honza Petrous, hop@unibase.cz
 //
diff --git a/lib/modules/Protocols.pmod/LDAP.pmod/protocol.pike b/lib/modules/Protocols.pmod/LDAP.pmod/protocol.pike
index e9f28835d4..a6f3464c7e 100644
--- a/lib/modules/Protocols.pmod/LDAP.pmod/protocol.pike
+++ b/lib/modules/Protocols.pmod/LDAP.pmod/protocol.pike
@@ -1,6 +1,8 @@
+#pike __VERSION__
+
 // LDAP client protocol implementation for Pike.
 //
-// $Id: protocol.pike,v 1.4 1999/12/30 15:37:26 grubba Exp $
+// $Id: protocol.pike,v 1.5 2000/09/26 18:59:59 hubbe Exp $
 //
 // Honza Petrous, hop@unibase.cz
 //
diff --git a/lib/modules/Protocols.pmod/LPD.pmod b/lib/modules/Protocols.pmod/LPD.pmod
index e72213608a..a63e996f4d 100644
--- a/lib/modules/Protocols.pmod/LPD.pmod
+++ b/lib/modules/Protocols.pmod/LPD.pmod
@@ -3,9 +3,11 @@
 // This is a module for pike.
 // 3 July 1998 <hww3@riverweb.com> Bill Welliver
 //
-// $Id: LPD.pmod,v 1.4 1999/08/20 05:01:58 hubbe Exp $
+// $Id: LPD.pmod,v 1.5 2000/09/26 18:59:51 hubbe Exp $
 //
 
+#pike __VERSION__
+
 class client {
   string host;
   int port;
diff --git a/lib/modules/Protocols.pmod/Line.pmod b/lib/modules/Protocols.pmod/Line.pmod
index 50dd4a3bf4..1661389124 100644
--- a/lib/modules/Protocols.pmod/Line.pmod
+++ b/lib/modules/Protocols.pmod/Line.pmod
@@ -1,11 +1,13 @@
 /*
- * $Id: Line.pmod,v 1.9 2000/05/07 18:36:36 nilsson Exp $
+ * $Id: Line.pmod,v 1.10 2000/09/26 18:59:52 hubbe Exp $
  *
  * Line-buffered protocol handling.
  *
  * Henrik Grubbstr�m 1998-05-27
  */
 
+#pike __VERSION__
+
 class simple
 {
   static object con;
diff --git a/lib/modules/Protocols.pmod/LysKOM.pmod/ASync.pmod b/lib/modules/Protocols.pmod/LysKOM.pmod/ASync.pmod
index 6062d4e66c..d981987c75 100644
--- a/lib/modules/Protocols.pmod/LysKOM.pmod/ASync.pmod
+++ b/lib/modules/Protocols.pmod/LysKOM.pmod/ASync.pmod
@@ -1,3 +1,5 @@
+#pike __VERSION__
+
 import .ProtocolTypes;
 
 /* 0 async-new-text-old */
diff --git a/lib/modules/Protocols.pmod/LysKOM.pmod/Connection.pike b/lib/modules/Protocols.pmod/LysKOM.pmod/Connection.pike
index bca2b828b3..3d71069e8c 100644
--- a/lib/modules/Protocols.pmod/LysKOM.pmod/Connection.pike
+++ b/lib/modules/Protocols.pmod/LysKOM.pmod/Connection.pike
@@ -1,4 +1,4 @@
-//  $Id: Connection.pike,v 1.5 2000/08/03 03:32:42 jhs Exp $
+//  $Id: Connection.pike,v 1.6 2000/09/26 18:59:59 hubbe Exp $
 //! module Protocols
 //! submodule LysKOM
 //! class Session
@@ -30,6 +30,8 @@
 //!	initialised <link to=Protocols.LysKOM.Request>request</link> object.
 //!
 
+#pike __VERSION__
+
 import ".";
 
 object this=this_object();
diff --git a/lib/modules/Protocols.pmod/LysKOM.pmod/Helper.pmod b/lib/modules/Protocols.pmod/LysKOM.pmod/Helper.pmod
index 68370fb8a2..6351e7e370 100644
--- a/lib/modules/Protocols.pmod/LysKOM.pmod/Helper.pmod
+++ b/lib/modules/Protocols.pmod/LysKOM.pmod/Helper.pmod
@@ -1,3 +1,5 @@
+#pike __VERSION__
+
 constant CONNECTION_CLOSED=-100;
 
 string encode(mixed ... z) // encode arguments
diff --git a/lib/modules/Protocols.pmod/LysKOM.pmod/ProtocolTypes.pmod b/lib/modules/Protocols.pmod/LysKOM.pmod/ProtocolTypes.pmod
index 4a42e78a1c..a24ed1d65e 100644
--- a/lib/modules/Protocols.pmod/LysKOM.pmod/ProtocolTypes.pmod
+++ b/lib/modules/Protocols.pmod/LysKOM.pmod/ProtocolTypes.pmod
@@ -1,3 +1,5 @@
+#pike __VERSION__
+
 import .Helper;
 
 
diff --git a/lib/modules/Protocols.pmod/LysKOM.pmod/Raw.pike b/lib/modules/Protocols.pmod/LysKOM.pmod/Raw.pike
index c1319d544f..4290bc8229 100644
--- a/lib/modules/Protocols.pmod/LysKOM.pmod/Raw.pike
+++ b/lib/modules/Protocols.pmod/LysKOM.pmod/Raw.pike
@@ -1,3 +1,5 @@
+#pike __VERSION__
+
 import .Helper;
 
 /* debug */
diff --git a/lib/modules/Protocols.pmod/LysKOM.pmod/Request.pmod b/lib/modules/Protocols.pmod/LysKOM.pmod/Request.pmod
index 0b12bf636d..5c894312a1 100644
--- a/lib/modules/Protocols.pmod/LysKOM.pmod/Request.pmod
+++ b/lib/modules/Protocols.pmod/LysKOM.pmod/Request.pmod
@@ -1,4 +1,6 @@
-//  $Id: Request.pmod,v 1.5 1999/09/28 02:08:22 js Exp $
+#pike __VERSION__
+
+//  $Id: Request.pmod,v 1.6 2000/09/26 19:00:01 hubbe Exp $
 //! module Protocols
 //! submodule LysKOM
 //! submodule Request
diff --git a/lib/modules/Protocols.pmod/LysKOM.pmod/Session.pike b/lib/modules/Protocols.pmod/LysKOM.pmod/Session.pike
index ec2148cc9d..29a40f8748 100644
--- a/lib/modules/Protocols.pmod/LysKOM.pmod/Session.pike
+++ b/lib/modules/Protocols.pmod/LysKOM.pmod/Session.pike
@@ -1,4 +1,6 @@
-//  $Id: Session.pike,v 1.19 2000/08/05 05:18:47 jhs Exp $
+#pike __VERSION__
+
+//  $Id: Session.pike,v 1.20 2000/09/26 19:00:01 hubbe Exp $
 //! module Protocols
 //! submodule LysKOM
 //! class Session
diff --git a/lib/modules/Protocols.pmod/LysKOM.pmod/Threads.pike b/lib/modules/Protocols.pmod/LysKOM.pmod/Threads.pike
index 980988090f..ae0cfae7b3 100644
--- a/lib/modules/Protocols.pmod/LysKOM.pmod/Threads.pike
+++ b/lib/modules/Protocols.pmod/LysKOM.pmod/Threads.pike
@@ -1,3 +1,5 @@
+#pike __VERSION__
+
 import ".";
 
 class Thread
diff --git a/lib/modules/Protocols.pmod/NNTP.pmod b/lib/modules/Protocols.pmod/NNTP.pmod
index b024f300d2..37676d60ff 100644
--- a/lib/modules/Protocols.pmod/NNTP.pmod
+++ b/lib/modules/Protocols.pmod/NNTP.pmod
@@ -1,5 +1,7 @@
 // Not finished - Fredrik Hubinette
 
+#pike __VERSION__
+
 class protocol
 {
   inherit Stdio.FILE : news;
diff --git a/lib/modules/Protocols.pmod/Ports.pmod b/lib/modules/Protocols.pmod/Ports.pmod
index 506a8952f8..19d7939337 100644
--- a/lib/modules/Protocols.pmod/Ports.pmod
+++ b/lib/modules/Protocols.pmod/Ports.pmod
@@ -1,11 +1,13 @@
 /*
- * $Id: Ports.pmod,v 1.5 2000/01/27 10:15:18 jhs Exp $
+ * $Id: Ports.pmod,v 1.6 2000/09/26 18:59:52 hubbe Exp $
  *
  * IP port assignments
  *
  * Henrik Grubbstr�m 1998-06-23
  */
 
+#pike __VERSION__
+
 // Contains all UDP ports assigned for private use as of RFC 1700
 constant private_udp = ([
   "mail":              24,	//    any private mail system
diff --git a/lib/modules/Protocols.pmod/SMTP.pmod b/lib/modules/Protocols.pmod/SMTP.pmod
index 6aed563fdf..bfb5315cea 100644
--- a/lib/modules/Protocols.pmod/SMTP.pmod
+++ b/lib/modules/Protocols.pmod/SMTP.pmod
@@ -1,3 +1,5 @@
+#pike __VERSION__
+
 class protocol
 {
   // Maybe this should be the other way around?
diff --git a/lib/modules/Protocols.pmod/TELNET.pmod b/lib/modules/Protocols.pmod/TELNET.pmod
index 3bd1e18ec3..0724d887a9 100644
--- a/lib/modules/Protocols.pmod/TELNET.pmod
+++ b/lib/modules/Protocols.pmod/TELNET.pmod
@@ -1,11 +1,13 @@
 //
-// $Id: TELNET.pmod,v 1.9 2000/03/30 21:21:46 grubba Exp $
+// $Id: TELNET.pmod,v 1.10 2000/09/26 18:59:53 hubbe Exp $
 //
 // The TELNET protocol as described by RFC 764 and others.
 //
 // Henrik Grubbstr�m <grubba@idonex.se> 1998-04-04
 //
 
+#pike __VERSION__
+
 // #define TELNET_DEBUG
 
 #ifdef TELNET_DEBUG
diff --git a/lib/modules/Protocols.pmod/X.pmod/Atom.pmod b/lib/modules/Protocols.pmod/X.pmod/Atom.pmod
index e46e63eda3..57f133f277 100644
--- a/lib/modules/Protocols.pmod/X.pmod/Atom.pmod
+++ b/lib/modules/Protocols.pmod/X.pmod/Atom.pmod
@@ -1,6 +1,6 @@
 /* Atom.pmod
  *
- * X Atoms $Id: Atom.pmod,v 1.5 1998/04/21 02:55:59 per Exp $
+ * X Atoms $Id: Atom.pmod,v 1.6 2000/09/26 19:00:02 hubbe Exp $
  *
  */
 
@@ -29,6 +29,8 @@
  * mailing list, pike@idonex.se, or to the athors (see AUTHORS for
  * email addresses. */
 
+#pike __VERSION__
+
 class Atom
 {
   object display;
diff --git a/lib/modules/Protocols.pmod/X.pmod/Auth.pmod b/lib/modules/Protocols.pmod/X.pmod/Auth.pmod
index 4ebe2151e7..bed5f0a7c6 100644
--- a/lib/modules/Protocols.pmod/X.pmod/Auth.pmod
+++ b/lib/modules/Protocols.pmod/X.pmod/Auth.pmod
@@ -1,6 +1,6 @@
 /* Auth.pmod
  *
- * $Id: Auth.pmod,v 1.7 2000/02/26 01:07:31 hubbe Exp $
+ * $Id: Auth.pmod,v 1.8 2000/09/26 19:00:02 hubbe Exp $
  */
 
 /*
@@ -28,6 +28,8 @@
  * mailing list, pike@idonex.se, or to the athors (see AUTHORS for
  * email addresses. */
 
+#pike __VERSION__
+
 class auth_file
 {
   mapping(int:mapping(string:mapping)) auth = ([]);
diff --git a/lib/modules/Protocols.pmod/X.pmod/Extensions.pmod b/lib/modules/Protocols.pmod/X.pmod/Extensions.pmod
index e3918aa28a..3b41819d90 100644
--- a/lib/modules/Protocols.pmod/X.pmod/Extensions.pmod
+++ b/lib/modules/Protocols.pmod/X.pmod/Extensions.pmod
@@ -1,6 +1,6 @@
 /* Shaped windows.
  *
- * $Id: Extensions.pmod,v 1.8 1998/04/21 03:00:30 per Exp $
+ * $Id: Extensions.pmod,v 1.9 2000/09/26 19:00:03 hubbe Exp $
 
 /*
  *    Protocols.X, a Pike interface to the X Window System
@@ -27,6 +27,8 @@
  * mailing list, pike@idonex.se, or to the athors (see AUTHORS for
  * email addresses. */
 
+#pike __VERSION__
+
 static class extension
 {
   object dpy;
diff --git a/lib/modules/Protocols.pmod/X.pmod/Requests.pmod b/lib/modules/Protocols.pmod/X.pmod/Requests.pmod
index bd9ed13611..7d53f58b56 100644
--- a/lib/modules/Protocols.pmod/X.pmod/Requests.pmod
+++ b/lib/modules/Protocols.pmod/X.pmod/Requests.pmod
@@ -1,6 +1,6 @@
 /* Requests.pike
  *
- * $Id: Requests.pmod,v 1.26 1998/04/21 02:56:01 per Exp $
+ * $Id: Requests.pmod,v 1.27 2000/09/26 19:00:03 hubbe Exp $
  */
 
 /*
@@ -28,6 +28,8 @@
  * mailing list, pike@idonex.se, or to the athors (see AUTHORS for
  * email addresses. */
 
+#pike __VERSION__
+
 #include "error.h"
 
 class request
diff --git a/lib/modules/Protocols.pmod/X.pmod/Types.pmod b/lib/modules/Protocols.pmod/X.pmod/Types.pmod
index 4d4f40f62c..c702abc86e 100644
--- a/lib/modules/Protocols.pmod/X.pmod/Types.pmod
+++ b/lib/modules/Protocols.pmod/X.pmod/Types.pmod
@@ -1,6 +1,6 @@
 /* Types.pmod
  *
- * $Id: Types.pmod,v 1.32 1998/04/21 02:56:02 per Exp $
+ * $Id: Types.pmod,v 1.33 2000/09/26 19:00:03 hubbe Exp $
  */
 
 /*
@@ -28,6 +28,8 @@
  * mailing list, pike@idonex.se, or to the athors (see AUTHORS for
  * email addresses. */
 
+#pike __VERSION__
+
 #include "error.h"
 
 class XResource
diff --git a/lib/modules/Protocols.pmod/X.pmod/XImage.pmod b/lib/modules/Protocols.pmod/X.pmod/XImage.pmod
index d6f65b9a4d..31f30dee9c 100644
--- a/lib/modules/Protocols.pmod/X.pmod/XImage.pmod
+++ b/lib/modules/Protocols.pmod/X.pmod/XImage.pmod
@@ -1,6 +1,6 @@
 /* XImage.pmod
  *
- * $Id: XImage.pmod,v 1.14 2000/05/01 19:30:56 grubba Exp $
+ * $Id: XImage.pmod,v 1.15 2000/09/26 19:00:04 hubbe Exp $
  */
 
 /*
@@ -28,6 +28,8 @@
  * mailing list, pike@idonex.se, or to the athors (see AUTHORS for
  * email addresses. */
 
+#pike __VERSION__
+
 #include "error.h"
 
 // Image --> X module.
diff --git a/lib/modules/Protocols.pmod/X.pmod/XTools.pmod b/lib/modules/Protocols.pmod/X.pmod/XTools.pmod
index f2ac551f55..29eca3c89b 100644
--- a/lib/modules/Protocols.pmod/X.pmod/XTools.pmod
+++ b/lib/modules/Protocols.pmod/X.pmod/XTools.pmod
@@ -1,6 +1,6 @@
 /* XTools.pmod
  *
- * $Id: XTools.pmod,v 1.4 1998/04/19 00:31:05 grubba Exp $
+ * $Id: XTools.pmod,v 1.5 2000/09/26 19:00:04 hubbe Exp $
  *
  * Various tools that are higher level than raw X, but are lower level
  * than widgets.
@@ -31,6 +31,8 @@
  * mailing list, pike@idonex.se, or to the athors (see AUTHORS for
  * email addresses. */
 
+#pike __VERSION__
+
 /* Steals and processes mousebutton events */
 class Button
 {
diff --git a/lib/modules/Protocols.pmod/X.pmod/Xlib.pmod b/lib/modules/Protocols.pmod/X.pmod/Xlib.pmod
index 57b8264032..862f87dc0d 100644
--- a/lib/modules/Protocols.pmod/X.pmod/Xlib.pmod
+++ b/lib/modules/Protocols.pmod/X.pmod/Xlib.pmod
@@ -1,6 +1,6 @@
 /* Xlib.pmod
  *
- * $Id: Xlib.pmod,v 1.39 2000/05/07 18:36:59 nilsson Exp $
+ * $Id: Xlib.pmod,v 1.40 2000/09/26 19:00:04 hubbe Exp $
  */
 
 /*
@@ -28,6 +28,8 @@
  * mailing list, pike@idonex.se, or to the athors (see AUTHORS for
  * email addresses. */
 
+#pike __VERSION__
+
 #include "error.h"
 
 // #define DEBUG
diff --git a/lib/modules/Protocols.pmod/X.pmod/_Types.pmod b/lib/modules/Protocols.pmod/X.pmod/_Types.pmod
index 7fe1480fc1..6b6c0dd03a 100644
--- a/lib/modules/Protocols.pmod/X.pmod/_Types.pmod
+++ b/lib/modules/Protocols.pmod/X.pmod/_Types.pmod
@@ -2,7 +2,7 @@
  *
  * Kludge for pike-0.5
  *
- * $Id: _Types.pmod,v 1.3 1998/04/19 00:31:08 grubba Exp $
+ * $Id: _Types.pmod,v 1.4 2000/09/26 19:00:05 hubbe Exp $
  */
 
 /*
@@ -30,6 +30,8 @@
  * mailing list, pike@idonex.se, or to the athors (see AUTHORS for
  * email addresses. */
 
+#pike __VERSION__
+
 program pixmap_class;
 
 program get_pixmap_class() { return pixmap_class; }
diff --git a/lib/modules/Protocols.pmod/X.pmod/_Xlib.pmod b/lib/modules/Protocols.pmod/X.pmod/_Xlib.pmod
index 98872e9aff..c26e364346 100644
--- a/lib/modules/Protocols.pmod/X.pmod/_Xlib.pmod
+++ b/lib/modules/Protocols.pmod/X.pmod/_Xlib.pmod
@@ -1,6 +1,6 @@
 /* _Xlib.pmod
  *
- * $Id: _Xlib.pmod,v 1.13 1998/04/19 00:31:09 grubba Exp $
+ * $Id: _Xlib.pmod,v 1.14 2000/09/26 19:00:05 hubbe Exp $
  *
  * Kluge, should be in Xlib.pmod
  */
@@ -30,6 +30,8 @@
  * mailing list, pike@idonex.se, or to the athors (see AUTHORS for
  * email addresses. */
 
+#pike __VERSION__
+
 object display_re = Regexp("^([^:]*):([0-9]+)(.[0-9]+|)$");
 
 string pad(string s)
diff --git a/lib/modules/Protocols.pmod/X.pmod/db/convert_compose.pike b/lib/modules/Protocols.pmod/X.pmod/db/convert_compose.pike
index 0a55769821..b65d987252 100644
--- a/lib/modules/Protocols.pmod/X.pmod/db/convert_compose.pike
+++ b/lib/modules/Protocols.pmod/X.pmod/db/convert_compose.pike
@@ -1,3 +1,5 @@
+#pike __VERSION__
+
 
 void main()
 {
diff --git a/lib/modules/Remote.pmod/Client.pike b/lib/modules/Remote.pmod/Client.pike
index 213bd67c6b..eb85348b53 100644
--- a/lib/modules/Remote.pmod/Client.pike
+++ b/lib/modules/Remote.pmod/Client.pike
@@ -1,3 +1,5 @@
+#pike __VERSION__
+
 
 #include "remote.h"
 
diff --git a/lib/modules/Remote.pmod/Server.pike b/lib/modules/Remote.pmod/Server.pike
index 31ccc0e0af..0b5e9a19ea 100644
--- a/lib/modules/Remote.pmod/Server.pike
+++ b/lib/modules/Remote.pmod/Server.pike
@@ -1,3 +1,5 @@
+#pike __VERSION__
+
 
 #include "remote.h"
 
diff --git a/lib/modules/Remote.pmod/call.pike b/lib/modules/Remote.pmod/call.pike
index 6ddd6c7308..826e9088f9 100644
--- a/lib/modules/Remote.pmod/call.pike
+++ b/lib/modules/Remote.pmod/call.pike
@@ -1,3 +1,5 @@
+#pike __VERSION__
+
 
 #include "remote.h"
 
diff --git a/lib/modules/Remote.pmod/connection.pike b/lib/modules/Remote.pmod/connection.pike
index cb3fefdd1c..f47d40690c 100644
--- a/lib/modules/Remote.pmod/connection.pike
+++ b/lib/modules/Remote.pmod/connection.pike
@@ -1,3 +1,5 @@
+#pike __VERSION__
+
 #include "remote.h"
 
 #ifdef REMOTE_DEBUG
diff --git a/lib/modules/Remote.pmod/context.pike b/lib/modules/Remote.pmod/context.pike
index 8f5825c1eb..89ca472283 100644
--- a/lib/modules/Remote.pmod/context.pike
+++ b/lib/modules/Remote.pmod/context.pike
@@ -1,3 +1,5 @@
+#pike __VERSION__
+
 
 #include "remote.h"
 
diff --git a/lib/modules/Remote.pmod/obj.pike b/lib/modules/Remote.pmod/obj.pike
index bbc67f7c76..47f2ac01d6 100644
--- a/lib/modules/Remote.pmod/obj.pike
+++ b/lib/modules/Remote.pmod/obj.pike
@@ -1,3 +1,5 @@
+#pike __VERSION__
+
 
 #include "remote.h"
 
diff --git a/lib/modules/Sql.pmod/msql.pike b/lib/modules/Sql.pmod/msql.pike
index 2deb703b63..413b6c140f 100644
--- a/lib/modules/Sql.pmod/msql.pike
+++ b/lib/modules/Sql.pmod/msql.pike
@@ -1,5 +1,7 @@
 // Msql module support stuff, (C) 1997 Francesco Chemolli <kinkie@kame.usr.dsi.unimi.it>
 
+#pike __VERSION__
+
 #if constant(Msql.msql)
 inherit Msql.msql;
 
diff --git a/lib/modules/Sql.pmod/mysql.pike b/lib/modules/Sql.pmod/mysql.pike
index fb87254376..ed79960a05 100644
--- a/lib/modules/Sql.pmod/mysql.pike
+++ b/lib/modules/Sql.pmod/mysql.pike
@@ -1,12 +1,12 @@
 /*
- * $Id: mysql.pike,v 1.10 2000/04/30 16:29:53 kinkie Exp $
+ * $Id: mysql.pike,v 1.11 2000/09/26 19:00:08 hubbe Exp $
  *
  * Glue for the Mysql-module
  */
 
 //.
 //. File:	mysql.pike
-//. RCSID:	$Id: mysql.pike,v 1.10 2000/04/30 16:29:53 kinkie Exp $
+//. RCSID:	$Id: mysql.pike,v 1.11 2000/09/26 19:00:08 hubbe Exp $
 //. Author:	Henrik Grubbstr�m (grubba@idonex.se)
 //.
 //. Synopsis:	Implements the glue to the Mysql-module.
@@ -17,6 +17,8 @@
 //. SQL module.
 //.
 
+#pike __VERSION__
+
 #if constant(Mysql.mysql)
 
 inherit Mysql.mysql;
diff --git a/lib/modules/Sql.pmod/mysql_result.pike b/lib/modules/Sql.pmod/mysql_result.pike
index 20046341ce..9522cda4b8 100644
--- a/lib/modules/Sql.pmod/mysql_result.pike
+++ b/lib/modules/Sql.pmod/mysql_result.pike
@@ -1,9 +1,11 @@
 /*
- * $Id: mysql_result.pike,v 1.2 1998/10/17 03:07:12 grubba Exp $
+ * $Id: mysql_result.pike,v 1.3 2000/09/26 19:00:09 hubbe Exp $
  *
  * Glue for the Mysql-module
  */
 
+#pike __VERSION__
+
 #if constant(Mysql.mysql_result)
 inherit Mysql.mysql_result;
 #else /* !constant(Mysql.mysql_result) */
diff --git a/lib/modules/Sql.pmod/odbc.pike b/lib/modules/Sql.pmod/odbc.pike
index 9cf37c689a..f3bd0aa4c1 100644
--- a/lib/modules/Sql.pmod/odbc.pike
+++ b/lib/modules/Sql.pmod/odbc.pike
@@ -1,9 +1,11 @@
 /*
- * $Id: odbc.pike,v 1.5 2000/04/29 00:38:18 kinkie Exp $
+ * $Id: odbc.pike,v 1.6 2000/09/26 19:00:09 hubbe Exp $
  *
  * Glue for the ODBC-module
  */
 
+#pike __VERSION__
+
 #if constant(Odbc.odbc)
 inherit Odbc.odbc;
 
diff --git a/lib/modules/Sql.pmod/odbc_result.pike b/lib/modules/Sql.pmod/odbc_result.pike
index 6f3027945c..584b93ba8b 100644
--- a/lib/modules/Sql.pmod/odbc_result.pike
+++ b/lib/modules/Sql.pmod/odbc_result.pike
@@ -1,9 +1,11 @@
 /*
- * $Id: odbc_result.pike,v 1.2 1998/10/17 03:01:59 grubba Exp $
+ * $Id: odbc_result.pike,v 1.3 2000/09/26 19:00:09 hubbe Exp $
  *
  * Glue for the ODBC-module
  */
 
+#pike __VERSION__
+
 #if constant(Odbc.odbc_result)
 inherit Odbc.odbc_result;
 #else /* !constant(Odbc.odbc_result) */
diff --git a/lib/modules/Sql.pmod/oracle.pike b/lib/modules/Sql.pmod/oracle.pike
index e71e6a7925..956543c254 100644
--- a/lib/modules/Sql.pmod/oracle.pike
+++ b/lib/modules/Sql.pmod/oracle.pike
@@ -1,9 +1,11 @@
 /*
- * $Id: oracle.pike,v 1.4 1999/08/31 00:24:16 grubba Exp $
+ * $Id: oracle.pike,v 1.5 2000/09/26 19:00:10 hubbe Exp $
  *
  * Glue for the Oracle-module
  */
 
+#pike __VERSION__
+
 #if constant(Oracle.oracle)
 inherit Oracle.oracle;
 
diff --git a/lib/modules/Sql.pmod/postgres.pike b/lib/modules/Sql.pmod/postgres.pike
index b41827c9cb..0c9936b9f4 100644
--- a/lib/modules/Sql.pmod/postgres.pike
+++ b/lib/modules/Sql.pmod/postgres.pike
@@ -2,10 +2,12 @@
  * This is part of the Postgres module for Pike.
  * (C) 1997 Francesco Chemolli <kinkie@kame.usr.dsi.unimi.it>
  *
- * $Id: postgres.pike,v 1.9 2000/04/29 00:38:18 kinkie Exp $
+ * $Id: postgres.pike,v 1.10 2000/09/26 19:00:10 hubbe Exp $
  *
  */
 
+#pike __VERSION__
+
 #if constant(Postgres.postgres)
 
 #define ERROR(X) throw (({X,backtrace()}))
diff --git a/lib/modules/Sql.pmod/postgres_result.pike b/lib/modules/Sql.pmod/postgres_result.pike
index 0667da8254..e39afca091 100644
--- a/lib/modules/Sql.pmod/postgres_result.pike
+++ b/lib/modules/Sql.pmod/postgres_result.pike
@@ -1,3 +1,5 @@
+#pike __VERSION__
+
 #if constant(Postgres.postgres_result)
 inherit Postgres.postgres_result;
 #else /* !constant(Postgres.postgres_result) */
diff --git a/lib/modules/Sql.pmod/rsql.pike b/lib/modules/Sql.pmod/rsql.pike
index df43fbf751..a3fcb88724 100644
--- a/lib/modules/Sql.pmod/rsql.pike
+++ b/lib/modules/Sql.pmod/rsql.pike
@@ -1,5 +1,7 @@
 // Remote SQL server interface
 
+#pike __VERSION__
+
 #define RSQL_PORT 3994
 #define RSQL_VERSION 1
 
diff --git a/lib/modules/Sql.pmod/sql.pike b/lib/modules/Sql.pmod/sql.pike
index 2bdc597a73..641581186e 100644
--- a/lib/modules/Sql.pmod/sql.pike
+++ b/lib/modules/Sql.pmod/sql.pike
@@ -1,14 +1,16 @@
 /*
- * $Id: sql.pike,v 1.38 2000/04/30 16:32:34 kinkie Exp $
+ * $Id: sql.pike,v 1.39 2000/09/26 19:00:11 hubbe Exp $
  *
  * Implements the generic parts of the SQL-interface
  *
  * Henrik Grubbstr�m 1996-01-09
  */
 
+#pike __VERSION__
+
 //.
 //. File:	sql.pike
-//. RCSID:	$Id: sql.pike,v 1.38 2000/04/30 16:32:34 kinkie Exp $
+//. RCSID:	$Id: sql.pike,v 1.39 2000/09/26 19:00:11 hubbe Exp $
 //. Author:	Henrik Grubbstr�m (grubba@idonex.se)
 //.
 //. Synopsis:	Implements the generic parts of the SQL-interface.
diff --git a/lib/modules/Sql.pmod/sql_result.pike b/lib/modules/Sql.pmod/sql_result.pike
index c1ca24c788..0e8fdee7cb 100644
--- a/lib/modules/Sql.pmod/sql_result.pike
+++ b/lib/modules/Sql.pmod/sql_result.pike
@@ -1,14 +1,16 @@
 /*
- * $Id: sql_result.pike,v 1.5 2000/03/24 01:23:04 hubbe Exp $
+ * $Id: sql_result.pike,v 1.6 2000/09/26 19:00:12 hubbe Exp $
  *
  * Implements the generic result module of the SQL-interface
  *
  * Henrik Grubbstr�m 1996-01-09
  */
 
+#pike __VERSION__
+
 //.
 //. File:	sql_result.pike
-//. RCSID:	$Id: sql_result.pike,v 1.5 2000/03/24 01:23:04 hubbe Exp $
+//. RCSID:	$Id: sql_result.pike,v 1.6 2000/09/26 19:00:12 hubbe Exp $
 //. Author:	Henrik Grubbstr�m (grubba@infovav.se)
 //.
 //. Synopsis:	Implements the generic result of the SQL-interface.
diff --git a/lib/modules/Sql.pmod/sql_util.pmod b/lib/modules/Sql.pmod/sql_util.pmod
index f099d6894e..08db439005 100644
--- a/lib/modules/Sql.pmod/sql_util.pmod
+++ b/lib/modules/Sql.pmod/sql_util.pmod
@@ -1,5 +1,5 @@
 /*
- * $Id: sql_util.pmod,v 1.4 2000/04/29 00:38:18 kinkie Exp $
+ * $Id: sql_util.pmod,v 1.5 2000/09/26 19:00:12 hubbe Exp $
  *
  * Some SQL utility functions.
  * They are kept here to avoid circular references.
@@ -7,9 +7,11 @@
  * Henrik Grubbstr�m 1999-07-01
  */
 
+#pike __VERSION__
+
 //.
 //. File:	sql_util.pmod
-//. RCSID:	$Id: sql_util.pmod,v 1.4 2000/04/29 00:38:18 kinkie Exp $
+//. RCSID:	$Id: sql_util.pmod,v 1.5 2000/09/26 19:00:12 hubbe Exp $
 //. Author:	Henrik Grubbstr�m (grubba@idonex.se)
 //.
 //. Synopsis:	Some SQL utility functions
diff --git a/lib/modules/Sql.pmod/sybase.pike b/lib/modules/Sql.pmod/sybase.pike
index c38988315a..12cbca09a4 100644
--- a/lib/modules/Sql.pmod/sybase.pike
+++ b/lib/modules/Sql.pmod/sybase.pike
@@ -3,10 +3,12 @@
  * By Francesco Chemolli <kinkie@roxen.com> 10/12/1999
  * (C) Roxen IS
  * 
- * $Id: sybase.pike,v 1.3 2000/04/29 00:38:18 kinkie Exp $
+ * $Id: sybase.pike,v 1.4 2000/09/26 19:00:12 hubbe Exp $
  *
  */
 
+#pike __VERSION__
+
 #if constant(sybase.sybase)
 
 inherit sybase.sybase:mo;
diff --git a/lib/modules/Stack.pmod b/lib/modules/Stack.pmod
index 5c7743990b..ae008ae078 100644
--- a/lib/modules/Stack.pmod
+++ b/lib/modules/Stack.pmod
@@ -1,3 +1,5 @@
+#pike __VERSION__
+
 #define error(X) throw( ({ (X), backtrace()[0..sizeof(backtrace())-2] }) )
 
 class stack {
diff --git a/lib/modules/Standards.pmod/ASN1.pmod/Decode.pmod b/lib/modules/Standards.pmod/ASN1.pmod/Decode.pmod
index 92a64856b6..f6079f2b7f 100644
--- a/lib/modules/Standards.pmod/ASN1.pmod/Decode.pmod
+++ b/lib/modules/Standards.pmod/ASN1.pmod/Decode.pmod
@@ -2,6 +2,8 @@
  *
  */
 
+#pike __VERSION__
+
 #define error(msg) throw( ({ msg, backtrace() }) )
 
 /* Decodes a DER object. DATA is an instance of ADT.struct, and types
diff --git a/lib/modules/Standards.pmod/ASN1.pmod/Encode.pmod b/lib/modules/Standards.pmod/ASN1.pmod/Encode.pmod
index 4e5cab40b4..234e2aeb83 100644
--- a/lib/modules/Standards.pmod/ASN1.pmod/Encode.pmod
+++ b/lib/modules/Standards.pmod/ASN1.pmod/Encode.pmod
@@ -5,6 +5,8 @@
 
 /* FIXME: This file is obsolete. All code should use ASN1.Types instead. */
 
+#pike __VERSION__
+
 #if 0
 #define WERROR werror
 #else
@@ -267,4 +269,4 @@ class asn1_utc
   constant tag = 23;
 }
 
-#endif
\ No newline at end of file
+#endif
diff --git a/lib/modules/Standards.pmod/ASN1.pmod/Types.pmod b/lib/modules/Standards.pmod/ASN1.pmod/Types.pmod
index b7f059d177..b8a030e328 100644
--- a/lib/modules/Standards.pmod/ASN1.pmod/Types.pmod
+++ b/lib/modules/Standards.pmod/ASN1.pmod/Types.pmod
@@ -1,9 +1,11 @@
 /*
- * $Id: Types.pmod,v 1.14 2000/05/25 20:20:31 sigge Exp $
+ * $Id: Types.pmod,v 1.15 2000/09/26 19:00:14 hubbe Exp $
  *
  * Encodes various asn.1 objects according to the Distinguished
  * Encoding Rules (DER) */
 
+#pike __VERSION__
+
 #if constant(Gmp.mpz)
 
 #if 0
diff --git a/lib/modules/Standards.pmod/ISO639_2.pmod b/lib/modules/Standards.pmod/ISO639_2.pmod
index 1ee6f44ad7..e4f41c4856 100644
--- a/lib/modules/Standards.pmod/ISO639_2.pmod
+++ b/lib/modules/Standards.pmod/ISO639_2.pmod
@@ -3,6 +3,8 @@
 
 // Updated 2000-06-14 from http://lcweb.loc.gov/standards/iso639-2/
 
+#pike __VERSION__
+
 // ISO 639-2/T
 static mapping(string:string) languages=([
   "aar":"Afar",
diff --git a/lib/modules/Standards.pmod/PKCS.pmod/CSR.pmod b/lib/modules/Standards.pmod/PKCS.pmod/CSR.pmod
index 4ece669a28..f558ce0ecf 100644
--- a/lib/modules/Standards.pmod/PKCS.pmod/CSR.pmod
+++ b/lib/modules/Standards.pmod/PKCS.pmod/CSR.pmod
@@ -3,6 +3,8 @@
  * Handling of Certifikate Signing Requests (PKCS-10)
  */
 
+#pike __VERSION__
+
 #if __VERSION__ >= 0.6
 import ".";
 #endif /* __VERSION__ >= 0.6 */
@@ -40,4 +42,4 @@ object build_csr_dsa(object dsa, object name)
 }
 #endif
 
-#endif
\ No newline at end of file
+#endif
diff --git a/lib/modules/Standards.pmod/PKCS.pmod/Certificate.pmod b/lib/modules/Standards.pmod/PKCS.pmod/Certificate.pmod
index 4c3f4f4f3a..5dc781ac71 100644
--- a/lib/modules/Standards.pmod/PKCS.pmod/Certificate.pmod
+++ b/lib/modules/Standards.pmod/PKCS.pmod/Certificate.pmod
@@ -6,6 +6,8 @@
 
 /* ASN.1 structures:
 
+#pike __VERSION__
+
 CertificationRequestInfo ::= SEQUENCE {
   version Version,
   subject Name,
@@ -206,4 +208,4 @@ class Attributes
     }
 }
       
-#endif
\ No newline at end of file
+#endif
diff --git a/lib/modules/Standards.pmod/PKCS.pmod/DSA.pmod b/lib/modules/Standards.pmod/PKCS.pmod/DSA.pmod
index 5426ab594e..8f4176e326 100644
--- a/lib/modules/Standards.pmod/PKCS.pmod/DSA.pmod
+++ b/lib/modules/Standards.pmod/PKCS.pmod/DSA.pmod
@@ -7,6 +7,9 @@
 /* NOTE: Unlike the functions in RSA.pmod, this function returns
  * an object rather than a string. */
 
+#pike __VERSION__
+
+
 #if constant(Gmp.mpz)
 
 constant asn1_sequence = Standards.ASN1.Types.asn1_sequence;
diff --git a/lib/modules/Standards.pmod/PKCS.pmod/Identifiers.pmod b/lib/modules/Standards.pmod/PKCS.pmod/Identifiers.pmod
index 7e6aab8bef..16ef3b14bc 100644
--- a/lib/modules/Standards.pmod/PKCS.pmod/Identifiers.pmod
+++ b/lib/modules/Standards.pmod/PKCS.pmod/Identifiers.pmod
@@ -1,3 +1,5 @@
+#pike __VERSION__
+
 /* identifiers.pmod
  *
  * Object identifiers */
diff --git a/lib/modules/Standards.pmod/PKCS.pmod/PFX.pmod b/lib/modules/Standards.pmod/PKCS.pmod/PFX.pmod
index cfdd47e2a4..d638ae828e 100644
--- a/lib/modules/Standards.pmod/PKCS.pmod/PFX.pmod
+++ b/lib/modules/Standards.pmod/PKCS.pmod/PFX.pmod
@@ -9,6 +9,8 @@
  *
  */
 
+#pike __VERSION__
+
 import Standards.ASN1;
 
 object pkcs_7_id = .Identifiers.pkcs_id->append(7);
diff --git a/lib/modules/Standards.pmod/PKCS.pmod/RSA.pmod b/lib/modules/Standards.pmod/PKCS.pmod/RSA.pmod
index 6a9292843e..b4f273bb18 100644
--- a/lib/modules/Standards.pmod/PKCS.pmod/RSA.pmod
+++ b/lib/modules/Standards.pmod/PKCS.pmod/RSA.pmod
@@ -2,6 +2,8 @@
  *
  * rsa operations and types as described in PKCS-1 */
 
+#pike __VERSION__
+
 #if 0
 #define WERROR werror
 #else
diff --git a/lib/modules/Standards.pmod/PKCS.pmod/Signature.pmod b/lib/modules/Standards.pmod/PKCS.pmod/Signature.pmod
index 7da5ce401f..ead6601ec6 100644
--- a/lib/modules/Standards.pmod/PKCS.pmod/Signature.pmod
+++ b/lib/modules/Standards.pmod/PKCS.pmod/Signature.pmod
@@ -2,6 +2,8 @@
  *
  */
 
+#pike __VERSION__
+
 /* Construct a PKCS-1 digestinfo */
 string build_digestinfo(string msg, object hash)
 {
diff --git a/lib/modules/Stdio.pmod/Readline.pike b/lib/modules/Stdio.pmod/Readline.pike
index 95a654cde7..a5433dabc6 100644
--- a/lib/modules/Stdio.pmod/Readline.pike
+++ b/lib/modules/Stdio.pmod/Readline.pike
@@ -1,5 +1,5 @@
-// $Id: Readline.pike,v 1.35 2000/09/04 09:48:56 noring Exp $
-
+// $Id: Readline.pike,v 1.36 2000/09/26 19:00:19 hubbe Exp $
+#pike __VERSION__
 class OutputController
 {
   static private object outfd, term;
diff --git a/lib/modules/Stdio.pmod/Terminfo.pmod b/lib/modules/Stdio.pmod/Terminfo.pmod
index b001625f07..87c1cdafaf 100644
--- a/lib/modules/Stdio.pmod/Terminfo.pmod
+++ b/lib/modules/Stdio.pmod/Terminfo.pmod
@@ -1,4 +1,5 @@
-// $Id: Terminfo.pmod,v 1.9 2000/08/27 18:29:27 mirar Exp $
+// $Id: Terminfo.pmod,v 1.10 2000/09/26 19:00:20 hubbe Exp $
+#pike __VERSION__
 
 
 #if constant(thread_create)
diff --git a/lib/modules/Stdio.pmod/module.pmod b/lib/modules/Stdio.pmod/module.pmod
index 06af19dd63..617af703b2 100644
--- a/lib/modules/Stdio.pmod/module.pmod
+++ b/lib/modules/Stdio.pmod/module.pmod
@@ -1,4 +1,6 @@
-// $Id: module.pmod,v 1.87 2000/09/10 17:21:21 grubba Exp $
+// $Id: module.pmod,v 1.88 2000/09/26 19:00:20 hubbe Exp $
+#pike __VERSION__
+
 
 import String;
 
diff --git a/lib/modules/String.pmod b/lib/modules/String.pmod
index 808f5edd97..7eb6cda21f 100644
--- a/lib/modules/String.pmod
+++ b/lib/modules/String.pmod
@@ -1,3 +1,5 @@
+#pike __VERSION__
+
 #define BEGIN 32
 
 constant count=__builtin.string_count;
diff --git a/lib/modules/Thread.pmod b/lib/modules/Thread.pmod
index da049e8ea2..496549f7de 100644
--- a/lib/modules/Thread.pmod
+++ b/lib/modules/Thread.pmod
@@ -1,3 +1,5 @@
+#pike __VERSION__
+
 #if constant(thread_create)
 
 constant Thread=__builtin.thread_id;
diff --git a/lib/modules/Tools.pmod/Hilfe.pmod b/lib/modules/Tools.pmod/Hilfe.pmod
index d8c34ff05c..e0d6c70053 100644
--- a/lib/modules/Tools.pmod/Hilfe.pmod
+++ b/lib/modules/Tools.pmod/Hilfe.pmod
@@ -1,3 +1,5 @@
+#pike __VERSION__
+
 class Evaluator
 {
 /* Incremental Pike evaluator */
diff --git a/lib/modules/Tools.pmod/Install.pmod b/lib/modules/Tools.pmod/Install.pmod
index 899c22d890..4f944c5429 100644
--- a/lib/modules/Tools.pmod/Install.pmod
+++ b/lib/modules/Tools.pmod/Install.pmod
@@ -1,3 +1,4 @@
+#pike __VERSION__
 //
 // Common routines which are useful for various install scripts based on Pike.
 //
diff --git a/lib/modules/Tools.pmod/PEM.pmod b/lib/modules/Tools.pmod/PEM.pmod
index 22e69a56de..5f6b08cd88 100644
--- a/lib/modules/Tools.pmod/PEM.pmod
+++ b/lib/modules/Tools.pmod/PEM.pmod
@@ -1,3 +1,5 @@
+#pike __VERSION__
+
 /* PEM.pmod
  *
  * Support for parsing PEM-style messages.
diff --git a/lib/modules/Tools.pmod/X509.pmod b/lib/modules/Tools.pmod/X509.pmod
index 5743a7c983..da01b0dffa 100644
--- a/lib/modules/Tools.pmod/X509.pmod
+++ b/lib/modules/Tools.pmod/X509.pmod
@@ -1,5 +1,7 @@
+#pike __VERSION__
+
 /* 
- * $Id: X509.pmod,v 1.10 2000/08/01 19:51:47 sigge Exp $
+ * $Id: X509.pmod,v 1.11 2000/09/26 19:00:23 hubbe Exp $
  *
  * Some random functions for creating RFC-2459 style X.509 certificates.
  *
diff --git a/lib/modules/Tools.pmod/_PEM.pmod b/lib/modules/Tools.pmod/_PEM.pmod
index b17c979677..667bcb65c6 100644
--- a/lib/modules/Tools.pmod/_PEM.pmod
+++ b/lib/modules/Tools.pmod/_PEM.pmod
@@ -1,3 +1,5 @@
+#pike __VERSION__
+
 /* _PEM.pmod
  *
  * Kludge.
diff --git a/lib/modules/Tools.pmod/sed.pmod b/lib/modules/Tools.pmod/sed.pmod
index 14e63277cb..cb125d3fc3 100644
--- a/lib/modules/Tools.pmod/sed.pmod
+++ b/lib/modules/Tools.pmod/sed.pmod
@@ -1,3 +1,5 @@
+#pike __VERSION__
+
 // edit commands supported:
 // <firstline>,<lastline><edit command>
 //    ^^ numeral (17) ^^
diff --git a/lib/modules/Yabu.pmod/module.pmod b/lib/modules/Yabu.pmod/module.pmod
index b93c85d715..f899124e5a 100644
--- a/lib/modules/Yabu.pmod/module.pmod
+++ b/lib/modules/Yabu.pmod/module.pmod
@@ -4,7 +4,9 @@
  * associated with a unique key.
  */
 
-constant cvs_id = "$Id: module.pmod,v 1.22 2000/07/04 14:48:41 mast Exp $";
+#pike __VERSION__
+
+constant cvs_id = "$Id: module.pmod,v 1.23 2000/09/26 19:00:25 hubbe Exp $";
 
 #define ERR(msg) throw(({ "(Yabu) "+msg+"\n", backtrace() }))
 #define IO_ERR(msg) throw(({ sprintf("(Yabu) %s, %s (%d)\n",msg,strerror(errno()),errno()),backtrace() }))
diff --git a/lib/modules/Yabu.pmod/test.pike b/lib/modules/Yabu.pmod/test.pike
index 29ffde9f5d..ae2643de20 100644
--- a/lib/modules/Yabu.pmod/test.pike
+++ b/lib/modules/Yabu.pmod/test.pike
@@ -1,6 +1,8 @@
 #!/usr/local/bin/pike
 // Yabu test program
 
+#pike __VERSION__
+
 #define ERR(msg) throw(({ msg+"\n", backtrace() }));
 
 void check_db(object db, mapping m)
diff --git a/lib/modules/_Image.pmod/module.pmod b/lib/modules/_Image.pmod/module.pmod
index 0134bcd47c..1c835f31fe 100644
--- a/lib/modules/_Image.pmod/module.pmod
+++ b/lib/modules/_Image.pmod/module.pmod
@@ -1,5 +1,7 @@
+#pike __VERSION__
+
 //! module Image
-//! $Id: module.pmod,v 1.9 2000/09/12 16:41:05 jonasw Exp $
+//! $Id: module.pmod,v 1.10 2000/09/26 19:00:27 hubbe Exp $
 
 //! method object(Image.Image) load()
 //! method object(Image.Image) load(object file)
diff --git a/lib/modules/_Image_PS.pmod b/lib/modules/_Image_PS.pmod
index 35dd9d0d6d..5d153540f4 100644
--- a/lib/modules/_Image_PS.pmod
+++ b/lib/modules/_Image_PS.pmod
@@ -1,3 +1,5 @@
+#pike __VERSION__
+
 string find_in_path( string file )
 {
   string path=getenv("PATH");
diff --git a/lib/modules/_Image_PSD.pmod b/lib/modules/_Image_PSD.pmod
index df5486f502..86a39e8edf 100644
--- a/lib/modules/_Image_PSD.pmod
+++ b/lib/modules/_Image_PSD.pmod
@@ -1,3 +1,5 @@
+#pike __VERSION__
+
 inherit Image._PSD;
 
 class Layer
diff --git a/lib/modules/_Image_XCF.pmod b/lib/modules/_Image_XCF.pmod
index 9b786e6479..6260268387 100644
--- a/lib/modules/_Image_XCF.pmod
+++ b/lib/modules/_Image_XCF.pmod
@@ -1,3 +1,5 @@
+#pike __VERSION__
+
 inherit Image._XCF;
 
 #define SIGNED(X) if(X>=(1<<31)) X=-((1<<32)-X)
diff --git a/lib/modules/_Image_XPM.pmod b/lib/modules/_Image_XPM.pmod
index 15ed3f6d5e..29778dbb13 100644
--- a/lib/modules/_Image_XPM.pmod
+++ b/lib/modules/_Image_XPM.pmod
@@ -1,3 +1,5 @@
+#pike __VERSION__
+
 inherit Image._XPM;
 #if 0
 # define TE( X )  werror("XPM profile: %-20s ... ", (X));
diff --git a/lib/modules/__builtin.pmod b/lib/modules/__builtin.pmod
index 6d1f276f95..59d25c29a7 100644
--- a/lib/modules/__builtin.pmod
+++ b/lib/modules/__builtin.pmod
@@ -1 +1,3 @@
+#pike __VERSION__
+
 inherit _static_modules.Builtin;
diff --git a/lib/modules/error.pmod b/lib/modules/error.pmod
index dfc6eb2102..f76eb55ea8 100644
--- a/lib/modules/error.pmod
+++ b/lib/modules/error.pmod
@@ -1,5 +1,7 @@
+#pike __VERSION__
+
 // Moahahahah!
-// $Id: error.pmod,v 1.2 1999/08/10 00:27:43 mast Exp $
+// $Id: error.pmod,v 1.3 2000/09/26 18:59:08 hubbe Exp $
 void `()(string f, mixed ... args)
 {
   array(array) b = backtrace();
-- 
GitLab