Mercurial > emacs
annotate lisp/mh-e/mh-init.el @ 68199:5012e59a73c7
* mh-comp.el (mh-pgp-support-flag): Move here from mh-utils.el; needed
to help remove dependency on mh-utils.
* mh-exec.el: New file. Move process support routines here from
mh-utils.el.
* mh-init.el (mh-utils): Remove require.
(mh-exec): Add require.
(mh-profile-component, mh-profile-component-value): Move here from
mh-utils.el.
* mh-utils.el (mh-pgp-support-flag): Move to mh-comp.el to reduce
dependencies on mh-utils.el.
(mh-profile-component, mh-profile-component-value): Move to mh-init.el
since that's the only place that uses them. (Other than mh-alias.el;
I'm thinking that mh-find-path can set variable from the Aliasfile
component like it does the other components).
(mh-index-max-cmdline-args, mh-xargs, mh-quote-for-shell)
(mh-exec-cmd, mh-exec-cmd-error, mh-exec-cmd-daemon)
(mh-exec-cmd-env-daemon, mh-process-daemon, mh-exec-cmd-quiet)
(defvar, mh-exec-cmd-output)
(mh-exchange-point-and-mark-preserving-active-mark)
(mh-exec-lib-cmd-output, mh-handle-process-error): Move to new file
mh-exec.el so that mh-init.el doesn't have to depend on mh-utils.el,
breaking circular dependency.
* mh-alias.el: mh-customize.el: mh-e.el: mh-funcs.el: mh-gnus.el:
* mh-identity.el: mh-inc.el: mh-junk.el: mh-mime.el: mh-print.el:
* mh-search.el: mh-seq.el: mh-speed.el: Added debugging statements
(commented out) around requires to help find dependency loops. Will
remove them when issues are resolved.
author | Bill Wohler <wohler@newt.com> |
---|---|
date | Sun, 15 Jan 2006 08:17:56 +0000 |
parents | 03bac2d0a4aa |
children | 3e14f7a3572e |
rev | line source |
---|---|
67681 | 1 ;;; mh-init.el --- MH-E initialization |
56676 | 2 |
67969
3ca8b2234237
* mh-customize.el: Sync docstrings with manual for faces and sort them
Bill Wohler <wohler@newt.com>
parents:
67760
diff
changeset
|
3 ;; Copyright (C) 2003, 2004, 2005, 2006 Free Software Foundation, Inc. |
56676 | 4 |
5 ;; Author: Peter S. Galbraith <psg@debian.org> | |
6 ;; Maintainer: Bill Wohler <wohler@newt.com> | |
7 ;; Keywords: mail | |
8 ;; See: mh-e.el | |
9 | |
10 ;; This file is part of GNU Emacs. | |
11 | |
12 ;; GNU Emacs is free software; you can redistribute it and/or modify | |
13 ;; it under the terms of the GNU General Public License as published by | |
14 ;; the Free Software Foundation; either version 2, or (at your option) | |
15 ;; any later version. | |
16 | |
17 ;; GNU Emacs is distributed in the hope that it will be useful, | |
18 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of | |
19 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
20 ;; GNU General Public License for more details. | |
21 | |
22 ;; You should have received a copy of the GNU General Public License | |
23 ;; along with GNU Emacs; see the file COPYING. If not, write to the | |
64085 | 24 ;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, |
25 ;; Boston, MA 02110-1301, USA. | |
56676 | 26 |
27 ;;; Commentary: | |
28 | |
66716
25ad3e63f2a1
* mh-customize.el (mh-min-colors-defined-flag, mh-defface-compat):
Bill Wohler <wohler@newt.com>
parents:
66136
diff
changeset
|
29 ;; Sets up the MH variant (currently nmh, MH, or GNU mailutils). |
56676 | 30 ;; |
31 ;; Users may customize `mh-variant' to switch between available variants. | |
68127
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
32 ;; Available MH variants are returned by the function `mh-variants'. |
56676 | 33 ;; Developers may check which variant is currently in use with the |
34 ;; variable `mh-variant-in-use' or the function `mh-variant-p'. | |
66716
25ad3e63f2a1
* mh-customize.el (mh-min-colors-defined-flag, mh-defface-compat):
Bill Wohler <wohler@newt.com>
parents:
66136
diff
changeset
|
35 ;; |
25ad3e63f2a1
* mh-customize.el (mh-min-colors-defined-flag, mh-defface-compat):
Bill Wohler <wohler@newt.com>
parents:
66136
diff
changeset
|
36 ;; Also contains code that is used at load or initialization time only. |
56676 | 37 |
38 ;;; Change Log: | |
39 | |
40 ;;; Code: | |
41 | |
68199
5012e59a73c7
* mh-comp.el (mh-pgp-support-flag): Move here from mh-utils.el; needed
Bill Wohler <wohler@newt.com>
parents:
68135
diff
changeset
|
42 ;;(message "> mh-init") |
56676 | 43 (eval-when-compile (require 'mh-acros)) |
44 (mh-require-cl) | |
68135
03bac2d0a4aa
* Makefile (MH_E_SRC): Add mh-buffers.el.
Bill Wohler <wohler@newt.com>
parents:
68127
diff
changeset
|
45 (require 'mh-buffers) |
68199
5012e59a73c7
* mh-comp.el (mh-pgp-support-flag): Move here from mh-utils.el; needed
Bill Wohler <wohler@newt.com>
parents:
68135
diff
changeset
|
46 (require 'mh-exec) |
5012e59a73c7
* mh-comp.el (mh-pgp-support-flag): Move here from mh-utils.el; needed
Bill Wohler <wohler@newt.com>
parents:
68135
diff
changeset
|
47 ;;(message "< mh-init") |
56676 | 48 |
68127
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
49 (defvar mh-sys-path |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
50 '("/usr/local/nmh/bin" ; nmh default |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
51 "/usr/local/bin/mh/" |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
52 "/usr/local/mh/" |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
53 "/usr/bin/mh/" ; Ultrix 4.2, Linux |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
54 "/usr/new/mh/" ; Ultrix < 4.2 |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
55 "/usr/contrib/mh/bin/" ; BSDI |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
56 "/usr/pkg/bin/" ; NetBSD |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
57 "/usr/local/bin/" |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
58 "/usr/local/bin/mu-mh/" ; GNU mailutils - default |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
59 "/usr/bin/mu-mh/") ; GNU mailutils - packaged |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
60 "List of directories to search for variants of the MH variant. |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
61 The list `exec-path' is searched in addition to this list. |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
62 There's no need for users to modify this list. Instead add extra |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
63 directories to the customizable variable `mh-path'.") |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
64 |
67681 | 65 ;; Set for local environment: |
66 ;; mh-progs and mh-lib used to be set in paths.el, which tried to | |
67 ;; figure out at build time which of several possible directories MH | |
68 ;; was installed into. But if you installed MH after building Emacs, | |
69 ;; this would almost certainly be wrong, so now we do it at run time. | |
56676 | 70 |
71 (defvar mh-progs nil | |
72 "Directory containing MH commands, such as inc, repl, and rmm.") | |
73 | |
74 (defvar mh-lib nil | |
75 "Directory containing the MH library. | |
76 This directory contains, among other things, the components file.") | |
77 | |
78 (defvar mh-lib-progs nil | |
79 "Directory containing MH helper programs. | |
80 This directory contains, among other things, the mhl program.") | |
81 | |
82 (defvar mh-flists-present-flag nil | |
67760
9c3504ae6060
Follow MH-E Developers Guide conventions. Use `' quotes for Help
Bill Wohler <wohler@newt.com>
parents:
67758
diff
changeset
|
83 "Non-nil means that we have \"flists\".") |
56676 | 84 |
85 ;;;###autoload | |
86 (put 'mh-progs 'risky-local-variable t) | |
87 ;;;###autoload | |
88 (put 'mh-lib 'risky-local-variable t) | |
89 ;;;###autoload | |
90 (put 'mh-lib-progs 'risky-local-variable t) | |
91 | |
67449
315e71e95246
* mh-customize.el (mh-path): Move here from mh-init.el.
Bill Wohler <wohler@newt.com>
parents:
67245
diff
changeset
|
92 (defvar mh-variants nil |
315e71e95246
* mh-customize.el (mh-path): Move here from mh-init.el.
Bill Wohler <wohler@newt.com>
parents:
67245
diff
changeset
|
93 "List describing known MH variants. |
68127
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
94 Do not access this variable directly as it may not have yet been initialized. |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
95 Use the function `mh-variants' instead.") |
67449
315e71e95246
* mh-customize.el (mh-path): Move here from mh-init.el.
Bill Wohler <wohler@newt.com>
parents:
67245
diff
changeset
|
96 |
315e71e95246
* mh-customize.el (mh-path): Move here from mh-init.el.
Bill Wohler <wohler@newt.com>
parents:
67245
diff
changeset
|
97 ;;;###mh-autoload |
315e71e95246
* mh-customize.el (mh-path): Move here from mh-init.el.
Bill Wohler <wohler@newt.com>
parents:
67245
diff
changeset
|
98 (defun mh-variants () |
315e71e95246
* mh-customize.el (mh-path): Move here from mh-init.el.
Bill Wohler <wohler@newt.com>
parents:
67245
diff
changeset
|
99 "Return a list of installed variants of MH on the system. |
315e71e95246
* mh-customize.el (mh-path): Move here from mh-init.el.
Bill Wohler <wohler@newt.com>
parents:
67245
diff
changeset
|
100 This function looks for MH in `mh-sys-path', `mh-path' and |
67758
6b063593fdad
Follow Emacs coding conventions. Use default setting of
Bill Wohler <wohler@newt.com>
parents:
67681
diff
changeset
|
101 `exec-path'. The format of the list of variants that is returned |
6b063593fdad
Follow Emacs coding conventions. Use default setting of
Bill Wohler <wohler@newt.com>
parents:
67681
diff
changeset
|
102 is described by the variable `mh-variants'." |
67449
315e71e95246
* mh-customize.el (mh-path): Move here from mh-init.el.
Bill Wohler <wohler@newt.com>
parents:
67245
diff
changeset
|
103 (if mh-variants |
315e71e95246
* mh-customize.el (mh-path): Move here from mh-init.el.
Bill Wohler <wohler@newt.com>
parents:
67245
diff
changeset
|
104 mh-variants |
315e71e95246
* mh-customize.el (mh-path): Move here from mh-init.el.
Bill Wohler <wohler@newt.com>
parents:
67245
diff
changeset
|
105 (let ((list-unique)) |
315e71e95246
* mh-customize.el (mh-path): Move here from mh-init.el.
Bill Wohler <wohler@newt.com>
parents:
67245
diff
changeset
|
106 ;; Make a unique list of directories, keeping the given order. |
315e71e95246
* mh-customize.el (mh-path): Move here from mh-init.el.
Bill Wohler <wohler@newt.com>
parents:
67245
diff
changeset
|
107 ;; We don't want the same MH variant to be listed multiple times. |
315e71e95246
* mh-customize.el (mh-path): Move here from mh-init.el.
Bill Wohler <wohler@newt.com>
parents:
67245
diff
changeset
|
108 (loop for dir in (append mh-path mh-sys-path exec-path) do |
315e71e95246
* mh-customize.el (mh-path): Move here from mh-init.el.
Bill Wohler <wohler@newt.com>
parents:
67245
diff
changeset
|
109 (setq dir (file-chase-links (directory-file-name dir))) |
315e71e95246
* mh-customize.el (mh-path): Move here from mh-init.el.
Bill Wohler <wohler@newt.com>
parents:
67245
diff
changeset
|
110 (add-to-list 'list-unique dir)) |
315e71e95246
* mh-customize.el (mh-path): Move here from mh-init.el.
Bill Wohler <wohler@newt.com>
parents:
67245
diff
changeset
|
111 (loop for dir in (nreverse list-unique) do |
315e71e95246
* mh-customize.el (mh-path): Move here from mh-init.el.
Bill Wohler <wohler@newt.com>
parents:
67245
diff
changeset
|
112 (when (and dir (file-directory-p dir) (file-readable-p dir)) |
315e71e95246
* mh-customize.el (mh-path): Move here from mh-init.el.
Bill Wohler <wohler@newt.com>
parents:
67245
diff
changeset
|
113 (let ((variant (mh-variant-info dir))) |
315e71e95246
* mh-customize.el (mh-path): Move here from mh-init.el.
Bill Wohler <wohler@newt.com>
parents:
67245
diff
changeset
|
114 (if variant |
315e71e95246
* mh-customize.el (mh-path): Move here from mh-init.el.
Bill Wohler <wohler@newt.com>
parents:
67245
diff
changeset
|
115 (add-to-list 'mh-variants variant))))) |
315e71e95246
* mh-customize.el (mh-path): Move here from mh-init.el.
Bill Wohler <wohler@newt.com>
parents:
67245
diff
changeset
|
116 mh-variants))) |
315e71e95246
* mh-customize.el (mh-path): Move here from mh-init.el.
Bill Wohler <wohler@newt.com>
parents:
67245
diff
changeset
|
117 |
68127
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
118 (defun mh-variant-info (dir) |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
119 "Return MH variant found in DIR, or nil if none present." |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
120 (save-excursion |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
121 (let ((tmp-buffer (get-buffer-create mh-temp-buffer))) |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
122 (set-buffer tmp-buffer) |
56676 | 123 (cond |
68127
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
124 ((mh-variant-mh-info dir)) |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
125 ((mh-variant-nmh-info dir)) |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
126 ((mh-variant-mu-mh-info dir)))))) |
56676 | 127 |
128 (defun mh-variant-mh-info (dir) | |
129 "Return info for MH variant in DIR assuming a temporary buffer is setup." | |
130 ;; MH does not have the -version option. | |
67760
9c3504ae6060
Follow MH-E Developers Guide conventions. Use `' quotes for Help
Bill Wohler <wohler@newt.com>
parents:
67758
diff
changeset
|
131 ;; Its version number is included in the output of "-help" as: |
56676 | 132 ;; |
133 ;; version: MH 6.8.4 #2[UCI] (burrito) of Fri Jan 15 20:01:39 EST 1999 | |
134 ;; options: [ATHENA] [BIND] [DUMB] [LIBLOCKFILE] [LOCALE] [MAILGROUP] [MHE] | |
135 ;; [MHRC] [MIME] [MORE='"/usr/bin/sensible-pager"'] [NLINK_HACK] | |
136 ;; [NORUSERPASS] [OVERHEAD] [POP] [POPSERVICE='"pop-3"'] [RENAME] | |
137 ;; [RFC1342] [RPATHS] [RPOP] [SENDMTS] [SMTP] [SOCKETS] | |
138 ;; [SPRINTFTYPE=int] [SVR4] [SYS5] [SYS5DIR] [TERMINFO] | |
139 ;; [TYPESIG=void] [UNISTD] [UTK] [VSPRINTF] | |
140 (let ((mhparam (expand-file-name "mhparam" dir))) | |
68127
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
141 (when (mh-file-command-p mhparam) |
56676 | 142 (erase-buffer) |
143 (call-process mhparam nil '(t nil) nil "-help") | |
144 (goto-char (point-min)) | |
145 (when (search-forward-regexp "version: MH \\(\\S +\\)" nil t) | |
146 (let ((version (format "MH %s" (match-string 1)))) | |
147 (erase-buffer) | |
148 (call-process mhparam nil '(t nil) nil "libdir") | |
149 (goto-char (point-min)) | |
150 (when (search-forward-regexp "^.*$" nil t) | |
151 (let ((libdir (match-string 0))) | |
152 `(,version | |
153 (variant mh) | |
154 (mh-lib-progs ,libdir) | |
155 (mh-lib ,libdir) | |
156 (mh-progs ,dir) | |
157 (flists nil))))))))) | |
158 | |
159 (defun mh-variant-mu-mh-info (dir) | |
160 "Return info for GNU mailutils variant in DIR. | |
161 This assumes that a temporary buffer is setup." | |
162 ;; 'mhparam -version' output: | |
163 ;; mhparam (GNU mailutils 0.3.2) | |
164 (let ((mhparam (expand-file-name "mhparam" dir))) | |
68127
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
165 (when (mh-file-command-p mhparam) |
56676 | 166 (erase-buffer) |
167 (call-process mhparam nil '(t nil) nil "-version") | |
168 (goto-char (point-min)) | |
169 (when (search-forward-regexp "mhparam (\\(GNU [Mm]ailutils \\S +\\))" | |
170 nil t) | |
68114
86ac787740e6
(mh-variant-mu-mh-info, mh-variant-nmh-info): Applied patch from
Bill Wohler <wohler@newt.com>
parents:
68105
diff
changeset
|
171 (let ((version (match-string 1)) |
86ac787740e6
(mh-variant-mu-mh-info, mh-variant-nmh-info): Applied patch from
Bill Wohler <wohler@newt.com>
parents:
68105
diff
changeset
|
172 (mh-progs dir)) |
86ac787740e6
(mh-variant-mu-mh-info, mh-variant-nmh-info): Applied patch from
Bill Wohler <wohler@newt.com>
parents:
68105
diff
changeset
|
173 `(,version |
86ac787740e6
(mh-variant-mu-mh-info, mh-variant-nmh-info): Applied patch from
Bill Wohler <wohler@newt.com>
parents:
68105
diff
changeset
|
174 (variant mu-mh) |
86ac787740e6
(mh-variant-mu-mh-info, mh-variant-nmh-info): Applied patch from
Bill Wohler <wohler@newt.com>
parents:
68105
diff
changeset
|
175 (mh-lib-progs ,(mh-profile-component "libdir")) |
86ac787740e6
(mh-variant-mu-mh-info, mh-variant-nmh-info): Applied patch from
Bill Wohler <wohler@newt.com>
parents:
68105
diff
changeset
|
176 (mh-lib ,(mh-profile-component "etcdir")) |
86ac787740e6
(mh-variant-mu-mh-info, mh-variant-nmh-info): Applied patch from
Bill Wohler <wohler@newt.com>
parents:
68105
diff
changeset
|
177 (mh-progs ,dir) |
86ac787740e6
(mh-variant-mu-mh-info, mh-variant-nmh-info): Applied patch from
Bill Wohler <wohler@newt.com>
parents:
68105
diff
changeset
|
178 (flists ,(file-exists-p |
86ac787740e6
(mh-variant-mu-mh-info, mh-variant-nmh-info): Applied patch from
Bill Wohler <wohler@newt.com>
parents:
68105
diff
changeset
|
179 (expand-file-name "flists" dir))))))))) |
56676 | 180 |
181 (defun mh-variant-nmh-info (dir) | |
182 "Return info for nmh variant in DIR assuming a temporary buffer is setup." | |
183 ;; `mhparam -version' outputs: | |
184 ;; mhparam -- nmh-1.1-RC1 [compiled on chaak at Fri Jun 20 11:03:28 PDT 2003] | |
185 (let ((mhparam (expand-file-name "mhparam" dir))) | |
68127
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
186 (when (mh-file-command-p mhparam) |
56676 | 187 (erase-buffer) |
188 (call-process mhparam nil '(t nil) nil "-version") | |
189 (goto-char (point-min)) | |
190 (when (search-forward-regexp "mhparam -- nmh-\\(\\S +\\)" nil t) | |
68114
86ac787740e6
(mh-variant-mu-mh-info, mh-variant-nmh-info): Applied patch from
Bill Wohler <wohler@newt.com>
parents:
68105
diff
changeset
|
191 (let ((version (format "nmh %s" (match-string 1))) |
86ac787740e6
(mh-variant-mu-mh-info, mh-variant-nmh-info): Applied patch from
Bill Wohler <wohler@newt.com>
parents:
68105
diff
changeset
|
192 (mh-progs dir)) |
86ac787740e6
(mh-variant-mu-mh-info, mh-variant-nmh-info): Applied patch from
Bill Wohler <wohler@newt.com>
parents:
68105
diff
changeset
|
193 `(,version |
86ac787740e6
(mh-variant-mu-mh-info, mh-variant-nmh-info): Applied patch from
Bill Wohler <wohler@newt.com>
parents:
68105
diff
changeset
|
194 (variant nmh) |
86ac787740e6
(mh-variant-mu-mh-info, mh-variant-nmh-info): Applied patch from
Bill Wohler <wohler@newt.com>
parents:
68105
diff
changeset
|
195 (mh-lib-progs ,(mh-profile-component "libdir")) |
86ac787740e6
(mh-variant-mu-mh-info, mh-variant-nmh-info): Applied patch from
Bill Wohler <wohler@newt.com>
parents:
68105
diff
changeset
|
196 (mh-lib ,(mh-profile-component "etcdir")) |
86ac787740e6
(mh-variant-mu-mh-info, mh-variant-nmh-info): Applied patch from
Bill Wohler <wohler@newt.com>
parents:
68105
diff
changeset
|
197 (mh-progs ,dir) |
86ac787740e6
(mh-variant-mu-mh-info, mh-variant-nmh-info): Applied patch from
Bill Wohler <wohler@newt.com>
parents:
68105
diff
changeset
|
198 (flists ,(file-exists-p |
86ac787740e6
(mh-variant-mu-mh-info, mh-variant-nmh-info): Applied patch from
Bill Wohler <wohler@newt.com>
parents:
68105
diff
changeset
|
199 (expand-file-name "flists" dir))))))))) |
56676 | 200 |
68127
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
201 (defun mh-file-command-p (file) |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
202 "Return t if file FILE is the name of a executable regular file." |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
203 (and (file-regular-p file) (file-executable-p file))) |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
204 |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
205 (defvar mh-variant-in-use nil |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
206 "The MH variant currently in use; a string with variant and version number. |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
207 This differs from `mh-variant' when the latter is set to |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
208 \"autodetect\".") |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
209 |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
210 ;;;###mh-autoload |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
211 (defun mh-variant-set (variant) |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
212 "Set the MH variant to VARIANT. |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
213 Sets `mh-progs', `mh-lib', `mh-lib-progs' and |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
214 `mh-flists-present-flag'. |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
215 If the VARIANT is \"autodetect\", then first try nmh, then MH and |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
216 finally GNU mailutils." |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
217 (interactive |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
218 (list (completing-read |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
219 "MH variant: " |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
220 (mapcar (lambda (x) (list (car x))) (mh-variants)) |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
221 nil t))) |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
222 (let ((valid-list (mapcar (lambda (x) (car x)) (mh-variants)))) |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
223 (cond |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
224 ((eq variant 'none)) |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
225 ((eq variant 'autodetect) |
56676 | 226 (cond |
68127
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
227 ((mh-variant-set-variant 'nmh) |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
228 (message "%s installed as MH variant" mh-variant-in-use)) |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
229 ((mh-variant-set-variant 'mh) |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
230 (message "%s installed as MH variant" mh-variant-in-use)) |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
231 ((mh-variant-set-variant 'mu-mh) |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
232 (message "%s installed as MH variant" mh-variant-in-use)) |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
233 (t |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
234 (message "No MH variant found on the system")))) |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
235 ((member variant valid-list) |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
236 (when (not (mh-variant-set-variant variant)) |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
237 (message "Warning: %s variant not found. Autodetecting..." variant) |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
238 (mh-variant-set 'autodetect))) |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
239 (t |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
240 (message "Unknown variant; use %s" |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
241 (mapconcat '(lambda (x) (format "%s" (car x))) |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
242 (mh-variants) " or ")))))) |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
243 |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
244 (defun mh-variant-set-variant (variant) |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
245 "Setup the system variables for the MH variant named VARIANT. |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
246 If VARIANT is a string, use that key in the alist returned by the |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
247 function `mh-variants'. |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
248 If VARIANT is a symbol, select the first entry that matches that |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
249 variant." |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
250 (cond |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
251 ((stringp variant) ;e.g. "nmh 1.1-RC1" |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
252 (when (assoc variant (mh-variants)) |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
253 (let* ((alist (cdr (assoc variant (mh-variants)))) |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
254 (lib-progs (cadr (assoc 'mh-lib-progs alist))) |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
255 (lib (cadr (assoc 'mh-lib alist))) |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
256 (progs (cadr (assoc 'mh-progs alist))) |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
257 (flists (cadr (assoc 'flists alist)))) |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
258 ;;(set-default mh-variant variant) |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
259 (setq mh-x-mailer-string nil |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
260 mh-flists-present-flag flists |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
261 mh-lib-progs lib-progs |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
262 mh-lib lib |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
263 mh-progs progs |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
264 mh-variant-in-use variant)))) |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
265 ((symbolp variant) ;e.g. 'nmh (pick the first match) |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
266 (loop for variant-list in (mh-variants) |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
267 when (eq variant (cadr (assoc 'variant (cdr variant-list)))) |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
268 return (let* ((version (car variant-list)) |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
269 (alist (cdr variant-list)) |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
270 (lib-progs (cadr (assoc 'mh-lib-progs alist))) |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
271 (lib (cadr (assoc 'mh-lib alist))) |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
272 (progs (cadr (assoc 'mh-progs alist))) |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
273 (flists (cadr (assoc 'flists alist)))) |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
274 ;;(set-default mh-variant flavor) |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
275 (setq mh-x-mailer-string nil |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
276 mh-flists-present-flag flists |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
277 mh-lib-progs lib-progs |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
278 mh-lib lib |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
279 mh-progs progs |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
280 mh-variant-in-use version) |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
281 t))))) |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
282 |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
283 ;;;###mh-autoload |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
284 (defun mh-variant-p (&rest variants) |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
285 "Return t if variant is any of VARIANTS. |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
286 Currently known variants are 'MH, 'nmh, and 'mu-mh." |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
287 (let ((variant-in-use |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
288 (cadr (assoc 'variant (assoc mh-variant-in-use (mh-variants)))))) |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
289 (not (null (member variant-in-use variants))))) |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
290 |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
291 |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
292 |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
293 ;;; Read MH Profile |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
294 |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
295 (defvar mh-find-path-run nil |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
296 "Non-nil if `mh-find-path' has been run already. |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
297 Do not access this variable; `mh-find-path' already uses it to |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
298 avoid running more than once.") |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
299 |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
300 (defun mh-find-path () |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
301 "Set variables from user's MH profile. |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
302 |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
303 This function sets `mh-user-path' from your \"Path:\" MH profile |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
304 component (but defaults to \"Mail\" if one isn't present), |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
305 `mh-draft-folder' from \"Draft-Folder:\", `mh-unseen-seq' from |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
306 \"Unseen-Sequence:\", `mh-previous-seq' from |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
307 \"Previous-Sequence:\", and `mh-inbox' from \"Inbox:\" (defaults |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
308 to \"+inbox\"). |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
309 |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
310 The hook `mh-find-path-hook' is run after these variables have |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
311 been set. This hook can be used the change the value of these |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
312 variables if you need to run with different values between MH and |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
313 MH-E." |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
314 (unless mh-find-path-run |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
315 ;; Sanity checks. |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
316 (if (and (getenv "MH") |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
317 (not (file-readable-p (getenv "MH")))) |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
318 (error "MH environment variable contains unreadable file %s" |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
319 (getenv "MH"))) |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
320 (if (null (mh-variants)) |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
321 (error "Install MH and run install-mh before running MH-E")) |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
322 (let ((profile "~/.mh_profile")) |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
323 (if (not (file-readable-p profile)) |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
324 (error "Run install-mh before running MH-E"))) |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
325 ;; Read MH profile. |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
326 (setq mh-user-path (mh-profile-component "Path")) |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
327 (if (not mh-user-path) |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
328 (setq mh-user-path "Mail")) |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
329 (setq mh-user-path |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
330 (file-name-as-directory |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
331 (expand-file-name mh-user-path (expand-file-name "~")))) |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
332 (unless mh-x-image-cache-directory |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
333 (setq mh-x-image-cache-directory |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
334 (expand-file-name ".mhe-x-image-cache" mh-user-path))) |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
335 (setq mh-draft-folder (mh-profile-component "Draft-Folder")) |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
336 (if mh-draft-folder |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
337 (progn |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
338 (if (not (mh-folder-name-p mh-draft-folder)) |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
339 (setq mh-draft-folder (format "+%s" mh-draft-folder))) |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
340 (if (not (file-exists-p (mh-expand-file-name mh-draft-folder))) |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
341 (error |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
342 "Draft folder \"%s\" not found; create it and try again" |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
343 (mh-expand-file-name mh-draft-folder))))) |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
344 (setq mh-inbox (mh-profile-component "Inbox")) |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
345 (cond ((not mh-inbox) |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
346 (setq mh-inbox "+inbox")) |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
347 ((not (mh-folder-name-p mh-inbox)) |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
348 (setq mh-inbox (format "+%s" mh-inbox)))) |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
349 (setq mh-unseen-seq (mh-profile-component "Unseen-Sequence")) |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
350 (if mh-unseen-seq |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
351 (setq mh-unseen-seq (intern mh-unseen-seq)) |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
352 (setq mh-unseen-seq 'unseen)) ;old MH default? |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
353 (setq mh-previous-seq (mh-profile-component "Previous-Sequence")) |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
354 (if mh-previous-seq |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
355 (setq mh-previous-seq (intern mh-previous-seq))) |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
356 (run-hooks 'mh-find-path-hook) |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
357 (mh-collect-folder-names) |
40429cab94e1
* mh-index.el (mh-index-search): Checking mh-find-path-run is
Bill Wohler <wohler@newt.com>
parents:
68114
diff
changeset
|
358 (setq mh-find-path-run t))) |
56676 | 359 |
66716
25ad3e63f2a1
* mh-customize.el (mh-min-colors-defined-flag, mh-defface-compat):
Bill Wohler <wohler@newt.com>
parents:
66136
diff
changeset
|
360 |
25ad3e63f2a1
* mh-customize.el (mh-min-colors-defined-flag, mh-defface-compat):
Bill Wohler <wohler@newt.com>
parents:
66136
diff
changeset
|
361 |
68199
5012e59a73c7
* mh-comp.el (mh-pgp-support-flag): Move here from mh-utils.el; needed
Bill Wohler <wohler@newt.com>
parents:
68135
diff
changeset
|
362 ;;; MH profile |
5012e59a73c7
* mh-comp.el (mh-pgp-support-flag): Move here from mh-utils.el; needed
Bill Wohler <wohler@newt.com>
parents:
68135
diff
changeset
|
363 |
5012e59a73c7
* mh-comp.el (mh-pgp-support-flag): Move here from mh-utils.el; needed
Bill Wohler <wohler@newt.com>
parents:
68135
diff
changeset
|
364 (defun mh-profile-component (component) |
5012e59a73c7
* mh-comp.el (mh-pgp-support-flag): Move here from mh-utils.el; needed
Bill Wohler <wohler@newt.com>
parents:
68135
diff
changeset
|
365 "Return COMPONENT value from mhparam, or nil if unset." |
5012e59a73c7
* mh-comp.el (mh-pgp-support-flag): Move here from mh-utils.el; needed
Bill Wohler <wohler@newt.com>
parents:
68135
diff
changeset
|
366 (save-excursion |
5012e59a73c7
* mh-comp.el (mh-pgp-support-flag): Move here from mh-utils.el; needed
Bill Wohler <wohler@newt.com>
parents:
68135
diff
changeset
|
367 (mh-exec-cmd-quiet nil "mhparam" "-components" component) |
5012e59a73c7
* mh-comp.el (mh-pgp-support-flag): Move here from mh-utils.el; needed
Bill Wohler <wohler@newt.com>
parents:
68135
diff
changeset
|
368 (mh-profile-component-value component))) |
5012e59a73c7
* mh-comp.el (mh-pgp-support-flag): Move here from mh-utils.el; needed
Bill Wohler <wohler@newt.com>
parents:
68135
diff
changeset
|
369 |
5012e59a73c7
* mh-comp.el (mh-pgp-support-flag): Move here from mh-utils.el; needed
Bill Wohler <wohler@newt.com>
parents:
68135
diff
changeset
|
370 (defun mh-profile-component-value (component) |
5012e59a73c7
* mh-comp.el (mh-pgp-support-flag): Move here from mh-utils.el; needed
Bill Wohler <wohler@newt.com>
parents:
68135
diff
changeset
|
371 "Find and return the value of COMPONENT in the current buffer. |
5012e59a73c7
* mh-comp.el (mh-pgp-support-flag): Move here from mh-utils.el; needed
Bill Wohler <wohler@newt.com>
parents:
68135
diff
changeset
|
372 Returns nil if the component is not in the buffer." |
5012e59a73c7
* mh-comp.el (mh-pgp-support-flag): Move here from mh-utils.el; needed
Bill Wohler <wohler@newt.com>
parents:
68135
diff
changeset
|
373 (let ((case-fold-search t)) |
5012e59a73c7
* mh-comp.el (mh-pgp-support-flag): Move here from mh-utils.el; needed
Bill Wohler <wohler@newt.com>
parents:
68135
diff
changeset
|
374 (goto-char (point-min)) |
5012e59a73c7
* mh-comp.el (mh-pgp-support-flag): Move here from mh-utils.el; needed
Bill Wohler <wohler@newt.com>
parents:
68135
diff
changeset
|
375 (cond ((not (re-search-forward (format "^%s:" component) nil t)) nil) |
5012e59a73c7
* mh-comp.el (mh-pgp-support-flag): Move here from mh-utils.el; needed
Bill Wohler <wohler@newt.com>
parents:
68135
diff
changeset
|
376 ((looking-at "[\t ]*$") nil) |
5012e59a73c7
* mh-comp.el (mh-pgp-support-flag): Move here from mh-utils.el; needed
Bill Wohler <wohler@newt.com>
parents:
68135
diff
changeset
|
377 (t |
5012e59a73c7
* mh-comp.el (mh-pgp-support-flag): Move here from mh-utils.el; needed
Bill Wohler <wohler@newt.com>
parents:
68135
diff
changeset
|
378 (re-search-forward "[\t ]*\\([^\t \n].*\\)$" nil t) |
5012e59a73c7
* mh-comp.el (mh-pgp-support-flag): Move here from mh-utils.el; needed
Bill Wohler <wohler@newt.com>
parents:
68135
diff
changeset
|
379 (let ((start (match-beginning 1))) |
5012e59a73c7
* mh-comp.el (mh-pgp-support-flag): Move here from mh-utils.el; needed
Bill Wohler <wohler@newt.com>
parents:
68135
diff
changeset
|
380 (end-of-line) |
5012e59a73c7
* mh-comp.el (mh-pgp-support-flag): Move here from mh-utils.el; needed
Bill Wohler <wohler@newt.com>
parents:
68135
diff
changeset
|
381 (buffer-substring start (point))))))) |
5012e59a73c7
* mh-comp.el (mh-pgp-support-flag): Move here from mh-utils.el; needed
Bill Wohler <wohler@newt.com>
parents:
68135
diff
changeset
|
382 |
5012e59a73c7
* mh-comp.el (mh-pgp-support-flag): Move here from mh-utils.el; needed
Bill Wohler <wohler@newt.com>
parents:
68135
diff
changeset
|
383 |
5012e59a73c7
* mh-comp.el (mh-pgp-support-flag): Move here from mh-utils.el; needed
Bill Wohler <wohler@newt.com>
parents:
68135
diff
changeset
|
384 |
5012e59a73c7
* mh-comp.el (mh-pgp-support-flag): Move here from mh-utils.el; needed
Bill Wohler <wohler@newt.com>
parents:
68135
diff
changeset
|
385 ;;; MH-E images |
5012e59a73c7
* mh-comp.el (mh-pgp-support-flag): Move here from mh-utils.el; needed
Bill Wohler <wohler@newt.com>
parents:
68135
diff
changeset
|
386 |
68105 | 387 ;; Shush compiler. |
388 (eval-when-compile (defvar image-load-path)) | |
68096
57c4e7929f99
* mh-alias.el (mh-alias-gecos-name): Use replace-regexp-in-string
Bill Wohler <wohler@newt.com>
parents:
68013
diff
changeset
|
389 |
66113
bfb1c3364c23
* mh-init.el (mh-image-load-path-called-flag): New variable which
Satyaki Das <satyaki@theforce.stanford.edu>
parents:
66087
diff
changeset
|
390 (defvar mh-image-load-path-called-flag nil) |
bfb1c3364c23
* mh-init.el (mh-image-load-path-called-flag): New variable which
Satyaki Das <satyaki@theforce.stanford.edu>
parents:
66087
diff
changeset
|
391 |
65980
4520ae2624f2
* mh-init.el (mh-image-load-path): New function that adds the path to
Bill Wohler <wohler@newt.com>
parents:
64085
diff
changeset
|
392 ;;;###mh-autoload |
4520ae2624f2
* mh-init.el (mh-image-load-path): New function that adds the path to
Bill Wohler <wohler@newt.com>
parents:
64085
diff
changeset
|
393 (defun mh-image-load-path () |
4520ae2624f2
* mh-init.el (mh-image-load-path): New function that adds the path to
Bill Wohler <wohler@newt.com>
parents:
64085
diff
changeset
|
394 "Ensure that the MH-E images are accessible by `find-image'. |
67758
6b063593fdad
Follow Emacs coding conventions. Use default setting of
Bill Wohler <wohler@newt.com>
parents:
67681
diff
changeset
|
395 Images for MH-E are found in ../../etc/images relative to the |
67760
9c3504ae6060
Follow MH-E Developers Guide conventions. Use `' quotes for Help
Bill Wohler <wohler@newt.com>
parents:
67758
diff
changeset
|
396 files in \"lisp/mh-e\". If `image-load-path' exists (since Emacs |
67758
6b063593fdad
Follow Emacs coding conventions. Use default setting of
Bill Wohler <wohler@newt.com>
parents:
67681
diff
changeset
|
397 22), then the images directory is added to it if isn't already |
6b063593fdad
Follow Emacs coding conventions. Use default setting of
Bill Wohler <wohler@newt.com>
parents:
67681
diff
changeset
|
398 there. Otherwise, the images directory is added to the |
6b063593fdad
Follow Emacs coding conventions. Use default setting of
Bill Wohler <wohler@newt.com>
parents:
67681
diff
changeset
|
399 `load-path' if it isn't already there." |
66113
bfb1c3364c23
* mh-init.el (mh-image-load-path-called-flag): New variable which
Satyaki Das <satyaki@theforce.stanford.edu>
parents:
66087
diff
changeset
|
400 (unless mh-image-load-path-called-flag |
66136
aacff8293f4b
(mh-image-load-path): Use locate-library to find MH-E. This simplified
Bill Wohler <wohler@newt.com>
parents:
66128
diff
changeset
|
401 (let (mh-library-name mh-image-load-path) |
66113
bfb1c3364c23
* mh-init.el (mh-image-load-path-called-flag): New variable which
Satyaki Das <satyaki@theforce.stanford.edu>
parents:
66087
diff
changeset
|
402 ;; First, find mh-e in the load-path. |
66136
aacff8293f4b
(mh-image-load-path): Use locate-library to find MH-E. This simplified
Bill Wohler <wohler@newt.com>
parents:
66128
diff
changeset
|
403 (setq mh-library-name (locate-library "mh-e")) |
aacff8293f4b
(mh-image-load-path): Use locate-library to find MH-E. This simplified
Bill Wohler <wohler@newt.com>
parents:
66128
diff
changeset
|
404 (if (not mh-library-name) |
aacff8293f4b
(mh-image-load-path): Use locate-library to find MH-E. This simplified
Bill Wohler <wohler@newt.com>
parents:
66128
diff
changeset
|
405 (error "Can not find MH-E in load-path")) |
aacff8293f4b
(mh-image-load-path): Use locate-library to find MH-E. This simplified
Bill Wohler <wohler@newt.com>
parents:
66128
diff
changeset
|
406 (setq mh-image-load-path |
aacff8293f4b
(mh-image-load-path): Use locate-library to find MH-E. This simplified
Bill Wohler <wohler@newt.com>
parents:
66128
diff
changeset
|
407 (expand-file-name (concat (file-name-directory mh-library-name) |
aacff8293f4b
(mh-image-load-path): Use locate-library to find MH-E. This simplified
Bill Wohler <wohler@newt.com>
parents:
66128
diff
changeset
|
408 "../../etc/images"))) |
aacff8293f4b
(mh-image-load-path): Use locate-library to find MH-E. This simplified
Bill Wohler <wohler@newt.com>
parents:
66128
diff
changeset
|
409 (if (not (file-exists-p mh-image-load-path)) |
aacff8293f4b
(mh-image-load-path): Use locate-library to find MH-E. This simplified
Bill Wohler <wohler@newt.com>
parents:
66128
diff
changeset
|
410 (error "Can not find image directory %s" mh-image-load-path)) |
aacff8293f4b
(mh-image-load-path): Use locate-library to find MH-E. This simplified
Bill Wohler <wohler@newt.com>
parents:
66128
diff
changeset
|
411 (if (boundp 'image-load-path) |
aacff8293f4b
(mh-image-load-path): Use locate-library to find MH-E. This simplified
Bill Wohler <wohler@newt.com>
parents:
66128
diff
changeset
|
412 (add-to-list 'image-load-path mh-image-load-path) |
aacff8293f4b
(mh-image-load-path): Use locate-library to find MH-E. This simplified
Bill Wohler <wohler@newt.com>
parents:
66128
diff
changeset
|
413 (add-to-list 'load-path mh-image-load-path))) |
66113
bfb1c3364c23
* mh-init.el (mh-image-load-path-called-flag): New variable which
Satyaki Das <satyaki@theforce.stanford.edu>
parents:
66087
diff
changeset
|
414 (setq mh-image-load-path-called-flag t))) |
65980
4520ae2624f2
* mh-init.el (mh-image-load-path): New function that adds the path to
Bill Wohler <wohler@newt.com>
parents:
64085
diff
changeset
|
415 |
66716
25ad3e63f2a1
* mh-customize.el (mh-min-colors-defined-flag, mh-defface-compat):
Bill Wohler <wohler@newt.com>
parents:
66136
diff
changeset
|
416 |
25ad3e63f2a1
* mh-customize.el (mh-min-colors-defined-flag, mh-defface-compat):
Bill Wohler <wohler@newt.com>
parents:
66136
diff
changeset
|
417 |
68096
57c4e7929f99
* mh-alias.el (mh-alias-gecos-name): Use replace-regexp-in-string
Bill Wohler <wohler@newt.com>
parents:
68013
diff
changeset
|
418 ;;; Support routines for mh-customize.el |
57c4e7929f99
* mh-alias.el (mh-alias-gecos-name): Use replace-regexp-in-string
Bill Wohler <wohler@newt.com>
parents:
68013
diff
changeset
|
419 |
66716
25ad3e63f2a1
* mh-customize.el (mh-min-colors-defined-flag, mh-defface-compat):
Bill Wohler <wohler@newt.com>
parents:
66136
diff
changeset
|
420 (defvar mh-min-colors-defined-flag (and (not mh-xemacs-flag) |
25ad3e63f2a1
* mh-customize.el (mh-min-colors-defined-flag, mh-defface-compat):
Bill Wohler <wohler@newt.com>
parents:
66136
diff
changeset
|
421 (>= emacs-major-version 22)) |
25ad3e63f2a1
* mh-customize.el (mh-min-colors-defined-flag, mh-defface-compat):
Bill Wohler <wohler@newt.com>
parents:
66136
diff
changeset
|
422 "Non-nil means defface supports min-colors display requirement.") |
25ad3e63f2a1
* mh-customize.el (mh-min-colors-defined-flag, mh-defface-compat):
Bill Wohler <wohler@newt.com>
parents:
66136
diff
changeset
|
423 |
25ad3e63f2a1
* mh-customize.el (mh-min-colors-defined-flag, mh-defface-compat):
Bill Wohler <wohler@newt.com>
parents:
66136
diff
changeset
|
424 (defun mh-defface-compat (spec) |
67245
4b8cea82e2d9
(mh-defface-compat): Checkdoc fix.
Bill Wohler <wohler@newt.com>
parents:
66716
diff
changeset
|
425 "Convert SPEC for defface if necessary to run on older platforms. |
67988
7882fc7df359
* mh-alias.el (mh-alias-grab-from-field): Remove leading * from
Bill Wohler <wohler@newt.com>
parents:
67969
diff
changeset
|
426 Modifies SPEC in place and returns it. See `defface' for the spec definition. |
66716
25ad3e63f2a1
* mh-customize.el (mh-min-colors-defined-flag, mh-defface-compat):
Bill Wohler <wohler@newt.com>
parents:
66136
diff
changeset
|
427 |
68000
830e95c83d49
* mh-customize.el (mh-folder-msg-number): Snow is actually off-white
Bill Wohler <wohler@newt.com>
parents:
67988
diff
changeset
|
428 When `mh-min-colors-defined-flag' is nil, this function finds |
830e95c83d49
* mh-customize.el (mh-folder-msg-number): Snow is actually off-white
Bill Wohler <wohler@newt.com>
parents:
67988
diff
changeset
|
429 display entries with \"min-colors\" requirements and either |
830e95c83d49
* mh-customize.el (mh-folder-msg-number): Snow is actually off-white
Bill Wohler <wohler@newt.com>
parents:
67988
diff
changeset
|
430 removes the \"min-colors\" requirement or strips the display |
830e95c83d49
* mh-customize.el (mh-folder-msg-number): Snow is actually off-white
Bill Wohler <wohler@newt.com>
parents:
67988
diff
changeset
|
431 entirely if the display does not support the number of specified |
830e95c83d49
* mh-customize.el (mh-folder-msg-number): Snow is actually off-white
Bill Wohler <wohler@newt.com>
parents:
67988
diff
changeset
|
432 colors." |
830e95c83d49
* mh-customize.el (mh-folder-msg-number): Snow is actually off-white
Bill Wohler <wohler@newt.com>
parents:
67988
diff
changeset
|
433 (if mh-min-colors-defined-flag |
830e95c83d49
* mh-customize.el (mh-folder-msg-number): Snow is actually off-white
Bill Wohler <wohler@newt.com>
parents:
67988
diff
changeset
|
434 spec |
830e95c83d49
* mh-customize.el (mh-folder-msg-number): Snow is actually off-white
Bill Wohler <wohler@newt.com>
parents:
67988
diff
changeset
|
435 (let ((cells (display-color-cells)) |
830e95c83d49
* mh-customize.el (mh-folder-msg-number): Snow is actually off-white
Bill Wohler <wohler@newt.com>
parents:
67988
diff
changeset
|
436 new-spec) |
830e95c83d49
* mh-customize.el (mh-folder-msg-number): Snow is actually off-white
Bill Wohler <wohler@newt.com>
parents:
67988
diff
changeset
|
437 ;; Remove entries with min-colors, or delete them if we have fewer colors |
830e95c83d49
* mh-customize.el (mh-folder-msg-number): Snow is actually off-white
Bill Wohler <wohler@newt.com>
parents:
67988
diff
changeset
|
438 ;; than they specify. |
830e95c83d49
* mh-customize.el (mh-folder-msg-number): Snow is actually off-white
Bill Wohler <wohler@newt.com>
parents:
67988
diff
changeset
|
439 (loop for entry in (reverse spec) do |
830e95c83d49
* mh-customize.el (mh-folder-msg-number): Snow is actually off-white
Bill Wohler <wohler@newt.com>
parents:
67988
diff
changeset
|
440 (let ((requirement (if (eq (car entry) t) |
830e95c83d49
* mh-customize.el (mh-folder-msg-number): Snow is actually off-white
Bill Wohler <wohler@newt.com>
parents:
67988
diff
changeset
|
441 nil |
830e95c83d49
* mh-customize.el (mh-folder-msg-number): Snow is actually off-white
Bill Wohler <wohler@newt.com>
parents:
67988
diff
changeset
|
442 (assoc 'min-colors (car entry))))) |
830e95c83d49
* mh-customize.el (mh-folder-msg-number): Snow is actually off-white
Bill Wohler <wohler@newt.com>
parents:
67988
diff
changeset
|
443 (if requirement |
830e95c83d49
* mh-customize.el (mh-folder-msg-number): Snow is actually off-white
Bill Wohler <wohler@newt.com>
parents:
67988
diff
changeset
|
444 (when (>= cells (nth 1 requirement)) |
830e95c83d49
* mh-customize.el (mh-folder-msg-number): Snow is actually off-white
Bill Wohler <wohler@newt.com>
parents:
67988
diff
changeset
|
445 (setq new-spec (cons (cons (delq requirement (car entry)) |
830e95c83d49
* mh-customize.el (mh-folder-msg-number): Snow is actually off-white
Bill Wohler <wohler@newt.com>
parents:
67988
diff
changeset
|
446 (cdr entry)) |
830e95c83d49
* mh-customize.el (mh-folder-msg-number): Snow is actually off-white
Bill Wohler <wohler@newt.com>
parents:
67988
diff
changeset
|
447 new-spec))) |
830e95c83d49
* mh-customize.el (mh-folder-msg-number): Snow is actually off-white
Bill Wohler <wohler@newt.com>
parents:
67988
diff
changeset
|
448 (setq new-spec (cons entry new-spec))))) |
830e95c83d49
* mh-customize.el (mh-folder-msg-number): Snow is actually off-white
Bill Wohler <wohler@newt.com>
parents:
67988
diff
changeset
|
449 new-spec))) |
67245
4b8cea82e2d9
(mh-defface-compat): Checkdoc fix.
Bill Wohler <wohler@newt.com>
parents:
66716
diff
changeset
|
450 |
56676 | 451 (provide 'mh-init) |
452 | |
67681 | 453 ;; Local Variables: |
454 ;; indent-tabs-mode: nil | |
455 ;; sentence-end-double-space: nil | |
456 ;; End: | |
56676 | 457 |
56677 | 458 ;; arch-tag: e8372aeb-d803-42b1-9c95-3c93ad22f63c |
56676 | 459 ;;; mh-init.el ends here |