unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* set-process-filter-multibyte doesn't work well
@ 2008-03-08 13:51 MATSUYAMA Tomohiro
  2008-03-08 15:45 ` Andreas Schwab
  0 siblings, 1 reply; 4+ messages in thread
From: MATSUYAMA Tomohiro @ 2008-03-08 13:51 UTC (permalink / raw)
  To: emacs-devel

Hi,

GUD and other extensions using comint have a problem that
it doesn't treat multibyte string on Emacs 23.0.60.1 (and cvs head).

So, I tried to fix this problem by adding
set-process-filter-multibyte into comint-exec like:

    (let ((proc
	   (if (consp command)
	       (open-network-stream name buffer (car command) (cdr command))
	     (comint-exec-1 name buffer command switches))))
      (set-process-filter proc 'comint-output-filter)
+     (set-process-filter-multibyte proc t)
      (make-local-variable 'comint-ptyp)
      (setq comint-ptyp process-connection-type) ; t if pty, nil if pipe.
      ;; Jump to the end, and set the process mark.

But it doesn't work well. After a while, I realized that
set-process-filter-multibyte affects on nothing.

(require 'comint)
(make-comint "jdb" "jdb")
(setq proc (get-process "jdb"))
(set-process-filter-multibyte proc t)
(process-filter-multibyte-p proc) ;; => nil

I don't understand what happened in Fset_process_filter_multibyte :-(

  CHECK_PROCESS (process);
  p = XPROCESS (process);
  p->filter_multibyte = !NILP (flag);
+ printf("%d %d\n", !NILP (flag), p->filter_multibyte); /* 1 0 */
  setup_process_coding_systems (process);

Please help me.

Regards,
Matsuyama




^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2008-03-10  2:37 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-03-08 13:51 set-process-filter-multibyte doesn't work well MATSUYAMA Tomohiro
2008-03-08 15:45 ` Andreas Schwab
2008-03-08 20:57   ` Stefan Monnier
2008-03-10  2:37   ` MATSUYAMA Tomohiro

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).