summaryrefslogtreecommitdiff
path: root/support/hypertex/tanmoy/ghostview-1.5-hacked/HISTORY
blob: 36d008228d6466324e6f68db1a7079df85ae951c (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
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
==================== ghostview 1.5 HACKED  (25 Jul 93) =====================

 Hacked by tanmoy@qcd.lanl.gov to support pdfmarks (alpha release)

==================== ghostview 1.5         (25 Jul 93) =====================

 1. Minimize comparison is DSC scanner to further speed it up.

 2. Modify MenuButton translations to popup menu under any combination
    of modifiers.

 3. Change all occurances of .Translation to .translation to allow #augment
    and #override to work properly.

 4. Rename ghostview widget "preload" resource to "arguments".

 5. Add foreground and palette resources to Ghostview widget.
    Allow user to set the palette from the command line.
    Remove special visual and special cmap code.

 6. Remove Standard Color Map installation code.

 7. Sync the connection just after setting the properties to ensure they
    are set when gs starts.  Flush the next page event to ensure ghostscript
    starts right away.

 8. Fix up bug in pasting of arguments into exec() call.

 9. Add safer resource and make it the default.

10. Apply HOME directory selfile fix from Erik van der Poel.

11. Invoke ad2c with sh, so it work properly with for people using VPATH.

12. Improve comment scanner.  Avoid allocating 0 bytes when %%Pages: 0
    is present.  Blank lines are counted with the section that they follow.
    This is necessary one one decides that the current section being scanned
    belong somewhere else.

13. Various portability patches.  (For Alpha-OSF/1 in particular.)

==================== ghostview 1.4.1       ( 2 Nov 92) =====================

 1. Fix a couple of bugs introduced into the PostScript comment scanner.
    - Change isblank() to blank() to avoid name clash.
    - Upgrade blank() to call not DSC comments blank lines.
    - Avoid core dump by guarding against garbage bewteen the %%EndSetup
      and first %%Page.
    - Collsaped sections (Documents, Files, ProcSets, etc.) are no longer
      returned as a comment line.  They are now properly recognized.
    - Avoid looping by truncating line buffer at EOF.

 2. Synchronize X connection before trying to force error associated with
    backing pixmap.

 3. Add <Tab> as another keyboard accelerator for Next.

==================== ghostview 1.4         (11 Oct 92) =====================

 1. Merge in VMS support from Terry Poot <tp@mccall.com>.

 2. Force the Alloc error to occur immediately after trying to allocate
    the backing pixmap.  Deal with it as best as we can.

 3. Withdraw unused function GhostviewGetInputFileDescriptor().

 4. Use XCOMM trick from X11R5 to make Imakefile more portable.

 5. Renamed ghostview.h to gv.h and Ghostview.ad.h to app-defaults.h to
    avoid limitations in VMS file names.

 6. Correct problem where ghostscript interpreter was not being killed
    when the popup zoom window was dismissed.

 7. Propagate error messages about alloc failures and interpreter failures
    in both main and zoom windows back to the information window.

 8. Catch X errors and gracefully die if one occurs.

 9. Relayout ghostview whenever the document requests a new orientation or
    page media.

10. Allow for multipage encapsulated PostScript figures.

11. More upgrades to PostScript scanner.
    - Comment section now terminated by %X where X is unprintable.
    - Length of section is now properly computed when there is an
      included document.
    - Cleaned up misuse of global variables.
    - Ignore comments within %%Begin(End)Feature, %%Begin(End)File,
      %%Begin(End)Font, %%Begin(End)ProcSet, %%Begin(End)Resource.
    - Change enum {LLX, LLY, URX, URY} to #defines to avoid confusing some
      compilers.

12. Pay attention to ordinal number on %%Page comment to detect included
    figures without %%Begin(End)Document guards.

13. Added reopen button.

14. Small POSIX change in Dir.c

15. Make installStdCmap false by default.

16. Fix error where wrong pages were being saved or printed when descending
    page order is used.

17. Be sure to discard old backing pixmap if new alloc fails.

==================== ghostview 1.3-terry   (30 May 92) =====================

 1. Rework the DSC comment scanner to return the length of the section as
    well as the start and end position.

 2. Rework sending PostScript input down the pipe to eliminate a gross
    efficiency problem.  I/O is done in 512 byte buffers rather than
    line by line.  As many buffers as possible are sent before returning
    from routine.

 3. Change Path.c to include <X11/Xos.h> to get <sys/types.h> and define
    getuid in terms of uid_t.

 4. Added #defines for memset() and memcpy() for use when BSD4_2 is defined.

==================== ghostview 1.3         (12 May 92) =====================

 1. Fix bug where EPSF figures with a %%Page comment would cause ghostview
    to use garbage for the orientation or media.

 2. Redid waiting for form to change size before reattaching the chains the X
    way.  (Previous algorithm used a subsidiary event loop.  It was prone
    to getting stuck with the wrong app-defaults.)  The new algorithm uses
    timer events with exponential backoff.

 3. Added Prior and Next keys to page back and forward.

 4. Added GhostviewCheckFile action and bound it to MapNotify.  Ghostview will
    now redraw the current page on deiconify when the file has changed.

 5. Added application resource for the name of the PRINER environment variable.
    Default is LPDEST for SYSV and PRINTER for BSD.  Also changed printer
    command to default to lp for SYSV and lpr for BSD.

 6. Change Print Marked Pages to mark the current selection or current page
    when no pages are marked.  It unmarks any page that it marked after sending
    output to the print command.  Also, change Print Marked Pages to call
    print whole when there was no table of contents.  This allows people to
    print a EPSF figure without having to press Shift P.

 7. Automatically center page within viewport.  autoCenter app-default or
    -nocenter can be used to disable this behavior.  Add Center to Page menu
    and GhostviewCenter action and bind it to the C key.

 8. Reworked the way that popup zoom windows work.  The notify event contains
    both the window size desired and resolution desired.  This allows much
    greater flexibility in the zoom windows.  Changed the default zooms to
    be all 500x500 pixels at 200, 300, and 400 dpi.  Popup zoom windows can
    be dismissed with the new dismiss button or pressing Q within the window.

 9. Added -page <label> to start preview at a specific page.

10. Made minor change in Path.c for OCS88.
    (88open Object Compatibility Standard)

11. Disable interpreter earlier in setup_ghostview to avoid forking a new
    gs and then immediately killing it.

12. Correct generation of page numbers for documents without useful page labels
    and descending page order.

13. Coerce Magstep specified on command line in range.

14. Add U and D for scroll up and down.  Moved unmark keyboard accelerator
    to N.

15. Add a couple of type casts to pacify some really picky compilers.

16. Use vfork() instead of fork(), except when SYSV or USG is defined.

==================== ghostview 1.2         (21 Apr 92) =====================

 1. Apply patch from Jonathan Stone <jonathan@isor.vuw.ac.nz> to
    explicitly call ./ad2c.

 2. Fix problem with occasionally leaving an old file open.

 3. Apply portability patches to SelFile widget for Interactive 2.2 from
    Karl Berry <karl@cs.umb.edu>.  Also added .NOEXPORT to the Imakefile.

 4. Apply portability patches to SelFile widget for SVR4 from Kimmo Suominen
    <Kimmo.Suominen@lut.fi>.

 5. Fix error where wrong page(s) is(are) selected for printing in a
    document with Descending page order.

 6. Added .defaultPrinter application resource.  This string is used as
    the printer name if the PRINTER enviroment variable is not set.  Also,
    allow the user to specify a NULL printername.

 7. The Redisplay button was bound to the Next Page function.  It is correct
    now.

 8. It has been pointed out to me (repeatedly) that most users' screens are
    landscape orientation and the documents that they want to preview are
    portrait orientation placing a high value on sceen real estate in the
    vertical direction.  I have changed the layout to use vertical space for
    the viewport alone.  (Added undocumented action to <Key>Z to trigger
    relayout.)

 9. Installed workaround for when form does not give me the sizes that I
    asked for.  (Set all sizes, force relayout, request all sizes, if something
    different repeat.)  Also, wait for shell resize before putting
    wm_size_hints in effect.

10. Tab stops adjusted in man page to work for both nroff and troff.

11. Added the following optimization:  If reopening the same file and the
    prolog and setup are at the same place (byte position) in the file,
    assume that the prolog is identical and don't restart gs.

12. Move "*input: true" and "*allowShellResize: true" to the app-defaults file.

13. Mark values from the DSC comments with the "document" icon in the popup
    menus.

14. Since the title and date are sometimes truncated by the new layout, make
    them one item popup menus with the optional "document" icon.

15. Added two routines to the Ghostview widget that allows the application to
    query whether ghostscript is ready for new input, or if it is running.
    (It has to keep track of this already so why make the application do it as
    well.)

16. Avoid unnecessary restarting of ghostscript when user initiates changes
    that have no effect on the current page.

17. Don't rebuild the pagemedia menu on every document open.  Just when the
    media list changes.

18. Added an option/application resource so that the user can control whether
    a standard colormap is installed.

19. Added an option/application resource so that the user can control whether
    a private colormap is used.

==================== ghostview 1.1         (25 Mar 92) =====================

 1. Remove HP-widget fluff from SelFile routines.

 2. Remove pre-R4 fluff from SelFile routines.

 3. Change "About..." popup to "Copyright..."

 4. Added "Redisplay" menu button.

 5. Changed name of topsy-turvy to seascape.

 6. Added baseTranslations for X11R5.

 7. Added F and B as synonyms for Next Page and Prev Page.

 8. Added R and ctrl-L as synonyms for Redisplay Page.

 9. Reworked NON_BLOCKING_IO to work with POSIX and SYSV.

10. Added margins to the Ghostview widget.  This lets the popup zoom
    window "fool" tricky PostScript figure into thinking they have the
    whole page to draw on.

11. Added preload resource to ghostview widget.  This allows on to preload
    fonts for instance.  Real handy for drawings that like to load fonts
    over and over again.

12. Added GhostviewGetInputFileDescriptor convenience routine for other
    applications that might like to use the widget.

13. Fix XmuCvtStringToPageOrientation type converter.  Used to just assume
    the it would allocate the storage.  Now will write into preallocated
    storage.  (This fixed command line orientation options.)

14. Adopt ad2c for generating fallback resources.  Rework Imakefile to
    include that and streamline SIGNAL_DEFINES.

15. Two malloc mistakes fixed (Used 1 more byte than alloced.)

16. Include HOME_ON_DEMAND patch from Erik to reduce network load of
    SelFile widget when users home directories are NFS mounted.

17. Reworked SelFile widget to be a transient shell, and automatically
    place itself under the cursor.

18. Reworked SelFile widget to acutally open the requested file.  Then
    it doesn't pop down and back up again when the user makes a mistake.

19. Changed overall size calculation to be precise.  Add window manager
    horizontal and vertical margins for those who want to be as precise.

20. Added a work around for ncdwm users.  Xt intrinsics put bogus information
    into size hints.  Changing this slightly allows ncdwm to work right.

21. Fix bug when left bitmap of date or locator would be set when title
    was not realized.

22. Make dialog box a transient window for the main window.  (This resource
    had to be set after both were realized.)

23. Delay mapping main window until after all geometry negotiation is done.

24. Fix bug (introduced in beta4) which would cause page numbers, rather
    then page labels to be used.

25. Don't replace the std cmap, just use what is there.

26. Man page included.

27. Always clear the window before starting interpreter.

28. Only popup the information window once.

==================== ghostview 1.0 beta 4  (05 Nov 91) =====================

1. Changes for X11R5.
   - Fix up bogus function prototypes.
   - Type casts inserted where appropriate.

2. Added Delete Window protocol to SelFile widget.

3. Added chains within SelFile form widget.  (Otherwise resizing would
   mess up its appearance.)

4. Correct problem with Text widget and useStringInPlace.

5. Moved setting of size hints to a separate routine.

6. Reset scroll bars of Viewport widget to 0 before resizing.
   (If Viewport goofs up it resize a nonzero scroll postion.)
   Scroll bars a set back to original location after the resize.

7. Change resize routine to accurate calculate new size when checking to
   make sure it isn't bigger than the screen.

8. Added two checks for exhausted dynamic memory after malloc.

9. Fixup parsing of comments when copying to a new file.

10.Fixup default pagemedia so that it is still in effect after viewing
   a document with a pagemedia specified in the PostScript comments.

==================== ghostview 1.0 beta 3  (07 Aug 91) =====================

1. Ability to print whole file as well as selected pages.

2. Put locator within form widget rather than popping it up.

3. Send a message whenever the interpreter (ghostscript) fails (dumps core).

4. Add a convenience routine to Ghostview widget to return the backing pixmap.

5. Reworked the handling of dialog widgets.

6. Optionally include the SelFile file selector for open and save dialogs.

7. Corrected code that gave size hints to the window manager.  Things
   now resize properly under motif.  Also, set size hints via SetValues
   rather than directly.

8. Fixed up problem that could cause core dumps when switching files.

9. Removed hard coding of background to white and foreground to black
   when using the default colormap.  If a special visual is used, you
   have to live with black and white.

10.Added check to make sure app-defaults were installed.

11.Made the display of title, date, and locator optional.

12.Rework command line options.

13.Allow input from stdin.

14.Ensure that orientation was set from app-defaults/command-line rather
   than individual Ghostview resources.

15.Made next button insensitive on last page and prev button insensitive
   on first page.

16.Correct problem where the files would appear to switch but the previous
   one would continue to be displayed.

17.Changed the type of "distance" from Dimension to int.  (This would cause
   core dumps on some architectures.)

18.Changed pscopydoc to preserve the second argument to the %%Pages: comment.

19.Changed pscopydoc to not use the same FILE* as main.

20.added openwindows option/app-default to work-around openwindows bitmap bug.

21.Rewrote addr+enum_const expressions to &(addr[enum_const]) to pacify some
   compilers.

==================== ghostview 1.0 beta 2  (24 Jul 91) =====================

Portability:
  - include <fcntl.h> on all systems for O_NDELAY
  - set O_NDELAY = O_NONBLOCK for system V and POSIX systems
  - set EWOULDBLOCK = EAGAIN for system V and POSIX systems
  - include the free BSD sources for getenv, setenv, and strcasecmp
    for systems the don't have them.
  - Recoded XtSetFloatArg to be more portable.

Bugs fixed:
  - PostScript Scanner properly handles nested documents (%%BeginDocument:)
  - Only one (correct) %%Pages: comment in saved or printed file.
  - Prevent dialog box components from getting squished.
  - GhostviewSetOrientation action works now.
  - GhostviewSetPageMedia action works now.
  - Documents with structuring comments, but no pages don't cause core dumps.
  - Bug in AsciiText widget was worked-around to avoid core dumps when
    switching to another document.
  - Documents with pages in Descending order now have the table of contents
    displayed in reverse order.

Resource leaks plugged:
  - Input buffer and backing pixmap are now freed when widget is destroyed.
  - Input file descriptor is closed on zoom windows.

Enhancements:  (Thanks for the suggestions.)
  - When forcing a page media or orientation on a page, indicate that fact
    with a different marker on the orientation and/or page media menu.
  - Allow a forced page media to override the bounding box on epsf figures.
  - Added a locator which displays the coordinates in the default PostScript
    coordinate system while the mouse button is pressed in the main viewport.
    To avoid popping up a zoom window, leave the main viewport before releasing
    the mouse button.
  - All top level windows now understand WM_DELETE_WINDOW protocol.  mwm
    users can use the close button.
  - If all the page labels are identical, use the ordinal page number instead.
  - Added popup dialog box to specify printer.  The default is the contents
    of the PRINTER environment variable.
  - Added actions to allow scrolling of main viewport from keyboard.
    These are currently bound to h,j,k,l.
  - Enhanced PostScript scanner to accept real numbers on %%BoundingBox:
    comments.  (Didn't anyone read the spec, it calls for integers!)
  - Added a limit check in increase/decrease magstep to prevent the magstep
    from being off the menu.  (People objected to not being able to check the
    magstep.)
  - Added an option to the Ghostview widget to use backing store instead
    of a backing pixmap.  (set "*Ghostview.useBackingPixmap: False" to use
    backing store.)

==================== ghostview 1.0 beta 1  (17 Jul 91) =====================

Original Release, No changes.