Mercurial > hg > xemacs-beta
diff lisp/vm/vm-startup.el @ 70:131b0175ea99 r20-0b30
Import from CVS: tag r20-0b30
author | cvs |
---|---|
date | Mon, 13 Aug 2007 09:02:59 +0200 |
parents | 05472e90ae02 |
children | c0c698873ce1 |
line wrap: on
line diff
--- a/lisp/vm/vm-startup.el Mon Aug 13 09:00:04 2007 +0200 +++ b/lisp/vm/vm-startup.el Mon Aug 13 09:02:59 2007 +0200 @@ -1,5 +1,5 @@ ;;; Entry points for VM -;;; Copyright (C) 1994-1997 Kyle E. Jones +;;; Copyright (C) 1994, 1995 Kyle E. Jones ;;; ;;; This program is free software; you can redistribute it and/or modify ;;; it under the terms of the GNU General Public License as published by @@ -25,7 +25,7 @@ Prefix arg or optional second arg READ-ONLY non-nil indicates that the folder should be considered read only. No attribute -changes, message additions or deletions will be allowed in the +changes, messages additions or deletions will be allowed in the visited folder. Visiting the primary inbox causes any contents of the system mailbox to @@ -61,47 +61,17 @@ (expand-file-name vm-folder-directory)) default-directory)) (inhibit-local-variables t) - (enable-local-variables nil) - ;; for XEmacs/Mule - (coding-system-for-read 'no-conversion)) - (message "Reading %s..." file) + (enable-local-variables nil)) + (vm-unsaved-message "Reading %s..." file) (prog1 (find-file-noselect file) ;; update folder history (let ((item (or folder vm-primary-inbox))) (if (not (equal item (car vm-folder-history))) (setq vm-folder-history (cons item vm-folder-history)))) - (message "Reading %s... done" file)))))))) + (vm-unsaved-message "Reading %s... done" file)))))))) (set-buffer folder-buffer) - ;; for XEmacs/MULE - ;; - ;; If the file coding system is not a no-conversion variant, - ;; make it so by encoding all the text, then setting - ;; the file coding system and decoding it. - ;; This is only possible if a file is visited and then vm-mode - ;; is run on it afterwards. - (defvar buffer-file-coding-system) - (if (and vm-xemacs-mule-p - (not (eq (get-coding-system buffer-file-coding-system) - (get-coding-system 'no-conversion-unix))) - (not (eq (get-coding-system buffer-file-coding-system) - (get-coding-system 'no-conversion-dos))) - (not (eq (get-coding-system buffer-file-coding-system) - (get-coding-system 'no-conversion-mac))) - (not (eq (get-coding-system buffer-file-coding-system) - (get-coding-system 'binary)))) - (let ((buffer-read-only nil) - (omodified (buffer-modified-p))) - (unwind-protect - (progn - (encode-coding-region (point-min) (point-max) - buffer-file-coding-system) - (set-buffer-file-coding-system 'no-conversion nil) - (decode-coding-region (point-min) (point-max) - buffer-file-coding-system)) - (set-buffer-modified-p omodified)))) (vm-check-for-killed-summary) - (vm-check-for-killed-presentation) ;; If the buffer's not modified then we know that there can be no ;; messages in the folder that are not on disk. (or (buffer-modified-p) (setq vm-messages-not-on-disk 0)) @@ -115,7 +85,7 @@ ;; save file contains information the user might not ;; want overwritten, i.e. recover-file might be ;; desired. What we want to avoid is an auto-save. - ;; Making the folder read only will keep + ;; Making the folder read only will keep it ;; subsequent actions from modifying the buffer in a ;; way that triggers an auto save. ;; @@ -150,23 +120,26 @@ ;; make a new frame if the user wants one. reuse an ;; existing frame that is showing this folder. (if (and full-startup + vm-frame-per-folder + (vm-multiple-frames-possible-p) ;; this so that "emacs -f vm" doesn't create a frame. this-command) - (apply 'vm-goto-new-folder-frame-maybe - (if folder '(folder) '(primary-folder folder)))) - - ;; raise frame if requested and apply startup window - ;; configuration. - (if full-startup - (let ((buffer-to-display (or vm-summary-buffer - vm-presentation-buffer - (current-buffer)))) - (vm-display buffer-to-display buffer-to-display - (list this-command) - (list (or this-command 'vm) 'startup)) - (if vm-raise-frame-at-startup - (vm-raise-frame)))) - + (let ((w (or (vm-get-buffer-window (current-buffer)) + ;; summary == folder for the purpose + ;; of frame reuse. + (and vm-summary-buffer + (vm-get-buffer-window vm-summary-buffer))))) + (if (null w) + (progn + (if folder + (vm-goto-new-frame 'folder) + (vm-goto-new-frame 'primary-folder 'folder)) + (vm-set-hooks-for-frame-deletion)) + (save-excursion + (select-window w) + (and vm-warp-mouse-to-new-frame + (vm-warp-mouse-to-frame-maybe (vm-window-frame w))))))) + ;; say this NOW, before the non-previewers read a message, ;; alter the new message count and confuse themselves. (if full-startup @@ -174,10 +147,14 @@ (setq totals-blurb (vm-emit-totals-blurb))) (vm-thoughtfully-select-message) - (vm-update-summary-and-mode-line) + (if vm-message-list + (vm-preview-current-message) + (vm-update-summary-and-mode-line)) + (if full-startup + (vm-display (current-buffer) t nil nil)) ;; need to do this after any frame creation because the ;; toolbar sets frame-specific height and width specifiers. - (and (vm-toolbar-support-possible-p) vm-use-toolbar + (and full-startup (vm-toolbar-support-possible-p) vm-use-toolbar (progn (vm-toolbar-install-toolbar) (vm-toolbar-update-toolbar))) @@ -186,33 +163,23 @@ (vm-menu-install-visited-folders-menu)) (if full-startup - (progn - (if (and (vm-should-generate-summary) + (save-excursion + (vm-display (current-buffer) t nil nil) + (if (and (vm-should-generate-summary) ;; don't generate a summary if recover-file is ;; likely to happen, since recover-file does ;; nothing useful in a summary buffer. (not preserve-auto-save-file)) - (vm-summarize t nil)) - ;; raise the summary frame if the user wants frames - ;; raised and if there is a summary frame. - (if (and vm-summary-buffer - vm-mutable-frames - vm-frame-per-summary - vm-raise-frame-at-startup) - (vm-raise-frame)) - ;; if vm-mutable-windows is nil, the startup - ;; configuration can't be applied, so do - ;; something to get a VM buffer on the screen - (if vm-mutable-windows - (vm-display nil nil (list this-command) - (list (or this-command 'vm) 'startup)) - (save-excursion - (switch-to-buffer (or vm-summary-buffer - vm-presentation-buffer - (current-buffer))))))) - - (if vm-message-list - (vm-preview-current-message)) + (vm-summarize t)) + ;; People were confused that (vm) behaved differently + ;; than M-x vm. We used to list all the various VM + ;; startup commands here, but now we just accept any + ;; command and treat it as if it were VM. It's + ;; probably just as well, since any command that + ;; calls VM probably does want the window + ;; configuration to be setup. + (vm-display nil nil (list this-command) + (list (or this-command 'vm) 'startup)))) (run-hooks 'vm-visit-folder-hook) @@ -232,9 +199,9 @@ (not vm-block-new-mail) (not vm-folder-read-only)) (progn - (message "Checking for new mail for %s..." + (vm-unsaved-message "Checking for new mail for %s..." (or buffer-file-name (buffer-name))) - (if (and (vm-get-spooled-mail t) (vm-assimilate-new-messages t)) + (if (and (vm-get-spooled-mail) (vm-assimilate-new-messages t)) (progn (setq totals-blurb (vm-emit-totals-blurb)) (if (vm-thoughtfully-select-message) @@ -244,7 +211,13 @@ ;; Display copyright and copying info unless ;; user says no. - (if (and (interactive-p) (not vm-startup-message-displayed)) + ;; Check this-command so we don't make the user wait if + ;; they call vm non-interactively from some other program. + (if (and (not vm-inhibit-startup-message) + (not vm-startup-message-displayed) + (or (memq this-command '(vm vm-visit-folder)) + ;; for emacs -f vm + (null last-command))) (progn (vm-display-startup-message) (if (not (input-pending-p)) @@ -280,7 +253,7 @@ (defun vm-mode (&optional read-only) "Major mode for reading mail. -This is VM 6.34. +This is VM 5.96 (beta). Commands: h - summarize folder contents @@ -320,7 +293,7 @@ @ - digestify and mail entire folder contents (the folder is not modified) * - burst a digest into individual messages, and append and assimilate these - messages into the current folder. + message into the current folder. G - sort messages by various keys @@ -343,23 +316,20 @@ x - exit VM with no change to the folder M N - use marks; the next vm command will affect only marked messages - if it makes sense for the command to do so. These commands - apply and remove marks to messages. + if it makes sense for the command to do so M M - mark the current message M U - unmark the current message M m - mark all messages M u - unmark all messages - M C - mark messages matched by a virtual folder selector - M c - unmark messages matched by a virtual folder selector + M C - mark messages matches by a virtual folder selector + M c - unmark messages matches by a virtual folder selector M T - mark thread tree rooted at the current message M t - unmark thread tree rooted at the current message M S - mark messages with the same subject as the current message M s - unmark messages with the same subject as the current message M A - mark messages with the same author as the current message M a - unmark messages with the same author as the current message - M R - mark messages within the point/mark region in the summary - M r - unmark messages within the point/mark region in the summary M ? - partial help for mark commands @@ -379,7 +349,7 @@ V ? - help for virtual folder commands C-_ - undo, special undo that retracts the most recent - changes in message attributes and labels. Expunges, + changes in message attributes and labels. Expunges message edits, and saves cannot be undone. C-x u is also bound to this command. @@ -406,21 +376,17 @@ vm-arrived-message-hook vm-arrived-messages-hook vm-auto-center-summary - vm-auto-decode-mime-messages - vm-auto-displayed-mime-content-types vm-auto-folder-alist vm-auto-folder-case-fold-search vm-auto-get-new-mail vm-auto-next-message vm-berkeley-mail-compatibility - vm-burst-digest-messages-inherit-labels vm-check-folder-types + vm-convert-folder-types vm-circular-folders vm-confirm-new-folders vm-confirm-quit - vm-convert-folder-types vm-crash-box - vm-crash-box-suffix vm-default-folder-type vm-delete-after-archiving vm-delete-after-bursting @@ -431,7 +397,6 @@ vm-digest-preamble-format vm-digest-send-type vm-display-buffer-hook - vm-display-using-mime vm-edit-message-hook vm-folder-directory vm-folder-read-only @@ -441,76 +406,42 @@ vm-forwarding-digest-type vm-forwarding-subject-format vm-frame-parameter-alist - vm-frame-per-completion vm-frame-per-composition - vm-frame-per-edit vm-frame-per-folder - vm-frame-per-help - vm-frame-per-summary vm-highlighted-header-face vm-highlighted-header-regexp vm-honor-page-delimiters - vm-image-directory vm-in-reply-to-format vm-included-text-attribution-format vm-included-text-discard-header-regexp vm-included-text-headers vm-included-text-prefix + vm-inhibit-startup-message vm-invisible-header-regexp vm-jump-to-new-messages vm-jump-to-unread-messages + vm-keep-sent-messages vm-keep-crash-boxes - vm-keep-sent-messages - vm-mail-check-interval vm-mail-header-from vm-mail-mode-hook - vm-make-crash-box-name - vm-make-spool-file-name - vm-mime-8bit-composition-charset - vm-mime-8bit-text-transfer-encoding - vm-mime-alternative-select-method - vm-mime-attachment-auto-type-alist - vm-mime-attachment-save-directory - vm-mime-avoid-folding-content-type - vm-mime-base64-decoder-program - vm-mime-base64-decoder-switches - vm-mime-base64-encoder-program - vm-mime-base64-encoder-switches - vm-mime-button-face - vm-mime-charset-font-alist - vm-mime-default-face-charsets - vm-mime-digest-discard-header-regexp - vm-mime-digest-headers - vm-mime-display-function - vm-mime-external-content-types-alist - vm-mime-ignore-mime-version - vm-mime-internal-content-types - vm-mime-max-message-size vm-mode-hook vm-mosaic-program - vm-mosaic-program-switches vm-move-after-deleting - vm-move-after-killing vm-move-after-undeleting vm-move-messages-physically + vm-mutable-windows vm-mutable-frames - vm-mutable-windows vm-netscape-program - vm-netscape-program-switches - vm-pop-bytes-per-session - vm-pop-max-message-size + vm-options-file vm-pop-md5-program - vm-pop-messages-per-session - vm-popup-menu-on-mouse-3 - vm-preferences-file vm-preview-lines vm-preview-read-messages vm-primary-inbox vm-quit-hook vm-recognize-pop-maildrops vm-reply-hook + vm-reply-ignored-reply-tos vm-reply-ignored-addresses - vm-reply-ignored-reply-tos vm-reply-subject-prefix vm-resend-bounced-discard-header-regexp vm-resend-bounced-headers @@ -528,10 +459,8 @@ vm-select-new-message-hook vm-select-unread-message-hook vm-send-digest-hook - vm-send-using-mime vm-skip-deleted-messages vm-skip-read-messages - vm-spool-file-suffixes vm-spool-files vm-startup-with-summary vm-strip-reply-headers @@ -541,17 +470,14 @@ vm-summary-mode-hook vm-summary-redo-hook vm-summary-show-threads + vm-summary-subject-no-newlines vm-summary-thread-indent-level - vm-tale-is-an-idiot - vm-temp-file-directory - vm-toolbar-pixmap-directory vm-trust-From_-with-Content-Length vm-undisplay-buffer-hook vm-unforwarded-header-regexp vm-url-browser vm-url-search-limit vm-use-menus - vm-use-toolbar vm-virtual-folder-alist vm-virtual-mirror vm-visible-headers @@ -671,8 +597,6 @@ will not do anything. The entry point to vm-virtual-mode is vm-visit-virtual-folder.") -(defvar scroll-in-place) - (defun vm-visit-virtual-folder (folder-name &optional read-only) (interactive (let ((last-command last-command) @@ -705,22 +629,17 @@ vm-label-obarray (make-vector 29 0) vm-virtual-folder-definition (assoc folder-name vm-virtual-folder-alist)) - ;; scroll in place messes with scroll-up and this loses - (make-local-variable 'scroll-in-place) - (setq scroll-in-place nil) (vm-build-virtual-message-list nil) (use-local-map vm-mode-map) (and (vm-menu-support-possible-p) (vm-menu-install-menus)) - (add-hook 'kill-buffer-hook 'vm-garbage-collect-folder) - (add-hook 'kill-buffer-hook 'vm-garbage-collect-message) ;; save this for last in case the user interrupts. ;; an interrupt anywhere before this point will cause ;; everything to be redone next revisit. (setq major-mode 'vm-virtual-mode) (run-hooks 'vm-virtual-mode-hook) ;; must come after the setting of major-mode - (setq mode-popup-menu (and vm-use-menus vm-popup-menu-on-mouse-3 + (setq mode-popup-menu (and vm-use-menus (vm-menu-support-possible-p) (vm-menu-mode-menu))) (setq blurb (vm-emit-totals-blurb)) @@ -732,38 +651,35 @@ (message blurb))) ;; make a new frame if the user wants one. reuse an ;; existing frame that is showing this folder. - (vm-goto-new-folder-frame-maybe 'folder) - (if vm-raise-frame-at-startup - (vm-raise-frame)) - (vm-display nil nil (list this-command) (list this-command 'startup)) + (if (and vm-frame-per-folder (vm-multiple-frames-possible-p)) + (let ((w (or (vm-get-buffer-window (current-buffer)) + ;; summary == folder for the purpose + ;; of frame reuse. + (and vm-summary-buffer + (vm-get-buffer-window (current-buffer)))))) + (if (null w) + (vm-goto-new-frame 'folder) + (save-excursion + (select-window w) + (and vm-warp-mouse-to-new-frame + (vm-warp-mouse-to-frame-maybe (vm-window-frame w))))) + (vm-set-hooks-for-frame-deletion))) + (vm-display (current-buffer) t nil nil) (and (vm-toolbar-support-possible-p) vm-use-toolbar (vm-toolbar-install-toolbar)) (if first-time - (progn - (if (vm-should-generate-summary) - (progn (vm-summarize t nil) - (message blurb))) - ;; raise the summary frame if the user wants frames - ;; raised and if there is a summary frame. - (if (and vm-summary-buffer - vm-mutable-frames - vm-frame-per-summary - vm-raise-frame-at-startup) - (vm-raise-frame)) - ;; if vm-mutable-windows is nil, the startup - ;; configuration can't be applied, so do - ;; something to get a VM buffer on the screen - (if vm-mutable-windows - (vm-display nil nil (list this-command) - (list (or this-command 'vm) 'startup)) - (save-excursion - (switch-to-buffer (or vm-summary-buffer - vm-presentation-buffer - (current-buffer))))))) - + (if (vm-should-generate-summary) + (progn (vm-summarize t) + (message blurb)))) + (vm-display nil nil '(vm-visit-virtual-folder + vm-visit-virtual-folder-other-frame + vm-visit-virtual-folder-other-window + vm-create-virtual-folder + vm-apply-virtual-folder) + (list this-command 'startup)) ;; check interactive-p so as not to bog the user down if they ;; run this function from within another function. - (and (interactive-p) + (and (interactive-p) (not vm-inhibit-startup-message) (not vm-startup-message-displayed) (vm-display-startup-message) (message blurb)))) @@ -805,36 +721,30 @@ (vm-search-other-frames nil)) (vm-visit-virtual-folder folder-name read-only))) -(defun vm-mail (&optional to) - "Send a mail message from within VM, or from without. -Optional argument TO is a string that should contain a comma separated -recipient list." +(defun vm-mail () + "Send a mail message from within VM, or from without." (interactive) (vm-session-initialization) (vm-select-folder-buffer) (vm-check-for-killed-summary) - (vm-mail-internal nil to) + (vm-mail-internal) (run-hooks 'vm-mail-hook) (run-hooks 'vm-mail-mode-hook)) -(defun vm-mail-other-frame (&optional to) - "Like vm-mail, but run in a newly created frame. -Optional argument TO is a string that should contain a comma separated -recipient list." +(defun vm-mail-other-frame () + "Like vm-mail, but run in a newly created frame." (interactive) (vm-session-initialization) (if (vm-multiple-frames-possible-p) (vm-goto-new-frame 'composition)) (let ((vm-frame-per-composition nil) (vm-search-other-frames nil)) - (vm-mail to)) + (vm-mail)) (if (vm-multiple-frames-possible-p) (vm-set-hooks-for-frame-deletion))) -(defun vm-mail-other-window (&optional to) - "Like vm-mail, but run in a different window. -Optional argument TO is a string that should contain a comma separated -recipient list." +(defun vm-mail-other-window () + "Like vm-mail, but run in a different window." (interactive) (vm-session-initialization) (if (one-window-p t) @@ -842,7 +752,7 @@ (other-window 1) (let ((vm-frame-per-composition nil) (vm-search-other-frames nil)) - (vm-mail to))) + (vm-mail))) (defun vm-submit-bug-report () "Submit a bug report, with pertinent information to the VM bug list." @@ -858,8 +768,6 @@ 'vm-arrived-message-hook 'vm-arrived-messages-hook 'vm-auto-center-summary - 'vm-auto-decode-mime-messages - 'vm-auto-displayed-mime-content-types ;; don't send this by default, might be personal stuff in here. ;; 'vm-auto-folder-alist 'vm-auto-folder-case-fold-search @@ -872,7 +780,6 @@ 'vm-confirm-quit 'vm-convert-folder-types 'vm-crash-box - 'vm-crash-box-suffix 'vm-default-folder-type 'vm-delete-after-archiving 'vm-delete-after-bursting @@ -884,7 +791,6 @@ 'vm-digest-preamble-format 'vm-digest-send-type 'vm-display-buffer-hook - 'vm-display-using-mime 'vm-edit-message-hook 'vm-edit-message-mode 'vm-flush-interval @@ -896,21 +802,17 @@ 'vm-forwarding-digest-type 'vm-forwarding-subject-format 'vm-frame-parameter-alist - 'vm-frame-per-completion 'vm-frame-per-composition - 'vm-frame-per-edit 'vm-frame-per-folder - 'vm-frame-per-help - 'vm-frame-per-summary 'vm-highlight-url-face 'vm-highlighted-header-regexp 'vm-honor-page-delimiters - 'vm-image-directory 'vm-in-reply-to-format 'vm-included-text-attribution-format 'vm-included-text-discard-header-regexp 'vm-included-text-headers 'vm-included-text-prefix + 'vm-inhibit-startup-message 'vm-init-file 'vm-invisible-header-regexp 'vm-jump-to-new-messages @@ -919,34 +821,10 @@ 'vm-keep-sent-messages 'vm-mail-header-from 'vm-mail-hook - 'vm-make-crash-box-name - 'vm-make-spool-file-name - 'vm-mail-check-interval 'vm-mail-mode-hook - 'vm-mime-8bit-composition-charset - 'vm-mime-8bit-text-transfer-encoding - 'vm-mime-alternative-select-method - 'vm-mime-attachment-auto-type-alist - 'vm-mime-attachment-save-directory - 'vm-mime-avoid-folding-content-type - 'vm-mime-base64-decoder-program - 'vm-mime-base64-decoder-switches - 'vm-mime-base64-encoder-program - 'vm-mime-base64-encoder-switches - 'vm-mime-button-face - 'vm-mime-charset-font-alist - 'vm-mime-default-face-charsets - 'vm-mime-digest-discard-header-regexp - 'vm-mime-digest-headers - 'vm-mime-display-function - 'vm-mime-external-content-types-alist - 'vm-mime-ignore-mime-version - 'vm-mime-internal-content-types - 'vm-mime-max-message-size 'vm-mode-hook 'vm-mode-hooks 'vm-mosaic-program - 'vm-mosaic-program-switches 'vm-move-after-deleting 'vm-move-after-undeleting 'vm-move-messages-physically @@ -954,21 +832,15 @@ 'vm-mutable-frames 'vm-mutable-windows 'vm-netscape-program - 'vm-netscape-program-switches - 'vm-pop-bytes-per-session - 'vm-pop-max-message-size - 'vm-pop-messages-per-session + 'vm-options-file 'vm-pop-md5-program - 'vm-popup-menu-on-mouse-3 - 'vm-preferences-file 'vm-preview-lines 'vm-preview-read-messages 'vm-primary-inbox 'vm-quit-hook 'vm-recognize-pop-maildrops 'vm-reply-hook -;; don't feed the spammers or crackers -;; 'vm-reply-ignored-addresses + 'vm-reply-ignored-addresses 'vm-reply-ignored-reply-tos 'vm-reply-subject-prefix 'vm-resend-bounced-discard-header-regexp @@ -987,12 +859,10 @@ 'vm-select-new-message-hook 'vm-select-unread-message-hook 'vm-send-digest-hook - 'vm-send-using-mime 'vm-skip-deleted-messages 'vm-skip-read-messages ;; don't send vm-spool-files by default, might contain passwords ;; 'vm-spool-files - 'vm-spool-file-suffixes 'vm-startup-with-summary 'vm-strip-reply-headers 'vm-summary-format @@ -1001,19 +871,17 @@ 'vm-summary-mode-hooks 'vm-summary-redo-hook 'vm-summary-show-threads + 'vm-summary-subject-no-newlines 'vm-summary-thread-indent-level 'vm-summary-uninteresting-senders 'vm-summary-uninteresting-senders-arrow 'vm-tale-is-an-idiot - 'vm-toolbar-pixmap-directory - 'vm-temp-file-directory 'vm-trust-From_-with-Content-Length 'vm-undisplay-buffer-hook 'vm-unforwarded-header-regexp 'vm-url-browser 'vm-url-search-limit 'vm-use-menus - 'vm-use-toolbar 'vm-virtual-folder-alist 'vm-virtual-mirror 'vm-visible-headers @@ -1026,7 +894,7 @@ ) nil nil - "Please change the Subject header to a concise bug description.\nRemember to cover the basics, that is, what you expected to\nhappen and what in fact did happen. Please remove these\ninstructions from your message.") + "Please change the Subject header to a concise bug description.\nRemember to cover the basics, that is, what you expected to\nhappen and what in fact did happen. Please remove these instructions from your message.") (save-excursion (goto-char (point-min)) (mail-position-on-field "Subject") @@ -1041,36 +909,7 @@ (setq vm-init-file-loaded t) (vm-display nil nil '(vm-load-init-file) '(vm-load-init-file))) -(defun vm-check-emacs-version () - (cond ((and vm-xemacs-p - (or (< emacs-major-version 19) - (and (= emacs-major-version 19) - (< emacs-minor-version 14)))) - (error "VM %s must be run on XEmacs 19.14 or a later version." - vm-version)) - ((and vm-fsfemacs-19-p - (or (< emacs-major-version 19) - (and (= emacs-major-version 19) - (< emacs-minor-version 34)))) - (error "VM %s must be run on Emacs 19.34 or a later version." - vm-version)))) - -(defun vm-set-debug-flags () - (or stack-trace-on-error - debug-on-error - (setq stack-trace-on-error - '( - wrong-type-argument - wrong-number-of-arguments - args-out-of-range - void-function - void-variable - )))) - (defun vm-session-initialization () - (vm-note-emacs-version) - (vm-check-emacs-version) -;; (vm-set-debug-flags) ;; If this is the first time VM has been run in this Emacs session, ;; do some necessary preparations. (if (or (not (boundp 'vm-session-beginning)) @@ -1083,10 +922,6 @@ (or (vm-load-window-configurations vm-window-configuration-file) (setq vm-window-configurations vm-default-window-configuration))) (setq vm-buffers-needing-display-update (make-vector 29 0)) - ;; default value of vm-mime-button-face is 'gui-button-face - ;; this face doesn't exist by default in FSF Emacs 19.34. - ;; Create it. - (and (fboundp 'make-face) (make-face 'gui-button-face)) (and (vm-mouse-support-possible-p) (vm-mouse-install-mouse)) (and (vm-menu-support-possible-p)