Po Lu [Sun, 23 Oct 2022 06:12:02 +0000 (14:12 +0800)]
Reduce duplicate code for creating "special windows"
* src/xterm.c (x_create_special_window): Define on all non-GTK
builds and all builds with XFixes.
(x_update_frame_user_time_window): Use x_create_special_window.
Also write a comment explaining what user time windows are.
* src/xterm.h: Fix style of `x_parse_color' prototype.
Stefan Kangas [Sun, 23 Oct 2022 04:31:19 +0000 (06:31 +0200)]
Merge from origin/emacs-28
f1f4a0c9d2 ; * doc/lispref/display.texi (Progress): Correct typo. (B...
Stefan Kangas [Sun, 23 Oct 2022 04:31:19 +0000 (06:31 +0200)]
; Merge from origin/emacs-28
The following commit was skipped:
ee9a9fbf0f ; cperl-mode.el: Fix one match-count in my commit 2021-09-14
Stefan Kangas [Sun, 23 Oct 2022 04:31:19 +0000 (06:31 +0200)]
Merge from origin/emacs-28
626525c29f ; Remove reference to non-existent Flymake function from m...
Basil L. Contovounesios [Sat, 22 Oct 2022 17:25:54 +0000 (20:25 +0300)]
Improve error reporting of EUDC plist functions
* lisp/net/eudc.el (eudc--plist-member): Signal a more
informative wrong-type-argument instead of a generic error
(bug#58531#19, bug#58720).
* test/lisp/net/eudc-tests.el (eudc--plist-member)
(eudc-plist-member, eudc-plist-get, eudc-lax-plist-get):
Update tests accordingly.
Eli Zaretskii [Sat, 22 Oct 2022 19:05:50 +0000 (22:05 +0300)]
; * doc/emacs/text.texi (Outline Mode): Fix markup and wording.
Juri Linkov [Sat, 22 Oct 2022 18:57:40 +0000 (21:57 +0300)]
* lisp/outline.el: Use 'outline-cycle' on buttons for 'RET' like 'TAB' uses.
(outline--make-button-overlay, outline--make-margin-overlay):
Use overlay keymap where RET and mouse-2 are bound to outline-cycle.
(outline--insert-open-button, outline--insert-close-button):
Move overlay keymap to outline--make-button-overlay and replace
bindings outline-hide-subtree/outline-show-subtree with outline-cycle.
Juri Linkov [Sat, 22 Oct 2022 18:37:56 +0000 (21:37 +0300)]
Unify outline-minor-mode-use-buttons with in-margins/insert values (bug#57813)
* doc/emacs/text.texi (Outline Mode): Remove outline-minor-mode-use-margins.
Document the values insert/in-margins of outline-minor-mode-use-buttons.
* lisp/help.el (describe-bindings):
Set outline-minor-mode-use-buttons to 'insert'.
* lisp/textmodes/emacs-news-mode.el (emacs-news--mode-common):
Set outline-minor-mode-use-buttons to 'in-margins'.
* lisp/outline.el (outline-minor-mode-use-buttons): Change :type
from 'buffer-predicate' to choice of const values nil/in-margins/t.
(outline--use-buttons, outline-minor-mode-insert-buttons)
(outline-minor-mode-use-margins, outline--use-margins): Remove variables.
(outline-minor-mode-highlight-buffer): Change overlay name
'outline-overlay' to 'outline-highlight'.
(outline-minor-mode): Simplify to handle possible values of
'outline-minor-mode-use-buttons' instead of using many variables.
(outline--make-button-overlay): Use value 'insert' of
'outline-minor-mode-use-buttons'.
(outline--insert-open-button, outline--insert-close-button)
(outline--fix-up-all-buttons, outline--fix-buttons-after-change):
Handle values of outline-minor-mode-use-buttons instead of using
many variables.
Juri Linkov [Sat, 22 Oct 2022 17:46:10 +0000 (20:46 +0300)]
* lisp/info.el (Info-toc-build): Remove message not needed anymore (bug#58634)
Basil L. Contovounesios [Sat, 20 Aug 2022 13:32:33 +0000 (16:32 +0300)]
Audit some plist uses with new predicate argument
* doc/lispref/lists.texi (Plist Access): Improve description of
default predicate.
* lisp/emacs-lisp/cl-extra.el (cl-getf, cl--set-getf): Assume
plist-member always returns a cons.
* lisp/emacs-lisp/gv.el (plist-get): Support new optional predicate
argument (bug#47425#91).
* lisp/emacs-lisp/map.el: Bump minor version.
(map--dispatch): Remove now that bug#58563 is fixed. Break two
remaining uses out into corresponding cl-defmethods.
(map--plist-p): Add docstring.
(map--plist-has-predicate, map--plist-member-1, map--plist-member)
(map--plist-put-1, map--plist-put): New definitions for supporting
predicate argument backward compatibly.
(map-elt): Fix generalized variable getter under a
predicate (bug#58531). Use predicate when given a plist.
(map-put): Avoid gratuitous warnings when called without the hidden
predicate argument. Improve obsoletion message.
(map-put!): Use predicate when given a plist.
(map-contains-key): Ditto. Declare forgotten
advertised-calling-convention (bug#58531#19).
(map--put): Group definition in file together with that of map-put!.
* lisp/files-x.el (connection-local-normalize-criteria): Simplify
using mapcan + plist-get.
* lisp/net/eudc.el (eudc--plist-member): New convenience function.
(eudc-plist-member, eudc-plist-get, eudc-lax-plist-get): Use it
instead of open-coding plist-member.
* src/fns.c (Fplist_get, plist_get, Fplist_put, plist_put): Pass the
plist element as the first argument to the predicate, for
consistency with assoc + alist-get.
(Fplist_member, plist_member): Move from widget to plist section.
Open-code the EQ case in plist_member, and call it from
Fplist_member in that case, rather than the other way around.
* test/lisp/apropos-tests.el (apropos-tests-format-plist): Avoid
polluting obarray.
* test/lisp/emacs-lisp/cl-extra-tests.el (cl-getf): Extend test with
generalized variables, degenerate plists, and improper lists.
* test/lisp/emacs-lisp/gv-tests.el: Byte-compile file; in the
meantime bug#24402 seems to have been fixed or worked around.
(gv-setter-edebug): Inhibit printing messages.
(gv-plist-get): Avoid modifying constant literals. Also test with a
predicate argument.
* test/lisp/emacs-lisp/map-tests.el (with-maps-do): Simplify
docstring.
(test-map-elt-testfn): Rename...
(test-map-elt-testfn-alist): ...to this. Also test with a predicate
argument.
(test-map-elt-testfn-plist, test-map-elt-gv, test-map-elt-signature)
(test-map-put!-plist, test-map-put!-signature)
(test-map-contains-key-signature, test-map-plist-member)
(test-map-plist-put): New tests.
(test-map-contains-key-testfn): Also test with a predicate argument.
(test-map-setf-alist-overwrite-key, test-map-setf-plist-insert-key)
(test-map-setf-plist-overwrite-key): Avoid modifying constant
literals.
(test-hash-table-setf-insert-key)
(test-hash-table-setf-overwrite-key): Fix indentation.
(test-setf-map-with-function): Make test more precise.
* test/lisp/net/eudc-tests.el: New file.
* test/lisp/subr-tests.el (test-plistp): Extend test with circular
list.
* test/src/fns-tests.el (test-cycle-equal, test-cycle-nconc): Move
from plist section to circular list section.
(plist-put/odd-number-of-elements): Avoid modifying constant
literals.
(plist-member/improper-list): Simplify.
(test-plist): Move to plist section. Also test with a predicate
argument.
Po Lu [Sat, 22 Oct 2022 12:15:22 +0000 (20:15 +0800)]
Further fixes to menu event processing on no-toolkit builds
* src/xdisp.c (note_mouse_highlight): Return if a popup is
activated under the no-toolkit build as well.
* src/xmenu.c (pop_down_menu): Clear popup_activated_flag when
not on MS-DOS.
(x_menu_show): Set popup_activated_flag under X.
Stefan Kangas [Sat, 22 Oct 2022 10:15:49 +0000 (12:15 +0200)]
* admin/notes/repo: Document feature and scratch branches.
Filipp Gunbin [Fri, 21 Oct 2022 18:21:54 +0000 (21:21 +0300)]
; Improve manual for Tramp kubernetes method
* doc/misc/tramp.texi (Inline methods): Add note about cache reset.
Matt Armstrong [Fri, 21 Oct 2022 03:56:03 +0000 (20:56 -0700)]
; * doc/lispref/display.texi (Progress): Correct typo. (Bug#58674)
Eli Zaretskii [Fri, 21 Oct 2022 16:05:48 +0000 (19:05 +0300)]
; * src/menu.c (x_popup_menu_1): Make 'cancel_hourglass' call conditional.
Eli Zaretskii [Fri, 21 Oct 2022 15:29:05 +0000 (18:29 +0300)]
Merge branch 'master' of git.savannah.gnu.org:/srv/git/emacs
Eli Zaretskii [Fri, 21 Oct 2022 15:27:30 +0000 (18:27 +0300)]
; * src/menu.c: Include dispextern.h (bug#58688).
Nacho Barrientos [Thu, 20 Oct 2022 12:16:43 +0000 (14:16 +0200)]
Bindat (src, strz): Operate on vectors too
Copyright-paperwork-exempt: yes
* lisp/emacs-lisp/bindat.el (bindat--unpack-str, bindat--unpack-strz):
Fix the non-string case.
* test/lisp/emacs-lisp/bindat-tests.el (bindat-test--strz-array-unpack)
(bindat-test--str-simple-array-unpack,bindat-test--str-combined-array-unpack):
New tests.
Po Lu [Fri, 21 Oct 2022 13:31:54 +0000 (21:31 +0800)]
Fix various menu problems
* src/menu.c (x_popup_menu_1): Cancel hourglass timer before
displaying popup.
* src/xterm.c (x_show_hourglass): Avoid displaying hourglass
cursor during a popup.
(handle_one_xevent): Under X Toolkit and GTK+ 2.x builds with
XInput 2, clear the mouse face upon a core LeaveNotify; these
can be generated by menu grabs.
(x_wm_set_size_hint): Fix Motif build warning.
Eli Zaretskii [Fri, 21 Oct 2022 13:17:17 +0000 (16:17 +0300)]
; * doc/emacs/programs.texi (Programming Language Doc): Fix typos.
Eli Zaretskii [Fri, 21 Oct 2022 13:10:08 +0000 (16:10 +0300)]
Improve and extend documentation of ElDoc
* lisp/emacs-lisp/eldoc.el (eldoc-documentation-strategy)
(eldoc-documentation-enthusiast)
(eldoc-documentation-compose-eagerly)
(eldoc-documentation-compose, eldoc-documentation-default)
(eldoc-minibuffer-message, eldoc-idle-delay)
(eldoc-print-after-edit)
(eldoc-echo-area-display-truncation-message)
(eldoc-echo-area-use-multiline-p)
(eldoc-echo-area-prefer-doc-buffer): Doc string fixes.
* doc/emacs/emacs.texi (Top):
* doc/emacs/programs.texi (Documentation, Programming Language Doc):
Rename "Lisp Doc" to "Programming Language Doc", including in
parent menus. All references changed.
(Programming Language Doc): Formerly "Lisp Doc". Rewrite to not
be specific to Emacs Lisp. Improve markup and wording. Document
more commands and variables.
* doc/emacs/maintaining.texi (Maintaining): Improve indexing.
Po Lu [Fri, 21 Oct 2022 11:19:33 +0000 (19:19 +0800)]
Fix delivery of window manager ping events during menu
* oldXMenu/Activate.c (XMenuActivateSetExposeFunction)
(XMenuActivate):
* oldXMenu/XMenu.h: Remove expose functions.
* src/msdos.h (XMenuSetAEQ): Remove no longer used function.
* src/xmenu.c (x_menu_expose_event): Delete function.
(x_menu_dispatch_event): New function.
(x_menu_show): Set it as the XMenu event handler.
Mauro Aranda [Fri, 21 Oct 2022 10:45:27 +0000 (07:45 -0300)]
Fix last change in perl-mode
* lisp/progmodes/perl-mode.el (perl--syntax-exp-intro-regexp): Escape
$. Reported by Mattias Engdegård.
Brian Leung [Fri, 21 Oct 2022 05:47:10 +0000 (22:47 -0700)]
Add the "nil" language server to eglot-server-programs
* lisp/progmodes/eglot.el (eglot-server-programs): Add the "nil"
language server. Put it before rnix-lsp since it is more featureful
and more actively updated. (Bug#58676)
Ref: https://github.com/oxalica/nil
Brian Leung [Fri, 21 Oct 2022 05:49:08 +0000 (22:49 -0700)]
Add lua-language-server to eglot-server-programs
* lisp/progmodes/eglot.el (eglot-server-programs): Add
lua-language-server. It is, at the time of writing, more actively
developed and more popular than the lua-lsp server, so prioritize
that. (Bug#58676)
Basil L. Contovounesios [Thu, 20 Oct 2022 21:40:55 +0000 (00:40 +0300)]
; * doc/misc/eglot.texi (Top): Fix markup/typo.
Eli Zaretskii [Thu, 20 Oct 2022 19:03:12 +0000 (22:03 +0300)]
; * etc/NEWS: Mention Eglot.
Harald Jörg [Wed, 3 Nov 2021 14:04:10 +0000 (15:04 +0100)]
; cperl-mode.el: Fix one match-count in my commit 2021-09-14
* lisp/progmodes/cperl-mode.el (cperl-init-faces): Matching group needs
to be adjusted according to the regexp change in my previous commit
(cherry picked from commit
a25e91593d48a541b5940a2ed707ddfaef5c953f)
Filipp Gunbin [Thu, 20 Oct 2022 17:41:00 +0000 (20:41 +0300)]
Fix ldapsearch output parsing in ldap-search-internal
* lisp/net/ldap.el (ldap-search-internal): When parsing output, make
sure that file:// matched before opening the file. (bug#58605)
Eli Zaretskii [Thu, 20 Oct 2022 17:50:34 +0000 (20:50 +0300)]
Add Eglot to the menu bar
* lisp/progmodes/eglot.el (eglot): Improve the doc string.
* lisp/menu-bar.el (menu-bar-tools-menu): Add Eglot to the menu.
Eli Zaretskii [Thu, 20 Oct 2022 17:17:45 +0000 (20:17 +0300)]
Mention Eglot in the Emacs user manual
* doc/emacs/maintaining.texi (Xref):
* doc/emacs/programs.texi (Symbol Completion, Imenu): Mention Eglot.
Eli Zaretskii [Thu, 20 Oct 2022 16:02:14 +0000 (19:02 +0300)]
; Minor copyedits to eglot.texi.
Eli Zaretskii [Thu, 20 Oct 2022 14:08:15 +0000 (17:08 +0300)]
; * doc/misc/eglot.texi: Fix a typo.
Eli Zaretskii [Thu, 20 Oct 2022 14:05:01 +0000 (17:05 +0300)]
; * doc/misc/eglot.texi: Undo some recent "fixes" to the Eglot manual.
João Távora [Thu, 20 Oct 2022 12:50:09 +0000 (13:50 +0100)]
Merge branch 'feature/eglot2emacs'
João Távora [Thu, 20 Oct 2022 12:49:49 +0000 (13:49 +0100)]
; fix warning about order of defvaralias/defconst
* lisp/progmodes/eglot.el (eglot-{}): Declare alias before thing
being aliased.
João Távora [Thu, 20 Oct 2022 11:59:22 +0000 (12:59 +0100)]
Minor fixes to doc/misc/eglot.texi
* doc/misc/eglot.texi (eglot-workspace-configuration): Correct
markup of eglot-{}
(Quick Start): Fix section cross reference.
João Távora [Thu, 20 Oct 2022 11:45:31 +0000 (12:45 +0100)]
* lisp/info-look.el (mapc): Add Eglot manual's index.
Po Lu [Sun, 7 Aug 2022 05:46:52 +0000 (13:46 +0800)]
Work around problems setting input focus when a frame is in the background
* src/xterm.c (server_timestamp_predicate, x_get_server_time):
New functions.
(x_ewmh_activate_frame, x_focus_frame, syms_of_xterm): Apply
various workarounds for window manager "focus stealing
prevention". (bug#57012)
Po Lu [Sun, 7 Aug 2022 05:49:59 +0000 (13:49 +0800)]
* etc/PROBLEMS: Document window manager focus problems.
João Távora [Thu, 20 Oct 2022 11:30:49 +0000 (12:30 +0100)]
Merge branch 'feature/eglot-texi-manual' into feature/eglot2emacs
João Távora [Thu, 20 Oct 2022 11:16:19 +0000 (12:16 +0100)]
; Merge from https://github.com/joaotavora/eglot
João Távora [Thu, 20 Oct 2022 10:42:25 +0000 (11:42 +0100)]
Revert "eglot.texi: Make example more realistic"
This quest for realism ignores the fact that a previous example for a
hypothetical language Foo and a language server "fools" already
exists. It also undermines the intended generality of the
instructions.
This reverts commit
16986a9cc42ef4de580456f4acc5feba682ac8b1.
João Távora [Thu, 20 Oct 2022 10:20:30 +0000 (11:20 +0100)]
Fix Eglot manual's description of eglot-workspace-configuration
* doc/misc/eglot.texi (Customizing Eglot)
(eglot-workspace-configuration): Explain that plist may be
arbitrarily complex and correctly identify nil as the Elisp
equivalent to JSON null.
Mauro Aranda [Thu, 20 Oct 2022 10:34:38 +0000 (07:34 -0300)]
Improve HERE document detection in perl-mode
* lisp/progmodes/perl-mode.el (perl-syntax-propertize-function):
Detect indented HERE documents when using a bare identifier.
(perl--syntax-exp-intro-keywords): Recognize HERE documents that come
after die, warn and eval.
(perl--syntax-exp-intro-regexp): Identify HERE documents when printing
to a filehandle with printf? and when they appear after a fat comma.
* test/lisp/progmodes/cperl-mode-resources/here-docs.pl: Add more tests.
João Távora [Thu, 20 Oct 2022 10:06:44 +0000 (11:06 +0100)]
Expose eglot-{} to be used in eglot-workspace-configuration
* eglot.el (eglot-{}): New variable alias.
GitHub-reference: per https://github.com/joaotavora/eglot/issues/1084
João Távora [Thu, 20 Oct 2022 09:48:11 +0000 (10:48 +0100)]
Rework header of eglot.el
* eglot.el (Commentary): Rework.
João Távora [Mon, 10 Oct 2022 12:57:26 +0000 (13:57 +0100)]
Do use eglot-connect-timeout if eglot-sync-connect is t
Reported by Eli Zaretskii <eliz@gnu.org>
* eglot.el (eglot--connect): Use eglot-connect-timeout in the case
eglot-sync-connect is t.
Stefan Kangas [Thu, 20 Oct 2022 09:43:08 +0000 (11:43 +0200)]
eglot.texi: Explain where to find third-party packages
* doc/misc/eglot.texi (Eglot Features): Improve description on
third-party packages.
Stefan Kangas [Thu, 20 Oct 2022 09:42:29 +0000 (11:42 +0200)]
eglot.texi: Make example more realistic
* doc/misc/eglot.texi (Eglot and Buffers): Prefer more realistic
*.c instead of *.foo in example.
Stefan Kangas [Thu, 20 Oct 2022 09:40:37 +0000 (11:40 +0200)]
eglot.texi: Move sentence on LSP Servers earlier
* doc/misc/eglot.texi (Setting Up LSP Servers): Move explanation
on the (lack of) need for customizing servers earlier.
Stefan Kangas [Thu, 20 Oct 2022 09:38:18 +0000 (11:38 +0200)]
; eglot.texi: Fix typos and minor inconsistencies
* doc/misc/eglot.texi: Fix typos and minor inconsistencies.
Stefan Kangas [Thu, 20 Oct 2022 09:02:09 +0000 (11:02 +0200)]
* doc/misc/Makefile.in (INFO_COMMON): Add eglot.
Stefan Kangas [Thu, 20 Oct 2022 07:32:58 +0000 (09:32 +0200)]
Prefer defvar-keymap in modula2.el
* lisp/progmodes/modula2.el (m2-mode-map): Prefer defvar-keymap.
Eli Zaretskii [Thu, 20 Oct 2022 06:58:18 +0000 (09:58 +0300)]
; Fix documentation and name of 'slovak-qwerty' input method
* etc/NEWS: Fix entry for slovak-qwerty.
* lisp/leim/quail/slovak.el ("slovak", "slovak-qwerty"): Doc fix.
Rudolf Adamkovič [Wed, 19 Oct 2022 18:57:03 +0000 (20:57 +0200)]
Add 'slovak-querty' input method (bug#58642)
* lisp/leim/quail/slovak.el ("slovak-querty"): New input method.
* etc/NEWS: Mention the new 'slovak-querty' input method.
Eli Zaretskii [Thu, 20 Oct 2022 05:59:18 +0000 (08:59 +0300)]
; Remove reference to non-existent Flymake function from manual
* doc/emacs/building.texi (Flymake): Replace reference to a delete
command 'flymake-display-err-menu-for-current-line' with existing
equivalents. (Bug#58649)
Stefan Kangas [Thu, 20 Oct 2022 04:31:29 +0000 (06:31 +0200)]
Merge from origin/emacs-28
4b2c83eeaf ; * doc/lispref/modes.texi (Defining Minor Modes): Explain...
Andrea Corallo [Wed, 19 Oct 2022 20:08:41 +0000 (22:08 +0200)]
* Fix async native compilation (bug#58637)
* lisp/emacs-lisp/comp.el (comp--native-compile): Fix gate condition.
(comp-run-async-workers): Add assetion.
Stefan Kangas [Wed, 19 Oct 2022 18:53:36 +0000 (20:53 +0200)]
; * test/lisp/image/wallpaper-tests.el: Simplify last change.
Alan Mackenzie [Wed, 19 Oct 2022 14:52:14 +0000 (14:52 +0000)]
CC Mode: Cease adding types to found-types too eagerly
This fixes bug #58537 and bug #58539.
* lisp/progmodes/cc-engine.el (c-forward-type): Remove trailing whitespace
from an identifier before passing it to c-add-type.
(c-forward-decl-or-cast-1): CASE 3: Do not recognize two consecutive
identifiers as type + variable/function unless certain conditions are met.
CASE 10: Do not recognize the "type" as a found type unless certain condtions
are met. (Near end): Do not recognize the identifier in a cast as a type
unless certain conditions are met.
* lisp/progmodes/cc-fonts.el (c-get-fontification-context): Recognize being
in declaration parens when there is a syntactially wrong "foo ((bar))"
preceding the match position.
* lisp/progmodes/cc-mode.el (c-update-new-id): Set c-new-id-is-type
unconditionally to nil to prevent a second identifier being wrongly marked as
a type.
Stefan Kangas [Wed, 19 Oct 2022 14:15:02 +0000 (16:15 +0200)]
; Delete file after wallpaper test
* test/lisp/image/wallpaper-tests.el
(wallpaper-set/calls-init-action): Don't leave temp file behind.
Po Lu [Wed, 19 Oct 2022 13:31:54 +0000 (21:31 +0800)]
Fix various builds
* src/xterm.c (x_handle_selection_monitor_event): Adjust for
build without XInput2.
(x_maybe_clear_preedit, xim_destroy_callback): Make conditional
on Release 6 XIM.
(x_get_keyboard_modifiers): Adjust for build without XCB.
Po Lu [Wed, 19 Oct 2022 13:19:08 +0000 (21:19 +0800)]
Fix build warning without XKB, Xmb, and XInput 2
* src/xterm.c (handle_one_xevent): Avoid defining
USE_SAFE_ALLOCA when SAFE_ALLOCA is not actually used.
João Távora [Wed, 19 Oct 2022 12:23:14 +0000 (13:23 +0100)]
Remove spurious trailing ':' in doc/misc/eglot.texi
* doc/misc/eglot.texi (Customizing Eglot): Remove spurious ':'.
João Távora [Wed, 19 Oct 2022 12:21:40 +0000 (13:21 +0100)]
Tweak some node names in doc/misc/eglot.texi
"Shutting Down LSP Server" -> "Shutting Down LSP Servers"
"Setting Up LSP Server" -> "Setting Up LSP Servers"
* doc/misc/eglot.texi: Rework node names.
Eli Zaretskii [Wed, 19 Oct 2022 11:50:23 +0000 (14:50 +0300)]
; * doc/lispref/modes.texi (Defining Minor Modes): Explain TURN-ON.
Eli Zaretskii [Wed, 19 Oct 2022 11:40:11 +0000 (14:40 +0300)]
; Fix last change
* lisp/leim/quail/indian.el ("tamil99"):
* etc/NEWS: Minor copyedits of the tamil99 documentation.
Arun Isaac [Tue, 18 Oct 2022 18:00:59 +0000 (23:30 +0530)]
Add tamil99 input method (bug#58070)
* lisp/leim/quail/indian.el: Require pcase and seq.
("tamil99"): New input method.
* etc/NEWS: Mention new tamil99 input method.
Stefan Kangas [Wed, 19 Oct 2022 11:26:54 +0000 (13:26 +0200)]
Add admin/emacs-shell-lib for shared bash code
* admin/emacs-shell-lib: New file for shared bash code.
* admin/automerge:
* admin/diff-tar-files:
* admin/emacs-shell-lib:
* admin/make-manuals:
* admin/update_autogen:
* admin/upload-manuals: Simplify and improve using above new library.
Stefan Kangas [Wed, 19 Oct 2022 06:02:36 +0000 (08:02 +0200)]
* lib-src/rcs2log: Add fallback for $TMPDIR.
Stefan Kangas [Wed, 19 Oct 2022 04:31:16 +0000 (06:31 +0200)]
Merge from origin/emacs-28
efd3ef3ceb ; * src/window.c: Fix some comments. (Bug#58550)
Randy Taylor [Tue, 18 Oct 2022 01:29:30 +0000 (21:29 -0400)]
; * src/xterm.c (mark_xterm): Fix x11 with i18n build
Stefan Monnier [Tue, 18 Oct 2022 22:43:50 +0000 (18:43 -0400)]
(sit-for): Add compiler-macro to warn about obsolete calling convention
* lisp/subr.el (sit-for): Add compiler-macro.
* lisp/eshell/esh-util.el (eshell-redisplay):
* lisp/play/zone.el (zone, zone-pgm-jitter, zone-pgm-whack-chars):
(zone-remove-text): Avoid obsolete calling convention.
Lars Ingebrigtsen [Tue, 18 Oct 2022 20:17:12 +0000 (22:17 +0200)]
Fix functions.texi syntax error
* doc/lispref/functions.texi (Function Documentation): Fix syntax
error.
Stefan Monnier [Tue, 18 Oct 2022 20:06:42 +0000 (16:06 -0400)]
functions.texi: Fix bug#58602
* doc/lispref/functions.texi (Function Documentation): Document
`:documentation` and `function-documentation`.
Juri Linkov [Tue, 18 Oct 2022 18:13:29 +0000 (21:13 +0300)]
* lisp/outline.el (outline-minor-mode-insert-buttons): New defvar-local.
(outline--make-button-overlay, outline--insert-open-button)
(outline--insert-close-button): Insert button when
outline-minor-mode-insert-buttons is non-nil, otherwise
put an overlay with before-string. (bug#57813)
* lisp/help.el (describe-bindings): Set buffer-local
outline-minor-mode-insert-buttons to t.
* lisp/textmodes/emacs-news-mode.el (emacs-news--mode-common):
Set buffer-local outline-minor-mode-use-margins to t. Don't set
outline-regexp for leading spaces because now spaces are not added
in the NEWS buffer.
Juri Linkov [Tue, 18 Oct 2022 18:05:15 +0000 (21:05 +0300)]
* lisp/outline.el: Use one character wide strings for margins (bug#57813)
(outline-open-in-margins, outline-close-in-margins)
(outline-close-rtl-in-margins): Add 1-char emoji, symbol, text
for margins that are 1-column wide.
(outline-minor-mode): Force display of margins only for the selected buffer.
Michael Albinus [Tue, 18 Oct 2022 17:39:34 +0000 (19:39 +0200)]
* lisp/net/tramp.el (tramp-file-name-equal-p): Fix docstring.
Michael Albinus [Tue, 18 Oct 2022 17:39:23 +0000 (19:39 +0200)]
* etc/NEWS: Adapt connection-local variables entries.
Matt Armstrong [Tue, 18 Oct 2022 15:29:49 +0000 (08:29 -0700)]
* .gitignore: Unignore the tests/manual directory. (Bug#58611)
Stefan Monnier [Tue, 18 Oct 2022 14:49:43 +0000 (10:49 -0400)]
(byte-compile--first-symbol-with-pos): Fix bug#58601
* lisp/emacs-lisp/bytecomp.el: Require `subr-x`.
(byte-compile--first-symbol-with-pos): Avoid inf-loops on circular data.
João Távora [Tue, 18 Oct 2022 13:46:27 +0000 (14:46 +0100)]
More minor fixes to doc/misc/eglot.texi
Most, if not all of these, were previously discussed with Eli.
* doc/misc/eglot.texi (Setting Up LSP Server): Fix repetition of
"This variable".
(Setting Up LSP Server): Explain that single a running instance
supports multiple major modes.
(Starting Eglot, Eglot and Buffers): Correctly describe mode-line indication.
(Eglot Features): Suggest that company-mode is just one of the
possible packages. Explain that Eglot arranges for the completion
package to "instantiate" snippets. Could have used "expand".
Mention benefits of having the popular markdown-mode available.
(Eglot Commands): Explain how eglot-reconnect and
eglot-clear-status are useful.
(Eglot Variables): Clarify when eglot-autoreconnect is useful.
Clarify how eglot-sync-connect and eglot-connect-timeout relate to
each other. Clarify semantics of
eglot-confirm-server-initiated-edits.
João Távora [Tue, 18 Oct 2022 11:46:48 +0000 (12:46 +0100)]
Minor stylistic fixes to introduction of doc/misc/eglot.texi
* doc/misc/eglot.texi (title): Add "the".
(Top): Fix sentence structure in top-level
introduction.
Lars Ingebrigtsen [Tue, 18 Oct 2022 11:17:59 +0000 (13:17 +0200)]
Regenerated ldefs-boot.el
Lars Ingebrigtsen [Tue, 18 Oct 2022 11:17:52 +0000 (13:17 +0200)]
Fix previous loaddefs-gen fix
Eli Zaretskii [Tue, 18 Oct 2022 11:17:51 +0000 (12:17 +0100)]
Add new Texinfo manual for the Eglot LSP client
* doc/misc/eglot.texi: New file.
Lars Ingebrigtsen [Tue, 18 Oct 2022 11:14:08 +0000 (13:14 +0200)]
Fix faulty loaddefs detection
* lisp/emacs-lisp/loaddefs-gen.el
(loaddefs-generate--emacs-batch): Fix faulty loaddefs detection.
Alan Mackenzie [Tue, 18 Oct 2022 10:00:26 +0000 (10:00 +0000)]
* lisp/progmodes/cc-defs.el Remove setting of inhibit-point-motion-hooks
Lars Ingebrigtsen [Tue, 18 Oct 2022 09:18:16 +0000 (11:18 +0200)]
Regenerate ldefs-boot.el
Andrea Corallo [Fri, 14 Oct 2022 22:59:55 +0000 (00:59 +0200)]
* Prevent potential native compilation infinite recursions
* lisp/emacs-lisp/comp.el (comp-no-spawn): New var.
(comp-subr-trampoline-install, comp-final, comp-run-async-workers)
(comp--native-compile): Update.
Jim Porter [Tue, 18 Oct 2022 04:25:37 +0000 (21:25 -0700)]
; Fix some invalid Eshell syntax in an example
* doc/misc/eshell.texi (Expansion):
* etc/NEWS: Fix invalid Eshell syntax.
Jim Porter [Thu, 15 Sep 2022 19:32:02 +0000 (12:32 -0700)]
Print the correct $PATH when Eshell's 'which' fails to find a command
* lisp/eshell/esh-cmd.el (eshell/which): Use 'eshell-get-path'
(bug#20008).
Jim Porter [Thu, 15 Sep 2022 19:24:37 +0000 (12:24 -0700)]
Improve handling of $PATH in Eshell for remote directories
* lisp/eshell/esh-util.el (eshell-path-env, eshell-parse-colon-path):
Make obsolete.
(eshell-path-env-list): New variable.
(eshell-connection-default-profile): New connection-local profile.
(eshell-get-path): Reimplement using 'eshell-path-env-list'; add
LITERAL-P argument.
(eshell-set-path): New function.
* lisp/eshell/esh-var.el (eshell-variable-aliases-list): Add entry for
$PATH.
(eshell-var-initialize): Add 'eshell-path-env-list' to
'eshell-subcommand-bindings'.
* lisp/eshell/esh-ext.el (eshell-search-path): Use 'file-name-concat'
instead of 'concat'.
(eshell/addpath): Use 'eshell-get-path' and 'eshell-set-path'.
* lisp/net/tramp-integration.el: Only apply Eshell hooks when
'eshell-path-env-list' is unbound.
* test/lisp/eshell/esh-var-tests.el
(esh-var-test/path-var/local-directory)
(esh-var-test/path-var/remote-directory, esh-var-test/path-var/set)
(esh-var-test/path-var/set-locally)
(esh-var-test/path-var-preserve-across-hosts): New tests.
* test/lisp/eshell/esh-ext-tests.el: New file.
* test/lisp/eshell/eshell-tests-helpers.el
(with-temp-eshell): Set 'eshell-last-dir-ring-file-name' to nil.
(eshell-tests-remote-accessible-p, eshell-last-input)
(eshell-last-output): New functions.
(eshell-match-output, eshell-match-output--explainer): Use
'eshell-last-input' and 'eshell-last-output'.
* doc/misc/eshell.texi (Variables): Document $PATH.
* etc/NEWS: Announce this change (bug#57556).
Jim Porter [Mon, 26 Sep 2022 04:47:26 +0000 (21:47 -0700)]
Allow setting the values of variable aliases in Eshell
This makes commands like "COLUMNS=40 some-command" work as expected.
* lisp/eshell/esh-cmd.el (eshell-subcommand-bindings): Remove
'process-environment' from here...
* lisp/eshell/esh-var.el (eshell-var-initialize): ... and add to here,
along with 'eshell-variable-aliases-list'.
(eshell-inside-emacs): Convert to a 'defvar-local' to make it settable
in a particular Eshell buffer.
(eshell-variable-aliases-list): Make $?, $$, and $* read-only and
update docstring.
(eshell-set-variable): New function...
(eshell-handle-local-variables, eshell/export, eshell/unset): ... use
it.
(eshell/set, pcomplete/eshell-mode/set): New functions.
(eshell-get-variable): Get the variable alias's getter function when
appropriate and use a safer method for checking function arity.
* test/lisp/eshell/esh-var-tests.el (esh-var-test/set/env-var)
(esh-var-test/set/symbol, esh-var-test/unset/env-var)
(esh-var-test/unset/symbol, esh-var-test/setq, esh-var-test/export)
(esh-var-test/local-variables, esh-var-test/alias/function)
(esh-var-test/alias/function-pair, esh-var-test/alias/string)
(esh-var-test/alias/string/prefer-lisp, esh-var-test/alias/symbol)
(esh-var-test/alias/symbol-pair, esh-var-test/alias/export)
(esh-var-test/alias/local-variables): New tests.
* doc/misc/eshell.texi (Built-ins): Add 'set' and update 'unset'
documentation.
(Variables): Expand documentation of how to get/set variables.
Jim Porter [Wed, 28 Sep 2022 16:34:38 +0000 (09:34 -0700)]
; Obsolete 'eshell/define'
* lisp/eshell/esh-var.el (eshell/define): Make obsolete, and explain
its current state.
* doc/misc/eshell.texi (Built-ins): Remove 'define'.
Jim Porter [Sun, 25 Sep 2022 01:13:03 +0000 (18:13 -0700)]
; Allow ignoring errors when calling 'eshell-match-command-output'
* test/lisp/eshell/eshell-tests-helpers.el
(eshell-match-command-output): New argument IGNORE-ERRORS.
* test/lisp/eshell/esh-var-tests.el
(esh-var-test/last-status-var-lisp-command)
(esh-var-test/last-status-var-lisp-form)
(esh-var-test/last-status-var-lisp-form-2): Ignore errors when calling
'eshell-match-command-output'.
Jim Porter [Wed, 12 Oct 2022 05:11:04 +0000 (22:11 -0700)]
Add helpers to dynamically assign connection-local values
* lisp/files-x.el (connection-local-criteria)
(connection-local-profile-name-for-setq): New variables.
(with-connection-local-variables-1): ... let-bind them here.
(connection-local-update-profile-variables)
(connection-local-profile-name-for-criteria): New functions.
(with-connection-local-application-variables, setq-connection-local):
New macros.
* test/lisp/files-x-tests.el: Require 'tramp-integration'
(files-x-test--variable5, remote-lazy-var): New variables.
(files-x-test-hack-connection-local-variables-apply): Expand checks.
(files-x-test-with-connection-local-variables): Remove
'hack-connection-local-variables-apply' check (it belongs in the above
test), and expand some other checks.
(files-x-test--get-lazy-var, files-x-test--set-lazy-var): New
functions.
(files-x-test-connection-local-update-profile-variables)
(files-x-test-setq-connection-local): New tests.
* doc/lispref/variables.texi (Connection Local Variables): Split into
two subsections and document the new features.
* etc/NEWS: Announce 'setq-connection-local'.
Jim Porter [Wed, 12 Oct 2022 18:28:05 +0000 (11:28 -0700)]
; Remove over-quoting of :application values in connection-local variables
* test/lisp/files-x-tests.el (files-x-test--application)
(files-x-test--another-application):
* doc/lispref/variables.texi (Connection Local Variables): Remove
extra quotes.
Paul Eggert [Mon, 17 Oct 2022 04:35:47 +0000 (21:35 -0700)]
Improve ‘random’ doc re nonces
* doc/lispref/numbers.texi (Random Numbers): Improve coverage of
random seed, entropy pools, and why one shouldn’t use ‘random’ for
nonces. See Bug#58472.