1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-04 19:10:37 -08:00
Commit graph

150050 commits

Author SHA1 Message Date
Basil L. Contovounesios
ca6ae0d905 Evaluate recent isearch-motion lambdas
* lisp/isearch.el (beginning-of-buffer, end-of-buffer)
(scroll-up-command, scroll-down-command): Evaluate the lambdas
inside the isearch-motion properties of these commands.
2021-09-15 19:45:10 +01:00
Stefan Kangas
0762c7c67f checkdoc: Don't warn about command substitutions by default
* lisp/emacs-lisp/checkdoc.el (checkdoc-max-keyref-before-warn):
Add new valid value nil meaning to never warn about too many command
substitutions, and use this value as the default.  This is no longer a
performance problem on modern machines.  (Bug#50599)
(checkdoc-this-string-valid-engine): Respect above new valid value
nil.
2021-09-15 20:35:35 +02:00
Juri Linkov
3d1f51382f * lisp/tab-line.el: Add context menu bound to down-mouse-3 like on tab bar.
* lisp/tab-line.el: Bind tab-line down-mouse-3 to tab-line-context-menu.
(tab-line-tab-map): Rebind tab-line-select-tab from mouse-1 to down-mouse-1.
Bind down-mouse-3 to tab-line-tab-context-menu.
(tab-line-add-map): Rebind tab-line-new-tab from mouse-1 to down-mouse-1.
(tab-line-left-map, tab-line-right-map): Rebind mouse-1 to down-mouse-1.
(tab-line-tab-context-menu, tab-line-context-menu): New functions.
(tab-line-hscroll-right, tab-line-hscroll-left)
(tab-line-new-tab, tab-line-select-tab)
(tab-line-switch-to-prev-tab, tab-line-switch-to-next-tab)
(tab-line-close-tab): Rename event args to 'event'.
2021-09-15 19:09:33 +03:00
Juri Linkov
6d65d50f71 * lisp/tab-bar.el (tab-bar-format): Add new option tab-bar-format-menu-global
(tab-bar-format-menu-global): New function.
2021-09-15 19:03:13 +03:00
Juri Linkov
231a29f363 Add docstrings to context menu functions, and add middle-separator
* lisp/mouse.el (context-menu-functions): Add context-menu-middle-separator
to default values.
(context-menu-middle-separator): New function.

* lisp/replace.el (occur-context-menu): Use middle-separator.

* lisp/progmodes/elisp-mode.el (elisp-context-menu):
* lisp/progmodes/prog-mode.el (prog-context-menu):
Use middle-separator and reorder menu items correspondingly.
2021-09-15 19:00:56 +03:00
Philip Kaludercic
7a69fe3bc9
Merge branch 'feature/rcirc-update' 2021-09-15 17:36:19 +02:00
Lars Ingebrigtsen
b2e3669d96 Tweak python-hideshow-forward-sexp-function warning avoidance
* lisp/progmodes/python.el
(python-hideshow-forward-sexp-function): Avoid compilation warning
in a more standard way.  Problem reported in
https://thedailywtf.com/articles/the-programmer-s-motto-and-other-comments
2021-09-15 15:53:53 +02:00
Michael Albinus
fbd0f194c5 Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs 2021-09-15 15:16:27 +02:00
Michael Albinus
4200a527ae Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs 2021-09-15 15:15:53 +02:00
Eli Zaretskii
773c186914 Avoid crashes due to clearing of a frame's face cache
* src/xfaces.c (clear_face_cache): Don't clear fonts and faces of
a frame that is being redisplayed, just because it's time for some
routine maintenance.  (Bug#50571)
* src/xdisp.c (redisplay_internal):
* src/frame.h (struct frame) <inhibit_clear_image_cache>: Update
commentary of using this struct member.
2021-09-15 16:14:30 +03:00
Michael Albinus
37020ca341 * lisp/net/tramp-sh.el (tramp-methods): <sudo>: Change template. (Bug#50594) 2021-09-15 15:14:24 +02:00
Eli Zaretskii
6b631f490a Avoid compiler warnings in comp.c on MS-Windows
* src/comp.c (DEF_DLL_FN, init_gccjit_functions): Don't load and
don't define functions/macros if libgccjit doesn't have them, to
avoid compiler warnings.
2021-09-15 16:09:45 +03:00
Mattias Engdegård
544db1ee86 Faster grep pattern for identifiers
* lisp/cedet/semantic/symref/grep.el (semantic-symref-perform-search):
Use the `-w` flag instead of wrapping the pattern in regexps that make
matching much slower.  This speeds up `xref-find-references` by about
3× on macOS.
2021-09-15 13:54:24 +02:00
Eli Zaretskii
83557511a7 Update Unicode support to Unicode version 14.0.0
* admin/unidata/copyright.html:
* admin/unidata/UnicodeData.txt:
* admin/unidata/Blocks.txt:
* admin/unidata/BidiBrackets.txt:
* admin/unidata/BidiMirroring.txt:
* admin/unidata/IVD_Sequences.txt:
* admin/unidata/NormalizationTest.txt:
* admin/unidata/SpecialCasing.txt:
* test/manual/BidiCharacterTest.txt: Updated files from Unicode
14.0.

* lisp/international/fontset.el (script-representative-chars): Add
new scripts.
(otf-script-alist): Update from latest version.
(setup-default-fontset): Add new scripts.
* lisp/international/characters.el: Update syntax and category
tables for new characters and scripts.
(char-width-table): Update for changes in Unicode 14.0.
* lisp/international/mule-cmds.el (ucs-names): Update used and
unused ranges per Unicode 14.0.

* test/lisp/international/ucs-normalize-tests.el
(ucs-normalize-tests--failing-lines-part1)
(ucs-normalize-tests--failing-lines-part2): Update per the test
results.

* doc/lispref/nonascii.texi (Character Properties): Update Unicode
version number.

* etc/NEWS: Announce support for Unicode 14.0.

* admin/notes/unicode: Minor copyedits.
2021-09-15 14:40:13 +03:00
João Távora
bce1013883 * doc/misc/flymake.texi: Fix @include docstyle.texi 2021-09-15 10:23:40 +01:00
Augusto Stoffel
6cfc312d71 Python shell: rearrange printing of newline before output
* progmodes/python.el (python-shell-output-filter-in-progress)
(python-shell-output-filter-buffer): Move defvars to avoid compiler
warnings.
(python-shell-eval-setup-code): Don't print a newline in
__PYTHON_EL_eval.
(python-shell-send-string): Insert newline before output when
applicable (bug#50514).
2021-09-15 10:02:34 +02:00
Lars Ingebrigtsen
3c2753a3b8 Make bookmark fringe marks evaporate
* lisp/bookmark.el (bookmark--set-fringe-mark): Make the bookmark
evaporate when a buffer is erased (like, for instance, when doing
`revert-buffer' in a vc buffer).
2021-09-15 09:58:45 +02:00
Lars Ingebrigtsen
fbef1ee018 Mention lisp-data-mode' in emacs-lisp-mode' doc string
* lisp/progmodes/elisp-mode.el (emacs-lisp-mode): Mention
`lisp-data-mode'.
2021-09-15 09:58:45 +02:00
Juri Linkov
ba28acf3b8 Adjust occur-context-menu and elisp-context-menu
* lisp/progmodes/elisp-mode.el (elisp-context-menu): Add separator
only when there is a symbol at mouse click.

* lisp/replace.el (occur-context-menu): Insert items in the middle
of the menu after mark-whole-buffer.
2021-09-15 10:20:42 +03:00
Philip Kaludercic
3eb80b7847 Add occur-related context-menu operations (bug#50552)
* replace.el (occur-word-at-mouse): Add new command.
(occur-symbol-at-mouse): Add new command.
(occur-context-menu): Add new function.
2021-09-15 10:13:53 +03:00
Juri Linkov
67ab890cde * lisp/window.el (display-buffer-in-previous-window): Add symbolp (bug#50576) 2021-09-15 09:47:58 +03:00
Juri Linkov
b172049717 * lisp/tab-bar.el (tab-bar-close-other-tabs): Add arg ‘tab-number’.
(tab-bar-mouse-context-menu): Bind menu-item "Close other tabs" to
tab-bar-close-other-tabs with arg ‘tab-number’.
2021-09-15 09:30:11 +03:00
Juri Linkov
cc52f6d995 * lisp/tab-bar.el: Rename args to consistent naming convention.
Use the same naming scheme for function arguments.  Use the term "index" when
arguments count from 0, and the term "number" when arguments count from 1.

* lisp/tab-bar.el (tab-bar-select-tab): Rename ‘arg’ to ‘tab-number’.
(tab-bar-move-tab-to): Rename ‘from-index’ to ‘from-number’
and ‘to-index’ to ‘to-number’.
(tab-bar-move-tab-to-frame): Rename ‘from-index’ to ‘from-number’
and ‘to-index’ to ‘to-number’.
(tab-bar-new-tab-to): Rename ‘to-index’ to ‘tab-number’.
(tab-bar-close-tab): Rename ‘arg’ to ‘tab-number’
and ‘to-index’ to ‘to-number’.
(tab-bar-rename-tab): Rename ‘arg’ to ‘tab-number’.
(tab-bar-change-tab-group): Rename ‘arg’ to ‘tab-number’.
2021-09-15 09:27:57 +03:00
Stephen Gildea
b189b6f256 * lisp/mh-e/mh-e.el: Simplify file commentary for a native package. 2021-09-14 20:27:09 -07:00
Dmitry Gutov
c83f5e77db ; Add a note 2021-09-15 05:51:24 +03:00
Dmitry Gutov
1f54c7aeed Localize namespace-filtering code
To be able to filter results coming from
elisp-xref-find-def-functions, and for general ease of
understanding.

* lisp/progmodes/elisp-mode.el (elisp--xref-find-definitions):
Undo the previous change.
(xref-backend-apropos): Update accordingly.
(elisp--xref-filter-definitions): New function.
(xref-backend-definitions): Use it to post-filter the results
coming from elisp--xref-find-definitions.

* test/lisp/progmodes/elisp-mode-tests.el (find-defs-minor-defvar-c):
New test.
(find-defs-defun-defvar-el): Update test.
2021-09-15 05:33:06 +03:00
Wilson Snyder
e4fdf87e71 verilog-mode.el: Update verilog-mode from upstream.
* lisp/progmodes/verilog-mode.el: (verilog-basic-complete-re)
(verilog-behavioral-block-beg-re, verilog-defun-keywords)
(verilog-defun-level-generate-only-re, verilog-defun-level-re)
(verilog-endcomment-reason-re, verilog-indent-re) (verilog-keywords,
verilog-no-indent-begin-re) (verilog-set-auto-endcomments): Support
Verilog-A `analog` blocks (#1738).  Reported by Dan McMahill.
(verilog-read-defines): Fix verilog-read-defines to work
with SystemVerilog types (#1734).  Reported by Shareef Jalloq.
(verilog-indent-declaration,
verilog-pretty-declarations): Fix leaving extra spaces before tabs on
lining up declarations. (#1723) Reported by TAKAI Kousuke.
(verilog-auto-inst, verilog-auto-inst-port)
(verilog-read-auto-template-middle, verilog-read-sub-decls-line):
Support AUTONOHOOKUP to not AUTOWIRE hookup AUTO_TEMPLATE signals. (#1526)
Reported by firefoxtc.
2021-09-14 21:21:33 -04:00
Glenn Morris
42b49e9f39 * test/Makefile.in (XDG_CONFIG_HOME): Don't export (bug#50577). 2021-09-14 16:27:42 -07:00
Glenn Morris
4c492c8c5f * doc/misc/flymake.texi: Avoid xrefs in @copying.
This isn't really what @copying is for, and doesn't work with
makeinfo 4.13.
2021-09-14 14:27:41 -07:00
Philip Kaludercic
5ebad79e62
Fix interactive forms for rcirc-define-command
* rcirc.el (rcirc-define-command): Handle string descriptors correctly
2021-09-14 22:10:14 +02:00
Philip Kaludercic
3405c85ae4
Unset mode-line-process for all buffers on reconnecting
* rcirc.el (rcirc-sentinel): Add loop over all managed buffers
2021-09-14 20:41:32 +02:00
Philip Kaludercic
1e1378699c
Restore rcirc-target if possible
* rcirc.el (rcirc-process-message): Extract target from buffer name
2021-09-14 20:32:46 +02:00
João Távora
55dda2571a Unbreak make bootstrap (don't use cl-defun's &aux parameters)
* lisp/progmodes/flymake.el (flymake--handle-report): Don't use &aux.
2021-09-14 19:30:47 +01:00
Philip Kaludercic
1c3bad8c2e
Display server buffer after connecting
* rcirc.el (rcirc-display-server-buffer): Add new option
(rcirc): Respect rcirc-display-server-buffer
2021-09-14 19:07:18 +02:00
Philip Kaludercic
8eb9eb0c41
Allow for multiple attempts when reconnecting
* doc/misc/rcirc.texi (rcirc commands): Mention rcirc-reconnect-attempts
* etc/NEWS: Document change
(rcirc-connect): Ensure no other process exists
(rcirc-reconnect-attempts): Add option
(rcirc-failed-attempts): Add local variable
(rcirc-reconnection-timer): Add local variable
(rcirc-reconnect): Add function
(rcirc-sentinel): Manage multiple reconnection attempts
(rcirc-process-server-response): Change user for error messages
(rcirc-mode): Don't set rcirc-last-connect-time
(reconnect): Extract functionality to rcirc-reconnect
2021-09-14 19:05:12 +02:00
Philip Kaludercic
ec50a368d5
* rcirc.texi (Hacking and Tweaking): Add missing section to menu 2021-09-14 18:14:57 +02:00
Philip Kaludercic
767fa9761f
* rcirc.el (rcirc-server-alist): Add #emacs to default server list
Author:
2021-09-14 18:14:57 +02:00
Harald Jörg
3d49ad73e5 cperl-mode.el: Allow non-ASCII Perl identifiers
Replace all "A-Z" regexp literals with unicode-aware rx constructs
wherever Perl allows non-ASCII identifiers.
* lisp/progmodes/cperl-mode.el (cperl-after-sub-regexp)
(cperl-after-label. cperl-sniff-for-indent)
(cperl-find-pods-heres, cperl-indent-exp)
(cperl-fix-line-spacing, cperl-imenu--create-perl-index)
(cperl-init-faces, cperl-find-tags):
Replace ASCII regex literals by unicode-aware rx constructs.
(cperl-init-faces): Eliminate unused lexical `font-lock-anchored'.
(cperl-have-help-regexp, cperl-word-at-point-hard): Allow non-ASCII
word characters.

* test/lisp/progmodes/cperl-mode-tests.el
(cperl-test-fontify-special-variables): New test for $^T
and $^{VARNAME}.
(cperl-test-ws-rx cperl-test-ws+-rx),
(cperl-test-version-regexp, cperl-test-package-regexp): Skip
for perl-mode.
(cperl-test-identifier-rx, cperl--test-unicode-setup)
(cperl-test-unicode-labels, cperl-test-unicode-sub)
(cperl-test-unicode-varname)
(cperl-test-unicode-varname-list, cperl-test-unicode-arrays)
(cperl-test-unicode-hashes, cperl-test-unicode-hashref)
(cperl-test-unicode-proto, cperl-test-unicode-fhs)
(cperl-test-unicode-hashkeys, cperl-test-word-at-point):
New tests for unicode identifiers.
 (cperl-test-imenu-index): Add a unicode identifier to the test.

* test/lisp/progmodes/cperl-mode-resources/grammar.pl: Add a
function with non-ASCII name for imenu tests.
2021-09-14 17:53:52 +02:00
Glenn Morris
89068554d7 * lisp/emacs-lisp/checkdoc.el (checkdoc-symbol-words): Fix type. 2021-09-14 08:05:29 -07:00
Alan Third
483df14d5c A further fix for toolbar visibility problems on macOS (bug#50534)
* src/nsterm.m (ns_update_begin): Ensure the toolbar's visibility is
set correctly.
2021-09-14 15:38:55 +01:00
Eli Zaretskii
0934363c96 Fix recent changes in Flymake manual
* doc/misc/flymake.texi: Fix typos.  Downcase the first word of
each index entry, for more reliable sorting.
(Starting Flymake, Finding diagnostics, Troubleshooting): Fix
typos.
2021-09-14 16:47:40 +03:00
Lars Ingebrigtsen
159dbd5eb2 Make `find-function-source-path' into obsolete alias
* lisp/finder.el (finder-commentary): Adjust usage.

* lisp/emacs-lisp/find-func.el (find-function-source-path): Made
into obsolete alias (bug#50508).
(find-library-source-path): New name.
(find-library-name, find-library, find-function-noselect)
(find-variable-noselect, find-definition-noselect): Adjust usage
and update doc strings.
2021-09-14 13:44:20 +02:00
João Távora
56254fb98c Re-organize and rewrite parts of the Flymake manual
bug#50244

* doc/misc/flymake.texi (Starting Flymake): New section.
(Finding diagnostics): New section, now contains info previously in
"Listing diagnostics"
(Mode line status): Renamed from "Mode-line syntax check status"
(Troubleshooting): Renamed from "Backend exceptions".
(Flymake error types): Tweak phrasing.
2021-09-14 12:26:31 +01:00
João Távora
4633e02726 Add support for project-wide diagnostics in Flymake (bug#50244)
This is done with two new concepts: "foreign diagnostics" and
"list-only diagnostics".  The manual has been updated with a
description of these new concepts.

* doc/misc/flymake.texi (Flymake utility functions):
Explain creation of foreign diagnostics.
(Foreign and list-only diagnostics): New subsection.
(Listing diagnostics): New subsection.

* lisp/progmodes/flymake.el
(Version): Bump to 1.2.1
(project): Require project.
(flymake--diag): Add new slots 'orig-beg' and 'orig-end'.  Rename
'buffer' slot to 'locus'.
(flymake-make-diagnostic): Rework docstring.  Accept stringp
LOCUS arg.
(flymake-diagnostic-beg, flymake-diagnostic-end)
(flymake-diagnostic-buffer):  Simplify definition.
(flymake--equal-diagnostic-p): New helper
(flymake--highlight-line): Rework.  Accept FOREIGN arg.
(flymake--state): Work docstring. Add new slot 'foreign-diags'
(flymake--handle-report): Call
flymake--update-diagnostics-listings.
(flymake--handle-report): New helper.
(flymake--mode): Forward declare.
(flymake--handle-report): Rework for foreign diagnostics.
(flymake-mode): When turning on, notice any Flymake diagnostics
for current buffer.  When turning off update diagnostics listings.
(flymake-kill-buffer-hook): Turn off flymake explicitly before
killing.
(flymake--mode-line-counter): Use flymake-diagnostics to collect
diagnostics.
(flymake-show-diagnostic): Visit buffer of file-specific
diagnostic.
(flymake--tabulated-entries-1): New helper extracted from
flymake--diagnostic-buffer-entries.
(flymake--diagnostics-buffer-entries): Rework.
(flymake--diagnostics-base-tabulated-list-format): New helper.
(flymake--diagnostics-buffer-name): Adjust.
(flymake-list-only-diagnostics): New variable.
(flymake--project-diagnostic-list-project): New variable.
(flymake--clear-list-only-diagnostics): New helper.
(flymake-project-diagnostics-mode): New major mode.
(flymake--project-diagnostics)
(flymake--project-diagnostics-entries)
(flymake--project-diagnostics-buffer): New helpers.
(flymake-show-project-diagnostics): New command.
(flymake--update-diagnostics-listings): New helper.
(flymake-show-buffer-diagnostics): Renamed from flymake-diagnostics-buffer.

* etc/NEWS: Mention change.
2021-09-14 12:26:25 +01:00
João Távora
79eb840753 Bump lisp/progmodes/project.el version to 0.7.1
Amont other things exposes the new project-buffers generic function to
ELPA users.

* lisp/progmodes/project.el (Version): Bump to 0.7.1
2021-09-14 12:22:15 +01:00
João Távora
aec08e609e Keep and report "foreign" diangnostics in flymake-cc Flymake backend
This includes diagnostics for .h files that sprang up when checking a
c file.  Those diagnostics are reported to the Flymake infrastructure
which does not (yet) do anything with them.

This includes a change to the test fixtures, too.

* lisp/progmodes/flymake-cc.el (flymake-cc--make-diagnostics): Rework

* test/lisp/progmodes/flymake-resources/another-problematic-file.c:
  New file.

* test/lisp/progmodes/flymake-resources/some-problems.h:
  Add a function declaration..
2021-09-14 12:22:15 +01:00
João Távora
7d9d3951c6 Abbreviate Flymake backend name in flymake-show-diagnostics-buffer
* lisp/progmodes/flymake.el (flymake--diagnostics-buffer-entries):
(flymake-diagnostics-buffer-mode): Report abbreviated backend, too.
2021-09-14 12:22:15 +01:00
João Távora
e793a73fbe Unbreak M-x compile-defun of functions using flymake-log
* lisp/progmodes/flymake.el (flymake-log): Check if compilation unit
  is indeed a string before treating it as a file name.
2021-09-14 12:22:15 +01:00
João Távora
4040232994 Refactor some Flymake functions
* lisp/progmodes/flymake.el (flymake-diagnostic-buffer): New
helper.
(flymake-diagnostic-beg, flymake-diagnostic-end): Tweak docstring.
(flymake--handle-report): Simplify.
(flymake--publish-diagnostics): Helper for flymake--handle-report.
(flymake--mode-line-counter, flymake-show-diagnostic)
(flymake--diagnostics-buffer-entries): Use
flymake-diagnostic-buffer, flymake-diagonstic-type,
flymake-diagnostic-beg.
2021-09-14 12:22:14 +01:00
João Távora
6e10086901 Rename flymake--backend-state to flymake--state
The previous name was confusing and akward and dreadful to type and
read.

* lisp/progmodes/flymake.el (flymake--state): Rename from
flymake--backend-state.
(flymake--with-backend-state): Use flymake--state.
(flymake--handle-report): Use flymake--state.
(flymake--collect): Use flymake--state.
(flymake-running-backends): Use flymake--state.
(flymake--disable-backend): Use flymake--state.
(flymake--run-backend): Use flymake--state.
(flymake-start): Use flymake--state.
(flymake-mode): Use flymake--state.
(flymake--mode-line-title): Use flymake--state.
(flymake--mode-line-exception): Use flymake--state.
(flymake--mode-line-counter): Use flymake--state.
2021-09-14 12:22:14 +01:00