1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-25 05:52:42 -08:00
Commit graph

166997 commits

Author SHA1 Message Date
Po Lu
607f826edd Fix event data leak
* src/xterm.c (handle_one_xevent): Jump to XI_OTHER after
handling touch ownership event.
2023-07-18 21:26:05 +08:00
Po Lu
c4f8ead08d Fix display of minor mode menus when mode-line-compact is enabled
* lisp/mouse.el (minor-mode-menu-from-indicator): New arg
WINDOW.  If INDICATOR is a string object and mode-line-compat is
enabled within WINDOW, use the symbol within the object at its
position instead.
(mouse-minor-mode-menu): Pass posn-object and posn-window to
minor-mode-menu-from-indicator.
2023-07-18 16:15:05 +08:00
Po Lu
9ad601e7d7 Expose the ``cancellation'' of touch events to Lisp
* doc/lispref/commands.texi (Touchscreen Events):
* etc/NEWS: Describe new event parameter `canceled'.
* src/keyboard.c (make_lispy_event) <TOUCHSCREEN_END_EVENT>:
If event->modifiers, set canceled to t.

* src/termhooks.h (enum event_kind): Describe meaning of
modifiers in TOUCHSCREEN_END_EVENTs.
* src/xfns.c (setup_xi_event_mask): Select for
XI_TouchOwnership.
* src/xterm.c (xi_link_touch_point): Round X and Y and clear
ownership.
(xi_unlink_touch_point): Return 1 if the touch point is not
owned by Emacs, 2 otherwise.
(handle_one_xevent): Handle XI_TouchOwnership events and report
ownership correctly.
* src/xterm.h (enum xi_touch_ownership): New enum.  Write
commentary on XI touch sequence ownership.
(struct xi_touch_point_t): Use integer X and Y.  New field
`ownership'.  Adjust for alignment.
2023-07-18 09:28:14 +08:00
Dmitry Gutov
2f48e488d4 Delete vc-deduce-fileset-1, taking advantage of set-buffer
* lisp/vc/vc.el (vc-deduce-fileset): Set buffer to the base
buffer, if any (bug#63949).  That's to replace the more complex
previous strategy.  vc-deduce-fileset is allowed to change the
current buffer, so why not do it for that case.
(vc-deduce-fileset-1): Delete, moving the meat of the logic back
to vc-deduce-fileset.
2023-07-18 03:49:44 +03:00
Juri Linkov
bec707da4d * lisp/bindings.el (mode--line-format-right-align): Add 'mode-line' face.
Like in `tab-bar-format-align-right', use `add-face-text-property' to
add 'mode-line' face on the `rest-str' string for `string-pixel-width'
to calculate the correct pixel width (bug#62606).
2023-07-17 20:56:29 +03:00
Mattias Engdegård
157e735ce8 Don't distort character ranges in rx translation
The Emacs regexp engine interprets character ranges from ASCII to raw
bytes, such as [a-\xfe], as not including non-ASCII Unicode at all;
ranges from non-ACII Unicode to raw bytes, such as [ü-\x91], are
ignored entirely.

To make rx produce a translation that works as intended, split ranges
that that go from ordinary characters to raw bytes. Such ranges may
appear from set manipulation and regexp optimisation.

* lisp/emacs-lisp/rx.el (rx--generate-alt): Split intervals that
straddle the char-raw boundary when rendering a string regexp from an
interval set.
* test/lisp/emacs-lisp/rx-tests.el (rx-char-any-raw-byte):
Add test cases.
2023-07-17 17:56:54 +02:00
Brian Leung
7446a8c34e Eglot: check correct capability name in eglot-imenu (bug#64682)
* lisp/progmodes/eglot.el (eglot-imenu): Declare the correct name of
the server capability providing textDocument/documentSymbol.

Without this change, eglot-imenu always aborts even when used with
servers supporting textDocument/documentSymbol.
2023-07-17 14:36:51 +01:00
Po Lu
ac566bcdee Don't deliver touch or pinch events from master or slave devices
* src/xfns.c (setup_xi_event_mask): Select for gesture events on
only master devices if safe.
* src/xterm.c (handle_one_xevent): Deliver touchscreen events
only from direct slave devices, and gesture events only from
master pointers.
2023-07-17 20:43:10 +08:00
Robert Pluim
91424cb9ad Fix eshell.texi markup
* doc/misc/eshell.texi (Aliases): Add missing @end table.  (Bug#64674)
2023-07-17 14:25:18 +02:00
Marc van der Wal
fcf9e91f44 Check correct bit for DNS truncation
* lisp/net/dns.el (dns-read): The TC bit is the second bit, not the
third bit.  (Bug#64678)

Copyright-paperwork-exempt: yes
2023-07-17 14:15:14 +02:00
Eli Zaretskii
9d332c4993 ; * lisp/files.el (create-file-buffer): Add commentary. 2023-07-17 14:36:44 +03:00
Eli Zaretskii
5b6b95dbf8 ; * lisp/files.el (create-file-buffer): Fix last change (bug#62732). 2023-07-17 14:34:35 +03:00
Stefan Monnier
207cd4c235 xdisp.c: Improve doc of redisplay flags a bit 2023-07-16 21:12:20 -04:00
Eli Zaretskii
a65ece8b20 Fix Wdired with relative and abbreviated file names
* lisp/wdired.el (wdired-finish-edit): Support Dired buffers where
'dired-directory' is a list made of relative or abbreviated file
names.  (Bug#64606)
2023-07-16 12:15:24 +03:00
Eli Zaretskii
c5fa58cbc4 Merge from origin/emacs-29
16f3a09e8d ; * lisp/simple.el (kill-new): Fix a typo.  (Bug#64423)
d78e670237 ; * src/lisp.h: Improve commentary for XIL, XLI, XLP (bug...
2023-07-15 15:11:43 -04:00
Eli Zaretskii
16f3a09e8d ; * lisp/simple.el (kill-new): Fix a typo. (Bug#64423) 2023-07-15 22:08:52 +03:00
Stefan Monnier
f17bdee79b sgml-mode.el: Cosmetic fixes
* lisp/textmodes/sgml-mode.el: Prefer #' to quote function names.
(sgml-font-lock-keywords-1, sgml-font-lock-syntactic-face):
Refer to font-lock faces rather than their variables.
(sgml-mode-facemenu-add-face-function): Remove redundant arg to `mapconcat`.
(sgml-electric-tag-pair-before-change-function): Remove left-over
debugging messages (bug#64636).
2023-07-15 11:41:32 -04:00
Eli Zaretskii
d78e670237 ; * src/lisp.h: Improve commentary for XIL, XLI, XLP (bug#64645). 2023-07-15 13:04:41 +03:00
Eli Zaretskii
3cf2ab21f2 ; * src/comp.c (CALL0I): Ifdef away, as it's now unused. 2023-07-15 12:49:09 +03:00
Eli Zaretskii
77fa417d10 Merge from origin/emacs-29
d09de2f49d Ignore quit while getting interprogram paste in kill-new
afdf54a531 * lisp/progmodes/gdb-mi.el: Fix interactive invocation of...
b54febef5d Fix NetBSD build with and without ncurses
c5fb730159 ; * lisp/paren.el (show-paren-function): Fix last change ...
ea696ea4b9 ; Fix last change.
b0181dafb9 Improve documentation of 'enable-local-variables' in Emac...
eb7c45ca43 ; Fix copy-paste in Widget Manual (Bug#64610)
aedbc3006e ; * doc/misc/eshell.texi (Aliases): Remove stray "@end ta...
673992d28e ; * lisp/progmodes/sql.el (sql-interactive-mode): Remove ...
2023-07-15 05:30:28 -04:00
Eli Zaretskii
f2a8e4ceb4 ; Merge from origin/emacs-29
The following commits were skipped:

6a360b0840 ; * doc/misc/eshell.texi (Variables): Add missing index f...
f529bf52eb ; * doc/misc/eshell.texi (Invocation): Whitespace cleanup.
3a70354579 Add documentation about remote access in Eshell
7640835ae0 ; * doc/misc/eshell.texi: Fix last change.
e79306fb46 ; * doc/misc/eshell.texi: Fix typos and clean up unclear ...
9f6d79dd96 Document some missing Eshell commands
951671b0e1 Document optional Eshell modules
7c417b2ae5 Correct the Eshell documentation about how to write new m...
6c3fe42bde Restructure Eshell extension modules documentation
4e204b5618 ; * doc/misc/eshell.texi (Bugs and ideas): Remove impleme...
2023-07-15 05:30:28 -04:00
Eli Zaretskii
748d2ed515 Merge from origin/emacs-29
7ac947f34c ; * src/lisp.h (struct Lisp_Overlay): Update commentary (...
9bc93c7996 Replace duplicate text from epa.texi by a reference
74cc1d27f1 Add basic usage information and fix references
f24bdbfaf5 Add concept index, title-case structure titles
0165b50b0f ; * lisp/emacs-lisp/lisp.el (raise-sexp): Fix typo in doc...
4cf33b6bd0 ; * doc/misc/modus-themes.org: Fix whitespace (bug#64548).
4821da1ad7 Fix show-paren-mode when the parentheses is partially vis...
419b4d4491 ; Improve documentation of with-restriction
be34e8294a ; * admin/git-bisect-start: Update failing commits
8e06809fcc Merge branch 'scratch/bug64391' into emacs-29
dbac807605 * lisp/net/tramp.el (tramp-get-buffer-string): Stabilize.
01fb898420 Simplify after adding internal function to enter a labele...
b741dc7fcd Add internal function to enter a labeled restriction

# Conflicts:
#	doc/misc/modus-themes.org
2023-07-15 05:30:14 -04:00
Eli Zaretskii
d49669e5d3 ; Merge from origin/emacs-29
The following commit was skipped:

a82486e5a4 Fix stale cache in Tramp (don't merge)
2023-07-15 05:28:16 -04:00
Eli Zaretskii
b5bbb29634 Merge from origin/emacs-29
01fb898420 Simplify after adding internal function to enter a labele...
b741dc7fcd Add internal function to enter a labeled restriction
2023-07-15 05:28:16 -04:00
Spencer Baugh
d09de2f49d Ignore quit while getting interprogram paste in kill-new
On X, if the current selection owner is not responding to selection
requests, the user may want to take ownership of the selection.  The
obvious way to do this is to kill some text (which a user might also
be doing just as part of normal editing at the time the selection
owner becomes nonresponsive).  However, if
save-interprogram-paste-before-kill is non-nil, then killing text will
hang until the user quits, and this quit will abort the entire
kill-new, preventing the user from taking ownership of the selection.

Now instead if the user quits while we are attempting to retrieve the
selection from hanging owner, we will proceed to take ownership of the
selection as normal, resolving the problem.

(One example of a selction owner that might not be responding to
selection requests is another instance of Emacs itself; while Emacs is
blocked in call-process or Lisp execution, it currently does not
respond to selection requests.)

* lisp/simple.el (kill-new): Ignore quit while getting interprogram
paste (bug#64423)
2023-07-15 12:00:22 +03:00
Wang Diancheng
afdf54a531 * lisp/progmodes/gdb-mi.el: Fix interactive invocation of 'gud-go'.
Bug#64590.

Copyright-paperwork-exempt: yes
2023-07-15 11:38:36 +03:00
Matthias Meulien
a047fb8494 Fix "Improve Python imports management commands"
* lisp/progmodes/python.el (python--list-imports): Prefer to
use an exit status >1.
(python--list-imports-check-status): New function to check
status of Python script.
(python--do-isort): Fix wrong status check introduced with
6295d7abdd.  (Bug#64406)
2023-07-15 11:24:34 +03:00
Valtteri Vuorikoski
b54febef5d Fix NetBSD build with and without ncurses
* configure.ac (netbsd): Don't set TERMINFO=no unless the termcap
library is either -ltermcap or -lcurses.  This prevents aborts
because on recent versions of NetBSD libtermcap is actually a
symlink to libterminfo. (Bug#64577)

Copyright-paperwork-exempt: yes
2023-07-15 11:10:03 +03:00
Spencer Baugh
300f9d23c1 ; Fix last change (bug#64533)
* lisp/progmodes/which-func.el (which-func-display): Fix quoting
in the doc string.

* etc/NEWS: Announce 'which-func-display'.
2023-07-15 11:00:54 +03:00
Spencer Baugh
dcad72a779 Support displaying function name in the header line
In some languages, the function name as displayed in the mode-line by
which-func-mode can be quite long.  It's useful to be able to display
it in the header-line instead.  Let's support that.

* lisp/progmodes/which-func.el (which-func-display)
(which-func--use-header-line, which-func--use-mode-line):
Add. (Bug#64533)
(which-func-try-to-enable): Support 'which-func--use-header-line'.
(which-func--disable): Add, to support 'which-func--use-header-line'.
(which-func-ff-hook, which-func-update-1): Use 'which-func--disable'.
2023-07-15 10:54:25 +03:00
Łukasz Stelmach
3021a0656f Show SHA-256 digest of a public key in 'nsm-format-certificate'
* lisp/net/nsm.el (nsm-format-certificate): Show public key
digest (SHA-256 if available).  Displaying the digest enables
users to verify the certificate with other tools like 'gnutls-cli'
which present much more detailed information.

* src/gnutls (emacs_gnutls_certificate_details): Export SHA-256
public key digest if supported by GnuTLS.  (Bug#64043)
2023-07-15 10:42:23 +03:00
Eli Zaretskii
c5fb730159 ; * lisp/paren.el (show-paren-function): Fix last change (bug#64547). 2023-07-15 10:21:07 +03:00
Eli Zaretskii
ea696ea4b9 ; Fix last change. 2023-07-14 20:33:29 +03:00
YugaEgo
b0181dafb9 Improve documentation of 'enable-local-variables' in Emacs manual
* doc/emacs/custom.texi (Safe File Variables): Document ':all'.
(Bug#64621)
2023-07-14 20:30:33 +03:00
Mattias Engdegård
d86755820c ; * lisp/vc/ediff-wind.el: hush bytecomp warnings on non-X platforms 2023-07-14 19:26:22 +02:00
Mattias Engdegård
8acd52bba4 Provide backtrace for byte-ops car, cdr, setcar, setcdr, nth and elt
Include calls to these primitives from byte-compiled code in
backtraces.  For nth and elt, not all errors are covered.
(Bug#64613)

* src/bytecode.c (exec_byte_code): Add error backtrace records for
car, cdr, setcar, setcdr, nth and elt.
* src/data.c (syms_of_data): Add missing defsyms for car, setcar,
setcdr, nth and elt.
* test/lisp/emacs-lisp/bytecomp-tests.el
(bytecomp-tests--error-frame, bytecomp-tests--byte-op-error-cases)
(bytecomp--byte-op-error-backtrace): New test.
2023-07-14 19:25:16 +02:00
Mauro Aranda
eb7c45ca43 ; Fix copy-paste in Widget Manual (Bug#64610) 2023-07-14 14:54:24 +03:00
Po Lu
2df086d121 Fix misreporting of window top line
* src/frame.h (FRAME_TOOL_BAR_TOP_LINES): Return tool_bar_lines,
not tool_bar_height.
2023-07-14 15:33:48 +08:00
Paul Eggert
01b80a6f0e Reorder NaN, INF paras
* doc/lispref/numbers.texi (Float Basics):
Reorder paragraphs so that examples follow defns.
2023-07-13 23:56:10 -07:00
Paul Eggert
be501f468e Improve doc for VAX reading NaN, INF
* doc/lispref/numbers.texi (Float Basics): Improve description of
how Lisp reads infinities and NaNs on a VAX.
2023-07-13 23:36:55 -07:00
Eli Zaretskii
aedbc3006e ; * doc/misc/eshell.texi (Aliases): Remove stray "@end table". 2023-07-14 08:32:57 +03:00
YugaEgo
673992d28e ; * lisp/progmodes/sql.el (sql-interactive-mode): Remove FIXME (bug#64602). 2023-07-14 08:27:00 +03:00
Stefan Monnier
47c2da092a cl-print: Allow expanding the contents of hash-tables
* lisp/emacs-lisp/cl-print.el (cl-print-object) <hash-table>:
Add an ellipsis.
(cl-print-object-contents) <hash-table>: New method.
2023-07-13 22:26:19 -04:00
Jim Porter
6a360b0840 ; * doc/misc/eshell.texi (Variables): Add missing index for $INSIDE_EMACS
Do not merge to master.  On master, this was fixed by 0bb8a011d5.
2023-07-13 19:24:12 -07:00
Michael Albinus
f529bf52eb ; * doc/misc/eshell.texi (Invocation): Whitespace cleanup.
Do not merge to master.  This is a backport of 04710bd01b.
2023-07-13 19:24:12 -07:00
Jim Porter
3a70354579 Add documentation about remote access in Eshell
Do not merge to master.  This is a backport of 438921161a.

* doc/misc/eshell.texi
(Invocation): Mention the '*' prefix.
(Remote Access): New section...
(Commands): ... link to it.
2023-07-13 19:24:12 -07:00
Jim Porter
7640835ae0 ; * doc/misc/eshell.texi: Fix last change.
Do not merge to master.  This is a backport of 8c5fef4eb3.
2023-07-13 19:24:12 -07:00
Jim Porter
e79306fb46 ; * doc/misc/eshell.texi: Fix typos and clean up unclear wording.
Do not merge to master.  This is a backport of 118582efb3.
2023-07-13 19:24:11 -07:00
Jim Porter
9f6d79dd96 Document some missing Eshell commands
Do not merge to master.  This is a backport of f7a899d7ca.

* doc/misc/eshell.texi (Built-ins): Document 'eshell-debug'.
(Extra built-in commands): Document 'count', 'ff', and 'gf'.
2023-07-13 19:24:11 -07:00
Jim Porter
951671b0e1 Document optional Eshell modules
Do not merge to master.  This is a backport of 77f13edab0.

* doc/misc/eshell.texi (Built-ins): Move disabled-by-default commands
to...
(Tramp extensions, Extra built-in commands): ...here
(Optional modules, Key rebinding, Smart scrolling): Add documentation.
(Bug and ideas): Documentation is no longer incomplete!
2023-07-13 19:24:11 -07:00