Commit graph

6544 commits

Author SHA1 Message Date
Glenn Morris
6bdb561a3b Merge from origin/emacs-27
a2b07f9f11 (origin/emacs-27) ; * etc/NEWS: Explain how to get back ol...
b468b3d1ff Fix a recent documentation change
1ab766fd58 Fix last change
ecfe633993 * lisp/tab-bar.el: Last-minute changes.
c1ce9fa7f2 * lisp/subr.el (cancel-change-group): Fix bug#39680
ef5744a988 Improve docs for horizontal scrolling with mouse and touch...
1bc3fa0bd0 * lisp/emacs-lisp/package.el (package-install): Fix typo i...
4537976afd Port .gdbinit to clang with -gdwarf-4
0883c800a0 Simplify rx example in manual
a695189248 ; * etc/NEWS: Fix typo.

# Conflicts:
#	etc/NEWS
2020-03-13 07:50:33 -07:00
Pieter van Oostrum
caed687626 * lisp/emacs-lisp/package.el (package-menu--generate): Fix doc string.
Add REMEMBER-POS to docstring (bug#39861).
2020-03-13 11:50:33 +02:00
Noam Postavsky
402b175f35 Make cl-equalp a bit more efficient at comparing strings
* lisp/emacs-lisp/cl-extra.el (cl-equalp): Use compare-strings with
the IGNORE-CASE argument, rather than creating downcased copies of the
strings to be compared.
2020-03-12 21:07:56 -04:00
Stefan Monnier
3db5a51384 * lisp/emacs-lisp/eldoc.el: Remove redundant :group arguments 2020-03-12 18:21:19 -04:00
Stefan Monnier
2d221c8d87 * lisp/emacs-lisp/eldoc.el (eldoc--supported-p): Understand the "old" API 2020-03-12 11:18:07 -04:00
Stefan Monnier
0d6c51320d * lisp/emacs-lisp/cl-macs.el: More care with eval and with cl-typep
(cl-eval-when, cl--compile-time-too, cl-load-time-value):
Obey lexical-binding.
(cl-check-type): Prefer the predicate rather than the type in the
error signal when it's easy to do (as is done outside of CL).
(cl-deftype-satisfies): Add definitions for standard types.
2020-03-10 18:23:41 -04:00
Stefan Monnier
efe85a5b60 * lisp/emacs-lisp/cl-macs.el (cl--transform-lambda): Simplify result
It used to return a pair (EXP . LAMBDA-CDR) but EXP was always nil, so
just return the LAMBDA-CDR instead.

(cl-defun, cl-iter-defun, cl-defmacro, cl-function, cl-macrolet):
Adjust callers accordingly.
2020-03-10 18:08:54 -04:00
Juri Linkov
1bc3fa0bd0 * lisp/emacs-lisp/package.el (package-install): Fix typo in docstring. 2020-03-10 01:41:15 +02:00
Paul Eggert
0a3f8da6e1 Simplify run-at-time
* lisp/emacs-lisp/timer.el (run-at-time):
Remove unnecessary test (Bug#39944).
2020-03-08 00:25:38 -08:00
Paul Eggert
4415534ef0 Merge from origin/emacs-27
0a3682a566 * src/timefns.c: Add comments.
b16ba4041d ; lisp/emacs-lisp/seq.el: Explain why we don't use cl-lib ...
3cbf4cb796 Eliminate use of cl-concatenate in 'seq' package
363d927086 Fix bug with JIT stealth timers
818333c85a * doc/lispref/os.texi (time-subtract): Doc fix.
2020-03-08 00:20:57 -08:00
Stefan Monnier
e4fb95fa18 * lisp/emacs-lisp/bytecomp.el: Drop warning for loading into Emacs<23
Stash the major version of the compiling Emacs such that the loading
Emacs can later detect when loading a file compiled by a too-new Emacs.

(byte-compile-fix-header): Remove.
(byte-compile-from-buffer): Don't call it any more.
(byte-compile-insert-header): Stash the emacs-major-version in it.
Don't leave space for `byte-compile-fix-header`.
2020-03-07 23:28:12 -05:00
Noam Postavsky
b16ba4041d ; lisp/emacs-lisp/seq.el: Explain why we don't use cl-lib here 2020-03-07 18:45:23 -05:00
Andrew Eggenberger
3cbf4cb796 Eliminate use of cl-concatenate in 'seq' package
Fixes (Bug#39761) by making cl-extra dependent on seq rather than
vice versa.
* lisp/emacs-lisp/seq.el (seq-concatenate): Move cl-concatenate's
code here instead of calling it.
* lisp/emacs-lisp/cl-extra.el (cl-concatenate): Use cl-concatenate.

Copyright-paperwork-exempt: yes
2020-03-07 18:39:01 -05:00
Paul Eggert
363d927086 Fix bug with JIT stealth timers
* lisp/emacs-lisp/timer.el (run-at-time): Don’t assume that Lisp
time values must be conses (Bug#39944).
2020-03-07 09:50:18 -08:00
Glenn Morris
3274b8090b Merge from origin/emacs-27
72f87f8873 (origin/emacs-27) NS port documentation updates
5b19db98ad ; * etc/NEWS: correctly describe what fido-mode is
fc47e3ad99 Let fido-mode users force a minibuffer-exit
e734961d4c icomplete-fido-exit: New command for the M-j binding
335a9bd215 minibuffer-force-complete-and-exit: Allow input with no ma...
34132d4bf6 ; * etc/NEWS: Mark 2 entries as fully documented.
d28b73841b ; * etc/NEWS: Fix the 'mml-secure-openpgp-sign-with-sender...
d1d56a9fd9 ; * etc/NEWS: 'thunk-let' and 'thunk-let*' are fully docum...
fc4f4efabf ; * etc/NEWS: No need to document vc-hg and mergebase chan...
9e8456cf0f ; * etc/NEWS: No need to document changes in Octave mode.
25b4d6fa28 ; * etc/NEWS: No need to document changes in map.el and se...
fc4d0f86da ; * etc/NEWS: No need to document Ido news.
d4ac478cb3 ; * etc/NEWS: No need to document news of doc-view.el.
08c042bd26 Document that 'byte-compile-dynamic' is obsolete
512b66abd7 ; * etc/NEWS: No need to document 'goto-address-uri-scheme...
3103c01c3e ; * etc/NEWS: Formatting fixes.
98306fdfb8 ; * etc/NEWS: No need to document deprecation of 'cl'.
6281ed58be ; * etc/NEWS: No need to document the change in 'list-proc...
e252341e11 ; * etc/NEWS: 'backup-by-copying-when-privileged-mismatch'...
ec5a267ddc ; * etc/NEWS: Mark 'byte-count-to-string-function' as undo...
89307ebccd ; * etc/NEWS: Mark 'completion-common-part' face entry as ...
fdbe7cacfb Document the changes in 'read-answer'
10c58356e4 Document changes in lexical-binding
5cb312b5b9 Update ERC mailing list address
cb1877321b Use regexp-opt to define bibtex-autokey-transcriptions.  (...
3f9c340de0 Improve documentation of 'table-generate-source'
33b31dc314 Attempt to avoid rare segfaults in show_mouse_face
88c6db9196 Avoid crashes when a fontset has strange entries
1814c7e158 Fix rx error with ? and ??
40fb20061e * lisp/emacs-lisp/rx.el (rx--string-to-intervals): Fix err...
08d7d28d35 Fix args in 'window-text-pixel-size' call in 'fit-window-t...
cb1e30910e Have pulse.el preserve existing overlay priorities

# Conflicts:
#	etc/NEWS
2020-03-07 07:50:28 -08:00
Mattias Engdegård
1814c7e158 Fix rx error with ? and ??
The ? and ?? rx operators are special in that they can be written as
characters (space and '?' respectively).  This confused the definition
look-up mechanism in rare cases.

* lisp/emacs-lisp/rx.el (rx--expand-def): Don't look up non-symbols.
* test/lisp/emacs-lisp/rx-tests.el (rx-charset-or): Test.
2020-03-05 12:55:54 +01:00
Mattias Engdegård
40fb20061e * lisp/emacs-lisp/rx.el (rx--string-to-intervals): Fix error string. 2020-03-05 12:12:18 +01:00
Glenn Morris
b5474ba160 Merge from origin/emacs-27
a3c2d186eb (origin/emacs-27) CC Mode: Fix the handling of two adjacen...
a1abf73c76 Fix combine-change-calls-1 for when buffer-undo-list is t
db37dd2e84 Don't misinterpret doc string as initial value
40b217c2bf Bump checkdoc-version to match library header
60418a1ab2 Explain how to unset mode bindings (Bug#39802)
7cafbbe964 Fix describe-variable on values with circular syntax (Bug#...
592b1cfee9 Improve documentation of next-error-highlight-no-select (b...
2020-03-04 13:57:58 -08:00
Glenn Morris
6a0e1c4104 Merge from origin/emacs-27
a4e4510ccd Fix handling MS-Windows keyboard input above the BMP
a38bebb0c1 * etc/NEWS: More complete description of rx 'not' changes.
d373647e8f ; * doc/emacs/mini.texi (Yes or No Prompts): Fix last change.
1ca6d15656 * doc/emacs/mini.texi (Yes or No Prompts): 'y-or-n-p' now ...
fe1a447d52 Don't attempt to cache glyph metrics for FONT_INVALID_CODE
b42b894d1d Fix fit-frame-to-buffer for multi-monitor setup
366fd4fd07 (emacs-27) ; * etc/NEWS: Fix typo.
49d3cd90bd rx: Improve 'or' compositionality (bug#37659)
6b48aedb6b * lisp/tab-line.el: Fix auto-hscrolling (bug#39649)
c5f255d681 (tag: emacs-27.0.90) ; Update lisp/ldefs-boot.el
60c84ad992 ; * etc/TODO: Fix last change.
5af9e5baad ; Add an entry to TODO
d424195905 Fix rx charset generation
9908b5a614 Merge branch 'emacs-27' of git.savannah.gnu.org:/srv/git/e...
6dc2ebe00e Fix overquoting in mule.el
5cca73dd82 * src/timefns.c (time_arith): Omit incorrect comment.
d767c357ca Merge branch 'emacs-27' of git.savannah.gnu.org:/srv/git/e...
4dec693f70 * lisp/vc/vc-cvs.el (vc-cvs-ignore): Copy-edit doc string
ff729e3f97 ; bug#39779: Fix some typos in documentation.
696ee02c3a checkdoc: Don't mistake "cf." for sentence end

# Conflicts:
#	etc/NEWS
2020-03-04 13:57:58 -08:00
Glenn Morris
1c81bb8c24 Merge from origin/emacs-27
5b7d226779 * etc/AUTHORS: Update.
4aa758e53d ; ChangeLog.3 update
9261b1ed49 * admin/authors.el (authors-ignored-files): Fix entries.
86e4da6eaf ; ChangeLog.3 update
009c6a1767 ; ChangeLog.3 fixes
f9e53947c7 Fix documented slot name of eieio-instance-tracker class
999d75c0c1 Range-check width passed to define-fringe-bitmap
29e415d6b0 ; ChangeLog.3 fixes
4653baa6a5 ; ChangeLog.3 update & fixes.
a95ec6e060 * admin/authors.el: Add missing entries
af519a6348 Define libgnutls-version properly
9ec6eb1065 vc-dir-ignore: More accurately choose base directory
e74fb4688b * lisp/emacs-lisp/cursor-sensor.el (cursor-sensor--detect)...
3bce7ec382 CC Mode: Protect against consecutive calls to before-chang...
2020-03-04 13:57:56 -08:00
Stefan Kangas
40b217c2bf Bump checkdoc-version to match library header
* lisp/emacs-lisp/checkdoc.el (checkdoc-version): Bump version.
2020-03-04 05:45:30 +01:00
Mattias Engdegård
49d3cd90bd rx: Improve 'or' compositionality (bug#37659)
Perform 'regexp-opt' on nested 'or' forms, and after expansion of
user-defined and 'eval' forms.  Characters are now turned into strings
for wider 'regexp-opt' scope.  This preserves the longest-match
semantics for string in 'or' forms over composition.

* doc/lispref/searching.texi (Rx Constructs): Document.
* lisp/emacs-lisp/rx.el (rx--normalise-or-arg)
(rx--all-string-or-args): New.
(rx--translate-or): Normalise arguments first, and check for strings
in subforms.
(rx--expand-eval): Extracted from rx--translate-eval.
(rx--translate-eval): Call rx--expand-eval.
* test/lisp/emacs-lisp/rx-tests.el (rx-or, rx-def-in-or): Add tests.
* etc/NEWS: Announce.
2020-03-01 10:47:14 +01:00
Mattias Engdegård
d424195905 Fix rx charset generation
* lisp/emacs-lisp/rx.el (rx--charset-p): Don't overquote.
(rx--generate-alt): Generate '.' for negated newline.
* test/lisp/emacs-lisp/rx-tests.el (rx-any, rx-charset-or): Test.
2020-02-29 10:15:51 +01:00
Štěpán Němec
696ee02c3a checkdoc: Don't mistake "cf." for sentence end
* lisp/emacs-lisp/checkdoc.el (checkdoc-sentencespace-region-engine):
Recognize "cf." as an abbreviation, not a sentence end.
2020-02-28 15:17:44 +02:00
Stefan Monnier
125da00b14 * lisp/emacs-lisp/eldoc.el (eldoc-documentation-function): No nil value
(eldoc--supported-p): Move after the vars it uses.  Simplify.
(eldoc-print-current-symbol-info): Revert to previous code which
assumed a non-nil value of eldoc-documentation-function.
2020-02-26 22:47:32 -05:00
Ryan Olson
4a94881345 Show friendly message after package install
* lisp/emacs-lisp/package.el (package-install): Once we know the
package has successfully been installed using the `package-install`
command, instead of relying on the compile "Done" message, give a
message that tells the user that the package has been
installed.  (Bug#21857)

Copyright-paperwork-exempt: yes
2020-02-25 19:42:08 -05:00
Mark Oteiza
c0fcbd2c11 Expose ElDoc functions in a hook (Bug#28257)
* lisp/emacs-lisp/eldoc.el: Update commentary.
(eldoc--eval-expression-setup): Use new hook.
(eldoc--supported-p): Accomodate new hook.
(eldoc-documentation-functions): New hook.
(eldoc-documentation-default, eldoc-documentation-compose): New
functions.
(eldoc-documentation-function): Use 'eldoc-documentation-default' as new
default value.  Update documentation and custom attributes.
(eldoc-print-current-symbol-info): Accomodate possible null value for
'eldoc-documentation-function'.
* etc/NEWS: Mention them.
* doc/emacs/programs.texi (Emacs Lisp Documentation Lookup): Mention
new hook and changes to 'eldoc-documentation-function'.
* lisp/hexl.el (hexl-mode, hexl-revert-buffer-function):
* lisp/ielm.el (inferior-emacs-lisp-mode):
* lisp/progmodes/cfengine.el (cfengine3-mode):
* lisp/progmodes/elisp-mode.el (emacs-lisp-mode):
* lisp/progmodes/octave.el (octave-mode):
* lisp/progmodes/python.el (python-mode): Use new hook.
2020-02-25 18:15:12 -05:00
Mattias Engdegård
03c07c88d9 Generate 'substring' byte op (bug#39709)
The 'substring' byte op was not emitted, apparently by mistake.  Fix.
Suggested by Mark Oteiza <mvoteiza@udel.edu>.

* lisp/emacs-lisp/bytecomp.el (byte-defop-compiler): Add '1-3' clause.
(byte-compile-one-to-three-args): New.
* lisp/emacs-lisp/byte-opt.el (byte-compile-side-effect-free-ops):
Add 'byte-substring'.
* test/lisp/emacs-lisp/bytecomp-tests.el
(byte-opt-testsuite-arith-data): Test 'substring'.
2020-02-25 16:40:11 +01:00
Stefan Monnier
e74fb4688b * lisp/emacs-lisp/cursor-sensor.el (cursor-sensor--detect): Change last fix
Make sure we always work in the selected-window's buffer.
2020-02-24 09:55:09 -05:00
Paul Eggert
9d626dffc6 Add 'nofollow' flag to set-file-modes etc.
This avoids some race conditions (Bug#39683).  E.g., if some other
program changes a file to a symlink between the time Emacs creates
the file and the time it changes the file’s permissions, using the
new flag prevents Emacs from inadvertently changing the
permissions of a victim in some completely unrelated directory.
* admin/merge-gnulib (GNULIB_MODULES): Add fchmodat.
* doc/lispref/files.texi (Testing Accessibility, Changing Files):
* doc/lispref/os.texi (File Notifications):
* etc/NEWS:
Adjust documentation accordingly.
* lib/chmodat.c, lib/fchmodat.c, lib/lchmod.c, m4/fchmodat.m4:
* m4/lchmod.m4: New files, copied from Gnulib.
* lib/gnulib.mk.in: Regenerate.
* lisp/dired-aux.el (dired-do-chmod):
* lisp/doc-view.el (doc-view-make-safe-dir):
* lisp/emacs-lisp/autoload.el (autoload--save-buffer):
* lisp/emacs-lisp/bytecomp.el (byte-compile-file):
* lisp/eshell/em-pred.el (eshell-pred-file-mode):
* lisp/files.el (backup-buffer-copy, copy-directory):
* lisp/gnus/mail-source.el (mail-source-movemail):
* lisp/gnus/mm-decode.el (mm-display-external):
* lisp/gnus/nnmail.el (nnmail-write-region):
* lisp/net/tramp-adb.el (tramp-adb-handle-file-local-copy)
(tramp-adb-handle-write-region):
* lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-directly):
* lisp/net/tramp-sudoedit.el (tramp-sudoedit-handle-write-region):
* lisp/net/tramp.el (tramp-handle-write-region)
(tramp-make-tramp-temp-file):
* lisp/server.el (server-ensure-safe-dir):
* lisp/url/url-util.el (url-make-private-file):
When getting or setting file modes, avoid following symbolic links
when the file is not supposed to be a symbolic link.
* lisp/doc-view.el (doc-view-make-safe-dir):
Omit no-longer-needed separate symlink test.
* lisp/gnus/gnus-util.el (gnus-set-file-modes):
* lisp/net/tramp.el (tramp-handle-file-modes):
* lisp/net/tramp-gvfs.el (tramp-gvfs-handle-set-file-modes):
* src/fileio.c (symlink_nofollow_flag): New function.
(Ffile_modes, Fset_file_modes):
Support an optional FLAG arg.  All C callers changed.
* lisp/net/ange-ftp.el (ange-ftp-set-file-modes):
* lisp/net/tramp-adb.el (tramp-adb-handle-set-file-modes):
* lisp/net/tramp-sh.el (tramp-sh-handle-set-file-modes):
* lisp/net/tramp-smb.el (tramp-smb-handle-set-file-modes):
* lisp/net/tramp-sudoedit.el (tramp-sudoedit-handle-set-file-modes):
Accept an optional FLAG arg that is currently ignored,
and add a FIXME comment for it.
* m4/gnulib-comp.m4: Regenerate.
2020-02-23 16:45:50 -08:00
Glenn Morris
eb34c108e2 Merge from origin/emacs-27
ba7004b2a7 (origin/emacs-27) Shorten some ppss struct field names
693749c60f Java Mode: Fix fontification of variable decl inside `for'
884b68ca2c CC Mode: Fontify foo in "const auto foo :" correctly

# Conflicts:
#	etc/NEWS
2020-02-23 07:50:33 -08:00
Glenn Morris
3f01a17d68 Merge from origin/emacs-27
dd5756436c Move more logic to vc-ignore from vc-default-ignore
2aed279be1 Warn about the likes of "[:alnum:]" in regexps
0273f261a7 Don't write absolute filenames and duplicate strings to CV...
d7c22338d2 Fix cursor-sensor--detect when current buf != selected win...
2e39fc83bb * doc/emacs/sending.texi (Mail Sending): Fix index entries.
b410f902d5 Document 'message-send-mail-function' in the Emacs manual
ac0546612d Fix reference to 'message-send-and-exit' in Emacs manual
cd6a9b8f65 Skip shell prompt on current line in Eshell even if it's p...
2020-02-23 07:50:28 -08:00
Noam Postavsky
ba7004b2a7 Shorten some ppss struct field names
* lisp/emacs-lisp/syntax.el (ppss): Capitalize docstrings.
(ppss-comment-depth): Renamed from ppss-comment-nesting.
(ppss-quoted-p): Renamed from ppss-after-quote-p.
(ppss-min-depth): Renamed from ppss-minimum-paren-depth.
(ppss-open-parens): Renamed from ppss-open-paren-positions.
* etc/NEWS: Announce the ppss-* accessors.
2020-02-23 09:03:18 -05:00
Federico Tedin
d7c22338d2 Fix cursor-sensor--detect when current buf != selected window's buf
* lisp/emacs-lisp/cursor-sensor.el (cursor-sensor--detect): Avoid
trying to read text properties from position taken from another
buffer.  (Bug#38740)
2020-02-21 11:11:05 +02:00
Mattias Engdegård
8dc4034ed6 Add and remove backslashes in regexps
These irregularities were found by relint; see
https://lists.gnu.org/archive/html/emacs-devel/2020-01/msg00949.html .

* doc/lispref/modes.texi (Example Major Modes):
* etc/srecode/el.srt:
* lisp/cedet/data-debug.el (data-debug-mode):
* lisp/cedet/semantic/grammar.el (semantic-grammar-mode):
* lisp/cedet/srecode/srt-mode.el (srecode-template-mode):
* lisp/comint.el (comint--unquote&requote-argument):
* lisp/emacs-lisp/lisp-mode.el (lisp-mode):
* lisp/gnus/mm-uu.el (mm-uu-type-alist):
* lisp/progmodes/cc-awk.el (c-awk-harmless-pattern-characters*):
* lisp/progmodes/cfengine.el (cfengine-common-settings):
* lisp/progmodes/cperl-mode.el (cperl-after-sub-regexp, cperl-init-faces):
* lisp/shell.el (shell-chdrive-regexp, shell--unquote&requote-argument):
* lisp/textmodes/tex-mode.el (tex-common-initialization):
Remove duplicated backslashes in character alternatives.

* lisp/emacs-lisp/lisp-mode.el (lisp-el-font-lock-keywords-2):
* lisp/progmodes/opascal.el (opascal--syntax-propertize):
* lisp/progmodes/pascal.el (pascal--syntax-propertize):
Remove backslashes escaping non-special characters.

* lisp/progmodes/fortran.el (fortran-font-lock-keywords-3): Escape '*'.
* lisp/progmodes/perl-mode.el (perl-syntax-propertize-function):
Escape '^'.
2020-02-20 16:03:30 +01:00
Glenn Morris
f633e014ac Merge from origin/emacs-27
7ceb45f61f (origin/emacs-27) Reformulate c-end-of-macro, handling mul...
888ffd960c Fix unexec failure on macOS 10.15.4
b392c9f365 Fix 'reverse-region' when less than one line is in region
7448834f73 Correct default regexp in 'package-menu-hide-package'
faada7ca42 Remove obsolete menu entry "Redisplay buffer"
78d76cd93c Remove redundant 'msft' compilation error rule (bug#39595)
75a9eee8b8 ; * src/editfns.c (Fbuffer_size): Tiny clarification.
4d8d25d641 * doc/lispref/variables.texi (special-variable-p): Clarify...
9f6a4bbcc9 Remove the optional KEEP-ORDER argument to regexp-opt
d1e8ce8bb6 Make after-change-functions called from call-process get t...

# Conflicts:
#	etc/NEWS
2020-02-16 07:50:36 -08:00
Pieter van Oostrum
7448834f73 Correct default regexp in 'package-menu-hide-package'
* lisp/emacs-lisp/package.el (package-menu-mode-menu): Correct default
regexp, so it only selects the package at point.
(Bug#39436)
2020-02-15 10:23:21 +02:00
Pieter van Oostrum
faada7ca42 Remove obsolete menu entry "Redisplay buffer"
* lisp/emacs-lisp/package.el (package-menu-mode-menu): Remove obsolete
menu entry "Redisplay buffer".
(package-menu-mode-menu): Menu entry "Refresh Package List":
make the doc string more accurate.
(Bug#39436)
2020-02-15 10:15:27 +02:00
Mattias Engdegård
9f6a4bbcc9 Remove the optional KEEP-ORDER argument to regexp-opt
This argument was added for the 'or' clause in rx, but it turned out
to be a bad idea (bug#37659), and there seems to be little other use
for it.

* lisp/emacs-lisp/regexp-opt.el (regexp-opt): Remove KEEP-ORDER.
* doc/lispref/searching.texi (Regexp Functions):
* etc/NEWS: Remove it from the documentation.
* test/lisp/emacs-lisp/regexp-opt-tests.el (regexp-opt-test--match-all)
(regexp-opt-test--check-perm, regexp-opt-test--explain-perm)
(regexp-opt-keep-order, regexp-opt-longest-match): Simplify test.
2020-02-13 20:43:42 +01:00
Glenn Morris
a13d1f9539 Merge from origin/emacs-27
0304f53076 (origin/emacs-27) doc/misc/org.texi: Fix @dircategory
027da652a4 Fix display of minibuffer prompt in ido.el
5a21aaff46 rx: Use longest match for all-string 'or' forms (bug#37659)
2b12c2b6f2 Make sure not to mark directories
ff4ed4a0ff ; Add a TODO
3a5129a1c9 vc-hg-dir-status-files: Fix when DIR is not repository root

# Conflicts:
#	etc/NEWS
2020-02-13 07:50:30 -08:00
Glenn Morris
56ce263f50 Merge from origin/emacs-27
ad5e350ab7 c-end-of-macro: Handle block coment lines with unescaped N...
06c302d425 Fix set-fontset-font with ADD arg non-nil
530067463b Correct "different than" to "different from" where appropr...
56b8768b32 More accurate documentation of 'package-menu-hide-package'
2020-02-13 07:50:24 -08:00
Mattias Engdegård
5a21aaff46 rx: Use longest match for all-string 'or' forms (bug#37659)
Revert to the Emacs 26 semantics that always gave the longest match
for rx 'or' forms with only string arguments.  This guarantee was
never well documented, but it is useful and people likely have come to
rely on it.  For example, prior to this change,

 (rx (or ">" ">="))

matched ">" even if the text contained ">=".

* lisp/emacs-lisp/rx.el (rx--translate-or): Don't tell regexp-opt to
preserve the matching order.
* doc/lispref/searching.texi (Rx Constructs): Document the
longest-match guarantee for all-string 'or' forms.
* test/lisp/emacs-lisp/rx-tests.el (rx-or): Update test.
2020-02-12 11:20:47 +01:00
Alan Mackenzie
530067463b Correct "different than" to "different from" where appropriate
(doc/emacs/screen.texi)
(doc/lispintro/emacs-lisp-intro.texi)
(doc/misc/calc.texi)
(doc/misc/gnus.texi)
(doc/misc/sc.texi)
(lisp/align.el)
(lisp/allout-widgets.el)
(lisp/allout.el)
(lisp/emacs-lisp/gv.el)
(lisp/font-lock.el)
(lisp/gnus/mm-util.el)
(lisp/mail/feedmail.el)
(lisp/mail/sendmail.el)
(lisp/mail/supercite.el)
(lisp/org/org-attach.el)
(lisp/progmodes/cc-langs.el)
(lisp/progmodes/idlw-shell.el)
(lisp/ps-print.el)
(lisp/simple.el)
(src/cmds.c)
(src/editfns.c)
(src/frame.h)
(src/regex-emacs.c)
(src/xfaces.c): Replace "different than" by "different from".
2020-02-09 14:33:14 +00:00
Eli Zaretskii
56b8768b32 More accurate documentation of 'package-menu-hide-package'
* doc/emacs/package.texi (Package Menu): Improve the description
of the 'H' command.

* lisp/emacs-lisp/package.el (package-menu-mode-menu): More
accurate wording of the help-echo string.
(package-menu-hide-package): Make the doc string more accurate.
(Bug#39436)
2020-02-08 11:38:52 +02:00
Stefan Kangas
b2e27d8617 Revert "Signal user-error on duplicate package refresh"
That commit caused errors when the connection was dropped in the
middle of a package refresh.  To avoid any further issues this close
to the pretest, we simply remove this feature.  (Bug#39187)

Don't merge to master, where we will instead try to fix the bug.
2020-02-06 13:37:38 +01:00
Tino Calancha
ebff24c0b8 Eval macro arg just once
* lisp/emacs-lisp/cl-macs.el (cl--push-clause-loop-body):
Use `macroexp-let2' (Bug#39428).
2020-02-05 19:05:23 +01:00
Stefan Kangas
feb681dc36 Silence byte-compiler warning
* lisp/emacs-lisp/bytecomp.el (byte-compile-insert-header): Silence
byte-compiler warning about "Unused lexical variable".
2020-02-05 13:28:31 +01:00
Stefan Kangas
aea12d4903 Add new filter commands to Package Menu (Bug#38424)
* lisp/emacs-lisp/package.el (package-menu-filter-by-version)
(package-menu-filter-by-status, package-menu-filter-by-archive):
New filter commands.
(package-menu--filter-by): New helper function.
(package-menu-filter-by-keyword, package-menu-filter-by-name): Use
the above helper function.
(package-menu-mode-menu):
(package-menu-mode-map): Update menu to include new filter commands.
* doc/emacs/package.texi (Package Menu): Document the new commands and
re-arrange the sort order of commands to be closer to the one in
describe-major-mode.
* etc/NEWS: Announce the new commands.

* lisp/emacs-lisp/package.el (package-menu--display): New function
extracted from....
(package-menu--generate): ...here.

* test/lisp/emacs-lisp/package-tests.el (with-package-menu-test):
New macro.
(package-test-update-listing, package-test-list-filter-by-name)
(package-test-list-filter-clear): Use above macro.
(package-test-list-filter-by-archive)
(package-test-list-filter-by-keyword)
(package-test-list-filter-by-status)
(package-test-list-filter-by-version-=)
(package-test-list-filter-by-version-<)
(package-test-list-filter-by-version->): New tests.
(package-test-filter-by-version): New helper function.
2020-02-05 13:18:12 +01:00
Adam Porter
e287da5a81 * lisp/emacs-lisp/map.el: Add keyword-only pattern abbreviation
* lisp/emacs-lisp/map.el: Update version to 2.1.
((pcase-defmacro map)): Update docstring.
(map--make-pcase-bindings): Match keyword pattern.

* test/lisp/emacs-lisp/map-tests.el (test-map-plist-pcase): Add test.
2020-02-04 12:30:31 -05:00
Paul Pogonyshev
0223a1577c * lisp/emacs-lisp/debug.el (debug): Merge the non-interactive cases
bug#38927

(cherry picked from commit 502059433c)
2020-01-31 16:09:42 +02:00