[Mew-dist 69] Mew-1.52 がコンパイルできない

Tatsuya BIZENN bizenn at example.com
1996年 11月 21日 (木) 03:34:32 JST


    備前@べっこあめと申します。Mew には大変お世話になっております。

    Mew-1.52 がリリースされたということで、さっそく取ってきたのですが、
make しようとすると、

Vishnu(bizenn):~/src/mew-1.52$ make
emacs -batch -l ./lp.el -l ./mew.el -f batch-byte-compile mew-attach.el
Symbol's function definition is void: mew-delq
make: *** [mew-attach.elc] Error 255

という具合になってコンパイルできません。ちょっと mew.el を見てみると、
156行目で、

  (if (rassq 'mh-letter-mode auto-mode-alist)
      (setq auto-mode-alist
	    (mew-delq (rassq 'mh-letter-mode auto-mode-alist) ; <== ここ
		      auto-mode-alist)))

ずっと後ろで定義されている mew-delq を実行しているのが原因のようです。

    で、とりあえず この実行文の前(138行目)に mew-delq の定義を移動した
ら、問題なくコンパイルできるようになりました。patch にするようなもので
もないでしょうが、一応つけておきますので、いけないことをしておりました
ら指摘してください。

-------------- next part --------------
*** mew.el.orig	Thu Nov 21 03:31:00 1996
--- mew.el	Thu Nov 21 03:19:04 1996
***************
*** 121,127 ****
    "*If non-nil, ask for a range for scanning. If false, always
  use default.")
  
! 
  
  (defvar mew-emacs-y-or-n-p-use nil
    "*SPC is y and RET is n if t. SPC is n and RET is y, otherwise.")
--- 121,136 ----
    "*If non-nil, ask for a range for scanning. If false, always
  use default.")
  
! (defun mew-delq (key list)
!   (let* ((pointer (cons nil list))
! 	 (top pointer))
!     (while (cdr pointer)
!       (if (equal key (car (cdr pointer))) 
! 	  (progn
! 	    (setcdr pointer (cdr (cdr pointer)))
! 	    (setq pointer (cons nil nil)))
! 	(setq pointer (cdr pointer))))
!     (cdr top)))
  
  (defvar mew-emacs-y-or-n-p-use nil
    "*SPC is y and RET is n if t. SPC is n and RET is y, otherwise.")
***************
*** 805,821 ****
  	(setq n (1+ n))
  	))
      ))
- 
- (defun mew-delq (key list)
-   (let* ((pointer (cons nil list))
- 	 (top pointer))
-     (while (cdr pointer)
-       (if (equal key (car (cdr pointer))) 
- 	  (progn
- 	    (setcdr pointer (cdr (cdr pointer)))
- 	    (setq pointer (cons nil nil)))
- 	(setq pointer (cdr pointer))))
-     (cdr top)))
  
  (defun mew-folder-to-dir (folder)
    (if (equal (aref folder 0) ?+)
--- 814,819 ----


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