Commit graph

81382 commits

Author SHA1 Message Date
Stefan Kangas
cf2fa6c87f 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.
2021-09-14 07:56:06 +02:00
Stefan Kangas
269c8a0b63 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.
2021-09-14 07:56:06 +02:00
Dmitry Gutov
5a34b65a3b 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.
2021-09-14 00:56:20 +03:00
Dmitry Gutov
9000aeaed4 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.
2021-09-14 00:53:05 +03:00
Juri Linkov
8c80430824 * lisp/progmodes/elisp-mode.el (elisp-context-menu): New function (bug#9054)
(emacs-lisp-mode): Add elisp-context-menu to context-menu-functions.
2021-09-13 21:41:24 +03:00
Juri Linkov
a17bea6d63 * 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'.
2021-09-13 21:18:30 +03:00
Mattias Engdegård
4cf6d03d04 Remove duplication of find file pattern arguments
* lisp/cedet/semantic/symref/grep.el
(semantic-symref-derive-find-filepatterns): Avoid including the same
pattern twice.
2021-09-13 18:41:58 +02:00
Lars Ingebrigtsen
5ee05fa75d Fix typo in previous files.el change 2021-09-13 15:32:20 +02:00
Lars Ingebrigtsen
59ff342869 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).
2021-09-13 15:17:06 +02:00
Lars Ingebrigtsen
7fe88446c3 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.
2021-09-13 13:35:53 +02:00
Lars Ingebrigtsen
adda0df193 completions-annotations doc string clarification
* lisp/minibuffer.el (completions-annotations): Mention that it's
not always used.
2021-09-13 12:20:57 +02:00
Lars Ingebrigtsen
08540a29e3 package-menu-execute doc string clarification
* lisp/emacs-lisp/package.el (package-menu-execute): Say what
happens to upgrade-marked packages (bug#50551).
2021-09-13 10:35:22 +02:00
Juri Linkov
fd1379a85a 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.
2021-09-13 11:15:10 +03:00
Lars Ingebrigtsen
4ee8b4d225 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.
2021-09-13 10:03:28 +02:00
Lars Ingebrigtsen
173c2ea8a3 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).
2021-09-13 09:39:45 +02:00
Lars Ingebrigtsen
c1a1339526 Add some search-whitespace-regexp examples
* lisp/isearch.el (search-whitespace-regexp): Add some
alternatives in the defcustom.
2021-09-13 09:24:46 +02:00
Lars Ingebrigtsen
d15c430a84 Mention get-byte in shortdoc
* lisp/emacs-lisp/shortdoc.el (buffer): Mention `get-byte' here.
2021-09-13 09:20:21 +02:00
Tassilo Horn
8454566b76 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.
2021-09-13 07:22:50 +02:00
Tassilo Horn
7fe756c014 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.
2021-09-13 07:11:05 +02:00
Stefan Kangas
fc6ed9a721 Declare unused function cperl-inside-parens-p obsolete
* lisp/progmodes/cperl-mode.el (cperl-inside-parens-p): Declare
unused function obsolete.
2021-09-13 06:44:52 +02:00
Stefan Kangas
f02624b342 ; Minor doc fixes found by checkdoc 2021-09-13 06:44:52 +02:00
Stefan Kangas
2110973351 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.
2021-09-13 06:44:52 +02:00
Stefan Kangas
bd601099b9 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.
2021-09-13 06:04:29 +02:00
Dmitry Gutov
d314951043 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.
2021-09-13 01:37:32 +03:00
Amin Bandali
85d0ed097e
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.
2021-09-12 14:32:13 -04:00
Amin Bandali
e20bae005e
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.
2021-09-12 14:32:12 -04:00
Juri Linkov
911043845d * lisp/tab-bar.el (tab-bar-get-buffer-tab): Use 'remq' instead of 'seq-remove' 2021-09-12 21:30:06 +03:00
Juri Linkov
aa33e38e21 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
2021-09-12 20:55:57 +03:00
Juri Linkov
bd917088e6 * 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.
2021-09-12 20:32:02 +03:00
Juri Linkov
4877ddeaf7 * 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.
2021-09-12 20:11:52 +03:00
Eli Zaretskii
ff4de1bd88 Fix quoting style in Lisp comments
* lisp/textmodes/rst.el:
* lisp/progmodes/elisp-mode.el (elisp--xref-find-definitions):
* lisp/org/org.el:
* lisp/org/org-list.el (org-list-to-generic):
* lisp/org/org-compat.el:
* lisp/hexl.el (hexl-ascii-region):
* lisp/emacs-lisp/lisp-mode.el:
* lisp/calendar/calendar.el: In comments, quote 'like this'.
2021-09-12 19:51:06 +03:00
Juri Linkov
1ccc31eff5 * lisp/mouse.el (context-menu-map): Remove duplicate separators (bug#50067).
* lisp/mouse.el (context-menu-undo, context-menu-region):
* lisp/progmodes/prog-mode.el (prog-context-menu):
Use 'when' instead of ':visible' that allows to remove duplicate separators
created between empty submenus.
2021-09-12 19:48:06 +03:00
Stefan Kangas
fc4b956c7c ; Fix symbol quoting typos 2021-09-12 18:36:49 +02:00
Juri Linkov
79113b5e4a Use window-point in event-start and event-end (bug#50256)
* lisp/subr.el (event-start, event-end): Provide window-point
as an arg for posn-at-point, and for the constructed list.

* lisp/help-mode.el (help-mode-context-menu): Remove a kludge
that checked if window-buffer is current-buffer.
2021-09-12 19:31:49 +03:00
Juri Linkov
64c5cd5a8c * lisp/tab-bar.el: Improve logic of 'ignore-current-tab'.
* lisp/tab-bar.el (tab-bar-get-buffer-tab): Prefer the current tab
when 'ignore-current-tab' is nil.
(display-buffer-in-tab): Use alist entry 'ignore-current-tab'
as the third arg of 'tab-bar-get-buffer-tab'.  Improve docstring.

Suggested by Feng Shu <tumashu@163.com>
https://lists.gnu.org/archive/html/emacs-devel/2021-09/msg00955.html
2021-09-12 19:10:02 +03:00
Hanno Perrey
8f3199788b ; * lisp/eshell/em-unix.el (nil-blank-string): Doc fix
* lisp/eshell/em-unix.el (nil-blank-string): Fix doc string
(bug#50549).

Copyright-paperwork-exempt: yes
2021-09-12 17:22:51 +02:00
Lars Ingebrigtsen
db5fbc7af8 Fix read-no-blanks-input doc string typo
* lisp/minibuffer.el (read-no-blanks-input): Fix doc string typo.
2021-09-12 14:11:57 +02:00
dick r. chiang
ac2498ad1c Fix read-no-blanks-input history argument
* lisp/minibuffer.el (read-no-blanks-input): Use the
`minibuffer-history' symbol, not the value (bug#50535).
2021-09-12 14:11:57 +02:00
Mattias Engdegård
4a44ac987e Infer identifier namespace in elisp xref backend
Improve the accuracy of `xref-find-definitions` by inferring the
likely namespace of the sought identifier from its context.
This reduces the number of irrelevant search hits when it is clear
what kind of identifier is being looked for (such as showing a
variable when the user looks for a function).

Co-written with Dmitry Gutov.

* lisp/progmodes/elisp-mode.el (elisp--xref-list-index)
(elisp--xref-infer-namespace, xref-backend-identifier-at-point): New.
(xref-backend-definitions): Use the buffer position for inferring.
(elisp--xref-find-definitions): Use the inferred namespace.
(xref-backend-apropos): Adapt call.
* test/lisp/progmodes/elisp-mode-tests.el (elisp-mode-test--with-buffer)
(elisp-mode-with-buffer, elisp-mode-infer-namespace): New tests.
2021-09-12 13:00:59 +02:00
Martin Rudalics
4793c980a1 ;* lisp/window.el (switch-to-prev-buffer): Fix typo in doc-string. 2021-09-12 11:38:24 +02:00
Martin Rudalics
1293bf5bb7 Improve doc-strings of some buffer display options (Bug#50518)
* lisp/window.el (pop-up-frame-alist, same-window-buffer-names)
(same-window-regexps, pop-up-frames, pop-up-windows): In
doc-strings say that these options are maintained for backward
compatibility only (Bug#50518).
2021-09-12 11:11:41 +02:00
Eli Zaretskii
ae6af0ba33 Improve documentation of some tab-bar features
* lisp/tab-bar.el (tab-bar-show, toggle-frame-tab-bar): Doc
fixes.

* etc/NEWS: Update the corresponding entries.
2021-09-12 10:01:38 +03:00
Olivier Certner
291bcb5973
ERC: Track: Fix a perceived minor bug in mode line face selection
* lisp/erc/erc-track.el (erc-track-modified-channels): Fix what is a
probable bug when a new insert event happens for a buffer that was not
tracked or for which no mode line face was selected: in this case,
stop treating the latest buffer's face (first in list) as the previous
one, which could be overridden with an older one (in FACES' rest), as
if it had happened after.
2021-09-12 01:12:59 -04:00
Olivier Certner
3df279aae2
ERC: Track: Rewrite 'erc-track-find-face' as 'erc-track-select-mode-line-face'
* lisp/erc/erc-track.el (erc-track-find-face): Declare obsolete and
rewrite as 'erc-track-select-mode-line-face', changing the function
arguments, so that it is very clear what the current algorithm is.
No functional changes.  Performance improvements.  Clarify the
documentation and remove the part on some faces being lists, which
clearly does not apply.
(erc-track-modified-channels): Replace calls to 'erc-track-find-face'
with calls to 'erc-track-select-mode-line-face', preserving the
existing behavior.
(erc-modified-channels-alist): Change the reference to
'erc-track-select-mode-line-face' in the documentation following the
rename.
* etc/NEWS: Announce the change.

Co-authored-by: Amin Bandali <bandali@gnu.org>
2021-09-12 01:05:38 -04:00
Amin Bandali
e4b7fa0500
Merge from origin/emacs-27
d7f4cc0974 ERC: Track: Clarify documentation on tracked buffers and a...
fb1f0dfec9 ERC: Track: Fix documentation of structure of 'erc-modifie...
252a769b11 ; * doc/lispref/files.texi (Changing Files): Fix xref to f...
edc93a5ce6 ; Fix grammar in efaq.texi on Emacs vs XEmacs.

# Conflicts:
#	doc/misc/efaq.texi
2021-09-11 23:03:57 -04:00
Olivier Certner
d7f4cc0974
ERC: Track: Clarify documentation on tracked buffers and add references
* lisp/erc/erc-track.el (erc-modified-channels-alist): Clarify what
the list contains.  Add references to variables and functions involved
in displaying tracked buffers from this list.
(erc-make-mode-line-buffer-name): Describe exactly the algorithm, and
reference custom variables that influence it.
2021-09-11 22:55:16 -04:00
Olivier Certner
fb1f0dfec9
ERC: Track: Fix documentation of structure of 'erc-modified-channels-alist'
* lisp/erc/erc-track.el (erc-modified-channels-alist): Fix the
docstring: each element is a dotted list where the last cdr is
sometimes a proper list, making the element only sometimes a proper
list.
2021-09-11 22:54:44 -04:00
Dmitry Gutov
108dbed4c0 Re-fix bug#16897
* lisp/vc/vc-git.el (vc-git--file-list-is-rootdir):
Extract from 'vc-git-command'.
(vc-git--literal-pathspecs): Use it here as well.
2021-09-12 03:29:04 +03:00
Tassilo Horn
6e60e74653 Refactor bug-reference setup for software forges
* lisp/progmodes/bug-reference.el (bug-reference-gitea-instances)
(bug-reference-gitlab-instances,bug-reference-sourcehut-instances):
Delete defvars.  Those are replaced with bug-reference-forge-alist.
(bug-reference-forge-alist): New variable.
(bug-reference--build-forge-setup-entry): New cl-defgeneric with
methods for github, gitlab, gitea, and sourcehut instances.
(bug-reference--setup-from-vc-alist): Use bug-reference-forge-alist
and bug-reference--build-forge-setup-entry.
* doc/emacs/maintaining.texi (Bug Reference): Mention that the first
group in bug-reference-bug-regexp defines the overlay bounds.  Also
mention bug-reference-forge-alist in VCS setup section.
2021-09-11 22:49:29 +02:00
Mattias Engdegård
d5c6f701a6 Fix byte-compilation warnings
* lisp/calc/calc-graph.el (calc-gnuplot-check-for-errors):
* lisp/calendar/holidays.el (list-holidays):
Dodge 'save-excursion+set-buffer' warnings that appeared after
the progn flattening was introduced.
2021-09-11 17:17:34 +02:00