Enrico Scholz <enrico.scholz(a)informatik.tu-chemnitz.de> writes:
Hello,
when signing/verifying/encrypting messages having a size between 8192
and 8192+512 bytes, only the first 8192 bytes will be piped into gpg.
Example:
$ xemacs -vanilla
(setq pgg-default-user-id "...")
C-c C-f empty-file
C-u 8192 a X
M-x pgg-sign
--> the buffer contains only the first 8192 'a' but not the trailing X:
| -----BEGIN PGP SIGNED MESSAGE-----
| Hash: SHA1
| ...aa
| -----BEGIN PGP SIGNATURE-----
| ...
expected would be
| -----BEGIN PGP SIGNED MESSAGE-----
| Hash: SHA1
| ...aaX
| -----BEGIN PGP SIGNATURE-----
| ...
Environment:
* Red Hat Linux 9 based
* xemacs-21.4.12 compiled by me
* pgg 1.02
* glibc-2.3.2-37
* vanilla 2.4.20 linux kernel + some patches
I can reproduce this on debian and self-compiled xemacs 21.5b13,
glibc-2.3.1. However, I cannot reproduce it using 21.4p12 distributed
with debian (nor any emacs version).
Fortunately I'm able to reproduce it without PGG.
xemacs -vanilla
C-x C-f empty-file
C-x C-f empty-file2
C-u 8192 a X
M-: (let ((process-connection-type nil)) (call-process-region (point-min) (point-max)
"cat" nil "empty-file")) RET
The empty-file buffer now contains only the first 8192 characters.
It happens regardless of process-connection-type setting, but using a
pty is problematic with long lines in general, so it might not be
possible to get it to work on all platforms without
process-connection-type bound to nil.
I suspect a C level bug. Someone else will have to continue debug this.