1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-24 14:30:43 -08:00
Commit graph

8766 commits

Author SHA1 Message Date
Dmitry Gutov
f65958a94d Provide a default for xref-find-apropos pattern
* lisp/progmodes/xref.el (xref-find-apropos):
Provide a default for the pattern (bug#49731).
2021-08-06 03:02:13 +03:00
Dmitry Gutov
232be9bf87 Change the xref-goto-xref error message
* lisp/progmodes/xref.el (xref-goto-xref):
Change the error message (bug#49846).
2021-08-06 02:49:42 +03:00
akater
6535fd1fa9 Evaluate eql specializers
* lisp/emacs-lisp/cl-generic.el (cl-generic-generalizers): Evaluate
forms that are eql specializers.  Provide backward compatibility
with a warning.

* test/lisp/emacs-lisp/cl-generic-tests.el: Add a test.
* lisp/emacs-lisp/bindat.el (bindat--type): Adhere to the new rule.
* lisp/emacs-lisp/edebug.el (edebug--match-&-spec-op): Adhere to the new rule.
* lisp/emacs-lisp/map.el (map-into): Adhere to the new rule.
* lisp/emacs-lisp/radix-tree.el (map-into): Adhere to the new rule.
* lisp/frame.el (cl-generic-define-context-rewriter): Adhere to the new rule.
* lisp/gnus/gnus-search.el
(gnus-search-transform-expression): Adhere to the new rule.
* lisp/image/image-converter.el
(image-converter--probe image-converter--convert): Adhere to the new rule.
* lisp/mail/smtpmail.el (smtpmail-try-auth-method): Adhere to the new rule.
* lisp/progmodes/elisp-mode.el
(xref-backend-definitions)
(xref-backend-apropos): Adhere to the new rule.
* lisp/progmodes/etags.el (xref-backend-identifier-at-point)
(xref-backend-identifier-completion-table)
(xref-backend-identifier-completion-ignore-case)
(xref-backend-definitions)(xref-backend-apropos): Adhere to the new rule.
* test/lisp/emacs-lisp/checkdoc-tests.el
(checkdoc-cl-defmethod-with-types-ok)
(checkdoc-cl-defmethod-qualified-ok)
(checkdoc-cl-defmethod-with-extra-qualifier-ok): Adhere to the new rule.

* etc/NEWS: Describe the change.
2021-08-03 18:26:15 -04:00
Mattias Engdegård
354c682421 Remove ineffective expression in verilog-mode
* lisp/progmodes/verilog-mode.el (verilog-set-auto-endcomments):
Remove expression that now elicits a byte-compiler warning.
2021-08-03 15:55:55 +02:00
Stefan Monnier
1a7818824b * lisp/progmodes/flymake.el (flymake--mode-line-title): Don't quote lambda 2021-08-01 18:08:01 -04:00
Juri Linkov
a6f67d60e1 * lisp/progmodes/project.el (project-switch-project): Use 'let*' (bug#49635).
This allows overriding-local-map to have effect on read-key-sequence.
2021-08-01 23:43:37 +03:00
Mattias Engdegård
5f33ad6954 ; compilation-error-regexp-alist-alist): eval-when-compile 2021-07-31 23:44:17 +02:00
Lars Ingebrigtsen
2dcb0f8f52 Add new user option python-forward-sexp-function
* lisp/progmodes/python.el (python-forward-sexp-function): New
user option (bug#41361).
(python-mode): Use it.
2021-07-31 18:44:02 +02:00
k3tu0isui
9ffbe99b11 Fix problem when switching between different prolog versions
* lisp/progmodes/prolog.el (run-prolog): Make switching between
different prolog systems work more reliably (bug#45795).

* lisp/progmodes/prolog.el (prolog-ensure-process): Don't start a
new process if one already exists.

Copyright-paperwork-exempt: yes
2021-07-30 14:40:21 +02:00
Dmitry Gutov
69398a4da0 Fix printing of multiple items in one group without line numbers
* lisp/progmodes/xref.el (xref--insert-xrefs):
Fix printing of multiple items in one group without line numbers
(mentioned in bug#49731).
2021-07-29 04:57:36 +03:00
Juri Linkov
ea69802a8f * lisp/progmodes/gud.el: Add prefix 'gud-' to repeat-map variables (bug#49632)
* lisp/progmodes/gud.el (gud-sdb-repeat-map, gud-dbx-repeat-map)
(gud-xdb-repeat-map, gud-perldb-repeat-map, gud-pdb-repeat-map)
(gud-guiler-repeat-map, gud-jdb-repeat-map): Rename with prefix 'gud-'.
2021-07-28 19:22:53 +03:00
Brian Leung
cfcf42ff87 Ensure that gud commands for non-GDB debuggers are handled by repeat-mode
* lisp/progmodes/gud.el (sdb-repeat-map): Define.
(sdb): Set repeat-mode property to the symbol corresponding to the
repeat map.
(dbx-repeat-map): Define.
(dbx): Set repeat-mode property to the symbol corresponding to the
repeat map.
(xdb-repeat-map): Define.
(xdb): Set repeat-mode property to the symbol corresponding to the
repeat map.
(perldb-repeat-map): Define.
(perldb): Set repeat-mode property to the symbol corresponding to the
repeat map.
(pdb-repeat-map): Define.
(pdb): Set repeat-mode property to the symbol corresponding to the
repeat map.
(guiler-repeat-map): Define.
(guiler): Set repeat-mode property to the symbol corresponding to the
repeat map.
(jdb-repeat-map): Define.
(jdb): Set repeat-mode property to the symbol corresponding to the
repeat map.  (Bug#49632)
2021-07-28 00:13:48 +03:00
Brian Leung
29d6209995 Ensure that gud commands for M-x gdb are handled by repeat-mode
* lisp/progmodes/gud.el (gud-gdb-repeat-map): Rename from
gud-repeat-map, and populate at the top-level.
(gud-set-repeat-map-property): Introduce this helper function for
setting the repeat-map property.
(gud-gdb): Use the gud-set-repeat-map-property function to assign the
repeat-map property.

* lisp/progmodes/gdb-mi.el (gdb): Use the gud-set-repeat-map-property
function to assign the repeat-map property.

Because different debugging tools may not support all of the gud-foo
functions, we reassign the repeat-map property within the respective
commands, as opposed to the top level of the files, to ensure that the
repeat-map property is reassigned each time to a symbol corresponding
to the active debugging tool.  (Bug#49632)
2021-07-28 00:13:40 +03:00
Mattias Engdegård
4f43058e9a Adjust grep-mode end-col function return value
* lisp/progmodes/grep.el (grep-regexp-alist): Adjust the return value
from the END-COL function by one since it is now (after fixing
bug#49624) inclusive.  Found by Juri Linkov.
2021-07-26 21:25:20 +02:00
Glenn Morris
81da37b662 Fix recent gdb-mi change
* lisp/progmodes/gdb-mi.el (gdb-registers-filter-pattern-list):
Fix type.
2021-07-25 09:44:37 -07:00
Yuan Fu
7c83e605ab Add filter to GDB's register buffer
* lisp/progmodes/gdb-mi.el (gdb-registers-enable-filter)
(gdb-registers-filter-pattern-list): New custom options.
(gdb-header-click-event-handler, gdb-registers-toggle-filter): New
functions.
(gdb-header-click-event-handler): Only add a register if it passes the
filter.
(gdb-registers-mode-map): New keybinding for toggling the filter.
(gdb-registers-header): New buttons on the header line for the
filter (bug#39179).
2021-07-24 19:11:08 +02:00
Mattias Engdegård
aa5437493b Off-by-one error in compilation rule end-column function (bug#49624)
* lisp/progmodes/compile.el (compilation-error-properties):
When the end-column parameter of a compilation message rule
(in compilation-error-regexp-alist[-alist]) is a function, treat its
return value as if it were matched by the regexp, which is how it is
documented to work, and how all other parameters work.
2021-07-23 15:20:44 +02:00
Jashank Jeremy
e3b8ddd500 Speed up by storing frame faces in hash tables instead of alists
* src/frame.h (struct frame): Add face_hash_table, remove face_alist.
(fset_face_hash_table): New function.
(fset_face_alist): Remove.
* src/frame.c (make_frame): Initialize f->face_hash_table.
(Fmake_terminal_frame): Update to work with hash tables instead of
alists.
* src/xfaces.c (lface_from_face_name_no_resolve):
(Finternal_make_lisp_face):
(update_face_from_frame_parameter): Update to work with hash tables
instead of alists.
(Fframe_face_hash_table): New function.
(Fframe_face_alist): Move to faces.el as frame-face-alist.
(syms_of_xfaces): Add frame_face_hash_table.

* lisp/progmodes/elisp-mode.el (elisp--eval-defun-1):
* lisp/frame.el (frame-set-background-mode): Update to work with hash
tables instead of alists.
* lisp/faces.el (face-new-frame-defaults): Mark obsolete.
(face-list): Update to use face--new-frame-defaults.
(frame-face-alist): Moved here from src/xfaces.c.
(x-create-frame-with-faces): Update to handle subtle semantic change
to how frame faces propagate, which otherwise breaks frame creation
with reverse video enabled (bug#41200).

Reworked from a patch by Clément Pit-Claudel <clement.pitclaudel@live.com>.
2021-07-21 16:01:13 +02:00
Lars Ingebrigtsen
92923414a0 Fix bug-reference.el compilation warning
* lisp/progmodes/bug-reference.el (bug-reference-mode): Silence a
compilation warning (bug#49677).
2021-07-21 13:15:05 +02:00
Mattias Engdegård
88cc9d22df Count compile errors when FILE is a function
* lisp/progmodes/compile.el (compilation-parse-errors):
Don't omit messages from the error count when FILE is a function
rather than a regexp match number.
2021-07-18 20:41:59 +02:00
Lars Ingebrigtsen
6b802a08ca Fix previous grep-file-at-point change
* lisp/progmodes/grep.el (grep-file-at-point): Fix previous change.
2021-07-17 16:56:35 +02:00
Lennart Borgman
9ee418b7b9 Add new function 'grep-file-at-point'
* lisp/progmodes/grep.el (grep-file-at-point): New function to
return the file name at point (bug#8252).
2021-07-17 16:53:36 +02:00
Tassilo Horn
f770538b30 Add bug-reference support for Codeberg projects
* lisp/progmodes/bug-reference.el (bug-reference-setup-from-vc-alist):
Add support for codeberg.org bug and pull request references.
* doc/emacs/maintaining.texi (Bug Reference): Mention that bug and
pull request references for codeberg projects are supported.
2021-07-15 21:51:54 +02:00
Tassilo Horn
ec3b108c1f Add support for sourcehut to bug-reference.el
* lisp/progmodes/bug-reference.el (bug-reference-setup-from-vc-alist):
Add support for bug references like #17 and ~user/project#19 for
sourcehut (sr.ht).
* doc/emacs/maintaining.texi (Bug Reference): Document sourcehut
support.
2021-07-15 21:43:29 +02:00
Lars Ingebrigtsen
eb4a120ea5 Allow using spaces in `inferior-lisp' command names
* lisp/progmodes/inf-lisp.el (inferior-lisp): Allow using spaces
in the command names (by splitting using shell syntax) (bug#16005).
2021-07-15 10:33:22 +02:00
Lars Ingebrigtsen
cd1313b7f1 Allow inhibiting inserting #! in sh-set-shell
* lisp/progmodes/sh-script.el (sh-set-shell): Allow inhibiting
inserting the #! line (bug#20959).
2021-07-08 16:23:29 +02:00
Lars Ingebrigtsen
a45906ac1a Fix font-lock of Makefile variables at the start of lines
* lisp/progmodes/make-mode.el (makefile-var-use-regex): Match
variables at the beginning of lines correctly (bug#23266).  Change
suggested by Anders Lindgren <andlind@gmail.com>.
2021-07-08 02:57:46 +02:00
Dmitry Gutov
6ec3cf1ccb (xref--insert-xrefs): Fix printing of line numbers
* lisp/progmodes/xref.el (xref--insert-xrefs):
Fix printing of line numbers when we have multiple files with
(e.g.) single match on the same line.
2021-07-06 01:56:18 +03:00
Stephen Leake
c03ad2b19e * lisp/progmodes/bug-reference.el: Refer to info manual node 2021-07-05 10:04:56 -07:00
Amin Bandali
7a13ddfda0
Update a few more IRC-related references to point to Libera.Chat 2021-07-04 01:18:19 -04:00
Amin Bandali
8d957f2dd8
Merge from origin/emacs-27
348b2aed0c Update IRC-related references to point to Libera.Chat
b0e725e2fe Fix typo in c-macro-expand docstring

# Conflicts:
#	doc/misc/erc.texi
#	doc/misc/gnus-faq.texi
#	doc/misc/rcirc.texi
#	etc/NEWS
#	lisp/erc/erc-services.el
#	lisp/erc/erc.el
#	lisp/ldefs-boot.el
#	lisp/net/rcirc.el
2021-07-04 00:14:47 -04:00
Daniel Martín
b0e725e2fe Fix typo in c-macro-expand docstring
* lisp/progmodes/cmacexp.el (c-macro-expand): Fix typo.  (Bug#49356)
2021-07-03 19:12:30 +03:00
Glenn Morris
433e157899 Merge from origin/emacs-27
ef5f3d5ee7 (origin/emacs-27) C++ Mode: Handle new keywords static_cas...
2021-06-28 07:50:45 -07:00
Alan Mackenzie
ef5f3d5ee7 C++ Mode: Handle new keywords static_cast, etc., wrt angle brackets
* lisp/progmodes/cc-langs.el (c-<>-arglist-kwds): Add const_cast,
dynamic_cast, reinterpret_cast and static_cast into this lang const.

* lisp/progmodes/cc-engine.el (c-clear-<-pair-props, c-clear->-pair-props)
(c-clear-<-pair-props-if-match-after, c-clear->-pair-props-if-match-before)
(c-forward-<>-arglist-recur):
Invalidate caches with c-trunctate-lit-pos-cache.
(c-forward-<>-arglist-recur): If in a matching <...> expression, the < has a
syntax-table property, but the > not, remove that property.
2021-06-27 12:59:18 +00:00
E. Choroba
8febca87c3 Fix highlighting in cperl-mode for "for /regex/"
* lisp/progmodes/cperl-mode.el (cperl-find-pods-heres): Fix
highlighting of regexp in "print for /./;" (bug#49192).
2021-06-24 18:15:07 +02:00
Mattias Engdegård
eac34b52f6 ; * lisp/progmodes/hideif.el (hif-unicode-prefix-regexp): Stray \. 2021-06-16 09:57:27 +02:00
Lars Ingebrigtsen
6b5a7136ca Fix double (recursive) load of fortran.el
* lisp/progmodes/fortran.el (fortran-menu): Move menu creation to
the end to avoid a recursive load (bug#43116).
2021-06-12 14:44:54 +02:00
Harald Jörg
87bd14ca8b ; perl-mode.el: Allow newline between quote-likes and delimiter
* lisp/progmodes/perl-mode.el (perl-syntax-propertize-function):
Allow newline between a quote-like operator and its delimiter
(Bug#22355).

* test/lisp/progmodes/cperl-mode-tests.el (cperl-test-bug-22355):
Test case for the fix.

* test/lisp/progmodes/cperl-mode-resources/cperl-bug-22355.pl:
Test resource for a quote-like with newline before the delimiter.
2021-06-11 13:55:08 +02:00
Harald Jörg
dd9385b404 ; perl-mode.el: Detect quote-like operator immediately after =>
* lisp/progmodes/perl-mode.el (perl-syntax-propertize-function):
Detect a quotelike operator immediately after a fat comma "=>"
(Bug#25098)

* test/lisp/progmodes/cperl-mode-tests.el (cperl-test-bug-25098):
Test case for the bug with code from the bug report.

* test/lisp/progmodes/cperl-mode-resources/cperl-bug-25098.pl:
Resource file for the test.
2021-06-09 23:04:09 +02:00
Harald Jörg
90f54aad5e ; perl-mode.el: Detect regexes immediately after "|&"
* lisp/progmodes/perl-mode.el (perl-syntax-propertize-function):
Add "|&" to the list of characters after which a slash starts a
regular expression (Bug#23992).

* test/lisp/progmodes/cperl-mode-tests.el (cperl-test-ppss):
Correct the docstring.
(cperl-test-bug-23992): New test for Bug#23992.
(cperl-test-bug-42168): Adapt inline comments to the current code.

* test/lisp/progmodes/cperl-mode-resources/cperl-bug-23992.pl:
Resource file with example code from the bug report.
2021-06-08 23:23:25 +02:00
Dmitry Gutov
722064022c Fix rgrep abbreviation
* lisp/progmodes/grep.el (grep-mode-font-lock-keywords):
Update for the last change in grep-find-template (bug#48471).
2021-06-07 15:03:21 +03:00
Dmitry Gutov
45bdc37c81 Support old BSD find and "root dir symlink" better
* lisp/progmodes/grep.el (grep-compute-defaults):
Add '-H' to grep-find-template (bug#48471).

* lisp/cedet/semantic/symref/grep.el (semantic-symref-perform-search):
Pass the root directory name without the trailing slash.

* lisp/progmodes/xref.el (xref-matches-in-directory): Ditto.

* test/lisp/progmodes/xref-tests.el (xref--xref-file-name-display-is-abs)
(xref--xref-file-name-display-is-relative-to-project-root):
Make tests more strict again.
2021-06-07 04:52:30 +03:00
Eli Zaretskii
fc37483617 Fix a problem with restarting 'tags-search'
* lisp/progmodes/etags.el (tags-search, tags-query-replace): Link
to 'fileloop-continue' instead of 'tags-loop-continue', for
continuing TAGS-based search/replace commands.

* lisp/fileloop.el (fileloop-continue): Reset
'switch-to-buffer-preserve-window-point' to nil when switching to
another buffer, so as to make sure a new search always restarts
from point-min in each buffer it searches.  (Bug#48628)
2021-06-06 15:29:18 +03:00
Lars Ingebrigtsen
4bcc83c124 Fix up previous hideif change to avoid a compilation warning
* lisp/progmodes/hideif.el
(hide-ifdef-expand-reinclusion-protection): Move to avoid a
compilation warning.
2021-06-03 10:39:39 +02:00
Luke Lee
9a66aff504 * lisp/progmodes/hideif.el: Fix initial version for new variables
(hide-ifdef-verbose, hide-ifdef-evalulate-enter-hook)
(hide-ifdef-evalulate-leave-hook): Fix initial version to 28.1.
(hide-ifdef-expand-reinclusion-protection): Obsolete since 28.1,
rename to `hide-ifdef-expand-reinclusion-guard' instead.
2021-06-03 16:04:16 +08:00
Luke Lee
87e7390aae * lisp/progmodes/hideif.el: update for new C++ standards and extensions
Matching gcc/clang behavior on stringification including keeping the same
number of white spaces.  C++11, C++14, C++17 and GCC literals extension are
supported.  Preprocessing time floating point operation supported but limited
to Emacs internal representation which is C data type "double".  Also support
some frequently used keywords like __LINE__, __TIME__, __DATE__ and so on.

(hif-clear-all-ifdef-defined, hif-show-all, hif-after-revert-function)
(hide-ifdef-define, hide-ifdefs, show-ifdefs): interactive behavior changes,
mainly to allow operation within the marked region.
(hif-eval, hif-__LINE__, hif-__FILE__, hif-__COUNTER__, hif-__cplusplus)
(hif-__DATE__, hif-__TIME__, hif-__STDC__, hif-__STDC_VERSION__)
(hif-__STDC_HOST__, hif-__FILE__, hif-full-match, hif-is-number, hif-is-float)
(hif-delete-char-in-string, hif-string-to-decfloat, hif-string-to-hexfloat)
(hif-strtok, hif-is-white, hif-backward-comment, hif-split-signed-token)
(hif-keep-single, hif-display-macro): new functions.
(hide-ifdef-verbose, hide-ifdef-evalulate-enter-hook)
(hide-ifdef-evalulate-leave-hook, hide-ifdef-evaluator, hif-predefine-alist)
(hif-numtype-suffix-regexp, hif-bin-regexp, hif-hex-regexp, hif-oct-regexp)
(hif-dec-regexp, hif-decfloat-regexp, hif-hexfloat-regexp)
(hif-unicode-prefix-regexp, hif-verbose-define-count): new constants or
variables.
(hif-macroref-regexp, hif-token-alist, hif-token-regexp)
(hif-string-literal-regexp): modified constants for faster regexp processing.
(hide-ifdef-expand-reinclusion-guard): renamed from
`hide-ifdef-expand-reinclusion-protection' to match commonly used term.
(hif-lookup, hif-defined, hif-string-to-number, hif-tokenize, hif-nextoken)
(hif-if-valid-identifier-p, hif-define-operator, hif-expand-token-list)
(hif-parse-exp, hif-math, hif-factor, hif-get-argument-list, hif-stringify)
(hif-token-concat, hif-mathify, hif-comma, hif-token-stringification)
(hif-token-concatenation, hif-macro-supply-arguments, hif-evaluate-macro)
(hif-find-define, hif-add-new-defines, hide-ifdef-guts, hif-undefine-symbol)
(hide-ifdef-set-define-alist, hide-ifdef-use-define-alist): modified functions
for new internal data representation, mainly for stringification and white
space preservation.  Also better error handling to report source line number
and more informative error messages.
2021-06-02 20:29:00 +08:00
Lars Ingebrigtsen
b0d01982e2 Tweak octave continuation indentation
* lisp/progmodes/octave.el (octave-smie-rules): Further tweak
continuation indentation (bug#17955).
2021-05-30 06:25:47 +02:00
Lars Ingebrigtsen
0eb0fe987b Add lambda to the pretty Ruby symbols list
* lisp/progmodes/ruby-mode.el (ruby--prettify-symbols-alist): Add
lambda (bug#48681).
2021-05-29 08:09:34 +02:00
William Denton
90cd4d6cae Add pretty symbols to ruby-mode
* lisp/progmodes/ruby-mode.el (ruby--prettify-symbols-alist): Add
pretty symbols (bug#48681).
(ruby-mode): Use them.
2021-05-29 08:08:35 +02:00
Lars Ingebrigtsen
30c09a1674 Improve Octave indentation after continuation lines
* lisp/progmodes/octave.el (octave-smie-rules): Indent
continuation lines better (bug#17955).
2021-05-29 07:04:34 +02:00