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

8303 commits

Author SHA1 Message Date
Andrea Corallo
75e8ee728f Merge remote-tracking branch 'savannah/master' into HEAD 2020-11-07 16:21:36 +01:00
Mattias Engdegård
6e9564f09a Fix javac message parsing column number off-by-one
* lisp/progmodes/compile.el (compilation-error-regexp-alist-alist):
'javac': Column numbers are 1-based by default; remove subtraction and
η-reduce.  Translate regexp to rx (mechanised).
* test/lisp/progmodes/compile-tests.el (compile-tests--test-regexps-data):
Adapt 'javac' test cases to the change.
2020-11-06 17:16:00 +01:00
Mattias Engdegård
1b9e159525 Change the default value of gdb-mi-decode-strings to t (bug#44173)
This is likely to be a more commonly wanted default value today.

* lisp/progmodes/gdb-mi.el (gdb-mi-decode-strings): Change default.
* doc/emacs/building.texi (Source Buffers): Update manual.
* etc/NEWS: Announce.
2020-11-06 13:55:32 +01:00
Manuel Uberti
43431f7108 * lisp/progmodes/project.el (project--files-in-directory): Fix formatting
Copyright-paperwork-exempt: yes
2020-11-04 10:42:20 -05:00
Stefan Monnier
a63d905175 Fix misuses of make-local-variable on hooks
* lisp/vc/smerge-mode.el (smerge-ediff):
* lisp/progmodes/python.el (python-pdbtrack-setup-tracking):
* lisp/net/tramp-smb.el (tramp-smb-call-winexe):
* lisp/net/secrets.el (secrets-mode):
* lisp/mail/rmail.el (rmail-variables):
* lisp/ielm.el (inferior-emacs-lisp-mode):
* lisp/erc/erc-log.el (erc-log-setup-logging): Use `add-hook`.

* lisp/eshell/em-unix.el (eshell/diff):
* lisp/eshell/em-hist.el (eshell-hist-initialize): Don't
`make-local-variable` on hooks.
2020-11-04 00:24:45 -05:00
Stefan Monnier
9aa6b5bb89 * lisp/progmodes/tcl.el: Use lexical-binding
Remove redundant `:group` args.
2020-11-03 23:02:13 -05:00
Harald Jörg
84f74136d3 cperl-mode: Fix indentation for Emacs 26
* lisp/progmodes/cperl-mode.el (cperl-mode): Add a fix
which is only required for Emacs versions older than 27.

* test/lisp/progmodes/cperl-mode-tests.el (cperl-bug30393):
Add a test to verify correct indentation (bug#30393).
2020-11-03 15:28:40 +01:00
Glenn Morris
018e0c36fb Merge from origin/emacs-27
1fc9de4b81 Improve reproducibility of generated -pkg.el files
da6234e2df Make sure pixel sizes are zero when setting window size fo...
2d15296db1 Fix failure of 'emacs --daemon' on Cygwin
8abce5b0c6 CC Mode: Only recognize foo (*bar) as a function pointer w...
85d1d8d768 Fix NEWS entry for fix of Bug#44080
2443b15a91 * src/buffer.c (syms_of_buffer) <fill-column>: Improve doc...

# Conflicts:
#	etc/NEWS
2020-11-02 09:27:40 -08:00
João Távora
95f7a2835a Fix Elisp's elisp--documentation-one-liner (bug#43609)
To be backward compatible, this function must return nil when there is
a symbol at point but no documentation for it.  Before this fixed it
returned the string "<symbol-name>: nil".

* lisp/progmodes/elisp-mode.el (elisp--documentation-one-liner):
Check callback actually produced non-nil doc.
2020-11-02 16:25:43 +00:00
Juri Linkov
71795c6c4a Reimplement commit 46b3db5579 (bug#44294)
* lisp/progmodes/etags.el (etags-goto-tag-location): Revert change from
commit 46b3db5579.
(xref-location-marker): Use the same change as was made in elisp-mode.el in
commit 46b3db5579 to widen before going
to the found position.
2020-10-31 21:39:28 +02:00
Andrea Corallo
f7f5d59ab4 Merge remote-tracking branch 'savannah/master' into HEAD 2020-10-31 15:00:00 +00:00
Mattias Engdegård
a78c6141bc Parse GDB/MI results directly instead of going via JSON (bug#44173)
Translating GDB/MI into JSON is an unnecessary and fragile detour
that made it hard to deal with octal escapes in strings correctly.
Parse GDB/MI directly instead.

* lisp/progmodes/gdb-mi.el (gdb-mi-decode-strings): Adjust doc string.
(gdb-mi-decode, gud-gdbmi-marker-filter): Remove gdb-mi-decode.
(gdb-jsonify-buffer): Remove.
(gdb-mi--parse-tuple-or-list, gdb-mi--parse-c-string)
(gdb-mi--parse-value, gdb-mi--parse-result-or-value)
(gdb-mi--parse-results, gdb-mi--fix-key, gdb-mi--extend-fullname)
(gdb-mi--c-string-from-string): New functions.
(gdb-json-read-buffer, gdb-json-string, gdb-json-partial-output):
Rename to gdb-mi--read-buffer, gdb-mi--from-string and
gdb-mi--partial-output respectively.  Remove useless FIX-LIST
argument.  FIX-KEY is now a symbol, not a string. All callers updated.
(gdb-tooltip-print, gdbmi-bnf-log-stream-output, gdb-internals)
(gdb-console, gdb-done-or-error, gdb-get-source-file-list)
(gdb-get-prompt, gdb-get-source-file):
Use gdb-mi--c-string-from-string instead of 'read'.
* test/lisp/progmodes/gdb-mi-tests.el: New file.
2020-10-31 13:42:07 +01:00
Thien-Thi Nguyen
73bc7b543b Make hideshow.el work with Mhtml mode
Suggested by Ian Williams <norbekian9@gmail.com>.

* lisp/textmodes/mhtml-mode.el: Require ‘pcase’ when compiling.
(mhtml-forward): New func.
* lisp/progmodes/hideshow.el (hs-special-modes-alist):
Add entry for ‘mhtml-mode’.
2020-10-30 22:40:11 -04:00
João Távora
2e1ab3e583 Bring back elisp-eldoc-documentation-function, marked obsolete
Fixes: bug#43609

It's not useful for ElDoc's eldoc-mode mechanism in Elisp, and nothing
in Emacs uses it, but it wasn't strictly marked internal, so it's best
to bring it back.

* lisp/progmodes/elisp-mode.el (elisp--documentation-one-liner):
New helper.
(elisp-eldoc-documentation-function): New function, with
obsoletion warning.
2020-10-30 22:31:20 +00:00
Stefan Monnier
7500abaa8e * lisp/simple.el (blink-matching-open): Fix bug#37127
Don't call `syntax-propertize` from within narrowing

* lisp/progmodes/cperl-mode.el (cperl-forward-re): Revert last patch,
since it is now redundant.

* test/lisp/progmodes/cperl-mode-tests.el (cperl-bug37127):
Remove unused var; fix test so it really catches the previous bug;
tweak the code to use mode-agnostic commands so it also works in `perl-mode`.
2020-10-30 18:10:06 -04:00
Lars Ingebrigtsen
0d8c6df6c1 Tweak previous python-mode region fix
* lisp/progmodes/python.el (python-shell-buffer-substring): Tweak
the previous fix for bug#39398 to behave somewhat more like it
used to.
2020-10-30 16:15:42 +01:00
Lars Ingebrigtsen
32c5f1c7a8 Fix fontifying of ::= in Makefiles
* lisp/progmodes/make-mode.el (makefile-match-dependency): Don't
fontify the POSIX immediate assignment operator ::= as a
dependency (bug#44319).
2020-10-30 13:50:49 +01:00
Harald Jörg
101a3b7830 Suppress a misleading message when closing a paren in a regex
* lisp/progmodes/cperl-mode.el (cperl-forward-re): Suppress an
error message about "End of string/RE not found" when we are
at the end of a narrowed buffer where the end of a RE is
temporarily unavailable (Bug#37127).

* test/lisp/progmodes/cperl-mode-tests.el (cperl-bug37127):
Add a test to verify that the message is suppressed when
inappropriate, but appears when the RE *is* incomplete.
2020-10-30 13:24:01 +01:00
Lars Ingebrigtsen
daa21fb895 Tweak the gdb-mi error message
* lisp/progmodes/gdb-mi.el (gdb--check-interpreter): Make the
error message less misleading (bug#40279).
2020-10-30 13:18:47 +01:00
Stefan Monnier
7b02d9ba48 * lisp/progmodes/tcl.el: Better match Tcl string formation rules (bug#39277)
(tcl--word-delimiters): New const.
(tcl--syntax-of-quote): New function.
(tcl-syntax-propertize-function): Use them.
(tcl-mode): Enable `syntax-propertize-multiline`.

* test/manual/indent/tcl.tcl: New file.
2020-10-29 13:38:59 -04:00
Juri Linkov
46b3db5579 Widen buffer before going to point found by xref-find-definitions (bug#44294)
* lisp/progmodes/elisp-mode.el (xref-location-marker): Widen before going
to the found position.

* lisp/progmodes/etags.el (etags-goto-tag-location): Rerun after removing
narrowing.

* lisp/simple.el (goto-line-read-args): Use buffer-narrowed-p.
2020-10-29 11:09:20 +02:00
Alan Mackenzie
8abce5b0c6 CC Mode: Only recognize foo (*bar) as a function pointer when followed by (
* lisp/progmodes/cc-engine.el (c-forward-over-decl-or-cast-1): (after CASE 2)
test variables got-suffix-after-parens and at-decl-end before invoking
c-fdoc-shift-type-backward.
2020-10-28 10:22:37 +00:00
Lars Ingebrigtsen
8c8349e4b5 Tweak how `C-c C-r' computes the region in python-mode
* lisp/progmodes/python.el (python-shell-buffer-substring): Don't
extend the region to the start of the line (bug#39398), but allow
sending the actual region as marked.
2020-10-27 20:29:08 +01:00
Mattias Engdegård
3a6d55b792 gdb-mi: use lexical lambdas
* lisp/progmodes/gdb-mi.el (gdb-tooltip-print-1, gud-watch)
(gdb-var-list-children, gdb-edit-value)
(gdb-bind-function-to-buffer, gdb-place-breakpoints)
(gdb-preempt-existing-or-display-buffer):
Expose lambdas to the compiler as lexical closures instead of building
them the old-fashioned way.  Remove #' before lambda.
2020-10-27 19:10:25 +01:00
Mattias Engdegård
5a2b03043c Remove unused function in gdb-mi.el
* lisp/progmodes/gdb-mi.el (gdb-var-evaluate-expression-handler):
Remove.  (It was left behind in an old code reorganisation.)
2020-10-27 19:10:25 +01:00
Lars Ingebrigtsen
045d2a50dd Revert "Fontify strings in {} better in tcl-mode"
This reverts commit 7f32224dc3.

The changes led to things like

    proc foo5 () {
        return 6
    }

being fontified as a string, which is wrong.
2020-10-27 18:46:16 +01:00
Mattias Engdegård
7b257dff01 gdb-mi: Don't use bindat for field access
Replace uses of bindat-get-field with a simpler accessor,
since nothing here uses the bindat machinery in any way.

* lisp/progmodes/gdb-mi.el (gdb-mi--field): New.
(gdb-get-many-fields): Remove.
(gdb-var-create-handler, gdb-var-list-children-handler)
(gdb-var-update-handler, gdb-current-buffer-frame)
(gdb-update-gud-running, gdb-thread-exited, gdb-thread-selected)
(gdb-running, gdb-stopped, gdb-breakpoints-list-handler-custom)
(gdb-place-breakpoints, gdb-thread-list-handler-custom)
(def-gdb-thread-buffer-simple-command, gdb-select-thread)
(def-gdb-thread-buffer-gud-command, gdb-read-memory-custom)
(gdb-invalidate-disassembly, gdb-disassembly-handler-custom)
(gdb-disassembly-place-breakpoints, gdb-toggle-breakpoint)
(gdb-delete-breakpoint, gdb-goto-breakpoint, gdb-frame-location)
(gdb-stack-list-frames-custom, gdb-select-frame)
(gdb-edit-locals-value, gdb-locals-handler-custom)
(gdb-registers-handler-custom, gdb-changed-registers-handler)
(gdb-register-names-handler, gdb-frame-handler):
Use gdb-mi--field.
2020-10-27 16:36:16 +01:00
Lars Ingebrigtsen
8d3ed5f815 Don't do compilation-transform-file-match-alist if there's no file name
* lisp/progmodes/compile.el (compilation-error-properties): There
may not be a file name (bug#40111).  In that case, don't do the
`compilation-transform-file-match-alist' thing.
2020-10-27 10:17:13 +01:00
mvar
7f32224dc3 Fontify strings in {} better in tcl-mode
* lisp/progmodes/tcl.el (tcl-syntax-propertize-function):
Propertize {} forms after commands as strings (bug#39277).
(tcl-set-font-lock-keywords): Fontify as strings.  This allows
things like puts {"foo} to be fontified correctly.

Copyright-paperwork-exempt: yes
2020-10-27 09:27:51 +01:00
Andrea Corallo
096c78523d * Fix a function for native compilation in cc-bytecomp.el
* lisp/progmodes/cc-bytecomp.el
	(cc-bytecomp-compiling-or-loading): Update for native compilation.
2020-10-25 19:31:39 +00:00
Stefan Kangas
158d2a1f50 Remove some Emacs 19 compat code and references
* lisp/progmodes/sql.el:
* lisp/mh-e/mh-show.el (mh-display-msg): Remove Emacs 19 compat code.
* lisp/emacs-lisp/edebug.el (edebug-mark-marker): Make into
obsolete alias for mark-marker.
(edebug--display-1, edebug-bounce-point)
(edebug-outside-excursion): Adjust callers.
* lisp/net/snmp-mode.el:
* lisp/forms.el: Remove references to Emacs 19.
(forms-use-text-properties): Doc fix.
2020-10-25 18:27:19 +01:00
Stefan Kangas
dd16e46bb9 ; Prefer https to http in more URLs
These were all tested and confirmed working.
2020-10-24 20:23:27 +02:00
Andrea Corallo
99e7cc0da6 Merge remote-tracking branch 'savannah/master' into HEAD 2020-10-23 20:08:58 +01:00
Mattias Engdegård
30dba74e77 ; * lisp/progmodes/fortran.el: Call 'eval' with lexical binding. 2020-10-22 18:31:31 +02:00
Mattias Engdegård
a090e5fe08 Remove useless uses of bindat-get-field
* lisp/progmodes/gdb-mi.el (gdb-var-list-children-handler)
(gdb-edit-register-value): bindat-get-field with a single argument is
identity; remove.
2020-10-22 18:29:06 +02:00
Lars Ingebrigtsen
45c1be62a1 Comment JSX lines using JSX syntax
* lisp/progmodes/js.el (js-jsx--comment-region): New function
(bug#41696).
(js-jsx-mode): Use it.
2020-10-22 15:22:05 +02:00
Mattias Engdegård
701ed2e4ed Use lexical binding in fortran.el
* lisp/progmodes/fortran.el: Use lexical binding.
(fortran-make-syntax-propertize-function): Hoist use of lexical
variable to outside the 'eval' call.
2020-10-22 12:18:16 +02:00
Mattias Engdegård
3479390c4c * lisp/progmodes/cpp.el: Use lexical binding. 2020-10-22 11:46:09 +02:00
Stefan Kangas
29cb2fdd0c Declare old compat aliases in tcl.el obsolete
* lisp/progmodes/tcl.el (tcl-uncomment-region)
(tcl-indent-for-comment, add-log-tcl-defun, indent-tcl-exp)
(calculate-tcl-indent, tcl-beginning-of-defun, tcl-end-of-defun)
(tcl-mark-defun, tcl-mark): Make obsolete.
2020-10-21 15:25:45 +02:00
Basil L. Contovounesios
39271ed108 ; Fix last change to idlw-complete-structtag.el 2020-10-20 20:02:29 +01:00
Stefan Kangas
39bf2160f3 Use lexical-binding in m4-mode.el
* lisp/progmodes/m4-mode.el: Use lexical-binding.  Remove redundant
:group args.
* lisp/progmodes/m4-mode.el (m4-m4-buffer, m4-m4-region): Quote
function symbols as such.
2020-10-20 20:32:19 +02:00
Stefan Kangas
6c58d90042 Make more load-hooks obsolete (Bug#21563)
* lisp/progmodes/dcl-mode.el (dcl-mode):
* lisp/progmodes/idlw-complete-structtag.el: Recommend
with-eval-after-load instead of load-hooks.
* lisp/calc/calc-ext.el (calc-ext-load-hook):
* lisp/emacs-lisp/bytecomp.el (bytecomp-load-hook):
* lisp/emacs-lisp/cl-extra.el (cl-extra-load-hook):
* lisp/emacs-lisp/cl-macs.el (cl-macs-load-hook):
* lisp/emacs-lisp/cl-seq.el (cl-seq-load-hook):
* lisp/gnus/message.el (message-load-hook):
* lisp/gnus/nnheader.el (nnheader-load-hook):
* lisp/gnus/nnmail.el (nnmail-load-hook):
* lisp/progmodes/dcl-mode.el (dcl-mode-load-hook):
* lisp/textmodes/tex-mode.el (tex-mode-load-hook):
* lisp/whitespace.el (whitespace-load-hook): Obsolete for
with-eval-after-load.  Note that these variables are never declared,
but the byte-compiler will still warn about them if used.
2020-10-20 19:14:04 +02:00
Stefan Kangas
4a575eb18c byte-compile-file: Make optional LOAD argument obsolete
* lisp/emacs-lisp/bytecomp.el (byte-compile-file): Declare optional
LOAD argument obsolete.  Adjust callers.  (Bug#38072)
(byte-recompile-file): Declare optional LOAD argument obsolete.
* doc/lispref/compile.texi (Compilation Functions): Update
documentation to reflect above obsoletion.
* etc/NEWS: Announce above obsoletion.
2020-10-20 18:48:27 +02:00
Stefan Monnier
f831fa1744 * lisp/progmodes/python.el: Bump version to release the f-string support 2020-10-19 13:39:42 -04:00
Mattias Engdegård
653eab4788 Keep track of matching rules in compilation-mode
When matching messages in compilation-mode, keep track of the rule
employed for each match.  This facilitates debugging and allows us to
verify that each test case really exercises the rule that we expect it
to.

Naturally this uncovered several test cases that didn't check what the
author thought they did; the rules affixed to
compile-tests--test-regexps-data are those actually used, so that the
tests still pass.

* lisp/progmodes/compile.el (compilation--message): Add 'rule' slot.
(compilation-directory-properties, compilation-error-properties)
(compilation-internal-error-properties, compilation-parse-errors)
(compilation--compat-parse-errors): Set the rule slot.
* test/lisp/progmodes/compile-tests.el (compile-tests--test-regexps-data)
(compile-tests--grep-regexp-testcases)
(compile-tests--grep-regexp-tricky-testcases): Add rules to test cases.
(compile--test-error-line): Check that the rule matches what we expect.
(compile-test-grep-regexps): Adapt to test case format.
Remove now superfluous ert-info.
2020-10-19 13:00:14 +02:00
Mattias Engdegård
b16cd3f1e5 Hoist some loop-invariant variable bindings in compile.el
* lisp/progmodes/compile.el (compilation-parse-errors):
Hoist the binding of case-fold-search and a memq call out of
the loop, eliminating a minor but unnecessary quadratic term.
2020-10-19 12:53:38 +02:00
Harald Jörg
fb26dc130d cperl-mode: Delete a misleading comment, add tests for verification
* lisp/progmodes/cperl-mode.el: Delete a comment which explains a
bug which has been fixed a long time ago (bug#44073).
* test/lisp/progmodes/cperl-mode-tests.el
(cperl-mode-fontify-punct-vars): Add regression tests to verify
that fontification of punctuation variables doesn't start strings.
2020-10-19 10:57:57 +02:00
Stefan Kangas
58a9cec525 Add "Old-" prefix to "Version" header in more cases
These version numbers are historical accidents and not relevant today.
Ref: https://lists.gnu.org/r/emacs-devel/2020-03/msg00080.html
2020-10-18 20:35:26 +02:00
Stefan Kangas
f287fb45f5 * lisp/progmodes/ld-script.el: Use lexical-binding. 2020-10-18 02:27:29 +02:00
Stefan Kangas
073e72e484 * lisp/progmodes/mixal-mode.el: Fix typos. 2020-10-18 00:57:29 +02:00