From: John Wiegley Date: Wed, 30 Dec 2015 05:40:28 +0000 (-0800) Subject: Merge emacs-25 into master (using imerge) X-Git-Url: https://code.delx.au/gnu-emacs/commitdiff_plain/9f2f14a0725211b13a744573344636b57b9c98b9 Merge emacs-25 into master (using imerge) --- 9f2f14a0725211b13a744573344636b57b9c98b9 diff --cc .gitignore index 682179150a,34b0c02fec..e544b10808 --- a/.gitignore +++ b/.gitignore @@@ -42,10 -42,11 +42,11 @@@ InfoPlist.string Makefile makefile !etc/refcards/Makefile + !modules/mod-test/Makefile -!test/automated/data/flymake/Makefile -!test/indent/Makefile -!test/etags/Makefile -!test/etags/make-src/Makefile +!test/lisp/progmodes/flymake-resources/Makefile +!test/manual/indent/Makefile +!test/manual/etags/Makefile +!test/manual/etags/make-src/Makefile /*.cache /confdefs.h /config.status diff --cc configure.ac index 0b7b403248,a5b9bd3d37..94007a4953 --- a/configure.ac +++ b/configure.ac @@@ -353,9 -353,10 +353,10 @@@ OPTION_DEFAULT_ON([gsettings],[don't co OPTION_DEFAULT_ON([selinux],[don't compile with SELinux support]) OPTION_DEFAULT_ON([gnutls],[don't use -lgnutls for SSL/TLS support]) OPTION_DEFAULT_ON([zlib],[don't compile with zlib decompression support]) + OPTION_DEFAULT_OFF([modules],[compile with dynamic modules support]) AC_ARG_WITH([file-notification],[AS_HELP_STRING([--with-file-notification=LIB], - [use a file notification library (LIB one of: yes, gfile, inotify, w32, no)])], + [use a file notification library (LIB one of: yes, inotify, kqueue, gfile, w32, no)])], [ case "${withval}" in y | ye | yes ) val=yes ;; n | no ) val=no ;; diff --cc etc/NEWS index e4db425638,10d516bc23..05db9980ee --- a/etc/NEWS +++ b/etc/NEWS @@@ -166,19 -161,18 +174,26 @@@ the variable `dir-locals-file' for mor added via the new Network Security Manager (NSM) and controlled via the `network-security-level' variable. +--- +** International domain names (IDNA) are now encoded via the new +puny.el library, so that one can visit web sites like +"http://méxico.icom.museum". + + ** If Emacs isn't built with TLS support, an external TLS-capable + program is used instead. This program used to be run in --insecure + mode by default, but has now changed to be secure instead, and will + fail if you try to connect to non-verifiable hosts. This is + controlled by the `tls-program' variable. + + +++ ** C-h l now also lists the commands that were run. -+++ -** x-select-enable-clipboard is renamed select-enable-clipboard -and x-select-enable-primary is renamed select-enable-primary. +** The new M-s M-w key binding uses eww to search the web for the +text in the region. + +** M-x suggests shorthands and ignores obsolete commands for completion. +** x-select-enable-clipboard is renamed select-enable-clipboard. +x-select-enable-primary and renamed select-enable-primary. Additionally they both now apply to all systems (OSX, GNUstep, Windows, you name it), with the proviso that on some systems (e.g. Windows) select-enable-primary is ineffective since the system doesn't @@@ -375,28 -382,19 +403,22 @@@ additionally need to add `getSelection ** ERC - *** Hide message types by network or channel. `erc-hide-list' will - hide all messages of the specified type, where `erc-network-hide-list' - and `erc-channel-hide-list' will only hide the specified message types - for the respective specified targets. + +++ + *** ERC can now hide message types by network or channel. + `erc-hide-list' will hide all messages of the specified type, while + `erc-network-hide-list' and `erc-channel-hide-list' will only hide the + specified message types for the respective specified targets. +*** New variable `erc-default-port-tls' used to connect to TLS IRC +servers. + ** Midnight-mode - *** `midnight-mode' is a proper minor mode. - *** clean-buffer-*-regexps can now specify buffers via predicate functions. - ** In xterms, killing text now also sets the CLIPBOARD/PRIMARY selection - in the surrounding GUI (using the OSC-52 escape sequence). This only works - if your xterm supports it and enables the `allowWindowOps' options (disabled - by default at least in Debian, for security reasons). - - Similarly, you can yank the CLIPBOARD/PRIMARY selection (using the OSC-52 - escape sequence) if your xterm has the feature enabled but for that you - additionally need to add `getSelection' to `xterm-extra-capabilities'. + --- + *** `midnight-mode' is now a proper minor mode. - ** xterm-mouse-mode now supports mouse-tracking (if your xterm supports it). + --- + *** clean-buffer-*-regexps can now specify buffers via predicate functions. ** package.el @@@ -907,10 -1027,18 +1056,22 @@@ compress many marked files into a singl compression command is determined from the new `dired-compress-files-alist' variable. ++++ +*** `W' is now bound to `browse-url-of-dired-file', and is useful for +viewing HTML files and the like. + + ** Tabulated List Mode + + +++ + *** It is now safe for a mode that derives `tabulated-list-mode' to not + call `tabulated-list-init-header', in which case it will have no + header. + + +++ + *** `tabulated-list-print' takes a second optional argument, update, + which specifies an alternative printing method which is faster when + few or no entries have changed. + ** Obsolete packages --- diff --cc src/Makefile.in index d7ad395457,8357655af3..f96ebb2aee --- a/src/Makefile.in +++ b/src/Makefile.in @@@ -469,7 -473,7 +474,7 @@@ LIBES = $(LIBS) $(W32_LIBS) $(LIBS_GNUS $(LIBS_TERMCAP) $(GETLOADAVG_LIBS) $(SETTINGS_LIBS) $(LIBSELINUX_LIBS) \ $(FREETYPE_LIBS) $(FONTCONFIG_LIBS) $(LIBOTF_LIBS) $(M17N_FLT_LIBS) \ $(LIBGNUTLS_LIBS) $(LIB_PTHREAD) \ - $(NOTIFY_LIBS) $(LIB_MATH) $(LIBZ) - $(GFILENOTIFY_LIBS) $(LIB_MATH) $(LIBZ) $(LIBMODULES) ++ $(NOTIFY_LIBS) $(LIB_MATH) $(LIBZ) $(LIBMODULES) $(leimdir)/leim-list.el: bootstrap-emacs$(EXEEXT) $(MAKE) -C ../leim leim-list.el EMACS="$(bootstrap_exe)" diff --cc test/lisp/abbrev-tests.el index 17aea5d0f8,6163e0b2c3..37917ec535 --- a/test/lisp/abbrev-tests.el +++ b/test/lisp/abbrev-tests.el @@@ -26,37 -29,15 +29,45 @@@ (require 'ert) (require 'abbrev) + (require 'seq) + + ;; set up test abbrev table and abbrev entry + (defun setup-test-abbrev-table () + (defvar ert-test-abbrevs nil) + (define-abbrev-table 'ert-test-abbrevs '(("a-e-t" "abbrev-ert-test"))) + (abbrev-table-put ert-test-abbrevs :ert-test "ert-test-value") + ert-test-abbrevs) +(ert-deftest abbrev-table-p-test () + (should-not (abbrev-table-p 42)) + (should-not (abbrev-table-p "aoeu")) + (should-not (abbrev-table-p '())) + (should-not (abbrev-table-p [])) + ;; Missing :abbrev-table-modiff counter: + (should-not (abbrev-table-p (obarray-make))) + (let* ((table (obarray-make))) + (abbrev-table-put table :abbrev-table-modiff 42) + (should (abbrev-table-p table)))) + +(ert-deftest abbrev-make-abbrev-table-test () + ;; Table without properties: + (let ((table (make-abbrev-table))) + (should (abbrev-table-p table)) + (should (= (length table) obarray-default-size))) + ;; Table with one property 'foo with value 'bar: + (let ((table (make-abbrev-table '(foo bar)))) + (should (abbrev-table-p table)) + (should (= (length table) obarray-default-size)) + (should (eq (abbrev-table-get table 'foo) 'bar)))) + +(ert-deftest abbrev-table-get-put-test () + (let ((table (make-abbrev-table))) + (should-not (abbrev-table-get table 'foo)) + (should (= (abbrev-table-put table 'foo 42) 42)) + (should (= (abbrev-table-get table 'foo) 42)) + (should (eq (abbrev-table-put table 'foo 'bar) 'bar)) + (should (eq (abbrev-table-get table 'foo) 'bar)))) + (ert-deftest copy-abbrev-table-test () (defvar foo-abbrev-table nil) ; Avoid compiler warning (define-abbrev-table 'foo-abbrev-table @@@ -70,5 -51,48 +81,47 @@@ (should (abbrev-table-p new-foo-abbrev-table))) (should-not (string-equal (buffer-name) "*Backtrace*"))) + (ert-deftest kill-all-abbrevs-test () + "Test undefining all defined abbrevs" + (unless noninteractive + (ert-skip "Cannot test kill-all-abbrevs in interactive mode")) + + (let ((num-tables 0)) + ;; ensure at least one abbrev exists + (should (abbrev-table-p (setup-test-abbrev-table))) + (setf num-tables (length abbrev-table-name-list)) + (kill-all-abbrevs) + + ;; no tables should have been removed/added + (should (= num-tables (length abbrev-table-name-list))) + ;; number of empty tables should be the same as number of tables + (should (= num-tables (length (seq-filter + (lambda (table) + (abbrev-table-empty-p (symbol-value table))) + abbrev-table-name-list)))))) + + (ert-deftest abbrev-table-name-test () + "Test returning name of abbrev-table" + (let ((ert-test-abbrevs (setup-test-abbrev-table)) + (no-such-table nil)) + (should (equal 'ert-test-abbrevs (abbrev-table-name ert-test-abbrevs))) + (should (equal nil (abbrev-table-name no-such-table))))) + + (ert-deftest clear-abbrev-table-test () + "Test clearing single abbrev table" + (let ((ert-test-abbrevs (setup-test-abbrev-table))) + (should (equal "a-e-t" (symbol-name + (abbrev-symbol "a-e-t" ert-test-abbrevs)))) + (should (equal "abbrev-ert-test" (symbol-value + (abbrev-symbol "a-e-t" ert-test-abbrevs)))) + + (clear-abbrev-table ert-test-abbrevs) + + (should (equal "nil" (symbol-name + (abbrev-symbol "a-e-t" ert-test-abbrevs)))) + (should (equal nil (symbol-value + (abbrev-symbol "a-e-t" ert-test-abbrevs)))) + (should (equal t (abbrev-table-empty-p ert-test-abbrevs))))) + (provide 'abbrev-tests) - ;;; abbrev-tests.el ends here diff --cc test/manual/etags/Makefile index f5cf2aeb3b,00d5b9f52b..4d9f358c8e --- a/test/manual/etags/Makefile +++ b/test/manual/etags/Makefile @@@ -28,11 -29,11 +29,11 @@@ YSRC=$(addprefix ./y-src/,parse.y parse SRCS=${ADASRC} ${ASRC} ${CSRC} ${CPSRC} ${ELSRC} ${ERLSRC} ${FSRC}\ ${FORTHSRC} ${HTMLSRC} ${JAVASRC} ${LUASRC} ${MAKESRC} ${OBJCSRC}\ ${OBJCPPSRC} ${PASSRC} ${PHPSRC} ${PERLSRC} ${PSSRC} ${PROLSRC} ${PYTSRC}\ - ${TEXSRC} ${YSRC} + ${RBSRC} ${TEXSRC} ${YSRC} NONSRCS=./f-src/entry.strange ./erl-src/lists.erl ./cp-src/clheir.hpp.gz -ETAGS_PROG=../../lib-src/etags -CTAGS_PROG=../../lib-src/ctags +ETAGS_PROG=../../../lib-src/etags +CTAGS_PROG=../../../lib-src/ctags REGEX=/[ \t]*DEFVAR_[A-Z_ \t\n(]+"\([^"]+\)"/ xx="this line is here because of a fontlock bug