(let ((version (mapconcat
'number-to-string
(product-version (product-find 'elmo-version))
- ".")))
+ "."))
+ (coding-system-for-write 'iso-latin-1-unix))
(princ (concat "Update version number to " version "\n"))
;; generate version.tex
(with-temp-buffer
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;; Texinfo stuff
+(defun wl-texinfo-info-file (lang)
+ (symbol-value (intern (format "wl-%s-info" lang))))
+
+(defun wl-texinfo-texi-file (lang)
+ (symbol-value (intern (format "wl-%s-texi" lang))))
+
+(defun wl-texinfo-check-newer (lang)
+ (let ((info-file (expand-file-name (wl-texinfo-info-file lang) DOCDIR)))
+ (and
+ (file-newer-than-file-p info-file
+ (expand-file-name "version.texi" DOCDIR))
+ (file-newer-than-file-p info-file
+ (expand-file-name (wl-texinfo-texi-file lang) DOCDIR)))))
+
(defun wl-texinfo-format-file (lang)
- (let ((infofile (symbol-value (intern (format "wl-%s-info" lang))))
- (texifile (symbol-value (intern (format "wl-%s-texi" lang)))))
- (require 'wl-vars) ;; for 'wl-cs-local
- (or (file-newer-than-file-p (expand-file-name infofile DOCDIR)
- (expand-file-name texifile DOCDIR))
- (let (obuf beg)
- ;; Support old texinfmt.el
- (require 'ptexinfmt (expand-file-name "ptexinfmt.el" UTILSDIR))
- (find-file (expand-file-name texifile DOCDIR))
- (setq obuf (current-buffer))
- ;; We can't know file names if splitted.
- (texinfo-format-buffer t)
- ;; Emacs20.2's default is 'raw-text-unix.
- (and (fboundp 'set-buffer-file-coding-system)
- (set-buffer-file-coding-system wl-cs-local))
- (save-buffer)
- (kill-buffer (current-buffer)) ;; info
- (kill-buffer obuf)) ;; texi
- )))
+ (require 'wl-vars) ;; for 'wl-cs-local
+ (or (wl-texinfo-check-newer lang)
+ (let (obuf)
+ ;; Support old texinfmt.el
+ (require 'ptexinfmt (expand-file-name "ptexinfmt.el" UTILSDIR))
+ (find-file (expand-file-name (wl-texinfo-texi-file lang) DOCDIR))
+ (setq obuf (current-buffer))
+ ;; We can't know file names if splitted.
+ (texinfo-format-buffer t)
+ ;; Emacs20.2's default is 'raw-text-unix.
+ (and (fboundp 'set-buffer-file-coding-system)
+ (set-buffer-file-coding-system wl-cs-local))
+ (save-buffer)
+ (kill-buffer (current-buffer)) ;; info
+ (kill-buffer obuf)) ;; texi
+ ))
(defun wl-texinfo-format ()
(wl-detect-info-directory)
- (cond ((listp wl-info-lang)
+ (cond ((null wl-info-lang))
+ ((listp wl-info-lang)
(mapcar 'wl-texinfo-format-file wl-info-lang))
((stringp wl-info-lang)
(wl-texinfo-format-file wl-info-lang))))
(defun wl-texinfo-install-file (lang)
- (let ((infofile (symbol-value (intern (format "wl-%s-info" lang)))))
+ (let ((infofile (wl-texinfo-info-file lang)))
(install-file infofile DOCDIR INFODIR nil 'overwrite)))
(defun wl-texinfo-install ()
- (cond ((listp wl-info-lang)
+ (cond ((null wl-info-lang))
+ ((listp wl-info-lang)
(mapcar 'wl-texinfo-install-file wl-info-lang))
((stringp wl-info-lang)
(wl-texinfo-install-file wl-info-lang))))
(defun wl-primary-info-file ()
"Get primary info file (for wl-detect-info-directory)."
- (cond
- ((listp wl-info-lang)
- (let ((wl-info-lang (car wl-info-lang)))
- (wl-primary-info-file)))
- ((stringp wl-info-lang)
- (symbol-value (intern (format "wl-%s-info" wl-info-lang))))))
+ (cond ((null wl-info-lang))
+ ((listp wl-info-lang)
+ (let ((wl-info-lang (car wl-info-lang)))
+ (wl-primary-info-file)))
+ ((stringp wl-info-lang)
+ (wl-texinfo-info-file wl-info-lang))))
(defun wl-detect-info-directory ()
(config-wl-package-subr)
;; INFODIR check.
- (require 'info)
- (if (fboundp 'info-initialize)
- (info-initialize))
- (unless INFODIR
- (let ((infodir (car command-line-args-left))
- (info (wl-primary-info-file))
- previous)
- (setq INFODIR
- (if (string= infodir "NONE")
- (if (setq previous
- (exec-installed-p info Info-directory-list
- COMPRESS-SUFFIX-LIST))
- ;;(progn
- ;;(condition-case nil (delete-file previous))
- (directory-file-name (file-name-directory previous));)
- (car Info-directory-list))
- infodir))
- (setq command-line-args-left (cdr command-line-args-left))))
- (princ (format "INFODIR is %s\n\n" INFODIR)))
+ (when wl-info-lang
+ (require 'info)
+ (if (fboundp 'info-initialize)
+ (info-initialize))
+ (unless INFODIR
+ (let ((infodir (car command-line-args-left))
+ (info (wl-primary-info-file))
+ previous)
+ (setq INFODIR
+ (if (string= infodir "NONE")
+ (if (setq previous
+ (exec-installed-p info Info-directory-list
+ COMPRESS-SUFFIX-LIST))
+ (directory-file-name (file-name-directory previous))
+ (car Info-directory-list))
+ infodir))
+ (setq command-line-args-left (cdr command-line-args-left))))
+ (princ (format "INFODIR is %s\n\n" INFODIR))))
(defun install-wl-info ()
(wl-texinfo-format)
(let ((p (point)))
(prin1 (wl-news-parse-news wl-news-lang) (current-buffer))
(save-excursion
- (replace-regexp "^(" "\\\\(" nil p (point)))) ; avoid font-lock confusion
+ (narrow-to-region p (point))
+ (goto-char (1+ p))
+ (while (re-search-forward "^(" nil t)
+ (replace-match "\\\\(")) ; avoid font-lock confusion
+ (widen)))
(insert ")\n"))
(insert "(defconst wl-news-news-alist nil)\n\n"))
(let ((buffer-file-coding-system (mime-charset-to-coding-system 'x-ctext)))