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

9226 commits

Author SHA1 Message Date
Dmitry Gutov
7fed00f9ba Post-review additions
* lisp/progmodes/project.el (project-vc-include-untracked):
Add :version.
(project--vc-list-files): Use 'and' instead of 'when'.
2022-06-04 03:42:00 +03:00
Jan Synáček
526971df64 Add new user option project-vc-include-untracked
* doc/emacs/maintaining.texi (Projects): Document it.
* lisp/progmodes/project.el (project--vc-list-files): Use it.
2022-06-04 03:31:10 +03:00
Dmitry Gutov
db82347269 project-query-replace-regexp: Filter out non-regular files
* lisp/progmodes/project.el (project-query-replace-regexp):
Filter out non-regular files (bug#55382).
2022-06-04 03:13:42 +03:00
Mattias Engdegård
e48c9181b1 Fix wrong value in idlwave-comment-indent-char
* lisp/progmodes/idlwave.el (idlwave-comment-indent-char):
Use a space since that is clearly what was meant.
?\ at the end of a line (ie, ?\LF) never was well-defined and produced
-1 most of the time, but will soon raise an error (bug#55738).
This doesn't matter much becaue this variable is unused.
2022-06-03 11:10:38 +02:00
Lars Ingebrigtsen
da736c9f02 Make `M-x grep' work better with "git grep"
* lisp/progmodes/compile.el (compilation-start): Bind PAGER to ""
to avoid errors in output from "git grep" and similar commands
(bug#4359).
2022-06-02 17:21:28 +02:00
Juri Linkov
4132223d89 * lisp/progmodes/project.el: Improve file-reading history and default values.
(project-find-file): Use relative file name of the
currently visited file as an alternative default value.
(project-find-file-in, project-find-dir): Use 'file-name-history' (bug#55267).
2022-05-30 19:30:54 +03:00
Po Lu
774880c84c Get rid of `defvar-keymap' in flymake.el
* lisp/progmodes/flymake.el (flymake-mode-map)
(flymake-diagnostics-buffer-mode-map): Stop using
`defvar-keymap', since Flymake only requires Emacs 26.1.
2022-05-30 18:09:41 +08:00
kobarity
1e66c8af40 Fix Python Hideshow problem with backslash escaped newlines
* lisp/progmodes/python.el (python-rx)
(python-nav-beginning-of-defun-regexp): Allow
python-nav-*-defun to handle backslash escaped newlines
(bug#55690).
2022-05-28 18:51:01 +02:00
Stefan Kangas
758fed537b * lisp/progmodes/asm-mode.el: Minor doc fixes. 2022-05-27 10:04:16 +02:00
Stefan Kangas
7d74b8f632 Prefer defvar-keymap in some progmodes
* lisp/progmodes/asm-mode.el (asm-mode-map):
* lisp/progmodes/bug-reference.el (bug-reference-map):
* lisp/progmodes/erts-mode.el (erts-mode-map):
* lisp/progmodes/flymake.el (flymake-mode-map)
(flymake-diagnostics-buffer-mode-map):
* lisp/progmodes/icon.el (icon-mode-map):
* lisp/progmodes/js.el (js-mode-map):
* lisp/progmodes/m4-mode.el (m4-mode-map):
* lisp/progmodes/mixal-mode.el (mixal-mode-map):
* lisp/progmodes/scheme.el (scheme-mode-map): Prefer defvar-keymap.
2022-05-27 10:00:14 +02:00
Stefan Kangas
7da754015f Merge from origin/emacs-28
9283508fb2 Fix format specifiers in tramp-adb.el
a9f17ccce3 ; Fix some doc typos and minor language issues
2022-05-27 06:30:20 +02:00
Štěpán Němec
47e0b86611 ; Fix up doc of recent elisp-eldoc-var-docstring-with-value addition 2022-05-26 10:58:22 +02:00
Štěpán Němec
a9f17ccce3 ; Fix some doc typos and minor language issues 2022-05-26 10:29:10 +02:00
Paul W. Rankin
b93c22e67d Change variable which-func-unknown to "n/a"
* lisp/progmodes/which-func.el (which-func-unknown): Change string
displayed in mode-line from "???" to "n/a"; the former appears to
indicate an error whereas the latter is more indicative that the
current function is not known.
2022-05-25 14:06:51 +02:00
Stefan Kangas
7749ec6aaa Remove some ancient Emacs compat code
* lisp/url/url-util.el (url-percentage): Remove Emacs 19 compat
code.

* lisp/erc/erc-backend.el (erc-server-coding-system):
* lisp/gnus/mm-util.el (mm-iso-8859-x-to-15-table): Remove Emacs
19 compat code; coding-system-p is fboundp.

* lisp/progmodes/cfengine.el (cfengine-fill-paragraph): Remove Emacs
21 compat code.
2022-05-25 09:42:52 +02:00
Mattias Engdegård
71178fbdc6 Remove f90-mode regexp ambiguity (bug#17222)
* lisp/progmodes/f90.el (f90-font-lock-keywords-2):
Modify regexp to be better-behaved.
2022-05-24 20:09:58 +02:00
Alan Mackenzie
881aa943e5 CC Mode: Fix interplay between string fences and electric-pair-mode.
This is an amendment to the fix for bug #55230.

* lisp/progmodes/cc-defs.el: (c-with-string-fences): Add an edebug spec.

* lisp/progmodes/cc-cmds.el: (c-electric-pound, c-electric-brace)
(c-electric-slash, c-electric-star, c-electric-semi&comma, c-electric-colon)
(c-electric-lt-gt, c-electric-paren): Put the final
c--call-post-self-insert-hook-more-safely outside of the functions'
c-with-string-fences.
(c-electric-brace, c-electric-lt-gt, c-electric-paren): Put the calls to
electric-pair-post-self-insert-function outside of c-with-string-fences.
2022-05-24 16:37:50 +00:00
Štěpán Němec
8420d7cce7 Add elisp-eldoc-var-docstring-with-value function
* lisp/progmodes/elisp-mode.el
(elisp-eldoc-var-docstring-with-value): New function (bug#55096).
2022-05-24 14:55:03 +02:00
Alan Mackenzie
2f68673a71 CC Mode: Restore string fence properties at each relevant external entry point
This fixes bug #55230.

* lisp/progmodes/cc-defs.el (c-string-fences-set-flag, c-with-string-fences):
New variable and macro.

* lisp/progmodes/cc-mode.el (c-called-from-text-property-change-p): Add
remove-text-properties to the list of accepted functions.
(c-clear-string-fences, c-restore-string-fences): Surround the functions'
innards with c-save-buffer-state to prevent text property changes causing
change functions to be called.
(c-before-change, c-after-change, c-font-lock-fontify-region): Replace the
explicit calls to c-restore-string-fences and c-clear-string-fences with
invocations of the new macro c-with-string-fences.

* lisp/progmodes/cc-awk.el (c-awk-extend-and-syntax-tablify-region)
(c-awk-end-of-defun)
* lisp/progmodes/cc-cmds.el (c-show-syntactic-information)
(c-electric-backspace, c-hungry-delete-backwards, c-electric-delete-forward)
(c-hungry-delete-forward, c-electric-pound, c-electric-brace)
(c-electric-slash, c-electric-star, c-electric-semi&comma, c-electric-colon)
(c-electric-lt-gt, c-electric-paren, c-beginning-of-defun, c-end-of-defun)
(c-display-defun-name, c-mark-function, c-beginning-of-statement)
(c-end-of-statement, c-indent-command, c-indent-exp, c-indent-defun)
(c-indent-line-or-region, c-fill-paragraph, c-indent-new-comment-line)
(c-context-line-break)
* lisp/progmodes/cc-guess.el (c-guess-region-no-install): These are all
"boundary" functions to CC Mode.  Surround each by c-with-string-fences.
2022-05-22 17:00:34 +00:00
kobarity
45694a2594 Don't font-lock invalid invalid class/function names
* lisp/progmodes/python.el (python-font-lock-keywords-level-1):
Don't font-lock invalid invalid class/function names (bug#55573).
2022-05-22 18:54:23 +02:00
kobarity
2b63fabcd3 Fix two typos in comments in python.el
* lisp/progmodes/python.el
(python-font-lock-keywords-maximum-decoration): Fix typos in
comments (bug#55557).
2022-05-22 13:26:34 +02:00
Lele Gaifax
35d0190b0b Properly indent Python PEP634 match/case blocks
Python 3.10 introduced the "structural pattern matching" syntax, and
commit 139042eb86 told font-lock about the
new keywords. This adds them also as block-start statements, to enable
proper indentation of such blocks.

* lisp/progmodes/python.el (python-rx): Add "match" and "case" as
block-start keywords.
* test/lisp/progmodes/python-tests.el (python-indent-after-match-block,
python-indent-after-case-block): New tests to verify indentation of
"match" and "case" blocks (bug#55572).
2022-05-22 13:22:59 +02:00
kobarity
a8acb9516e Fix recently introduced Python font lock breakage of chained assignments
* lisp/progmodes/python.el (python-font-lock-assignment-matcher):
Fix fontification of chained assignments (bug#54992).
2022-05-21 15:23:21 +02:00
Stefan Kangas
1cbabe973b Remove compat code; assume imenu.el exists
* lisp/progmodes/antlr-mode.el (antlr-mode):
* lisp/progmodes/cperl-mode.el (cperl-menu):
* lisp/progmodes/f90.el (f90-mode-map):
* lisp/progmodes/fortran.el (fortran-menu):
* lisp/speedbar.el (speedbar-use-imenu-flag): Remove compat code;
assume imenu.el exists.
2022-05-20 21:03:56 +02:00
Lars Ingebrigtsen
4d7390576b Add a new command 'yank-in-context'
* lisp/simple.el (escaped-string-quote): New variable.
(yank-in-context): New command.
(yank-in-context--transform): Helper function.

* lisp/progmodes/sh-script.el (sh-mode): Set up an
escaped-string-quote function.
* lisp/progmodes/sql.el (sql-mode): Define escaped-string-quote.
2022-05-20 03:24:38 +02:00
Lars Ingebrigtsen
9e338b7456 Make completion in emacs-lisp-mode intern fewer symbols
* lisp/progmodes/elisp-mode.el (elisp-completion-at-point): Don't
intern the string before point just to check whether we're looking
at `ignore-error' (bug#55491).
2022-05-20 02:02:12 +02:00
Eli Zaretskii
6308f0738d Fix Flymake diagnostics reporting in non-UTF-8 locales
* lisp/progmodes/elisp-mode.el (elisp-flymake-byte-compile)
(elisp-flymake--batch-compile-for-flymake): Bind I/O encoding to
UTF-8, instead of relying on the locale's defaults.  This is
needed because ELisp files use UTF-8 by default, but Flymake
doesn't know about that, since it isn't specific to ELisp.
2022-05-19 11:00:36 +03:00
Paul Eggert
ec7567f02c Avoid formatting twice in flymake
* lisp/progmodes/flymake.el (flymake-error): Don't format a
message twice, as that can translate quotes we don't want
translated.
2022-05-18 12:40:01 -07:00
Eli Zaretskii
b1620a44ff ; * lisp/progmodes/flymake.el (flymake-mode): Fix a typo. 2022-05-18 16:53:49 +03:00
Lars Ingebrigtsen
960008aa98 Mention next-error-function in flymake-mode doc string
* lisp/progmodes/flymake.el (flymake-mode): Note that you can set
next-error-function (bug#32322).
2022-05-18 15:33:57 +02:00
Lars Ingebrigtsen
092aea9a27 Allow running several commands in compilation-start
* lisp/progmodes/compile.el (compilation-start): Allow not erasing
the contents of the buffer (bug#28892).
2022-05-17 22:08:17 +02:00
Alan Mackenzie
3ef68c2d7a CC Mode: Correct a rare error in the state cache
* lisp/progmodes/cc-engine.el (c-append-lower-brace-pair-to-state-cache): Do
not record a position in a macro as the starting position in
c-state-brace-pair-desert.  Instead record the position at the beginning of
that macro.
2022-05-17 11:26:05 +00:00
kobarity
c44908c059 Fix Python highlighting of some assignment statements
* lisp/progmodes/python.el (python-rx): Limit not-simple-operator
to a single line (bug#51362).
2022-05-16 15:40:17 +02:00
Lars Ingebrigtsen
ed71839c33 Add new user option compilation-hidden-output
* doc/emacs/building.texi (Compilation Mode): Document it.
* lisp/progmodes/compile.el (compilation-hidden-output): New user
option.
(compilation-filter): Use it.
(compilation--hide-output): New function.
2022-05-16 15:30:50 +02:00
Lars Ingebrigtsen
006fd29ca1 Revert "Make TAB work in makefile mode when transient mark mode is on"
This reverts commit a4c96147d1.

This change made hitting RET after an assignment insert a TAB character
(bug#55446).
2022-05-16 14:24:41 +02:00
Stefan Kangas
09674074b5 ; Fix typos 2022-05-15 11:15:06 +02:00
Stefan Kangas
a0af789d06 Remove some XEmacs compat code for display-graphic-p
* lisp/dframe.el (dframe-have-timer-flag):
* lisp/emacs-lisp/chart.el (chart-face-pixmap-list):
* lisp/speedbar.el (speedbar-easymenu-definition-base): Remove
XEmacs compat code; assume display-graphic-p is fboundp.

* lisp/progmodes/cperl-mode.el (cperl-tags-hier-init): Remove XEmacs
compat code.
2022-05-15 01:10:11 +02:00
Eli Zaretskii
640e52d8fa ; Fix mistakes in 'declare function' forms
* lisp/progmodes/gdb-mi.el (tooltip-show):
* lisp/vc/vc-git.el (grep-expand-template):
* lisp/cedet/semantic/imenu.el (pulse-momentary-highlight-one-line):
* lisp/mail/feedmail.el (smtpmail-via-smtp):
* lisp/mail/rmail.el (rmail-mime-entity-truncated):
* lisp/mail/rmailsum.el (rmail-cease-edit):
* lisp/progmodes/gud.el (speedbar-toggle-line-expansion)
(speedbar-edit-line):
* lisp/autoinsert.el (sgml-tag):
* lisp/comint.el (url-host, url-type, url-filename):
* lisp/progmodes/elisp-mode.el (xref-make, xref-item-location):
* lisp/vc/vc-hooks.el (vc-responsible-backend):
* lisp/cedet/semantic/complete.el (tooltip-show):
* lisp/doc-view.el (tooltip-show):
* lisp/follow.el (mwheel-scroll):
* lisp/term/pgtk-win.el (pgtk-set-resource):
* lisp/progmodes/cperl-mode.el (Info-find-node):
* lisp/lpr.el (print-region-function):
* lisp/w32-fns.el (w32-version, w32-read-registry):
* lisp/emacs-lisp/checkdoc.el (ispell-correct-p, checkdoc-dired):
* lisp/progmodes/xref.el (apropos-parse-pattern):
* lisp/cus-edit.el (apropos-parse-pattern):
* lisp/obsolete/gs.el (x-change-window-property):
* lisp/x-dnd.el (x-change-window-property):
* lisp/xwidget.el (make-xwidget):
* lisp/transient.el (info, Man-find-section, Man-next-section)
(Man-getpage-in-background):
* lisp/frame.el (x-device-class, pgtk-device-class):
* lisp/textmodes/texinfo.el (flymake--log-1):
* lisp/term/x-win.el (x-internal-focus-input-context): Fix
'declare function' errors uncovered by 'check-declare'.
2022-05-14 16:19:12 +03:00
Stefan Kangas
bfdd93aefe Merge from origin/emacs-28
a769cbfcfb Fix lexical-binding fallout in vhdl-mode.el
2022-05-14 06:31:34 +02:00
Stefan Kangas
7df302d285 Remove some XEmacs compat code from pascal.el
* lisp/progmodes/pascal.el (pascal-outline-map): Remove XEmacs compat
code.
2022-05-13 14:35:00 +02:00
Eli Zaretskii
a769cbfcfb Fix lexical-binding fallout in vhdl-mode.el
* lisp/progmodes/vhdl-mode.el (arch-alist, pack-alist)
(file-alist, unit-alist, rule-alist): Defvar them, since vhdl-aput
expects them to be dynamically bound.  (Bug#55389)
(vhdl-speedbar-insert-hierarchy): Rename the PACK-ALIST argument
to PACKAGE-ALIST, to avoid shadowing the global variable.
2022-05-13 15:00:21 +03:00
Eli Zaretskii
454caf858d ; Improve doc string of 'sh-indent-statement-after-and'
* lisp/progmodes/sh-script.el (sh-indent-statement-after-and):
Clarify the doc string.  (Bug#22645)
2022-05-12 19:58:39 +03:00
Lars Ingebrigtsen
7a8bed2553 Add new user option 'sh-indent-statement-after-and'
* lisp/progmodes/sh-script.el (sh-indent-statement-after-and): New
user option (bug#22645).
(sh-smie-sh-rules): Use it.
2022-05-12 18:16:43 +02:00
Lars Ingebrigtsen
e2bb618ea7 Fix cperl-file-style defcustom type
* lisp/progmodes/cperl-mode.el (cperl-file-style): Fix the type.
2022-05-12 04:44:56 +02:00
Lars Ingebrigtsen
9e131744fb Fix previous cperl-file-style change
* lisp/progmodes/cperl-mode.el (cperl--set-file-style): New function.
(cperl-mode): Add it to hack-local-variables-hook to really set
the cperl style.
2022-05-11 16:47:53 +02:00
Lars Ingebrigtsen
cf1e1584d9 Add new user option 'cperl-file-style'
* lisp/progmodes/cperl-mode.el (cperl-file-style): New user option
(bug#17948).
(cperl-mode): Mention it.
(cperl-style-alist): Mention it.
2022-05-11 16:29:01 +02:00
Lars Ingebrigtsen
45ccad3569 Fix fontification of multi-line declarations in f90-mode
* lisp/progmodes/f90.el (f90-font-lock-keywords-2): Fontify
multi-line declarations (bug#17222).
2022-05-11 16:12:35 +02:00
Lars Ingebrigtsen
4e4c62a156 Add grep-files-aliases entry for .am files
* lisp/progmodes/grep.el (grep-files-aliases): Add an alias for
.am files (bug#16921).
2022-05-11 15:13:37 +02:00
Lars Ingebrigtsen
125cda7498 Fix compilation warning in gdb-mi.el
* lisp/progmodes/gdb-mi.el (gud-go): Fix compilation warning
introduced by previous change.
2022-05-11 14:28:32 +02:00
Lars Ingebrigtsen
61046ffbec Bind gud-go and allow the prefix to enter arguments
* lisp/progmodes/gdb-mi.el (gdb): Bind gud-go to `C-c C-v' and
allow a prefix to enter arguments (bug#10106).
2022-05-11 14:26:53 +02:00