5 Oops, 25asktag always asked for a tag regardless of $cfg{'asktag'}
6 Thanks to Jasper Spaans for pointing that out.
8 Various bugfixes and cleanups.
9 Added a working 22reformat instead of just the template which has
10 been around for a while.
12 Add Noodles' patch from a while back to add an option to skip back to
13 asking about a sig from the asktag plugin.
14 A few miscellaneous cleanups.
15 Wrote a HOWTO which is at:
16 http://the.earth.li/~huggie/cgi-bin/moin/HtagHowto
17 Made @M*@ and so on work to insert things /without/ worrying about
18 their length. This means they won't be padded and so is primarily
19 useful for the extra plugins and not taglines and allows you to put
20 text right up against them without worrying about extra spaces. It
21 does also work with taglines so @*@ inserts the tag but with /no/
22 formatting. (Request from Alex Walker)
23 Added @NOTAG@ to stop any tagline being added. Macros still get
24 expanded as do non-tag plugins. (Request from Alex Walker)
25 Added plugin to check for existing unquoted sigsep and allow user to
26 quit. (Request from Alex Walker)
29 s/.pl$// in plugins and chmod 644 plugins/* since they don't really
30 make sense separately from htag.
31 Created TROUBLESHOOTING file.
32 Move all the files around a bit to get the docs out from under the
33 rest and to show that there are some. Move other docs out of
34 subdirectories and into the docs/ dir. Move the sample config stuff
38 Change version number in HtagPlugin.pm to one that perl can check
39 automagically and add a version to my use HtagPlugin line.
42 Fixed up the cases where either the configfile has an error (always
43 set $override{'nicedie'}) or the plugins do htagdie.
44 htagdie has now disappeared in favour of nicedie so I've bumped the
45 versioning in HtagPlugin.pm and nicedie has moved to HtagPlugin.pm
48 Changed s/|$// to s/\|$// in sample.htrc Doh!
51 Yes, I should definitely have released 0.0.18 by now. Ho hum.
53 Added check of patterns used in changeheaders so if someone puts one
54 that would kill us in we tell them nicely.
56 Rolled tarball - probably won't be uploaded til 2nd May.
59 Oops, shouldn't I have released 0.0.18 by now?
61 Checked status of 0.0.18 and cleaned it up a little. Made multiple
62 config file docs reflect the changes.
64 Note that changes to the multiple config stuff mean that there is no
65 more default directory for these scripts and the full path must be
66 given. Also if you relied on the blank filename implied just $1
67 before you'll need to use $1 now although this probably means you
68 need to add the path beforehand too.
70 Setting $cfg{'tagline_comment_char'} to for instance '#' makes
71 simple.pl ignore lines that start with that character.
73 Improve error reporting from eval'd scripts some more.
75 Support for multiple tagfiles using the tagfiles variable means
76 (with the much saner multiple config support) that it's a lot easier
77 to pick tagline files per recipient. I might even have to start
78 using the multiconfig stuff now :)
80 Support for fortune(1) as wanted by "The Big Nose" and Lim Swee Tat.
81 It does have a probability value (adjust so that you get the right
82 mix of fortunes and taglines) and an arguments parameter so you can
83 point it at your own fortune files. It doesn't do anything clever
84 with reformatting them and they don't fit easily in small sigs. It
85 also doesn't parse the .dat files it just runs fortune(1) which is
86 fairly icky really but hey.
89 Feedback (oh my God other people use this? :)) led to a few changes:
90 Change the cfgfile interface stuff so we eval just one file (~/.htrc
91 or the file specified on the commandline with -c) then eval another
92 that changes this default file in the changeheader stuff.
94 Remove all the paranoia checks about symlinks for multiple config
95 cases because they didn't really help and just caused config
99 Check for UID/GID 0 before running.
102 Put 01changeconf.pl into htag.pl instead. Tried to think about the
103 idea of having dependencies instead of just a plugin dir or indeed a
104 plugin list instead but gave up simply because I can't be arsed. I
105 want to run all the plugins. This is the idea. Anyway,
106 patches/ideas accepted.
109 Fixed a strange bug due to a regexp in merge that meant that @B in a
110 tagline wasn't expanding correctly sometimes.
113 Fixed some of the eval code so it reports fatal errors.
115 Made merge.pl remove spaces if there were only spaces between it and
116 the end of the line. Retrigger the "-- " => "--" bug by using a
117 quick fix and gave in and used a negative look behind assertion in
118 my regexp. Requires perl 5.005 or higher I think.
121 Upgraded to perl 5.6.0 and um didn't realise and ran htag.pl
122 It seems to work with 5.6.0 :)
125 Moved substtag.pl so it was called *after* the tag had been chosen.
126 Oops. I should have more tags with substable bits in, yes.
129 Fixed merge so that it works if a sig doesn't have any tagline bits.
130 And so that multiple elements of the same plugin will work (e.g.
131 having two separate @Uxx@ lines works now).
133 Fixed Multiple Config stuff to work with more than one header
136 Wrote README.Multiple_Config (referenced below but not written til
139 Moved 05* to 14* so that in the case where the tag doesn't fit and
140 we have to go back we only go back one.
142 2000-10-08 - 0.0.16-pre-going-to-release-soon-honest (Eurostar :))
143 Implemented a "read and eval" parser for the plugins if they are in
144 perl. This may well break things. Let me know if it does.
146 Moved plugin_util to HtagPlugin. (tab completion works better now
147 so I'm less annoyed so I'll be more productive. Or summat :))
149 2000-09-24 - 0.0.16-pre
150 Changed htag.pl and all plugins not to call srand because since perl
151 5.004 this is done automatically and uses a better random seed than
154 Added documentation (in INSTALL) about how to create your local perl
155 module dir and get all the plugins to use it.
157 Created plugins/01changeconf (thus moved 01catsig to 02catsig).
158 It allows multiple configs based on headers finally!
159 See README.Multiple_Config
162 Changed HtagPlugin to only require three arguments (Message file,
163 Cfg file and VERSION) which all need to come from htag.pl
165 Created plugin_util/HISTORY.
167 Changed protocol of HtagPlugin to 0.0.2
169 Made new plugin system so that other plugins can substitute in
170 easily. See marknlard.pl for an example.
172 Added some new plugins (sesame, date, uptime) using this system.
175 Changed HtagPlugin to return 254 when htagdie is called.
176 Made htag.pl ask for keypress if exited with 254 but NOT if exited
177 with 255 (i.e. user requested exit).
179 Improved behaviour when command line options failed. Now we set
180 $cfg{'nicedie'} from the beginning and nicedie everywhere then read
181 in the config files which may turn it off.
183 Added the "Mark 'n Lard" plugin.
185 Added protocol version number and checking for same.
188 Changed HtagPlugin to cope with "Lastname, Firstname"
191 Fixed the subst* plugins to use the To: address not the From:
194 Put more common code into the HtagPlugin module.
197 Early in the morning.
198 Released the new one properly.
200 Converted to an init style plugins-invoked-in-order-of-number type
201 thing to allow more flexibility.
204 Allowed plugins to return the number to go back to...
206 Infinite loops are protected against.
208 exiting with 255 means quit htag.pl
211 Made it like init. (Runs plugins in numerical order randomly picks
212 ones with same order).
215 Backends for - choosing tags.
221 Fixed length "feature" of 0.0.3
222 Will now only use tags that fit the sigs' @[0-9]+@ bits.
225 Released to the unsuspecting world...
228 Realised that in 23 lines (of perl) you can actually do what
229 huggietag 0.0.1 did in 39 (of C) and that implementing this
230 shouldn't be *too* tricky.
232 3 hours to an almost working one. Scary.
235 Switched to linux didn't find a good tagline program so tried to
236 write one in C. Got quite far with it but decided C isn't a good
237 language for string handling.