Commit graph

151460 commits

Author SHA1 Message Date
Lars Ingebrigtsen
6b706b1a7d Add emoji insertion support to Emacs
* .gitignore: Ignore the generated emoji-labels.el file.
* admin/unidata/Makefile.in (${unidir}/emoji-labels.el): Generate
the emoji-labels.el file.
(gen-clean): Delete it.

* admin/unidata/README (https): Note the source for the Unicode
file that has emoji categorisations.

* admin/unidata/emoji-test.txt: Import another Unicode file.

* doc/emacs/mule.texi (Input Methods): Document the new key bindings.

* lisp/international/emoji.el: New file.

* lisp/international/mule-cmds.el (ctl-x-map): Bind the emoji
commands.
2021-11-06 18:22:01 +01:00
Eli Zaretskii
3ca3179bad Improve latin-2-postfix and latin-2prefix input methods
* lisp/leim/quail/latin-pre.el ("latin-2-prefix"):
* lisp/leim/quail/latin-post.el ("latin-2-postfix"): Add variants
of "`s" and "s," for Romanian.  Add key bindings for moving
between variants, when there are more than one.  (Bug#51638)
2021-11-06 19:14:55 +02:00
Eli Zaretskii
dd0bc52014 Fix an error in 'highlight-confusing-reorderings'
* lisp/international/mule-cmds.el
(highlight-confusing-reorderings): Don't signal an error when
a confusingly-reordered sequence ends at EOB.
2021-11-06 19:13:44 +02:00
Michael Albinus
ab6700949e Merge from origin/emacs-28
5e9b4e70ab Fix dbus-test04-register-method on CentOS (Bug#51369)
d96de23510 * lisp/transient.el: Update to package version v0.3.7-11-g...
7343b0d0e4 ; * etc/NEWS: Native compilation is more picky about missi...
0d6b2b0b9d ; * etc/PROBLEMS: Move entry about LLVM plugin to the righ...

# Conflicts:
#	etc/NEWS
2021-11-06 17:27:16 +01:00
Michael Albinus
5e9b4e70ab Fix dbus-test04-register-method on CentOS (Bug#51369)
* test/lisp/net/dbus-tests.el (dbus-test04-register-method):
Fix problem on CentOS.  (Bug#51369)
2021-11-06 17:25:19 +01:00
Jonas Bernoulli
d96de23510
* lisp/transient.el: Update to package version v0.3.7-11-g7f5520b3. 2021-11-06 15:36:29 +01:00
Eli Zaretskii
7343b0d0e4 ; * etc/NEWS: Native compilation is more picky about missing dependencies. 2021-11-06 15:02:57 +02:00
Po Lu
75a264ed02 General improvements to NS port
* src/dispextern.h: Remove some !HAVE_NS conditionals around grab
related code.
* src/frame.c (gui_mouse_grabbed, gui_redo_mouse_highlight): Remove
!HAVE_NS conditionals around code.

* src/nsmenu.m (ns_update_menubar): Prevent recursive calls and enable
shallow updates on GNUstep.
(menuNeedsUpdate): Prevent recursive calls.
(ns_menu_show): Fix mysterious GC-related bug.
(update_frame_tool_bar_1): Work around mysterious toolbar sizing bug
on GNUstep.

* src/nsterm.h (struct ns_output): New field for tracking toolbar
visibility changes.

* src/nsterm.m (frame_set_mouse_pixel_position): Implement for
GNUstep.
(ns_redraw_scroll_bars): Enable for GNUstep.
(ns_clear_frame): Redraw scrollbars on GNUstep.
(ns_update_window_end): New function.
(ns_redisplay_interface): Add ns_update_window_end on GNUstep.
(- keyDown): Remove debug code that doesn't work on GNUstep.
(- mouseDown): Enable grab tracking on NS port.
(- resizeWithOldSuperviewSize): Fix build with NSTRACE.

* src/xdisp.c (note_tab_bar_highlight): Enable some code for NS port.
2021-11-06 12:59:18 +00:00
Po Lu
07715630ad Improve font display on NS port
* src/nsfns.m (Fx_create_frame): Use "fixed" for the default font on
GNUstep.

* src/nsfont.m (LCD_SMOOTHING_MARGIN, ns_escape_name)
(ns_unescape_name, ns_attribute_fvalue)
(STYLE_REF): Remove unused defines and functions.

(struct ns_glyph_layout, enum lgstring_direction).
(enum gs_font_slant, enum gs_font_weight, enum gs_font_width)
(enum gs_specified, struct gs_font_data): New enumerators and
structures.

(ns_font_descs_match_p)
(ns_done_font_data, ns_get_font_data): New functions.
(ns_glyph_metrics): Stop escaping names.

(ns_spec_to_descriptor): Fix font descriptor creation for symbolic
font spec entires.
(ns_descriptor_to_entity): Create entries with the correct symbolic
styles.

(ns_fallback_entity): Fix fallback entity selection.
(ns_findfonts): Use our own font matcher instead of the broken GNUstep
matcher.

(ns_list_family): Remove obsolete comment.
(nsfont_open): Remove obsolete code, comments, and synthItal logic
which doesn't work on GNUstep.

(nsfont_encode_char): Use a type that can fit NSGlyph
(nsfont_draw): Chose correct font, remove obsolete mouse face logic,
obsolete comments, and switch to using glyph-based drawing instead of
character-based drawing.

(ns_font_shape, nsfont_shape): New functions.

(ns_uni_to_glyphs_1): New function.
(ns_uni_to_glyphs): Return glyphs instead of unicode codepoints.

(ns_glyph_metrics): Use NSGlyphs instead of unicode codepoints and fix
left bearing, right bearing, ascent and descent computation.

(struct nsfont_driver): Add shaping capability.

* src/nsterm.h (struct nsfont_info): Use unsigned int for glyph cache.

* src/nsterm.c (ns_focus): Set DPS clipping on GNUstep.

(ns_compute_glyph_string_overhangs): Fix overhang computation by using
xterm code.
(ns_draw_window_cursor): Simplify cursor drawing.
(ns_maybe_dumpglyphs_background): Test for cursor HL and remove
obsolete mouse face logic.
(ns_dumpglyphs_image)
(ns_dumpglyphs_box_or_relief): Rectify for new cursor logic.
(ns_dumpglyphs_stretch): Rectify for new cursor logic and rely on
ns_draw_glyph_string to set focus.
(ns_draw_glyph_string_foreground): Remove mouse face logic.
(ns_draw_glyph_strings): Implement overhangs, remove obsolete
comment, and always focus before dumping glyphs.
(ns_draw_text_decoration): Add condition for DRAW_CURSOR and simplify
color selection.
(ns_define_frame_cursor): Remove nonsensical code (define_frame_cursor
has nothing to do with the text cursor, aka caret).

* src/xdisp.c (draw_glyphs): Enable code for NS port to fix mouse face
cursor display.

* src/macfont.m (get_cgcolor_from_nscolor): New function.
(macfont_draw): Remove obsolete mouse-face code and enable cursor
display.
2021-11-06 12:59:14 +00:00
Eli Zaretskii
0d6b2b0b9d ; * etc/PROBLEMS: Move entry about LLVM plugin to the right section. 2021-11-06 14:23:02 +02:00
Kazuhiro Ito
ba278e4a9b Fix display of BW images on MS-Windows
* src/image.c (convert_mono_to_color_image) [HAVE_NTGUI]: Swap the
fore- and the back-ground colors back to their normal conventions.
(Bug#6918)
2021-11-06 13:33:46 +02:00
Eli Zaretskii
26089c8c44 Improve detection of suspicious reordering in source code
* src/bidi.c (bidi_find_first_overridden): Detect suspiciously
reordered EN types as well.

* test/src/xdisp-tests.el
(xdisp-tests--find-directional-overrides-case-1): Rename from
'xdisp-tests--find-directional-overrides'.
(xdisp-tests--find-directional-overrides-case-2): New test.
2021-11-06 12:33:26 +02:00
Eli Zaretskii
5b963e4815 ; * etc/NEWS: Fix a typo. 2021-11-06 11:38:08 +02:00
Eli Zaretskii
010be190ac ; * etc/NEWS.28: Merge recent changes from emacs-28 branch. 2021-11-06 11:23:39 +02:00
Eli Zaretskii
0aad846395 Merge from origin/emacs-28
9bdb1d0 ; * etc/PROBLEMS: Describe a crash in xwidgets due to Bubblew...
550887c ; * etc/PROBLEMS: Rearrange and update the section about cras...
c2e3cd6 Clarify "text area of a window" in the documentation
4e7e78d Improve docstring of kmacro-set-format
2021-11-06 11:21:44 +02:00
Eli Zaretskii
99a1456167 ; Merge from origin/emacs-28
The following commit was skipped:

d8c9a9d Revert "* lisp/wid-edit.el (widget-field): Add subtle border ...
2021-11-06 11:21:42 +02:00
Eli Zaretskii
e714b31403 Merge from origin/emacs-28
# Conflicts:
#	etc/NEWS
2021-11-06 11:21:39 +02:00
Eli Zaretskii
3517b32fb5 ; Merge from origin/emacs-28
The following commits were skipped:

b1885ac ; * etc/NEWS: slightly more careful wording
6ee929c Use current face foreground for SVG icons in customize
82529b9 ; * etc/NEWS: Improve wording of a recently changed entry.
e9c7a49 ; * etc/NEWS: Improve NEWS entry for Image-Dired.
2de7be4 ; * etc/NEWS: Various fixes.
2021-11-06 11:21:09 +02:00
Eli Zaretskii
8dc35dddf5 Merge from origin/emacs-28
b5ccad3 * doc/emacs/building.texi (Compilation Mode): Add next-error-...
2021-11-06 11:21:08 +02:00
Eli Zaretskii
9bdb1d0dcc ; * etc/PROBLEMS: Describe a crash in xwidgets due to Bubblewrap. 2021-11-06 10:49:54 +02:00
Eli Zaretskii
550887c90b ; * etc/PROBLEMS: Rearrange and update the section about crashes. 2021-11-06 10:45:58 +02:00
Eli Zaretskii
c2e3cd6694 Clarify "text area of a window" in the documentation
* src/keyboard.c (Fposn_at_x_y): Clarify that the Y coordinate
includes the header-line and the tab-line.  (Bug#51590)

* doc/lispref/windows.texi (Window Sizes, Splitting Windows)
(Textual Scrolling, Coordinates and Windows): Fix/remove improper
or confusing uses of "text area" of a window.
2021-11-06 08:59:09 +02:00
Lars Ingebrigtsen
6d406aee50 Inhibit isearching over message-insert-screenshot data
* lisp/gnus/message.el (message-insert-screenshot): Inhibit
isearch over the image data.
2021-11-06 06:26:57 +01:00
Stefan Kangas
4e7e78d578 Improve docstring of kmacro-set-format
* lisp/kmacro.el (kmacro-set-format): Improve docstring.
(kmacro-insert-counter, kmacro-display-counter)
(kmacro-set-counter, kmacro-add-counter): Add cross-references
to the info manual.
2021-11-06 05:41:05 +01:00
Lars Ingebrigtsen
5a01383874 Update help-tests after separator line changes 2021-11-06 05:22:26 +01:00
Lars Ingebrigtsen
61ae7bef50 Allow 'insert-image' to inhibit isearches or not
* doc/lispref/display.texi (Showing Images): Mention it.
* lisp/image.el (insert-image): Take an optional parameter to
inhibit isearch of the STRING argument.
2021-11-06 05:18:32 +01:00
Lars Ingebrigtsen
c8acc5fd92 Introduce a new 'inhibit-isearch' text property
* doc/lispref/text.texi (Special Properties): Mention it.

* lisp/image.el (insert-image): Make `C-s' skip over the image data.
* lisp/isearch.el (isearch--search-skip-inhibited): New function.
(isearch-search-string): Use it.
(isearch--invisible-p): New function.
(isearch-range-invisible): Use it.
2021-11-06 04:59:05 +01:00
Lars Ingebrigtsen
f3745a9a24 Re-rename the minibuffer heading
* lisp/minibuffer.el: There's more here than completion functions
(bug#49844).
2021-11-06 03:58:43 +01:00
Lars Ingebrigtsen
68d3f2b69c Correct minibuffer.el heading
* lisp/minibuffer.el: There's more here than completion functions
(bug#49844).
2021-11-06 03:41:11 +01:00
Lars Ingebrigtsen
5b630caebf Use underline on non-graphical terminals in make-separator-line
* lisp/simple.el (separator-line):
(make-separator-line): Use an underline on terminals (bug#32950).
2021-11-06 03:31:51 +01:00
F. Jason Park
58deb30fd0 Normalize usage of variable erc-server-reconnecting
* lisp/erc/erc-backend.el (erc-server-reconnecting-p):
Don't consider erc-server-reconnecting when rendering verdict.
(erc-process-sentinel-2): ensure local variable
erc-server-reconnecting is t when timers are scheduled or running and
trying to reconnect, and nil otherwise, including after no retries
remain. Previously, its use and meaning in erc-backend were convoluted
and conflicted with its use in erc-cmd-RECONNECT (bug#50007).
2021-11-06 03:15:24 +01:00
F. Jason Park
4d656ea5ff Don't send empty lines for implicit targets in ERC
* erc.el (erc-send-input-line): Previously, any line typed into a
query or channel buffer without an explicit user-command
handler (meaning most lines), would be sent twice because a trailing
newline (linefeed) would be appended. This has been verified by
checking IRCd server logs. IRCds won't return an error upon receiving
an empty message, but they also won't forward them to channel
subscribers and DM pals.

* erc-tests.el: Add test for erc-process-input-line, which also
indirectly tests erc-send-input-line. It also tests the command
lookup and dispatch facility (bug#50008).
2021-11-06 03:09:43 +01:00
Lars Ingebrigtsen
82d0550648 Remove messaging in pp-display-expression.
* lisp/emacs-lisp/pp.el (pp-display-expression): Remove confusing
message -- we don't usually say that we've popped up a new buffer when
we do so.
2021-11-06 02:20:06 +01:00
Lars Ingebrigtsen
2804747f9e Allow getting verbose results on erts 'C-u C-c C-c'
* lisp/progmodes/erts-mode.el (erts-run-test): Allow getting a
diff buffer of the differences with `C-u C-c C-c'.
2021-11-06 01:54:25 +01:00
Jim Porter
b811ad15be Improve behavior of 'electric-pair-mode' in 'cc-mode'
* lisp/progmodes/cc-mode.el (c-electric-pair-inhibit-predicate):
Inhibit insertion of paired quote in fewer cases.
* test/lisp/electric-tests.el (define-electric-pair-test):
Add 'c-mode' to list of modes to test by default (bug#50538).

This ensures that quotes are paired correctly within comments, allows for
insertion of quote pairs immediately before another quote, and allows
inserting quote pairs within a string (thus splitting the string in two).
2021-11-06 01:21:35 +01:00
Manuel Giraud
cfd4d45f11 Make 'C-x v v' on an unregistered file use the most specific backend
* lisp/vc/vc.el (vc-next-action): Mention this.

* lisp/vc/vc.el (vc-backend-for-registration): Choose the most
specific backend (bug#50572).
2021-11-06 01:13:49 +01:00
Lars Ingebrigtsen
ec2939c379 Tweak `eww' new-buffer parameters
* lisp/net/eww.el (eww): Don't require that the function be called
with 4 to open a new buffer (bug#51613).
2021-11-06 00:17:18 +01:00
Daniel Martín
0970684011 Fix GNUstep build (ns_compute_glyph_string_overhangs)
* src/nsterm.m (ns_compute_glyph_string_overhangs): Declare the font
variable so that it's in scope for the GNUstep code.
2021-11-05 23:24:33 +01:00
Stefan Kangas
1eaee319ea Add "N.B." abbreviation to checkdoc
* lisp/emacs-lisp/checkdoc.el (checkdoc-in-abbreviation-p): Add
abbreviation "N.B.".
2021-11-05 22:31:42 +01:00
Stefan Kangas
49a6b26cf7 Don't hardcode "Commentary" section in checkdoc
* lisp/emacs-lisp/checkdoc.el
(checkdoc-commentary-header-string): New defvar.
(checkdoc-file-comments-engine): Insert value of above new
variable instead of hardcoding what is inserted for the
"Commentary" section.
2021-11-05 22:31:17 +01:00
Eli Zaretskii
c5adec394a Use correct compiler options for building with libwebp
* src/Makefile.in (WEBP_CFLAGS): Define.
(EMACS_CFLAGS): Use it.  (Bug#51611)
2021-11-05 22:20:04 +02:00
Michael Albinus
a08a9a9aea Improve `file-has-changed-p'
* doc/lispref/files.texi (File Attributes): Be precise when
filename does not exist in `file-has-changed-p'.

* lisp/files.el (file-has-changed-p): Suppress remote file caches.
Handle the case FILE does not exists.
2021-11-05 20:46:35 +01:00
Paul Eggert
133026c362 rsvg_handle_get_dimensions is deprecated in 2.52.0
In Bug#44655#32 (2020-11-19) it was reported that
rsvg_handle_get_dimensions was not deprecated.  However, it became
deprecated in librsvg 2.52.0 (2021-09-15), and because of this Emacs
builds with --enable-gcc-warnings fail in Fedora 35 (2025-11-02)
with the diagnostic “‘rsvg_handle_get_dimensions’ is deprecated:
Use 'rsvg_handle_get_intrinsic_size_in_pixels' instead
[-Werror=deprecated-declarations]”.
* src/image.c (rsvg_handle_get_dimensions): Define as a DLL
function only if < librsvg 2.46.0, since it’s not used
in 2.46.0 or later.
(svg_load_image): Use rsvg_handle_get_dimensions only if librsvg <
2.46.0, since it isn’t needed if >= 2.46.0.
2021-11-05 11:53:17 -07:00
Lars Ingebrigtsen
c1865384d7 Allow 'pp' to limit the line widths
* lisp/emacs-lisp/pp.el (pp-max-width, pp-use-max-width): New user
options (bug#11934).
(pp-to-string): Use it.
(pp--insert-lisp): Tweak whether to use standard-output or not.
(pp--max-width): New function.
2021-11-05 15:27:08 +01:00
Eli Zaretskii
c19aa6aeb2 ; Fix documentation of a recent change
* doc/emacs/misc.texi (emacsclient Options): No need to use @dfn
more than once for the same term.

* etc/NEWS (emacsclient): Don't use passive voice.
2021-11-05 15:51:08 +02:00
Eli Zaretskii
c659182d55 ; Fix doc strings of a recent commit
* lisp/image-dired.el (image-dired-gallery-image-root-url)
(image-dired-gallery-thumb-image-root-url)
(image-dired-gallery-dir): Don't use "path" for file names and
URLs.
2021-11-05 15:47:00 +02:00
Eli Zaretskii
b7bbf6f28f Enhance 'highlight-confusing-reorderings'
* lisp/international/mule-cmds.el (confusingly-reordered): Make
sure the face looks distinct on displays that don't support the
"wavy" underline attribute.
(highlight-confusing-reorderings): Add a tooltip explaining why
the text was highlighted.  Allow to remove the highlighting by
invoking the command with a prefix argument.
2021-11-05 15:40:37 +02:00
Stefan Kangas
d8c9a9dc23 Revert "* lisp/wid-edit.el (widget-field): Add subtle border to face."
This reverts commit 8b024a6ff1.

This lead to some alignment issues.  (Bug#51550)
Don't merge to master, where we will continue investigating.
2021-11-05 08:24:02 +01:00
Carlos Pita
a0973fa7a6 Match dummy output even with non-default rl config
* lisp/progmodes/python.el
(python-shell-completion-native-get-completions): Match dummy output
even when readline is configured in non-default ways.  (Bug#51010)
2021-11-05 08:02:31 +01:00
Stefan Kangas
4cc22f8918 * etc/PROBLEMS: Mention X forwarding slowdowns. (Bug#7092) 2021-11-05 07:50:36 +01:00