*** dist/vm-misc.el.dist Sun Nov 5 22:40:19 2000 --- vm-misc.el Mon Nov 6 12:20:45 2000 *************** *** 761,771 **** (defun vm-fsfemacs-nonmule-display-8bit-chars () ! (cond ((and vm-fsfemacs-p (not vm-fsfemacs-mule-p)) ! ;; need to do this outside the let because ! ;; loading disp-table initializes ! ;; standard-display-table. ! (require 'disp-table) ! (let* ((standard-display-table ! (copy-sequence standard-display-table))) ! (standard-display-european t) ! (setq buffer-display-table standard-display-table))))) --- 761,780 ---- + (defvar enable-multibyte-characters) (defun vm-fsfemacs-nonmule-display-8bit-chars () ! (cond ((and vm-fsfemacs-p ! (or (not vm-fsfemacs-mule-p) ! (and (boundp 'enable-multibyte-characters) ! (not enable-multibyte-characters)))) ! (let* (tab (i 160)) ! ;; We need the function make-display-table, but it is ! ;; in disp-table.el, which overwrites the value of ! ;; standard-display-table when it is loaded, which ! ;; sucks. So here we cruftily copy just enough goop ! ;; out of disp-table.el so that a display table can be ! ;; created, and thereby avoid loading disp-table. ! (put 'display-table 'char-table-extra-slots 6) ! (setq tab (make-char-table 'display-table nil)) ! (while (< i 256) ! (aset tab i (vector i)) ! (setq i (1+ i))) ! (setq buffer-display-table tab))))) *** dist/vm-page.el.dist Sun Nov 5 02:08:13 2000 --- vm-page.el Mon Nov 6 11:33:25 2000 *************** *** 65,67 **** (setq old-w-start (window-start w)) ! ;; save-excurison to avoid possible buffer change (save-excursion (vm-select-frame (window-frame w))) --- 65,67 ---- (setq old-w-start (window-start w)) ! ;; save-excursion to avoid possible buffer change (save-excursion (vm-select-frame (window-frame w))) *************** *** 72,75 **** (and w (set-window-start w old-w-start)))) ! (if (eq vm-system-state 'previewing) ! (vm-show-current-message)) (vm-howl-if-eom)) --- 72,84 ---- (and w (set-window-start w old-w-start)))) ! (cond ((eq vm-system-state 'previewing) ! (vm-show-current-message) ! ;; The window start marker sometimes drifts forward ! ;; because of something that vm-show-current-message ! ;; does. In Emacs 20, replacing ASCII chars with ! ;; multibyte chars seems to cause it, but I _think_ ! ;; the drift can happen in Emacs 19 and even ! ;; XEmacs for different reasons. So we reset the ! ;; start marker here, since it is an easy fix. ! (let ((w (vm-get-visible-buffer-window (current-buffer)))) ! (set-window-start w (point-min))))) (vm-howl-if-eom)) *** dist/vm-startup.el.dist Sun Nov 5 22:40:19 2000 --- vm-startup.el Mon Nov 6 19:13:03 2000 *************** *** 167,168 **** --- 167,179 ---- (auto-fill-mode 0) + ;; This needs to be here for two reasons: + ;; 1. The summary and folder buffers must agree on + ;; the width of 8-bit chars (4 vs. 1) because + ;; string-width is used in the summary formatting + ;; routines at a time when the folder buffer is + ;; the current buffer. + ;; 2. If an 8-bit message arrives undeclared the 8-bit + ;; characters in it should be displayed using the + ;; user's default face charset, rather than as + ;; octal escapes. + (vm-fsfemacs-nonmule-display-8bit-chars) (vm-mode-internal) *************** *** 327,329 **** ! This is VM 6.79. --- 338,340 ---- ! This is VM 6.80. *** dist/vm-version.el.dist Sun Nov 5 22:40:19 2000 --- vm-version.el Mon Nov 6 19:13:03 2000 *************** *** 4,6 **** ! (defconst vm-version "6.79" "Version number of VM.") --- 4,6 ---- ! (defconst vm-version "6.80" "Version number of VM.")