summaryrefslogtreecommitdiff
path: root/lisp/international/titdic-cnv.el
diff options
context:
space:
mode:
authorLars Ingebrigtsen <larsi@gnus.org>2022-06-05 16:36:25 +0200
committerLars Ingebrigtsen <larsi@gnus.org>2022-06-05 16:36:34 +0200
commit9d2f4a8d5a92fdfab80ce9faf0dcfa159189916b (patch)
treee594acec129ce3637dd49e22ad8f771e3b247fd7 /lisp/international/titdic-cnv.el
parentac6660a2d026e89214814768990d0d232f0a9d06 (diff)
downloademacs-9d2f4a8d5a92fdfab80ce9faf0dcfa159189916b.tar.gz
Add convenience functions for generating Emacs Lisp files
* lisp/url/url-cookie.el (url-cookie-write-file): * lisp/international/titdic-cnv.el (tit-process-header): * lisp/international/ja-dic-cnv.el (skkdic-convert): * lisp/international/emoji.el (emoji--generate-file): * lisp/emacs-lisp/loaddefs-gen.el (loaddefs-generate--rubric) * admin/unidata/unidata-gen.el (unidata-gen-file) (unidata-gen-charprop): Use the new functions. * lisp/emacs-lisp/generate-file.el: New file to provide convenience functions for generated files. It's not always trivial to know which parts of the trailer that has to be obfuscated to avoid not getting byte-compiled etc, and some parts of the headers/trailers are usually forgotten when hand-coding these.
Diffstat (limited to 'lisp/international/titdic-cnv.el')
-rw-r--r--lisp/international/titdic-cnv.el28
1 files changed, 9 insertions, 19 deletions
diff --git a/lisp/international/titdic-cnv.el b/lisp/international/titdic-cnv.el
index a3b62667915..bdb77ca7026 100644
--- a/lisp/international/titdic-cnv.el
+++ b/lisp/international/titdic-cnv.el
@@ -62,6 +62,7 @@
;;; Code:
(require 'quail)
+(require 'generate-file)
;; List of values of key "ENCODE:" and the corresponding Emacs
;; coding-system and language environment name.
@@ -269,13 +270,12 @@ SPC, 6, 3, 4, or 7 specifying a tone (SPC:陰平, 6:陽平, 3:上聲, 4:去聲,
(tit-moveleft ",<")
(tit-keyprompt nil))
- (princ (format ";;; %s -*- lexical-binding:t -*-\n"
- (file-name-nondirectory filename)))
+ (generate-file-heading filename :code nil)
(princ ";; Quail package `")
(princ package)
(princ "\n")
(princ (substitute-command-keys
- ";; Generated by the command `titdic-convert'\n"))
+ ";; Generated by the `titdic-convert' function.\n"))
(princ ";;\tOriginal TIT dictionary file: ")
(princ (file-name-nondirectory filename))
(princ "\n\n")
@@ -521,11 +521,8 @@ the generated Quail package is saved."
;; Process the body part
(tit-process-body)
-
- (princ ";; Local Variables:\n")
- (princ ";; version-control: never\n")
- (princ ";; no-update-autoloads: t\n")
- (princ ";; End:\n"))))))
+ (generate-file-trailer
+ filename :inhibit-provide t :compile t :coding nil))))))
;;;###autoload
(defun batch-titdic-convert (&optional force)
@@ -1135,11 +1132,10 @@ the generated Quail package is saved."
;; Explicitly set eol format to `unix'.
(setq coding-system-for-write 'utf-8-unix)
(with-temp-file (expand-file-name quailfile dirname)
- (insert (format ";;; %s -*- lexical-binding:t -*-\n"
- (file-name-nondirectory quailfile)))
+ (generate-file-heading quailfile)
(insert (format-message ";; Quail package `%s'\n" name))
(insert (format-message
- ";; Generated by the command `miscdic-convert'\n"))
+ ";; Generated by the `miscdic-convert' function.\n"))
(insert ";; Source dictionary file: " dicfile "\n")
(insert ";; Copyright notice of the source file\n")
(insert ";;------------------------------------------------------\n")
@@ -1161,11 +1157,8 @@ the generated Quail package is saved."
(let ((dicbuf (current-buffer)))
(with-current-buffer dstbuf
(funcall converter dicbuf)))))
- (insert ";; Local Variables:\n"
- ";; version-control: never\n"
- ";; no-update-autoloads: t\n"
- ";; End:\n\n"
- ";;; " quailfile " ends here\n")))
+ (generate-file-trailer
+ quailfile :inhibit-provide t :compile t :coding nil)))
(setq tail (cdr tail)))))
(defun batch-miscdic-convert ()
@@ -1228,7 +1221,4 @@ The library is named pinyin.el, and contains the constant
(insert "(provide 'pinyin)\n"))
(kill-emacs 0)))
-;; Prevent "Local Variables" above confusing Emacs.
-
-
;;; titdic-cnv.el ends here