1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-23 04:53:12 -08:00
Commit graph

164498 commits

Author SHA1 Message Date
Po Lu
16579f6ed7 Fix the MS-DOS build
* msdos/sed1v2.inp: Edit out QCOPY_ACL_LIB.
2023-01-15 09:26:18 +08:00
Theodor Thornhill
50fd58be61 Use treesit-sentence-type-regexp in java-ts-mode
Initial support for forward/backward-sentence movement with
tree-sitter.  Include all statements, and some declarations.  Don't
include the bigger declarations we don't want to jump over too big
blocks of code.

* lisp/progmodes/java-ts-mode.el (java-ts-mode): Add relevant node
types to treesit-sentence-type-regexp.
2023-01-14 23:06:06 +01:00
Jim Porter
c257fd3a40 Use the 'field' property to navigate through Eshell prompts
* lisp/eshell/esh-mode.el (eshell-skip-prompt-function): Make
obsolete.

* lisp/eshell/em-prompt.el (eshell-prompt-regexp): Update docstring.
(eshell-prompt-initialize): Don't set 'eshell-skip-prompt-function'.
(eshell-next-prompt): Search for the 'field' property set to 'prompt'
to find the next prompt.
(eshell-previous-prompt): Move 'forward-line' call into
'eshell-next-prompt'.
(eshell-forward-matching-input, eshell-backward-matching-input):
Reimplement on top of 'eshell-next-prompt'.
(eshell-skip-prompt): Make obsolete.

* test/lisp/eshell/em-prompt-tests.el
(em-prompt-test/next-previous-prompt): New test.
2023-01-14 11:13:42 -08:00
Jim Porter
54051c97f2 Make 'eshell-bol' obsolete
Now that Eshell uses fields for its output, 'eshell-bol' is no longer
needed, and we can just use 'beginning-of-line'.

* lisp/eshell/esh-mode.el (eshell-bol): Mark obsolete.
(eshell-mode-map): Remove 'C-a' mapping.
(eshell-command-map): Use 'move-beginning-of-line'.
(eshell-move-argument, eshell-kill-input): Use 'beginning-of-line'.
(eshell-get-old-input): Remove unnecessary call to
'eshell-skip-prompt-function'.

* lisp/eshell/em-rebind.el (eshell-rebind-keys-alist): Remove 'C-a'
and '<home>' mappings; the global mapping for these
('move-beginning-of-line') does the same thing now.

* lisp/eshell/em-cmpl.el (eshell-complete-parse-arguments):
* lisp/eshell/em-elecslash.el (eshell-electric-forward-slash):
* lisp/eshell/em-hist.el (eshell-hist-word-reference)
(eshell-previous-matching-input-from-input, eshell-test-imatch):
* lisp/eshell/em-prompt.el (eshell-backward-matching-input):
* lisp/eshell/em-rebind.el (eshell-point-within-input-p):
* test/lisp/eshell/eshell-tests.el (eshell-test/forward-arg): Use
'beginning-of-line'.

* test/lisp/eshell/eshell-tests.el (eshell-test/run-old-command):
Rename to...
(eshell-test/get-old-input): ... this, and expand the test.
2023-01-14 11:09:02 -08:00
Jim Porter
558f04c39e Set the 'field' property for Eshell output
This makes Eshell work more like 'M-x shell', and lets the <home> key
move to the beginning of the user's input at the prompt (bug#60666).

* lisp/eshell/em-prompt.el (eshell-emit-prompt): Add 'field' property
to prompt.
(eshell-bol-ignoring-prompt): New function.

* lisp/eshell/esh-io.el: Declare 'eshell-interactive-print'...
(eshell-output-object-to-target): ... use it.

* lisp/eshell/esh-mode.el (eshell-output-filter-functions): Update
docstring.
(eshell-interactive-print): Set the output to have a field value of
'command-output'.
(eshell-output-filter): Rename to...
(eshell-interactive-filter): ... this, and take a buffer instead of a
process.

* lisp/eshell/esh-proc.el (eshell-interactive-process-filter): New
function, adapted from 'eshell-output-filter'...
(eshell-gather-process-output): ... use it.

* test/lisp/eshell/em-prompt-tests.el: New file.

* etc/NEWS: Announce this change.
2023-01-14 11:09:02 -08:00
Eli Zaretskii
a06c13db9e Merge from origin/emacs-29
fd77de542d ; * etc/NEWS: Fix typos.
195afb68e3 Merge branch 'emacs-29' of git.savannah.gnu.org:/srv/git/...
cd83bc930c ; * lisp/htmlfontify.el (hfy-exclude-file-rules): Fix :ve...
8d7ad65665 Fix indent and font-lock for annotation_type

# Conflicts:
#	etc/NEWS
2023-01-14 13:56:58 -05:00
Michael Albinus
fd77de542d ; * etc/NEWS: Fix typos. 2023-01-14 19:30:55 +01:00
Eli Zaretskii
195afb68e3 Merge branch 'emacs-29' of git.savannah.gnu.org:/srv/git/emacs into emacs-29 2023-01-14 18:30:05 +02:00
Eli Zaretskii
cd83bc930c ; * lisp/htmlfontify.el (hfy-exclude-file-rules): Fix :version. 2023-01-14 18:15:46 +02:00
Stefan Monnier
48bd17923a (apropos-documentation): Don't try to parse .elc files
The old code scanned for #@ in .elc files, assuming they're
docstrings and then looking around them to try and guess to which
definition that docstring belongs, making many assumptions about how
the code happens to be layed out by bytecomp.
Replace that with code which relies on the (FILE . POS) info to
extract the docstring knowing already where they are and what def they
belong to.

* lisp/apropos.el (apropos-documentation-check-elc-file): Delete function.
(apropos--documentation-add-from-elc): New function to replace it.
(apropos--documentation-add): New function, extracted from
`apropos-documentation`.
(apropos-documentation): Use them.  Let-bind `apropos-accumulator` and
`apropos-files-scanned`.
(apropos-documentation-internal): Don't handle the `cons` case any more.
(apropos-item): Don't declare as global var.
(apropos-documentation-check-doc-file): Use `apropos-item` as a local
var rather than a global var.
(apropos-print-doc): Receive `apropos-item` as arg rather than refer to
it as a global variable.
(apropos-print): Adjust calls accordingly.
2023-01-14 09:26:17 -05:00
Theodor Thornhill
8d7ad65665 Fix indent and font-lock for annotation_type
* lisp/progmodes/java-ts-mode.el (java-ts-mode--indent-rules): Indent
inside body.
(java-ts-mode--font-lock-settings): Add rule for name in
annotation_type_element_declaration.
2023-01-14 15:20:49 +01:00
Stefan Monnier
ad6d8f7df1 Merge remote-tracking branch 'refs/remotes/origin/master' 2023-01-14 09:17:30 -05:00
Stefan Monnier
d9a2673ee9 Merge from origin/emacs-29
96601cd90b apropos.el: Fix bug#60628
10032f424c Fix indentation of some declarations and statements
e2e937300f Fix indentation of object_expressions in csharp-ts-mode
0116e27b26 ; Fix NEWS markup
435ba92ccc ; Fix last change in htmlfontify.el
7100ecd7a4 Replace 'hfy-find-cmd' with 'directory-files-recursively'.
f102145d38 ; * etc/PROBLEMS: Describe problems with MuPDF 1.21.  (Bu...
2023-01-14 09:17:24 -05:00
Stefan Monnier
b6207e87fa ; Merge from origin/emacs-29
The following commit was skipped:

79971ebacc Disable and document 'doc-view-mupdf-use-svg' (bug#58041)
2023-01-14 09:10:45 -05:00
Stefan Monnier
a192ce03a0 Merge from origin/emacs-29
f1032bf24e Eglot: don't use "nil" as minibuffer initial input
1b9ffd2811 Fix dependency bug when building lwlib
dc33a12223 Fix use of build_pure_c_string in treesit.c
2023-01-14 09:10:45 -05:00
Stefan Monnier
3eb495851e ; Merge from origin/emacs-29
The following commits were skipped:

59c3c53efa * lisp/subr.el (combine-change-calls-1): Fix bug#60467
9f8f8ed1ba Adapt tramp-tests.el  (do not merge with master)
2023-01-14 09:10:45 -05:00
Stefan Monnier
4f0459aaf7 Merge from origin/emacs-29
861556c133 Fix minibuffer-completion tests
c0578edc8f ; * doc/misc/eglot.texi (Troubleshooting Eglot): Fix typo...
c6bbf9cc27 Add c-ts-mode tests
a760364f5f Fix c-ts-mode--fill-paragraph
2a2b1d09ac Fix minor issues with 'pp' and related commands
dfb38fb2ee ; Improve documentation of tree-sitter node comparison
e8a89a18b6 ; Fix non-tree-sitter builds
f27a330b99 ; Fix typo in ert-with-temp-file
956889d8ff Equal now recognizes tree-sitter nodes (bug#60659)
8f446c2d39 Fix c-ts-mode comment indentation (bug#60270)
083badc9c1 * lisp/subr.el (while-let): Use if-let, not if-let* (bug#...
9ecebcdded * lisp/simple.el (next-completion): Handle first completi...
cfd2b3504a Fix encoding with 'utf-8-auto'
53b47df822 Report cursor correctly on PGTK when there is a margin

# Conflicts:
#	etc/NEWS
2023-01-14 09:10:45 -05:00
Stefan Monnier
96601cd90b apropos.el: Fix bug#60628
* lisp/apropos.el (apropos--map-preloaded-atoms): New function.
(apropos-documentation): Use it.
(apropos-documentation-check-elc-file): Don't presume #@ is preceded by
a newline (since that's not the case any more since commit
900b09c023), but be more careful not to burp on false positives.
2023-01-14 09:06:27 -05:00
Theodor Thornhill
10032f424c Fix indentation of some declarations and statements
* lisp/progmodes/java-ts-mode.el (java-ts-mode--indent-rules): Add new
rules so that we don't anchor at col 0.
2023-01-14 12:32:59 +01:00
Theodor Thornhill
e2e937300f Fix indentation of object_expressions in csharp-ts-mode
* lisp/progmodes/csharp-mode.el (csharp-ts-mode--indent-rules): Make
sure the opening brace is indented at parent-bol, and everything else
is indented.
2023-01-14 12:32:59 +01:00
Eli Zaretskii
0116e27b26 ; Fix NEWS markup 2023-01-14 11:53:37 +02:00
Eli Zaretskii
9a1dbb7f08 Teach 'eww-open-file' about prefix argument
* lisp/net/eww.el (eww-open-file): Accept a new optional argument
NEW-BUFFER to show FILE in a new buffer.  (Bug#60809)

* etc/NEWS:
* doc/misc/eww.texi (Basics): Document the new feature.
2023-01-14 11:48:55 +02:00
Eli Zaretskii
435ba92ccc ; Fix last change in htmlfontify.el 2023-01-14 11:10:53 +02:00
Xi Lu
7100ecd7a4 Replace 'hfy-find-cmd' with 'directory-files-recursively'.
This removes a potential vulnerability to maliciously
named files.  (Bug#60562)
* lisp/htmlfontify.el (hfy-exclude-file-rules): New defcustom.
(hfy-list-files): Reimplement using 'directory-files-recursively'.
2023-01-14 11:05:53 +02:00
Eli Zaretskii
f102145d38 ; * etc/PROBLEMS: Describe problems with MuPDF 1.21. (Bug#60308) 2023-01-14 10:52:06 +02:00
Eli Zaretskii
ac2a6fc83f ; * lisp/proced.el (proced--determine-pos): Fix doc string wording. 2023-01-14 10:40:15 +02:00
Laurence Warne
f0ac01812f Preserve the window position with proced (bug#60381)
Preserve the window position for windows which display a proced
buffer, but are not the selected window when a proced buffer is
updated.  Previously, the window position would be set to the
start of the buffer when a proced buffer was updated and it was
not displayed in the selected window.

Similarly, preserve the position in proced buffers which are not
displayed in any window by setting
'switch-to-buffer-preserve-window-point' to nil in proced buffers.

* lisp/proced.el (proced-auto-update-timer): Only update a given
proced buffer if it is displayed in a window.
(proced-update): Set the window position if the proced buffer is
displayed in a window.
(proced--position-info, proced--determine-pos): New Functions.
(proced-mode): Set 'switch-to-buffer-preserve-window-point' to
nil in proced buffers.
* test/lisp/proced-tests.el
(proced-update-preserves-pid-at-point-test): New test.
2023-01-14 10:36:15 +02:00
Eli Zaretskii
4514b7ecc6 ; * lisp/doc-view.el (doc-view-mupdf-use-svg): Bump :version. 2023-01-14 10:32:44 +02:00
Eli Zaretskii
79971ebacc Disable and document 'doc-view-mupdf-use-svg' (bug#58041)
* lisp/doc-view.el (doc-view-mupdf-use-svg): Disable by default.
* etc/NEWS: Document.  Patch by Visuwesh <visuweshm@gmail.com>.
Do not merge to master.
2023-01-14 10:26:40 +02:00
Eshel Yaron
f1032bf24e Eglot: don't use "nil" as minibuffer initial input
Doing M-x eglot in a buffer for which buffer-file-name is nil, prompts
the user for a major mode to manage by invoking completing-read.  The
way completing-read was called would end up with the string "nil" as
the initial minibuffer input, which is not very useful nor is it a
valid input.
* lisp/progmodes/eglot.el (eglot--guess-contact): Tweak prompt for
major mode.  (Bug#60379)

Copyright-paperwork-exempt: yes
2023-01-14 10:12:11 +02:00
Paul Eggert
1b9ffd2811 Fix dependency bug when building lwlib
* lwlib/Makefile.in (DEPFLAGS): Use OBJS to calculate dependency
file names, not ALLOBJS.  This fixes a typo introduced
in 2015-05-15 "Replace AC_SUBST_FILE in configure with include in
Makefiles" that caused lwlib/*.o to not be rebuilt sometimes
when that was needed.
2023-01-13 23:39:51 -08:00
Paul Eggert
9912049173 Update from Gnulib by running admin/merge-gnulib
This adds a new file m4/xattr.m4 from Gnulib,
for NFS v4 attribute copying.
Also, do these changes by hand:
* configure.ac: Mention $LIB_XATTR" in ACL summary.
* src/Makefile.in (QCOPY_ACL_LIB): New macro.
(LIBES): Use it.
2023-01-13 20:03:54 -08:00
Yuan Fu
dc33a12223
Fix use of build_pure_c_string in treesit.c
This is brought up in bug#60691.  build_pure_c_string should only be
used in places such as syms_of_treesit, which are called just once,
during dumping.

* src/treesit.c (Vtreesit_str_libtree_sitter):
(Vtreesit_str_tree_sitter):
(Vtreesit_str_dot):
(Vtreesit_str_question_mark):
(Vtreesit_str_star):
(Vtreesit_str_plus):
(Vtreesit_str_pound_equal):
(Vtreesit_str_pound_match):
(Vtreesit_str_pound_pred):
(Vtreesit_str_open_bracket):
(Vtreesit_str_close_bracket):
(Vtreesit_str_open_paren):
(Vtreesit_str_close_paren):
(Vtreesit_str_space):
(Vtreesit_str_equal):
(Vtreesit_str_match):
(Vtreesit_str_pred): New variables.

(treesit_load_language):
(Ftreesit_pattern_expand):
(Ftreesit_query_expand):
(treesit_eval_predicates): Use new varaibles.

(treesit_check_buffer_size):
(treesit_compose_query_signal_data):
(treesit_check_range_argument):
(Ftreesit_parser_set_included_ranges):
(treesit_predicate_capture_name_to_node):
(treesit_predicate_equal):
(treesit_predicate_match):
(treesit_predicate_pred): Use build_string for signal message.

(syms_of_treesit): Initialize new variables.
2023-01-13 17:32:14 -08:00
Stefan Monnier
dce42f5561 * lisp/apropos.el (apropos-safe-documentation): Use function-documentation 2023-01-13 18:00:29 -05:00
Stefan Monnier
f5d8aa6eda (function-documentation): Make it work for the remaining cases
* lisp/simple.el (function-documentation):
Use `internal-subr-documentation` and make it work also with symbols
and macros.

* src/doc.c (Fsubr_documentation): New function, extracted
from Fdocumentation.
(syms_of_doc): defsubr it.
(Fdocumentation): Don't handle subrs and module functions here.
2023-01-13 17:56:04 -05:00
Stefan Monnier
f56fea2fcc * lisp/reveal.el (reveal-open-new-overlays): Use invisible-p 2023-01-13 17:52:23 -05:00
Gregory Heytings
b2fda50178 undo-tests.el: Tests for bug#60467
* test/src/undo-tests.el (undo-test-combine-change-calls-1)
(undo-test-combine-change-calls-2, undo-test-combine-change-calls-3):
New tests.
2023-01-13 17:43:31 -05:00
Stefan Monnier
977630b528 * lisp/subr.el (combine-change-calls-1): Fix bug#60467
Don't stop at timestamps.
Also Don't burp about breakage just because (cdr old-bul) is nil.
2023-01-13 17:41:37 -05:00
Stefan Monnier
59c3c53efa * lisp/subr.el (combine-change-calls-1): Fix bug#60467
Don't stop at timestamps.  Strip them for now, to be on the safe side.
Don't merge into `master` where we'll use a better fix.
2023-01-13 17:38:04 -05:00
Michael Albinus
f32ce2e38c Adapt tramp-tests.el
* test/lisp/net/tramp-tests.el (tramp--test-container-p):
Rename from `tramp--test-docker-p'.  Handle also "podman" method.
Adapt callees.
2023-01-13 19:41:08 +01:00
Michael Albinus
9f8f8ed1ba Adapt tramp-tests.el (do not merge with master)
* test/lisp/net/tramp-tests.el (tramp--test-container-p):
Rename from `tramp--test-docker-p'.  Handle also "podman" method.
Adapt callees.
2023-01-13 19:35:52 +01:00
Eli Zaretskii
861556c133 Fix minibuffer-completion tests
* test/lisp/minibuffer-tests.el (completions-header-format-test):
Fix the test which first fired, and then drew the target...
2023-01-13 15:36:00 +02:00
Arash Esbati
c0578edc8f ; * doc/misc/eglot.texi (Troubleshooting Eglot): Fix typo (bug#60780). 2023-01-13 15:24:25 +02:00
Daniel Martín
c6bbf9cc27
Add c-ts-mode tests
* test/lisp/progmodes/c-ts-mode-resources/indent.erts: New .erts file
to test indentation of typical C constructs and prevent regression of
bug fixes.
* test/lisp/progmodes/c-ts-mode-tests.el: New file with c-ts-mode
tests.
2023-01-13 00:55:24 -08:00
Yuan Fu
a760364f5f
Fix c-ts-mode--fill-paragraph
Example:

       doc: /* Return non-nil if NODE1 and NODE2 are the same node.
If any one of NODE1 and NODE2 is nil, return nil.
This function uses the same equivalence metric as `equal'.  */

* lisp/progmodes/c-ts-mode.el (c-ts-mode--fill-paragraph): Fix the
case where there are words before the /*, like the example above.
2023-01-13 00:55:24 -08:00
Eli Zaretskii
2a2b1d09ac Fix minor issues with 'pp' and related commands
* etc/NEWS:
* lisp/emacs-lisp/pp.el (pp-use-max-width, pp-emacs-lisp-code):
Mention in doc string that formatting via 'pp-emacs-lisp-code'
could be slow.
(pp-eval-expression, pp-macroexpand-expression): Honor
'pp-use-max-width'.  (Bug#58687)
2023-01-13 10:39:58 +02:00
Eli Zaretskii
dfb38fb2ee ; Improve documentation of tree-sitter node comparison
* doc/lispref/parsing.texi (Accessing Node Information):
* src/treesit.c (Ftreesit_node_eq): Improve documentation of node
comparison.
2023-01-13 09:13:24 +02:00
Eli Zaretskii
e8a89a18b6 ; Fix non-tree-sitter builds
* src/fns.c (internal_equal): Call treesit_node_eq only if
tree-sitter was compiled in.
2023-01-13 08:58:03 +02:00
Stefan Kangas
f27a330b99 ; Fix typo in ert-with-temp-file
* lisp/emacs-lisp/ert-x.el (ert-with-temp-file): Fix typo.
Reported by F. Jason Park <jp@neverwas.me>.  (Bug#60730)
2023-01-13 02:50:39 +01:00
Yuan Fu
956889d8ff
Equal now recognizes tree-sitter nodes (bug#60659)
Now equal uses ts_node_eq to check equality between nodes.

* doc/lispref/parsing.texi:
(Accessing Node Information): Update manual.
* src/fns.c (internal_equal): Handle tree-sitter nodes.
* src/treesit.c (treesit_node_eq): New function.
(Ftreesit_node_eq): Factor out.  Update docstring.
* src/treesit.h (treesit_node_eq): Declare new function.
2023-01-12 17:11:38 -08:00