Known bugs and problems with PSAlter 1.0, fixed in 1.01
Bug-id: 1.0/001/stackviewer
Mode: workbench
Area: Stack viewers
Significance: cosmetic
The first item on the pop-up menu for stack viewers has a check mark against it. This suggests that the item is a switch, but it is not.
Fix: Fixed in 1.01
Bug-id: 1.0/002/exp
Mode: all
Area: PostScript implementation
Significance: can stop some programs running
The exp operator should allow zero to be raised to any power (getting a zero result). PSAlter only allows zero to be raised to a positive integer. The error message issued is:
Error name: undefinedresult; Offending command: --exp-- Fractional exponent not allowed for non-positive base 'a b exp' has no valid result when b is not a whole number and a is less than or equal to zero.Fix: Fixed in 1.01
Bug-id: 1.0/003/print
Mode: all
Area: Crash
Significance: unlikely to occur with real cases
If the print operator is passed an empty string, PSAlter may crash.
Fix: Fixed in 1.01
Bug-id: 1.0/004/search
Mode: all
Area: PostScript implementation
Significance: can stop a few programs running including PPST speed
test
The search operator may return incorrect results if the target string is not found, because it may 'run on' after the end of the source string. This can lead to unpredictable side-effects, including a rangecheck error running the PPST speed test.
Fix: Fixed in 1.01
Bug-id: 1.0/005/execstack
Mode: all
Area: crash
Significance: rarely seen, can be avoided
If viewing the execution stack, it may contain zero-length arrays that no longer exist - that is, they have been garbage collected, or they were created after a save operator which has now been restored. In attempting to give the name of these arrays, PSAlter can crash.
Fix: Fixed in 1.01.
This will, unfortunately, mean that the name of a zero-length
array is never shown.
Bug-id: 1.0/006/popup
Mode: all
Area: crash
Significance: will only affect you if you modify PSAlter startup
files
The @popup and @yes? operators, described in the user manual, cannot be used in a user startup file. They will cause a general protection fault.
Fix: Fixed in 1.01
Bug-id: 1.0/007/stroke
Mode: all
Area: incorrect rendering
Significance: page may contain incorrect results, but very rarely
Sometimes, when using stroke on line segments which are much wider than they are long, incorrect results will be produced. This will be accompanied by the message 'Error: wrong number of segments in scan line' in the PostScript log.
Fix: Fixed in 1.01
Bug-id: 1.0/008/imageviewer
Mode: workbench, view
Area: keyboard accelerator wrong
Significance: minor, easy work-around
The PgDn key should move down one screen (the same as control+down arrow) or to the next screen if at the end. If zoomed in, it will change pages too soon (e.g. at 200% it changes pages half-way down). If zoomed out, it does not change page at all. There is also a problem where Ctrl+PgDn will scroll off the last page to the next 'undefined' page, and neither PgUp nor Ctrl+PgUp will scroll back. Although it is possible to set to an undefined page it is desirable to make it difficult, and also that the display changes.
Fix: Fixed in 1.01
Bug-id: 1.0/009/encoding
Mode: all
Area: font encoding error
Significance: can cause exclamation mark to be missing in certain
files
The definition of StandardEncoding in PSAlter has an error. It uses the name 'exclaim' instead of 'exclam' for exclamation mark (!). This will cause exclamation mark to be missing sometimes, but never with Windows fonts.
Fix: Fixed in 1.01
Bug-id: 1.0/010/makepattern
Mode: all (level 2)
Area: PostScript implementation
Significance: trivial
The makepattern operator should set the dictionary it creates read-only, but PSAlter does not.
Fix: Fixed in 1.01
Bug-id: 1.0/011/pathbbox
Mode: all (level 2)
Area: PostScript implementation
Significance: minor
In level 2, the pathbbox operator should not consider a final moveto in the path. Failure to exclude the moveto means that charpath pathbbox will almost always produce a bounding box larger than the character. This will in any case happen in many level 1 implementations.
Fix: Fixed in 1.01
Bug-id: 1.0/012/stdout
Mode: workbench
Area: crash
Significance: minor
If the %stdout window is opened, choosing Search->Current file position can cause PSAlter to crash with a run-time error, or lock up.
This is considered minor because Current file position is fairly meaningless for %stdout - it should always be end of file.
Fix: Fixed in 1.01
Bug-id: 1.0/013/halftones
Mode: all (black and white only)
Area: imperfect output
Significance: minor
If very large halftone cells are used, black or white may not be pure. That is, an area that should be pure black or pure white may have odd pixels (less than one in 256) that are the wrong colour. If using the default halftone frequency, this starts to be visible at around 460 dpi.
In addition, the halftone pattern from an image and a solid fill which should have the same intensity, may have differed slightly.
Fix: Fixed in 1.01.
This may cause the results produced by PSAlter to appear slightly
different.
Bug-id: 1.0/014/halftoneviewer
Mode: workbench
Area: crash/incorrect output
Significance: not a feature which is often used, but irritating
The halftone viewer can be opened and closed only once. If closed down, it cannot be restarted and PSAlter may crash. Also, with large halftone cells, the top part of the cell may be obscured.
Fix: Fixed in 1.01
Bug-id: 1.0/015/array
Mode: any
Area: PostScript implementation
Significance: minor
When an array is created it is filled with null objects. PSAlter does not set the attributes of these null objects consistently - for instance some may be executable and others literal. This is not normally an issue, but if an element is retrieved and executed by exec there will be different results: a literal null is left on the stack, while an executable null is deleted.
Fix: Fixed in 1.01
Bug-id: 1.0/016/gpf001f24fa
Mode: view, workbench
Area: crash
Significance: serious fault, but very rarely seen
Sometimes, when hitting Run a program will get a general protection fault. This is usually at 001f:24fa but other addresses are possible. This will occur only when starting execution the second or subsequent time, and only when garbage collection is switched on.
It is most likely to occur in very short programs which allocate a lot of memory, and can be provoked by running 4000 array repeatedly.
Fix: Fixed in 1.01
Bug-id: 1.0/017/imageviewer
Mode: view, workbench
Area: crash
Significance: serious fault, but rarely seen and avoidable
If an image viewer (or the view mode window) is zoomed out, then the image model is changed, the contents of the image window next time may be incorrect, or PSAlter may crash.
Fix: Fixed in 1.01
Bug-id: 1.0/018/plus!
Mode: view, workbench
Area: information missing from screen
Significance: irritating
Microsoft Plus! is an addition for Windows 95. It adds an option called 'Show Window Contents While Dragging'. This is also in some versions of Windows NT.
If this option is switched on, and the PSAlter window is resized, the image may not be correctly redrawn to fill the remaining space. Even without this option, in any Windows 95 or NT system, resizing while in view mode will cause unnecessary flashing of the screen.
Fix: Fixed in 1.01
The behaviour with Show Window Contents While Dragging is
still not ideal in the workbench: if a child window is maximized,
and the workbench is resized, the child window is not resized.
Bug-id: 1.0/019/gpf00222622
Mode: any (NT 4.0 beta only)
Area: crash
Significance: very serious problem for NT 4.0 users
Windows NT 4.0 is still currently in beta. It appears that the way that Windows returns information on space characters to a program has changed in NT 4.0, and this will produce a General Protection Fault at 0022:2622 for any program attempting to show a space in a windows font.
The problem appears to have been introduced in NT 4.0 Beta 2.
Fix: Fixed in 1.01
Bug-id: 1.0/020/setpage
Mode: any
Area: incorrect output
Significance: important
Some pages produced for a typesetter may get the wrong page size. The page will actually be the correct size, but will be rotated by 90 degrees, leaving the image in the same place and probably not fitting.
This is caused by an incorrect implementation of the device-specific setpage and setpageparams operators, which are in fact incorrectly documented by Adobe.
Fix: Fixed in 1.01
The PSAlter help file has also been updated to reflect this,
and the help for setpage now includes a diagram to try
and make clear this area.
Bug-id: 1.0/021/fill
Mode: any
Area: error handling could be improved
Significance: minor, affects ability to debug certain problems
When the fill or eofill operator fails with a limitcheck error, PSAlter clears the current path. This means that the 'overlay current path' option is not useful after such a failure.
It is desirable that fill and eofill, like stroke , only perform a newpath on success. But this has an undesirable side-effect. If the path is not cleared but the error is ignored, more errors will often follow. The solution is to defer clearing the path and do it if Ignore is selected. This should apply to fill, eofill and stroke .
An additional problem when 'overlay current path' is selected is that, following this sort of failure, path storage is likely to be lost leaving fewer available path elements for the next run.
Fix: Fixed in 1.01
Bug-id: 1.0/022/fill
Mode: any
Area: incorrect output
Significance: serious, but rarely seen
Occasionally there may be fine horizontal lines in the output, especially when rendering complex decorative fonts. This fragment demonstrates the effect:
matrix setmatrix 40 10 moveto 60 80 lineto 40 55 lineto 13 77.5 lineto 13.5 77 lineto fillFix: Fixed in 1.01
Bug-id: 1.0/023/round
Mode: any
Area: crash
Significance: serious, but probably not encountered
If the round operator is used on a real value larger than the largest allowed integer, then a run-time error (207) will result. This has never been seen on a 'real' PostScript document.
Fix: Fixed in 1.01
To the PSAlter main pages.
To the Support page.
Last updated: 5 August, 1996