From: Fabián Ezequiel Gallina Date: Wed, 28 Jan 2015 04:03:45 +0000 (-0300) Subject: Merge from origin/emacs-24 X-Git-Tag: emacs-25.0.90~2572^2~46 X-Git-Url: https://code.delx.au/gnu-emacs/commitdiff_plain/4d0108a132788e0c3903eb4d5875321ed6e8eef1 Merge from origin/emacs-24 a3505cb doc/lispref/variables.texi (Creating Buffer-Local): Improve indexing (Bug#19608) d132c7b erc-backend.el: Give hook-name a default value of nil and add-to-list unconditionally. Fixes debbugs:19363 61cc7bf Fix support of non-ASCII frame titles on MS-Windows (Bug#19590) 1e5902a * filenotify.el (file-notify--descriptor): Do not cons for remote files. b1ea160 Handle watching of several files in the same directory for inotify. --- 4d0108a132788e0c3903eb4d5875321ed6e8eef1 diff --cc lisp/ChangeLog index 1f356a0021,3ce3b20246..2f16d853cb --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@@ -1,3 -1,30 +1,15 @@@ + 2015-01-13 Michael Albinus + + * filenotify.el (file-notify-descriptors, file-notify-handle-event): + Adapt docstring. + (file-notify--descriptor): New defun. + (file-notify-callback, file-notify-add-watch, file-notify-rm-watch): + Adapt docstring. Handle multiple values for + `file-notify-descriptors' entries. (Bug#18880) + + * net/tramp.el (tramp-handle-file-notify-rm-watch): Do not check + `file-notify-descriptors', the implementation has been changed. + -2015-01-13 Juri Linkov - - * comint.el (comint-history-isearch-search) - (comint-history-isearch-wrap): Use field-beginning instead of - comint-line-beginning-position. - (comint-send-input): Go to the end of the field instead of the end - of the line to accept whole multi-line input. - http://lists.gnu.org/archive/html/emacs-devel/2014-12/msg00305.html - (comint-history-isearch-message): Use field-beginning - instead of comint-line-beginning-position - that's more fixes for - http://lists.gnu.org/archive/html/emacs-devel/2014-12/msg00305.html - (comint-history-isearch-message): Fix args of isearch-message-prefix. - - [Backport] - 2015-01-09 Eli Zaretskii * net/net-utils.el (net-utils-run-program, net-utils-run-simple): diff --cc lisp/erc/ChangeLog index 28ac7d38b9,8e0c31a7de..ba5d57e4d2 --- a/lisp/erc/ChangeLog +++ b/lisp/erc/ChangeLog @@@ -1,15 -1,8 +1,20 @@@ + 2015-01-14 Dima Kogan + + * erc-backend.el (define-erc-response-handler): Give hook-name + default value of nil and add-to-list (bug#19363) + +2015-01-22 Paul Eggert + + Don't downcase system diagnostics' first letters + * erc-dcc.el (erc-dcc-server): Ignore case while comparing diagnostics. + +2014-11-23 Michael Albinus + + * erc-desktop-notifications.el (erc-notifications-bus): + New customer option. Supports cases when Emacs hasn't been + invoked in the same environment where the notifications shall go to. + (erc-notifications-notify): Use it. + 2014-11-10 Kelvin White * erc-stamp.el (erc-timestamp-intangible): Change version tag to 24.5. diff --cc src/w32fns.c index deda2eab26,5af36b9a0c..777819edd5 --- a/src/w32fns.c +++ b/src/w32fns.c @@@ -1739,26 -1710,72 +1739,70 @@@ x_change_tool_bar_height (struct frame clear_current_matrices (f); } - /* If the tool bar gets smaller, the internal border below it - has to be cleared. It was formerly part of the display - of the larger tool bar, and updating windows won't clear it. */ - if (FRAME_INTERNAL_BORDER_WIDTH (f) != 0 && FRAME_VISIBLE_P (f)) - { - int height = FRAME_INTERNAL_BORDER_WIDTH (f); - int width = FRAME_PIXEL_WIDTH (f); - int y = nlines * unit; - HDC hdc = get_frame_dc (f); + if ((height < old_height) && WINDOWP (f->tool_bar_window)) + clear_glyph_matrix (XWINDOW (f->tool_bar_window)->current_matrix); - block_input (); - w32_clear_area (f, hdc, 0, y, width, height); - release_frame_dc (f, hdc); - unblock_input (); - } + /* Recalculate toolbar height. */ + f->n_tool_bar_rows = 0; - if (delta < 0 && WINDOWP (f->tool_bar_window)) - clear_glyph_matrix (XWINDOW (f->tool_bar_window)->current_matrix); + adjust_frame_size (f, -1, -1, + (!f->tool_bar_redisplayed_once ? 1 + : (old_height == 0 || height == 0) ? 2 + : 4), + false, Qtool_bar_lines); - run_window_configuration_change_hook (f); + /* adjust_frame_size might not have done anything, garbage frame + here. */ + adjust_frame_glyphs (f); + SET_FRAME_GARBAGED (f); + if (FRAME_X_WINDOW (f)) + x_clear_under_internal_border (f); } + static void + w32_set_title_bar_text (struct frame *f, Lisp_Object name) + { + if (FRAME_W32_WINDOW (f)) + { + block_input (); + #ifdef __CYGWIN__ + GUI_FN (SetWindowText) (FRAME_W32_WINDOW (f), + GUI_SDATA (GUI_ENCODE_SYSTEM (name))); + #else + /* The frame's title many times shows the name of the file + visited in the selected window's buffer, so it makes sense to + support non-ASCII characters outside of the current system + codepage in the title. */ + if (w32_unicode_filenames) + { + Lisp_Object encoded_title = ENCODE_UTF_8 (name); + wchar_t *title_w; + int tlen = pMultiByteToWideChar (CP_UTF8, 0, SSDATA (encoded_title), + -1, NULL, 0); + + if (tlen > 0) + { + /* Windows truncates the title text beyond what fits on + a single line, so we can limit the length to some + reasonably large value, and use alloca. */ + if (tlen > 10000) + tlen = 10000; + title_w = alloca ((tlen + 1) * sizeof (wchar_t)); + pMultiByteToWideChar (CP_UTF8, 0, SSDATA (encoded_title), -1, + title_w, tlen); + title_w[tlen] = L'\0'; + SetWindowTextW (FRAME_W32_WINDOW (f), title_w); + } + else /* Conversion to UTF-16 failed, so we punt. */ + SetWindowTextA (FRAME_W32_WINDOW (f), + SSDATA (ENCODE_SYSTEM (name))); + } + else + SetWindowTextA (FRAME_W32_WINDOW (f), SSDATA (ENCODE_SYSTEM (name))); + #endif + unblock_input (); + } + } /* Change the name of frame F to NAME. If NAME is nil, set F's name to w32_id_name.