Artur Malabarba [Sat, 28 Nov 2015 12:15:17 +0000 (12:15 +0000)]
* lisp/character-fold.el: Add support for multi-char matches
(character-fold-table): Now has an extra-slot. This is a second
char-table that holds multi-character matches. See docstring for
details.
(character-fold-to-regexp): Can build branching regexps when a
character's entry the extra slot of `character-fold-table' matches the
characters that succeed it.
Artur Malabarba [Sat, 28 Nov 2015 10:32:46 +0000 (10:32 +0000)]
* lisp/character-fold.el: Code simplifications
(character-fold-table): Reduce the scope of a variable.
(character-fold-to-regexp): Change logic to work directly on the
input string. It's a little easier to understand, probably
faster, and sets us up for implementing multi-char matches.
* test/automated/character-fold-tests.el
(character-fold--test-fold-to-regexp): New test.
Eli Zaretskii [Sat, 28 Nov 2015 12:32:04 +0000 (14:32 +0200)]
Document new checkdoc features
* doc/lispref/tips.texi (Tips, Library Headers): Document the
keyword-checking features of checkdoc and the commands
'checkdoc-file' and 'checkdoc-current-buffer'.
* etc/NEWS: Move the checkdoc-related entries to their own
section.
Philipp Stephani [Sat, 28 Nov 2015 11:53:32 +0000 (13:53 +0200)]
Make module-call be visible from Lisp
* src/emacs-module.c (module_make_function): Use internal--module-call.
(Finternal_module_call): Renamed from Fmodule_call. Add safety
checks.
(syms_of_module): DEFSYM save-value-p and save-pointer-p. Do
defsubr internal--module-call.
Eli Zaretskii [Sat, 28 Nov 2015 11:11:05 +0000 (13:11 +0200)]
Add etags tests for the recent Lua-related bugfix
* test/etags/lua-src/test.lua: New file, tests the issues raised
by bug#21934.
* test/etags/Makefile (LUASRC): Add test.lua.
* test/etags/ETAGS.good_1:
* test/etags/ETAGS.good_2:
* test/etags/ETAGS.good_3:
* test/etags/ETAGS.good_4:
* test/etags/ETAGS.good_5:
* test/etags/ETAGS.good_6:
* test/etags/CTAGS.good: Adapt to the new Lua test. Also, an old
regression fix, resolved around 25 May 2015, required changes to
the "good" ETAGS files.
Eli Zaretskii [Sat, 28 Nov 2015 09:23:02 +0000 (11:23 +0200)]
Improve documentation of search and replace commands
* doc/emacs/search.texi (Replacement and Lax Matches): Document
which commands are affected by 'replace-character-fold'.
(Lax Search): Add a cross reference to "Replacement and Lax
Matches". Improve wording. Fix lost extra whitespace.
(Search Customizations): Improve wording. (Bug#22036)
See also comments in
http://lists.gnu.org/archive/html/emacs-devel/2015-11/msg02376.html.
* lisp/replace.el (query-replace, query-replace-regexp)
(query-replace-regexp-eval, replace-string, replace-regexp):
Mention 'replace-character-fold' in the doc strings.
Stefan Monnier [Fri, 27 Nov 2015 20:18:29 +0000 (15:18 -0500)]
* src/emacs-module.c (struct env_storage): Delete
(struct emacs_runtime_private): Keep an emacs_env instead.
(Fmodule_load, Fmodule_call): Declare emacs_env_private separately.
(initialize_environment): Split the arg in two. Adjust all callers.
Only store the private part in Vmodule_environments.
(finalize_environment): Change the arg to only be the private env.
Adjust all callers.
Mark Oteiza [Wed, 18 Nov 2015 18:46:24 +0000 (13:46 -0500)]
Backport: Add interactive seek command.
* lisp/mpc.el (mpc-cmd-seekcur): New function.
(mpc-seek-current): New command.
(mpc-mode-menu): Add entry for mpc-seek-current
(mpc-mode-map): Bind mpc-seek-current to "g"
Artur Malabarba [Fri, 27 Nov 2015 12:01:12 +0000 (12:01 +0000)]
* lisp/character-fold.el: Allow complex chars to match their decomposition
(character-fold-table): When a character's decomposition does not
involve a formatting tag (i.e., if it has an "exact" description via
other characters), then this character is allowed to match the
decomposition.
Eli Zaretskii [Fri, 27 Nov 2015 10:51:52 +0000 (12:51 +0200)]
Improve handling of signals and 'throw' in modules
* src/emacs-module.c: Add commentary explaining how to write
functions in this file.
(module_make_global_ref, module_free_global_ref)
(module_non_local_exit_signal, module_non_local_exit_throw)
(module_make_function, module_funcall, module_intern)
(module_type_of, module_is_not_nil, module_eq)
(module_extract_integer, module_make_integer)
(module_extract_float, module_make_float)
(module_copy_string_contents, module_make_string)
(module_make_user_ptr, module_get_user_ptr, module_set_user_ptr)
(module_get_user_finalizer, module_set_user_finalizer)
(module_vec_set, module_vec_get, module_vec_size)
(module_non_local_exit_signal_1, module_non_local_exit_throw_1):
Do nothing and return with failure indication immediately, if some
previous module call signaled an error or wants to throw. See
http://lists.gnu.org/archive/html/emacs-devel/2015-11/msg02133.html
for the relevant discussions.
Phillip Lord [Thu, 19 Nov 2015 15:57:55 +0000 (15:57 +0000)]
After delete, record point location in undo.
Addresses Bug #21968.
* lisp/simple.el (undo-auto--add-boundary): Clean up code to
better support intercalating calls.
* src/keyboard.c,src/keyboard.h (command_loop_1): Store value of
point and current buffer before each command.
* src/undo.c (record_point): Now only record the point.
* src/undo.c (prepare_record): Functionality removed form
record_point.
* src/undo.c (record_delete): Check if point needs recording.
* src/undo.c (undo-boundary): Record value of point before each
boundary.
* test/automated/simple-test.el: New tests.
Eli Zaretskii [Thu, 26 Nov 2015 17:53:47 +0000 (19:53 +0200)]
Fix compiler warnings in w32.c
* src/w32.c (sys_socket): In case of error, use -1 as return
value, not INVALID_SOCKET, which causes compiler warnings.
(maybe_load_unicows_dll): Cast the return value of GetProcAddress
to the appropriate function signature, to avoid compiler errors.
Reported by Andy Moreton <andrewjmoreton@gmail.com>. (Bug#21953)
Dmitry Gutov [Thu, 26 Nov 2015 02:38:17 +0000 (04:38 +0200)]
Use find-tag-default for xref-backend-identifier-at-point
* lisp/progmodes/etags.el (find-tag-tag)
(tags-completion-at-point-function): Extract common code as
find-tag--default.
(xref-backend-identifier-at-point): Define in terms of the new
function.
Phillip Lord [Wed, 25 Nov 2015 21:39:49 +0000 (21:39 +0000)]
run_undoable_changes now called from insdel.
The original calls from inside undo.c are not always at a safe position
to call lisp, as they originate in varied positions within insdel.c.
Calling them directly from prepare_to_modify_buffer_1 ensures that they
are always run at the same point.
* undo.c (run_undoable_changes,syms_of_undo): Remove function
and symbol used.
* insdel.c (run_undoable_changes): Add function and symbol.
Eli Zaretskii [Wed, 25 Nov 2015 19:09:29 +0000 (21:09 +0200)]
Improve and update documentation of search commands
* doc/emacs/search.texi (Lax Search): Renamed from "Search Case";
all references changed. Move the description of lax-whitespace
here. Add description of the new character folding features and
additional customizable options.
(Isearch Yank): Move before "Error in Search".
(Basic Isearch): Improve wording. Add index entries. Add short
description of how to abandon search, making this subsection a
complete introduction to search basics.
(Repeat Isearch): Add index entries. Describe additional
customizable options. Describe mouse clicks.
(Isearch Yank): Add index entries. Describe mouse-2 click in echo
area. Describe more customizable options.
(Error in Isearch): Add index entries.
(Special Isearch): Move actual description of some isearch
commands to other sections, leaving here just the summary of the
commands. Add command that toggles character folding. Describe
commands, like "C-h C-h", that were previously omitted for some
reason.
(Not Exiting Isearch): Describe search-exit-option. Add index
entries.
(Word Search): Describe eww-search-word and eww-search-prefix.
(Symbol Search): Add index entries.
(Regexp Search): Describe regexp-search-ring-max.
(Replacement and Lax Matches): Renamed from "Replacement and
Case"; all references changed. Describe lax-whitespace matching
in replace commands and related options. Describe character
folding in replace commands and related options.
(Query Replace): Describe query-replace-from-to-separator and the
new history features. Add index entries for highlighted text.
Describe query-replace-skip-read-only. Describe more keys
accepted by query-replace.
(Other Repeating Search): More index entries for Occur. Describe
list-matching-lines-default-context-lines.
(Search Customizations): New section, documents customizable
options that were not documented until now.
* doc/emacs/glossary.texi (Glossary): Add "Case Folding" and
"Character Folding".
* etc/NEWS: Move search- and replace-related entries to a single
parent section.
Paul Eggert [Wed, 25 Nov 2015 07:43:43 +0000 (23:43 -0800)]
Fix module_format_fun_env when dynlib_addr fails
* src/emacs-module.c (module_format_fun_env):
exprintf doesn’t support %p, so use %x. Reported by Eli Zaretskii in:
http://lists.gnu.org/archive/html/emacs-devel/2015-11/msg02122.html
Paul Eggert [Wed, 25 Nov 2015 07:15:28 +0000 (23:15 -0800)]
Disambiguate variable help a bit better
* lisp/help-fns.el (describe-variable): Quote the
variable’s value if it is a symbol other than t or nil.
See: T.V Raman in:
http://lists.gnu.org/archive/html/emacs-devel/2015-11/msg02147.html
Alan Mackenzie [Tue, 24 Nov 2015 22:20:47 +0000 (22:20 +0000)]
CC Mode: Eliminate compiler warning messages.
* lisp/progmodes/cc-mode.el (top level): remove compile time declaration of
`font-lock-syntactic-keywords' (which CC Mode doesn't use).
* lisp/progmodes/cc-awk.el (awk-mode-syntax-table)
(c-awk-set-syntax-table-properties): Clarify comments about
`font-lock-syntactic-keywords'.
* lisp/progmodes/cc-bytecomp.el (cc-bytecomp-load): Create a dummy declaration
of this before the real (interpreted) one, to satisfy the byte compiler.
Eli Zaretskii [Tue, 24 Nov 2015 20:35:11 +0000 (22:35 +0200)]
Allow completion on dynamic module files in load-library
* lisp/files.el (load-library): Bind completion-ignored-extensions
to nil, to allow completion on dynamic modules typed as file
names. Reported by Andy Moreton <andrewjmoreton@gmail.com>.
Alan Mackenzie [Tue, 24 Nov 2015 19:44:34 +0000 (19:44 +0000)]
CC Mode: eliminate almost all byte compilation warnings
* lisp/progmodes/cc-bytecomp.el (cc-bytecomp-noruntime-functions): Remove.
(cc-require): Remove the crude hack that saved and restored
byte-compile-noruntime-functions.
(cc-conditional-require, cc-conditional-require-after-load): New macros.
* lisp/progmodes/cc-defs.el (top level): Reformulate code which loaded
cc-fix.el using the new macros in cc-bytecomp.el.
* lisp/progmodes/cc-langs.el (c++-template-syntax-table)
(c-no-parens-syntax-table): Add extra "(eval ..)"s around "'(lambda ..)"
forms to remove the superflous quotes.
Eli Zaretskii [Tue, 24 Nov 2015 19:04:56 +0000 (21:04 +0200)]
Implement dynlib_addr for MS-Windows
* src/dynlib.c [WINDOWSNT]: Include w32common.h.
<g_b_init_get_module_handle_ex> [WINDOWSNT]: New static variable.
(GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS)
(GET_MODULE_HANDLE_EX_FLAG_UNCHANGED_REFCOUNT) [WINDOWSNT]: Define
if undefined.
(dynlib_reset_last_error): Reset g_b_init_get_module_handle_ex to
zero.
(dynlib_addr) [WINDOWSNT]: Non-trivial implementation to report
the full file name of the module for a given address.
* lisp/emacs-lisp/bytecomp.el (byte-compile-initial-macro-environment):
add a comment to explain the binding of variables around a subsidiary
compilation.
(byte-compile-new-defuns): Amend the doc string.
Byte compiler: fix spurious warnings "might not be defined at runtime".
Also initialize byte-compile-noruntime-functions between runs.
* lisp/emacs-lisp/bytecomp.el (byte-compile-new-defuns): New variable.
(byte-compile-initial-macro-environment): For eval-when-compile: bind
byte-compile-unresolved-functions and byte-compile-new-defuns around
byte-compile-top-level, to prevent spurious entries being made.
(byte-compile-warn-about-unresolved-functions): Check whether function is
in byte-compile-new-defuns before emitting a warning about it.
(byte-compile-from-buffer): Initialize new variable and
byte-compile-noruntime-functions to nil.
(byte-compile-file-form-require): record all new functions defined by a
`require' in byte-compile-new-defuns.
(byte-compile-file-form-defmumble): record the new alias in
byte-compile-new-defuns.
Eli Zaretskii [Tue, 24 Nov 2015 16:08:39 +0000 (18:08 +0200)]
Fix crash at startup related to GC of font entities
* src/font.h (GC_FONT_SPEC_P, GC_FONT_ENTITY_P)
(GC_FONT_OBJECT_P, GC_XFONT_SPEC, GC_XFONT_ENTITY)
(GC_XFONT_OBJECT): New macros, for use in garbage collector.
* src/alloc.c (compact_font_cache_entry, compact_font_caches):
Don't ifdef away font cache compaction on NT_GUI, as the problems
which led to that seem to have been solved.
(compact_font_cache_entry): Use GC_FONT_SPEC_P, GC_XFONT_SPEC,
GC_XFONT_ENTITY, and GC_XFONT_OBJECT, instead of their non-GC_
cousins. (Bug#21999)
Ken Raeburn [Tue, 24 Nov 2015 06:16:10 +0000 (01:16 -0500)]
Fix kbd_buffer iteration loop in readable_events
* src/keyboard.c (readable_events): Wrap the event pointer back to the
start of the kbd_buffer array inside the top of the loop instead of
right before checking the loop condition, since kbd_fetch_ptr and
kbd_store_ptr point past the end of the array to mean that element 0
is next. (bug#21935)
Paul Eggert [Tue, 24 Nov 2015 02:48:42 +0000 (18:48 -0800)]
Port better to FreeBSD’s dlfunc vs dlsym
This avoids warnings when converting between void * and
function pointers, which strict C11 does not allow.
* configure.ac (dlfunc): Check for existence.
* src/dynlib.c (dlfunc) [!HAVE_DLFUNC]: New macro.
(dynlib_func): New function.
* src/dynlib.h (dynlib_function_ptr, dynlib_func): New decls.
* src/emacs-module.c (Fmodule_load): Use dynlib_func, not
dynlib_sym, for function pointers.
Paul Eggert [Tue, 24 Nov 2015 02:35:43 +0000 (18:35 -0800)]
Simplify use of emacs_finalizer_function type
* src/emacs-module.h (emacs_finalizer_function):
Now EMACS_NOEXCEPT. All users simplified to omit EMACS_NOEXCEPT.
(struct emacs_env_25): Use emacs_finalizer_function where applicable.
Paul Eggert [Mon, 23 Nov 2015 23:45:29 +0000 (15:45 -0800)]
module_format_fun_env fixes
* src/doprnt.c (exprintf) [HAVE_MODULES]: Also define in this case.
* src/emacs-module.c (module_format_fun_env):
Convert path and sym to UTF-8.
Don’t use VLAs, as the C11 standard says they’re optional,
and anyway they can cause core dumps with large allocations.
Use exprintf rather than snprintf, as exprintf handles arbitrarily
long strings. Simplify the code a bit.
Anders Lindgren [Mon, 23 Nov 2015 21:03:56 +0000 (22:03 +0100)]
New visible-bell for NextStep (OS X El Capitan compatible).
Instead of inverting a rectangle in the middle of the frame, use
the standard NextStep image "caution", represented using an
warning sign with an exclamation mark. (Bug#21662)
Implemented based on a suggestion drafted by Mustafa Kocaturk.
* src/nsterm.m (EmacsBell): New class for managing the caution
image. Support multiple active bells, the image is removed once
all bells have timed out.
(ns_timeout): Removed, no longer used.
(ns_ring_bell): Reimplemented to use EmacsBell.
Eli Zaretskii [Mon, 23 Nov 2015 18:08:01 +0000 (20:08 +0200)]
Improve how non-ASCII strings are accepted from modules
* src/emacs-module.c (module_make_function, module_make_string):
Build a unibyte Lisp string and then decode it by UTF-8, instead
of building a multibyte string without decoding. This is more
tolerant to deviations from UTF-8.
Philipp Stephani [Mon, 23 Nov 2015 17:46:17 +0000 (19:46 +0200)]
Fix how strings are accepted from modules
* emacs-module.c (module_make_function, module_make_string): Use
make_multibyte_string.
(module_copy_string_contents): Encode before reading the byte
size. Return false if and only if an error occurred.
Martin Rudalics [Mon, 23 Nov 2015 17:39:18 +0000 (18:39 +0100)]
Move setting FRAME_WINDOW_SIZES_CHANGED to resize_frame_windows.
* src/frame.c (adjust_frame_size): Don't set
FRAME_WINDOW_SIZES_CHANGED here ...
* src/window.c (resize_frame_windows): ... but here, as suggested
by Stefan Monnier. Also remove some dead code along the way.
Alan Mackenzie [Mon, 23 Nov 2015 14:49:23 +0000 (14:49 +0000)]
Expunge occurrences of `setq' with an odd number of arguments.
* lisp/apropos.el (apropos-documentation):
* lisp/obsolete/complete.el (PC-include-file-all-completions):
* lisp/progmodes/compile.el (compilation-goto-locus):
* lisp/vc/vc-cvs.el (vc-cvs-parse-root): (twice)
Insert missing nil at end of `setq' forms.
* lisp/emacs-lisp/bytecomp.el (byte-compile-file-form-autoload): Remove an
erroneous trailing variable name from a setq, thus allowing a compilation
properly to track functions not defined at runtime.
Alan Mackenzie [Mon, 23 Nov 2015 14:25:15 +0000 (14:25 +0000)]
Issue a warning from the byte compiler on a malformed `setq' form.
Partly fixes bug#20241.
* lisp/emacs-lisp/bytecomp.el (byte-compile-setq): Issue a warning when a
`setq' form with an odd number of arguments is compiled.
Alan Mackenzie [Mon, 23 Nov 2015 14:10:36 +0000 (14:10 +0000)]
Don't let cconv_convert insert a nil argument into a `setq' form.
Fixes bug#21983.
* lisp/emacs-lisp/cconv.el (cconv-convert): Don't silently insert a nil last
argument into a `setq' when there're an odd number of args. This enables the
byte compiler to issue a message in this case.
Eli Zaretskii [Sun, 22 Nov 2015 18:38:51 +0000 (20:38 +0200)]
Allow loading modules by 'load-file'
* src/lread.c (Fload): Call 'unbind_to' with 'Fmodule_load' as the
2nd arg, to avoid the "binding stack not balanced" error.
(syms_of_lread) <module-file-suffix>: New Lisp variable.
* lisp/files.el (module-file-suffix): Declare.
(load-file): Remove 'module-file-suffix' from
'completion-ignored-extensions', to allow completion on modules.
This change finishes what my commit of Thu Nov 19 17:32:37 2015 -0600
(git commit c59353896) started. It turns out that having INTERACTIVE
cause `post-self-insert-hook' to run (via `newline') meant `open-line'
still had the electric indent behavior, as `post-self-insert-hook'
normally contains `electric-indent-post-self-insert-function' ever
since `electric-indent-mode' has been on by default. Tracing the code
change in `open-line' is mildly twisty, because Artur Malabarba's
earliest two commits of 24 Oct 2015 first removed the `interactive'
form entirely (git commit 6939896e2) and then restored it with the new
extra "p" already added (git commit bd4f04f86), such that there is no
single-commit diff in which one sees the second "p" appear. Thus this
change is effectively a reversion of parts of each of those commits.
This could close bug#21884, at least until further discussion.
Dmitry Gutov [Sun, 22 Nov 2015 04:33:22 +0000 (06:33 +0200)]
Adhere closer to the "implicit tag name" definition
* lisp/progmodes/etags.el (etags-tags-completion-table):
Adhere closer to the "implicit tag name" definition. Simplify
the regexp. Search for the explicit tag name first, and when
not found, search locally for the implicit one. (Bug#21934)
Stefan Monnier [Sun, 22 Nov 2015 03:05:28 +0000 (22:05 -0500)]
Unrevert most of regexp reentrancy abort patch
The problem was in:
* src/syntax.c (update_syntax_table_forward): Propertize even when truncated
which is hence not unreverted.
The rest is:
* src/syntax.h (UPDATE_SYNTAX_TABLE_FORWARD_FAST):
(UPDATE_SYNTAX_TABLE_FAST): Re-introduce.
All callers in regex.c changed back to the _FAST versions.
* test/automated/message-mode-tests.el: Tweak the test to rely on auto
propertization in backward-sexp.
Paul Eggert [Sat, 21 Nov 2015 22:13:56 +0000 (14:13 -0800)]
Revert regexp reentrancy abort patch
Although the patch does fix Bug#21688 and prevents a core dump,
it also makes the message-mode-propertize test fail; see:
http://lists.gnu.org/archive/html/emacs-devel/2015-11/msg01667.html
Perhaps someone else can come up with a better fix some day.
* src/syntax.c (update_syntax_table_forward):
Propertize even when truncated.
* src/syntax.h (UPDATE_SYNTAX_TABLE_FORWARD_FAST):
(UPDATE_SYNTAX_TABLE_FAST): Remove.
All callers changed back to the non-_FAST versions.
Paul Eggert [Sat, 21 Nov 2015 18:38:19 +0000 (10:38 -0800)]
Add a few safety checks when ENABLE_CHECKING
This was motivated by the recent addition of module code,
which added some ENABLE_CHECKING-enabled checks that are
useful elsewhere too.
* src/alloc.c (compact_font_cache_entry):
* src/fns.c (sweep_weak_table):
* src/lread.c (oblookup):
Use gc_asize rather than doing it by hand.
* src/emacs-module.c (module_make_global_ref)
(module_free_global_ref, module_vec_size):
Omit assertions that lisp.h now checks.
* src/lisp.h (XFASTINT, ASIZE): In functional implementations,
check that the result is nonnegative. Use eassume, as this
info can help a bit when optimizing production code.
(XSYMBOL) [!USE_LSB_TAG]: Assert that argument is a symbol,
to be consistent with the USE_LSB_TAG case.
(gc_asize): New function, when ASIZE is needed in the gc.
(gc_aset): Use it.
(HASH_TABLE_P): Move definition up, so that it can be used ...
(XHASH_TABLE): ... here, to assert that the arg is a hash table.
Eli Zaretskii [Sat, 21 Nov 2015 17:44:02 +0000 (19:44 +0200)]
Simplify recording of main thread's ID on MS-Windows
* src/w32term.c (w32_initialize):
* src/w32console.c (initialize_w32_display):
* src/w32fns.c (globals_of_w32fns): Don't record the main thread
ID independently for each type of session (GUI, TTY, batch).
* src/w32term.c (w32_init_main_thread): New function, records the
main thread's thread ID.
* src/w32term.h: Add prototype for w32_init_main_thread.
* src/emacs.c (main) [WINDOWSNT]: Call w32_init_main_thread.
* src/emacs-module.c [WINDOWSNT]: Rename main_thread_id to
main_thread, for consistency with other threading libraries. All
users changed. Include w32term.h.
(check_main_thread) [WINDOWSNT]: Simplify the test: no need to
make sure the main thread is alive, as we hold a handle on it
opened by w32_init_main_thread.
(module_init) [WINDOWSNT]: Reuse the thread ID recorded by
w32_init_main_thread, instead of calling the requisite APIs once
more.
Eli Zaretskii [Sat, 21 Nov 2015 11:30:30 +0000 (13:30 +0200)]
Call 'window-size-change-functions' for mini-windows
* src/window.c (grow_mini_window, shrink_mini_window): Set the
frame's 'window_sizes_changed' flag.
* src/xdisp.c (redisplay_internal): Call the hooks on
'window-size-change-functions' if the call to 'echo_area_display'
sets the frame's 'window_sizes_changed' flag.
(syms_of_xdisp) <window-size-change-functions>:
Update doc string to indicate the mini-window resizes trigger a
call to the hooks, and don't promise that will happen "before
redisplay". (Bug#19576, Bug#21333)
* doc/lispref/windows.texi (Window Hooks): Update the description
of 'window-size-change-functions'.