[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: GDB on Mac is Broken
From: |
YAMAMOTO Mitsuharu |
Subject: |
Re: GDB on Mac is Broken |
Date: |
Sat, 13 Mar 2010 15:58:11 +0900 |
User-agent: |
Wanderlust/2.14.0 (Africa) SEMI/1.14.6 (Maruoka) FLIM/1.14.8 (Shijō) APEL/10.6 Emacs/22.3 (sparc-sun-solaris2.8) MULE/5.0 (SAKAKI) |
>>>>> On Fri, 12 Mar 2010 12:43:31 -0500, Glenn Morris <address@hidden> said:
> This is a duplicate of
> http://debbugs.gnu.org/cgi/bugreport.cgi?bug=5712
> but presumably refers to GNU Emacs now.
As expected, reproducibility on the Mac port could contribute to show
whether a bug was NS-specific or not.
The related difference between Emacs 22, on which the completion
works, and Emacs 23 seems to be:
1. The default value of default-process-coding-system.
2. A change in comint-exec-1.
For the first one, the value is (mule-utf-8 . mule-utf-8) in Emacs 22,
and (utf-8-unix . utf-8-unix) in Emacs 23 on Mac OS X 10.6. The
difference in the EOL conversion comes from the following code in
mule-cmd.el:
(let ((output-coding
;; When bootstrapping, coding-systems are not defined yet, so
;; we need to catch the error from check-coding-system.
(condition-case nil
(coding-system-change-text-conversion
(car default-process-coding-system) 'undecided)
(coding-system-error 'undecided)))
(input-coding
(condition-case nil
(coding-system-change-text-conversion
(cdr default-process-coding-system) 'iso-latin-1)
(coding-system-error 'iso-latin-1))))
(setq default-process-coding-system
(cons output-coding input-coding)))
The value of default-coding-system is nil as of bootstrapping, and the
following snippet evaluates to `undecided' on Emacs 22, but
`undecided-unix' on Emacs 23.
(condition-case nil
(coding-system-change-text-conversion
(car default-process-coding-system) 'undecided)
(coding-system-error 'undecided))
This difference in turn comes from that of (coding-system-eol-type
nil), which evaluates to nil on Emacs 22 and 0 on Emacs 23.
The second one is the first hunk in
http://lists.gnu.org/archive/html/emacs-devel/2008-03/msg00322.html
2008-03-04 Kenichi Handa <address@hidden>
* comint.el (comint-exec-1): Don't change the coding-system for
decoding to dos-like EOL.
Index: comint.el
===================================================================
RCS file: /cvsroot/emacs/emacs/lisp/comint.el,v
retrieving revision 1.373
diff -c -r1.373 comint.el
*** comint.el 22 Jan 2008 23:53:43 -0000 1.373
--- comint.el 4 Mar 2008 11:41:44 -0000
***************
*** 800,811 ****
(let ((coding-systems (process-coding-system proc)))
(setq decoding (car coding-systems)
encoding (cdr coding-systems)))
- ;; If start-file-process decided to use some coding system for decoding
- ;; data sent from the process and the coding system doesn't
- ;; specify EOL conversion, we had better convert CRLF to LF.
- (if (vectorp (coding-system-eol-type decoding))
- (setq decoding (coding-system-change-eol-conversion decoding 'dos)
- changed t))
;; Even if start-file-process left the coding system for encoding data
;; sent from the process undecided, we had better use the same one
;; as what we use for decoding. But, we should suppress EOL
I'm not sure which side should be changed, gud or comint with
coding-system functions. At least, the above differences explain why
completion in *gdb* buffer behaves differently between Emacs 22 and
23.
YAMAMOTO Mitsuharu
address@hidden
- GDB on Mac is Broken, Leo, 2010/03/12
- Re: GDB on Mac is Broken, Glenn Morris, 2010/03/12
- Re: GDB on Mac is Broken,
YAMAMOTO Mitsuharu <=
- Re: GDB on Mac is Broken, Eli Zaretskii, 2010/03/13
- Re: GDB on Mac is Broken, YAMAMOTO Mitsuharu, 2010/03/13
- Re: GDB on Mac is Broken, Eli Zaretskii, 2010/03/13
- Re: GDB on Mac is Broken, Glenn Morris, 2010/03/13
- Re: GDB on Mac is Broken, Leo, 2010/03/13
- Re: GDB on Mac is Broken, Eli Zaretskii, 2010/03/13
- Re: GDB on Mac is Broken, Miles Bader, 2010/03/12