worley@EDDIE.MIT.EDU (Dale Worley) (06/02/89)
In mail-mode, the syntax of "%" is "word", unlike "!" and "@", which have syntax "punctuation". This makes is hard to step through the components of an address with M-f, etc. The following code creates a special mail-mode-syntax-table which defines "%" to be "punctuation".
worley@EDDIE.MIT.EDU (Dale Worley) (06/02/89)
In mail-mode, the syntax of "%" is "word", unlike "!" and "@", which have syntax "punctuation". This makes is hard to step through the components of an address with M-f, etc. The following code creates a mail-mode-syntax-table which defines "%" to be "punctuation". (defvar mail-mode-syntax-table nil "Syntax table used while in mail mode.") (if (null mail-mode-syntax-table) (progn (setq mail-mode-syntax-table (copy-syntax-table text-mode-syntax-table)) (modify-syntax-entry ?% ". " mail-mode-syntax-table))) (defun mail-mode () "Major mode for editing mail to be sent. Like Text Mode but with these additional commands: C-c C-s mail-send (send the message) C-c C-c mail-send-and-exit C-c C-f move to a header field (and create it if there isn't): C-c C-f C-t move to To: C-c C-f C-s move to Subj: C-c C-f C-b move to BCC: C-c C-f C-c move to CC: C-c C-w mail-signature (insert ~/.signature at end). C-c C-y mail-yank-original (insert current message, in Rmail). C-c C-q mail-fill-yanked-message (fill what was yanked)." (interactive) (kill-all-local-variables) (make-local-variable 'mail-reply-buffer) (setq mail-reply-buffer nil) (set-syntax-table mail-mode-syntax-table) (use-local-map mail-mode-map) (setq local-abbrev-table text-mode-abbrev-table) (setq major-mode 'mail-mode) (setq mode-name "Mail") (setq buffer-offer-save t) (make-local-variable 'paragraph-separate) (make-local-variable 'paragraph-start) (setq paragraph-start (concat "^" mail-header-separator "$\\|^[ \t]*[-_][-_][-_]+$\\|" paragraph-start)) (setq paragraph-separate (concat "^" mail-header-separator "$\\|^[ \t]*[-_][-_][-_]+$\\|" paragraph-separate)) (run-hooks 'text-mode-hook 'mail-mode-hook)) Dale Worley, Compass, Inc. worley@compass.com "The United States has entered an anti-intellectual phase in its history, perhaps most clearly seen in our virtually thought-free political life." -- David Baltimore