1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-03-27 01:01:52 -07:00
Commit graph

149293 commits

Author SHA1 Message Date
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
Stefan Monnier
9900b145f9 * lisp/window.el: Avoid called-interactively-p.
(other-window, delete-other-windows, next-buffer, previous-buffer):
Use an `interactive` arg instead.
2020-03-10 12:12:06 -04:00
Stefan Monnier
317065c103 * lisp/ido.el: Remove redundant :groups 2020-03-10 12:03:11 -04:00
Stefan Monnier
297d3d2e0e * lisp/subr.el (dlet): New macro
* lisp/calendar/calendar.el (calendar-dlet*): Use it.
2020-03-10 12:00:51 -04:00
Andrea Corallo
5f8b630823 Merge remote-tracking branch 'savannah/master' into HEAD 2020-03-10 10:47:59 +00:00
AndreaCorallo
566f0f1b63 * Improve load_comp_unit
Fix uninitialized ephemeral data relocation for the case when a dumped
compilation unit is manually reloaded.

Guard also data_ephemeral_vec against compiler optimizations.
2020-03-10 10:47:27 +00:00
AndreaCorallo
e23856167b * Fix store_function_docstring for for native functions
Do not Nil native_doc fields.  This will be naturally dumped by
pdumper.  This was affecting dumped functions.
2020-03-10 10:43:48 +00:00
Andrea Corallo
2cf4b81009 * Fix GC mark for native compiled functions
native_intspec and native_doc fields has to be reached by the subr
cause are not anymore in the CU.
2020-03-10 10:42:56 +00:00
AndreaCorallo
f21e1dfc9f * Set relocation class as ephemeral in `comp-limplify-top-level' 2020-03-10 10:42:56 +00:00
Juri Linkov
1bc3fa0bd0 * lisp/emacs-lisp/package.el (package-install): Fix typo in docstring. 2020-03-10 01:41:15 +02:00
Juri Linkov
a98c8f5a09 Improve new-frame logic of windmove-display-in-direction (bug#39875)
* lisp/windmove.el (windmove-display-in-direction):
For frame-based logic use code similar to display-buffer-pop-up-frame.
2020-03-10 01:39:05 +02:00
Juri Linkov
199acd6270 In vc-print-branch-log use root instead of the default directory (bug#39704)
* lisp/vc/vc.el (vc-print-branch-log): Use rootdir instead of
default-directory for the second arg of vc-print-log-internal.
2020-03-10 01:34:25 +02:00
Paul Eggert
4537976afd Port .gdbinit to clang with -gdwarf-4
* src/.gdbinit (xgetsym): Port to clang with -gdwarf-4, which
doesn’t output the type of lispsym anywhere other than emacs.o
(Bug#39962).
2020-03-09 12:25:56 -07:00
Michael Albinus
a1e2a68470 Finish implementation of set-file-times FLAG arg in Tramp
* lisp/net/tramp-adb.el (tramp-adb-handle-set-file-times):
Implement FLAG.
(tramp-adb-handle-copy-file): Adapt `set-file-times' call.

* lisp/net/tramp-compat.el (tramp-compat-set-file-times): New defalias.

* lisp/net/tramp-gvfs.el (tramp-gvfs-handle-set-file-modes)
(tramp-gvfs-handle-set-file-times, tramp-gvfs-set-file-uid-gid):
Simplify `tramp-gvfs-url-file-name' call.

* lisp/net/tramp-sh.el (tramp-sh-handle-set-file-times): Implement FLAG.
(tramp-do-copy-or-rename-file-via-buffer)
(tramp-do-copy-or-rename-file-out-of-band): Add optional argument
OK-IF-ALREADY-EXISTS.  Adapt callees.
(tramp-do-copy-or-rename-file-via-buffer)
(tramp-do-copy-or-rename-file-directly)
(tramp-do-copy-or-rename-file-out-of-band): Adapt `set-file-times' call.

* lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory)
(tramp-smb-handle-copy-file): Adapt `set-file-times' call.

* lisp/net/tramp-sudoedit.el (tramp-sudoedit-do-copy-or-rename-file):
Adapt `set-file-times' call.
(tramp-sudoedit-handle-set-file-times): Implement FLAG.

* test/lisp/net/tramp-tests.el (tramp-test22-file-times): Extend test.
2020-03-09 16:05:21 +01:00
Mattias Engdegård
0883c800a0 Simplify rx example in manual
* doc/lispref/searching.texi (Rx Notation):
Use the 'not' shorthand introduced in Emacs 27.
2020-03-09 16:00:18 +01:00
Michael Albinus
a695189248 ; * etc/NEWS: Fix typo. 2020-03-09 15:49:05 +01:00
Andrea Corallo
87ee6ff4eb Merge remote-tracking branch 'savannah/master' into HEAD 2020-03-09 07:49:33 +00:00
Andrea Corallo
9838ee7ed8 * Fix regexp instroduced by f055f52321 2020-03-09 07:47:57 +00:00
Paul Eggert
a461baae79 Merge from origin/emacs-27
cf223dc928 ; * src/timefns.c: Fix typo in previous change.
20d3d3a950 * src/timefns.c: Add comments.
2020-03-08 16:57:41 -07:00
Paul Eggert
cf223dc928 ; * src/timefns.c: Fix typo in previous change. 2020-03-08 16:49:32 -07:00
Paul Eggert
20d3d3a950 * src/timefns.c: Add comments. 2020-03-08 16:44:49 -07:00
Andrea Corallo
dc7ccfaf0f * Fix typo into pdumper integration 2020-03-08 22:33:54 +00:00
Andrea Corallo
4c8a84002f * New native-comp CI setup
- Disable 'test-all' till is known to be broken in this branch.

- Run 'test-native-bootstrap' always (not only when scheduled).

- Set 'test-native-bootstrap' timeout to 3 hours.
2020-03-08 21:51:56 +00:00
Andrea Corallo
f055f52321 * Fix two find function functions for native compilation
`find-function-library' and `find-library-name' gets fixed for new eln
compilation directory layout.
2020-03-08 21:51:56 +00:00
Daniel Gröber
d00df0aaf9 * lisp/term/rxvt.el: Enable backeted paste and window title
rxvt-unicode uses the same escape sequences as xterm so just re-use
the xterm functions to enable them.  The `xterm-rxvt-function-map`
keymap already has

    (define-key map "\e[200~" [xterm-paste])

so we're already handling the paste sequence and only need to enable it.
Tested on rxvt-unicode version 9.22.

(rxvt-set-window-title): New var.
(terminal-init-rxvt): Use it; enable bracketed paste mode;
run terminal-init-rxvt-hook.
2020-03-08 14:07:04 -04:00
Alan Mackenzie
35a13fca32 CC Mode: allow specified directives (e.g. pragma) to be indented as statements
* lisp/progmodes/cc-cmds.el (c-align-cpp-indent-to-body)
(c-cpp-indent-to-body-flag, c-electric-pragma)
(c-add-indent-to-body-to-abbrev-table, c-clear-stale-indent-to-body-abbrevs)
(c-toggle-cpp-indent-to-body): New functions and variables.

* lisp/progmodes/cc-langs.el (c-std-abbrev-keywords): New lang const/var.

* lisp/progmodes/cc-mode.el (c-populate-abbrev-table): New function.
(c-basic-common-init): call the c-populate-abbrev-table.
(c-mode, c++-mode, objc-mode, java-mode, idl-mode, pike-mode, awk-mode):
Remove the setting of MODE-abbrev-table.

* lisp/progmodes/cc-vars.el (c-cpp-indent-to-body-directives): New defcustom.

* doc/misc/cc-mode.texi (Custom Macros): Introduce and refer to ....
(Indenting Directives): New page documenting the new mechanism.
2020-03-08 16:21:15 +00:00
Eli Zaretskii
66bc47d12a Fix the MinGW build as followup to recent "nofollow" changes
* src/w32.c (fdutimens): Call utimensat instead of utime.
(set_file_times): Function deleted.
(convert_from_timespec): Renamed from convert_from_time_t and
modified to accept 'struct timespec' argument instead of 'time_t'.
(utimensat): Renamed from utime and modified to accept 'struct
timespec [2]' argument and an additional argument FLAG.  Emulate
Posix 'utimensat'.  Call 'convert_from_timespec'.
(w32_copy_file): Call 'utimensat' instead of 'set_file_times'.
* src/fileio.c (Fcopy_file) [WINDOWSNT]: Make the error message be
identical to that on Posix platforms.

* nt/inc/sys/stat.h (utimensat): Provide prototype.
* nt/mingw-cfg.site (ac_cv_func_futimens)
(gl_cv_func_futimens_works, ac_cv_func_utimensat)
(gl_cv_func_utimensat_works): Override Gnulib tests.
* nt/gnulib-cfg.mk (OMIT_GNULIB_MODULE_futimens)
(OMIT_GNULIB_MODULE_utimensat): Disable these Gnulib modules.
2020-03-08 17:00:10 +02:00
Andrea Corallo
6c3efad161 * test-native-bootstrap CI test configured for speed 0
Run for now only speed 0 to limit memory usage and compilation time.
2020-03-08 12:34:43 +00: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
Paul Eggert
0a3682a566 * src/timefns.c: Add comments. 2020-03-08 00:16:49 -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
Glenn Morris
6ce2052558 Skip filenotify tests on hydra.nixos.org
They frequently hang for hours.
* test/lisp/filenotify-tests.el
(file-notify--test-remote-enabled-checked): Default to off on hydra.
2020-03-07 12:17:01 -08: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
9f4b260c2b Update from Gnulib
This incorporates:
2020-03-07 open, openat: port to (O_RDWR | O_RDONLY) != 0
* lib/open.c: Copy from Gnulib.
2020-03-07 11:58:48 -08:00
Andrea Corallo
cd9c1e4889 * Raise timeout for test-native-bootstrap CI test and build with -j2 2020-03-07 19:13:33 +00: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
Paul Eggert
818333c85a * doc/lispref/os.texi (time-subtract): Doc fix. 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
Alan Third
72f87f8873 NS port documentation updates
* doc/emacs/macos.texi (Mac / GNUstep Customization): Document some
more of the ns- variables and remove incorrect font back-end
information.
* etc/NEWS: Update the documentation status of macOS news entries.
2020-03-07 14:41:47 +00:00
João Távora
5b19db98ad ; * etc/NEWS: correctly describe what fido-mode is 2020-03-07 13:59:54 +00: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
Eli Zaretskii
34132d4bf6 ; * etc/NEWS: Mark 2 entries as fully documented. 2020-03-07 14:55:43 +02:00
Eli Zaretskii
d28b73841b ; * etc/NEWS: Fix the 'mml-secure-openpgp-sign-with-sender' entry. 2020-03-07 14:50:50 +02:00
Eli Zaretskii
d1d56a9fd9 ; * etc/NEWS: 'thunk-let' and 'thunk-let*' are fully documented. 2020-03-07 14:48:33 +02:00