1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-02-23 16:30:46 -08:00
Commit graph

151382 commits

Author SHA1 Message Date
Lars Ingebrigtsen
9d50d7a0c6 Fix indentation in sieve-mode
* lisp/net/sieve-mode.el (sieve-mode-indent-function): New function.
(sieve-mode): Don't inherit from C mode, because the syntax
doesn't really resemble C mode that much (except being curly braced).
2021-01-27 07:04:08 +01:00
Lars Ingebrigtsen
883c15fb32 Fix setting of line/point style in calc gnuplot
* lisp/calc/calc-graph.el (calc-graph-set-styles): Modern gnuplot
requires "ls" before the line style and "ps" before the point
style (bug#46070).
2021-01-27 04:27:42 +01:00
Lars Ingebrigtsen
f9cc2d4824 read-regexp-suggestions doc string improvement
* lisp/replace.el (read-regexp-suggestions): Add a link to the
manual to explain what a tag is (bug#46089).
2021-01-27 03:47:02 +01:00
Lars Ingebrigtsen
eded2a7ad7 Try to improve the read-regexp doc string
* lisp/replace.el (read-regexp): Attempt to clarify the semantics
(bug#46088).
2021-01-27 03:38:49 +01:00
Stefan Monnier
b870e584a4 Use lexical-binding in all of lisp/url
* lisp/url/url-dav.el: Use lexical-binding.
(url-dav-process-DAV:prop): Remove unused var `handler-func`.
(url-dav-lock-resource): Remove unused var `child-url`.
(url-dav-active-locks): Remove unused var `properties`.
(url-dav-delete-directory): Remove unused var `props`.
(url-dav-file-name-completion): Remove unused var `result`.

* lisp/url/url-expand.el (url-expand-file-name): Use \s

* lisp/url/url-file.el (url-file): Improve regexp.

* lisp/url/url-gw.el: Use lexical-binding.
(url-open-stream): Remove unused var `cur-retries`, `retry`, `errobj`.

* lisp/url/url-imap.el: Use lexical-binding.
(imap-username, imap-password): Declare.

* lisp/url/url-mailto.el: Use lexical-binding.
(url-mailto): Remove unused var `func`.  Use `push`.

* lisp/url/url-news.el: Use lexical-binding.
(url-news): Remove unused var `article-brackets`.

* lisp/url/url-cid.el:
* lisp/url/url-cache.el:
* lisp/url/url-about.el:
* lisp/url/url-tramp.el:
* lisp/url/url-proxy.el:
* lisp/url/url-privacy.el:
* lisp/url/url-nfs.el:
* lisp/url/url-ldap.el:
* lisp/url/url-misc.el:
* lisp/url/url-methods.el: Use lexical-binding.
2021-01-26 18:17:00 -05:00
Stefan Monnier
a572b21928 * lisp/progmodes/sh-script.el (sh-smie-sh-rules): Tweak indent of new for
The new `for (TEST) { BODY }` syntax introduces various challenges.
This patch just fixes a trivial subcase.
2021-01-26 17:58:42 -05:00
Eric Abrahamsen
046db04e3d Revert "Allow gnus-retrieve-headers to return headers directly"
This reverts commit 20add1cd22. This
needs more work before it's ready to merge.
2021-01-26 08:47:07 -08:00
Eli Zaretskii
3131a98911 Fix typos and punctuation
* src/w32fns.c:
* src/frame.h:
* doc/lispref/frames.texi (Frame Layout):
* etc/NEWS: Fix typos and punctuation in recent changes.
2021-01-26 18:24:53 +02:00
Martin Rudalics
3c314f3dd2 Fix typo in last change of FRAME_INTERNAL_BORDER_WIDTH
* src/frame.h (FRAME_INTERNAL_BORDER_WIDTH): Fix typo in last
change.
2021-01-26 10:59:59 +01:00
Alexander Miller
ff7b1a133b Add distinct controls for child frames' borders (Bug#45620)
The background of the 'child-frame-border' face instead of the
'internal-border' face now controls the color of child frames'
borders.

The 'child-frame-border-width' frame parameter is now used for the
width of child frames' borders instead of internal-border-width',
though we still fall back on using the latter if the former is not
set.

* doc/lispref/frames.texi (Frame Layout): Mention
'child-frame-border' and 'child-frame-border-width'.
(Layout Parameters): Mention 'child-frame-border-width'.
* etc/NEWS: Mention new face 'child-frame-border' and frame
parameter 'child-frame-border-width'.
* lisp/faces.el (child-frame-border): New face.
* src/dispextern.h (enum face_id): Add CHILD_FRAME_BORDER_FACE_ID.
* src/frame.c (Fframe_child_frame_border_width): New function.
(gui_report_frame_params): Add entry for Qchild_frame_border_width.
* src/frame.h (struct frame): New slot child_frame_border_width.
(FRAME_CHILD_FRAME_BORDER_WIDTH): New inlined function.
* src/nsfns.m (ns_set_child_frame_border_width): New function.
(Fx_create_frame): Handle Qchild_frame_border_width parameter.
(ns_frame_parm_handlers): Add ns_set_child_frame_border_width.
* src/nsterm.m (ns_clear_under_internal_border): Handle
CHILD_FRAME_BORDER_FACE_ID.
* src/w32fns.c (w32_clear_under_internal_border): Handle
CHILD_FRAME_BORDER_FACE_ID.
(w32_set_internal_border_width): New function.
(Fx_create_frame): Handle Qchild_frame_border_width parameter.
(w32_frame_parm_handlers): Add w32_set_child_frame_border_width.
* src/xfaces.c (lookup_basic_face, realize_basic_faces): Handle
CHILD_FRAME_BORDER_FACE_ID.
* src/xfns.c (x_set_child_frame_border_width): New function.
(Fx_create_frame): Handle Qchild_frame_border_width parameter.
(x_frame_parm_handlers): Add x_set_child_frame_border_width.
* src/xterm.c (x_clear_under_internal_border)
(x_after_update_window_line): Handle CHILD_FRAME_BORDER_FACE_ID.
2021-01-26 10:36:52 +01:00
Stefan Monnier
b4b6a26840 Use lexical-binding in all lisp/international files
* lisp/startup.el (keyboard-type): Make obsolete and lex-bound.

* admin/unidata/unidata-gen.el (unidata-gen-file)
(unidata-gen-charprop): Mark the generated files to use lexical binding.

* lisp/international/isearch-x.el: Use lexical-binding.
(junk-hist): Declare locally.

* lisp/international/iso-cvt.el:
* lisp/international/utf-7.el:
* lisp/international/robin.el:
* lisp/international/ogonek.el:
* lisp/international/latin1-disp.el:
* lisp/international/kkc.el:
* lisp/international/kinsoku.el:
* lisp/international/ja-dic-utl.el: Use lexical-binding.

* lisp/international/ja-dic-cnv.el: Use lexical-binding.
(skkdic-breakup-string): Remove unused var `kana-len`.

* lisp/international/latexenc.el: Use lexical-binding.
(tex-start-of-header): Declare.

* lisp/international/mule-diag.el: Use lexical-binding.
(list-character-sets): Remove unused var `pos`.
(list-character-sets-1): Remove unused vars `tail` and `charset`.
(list-charset-chars): Remove unused vars `chars` and `plane`.
(describe-coding-system): Remove unused var `extra-spec`.
(mule--print-opened): New var.
(print-fontset): Bind it.
(print-fontset-element): Use it instead of `print-opened`.

* lisp/international/quail.el: Use lexical-binding.
(quail-start-translation, quail-start-conversion):
Remove unused var `generated-events`.
(quail-help-insert-keymap-description): Use local dynbound var `the-keymap`.
2021-01-25 22:58:19 -05:00
Lars Ingebrigtsen
8f0a2c84b6 Make subdirs . nil in dir-locals in ~/ work
* lisp/files.el (dir-locals-collect-variables): Compare directory
names after expanding.  This makes a (subdirs . nil) in ~/ work as
expected (bug#17205).

Test case:

((nil . ((a .  "hallo")
         (subdirs . nil))))

in ~/
2021-01-26 01:12:45 +01:00
Juri Linkov
49e01d85ed Don't move point to the prompt in previous-line-or-history-element (bug#46033)
* lisp/simple.el (previous-line-or-history-element):
Avoid moving point to the prompt.
2021-01-25 19:14:22 +02:00
Lars Ingebrigtsen
a10c74fbea Fontify special forms and macros the same
* lisp/emacs-lisp/lisp-mode.el (lisp--el-match-keyword): Handle
special forms and macros the same way (bug#43265).  This makes
things like (setq a '(if a b)) be fontified correctly (i.e., not
fontified as a keyword).
2021-01-25 07:44:29 +01:00
Lars Ingebrigtsen
9503f8d96c Rewrite lisp--el-funcall-position-p to be inverse of the -not function
* lisp/emacs-lisp/lisp-mode.el (lisp--el-funcall-position-p):
Rename and rewrite to return the inverse value.  Non-inverted
predicate functions are easier to reason about.
(lisp--el-non-funcall-position-p): Make obsolete.
2021-01-24 23:25:52 +01:00
Lars Ingebrigtsen
196be2bf12 Fix macro fontification in `condition-case' handler bodies
* lisp/emacs-lisp/lisp-mode.el (lisp--el-non-funcall-position-p):
Fontify macros in the BODY of HANDLERS in `condition-case'
correctly (bug#43265).
2021-01-24 21:43:25 +01:00
Lars Ingebrigtsen
8f28a1b9da Tweak `condition-case' keyword highlights
* lisp/emacs-lisp/lisp-mode.el (lisp--el-non-funcall-position-p):
Tweak `condition-case' position check to skip the VAR form.
2021-01-24 21:31:09 +01:00
Andrea Corallo
b8d3ae78c5 Merge remote-tracking branch 'savannah/master' into native-comp 2021-01-24 21:05:33 +01:00
Lars Ingebrigtsen
e5aaa1251c Add some elisp-mode font lock tests 2021-01-24 20:53:45 +01:00
Michael Albinus
3cefda0903 Make Tramp's insert-directory more robust
* lisp/net/tramp-sh.el (tramp-sh-handle-insert-directory):
Use `tramp-sh--quoting-style-options'.

* test/lisp/net/tramp-tests.el (tramp--test-hpux-p, tramp--test-ksh-p):
Remove superfluous nil.
(tramp--test-sh-no-ls--dired-p): New defun.
(tramp--test-special-characters): Use it.
2021-01-24 19:26:02 +01:00
Eric Abrahamsen
b26e09e0f0 Fix insertion logic of newly subscribed Gnus groups
* lisp/gnus/gnus-start.el (gnus-subscribe-newsgroup): This was a
misunderstanding of the next/previous argument: no group should ever
be inserted before "dummy.group".
(gnus-group-change-level): Make it clearer that PREVIOUS can be
nil. In fact none of this code would error on a nil value, but it
_looks_ like nil is unexpected.
2021-01-24 10:09:05 -08:00
Philipp Stephani
d4dd12d358 Add more assertions to recently-added process test.
* test/src/process-tests.el (process-tests/multiple-threads-waiting):
Also check that 'thread-join' and 'thread-last-error' return the
expected errors.
2021-01-24 13:56:18 +01:00
Dmitry Gutov
809503431d ; xref-revert-buffer: Drop the (goto-char) at the end
(cherry picked from commit cc98d0bf52)
2021-01-24 03:26:10 +02:00
Dmitry Gutov
0399cc2ab5 Erase the buffer only after fetching the new contents
* lisp/progmodes/xref.el (xref-revert-buffer):
Erase the buffer only after fetching the new contents (bug#46042).

(cherry picked from commit 5821dee094)
2021-01-24 03:25:52 +02:00
Basil L. Contovounesios
e1902ac618
Fix recently uncovered 'make check' failures
For discussion, see the following thread:
https://lists.gnu.org/r/emacs-devel/2021-01/msg01111.html

* test/lisp/autorevert-tests.el
(auto-revert-test07-auto-revert-several-buffers):
* test/lisp/emacs-lisp/seq-tests.el (test-seq-do-indexed)
(test-seq-random-elt-take-all): Fix errors from using add-to-list on
lexical variables.
* test/lisp/emacs-lisp/cl-lib-tests.el
(cl-lib-defstruct-record): Expect test to succeed when byte-compiled
following change of 2021-01-23 'Fix missing file&line info in
"Unknown defun property" warnings'.
(cl-lib-tests--dummy-function): Remove; no longer needed.
(old-struct): Silence byte-compiler warning about unused lexical
variable.
2021-01-23 23:38:19 +00:00
Jean Louis
7cc970e7e3 Add support for dired compressing .lz/.lzo files
* lisp/dired-aux.el (dired-compress-files-alist): Add support for
.lz/.lzo files (bug#44901).
2021-01-24 00:34:51 +01:00
Eric Abrahamsen
0ebf9d6cef Properly initialize gnus-search-namazu-index-directory
* lisp/gnus/gnus-search.el (gnus-search-namazu): We were missing the
appropriate :initform on this slot definition (Bug#46047).
2021-01-23 14:24:51 -08:00
Lars Ingebrigtsen
75f6b264f5 Make (subdirs . nil) in .dir-locals.el work
* lisp/files.el (dir-locals-collect-variables): Don't
destructively modify the cached structure (bug#17205), because
that means that (subdirs . nil) doesn't work.
2021-01-23 23:12:05 +01:00
Stefan Monnier
1559cc445a Fix missing file&line info in "Unknown defun property" warnings
* lisp/emacs-lisp/byte-run.el (defmacro, defun): Use
`macroexp--warn-and-return` rather than `message`.

* lisp/emacs-lisp/macroexp.el: Fix `macroexp--compiling-p`.
(macroexp--warn-and-return): Don't try and detect repetition on forms
like `nil`.
(macroexp-macroexpand): Don't forget to bind `macroexpand-all-environment`.
2021-01-23 16:04:36 -05:00
Lars Ingebrigtsen
b7068be5c4 Provide a (thing-at-point 'url) in eww buffers
* lisp/net/eww.el (eww-mode): Allow (thing-at-point 'url) to work
in eww buffers.
(eww--url-at-point): New function.
2021-01-23 20:40:07 +01:00
Lars Ingebrigtsen
259edd435e Add a mechanism for buffer-local thing-at-points
* doc/lispref/text.texi (Buffer Contents): Document it.

* lisp/thingatpt.el (thing-at-point-provider-alist): New variable.
(thing-at-point): Use it.
2021-01-23 20:40:07 +01:00
Paul Eggert
7c9841b842 Update from Gnulib by running admin/merge-gnulib 2021-01-23 11:37:49 -08:00
Gabriel do Nascimento Ribeiro
30d95d3373 Use single post-command-hook on hl-line modes
* lisp/hl-line.el (hl-line-mode, global-hl-line-mode): Ensure
that 'maybe-unhighlight' is called after line is highlighted.
(Bug#45946)
(hl-line-unhighlight, global-hl-line-unhighlight): Set overlay
variable to nil after overlay is deleted.
2021-01-23 21:35:00 +02:00
Eli Zaretskii
d860ca98cc ; * src/process.c (child_signal_read): Remove FIXME comment. 2021-01-23 21:04:13 +02:00
Philipp Stephani
8dcb19fc5e Add a unit test testing interaction between threads and processes.
This unit test tests that we can call 'accept-process-output' in
parallel from multiple threads.

* test/src/process-tests.el (process-tests/multiple-threads-waiting):
New unit test.
2021-01-23 19:10:22 +01:00
Philipp Stephani
17fec60370 Avoid a few compilation warnings in Objective-C code.
* src/nsfns.m (Fns_frame_restack): Remove unused variable 'flag'.

* src/nsmenu.m (ns_update_menubar): Remove unused variable 'pool'.

* src/nsterm.m (focus_view, hide_bell): Define conditionally.
(ns_update_end): Define variable 'view' conditionally.
(ns_redraw_scroll_bars): Don't define unused function.
(copyRect): Don't perform arithmetic on 'void' pointers.
(nswindow_orderedIndex_sort): Make static.
2021-01-23 19:08:52 +01:00
Philipp Stephani
27a023d029 * .clang-format: Fix base style. 2021-01-23 19:04:53 +01:00
Philipp Stephani
59e9ec7244 Add a FIXME comment to improve the SIGCHLD race condition handling.
* src/process.c: Add FIXME comment describing how we could avoid the
self-pipe on modern Unix-like systems.
2021-01-23 18:39:20 +01:00
Philipp Stephani
aeff424c55 Mark both ends of self-pipe a nonblocking.
While no deadlocks caused by the blocking write end have been reported
yet, marking both ends nonblocking is consistent and also recommended
in the GNU/Linux manpage of 'select'.

* src/process.c (child_signal_init): Mark write end of self-pipe as
nonblocking.
2021-01-23 17:26:49 +01:00
Michael Albinus
6a6fde0375 Fix failed autorevert test on emba
* test/lisp/autorevert-tests.el (auto-revert-test05-global-notify):
Check, whether buffer is alive.
2021-01-23 16:59:07 +01:00
Michael Albinus
f0517ab9c2 * test/infra/gitlab-ci.yml (.job-template): Check also for test/lib-src/*.el. 2021-01-23 12:13:03 +01:00
Eli Zaretskii
8d8e1dfd05 Clean up the recently added self-pipe mechanism for WINDOWSNT
* src/process.c (child_signal_init, child_signal_read)
(child_signal_notify): #ifdef away on WINDOWSNT.
2021-01-23 12:51:57 +02:00
Eli Zaretskii
3443a1c698 Fix last change
* doc/lispref/text.texi (Undo): Add a cross-reference to the
description of 'undo-amalgamate-change-group'.
(Atomic Changes): Expand and improve the description of
'undo-amalgamate-change-group'.  (Bug#42303)
2021-01-23 11:28:32 +02:00
Lars Ingebrigtsen
c8fa056a50 Mention undo-amalgamate-change-group in the lispref manual
* doc/lispref/text.texi (Atomic Changes): Mention
undo-amalgamate-change-group (bug#42303).

(cherry picked from commit ba25a82855)
2021-01-23 10:57:54 +02:00
Dmitry Gutov
cc98d0bf52 ; xref-revert-buffer: Drop the (goto-char) at the end 2021-01-23 02:58:53 +02:00
Dmitry Gutov
5821dee094 Erase the buffer only after fetching the new contents
* lisp/progmodes/xref.el (xref-revert-buffer):
Erase the buffer only after fetching the new contents (bug#46042).
2021-01-23 02:53:12 +02:00
Stefan Monnier
b9d0cdcacb * lisp/simple.el (newline-and-indent): Disable electric-indent-mode
With `electric-indent-mode` enabled, `newline-and-indent` ends up indenting
3 times: once for the original line and twice on the new line.
`reindent-then-newline-and-indent` is even worse, indenting twice
both lines.
None of those commands should be affected by `electric-indent-mode`
since they even explicitly say in their name when and how they do
indentation.

(reindent-then-newline-and-indent): Temporarily disable
`electric-indent-mode` as well.
2021-01-22 16:56:57 -05:00
Lars Ingebrigtsen
ba25a82855 Mention undo-amalgamate-change-group in the lispref manual
* doc/lispref/text.texi (Atomic Changes): Mention
undo-amalgamate-change-group (bug#42303).
2021-01-22 21:07:41 +01:00
Paul Eggert
b99ec5d5b1 Work around __has_attribute bug in clang 3.4
* src/conf_post.h (HAS_ATTRIBUTE):
* src/emacs-module.h.in (EMACS_ATTRIBUTE_NONNULL):
Port to clang 3.4 and earlier.
2021-01-22 12:02:56 -08:00
Paul Eggert
a900e641fa Update from Gnulib by running admin/merge-gnulib 2021-01-22 12:02:55 -08:00