emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: remove leim/leim-list.el for make bootstrap?


From: Eli Zaretskii
Subject: Re: remove leim/leim-list.el for make bootstrap?
Date: Fri, 20 Mar 2009 14:36:09 +0200

> From: Andreas Schwab <address@hidden>
> Cc: Miles Bader <address@hidden>,  address@hidden
> Date: Fri, 20 Mar 2009 12:39:47 +0100
> 
> Eli Zaretskii <address@hidden> writes:
> 
> > If you managed to figure out the reason for corruption, could you
> > please explain it?
> 
> The coding has changed from iso-2022-7bit to utf-8, but existing
> contents were not converted.

Thanks, but there's still something strange here.  First,
leim/Makefile.in removes leim-list.el and then rebuilds it:

    leim-list.el: ${SUBDIRS} ${TIT-MISC} changed.tit changed.misc 
${srcdir}/leim-ext.el
            rm -rf leim-list.el
            ${RUN-EMACS}  -l ${buildlisppath}/international/quail \
              -f batch-byte-compile-if-not-done ${TIT-MISC:.elc=.el}
            if [ x`(cd ${srcdir} && /bin/pwd)` = x`(/bin/pwd)` ] ; then \
              ${RUN-EMACS} -l ${buildlisppath}/international/quail \
                --eval "(update-leim-list-file \".\")" ; \
            else \
              ${RUN-EMACS} -l ${buildlisppath}/international/quail \
                --eval "(update-leim-list-file \".\" \"${srcdir}\")" ; \
            fi
            sed -n '/^[^;]/ p' < ${srcdir}/leim-ext.el >> $@

So any existing contents should be gone.

Second, even if leim-list.el would somehow survive from the previous
build, and some of its previous contents would have been left behind
after the following fragment from quail.el removes all of its entries
that have 'quail-use-package in the register-input-method form:

        ;; Remove all entries for Quail.
        (while (re-search-forward leim-list-entry-regexp nil 'move)
          (goto-char (match-beginning 0))
          (setq pos (point))
          (condition-case nil
              (let ((form (read list-buf)))
                (when (equal (nth 3 form) ''quail-use-package)
                  (if (eolp) (forward-line 1))
                  (delete-region pos (point))))

still, writing out of the file, viz.:

    ;; At last, write out LEIM list file.
    (with-current-buffer list-buf
      (let ((coding-system-for-write 'utf-8))
        (save-buffer 0)))

should have encoded anything left in UTF-8, since
quail-update-leim-list-file works on decoded text, not on the original
encoded text as it resides on disk, right?

And the Sed command that appends leim-ext.el to the just-produced
leim-list.el could not be the source of the problem, either, because
Handa-san converted leim-ext.el to UTF-8.

What am I missing?




reply via email to

[Prev in Thread] Current Thread [Next in Thread]