1 2018-02-28 Werner LEMBERG <wl@gnu.org>
3 * pdfmark.am (pdfmark.pdf): Use $(GROFF_V).
5 2018-02-28 Werner LEMBERG <wl@gnu.org>
7 * pdfmark.am (pdfroff): Use $(AM_V_GEN) to silence file generation.
9 2015-08-22 Bernd Warken <groff-bernd.warken-72@web.de>
11 * pdfroff.1.man: Rename `pdfroff.man'.
13 * pdfmark.am: Add `Last update'. Setup Emacs mode.
15 2015-08-05 Bernd Warken <groff-bernd.warken-72@web.de>
17 * pdfmark.am: Add `Last update'. Setup Emacs mode.
19 2015-04-03 Werner LEMBERG <wl@gnu.org>
21 * pdfroff.man: Make it work in compatibility mode.
23 2014-10-14 Keith Marshall <keith.d.marshall@ntlworld.com>
25 Deduce "--no-toc-relocation" from input stream (revisited).
27 * pdfroff.sh (WRKFILE): Correct malformed sed expression.
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.
33 2014-10-13 Keith Marshall <keith.d.marshall@ntlworld.com>
35 Deduce "--no-toc-relocation" from input stream.
37 * pdfroff.sh (WRKFILE): Scan it for "pdfroff-option:set" records;
38 apply settings; check for equivalent of "--no-toc-relocation" option.
40 * spdf.tmac (TC): Emit "pdfroff-option:set toc-relocation=enabled".
42 2014-10-12 Keith Marshall <keith.d.marshall@ntlworld.com>
44 Avoid spurious user visible control messages on stderr.
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.
51 2014-09-04 Bernd Warken <groff-bernd.warken-72@web.de>
53 * all pdfmark source files: Copying (remove last updates and
54 replace years with package years) and Emacs setup.
56 2014-03-30 Steffen Nurpmeso <sdaoden@yandex.com>
58 * Makefile.sub: Put straight error-prevention prefixes for `rm'.
60 2014-03-29 Steffen Nurpmeso <sdaoden@yandex.com>
62 * Makefile.sub: Handle examples separately, controlled by
63 $(make{_,_install_,_uninstall_}examples).
65 2013-01-28 Deri James <deri@chuzzlewit.myzen.co.uk>
67 * pdfmark.tmac (pdfmark, pdf:composed): Use `\!' instead of `\X'.
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.
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
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
90 2012-09-20 Werner LEMBERG <wl@gnu.org>
92 Simplify enviroment handling.
94 Suggested by Ivan Shmakov <oneingray@gmail.com>.
96 * Makefile.sub (PDFROFF): Don't use export.
98 2011-12-26 Mike Frysinger <vapier@gentoo.org>
100 Fix parallel build race failure.
102 Sometimes building in parallel will fail in the pdfmark directory:
104 make[2]: Entering directory '.../contrib/pdfmark'
107 sed -f ... ./pdfroff.sh >pdfroff
108 ...; ./pdfroff ... pdfmark.ms >pdfmark.pdf
109 /bin/sh: ./pdfroff: Permission denied
111 make[2]: *** [pdfmark.pdf] Error 126
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.
117 * Makefile.sub: Have all the .pdf files explicitly depend on the
118 `pdfroff' helper script.
120 2010-12-23 Keith Marshall <keith.d.marshall@ntlworld.com>
122 Update copyright notices; pdfmark.tmac bug-fix.
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.
128 * pdfroff.sh, pdfroff.man: Update copyright notices.
130 2010-12-14 Keith Marshall <keith.d.marshall@ntlworld.com>
132 Clean up handling of temporary files directory.
134 * .cvsignore (pdfroff-*): Ignore sub-directories matching this.
135 * Makefile.sub (MOSTLCLEANDIRADD): Schedule them for removal.
137 2010-12-02 Keith Marshall <keith.d.marshall@ntlworld.com>
139 Address potential temporary file security vulnerabilities.
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.
145 2009-08-16 Colin Watson <cjwatson@debian.org>
147 Make pdfroff's GhostScript invocation safer.
149 * pdfroff.sh (PDFROFF_POSTPROCESSOR_COMMAND): Add `-dSAFER' option.
150 * pdfroff.man: Document it.
152 2008-12-28 Keith Marshall <keith.d.marshall@ntlworld.com>
154 Avoid phantom line wrapping in pdfhref hot-spots.
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.
162 2007-04-11 Keith Marshall <keith.d.marshall@ntlworld.com>
164 Avoid stray newlines in folded pdfmark literal content.
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.
173 2007-04-11 Keith Marshall <keith.d.marshall@ntlworld.com>
175 * pdfmark.tmac (pdfbookmark): Don't evaluate within diversions; defer
176 placement until diversion is copied out at top level.
178 2007-02-06 Eric S. Raymond <esr@snark.thyrsus.com>
180 * pdfroff.man: Update .UR/.UE and .MT/.ME to latest changes in
183 2007-01-30 Werner LEMBERG <wl@gnu.org>
185 * pdfroff.man: Updated.
187 2007-01-21 Werner LEMBERG <wl@gnu.org>
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.
193 2006-07-30 Keith Marshall <keith.d.marshall@ntlworld.com>
195 * pdfroff.sh (PDFROFF_KILL_NULL_PAGES): Require `%%BeginPageSetup' on
196 PostScript output line immediately following `%%Page:'.
198 2006-07-29 Keith Marshall <keith.d.marshall@ntlworld.com>
200 * pdfroff.sh (PDFROFF_KILL_NULL_PAGES): Require `sed' to match a more
201 explicit regular expression, for detection of redundant pages.
203 2006-07-14 Keith Marshall <keith.d.marshall@ntlworld.com>
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.
212 * pdfroff.man (PDFROFF_POSTPROCESSOR_COMMAND): Document it.
213 (PDFROFF_COLLATE, PDFROFF_KILL_NULL_PAGES): Document them.
214 (--no-kill-null-pages): Document it.
216 2006-07-14 Zvezdan Petkovic <zpetkovic@acm.org>
218 * pdfroff.sh (--emit-ps): New command line option; implement it.
219 (--help): Add description for it.
221 * pdfroff.man (--emit-ps): Document it.
223 2006-06-11 Werner LEMBERG <wl@gnu.org>
225 * pdfroff.man: Add `.ig' block after NAME section to make mandb
228 2006-03-31 Keith Marshall <keith.d.marshall@ntlworld.com>
230 Split `pdfmark' output as required, to avoid excessively long
231 `ps:exec' intermediate output records.
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.
252 2006-03-09 Keith Marshall <keith.d.marshall@ntlworld.com>
254 Incorporate portability recommendations by Ralf Wildenhues
255 <ralf.wildenhues@gmx.de>
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.
264 Enhancement/bug fix requested by Werner LEMBERG <wl@gnu.org>
266 * pdfroff.sh (--help): Direct output to `stdout', not `stderr'.
267 (--keep-temporary-files): New option; implement it.
269 * pdfroff.man (OPTIONS): Document `--keep-temporary-files' option.
270 (FILES): Note names and purpose of files it affects.
272 * Makefile.sub (PDFROFF): Add `--keep-temporary-files' option;
273 retain them in `GROFF_TMPDIR=.'.
274 (CLEANADD): Include temporary files matching `pdf[0-9]*'.
276 2006-03-08 Werner LEMBERG <wl@gnu.org>
278 * pdfmark.ms: Update URL for Adobe Reference Manual.
280 2006-02-26 Claudio Fontana <claudio@gnu.org>
282 * Makefile.sub: Add DESTDIR to install and uninstall targets
283 to support staged installations.
285 2006-02-25 Werner LEMBERG <wl@gnu.org>
287 * pdfmark.ms: Correct typo; reported by Thomas Klausner.
289 2006-02-24 Werner LEMBERG <wl@gnu.org>
291 * pdfmark.ms, pdfroff.sh: Replace legal/illegal with valid/invalid.
293 2005-06-22 Keith Marshall <keith.d.marshall@ntlworld.com>
295 pdfroff.sh portability enhancement.
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.
305 2005-06-17 Keith Marshall <keith.d.marshall@ntlworld.com>
307 * pdfroff.sh (MATCH): Correct quoting.
308 (Source): Add terminating `$' on CVS keyword.
310 2005-06-17 Zvezdan Petkovic <zpetkovic@acm.org>
312 * Makefile.sub: (RM): Define as `rm -f', for `make' programs
313 which don't predefine it.
315 2005-06-16 Bernd Warken <groff-bernd.warken-72@web.de>
317 * pdfroff.sh (NULLDEV): Correct misspelled instance of NULDEV.
319 2005-05-28 Werner LEMBERG <wl@gnu.org>
321 * Makefile.sub (.ms.pdf): Use `--stylesheet', not `--style'.
323 2005-05-26 Werner LEMBERG <wl@gnu.org>
325 * Makefile.sub, pdfmark.tmac, pdfroff.sh, spdf.tmac: Update postal
326 address for Free Software Foundation.
328 2005-05-17 Keith Marshall <keith.d.marshall@ntlworld.com>
330 Improve portability of `pdfroff' shell script.
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.
337 * pdfroff.man: Document influence of `OSTYPE' and `PATH_SEPARATOR'
338 environment variables.
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.
344 2005-05-16 Keith Marshall <keith.d.marshall@ntlworld.com>
346 Interim documentation update.
348 * pdfmark.ms (GROFF-WEBSITE): New string; use it in references and
350 (Section 2.5): Add definitions of D and Z operators, for use with
352 (Section 2.5.4): Complete description of pdfhref macro usage for
353 `Linking to Internet Resources'; provide examples.
355 2005-05-14 Nick Stoughton <nick@usenix.org>
357 * pdfmark.tmac (LB): Renamed to ...
358 (PDFLB): This to avoid conflicts with mm's LB macro.
360 2005-05-02 Keith Marshall <keith.d.marshall@ntlworld.com>
362 Handle parsing anomalies in Cygwin's `ash', and similar, shells.
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.
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.
372 2005-04-24 Keith Marshall <keith.d.marshall@ntlworld.com>
374 Add support for folded outlines in PDF documents.
376 * pdfmark.tmac (PDFOUTLINE.FOLDLEVEL): New register.
377 (pdf:bm.emit): Use it.
379 * pdfmark.ms: Document it.
381 2005-03-25 Werner LEMBERG <wl@gnu.org>
383 * Makefile.in: Removed.
385 2005-03-24 Werner LEMBERG <wl@gnu.org>
387 * Makefile: Renamed to...
390 2005-03-22 Keith Marshall <keith.d.marshall@ntlworld.com>
392 * pdfroff.sh: Eliminate invalid program reference to $AWK, when
393 invoked with `--no-reference-dictionary' option.
395 2005-03-02 Keith Marshall <keith.d.marshall@ntlworld.com>
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.
402 2005-02-28 Keith Marshall <keith.d.marshall@ntlworld.com>
404 Provide `pdfroff' shell script, and manpage to document it;
405 runs multiple groff passes, to format PDF documents.
407 * pdfroff.sh: New shell script template;
408 * pdfroff.man: New man page to document it.
410 Integrate `pdfmark' into normal groff build system;
411 install macro `pdfmark' packages, build and install `pdfroff',
412 and PDF format documentation.
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.
428 2004-12-10 Werner LEMBERG <wl@gnu.org>
432 2004-12-08 Keith Marshall <keith.d.marshall@ntlworld.com>
434 First import of pdfmark files.
436 ________________________________________________________________________
438 Copyright (C) 2004-2018 Free Software Foundation, Inc.
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.
445 version-control: never