aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEli Zaretskii2006-03-03 12:12:06 +0000
committerEli Zaretskii2006-03-03 12:12:06 +0000
commitc60168d2e1f2fbd71bb77a9f04228c3bee268798 (patch)
treed746d626cb6fc4c70f73555ba27963f31b86fa70
parent9e2bcc86313f7a908c38fb431d8a0ba1eb2aebce (diff)
downloademacs-c60168d2e1f2fbd71bb77a9f04228c3bee268798.tar.gz
emacs-c60168d2e1f2fbd71bb77a9f04228c3bee268798.zip
(clean-buffer-list): Handle case where base-buffer of indirect buffer gets
killed before indirect buffer. Use dolist.
-rw-r--r--lisp/ChangeLog7
-rw-r--r--lisp/midnight.el29
2 files changed, 21 insertions, 15 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index d1210b331ff..207c6c89ce8 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,4 +1,9 @@
12006-02-23 Ken Manheimer <ken.manheimer@gmail.com> 12006-03-03 Martin Rudalics <rudalics@gmx.at>
2
3 * midnight.el (clean-buffer-list): Handle case where base-buffer of
4 indirect buffer gets killed before indirect buffer. Use dolist.
5
62006-03-03 Ken Manheimer <ken.manheimer@gmail.com>
2 7
3 * emacs-lisp/edebug.el (edebug-display): Use `edebug-sit-for-seconds' 8 * emacs-lisp/edebug.el (edebug-display): Use `edebug-sit-for-seconds'
4 value instead of a literal constant (1) on more pauses. 9 value instead of a literal constant (1) on more pauses.
diff --git a/lisp/midnight.el b/lisp/midnight.el
index 1d5974f686f..1d9e1efbf2c 100644
--- a/lisp/midnight.el
+++ b/lisp/midnight.el
@@ -179,20 +179,21 @@ displayed (can be nil if the buffer was never displayed) and its
179lifetime, i.e., its \"age\" when it will be purged." 179lifetime, i.e., its \"age\" when it will be purged."
180 (interactive) 180 (interactive)
181 (let ((tm (float-time)) bts (ts (format-time-string "%Y-%m-%d %T")) 181 (let ((tm (float-time)) bts (ts (format-time-string "%Y-%m-%d %T"))
182 (bufs (buffer-list)) buf delay cbld bn) 182 delay cbld bn)
183 (while (setq buf (pop bufs)) 183 (dolist (buf (buffer-list))
184 (setq bts (midnight-buffer-display-time buf) bn (buffer-name buf) 184 (when (buffer-live-p buf)
185 delay (if bts (- tm bts) 0) cbld (clean-buffer-list-delay bn)) 185 (setq bts (midnight-buffer-display-time buf) bn (buffer-name buf)
186 (message "[%s] `%s' [%s %d]" ts bn (if bts (round delay)) cbld) 186 delay (if bts (- tm bts) 0) cbld (clean-buffer-list-delay bn))
187 (unless (or (midnight-find bn clean-buffer-list-kill-never-regexps 187 (message "[%s] `%s' [%s %d]" ts bn (if bts (round delay)) cbld)
188 'string-match) 188 (unless (or (midnight-find bn clean-buffer-list-kill-never-regexps
189 (midnight-find bn clean-buffer-list-kill-never-buffer-names 189 'string-match)
190 'string-equal) 190 (midnight-find bn clean-buffer-list-kill-never-buffer-names
191 (get-buffer-process buf) 191 'string-equal)
192 (and (buffer-file-name buf) (buffer-modified-p buf)) 192 (get-buffer-process buf)
193 (get-buffer-window buf 'visible) (< delay cbld)) 193 (and (buffer-file-name buf) (buffer-modified-p buf))
194 (message "[%s] killing `%s'" ts bn) 194 (get-buffer-window buf 'visible) (< delay cbld))
195 (kill-buffer buf))))) 195 (message "[%s] killing `%s'" ts bn)
196 (kill-buffer buf))))))
196 197
197;;; midnight hook 198;;; midnight hook
198 199