1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-29 08:31:35 -08:00
Commit graph

4674 commits

Author SHA1 Message Date
Stephen Gildea
64dd2b1a2a time-stamp: add principled, expressive %z
* lisp/time-stamp.el (time-stamp-formatz-from-parsed-options): New
function for time zone offset formatting ("%z" variants).

* test/lisp/time-stamp-tests.el (formatz*): New unit tests to cover
the new implementation of %5z.
2021-06-21 21:30:19 -07:00
Basil L. Contovounesios
3b1d69efc3 Fix shortdoc-add-function section creation
* lisp/emacs-lisp/shortdoc.el (shortdoc-add-function): Use nconc to
actually append a new section to the list of groups while avoiding a
previous OBOE.  Push a new group to the front of shortdoc--groups
without copying it, just like define-short-documentation-group does.
(buffer): Fix copypasta in unlock-buffer example.

* test/lisp/emacs-lisp/shortdoc-tests.el (shortdoc-examples): Also
check that :no-value forms demonstrate the right function.

* doc/lispref/help.texi (Documentation Groups): Clarify that @dots
in the define-short-documentation-group arglist refer to whole
key-value pairs.  Fix typo in :eg-result-string description.
2021-06-21 16:20:22 +01:00
Michael Albinus
9e7681516f Adapt tests in tramp-archive-tests.el
* test/lisp/net/tramp-archive-tests.el
(tramp-archive-test05-expand-file-name)
(tramp-archive-test06-directory-file-name): Adapt tests.
2021-06-20 17:50:52 +02:00
Michael Albinus
6636a64459 Fix error in tramp-archive.el
* lisp/net/tramp-archive.el (tramp-archive-file-name-handler):
Archive must exist.  (Bug#49030, Bug#49043)

* test/lisp/net/tramp-archive-tests.el
(tramp-archive-test06-directory-file-name): Tag it :unstable temporarily.
2021-06-19 18:11:50 +02:00
Michael Albinus
284dfd3613 Revert "Add `file-name-set-extension'"
This reverts commit 4f1a5e456e.
2021-06-19 14:01:13 +02:00
Michael Albinus
4f1a5e456e Add `file-name-set-extension'
* lisp/files.el (file-name-with-extension): New defun.

* test/lisp/files-tests.el (files-tests-file-name-with-extension-good)
(files-tests-file-name-with-extension-bad): New tests.
2021-06-19 11:10:46 +02:00
Michael Albinus
e6a700a28e Handle case remote uid is 0 in some Tramp related tests
* test/lisp/filenotify-tests.el:
* test/lisp/shadowfile-tests.el:
Set `tramp-allow-unsafe-temporary-files' to t.
2021-06-19 10:35:06 +02:00
Eli Zaretskii
6af9f1f3ef Improve and update the 'etags' test suite
* lib-src/etags.c (mercury_pr): Remove redundant comment.

* test/manual/etags/merc-src/accumulator.m: Add more complex
declarations.
* test/manual/etags/ETAGS.good_1:
* test/manual/etags/ETAGS.good_2:
* test/manual/etags/ETAGS.good_3:
* test/manual/etags/ETAGS.good_4:
* test/manual/etags/ETAGS.good_5:
* test/manual/etags/ETAGS.good_6:
* test/manual/etags/CTAGS.good: Adapt to latest changes in 'etags'
and the test suite.  (Bug#47408)
2021-06-18 14:28:16 +03:00
Philipp Stephani
bc44763b83 Update SCSS test file syntax.
According to
https://sass-lang.com/documentation/breaking-changes/slash-div, the
slash operator should be replaced by 'math.div'.

Fixed using the migration tool mentioned at
https://sass-lang.com/documentation/breaking-changes/slash-div#automatic-migration.

* test/manual/indent/scss-mode.scss: Remove slash operator.
2021-06-18 08:32:55 +02:00
Lars Ingebrigtsen
81fd5603ce Add a new function syntax-class-to-char
* doc/lispref/syntax.texi (Syntax Table Internals): Document it.
* src/syntax.c (Fsyntax_class_to_char): New function (bug#37452).
2021-06-15 17:01:57 +02:00
Lars Ingebrigtsen
794ec934a7 Remove unused variable from sgml-mode test
* test/lisp/textmodes/sgml-mode-tests.el (sgml-test-brackets):
Remove unused variable.
2021-06-14 15:58:01 +02:00
Lars Ingebrigtsen
00f1a4be71 Get fractional seconds in iso8601 parsing right
* lisp/calendar/iso8601.el (iso8601-parse-time): Get fractional
times (with leading zeroes in the fraction part) right (bug#49017).
Fix based on a patch by "J.P." <jp@neverwas.me>.
2021-06-14 15:32:03 +02:00
Stephen Berman
8f2f91f7ac Fix problem in HTML with bracketed characters
* lisp/textmodes/sgml-mode.el (sgml-tag-syntax-table): Use bracket
syntax for all Unicode bracket characters (bug#43941).
2021-06-14 14:57:57 +02:00
Michael Albinus
6536112bdc Handle sensitive auto-save or backup remote files (Bug#45245)
* doc/misc/tramp.texi (Auto-save and Backup):
Describe tramp-allow-unsafe-temporary-files.
(Ad-hoc multi-hops): Use proper format.

* etc/NEWS: Mention confirmation for writing sensitive auto-save
or backup remote files to the local temporary directory..

* lisp/net/tramp-cache.el (tramp-dump-connection-properties):
Strengthen test.

* lisp/net/tramp.el (tramp-allow-unsafe-temporary-files): New defcustom.
(tramp-handle-find-backup-file-name)
(tramp-handle-make-auto-save-file-name): Don't expose sensible
auto-save or backup files on local temporary directory.  (Bug#45245)

* test/lisp/net/tramp-tests.el (tramp--test-always): New defalias.
(tramp-test10-write-region, tramp-test21-file-links)
(tramp--test--deftest-direct-async-process): Use it.
(tramp-test37-make-auto-save-file-name)
(tramp-test38-find-backup-file-name): Extend tests.
2021-06-14 11:25:13 +02:00
Harald Jörg
87bd14ca8b ; perl-mode.el: Allow newline between quote-likes and delimiter
* lisp/progmodes/perl-mode.el (perl-syntax-propertize-function):
Allow newline between a quote-like operator and its delimiter
(Bug#22355).

* test/lisp/progmodes/cperl-mode-tests.el (cperl-test-bug-22355):
Test case for the fix.

* test/lisp/progmodes/cperl-mode-resources/cperl-bug-22355.pl:
Test resource for a quote-like with newline before the delimiter.
2021-06-11 13:55:08 +02:00
Eli Zaretskii
af4cccb8d9 Support mercury in 'ctags' as well
The previous lack of support was due to incorrect calls to 'make_tag'
in 'mercury_pr', which caused 'pfnote' to refrain from adding Mercury
tags to the list of recorded tags.

* lib-src/etags.c (mercury_pr): Pass the correct NAME and NAMELEN
arguments to 'make_tag'.

* test/manual/etags/CTAGS.good: Adjust to the above change.
2021-06-10 16:57:03 +03:00
Harald Jörg
dd9385b404 ; perl-mode.el: Detect quote-like operator immediately after =>
* lisp/progmodes/perl-mode.el (perl-syntax-propertize-function):
Detect a quotelike operator immediately after a fat comma "=>"
(Bug#25098)

* test/lisp/progmodes/cperl-mode-tests.el (cperl-test-bug-25098):
Test case for the bug with code from the bug report.

* test/lisp/progmodes/cperl-mode-resources/cperl-bug-25098.pl:
Resource file for the test.
2021-06-09 23:04:09 +02:00
Harald Jörg
90f54aad5e ; perl-mode.el: Detect regexes immediately after "|&"
* lisp/progmodes/perl-mode.el (perl-syntax-propertize-function):
Add "|&" to the list of characters after which a slash starts a
regular expression (Bug#23992).

* test/lisp/progmodes/cperl-mode-tests.el (cperl-test-ppss):
Correct the docstring.
(cperl-test-bug-23992): New test for Bug#23992.
(cperl-test-bug-42168): Adapt inline comments to the current code.

* test/lisp/progmodes/cperl-mode-resources/cperl-bug-23992.pl:
Resource file with example code from the bug report.
2021-06-08 23:23:25 +02:00
Dmitry Gutov
45bdc37c81 Support old BSD find and "root dir symlink" better
* lisp/progmodes/grep.el (grep-compute-defaults):
Add '-H' to grep-find-template (bug#48471).

* lisp/cedet/semantic/symref/grep.el (semantic-symref-perform-search):
Pass the root directory name without the trailing slash.

* lisp/progmodes/xref.el (xref-matches-in-directory): Ditto.

* test/lisp/progmodes/xref-tests.el (xref--xref-file-name-display-is-abs)
(xref--xref-file-name-display-is-relative-to-project-root):
Make tests more strict again.
2021-06-07 04:52:30 +03:00
Eli Zaretskii
6ef5760b10 Minor fixes for last change
* test/manual/etags/ETAGS.good_1:
* test/manual/etags/ETAGS.good_2:
* test/manual/etags/ETAGS.good_3:
* test/manual/etags/ETAGS.good_4:
* test/manual/etags/ETAGS.good_5:
* test/manual/etags/ETAGS.good_6: Adapt to added Mercury support.

* lib-src/etags.c (find_entries, test_objc_is_mercury):
* etc/NEWS: Fix punctuation and typos in last change.
2021-06-06 12:44:49 +03:00
Fabrice Nicol
5a8a5a990a Add support for Mercury (https://mercurylang.org) in 'etags'
Tag declarations starting lines with ':-'.
By default, all declarations are tagged.  Optionally, first
predicate or functions in clauses can be tagged as in Prolog
support using '--declarations'.  (Bug#47408).
* lib-src/etags.c (test_objc_is_mercury, Mercury_functions)
(mercury_skip_comment,  mercury_decl, mercury_pr):
Implement Mercury support.  As Mercury and Objective-C have
the same file extension .m, a heuristic test tries to detect
the language.

* doc/man/etags.1: Document the change.  Add Mercury-specific
 behavior for '--declarations'.  This option tags first
predicates or functions in clauses in addition to declarations.
2021-06-06 12:29:29 +03:00
Andrea Corallo
c4b02dad9b Rename batch-byte-native-compile-for-bootstrap (bug#48743)
* lisp/Makefile.in : Rename `batch-byte-native-compile-for-bootstrap'
-> `batch-byte+native-compile.
* lisp/emacs-lisp/bytecomp.el (byte+native-compile)
(byte-compile-file): Rename
`batch-byte-native-compile-for-bootstrap' ->
`batch-byte+native-compile + `byte-native-for-bootstrap' ->
`byte+native-compile'.
* lisp/emacs-lisp/comp.el (comp-spill-lap-function, comp-final)
(batch-native-compile, batch-byte+native-compile): Likewise.
* lisp/emacs-lisp/bytecomp.el (byte+native-compile)
(byte-compile-file): Likewise.
* test/src/comp-tests.el (comp-tests-bootstrap): Rename
`byte-native-for-bootstrap' -> `byte+native-compile'.
2021-06-01 18:11:37 +02:00
Lars Ingebrigtsen
77f67d12f6 Add new convenience function `buffer-local-boundp'
* doc/lispref/variables.texi (Creating Buffer-Local): Document it.
* lisp/subr.el (buffer-local-boundp): New function.

* src/data.c (Flocal_variable_p): Mention it.
2021-05-31 07:21:09 +02:00
Stephen Gildea
a5b57fc6af time-stamp: fix minor bug when parsing option combos
* lisp/time-stamp.el (time-stamp-string-preprocess): Handle digit
options correctly to avoid overcounting colon options.

* test/lisp/time-stamp-tests.el (time-stamp-format-time-zone-offset):
Add a new test case that would have caught the option-parsing error.
2021-05-30 11:05:42 -07:00
Stephen Gildea
9e705206ac time-stamp: improve unit-test coverage
* test/lisp/time-stamp-tests.el (time-stamp-format-year-4digit,
time-stamp-format-ignored-modifiers): Improve coverage with more cases.
(time-stamp-format-multiple-conversions): New test.
2021-05-29 22:56:43 -07:00
Lars Ingebrigtsen
b0d01982e2 Tweak octave continuation indentation
* lisp/progmodes/octave.el (octave-smie-rules): Further tweak
continuation indentation (bug#17955).
2021-05-30 06:25:47 +02:00
Mattias Engdegård
93162efd79 Fix shortdoc examples
Make sure that each example in shortdoc actually contains the function
it illustrates, and add a test for it.

* lisp/emacs-lisp/shortdoc.el (string, list, buffer, number):
Use the right functions in examples for string-version-lessp,
lax-plist-put, point-min and ffloor.
* test/lisp/emacs-lisp/shortdoc-tests.el: New test file.
2021-05-29 09:18:00 +02:00
Mattias Engdegård
de45864cf7 Fix lexing of numbers with trailing decimal point and exponent
Numbers with a trailing dot and an exponent were incorrectly read as
integers (with the exponent ignored) instead of the floats they should
be.  For example, 1.e6 was read as the integer 1, not 1000000.0 as
every sane person would agree was meant. (Bug#48678)

Numbers with a trailing dot but no exponent are still read as
integers.

* src/lread.c (string_to_number): Fix float lexing.
* test/src/lread-tests.el (lread-float): Add test.
* doc/lispref/numbers.texi (Float Basics): Clarify syntax.
2021-05-27 14:16:28 +02:00
Mattias Engdegård
40d2970f43 Don't propagate lexical variables into inlined functions
Functions compiled when inlined (thus from inside the optimiser)
mustn't retain the lexical environment of the caller or there will be
tears.  See discussion at
https://lists.gnu.org/archive/html/emacs-devel/2021-05/msg01227.html .

Bug found by Stefan Monnier.

* lisp/emacs-lisp/byte-opt.el (byte-compile-inline-expand):
Bind byte-optimize--lexvars to nil when re-entering the compiler
recursively.
* test/lisp/emacs-lisp/bytecomp-resources/bc-test-alpha.el:
* test/lisp/emacs-lisp/bytecomp-resources/bc-test-beta.el: New files.
* test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp-defsubst): New test.
2021-05-27 14:16:17 +02:00
Deneb Meketa
7f11dea662 Fix filling of overlong first lines in Python doc strings
* lisp/progmodes/python.el (python-fill-string): Fill overlong
first lines correctly (bug#20860).

Copyright-paperwork-exempt: yes
2021-05-27 01:21:59 +02:00
Juri Linkov
856e0ec2f8 * lisp/vc/diff-mode.el (diff-hunk-text): Test-driven fix for newlines.
* lisp/vc/diff-mode.el (diff-hunk-text): Fix handling of newlines
to cover all test cases according to new test.

* test/lisp/vc/diff-mode-tests.el (diff-mode-test-hunk-text-no-newline):
New test to cover cases with no newline at end of file.
2021-05-27 01:19:36 +03:00
Alex Bochannek
777d784d8f Remove the base64 Face header repadding in Gnus
* lisp/gnus/gnus-fun.el (gnus-convert-face-to-png): Remove call.

* lisp/gnus/gnus-util.el (gnus-base64-repad): Remove.
2021-05-26 23:54:59 +02:00
Lars Ingebrigtsen
caf8eb0381 Update help-tests.el after minibuffer map change 2021-05-25 21:22:22 +02:00
Philipp Stephani
7a46fa9c75 Allow years in a copyright range to be separated by en dashes.
* lisp/emacs-lisp/copyright.el (copyright-regexp)
(copyright-years-regexp, copyright-update-year)
(copyright-fix-years): Also include en dash.

* test/lisp/emacs-lisp/copyright-tests.el (copyright-tests--data): New
test cases.
2021-05-25 14:04:06 +02:00
Michael Albinus
4db69b32b8 Fix bug#48476
* lisp/net/tramp-archive.el (tramp-archive-autoload-file-name-handler):
Add implementation.

* lisp/net/tramp-integration.el (tramp-rename-files)
(tramp-rename-these-files): Declare them.

* lisp/net/tramp.el (tramp-autoload-file-name-handler):
Load tramp-archive.el if needed.  (Bug#48476)

* test/lisp/net/tramp-archive-tests.el (tramp-archive-test45-auto-load):
Extend test.

Use #' syntax for function symbols.
2021-05-22 17:51:07 +02:00
Michael Albinus
bab7e85461 ; * test/infra/gitlab-ci.yml: Fix it, again. 2021-05-21 20:03:31 +02:00
Michael Albinus
9351da3862 ; * test/infra/gitlab-ci.yml: Fix previous commit 2021-05-21 20:00:55 +02:00
Michael Albinus
5fbbcdea2b Adapt native-comp entries in gitlab-ci.yml
* test/infra/gitlab-ci.yml (stages): New stages native-comp-images
and native-comp.
(build-native-bootstrap-speed0): Simplify.
(build-native-bootstrap-speed1, build-native-bootstrap-speed2):
Deactivate temporarily.

* test/infra/gitlab-ci.yml (.build-template): Add 'needs:' clause.
(.native-comp-template): New template.
(build-native-bootstrap-speed0): Use it.
2021-05-21 19:33:42 +02:00
Michael Albinus
92464bd9b7 Rearrange nativecomp tests for EMBA
* test/infra/Dockerfile.emba (emacs-native-comp-speed0):
Add recipe.

* test/infra/gitlab-ci.yml (stages): New stages native-comp-images
and native-comp.
(build-native-bootstrap-speed0): Simplify.
(build-native-bootstrap-speed1, build-native-bootstrap-speed2):
Deactivate temporarily.
2021-05-21 09:43:04 +02:00
Eli Zaretskii
ae3ec0860a Improve documentation of 'etags' tests
* test/manual/etags/README: New file.  (Bug#46055)

* test/README: Mention separate README files for tests in the
'manual' subdirectory
2021-05-20 13:02:29 +03:00
Philipp Stephani
63e4ed1c8f Recreate symptom of Bug#42701.
The fix to Bug#48489 (commit 9676d41b83)
has masked the symptom of Bug#42701 for 'if-let'.  Create a helper
macro that still exemplifies the bug.

* test/lisp/emacs-lisp/edebug-tests.el
(edebug-tests--duplicate-symbol-backtrack): New helper macro.
(edebug-tests-duplicate-symbol-backtrack): Use it instead of 'if-let'.
2021-05-18 18:43:11 +02:00
Mattias Engdegård
be9db2b94d Fix pcase 'rx' patterns with a single named submatch (bug#48477)
pcase 'rx' patterns with a single named submatch, like

  (rx (let x "a"))

would always succeed because of an over-optimistic transformation.
Patterns with 0 or more than 1 named submatches were not affected.

Reported by Philipp Stephani.

* lisp/emacs-lisp/rx.el (rx--pcase-macroexpander):
Special case for a single named submatch.
* test/lisp/emacs-lisp/rx-tests.el (rx-pcase): Add tests.
2021-05-18 12:34:30 +02:00
Eli Zaretskii
f572735c51 Fix the etags test suite
* test/manual/etags/ETAGS.good_2:
* test/manual/etags/ETAGS.good_3:
* test/manual/etags/ETAGS.good_4:
* test/manual/etags/ETAGS.good_5:
* test/manual/etags/ETAGS.good_6:
* test/manual/etags/CTAGS.good: Adjust to addition test.rs.
2021-05-17 19:39:45 +03:00
Lars Ingebrigtsen
e72dfe9669 Add an etags test for Rust (bug#46055) 2021-05-17 18:25:08 +02:00
Eli Zaretskii
2becaf8624 Update the etags/ctags test files
* test/manual/etags/ETAGS.good_1:
* test/manual/etags/ETAGS.good_2:
* test/manual/etags/ETAGS.good_3:
* test/manual/etags/ETAGS.good_4:
* test/manual/etags/ETAGS.good_5:
* test/manual/etags/ETAGS.good_6:
* test/manual/etags/CTAGS.good: Adjust to current codebase.
2021-05-17 19:06:56 +03:00
Philipp Stephani
e477b5ee12 Add a unit test to reproduce Bug#48471.
* test/lisp/progmodes/project-tests.el (project-tests--trivial)
(project-root, project-ignores): New test project type.
(project-ignores): New unit test.
2021-05-17 10:43:54 +02:00
Dario Gjorgjevski
069c2fb17a Add more completion tests
* test/lisp/minibuffer-tests.el (completion--pcm-score)
(completion--pcm-first-difference-pos): New helpers.
(completion-pcm-test-1, completion-pcm-test-2)
(completion-pcm-test-3, completion-pcm-test-4)
(completion-pcm-test-5, completion-pcm-test-6)
(completion-substring-test-1, completion-substring-test-2)
(completion-substring-test-3, completion-substring-test-4)
(completion-flex-test-1, completion-flex-test-2)
(completion-flex-test-3): New tests (bug#42149)
2021-05-16 15:50:41 +02:00
Michael Albinus
4f510f63a8 Fix handling of stderr buffer in Tramp's make-process (Bug#47861)
* lisp/net/tramp-sh.el (tramp-sh-handle-make-process):
Reimplement stderr buffer handling.  (Bug#47861)
(tramp-maybe-open-connection): Improve traces.

* test/lisp/net/tramp-tests.el (tramp-test30-make-process):
Rework for stderr buffer.
2021-05-16 12:08:09 +02:00
Dmitry Gutov
b6e0b66e0e Update CSS completion tests
* test/lisp/textmodes/css-mode-tests.el (css-test-complete-pseudo-class)
(css-test-complete-pseudo-element): Update the tests for recent changes.
2021-05-15 23:46:30 +03:00
Michael Albinus
c9773379c1 Improve Tramp traces
* lisp/net/tramp-cmds.el (tramp-list-tramp-buffers):
List also trace buffers.

* lisp/net/tramp.el (tramp-buffer-name):
Add `tramp-suppress-trace' property.
(tramp-get-debug-file-name): Fix docstring.
(tramp-trace-buffer-name): New defun.
(tramp-trace-functions): New defvar.
(tramp-debug-message): Obey also `tramp-trace-functions'.

* test/lisp/net/tramp-tests.el (tramp--test-instrument-test-case):
Handle trace buffer accordingly.
2021-05-13 16:46:17 +02:00