[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[mgp-users-jp 01365] Re: mgp-mode.el (emacs-20)



竹の 01/08 2004
---------------

| がないと言われます。これを、emacs 20.3 のマニュアルにもある
| 
|   set-buffer-file-coding-system
| 
| に変えるとちゃんと動きました。
| 
| また、mgp-mode.el は emacs-19 では hilit19 を使ってキーワードの色
| 付けを行なっているようですが、残念ながら emacs-20 用の色づけのコ
| ードは入っていないようですね。そういうのはないのでしょうか。

これらに関して、emacs-20 で font-lock を使う簡単なパッチを作って
みました。

ただ、何が悪いのかよく分からないの問題が一つあって、emacs-20 では
最初に mgp ファイルをバッファに読み込んだ時点で、何故か buffer が
変更された、ということになってしまうようです。このパッチを使わな
いとその問題は起こりませんから、このパッチに問題があるようです。
それでもよければお使いください。

ちなみにうちでは

  (global-font-lock-mode t)

で使用しています (やや派手目)。emacs-19 の hilit19 部分も少し手を
入れています (^%% もコメントとみなす)。

# '^%%' もコメントでいいんですよね ?

----- ここから (mgp-mode.el への差分) -----
*** magicpoint-1.09a/contrib/mgp-mode.el.ORG	Mon Oct 28 18:19:56 2002
--- magicpoint-1.09a/contrib/mgp-mode.el	Thu Jan  8 15:34:23 2004
***************
*** 46,52 ****
  ;;     ((= emacs-major-version 20)     ;; Emacs 20
  ;;      (setq mgp-mode-hook
  ;;    	(function (lambda ()
! ;;    		    (set-file-coding-system-for-read 'iso-2022-jp-unix))))))
  
  
  
--- 46,52 ----
  ;;     ((= emacs-major-version 20)     ;; Emacs 20
  ;;      (setq mgp-mode-hook
  ;;    	(function (lambda ()
! ;;    		    (set-buffer-file-coding-system 'iso-2022-jp-unix))))))
  
  
  
***************
*** 152,161 ****
  	       '(
  		 ("^%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*" nil Yellow)
  		 ("^#.*" nil comment)
  		 ("\"" "[^\\]\"" string)
  		 ("\\<\\(size\\|fore\\|back\\|bgrad\\|ccolor\\|left\\|leftfill\\|center\\|right\\|shrink\\|lcutin\\|rcutin\\|cont\\|nodefault\\|xfont\\|vfont\\|tfont\\|tfont0\\|bar\\|image\\|prefix\\|icon\\|bimage\\|default\\|tab\\|tabprefix\\|page\\|vgap\\|hgap\\|pause\\|mark\\|again\\|system\\|xsystem\\|filter\\|endfilter\\|vfcap\\|tfdir\\|deffont\\|font\\|embed\\|endembed\\|noop\\|linestart\\|lineend\\|quality\\)\\>" nil keyword)
  		 ("^%.*" nil defun)
! 		 ))))))
  
  
  ;; History
--- 152,194 ----
  	       '(
  		 ("^%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*" nil Yellow)
  		 ("^#.*" nil comment)
+ 		 ("^%%.*" nil comment)
  		 ("\"" "[^\\]\"" string)
  		 ("\\<\\(size\\|fore\\|back\\|bgrad\\|ccolor\\|left\\|leftfill\\|center\\|right\\|shrink\\|lcutin\\|rcutin\\|cont\\|nodefault\\|xfont\\|vfont\\|tfont\\|tfont0\\|bar\\|image\\|prefix\\|icon\\|bimage\\|default\\|tab\\|tabprefix\\|page\\|vgap\\|hgap\\|pause\\|mark\\|again\\|system\\|xsystem\\|filter\\|endfilter\\|vfcap\\|tfdir\\|deffont\\|font\\|embed\\|endembed\\|noop\\|linestart\\|lineend\\|quality\\)\\>" nil keyword)
  		 ("^%.*" nil defun)
! 		 )))))
!       ((= emacs-major-version 20)
!        (progn
! 	 (defconst mgp-font-lock-strings-1
! 	   (concat "\\<\\("
! 		   "size\\|fore\\|back\\|bgrad\\|ccolor\\|"
! 		   "left\\|leftfill\\|center\\|right\\|"
! 		   "shrink\\|lcutin\\|rcutin\\|cont\\|nodefault\\|"
! 		   "xfont\\|vfont\\|tfont\\|tfont0\\|"
! 		   "bar\\|image\\|prefix\\|icon\\|bimage\\|default\\|"
! 		   "tab\\|tabprefix\\|page\\|vgap\\|hgap\\|"
! 		   "pause\\|mark\\|again\\|system\\|xsystem\\|"
! 		   "filter\\|endfilter\\|vfcap\\|tfdir\\|"
! 		   "deffont\\|font\\|embed\\|endembed\\|noop\\|"
! 		   "linestart\\|lineend\\|quality\\|include"
! 		   "\\)\\>"
! 		   ))
! 	 (defvar mgp-font-lock-keywords
! 	   (list
! 	    (cons mgp-page-separator '(. font-lock-variable-name-face))
! 	    (cons "^\\(#\\|%%\\).*" '(. font-lock-comment-face))
! 	    (cons "\".*\"" '(. font-lock-string-face))
! 	    (cons "^%" '(. font-lock-function-name-face))
! 	    (cons "^\t[^\t].*" '(. font-lock-constant-face))
! 	    (cons "^\t\t.*" '(. font-lock-type-face))
! 	    (cons mgp-font-lock-strings-1 '(. font-lock-keyword-face))
! 	    )
! 	   "Default expressions to highlight in mgp mode")
! 	 (add-hook 'mgp-mode-hook 
! 		   (function (lambda ()
! 			       (make-local-variable 'font-lock-defaults)
! 			       (setq font-lock-defaults 
! 				     '(mgp-font-lock-keywords t))))))))
  
  
  ;; History
----- ここまで (mgp-mode.el への差分) -----

+=================================================+
 竹野茂治   〒945-1195 新潟工科大学 情報電子工学科 
 shige@iee.niit.ac.jp      TEL(&FAX): 0257-22-8161 
+=================================================+