Make --enable-gcc-warnings a bit pickier, by also using -Wswitch.
* configure.ac (WERROR_CFLAGS): Don’t add -Wno-switch.
* lib-src/etags.c (main, consider_token, C_entries):
* src/coding.c (encode_invocation_designation):
* src/data.c (Ftype_of):
* src/eval.c (Fdefvaralias, default_toplevel_binding)
(Fbacktrace__locals, mark_specpdl):
* src/lisp.h (record_xmalloc):
* src/syntax.c (scan_lists, scan_sexps_forward):
* src/window.c (window_relative_x_coord):
* src/xdisp.c (push_it, pop_it):
* src/xterm.c (xg_scroll_callback, x_check_fullscreen):
Error out or do nothing (as appropriate) if a switch statement
with an enum value does not cover all of the enum.
* src/dispextern.h (struct iterator_stack_entry.u.comp):
Remove unused member discovered by using -Wswitch.
* src/lisp.h (record_xmalloc): Add a ‘+ 0’ to pacify -Wswitch.
* src/vm-limit.c (check_memory_limits):
Simplify warning-diagnostic computation by using a table.
* lib-src/etags.c (fatal): Now printf-like. All callers changed.
Also, now static; not clear why it needed to be extern.
(verror): New function, with most of the old contents of ‘error’.
(fatal, error): Use it.
* lisp/textmodes/reftex-vars.el (reftex-extra-bindings): Document that
the variable only has an effect at load-time.
* doc/misc/reftex.texi (Key Bindings): Ditto.
* test/automated/auto-revert-tests.el (auto-revert--timeout):
Make it a defconst.
(auto-revert--wait-for-revert): New defun.
(auto-revert-test00-auto-revert-mode)
(auto-revert-test01-auto-revert-tail-mode)
(auto-revert-test02-auto-revert-mode-dired): Use it.
Use it everywhere "\\(\\sw\\|\\s_\\|\\\\.\\)+" was used.
(cl-lib-fdefs): Add defgeneric.
(cl-kw): Add all elements of eieio-kw and cl-lib-kw.
(eieio-kw, cl-lib-kw, el-kw): Remove.
The manuals often used quotes ``...'' when it is better to use @dfn or
@code or capitalized words or no quoting at all. For example, there is
no need for the `` and '' in “if a variable has one effect for
@code{nil} values and another effect for ``non-@code{nil}'' values”.
Reword the Emacs, Lisp intro, and Lisp reference manuals to eliminate
unnecessary quoting like this, and to use @dfn etc. instead when called
for (Bug#21472).
* src/inotify.c (report_inotify_error): New function. Clone of
report_w32notify_error.
(inotify_callback, symbol_to_inotifymask, Finotify_add_watch)
(Finotify_rm_watch): Use it.
* test/automated/file-notify-tests.el
(file-notify-test04-file-validity): Move the directory deletion
out of the file-notify--test-with-events macro.
(file-notify-test04-file-validity)
(file-notify-test05-dir-validity): Enlarge the timeout of
read-event to 0.5, as 0.1 is borderline on w32. (Bug#21432)
* etc/images/connect.pbm: New file.
* etc/images/custom/down-pushed.pbm: New file.
* etc/images/custom/down.pbm: New file.
* etc/images/custom/right-pushed.pbm: New file.
* etc/images/custom/right.pbm: New file.
* etc/images/describe.pbm: New file.
* etc/images/disconnect.pbm: New file.
* etc/images/ezimage/bits.pbm: New file.
* etc/images/ezimage/bitsbang.pbm: New file.
* etc/images/ezimage/box-minus.pbm: New file.
* etc/images/ezimage/box-plus.pbm: New file.
* etc/images/ezimage/box.pbm: New file.
* etc/images/ezimage/checkmark.pbm: New file.
* etc/images/ezimage/dir-minus.pbm: New file.
* etc/images/ezimage/dir-plus.pbm: New file.
* etc/images/ezimage/dir.pbm: New file.
* etc/images/ezimage/doc-minus.pbm: New file.
* etc/images/ezimage/doc-plus.pbm: New file.
* etc/images/ezimage/doc.pbm: New file.
* etc/images/ezimage/info.pbm: New file.
* etc/images/ezimage/key.pbm: New file.
* etc/images/ezimage/label.pbm: New file.
* etc/images/ezimage/lock.pbm: New file.
* etc/images/ezimage/mail.pbm: New file.
* etc/images/ezimage/page-minus.pbm: New file.
* etc/images/ezimage/page-plus.pbm: New file.
* etc/images/ezimage/page.pbm: New file.
* etc/images/ezimage/tag-gt.pbm: New file.
* etc/images/ezimage/tag-minus.pbm: New file.
* etc/images/ezimage/tag-plus.pbm: New file.
* etc/images/ezimage/tag-type.pbm: New file.
* etc/images/ezimage/tag-v.pbm: New file.
* etc/images/ezimage/tag.pbm: New file.
* etc/images/ezimage/unlock.pbm: New file.
* etc/images/gnus/important.pbm: New file.
* etc/images/gnus/mail-send.pbm: New file.
* etc/images/gnus/receipt.pbm: New file.
* etc/images/gnus/toggle-subscription.pbm: New file.
* etc/images/gnus/unimportant.pbm: New file.
* etc/images/gud/all.pbm: New file.
* etc/images/gud/rcont.pbm: New file.
* etc/images/gud/recstart.pbm: New file.
* etc/images/gud/recstop.pbm: New file.
* etc/images/gud/rfinish.pbm: New file.
* etc/images/gud/rnext.pbm: New file.
* etc/images/gud/rnexti.pbm: New file.
* etc/images/gud/rstep.pbm: New file.
* etc/images/gud/rstepi.pbm: New file.
* etc/images/gud/thread.pbm: New file.
* etc/images/lock-broken.pbm: New file.
* etc/images/lock-ok.pbm: New file.
* etc/images/lock.pbm: New file.
* etc/images/mail/copy.pbm: New file.
* etc/images/mail/forward.pbm: New file.
* etc/images/mail/not-spam.pbm: New file.
* etc/images/mail/outbox.pbm: New file.
* etc/images/mail/preview.pbm: New file.
* etc/images/mail/save-draft.pbm: New file.
* etc/images/mh-logo.pbm: New file.
* etc/images/mpc/add.pbm: New file.
* etc/images/mpc/ffwd.pbm: New file.
* etc/images/mpc/next.pbm: New file.
* etc/images/mpc/pause.pbm: New file.
* etc/images/mpc/play.pbm: New file.
* etc/images/mpc/prev.pbm: New file.
* etc/images/mpc/rewind.pbm: New file.
* etc/images/mpc/stop.pbm: New file.
* etc/images/redo.pbm: New file.
* etc/images/smilies/braindamaged.pbm: New file.
* etc/images/smilies/cry.pbm: New file.
* etc/images/smilies/dead.pbm: New file.
* etc/images/smilies/evil.pbm: New file.
* etc/images/smilies/forced.pbm: New file.
* etc/images/smilies/grin.pbm: New file.
* etc/images/smilies/indifferent.pbm: New file.
* etc/images/sort-ascending.pbm: New file.
* etc/images/sort-column-ascending.pbm: New file.
* etc/images/sort-criteria.pbm: New file.
* etc/images/sort-descending.pbm: New file.
* etc/images/sort-row-ascending.pbm: New file.
* etc/images/unchecked.pbm: New file.
* etc/images/zoom-in.pbm: New file.
*: New file.
: New file.
: New file.
* Please enter the commit message for your changes. Lines starting: New file.
* with '#' will be ignored, and an empty message aborts the commit.: New file.
* On branch master: New file.
* Your branch is up-to-date with 'origin/master'.: New file.
*: New file.
* Changes to be committed:: New file.
* modified: etc/images/README: New file.
* etc/images/connect.pbm: New file.
* etc/images/custom/down-pushed.pbm: New file.
* etc/images/custom/down.pbm: New file.
* etc/images/custom/right-pushed.pbm: New file.
* etc/images/custom/right.pbm: New file.
* etc/images/describe.pbm: New file.
* etc/images/disconnect.pbm: New file.
* etc/images/ezimage/bits.pbm: New file.
* etc/images/ezimage/bitsbang.pbm: New file.
* etc/images/ezimage/box-minus.pbm: New file.
* etc/images/ezimage/box-plus.pbm: New file.
* etc/images/ezimage/box.pbm: New file.
* etc/images/ezimage/checkmark.pbm: New file.
* etc/images/ezimage/dir-minus.pbm: New file.
* etc/images/ezimage/dir-plus.pbm: New file.
* etc/images/ezimage/dir.pbm: New file.
* etc/images/ezimage/doc-minus.pbm: New file.
* etc/images/ezimage/doc-plus.pbm: New file.
* etc/images/ezimage/doc.pbm: New file.
* etc/images/ezimage/info.pbm: New file.
* etc/images/ezimage/key.pbm: New file.
* etc/images/ezimage/label.pbm: New file.
* etc/images/ezimage/lock.pbm: New file.
* etc/images/ezimage/mail.pbm: New file.
* etc/images/ezimage/page-minus.pbm: New file.
* etc/images/ezimage/page-plus.pbm: New file.
* etc/images/ezimage/page.pbm: New file.
* etc/images/ezimage/tag-gt.pbm: New file.
* etc/images/ezimage/tag-minus.pbm: New file.
* etc/images/ezimage/tag-plus.pbm: New file.
* etc/images/ezimage/tag-type.pbm: New file.
* etc/images/ezimage/tag-v.pbm: New file.
* etc/images/ezimage/tag.pbm: New file.
* etc/images/ezimage/unlock.pbm: New file.
* etc/images/gnus/important.pbm: New file.
* etc/images/gnus/mail-send.pbm: New file.
* etc/images/gnus/receipt.pbm: New file.
* etc/images/gnus/toggle-subscription.pbm: New file.
* etc/images/gnus/unimportant.pbm: New file.
* etc/images/gud/all.pbm: New file.
* etc/images/gud/rcont.pbm: New file.
* etc/images/gud/recstart.pbm: New file.
* etc/images/gud/recstop.pbm: New file.
* etc/images/gud/rfinish.pbm: New file.
* etc/images/gud/rnext.pbm: New file.
* etc/images/gud/rnexti.pbm: New file.
* etc/images/gud/rstep.pbm: New file.
* etc/images/gud/rstepi.pbm: New file.
* etc/images/gud/thread.pbm: New file.
* etc/images/lock-broken.pbm: New file.
* etc/images/lock-ok.pbm: New file.
* etc/images/lock.pbm: New file.
* etc/images/mail/copy.pbm: New file.
* etc/images/mail/forward.pbm: New file.
* etc/images/mail/not-spam.pbm: New file.
* etc/images/mail/outbox.pbm: New file.
* etc/images/mail/preview.pbm: New file.
* etc/images/mail/save-draft.pbm: New file.
* etc/images/mh-logo.pbm: New file.
* etc/images/mpc/add.pbm: New file.
* etc/images/mpc/ffwd.pbm: New file.
* etc/images/mpc/next.pbm: New file.
* etc/images/mpc/pause.pbm: New file.
* etc/images/mpc/play.pbm: New file.
* etc/images/mpc/prev.pbm: New file.
* etc/images/mpc/rewind.pbm: New file.
* etc/images/mpc/stop.pbm: New file.
* etc/images/redo.pbm: New file.
* etc/images/smilies/braindamaged.pbm: New file.
* etc/images/smilies/cry.pbm: New file.
* etc/images/smilies/dead.pbm: New file.
* etc/images/smilies/evil.pbm: New file.
* etc/images/smilies/forced.pbm: New file.
* etc/images/smilies/grin.pbm: New file.
* etc/images/smilies/indifferent.pbm: New file.
* etc/images/sort-ascending.pbm: New file.
* etc/images/sort-column-ascending.pbm: New file.
* etc/images/sort-criteria.pbm: New file.
* etc/images/sort-descending.pbm: New file.
* etc/images/sort-row-ascending.pbm: New file.
* etc/images/unchecked.pbm: New file.
* etc/images/zoom-in.pbm: New file.
* etc/images/README: Update instructions for PBM files.
* etc/images/separator.pbm: New file. Having it avoids the side
effect of changing the tool-bar height when the default font's size
changes and XPM image support is not available, due to the SPC
characters that are left in the Lisp string used to display the tool
bar, because there are no images to display instead of those SPC
characters.
* lisp/mail/mailclient.el (mailclient-send-it):
Also fix the case when mailclient-place-body-on-clipboard-flag
is non-nil. Problem reported by Eli Zaretskii (Bug#21471#37).
* lisp/filenotify.el (file-notify-rm-watch): Ignore `file-notify-error'.
* src/inotify.c (Finotify_valid_p): Adapt docstring.
* test/automated/file-notify-tests.el ()
(file-notify-test03-autorevert)
(file-notify-test04-file-validity)
(file-notify-test04-file-validity-remote)
(file-notify-test05-dir-validity)
(file-notify-test05-dir-validity-remote): Adapt docstring.
(file-notify-test04-file-validity): Let events arrive before
calling final `file-notify-valid-p'. Do not ignore errors.
(file-notify-test05-dir-validity): Do not manipulate
`temporary-file-directory', it isn't necessary. Let events arrive
before calling final `file-notify-valid-p'. Do not ignore errors.
* lisp/mail/mailclient.el (mailclient-encode-string-as-url):
Use RFC 6068’s list of unreserved characters.
(mailclient-send-it): When encoding the body as a URL,
first decode it as per Content-Type: and Content-Transfer-Encoding:,
as URLs must use percent-encoded UTF-8 (Bug#21471).
* doc/misc/url.texi (mailto): Update RFC number.
* src/w32notify.c (report_w32notify_error): New function.
(Fw32notify_add_watch, Fw32notify_rm_watch): Use it to report
errors, instead of calling report_file_error. (Bug#21432)
Problem reported by Ashish SHUKLA in:
http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00531.html
* configure.ac: Check for struct unipair.unicode instead of for
<linux/kd.h>, since that’s more specific to what the code actually needs.
* src/terminal.c: Use HAVE_STRUCT_UNIPAIR_UNICODE, not HAVE_LINUX_KD_H.