summaryrefslogtreecommitdiff
path: root/contrib/pdfmark/ChangeLog
blob: 796cf5da4ec6f18e11ccb2349648c6a82932784f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
2012-09-20  Werner LEMBERG  <wl@gnu.org>

	Simplify enviroment handling.

	Suggested by Ivan Shmakov <oneingray@gmail.com>.

	* Makefile.sub (PDFROFF): Don't use export.

2011-12-26  Mike Frysinger  <vapier@gentoo.org>

	Fix parallel build race failure.

	Sometimes building in parallel will fail in the pdfmark directory:

	  make[2]: Entering directory '.../contrib/pdfmark'
	  rm -f pdfroff
	  rm -f pdfmark.pdf
	  sed -f ... ./pdfroff.sh >pdfroff
	  ...; ./pdfroff ... pdfmark.ms >pdfmark.pdf
	  /bin/sh: ./pdfroff: Permission denied
	  chmod +x pdfroff
	  make[2]: *** [pdfmark.pdf] Error 126

	This is because the generated pdf files use the local generated
	pdfroff helper script, but they don't depend directly upon it, so
	make tries to create the two in parallel and randomly falls over.

	* Makefile.sub: Have all the .pdf files explicitly depend on the
	`pdfroff' helper script.

2010-12-23  Keith Marshall  <keith.d.marshall@ntlworld.com>

	Update copyright notices; pdfmark.tmac bug-fix.

	* pdfmark.tmac: Update copyright notices.
	(pdf*href.mark.resolve): Avoid premature removal, by aliasing to...
	(pdf*href.mark.begin): ...this, rather than renaming.

	* pdfroff.sh, pdfroff.man: Update copyright notices.

2010-12-14  Keith Marshall  <keith.d.marshall@ntlworld.com>

	Clean up handling of temporary files directory.

	* .cvsignore (pdfroff-*): Ignore sub-directories matching this.
	* Makefile.sub (MOSTLCLEANDIRADD): Schedule them for removal.

2010-12-02  Keith Marshall  <keith.d.marshall@ntlworld.com>

	Address potential temporary file security vulnerabilities.

	* pdfroff.sh (GROFF_TMPDIR): Use mktemp(1) to assign it, if possible;
	fall back to ${TMPDIR}, ${TMP} or ${TEMP} if unsuccessful.
	* pdfroff.man: Document it.

2009-08-16  Colin Watson  <cjwatson@debian.org>

	Make pdfroff's GhostScript invocation safer.

	* pdfroff.sh (PDFROFF_POSTPROCESSOR_COMMAND): Add `-dSAFER' option.
	* pdfroff.man: Document it.

2008-12-28  Keith Marshall  <keith.d.marshall@ntlworld.com>

	Avoid phantom line wrapping in pdfhref hot-spots.

	* pdfmark.tmac (pdf*href.mark.end): Emit hot-spot end markers within
	scope of `\Z', to prevent possible output line length overflow which
	may occur only in the layout computation passes, but not in the final
	output pass.  Problem observed and identified by Nick Stoughton; it
	causes some hot-spots to be displaced from their proper locations.

2007-04-11  Keith Marshall  <keith.d.marshall@ntlworld.com>

	Avoid stray newlines in folded pdfmark literal content.

	* pdfmark.tmac (pdf*pdfmark.dispatch.wrapped): New string; define it
	when accumulating long literal content; make it undefined otherwise.
	(PDFMARK.FOLDWIDTH, PDFMARK.FOLDWIDTH.MAX): Reserve space for two
	extra characters, to accommodate a space and an escaped newline,
	while accumulating literal content, in case folding is required.
	(pdf*pdfmark.dispatch) [pdf*pdfmark.dispatch.wrapped]: Add them.

2007-04-11  Keith Marshall  <keith.d.marshall@ntlworld.com>

	* pdfmark.tmac (pdfbookmark): Don't evaluate within diversions; defer
	placement until diversion is copied out at top level.

2007-02-06  Eric S. Raymond  <esr@snark.thyrsus.com>

	* pdfroff.man: Update .UR/.UE and .MT/.ME to latest changes in
	an-ext.tmac.

2007-01-30  Werner LEMBERG  <wl@gnu.org>

	* pdfroff.man: Updated.

2007-01-21  Werner LEMBERG  <wl@gnu.org>

	* pdfroff.man: Revised, based on a patch from Eric Raymond.  It now
	uses the new macros from an-ext.tmac.  This is the first of a series
	of man patches which Eric has contributed.

2006-07-30  Keith Marshall  <keith.d.marshall@ntlworld.com>

	* pdfroff.sh (PDFROFF_KILL_NULL_PAGES): Require `%%BeginPageSetup' on
	PostScript output line immediately following `%%Page:'.

2006-07-29  Keith Marshall  <keith.d.marshall@ntlworld.com>

	* pdfroff.sh (PDFROFF_KILL_NULL_PAGES): Require `sed' to match a more
	explicit regular expression, for detection of redundant pages.

2006-07-14  Keith Marshall  <keith.d.marshall@ntlworld.com>

	* pdfroff.sh (PDFWRITE): Local shell variable replaced...
	(PDFROFF_POSTPROCESSOR_COMMAND): by this new  environment variable...
	(GROFF_GHOSTSCRIPT_INTERPRETER): with this bound to it.
	(PDFROFF_COLLATE, PDFROFF_KILL_NULL_PAGES): New environment variables.
	(--no-kill-null-pages): New command line option; implement it, and...
	(--help): Add description for it.

	* pdfroff.man (PDFROFF_POSTPROCESSOR_COMMAND): Document it.
	(PDFROFF_COLLATE, PDFROFF_KILL_NULL_PAGES): Document them.
	(--no-kill-null-pages): Document it.

2006-07-14  Zvezdan Petkovic  <zpetkovic@acm.org>

	* pdfroff.sh (--emit-ps): New command line option; implement it.
	(--help): Add description for it.

	* pdfroff.man (--emit-ps): Document it.

2006-06-11  Werner LEMBERG  <wl@gnu.org>

	* pdfroff.man: Add `.ig' block after NAME section to make mandb
	happy.

2006-03-31  Keith Marshall  <keith.d.marshall@ntlworld.com>

	Split `pdfmark' output as required, to avoid excessively long
	`ps:exec' intermediate output records.

	* pdfmark.tmac (pdfmark): Macro extended to deploy ...
	(pdf*pdfmark.limit): New macro; use it to define ...
	(PDFMARK.FOLDWIDTH, PDFMARK.FOLDWIDTH.MAX): New registers.
	(pdf*compose.first, pdf*compose.next, pdf*compose.literal): New
	macros; each will be aliased as required to ...
	(pdf*compose): ... this, to dynamically construct ...
	(pdf:composed.line, pdf:composed.literal): ... these new strings.
	(pdf:compose.test): New dynamically constructed string; use it to
	detect parenthesised literals in pdfmark content, so folding can be
	avoided within them, subject to honouring of `PDFMARK.FOLDWIDTH'.
	(pdf*length.increment): New macro; it triggers output folding when ...
	(pdf:length): ... this new register exceeds `PDFMARK.FOLDWIDTH.MAX'.
	(pdf*pdfmark.post.first, pdf*pdfmark.post.next): New macros; each will
	be aliased as required to ...
	(pdf*pdfmark.post): ... this, and invoked by ...
	(pdf*pdfmark.dispatch): ... this new macro; use it to define ...
	(pdf:composed): ... this dynamically constructed macro; use ...
	(pdf*end): ... this new macro to terminate it.

2006-03-09  Keith Marshall  <keith.d.marshall@ntlworld.com>

	Incorporate portability recommendations by Ralf Wildenhues
	<ralf.wildenhues@gmx.de>

	* pdfroff.sh: Avoid unsafe quoting in variable substitutions of
	the form "${VAR+"set"}"; remove outer quotes everywhere; prefix
	with `x' on each side of comparisons.
	($NULLCMD): Define when `$ZSH_VERSION' is set, i.e. when host
	has `/bin/sh -> zsh'; also...
	(emulate sh): Invoke, for this case.

	Enhancement/bug fix requested by Werner LEMBERG <wl@gnu.org>

	* pdfroff.sh (--help): Direct output to `stdout', not `stderr'.
	(--keep-temporary-files): New option; implement it.

	* pdfroff.man (OPTIONS): Document `--keep-temporary-files' option.
	(FILES): Note names and purpose of files it affects.

	* Makefile.sub (PDFROFF): Add `--keep-temporary-files' option;
	retain them in `GROFF_TMPDIR=.'.
	(CLEANADD): Include temporary files matching `pdf[0-9]*'.

2006-03-08  Werner LEMBERG  <wl@gnu.org>

	* pdfmark.ms: Update URL for Adobe Reference Manual.

2006-02-26  Claudio Fontana  <claudio@gnu.org>

	* Makefile.sub: Add DESTDIR to install and uninstall targets
	to support staged installations.

2006-02-25  Werner LEMBERG  <wl@gnu.org>

	* pdfmark.ms: Correct typo; reported by Thomas Klausner.

2006-02-24  Werner LEMBERG  <wl@gnu.org>

	* pdfmark.ms, pdfroff.sh: Replace legal/illegal with valid/invalid.

2005-06-22  Keith Marshall  <keith.d.marshall@ntlworld.com>

	pdfroff.sh portability enhancement.

	* pdfroff.sh (ARGLIST): Variable removed.
	(GROFF_STYLE): Use it for all groff invocations.
	(INPUT_FILES): Pass to all groff invocations, instead of ARGLIST.
	(CS_MACRO, CE_MACRO): Initialize independently.
	(CS_FILTER): Simplify quoting; it used to confuse some shells.
	(Source): CVS keyword removed; replaced by...
	(RCSfile, Revision): these.

2005-06-17  Keith Marshall  <keith.d.marshall@ntlworld.com>

	* pdfroff.sh (MATCH): Correct quoting.
	(Source): Add terminating `$' on CVS keyword.

2005-06-17  Zvezdan Petkovic  <zpetkovic@acm.org>

	* Makefile.sub: (RM): Define as `rm -f', for `make' programs
	which don't predefine it.

2005-06-16  Bernd Warken

	* pdfroff.sh (NULLDEV): Correct misspelled instance of NULDEV.

2005-05-28  Werner LEMBERG  <wl@gnu.org>

	* Makefile.sub (.ms.pdf): Use `--stylesheet', not `--style'.

2005-05-26  Werner LEMBERG  <wl@gnu.org>

	* Makefile.sub, pdfmark.tmac, pdfroff.sh, spdf.tmac: Update postal
	address for Free Software Foundation.

2005-05-17  Keith Marshall  <keith.d.marshall@ntlworld.com>

	Improve portability of `pdfroff' shell script.

	* pdfroff.sh: Add space in shebang, conforming to portability
	guidelines in `autoconf' docs.
	(searchpath): New shell function; use it instead of `type' command
	to locate prerequisite helper programs.

	* pdfroff.man: Document influence of `OSTYPE' and `PATH_SEPARATOR'
	environment variables.

	* Makefile.sub (pdfroff): Make it depend on SH_DEPS_SED_SCRIPT,
	from arch/misc/shdeps.sh; use it to customize PATH_SEPARATOR
	initialization code for `searchpath' function in pdfroff.sh.

2005-05-16  Keith Marshall  <keith.d.marshall@ntlworld.com>

	Interim documentation update.

	* pdfmark.ms (GROFF-WEBSITE): New string; use it in references and
	examples.
	(Section 2.5): Add definitions of D and Z operators, for use with
	pdfhref macro.
	(Section 2.5.4): Complete description of pdfhref macro usage for
	`Linking to Internet Resources'; provide examples.

2005-05-14  Nick Stoughton  <nick@usenix.org>

	* pdfmark.tmac (LB): Renamed to ...
	(PDFLB): This to avoid conflicts with mm's LB macro.

2005-05-02  Keith Marshall  <keith.d.marshall@ntlworld.com>

	Handle parsing anomalies in Cygwin's `ash', and similar, shells.

	* pdfroff.sh ($CAT, $GREP, $SED, $GROFF, $DIFF): Avoid interpreting
	misdirected error messages, which `type' sends to `stdout' in some
	shells, as a successful program file match.

	($AWK, $GS): Likewise; also ensure that multiple choice match
	prototypes are eval'ed as such, in case token splitting occurs
	before variable expansion.

2005-04-24  Keith Marshall  <keith.d.marshall@ntlworld.com>

	Add support for folded outlines in PDF documents.

	* pdfmark.tmac (PDFOUTLINE.FOLDLEVEL): New register.
	(pdf:bm.emit): Use it.

	* pdfmark.ms: Document it.

2005-03-25  Werner LEMBERG  <wl@gnu.org>

	* Makefile.in: Removed.

2005-03-24  Werner LEMBERG  <wl@gnu.org>

	* Makefile: Renamed to...
	* Makefile.in: This.

2005-03-22  Keith Marshall  <keith.d.marshall@ntlworld.com>

	* pdfroff.sh: Eliminate invalid program reference to $AWK, when
	invoked with `--no-reference-dictionary' option.

2005-03-02  Keith Marshall  <keith.d.marshall@ntlworld.com>

	* contrib/pdfmark/Makefile.sub (install_data): Use $(INSTALL_SCRIPT)
	to install `pdfroff'.
	* contrib/pdfmark/pdfroff.man (opte): New macro.
	Use it to remove spurious equal signs from SYNOPSIS.

2005-02-28  Keith Marshall  <keith.d.marshall@ntlworld.com>

	Provide `pdfroff' shell script, and manpage to document it;
	runs multiple groff passes, to format PDF documents.

	* pdfroff.sh: New shell script template;
	* pdfroff.man: New man page to document it.

	Integrate `pdfmark' into normal groff build system;
	install macro `pdfmark' packages, build and install `pdfroff',
	and PDF format documentation.

	* Makefile.sub: Rewritten.
	* pdfmark.tmac: Modified.
	(pdfhref): New macro operators, `D' and `Z'.
	(pdf*href-D, pdf*href-Z): New macros: implement them.
	(pdf*href.mark.resolve, pdf*href.mark.emit, pdf*href.mark.flush):
	Modified macro algorithm, to eliminate inconsistencies between
	`grohtml' representations of `opminy' from differing groff versions.
	(pdf*href.mark, pdf*href.mark.release, pdf*href.mark.close):
	deleted (redundant macros).
	(PDFHREF.LEADING): Default value changed (was 2.5p; now -1.0p).
	Global comment updates.

	* TODO: Updated.

2004-12-10  Werner LEMBERG  <wl@gnu.org>

	* TODO: Updated.

2004-12-08  Keith Marshall  <keith.d.marshall@ntlworld.com>

	First import of pdfmark files.

Copyright 2004-2012
  Free Software Foundation, Inc.

Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
notice and this notice are preserved.

Local Variables:
version-control: never
coding: latin-1
End: