diff options
author | Lars Ingebrigtsen <larsi@gnus.org> | 2022-06-05 16:36:25 +0200 |
---|---|---|
committer | Lars Ingebrigtsen <larsi@gnus.org> | 2022-06-05 16:36:34 +0200 |
commit | 9d2f4a8d5a92fdfab80ce9faf0dcfa159189916b (patch) | |
tree | e594acec129ce3637dd49e22ad8f771e3b247fd7 /lisp/international/titdic-cnv.el | |
parent | ac6660a2d026e89214814768990d0d232f0a9d06 (diff) | |
download | emacs-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.el | 28 |
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 |