;; Mail sending commands for Emacs.
-;; Copyright (C) 1985, 1986 Free Software Foundation, Inc.
+;; Copyright (C) 1985, 1986, 1992 Free Software Foundation, Inc.
;; This file is part of GNU Emacs.
(define-key mail-mode-map "\C-c?" 'describe-mode)
(define-key mail-mode-map "\C-c\C-f\C-t" 'mail-to)
(define-key mail-mode-map "\C-c\C-f\C-b" 'mail-bcc)
+ (define-key mail-mode-map "\C-c\C-f\C-f" 'mail-fcc)
(define-key mail-mode-map "\C-c\C-f\C-c" 'mail-cc)
(define-key mail-mode-map "\C-c\C-f\C-s" 'mail-subject)
(define-key mail-mode-map "\C-c\C-t" 'mail-text)
(progn (mail-position-on-field "to")
(insert "\nBCC: "))))
+(defun mail-fcc ()
+ "Add a new FCC field, with file name completion."
+ (interactive)
+ (expand-abbrev)
+ (or (mail-position-on-field "fcc" t) ;Put new field after exiting FCC.
+ (mail-position-on-field "to"))
+ (insert "\nFCC: " (read-file-name "Folder carbon copy: ")))
+
(defun mail-position-on-field (field &optional soft)
(let (end
(case-fold-search t))
(goto-char (point-min))
- (search-forward (concat "\n" mail-header-separator "\n"))
+ (search-forward (concat "^" mail-header-separator "\n"))
(setq end (match-beginning 0))
(goto-char (point-min))
(if (re-search-forward (concat "^" (regexp-quote field) ":") end t)
/* Evaluator for GNU Emacs Lisp interpreter.
- Copyright (C) 1985, 1986, 1987 Free Software Foundation, Inc.
+ Copyright (C) 1985, 1986, 1987, 1992 Free Software Foundation, Inc.
This file is part of GNU Emacs.
goto done;
default:
- error ("funcall: this number of args not handled.");
+
+ /* If a subr takes more than 6 arguments without using MANY
+ or UNEVALLED, we need to extend this function to support it.
+ Until this is done, there is no way to call the function. */
+ abort ();
}
}
if (XTYPE (fun) == Lisp_Compiled)
/* Indentation functions.
- Copyright (C) 1985, 1986, 1987, 1988 Free Software Foundation, Inc.
+ Copyright (C) 1985, 1986, 1987, 1988, 1992 Free Software Foundation, Inc.
This file is part of GNU Emacs.
and scan through it again. */
if (!NILP (force) && col > goal && c == '\t' && prev_col < goal)
{
+ int old_point;
+
del_range (point - 1, point);
- Findent_to (make_number (col - 1));
- insert_char (' ');
- goto retry;
+ Findent_to (make_number (goal), Qnil);
+ old_point = point;
+ Findent_to (make_number (col), Qnil);
+ SET_PT (old_point);
}
/* If line ends prematurely, add space to the end. */