[Mew-dist 11603] a patch for b7

Kazu Yamamoto ( 山本和彦 ) kazu at example.com
1999年 12月 2日 (木) 13:05:08 JST


あんまりハックできていないので、とりあえずパッチで流します。以下のパッ
チを1.95b7 に当てて下さい。sdic 問題が解決するのではないかと期待してい
ます。

--かず
-------------- next part --------------
? LOG
? LOGLESS
Index: 00changes
===================================================================
RCS file: /usr/home/kazu/cvsroot/Mew/mew/00changes,v
retrieving revision 1.485
retrieving revision 1.487
diff -c -r1.485 -r1.487
*** 00changes	1999/11/29 05:39:51	1.485
--- 00changes	1999/11/30 08:32:59	1.487
***************
*** 17,22 ****
--- 17,28 ----
  	- Customize
  	- Guess feature for Draft mode.
  
+ 1.95b8
+ 
+ * More friendly message for "I" and "C".
+ 	Shuichi KITAGUCHI <kit at example.com>
+ * A bug fix of window configurations for C-cC-c and C-cC-m.
+ 
  1.95b7 (99/11/29) mew-dist release
  
  * A bug fix for duplicate privacy marks.
Index: mew-attach.el
===================================================================
RCS file: /usr/home/kazu/cvsroot/Mew/mew/mew-attach.el,v
retrieving revision 1.78
retrieving revision 1.80
diff -c -r1.78 -r1.80
*** mew-attach.el	1999/11/29 05:24:31	1.78
--- mew-attach.el	1999/12/02 03:54:03	1.80
***************
*** 371,381 ****
        (while (or (null frompath)
  		 (file-directory-p (file-chase-links frompath)))
  	(setq frompath (mew-draft-input-file-name
! 			(concat (capitalize action) " from : ") default)))
        (while (or (null efile)
  		 (file-exists-p (expand-file-name efile attachdir)))
  	(setq tofile (mew-input-string 
! 		      (concat (capitalize action) " to %s(%s): ")
  		      subdir
  		      (file-name-nondirectory frompath)))
  	(setq efile (concat subdir tofile)))
--- 371,381 ----
        (while (or (null frompath)
  		 (file-directory-p (file-chase-links frompath)))
  	(setq frompath (mew-draft-input-file-name
! 			(concat (mew-capitalize action) " from : ") default)))
        (while (or (null efile)
  		 (file-exists-p (expand-file-name efile attachdir)))
  	(setq tofile (mew-input-string 
! 		      (concat (mew-capitalize action) " to %s(%s): ")
  		      subdir
  		      (file-name-nondirectory frompath)))
  	(setq efile (concat subdir tofile)))
***************
*** 559,565 ****
  	    (message "Can't specify character set to %s" ct)
  	  (if (null char) (setq char "guess"))
  	  (setq charset (mew-input-type
! 			 "Charset for %s (%s): "
  			 file char
  			 (cons "guess" mew-charset-list)))
  	  (setq params (mew-delete param params))
--- 559,567 ----
  	    (message "Can't specify character set to %s" ct)
  	  (if (null char) (setq char "guess"))
  	  (setq charset (mew-input-type
! 			 (if (equal param "charset")
! 			     "Output message charset for %s (%s): "
! 			   "Input file charset for %s (%s): ")
  			 file char
  			 (cons "guess" mew-charset-list)))
  	  (setq params (mew-delete param params))
Index: mew-complete.el
===================================================================
RCS file: /usr/home/kazu/cvsroot/Mew/mew/mew-complete.el,v
retrieving revision 1.43
retrieving revision 1.44
diff -c -r1.43 -r1.44
*** mew-complete.el	1999/11/16 04:53:40	1.43
--- mew-complete.el	1999/12/02 03:54:04	1.44
***************
*** 116,122 ****
  	(mew-complete-window-show mew-fields)
        (mew-complete
         word
!        (mapcar (function (lambda (x) (list (concat (capitalize x) " "))))
  	       mew-fields)
         "field"
         nil))))
--- 116,122 ----
  	(mew-complete-window-show mew-fields)
        (mew-complete
         word
!        (mapcar (function (lambda (x) (list (concat (mew-capitalize x) " "))))
  	       mew-fields)
         "field"
         nil))))
***************
*** 435,441 ****
    (let ((pos (point)))
      (beginning-of-line)
      (prog1
! 	(capitalize (mew-buffer-substring (point) pos))
        (delete-region (point) pos))))
  
  (defun mew-delete-value (&optional here)
--- 435,441 ----
    (let ((pos (point)))
      (beginning-of-line)
      (prog1
! 	(mew-capitalize (mew-buffer-substring (point) pos))
        (delete-region (point) pos))))
  
  (defun mew-delete-value (&optional here)
Index: mew-decode.el
===================================================================
RCS file: /usr/home/kazu/cvsroot/Mew/mew/mew-decode.el,v
retrieving revision 1.108
retrieving revision 1.109
diff -c -r1.108 -r1.109
*** mew-decode.el	1999/11/22 07:43:43	1.108
--- mew-decode.el	1999/12/02 03:54:04	1.109
***************
*** 165,171 ****
       (while (not (eobp))
         (if (not (looking-at mew-keyval))
  	   (forward-line)
! 	 (setq key (capitalize (mew-match 1)))
  	 (setq beg (match-beginning 0))
  	 (setq med (match-end 0))
  	 (forward-line)
--- 165,171 ----
       (while (not (eobp))
         (if (not (looking-at mew-keyval))
  	   (forward-line)
! 	 (setq key (mew-capitalize (mew-match 1)))
  	 (setq beg (match-beginning 0))
  	 (setq med (match-end 0))
  	 (forward-line)
***************
*** 251,257 ****
       (while (not (eobp))
         (if (not (looking-at mew-keyval))
  	   (forward-line)
! 	 (setq key (capitalize (mew-match 1)))
  	 (setq med (match-end 0))
  	 (forward-line)
  	 (mew-header-goto-next)
--- 251,257 ----
       (while (not (eobp))
         (if (not (looking-at mew-keyval))
  	   (forward-line)
! 	 (setq key (mew-capitalize (mew-match 1)))
  	 (setq med (match-end 0))
  	 (forward-line)
  	 (mew-header-goto-next)
***************
*** 530,536 ****
  	;; Mew allows text/plain and multipart/* for body.
  	;; If other CT: is embedded under message, it should be
  	;; encapsulated in multipart/mixed.
! 	(let ((head mew-encode-syntax-multi-head))
  	  ;; begin for multipart syntax is important because
  	  ;; the begin will be used by the parent to set hend
  	  (mew-syntax-set-begin head (mew-syntax-get-begin syntax))
--- 530,536 ----
  	;; Mew allows text/plain and multipart/* for body.
  	;; If other CT: is embedded under message, it should be
  	;; encapsulated in multipart/mixed.
! 	(let ((head (mew-encode-syntax-multi-head)))
  	  ;; begin for multipart syntax is important because
  	  ;; the begin will be used by the parent to set hend
  	  (mew-syntax-set-begin head (mew-syntax-get-begin syntax))
Index: mew-draft.el
===================================================================
RCS file: /usr/home/kazu/cvsroot/Mew/mew/mew-draft.el,v
retrieving revision 1.162
retrieving revision 1.163
diff -c -r1.162 -r1.163
*** mew-draft.el	1999/11/29 05:24:31	1.162
--- mew-draft.el	1999/11/29 11:26:10	1.163
***************
*** 993,1000 ****
    (draft-mode-name))
  
  ;;;
  ;;;
! ;;;
  
  (defun mew-draft-make-message (&optional privacy)
    (interactive)
--- 993,1006 ----
    (draft-mode-name))
  
  ;;;
+ ;;; Sending and Queuing
  ;;;
! 
! (defmacro mew-draft-getback-window-config ()
!   (if (mew-current-get 'window)
!       (progn
! 	(set-window-configuration (mew-current-get 'window))
! 	(mew-current-set 'window nil))))
  
  (defun mew-draft-make-message (&optional privacy)
    (interactive)
***************
*** 1004,1009 ****
--- 1010,1016 ----
      (if (mew-encode privacy)
  	(progn
  	  (mew-encode-send-message fld msg 'justqueuing)
+ 	  (mew-draft-getback-window-config)
  	  (message "This message has been queued in %s." mew-queue-folder)))))
  
  (defun mew-draft-send-message ()
***************
*** 1016,1025 ****
--- 1023,1069 ----
  	(if (mew-encode)
  	    (progn
  	      (mew-encode-send-message fld msg)
+ 	      (mew-draft-getback-window-config)
  	      (message "Sending in background ... "))))))
  
  ;; backward-compatibility
  (fset 'mew-draft-send-letter (symbol-function 'mew-draft-send-message))
+ 
+ ;;;
+ ;;; Header mode
+ ;;;
+ 
+ (defun mew-header-mode ()
+   (interactive)
+   (auto-save-mode mew-draft-mode-auto-save)
+   (make-local-variable 'paragraph-start)
+   (setq paragraph-start (concat "^[ \t]*[-_][-_][-_]+$\\|" paragraph-start))
+   (make-local-variable 'paragraph-separate)
+   (setq paragraph-separate
+         (concat "^[ \t]*[-_][-_][-_]+$\\|" paragraph-separate))
+   (make-local-variable 'mail-header-separator)
+   (setq mail-header-separator mew-header-separator)
+   (setq major-mode 'mew-draft-mode)
+   (use-local-map mew-draft-mode-map)
+   (cd (expand-file-name mew-home))
+   (setq mode-name "Header")
+   (force-mode-line-update))
+ 
+ (defun mew-summary-send-to-others ()
+   (let* ((draft (mew-folder-new-message mew-draft-folder))
+          (attachdir (mew-attachdir draft)))
+     (mew-summary-msg-or-part
+      (mew-summary-display 'force)
+      (mew-summary-prepare-draft
+       (mew-draft-find-and-switch draft)
+       (mew-delete-directory-recursively attachdir)
+       (debug)
+       (mew-draft-header-insert mew-to: "")
+       (mew-draft-header-insert mew-cc: "")
+       (mew-header-prepared)
+       (goto-char (point-min))
+       (forward-char 4) ;; Don't use (end-of-line) since the value may exist.
+       (mew-header-mode)))))
  
  (provide 'mew-draft)
  
Index: mew-encode.el
===================================================================
RCS file: /usr/home/kazu/cvsroot/Mew/mew/mew-encode.el,v
retrieving revision 1.128
retrieving revision 1.129
diff -c -r1.128 -r1.129
*** mew-encode.el	1999/11/29 05:24:31	1.128
--- mew-encode.el	1999/12/02 03:54:04	1.129
***************
*** 516,522 ****
      (let (proto ct)
        (while privacy
  	(goto-char (point-min)) 
! 	(setq ct (capitalize (nth 0 (car privacy))))
  	(setq proto (nth 1 (car privacy)))
  	(setq privacy (cdr privacy))
  	(cond 
--- 516,522 ----
      (let (proto ct)
        (while privacy
  	(goto-char (point-min)) 
! 	(setq ct (mew-capitalize (nth 0 (car privacy))))
  	(setq proto (nth 1 (car privacy)))
  	(setq privacy (cdr privacy))
  	(cond 
Index: mew-func.el
===================================================================
RCS file: /usr/home/kazu/cvsroot/Mew/mew/mew-func.el,v
retrieving revision 1.99
retrieving revision 1.101
diff -c -r1.99 -r1.101
*** mew-func.el	1999/11/27 02:07:47	1.99
--- mew-func.el	1999/12/02 04:00:44	1.101
***************
*** 293,298 ****
--- 293,318 ----
  	(substring str 0 last))
      (substring str 0 width)))
  
+ (defun mew-capitalize (ostr)
+   "Syntax table independent version of capitailze.
+ Words are separated by '/' and '-'."
+   (let* ((len (length ostr))
+ 	 (nstr (make-string len ?a))
+ 	 (i 0) (topp t) c)
+     (while (< i len)
+       (setq c (aref ostr i))
+       (cond
+        (topp
+ 	(aset nstr i (upcase c))
+ 	(setq topp nil))
+        ((or (char-equal c ?/) (char-equal c ?-))
+ 	(aset nstr i c)
+ 	(setq topp t))
+        (t
+ 	(aset nstr i (downcase c))))
+       (setq i (1+ i)))
+     nstr))
+ 
  ;;
  ;; Insertion
  ;;
Index: mew-mark.el
===================================================================
RCS file: /usr/home/kazu/cvsroot/Mew/mew/mew-mark.el,v
retrieving revision 1.107
retrieving revision 1.108
diff -c -r1.107 -r1.108
*** mew-mark.el	1999/11/28 23:54:06	1.107
--- mew-mark.el	1999/12/02 03:54:04	1.108
***************
*** 264,270 ****
  	  ((mew-markdb-statefullp oldmark)
  	   (if (or no-msg
  		   (y-or-n-p (format "Already marked as '%s'. %s it? "
! 				     oldname (capitalize newname))))
  	       (progn
  		 (setq case 4)
  		 (mew-summary-undo-one no-msg)
--- 264,270 ----
  	  ((mew-markdb-statefullp oldmark)
  	   (if (or no-msg
  		   (y-or-n-p (format "Already marked as '%s'. %s it? "
! 				     oldname (mew-capitalize newname))))
  	       (progn
  		 (setq case 4)
  		 (mew-summary-undo-one no-msg)
Index: mew-mime.el
===================================================================
RCS file: /usr/home/kazu/cvsroot/Mew/mew/mew-mime.el,v
retrieving revision 1.76
retrieving revision 1.77
diff -c -r1.76 -r1.77
*** mew-mime.el	1999/11/22 07:43:44	1.76
--- mew-mime.el	1999/12/02 03:54:04	1.77
***************
*** 21,27 ****
    (` (mew-assoc-match2 (, ct) mew-mime-content-type 1)))
  
  (defmacro mew-ctdb-ct (attr)
!   (` (capitalize (nth 0 (, attr)))))
  
  (defmacro mew-ctdb-regex (attr)
    (` (nth 1 (, attr))))
--- 21,27 ----
    (` (mew-assoc-match2 (, ct) mew-mime-content-type 1)))
  
  (defmacro mew-ctdb-ct (attr)
!   (` (mew-capitalize (nth 0 (, attr)))))
  
  (defmacro mew-ctdb-regex (attr)
    (` (nth 1 (, attr))))
Index: mew-syntax.el
===================================================================
RCS file: /usr/home/kazu/cvsroot/Mew/mew/mew-syntax.el,v
retrieving revision 1.104
retrieving revision 1.105
diff -c -r1.104 -r1.105
*** mew-syntax.el	1999/11/15 04:04:08	1.104
--- mew-syntax.el	1999/12/02 03:54:04	1.105
***************
*** 121,129 ****
  
  ;; for content parameters
  
! (defun mew-syntax-get-value (ctl &optional capitalize)
!   (if capitalize
!       (capitalize (car ctl))
      (car ctl)))
  
  (defmacro mew-syntax-get-params (ctl)
--- 121,129 ----
  
  ;; for content parameters
  
! (defun mew-syntax-get-value (ctl &optional capitalizep)
!   (if capitalizep
!       (mew-capitalize (car ctl))
      (car ctl)))
  
  (defmacro mew-syntax-get-params (ctl)
***************
*** 386,391 ****
--- 386,393 ----
  ;; mew-decode-syntax
  ;;
  
+ ;; MUST generate a new vector
+ 
  (defun mew-decode-syntax-rfc822 (&optional msg-head)
    ;; msg-head may include CD:
    (if (null msg-head) (setq msg-head (mew-decode-syntax-rfc822-head t)))
***************
*** 400,406 ****
  (defun mew-decode-syntax-text ()
    (vector 'single (point) (point-max) nil mew-type-txt nil nil nil nil))
  
! (defconst mew-encode-syntax-multi-head 
    (vector 'multi nil nil nil mew-type-mlm nil nil nil nil))
  
  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
--- 402,408 ----
  (defun mew-decode-syntax-text ()
    (vector 'single (point) (point-max) nil mew-type-txt nil nil nil nil))
  
! (defun mew-encode-syntax-multi-head () 
    (vector 'multi nil nil nil mew-type-mlm nil nil nil nil))
  
  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Index: mew-vars.el
===================================================================
RCS file: /usr/home/kazu/cvsroot/Mew/mew/mew-vars.el,v
retrieving revision 1.211
retrieving revision 1.212
diff -c -r1.211 -r1.212
*** mew-vars.el	1999/11/29 05:24:31	1.211
--- mew-vars.el	1999/12/02 03:54:04	1.212
***************
*** 132,141 ****
    "(field enc dec)")
  
  (defmacro mew-field-type-for-encoding (key)
!   (` (or (nth 1 (assoc (capitalize (, key)) mew-field-database)) 'unstruct)))
  
  (defmacro mew-field-type-for-decoding (key)
!   (` (or (nth 2 (assoc (capitalize (, key)) mew-field-database)) 'text)))
  
  (defconst mew-syntax-magic
    (+ (length [key beg end pri]) (length mew-mime-fields)))
--- 132,141 ----
    "(field enc dec)")
  
  (defmacro mew-field-type-for-encoding (key)
!   (` (or (nth 1 (assoc (mew-capitalize (, key)) mew-field-database)) 'unstruct)))
  
  (defmacro mew-field-type-for-decoding (key)
!   (` (or (nth 2 (assoc (mew-capitalize (, key)) mew-field-database)) 'text)))
  
  (defconst mew-syntax-magic
    (+ (length [key beg end pri]) (length mew-mime-fields)))


Mew-dist メーリングリストの案内