[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] Changes to emacs/lisp/gnus/gnus-cache.el [emacs-unicode-2]
From: |
Miles Bader |
Subject: |
[Emacs-diffs] Changes to emacs/lisp/gnus/gnus-cache.el [emacs-unicode-2] |
Date: |
Fri, 22 Oct 2004 06:42:40 -0400 |
Index: emacs/lisp/gnus/gnus-cache.el
diff -c emacs/lisp/gnus/gnus-cache.el:1.7.6.3
emacs/lisp/gnus/gnus-cache.el:1.7.6.4
*** emacs/lisp/gnus/gnus-cache.el:1.7.6.3 Wed Sep 29 07:22:15 2004
--- emacs/lisp/gnus/gnus-cache.el Fri Oct 22 10:13:32 2004
***************
*** 726,731 ****
--- 726,771 ----
(or (not gnus-uncacheable-groups)
(not (string-match gnus-uncacheable-groups group)))))))
+ ;;;###autoload
+ (defun gnus-cache-rename-group (old-group new-group)
+ "Rename OLD-GROUP as NEW-GROUP. Always updates the cache, even when
+ disabled, as the old cache files would corrupt gnus when the cache was
+ next enabled. Depends upon the caller to determine whether group renaming is
supported."
+ (let ((old-dir (gnus-cache-file-name old-group ""))
+ (new-dir (gnus-cache-file-name new-group "")))
+ (gnus-rename-file old-dir new-dir t))
+
+ (let ((no-save gnus-cache-active-hashtb))
+ (unless gnus-cache-active-hashtb
+ (gnus-cache-read-active))
+ (let* ((old-group-hash-value (gnus-gethash old-group
gnus-cache-active-hashtb))
+ (new-group-hash-value (gnus-gethash new-group
gnus-cache-active-hashtb))
+ (delta (or old-group-hash-value
new-group-hash-value)))
+ (gnus-sethash new-group old-group-hash-value gnus-cache-active-hashtb)
+ (gnus-sethash old-group nil gnus-cache-active-hashtb)
+
+ (if no-save
+ (setq gnus-cache-active-altered delta)
+ (gnus-cache-write-active delta)))))
+
+ ;;;###autoload
+ (defun gnus-cache-delete-group (group)
+ "Delete GROUP. Always updates the cache, even when
+ disabled, as the old cache files would corrupt gnus when the cache was
+ next enabled. Depends upon the caller to determine whether group deletion is
supported."
+ (let ((dir (gnus-cache-file-name group "")))
+ (gnus-delete-file dir))
+
+ (let ((no-save gnus-cache-active-hashtb))
+ (unless gnus-cache-active-hashtb
+ (gnus-cache-read-active))
+ (let* ((group-hash-value (gnus-gethash group gnus-cache-active-hashtb)))
+ (gnus-sethash group nil gnus-cache-active-hashtb)
+
+ (if no-save
+ (setq gnus-cache-active-altered group-hash-value)
+ (gnus-cache-write-active group-hash-value)))))
+
(provide 'gnus-cache)
;;; arch-tag: 05a79442-8c58-4e65-bd0a-3cbb1b89a33a
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] Changes to emacs/lisp/gnus/gnus-cache.el [emacs-unicode-2],
Miles Bader <=