A better %Patch.r. It's also generic.
[
REBOL [
Title: "Patch"
Date: 3/December/1999
Name: 'Patch
Version: 2.0.0
File: %Patch.r
Home: http://members.xoom.com/AndrewMartin/
Author: "Andrew Martin"
Owner: "Andrew Martin"
Rights: "Copyright � 1999, Andrew Martin."
Needs: 2.2.0
Tabs: 4
Usage: {
Place:
do %Patch.r
in your %user.r file,
to have this done at each startup.
}
Purpose: {
Patches the http scheme open function
to provide a better choice for User-Agent.
}
History: [
1.0.1 [1/Dec/1999 {Creation!} {Andrew}]
1.1.0 [3/Dec/1999 {Got 'bind-ing correct.} {Andrew}]
1.1.1 [3/Dec/1999 {User alteration of HTTP User Agent.} {Andrew}]
2.0.0 [3/Dec/1999 {Implemented generic patch.} {Andrew}]
]
Language: 'English
Email: [EMAIL PROTECTED]
Site: http://members.xoom.com/AndrewMartin/
Category: 'general
Charset: 'ANSI
Example: {}
]
Http_User_Agent: rejoin ["Mozilla" "/" "4.0"
" (Compatible; REBOL " system/version ")"]
Patches: reduce [
system/schemes/http/handler 'open
{User-Agent: reform ["REBOL" system/version]}
join {User-Agent: } to-string 'Http_User_Agent
]
Patch: function [Patches [block!]] [Word_Reference Body_Text] [
foreach [Object Word Original Replacement] Patches [
Word_Reference: in Object Word
Body_Text: mold second get Word_Reference
replace Body_Text Original Replacement
set Word_Reference func
first get Word_Reference
bind to-block load Body_Text Word_Reference
]
]
Patch Patches
]
Andrew Martin
Peachy keen...
[EMAIL PROTECTED]
http://members.xoom.com/AndrewMartin/
Online @ 33,600 Baud!
-><-