1 ;;; skk-obsolete.el --- obsolte check for SKK environment.
2 ;; Copyright (C) 1998, 1999 Mikio Nakajima <minakaji@osaka.email.ne.jp>
4 ;; Author: Mikio Nakajima <minakaji@osaka.email.ne.jp>
5 ;; Maintainer: Mikio Nakajima <minakaji@osaka.email.ne.jp>
6 ;; Version: $Id: skk-obsolete.el,v 1.1 2000-07-10 04:34:01 yoshiki Exp $
8 ;; Last Modified: $Date: 2000-07-10 04:34:01 $
10 ;; This file is not part of SKK yet.
12 ;; SKK is free software; you can redistribute it and/or modify
13 ;; it under the terms of the GNU General Public License as published by
14 ;; the Free Software Foundation; either versions 2, or (at your option)
17 ;; SKK is distributed in the hope that it will be useful
18 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
19 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20 ;; GNU General Public License for more details.
22 ;; You should have received a copy of the GNU General Public License
23 ;; along with SKK, see the file COPYING. If not, write to the Free
24 ;; Software Foundation Inc., 59 Temple Place - Suite 330, Boston,
25 ;; MA 02111-1307, USA.
30 (eval-when-compile (require 'skk))
32 (defvar skk-obsolete-variable-alist
33 '((skk-ascii-mode . skk-latin-mode)
34 (skk-ascii-mode-map . skk-latin-mode-map)
35 (skk-ascii-mode-string . skk-latin-mode-string)
36 (skk-default-zenkaku-vector . skk-default-jisx0208-vector)
37 (skk-hirakana-cursor-color . skk-hiragana-cursor-color)
38 (skk-hirakana-mode-string . skk-hiragana-mode-string)
39 (skk-num-type-list . skk-num-type-alist)
40 (skk-numeric-conversion-float-num . skk-num-convert-float)
41 (skk-recompute-numerals-key . skk-num-recompute-key)
42 (skk-report-server-response . skk-server-report-response)
43 (skk-remote-shell-program . skk-server-remote-shell-program)
44 (skk-uniq-numerals . skk-num-uniq)
45 (skk-zenkaku-cursor-color . skk-jisx0208-latin-cursor-color)
46 (skk-zenkaku-mode . skk-jisx0208-latin-mode)
47 (skk-zenkaku-mode-map . skk-jisx0208-latin-mode-map)
48 (skk-zenkaku-mode-string . skk-jisx0208-latin-mode-string)
49 (skk-zenkaku-vector . skk-jisx0208-latin-vector) )
50 "obsolete
\e$BJQ?t$N%(!<%j%9%H!#
\e(B" )
52 (defvar skk-obsolete-function-alist
53 '((skk-adjust-numeric-henkan-data . skk-num-process-user-minibuf-input)
54 (skk-ascii-mode . skk-latin-mode)
55 (skk-ascii-mode-on . skk-latin-mode-on)
56 (skk-attr-time-difference . skk-time-difference)
57 (skk-compute-numeric-henkan-key . skk-num-compute-henkan-key)
58 (skk-date . skk-current-date)
59 (skk-flatten-list . skk-num-flatten-list)
60 (skk-init-numeric-conversion-variables . skk-num-initialize)
61 ;; hirakana -> hiragana
62 (skk-isearch-skk-hirakana-mode-p . skk-isearch-skk-hiragana-mode-p)
64 (skk-isearch-skk-jix0208-latin-mode-p . skk-isearch-skk-jisx0208-latin-mode-p)
65 ;; hirakana -> hiragana
66 (skk-isearch-skk-turn-on-hirakana-mode . skk-isearch-skk-turn-on-hiragana-mode)
67 (skk-jisx0208-latin-num-str . skk-num-jisx0208-latin)
68 (skk-kakutei-cleanup-henkan-buffer . skk-kakutei-cleanup-buffer)
69 (skk-kakutei-save-and-init-variables . skk-kakutei-initialize)
70 (skk-kanji-num-str . skk-num-type2-kanji)
71 (skk-kanji-num-str2 . skk-num-type3-kanji)
72 (skk-kanji-num-str2-subr . skk-num-type3-kanji-1)
73 (skk-kanji-num-str3 . skk-num-type5-kanji)
74 (skk-kanji-num-str3-subr . skk-num-type5-kanji-1)
75 (skk-middle-list . skk-splice-in)
76 (skk-numeric-convert . skk-num-convert)
77 (skk-numeric-convert*7 . skk-num-convert*7)
78 (skk-numeric-midasi-word . skk-num-henkan-key)
79 (skk-raw-number-to-skk-rep . skk-num-rawnum-exp)
80 (skk-raw-number-to-skk-rep-1 . skk-num-rawnum-exp-1)
81 (skk-recompute-numerals . skk-num-recompute)
82 (skk-set-cursor-color-properly . skk-set-cursor-properly)
83 (skk-set-cursor-properly . skk-cursor-set-properly)
84 (skk-shogi-num-str . skk-num-shogi)
85 (skk-update-jisyo-for-numerals . skk-num-update-jisyo)
86 (skk-uniq-numerals . skk-num-uniq)
87 (skk-public-jisyo-contains-p . skk-public-jisyo-has-entry-p)
88 (skk-zenkaku-mode . skk-jisx0208-latin-mode)
89 (skk-zenkaku-mode-on . skk-jisx0208-latin-mode-on)
90 (skktut-quit-tutorial . skk-tutorial-quit)
91 (skktut-tutorial-again . skk-tutorial-again) )
92 "obsolete
\e$B4X?t$N%(!<%j%9%H!#
\e(B" )
95 (defun skk-obsolete-check (file)
96 "FILE
\e$BFb$N
\e(B obsolete
\e$BJQ?tL>$H
\e(B obsolete
\e$B4X?tL>$r%A%'%C%/$7!"=q49$($k!#
\e(B"
97 (interactive (list (read-file-name
98 (format "File to check: (default: %s) " skk-init-file)
99 default-directory skk-init-file )))
100 (save-window-excursion (skk-obsolete-check-1 file)) )
103 (defun skk-obsolete-check-all-files (&optional program-files-too)
104 "
\e$B4XO"%U%!%$%kA4$F$N
\e(B obsolete
\e$BJQ?tL>$H
\e(B obsolete
\e$B4X?tL>$r%A%'%C%/$7!"=q49$($k!#
\e(B
105 C-u M-x skk-obsolete-check-all-files
\e$B$N$h$&$K5/F0$7$?$H$-$O!"%G%#%U%)%k%H%G%#%l
\e(B
106 \e$B%/%H%j$K$"$k
\e(B SKK
\e$B%W%m%0%i%`%U%!%$%k$b%A%'%C%/$r9T$J$&!#
\e(B"
108 (save-window-excursion
110 (user-files (list skk-init-file user-init-file))
111 (system-files '("default.el" "site-start.el"))
113 (if program-files-too
114 '("skk-foreword.el" "skk-gadget.el" "skk-isearch.el" "skk-auto.el"
115 "skk-comp.el" "skk-kakasi.el" "skk-kcode.el" "skk-leim.el"
116 "skk-look.el" "skk-num.el" "skk-server.el" "skk-tut.el" "skk.el"
117 "skk-vip.el" "skk-viper.el" "skk-dbm.el" "skk-rdbms.el"
118 "skk-attr.el" "skk-assoc.el" )))
121 (setq files (nconc (skk-obsolete-check-all-files-1 system-files (car lp))
124 (setq files (nconc (skk-obsolete-check-all-files-1 user-files) files)
125 files (nconc (skk-obsolete-check-all-files-1 program-files) files) )
127 (setq modified (cons (skk-obsolete-check-1 (car files) 'no-restart-question)
130 (message "Obsolete check is completely done")
132 (and (memq t modified)
133 (y-or-n-p "You are strongly recommended to kill this session and restart Emacs. Kill Emacs?")
134 (save-buffers-kill-emacs) ))))
136 (defun skk-obsolete-check-1 (file &optional no-restart-question)
140 (cons (prin1-to-string (car al))
141 (prin1-to-string (cdr al)) )))
142 (append skk-obsolete-function-alist
143 skk-obsolete-variable-alist ))
145 (function (lambda (x y) (string< (car y) (car x)))) ))
147 (find-file (expand-file-name file))
148 (delete-other-windows)
149 (message "Obsolete check for %s..." file)
151 (goto-char (point-min))
152 (query-replace-regexp
153 ;; not to match a name which contains pattern.
154 (concat (car (car alist)) "\\([^-]\\)")
155 (concat (cdr (car alist)) "\\1") )
156 (setq alist (cdr alist)) )
157 (and (buffer-modified-p)
158 (y-or-n-p "Obsolete check for this buffer done. Save this buffer? ")
161 (kill-buffer (current-buffer))
162 (message "Obsolete check for %s...done" file)
164 (and (not no-restart-question)
166 (y-or-n-p "You are strongly recommended to kill and restart Emacs. Kill Emacs?")
167 (save-buffers-kill-emacs) )
170 (defun skk-obsolete-check-all-files-1 (files &optional directory)
171 (let ((tmpfiles files)
172 objfile objfile-list)
174 (setq objfile (expand-file-name (car tmpfiles) directory))
175 (if (file-exists-p objfile)
177 (if (file-readable-p objfile)
178 ;; OBJFILE may not be writable, but check anyway.
179 (setq objfile-list (cons objfile (delete objfile objfile-list)))
180 (message "%s is not readable. Pass checking" objfile)
182 (setq tmpfiles (cdr tmpfiles)) )
186 (defun skk-obsolete-put-obsolete-mark ()
187 (let ((vl skk-obsolete-variable-alist)
188 ;;(fl skk-obsolete-function-alist) )
191 (make-obsolete-variable (car (car vl)) (cdr (car vl)))
193 ;; Put mark by define-obsolete-function-alias in skk-foreword.el.
195 ;; (make-obsolete (car (car fl)) (cdr (car fl)))
196 ;; (setq fl (cdr fl)) )))
199 (provide 'skk-obsolete)
200 ;;; skk-obsolete.el ends here