1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-12 06:21:02 -08:00
Commit graph

5213 commits

Author SHA1 Message Date
Lars Ingebrigtsen
8c0f9be0d1 Only allow SQLite extensions from an allowlist
* src/sqlite.c (Fsqlite_load_extension): Only allow extensions
from an allowlist.
2021-12-14 09:29:13 +01:00
Michael Albinus
b30b33ed9b ERT can generate JUnit test reports
* .gitignore: Add test/**/*.xml.

* admin/notes/emba: Mention JUnit test report.

* etc/NEWS: ERT can generate JUnit test reports.

* lisp/emacs-lisp/ert.el (xml-escape-string): Autoload.
(ert-write-junit-test-report)
(ert-write-junit-test-summary-report): New defuns.
(ert-run-tests-batch, ert-summarize-tests-batch-and-exit): Call them.

* test/Makefile.in (clean): Remove *.xml.

* test/README: Mention $EMACS_TEST_JUNIT_REPORT environment variable.

* test/infra/Makefile.in ($(FILE)): Generate header commentary.
(clean): Remove.

* test/infra/gitlab-ci.yml (variables): Set EMACS_TEST_JUNIT_REPORT.
(.job-template): Use it in script and after_script.
(.build-template, .gnustep-template, .filenotify-gio-template)
(.native-comp-template): Adapt rules.
(.test-template): Trigger JUnit test report.

* test/infra/test-jobs.yml: Regenerate.
2021-12-13 16:09:56 +01:00
Stefan Kangas
5640b055d6 Merge from origin/emacs-28
9bd3f78645 Make `M-x run-python' select the window again
62139aeb42 * lisp/tab-bar.el (tab-bar-switch-to-last-tab): Add 'abs' ...
ea8422204f * make-dist (manifest): Filter out msdos/autogen/* files.
b5354e989d Rewrite the "Quitting Windows" section of Emacs Lisp Refer...
64ea1a178c Fix eshell for systems that do not have subprocesses
2021-12-13 06:30:58 +01:00
Kévin Le Gouguec
9bd3f78645 Make `M-x run-python' select the window again
Interactively, we want M-x run-python to focus the interpreter buffer.
The previous code failed in two ways:

- the call to 'display-buffer' was not reached if an interpreter
  was already running,

- set-buffer is ineffectual if the interpreter's window is not
  selected: once Emacs returns to the command loop, the current buffer
  will revert back to what the selected window contains.

* lisp/progmodes/python.el (python-shell-make-comint): Handle the SHOW
argument regardless of whether an interpreter buffer exists, and use
pop-to-buffer to select the window.
(run-python): Delegate buffer management to
'python-shell-make-comint'.

* test/lisp/progmodes/python-tests.el
(python-tests--run-python-selects-window): Rename from
'python-tests--bug31398', and adjust assertions (bug#52380).
2021-12-13 05:17:00 +01:00
dick r. chiang
8e948ab97e Fix some compilation warnings in sqlite-less builds
* test/src/sqlite-tests.el:
* lisp/sqlite-mode.el: Avoid compilation warnings in builds
without libsqlite (bug#52440).
2021-12-12 07:13:46 +01:00
Lars Ingebrigtsen
95d7a794cc Update bovine/gcc-tests for newer Macos versions
* test/lisp/cedet/semantic/bovine/gcc-tests.el
(semantic-gcc-test-output-parser-this-machine): Update gcc->llvm
detection to Macos Monterey.
2021-12-12 06:57:02 +01:00
Mattias Engdegård
8716f21d94 Constant-propagate access to captured variables
* lisp/emacs-lisp/byte-opt.el (byte-optimize--substitutable-p):
Treat (internal-get-closed-var N) as constants for propagation
purposes, because that is effectively what such forms will be compiled
to.  This allows for the elimination of some lexical variables.

* test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp-tests--test-cases):
Add test case.
2021-12-11 22:16:55 +01:00
Lars Ingebrigtsen
17569c9495 Fix Fsqlite_finalize book-keeping
* src/sqlite.c (Fsqlite_finalize): Mark the object as dead.
2021-12-11 08:18:09 +01:00
Lars Ingebrigtsen
385f2faf34 Fix some sqlite doc string typos
* src/sqlite.c (Fsqlite_load_extension, Fsqlite_more_p): Fix typos
in doc strings.
2021-12-11 06:26:37 +01:00
Lars Ingebrigtsen
3d38d1d134 Add sqlite3 support to Emacs
* configure.ac: Add check for the sqlite library.
* doc/lispref/text.texi (Database): Document it.

* lisp/sqlite.el: New file.

* lisp/term/w32-win.el (dynamic-library-alist): Add a mapping.

* src/Makefile.in (SQLITE3_LIBS): Add the libraries.

* src/alloc.c (union emacs_align_type): Add a Lisp_Sqlite struct.

* src/data.c (Ftype_of): Add sqlite.

* src/emacs.c (main): Load the syms.

* src/lisp.h (DEFINE_GDB_SYMBOL_BEGIN): Add PVEC_SQLITE.
(GCALIGNED_STRUCT): New struct to keep data for sqlite database
objects and statement objects.
(SQLITEP, SQLITE, CHECK_SQLITE, XSQLITE): New macros for accessing
the objects.

* src/pdumper.c (dump_vectorlike): Update hash.
(dump_vectorlike): Don't dump it.

* src/print.c (print_vectorlike): Add a printer for the sqlite
object.

* src/sqlite.c: New file.

* test/src/sqlite-tests.el: Add tests.
2021-12-11 04:55:57 +01:00
Michael Albinus
8f3f785c55 Fix thinko in Tramp test
* test/lisp/net/tramp-tests.el (tramp-test07-abbreviate-file-name):
Fix thinko.
2021-12-09 20:11:40 +01:00
Stefan Monnier
c6bf11c281 * test/lisp/emacs-lisp/subr-x-tests.el (subr-x-named-let): New test 2021-12-08 16:58:24 -05:00
Stefan Monnier
3a0e0187b7 * test/lisp/emacs-lisp/cl-macs-tests.el: Avoid with-suppressed-warnings
* test/lisp/emacs-lisp/cl-macs-tests.el (cl-macs--progv): Use a proper
namespace prefix for the global vars.
2021-12-08 16:22:24 -05:00
Stefan Kangas
bed5af1ea3 Silence byte-compiler in two tests
* test/lisp/emacs-lisp/eieio-tests/eieio-test-methodinvoke.el:
* test/lisp/mail/mail-utils-tests.el
(mail-utils-tests-mail-rfc822-time-zone): Silence byte-compiler.
2021-12-06 22:19:58 +01:00
Stefan Kangas
e637afce45 Remove spurious space in byte-compiler warning
* lisp/emacs-lisp/bytecomp.el
(byte-compile-docstring-length-warn): Remove spurious space in
byte-compiler warning.
* test/lisp/emacs-lisp/bytecomp-tests.el
("warn-wide-docstring-defun.el"): Update test.
2021-12-06 22:19:58 +01:00
Stefan Kangas
79335aa185 Assume unfilled byte-compiler warnings in tests
* test/lisp/emacs-lisp/bytecomp-tests.el
(bytecomp--define-warning-file-test): Remove workaround for filled
byte-compilation warnings.  See Bug#52281.
2021-12-06 22:19:40 +01:00
Michael Albinus
e135f15aac Tramp code cleanup
* lisp/net/tramp.el (tramp-get-default-directory)
(tramp-get-buffer-string): New defsubsts.
(tramp-message, tramp-error-with-buffer)
(tramp-file-name-for-operation, tramp-command-completion-p)
(tramp-action-login, tramp-action-yesno, tramp-action-yn)
(tramp-action-terminal, tramp-action-confirm-message)
(tramp-wait-for-regexp, tramp-call-process)
(tramp-call-process-region, tramp-read-passwd):
* lisp/net/tramp-cmds.el (tramp-list-remote-buffers)
(tramp-reporter-dump-variable):
* lisp/net/tramp-gvfs.el (tramp-gvfs-monitor-process-filter):
* lisp/net/tramp-sh.el (tramp-sh-handle-insert-directory)
(tramp-sh-handle-process-file, tramp-sh-handle-write-region)
(tramp-sh-gio-monitor-process-filter):
* lisp/net/tramp-smb.el (tramp-smb-action-set-acl):
* lisp/net/tramp-sudoedit.el
(tramp-sudoedit-handle-file-name-all-completions):
* test/lisp/net/tramp-tests.el (tramp--test-instrument-test-case)
(tramp-test32-shell-command): Use them.
2021-12-06 19:36:15 +01:00
Paul Eggert
524c42fa0e Prefer nil to (current-time) when either will do
* lisp/emacs-lisp/timer.el (timer-event-handler, run-at-time):
* lisp/gnus/gnus-score.el (gnus-score-date):
* lisp/gnus/gnus-search.el (gnus-search-query-parse-date)
(gnus-search-imap-handle-date):
* lisp/gnus/gnus-sum.el (gnus-user-date)
(gnus-summary-create-article):
* lisp/image-dired.el (image-dired-create-thumb-1):
* lisp/image/gravatar.el (gravatar-retrieve)
(gravatar--prune-cache):
* lisp/net/dbus.el (dbus-monitor-handler):
* lisp/net/tramp-gvfs.el (tramp-gvfs-handle-set-file-times):
* lisp/net/tramp-sh.el (tramp-sh-handle-set-file-times):
* lisp/net/tramp-sudoedit.el (tramp-sudoedit-handle-set-file-times):
* test/lisp/autorevert-tests.el (auto-revert--wait-for-revert)
(auto-revert-tests--write-file, auto-revert-test--wait-for):
* test/lisp/net/tramp-tests.el (tramp--test-print-duration):
Prefer nil to (current-time) when either will do, as this avoids
some consing.  Similarly, prefer omitting (current-time) arg
when this is equivalent.
2021-12-05 23:24:08 -08:00
Paul Eggert
af60618945 Simplify cedet-utest-elapsed-time
* test/manual/cedet/cedet-utests.el (cedet-utest-elapsed-time):
Copy newer (circa-2011) implementation from elp.el, so that the
code matches its documentation again.
2021-12-05 23:24:08 -08:00
Paul Eggert
83fa35bb16 Use time-equal-p to compare timestamps in tests
* test/lisp/calendar/time-date-tests.el (test-days-to-time)
(test-time-since): Use time-equal-p to compare timestamps,
since the default form shouldn’t matter.
2021-12-05 23:24:08 -08:00
Paul Eggert
0d88c3c340 Add time-convert tests
* test/src/timefns-tests.el (time-convert-forms): New test.
2021-12-05 23:24:08 -08:00
Stefan Kangas
013161d4a7 Merge from origin/emacs-28
e3427faf55 Fix typos and improve consistency in ERC manual
0bf10d5082 * test/Makefile.in (check-declare): Add missing --batch.
34f5656137 Document the subtleties of the 'cursor' text property
2021-12-06 06:47:44 +01:00
Justin Schell
e6a0cfaad5 vc-git--program-version to support Git for macOS version string
`git version` on macOS returns e.g., "git version 2.30.1 (Apple
Git-130)" and `vc-git--program-version` currently returns "0" instead
of "2.30.1".

* lisp/vc/vc-git.el (vc-git--program-version): Ignore text after
the version number when parsing git versions (bug#52172).

Copyright-paperwork-exempt: yes
2021-12-06 02:27:52 +01:00
Glenn Morris
0bf10d5082 * test/Makefile.in (check-declare): Add missing --batch. 2021-12-05 10:27:18 -08:00
Stefan Kangas
d16db92cc7 Silence byte-compiler in generator-tests.el
* test/lisp/emacs-lisp/generator-tests.el (cps-let*-shadow-empty)
(cps-let-shadow-empty, cps-let*-parallel): Silence byte-compiler.
2021-12-05 12:58:04 +01:00
Stefan Kangas
722a8ebb71 Silence warnings about testing obsolete functions and macros
* test/lisp/emacs-lisp/cl-generic-tests.el:
* test/lisp/emacs-lisp/edebug-tests.el:
* test/lisp/emacs-lisp/eieio-tests/eieio-test-methodinvoke.el:
* test/lisp/emacs-lisp/eieio-tests/eieio-tests.el: Silence
byte-compiler warnings about testing obsolete functions and macros.
2021-12-05 12:57:57 +01:00
Stefan Kangas
9167fbd323 Remove hacks for broken `with-suppressed-warnings'
* test/lisp/obsolete/cl-tests.el (labels-function-quoting):
* test/lisp/tar-mode-tests.el (tar-mode-test-tar-grind-file-mode):
Remove hack for broken `with-suppressed-warnings'.
2021-12-05 12:08:27 +01:00
Lars Ingebrigtsen
8bdea76720 Remove hack from seq-tests.el for broken `with-suppressed-warnings'
* test/lisp/emacs-lisp/seq-tests.el: `with-suppressed-warnings'
now works better in erf-deftests, so remove hack that works around
it (bug#36568).
2021-12-05 04:20:55 +01:00
Stefan Monnier
de727b5886 eieio-core.el: Allow assignment to cl-structs through slot-value
* lisp/emacs-lisp/eieio-core.el (eieio--validate-slot-value):
Obey the `:read-only` property of the slot.
(eieio-oset): Allow use on cl-structs as well.
(eieio-read-only): New error.

* test/lisp/emacs-lisp/eieio-tests/eieio-tests.el (eieio-test--struct):
Make the last field read-only.
(eieio-test-defstruct-slot-value): Test that cl-struct slots can be
assigned via `slot-value`.
2021-12-04 13:47:35 -05:00
Paul Eggert
63be97fb05 Fix (date-to-time "2021-12-04")
This should complete the fix for Bug#52209.
* lisp/calendar/time-date.el (date-to-time): Apply
decoded-time-set-defaults only to the output of (parse-time-string
date), and only when the output has a year (to avoid confusion
when dates lack years).  There is no point applying it after
timezone-make-date-arpa-standard since the latter fills in all the
blanks.  And the former code mistakenly called encode-time on an
already-encoded time.  This goes back to the code a couple of days
ago, except with changed behavior (to fix Bug#52209) only when
timezone-make-date-arpa-standard is not called.
* test/lisp/calendar/time-date-tests.el (test-date-to-time)
(test-days-between): New tests.
2021-12-04 10:36:07 -08:00
Stefan Kangas
7c68c84674 Silence byte-compiler in some tests
* test/lisp/dired-tests.el:
* test/lisp/emacs-lisp/cl-macs-tests.el:
* test/lisp/emacs-lisp/derived-tests.el:
* test/lisp/emacs-lisp/eieio-tests/eieio-tests.el:
* test/lisp/emacs-lisp/generator-tests.el:
* test/lisp/emacs-lisp/lisp-tests.el:
* test/lisp/emacs-lisp/seq-tests.el (test-seq-let)
(test-seq-setq):
* test/lisp/emacs-lisp/subr-x-tests.el (subr-x-test-if-let*-false)
(subr-x-test-if-let*-and-laziness-is-preserved)
(subr-x-test-when-let*-false)
(subr-x-test-when-let*-and-laziness-is-preserved):
* test/lisp/emacs-lisp/timer-tests.el
(timer-tests-debug-timer-check):
* test/lisp/format-spec-tests.el (format-spec-do-flags-truncate)
(format-spec-do-flags-pad):
* test/lisp/ls-lisp-tests.el (ls-lisp-test-bug27762):
* test/lisp/obsolete/cl-tests.el (labels-function-quoting):
* test/lisp/progmodes/elisp-mode-tests.el:
* test/lisp/replace-tests.el (replace-regexp-bug45973):
* test/lisp/ses-tests.el:
* test/lisp/subr-tests.el:
* test/lisp/tar-mode-tests.el (tar-mode-test-tar-grind-file-mode):
* test/src/data-tests.el (data-tests--set-default-per-buffer):
* test/src/search-tests.el
(test-replace-match-modification-hooks): Silence byte-compiler.
2021-12-04 15:49:42 +01:00
Stefan Kangas
16b8741556 ; Silence byte-compiler warning in test
* test/lisp/dired-aux-tests.el (dired-test-bug28834): Silence
byte-compiler.
2021-12-04 11:33:43 +01:00
Eli Zaretskii
c8b72ad0ea Add more dired-x tests
* test/lisp/dired-x-tests.el (dired-x--string-to-number): Add more
tests with various thousands separators.
2021-12-03 21:52:49 +02:00
Lars Ingebrigtsen
52b2ffd83b Improve how dired-mark-sexp interprets file sizes in non-C locales
* lisp/dired-x.el (dired-x--string-to-number): Try to understand
localised numbers (with "." separators or the like) (bug#23373).
2021-12-03 17:22:59 +01:00
Stefan Kangas
c66eb52453 Merge from origin/emacs-28
9c222b9c1a Port to C compilers that lack size-0 arrays
fed35a8951 Port emacsclient to Solaris 10
f35d6a9c73 * CONTRIBUTE: Improve commit message instructions
e0ee1d003a Work around IBM XL C compiler bug
6b99b6eb8b * admin/make-tarball.txt: Various clarifications.
bbf4140091 * admin/diff-tar-files: Don't assume .tar.gz.
0a50ad11db * lisp/tab-bar.el (tab-bar-close-other-tabs): Fix regression.
2021-12-03 06:30:26 +01:00
Juri Linkov
0a50ad11db * lisp/tab-bar.el (tab-bar-close-other-tabs): Fix regression.
* test/lisp/tab-bar-tests.el: New file.
(tab-bar-tests-close-other-tabs-with-arg): Test for regression
that closed the selected tab after selecting it.
2021-12-02 20:12:05 +02:00
Lars Ingebrigtsen
7ca865dc52 Add `cl-constantly' function
* lisp/emacs-lisp/cl-lib.el (cl-constantly): Add Common Lisp
function missing (bug#21584).
2021-12-02 10:19:10 +01:00
Michael Levine
20ab7e07af Fix usage of deprecated syntax in some cedet tests
* test/lisp/cedet/srecode/fields-tests.el
(srecode-field-utest-impl): Fix deprecated syntax.
2021-12-02 09:06:19 +01:00
Lars Ingebrigtsen
1914d946d6 Change how Dired displays available space
* doc/emacs/dired.texi (Misc Dired Features): Document it (bug#23812).
* lisp/dired.el (dired-free-space): New user option.
(dired-insert-directory): Use it from here.
(dired--insert-disk-space): New function that uses the user option.

* lisp/files.el (insert-directory): Don't transform "total" here.
* lisp/ls-lisp.el (ls-lisp--insert-directory): Or here.  Instead
just leave the "total <num>" bit alone, and let Dired transform it.

* test/lisp/files-tests.el (files-tests): Move "available" tests
to dired-tests.
* test/lisp/dired-tests.el (data-dir): Moved here.
2021-12-01 23:27:19 +01:00
Mattias Engdegård
45252ad8f9 Fix closure-conversion of shadowed captured lambda-lifted vars
Lambda-lifted variables (ones passed explicitly to lambda-lifted
functions) that are also captured in an outer closure and shadowed
were renamed incorrectly (bug#51982).

Reported by Paul Pogonyshev.

* lisp/emacs-lisp/cconv.el (cconv--lifted-arg): New.
(cconv-convert): Provide correct definiens for the closed-over
variable.
* test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp-tests--test-cases):
* test/lisp/emacs-lisp/cconv-tests.el (cconv-tests--intern-all)
(cconv-closure-convert-remap-var): Add tests.
2021-12-01 16:58:25 +01:00
Stefan Kangas
93d9bc09f4 Merge from origin/emacs-28
e632b83a28 Update authors.el for Emacs 28
e9fdb11903 ; * ChangeLog.3: Some additional fixes.
8fa4749df1 ; * ChangeLog.3: Filename fixes.
ea5a90b4f4 * lisp/repeat.el: Fix long-standing problem when a random ...
ef4954b69c * lisp/repeat.el (repeat-keep-prefix): Change default to nil.
6d5886e780 * test/lisp/repeat-tests.el (repeat-tests-call-b): Test fo...
9e16c6a96d ; * src/comp.c (syms_of_comp) <comp-no-native-file-h>: Doc...
9aa8fd6e62 * src/callint.c (Fcall_interactively): Fix inhibit_mouse_e...
70c229b1fc Fix regression in gdb-frame-handler
cd9dd26d24 Format and index concept 'predicate' in ELisp Intro
ab291656d0 ; * ChangeLog.3: Fix typos.
354f6c5609 ; * ChangeLog.3: Formatting fixes.
6192525a96 ; make change-history-commit
2021-12-01 06:30:22 +01:00
Juri Linkov
ea5a90b4f4 * lisp/repeat.el: Fix long-standing problem when a random key activates map
* lisp/repeat.el (repeat-check-key): New defcustom (bug#51390).
(repeat--command-property): New internal function.
(repeat-check-key): New function.
(repeat-post-hook): Use repeat--command-property and repeat-check-key.

* test/lisp/repeat-tests.el (repeat-tests-check-key): New test.
2021-11-30 21:07:18 +02:00
Juri Linkov
6d5886e780 * test/lisp/repeat-tests.el (repeat-tests-call-b): Test for commit 588caf0b27.
This tests for 'repeat-map' as a variable instead of a symbol.
2021-11-30 21:07:18 +02:00
Michael Albinus
708ffac5ea * test/infra/gitlab-ci.yml (.job-template): Modify find scripts. 2021-11-29 21:36:51 +01:00
Michael Albinus
58128f9b05 ; Use /usr/bin/find in gitlab-ci.yml 2021-11-28 17:05:32 +01:00
Michael Albinus
1272a2cb63 Adapt gitlab-ci.yml
* test/infra/gitlab-ci.yml (variables): Set EMACS_TEST_TIMEOUT to 3600.
(.job-template, .test-template): Another approach to catch test
artifacts on emba.
2021-11-28 13:45:43 +01:00
Michael Albinus
338f780237 Simplify use of artifacts in emba files
* test/infra/gitlab-ci.yml (.test-template): Re-insert.
(test-all-inotify, test-filenotify-gio, test-gnustep)
(test-native-comp-speed0):
* test/infra/Makefile.in (subdir_template): Use it when
appropriate.  Remove artifacts.

* test/infra/test-jobs.yml: Regenerate.
2021-11-27 16:53:05 +01:00
Stefan Monnier
8d67a70e97 * test/src/comp-tests.el: Rework last patch
Move `require`s out of `eval-when-compile` if the functions are called
at run-time.
Don't use #' to quote symbols (i.e. at those places where a lambda
expression couldn't be used).
Don't pre-load comp-test-45603.el and comp-test-pure.el any more.

(comp-deftest pure): Use `declare-function` after loading `comp-test-pure.el`
to silence the byte-compiler.
2021-11-27 10:10:43 -05:00
Stephen Gildea
b0ef00f370 time-stamp-tests.el: Test more formats
* test/lisp/time-stamp-tests.el (time-stamp-format-ignored-modifiers):
Additional testing with illegal formats, including "%".
(time-stamp-format-multiple-conversions): Add a test with "%%%".
2021-11-26 20:48:45 -08:00
Stephen Gildea
11860f89a5 * test/src/comp-tests.el: Eliminate byte-compiler warnings (Bug#52105). 2021-11-26 08:51:38 -08:00