Imported Upstream version 1.22.4
[platform/upstream/groff.git] / contrib / pdfmark / ChangeLog
1 2018-02-28  Werner LEMBERG  <wl@gnu.org>
2
3         * pdfmark.am (pdfmark.pdf): Use $(GROFF_V).
4
5 2018-02-28  Werner LEMBERG  <wl@gnu.org>
6
7         * pdfmark.am (pdfroff): Use $(AM_V_GEN) to silence file generation.
8
9 2015-08-22  Bernd Warken  <groff-bernd.warken-72@web.de>
10
11         * pdfroff.1.man: Rename `pdfroff.man'.
12
13         * pdfmark.am: Add `Last update'.  Setup Emacs mode.
14
15 2015-08-05  Bernd Warken  <groff-bernd.warken-72@web.de>
16
17         * pdfmark.am: Add `Last update'.  Setup Emacs mode.
18
19 2015-04-03  Werner LEMBERG  <wl@gnu.org>
20
21         * pdfroff.man: Make it work in compatibility mode.
22
23 2014-10-14  Keith Marshall  <keith.d.marshall@ntlworld.com>
24
25         Deduce "--no-toc-relocation" from input stream (revisited).
26
27         * pdfroff.sh (WRKFILE): Correct malformed sed expression.
28
29         * spdf.tmac (TC): Prefer value of pdfroff's PHASE register to defined
30         state of pdf:href.map, when choosing to emit control record to...
31         (toc_relocation): ...enable this.
32
33 2014-10-13  Keith Marshall  <keith.d.marshall@ntlworld.com>
34
35         Deduce "--no-toc-relocation" from input stream.
36
37         * pdfroff.sh (WRKFILE): Scan it for "pdfroff-option:set" records;
38         apply settings; check for equivalent of "--no-toc-relocation" option.
39
40         * spdf.tmac (TC): Emit "pdfroff-option:set toc-relocation=enabled".
41
42 2014-10-12  Keith Marshall  <keith.d.marshall@ntlworld.com>
43
44         Avoid spurious user visible control messages on stderr.
45
46         * pdfroff.sh (REFCOPY): Ensure that at least one pdfhref mark of type
47         'Z' will remain in the reference map, after all references have been
48         resolved; this is required, to suppress writing of reference control
49         records to stderr during the final PDF output processing phase.
50
51 2014-09-04  Bernd Warken  <groff-bernd.warken-72@web.de>
52
53         * all pdfmark source files: Copying (remove last updates and
54         replace years with package years) and Emacs setup.
55
56 2014-03-30  Steffen Nurpmeso  <sdaoden@yandex.com>
57
58         * Makefile.sub: Put straight error-prevention prefixes for `rm'.
59
60 2014-03-29  Steffen Nurpmeso  <sdaoden@yandex.com>
61
62         * Makefile.sub: Handle examples separately, controlled by
63         $(make{_,_install_,_uninstall_}examples).
64
65 2013-01-28  Deri James  <deri@chuzzlewit.myzen.co.uk>
66
67         * pdfmark.tmac (pdfmark, pdf:composed): Use `\!' instead of `\X'.
68
69         With the old pdfmark there are gaps between two of the lines, but
70         with the new version they disappear.  The use of `.br' and `.in 0'
71         is arbitrary any request which causes an implicit break could be
72         used.  Two breaks together only produce one line break, but if there
73         is an intervening `\X' then the second break finds the line buffer
74         not empty and generates another line break.
75
76         Using `\!' does alter the position of the pdfmark lines in the
77         intermediate file sent to grops (the pdfmark lines are output
78         immediately rather than being serialised through the output line
79         processing), but this has no effect since the contents of the
80         pdfmark line stay the same.  It is the contents which determine
81         where bookmarks jump to not the position of the record in the input
82         stream to grops.
83
84         I initially used `.output', but hit a snag if a pdfbookmark occurs
85         before the document starts to output (message saying to insert an
86         explicit `.br'), this is quite likely for things like `.pdfinfo
87         /Author' which occur at the top of the document.  So I'm using the
88         `\!' escape.
89
90 2012-09-20  Werner LEMBERG  <wl@gnu.org>
91
92         Simplify enviroment handling.
93
94         Suggested by Ivan Shmakov <oneingray@gmail.com>.
95
96         * Makefile.sub (PDFROFF): Don't use export.
97
98 2011-12-26  Mike Frysinger  <vapier@gentoo.org>
99
100         Fix parallel build race failure.
101
102         Sometimes building in parallel will fail in the pdfmark directory:
103
104           make[2]: Entering directory '.../contrib/pdfmark'
105           rm -f pdfroff
106           rm -f pdfmark.pdf
107           sed -f ... ./pdfroff.sh >pdfroff
108           ...; ./pdfroff ... pdfmark.ms >pdfmark.pdf
109           /bin/sh: ./pdfroff: Permission denied
110           chmod +x pdfroff
111           make[2]: *** [pdfmark.pdf] Error 126
112
113         This is because the generated pdf files use the local generated
114         pdfroff helper script, but they don't depend directly upon it, so
115         make tries to create the two in parallel and randomly falls over.
116
117         * Makefile.sub: Have all the .pdf files explicitly depend on the
118         `pdfroff' helper script.
119
120 2010-12-23  Keith Marshall  <keith.d.marshall@ntlworld.com>
121
122         Update copyright notices; pdfmark.tmac bug-fix.
123
124         * pdfmark.tmac: Update copyright notices.
125         (pdf*href.mark.resolve): Avoid premature removal, by aliasing to...
126         (pdf*href.mark.begin): ...this, rather than renaming.
127
128         * pdfroff.sh, pdfroff.man: Update copyright notices.
129
130 2010-12-14  Keith Marshall  <keith.d.marshall@ntlworld.com>
131
132         Clean up handling of temporary files directory.
133
134         * .cvsignore (pdfroff-*): Ignore sub-directories matching this.
135         * Makefile.sub (MOSTLCLEANDIRADD): Schedule them for removal.
136
137 2010-12-02  Keith Marshall  <keith.d.marshall@ntlworld.com>
138
139         Address potential temporary file security vulnerabilities.
140
141         * pdfroff.sh (GROFF_TMPDIR): Use mktemp(1) to assign it, if possible;
142         fall back to ${TMPDIR}, ${TMP} or ${TEMP} if unsuccessful.
143         * pdfroff.man: Document it.
144
145 2009-08-16  Colin Watson  <cjwatson@debian.org>
146
147         Make pdfroff's GhostScript invocation safer.
148
149         * pdfroff.sh (PDFROFF_POSTPROCESSOR_COMMAND): Add `-dSAFER' option.
150         * pdfroff.man: Document it.
151
152 2008-12-28  Keith Marshall  <keith.d.marshall@ntlworld.com>
153
154         Avoid phantom line wrapping in pdfhref hot-spots.
155
156         * pdfmark.tmac (pdf*href.mark.end): Emit hot-spot end markers within
157         scope of `\Z', to prevent possible output line length overflow which
158         may occur only in the layout computation passes, but not in the final
159         output pass.  Problem observed and identified by Nick Stoughton; it
160         causes some hot-spots to be displaced from their proper locations.
161
162 2007-04-11  Keith Marshall  <keith.d.marshall@ntlworld.com>
163
164         Avoid stray newlines in folded pdfmark literal content.
165
166         * pdfmark.tmac (pdf*pdfmark.dispatch.wrapped): New string; define it
167         when accumulating long literal content; make it undefined otherwise.
168         (PDFMARK.FOLDWIDTH, PDFMARK.FOLDWIDTH.MAX): Reserve space for two
169         extra characters, to accommodate a space and an escaped newline,
170         while accumulating literal content, in case folding is required.
171         (pdf*pdfmark.dispatch) [pdf*pdfmark.dispatch.wrapped]: Add them.
172
173 2007-04-11  Keith Marshall  <keith.d.marshall@ntlworld.com>
174
175         * pdfmark.tmac (pdfbookmark): Don't evaluate within diversions; defer
176         placement until diversion is copied out at top level.
177
178 2007-02-06  Eric S. Raymond  <esr@snark.thyrsus.com>
179
180         * pdfroff.man: Update .UR/.UE and .MT/.ME to latest changes in
181         an-ext.tmac.
182
183 2007-01-30  Werner LEMBERG  <wl@gnu.org>
184
185         * pdfroff.man: Updated.
186
187 2007-01-21  Werner LEMBERG  <wl@gnu.org>
188
189         * pdfroff.man: Revised, based on a patch from Eric Raymond.  It now
190         uses the new macros from an-ext.tmac.  This is the first of a series
191         of man patches which Eric has contributed.
192
193 2006-07-30  Keith Marshall  <keith.d.marshall@ntlworld.com>
194
195         * pdfroff.sh (PDFROFF_KILL_NULL_PAGES): Require `%%BeginPageSetup' on
196         PostScript output line immediately following `%%Page:'.
197
198 2006-07-29  Keith Marshall  <keith.d.marshall@ntlworld.com>
199
200         * pdfroff.sh (PDFROFF_KILL_NULL_PAGES): Require `sed' to match a more
201         explicit regular expression, for detection of redundant pages.
202
203 2006-07-14  Keith Marshall  <keith.d.marshall@ntlworld.com>
204
205         * pdfroff.sh (PDFWRITE): Local shell variable replaced...
206         (PDFROFF_POSTPROCESSOR_COMMAND): by this new  environment variable...
207         (GROFF_GHOSTSCRIPT_INTERPRETER): with this bound to it.
208         (PDFROFF_COLLATE, PDFROFF_KILL_NULL_PAGES): New environment variables.
209         (--no-kill-null-pages): New command line option; implement it, and...
210         (--help): Add description for it.
211
212         * pdfroff.man (PDFROFF_POSTPROCESSOR_COMMAND): Document it.
213         (PDFROFF_COLLATE, PDFROFF_KILL_NULL_PAGES): Document them.
214         (--no-kill-null-pages): Document it.
215
216 2006-07-14  Zvezdan Petkovic  <zpetkovic@acm.org>
217
218         * pdfroff.sh (--emit-ps): New command line option; implement it.
219         (--help): Add description for it.
220
221         * pdfroff.man (--emit-ps): Document it.
222
223 2006-06-11  Werner LEMBERG  <wl@gnu.org>
224
225         * pdfroff.man: Add `.ig' block after NAME section to make mandb
226         happy.
227
228 2006-03-31  Keith Marshall  <keith.d.marshall@ntlworld.com>
229
230         Split `pdfmark' output as required, to avoid excessively long
231         `ps:exec' intermediate output records.
232
233         * pdfmark.tmac (pdfmark): Macro extended to deploy ...
234         (pdf*pdfmark.limit): New macro; use it to define ...
235         (PDFMARK.FOLDWIDTH, PDFMARK.FOLDWIDTH.MAX): New registers.
236         (pdf*compose.first, pdf*compose.next, pdf*compose.literal): New
237         macros; each will be aliased as required to ...
238         (pdf*compose): ... this, to dynamically construct ...
239         (pdf:composed.line, pdf:composed.literal): ... these new strings.
240         (pdf:compose.test): New dynamically constructed string; use it to
241         detect parenthesised literals in pdfmark content, so folding can be
242         avoided within them, subject to honouring of `PDFMARK.FOLDWIDTH'.
243         (pdf*length.increment): New macro; it triggers output folding when ...
244         (pdf:length): ... this new register exceeds `PDFMARK.FOLDWIDTH.MAX'.
245         (pdf*pdfmark.post.first, pdf*pdfmark.post.next): New macros; each will
246         be aliased as required to ...
247         (pdf*pdfmark.post): ... this, and invoked by ...
248         (pdf*pdfmark.dispatch): ... this new macro; use it to define ...
249         (pdf:composed): ... this dynamically constructed macro; use ...
250         (pdf*end): ... this new macro to terminate it.
251
252 2006-03-09  Keith Marshall  <keith.d.marshall@ntlworld.com>
253
254         Incorporate portability recommendations by Ralf Wildenhues
255         <ralf.wildenhues@gmx.de>
256
257         * pdfroff.sh: Avoid unsafe quoting in variable substitutions of
258         the form "${VAR+"set"}"; remove outer quotes everywhere; prefix
259         with `x' on each side of comparisons.
260         ($NULLCMD): Define when `$ZSH_VERSION' is set, i.e. when host
261         has `/bin/sh -> zsh'; also...
262         (emulate sh): Invoke, for this case.
263
264         Enhancement/bug fix requested by Werner LEMBERG <wl@gnu.org>
265
266         * pdfroff.sh (--help): Direct output to `stdout', not `stderr'.
267         (--keep-temporary-files): New option; implement it.
268
269         * pdfroff.man (OPTIONS): Document `--keep-temporary-files' option.
270         (FILES): Note names and purpose of files it affects.
271
272         * Makefile.sub (PDFROFF): Add `--keep-temporary-files' option;
273         retain them in `GROFF_TMPDIR=.'.
274         (CLEANADD): Include temporary files matching `pdf[0-9]*'.
275
276 2006-03-08  Werner LEMBERG  <wl@gnu.org>
277
278         * pdfmark.ms: Update URL for Adobe Reference Manual.
279
280 2006-02-26  Claudio Fontana  <claudio@gnu.org>
281
282         * Makefile.sub: Add DESTDIR to install and uninstall targets
283         to support staged installations.
284
285 2006-02-25  Werner LEMBERG  <wl@gnu.org>
286
287         * pdfmark.ms: Correct typo; reported by Thomas Klausner.
288
289 2006-02-24  Werner LEMBERG  <wl@gnu.org>
290
291         * pdfmark.ms, pdfroff.sh: Replace legal/illegal with valid/invalid.
292
293 2005-06-22  Keith Marshall  <keith.d.marshall@ntlworld.com>
294
295         pdfroff.sh portability enhancement.
296
297         * pdfroff.sh (ARGLIST): Variable removed.
298         (GROFF_STYLE): Use it for all groff invocations.
299         (INPUT_FILES): Pass to all groff invocations, instead of ARGLIST.
300         (CS_MACRO, CE_MACRO): Initialize independently.
301         (CS_FILTER): Simplify quoting; it used to confuse some shells.
302         (Source): CVS keyword removed; replaced by...
303         (RCSfile, Revision): these.
304
305 2005-06-17  Keith Marshall  <keith.d.marshall@ntlworld.com>
306
307         * pdfroff.sh (MATCH): Correct quoting.
308         (Source): Add terminating `$' on CVS keyword.
309
310 2005-06-17  Zvezdan Petkovic  <zpetkovic@acm.org>
311
312         * Makefile.sub: (RM): Define as `rm -f', for `make' programs
313         which don't predefine it.
314
315 2005-06-16  Bernd Warken <groff-bernd.warken-72@web.de>
316
317         * pdfroff.sh (NULLDEV): Correct misspelled instance of NULDEV.
318
319 2005-05-28  Werner LEMBERG  <wl@gnu.org>
320
321         * Makefile.sub (.ms.pdf): Use `--stylesheet', not `--style'.
322
323 2005-05-26  Werner LEMBERG  <wl@gnu.org>
324
325         * Makefile.sub, pdfmark.tmac, pdfroff.sh, spdf.tmac: Update postal
326         address for Free Software Foundation.
327
328 2005-05-17  Keith Marshall  <keith.d.marshall@ntlworld.com>
329
330         Improve portability of `pdfroff' shell script.
331
332         * pdfroff.sh: Add space in shebang, conforming to portability
333         guidelines in `autoconf' docs.
334         (searchpath): New shell function; use it instead of `type' command
335         to locate prerequisite helper programs.
336
337         * pdfroff.man: Document influence of `OSTYPE' and `PATH_SEPARATOR'
338         environment variables.
339
340         * Makefile.sub (pdfroff): Make it depend on SH_DEPS_SED_SCRIPT,
341         from arch/misc/shdeps.sh; use it to customize PATH_SEPARATOR
342         initialization code for `searchpath' function in pdfroff.sh.
343
344 2005-05-16  Keith Marshall  <keith.d.marshall@ntlworld.com>
345
346         Interim documentation update.
347
348         * pdfmark.ms (GROFF-WEBSITE): New string; use it in references and
349         examples.
350         (Section 2.5): Add definitions of D and Z operators, for use with
351         pdfhref macro.
352         (Section 2.5.4): Complete description of pdfhref macro usage for
353         `Linking to Internet Resources'; provide examples.
354
355 2005-05-14  Nick Stoughton  <nick@usenix.org>
356
357         * pdfmark.tmac (LB): Renamed to ...
358         (PDFLB): This to avoid conflicts with mm's LB macro.
359
360 2005-05-02  Keith Marshall  <keith.d.marshall@ntlworld.com>
361
362         Handle parsing anomalies in Cygwin's `ash', and similar, shells.
363
364         * pdfroff.sh ($CAT, $GREP, $SED, $GROFF, $DIFF): Avoid interpreting
365         misdirected error messages, which `type' sends to `stdout' in some
366         shells, as a successful program file match.
367
368         ($AWK, $GS): Likewise; also ensure that multiple choice match
369         prototypes are eval'ed as such, in case token splitting occurs
370         before variable expansion.
371
372 2005-04-24  Keith Marshall  <keith.d.marshall@ntlworld.com>
373
374         Add support for folded outlines in PDF documents.
375
376         * pdfmark.tmac (PDFOUTLINE.FOLDLEVEL): New register.
377         (pdf:bm.emit): Use it.
378
379         * pdfmark.ms: Document it.
380
381 2005-03-25  Werner LEMBERG  <wl@gnu.org>
382
383         * Makefile.in: Removed.
384
385 2005-03-24  Werner LEMBERG  <wl@gnu.org>
386
387         * Makefile: Renamed to...
388         * Makefile.in: This.
389
390 2005-03-22  Keith Marshall  <keith.d.marshall@ntlworld.com>
391
392         * pdfroff.sh: Eliminate invalid program reference to $AWK, when
393         invoked with `--no-reference-dictionary' option.
394
395 2005-03-02  Keith Marshall  <keith.d.marshall@ntlworld.com>
396
397         * contrib/pdfmark/Makefile.sub (install_data): Use $(INSTALL_SCRIPT)
398         to install `pdfroff'.
399         * contrib/pdfmark/pdfroff.man (opte): New macro.
400         Use it to remove spurious equal signs from SYNOPSIS.
401
402 2005-02-28  Keith Marshall  <keith.d.marshall@ntlworld.com>
403
404         Provide `pdfroff' shell script, and manpage to document it;
405         runs multiple groff passes, to format PDF documents.
406
407         * pdfroff.sh: New shell script template;
408         * pdfroff.man: New man page to document it.
409
410         Integrate `pdfmark' into normal groff build system;
411         install macro `pdfmark' packages, build and install `pdfroff',
412         and PDF format documentation.
413
414         * Makefile.sub: Rewritten.
415         * pdfmark.tmac: Modified.
416         (pdfhref): New macro operators, `D' and `Z'.
417         (pdf*href-D, pdf*href-Z): New macros: implement them.
418         (pdf*href.mark.resolve, pdf*href.mark.emit, pdf*href.mark.flush):
419         Modified macro algorithm, to eliminate inconsistencies between
420         `grohtml' representations of `opminy' from differing groff versions.
421         (pdf*href.mark, pdf*href.mark.release, pdf*href.mark.close):
422         deleted (redundant macros).
423         (PDFHREF.LEADING): Default value changed (was 2.5p; now -1.0p).
424         Global comment updates.
425
426         * TODO: Updated.
427
428 2004-12-10  Werner LEMBERG  <wl@gnu.org>
429
430         * TODO: Updated.
431
432 2004-12-08  Keith Marshall  <keith.d.marshall@ntlworld.com>
433
434         First import of pdfmark files.
435
436 ________________________________________________________________________
437
438 Copyright (C) 2004-2018 Free Software Foundation, Inc.
439
440 Copying and distribution of this file, with or without modification,
441 are permitted in any medium without royalty provided the copyright
442 notice and this notice are preserved.
443
444 Local Variables:
445 version-control: never
446 coding: latin-1
447 mode: change-log
448 End: