From: Andreas Schwab <schwab@suse.de>
To: MATSUYAMA Tomohiro <matsuyama3@ariel-networks.com>
Cc: emacs-devel@gnu.org
Subject: Re: set-process-filter-multibyte doesn't work well
Date: Sat, 08 Mar 2008 16:45:08 +0100 [thread overview]
Message-ID: <je7igdqkxn.fsf@sykes.suse.de> (raw)
In-Reply-To: <20080308.225158.1122121162433191858.matsuyama@ariel-networks.com> (MATSUYAMA Tomohiro's message of "Sat\, 08 Mar 2008 22\:51\:58 +0900 \(JST\)")
MATSUYAMA Tomohiro <matsuyama3@ariel-networks.com> writes:
> (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);
Does this patch help? Bitfields declared as int can be either signed or
unsigned, and signed one-bit fields are not particular useful.
--- process.h 09 Jan 2008 10:29:39 +0100 1.41
+++ process.h 08 Mär 2008 16:41:00 +0100
@@ -102,28 +102,28 @@ struct Lisp_Process
/* Should we delay reading output from this process.
Initialized from `Vprocess_adaptive_read_buffering'.
0 = nil, 1 = t, 2 = other. */
- int adaptive_read_buffering : 2;
+ unsigned int adaptive_read_buffering : 2;
/* Skip reading this process on next read. */
- int read_output_skip : 1;
+ unsigned int read_output_skip : 1;
/* Non-nil means kill silently if Emacs is exited.
This is the inverse of the `query-on-exit' flag. */
- int kill_without_query : 1;
+ unsigned int kill_without_query : 1;
/* Non-nil if communicating through a pty. */
- int pty_flag : 1;
+ unsigned int pty_flag : 1;
/* Flag to set coding-system of the process buffer from the
coding_system used to decode process output. */
- int inherit_coding_system_flag : 1;
+ unsigned int inherit_coding_system_flag : 1;
/* Flag to decide the multibyteness of a string given to the
filter (if any). It is initialized to the value of
`default-enable-multibyte-characters' when the process is
generated, and can be changed by the function
`set-process-filter-multibyte'. */
- int filter_multibyte : 1;
+ unsigned int filter_multibyte : 1;
/* Record the process status in the raw form in which it comes from `wait'.
This is to avoid consing in a signal handler. The `raw_status_new'
flag indicates that `raw_status' contains a new status that still
needs to be synced to `status'. */
- int raw_status_new : 1;
+ unsigned int raw_status_new : 1;
int raw_status;
};
Andreas.
--
Andreas Schwab, SuSE Labs, schwab@suse.de
SuSE Linux Products GmbH, Maxfeldstraße 5, 90409 Nürnberg, Germany
PGP key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5
"And now for something completely different."
next prev parent reply other threads:[~2008-03-08 15:45 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-03-08 13:51 set-process-filter-multibyte doesn't work well MATSUYAMA Tomohiro
2008-03-08 15:45 ` Andreas Schwab [this message]
2008-03-08 20:57 ` Stefan Monnier
2008-03-10 2:37 ` MATSUYAMA Tomohiro
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
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=je7igdqkxn.fsf@sykes.suse.de \
--to=schwab@suse.de \
--cc=emacs-devel@gnu.org \
--cc=matsuyama3@ariel-networks.com \
/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 external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.