annotate lisp/movemail.el @ 3063:d30cd499e445

[xemacs-hg @ 2005-11-13 10:48:01 by ben] further error-checking, etc. alloc.c, lrecord.h: Move around the handling of setting of lheader->uid so it's in set_lheader_implementation() -- that way, even non-MC-ALLOC builds get useful uid's in their bare lrecords. Redo related code for strings so the non-ascii count that is stored in the uid isn't hosed. events.c: Save and restore the uid around event zeroing/deadbeefing. lisp.h: Set the correct value of MAX_STRING_ASCII_BEGIN under MC_ALLOC. lisp.h: rearrange the basic code handling ints and chars. basic int stuff goes first, followed by basic char stuff, followed in turn by stuff that mixes ints and chars. this is required since some basic defn's have become inline functions. XCHAR and CHARP have additional error-checking in that they check to make sure that the value in question is not just a character but a valid character (i.e. its numeric value is valid). print.c: debug_p4 now has a useful UID in all cases and uses it; but it also prints the raw header address (previously, you just got one of them). text.h: some basic char defn's that belonged in lisp.h have been moved there. valid_ichar_p() is moved too since the inline functions need it.
author ben
date Sun, 13 Nov 2005 10:48:04 +0000
parents abe6d1db359e
children 308d34e9f07d
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
398
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
1 ;;; movemail.el --- move mail spool to a place where XEmacs can munge it
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
2
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
3 ;; Copyright (C) 1985-1986, 1990, 1992-1997 Free Software Foundation, Inc.
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
4 ;; Copyright (c) 1993, 1994 Sun Microsystems, Inc.
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
5 ;; Copyright (C) 1995 Board of Trustees, University of Illinois
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
6
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
7 ;; Author: Mike Sperber <sperber@informatik.uni-tuebingen.de>
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
8 ;; Maintainer: XEmacs Development Team
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
9 ;; Keywords: internal, dumped
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
10
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
11 ;; This file is part of XEmacs.
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
12
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
13 ;; XEmacs is free software; you can redistribute it and/or modify it
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
14 ;; under the terms of the GNU General Public License as published by
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
15 ;; the Free Software Foundation; either version 2, or (at your option)
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
16 ;; any later version.
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
17
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
18 ;; XEmacs is distributed in the hope that it will be useful, but
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
19 ;; WITHOUT ANY WARRANTY; without even the implied warranty of
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
20 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
21 ;; General Public License for more details.
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
22
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
23 ;; You should have received a copy of the GNU General Public License
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
24 ;; along with XEmacs; see the file COPYING. If not, write to the
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
25 ;; Free Software Foundation, 59 Temple Place - Suite 330,
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
26 ;; Boston, MA 02111-1307, USA.
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
27
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
28 ;;; Synched up with: Not in FSF.
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
29
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
30 ;;; Commentary:
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
31
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
32 ;; This file is dumped with XEmacs.
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
33
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
34 ;; This file handles calling movemail with the right locking command
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
35 ;; line options.
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
36
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
37 ;;; Code:
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
38
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
39 (defvar mail-lock-method
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
40 (let ((stuff (getenv "EMACSLOCKMETHOD")))
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
41 (if stuff
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
42 (intern stuff)
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
43 configure-mail-lock-method))
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 398
diff changeset
44 "mail spool locking method used by this instance of XEmacs.
398
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
45 This must be one of the symbols in MAIL-LOCK-METHODS.")
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
46
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
47 (defun move-mail-spool (from to &optional buffer pop-password)
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
48 "Move mail spool in file FROM to file TO.
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
49 BUFFER is a buffer for error messages.
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
50 POP-PASSWORD is a password for POP mailbox access."
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
51 (apply 'call-process
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
52 (expand-file-name "movemail" exec-directory)
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
53 nil buffer nil
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
54 "-m"
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
55 (symbol-name mail-lock-method)
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
56 from to
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
57 (and pop-password
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
58 (list pop-password))))
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
59
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
60 ;;; movemail.el ends here