rcp.el 1.130, XEmacs 20.3, Solaris 2.6.

I am unable to read some files and directories on a remote host
running AIX 4.3.2.  Most files are okay.  (The local host is Solaris
2.6.)

The error message is

   Invalid read syntax: "Integer constant overflow in reader", "406856252", 10

The top of the backtrace is

Signaling: (invalid-read-syntax "Integer constant overflow in reader" "406856252" 10)
  read(#<buffer "*rcp/rcp gsez020@morse*">)
  (setq res-inode (read (current-buffer)))

The buffer contains

406856252 drwxrwxrwx  37 0        0           4096 Sep 24 16:08 /HOME


The file in question really does have an inode number that big.  In
hex it is 1840223c, which is too large to fit in an emacs lisp
integer.  I have not yet got round to building emacs on the AIX 4.3.2
platform but I rather suspect that I'll run into similar problems with 
those files locally.


On the face of it, there can be no good solution.  A couple of
possibilities are:

  a) Textually truncate the inode string before converting to int.
  b) Set inode to 0 if error in read.
  c) Maybe dired.c in newer versions of [X]Emacs has a workaround.

A search through the source code of XEmacs 20.3 revealed no read of
the inode within file-attributes, except perhaps in dired-mark-sexp.
It probably does not matter what we write as the inode member.
-- 
Pete Forman
Western Geophysical
[EMAIL PROTECTED]

Reply via email to