Commit graph

75671 commits

Author SHA1 Message Date
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
5d4cf1fef8 Add ‘nofollow’ flag to set-file-times
This is a companion to the recent set-file-modes patch.
It adds support for a ‘nofollow’ flag to set-file-times (Bug#39773).
Like the set-file-modes patch, it needs work in the w32 port.
* admin/merge-gnulib (GNULIB_MODULES): Add futimens, utimensat.
Remove utimens.
* doc/lispref/files.texi (Changing Files):
* etc/NEWS: Mention the change.
* lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
* lisp/files.el (copy-directory):
* lisp/gnus/gnus-cloud.el (gnus-cloud-replace-file):
* lisp/net/tramp-adb.el (tramp-adb-handle-copy-file):
* lisp/net/tramp-smb.el (tramp-smb-handle-copy-file):
* lisp/tar-mode.el (tar-copy):
* test/lisp/filenotify-tests.el (file-notify-test03-events):
* test/lisp/files-tests.el:
(files-tests-file-name-non-special-set-file-times):
* test/lisp/net/tramp-tests.el (tramp-test22-file-times):
When setting file times, avoid following symbolic links
when the file is not supposed to be a symbolic link.
* lib/futimens.c, lib/utimensat.c, m4/futimens.m4, m4/utimensat.m4:
New files, copied from Gnulib.
* lisp/gnus/gnus-cloud.el (gnus-cloud-replace-file):
When creating a file that is not supposed to exist already,
use the excl flag to check this.
* lisp/net/tramp-adb.el (tramp-adb-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):
Accept an optional FLAG arg that is currently ignored,
and add a FIXME comment for it.
* lisp/net/tramp-gvfs.el (tramp-gvfs-handle-set-file-times):
* src/fileio.c (Fset_file_times):
Support an optional FLAG arg.
* src/fileio.c (Fcopy_file): Use futimens instead of set_file_times,
as it’s simpler and is a POSIX API.
* src/sysdep.c (set_file_times): Move from here ...
* src/w32.c (set_file_times): ... to here, and make it static,
since it is now used only in w32.c.  Presumably w32.c should also
add support for futimens and utimensat (the POSIX APIs, which
Emacs now uses) and it can remove fdutimens (the Gnulib API,
which Emacs no longer uses).
2020-03-07 12:15:43 -08: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
João Távora
fc47e3ad99 Let fido-mode users force a minibuffer-exit
* lisp/icomplete.el (icomplete-fido-exit):
Add FORCE arg.  Rewrite docstring. (bug#38992)
2020-03-07 13:59:50 +00:00
Dmitry Gutov
e734961d4c icomplete-fido-exit: New command for the M-j binding
* lisp/icomplete.el (icomplete-fido-exit): New command.
(icomplete-fido-mode-map): Use it (bug#38992).
2020-03-07 13:51:03 +00:00
Dmitry Gutov
335a9bd215 minibuffer-force-complete-and-exit: Allow input with no matches
* lisp/minibuffer.el (minibuffer--require-match): New variable.
(completing-read-default): Bind it to the REQUIRE-MATCH value.
(minibuffer-force-complete-and-exit): Consult it to allow input
with no matches when a match is not required (bug#38992).

* lisp/icomplete.el (icomplete-exhibit): Use it to render the
correct parens around matches.
2020-03-07 13:50:42 +00:00
Amin Bandali
5cb312b5b9
Update ERC mailing list address
* lisp/erc/erc.el (erc-official-location): As part of bringing ERC
under the Emacs umbrella, erc-discuss has been renamed to emacs-erc,
and will be *the* mailing list for discussions and announcements about
ERC going forward.  The other two lists, erc-announce and erc-commit,
are now retired.  For more details, see the announcement at
<https://lists.gnu.org/archive/html/emacs-erc/2020-03/msg00001.html>.
2020-03-06 13:03:12 -05:00
Roland Winkler
cb1877321b Use regexp-opt to define bibtex-autokey-transcriptions. (Bug#39686) 2020-03-06 09:37:55 +01:00
Eli Zaretskii
3f9c340de0 Improve documentation of 'table-generate-source'
* lisp/textmodes/table.el (table-generate-source): Doc fix.
(Bug#39935)

* etc/NEWS: Fix wording of the 'table-generate-source' entry and
mark it as documented.
2020-03-06 10:14:42 +02:00
Juri Linkov
7e8b8da9e3 Fix handling of empty input in describe-variable and describe-symbol
* lisp/help-fns.el (describe-variable): Use 'user-error' like in
'describe-function'.
(describe-symbol): Use empty string for arg SYMBOL when input is empty
and there is no default value.
This allows to signal the error "You didn't specify a function or variable"
instead of displaying help about the symbol 'nil' on empty input.
OTOH, still allows to see help about 'nil' when the input is "nil".
2020-03-06 02:27:32 +02:00
Juri Linkov
32261ed15b New command make-frame-on-current-monitor to use in windmove (bug#39875)
* lisp/frame.el (make-frame-on-current-monitor): New command.

* lisp/windmove.el (windmove-display-in-direction):
Use make-frame-on-current-monitor for 'new-frame'.
(windmove-display-new-frame): New command.
(windmove-display-default-keybindings): Bind
windmove-display-new-frame to 'f' key.

* lisp/window.el (display-buffer-in-direction): Fix quotes in docstring.
2020-03-06 02:19:00 +02: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
Justin Burkett
08d7d28d35 Fix args in 'window-text-pixel-size' call in 'fit-window-to-buffer'
* lisp/window.el (fit-window-to-buffer): Fix arguments in
'window-text-pixel-size' call.

Copyright-paperwork-exempt: yes
2020-03-05 09:10:03 +01:00
João Távora
cb1e30910e Have pulse.el preserve existing overlay priorities
Fixes: bug#39821

* lisp/cedet/pulse.el (pulse-momentary-highlight-overlay): Save
overlay priority.
(pulse-momentary-unhighlight): Restore.
2020-03-04 22:33:49 +00: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
Alan Mackenzie
a3c2d186eb CC Mode: Fix the handling of two adjacent after-change-functionses.
The bug involved failing to set c-new-END correctly, which lead to an
args-out-of-range error when after-change-functions was invoked twice without
an intervening invocation of before-change-functions.

* lisp/progmodes/cc-mode.el (c-after-change): Correct a coding error in the
handling of c-just-done-before-change.
2020-03-04 21:17:04 +00:00
Alan Mackenzie
a1abf73c76 Fix combine-change-calls-1 for when buffer-undo-list is t
* lisp/subr.c (combine-change-calls-1): Bind before/after-change-functions to
nil also when buffer-undo-list is t.
2020-03-04 19:50:38 +00:00
Mattias Engdegård
db37dd2e84 Don't misinterpret doc string as initial value
* lisp/loadhist.el (loadhist--restore-autoload):
* lisp/progmodes/vhdl-mode.el (vhdl-font-lock-keywords-0):
Prevent the doc string from being used as initial value.
2020-03-04 14:46:46 +01:00
Andrea Corallo
6487d4ac5d Merge remote-tracking branch 'savannah/master' into HEAD 2020-03-04 11:07:53 +00:00
Stefan Kangas
cf45e8022e Declare speedbar-incompatible-version obsolete
This variable refers to a now ancient version of speedbar, and is no
longer useful.

* lisp/speedbar.el (speedbar-incompatible-version): Declare obsolete.
2020-03-04 05:50:26 +01: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
Noam Postavsky
7cafbbe964 Fix describe-variable on values with circular syntax (Bug#39805)
* lisp/help-fns.el (describe-variable): Set syntax tables before
calling pp-buffer.
2020-03-03 22:04:48 -05:00
Stéphane Boucher
21ebfa1dd8 Update default-directory in occur buffer (bug#39608)
* lisp/replace.el (occur-1): Update default-directory in occur buffer.

Copyright-paperwork-exempt: yes
2020-03-04 02:05:55 +02:00
Juri Linkov
592b1cfee9 Improve documentation of next-error-highlight-no-select (bug#38778)
* doc/emacs/building.texi (Compilation Mode):
Mention next-error-highlight-no-select.

* lisp/simple.el (next-error-highlight): Add reference to
next-error-highlight-no-select.
(next-error-highlight-no-select): Add reference to
next-error-highlight.
2020-03-04 01:48:03 +02:00
AndreaCorallo
1f3ba658fc * Do not crash if the output directory is created in the meanwhile 2020-03-03 23:06:46 +00:00
AndreaCorallo
43b6f05dfb Hash eln ABI once and add it to the output compilation path 2020-03-03 22:23:41 +00:00
AndreaCorallo
f77f6ca770 Fix org for eln new compilation folder layout 2020-03-03 22:06:08 +00:00
AndreaCorallo
286e21c4e8 Rework `find-lisp-object-file-name'
Rework it for eln new compilation folder layout.
2020-03-03 21:01:37 +00:00
Stefan Monnier
620f672518 * lisp/progmodes/elisp-mode.el (elisp-enable-lexical-binding): New command
(emacs-lisp-mode): Indicate lex/dyn binding mode in the mode line.
(elisp--dynlex-modeline-map): New var.
2020-03-03 11:34:49 -05:00
Štěpán Němec
0f94f698aa Use help-fns-short-filename in other describe- commands
The commit

2015-01-16T22:52:15-05:00!monnier@iro.umontreal.ca
24b7f77581
(Improve handling of doc-strings and describe-function for cl-generic)

added 'help-fns-short-filename', which provides file name shortening
smarter than a simple 'file-name-nondirectory' call, but besides the
generic/eieio functions ('cl--generic-describe', 'cl--describe-class',
'eieio-help-constructor'), it is currently only used by
'describe-function' (via 'help-fns-function-description-header').

Make the other help commands use it, too.

(Other than the obvious consistency/maintenance argument, my immediate
motivation for this change is the possibility to customize the file
name abbreviation by advising the function.)

* lisp/help.el (describe-mode): Move to help-fns.el.  The command was
already depending on 'find-lisp-object-file-name' defined there.
* lisp/help-fns.el (describe-variable) (describe-face) (describe-keymap)
(describe-mode): Use 'help-fns-short-filename'.
2020-03-03 10:52:27 -05:00
Štěpán Němec
1939f7580b whitespace: Turn long lines regexp into a function (bug#36837)
* lisp/whitespace.el (whitespace-color-on): Turn long lines regexp
into a function to ensure it uses current 'whitespace-line-column'
and 'fill-column' values.  (Bug#36837)
(whitespace-lines-regexp): New function.
2020-03-01 22:54:32 -05:00
AndreaCorallo
bf4f620b2f * ; Clean-up out of date comment 2020-03-01 21:10:49 +00:00
Sergey Trofimov
b42b894d1d Fix fit-frame-to-buffer for multi-monitor setup
* lisp/window.el (fit-frame-to-buffer): Call
'frame-monitor-attributes' instead of
'display-monitor-attributes-list'.  Fix geometry calculations for
multiple monitors.

Copyright-paperwork-exempt: yes
2020-03-01 19:49:18 +01:00
Glenn Morris
13a69c829e ; Auto-commit of loaddefs files. 2020-03-01 10:04:27 -08: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
Stefan Kangas
1dd4a63140 * lisp/progmodes/cperl-mode.el: Clarify comment. 2020-03-01 01:56:42 +01:00
Stefan Kangas
228fb6f384 Remove more XEmacs compat code from viper
* lisp/emulation/viper-mous.el (viper-multiclick-timeout)
(viper-current-click-count, viper-last-click-event-timestamp)
(viper-mouse-click-insert-word)
(viper-mouse-click-search-word): Remove XEmacs compat code.
(viper-event-click-count): Redefine as obsolete function alias
for 'event-click-count'.
* lisp/emulation/viper-util.el (viper-check-version): Declare
obsolete.
2020-03-01 01:56:03 +01:00
Stefan Kangas
e98ee8ddac Make 'load-dangerous-libraries' obsolete (Bug#37819)
When 'load-dangerous-libraries' was t, Emacs allowed loading .elc
files compiled by XEmacs.  This patch removes the support for that use
case, and declares the variable obsolete.

* lisp/subr.el (load-dangerous-libraries): Declare obsolete.
* src/lread.c (Fload): Ignore its value, and thereby refuse to load
files byte compiled by XEmacs.
(syms_of_lread): Update doc string of 'bytecomp-version-regexp' to not
refer to it.
* doc/emacs/building.texi (Lisp Libraries): Remove its documentation.
2020-03-01 01:19:23 +01:00
Noah Friedman
79fe320566 Fix XEmacs-specific clause in definition of pascal-outline-map.
* lisp/progmodes/pascal.el (pascal-outline-map): Call set-keymap-name
on map, not pascal-outline-map, as the latter is not yet defined.
2020-02-29 14:50:51 -08:00
Juri Linkov
6b48aedb6b * lisp/tab-line.el: Fix auto-hscrolling (bug#39649)
Distinguish offsets between manual-vs-automatic scrolling
as integers-vs-floats instead of positive-vs-negative integers.

* lisp/tab-line.el (tab-line-format-template): Use 'numberp'
instead of 'integerp', and 'truncate' instead of 'abs'.
(tab-line-format): When the window-buffer was updated, set window-parameter
to float to enable auto-hscroll after it was disabled on manual scrolling.
(tab-line-auto-hscroll-buffer): New variable with internal buffer.
(tab-line-auto-hscroll): Erase in tab-line-auto-hscroll-buffer.
Use 'numberp' instead of 'integerp', 'truncate' instead of 'abs',
and 'float' instead of '-'.
(tab-line-hscroll): Use 'numberp' instead of 'integerp',
and 'truncate' instead of 'abs'.
2020-02-29 23:49:17 +02:00
Nicolas Petton
c5f255d681
; Update lisp/ldefs-boot.el 2020-02-29 22:25:38 +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
Eli Zaretskii
9908b5a614 Merge branch 'emacs-27' of git.savannah.gnu.org:/srv/git/emacs into emacs-27 2020-02-29 09:51:43 +02:00
Mattias Engdegård
6dc2ebe00e Fix overquoting in mule.el
* lisp/international/mule.el (sgml-xml-auto-coding-function):
Remove accidental quote.
2020-02-28 22:39:41 +01:00