unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Kenichi Handa <handa@m17n.org>
Cc: user42@zip.com.au, monnier@iro.umontreal.ca, emacs-devel@gnu.org
Subject: Re: po file charset via auto-coding-functions
Date: Fri, 18 Nov 2005 22:08:34 +0900	[thread overview]
Message-ID: <E1Ed5yk-0003kQ-00@etlken> (raw)
In-Reply-To: <E1EaTYC-0001cx-Rn@fencepost.gnu.org> (rms@gnu.org)

Sorry for the late response on this matter.  I was just back
from Hanoi; Vietnamese foods were very good.  :-)

In article <E1EaTYC-0001cx-Rn@fencepost.gnu.org>, "Richard M. Stallman" <rms@gnu.org> writes:

>>      As a matter of fact I think passing
>>      "/home/handa/x.tgz!vi.po" is more correct: if we assume that
>>      a suitable file-name-handler is installed it's perfectly correct.

>>  But I don't think we should install such a handler, because it would
>>  be an incompatible change in file name syntax.

>     Then maybe another syntax should be used, but currently that's the syntax
>     chosen: this is the value used for buffer-file-name.

> Does that file name get used for anything except to appear in the C_x
> C-b listing and be helpful for the user?  I think it does not.

I don't know exactly which command uses it, but it is used
by any operations that call get-file-buffer.

> The previous message said:

> 	The correct operation in a handler for insert-file-contents
> 	will be to find a buffer pretending to visit the file, and
> 	insert that buffer contents.  And, for that, we have to give
> 	buffer-file-name (e.g. /home/handa/x.tgz!vi.po") not the
> 	filename itself (e.g. vi.po) to
> 	find-operation-coding-system.

> Can you explain the context of this?  Where is insert-file-contents
> being called from, and with what file name argument?
> How does it relate to this issue?

Here the "handler" means a function registered in
file-coding-system-alist (it's po-find-file-coding-system in
the current case).

> If it is simply a matter to call find-operation-coding-system here,
> in tar-extract, then I agree it is ok to pass buffer-file-name.

Yes, that is what the change I propsed for an archived file
does.

And, for a compressed file, I proposed this change.

*** jka-compr.el	08 Aug 2005 10:13:24 +0900	1.87
--- jka-compr.el	24 Oct 2005 11:38:27 +0900	
***************
*** 500,509 ****
  	     (delete-file local-copy)))
  
  	  (unless notfound
  	    (decode-coding-inserted-region
  	     (point) (+ (point) size)
! 	     (jka-compr-byte-compiler-base-file-name file)
! 	     visit beg end replace))
  
  	  (and
  	   visit
--- 500,513 ----
  	     (delete-file local-copy)))
  
  	  (unless notfound
+ 	    (let ((buffer-file-name
+ 		   (concat file "!"
+ 			   (jka-compr-byte-compiler-base-file-name file))))
+ 
  	    (decode-coding-inserted-region
  	     (point) (+ (point) size)
! 	     buffer-file-name
! 	     visit beg end replace)))
  
  	  (and
  	   visit

As you see, this binds buffer-file-name temporarily to
something like /home/handa/temp.po.gz!/home/handa/temp.po so
that find-operation-coding-system (called in
decode-coding-inserted-region) can surely find
po-find-file-coding-system to be called, and it can surely
find the current buffer by get-file-buffer.

Do you agree with this change too (of course provided that
more comments are added)?

---
Kenichi Handa
handa@m17n.org

  reply	other threads:[~2005-11-18 13:08 UTC|newest]

Thread overview: 42+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-10-20 21:06 po file charset via auto-coding-functions Kevin Ryde
2005-10-21  2:18 ` Kenichi Handa
2005-10-21 22:46   ` Kevin Ryde
2005-10-22  1:43     ` Kenichi Handa
2005-10-22  2:01       ` Kevin Ryde
2005-10-22  2:39         ` Kenichi Handa
2005-10-22  2:50           ` Stefan Monnier
2005-10-22 22:44             ` Kevin Ryde
2005-10-24  1:39             ` Kenichi Handa
2005-10-22 15:51           ` Richard M. Stallman
2005-10-24  2:05             ` Kenichi Handa
2005-10-25 15:59               ` Richard M. Stallman
2005-11-02 10:27               ` Richard Stallman
2005-11-10  2:09               ` Richard Stallman
2005-11-10  3:49                 ` Stefan Monnier
2005-11-10 17:49                   ` Richard M. Stallman
2005-11-10 18:33                     ` Stefan Monnier
2005-11-11  7:42                       ` Richard M. Stallman
2005-11-18 13:08                         ` Kenichi Handa [this message]
2005-11-18 17:21                           ` Stefan Monnier
2005-11-19  0:30                             ` Kenichi Handa
2005-11-20  1:16                             ` Juri Linkov
2005-11-29 19:13                               ` Kevin Rodgers
2005-11-30  2:45                                 ` Juri Linkov
2005-11-30 19:01                                 ` Richard M. Stallman
2005-11-19 23:27                           ` Richard M. Stallman
2005-11-20 12:05                             ` Kenichi Handa
2005-12-28 17:01                               ` Richard M. Stallman
2005-12-29 11:47                                 ` Kenichi Handa
2005-12-30  2:18                                   ` Richard M. Stallman
2006-01-04  4:37                                     ` Kenichi Handa
2005-10-22 22:51       ` Kevin Ryde
2005-10-24  1:53         ` Kenichi Handa
2005-10-24  2:04           ` Kevin Ryde
2005-10-24  5:19             ` Kenichi Handa
2005-10-24 14:11               ` Stefan Monnier
2005-10-25  1:03                 ` Kenichi Handa
2005-10-24 23:35               ` Juri Linkov
2005-10-25  6:42                 ` Kenichi Handa
2005-10-25 20:27                 ` Richard M. Stallman
2005-10-21  4:49 ` Richard M. Stallman
2005-10-21 21:07   ` Kevin Ryde

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=E1Ed5yk-0003kQ-00@etlken \
    --to=handa@m17n.org \
    --cc=emacs-devel@gnu.org \
    --cc=monnier@iro.umontreal.ca \
    --cc=user42@zip.com.au \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).