Now on revision 107670. ------------------------------------------------------------ revno: 107670 fixes bug(s): http://debbugs.gnu.org/9960 committer: Eli Zaretskii branch nick: trunk timestamp: Sat 2012-03-24 15:43:21 +0200 message: Fix bug #9960 with MSVC build on MS-Windows. src/s/ms-w32.h (tzname): Include time.h before redirecting to _tzname. Fixes the MSVC build. diff: === modified file 'src/ChangeLog' --- src/ChangeLog 2012-03-24 09:29:00 +0000 +++ src/ChangeLog 2012-03-24 13:43:21 +0000 @@ -1,3 +1,8 @@ +2012-03-24 Eli Zaretskii + + * s/ms-w32.h (tzname): Include time.h before redirecting to + _tzname. Fixes the MSVC build. (Bug#9960) + 2012-03-24 Andreas Schwab * xdisp.c (produce_glyphless_glyph): Limit length of acronym to 6 === modified file 'src/s/ms-w32.h' --- src/s/ms-w32.h 2012-01-19 07:21:25 +0000 +++ src/s/ms-w32.h 2012-03-24 13:43:21 +0000 @@ -286,6 +286,12 @@ #define stricmp _stricmp #define tzset _tzset +/* Include time.h before redirecting tzname, since MSVC's time.h + defines _tzname to call a function, but also declares tzname a + 2-element array. Having the redirection before including the + header thus has the effect of declaring a function that returns an + array, and triggers an error message. */ +#include #define tzname _tzname #if !defined (_MSC_VER) || (_MSC_VER < 1400) #undef utime ------------------------------------------------------------ revno: 107669 author: Simon Leinen committer: Chong Yidong branch nick: trunk timestamp: Sat 2012-03-24 21:23:23 +0800 message: * vc/vc.el (vc-merge): Fix a prompt. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2012-03-24 11:05:39 +0000 +++ lisp/ChangeLog 2012-03-24 13:23:23 +0000 @@ -1,8 +1,14 @@ +2012-03-24 Simon Leinen + + * vc/vc.el (vc-merge): Fix a prompt. + 2012-03-24 Chong Yidong * mwheel.el (mwheel-scroll): Call deactivate-mark at the right point (Bug#9623). + * button.el (button-at): Minor addition to docstring. + 2012-03-23 Stefan Monnier * newcomment.el (comment-choose-indent): No space after BOL. === modified file 'lisp/vc/vc.el' --- lisp/vc/vc.el 2012-02-09 06:25:18 +0000 +++ lisp/vc/vc.el 2012-03-24 13:23:23 +0000 @@ -1922,7 +1922,7 @@ (setq first-revision (vc-read-revision (concat "Merge " file - "from branch or revision " + " from branch or revision " "(default news on current branch): ") (list file) backend)) ------------------------------------------------------------ revno: 107668 fixes bug(s): http://debbugs.gnu.org/9623 committer: Chong Yidong branch nick: trunk timestamp: Sat 2012-03-24 19:05:39 +0800 message: * mwheel.el (mwheel-scroll): Call deactivate-mark at the right point. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2012-03-23 02:46:31 +0000 +++ lisp/ChangeLog 2012-03-24 11:05:39 +0000 @@ -1,3 +1,8 @@ +2012-03-24 Chong Yidong + + * mwheel.el (mwheel-scroll): Call deactivate-mark at the right + point (Bug#9623). + 2012-03-23 Stefan Monnier * newcomment.el (comment-choose-indent): No space after BOL. === modified file 'lisp/mwheel.el' --- lisp/mwheel.el 2012-01-19 07:21:25 +0000 +++ lisp/mwheel.el 2012-03-24 11:05:39 +0000 @@ -232,12 +232,17 @@ (end-of-buffer (while t (funcall mwheel-scroll-up-function))))) (t (error "Bad binding in mwheel-scroll")))) (if curwin (select-window curwin))) - ;; If there is a temporarily active region, deactivate it iff + ;; If there is a temporarily active region, deactivate it if ;; scrolling moves point. (when opoint (with-current-buffer buffer (when (/= opoint (point)) - (deactivate-mark))))) + ;; Call `deactivate-mark' at the original position, so that + ;; the original region is saved to the X selection. + (let ((newpoint (point))) + (goto-char opoint) + (deactivate-mark) + (goto-char newpoint)))))) (when (and mouse-wheel-click-event mouse-wheel-inhibit-click-time) (if mwheel-inhibit-click-event-timer (cancel-timer mwheel-inhibit-click-event-timer) ------------------------------------------------------------ revno: 107667 committer: Andreas Schwab branch nick: emacs timestamp: Sat 2012-03-24 10:29:00 +0100 message: * xdisp.c (produce_glyphless_glyph): Limit length of acronym to 6 characters. diff: === modified file 'src/ChangeLog' --- src/ChangeLog 2012-03-24 08:32:50 +0000 +++ src/ChangeLog 2012-03-24 09:29:00 +0000 @@ -1,5 +1,8 @@ 2012-03-24 Andreas Schwab + * xdisp.c (produce_glyphless_glyph): Limit length of acronym to 6 + characters. + * xterm.c (XTread_socket): Only modify handling_signal if !SYNC_INPUT. (Bug#11080) === modified file 'src/xdisp.c' --- src/xdisp.c 2012-03-22 07:08:17 +0000 +++ src/xdisp.c 2012-03-24 09:29:00 +0000 @@ -24013,7 +24013,7 @@ sprintf (buf, "%0*X", it->c < 0x10000 ? 4 : 6, it->c); str = buf; } - for (len = 0; str[len] && ASCII_BYTE_P (str[len]); len++) + for (len = 0; str[len] && ASCII_BYTE_P (str[len]) && len < 6; len++) code[len] = font->driver->encode_char (font, str[len]); upper_len = (len + 1) / 2; font->driver->text_extents (font, code, upper_len, ------------------------------------------------------------ revno: 107666 committer: Andreas Schwab branch nick: emacs timestamp: Sat 2012-03-24 09:32:50 +0100 message: Fixes: debbugs:11080 * xterm.c (XTread_socket): Only modify handling_signal if !SYNC_INPUT. diff: === modified file 'src/ChangeLog' --- src/ChangeLog 2012-03-23 12:32:23 +0000 +++ src/ChangeLog 2012-03-24 08:32:50 +0000 @@ -1,3 +1,8 @@ +2012-03-24 Andreas Schwab + + * xterm.c (XTread_socket): Only modify handling_signal if + !SYNC_INPUT. (Bug#11080) + 2012-03-23 Eli Zaretskii * bidi.c (bidi_fetch_char): Use STRING_CHAR_AND_LENGTH instead of === modified file 'src/xterm.c' --- src/xterm.c 2012-02-22 09:08:36 +0000 +++ src/xterm.c 2012-03-24 08:32:50 +0000 @@ -7099,7 +7099,8 @@ /* Read events coming from the X server. - This routine is called by the SIGIO handler. + This routine is called by the SIGIO handler only if SYNC_INPUT is + not defined. We return as soon as there are no more events to be read. We return the number of characters stored into the buffer, @@ -7133,7 +7134,9 @@ /* So people can tell when we have read the available input. */ input_signal_count++; +#ifndef SYNC_INPUT ++handling_signal; +#endif /* For debugging, this gives a way to fake an I/O error. */ if (terminal->display_info.x == XTread_socket_fake_io_error) @@ -7223,7 +7226,9 @@ pending_autoraise_frame = 0; } +#ifndef SYNC_INPUT --handling_signal; +#endif UNBLOCK_INPUT; return count; ------------------------------------------------------------ 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; }