1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-04-18 12:00:38 -07:00
Commit graph

83320 commits

Author SHA1 Message Date
Paul Eggert
68f2d772e5 Fix userlock diagnostic
* lisp/userlock.el (ask-user-about-lock):
Fix typo (missing paren) in diagnostic.
2022-01-11 08:58:39 -08:00
Juri Linkov
0b0a8dab68 * lisp/outline.el (outline-minor-mode-cycle--bind): Fix outline-on-heading-p.
When calling outline-on-heading-p, set its argument INVISIBLE-OK to t,
so when <backtab> (bound to outline-cycle-buffer) hides the current outline
at a deep level, <backtab> should continue cycling outlines even when
the current outline heading is invisible.  It worked this way before
the recent change that moved cycling keys from font-lock text properties
to outline-minor-mode keymap with :filter.
2022-01-11 10:56:54 +02:00
Po Lu
da2bfc79b4 Fix creating GUI frames in an automatically started server on Haiku
* lisp/term/haiku-win.el: Correct specification of
`display-format-alist'.
2022-01-11 05:36:09 +00:00
Stefan Monnier
f4e0562a2c (hack-one-local-variable-constantp): Mark as obsolete
* lisp/files.el (hack-one-local-variable-constantp): Mark as obsolete.
(hack-one-local-variable-eval-safep): Use `macroexp-const-p` instead.
2022-01-10 22:37:16 -05:00
Stefan Monnier
73b15f45f9 Merge remote-tracking branch 'origin/emacs-28' into trunk 2022-01-10 22:34:55 -05:00
Juri Linkov
97806bc7de Add diff-mode-read-only to enable shorter keys in diff-mode
To be able to use outline-minor-mode-cycle keys in diff-mode,
outline-minor-mode should be higher in minor-mode-map-alist,
and a new variable diff-mode-read-only should be set
when the diff-mode buffer is read-only.
https://lists.gnu.org/archive/html/emacs-devel/2022-01/msg00740.html

* lisp/vc/diff-mode.el: Add diff-mode-read-only to minor-mode-map-alist.
(diff-mode-read-only): New buffer-local variable.
(diff-mode): Set diff-mode-read-only to t when buffer-read-only is non-nil.
Update diff-mode-read-only in read-only-mode-hook.
Remove buffer-read-only from minor-mode-overriding-map-alist.
Remove view-mode-hook because now view-mode is higher than
diff-mode-read-only in minor-mode-map-alist.

* lisp/vc/vc-git.el (vc-git-stash-show):
* lisp/vc/vc.el (vc-diff-internal): Set buffer-read-only to t
before calling diff-mode that will set diff-mode-read-only.
2022-01-10 20:29:53 +02:00
Juri Linkov
2b7a486605 * lisp/outline.el: Don't set outline-minor font-lock text property 'keymap'.
Instead of adding font-lock text property 'keymap' with
outline-minor-mode-cycle on headings in outline-minor-mode,
check for outline-minor-mode-cycle and outline-on-heading-p
in :filter on keys from the keymap of outline-minor-mode.
https://lists.gnu.org/archive/html/emacs-devel/2022-01/msg00180.html

(outline-minor-mode-cycle--bind): Add a condition on outline-minor-mode-cycle
and outline-on-heading-p in :filter.
(outline-font-lock-keywords): Remove if-branches for outline-minor-mode-cycle
that added keymap.
(outline-minor-mode-highlight-buffer): Don't put keymap on overlays.
(outline-minor-mode): Rewrite :keymap setting to rely on
easy-mmode-define-keymap, and add :inherit outline-minor-mode-cycle-map.
Don't check for outline-minor-mode-cycle to add font-lock keywords.
(outline--insert-open-button, outline--insert-close-button):
Remove :parent outline-minor-mode-cycle-map.
2022-01-10 20:20:09 +02:00
Eli Zaretskii
99a9b545f0 Revert "Remove the filename argument from the command line after an ELC+ELN build"
This reverts commit ffc047c896.

Please don't install anything non-trivial on the release branch
without asking first.
2022-01-10 20:02:39 +02:00
Eli Zaretskii
415ed4b425 Fix 'exchange-point-and-mark' in 'transient-mark-mode'
* lisp/simple.el (exchange-point-and-mark): Don't deactivate mark
when 'transient-mark-mode' is ON.  (Bug#53150)
2022-01-10 19:10:52 +02:00
Alan Mackenzie
ffc047c896 Remove the filename argument from the command line after an ELC+ELN build
This fixes bug #53164.  Without this fix, bootstrap-emacs loads the source
file uselessly into a buffer after completing the compilation.
2022-01-10 17:05:41 +00:00
Po Lu
4f50d964e5 Allow controlling the underline position of faces
* doc/lispref/display.texi (Face Attributes): Document new
`:position' property of the `:underline' attribute.
* etc/NEWS: Announce new property.
* lisp/cus-face.el (custom-face-attributes): Implement
customization for new face attribute.
* src/dispextern.h (struct face): New fields
`underline_pixels_above_descent_line' and
`underline_at_descent_line_p'.
* src/haikuterm.c (haiku_draw_text_decoration):
* src/nsterm.m (ns_draw_text_decoration):
* src/w32term.c (w32_draw_glyph_string):
* src/xterm.c (x_draw_glyph_string): Respect new face fields.

* src/xfaces.c (realize_gui_face): Handle new `:position'
keyword.
(syms_of_xfaces): New symbol `:position'.
2022-01-10 19:26:46 +08:00
Stefan Kangas
3057e0458f Make old elide-head commands wrappers for mode
* lisp/elide-head.el (elide-head, elide-head-show): Make into
wrappers around elide-head-mode.
2022-01-10 04:30:13 +01:00
Stefan Monnier
74223bbdaf (save-some-buffers): Simplify the fix for bug#46374
* lisp/files.el (save-some-buffers): Only check the
`save-some-buffers-function` property on functions from
`save-some-buffers-default-predicate` since callers which provide
a `pred` argument can arrange to compute `pred` themselves if needed.

* test/lisp/files-tests.el (files-tests-buffer-offer-save): Don't test
with `pred` set to `save-some-buffers-root` since it's not an
appropriate function for that any more.
2022-01-09 22:17:45 -05:00
Stefan Kangas
32f1ec449d * lisp/abbrev.el (edit-abbrevs-mode-map): Use defvar-keymap. 2022-01-10 01:09:10 +01:00
Stefan Kangas
fe54cf0b1f Do interactive mode tagging for edit-abbrevs-mode
* lisp/abbrev.el (edit-abbrevs-redefine)
(abbrev-edit-save-to-file, abbrev-edit-save-buffer): Interactive mode
tagging for edit-abbrevs-mode.
(edit-abbrevs-mode): Make non-interactive.
2022-01-10 01:09:10 +01:00
Stefan Kangas
8dba3a0626 Improve docstring of edit-abbrevs
* lisp/abbrev.el (edit-abbrevs): Doc fix; don't use obsolete name.
Improve docstring formatting.
2022-01-10 01:00:58 +01:00
Stefan Monnier
dc1ee5b502 * lisp/gnus/nnnil.el (nnnil-close-server): Add new defs arg 2022-01-09 17:16:47 -05:00
Ivan Sokolov
4509095d79 Add doc-string indices to easy-mmode-{defmap,defsyntax}
* lisp/emacs-lisp/easy-mmode.el (easy-mmode-defmap)
(easy-mmode-defsyntax): Declare third argument as doc-string.
(Bug#52978)
2022-01-09 16:37:02 +01:00
Po Lu
54971f5c14 Add an option to display the cursor at the beginning of any preedit text
Believe it or not, people actually want this, because it makes
Emacs behave closer to some other editors such as WPS Office.

* lisp/term/x-win.el
(x-display-cursor-at-start-of-preedit-string): New user option.
(x-preedit-text): Respect new option.
2022-01-09 20:55:16 +08:00
Eli Zaretskii
e28849eb02 Revert "Fix alignment on font size change in tabulated-list-mode"
This reverts commit 2767c89db7.

That change caused a regression in a much more important use
case, see bug#53133.
2022-01-09 12:38:26 +02:00
Stefan Kangas
262a7c9ea0 New minor mode elide-head-mode
* lisp/elide-head.el (elide-head-mode): New minor mode.  (Bug#52980)
(elide-head--delete-overlay, elide-head--show)
(elide-head--hide): New functions factored out from ...
(elide-head, elide-head-show): ... here.  Make obsolete in favor
of elide-head-mode.
(elide-head-headers-to-hide): Doc fix.

* test/lisp/elide-head-tests.el (ert-x): Require.
(elide-head-tests-elide-head-mode)
(elide-head-tests-elide-head-mode/enable-disable)
(elide-head-tests-elide-head-mode/normal-mode)
(elide-head-tests-elide-head-mode/revert-buffer): New tests.
(elide-head--add-test): Update test to use elide-head-mode.
(elide-head-tests-elide-head)
(elide-head-tests-elide-head-with-prefix-arg)
(elide-head-tests-show): Make obsolete.
2022-01-09 11:12:06 +01:00
Po Lu
a2868656ab * lisp/term/x-win.el (x-preedit-text): Make edit overlay window local. 2022-01-09 17:50:51 +08:00
Eli Zaretskii
4c724af1e3 ; * lisp/emacs-lisp/package.el (package-native-compile): Fix doc wording. 2022-01-09 10:25:36 +02:00
Stefan Kangas
3984ea8553 Merge from origin/emacs-28
30f1bdb41f Clarify docstring of package-native-compile
c54fda643d Fix Subject "simplification" in Rmail
2022-01-09 06:30:18 +01:00
Stefan Kangas
30f1bdb41f Clarify docstring of package-native-compile
* lisp/emacs-lisp/package.el (package-native-compile): Clarify
docstring.
2022-01-09 03:18:38 +01:00
Eli Zaretskii
c54fda643d Fix Subject "simplification" in Rmail
* lisp/mail/rmail.el (rmail-simplified-subject): Match against
"[external]" _after_ decoding the Subject by RFC-2047.
2022-01-08 16:32:01 +02:00
Po Lu
e05512ba42 Fix pinch-to-scale on real X servers and NS
* lisp/face-remap.el (text-scale-pinch): Stop waiting for
more events.
2022-01-08 20:53:02 +08:00
Michael Albinus
9652736b08 Adapt Tramp for `auth-info-password'
* lisp/net/tramp-compat.el (tramp-compat-auth-info-password):
New defalias.

* lisp/net/tramp.el (tramp-read-passwd): Use it.
2022-01-08 13:38:18 +01:00
Stefan Kangas
d2284b0353 ; Update files for 28.0.91 pretest
* ChangeLog.3:
* etc/AUTHORS:
* lisp/ldefs-boot.el: Update.
2022-01-08 13:09:25 +01:00
Po Lu
f7c3d62833 * lisp/cus-start.el (standard): Fix standard customizables for PGTK. 2022-01-08 15:30:02 +08:00
Po Lu
d76fb0c11e Allow using GTK+ to handle input methods on X
* doc/emacs/xresources.texi (Table of Resources): Document new
value of `inputStyle'.
* etc/NEWS: Announce new option.

* lisp/cus-start.el (standard): Add `x-gtk-use-native-input'.
* src/gtkutil.c (xg_mark_data): Mark xg_pending_quit_event.
(xg_add_virtual_mods):
(xg_im_context_commit):
(xg_im_context_preedit_changed):
(xg_im_context_preedit_end):
(xg_widget_key_press_event_cb):
(xg_filter_key): New functions.
* src/gtkutil.h: Add prototype for `xg_filter_key'.
* src/xfns.c (xic_set_preeditarea): Set cursor location for the
GTK IM context as well.
* src/xterm.c (xg_pending_quit_event): New variable.
(x_focus_changed): Set focus on the GTK input context as well.
(x_filter_event): Filter events through GTK if the user asked
for it.
(handle_one_xevent): Likewise.
(XTread_socket): Set hold_quit to xg_pending_quit_event if it
exists.
(x_draw_window_cursor): Always set preedit area even if XIC
doesn't exist.
* src/xterm.h (struct x_display_info): New field
`prefer_native_input'.
(struct x_output): New field `im_context'.
2022-01-08 15:21:51 +08:00
Sam Steingold
ad5cf84fa7 Add `auth-info-password' and use it instead of ad hoc code
* lisp/auth-source.el (auth-info-password):
  Extract from `auth-source-pick-first-password'.
(auth-source-pick-first-password, auth-source-secrets-create)
(auth-source-user-and-password): Use `auth-info-password'.
* lisp/erc/erc-services.el (erc-nickserv-get-password):
  Use `auth-source-pick-first-password'.
* lisp/erc/erc.el (erc-open, erc-server-join-channel): Likewise.
* lisp/gnus/mail-source.el (mail-source-set-1): Add a comment.
* lisp/gnus/nnimap.el (nnimap-credentials): Use `auth-info-password'.
* lisp/gnus/nntp.el (nntp-send-authinfo): Likewise.
* lisp/mail/rmail.el (rmail-get-remote-password): Likewise.
* lisp/mail/smtpmail.el (smtpmail-try-auth-methods): Likewise.
* lisp/net/sieve-manage.el (sieve-sasl-auth): Likewise.
* lisp/net/tramp.el (tramp-read-passwd): Likewise.
* lisp/net/rcirc.el (rcirc): Likewise (fixes a bug: the possibility
  that password might be a function was not handled).
2022-01-07 14:48:59 -05:00
Eli Zaretskii
19c6cad182 Fix "C-SPC C-SPC" after "C-x C-x"
* lisp/simple.el (exchange-point-and-mark): Fix what the command
does when 'transient-mark-mode' is OFF.  (Bug#52896)
2022-01-07 20:30:17 +02:00
Po Lu
751789471c Display pre-edit information from X input methods
This also repurposes the `pgtk-preedit-text' event to be
meaningful on X, renames it `preedit-text', and documents it.

* doc/lispref/commands.texi (Misc Events): Document
`preedit-text'.
* lisp/term/pgtk-win.el (pgtk-preedit-text): Bind to
`preedit-text' instead.
* lisp/term/x-win.el (x-preedit-overlay): New variable.
(x-preedit-text): New command, bound as a special event to
`preedit-text'.

* src/keyboard.c (kbd_buffer_get_event):
(make_lispy_event): Rename PGTK_PREEDIT_TEXT_EVENT
PREEDIT_TEXT_EVENT.
(syms_of_keyboard): New defsym `preedit-text'.
* src/pgtkterm.c (pgtk_enqueue_preedit): Use PREEDIT_TEXT_EVENT
instead.
* src/termhooks.h (enum event_kind): Rename
`PGTK_PREEDIT_TEXT_EVENT' `PREEDIT_TEXT_EVENT'.

* src/xfns.c (Xxic_preedit_draw_callback):
(Xxic_preedit_caret_callback):
(Xxic_preedit_done_callback):
(Xxic_preedit_start_callback): New callback variables.

(STYLE_OFFTHESPOT, STYLE_OVERTHESPOT):
(STYLE_ROOT, STYLE_CALLBACK, STYLE_NONE): New macros.
(supported_xim_styles): Use reasonable values.  This also serves
as a better fix for bug#10867.
(best_xim_style): Restore code deleted as part of the original
fix for bug#10867.
(create_frame_xic): Add preedit callbacks.
(xic_set_preeditarea): Add preedit callbacks.
(x_xic_to_frame):
(xic_preedit_start_callback):
(xic_preedit_caret_callback):
(xic_preedit_done_callback):
(x_xim_text_to_utf8_unix):
(xic_preedit_draw_callback): New functions.

* src/xterm.c (x_detect_focus_change): Fix type of XI event.
(x_free_frame_resources): Free preedit text buffer if still
present.
* src/xterm.h (struct x_output): New fields `preedit_size',
`preedit_chars' and `preedit_active'.
2022-01-07 14:42:08 +08:00
Eli Zaretskii
7945d86829 ; Fix recent changes in rcirc documentation
* doc/misc/rcirc.texi (Changing the time stamp format):
* lisp/net/rcirc.el (rcirc-when): Fix documentation wording.
2022-01-06 18:53:45 +02:00
Philip Kaludercic
0d46683202 Add rcirc-when command
* doc/misc/rcirc.texi: Document rcirc-when.
* etc/NEWS: Document rcirc-when.
* lisp/net/rcirc.el (rcirc-when): Add command.
2022-01-06 14:56:23 +01:00
Eli Zaretskii
daedbb2f5b Improve documentation of font-related face attributes
* lisp/faces.el (set-face-attribute): Mention aliases of face
attributes.  (Bug#53050)
2022-01-06 15:47:21 +02:00
Stefan Monnier
61f8f7f68f cl-generic.el: Fix bug#46722
Fix longstanding bug due to unexpected interference via side-effect.

* lisp/emacs-lisp/cl-generic.el (cl--generic-get-dispatcher):
Copy the `dispatch` arg before storing it into the hash-table.
2022-01-05 14:28:37 -05:00
Juri Linkov
2b59a42583 * lisp/textmodes/paragraphs.el (repunctuate-sentences): Use filter variable.
(repunctuate-sentences-filter)<defun>:
Reimplement without using match data.
(repunctuate-sentences-filter)<defvar>: New variable.
(repunctuate-sentences): Use new variable.
Remove regexp group from spaces as was before.
https://lists.gnu.org/archive/html/emacs-devel/2022-01/msg00395.html
2022-01-05 20:47:20 +02:00
Lars Ingebrigtsen
0a51652f6d Fix typo in cvs-status-mode-map keymap
* lisp/vc/cvs-status.el (cvs-status-mode-map): Fix typo in keymap
definition.
2022-01-05 17:07:07 +01:00
Stefan Kangas
fab840e381 ; * lisp/buff-menu.el (Buffer-menu-mode-map): Fix warning. 2022-01-05 14:56:00 +01:00
Eli Zaretskii
bb0c197b77 ; Fix typo in last change. 2022-01-05 15:14:54 +02:00
Eli Zaretskii
82959661e5 Fix info-lookup docs and "C-h S" in major-modes with no manuals
* lisp/info-look.el (info-lookup-alist, info-lookup-add-help)
(info-lookup-symbol, info-lookup-file, info-lookup)
(info-lookup-interactive-arguments): Clarify and expand the doc
strings.
(info-lookup-change-mode): Topic values can have their `:mode' as
a cons cell, not just a mode's symbol; support that.
2022-01-05 15:11:24 +02:00
Stefan Kangas
83e346b70a * lisp/buff-menu.el (Buffer-menu-mode-map): Use defvar-keymap. 2022-01-05 12:07:10 +01:00
Stefan Kangas
d763c12796 Merge from origin/emacs-28
e7aa3ece52 Fix vc-git with old Git over Tramp and cygwin-mount.el
c0cfbca311 * lisp/emacs-lisp/checkdoc.el (bytecomp): Add missing require

# Conflicts:
#	etc/NEWS
2022-01-05 06:30:39 +01:00
Dmitry Gutov
e7aa3ece52 Fix vc-git with old Git over Tramp and cygwin-mount.el
* lisp/vc/vc-git.el (vc-git-use-literal-pathspecs): New variable.
(vc-git-command, vc-git--call): Use it to determine whether to set
GIT_LITERAL_PATHSPECS=1 (bug#51497).
(vc-git--literal-pathspec, vc-git--literal-pathspecs): Remove.
Update all callers.  This reverts the previous solution for bug#39452.

* lisp/progmodes/project.el (project--vc-list-files):
Use the new variable.
2022-01-05 04:08:10 +02:00
Philipp Stephani
c0cfbca311 * lisp/emacs-lisp/checkdoc.el (bytecomp): Add missing require 2022-01-05 01:41:46 +01:00
Daniel Mendler
30d4cfc080 completion--nth-completion: Throw meaningful error
If a configured completion style does not exist, throw a meaningful
error. Also make completion-styles-alist a defvar, since completion
styles like orderless extend it.

* lisp/minibuffer.el (completion-styles-alist): Make it a defvar.
(completion--nth-completion): Give a more meaningful error.
2022-01-04 19:16:37 -05:00
Robert Pluim
a0263cfee3 Remove ambiguity from key-valid-p docstring
* lisp/keymap.el (key-valid-p): Be explicit about the separator
being one and only one space.
2022-01-04 16:43:03 +01:00
Lars Ingebrigtsen
0d315102fe Improve pp-emacs-lisp-code for #'
* lisp/emacs-lisp/pp.el (pp--insert-lisp): Format (function ...)
as #'.
2022-01-04 15:51:04 +01:00