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

155589 commits

Author SHA1 Message Date
AndreaCorallo
8788fab9e1 ; Nit fix in comment 2020-02-26 21:36:48 +00:00
Mattias Engdegård
8d5e8cddab Signal an error for the regexp "[:alnum:]"
Omitting the extra brackets is a common mistake; see discussion at
https://lists.gnu.org/archive/html/emacs-devel/2020-02/msg00215.html

* src/regex-emacs.c (reg_errcode_t, re_error_msgid): Add REG_ECLASSBR.
(regex_compile): Check for the mistake.
* test/src/regex-emacs-tests.el (regexp-invalid): Test.
* etc/NEWS: Announce.
2020-02-26 22:09:17 +01:00
Eric Abrahamsen
f9e53947c7 Fix documented slot name of eieio-instance-tracker class
* doc/misc/eieio.texi (eieio-instance-tracker): The code has the slot
  name as `tracking-symbol', not `tracker-symbol'.
2020-02-26 15:47:12 -05:00
Robert Pluim
999d75c0c1 Range-check width passed to define-fringe-bitmap
This prevents a crash when attempting to create a zero-width bitmap.

* src/fringe.c (Fdefine_fringe_bitmap): Check value of width,
signal an error if outside documented range (Bug#39662).
2020-02-26 19:18:54 +01:00
Michael Albinus
2261f89324 Finish Tramp's implementation of 'nofollow
* lisp/net/tramp-adb.el (tramp-adb-handle-file-local-copy):
Do not use 'nofollow.
(tramp-adb-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):
* lisp/net/tramp-sh.el (tramp-sh-handle-set-file-modes):
Handle FLAG properly.
(tramp-get-remote-chmod-h): Adapt implementation.

* test/lisp/net/tramp-tests.el (tramp-get-remote-chmod-h): Declare.
(tramp--test-ignore-make-symbolic-link-error): Revert last change.
(tramp-test20-file-modes): Adapt test.
2020-02-26 18:43:11 +01:00
Nicolas Petton
29e415d6b0
; ChangeLog.3 fixes 2020-02-26 18:32:43 +01:00
Nicolas Petton
4653baa6a5
; ChangeLog.3 update & fixes. 2020-02-26 17:53:27 +01:00
Nicolas Petton
a95ec6e060
* admin/authors.el: Add missing entries 2020-02-26 17:52:07 +01:00
Noam Postavsky
af519a6348 Define libgnutls-version properly
* src/gnutls.c (syms_of_gnutls) <libgnutls-version>: Define with
DEFVAR_LISP and add docstring, so that this variable will accessible by
help facilities.
2020-02-25 20:12:57 -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
Michael Albinus
64af3c94a6 Finish implementation of {set-}file-modes FLAG arg in Tramp
* lisp/net/tramp-adb.el (tramp-adb-handle-file-local-copy): Do not use
'nofollow for temporary files.  Use `tramp-compat-set-file-modes'.
(tramp-adb-handle-write-region): Do not use 'nofollow for
temporary files.
(tramp-adb-handle-set-file-modes): Implement FLAG.

* lisp/net/tramp-compat.el (tramp-compat-file-modes)
(tramp-compat-set-file-modes): New defaliases.

* lisp/net/tramp-gvfs.el (tramp-gvfs-handle-set-file-modes):
Make explicit check (eq flag 'nofollow).

* lisp/net/tramp-sh.el (tramp-sh-handle-set-file-modes): Implement FLAG.
(tramp-do-copy-or-rename-file-directly)
(tramp-sh-handle-file-local-copy, tramp-sh-handle-write-region):
Do not use 'nofollow for temporary files.
(tramp-get-remote-chmod-h): New defun.

* lisp/net/tramp-smb.el (tramp-smb-handle-set-file-modes):
Implement FLAG.

* lisp/net/tramp-sudoedit.el (tramp-sudoedit-handle-set-file-modes):
Implement FLAG.
(tramp-sudoedit-handle-write-region): Use `tramp-compat-set-file-modes'.

* lisp/net/tramp.el (tramp-default-file-modes): Optional argument FLAG.
(tramp-handle-file-modes): Use `file-truename' instead of
`file-chase-links'.  The latter function does not work for remote
file names.
(tramp-handle-write-region): Call `tramp-default-file-modes' with
'nofollow if needed.  Do not use 'nofollow for temporary files.

* test/lisp/net/tramp-tests.el
(tramp--test-ignore-make-symbolic-link-error): Check also for
"Cannot chmod .* with nofollow flag" error.
(tramp-test20-file-modes): Extend test.
(tramp--test-emacs28-p): New defun.
2020-02-25 13:25:57 +01:00
Mattias Engdegård
22524a6e39 Fix mistake in regexp cleanup
This error was introduced in 770f76f050.

* lisp/org/org.el (org-ts-regexp-inactive): Match up to the first ']'.
2020-02-25 12:04:40 +01:00
Eli Zaretskii
bcd88e738d ; * etc/NEWS: Improve wording of a recently-added entry. 2020-02-25 07:42:49 +02:00
Paul Eggert
a3d146fd8a Update from Gnulib
This incorporates:
2020-02-24 getloadavg: don't use /usr/local when cross-compiling on AIX
2020-02-24 fcntl: add witness of gnulib override
* lib/fcntl.in.h, m4/getloadavg.m4: Copy from Gnulib.
2020-02-24 17:55:39 -08:00
Juri Linkov
72cf60e9dc * lisp/textmodes/nroff-mode.el (nroff-mode-map): Remove key 'M-s' (bug#39706) 2020-02-25 02:38:33 +02:00
Juri Linkov
29eb93e3c3 * lisp/comint.el (comint-redirect-setup): Guard mode-line-process (bug#39705) 2020-02-25 02:22:29 +02:00
Dmitry Gutov
9ec6eb1065 vc-dir-ignore: More accurately choose base directory
* lisp/vc/vc-dir.el:
(vc-dir-ignore): Use it (bug#37189).

* lisp/vc/vc.el:
(vc--ignore-base-dir): Extract from vc-ignore.
2020-02-25 01:03:42 +02:00
Eli Zaretskii
7dfe90a666 Adapt the MS-Windows build to 'nofollow' changes
* nt/gnulib-cfg.mk (OMIT_GNULIB_MODULE_fchmodat)
(OMIT_GNULIB_MODULE_lchmod): Set to true to omit building these
modules on MS-Windows.
* nt/mingw-cfg.site (ac_cv_func_fchmodat)
(gl_cv_func_fchmodat_works, ac_cv_func_lchmod): Disable tests on
MS-Windows.

* src/w32.c (chmod_worker, lchmod, fchmodat): New functions.
(sys_chmod): Move most of the code to chmod_worker.
* src/w32.h (fchmodat, lchmod): Add prototypes.
2020-02-24 18:16:51 +02: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
Paul Eggert
c4ca8219dd Update from Gnulib
This incorporates:
2020-02-23 use 'restrict'
* lib/careadlinkat.h, lib/md5.h, lib/sha1.h, lib/sha256.h:
* lib/sha512.h, lib/strftime.h, lib/string.in.h, m4/nstrftime.m4:
Copy from Gnulib.
* m4/gnulib-comp.m4: Regenerate.
2020-02-23 16:15:01 -08:00
Wilson Snyder
b95f78ed7b Add `verilog-auto-inst-template-required'.
* lisp/progmodes/verilog-mode.el (verilog-auto-inst-template-required)
(verilog-auto-inst): Add `verilog-auto-inst-template-required' to only
insert AUTOINST ports inside an AUTO_TEMPLATE, msg3170. Reported by Ted
Huang, Brian Magnuson.
2020-02-23 17:18:08 -05:00
Alan Mackenzie
3bce7ec382 CC Mode: Protect against consecutive calls to before-change-functions ...
without an intervening call to after-change-functions.  This would have been a
workaround to bug #38691 had the causes of that bug not been removed.

* lisp/progmodes/cc-mode.el (c-just-done-before-change): Add an extra value to
this variable, 'whole-buffer, this being set by c-before-change as a signal to
c-after-change that although c-before-change has run, it has assumed the
entire buffer as the change region.
(c-before-change, c-after-change): Adapt to the new meaning of the above.
2020-02-23 19:43:56 +00: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
4332964861 ; Merge from origin/emacs-27
The following commit was skipped:

aff8bca77c * lisp/replace.el (occur-engine-line): Revert part of fb16...
2020-02-23 07:50:29 -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
Alan Mackenzie
693749c60f Java Mode: Fix fontification of variable decl inside `for'
* lisp/progmodes/cc-engine.el (c-forward-declarator): In place of a test for
C++ Mode, test for either C++ Mode or Java Mode.
2020-02-23 12:41:20 +00:00
Alan Mackenzie
884b68ca2c CC Mode: Fontify foo in "const auto foo :" correctly
* lisp/progmodes/cc-engine.el (c-forward-decl-or-cast-1): While attempting to
find a declaration's identifier, recast the latest found id. as that
identifier when there is no other type identifier and the result of the most
recent c-forward-type call is 'maybe or 'found.  In the latter case, remove
the id. from the found types list, too.
2020-02-23 11:00:28 +00:00
Paul Eggert
b6be1ce644 Update from Gnulib
This incorporates:
2020-02-22 fchmodat, lchmod: simplify
2020-02-22 lchmod: fix link error on Solaris 10
2020-02-22 use 'restrict' in all POSIX function declarations
2020-02-22 chmodat, chownat: new modules
* lib/gnulib.mk.in: Regenerate.
* lib/inttypes.in.h, lib/openat.h, lib/signal.in.h:
* lib/stdio.in.h, lib/stdlib.in.h, lib/string.in.h:
* lib/sys_stat.in.h, lib/time.in.h, lib/unistd.in.h, m4/inttypes.m4:
* m4/signal_h.m4, m4/stdio_h.m4, m4/stdlib_h.m4, m4/string_h.m4:
* m4/sys_socket_h.m4, m4/sys_stat_h.m4, m4/time_h.m4:
* m4/unistd_h.m4: Copy from Gnulib.
2020-02-23 01:27:19 -08:00
Juri Linkov
bce17355ac * lisp/font-lock.el (font-lock-ensure): Use font-lock-specified-p (bug#39597) 2020-02-23 02:36:54 +02:00
Juri Linkov
aff8bca77c * lisp/replace.el (occur-engine-line): Revert part of fb16313025 (bug#39597)
; Do not merge to master.
2020-02-23 02:34:45 +02:00
Dmitry Gutov
dd5756436c Move more logic to vc-ignore from vc-default-ignore
* lisp/vc/vc-dir.el (vc-dir-ignore):
Pass relative file names to vc-ignore.

* lisp/vc/vc.el (vc-ignore): Move the responsibility of
constructing the ignore pattern (right now, most often a relative
file name) using a file name received from the user, here.
(vc-default-ignore): ...from here (bug#37189, see discussion).
Also clarify the docstring.
2020-02-23 01:51:38 +02:00
Paul Eggert
c87a165040 Update from Gnulib
This incorporates:
2020-02-21 largefile: remove _DARWIN_USE_64_BIT_INODE
2020-02-21 Add ‘extern "C"’ to count-one-bits.h etc.
* lib/count-leading-zeros.h, lib/count-one-bits.h:
* lib/count-trailing-zeros.h, m4/largefile.m4: Copy from Gnulib.
2020-02-22 10:33:45 -08:00
Paul Eggert
202c3319a2 Restore runtime check for invalid tag
* src/data.c (wrong_type_argument): Restore check that the
object’s tag is valid, since invalid tags exist again.
* src/lisp.h (Lisp_Type_Unused0): New constant.
2020-02-22 08:05:59 -08:00
Eli Zaretskii
2aed279be1 Warn about the likes of "[:alnum:]" in regexps
* doc/lispref/searching.texi (Char Classes): Warn about erroneous
usage of named character classes.  Suggested by Stephen Leake
<stephen_leake@stephe-leake.org>.
2020-02-22 11:07:42 +02:00
Wolfgang Scherer
0273f261a7 Don't write absolute filenames and duplicate strings to CVS ignore files
* lisp/vc/vc-cvs.el (vc-cvs-ignore): Expand filename correctly
and pass on only the basename as the pattern.
(vc-cvs-append-to-ignore) Do not write duplicate strings to
.cvsignore.  New optional parameter SORT to more explicitly
control sorting of the ignore entries.  (Bug#37215)
* lisp/vc/pcvs.el (cvs-mode-ignore): Call 'vc-cvs-append-to-ignore'
with SORT argument.
2020-02-22 10:52:07 +02:00
Mattias Engdegård
929c9d3302 ; * test/lisp/emacs-lisp/regexp-opt-tests.el: Fix last change 2020-02-21 20:34:40 +01:00
Stefan Monnier
1cb14aaba5 * src/keyboard.c: Copy last tool-bar change to tab-bar.
(make_lispy_event) <TAB_BAR_EVENT>: Make event with proper location info.

* src/xdisp.c (handle_tab_bar_click, tty_handle_tab_bar_click): Don't
emit dummy "prefix" event.
2020-02-21 10:50:08 -05:00
Stefan Monnier
3b4bd4be1d * src/keyboard.c (make_lispy_event): Generate proper tool-bar events.
Generate events which carry the location info.

* src/xdisp.c (handle_tool_bar_click): Don't emit dummy "prefix" events.
2020-02-21 10:13:21 -05:00
Eli Zaretskii
36df5e74d1 ; * lisp/tempo.el (tempo-add-tag): Punctuation fixes in comments. 2020-02-21 11:18:04 +02:00
Federico Tedin
97b8a78334 Allow tempo-define-template to reassign tags to new templates
* lisp/tempo.el (tempo-define-template): Update documentation string
to mention that existing tags can be reassigned new templates.
(tempo-add-tag): Allow reassigning tags to new templates.
Additionally, invalidate tag collections in all buffers if the global
tags list is being modified.
(tempo-invalidate-collection): Allow invalidating tag collections in
all buffers at the same time.
* test/lisp/tempo-tests.el (tempo-define-tag-globally-test): Add a
test to check that new templates plus tags can be defined from any
buffer and then immediately used in other buffers.
(tempo-overwrite-tag-test): Add a test to check that tags can be
reassigned templates.
* etc/NEWS: Announce changes in tempo.el.

(Bug#39555)
2020-02-21 11:15:00 +02: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
Eli Zaretskii
2e39fc83bb * doc/emacs/sending.texi (Mail Sending): Fix index entries. 2020-02-21 11:03:08 +02:00
Allen Li
b410f902d5 Document 'message-send-mail-function' in the Emacs manual
Most of the manual here addresses Message mode, yet talks about
'send-mail-function' which is used for Mail mode.
Fixing this completely requires more involved work, but for now at
least document the difference here.

* doc/emacs/sending.texi (Mail Sending): Mention
'message-send-mail-function'.  (Bug#39639)
2020-02-21 11:01:25 +02:00
Allen Li
ac0546612d Fix reference to 'message-send-and-exit' in Emacs manual
Most of the manual here addresses Message mode, and C-c C-c directly
above cites the Message mode command, not the Mail mode command.

* doc/emacs/sending.texi (Mail Sending): Fix reference.  (Bug#39639)
2020-02-21 10:58:46 +02:00
Steven Allen
cd6a9b8f65 Skip shell prompt on current line in Eshell even if it's protected
When the eshell prompt is protected (e.g., with rear non-sticky,
inhibited movements, etc.), 'beginning-of-line' won't move to the
actual beginning of the line and therefore won't skip over the
prompt.
* lisp/eshell/em-prompt.el (eshell-previous-prompt): Use
'forward-line' to go to the beginning of the line, even if it's
protected.  (Bug#39627)
2020-02-21 10:51:51 +02:00
Mattias Engdegård
41450a8ea5 Less bad permutation generator in regexp-opt test
* test/lisp/emacs-lisp/regexp-opt-tests.el
(regexp-opt-test--permutation, regexp-opt-test--factorial): Remove.
(regexp-opt-test--permutations): Rewrite.
2020-02-20 22:00:44 +01:00