Now on revision 107665. ------------------------------------------------------------ revno: 107665 fixes bug(s): http://debbugs.gnu.org/11073 committer: Eli Zaretskii branch nick: trunk timestamp: Fri 2012-03-23 14:32:23 +0200 message: Fix bug #11073 with bidi-related crashes displaying some byte sequences. src/bidi.c (bidi_fetch_char): Use STRING_CHAR_AND_LENGTH instead of FETCH_MULTIBYTE_CHAR followed by CHAR_BYTES. Prevents crashes when fetching a multibyte character consumes more bytes than CHAR_BYTES returns, due to unification of CJK characters in string_char. diff: === modified file 'src/ChangeLog' --- src/ChangeLog 2012-03-23 12:23:14 +0000 +++ src/ChangeLog 2012-03-23 12:32:23 +0000 @@ -1,3 +1,11 @@ +2012-03-23 Eli Zaretskii + + * bidi.c (bidi_fetch_char): Use STRING_CHAR_AND_LENGTH instead of + FETCH_MULTIBYTE_CHAR followed by CHAR_BYTES. Prevents crashes + when fetching a multibyte character consumes more bytes than + CHAR_BYTES returns, due to unification of CJK characters in + string_char. (Bug#11073) + 2012-03-23 Troels Nielsen (tiny change) * process.c (wait_reading_process_output): Handle pty disconnect === modified file 'src/bidi.c' --- src/bidi.c 2012-01-11 06:53:12 +0000 +++ src/bidi.c 2012-03-23 12:32:23 +0000 @@ -932,6 +932,7 @@ EMACS_INT endpos = (string->s || STRINGP (string->lstring)) ? string->schars : ZV; struct text_pos pos; + int len; /* If we got past the last known position of display string, compute the position of the next one. That position could be at CHARPOS. */ @@ -1003,7 +1004,6 @@ normal_char: if (string->s) { - int len; if (!string->unibyte) { @@ -1018,8 +1018,6 @@ } else if (STRINGP (string->lstring)) { - int len; - if (!string->unibyte) { ch = STRING_CHAR_AND_LENGTH (SDATA (string->lstring) + bytepos, @@ -1034,8 +1032,8 @@ } else { - ch = FETCH_MULTIBYTE_CHAR (bytepos); - *ch_len = CHAR_BYTES (ch); + ch = STRING_CHAR_AND_LENGTH (BYTE_POS_ADDR (bytepos), len); + *ch_len = len; } *nchars = 1; } ------------------------------------------------------------ revno: 107664 fixes bug(s): http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10933 author: Troels Nielsen committer: Stefan Monnier branch nick: trunk timestamp: Fri 2012-03-23 08:23:14 -0400 message: * src/process.c (wait_reading_process_output): Handle pty disconnect by refraining from sending oneself a SIGCHLD. diff: === modified file 'src/ChangeLog' --- src/ChangeLog 2012-03-22 07:08:17 +0000 +++ src/ChangeLog 2012-03-23 12:23:14 +0000 @@ -1,8 +1,13 @@ +2012-03-23 Troels Nielsen (tiny change) + + * process.c (wait_reading_process_output): Handle pty disconnect + by refraining from sending oneself a SIGCHLD (bug#10933). + 2012-03-22 Chong Yidong * dispextern.h (struct it): New member string_from_prefix_prop_p. - * xdisp.c (push_prefix_prop): Renamed from push_display_prop. + * xdisp.c (push_prefix_prop): Rename from push_display_prop. Mark string as coming from a prefix property. (handle_face_prop): Use default face for prefix strings (Bug#4281). (pop_it, reseat_1): Save and restore string_from_prefix_prop_p. @@ -14,8 +19,8 @@ 2012-03-20 Eli Zaretskii * w32proc.c (Fw32_set_console_codepage) - (Fw32_set_console_output_codepage, Fw32_get_codepage_charset): Doc - fixes. + (Fw32_set_console_output_codepage, Fw32_get_codepage_charset): + Doc fixes. 2012-03-20 Chong Yidong === modified file 'src/process.c' --- src/process.c 2012-01-21 10:54:19 +0000 +++ src/process.c 2012-03-23 12:23:14 +0000 @@ -4888,15 +4888,20 @@ It can't hurt. */ else if (nread == -1 && errno == EIO) { - /* Clear the descriptor now, so we only raise the signal once. */ - FD_CLR (channel, &input_wait_mask); - FD_CLR (channel, &non_keyboard_wait_mask); - - kill (getpid (), SIGCHLD); + /* Don't do anything if only a pty, with no associated + process (bug#10933). */ + if (XPROCESS (proc)->pid != -2) { + /* Clear the descriptor now, so we only raise the signal + once. */ + FD_CLR (channel, &input_wait_mask); + FD_CLR (channel, &non_keyboard_wait_mask); + + kill (getpid (), SIGCHLD); + } } #endif /* HAVE_PTYS */ - /* If we can detect process termination, don't consider the process - gone just because its pipe is closed. */ + /* If we can detect process termination, don't consider the + process gone just because its pipe is closed. */ #ifdef SIGCHLD else if (nread == 0 && !NETCONN_P (proc) && !SERIALCONN_P (proc)) ; ------------------------------------------------------------ revno: 107663 author: Gnus developers committer: Katsumi Yamaoka branch nick: trunk timestamp: Fri 2012-03-23 11:22:21 +0000 message: Merge changes made in No Gnus 2012-03-22 Lars Magne Ingebrigtsen * auth-source.el (auth-source-netrc-create): Quote tokens that contain "#" to avoid having them interpreted as comments. 2012-03-22 Peder O. Klingenberg (tiny change) * gnus.texi (Archived Messages): Update `gnus-message-archive-group' to reflect the new default. diff: === modified file 'doc/misc/ChangeLog' --- doc/misc/ChangeLog 2012-03-10 09:40:05 +0000 +++ doc/misc/ChangeLog 2012-03-23 11:22:21 +0000 @@ -1,3 +1,8 @@ +2012-03-22 Peder O. Klingenberg (tiny change) + + * gnus.texi (Archived Messages): Update `gnus-message-archive-group' to + reflect the new default. + 2012-03-10 Eli Zaretskii * info.texi (Expert Info): Move the index entry for "Texinfo" from === modified file 'doc/misc/gnus.texi' --- doc/misc/gnus.texi 2012-02-28 08:17:21 +0000 +++ doc/misc/gnus.texi 2012-03-23 11:22:21 +0000 @@ -12526,8 +12526,8 @@ Gnus provides a few different methods for storing the mail and news you send. The default method is to use the @dfn{archive virtual server} to store the messages. If you want to disable this completely, the -@code{gnus-message-archive-group} variable should be @code{nil}, which -is the default. +@code{gnus-message-archive-group} variable should be @code{nil}. The +default is "sent.%Y-%m", which gives you one archive group per month. For archiving interesting messages in a group you read, see the @kbd{B c} (@code{gnus-summary-copy-article}) command (@pxref{Mail === modified file 'lisp/gnus/ChangeLog' --- lisp/gnus/ChangeLog 2012-03-19 14:44:14 +0000 +++ lisp/gnus/ChangeLog 2012-03-23 11:22:21 +0000 @@ -1,3 +1,8 @@ +2012-03-22 Lars Magne Ingebrigtsen + + * auth-source.el (auth-source-netrc-create): Quote tokens that contain + "#" to avoid having them interpreted as comments. + 2012-03-19 Lars Magne Ingebrigtsen * shr.el (shr-insert): Update the text state properly to avoid === modified file 'lisp/gnus/auth-source.el' --- lisp/gnus/auth-source.el 2012-02-11 22:13:29 +0000 +++ lisp/gnus/auth-source.el 2012-03-23 11:22:21 +0000 @@ -1293,7 +1293,7 @@ (secret "password") (port "port") ; redundant but clearer (t (symbol-name r))) - (if (string-match "[\" ]" data) + (if (string-match "[\"# ]" data) (format "%S" data) data))))) (setq add (concat add (funcall printer))))))) ------------------------------------------------------------ revno: 107662 committer: Stefan Monnier branch nick: trunk timestamp: Thu 2012-03-22 22:46:31 -0400 message: * lisp/newcomment.el (comment-choose-indent): No space after BOL. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2012-03-22 20:49:04 +0000 +++ lisp/ChangeLog 2012-03-23 02:46:31 +0000 @@ -1,3 +1,7 @@ +2012-03-23 Stefan Monnier + + * newcomment.el (comment-choose-indent): No space after BOL. + 2012-03-22 Sam Steingold * window.el (switch-to-prev-buffer): Revert last patch because the === modified file 'lisp/newcomment.el' --- lisp/newcomment.el 2012-02-25 03:08:39 +0000 +++ lisp/newcomment.el 2012-03-23 02:46:31 +0000 @@ -587,7 +587,7 @@ (save-excursion (end-of-line) (current-column))))) (other nil) (min (save-excursion (skip-chars-backward " \t") - (1+ (current-column))))) + (if (bolp) 0 (1+ (current-column)))))) ;; Fix up the range. (if (< max min) (setq max min)) ;; Don't move past the fill column.