]> git.eshelyaron.com Git - emacs.git/log
emacs.git
2 years agoFix .dir-local.el caching for symlinks
Lars Ingebrigtsen [Tue, 14 Jun 2022 13:01:44 +0000 (15:01 +0200)]
Fix .dir-local.el caching for symlinks

* lisp/files.el (dir-locals-read-from-dir): We want the time stamp
of the actual file, not the time stamp of the symlink (if
.dir-locals.el is a symlink) (bug#46122).

2 years agoLeave the contents on the *Backtrace* buffer on `q'
Lars Ingebrigtsen [Tue, 14 Jun 2022 12:38:05 +0000 (14:38 +0200)]
Leave the contents on the *Backtrace* buffer on `q'

* lisp/emacs-lisp/debug.el (debug): Don't clear the contents of
the buffer on `q' (bug#55863).

2 years agoFix gud parsing of empty jdb classpaths
Lars Ingebrigtsen [Tue, 14 Jun 2022 12:26:58 +0000 (14:26 +0200)]
Fix gud parsing of empty jdb classpaths

* lisp/progmodes/gud.el (gud-jdb-marker-filter): Parse empty
classpaths (like classpath: []) correctly (bug#55957).

2 years agoBind Cmd-t to menu-set-font on macOS
Daniel Martín [Tue, 14 Jun 2022 12:23:06 +0000 (14:23 +0200)]
Bind Cmd-t to menu-set-font on macOS

* lisp/term/ns-win.el (global-map): set-frame-font asks for a font
using the minibuffer, but the former ns-popup-font-panel always showed
the graphical font panel on macOS.  To preserve the same behavior,
bind it to menu-set-font, which is also called by Options, Set Default
Font (bug#55967).

2 years agoAllow using alists in ido completion and hitting TAB
Lars Ingebrigtsen [Tue, 14 Jun 2022 12:16:55 +0000 (14:16 +0200)]
Allow using alists in ido completion and hitting TAB

* lisp/ido.el (ido-completion-help): Allow using an alist
COMPLETIONS (bug#46091).

2 years agoMention how to only get syntactic font locking in the manual
Lars Ingebrigtsen [Mon, 13 Jun 2022 18:57:25 +0000 (20:57 +0200)]
Mention how to only get syntactic font locking in the manual

* doc/lispref/modes.texi (Syntactic Font Lock): Note how to only
get syntactic font locking (bug#46039).

2 years ago; Improve doc of `x-dnd-native-test-function'
Po Lu [Tue, 14 Jun 2022 11:49:58 +0000 (19:49 +0800)]
; Improve doc of `x-dnd-native-test-function'

* src/xterm.c (syms_of_xterm): Improve doc.  Suggested by Eli
Zaretskii <eliz@gnu.org>.

2 years agoFix Tramp problem with non-essential
Michael Albinus [Tue, 14 Jun 2022 11:04:34 +0000 (13:04 +0200)]
Fix Tramp problem with non-essential

* lisp/net/tramp.el (tramp-run-real-handler):
Handle also functions which use a `tramp-file-name' for the file
name handler.  (Bug#55832)
(tramp-get-home-directory, tramp-get-remote-uid)
(tramp-get-remote-gid): VEC can also be nil.

2 years ago; * lisp/emacs-lisp/cconv.el: Fix outdated comments.
Mattias Engdegård [Tue, 14 Jun 2022 10:08:15 +0000 (12:08 +0200)]
; * lisp/emacs-lisp/cconv.el: Fix outdated comments.

2 years agoFix mishandling of dnd-scroll-margin with scroll bar motion
Po Lu [Tue, 14 Jun 2022 09:43:08 +0000 (17:43 +0800)]
Fix mishandling of dnd-scroll-margin with scroll bar motion

* lisp/dnd.el (dnd-handle-movement): Ignore posns inside scroll
bars for now.

2 years ago* lisp/minibuffer.el (minibuffer-complete-history): New command.
Juri Linkov [Tue, 14 Jun 2022 07:14:52 +0000 (10:14 +0300)]
* lisp/minibuffer.el (minibuffer-complete-history): New command.

(minibuffer-complete-defaults): New command.
https://lists.gnu.org/archive/html/emacs-devel/2022-06/msg00498.html

2 years ago* lisp/simple.el (completion-auto-wrap): Rename from completion-wrap-movement.
Juri Linkov [Tue, 14 Jun 2022 07:04:56 +0000 (10:04 +0300)]
* lisp/simple.el (completion-auto-wrap): Rename from completion-wrap-movement.

(next-completion): Use completion-auto-wrap.
https://lists.gnu.org/archive/html/emacs-devel/2022-06/msg00139.html

2 years agoFix out of date parts in NS doc and keyboard bindings
Po Lu [Tue, 14 Jun 2022 06:06:59 +0000 (14:06 +0800)]
Fix out of date parts in NS doc and keyboard bindings

* doc/emacs/macos.texi (Mac / GNUstep Events): Remove
`ns-drag-n-drop' which doesn't exist anymore.  Add events to
concept index and document `ns-show-prefs'.  (bug#55940)
* lisp/term/ns-win.el (global-map): Remove ns-popup-font-panel.

2 years agoHandle coordinates of Motif drop start messages
Po Lu [Tue, 14 Jun 2022 05:52:38 +0000 (13:52 +0800)]
Handle coordinates of Motif drop start messages

* src/xterm.c (xm_read_drop_start_message): New function.
(xm_read_drag_motion_message): Check that the originator is
correct.
(x_coords_from_dnd_message): Read drop start messages as well.

2 years agoMerge from origin/emacs-28
Stefan Kangas [Tue, 14 Jun 2022 04:30:43 +0000 (06:30 +0200)]
Merge from origin/emacs-28

73400e4002 Clarify what a Calc registeri in in calc-insert-register

2 years agoHandle coordinate extraction for more event types
Po Lu [Tue, 14 Jun 2022 02:12:48 +0000 (10:12 +0800)]
Handle coordinate extraction for more event types

* src/xterm.c (xm_read_drag_motion_message): New function.
(x_coords_from_dnd_message): Handle XM_DRAG_REASON_DRAG_MOTION.

2 years agoUse coordinates provided by DND messages if available
Po Lu [Tue, 14 Jun 2022 01:41:59 +0000 (09:41 +0800)]
Use coordinates provided by DND messages if available

This avoids an extra sync, which matters when dropping onto
Emacs running over a slow connection.

* src/xselect.c (x_handle_dnd_message): New args
`root_window_coords', `root_x' and `root_y'.
* src/xterm.c (x_coords_from_dnd_message): New function.
(handle_one_xevent): Pass root window coordinates to
x_handle_dnd_message.
* src/xterm.h: Update prototypes.

2 years agoproject--git-submodules: Parse more strictly
Dmitry Gutov [Tue, 14 Jun 2022 01:00:22 +0000 (04:00 +0300)]
project--git-submodules: Parse more strictly

* lisp/progmodes/project.el (project--git-submodules):
Don't mistake 'load-path' for 'path' (bug#55396).

2 years agoDefault decoded-time dst slot to -1
Paul Eggert [Mon, 13 Jun 2022 21:25:58 +0000 (14:25 -0700)]
Default decoded-time dst slot to -1

* lisp/simple.el (decoded-time): Default dst slot to -1.
Improve related doc strings.

2 years agoPacify GCC 12.1.1 -Wanalyzer-use-of-uninitialized-value
Paul Eggert [Mon, 13 Jun 2022 20:37:37 +0000 (13:37 -0700)]
Pacify GCC 12.1.1 -Wanalyzer-use-of-uninitialized-value

* src/xfont.c (xfont_list_pattern): Initialize a local.
Although I’m not sure this is needed, it doesn’t change
behavior (except possibly to make undefined behavior defined).

2 years agoPacify GCC 12.1.1 in default developer build
Paul Eggert [Mon, 13 Jun 2022 20:21:18 +0000 (13:21 -0700)]
Pacify GCC 12.1.1 in default developer build

* src/pdumper.c (pdumper_load): Use explicit memset to work around
GCC bug <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105961>.

2 years ago* lisp/progmodes/grep.el (grep-read-files): Combine files with aliases.
Juri Linkov [Mon, 13 Jun 2022 17:19:32 +0000 (20:19 +0300)]
* lisp/progmodes/grep.el (grep-read-files): Combine files with aliases.

Use completion-table-merge to combine completions of files from
read-file-name-internal with a list of defaults from grep-files-aliases
(bug#55800).

2 years agoMention \`M-x ...' in the lispref manual
Lars Ingebrigtsen [Mon, 13 Jun 2022 15:30:36 +0000 (17:30 +0200)]
Mention \`M-x ...' in the lispref manual

* doc/lispref/help.texi (Keys in Documentation): Note \`M-x ...'
syntax.

2 years agoClarify what a Calc registeri in in calc-insert-register
Lars Ingebrigtsen [Mon, 13 Jun 2022 15:14:08 +0000 (17:14 +0200)]
Clarify what a Calc registeri in in calc-insert-register

* lisp/calc/calc-yank.el (calc-insert-register): Note that these
aren't normal registers (bug#55943).

2 years agoAllow saying \\=`M-x ...' in a doc string
Lars Ingebrigtsen [Mon, 13 Jun 2022 15:02:55 +0000 (17:02 +0200)]
Allow saying \\=`M-x ...' in a doc string

* lisp/help.el (substitute-command-keys): Allow saying \\=`M-x
foo' in doc strings (and have it be fontified as a key binding).

2 years agoMassage In-Reply-To data in message-mail
Lars Ingebrigtsen [Mon, 13 Jun 2022 14:46:14 +0000 (16:46 +0200)]
Massage In-Reply-To data in message-mail

* lisp/gnus/message.el (message-mail): Fix up Message-IDs from
Firefox (bug#55926).

2 years agoMatch complete words in dns-mode
Lassi Kortela [Mon, 13 Jun 2022 14:32:45 +0000 (16:32 +0200)]
Match complete words in dns-mode

* lisp/textmodes/dns-mode.el (dns-mode-font-lock-keywords): Match
complete words like SOA and not all words that contain the string
SOA (bug#55944).

Copyright-paperwork-exempt: yes

2 years agoAllow `query-replace' to do exact replacement of the current item
Lars Ingebrigtsen [Mon, 13 Jun 2022 14:17:40 +0000 (16:17 +0200)]
Allow `query-replace' to do exact replacement of the current item

* doc/emacs/search.texi (Query Replace): Document it.

* lisp/replace.el (query-replace-help): Amend help text.
(query-replace-map): Bind `E' to the exact case replacement.
(perform-replace): Allow editing a replacement with exact case
(bug#8504).

2 years agoAdd to mode cedilla characters to iso-transl-char-map
Lars Ingebrigtsen [Mon, 13 Jun 2022 13:57:26 +0000 (15:57 +0200)]
Add to mode cedilla characters to iso-transl-char-map

* lisp/international/iso-transl.el (iso-transl-char-map): Add some
more cedilla characters.

2 years agoAdd support for the Meetei Mayek script
समीर सिंह Sameer Singh [Sat, 11 Jun 2022 13:23:43 +0000 (18:53 +0530)]
Add support for the Meetei Mayek script

* lisp/language/indian.el ("Meetei Mayek"): New language environment.
Add composition rules for Meetei Mayek. Add sample text and input method.
* lisp/international/fontset.el (script-representative-chars)
(setup-default-fontset): Support Meetei Mayek.
* lisp/leim/quail/indian.el ("meetei-mayek"): New input method.

* etc/HELLO: Add a Meetei Mayek greeting.
* etc/NEWS: Announce the new language environment.

2 years agoMake the ediff control panel mode line prettier
Lars Ingebrigtsen [Mon, 13 Jun 2022 13:49:56 +0000 (15:49 +0200)]
Make the ediff control panel mode line prettier

* lisp/vc/ediff-wind.el (ediff-refresh-mode-lines): Don't include
"Quick Help" in the mode line in the plain version (bug#12840).
(ediff-make-wide-control-buffer-id): Make the informative part of
the mode line bold.  (Code from Michael Heerdegen.)

2 years ago; * etc/NEWS: Fix wording.
Eli Zaretskii [Mon, 13 Jun 2022 13:46:45 +0000 (16:46 +0300)]
; * etc/NEWS: Fix wording.

2 years ago; * doc/lispref/minibuf.texi (Text from Minibuffer): Fix indexing.
Eli Zaretskii [Mon, 13 Jun 2022 13:45:05 +0000 (16:45 +0300)]
; * doc/lispref/minibuf.texi (Text from Minibuffer): Fix indexing.

2 years agoAllow rgrep users to indicate case folding easier
Lars Ingebrigtsen [Mon, 13 Jun 2022 13:32:57 +0000 (15:32 +0200)]
Allow rgrep users to indicate case folding easier

* lisp/progmodes/grep.el (rgrep): Allow the user to toggle case
sensitivity interactively (bug#16913).

2 years agoAdd a `M-c' command to `read-regexp'
Lars Ingebrigtsen [Mon, 13 Jun 2022 13:31:25 +0000 (15:31 +0200)]
Add a `M-c' command to `read-regexp'

* doc/lispref/minibuf.texi (Text from Minibuffer): Document it.

* lisp/replace.el (read-regexp): Add a `M-c' command to indicate
case folding (bug#16913).

2 years agobindat (strz): Error on null byte if packing variable-length string
Richard Hansen [Mon, 13 Jun 2022 12:32:01 +0000 (14:32 +0200)]
bindat (strz): Error on null byte if packing variable-length string

* lisp/emacs-lisp/bindat.el (strz): Signal an error if a null byte is
encountered while packing a string to a variable-length strz field.
* test/lisp/emacs-lisp/bindat-tests.el (strz): Add tests (bug#55938).

2 years ago* files.el (auto-mode-alist): Add entry to `.eld` files
Stefan Monnier [Mon, 13 Jun 2022 12:58:09 +0000 (08:58 -0400)]
* files.el (auto-mode-alist): Add entry to `.eld` files

2 years agoMake `/ a' in *Package* filter by name
Lars Ingebrigtsen [Mon, 13 Jun 2022 12:20:22 +0000 (14:20 +0200)]
Make `/ a' in *Package* filter by name

* lisp/emacs-lisp/package.el (package-menu-filter-by-archive):
Filter by package name instead of by regexp, so that if the user
types "gnu", they won't get "nongnu", too (bug#55919).

2 years ago* lisp/find-dired.el (find-dired): Make directory clickable.
Visuwesh [Sun, 12 Jun 2022 10:35:08 +0000 (12:35 +0200)]
* lisp/find-dired.el (find-dired): Make directory clickable.

* lisp/find-dired.el (find-dired): Make the directory line
clickable (bug#55906).

2 years agoRespect test function when performing local drag-and-drop
Po Lu [Mon, 13 Jun 2022 07:01:06 +0000 (15:01 +0800)]
Respect test function when performing local drag-and-drop

* lisp/x-dnd.el (x-dnd-test-function): Fix doc string to
describe what is actually accepted.
(x-dnd-known-types, x-dnd-targets-list): Fix coding style.
(x-dnd-handle-native-drop): New function.

* src/xselect.c (x_atom_to_symbol): Export.

* src/xterm.c (x_dnd_note_self_drop): Call new variable to
determine what action to return.
(x_clear_dnd_action): New function.
(x_dnd_begin_drag_and_drop): Respect new variable.
(syms_of_xterm): New defvar `x-dnd-native-test-function'.
* src/xterm.h: Update prototypes.

2 years agoMerge from origin/emacs-28
Stefan Kangas [Mon, 13 Jun 2022 04:55:57 +0000 (06:55 +0200)]
Merge from origin/emacs-28

d6f080d3de ; * doc/man/etags.1: Bump man page date.

2 years agoImprove DND tooltip updating
Po Lu [Mon, 13 Jun 2022 04:49:12 +0000 (12:49 +0800)]
Improve DND tooltip updating

* src/xterm.c (x_dnd_update_tooltip_now): Add missing part of
last change.
(x_monitors_changed_cb, handle_one_xevent): Only update if a
change in monitor configuration really happened.

2 years agoKeep tooltip position in sync with monitor changes
Po Lu [Mon, 13 Jun 2022 01:42:12 +0000 (09:42 +0800)]
Keep tooltip position in sync with monitor changes

* src/xterm.c (x_dnd_update_tooltip_now): New function.
(x_monitors_changed_cb):
(handle_one_xevent): Call that function on monitor change.

2 years agoFix special DND event coordinates
Po Lu [Mon, 13 Jun 2022 01:11:08 +0000 (09:11 +0800)]
Fix special DND event coordinates

* src/xterm.c (x_dnd_note_self_drop): Set DND action to
XdndActionPrivate.
(x_dnd_begin_drag_and_drop): Don't return XdndPrivate specially
here.
(handle_one_xevent): Fix order of arguments to
x_dnd_note_self_drop.

2 years ago* lisp/icomplete.el: Consider a list in minibuffer-default (bug#55800)
Juri Linkov [Sun, 12 Jun 2022 18:24:01 +0000 (21:24 +0300)]
* lisp/icomplete.el: Consider a list in minibuffer-default (bug#55800)

* lisp/icomplete.el (icomplete--sorted-completions): Handle a string value
in the first element of the list of default values in minibuffer-default.

2 years ago; * lisp/isearch.el (isearch-search-fun-in-text-property): Doc fix.
Eli Zaretskii [Sun, 12 Jun 2022 17:43:24 +0000 (20:43 +0300)]
; * lisp/isearch.el (isearch-search-fun-in-text-property): Doc fix.

2 years ago* lisp/isearch.el (isearch-search-fun-in-text-property): Handle ^/$ specially.
Juri Linkov [Sun, 12 Jun 2022 16:45:15 +0000 (19:45 +0300)]
* lisp/isearch.el (isearch-search-fun-in-text-property): Handle ^/$ specially.

When the regexp contains ^ or $ then use a temporary buffer to find matches
at the beginning/end of the region with the given text property (bug#14013).

2 years agoFix encoding of multibyte ToolTalk filenames
Po Lu [Sun, 12 Jun 2022 14:04:47 +0000 (22:04 +0800)]
Fix encoding of multibyte ToolTalk filenames

* lisp/select.el (xselect-convert-to-dt-netfile): Encode file
name before computing its tooltalk name, since the indices work
on bytes.

* test/lisp/dnd-tests.el (dnd-tests-begin-file-drag): Add test.

2 years agoFix handling of scroll bar clicks on Haiku
Po Lu [Sun, 12 Jun 2022 13:04:19 +0000 (13:04 +0000)]
Fix handling of scroll bar clicks on Haiku

* src/haiku_support.cc (class EmacsView, BasicMouseDown)
(BasicMouseUp): Move MouseDown and MouseUp here.  New parameter
`scroll_bar'.
(MouseDown, MouseUp): Call basic variants.

(class EmacsScrollBar): New field `parent'.
(BScrollBar_make_for_view): Rename to
`be_create_scroll_bar_for_view'.
* src/haiku_support.h (struct haiku_button_event): New field
`scroll_bar'.
* src/haikuterm.c (haiku_scroll_bar_from_widget): Handle NULL
widget.
(haiku_scroll_bar_create): Update calls.
(haiku_mouse_position): Fix scroll bar part.
(haiku_read_socket): Handle button events on scroll bars as
scroll bar click events.

2 years ago; * doc/man/etags.1: Bump man page date.
Stefan Kangas [Sun, 12 Jun 2022 10:41:15 +0000 (12:41 +0200)]
; * doc/man/etags.1: Bump man page date.

2 years agoUse BASE_EQ when comparing with Qunbound
Mattias Engdegård [Sun, 12 Jun 2022 10:05:03 +0000 (12:05 +0200)]
Use BASE_EQ when comparing with Qunbound

Qunbound is uninterned and can therefore never be EQ to any symbol
with position.

* src/buffer.c (Fbuffer_local_value, buffer_lisp_local_variables)
(buffer_local_variables_1):
* src/bytecode.c (exec_byte_code):
* src/comp.c (compile_function, Fcomp__compile_ctxt_to_file):
* src/composite.c (composition_gstring_cache_clear_font):
* src/data.c (Fboundp, Fsymbol_value, set_internal)
(Fdefault_boundp, Fdefault_value, Fmake_variable_buffer_local):
* src/emacs-module.c (module_global_reference_p):
* src/eval.c (Fdefault_toplevel_value, defvar)
(run_hook_with_args):
* src/fns.c (hash_put, Fmaphash):
* src/font.c (font_put_extra):
* src/frame.c (gui_set_frame_parameters)
(gui_frame_get_and_record_arg, gui_default_parameter)
(gui_figure_window_size):
* src/haikufns.c (get_geometry_from_preferences)
(haiku_create_frame, haiku_create_tip_frame):
* src/haikuterm.c (haiku_draw_text_decoration)
(haiku_default_font_parameter):
* src/json.c (lisp_to_json_nonscalar_1):
* src/keymap.c (access_keymap_1, access_keymap, current_minor_maps):
* src/lread.c (readevalloop, define_symbol):
* src/minibuf.c (read_minibuf, Ftry_completion):
(Fall_completions, Ftest_completion):
* src/pgtkfns.c (pgtk_default_font_parameter, Fx_create_frame)
(x_create_tip_frame):
* src/pgtkselect.c (Fpgtk_own_selection_internal):
* src/print.c (print):
* src/profiler.c (evict_lower_half, record_backtrace):
* src/terminal.c (create_terminal):
* src/textprop.c (set_properties):
* src/w32fns.c (my_create_window, w32_icon)
(w32_default_font_parameter, Fx_create_frame)
(w32_create_tip_frame):
* src/w32term.c (w32_draw_glyph_string):
* src/xdisp.c (handle_single_display_spec)
(cursor_row_fully_visible_p, calc_pixel_width_or_height):
* src/xfns.c (x_default_scroll_bar_color_parameter, x_icon_verify)
(x_icon, x_default_font_parameter, Fx_create_frame)
(x_create_tip_frame):
* src/xselect.c (x_handle_selection_request):
* src/xterm.c (x_draw_glyph_string, x_term_init):
Use BASE_EQ instead of EQ when comparing with Qunbound.

2 years agoMake find-sibling-file-search non-private
Lars Ingebrigtsen [Sun, 12 Jun 2022 10:08:32 +0000 (12:08 +0200)]
Make find-sibling-file-search non-private

* lisp/files.el (find-sibling-file-search): Rename to be non-private.
(find-sibling-file): Adjust call.

2 years agoFix "C-x C-d" with wildcard arguments
Eli Zaretskii [Sun, 12 Jun 2022 10:03:32 +0000 (13:03 +0300)]
Fix "C-x C-d" with wildcard arguments

* lisp/files.el (list-directory): Make sure 'default-directory' is
set to a valid value if the argument DIRNAME included wildcards.
(Bug#55877)

2 years agoFix phantom drag-and-drop targets showing up in some programs
Po Lu [Sun, 12 Jun 2022 08:41:40 +0000 (16:41 +0800)]
Fix phantom drag-and-drop targets showing up in some programs

* src/xterm.c (x_dnd_cleanup_drag_and_drop)
(x_dnd_begin_drag_and_drop): Delete XdndTypeList if it was set
after the DND operation completes.  Some programs apparently
think its presence on the drag source means there are more than
3 targets.

2 years agobindat (str, strz): Reject non-ASCII, non-`eight-bit' characters
Richard Hansen [Sun, 12 Jun 2022 05:19:43 +0000 (01:19 -0400)]
bindat (str, strz): Reject non-ASCII, non-`eight-bit' characters

* lisp/emacs-lisp/bindat.el (str) (strz): Signal an error if the user
attempts to pack a multibyte string containing characters other than
ASCII and `eight-bit' characters (bug#55897).
* doc/lispref/processes.texi (Bindat Types): Update documentation.
* test/lisp/emacs-lisp/bindat-tests.el (str) (strz): Add tests.

2 years agoDon't repetitively initialize type lists during DND
Po Lu [Sun, 12 Jun 2022 05:45:18 +0000 (13:45 +0800)]
Don't repetitively initialize type lists during DND

* src/xterm.c (x_dnd_send_enter): Only set XdndTypeList once.
(x_dnd_begin_drag_and_drop): Clear type list flag.

2 years agoMerge from origin/emacs-28
Stefan Kangas [Sun, 12 Jun 2022 04:30:25 +0000 (06:30 +0200)]
Merge from origin/emacs-28

cbd2c87a5d ; Fix last change in whitespace.el.
52ad2b53cb Fix doc strings in whitespace.el

2 years ago* lisp/emacs-lisp/find-func.el (find-function-advised-original): Simplify
Stefan Monnier [Sun, 12 Jun 2022 03:50:35 +0000 (23:50 -0400)]
* lisp/emacs-lisp/find-func.el (find-function-advised-original): Simplify

2 years agoUse cached monitor info during DND if available
Po Lu [Sun, 12 Jun 2022 02:17:19 +0000 (10:17 +0800)]
Use cached monitor info during DND if available

* src/xterm.c (x_dnd_begin_drag_and_drop): Use previously cached
monitor attributes if they exist.

2 years ago* src/nsfns.m (ns_move_tooltip_to_mouse_location): Handle invisible frames.
Po Lu [Sun, 12 Jun 2022 02:13:04 +0000 (10:13 +0800)]
* src/nsfns.m (ns_move_tooltip_to_mouse_location): Handle invisible frames.

2 years agoDon't rely on XdndAware on frames for dropping to work
Po Lu [Sun, 12 Jun 2022 01:32:30 +0000 (09:32 +0800)]
Don't rely on XdndAware on frames for dropping to work

* src/xterm.c (x_dnd_get_target_window): New parameter
WAS_FRAME.  If toplevel is a frame, set it and clear proto and
motif.
(x_dnd_send_enter, x_dnd_send_position, x_dnd_send_leave)
(x_dnd_send_drop): Remove special-cased self dropping code.
(x_dnd_note_self_position, x_dnd_note_self_drop): New functions.

(x_dnd_begin_drag_and_drop, x_dnd_update_state):
(handle_one_xevent): Handle our own frames using those functions
instead.

2 years ago* src/fns.c (internal_equal): Use BASE_EQ where possible.
Mattias Engdegård [Sat, 11 Jun 2022 16:44:37 +0000 (18:44 +0200)]
* src/fns.c (internal_equal): Use BASE_EQ where possible.

2 years agoRecognize processes as a CL type again
Basil L. Contovounesios [Sat, 11 Jun 2022 12:50:09 +0000 (15:50 +0300)]
Recognize processes as a CL type again

For discussion, see:
https://lists.gnu.org/r/emacs-devel/2022-06/msg00567.html

* lisp/emacs-lisp/cl-macs.el (cl-deftype-satisfies): Include process
as a type, to avoid cl-typep complaining about process objects.

2 years agoMake new fileio test more reliable
Lars Ingebrigtsen [Sat, 11 Jun 2022 16:15:35 +0000 (18:15 +0200)]
Make new fileio test more reliable

* test/src/fileio-tests.el: Use a unibyte buffer to avoid length
confusion.

2 years agoBump sh-imenu-generic-expression defcustom version
Lars Ingebrigtsen [Sat, 11 Jun 2022 16:13:06 +0000 (18:13 +0200)]
Bump sh-imenu-generic-expression defcustom version

* lisp/progmodes/sh-script.el (sh-imenu-generic-expression): Bump
the :version since we changed the value.

2 years agoFix loaddefs installation of packages with no autoloads
Lars Ingebrigtsen [Sat, 11 Jun 2022 15:59:23 +0000 (17:59 +0200)]
Fix loaddefs installation of packages with no autoloads

* lisp/emacs-lisp/loaddefs-gen.el (loaddefs-generate): Always
generate an output file if we have EXTRA-DATA.  This fixes package
installation of packages with no ;;;###autoload forms.

2 years agofileio-tests.el (test-non-regular-insert): Fix thinko
Stefan Monnier [Sat, 11 Jun 2022 15:57:25 +0000 (11:57 -0400)]
fileio-tests.el (test-non-regular-insert): Fix thinko

* test/src/fileio-tests.el (fileio-tests--non-regular-insert): Rename
from `test-non-regular-insert` and make it into a test rather than
a broken function.  Oh, and make it work while at it.

2 years agoBindat: Document `sint`; add `le` arg to `uint`; deprecate `uintr`
Stefan Monnier [Sat, 11 Jun 2022 15:55:27 +0000 (11:55 -0400)]
Bindat: Document `sint`; add `le` arg to `uint`; deprecate `uintr`

* lisp/emacs-lisp/bindat.el (bindat--type) <uint>: Add `le` optional arg.
(bindat--type) <uintr>: Delete method.
(uintr): Re-define as a bindat-macro instead.
(bindat-type): Update docstring accordingly.
(bindat--primitives): Update.
(sint): Simplify.

* doc/lispref/processes.texi (Bindat Types): Update `uint`, add `sint`,
and remove `uintr`.

* test/lisp/emacs-lisp/bindat-tests.el (data-bindat-spec): Use the new
`le` arg of `uint` instead of `uintr`.

2 years agoMerge branch 'master' of git.savannah.gnu.org:/srv/git/emacs
Eli Zaretskii [Sat, 11 Jun 2022 13:17:37 +0000 (16:17 +0300)]
Merge branch 'master' of git.savannah.gnu.org:/srv/git/emacs

2 years agoImprove Lepcha composition rules and rename its native name
समीर सिंह Sameer Singh [Sat, 11 Jun 2022 11:18:44 +0000 (16:48 +0530)]
Improve Lepcha composition rules and rename its native name

* lisp/language/indian.el ("Lepcha"): Rename lepcha script
native name and improve composition rules.  (Bug#55869)

* etc/HELLO: Rename Lepcha script native name.

2 years agoFix timestamp of special drop events
Po Lu [Sat, 11 Jun 2022 13:16:30 +0000 (21:16 +0800)]
Fix timestamp of special drop events

* src/xterm.c (x_dnd_send_drop): Set special event timestamp
to the timestamp of the drop instead of CurrentTime.

2 years ago; * src/fileio.c (Finsert_file_contents): Fix a typo. (Bug#18370)
Eli Zaretskii [Sat, 11 Jun 2022 13:12:10 +0000 (16:12 +0300)]
; * src/fileio.c (Finsert_file_contents): Fix a typo.  (Bug#18370)

2 years agoAllow inserting parts of /dev/urandom with insert-file-contents
Lars Ingebrigtsen [Sat, 11 Jun 2022 12:39:54 +0000 (14:39 +0200)]
Allow inserting parts of /dev/urandom with insert-file-contents

* doc/lispref/files.texi (Reading from Files): Document it.
* src/fileio.c (Finsert_file_contents): Allow specifying END for
special files (bug#18370).

2 years agoFix some drag-and-drop handling on Haiku
Po Lu [Sat, 11 Jun 2022 12:01:01 +0000 (12:01 +0000)]
Fix some drag-and-drop handling on Haiku

* lisp/term/haiku-win.el (haiku-drag-and-drop): Don't raise
frame for some types of drags.

* src/haikuselect.c (haiku_unwind_drag_message): Don't hide
tooltip here.
(Fhaiku_drag_message): Only clear grab and hide tooltip if the
drag was successful.

2 years agoFix initializers for Haiku scroll bars
Po Lu [Sat, 11 Jun 2022 11:55:42 +0000 (11:55 +0000)]
Fix initializers for Haiku scroll bars

* src/haiku_support.cc (class Emacs):
(class EmacsScrollBar): Fix initializers.

2 years agoSupport mksh-specific function names in imenu
Visuwesh [Sat, 11 Jun 2022 11:05:17 +0000 (13:05 +0200)]
Support mksh-specific function names in imenu

* lisp/progmodes/sh-script.el (sh-imenu-generic-expression): Add
mksh-specific function names to imenu-generic-expression
(bug#55889).

2 years ago; Fix last change in whitespace.el.
Eli Zaretskii [Sat, 11 Jun 2022 11:02:29 +0000 (14:02 +0300)]
; Fix last change in whitespace.el.

2 years agoFurther tweaks to how remapped commands are described
Lars Ingebrigtsen [Sat, 11 Jun 2022 10:34:18 +0000 (12:34 +0200)]
Further tweaks to how remapped commands are described

* lisp/help.el (describe-map): Rework how remapped commands are
output to avoid repetitions.

They're now shown as:

C-x 4 C-o ido-display-buffer
  (Remapped via <remap> <display-buffer>)
C-x 5 C-o ido-display-buffer-other-frame
  (Remapped via <remap> <display-buffer-other-frame>)
C-x x i ido-insert-buffer
  (Remapped via <remap> <insert-buffer>)

2 years agoFix doc strings in whitespace.el
Eli Zaretskii [Sat, 11 Jun 2022 10:30:07 +0000 (13:30 +0300)]
Fix doc strings in whitespace.el

* lisp/whitespace.el (whitespace-style, whitespace-action):
Untabify the doc strings.  (Bug#55904)

2 years agoAdd support for the Lepcha script (bug#55869)
समीर सिंह Sameer Singh [Thu, 9 Jun 2022 14:24:10 +0000 (19:54 +0530)]
Add support for the Lepcha script (bug#55869)

* lisp/language/indian.el ("Lepcha"): New language environment.
Add composition rules for Lepcha. Add sample text and input method.
* lisp/language/misc-lang.el ("Kharoshthi"): Fix whitespace.
* lisp/international/fontset.el (script-representative-chars)
(setup-default-fontset): Support Lepcha.
* lisp/leim/quail/indian.el ("lepcha"): New input method.

* etc/HELLO: Add a Lepcha greeting.
* etc/NEWS: Announce the new language environment.

2 years agoFix queuing already-present selection requests
Po Lu [Sat, 11 Jun 2022 06:11:28 +0000 (14:11 +0800)]
Fix queuing already-present selection requests

* src/xterm.c (x_defer_selection_requests): Move kbd_fetch_ptr
if possible and fix counter increment order.

2 years agoMerge from origin/emacs-28
Stefan Kangas [Sat, 11 Jun 2022 04:30:30 +0000 (06:30 +0200)]
Merge from origin/emacs-28

0705705ebf Improve documentation of "etags -I"
0ad8cd40ce Merge branch 'emacs-28' of git.savannah.gnu.org:/srv/git/e...
22a832ad82 Mention the #f syntax from cl-prin1
3fd0854378 Fix file name quoting in tramp-smb.el (do not merge)

2 years ago; Merge from origin/emacs-28
Stefan Kangas [Sat, 11 Jun 2022 04:30:30 +0000 (06:30 +0200)]
; Merge from origin/emacs-28

The following commit was skipped:

8436e0bee9 Update error message to reflect variable rename

2 years agoHandle allocation errors when interning large amounts of atoms
Po Lu [Sat, 11 Jun 2022 03:13:48 +0000 (11:13 +0800)]
Handle allocation errors when interning large amounts of atoms

* src/xfns.c (Fx_begin_drag): Catch BadAlloc errors around
XInternAtoms.

2 years agoPrevent crash handling keyboard input from non-frame windows
Po Lu [Sat, 11 Jun 2022 01:19:05 +0000 (09:19 +0800)]
Prevent crash handling keyboard input from non-frame windows

* src/xterm.c (handle_one_xevent): Use `dpyinfo' to access xkb
desc.  (bug#55890)

2 years agoFix cancelling DND upon a regular X error
Po Lu [Sat, 11 Jun 2022 01:12:44 +0000 (09:12 +0800)]
Fix cancelling DND upon a regular X error

* src/xterm.c (x_connection_closed): The display isn't dead upon
a non-IO error, so don't avoid sending messages to clean stuff
up.

2 years agoelisp-completion-at-point: Replace last usage of 'read'
Dmitry Gutov [Sat, 11 Jun 2022 00:45:46 +0000 (03:45 +0300)]
elisp-completion-at-point: Replace last usage of 'read'

* lisp/progmodes/elisp-mode.el (elisp-completion-at-point):
Replace the last remaining usage of 'read' (bug#55491).

2 years agoNew function isearch-search-fun-in-text-property (bug#14013).
Juri Linkov [Fri, 10 Jun 2022 16:43:31 +0000 (19:43 +0300)]
New function isearch-search-fun-in-text-property (bug#14013).

* lisp/dired-aux.el (dired-isearch-search-filenames): Move most of the body
to the new function isearch-search-fun-in-text-property.

* lisp/isearch.el (isearch-search-fun-in-text-property):
New function refactored from dired-isearch-search-filenames.

2 years agoDon't use 'list' command in Eshell command forms
Jim Porter [Thu, 9 Jun 2022 16:50:20 +0000 (09:50 -0700)]
Don't use 'list' command in Eshell command forms

When executed like a command, 'list' looks for external programs named
'list' first before falling back to the Lisp function of the same
name.  This causes unexpected behavior, since the Lisp function is
what we want in these tests.

* test/lisp/eshell/esh-var-tests.el (esh-var-test/interp-cmd-indices)
(esh-var-test/quoted-interp-cmd-indices): Use 'listify' instead of
'list'.

2 years agoMerge branch 'master' of git.savannah.gnu.org:/srv/git/emacs
Eli Zaretskii [Fri, 10 Jun 2022 13:13:56 +0000 (16:13 +0300)]
Merge branch 'master' of git.savannah.gnu.org:/srv/git/emacs

2 years ago; * etc/NEWS: Fix last change.
Eli Zaretskii [Fri, 10 Jun 2022 13:13:16 +0000 (16:13 +0300)]
; * etc/NEWS: Fix last change.

2 years ago; Minor copyedits of --with-small-ja-dic option
Eli Zaretskii [Fri, 10 Jun 2022 13:12:00 +0000 (16:12 +0300)]
; Minor copyedits of --with-small-ja-dic option

* etc/NEWS: Document the new configuration option.

* lisp/international/ja-dic-cnv.el (skkdic-convert-okuri-nasi):
Fix whitespace.
(skkdic-convert): Doc fix.
(batch-skkdic-convert): Fix Help message.

* configure.ac: Tweak the description of --with-small-ja-dic.

2 years agoRemove extra call to XTranslateCoordinates when performing "xterm" drop
Po Lu [Fri, 10 Jun 2022 12:51:45 +0000 (20:51 +0800)]
Remove extra call to XTranslateCoordinates when performing "xterm" drop

* src/xterm.c (x_dnd_do_unsupported_drop): Signal error when
XdndSelection is lost, set subwindow, and simplify
XTranslateCoordinates loop.

2 years agoDon't reduce vocabulary in ja-dic.el by default
Taiju HIGASHI [Tue, 7 Jun 2022 12:46:14 +0000 (21:46 +0900)]
Don't reduce vocabulary in ja-dic.el by default

* configure.ac: Add the "--with-small-ja-dic" configure option.
* leim/Makefile.in (${leimdir}/ja-dic/ja-dic.el): Change the build
method depending on whether or not the --with-small-ja-dic option
is specified.
* lisp/international/ja-dic-cnv.el (skkdic-convert-okuri-nasi): Add
the "no-reduction" optional argument.  When it is specified, then
generate a Japanese dictionary without reduced vocabulary.
(skkdic-convert): Add the "no-reduction" optional argument.
(batch-skkdic-convert): Add the "--no-reduction" command line argument.

2 years ago; Fix documentation of 'completing-read' and friends
Eli Zaretskii [Fri, 10 Jun 2022 11:22:18 +0000 (14:22 +0300)]
; Fix documentation of 'completing-read' and friends

* src/minibuf.c (Fcompleting_read):
* lisp/minibuffer.el (read-file-name):
* doc/lispref/minibuf.texi (Minibuffer Completion):
* etc/NEWS: Fix typos and wording of the description of the
REQUIRE-MATCH argument to 'completing-read'.

2 years ago; bindat (bindat--length-group): Fix indentation
Richard Hansen [Thu, 2 Jun 2022 20:33:16 +0000 (16:33 -0400)]
; bindat (bindat--length-group): Fix indentation

2 years ago; bindat (strz): Consistent length type check, take two
Richard Hansen [Sun, 29 May 2022 03:53:51 +0000 (23:53 -0400)]
; bindat (strz): Consistent length type check, take two

Commit 30ec4a7347b2944818c6fc469ae871374ce7caa4 is incorrect -- the
length computation logic uses a simple nilness test, not `numberp'.
The `numberp' case is just an optimization if `len' is a literal
number; it does not affect the behavior.

Revert that commit, add some comments to help future readers avoid the
same mistake, and update the pack logic to use the same optimization
as the length computation for consistency.

2 years ago; bindat-tests (str, strz): Refine tests
Richard Hansen [Sun, 29 May 2022 21:15:04 +0000 (17:15 -0400)]
; bindat-tests (str, strz): Refine tests

str and strz:
  * Add tests for packing into a pre-allocated string.

strz:
  * Add test cases to probe more boundary conditions.
  * Delete comments that no longer apply.
  * Add tests to ensure that truncated packed strings are rejected.
  * Keep the legacy spec tests in sync with the modern spec tests.

2 years agobindat (strz): Fix documentation for strz with pre-allocated string
Richard Hansen [Thu, 9 Jun 2022 23:58:56 +0000 (19:58 -0400)]
bindat (strz): Fix documentation for strz with pre-allocated string

* doc/lispref/processes.texi (Bindat Types): Document that a null
terminator is not written if `bindat-pack' is given a pre-allocated
string.

2 years agoLink find-sibling-file to ff-find-related-file in manual
Lars Ingebrigtsen [Fri, 10 Jun 2022 09:48:57 +0000 (11:48 +0200)]
Link find-sibling-file to ff-find-related-file in manual

* doc/emacs/files.texi (Visiting): Link to ff-find-related-file
documentation.