help-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Autosave and filename too long


From: Michael Slass
Subject: Re: Autosave and filename too long
Date: Thu, 24 Oct 2002 05:22:16 GMT
User-agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.2

"Matt Muggeridge" <Matt.Muggeridge@hp.com> writes:

>Hi,
>
>My auto-save fails with the error:
>
>    Auto-saving foo.c: Opening output file, file name too long:
>/usr/users/muggerid/kingsx/#foo.c#
>
>That is a filename of just 34 characters.  My suspicion is that the '#'
>character is causing me problems, since "kingsx" is a mount point, which
>mount a VMS filesystem.  In lieu of any other suggestions on how to fix
>this, I would like to try changing the "#" character to learn if it makes a
>difference.
>
>Thanks,
>Matt.


(defadvice make-auto-save-file-name (after auto-save-remove-hash-mark ())
  "return an autosave file name, replacing \"#\" with \"OCTOTHORPE\""
  (setq ad-return-value
        (replace-regexp-in-string "#" "OCTOTHORPE" ad-return-value)))

(ad-activate 'make-auto-save-file-name)


(defun auto-save-file-name-p (filename)
  "Return non-nil if FILENAME can be yielded by `make-auto-save-file-name'.
FILENAME should lack slashes.  You can redefine this for customization."
  (string-match "^OCTOTHORPE.*OCTOTHORPE$" filename))



This advice will change "#" to "OCTOTHORPE" in the
auto-save-file-name, so you'll get save files like
/usr/users/muggerid/kingsx/OCTOTHORPEfoo.cOCTOTHORPE

That's much longer than you had, but doesn't contain the "#"
character, so you'll know right away if that was the culprit.

I've redefined auto-save-file-name-p (which you're allowed to do) so
that you can recover these auto-save-files.
-- 
Mike Slass


reply via email to

[Prev in Thread] Current Thread [Next in Thread]