Juri Linkov [Wed, 15 Sep 2021 16:00:56 +0000 (19:00 +0300)]
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.
Philip Kaludercic [Wed, 15 Sep 2021 15:36:19 +0000 (17:36 +0200)]
Merge branch 'feature/rcirc-update'
Lars Ingebrigtsen [Wed, 15 Sep 2021 13:53:53 +0000 (15:53 +0200)]
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
Michael Albinus [Wed, 15 Sep 2021 13:16:27 +0000 (15:16 +0200)]
Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs
Michael Albinus [Wed, 15 Sep 2021 13:15:53 +0000 (15:15 +0200)]
Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs
Eli Zaretskii [Wed, 15 Sep 2021 13:14:30 +0000 (16:14 +0300)]
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.
Michael Albinus [Wed, 15 Sep 2021 13:14:24 +0000 (15:14 +0200)]
* lisp/net/tramp-sh.el (tramp-methods): <sudo>: Change template. (Bug#50594)
Eli Zaretskii [Wed, 15 Sep 2021 13:09:45 +0000 (16:09 +0300)]
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.
Mattias Engdegård [Wed, 15 Sep 2021 11:47:15 +0000 (13:47 +0200)]
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.
Eli Zaretskii [Wed, 15 Sep 2021 11:40:13 +0000 (14:40 +0300)]
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.
João Távora [Wed, 15 Sep 2021 09:22:26 +0000 (10:22 +0100)]
* doc/misc/flymake.texi: Fix @include docstyle.texi
Augusto Stoffel [Wed, 15 Sep 2021 08:02:34 +0000 (10:02 +0200)]
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).
Lars Ingebrigtsen [Wed, 15 Sep 2021 07:58:41 +0000 (09:58 +0200)]
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).
Lars Ingebrigtsen [Tue, 14 Sep 2021 12:58:37 +0000 (14:58 +0200)]
Mention `lisp-data-mode' in `emacs-lisp-mode' doc string
* lisp/progmodes/elisp-mode.el (emacs-lisp-mode): Mention
`lisp-data-mode'.
Juri Linkov [Wed, 15 Sep 2021 07:20:42 +0000 (10:20 +0300)]
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.
Philip Kaludercic [Wed, 15 Sep 2021 07:13:53 +0000 (10:13 +0300)]
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.
Juri Linkov [Wed, 15 Sep 2021 06:47:58 +0000 (09:47 +0300)]
* lisp/window.el (display-buffer-in-previous-window): Add symbolp (bug#50576)
Juri Linkov [Wed, 15 Sep 2021 06:30:11 +0000 (09:30 +0300)]
* 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’.
Juri Linkov [Wed, 15 Sep 2021 06:27:57 +0000 (09:27 +0300)]
* 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’.
Stephen Gildea [Wed, 15 Sep 2021 03:26:42 +0000 (20:26 -0700)]
* lisp/mh-e/mh-e.el: Simplify file commentary for a native package.
Dmitry Gutov [Wed, 15 Sep 2021 02:51:24 +0000 (05:51 +0300)]
; Add a note
Dmitry Gutov [Wed, 15 Sep 2021 02:33:06 +0000 (05:33 +0300)]
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.
Wilson Snyder [Wed, 15 Sep 2021 01:21:03 +0000 (21:21 -0400)]
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.
Glenn Morris [Tue, 14 Sep 2021 23:27:42 +0000 (16:27 -0700)]
* test/Makefile.in (XDG_CONFIG_HOME): Don't export (bug#50577).
Glenn Morris [Tue, 14 Sep 2021 21:27:41 +0000 (14:27 -0700)]
* doc/misc/flymake.texi: Avoid xrefs in @copying.
This isn't really what @copying is for, and doesn't work with
makeinfo 4.13.
Philip Kaludercic [Tue, 14 Sep 2021 20:10:14 +0000 (22:10 +0200)]
Fix interactive forms for rcirc-define-command
* rcirc.el (rcirc-define-command): Handle string descriptors correctly
Philip Kaludercic [Tue, 14 Sep 2021 18:41:27 +0000 (20:41 +0200)]
Unset mode-line-process for all buffers on reconnecting
* rcirc.el (rcirc-sentinel): Add loop over all managed buffers
Philip Kaludercic [Tue, 14 Sep 2021 18:32:46 +0000 (20:32 +0200)]
Restore rcirc-target if possible
* rcirc.el (rcirc-process-message): Extract target from buffer name
João Távora [Tue, 14 Sep 2021 18:22:28 +0000 (19:22 +0100)]
Unbreak make bootstrap (don't use cl-defun's &aux parameters)
* lisp/progmodes/flymake.el (flymake--handle-report): Don't use &aux.
Philip Kaludercic [Tue, 14 Sep 2021 17:07:18 +0000 (19:07 +0200)]
Display server buffer after connecting
* rcirc.el (rcirc-display-server-buffer): Add new option
(rcirc): Respect rcirc-display-server-buffer
Philip Kaludercic [Tue, 14 Sep 2021 17:05:12 +0000 (19:05 +0200)]
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
Philip Kaludercic [Mon, 13 Sep 2021 17:08:28 +0000 (19:08 +0200)]
* rcirc.texi (Hacking and Tweaking): Add missing section to menu
Philip Kaludercic [Mon, 13 Sep 2021 15:23:23 +0000 (17:23 +0200)]
* rcirc.el (rcirc-server-alist): Add #emacs to default server list
Author:
Harald Jörg [Tue, 14 Sep 2021 15:53:52 +0000 (17:53 +0200)]
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.
Glenn Morris [Tue, 14 Sep 2021 15:05:29 +0000 (08:05 -0700)]
* lisp/emacs-lisp/checkdoc.el (checkdoc-symbol-words): Fix type.
Alan Third [Tue, 14 Sep 2021 12:03:37 +0000 (13:03 +0100)]
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.
Eli Zaretskii [Tue, 14 Sep 2021 13:47:40 +0000 (16:47 +0300)]
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.
Lars Ingebrigtsen [Tue, 14 Sep 2021 11:44:15 +0000 (13:44 +0200)]
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.
João Távora [Sun, 12 Sep 2021 21:16:35 +0000 (22:16 +0100)]
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.
João Távora [Wed, 1 Sep 2021 22:45:53 +0000 (23:45 +0100)]
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.
João Távora [Mon, 13 Sep 2021 16:43:43 +0000 (17:43 +0100)]
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
João Távora [Mon, 30 Aug 2021 15:24:25 +0000 (16:24 +0100)]
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..
João Távora [Fri, 3 Sep 2021 18:03:51 +0000 (19:03 +0100)]
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.
João Távora [Tue, 31 Aug 2021 17:32:58 +0000 (18:32 +0100)]
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.
João Távora [Tue, 31 Aug 2021 17:43:12 +0000 (18:43 +0100)]
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.
João Távora [Sun, 29 Aug 2021 21:35:46 +0000 (22:35 +0100)]
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.
Lars Ingebrigtsen [Tue, 14 Sep 2021 11:21:47 +0000 (13:21 +0200)]
Project File Commands manual clarification
* doc/emacs/maintaining.texi (Project File Commands): Clarify what
happens with the file name under point.
Alan Third [Mon, 13 Sep 2021 19:09:22 +0000 (20:09 +0100)]
Fix incorrectly appearing toolbar on NS (bug#50534)
* src/nsmenu.m (update_frame_tool_bar): Ensure both sides of the test
are booleans.
* src/nsterm.m ([EmacsWindow createToolbar:]): Make the toolbar
non-visible initially, in case things get out of sync. Remove call to
update_frame_tool_bar: the window isn't yet associated with the view,
so it will return immediately.
Alan Third [Thu, 9 Sep 2021 21:33:01 +0000 (22:33 +0100)]
Fix libgccjit detection on macOS
* configure.ac: Combine the Homebrew and MacPorts detection so they
will not create nonsense flags if both are installed.
Juri Linkov [Tue, 14 Sep 2021 06:42:11 +0000 (09:42 +0300)]
* lisp/tab-bar.el: Close tab only on mouse-1, not down-mouse-1 (bug#41343)
* lisp/tab-bar.el (tab-bar-mouse-select-tab): Don't close the tab
when clicked on the close button.
(tab-bar-mouse-close-tab-from-button): New function.
(tab-bar-map): Bind [mouse-1] to 'tab-bar-mouse-close-tab-from-button'.
(tab-bar-mouse-move-tab): Do nothing on non-tab events.
Stefan Kangas [Tue, 14 Sep 2021 06:15:15 +0000 (08:15 +0200)]
; * lisp/emacs-lisp/checkdoc.el: Fix typo in previous commit.
Stefan Kangas [Tue, 14 Sep 2021 05:55:56 +0000 (07:55 +0200)]
; More minor docfixes found by checkdoc
Stefan Kangas [Mon, 13 Sep 2021 19:57:13 +0000 (21:57 +0200)]
Add user option to avoid checkdoc warning for unescaped left paren
* lisp/emacs-lisp/checkdoc.el
(checkdoc-column-zero-backslash-before-paren): New user option to
avoid warning on unescaped left parenthesis in column zero.
(checkdoc-this-string-valid-engine): Respect above new option.
Stefan Kangas [Mon, 13 Sep 2021 05:17:50 +0000 (07:17 +0200)]
Minor improvements to checkdoc
* lisp/emacs-lisp/checkdoc.el (checkdoc-symbol-words): Add ignored
values.
(checkdoc-proper-noun-list): Remove XEmacs from list of words to
capitalize; there is little need to insist on consistency here.
(checkdoc-in-abbreviation-p): Add abbreviation "etc." and sort entries
alphabetically.
Dmitry Gutov [Mon, 13 Sep 2021 21:56:20 +0000 (00:56 +0300)]
Use the term "future history" rather than "default"
* lisp/progmodes/project.el
(project-find-file, project-or-external-find-file):
Update docstring.
(project--read-file-cpd-relative, project--read-file-absolute)
(project--completing-read-strict): Rename DEFAULT to MB-DEFAULT.
(project-find-file-in): Rename FILENAME to SUGGESTED-FILENAME.
Dmitry Gutov [Mon, 13 Sep 2021 21:53:05 +0000 (00:53 +0300)]
Make sure to return some valid project root
* lisp/progmodes/project.el (project-prompt-project-dir):
If the user just pressed RET on prompt, prompt again.
Juri Linkov [Mon, 13 Sep 2021 18:41:24 +0000 (21:41 +0300)]
* lisp/progmodes/elisp-mode.el (elisp-context-menu): New function (bug#9054)
(emacs-lisp-mode): Add elisp-context-menu to context-menu-functions.
Juri Linkov [Mon, 13 Sep 2021 18:18:30 +0000 (21:18 +0300)]
* lisp/isearch.el: Improve 'isearch-allow-motion' feature (bug#50466)
* lisp/isearch.el: Add recenter to 'isearch-motion' property of
'end-of-buffer' to maximize the number of search hits on the screen.
In 'isearch-motion' property of 'scroll-up-command' use 'recenter 0'
for the first line of the screen.
(isearch-beginning-of-buffer)
(isearch-end-of-buffer): Sync logic from 'isearch-allow-motion' part
of isearch-pre-command-hook. Direct users to isearch-allow-motion
in the docstrings.
(isearch-pre-command-hook): Don't override shifted 'isearch-yank-on-move'
in 'isearch-allow-motion'.
Mattias Engdegård [Mon, 13 Sep 2021 16:38:59 +0000 (18:38 +0200)]
Remove duplication of `find` file pattern arguments
* lisp/cedet/semantic/symref/grep.el
(semantic-symref-derive-find-filepatterns): Avoid including the same
pattern twice.
Andrea Corallo [Mon, 13 Sep 2021 14:43:33 +0000 (16:43 +0200)]
* Clean-up some unnecessary macro usage in comp.c
* src/comp.c (emit_static_object)
(Fcomp_native_driver_options_effective_p, add_driver_options)
(Fcomp__compile_ctxt_to_file, Fcomp_libgccjit_version): Clean-up
unenecessary 'defined (WINDOWSNT)' usage.
Lars Ingebrigtsen [Mon, 13 Sep 2021 14:18:30 +0000 (16:18 +0200)]
Continue NEWS tag checking
Lars Ingebrigtsen [Mon, 13 Sep 2021 13:32:20 +0000 (15:32 +0200)]
Fix typo in previous files.el change
Lars Ingebrigtsen [Mon, 13 Sep 2021 13:17:02 +0000 (15:17 +0200)]
Mention unibyte issues in insert-file-contents-literally doc string
* lisp/files.el (insert-file-contents-literally): Mention possible
issues with multibyte buffers (bug#50560).
Stefan Monnier [Mon, 13 Sep 2021 13:14:05 +0000 (09:14 -0400)]
* doc/lispref/variables.texi (named-let): Document TCO
Dmitry Gutov [Mon, 13 Sep 2021 12:47:45 +0000 (15:47 +0300)]
Fix the tests
* test/lisp/progmodes/xref-tests.el
(xref--xref-file-name-display-is-abs)
(xref--xref-file-name-display-is-nondirectory)
(xref--xref-file-name-display-is-relative-to-project-root):
Update for the latest change in xref.el.
Lars Ingebrigtsen [Mon, 13 Sep 2021 11:35:53 +0000 (13:35 +0200)]
Use a fringe mark in bookmark instead of a whole background line
* lisp/bookmark.el (bookmark-face): Adjust colors.
(bookmark-fringe-mark): New bitmap.
(bookmark--fontify): Use a fringe instead of marking the whole line.
(bookmark--unfontify): Adjust to remove.
(bookmark--jump-via): Ditto.
(bookmark-set-fringe-mark): Renamed from bookmark-fontify.
(bookmark--set-fringe-mark, bookmark--remove-fringe-mark): Renamed
from --*fontify. Callers adjusted.
Lars Ingebrigtsen [Mon, 13 Sep 2021 11:02:16 +0000 (13:02 +0200)]
NEWS copy edits and tagging
Lars Ingebrigtsen [Mon, 13 Sep 2021 10:56:15 +0000 (12:56 +0200)]
Correct nroff-mode NEWS entry after `M-o' changes
Lars Ingebrigtsen [Mon, 13 Sep 2021 10:41:34 +0000 (12:41 +0200)]
Mention how to disable auto-fill-mode in the auto-fill section
* doc/lispref/text.texi (Margins): Mention how to disable
auto-fill-mode.
Lars Ingebrigtsen [Mon, 13 Sep 2021 10:35:50 +0000 (12:35 +0200)]
Document backtrace-on-error-noninteractive in the --batch section
* doc/emacs/cmdargs.texi (Initial Options): Mention
backtrace-on-error-noninteractive.
Lars Ingebrigtsen [Mon, 13 Sep 2021 10:32:10 +0000 (12:32 +0200)]
Further NEWS tagging updates
Lars Ingebrigtsen [Mon, 13 Sep 2021 10:20:57 +0000 (12:20 +0200)]
completions-annotations doc string clarification
* lisp/minibuffer.el (completions-annotations): Mention that it's
not always used.
Lars Ingebrigtsen [Mon, 13 Sep 2021 10:13:01 +0000 (12:13 +0200)]
Update some more NEWS tagging
Lars Ingebrigtsen [Mon, 13 Sep 2021 10:08:58 +0000 (12:08 +0200)]
Mention `benchmark-call' in the manual
* doc/lispref/debugging.texi (Profiling): Mention `benchmark-call'.
Lars Ingebrigtsen [Mon, 13 Sep 2021 09:59:56 +0000 (11:59 +0200)]
Update some pcase NEWS tags for already-documented functions
Lars Ingebrigtsen [Mon, 13 Sep 2021 09:58:56 +0000 (11:58 +0200)]
Update NEWS tagging for string helper functions
Lars Ingebrigtsen [Mon, 13 Sep 2021 09:53:18 +0000 (11:53 +0200)]
Document named-let and update some NEWS tags
* doc/lispref/variables.texi (Local Variables): Document `named-let'.
Lars Ingebrigtsen [Mon, 13 Sep 2021 08:40:56 +0000 (10:40 +0200)]
Clarify bookmark-fontify NEWS entry
Lars Ingebrigtsen [Mon, 13 Sep 2021 08:35:17 +0000 (10:35 +0200)]
package-menu-execute doc string clarification
* lisp/emacs-lisp/package.el (package-menu-execute): Say what
happens to upgrade-marked packages (bug#50551).
Lars Ingebrigtsen [Mon, 13 Sep 2021 08:29:08 +0000 (10:29 +0200)]
* etc/NEWS: Clarify insert-into-buffer (bug#50558).
Juri Linkov [Mon, 13 Sep 2021 08:14:32 +0000 (11:14 +0300)]
Support mouse events clicked on the tab bar but outside of any tab (bug#41343)
* lisp/tab-bar.el (tab-bar--key-to-number): Return non-nil non-numeric t
when no tab is used. Return nil for current-tab.
(tab-bar-mouse-select-tab, tab-bar-mouse-close-tab): Do nothing
when tab-bar--key-to-number returns non-nil non-numeric t
for click events outside of any tab.
(tab-bar-mouse-context-menu): Add context menu when mouse is clicked
outside of tabs. Add "Duplicate" alongside with "Close" to the menu
used when mouse is clicked on a tab.
(toggle-tab-bar-mode-from-frame, toggle-frame-tab-bar): Move code
closer to 'tab-bar-show'.
* src/xdisp.c (handle_tab_bar_click): Return Qtab_bar with empty list
when mouse is clicked on the tab bar but outside of any tab.
Lars Ingebrigtsen [Mon, 13 Sep 2021 08:03:24 +0000 (10:03 +0200)]
Only do multi-isearch in eww if there's next/prev links
* lisp/net/eww.el (eww-handle-link): Only do multi-isearch if
there's a next/prev link in the HTML (bug#50497).
(eww-setup-buffer): Clear the function.
(eww-mode): Don't set it here.
Juri Linkov [Mon, 13 Sep 2021 07:58:44 +0000 (10:58 +0300)]
Change value of DEFAULT_TAB_BAR_BUTTON_MARGIN from 4 to 1 (bug#50424)
Juri Linkov [Mon, 13 Sep 2021 07:56:51 +0000 (10:56 +0300)]
* doc/emacs/frames.texi (Tab Bars): Improve documentation.
Lars Ingebrigtsen [Mon, 13 Sep 2021 07:39:45 +0000 (09:39 +0200)]
Fix detection of char regions in print-fontset-element
* lisp/international/mule-diag.el (print-fontset-element): Fix the
regexp for "foo .. bar " (bug#50519).
Lars Ingebrigtsen [Mon, 13 Sep 2021 07:24:46 +0000 (09:24 +0200)]
Add some search-whitespace-regexp examples
* lisp/isearch.el (search-whitespace-regexp): Add some
alternatives in the defcustom.
Lars Ingebrigtsen [Mon, 13 Sep 2021 07:20:21 +0000 (09:20 +0200)]
Mention get-byte in shortdoc
* lisp/emacs-lisp/shortdoc.el (buffer): Mention `get-byte' here.
Tassilo Horn [Mon, 13 Sep 2021 05:22:50 +0000 (07:22 +0200)]
bug-reference.el: Adapt default debbugs bug regexp for IRC modes
* lisp/progmodes/bug-reference.el (bug-reference-setup-from-irc-alist):
Adapt regexp so that group 1 defines overlay region.
Tassilo Horn [Mon, 13 Sep 2021 05:11:05 +0000 (07:11 +0200)]
bug-reference.el: Adapt default debbugs bug regexp for mail modes
* lisp/progmodes/bug-reference.el (bug-reference-setup-from-mail-alist):
Adapt regexp so that group 1 defines overlay region.
Stefan Kangas [Mon, 13 Sep 2021 04:29:54 +0000 (06:29 +0200)]
Declare unused function cperl-inside-parens-p obsolete
* lisp/progmodes/cperl-mode.el (cperl-inside-parens-p): Declare
unused function obsolete.
Stefan Kangas [Mon, 13 Sep 2021 04:04:32 +0000 (06:04 +0200)]
; Minor doc fixes found by checkdoc
Stefan Kangas [Mon, 13 Sep 2021 04:03:44 +0000 (06:03 +0200)]
Improve checkdoc abbreviation handling
* lisp/emacs-lisp/checkdoc.el
(checkdoc-in-abbreviation-p): New helper function.
(checkdoc-sentencespace-region-engine): Fix handling abbreviations
after escaped parenthesis.
* test/lisp/emacs-lisp/checkdoc-tests.el
(checkdoc-tests-in-abbrevation-p)
(checkdoc-tests-in-abbrevation-p/with-parens)
(checkdoc-tests-in-abbrevation-p/with-escaped-parens): New tests.
Stefan Kangas [Mon, 13 Sep 2021 02:41:15 +0000 (04:41 +0200)]
Remove some remaining references to XEmacs
* lisp/allout.el (allout-overlay-preparations):
* lisp/cedet/semantic/decorate/include.el
(semantic-decoration-unknown-include-menu)
(semantic-decoration-fileless-include-menu):
* lisp/cedet/semantic/idle.el (semantic-idle-scheduler-setup-timers):
* lisp/vc/ediff-init.el:
* lisp/vc/ediff-util.el (ediff-mode): Remove some remaining references
to XEmacs.
Dmitry Gutov [Sun, 12 Sep 2021 22:33:31 +0000 (01:33 +0300)]
Extend xref-file-name-display to elisp and etags definitions
And all other types of locations (with a looks-like-file-name check).
* lisp/progmodes/xref.el (xref--group-name-for-display): Extract
from xref-buffer-location's implementation of xref-location-group.
(xref-file-location): Define trivial reader for the 'file' slot.
(xref-location-group): Update docstring.
(xref--analyze): Use the new function here, to be able to format
group names coming from any location type.
Amin Bandali [Sun, 12 Sep 2021 18:12:50 +0000 (14:12 -0400)]
ERC: Use 'string-replace' only on Emacs 28 and later
* lisp/erc/erc-dcc.el (erc-dcc-unquote-filename):
* lisp/erc/erc.el (erc-quit-reason-zippy, erc-part-reason-zippy)
(erc-update-mode-line-buffer, erc-message-english-PART): Use
'string-replace' only on Emacs 28 and later, otherwise use
'replace-regexp-in-string' on older Emacsen.
Amin Bandali [Sun, 12 Sep 2021 18:09:53 +0000 (14:09 -0400)]
ERC: Use 'string-search' only on Emacs 28 and later
* lisp/erc/erc-backend.el (erc-parse-server-response):
* lisp/erc/erc-dcc.el (erc-dcc-member):
* lisp/erc/erc-speedbar.el (erc-speedbar-expand-server)
(erc-speedbar-expand-channel, erc-speedbar-expand-user):
* lisp/erc/erc.el (erc-send-input): Use 'string-search' only on
Emacs 28 and later, otherwise use 'string-match' on older Emacsen.
Juri Linkov [Sun, 12 Sep 2021 18:30:06 +0000 (21:30 +0300)]
* lisp/tab-bar.el (tab-bar-get-buffer-tab): Use 'remq' instead of 'seq-remove'
Juri Linkov [Sun, 12 Sep 2021 17:55:57 +0000 (20:55 +0300)]
Allow region-related context menu to be used on selected region with one click
* lisp/mouse.el (mouse-drag-track): Don't deactivate the mark for
the context menu invoked by down-mouse-3.
https://lists.gnu.org/archive/html/emacs-devel/2021-08/msg01577.html
Juri Linkov [Sun, 12 Sep 2021 17:32:02 +0000 (20:32 +0300)]
* lisp/thingatpt.el (thing-at-mouse): New function (bug#50256).
* lisp/net/dictionary.el: Add 'context-menu-dictionary' to
'context-menu-functions'.
(dictionary-search-word-at-mouse): New function.
(context-menu-dictionary): New function that uses 'thing-at-mouse'.
(dictionary-mouse-popup-matching-words): Remove stray 'selected-window'.
* lisp/textmodes/flyspell.el (flyspell-context-menu): Add '_click' arg.
Juri Linkov [Sun, 12 Sep 2021 17:11:52 +0000 (20:11 +0300)]
* lisp/mouse.el (context-menu-map): Add 'click' arg to called funs (bug#50256)
(context-menu-toolbar, context-menu-global, context-menu-local)
(context-menu-minor, context-menu-buffers, context-menu-vc)
(context-menu-undo, context-menu-region, context-menu-ffap): Add 'click' arg.
* lisp/dired.el (dired-context-menu):
* lisp/help-mode.el (help-mode-context-menu):
* lisp/info.el (Info-context-menu):
* lisp/net/eww.el (eww-context-menu):
* lisp/net/goto-addr.el (goto-address-context-menu):
* lisp/progmodes/prog-mode.el (prog-context-menu): Add 'click' arg.