X-Git-Url: http://cgit.sxemacs.org/?a=blobdiff_plain;ds=sidebyside;f=lisp%2Friece-shrink-buffer.el;h=69d4a0711165fe811238dd549d38c551d59d94d0;hb=cbc98a0a6da81f5782473767f5e0cc001bd37942;hp=7b78b36809d102fc5da20e6008694e15d0d13101;hpb=255cb67bb0bb83e1409d08efdad27a61ca03fdd9;p=riece diff --git a/lisp/riece-shrink-buffer.el b/lisp/riece-shrink-buffer.el index 7b78b36..69d4a07 100644 --- a/lisp/riece-shrink-buffer.el +++ b/lisp/riece-shrink-buffer.el @@ -19,8 +19,8 @@ ;; You should have received a copy of the GNU General Public License ;; along with GNU Emacs; see the file COPYING. If not, write to the -;; Free Software Foundation, Inc., 59 Temple Place - Suite 330, -;; Boston, MA 02111-1307, USA. +;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +;; Boston, MA 02110-1301, USA. ;;; Commentary: @@ -29,6 +29,7 @@ ;;; Code: (require 'riece-globals) +(require 'derived) (defgroup riece-shrink-buffer nil "Free old IRC messages to save memory usage." @@ -61,16 +62,13 @@ (while buffers (if (and (get 'riece-shrink-buffer 'riece-addon-enabled) (buffer-live-p (car buffers)) - (eq (derived-mode-class - (with-current-buffer (car buffers) - major-mode)) - 'riece-dialogue-mode)) + (with-current-buffer (car buffers) + (riece-derived-mode-p 'riece-dialogue-mode))) (riece-shrink-buffer (car buffers))) (setq buffers (cdr buffers))))) (defun riece-shrink-buffer (buffer) - (save-excursion - (set-buffer buffer) + (with-current-buffer buffer (goto-char (point-min)) (while (> (buffer-size) riece-max-buffer-size) (let* ((inhibit-read-only t)