* bug#25203: 25.1; crash during message, infinite recursion
2016-12-15 0:04 ` bug#25203: 25.1; crash during message, infinite recursion Hin-Tak Leung
@ 2016-12-15 5:29 ` Werner LEMBERG
2016-12-15 15:55 ` Eli Zaretskii
` (5 subsequent siblings)
6 siblings, 0 replies; 19+ messages in thread
From: Werner LEMBERG @ 2016-12-15 5:29 UTC (permalink / raw)
To: hintak.leung; +Cc: htl10, 25203
> where cjk-enc.el is a slight enhancement of
> "cjk/utils/lisp/emacs/cjk-enc.el" from http://cjk.ffii.org , with
http://git.savannah.gnu.org/gitweb/?p=cjk.git;a=blob_plain;f=utils/lisp/emacs/cjk-enc.el;hb=HEAD
> and Big5.tex is cjk/examples/Big5.tex
http://git.savannah.gnu.org/gitweb/?p=cjk.git;a=blob_plain;f=examples/Big5.tex;hb=HEAD
(Attention: this file is encoded in Big5.)
Werner
^ permalink raw reply [flat|nested] 19+ messages in thread
* bug#25203: 25.1; crash during message, infinite recursion
2016-12-15 0:04 ` bug#25203: 25.1; crash during message, infinite recursion Hin-Tak Leung
2016-12-15 5:29 ` Werner LEMBERG
@ 2016-12-15 15:55 ` Eli Zaretskii
2016-12-15 16:11 ` Noam Postavsky
2016-12-15 16:48 ` Werner LEMBERG
2016-12-15 16:40 ` Hin-Tak Leung
` (4 subsequent siblings)
6 siblings, 2 replies; 19+ messages in thread
From: Eli Zaretskii @ 2016-12-15 15:55 UTC (permalink / raw)
To: Hin-Tak Leung; +Cc: htl10, 25203
> From: Hin-Tak Leung <hintak.leung@gmail.com>
> Date: Thu, 15 Dec 2016 00:04:53 +0000
> Cc: Hin-Tak Leung <htl10@users.sourceforge.net>
>
> emacs -Q -batch -l cjk-enc.el -f batch-force-cjk-write-file Big5.tex
>
> where cjk-enc.el is a slight enhancement of
> "cjk/utils/lisp/emacs/cjk-enc.el" from http://cjk.ffii.org , with
>
> diff --git a/emacs/cjk-enc.el b/emacs/cjk-enc.el
> index c8e6706..096ade7 100644
> --- a/emacs/cjk-enc.el
> +++ b/emacs/cjk-enc.el
> @@ -881,7 +881,8 @@
> (setq last-pos (point))
> (message "Converting: %2d%%"
> (/ (* 100 (point)) (point-max)))))
> -
> + (message "temp-buf is %s..." (buffer-name temp-buf))
> + (message "work-buf is %s..." (buffer-name work-buf))
> ;; Advance to the next character and loop.
> (forward-char 1))
>
> and Big5.tex is cjk/examples/Big5.tex
AFAICT, cjk-enc.el shoots itself in the foot by invoking 'message'
from the pre-write-conversion function. This is a very dangerous
thing to do, as the analysis below shows. In fact, any I/O that might
require encoding should be completely avoided in pre-write-conversion.
It should be a function that does its work silently without any I/O,
because it is invoked in a context of I/O. If it does need to do I/O,
it absolutely must make sure that I/O will not use the same encoding
for which the pre-write-conversion function was written.
Here's what happens here:
. cjk-enc defines a coding-system with a pre-write-conversion
function cjk-encode.
. batch-force-cjk-write-file eventually calls cjk-write-file, which
does this:
(message "Saving %s and %s" bufname newbufname)
(let ((coding-system-for-write 'cjk-coding))
(write-region (point-min) (point-max) newbufname))
. write-region invokes cjk-encode as part of encoding the text in the
region.
. cjk-encode calls 'message', due to the above changes.
. since this is batch mode, 'message' eventually calls
message_to_stderr, which attempts to encode the text before writing
it to the terminal. But since coding-system-for-write is let-bound
to a non-nil value, message_to_stderr uses that value for encoding
(as all the encoding functions do), and that results in recursive
invocation of cjk-encode, which again tries to output a message to
the terminal, etc. etc., ad nauseam.
The simplest fix for this that requires no changes in Emacs core is
this:
(let ((coding-system-for-write locale-coding-system))
(message "temp-buf is %s..." (buffer-name temp-buf))
(message "work-buf is %s..." (buffer-name work-buf)))
That is, wrap the above 'message' calls in a let-binding of
coding-system-for-write that avoids recursion, and still does TRT wrt
encoding messages to the terminal in batch mode. After all, this is
(presumably) debugging code, so it can go some extra length to avoid
interfering with the code it's supposed to debug.
If someone is going to argue that Lisp code should never crash Emacs,
then I can see the following alternatives:
1. Inhibit messages while calling pre-write-conversion.
2. Signal an error when pre-write-conversion is called recursively.
I think none of these is a good idea, as they disallow perfectly valid
use cases which don't hit this problem. The 2nd one is also error
prone in its naïve implementation, and too complex IMO in non-naïve
ones.
So my suggestion is to fix your debugging code as indicated above.
Thanks.
^ permalink raw reply [flat|nested] 19+ messages in thread
* bug#25203: 25.1; crash during message, infinite recursion
2016-12-15 15:55 ` Eli Zaretskii
@ 2016-12-15 16:11 ` Noam Postavsky
2016-12-15 16:57 ` Eli Zaretskii
2016-12-15 16:48 ` Werner LEMBERG
1 sibling, 1 reply; 19+ messages in thread
From: Noam Postavsky @ 2016-12-15 16:11 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: htl10, Hin-Tak Leung, 25203
On Thu, Dec 15, 2016 at 10:55 AM, Eli Zaretskii <eliz@gnu.org> wrote:
>
> If someone is going to argue that Lisp code should never crash Emacs,
> then I can see the following alternatives:
>
> 1. Inhibit messages while calling pre-write-conversion.
> 2. Signal an error when pre-write-conversion is called recursively.
>
> I think none of these is a good idea, as they disallow perfectly valid
> use cases which don't hit this problem. The 2nd one is also error
> prone in its naïve implementation, and too complex IMO in non-naïve
> ones.
Shouldn't max-specdl or max-lisp-eval-depth be catching too deep
recursive calls?
^ permalink raw reply [flat|nested] 19+ messages in thread
* bug#25203: 25.1; crash during message, infinite recursion
2016-12-15 16:11 ` Noam Postavsky
@ 2016-12-15 16:57 ` Eli Zaretskii
0 siblings, 0 replies; 19+ messages in thread
From: Eli Zaretskii @ 2016-12-15 16:57 UTC (permalink / raw)
To: Noam Postavsky; +Cc: htl10, hintak.leung, 25203
> From: Noam Postavsky <npostavs@users.sourceforge.net>
> Date: Thu, 15 Dec 2016 11:11:38 -0500
> Cc: Hin-Tak Leung <hintak.leung@gmail.com>, htl10@users.sourceforge.net,
> 25203@debbugs.gnu.org
>
> Shouldn't max-specdl or max-lisp-eval-depth be catching too deep
> recursive calls?
This is not called in Lisp, it's called from C. 982 call frames
divided by 19 and multiplied by 5 (the number of calls to eval_sub)
gives 258, much smaller than max-lisp-eval-depth.
^ permalink raw reply [flat|nested] 19+ messages in thread
* bug#25203: 25.1; crash during message, infinite recursion
2016-12-15 15:55 ` Eli Zaretskii
2016-12-15 16:11 ` Noam Postavsky
@ 2016-12-15 16:48 ` Werner LEMBERG
2016-12-16 8:55 ` Eli Zaretskii
1 sibling, 1 reply; 19+ messages in thread
From: Werner LEMBERG @ 2016-12-15 16:48 UTC (permalink / raw)
To: eliz; +Cc: htl10, hintak.leung, 25203
> In fact, any I/O that might require encoding should be completely
> avoided in pre-write-conversion.
Is this documented? If yes, I've missed it.
> So my suggestion is to fix your debugging code as indicated above.
Thanks for your analysis. If it was only possible to debug
pre-write-conversion functions on the lisp level, I probably would
have found this by myself...
Werner
^ permalink raw reply [flat|nested] 19+ messages in thread
* bug#25203: 25.1; crash during message, infinite recursion
2016-12-15 16:48 ` Werner LEMBERG
@ 2016-12-16 8:55 ` Eli Zaretskii
2016-12-16 9:08 ` Werner LEMBERG
0 siblings, 1 reply; 19+ messages in thread
From: Eli Zaretskii @ 2016-12-16 8:55 UTC (permalink / raw)
To: Werner LEMBERG; +Cc: htl10, hintak.leung, 25203
> Date: Thu, 15 Dec 2016 17:48:57 +0100 (CET)
> Cc: hintak.leung@gmail.com, htl10@users.sourceforge.net,
> 25203@debbugs.gnu.org
> From: Werner LEMBERG <wl@gnu.org>
>
> > In fact, any I/O that might require encoding should be completely
> > avoided in pre-write-conversion.
>
> Is this documented? If yes, I've missed it.
Frankly, it should be obvious: you are recursively invoking the same
operation that is being processed by the calling function.
I added a note about this to the doc string of define-coding-system.
However, I really doubt that this will do any tangible good, since we
don't document how to define a coding-system. The ELisp manual says
just this:
How to define a coding system is an arcane matter, and is not
documented here.
Any reasons not to close this bug report, now that all of its aspects
have been addressed?
Thanks.
^ permalink raw reply [flat|nested] 19+ messages in thread
* bug#25203: 25.1; crash during message, infinite recursion
2016-12-16 8:55 ` Eli Zaretskii
@ 2016-12-16 9:08 ` Werner LEMBERG
2016-12-16 10:48 ` Eli Zaretskii
0 siblings, 1 reply; 19+ messages in thread
From: Werner LEMBERG @ 2016-12-16 9:08 UTC (permalink / raw)
To: eliz; +Cc: htl10, hintak.leung, 25203
>> > In fact, any I/O that might require encoding should be completely
>> > avoided in pre-write-conversion.
>>
>> Is this documented? If yes, I've missed it.
>
> Frankly, it should be obvious: you are recursively invoking the same
> operation that is being processed by the calling function.
Well, `cjk-coding' worked flawlessly for years. So it's not *that*
obvious. In other words, there are rather recent changes w.r.t. to
`message' that make the once working code crash.
> I added a note about this to the doc string of define-coding-system.
Thanks.
> Any reasons not to close this bug report, now that all of its
> aspects have been addressed?
Yes, please do.
Werner
^ permalink raw reply [flat|nested] 19+ messages in thread
* bug#25203: 25.1; crash during message, infinite recursion
2016-12-16 9:08 ` Werner LEMBERG
@ 2016-12-16 10:48 ` Eli Zaretskii
0 siblings, 0 replies; 19+ messages in thread
From: Eli Zaretskii @ 2016-12-16 10:48 UTC (permalink / raw)
To: Werner LEMBERG; +Cc: htl10, hintak.leung, 25203-done
> Date: Fri, 16 Dec 2016 10:08:55 +0100 (CET)
> Cc: hintak.leung@gmail.com, htl10@users.sourceforge.net,
> 25203@debbugs.gnu.org
> From: Werner LEMBERG <wl@gnu.org>
>
> >> > In fact, any I/O that might require encoding should be completely
> >> > avoided in pre-write-conversion.
> >>
> >> Is this documented? If yes, I've missed it.
> >
> > Frankly, it should be obvious: you are recursively invoking the same
> > operation that is being processed by the calling function.
>
> Well, `cjk-coding' worked flawlessly for years.
The problem was triggered by adding the 2 'message' calls, after the
point where coding-system-for-write was bound to this coding-system.
Without those 'message' calls, cjk-coding indeed should still work
flawlessly.
> > Any reasons not to close this bug report, now that all of its
> > aspects have been addressed?
>
> Yes, please do.
Done.
^ permalink raw reply [flat|nested] 19+ messages in thread
* bug#25203: 25.1; crash during message, infinite recursion
2016-12-15 0:04 ` bug#25203: 25.1; crash during message, infinite recursion Hin-Tak Leung
2016-12-15 5:29 ` Werner LEMBERG
2016-12-15 15:55 ` Eli Zaretskii
@ 2016-12-15 16:40 ` Hin-Tak Leung
2016-12-15 22:57 ` bug#25203: [cjk] Fwd: HELP with emacs 25.1 and cjk-enc.el Hin-Tak Leung
` (3 subsequent siblings)
6 siblings, 0 replies; 19+ messages in thread
From: Hin-Tak Leung @ 2016-12-15 16:40 UTC (permalink / raw)
To: Hin-Tak Leung, Eli Zaretskii; +Cc: 25203
I'll have to think a bit about the lisp advice - that script is complicated as it is... I just like to comment that emacs 24.5 does not crash with the additional "message" code, so this is a regression with emacs 25. And yes, I think no lisp code should crash emacs...
I also tried running the windows emacs 25 binary under wine - it dies there also. This eliminates possibility about miscompiling or platform issues.
My attempt at adding such temporary code is due to the bare unmodified script not working correctly with emacs 25 (still looking), and lisp debugging apparently does not work either
(https://debbugs.gnu.org/cgi/bugreport.cgi?bug=8108).
^ permalink raw reply [flat|nested] 19+ messages in thread
* bug#25203: [cjk] Fwd: HELP with emacs 25.1 and cjk-enc.el
2016-12-15 0:04 ` bug#25203: 25.1; crash during message, infinite recursion Hin-Tak Leung
` (2 preceding siblings ...)
2016-12-15 16:40 ` Hin-Tak Leung
@ 2016-12-15 22:57 ` Hin-Tak Leung
2016-12-16 8:02 ` Eli Zaretskii
2016-12-15 23:02 ` Hin-Tak Leung
` (2 subsequent siblings)
6 siblings, 1 reply; 19+ messages in thread
From: Hin-Tak Leung @ 2016-12-15 22:57 UTC (permalink / raw)
To: Werner LEMBERG, 25203; +Cc: cjk-list, by
Thanks for the advice from Eli Zaretskii
( https://debbugs.gnu.org/cgi/bugreport.cgi?bug=25203#11 )
I think I fixed one breakage of cjk-enc.el with emacs 25. It is doing a "percentage progress report"
for any sizeable input. With the following change:
--- a/utils/lisp/emacs/cjk-enc.el
+++ b/utils/lisp/emacs/cjk-enc.el
@@ -879,8 +879,9 @@
(if (> (- (point) last-pos) 1000)
(progn
(setq last-pos (point))
- (message "Converting: %2d%%"
- (/ (* 100 (point)) (point-max)))))
+ (let ((coding-system-for-write 'cjk-coding))
+ (message "Converting: %2d%%"
+ (/ (* 100 (point)) (point-max))))))
;; Advance to the next character and loop.
(forward-char 1))
I could get emacs 25 to run cjk-enc.el correctly to process Thai tis620 and mule encoded inputs now.
I still can't process Big5 input correctly - but thanks, the crash is gone -, Big5 input
seems to be sensitive to LANG/LC_*.
The original poster (not fully specified LANG/LC_*=zh_TW.Big5 ) can run it with 24.x but
I (LANG/LC_*=en_GB.UTF-8) can't currently beyond 22.x. I think I was able with 23.x ;
some some of the sensivity of cjk-enc.el to LANG/LC_* needs looking /documenting at better.
^ permalink raw reply [flat|nested] 19+ messages in thread
* bug#25203: [cjk] Fwd: HELP with emacs 25.1 and cjk-enc.el
2016-12-15 22:57 ` bug#25203: [cjk] Fwd: HELP with emacs 25.1 and cjk-enc.el Hin-Tak Leung
@ 2016-12-16 8:02 ` Eli Zaretskii
2016-12-16 9:28 ` Andreas Schwab
0 siblings, 1 reply; 19+ messages in thread
From: Eli Zaretskii @ 2016-12-16 8:02 UTC (permalink / raw)
To: Hin-Tak Leung; +Cc: cjk-list, by, 25203
> Date: Thu, 15 Dec 2016 22:57:50 +0000 (UTC)
> From: Hin-Tak Leung <htl10@users.sourceforge.net>
> Cc: cjk-list@nongnu.org, by@moscito.org
>
> - (message "Converting: %2d%%"
> - (/ (* 100 (point)) (point-max)))))
> + (let ((coding-system-for-write 'cjk-coding))
> + (message "Converting: %2d%%"
> + (/ (* 100 (point)) (point-max))))))
I don't think using cjk-coding is correct here, you should use
locale-coding-system instead. This message is going to be output to
the user's terminal, so the encoding it should use is that of the
terminal, which is most likely locale-coding-system.
You could also use 'us-ascii', since this particular message is
pure-ASCII.
Encoding a message in cjk-coding will fail if the user's terminal
cannot display some characters encoded with it.
^ permalink raw reply [flat|nested] 19+ messages in thread
* bug#25203: [cjk] Fwd: HELP with emacs 25.1 and cjk-enc.el
2016-12-16 8:02 ` Eli Zaretskii
@ 2016-12-16 9:28 ` Andreas Schwab
2016-12-16 10:48 ` Eli Zaretskii
0 siblings, 1 reply; 19+ messages in thread
From: Andreas Schwab @ 2016-12-16 9:28 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: Hin-Tak Leung, cjk-list, by, 25203
On Dez 16 2016, Eli Zaretskii <eliz@gnu.org> wrote:
> I don't think using cjk-coding is correct here, you should use
> locale-coding-system instead. This message is going to be output to
> the user's terminal, so the encoding it should use is that of the
> terminal, which is most likely locale-coding-system.
(terminal-coding-system)
Andreas.
--
Andreas Schwab, schwab@linux-m68k.org
GPG Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5
"And now for something completely different."
^ permalink raw reply [flat|nested] 19+ messages in thread
* bug#25203: [cjk] Fwd: HELP with emacs 25.1 and cjk-enc.el
2016-12-16 9:28 ` Andreas Schwab
@ 2016-12-16 10:48 ` Eli Zaretskii
0 siblings, 0 replies; 19+ messages in thread
From: Eli Zaretskii @ 2016-12-16 10:48 UTC (permalink / raw)
To: Andreas Schwab; +Cc: htl10, cjk-list, by, 25203
> From: Andreas Schwab <schwab@linux-m68k.org>
> Cc: Hin-Tak Leung <htl10@users.sourceforge.net>, cjk-list@nongnu.org, by@moscito.org, 25203@debbugs.gnu.org
> Date: Fri, 16 Dec 2016 10:28:36 +0100
>
> On Dez 16 2016, Eli Zaretskii <eliz@gnu.org> wrote:
>
> > I don't think using cjk-coding is correct here, you should use
> > locale-coding-system instead. This message is going to be output to
> > the user's terminal, so the encoding it should use is that of the
> > terminal, which is most likely locale-coding-system.
>
> (terminal-coding-system)
Yes, that's probably better, thanks.
^ permalink raw reply [flat|nested] 19+ messages in thread
* bug#25203: [cjk] Fwd: HELP with emacs 25.1 and cjk-enc.el
2016-12-15 0:04 ` bug#25203: 25.1; crash during message, infinite recursion Hin-Tak Leung
` (3 preceding siblings ...)
2016-12-15 22:57 ` bug#25203: [cjk] Fwd: HELP with emacs 25.1 and cjk-enc.el Hin-Tak Leung
@ 2016-12-15 23:02 ` Hin-Tak Leung
2016-12-16 8:04 ` Eli Zaretskii
2016-12-16 14:18 ` Hin-Tak Leung
2016-12-16 14:34 ` bug#25203: 25.1; crash during message, infinite recursion Hin-Tak Leung
6 siblings, 1 reply; 19+ messages in thread
From: Hin-Tak Leung @ 2016-12-15 23:02 UTC (permalink / raw)
To: Werner LEMBERG, 25203; +Cc: cjk-list, by
Sorry, should be this (note "locale-coding-system"):
--- a/utils/lisp/emacs/cjk-enc.el
+++ b/utils/lisp/emacs/cjk-enc.el
@@ -879,8 +879,9 @@
(if (> (- (point) last-pos) 1000)
(progn
(setq last-pos (point))
- (message "Converting: %2d%%"
- (/ (* 100 (point)) (point-max)))))
+ (let ((coding-system-for-write locale-coding-system))
+ (message "Converting: %2d%%"
+ (/ (* 100 (point)) (point-max))))))
;; Advance to the next character and loop.
(forward-char 1))
--------------------------------------------
On Thu, 15/12/16, Hin-Tak Leung <htl10@users.sourceforge.net> wrote:
Thanks for the advice from Eli Zaretskii
( https://debbugs.gnu.org/cgi/bugreport.cgi?bug=25203#11 )
^ permalink raw reply [flat|nested] 19+ messages in thread
* bug#25203: [cjk] Fwd: HELP with emacs 25.1 and cjk-enc.el
2016-12-15 23:02 ` Hin-Tak Leung
@ 2016-12-16 8:04 ` Eli Zaretskii
2016-12-16 9:00 ` Werner LEMBERG
0 siblings, 1 reply; 19+ messages in thread
From: Eli Zaretskii @ 2016-12-16 8:04 UTC (permalink / raw)
To: Hin-Tak Leung; +Cc: cjk-list, by, 25203
> Date: Thu, 15 Dec 2016 23:02:03 +0000 (UTC)
> From: Hin-Tak Leung <htl10@users.sourceforge.net>
> Cc: cjk-list@nongnu.org, by@moscito.org
>
> Sorry, should be this (note "locale-coding-system"):
>
> --- a/utils/lisp/emacs/cjk-enc.el
> +++ b/utils/lisp/emacs/cjk-enc.el
> @@ -879,8 +879,9 @@
> (if (> (- (point) last-pos) 1000)
> (progn
> (setq last-pos (point))
> - (message "Converting: %2d%%"
> - (/ (* 100 (point)) (point-max)))))
> + (let ((coding-system-for-write locale-coding-system))
> + (message "Converting: %2d%%"
> + (/ (* 100 (point)) (point-max))))))
>
> ;; Advance to the next character and loop.
> (forward-char 1))
Sorry, I don't understand the question. Can you elaborate?
locale-coding-system is a variable whose value is the encoding
supported by the locale in which Emacs was started, and this it should
be appropriate for writing text to the user's terminal.
^ permalink raw reply [flat|nested] 19+ messages in thread
* bug#25203: [cjk] Fwd: HELP with emacs 25.1 and cjk-enc.el
2016-12-15 0:04 ` bug#25203: 25.1; crash during message, infinite recursion Hin-Tak Leung
` (4 preceding siblings ...)
2016-12-15 23:02 ` Hin-Tak Leung
@ 2016-12-16 14:18 ` Hin-Tak Leung
2016-12-16 14:34 ` bug#25203: 25.1; crash during message, infinite recursion Hin-Tak Leung
6 siblings, 0 replies; 19+ messages in thread
From: Hin-Tak Leung @ 2016-12-16 14:18 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: cjk-list, by, 25203
--------------------------------------------
On Fri, 16/12/16, Eli Zaretskii <eliz@gnu.org> wrote:
> Sorry, I don't understand the question.
Can you elaborate?
It is not a question - it is a follow-up correction to a proposed (wrong) bug fix to cjk-enc.el.
This thread was started because cjk-enc.el broke with emacs 25. So I was close
enough - and made it worse to crash with two new mesage()'s. The crash surprisingly helps, in the end.
The initial breakage was because there was already a message() (for progress reporting, which
has worked for 10+ years until 24.5) a few lines above the two new ones I added.
The relevant change in emacs 25 is, as you suggested, this:
http://git.savannah.gnu.org/cgit/emacs.git/commit/?id=c63246628461f748d66a8a07ba008de2e00fd33a
'Obey coding-system-for-write when writing stdout/stderr in batch'
There seems to be another breakage of cjk-enc.el - somehow, `write-region in emacs 25 for big5 input
is calling cjk-encode (pre-write-conversion) more than once, and the 2nd time wrongly. This only
happens with emacs 25 and only with big5 input (i.e. not with earlier emacs nor thai/mule input).
So there is another recursion somewhere - still looking...
I added a (backtrace) to cjk-encode and the 2nd+ calls are also from write-region - so definitely needs
C-level debugging to look further ( https://debbugs.gnu.org/cgi/bugreport.cgi?bug=8108 )
Yes, the issue with crash with message() in pre-write-conversion is well-understood now,
and thanks a lot for all the help. Bug 25203 can close.
^ permalink raw reply [flat|nested] 19+ messages in thread
* bug#25203: 25.1; crash during message, infinite recursion
2016-12-15 0:04 ` bug#25203: 25.1; crash during message, infinite recursion Hin-Tak Leung
` (5 preceding siblings ...)
2016-12-16 14:18 ` Hin-Tak Leung
@ 2016-12-16 14:34 ` Hin-Tak Leung
6 siblings, 0 replies; 19+ messages in thread
From: Hin-Tak Leung @ 2016-12-16 14:34 UTC (permalink / raw)
To: eliz, Werner LEMBERG; +Cc: cjk-list, 25203
--------------------------------------------
On Fri, 16/12/16, Werner LEMBERG <wl@gnu.org> wrote:
> Well, `cjk-coding' worked flawlessly for
years. So it's not *that*
obvious.
In other words, there are rather recent changes w.r.t. to
`message' that make the once working code
crash.
The relevant change in emacs 25 is this:
http://git.savannah.gnu.org/cgit/emacs.git/commit/?id=c63246628461f748d66a8a07ba008de2e00fd33a
'Obey coding-system-for-write when writing stdout/stderr in batch'
and part of the recent breakage is that, there is already a `message' before the two new ones I tried to add.
There is another recursion somewhere else related specifically to big5 input which I have
not pinned point yet, but I'll just continue in the cjk list.
^ permalink raw reply [flat|nested] 19+ messages in thread