diff options
| author | Kenichi Handa | 2008-03-10 12:21:09 +0000 |
|---|---|---|
| committer | Kenichi Handa | 2008-03-10 12:21:09 +0000 |
| commit | fe56282f2782570432d9b1a707d8a37d38076628 (patch) | |
| tree | 18d3840604a362266030be60a8e7f36cb632c2a7 /src | |
| parent | 74215b552126a43e4331a7a9c78497ac0ffe2257 (diff) | |
| download | emacs-fe56282f2782570432d9b1a707d8a37d38076628.tar.gz emacs-fe56282f2782570432d9b1a707d8a37d38076628.zip | |
(Finsert_file_contents): Don't make CCL program to
append "CCL: Quitted" when the decoding is quitted, but just
signal `quit'.
Diffstat (limited to 'src')
| -rw-r--r-- | src/ChangeLog | 12 | ||||
| -rw-r--r-- | src/fileio.c | 11 |
2 files changed, 23 insertions, 0 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index b00ca9a32a8..2a9fec1ef2c 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,3 +1,15 @@ | |||
| 1 | 2008-03-10 Kenichi Handa <handa@ni.aist.go.jp> | ||
| 2 | |||
| 3 | * fileio.c (Finsert_file_contents): Don't make CCL program to | ||
| 4 | append "CCL: Quitted" when the decoding is quitted, but just | ||
| 5 | signal `quit'. | ||
| 6 | |||
| 7 | * ccl.c (ccl_driver): If ccl->quit_silently is nonzero, don't | ||
| 8 | append "CCL: Quitted" when the CCL program is quitted. | ||
| 9 | (setup_ccl_program): Initialize ccl->quit_silently to zero. | ||
| 10 | |||
| 11 | * ccl.h (struct ccl_program): New member quit_silently. | ||
| 12 | |||
| 1 | 2008-03-08 Andreas Schwab <schwab@suse.de> | 13 | 2008-03-08 Andreas Schwab <schwab@suse.de> |
| 2 | 14 | ||
| 3 | * process.h (struct Lisp_Process): Declare bit field as unsigned. | 15 | * process.h (struct Lisp_Process): Declare bit field as unsigned. |
diff --git a/src/fileio.c b/src/fileio.c index 769a719191e..124e107ac74 100644 --- a/src/fileio.c +++ b/src/fileio.c | |||
| @@ -4632,8 +4632,19 @@ actually used. */) | |||
| 4632 | { | 4632 | { |
| 4633 | if (CODING_MAY_REQUIRE_DECODING (&coding)) | 4633 | if (CODING_MAY_REQUIRE_DECODING (&coding)) |
| 4634 | { | 4634 | { |
| 4635 | if (coding.type == coding_type_ccl) | ||
| 4636 | coding.spec.ccl.decoder.quit_silently = 1; | ||
| 4635 | code_convert_region (PT, PT_BYTE, PT + inserted, PT_BYTE + inserted, | 4637 | code_convert_region (PT, PT_BYTE, PT + inserted, PT_BYTE + inserted, |
| 4636 | &coding, 0, 0); | 4638 | &coding, 0, 0); |
| 4639 | if (coding.type == coding_type_ccl) | ||
| 4640 | coding.spec.ccl.decoder.quit_silently = 0; | ||
| 4641 | if (coding.result == CODING_FINISH_INTERRUPT) | ||
| 4642 | { | ||
| 4643 | /* Fixme: It is better that we report that the decoding | ||
| 4644 | was interruppted by the user, and the current buffer | ||
| 4645 | contents doesn't reflect the file correctly. */ | ||
| 4646 | Fsignal (Qquit, Qnil); | ||
| 4647 | } | ||
| 4637 | inserted = coding.produced_char; | 4648 | inserted = coding.produced_char; |
| 4638 | } | 4649 | } |
| 4639 | else | 4650 | else |