comparison lisp/mh-e/mh-buffers.el @ 68135:03bac2d0a4aa

* Makefile (MH_E_SRC): Add mh-buffers.el. * emacs/lisp/Makefile.in (MH_E_SRC): Rename from MH-E-SRC since the dashes can give some systems gas. Add new file mh-buffers.el. * emacs/lisp/mh-e/mh-buffers.el: New file. Contains constants and code from mh-index.el and mh-utils.el. * emacs/lisp/mh-e/mh-alias.el: * emacs/lisp/mh-e/mh-comp.el: * emacs/lisp/mh-e/mh-e.el: * emacs/lisp/mh-e/mh-funcs.el: * emacs/lisp/mh-e/mh-init.el: * emacs/lisp/mh-e/mh-junk.el: * emacs/lisp/mh-e/mh-mime.el: * emacs/lisp/mh-e/mh-print.el: * emacs/lisp/mh-e/mh-seq.el: Require new file mh-buffers.el. * emacs/lisp/mh-e/mh-index.el: Require new file mh-buffers.el. (mh-index-temp-buffer, mh-checksum-buffer): Move to new file mh-buffers.el. * emacs/lisp/mh-e/mh-utils.el: Require new file mh-buffers.el. (mh-temp-buffer, mh-temp-fetch-buffer) (mh-aliases-buffer, mh-folders-buffer, mh-help-buffer) (mh-info-buffer, mh-log-buffer, mh-mail-delivery-buffer) (mh-recipients-buffer, mh-sequences-buffer, mh-log-buffer-lines) (mh-truncate-log-buffer): Move to new file mh-buffers.el.
author Bill Wohler <wohler@newt.com>
date Wed, 11 Jan 2006 19:50:07 +0000
parents
children 7864e29d620b
comparison
equal deleted inserted replaced
68134:48bf79d0aede 68135:03bac2d0a4aa
1 ;;; mh-buffers.el --- Temporary buffer constants and utilities used by MH-E
2
3 ;; Copyright (C) 1993, 1995, 1997,
4 ;; 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
5
6 ;; Author: Bill Wohler <wohler@newt.com>
7 ;; Maintainer: Bill Wohler <wohler@newt.com>
8 ;; Keywords: mail
9 ;; See: mh-e.el
10
11 ;; This file is part of GNU Emacs.
12
13 ;; GNU Emacs is free software; you can redistribute it and/or modify
14 ;; it under the terms of the GNU General Public License as published by
15 ;; the Free Software Foundation; either version 2, or (at your option)
16 ;; any later version.
17
18 ;; GNU Emacs is distributed in the hope that it will be useful,
19 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
20 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 ;; GNU General Public License for more details.
22
23 ;; You should have received a copy of the GNU General Public License
24 ;; along with GNU Emacs; see the file COPYING. If not, write to the
25 ;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
26 ;; Boston, MA 02110-1301, USA.
27
28 ;;; Commentary:
29
30 ;; Temporary buffer constants and utilities used by MH-E.
31
32 ;;; Change Log:
33
34 ;;; Code:
35
36 ;; The names of ephemeral buffers have a " *mh-" prefix (so that they
37 ;; are hidden and can be programmatically removed in mh-quit), and the
38 ;; variable names have the form mh-temp-.*-buffer.
39 (defconst mh-temp-buffer " *mh-temp*") ;scratch
40 (defconst mh-temp-checksum-buffer " *mh-checksum*")
41 (defconst mh-temp-fetch-buffer " *mh-fetch*") ;wget/curl/fetch output
42 (defconst mh-temp-index-buffer " *mh-index*")
43
44 ;; The names of MH-E buffers that are not ephemeral and can be used by
45 ;; the user (and deleted by the user when no longer needed) have a
46 ;; "*MH-E " prefix (so they can be programmatically removed in
47 ;; mh-quit), and the variable names have the form mh-.*-buffer.
48 ;; Temporary buffers for search results
49 (defconst mh-aliases-buffer "*MH-E Aliases*") ;alias lookups
50 (defconst mh-folders-buffer "*MH-E Folders*") ;folder list
51 (defconst mh-help-buffer "*MH-E Help*") ;quick help
52 (defconst mh-info-buffer "*MH-E Info*") ;version information buffer
53 (defconst mh-log-buffer "*MH-E Log*") ;output of MH commands and so on
54 (defconst mh-mail-delivery-buffer "*MH-E Mail Delivery*") ;mail delivery log
55 (defconst mh-recipients-buffer "*MH-E Recipients*") ;killed when draft sent
56 (defconst mh-sequences-buffer "*MH-E Sequences*") ;sequences list
57
58 (defvar mh-log-buffer-lines 100
59 "Number of lines to keep in `mh-log-buffer'.")
60
61
62
63 (defun mh-truncate-log-buffer ()
64 "If `mh-log-buffer' is too big then truncate it.
65 If the number of lines in `mh-log-buffer' exceeds
66 `mh-log-buffer-lines' then keep only the last
67 `mh-log-buffer-lines'. As a side effect the point is set to the
68 end of the log buffer.
69
70 The function returns the size of the final size of the log buffer."
71 (with-current-buffer (get-buffer-create mh-log-buffer)
72 (goto-char (point-max))
73 (save-excursion
74 (when (equal (forward-line (- mh-log-buffer-lines)) 0)
75 (delete-region (point-min) (point))))
76 (unless (or (bobp)
77 (save-excursion
78 (and (equal (forward-line -1) 0) (equal (char-after) ? ))))
79 (insert "\n \n"))
80 (buffer-size)))
81
82 (provide 'mh-buffers)
83
84 ;; Local Variables:
85 ;; indent-tabs-mode: nil
86 ;; sentence-end-double-space: nil
87 ;; End:
88
89 ;;; mh-buffers.el ends here