Mercurial > emacs
comparison lisp/international/quail.el @ 19200:74ec766c0ada
(quail-update-leim-list-file):
Use insert-file-contents instead of find-file-noselect
and in the process avoid the RAWFILE feature.
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Thu, 07 Aug 1997 02:49:18 +0000 |
parents | 842869692447 |
children | 70e5d1211d98 |
comparison
equal
deleted
inserted
replaced
19199:da8774e1207b | 19200:74ec766c0ada |
---|---|
1707 This is a sub-directory of LEIM directory.") | 1707 This is a sub-directory of LEIM directory.") |
1708 | 1708 |
1709 ;;;###autoload | 1709 ;;;###autoload |
1710 (defun quail-update-leim-list-file (dirname) | 1710 (defun quail-update-leim-list-file (dirname) |
1711 "Update entries for Quail packages in LEIM list file of directory DIRNAME. | 1711 "Update entries for Quail packages in LEIM list file of directory DIRNAME. |
1712 LEIM is a library of Emacs input method." | 1712 LEIM is a directory containing Emacs input methods; |
1713 normally, it should specify the `leim' subdirectory | |
1714 of the Emacs source tree." | |
1713 (interactive "FDirectory of LEIM: ") | 1715 (interactive "FDirectory of LEIM: ") |
1714 (setq dirname (file-name-as-directory (expand-file-name dirname))) | 1716 (setq dirname (file-name-as-directory (expand-file-name dirname))) |
1715 (let ((quail-dir (concat dirname quail-directory-name)) | 1717 (let ((quail-dir (concat dirname quail-directory-name)) |
1716 (filename (concat dirname leim-list-file-name)) | 1718 (filename (concat dirname leim-list-file-name)) |
1717 list-buf pkg-list pkg-buf pos) | 1719 list-buf pkg-list pkg-buf pos) |
1754 (delete-region pos (point)))))))) | 1756 (delete-region pos (point)))))))) |
1755 | 1757 |
1756 ;; Insert entries for Quail. | 1758 ;; Insert entries for Quail. |
1757 (while pkg-list | 1759 (while pkg-list |
1758 (message "Checking %s ..." (car pkg-list)) | 1760 (message "Checking %s ..." (car pkg-list)) |
1759 (setq pkg-buf (find-file-noselect (car pkg-list) t t)) | 1761 (with-temp-buffer |
1760 (save-excursion | 1762 (insert-file-contents (car pkg-list)) |
1761 (set-buffer pkg-buf) | |
1762 (goto-char (point-min)) | 1763 (goto-char (point-min)) |
1763 (while (search-forward "(quail-define-package" nil t) | 1764 (while (search-forward "(quail-define-package" nil t) |
1764 (goto-char (match-beginning 0)) | 1765 (goto-char (match-beginning 0)) |
1765 (let ((form (read (current-buffer)))) | 1766 (let ((form (read (current-buffer)))) |
1766 (save-excursion | 1767 (save-excursion |
1767 (set-buffer list-buf) | 1768 (set-buffer list-buf) |
1768 (insert (format "(register-input-method | 1769 (insert (format "(register-input-method |
1769 %S %S '%s | 1770 %S %S '%s |
1770 %S %S | 1771 %S %S |
1771 %S)\n" (nth 1 form) ; PACKAGE-NAME | 1772 %S)\n" |
1772 (nth 2 form) ; LANGUAGE | 1773 (nth 1 form) ; PACKAGE-NAME |
1773 'quail-use-package ; ACTIVATE-FUNC | 1774 (nth 2 form) ; LANGUAGE |
1774 (nth 3 form) ; PACKAGE-TITLE | 1775 'quail-use-package ; ACTIVATE-FUNC |
1775 (progn ; PACKAGE-DESCRIPTION (one line) | 1776 (nth 3 form) ; PACKAGE-TITLE |
1776 (string-match ".*" (nth 5 form)) | 1777 (progn ; PACKAGE-DESCRIPTION (one line) |
1777 (match-string 0 (nth 5 form))) | 1778 (string-match ".*" (nth 5 form)) |
1778 (file-relative-name ; PACKAGE-FILENAME | 1779 (match-string 0 (nth 5 form))) |
1779 (file-name-sans-extension (car pkg-list)) dirname) | 1780 (file-relative-name ; PACKAGE-FILENAME |
1780 )))))) | 1781 (file-name-sans-extension (car pkg-list)) |
1781 (kill-buffer pkg-buf) | 1782 dirname))))))) |
1782 (setq pkg-list (cdr pkg-list))) | 1783 (setq pkg-list (cdr pkg-list))) |
1783 (save-excursion | 1784 (save-excursion |
1784 (set-buffer list-buf) | 1785 (set-buffer list-buf) |
1785 (setq buffer-file-coding-system 'iso-2022-7bit) | 1786 (setq buffer-file-coding-system 'iso-2022-7bit) |
1786 (save-buffer 0)) | 1787 (save-buffer 0)) |