1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-02-17 05:30:43 -08:00
Commit graph

11271 commits

Author SHA1 Message Date
Eli Zaretskii
44ba0270b7 Merge from origin/emacs-28
d53c999b4a Further vcs-cvs/rcs-responsible-p updates from master
dc3d1628ec ; * src/sysdep.c: Fix mistake in previous commit
855e15dbf1 Fix builds on older versions of macOS
9da744e450 Fix documentation of Outline minor mode options
a8bb12ab05 Improve discoverability of 'insert-directory-program'
3f166bdf44 ; * etc/PROBLEMS: Describe MS-Windows issues with fonts.  ...
803ac857ee Fix cursor motion under truncate-lines with Flymake fringe...

# Conflicts:
#	etc/PROBLEMS
#	lisp/outline.el
#	src/sysdep.c
2022-04-16 13:58:31 -04:00
Eli Zaretskii
6ecb7ff5ec Merge from origin/emacs-28
b201823f63 Describe problems with invoking Python on MS-Windows
880f2734c9 A better fix for bug#54800
5ee959aa87 Add a comment about cl-concatenate
ab2b822b9b Revert "Make cl-concatenate an alias of seq-concatenate"
2022-04-16 13:46:04 -04:00
Eli Zaretskii
5890b80bca Merge from origin/emacs-28
84a2857722 Fix scrolling of the stack window in Calc
9dd44505b1 ; * src/window.c (Fset_window_start): Clarify the effect o...
24a6c7c8c0 Update and fix instructions and scripts for updating the W...
886339747b Extend tramp-archive-test45-auto-load
ff997ad786 Ensure local `default-directory' in Tramp when needed
4f27588a16 Clarify "idleness" in the ELisp manual
2022-04-16 13:43:33 -04:00
Lars Ingebrigtsen
6bfb6fdb89 Fold some too-long NEWS lines 2022-04-16 18:08:42 +02:00
Lars Ingebrigtsen
e113709827 Do some NEWS tagging 2022-04-16 17:59:05 +02:00
Lars Ingebrigtsen
d5a715177c Do some NEWS tagging 2022-04-16 17:38:37 +02:00
Lars Ingebrigtsen
52de048389 Improve exif-field discoverability
* lisp/image/exif.el (exif-parse-file, exif-parse-buffer): Link to
`exif-field'.
2022-04-16 17:35:44 +02:00
Lars Ingebrigtsen
1c1c7b1b5b Do some NEWS tagging 2022-04-16 17:33:19 +02:00
Lars Ingebrigtsen
d5b9b1a913 Document project-kill-buffers-display-buffer-list
* doc/emacs/maintaining.texi (Project Buffer Commands): Mention
project-kill-buffers-display-buffer-list.

* lisp/progmodes/project.el (project-kill-buffers): Link to
project-kill-buffers-display-buffer-list.
2022-04-16 17:30:32 +02:00
Lars Ingebrigtsen
35c4f6c609 Document prefix to project-find-file
* doc/emacs/maintaining.texi (Project File Commands): Mention the
prefix in the project-find-file command.
2022-04-16 17:27:37 +02:00
Lars Ingebrigtsen
bb8e277df1 Fix glyphless-display-mode indexing
* doc/lispref/display.texi (Glyphless Chars): Fix indexing.
2022-04-16 17:21:43 +02:00
Lars Ingebrigtsen
a1954288de Document completions-sort
* doc/emacs/mini.texi (Completion Options): Document completions-sort.
2022-04-16 17:20:04 +02:00
Lars Ingebrigtsen
db1bfcd909 Mention completion-wrap-movement in relevant commands
* lisp/simple.el (previous-completion, next-completion): Mention
`completion-wrap-movement'.
2022-04-16 17:17:05 +02:00
Lars Ingebrigtsen
429f2c4b81 Document minibuffer-completion-auto-choose/M-up/M-down
* doc/emacs/mini.texi (Completion Commands): Document
minibuffer-completion-auto-choose/M-up/M-down.
2022-04-16 17:14:08 +02:00
Lars Ingebrigtsen
b381929c91 Bind TAB and <backtab> on buttons
* lisp/button.el (button-map): Inherit from 'button-buffer-map'.
2022-04-16 15:57:33 +02:00
Lars Ingebrigtsen
5a59059b24 Add a new mode for editing and viewing the Emacs NEWS file
* etc/NEWS (mode): Use emacs-news-mode.
* lisp/help.el (view-emacs-news): Use emacs-news-mode.

* lisp/textmodes/emacs-news-mode.el: New mode for editing and
viewing the Emacs NEWS file.
2022-04-16 15:42:10 +02:00
Lars Ingebrigtsen
d71ee07852 Add new function buttonize-region
* lisp/button.el (buttonize-region): New function.
(button--properties): Factored out.
(buttonize): Use it.
2022-04-16 15:42:10 +02:00
Eli Zaretskii
16ccca6dc3 Improve support for the Brahmi script
* lisp/language/indian.el ("Brahmi"): New language environment.
Add composition rules for Brahmi.
* lisp/international/fontset.el (script-representative-chars)
(setup-default-fontset): Support Brahmi.  (Bug#54914)

* etc/NEWS: Announce the new language environment.
2022-04-16 13:18:47 +03:00
Philip Kaludercic
c3ab8f188e Improve buffer-match-p documentation
* doc/lispref/windows.texi (Choosing Window): Document that
buffer-match-p is used by display-buffer-alist.
* etc/NEWS: Mention buffer-match-p and match-buffers.
* lisp/window.el (display-buffer-alist): Update documentation as for
display-buffer-assq-regexp.
(display-buffer-assq-regexp): Rename buffer-name to buffer-or-name.
(display-buffer): Pass the buffer directly to
display-buffer-assq-regexp,.
2022-04-15 21:12:56 +02:00
Philip Kaludercic
fdd8b5913b Add rcirc-cycle-completion-flag
* doc/misc/rcirc.texi: Document new option.
* lisp/net/rcirc.el (rcirc-cycle-completion-flag): Add new option.
(rcirc-mode): Respect new option.
2022-04-15 17:10:45 +02:00
Eli Zaretskii
3f166bdf44 ; * etc/PROBLEMS: Describe MS-Windows issues with fonts. (Bug#54685) 2022-04-15 15:38:06 +03:00
Eli Zaretskii
b201823f63 Describe problems with invoking Python on MS-Windows
* etc/PROBLEMS: Describe problems with running an inferior Python
interpreter due to the MS-Windows "App Execution Aliases" feature.
(Bug#54860)
2022-04-14 09:17:01 +03:00
Sean Whitton
e2c7e48f83 Document additions of cl-with-gensyms and cl-once-only
* NEWS: Document additions of cl-with-gensyms and cl-once-only.
* doc/misc/cl.texi (Macro-Writing Macros): New section.
(Creating Symbols): Add to the concept index under the name "gensym".
(Obsolete Setf Customization): Use cl-once-only rather than
macroexp-let2, and fix a quotation bug in one example.
2022-04-13 16:15:33 -07:00
Eli Zaretskii
131ac4d209 Merge from origin/emacs-28 2022-04-13 16:57:49 +03:00
Eli Zaretskii
5a14406ecf Merge from origin/emacs-28
# Conflicts:
#	etc/NEWS
#	lisp/desktop.el
#	lisp/dired.el
2022-04-13 16:52:50 +03:00
Lars Ingebrigtsen
918669cb3d Make list-times not include zero elements
* doc/lispref/os.texi (Time Parsing): Mention %x.
* lisp/calendar/time-date.el (format-seconds): Accept a new %x
spec that removes trailing zeros (bug#54904).

* lisp/emacs-lisp/timer-list.el (list-timers): Don't display
trailing zero bits.
2022-04-13 15:31:34 +02:00
Eli Zaretskii
e587fc05a7 ; * etc/NEWS: Mention that PGTK build needs GTK >= 3.20. 2022-04-13 14:53:35 +03:00
Lars Ingebrigtsen
fe98a67f34 Add NEWS entry for `C-h m' change 2022-04-13 03:52:15 +02:00
Lars Ingebrigtsen
1cdb8d4c99 Mention animated WebP images 2022-04-12 21:29:10 +02:00
Stefan Monnier
6a480c830b * lisp/emacs-lisp/macroexp.el (macroexp-let2*): Allow common shorthand 2022-04-11 15:10:51 -04:00
Juri Linkov
67505e0355 * lisp/minibuffer.el (minibuffer-completion-auto-choose): New defcustom.
(minibuffer-choose-previous-completion)
(minibuffer-choose-next-completion): Remove commands.
(minibuffer-local-completion-map): Remove keybindings of
minibuffer-choose-next-completion and minibuffer-choose-previous-completion.
Use them for minibuffer-next-completion and minibuffer-previous-completion.
* lisp/simple.el (minibuffer-local-shell-command-map): Idem.
2022-04-11 19:52:47 +03:00
Juri Linkov
aeffeccb40 ; etc/NEWS: Fix grammer. 2022-04-11 19:48:13 +03:00
Augusto Stoffel
4c0c9d23ab Rewrite the minibuffer lazy highlight feature
The new API was discussed in bug#53126.  It's more robust and easier
to use in complex cases like that of 'query-replace'.

* etc/NEWS: Amend the feature announcement
* lisp/isearch.el (isearch-edit-string): Use new API.
(minibuffer-lazy-highlight-transform,
minibuffer-lazy-highlight--overlay, minibuffer-lazy-highlight--count,
minibuffer-lazy-highlight--after-change,
minibuffer-lazy-highlight--exit) Remove helper functions, which are
now kept together with the lazy highlight configuration variables
within a closure.
(minibuffer-lazy-highlight-setup): This function now takes the lazy
highlighting configuration variables as argument, and returns a
closure that is intended to run as part of the minibuffer setup.
2022-04-10 22:36:47 +03:00
Eli Zaretskii
24a6c7c8c0 Update and fix instructions and scripts for updating the Web pages
* admin/admin.el (manual-html-fix-index-2): Support Texinfo 6.8
and later by not converting TOC menus into tables.  (Bug#49719)
* admin/upload-manuals (New directory): Invoke "cvs add" in
$webdir, to pick up the correct CVSROOT.
* admin/make-tarball.txt: Update the section about the Emacs Web
pages.

* etc/refcards/Makefile (pl-refcard.dvi): If mex.fmt cannot be
found, invoke 'mex' instead of 'tex'.
2022-04-08 21:11:16 +03:00
Po Lu
1a1c5a6884 Add code for determining the type of an input device
* doc/lispref/commands.texi (Command Loop Info):
* etc/NEWS: Update documentation and announce `device-class'.

* lisp/frame.el (x-device-class):
(device-class):
* lisp/term/x-win.el (x-device-class): New functions.
2022-04-08 09:47:25 +08:00
Stefan Monnier
39e8fd357d OClosure: New function function-documentation
As mentioned in the original OClosure commit, OClosures (ab)use the
bytecode's docstring slot to hold the OClosure's type.  This currently
prevents OClosures from having their own docstring.

Introduce a new generic function `function-documentation` to fetch the
docstring of a function, which can then be implemented in various
different ways depending on the OClosure's type.

* lisp/simple.el (function-documentation): New generic function.
(bad-package-check): Strength-reduce `eval` to `symbol-value`.
* src/doc.c (Fdocumentation): Use it.

* lisp/emacs-lisp/oclosure.el (oclosure--accessor-docstring): New function.
* test/lisp/emacs-lisp/oclosure-tests.el (oclosure-test):
Add test for accessor's docstrings.
2022-04-07 15:59:09 -04:00
Po Lu
3b41141708 Expose the name of an event's input device to Lisp
This name can be used to identify the device for special
treatment, i.e. only interpolating scrolls coming from mice and
not touchpads inside pixel-scroll-precision-mode.

* doc/lispref/commands.texi (Command Loop Info): Document new
variable `last-event-device'.
* etc/NEWS: Announce new variable `last-event-device'.
* src/frame.h (struct frame): New field `last_mouse_device'.
* src/keyboard.c (read_char): Clear last-event-device.
(kbd_buffer_get_event): Set last-event-device to the event's
recorded device.
(init_keyboard): Clear last-event-device.
(syms_of_keyboard): New defvar `last-event-device'.
* src/termhooks.h (struct input_event): New field `device'.
(EVENT_INIT): Set it to the special value `Qt' by default.
* src/xterm.c (x_init_master_valuators): Record the device's
name.
(x_dnd_begin_drag_and_drop): Only preserve last event device if
the mouse ended up in the source frame.
(x_note_mouse_movement): New argument `source'.
(handle_one_xevent): Set input event sources whenever
appropriate.
(mark_xterm): Mark device names.

* src/xterm.h (struct xi_device_t): New field `name'.
2022-04-07 21:16:11 +08:00
Jai Flack
77f3bc37e1 Add a mu backend for gnus-search
* lisp/gnus-search.el (gnus-search-mu-program): New defcustom
(gnus-search-mu-switches): New defcustom
(gnus-search-mu-remove-prefix): New defcustom
(gnus-search-mu-config-directory): New defcustom
(gnus-search-mu-raw-queries-p): New defcustom
(gnus-search-mu): New subclass of gnus-search-indexed
(gnus-search-transform-expression): New method
(gnus-search-mu-handle-date): New function
(gnus-search-mu-handle-flag): New function
(gnus-search-indexed-extract): New method
(gnus-search-indexed-search-command): New method (bug#54662).
2022-04-07 13:14:01 +02:00
Po Lu
1f4a0828cc ; * etc/PROBLEMS: Explain how to get dropping text on xterm to work. 2022-04-07 10:20:47 +08:00
Juri Linkov
4e2c70272f New commands for navigating completions from the minibuffer.
* lisp/simple.el (minibuffer-local-shell-command-map):
* lisp/minibuffer.el (minibuffer-local-completion-map):
Bind "M-<up>" to minibuffer-choose-previous-completion,
"M-<down>" to minibuffer-choose-next-completion,
"M-S-<up>" to minibuffer-previous-completion,
"M-S-<down>" to minibuffer-next-completion,
"M-RET" to minibuffer-choose-completion.
(with-minibuffer-completions-window): New macro.
(minibuffer-previous-completion, minibuffer-next-completion)
(minibuffer-choose-previous-completion)
(minibuffer-choose-next-completion)
(minibuffer-choose-completion): New commands.

https://lists.gnu.org/archive/html/emacs-devel/2022-03/msg00335.html
2022-04-05 22:20:16 +03:00
Juri Linkov
6a50ff10f7 Choosing a completion with a prefix argument doesn't exit the minibuffer
* lisp/simple.el (choose-completion): New optional args NO-EXIT and NO-QUIT.
(bug#47417)
2022-04-05 21:21:42 +03:00
Michael Albinus
e48ac2e204 Handle remote system processes
* doc/lispref/files.texi (Magic File Names):
Add list-system-processes and process-attributes.

* doc/lispref/processes.texi (System Processes): Document changes
in list-system-processes and process-attributes.

* doc/misc/tramp.texi (Customizing Completion): Use @ftable.
(Remote processes): Document changes in list-system-processes and
process-attributes.

* etc/NEWS: Document changes in proced, list-system-processes and
process-attributes.

* lisp/proced.el (proced-show-remote-processes): New defcustom.
(proced-remote-directory): Remove.
(proced-filter-alist): Use it.
(proced-user-name): New defun.
(proced-available): Set it to t.
(proced-mode): Adapt docstring.
(proced): Adapt docstring.  Acknowledge prefix argument.
(proced-format): Change initialization of `standard-attributes'.
(proced-send-signal, proced-renice): Adapt docstring.  Remove
special handling of prefix argument.

* lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist):
* lisp/net/tramp-archive.el (tramp-archive-file-name-handler-alist):
* lisp/net/tramp-crypt.el (tramp-crypt-file-name-handler-alist):
* lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist):
* lisp/net/tramp-rclone.el (tramp-rclone-file-name-handler-alist):
* lisp/net/tramp-sh.el (tramp-sh-file-name-handler-alist):
* lisp/net/tramp-smb.el (tramp-smb-file-name-handler-alist):
* lisp/net/tramp-sshfs.el (tramp-sshfs-file-name-handler-alist):
* lisp/net/tramp-sudoedit.el (tramp-sudoedit-file-name-handler-alist):
Add 'list-system-processes' and `process-attributes'.

* lisp/net/tramp-integration.el (files-x): Require `files-x'.
(tramp-bsd-process-attributes-ps-args)
(tramp-bsd-process-attributes-ps-format)
(tramp-connection-local-bsd-ps-variables)
(tramp-busybox-process-attributes-ps-args)
(tramp-busybox-process-attributes-ps-format)
(tramp-connection-local-busybox-ps-variables):
* lisp/net/tramp-adb.el (tramp-adb-connection-local-default-ps-variables):
New defconsts.  Add them to connection-local variables.

* lisp/net/tramp.el (tramp-file-name-for-operation):
Add 'list-system-processes' and `process-attributes'.
(tramp-process-attributes-ps-args)
(tramp-process-attributes-ps-format): New defconsts.
(tramp-ps-time, tramp-get-process-attributes)
(tramp-handle-list-system-processes)
(tramp-handle-process-attributes): New defuns.

* src/process.c (Flist_system_processes, Fprocess_attributes):
Support remote system processes.
(Qlist_system_processes, Qprocess_attributes): Declare symbols.
2022-04-05 17:08:03 +02:00
Eli Zaretskii
dd3863d8bc ; Prepare the release branch for Emacs-28.2 development
* README:
* configure.ac:
* nt/README.W32:
* msdos/sed2v2.inp: Bump Emacs version to 28.1.50.

* etc/NEWS: Add Emacs-28.2 sections.
2022-04-03 16:09:11 +03:00
Eli Zaretskii
5a223c7f2e Update logs and HISTORY for Emacs 28.1
* ChangeLog.3:
* etc/HISTORY:
* etc/AUTHORS: Update for Emacs 28.1 release.
2022-04-03 08:26:02 -04:00
Eli Zaretskii
f2ae398298 ; * etc/NEWS: Remove temporary notes and marks. 2022-04-03 07:16:10 -04:00
Po Lu
28f720e7c4 Make dragging stuff to a window above a frame work
* doc/lispref/frames.texi (Mouse Tracking):
* etc/NEWS: Announce new `drag-source' value of `track-mouse'.
* lisp/mouse.el (mouse-drag-and-drop-region): Use new value of
`track-mouse' during interprogram drag and drop.

* src/keyboard.c (make_lispy_position): Handle nil values of f
correctly.
* src/xdisp.c (define_frame_cursor1): Ignore if `drag-source' as
well.
(syms_of_xdisp): New defsym `drag-source'.
* src/xterm.c (XTmouse_position): Implement `drag-source'.
(mouse_or_wdesc_frame): Likewise.
2022-04-03 18:59:12 +08:00
Po Lu
1694f82e5f Add user options to move point and scroll window during DND
* doc/emacs/frames.texi (Drag and Drop):
* etc/NEWS: Document new options 'dnd-scroll-margin' and
'dnd-indicate-insertion-point'.
* lisp/dnd.el (dnd-protocol-alist):
(dnd-open-remote-file-function):
(dnd-open-file-other-window): Add right group to defcustoms.
(dnd-scroll-margin, dnd-indicate-insertion-point): New user
options.
(dnd-handle-movement): New function.
* lisp/x-dnd.el (x-dnd-handle-xdnd):
(x-dnd-handle-motif): Call `dnd-handle-movement' when
appropriate.
2022-04-03 09:14:24 +08:00
Eli Zaretskii
9c30276c42 ; Improve documentation of 'font-lock-ignore'
* etc/NEWS:
* lisp/font-lock.el (font-lock-ignore):
* doc/lispref/modes.texi (Customizing Keywords): Clarify the
documentation of 'font-lock-ignore'.
* doc/emacs/display.texi (Font Lock): Mention 'font-lock-ignore'.
2022-04-02 16:45:26 +03:00
Po Lu
e351e9037c Add new option `mouse-drag-and-drop-region-scroll-margin'
* etc/NEWS: Announce new user option.
* lisp/mouse.el (mouse-drag-and-drop-region-scroll-margin): New
user option.
(mouse-drag-and-drop-region): Implement "scroll margin" like
behavior during mouse movement.
2022-04-02 15:45:00 +08:00
Stefan Monnier
c75f65442d kmacro: Represent it as an OClosure
Merge the old lambda+list into a single OClosure object which plays
both roles at the same time.  Take advantage of it to provide a
`cl-print-object` method so kmacro objects print nicely using the
`key-parse` syntax.
Also replace the old `kmacro-lambda-form` with a new `kmacro` constructor
which takes a `key-parse` syntax, so that the code inserted with
`insert-kbd-macro` is now more readable.

* lisp/kmacro.el (kmacro): New OClosure type.
(kmacro-ring-head): Use `kmacro` constructor.
(kmacro-push-ring): Convert `elt` from old representation if needed.
(kmacro-split-ring-element, kmacro-view-ring-2nd, kmacro-view-macro):
Adapt to new representation.
(kmacro-exec-ring-item): Turn into obsolete alias.
(kmacro-call-ring-2nd, kmacro-end-or-call-macro): Adjust accordingly.
(kmacro-start-macro): Simplify call to `kmacro-push-ring`.
(kmacro): New constructor function.  Replaces `kmacro-lambda-form`.
(kmacro-lambda-form): Use it and declare obsolete.
(kmacro-extract-lambda): Rewrite and declare obsolete.
(kmacro-p): Rewrite.
(cl-print-object): New method.
(kmacro-bind-to-key, kmacro-name-last-macro): Simplify.

* lisp/macros.el (macro--string-to-vector): New function.
(insert-kbd-macro): Use it.  Generate code using the `kmacro` constructor.

* test/lisp/kmacro-tests.el (kmacro-tests-kmacro-bind-to-single-key):
Silence warning.
(kmacro-tests-name-last-macro-bind-and-rebind): Strengthen the test a bit.
(kmacro-tests--cl-print): New test.
2022-04-01 20:07:33 -04:00