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

11339 commits

Author SHA1 Message Date
Robert Pluim
d2119be861 * etc/NEWS: Improve some NEWS entries 2022-05-04 14:48:27 +02:00
Robert Pluim
0d78aeeb7e ; * etc/PROBLEMS: Fix typo. 2022-05-04 14:46:59 +02:00
Po Lu
0105a4ddb8 Turn on XInput 2 support by default
The support doesn't interfere with compatibility, since Emacs
built with XInput 2 support transparently falls back to Core
Input when a suitable version of the input extension is not
available.  It also matured much sooner than expected, so
enabling this by default will lead to new features being
available to more users.

* INSTALL:
* configure.ac:
* etc/NEWS: Enable XInput 2 support by default.
2022-05-04 16:51:48 +08:00
Lars Ingebrigtsen
8a7db868cc Add NEWS entry about incompatible sorting command behaviors 2022-05-03 21:29:47 +02:00
Lars Ingebrigtsen
59353ec7b5 Add new macro with-buffer-unmodified-if-unchanged
* lisp/emacs-lisp/subr-x.el (with-buffer-unmodified-if-unchanged):
New macro.
* lisp/textmodes/fill.el (fill-paragraph): Macro code copied from
here.  Adjust and use the macro.
2022-05-03 21:22:53 +02:00
Jim Porter
a3a7279a4a Improve the behavior of concatenating parts of Eshell arguments
Previously, concatenating a list to a string would first convert the
list to a string.  Now, the string is concatenated with the last
element of the list.

* lisp/eshell/esh-util.el (eshell-to-flat-string): Make obsolete.

* lisp/eshell/esh-arg.el (eshell-concat, eshell-concat-1): New
functions.
(eshell-resolve-current-argument): Use 'eshell-concat'.

* test/lisp/eshell/esh-var-tests.el (esh-var-test/interp-concat-cmd):
Add check for concatenation of multiline output of subcommands.
(esh-var-test/quoted-interp-concat-cmd): New test.

* test/lisp/eshell/em-extpipe-tests.el (em-extpipe-test-13): Use
'eshell-concat'.

* doc/misc/eshell.texi (Expansion): Document this behavior.

* etc/NEWS: Announce the change (bug#55236).
2022-05-03 18:23:02 +02:00
Jim Porter
06423b5d1e Return a list of numbers if all lines of an Eshell subcommand are numeric
* lisp/eshell/esh-util.el (eshell-convertible-to-number-p)
(eshell-convert-to-number): New functions...
(eshell-convert): ... use them.

* test/lisp/eshell/esh-var-tests.el
(esh-var-test/interp-convert-cmd-string-newline): Add checks for
numeric output.

* doc/misc/eshell.texi (Dollars Expansion): Document the new behavior.

* etc/NEWS: Announce the change (bug#55236).
2022-05-03 18:23:00 +02:00
Jim Porter
f7a82699d6 Eshell variable expansion should always return strings inside quotes
This is closer in behavior to regular shells, and gives Eshell users
greater flexibility in how variables are expanded.

* lisp/eshell/esh-util.el (eshell-convert): Add TO-STRING argument.

* lisp/eshell/esh-var.el (eshell-parse-variable-ref): Add MODIFIER-P
argument and adjust how 'eshell-convert' and 'eshell-apply-indices'
are called.
(eshell-get-variable, eshell-apply-indices): Add QUOTED argument.

* test/lisp/eshell/esh-var-tests.el (eshell-test-value): New defvar.
(esh-var-test/interp-convert-var-number)
(esh-var-test/interp-convert-var-split-indices)
(esh-var-test/interp-convert-quoted-var-number)
(esh-var-test/interp-convert-quoted-var-split-indices)
(esh-var-test/interp-convert-cmd-string-newline)
(esh-var-test/interp-convert-cmd-multiline)
(esh-var-test/interp-convert-cmd-number)
(esh-var-test/interp-convert-cmd-split-indices)
(esh-var-test/quoted-interp-convert-var-number)
(esh-var-test/quoted-interp-convert-var-split-indices)
(esh-var-test/quoted-interp-convert-quoted-var-number)
(esh-var-test/quoted-interp-convert-quoted-var-split-indices)
(esh-var-test/quoted-interp-convert-cmd-string-newline)
(esh-var-test/quoted-interp-convert-cmd-multiline)
(esh-var-test/quoted-interp-convert-cmd-number)
(esh-var-test/quoted-interp-convert-cmd-split-indices): New tests.

* doc/misc/eshell.texi (Arguments): Expand this section, and document
the new behavior.
(Dollars Expansion): Provide more detail about '$(lisp)' and
'${command}' forms.

* etc/NEWS (Eshell): Announce this change (bug#55236).
2022-05-03 18:22:57 +02:00
Lars Ingebrigtsen
0916fd3aaa Add new command 'package-update'
* doc/emacs/package.texi (Package Installation): Mention it.
* lisp/emacs-lisp/package.el (package-update): New command
(bug#18790).
2022-05-03 18:00:32 +02:00
Eli Zaretskii
61d6607174 ; * etc/NEWS: Improve wording of "M-x scratch-buffer" entry. 2022-05-02 19:06:45 +03:00
Lars Ingebrigtsen
10f347a062 Add a command to recreate the *scratch* buffer
* doc/emacs/building.texi (Lisp Interaction): Mention it.
* lisp/simple.el (scratch-buffer): New command.
2022-05-02 12:26:31 +02:00
Lars Ingebrigtsen
97badaab79 Allow reusing the *Help* window with i'/s/ commands
* doc/emacs/help.texi (Help): Document it.

* lisp/help-mode.el (help-function-def--button-function): Use it.
* lisp/help-mode.el (help-goto-info): Use it.

* lisp/help.el (help-window-select): Mention it.
(help-window-keep-selected): New user option (bug#9054).

* lisp/info-look.el (info-lookup-symbol):
(info-lookup): Allow keeping the same window.
2022-05-02 11:30:52 +02:00
Lars Ingebrigtsen
4f395efa06 Change string-lines semantics slightly
* lisp/subr.el (string-lines): Change the semantics slightly --
don't return an empty string for a trailing newline.
2022-05-01 20:54:11 +02:00
Jim Porter
ade1424a97 Use a common set of string delimiters for all Eshell predicates/modifiers
* lisp/eshell/em-pred.el (eshell-pred-delimiter-pairs): New variable.
(eshell-get-comparison-modifier-argument)
(eshell-get-numeric-modifier-argument)
(eshell-get-delimited-modifier-argument): New functions...
(eshell-pred-user-or-group, eshell-pred-file-time)
(eshell-pred-file-links, eshell-pred-file-size)
(eshell-pred-substitute, eshell-join-memebers, eshell-split-members):
... and use them here.
(eshell-include-members): Pass 'mod-char' and use
'eshell-get-delimited-modifier-argument'.
(eshell-pred-file-type, eshell-pred-file-mode): Use 'when-let'.
(eshell-modifier-alist): Pass modifier char to
'eshell-include-members'.

* test/lisp/eshell/em-pred-tests.el
(em-pred-test/predicate-delimiters): New test.
(em-pred-test/predicate-uid, em-pred-test/predicate-gid,
em-pred-test/modifier-include, em-pred-test/modifier-exclude): Remove
cases covered by 'em-pred-test/predicate-delimiters'.
(em-pred-test/modifier-substitute): Add test cases for new delimiter
styles.

* doc/misc/eshell.texi (Argument Predication and Modification):
Explain how string parameters are delimited.
(Argument Modifiers): Document some special delimiter behavior with
the 's/PATTERN/REPLACE/' modifier (bug#55204).

* etc/NEWS: Announce this change, and move the
'eshell-eval-using-options' entry to the Eshell section.
2022-05-01 20:41:18 +02:00
Lars Ingebrigtsen
7c8bec9e1f Don't enter the debugger from *Backtrace* or edebug on eval errors
* doc/lispref/debugging.texi (Error Debugging): Document it.

* doc/lispref/edebug.texi (Edebug Eval): Mention it.
* lisp/emacs-lisp/debug.el (debug-allow-recursive-debug): New user
option (bug#36145).
(debugger-eval-expression): Use it.

* lisp/emacs-lisp/edebug.el (edebug-eval-expression): Ditto.

This patch is based on a patch by Noam Postavsky.
2022-05-01 13:40:13 +02:00
Lars Ingebrigtsen
730ad4a373 Make scroll-other-window respect target window remappings
* lisp/window.el (scroll-other-window, scroll-other-window-down):
Moved from window.c and change implementation so that they respect
command remappings in the target window (bug#20236).
2022-05-01 12:47:41 +02:00
Eli Zaretskii
8734d60b05 Improve documentation of 'malloc-trim'
* src/alloc.c (Fmalloc_trim): Fix the doc string.

* etc/NEWS: Document which systems support 'malloc-trim'.
2022-05-01 13:06:33 +03:00
Lars Ingebrigtsen
29f3d4d2c6 Add new function `malloc-trim'
* configure.ac (PGTK_LIBS): Check for malloc_trim.

* src/alloc.c (Fmalloc_trim): Add new function (bug#45200).
2022-05-01 11:51:43 +02:00
Eli Zaretskii
a3024ab4fb Document 'help-window-select'
* etc/NEWS:
* doc/emacs/help.texi (Apropos, Help): Document
'help-window-select'; improve indexing.  (Bug#46034)
2022-05-01 10:01:28 +03:00
Stefan Kangas
5f220d9555 Update publicsuffix.txt from upstream
* etc/publicsuffix.txt: Update from
https://publicsuffix.org/list/public_suffix_list.dat
dated 2022-04-30 19:52:14 UTC.
2022-05-01 06:01:28 +02:00
Lars Ingebrigtsen
90904f8ce4 Remove the "retro" Gnus/Message tool bars
* doc/misc/gnus.texi (Gravatars): Remove documentation.
* lisp/gnus/gmm-utils.el (gmm-tool-bar-style): Obsoleted.

* lisp/gnus/gnus-group.el (gnus-group-tool-bar): Use the "Gnome"
definition.
(gnus-group-tool-bar-gnome, gnus-group-tool-bar-retro)
(gnus-group-tool-bar-zap-list): Obsolete.

* lisp/gnus/gnus-sum.el (gnus-summary-tool-bar): Use the "Gnome"
definition.
(gnus-summary-tool-bar-gnome, gnus-summary-tool-bar-retro)
(gnus-summary-tool-bar-zap-list): Obsolete.

* lisp/gnus/message.el (message-tool-bar): Use the "Gnome"
definition.
(message-tool-bar-gnome, message-tool-bar-retro)
(message-tool-bar-zap-list): Obsolete.
2022-04-30 18:18:32 +02:00
Lars Ingebrigtsen
86b6a69f86 Don't hard code the default x-show-tip timeout
* src/xfns.c (Fx_show_tip): Use it.
(syms_of_xfns): Add a new x-show-tooltip-timeout variable
(bug#23341).
2022-04-30 17:09:02 +02:00
Lars Ingebrigtsen
58398dea25 Truncate output from grep
* doc/emacs/building.texi (Compilation): Document it.
* lisp/progmodes/compile.el (compilation-max-output-line-length):
New user option (bug#44983).
(compilation-filter): Use it.
(compilation--insert-abbreviated-line): New function.
2022-04-30 12:57:20 +02:00
Eli Zaretskii
03561b4aad ; Minor fixes of documentation of double-buffering on MS-Windows
* etc/NEWS: Improve and expand wording of the entry about
double-buffering on MS-Windows.

* src/w32fns.c (w32_set_inhibit_double_buffering): Fix commentary.
2022-04-30 12:00:33 +03:00
Po Lu
bc44455f77 Implement double buffering on MS Windows
* etc/NEWS: Announce changes.
* src/w32fns.c (w32_set_inhibit_double_buffering): New function.
(w32_wnd_proc):
(Fx_create_frame):
(w32_create_tip_frame): Set `inhibit-double-buffering' parameter.
(w32_frame_parm_handlers): Add new handler.

* src/w32term.c (w32_show_back_buffer):
(w32_release_paint_buffer): New functions.
(w32_frame_up_to_date): Show back buffer if applicable.
(w32_buffer_flipping_unblocked_hook): New hook.
(w32_scroll_run): Use BitBlt to scroll instead of window
scrolling functions.
(w32_scroll_bar_clear): Don't clear scroll bars when double
buffered.
(w32_read_socket): Flip buffers after reading input events in
some cases.
(w32_free_frame_resources): Free back buffer.
(w32_create_terminal): Add new hook.

* src/w32term.h (struct w32_output): New fields for handling
back buffers.
* src/w32xfns.c (select_palette): Fix indentation.
(get_frame_dc, release_frame_dc): Return back buffer when
appropriate and set dirty flag.
2022-04-30 11:20:46 +08:00
Titus von der Malsburg
91418d27e9 Add new functions for computing character metrics for windows
* doc/lispref/display.texi (Size of Displayed Text): Document the
char functions.
* doc/lispref/windows.texi (Window Sizes): Document
window-max-characters-per-line.

* lisp/window.el (window-char-pixel-width)
(window-char-pixel-height)
(window-max-characters-per-line): New functions (bug#19395).
2022-04-29 15:14:09 +02:00
Eli Zaretskii
5c606a46bf ; Fix typo in documentation of 'current-time-list'
* src/timefns.c (syms_of_timefns) <current-time-list>:
* etc/NEWS:
* doc/lispref/os.texi (Time of Day): Fix a typo.
2022-04-29 10:12:02 +03:00
Paul Eggert
083d2708f9 Change current-time back to list form
Change current-time and related functions back to using the
traditional list form.  Also, add a new boolean variable
current-time-list that lets people try out (TICKS . HZ) form,
with the goal of smoothing the transition.
* src/timefns.c (CURRENT_TIME_LIST): Change default back to true.
(current-time-list): New boolean Lisp variable, which defaults to
CURRENT_TIME_LIST.  All uses of CURRENT_TIME_LIST changed to
use current_time_list, and all documentation changed.
2022-04-28 12:54:06 -07:00
Eli Zaretskii
b3023de543 Merge from origin/emacs-28
# Conflicts:
#	lisp/progmodes/xref.el
2022-04-28 18:37:34 +03:00
Sean Whitton
134f4ff38b New user option 'calc-kill-line-numbering'
* lisp/calc/calc.el (calc-kill-line-numbering): New defcustom.
* lisp/calc/calc-yank.el (calc-kill): Unless calc-kill-line-numbering
is non-nil, do not include line numbering in copied text (bug#55133).
* etc/NEWS:
* doc/misc/calc.texi (Killing from the Stack): Document the change.
2022-04-27 13:25:35 -07:00
Eli Zaretskii
2503387bf7 ; Fix recently added documentation
* etc/NEWS: Improve wording of entry about 'mouse-yank-at-point'.
* doc/emacs/killing.texi (Secondary Selection): Fix a typo.
2022-04-27 21:16:46 +03:00
Ken Brown
f97d4460e0 Implement system_process_attributes on Cygwin
* src/sysdep.c (system_process_attributes) [CYGWIN]: Implement,
using the /proc filesystem.  The code is identical to the
GNU/Linux code except for the 'ttname' attribute.  (Bug#55153)

* etc/NEWS: Mention the change.
2022-04-27 13:22:06 -04:00
Stefan Monnier
1110d7326f Add new function current-cpu-time
* doc/lispref/os.texi (Time of Day): Document it.
* src/timefns.c (Fcurrent_cpu_time): New function (bug#44674).
2022-04-27 19:20:41 +02:00
Lars Ingebrigtsen
a7f2eb3054 Make isearch respond to 'mouse-yank-at-point'
* doc/emacs/killing.texi (Secondary Selection): Document it.
* lisp/isearch.el (isearch-mouse-2): Make isearch respond to
mouse-yank-at-point (bug#7787).

* lisp/mouse.el (mouse-yank-at-point): Mention it.
2022-04-27 14:02:23 +02:00
Paul Eggert
d35b6a49b3 Fix gnus-html-image-cache-ttl FIXME
* lisp/gnus/gnus-html.el (gnus-html-image-cache-ttl):
Make it a seconds count.
2022-04-26 13:54:38 -07:00
Stefan Monnier
bffc4cb39d New generic function oclosure-interactive-form
It's used by `interactive-form` when it encounters an OClosure.
This lets one compute the `interactive-form` of OClosures
dynamically by adding appropriate methods.
This does not include support for `command-modes` for Oclosures.

* lisp/simple.el (oclosure-interactive-form): New generic function.

* src/data.c (Finteractive_form): Delegate to
`oclosure-interactive-form` if the arg is an OClosure.
(syms_of_data): New symbol `Qoclosure_interactive_form`.
* src/eval.c (Fcommandp): Delegate to `interactive-form` if the arg is
an OClosure.

* src/lisp.h (VALID_DOCSTRING_P): New function, extracted from
`store_function_docstring`.
* src/doc.c (store_function_docstring): Use it.

* lisp/kmacro.el (kmacro): Don't carry any interactive form.
(oclosure-interactive-form) <kmacro>: New method, instead.

* test/lisp/emacs-lisp/oclosure-tests.el (oclosure-interactive-form)
<oclosure-test>: New method.
(oclosure-test-interactive-form): New test.

* doc/lispref/commands.texi (Using Interactive):
Document `oclosure-interactive-form`.
2022-04-26 10:36:52 -04:00
Lars Ingebrigtsen
dd5ca0eaf2 Make new menu *Help* output be more resilient
* lisp/help-fns.el (help-fns--insert-menu-bindings): Only insert
the heading if it turns out that we actually find the menu.
(help-fns--insert-bindings): Tweak calling convention.
2022-04-26 13:23:51 +02:00
Lars Ingebrigtsen
ae877d5511 Add new user option flymake-mode-line-lighter
* doc/misc/flymake.texi (Customizable variables): Document it.

* lisp/progmodes/flymake.el (flymake-mode-line-lighter): New user
option (bug#55115).
(flymake--mode-line-title): Use it.
2022-04-26 12:39:13 +02:00
Paul Eggert
4a1f69ebca Use (TICKS . HZ) for current-time etc.
* src/timefns.c (CURRENT_TIME_LIST): Change default to false.
All documentation changed.
2022-04-25 12:40:20 -07:00
Paul Eggert
d75e2c12eb Support (encode-time (list s m h D M Y))
* src/timefns.c (Fencode_time): Add support for a 6-elt list arg.
Requested by Max Nikulin for Org (bug#54764).
* test/src/timefns-tests.el (encode-time-alternate-apis): New test.
2022-04-25 12:40:20 -07:00
Lars Ingebrigtsen
fd1ca094bc Change the display of menu bindings in *Help*
* lisp/help-fns.el (help-fns--insert-menu-bindings): New function
to describe menu entries more fully (bug#52870).
(help-fns--key-bindings): Use it.
2022-04-25 21:14:33 +02:00
Michael Albinus
c38e16a0cc ; Fix typos in tec/NEWS 2022-04-25 10:37:04 +02:00
Kyle Meyer
7c1fc23489 Update to Org 9.5.3-3-gd54104 2022-04-24 21:07:40 -04:00
Lars Ingebrigtsen
8ee21db4af Add new function `read-string-from-buffer'.
* doc/lispref/minibuf.texi (Text from Minibuffer): Document it.
* lisp/textmodes/string-edit.el: New file.
2022-04-24 15:16:00 +02:00
Eli Zaretskii
98ec8c3bc8 ; * etc/NEWS: Fix last change. 2022-04-24 15:48:50 +03:00
Eli Zaretskii
f3434fe2f3 ; Fix last change 'display-local-help' and its documentation
* etc/NEWS:
* doc/emacs/help.texi (Help Summary): Fix typo and wording of
documentation of 'C-u C-h .'.
* lisp/help-at-pt.el (display-local-help): Avoid byte-compiler
warnings.  Fix wording of doc string.
2022-04-24 15:47:08 +03:00
Lars Ingebrigtsen
4d5fd01749 Allow 'C-u C-h .' to describe button/widgets
* doc/emacs/help.texi (Help Summary): Document it.
* lisp/help-at-pt.el (display-local-help): Display button/widget
help (bug#54963).
2022-04-24 13:53:17 +02:00
Lars Ingebrigtsen
37934b953c NEWS copy editing 2022-04-23 19:31:07 +02:00
Juri Linkov
164a7ebdbc Allow not clearing the echo area
* doc/lispref/display.texi (Displaying Messages): Document it.
* lisp/minibuffer.el (clear-minibuffer-message): Return nil.

* src/xdisp.c (clear_message): Respect the dont-clear-message
value.
2022-04-23 17:17:15 +02:00
Lars Ingebrigtsen
c789430331 Add new minor mode word-wrap-whitespace-mode
* doc/emacs/display.texi (Visual Line Mode): Document it.
* lisp/textmodes/word-wrap-mode.el: New minor mode.
2022-04-23 14:13:10 +02:00