]> git.eshelyaron.com Git - emacs.git/log
emacs.git
2 years agoFix crashes in Android port
Po Lu [Fri, 13 Jan 2023 08:08:11 +0000 (16:08 +0800)]
Fix crashes in Android port

* java/org/gnu/emacs/EmacsService.java (queryTree): Fix NULL
pointer dereference.
* src/android.c (android_query_tree): Set *nchildren_return.

2 years ago* .gitignore: Add AndroidManifest.xml.
Po Lu [Fri, 13 Jan 2023 08:05:55 +0000 (16:05 +0800)]
* .gitignore: Add AndroidManifest.xml.

2 years ago* java/AndroidManifest.xml: Remove file that is now generated.
Po Lu [Fri, 13 Jan 2023 08:05:08 +0000 (16:05 +0800)]
* java/AndroidManifest.xml: Remove file that is now generated.

2 years ago* src/frame.c (make_monitor_attribute_list): Allow source to be NULL.
Po Lu [Fri, 13 Jan 2023 07:53:22 +0000 (15:53 +0800)]
* src/frame.c (make_monitor_attribute_list): Allow source to be NULL.

2 years agoUpdate Android port
Po Lu [Fri, 13 Jan 2023 07:53:08 +0000 (15:53 +0800)]
Update Android port

* configure.ac (ANDROID_MIN_SDK): New variable.
(DX): Remove and replace with D8.
(XCONFIGURE): Check for the minimum version of Android the cross
compiler compiles for.  Generate java/AndroidManifest.xml from
java/AndroidManifest.xml.in.  Allow using Zlib on Android.

* java/AndroidManifest.xml.in: New file.  Use the minimum SDK
detected by configure.

* java/Makefile.in (top_srcdir, version): New variables.
(DX, D8): Replace with D8.
(ANDROID_MIN_SDK, APK_NAME): New variables.
(.PHONY):
(.PRECIOUS):
(classes.dex):
(emacs.apk): Generate $(APK_NAME) instead of `emacs.apk'.

* java/debug.sh: New option --attach-existing.  Attach to an
existing Emacs instance when specified.

* java/org/gnu/emacs/EmacsActivity.java (EmacsActivity): New
field `isPaused'.
(invalidateFocus1): Fix infinite recursion.
(detachWindow): Deiconify window.
(attachWindow): Iconify the window if the activity is paused.
(onCreate): Use the ``no title bar'' theme.
(onPause, onResume): New functions.
* java/org/gnu/emacs/EmacsNative.java (sendTouchUp, sendTouchDown)
(sendTouchMove, sendWheel, sendIconified, sendDeiconified): New
functions.
* java/org/gnu/emacs/EmacsSdk7FontDriver.java (Sdk7Typeface):
(list): Remove logging for code that is mostly going to be unused.
* java/org/gnu/emacs/EmacsService.java (ringBell, queryTree)
(getScreenWidth, getScreenHeight, detectMouse): New functions.
* java/org/gnu/emacs/EmacsSurfaceView.java (EmacsSurfaceView)
(surfaceChanged, surfaceCreated, surfaceDestroyed): Add extra
debug logging.  Avoid deadlock in surfaceCreated.

* java/org/gnu/emacs/EmacsView.java (EmacsView): Try very hard
to make the SurfaceView respect Z order.  It didn't work.
(handleDirtyBitmap): Copy over the contents from the old bitmap.
(explicitlyDirtyBitmap): New function.
(onLayout): Don't dirty bitmap if unnecessary.
(damageRect, swapBuffers): Don't synchronize so hard.
(onTouchEvent): Call window.onTouchEvent instead.
(moveChildToBack, raise, lower): New functions.

* java/org/gnu/emacs/EmacsWindow.java (Coordinate): New
subclass.
(pointerMap, isMapped, isIconified, dontFocusOnMap)
(dontAcceptFocus): New fields.
(EmacsWindow): Don't immediately register unmapped window.
(viewLayout): Send configure event outside the lock.
(requestViewLayout): Explicitly dirty the bitmap.
(mapWindow): Register the window now.  Respect dontFocusOnMap.
(unmapWindow): Unregister the window now.
(figureChange, onTouchEvent): New functions.
(onSomeKindOfMotionEvent): Handle scroll wheel events.
(reparentTo, makeInputFocus, raise, lower, getWindowGeometry)
(noticeIconified, noticeDeiconified, setDontAcceptFocus)
(setDontFocusOnMap, getDontFocusOnMap): New functions.
* java/org/gnu/emacs/EmacsWindowAttachmentManager.java
(registerWindow, detachWindow): Synchronize.
(noticeIconified, noticeDeiconified): New functions.
(copyWindows): New function.

* lisp/frame.el (frame-geometry, frame-edges)
(mouse-absolute-pixel-position, set-mouse-absolute-pixel-position)
(frame-list-z-order, frame-restack, display-mouse-p)
(display-monitor-attributes-list): Implement on Android.

* lisp/mwheel.el (mouse-wheel-down-event):
(mouse-wheel-up-event):
(mouse-wheel-left-event):
(mouse-wheel-right-event): Define on Android.

* src/android.c (struct android_emacs_service): New methods
`ringBell', `queryTree', `getScreenWidth', `getScreenHeight',
and `detectMouse'.
(struct android_event_queue, android_init_events)
(android_next_event, android_write_event): Remove write limit.
(android_file_access_p): Handle directories correcty.
(android_close): Fix coding style.
(android_fclose): New function.
(android_init_emacs_service): Initialize new methods.
(android_reparent_window): Implement function.
(android_bell, android_set_input_focus, android_raise_window)
(android_lower_window, android_query_tree, android_get_geometry)
(android_get_screen_width, android_get_screen_height)
(android_get_mm_width, android_get_mm_height, android_detect_mouse)
(android_set_dont_focus_on_map, android_set_dont_accept_focus):
New functions.
(struct android_dir): New structure.
(android_opendir, android_readdir, android_closedir): New
functions.
(emacs_abort): Implement here on Android and poke debuggerd into
generating a tombstone.

* src/android.h: Update prototypes.

* src/androidfns.c (android_set_parent_frame): New function.
(android_default_font_parameter): Use sane font size by default.
(Fx_display_pixel_width, Fx_display_pixel_height)
(Fx_display_mm_width, Fx_display_mm_height)
(Fx_display_monitor_attributes_list): Rename to start with
`android-'.  Implement.  Fiddle with documentation to introduce
Android specific nuances.
(Fandroid_display_monitor_attributes_list): New function.
(Fx_frame_geometry, frame_geometry): New function.
(Fandroid_frame_geometry): Implement correctly.
(Fx_frame_list_z_order): Rename to start with `android-'.
(android_frame_list_z_order, Fandroid_frame_list_z_order):
Implement.
(Fx_frame_restack): Rename to start with `android-'.
(Fandroid_frame_restack): ``Implement''.
(Fx_mouse_absolute_pixel_position): Rename to start with
`android-'.
(Fandroid_mouse_absolute_pixel_position): ``Implement''.
(Fx_set_mouse_absolute_pixel_position): Rename to start with
`android-'.
(Fandroid_set_mouse_absolute_pixel_position): ``Implement''.
(Fandroid_detect_mouse): New function.
(android_set_menu_bar_lines): Use FRAME_ANDROID_DRAWABLE when
clearing area.
(android_set_no_focus_on_map, android_set_no_accept_focus): New
functions.
(android_frame_parm_handlers): Register new frame parameter
handlers.
(syms_of_androidfns): Update appropriately.

* src/androidfont.c (androidfont_draw): Use
FRAME_ANDROID_DRAWABLE instead of FRAME_ANDROID_WINDOW.

* src/androidgui.h (enum android_event_type): New events.
(struct android_touch_event, struct android_wheel_event)
(struct android_iconify_event): New structures.
(union android_event): Add new events.

* src/androidterm.c (android_clear_frame): Use
FRAME_ANDROID_DRAWABLE instead of FRAME_ANDROID_WINDOW.
(android_flash, android_ring_bell): Implement bell ringing.
(android_toggle_invisible_pointer): Don't TODO function that
can't be implemented.
(show_back_buffer, android_flush_dirty_back_buffer_on): Check if
a buffer flip is required before doing the flip.
(android_lower_frame, android_raise_frame): Implement functions.
(android_update_tools, android_find_tool): New functions.
(handle_one_android_event): Handle new iconification, wheel and
touch events.
(android_read_socket): Implement pending-autoraise-frames.
(android_frame_up_to_date): Implement bell ringing.
(android_buffer_flipping_unblocked_hook): Check if a buffer flip
is required before doing the flip.
(android_focus_frame, android_frame_highlight)
(android_frame_unhighlight): New function.
(android_frame_rehighlight): Implement functions.
(android_iconify_frame): Always display error.
(android_set_alpha): Update commentary.
(android_free_frame_resources): Free frame touch points.
(android_scroll_run, android_flip_and_flush)
(android_clear_rectangle, android_draw_fringe_bitmap)
(android_draw_glyph_string_background, android_fill_triangle)
(android_clear_point, android_draw_relief_rect)
(android_draw_box_rect, android_draw_glyph_string_bg_rect)
(android_draw_image_foreground, android_draw_stretch_glyph_string)
(android_draw_underwave, android_draw_glyph_string_foreground)
(android_draw_composite_glyph_string_foreground)
(android_draw_glyphless_glyph_string_foreground)
(android_draw_glyph_string, android_clear_frame_area)
(android_clear_under_internal_border, android_draw_hollow_cursor)
(android_draw_bar_cursor, android_draw_vertical_window_border)
(android_draw_window_divider): Use FRAME_ANDROID_DRAWABLE
instead of FRAME_ANDROID_WINDOW for drawing operations.

* src/androidterm.h (struct android_touch_point): New structure.
(struct android_output): New fields.
(FRAME_ANDROID_NEED_BUFFER_FLIP): New macro.

* src/dired.c (emacs_readdir, open_directory)
(directory_files_internal_unwind, read_dirent)
(directory_files_internal, file_name_completion): Add
indirection over readdir and opendir.  Use android variants on
Android.

* src/dispnew.c (Fopen_termscript):
* src/fileio.c (fclose_unwind): Use emacs_fclose.
(Faccess_file): Call android_file_access_p.
(file_accessible_directory_p): Append right suffix to Android
assets directory.
(do_auto_save_unwind): Use emacs_fclose.
* src/keyboard.c (lispy_function_keys): Use right function key
for page up and page down.
(Fopen_dribble_file): Use emacs_fclose.

* src/lisp.h: New prototype emacs_fclose.

* src/lread.c (close_infile_unwind): Use emacs_fclose.

* src/sfnt.c (sfnt_curve_is_flat): Fix area-squared computation.
(sfnt_prepare_raster): Compute raster width and height
consistently with outline building.
(sfnt_build_outline_edges): Use the same offsets used to set
offy and offx.
(main): Adjust debug code.

* src/sfntfont-android.c (sfntfont_android_saturate32): Delete
function.
(sfntfont_android_blend, sfntfont_android_blendrgb): Remove
unnecessary debug code.
(sfntfont_android_composite_bitmap): Prevent out of bounds
write.
(sfntfont_android_put_glyphs): Use FRAME_ANDROID_DRAWABLE.
(init_sfntfont_android): Initialize Monospace Serif font to
something sensible.
* src/sfntfont.c (sfntfont_text_extents): Clear glyph metrics
before summing up pcm.
(sfntfont_draw): Use s->font instead of s->face->font.

* src/sysdep.c (emacs_fclose): Wrap around android_fclose on
android.

* src/term.c (Fsuspend_tty):
(delete_tty): Use emacs_fclose.
* src/verbose.mk.in (AM_V_DX): Replace with D8 version.

2 years agoMerge remote-tracking branch 'origin/master' into feature/android
Po Lu [Wed, 11 Jan 2023 08:07:32 +0000 (16:07 +0800)]
Merge remote-tracking branch 'origin/master' into feature/android

2 years agoBring up the sfnt-android font driver
Po Lu [Wed, 11 Jan 2023 08:06:15 +0000 (16:06 +0800)]
Bring up the sfnt-android font driver

* configure.ac (ANDROID_CFLAGS): Add sfnt-related font objects
to ANDROID_OBJ when not building stubs.
* lisp/startup.el (android-fonts-enumerated): New variable.
(normal-top-level): Set it.  Also enumerate fonts as early as
possible upon startup.

* src/alloc.c (cleanup_vector): Only finalize Android font
entities.
(garbage_collect): Mark sfntfont.c.

* src/android.c (struct android_emacs_drawable): New field
`damage_rect'.
(android_init_emacs_drawable): Initialize
Lorg/gnu/emacs/EmacsDrawable;#damageRect(Landroid/graphics/rect;)V.
(android_create_gc): Initialize cached GC fields.
(android_free_gc): Free cached GC clip rectangles.
(android_change_gc): Cache fields as appropriate.
(android_set_clip_rectangles): Set cached clip rectangles for
easy access from C.
(android_get_gc_values): Use cached values.
(android_get_image): Remove obsolete comment.
(android_lock_bitmap, android_damage_window): New functions that
don't parallel anything on X.

* src/android.h: Update prototypes.

* src/androidfns.c (android_default_font_parameter): Set Droid
Sans Mono as the default monospace font.
(Fx_create_frame): Register the sfntfont driver.

* src/androidgui.h (struct android_gc): Add C side caches for
clip rectangles and the foreground and background colors.

* src/androidterm.h: Update prototypes.

* src/dispextern.h (struct gui_box): New struct.
(gui_union_rectangles): New function.

* src/emacs.c (android_emacs_init): Initialize Android font
stuff late.
* src/font.c (font_make_entity): Clear `is_android' field on
Android.
(font_make_entity_android): Set `is_android' field.
* src/font.h (struct font_entity): New field `is_android'.

* src/print.c (print_vectorlike): Don't print private data,
which could include Lisp_Misc.

* src/sfnt.c (sfnt_read_cmap_format_0, sfnt_read_cmap_format_2)
(sfnt_read_cmap_format_4, sfnt_read_cmap_format_6)
(sfnt_read_cmap_format_8, sfnt_read_cmap_format_12): Remove
buggy pragmas.
(sfnt_lookup_glyph_4_1): New function.
(sfnt_lookup_glyph_4): Handle malformed lookup tables found on
Android.
(sfnt_lookup_glyph): Fix overflow problems in glyph checks.
(sfnt_read_glyph): Handle empty glyphs.  This implements some
behavior which everyone else seems to as well, but I can't find
documented in the TrueType Reference Manual.
(sfnt_free_glyph): Export correctly.
(sfnt_transform_coordinates): Make faster.
(sfnt_lerp_half): Fix lerping in some cases.
(sfnt_decompose_glyph): Handle empty glyphs correctly.  Close
contours manually instead of waiting for the edge building
process to do that.  This lets curves be handled correctly.
(struct sfnt_build_glyph_outline_context): Move internal struct
back to sfnt.c.
(sfnt_build_append): Fix detection of initial entry.
(sfnt_curve_to_and_build_1): Fix De Casteljau implementation.
(sfnt_curve_to_and_build): Use fixed point arithmetic to scale
outlines.
(sfnt_build_glyph_outline): Clear reference counts.  Use fixed
point arithmetic.
(sfnt_prepare_raster): Align rasters to 4 bytes,
SFNT_POLY_ALIGNMENT.  Fix calculation of offx and offy.
(sfnt_step_edge_by): Step edge by previously computed step_x.
(sfnt_build_outline_edges): Adjust for already closed contours.
Ignore edges abandoned after grid fit.  Also precompute step_x
to avoid multiplication on each span rastered.
(sfnt_poly_edges): Improve alignment.
(sfnt_fill_span): Rewrite to avoid control flow in while loop.
(sfnt_poly_span): Remove unnecessary code.
(sfnt_raster_glyph_outline): Use raster stride instead of width.
(sfnt_test_edge, sfnt_test_raster, main): Improve debugging
code.

* src/sfnt.h (struct sfnt_glyph_outline): Add refcount field to
outline.
(struct sfnt_build_glyph_outline_context): Remove private
struct.
(struct sfnt_raster): Add refcount field to raster.
(struct sfnt_edge): Improve doc.  Add `source_x' field used when
built with TEST.
(SFNT_CEIL_FIXED): New macro.

* src/sfntfont-android.c (sfntfont_android_saturate32)
(sfntfont_android_scale32, sfntfont_android_mul8x2)
(sfntfont_android_blend, U255TO256)
(sfntfont_android_composite_bitmap, sfntfont_android_union_boxes)
(sfntfont_android_put_glyphs, sfntfont_android_get_cache): New
functions.
(android_sfntfont_driver): New font driver.
(Fandroid_enumerate_fonts): New function.
(syms_of_sfntfont_android_for_pdumper, init_sfntfont_android)
(syms_of_sfntfont_android): Initialize default fonts, special
family mapping and font driver.
* src/sfntfont.c (struct sfnt_font_desc): New fields
`char_cache', `cmap_invalid' and `subtable'.
(sfnt_setup_coding_system): Improve commentary.  Add default
branch.  Fix return value.
(sfnt_safe_encode_coding_object_1)
(sfnt_safe_encode_coding_object_2):
(sfnt_safe_encode_coding_object): Use decode_coding_object
instead of encode_coding_object.
(sfnt_decode_font_string): Adjust for rename.
(sfnt_decode_foundry_name): New function.
(sfnt_weight_descriptions, sfnt_slant_descriptions)
(sfnt_width_descriptions): Fix definitions.
(sfnt_parse_style): Make function work.
(sfnt_enum_font): Initialize designer, char-cache and subtable
platform ID.
(sfntfont_charset_for_name, mark_sfntfont)
(sfntfont_charset_for_cmap): New functions.
(syms_of_sfntfont): New variable `sfnt-default-family-alist'.

* src/sfntfont.h (_SFNTFONT_H_): Update prototypes.

* src/xdisp.c (gui_union_rectangles): New function.

2 years agoMerge from origin/emacs-29
Stefan Kangas [Wed, 11 Jan 2023 05:30:12 +0000 (06:30 +0100)]
Merge from origin/emacs-29

1cbc22b9c7f CC Mode: partially revert commit from 2022-10-04
136c0272215 Fix reftex-citation docstring (bug#60710)
64fe6bdb618 Improve 'describe-char-fold-equivalences' docstring
fda1ad4a9ec Remove obsolete server buffers on MOTD in erc-track
bb98666d03f ; Fix wrong type in erc-ignore hide-list options
c267cd01517 ; Kill some stray buffers left behind by ERC tests
f31e65694ca Fix completion-auto-help docstring (bug#60709)

2 years agoCC Mode: partially revert commit from 2022-10-04
Alan Mackenzie [Tue, 10 Jan 2023 20:29:37 +0000 (20:29 +0000)]
CC Mode: partially revert commit from 2022-10-04

This reversion is of an ill-advised optimization, which resulted in non-type
identifiers getting fontified as types.

* lisp/progmodes/cc-fonts.el (c-fontify-new-found-type): Rather than writing
the expected face directly to the text, instead remove the `fontified'
property.  This allows the full font-lock mechanism to fontify the buffer
correctly.

2 years agoFix reftex-citation docstring (bug#60710)
Manuel Uberti [Tue, 10 Jan 2023 14:51:46 +0000 (15:51 +0100)]
Fix reftex-citation docstring (bug#60710)

* lisp/textmodes/reftex-cite.el (reftex-citation): Fix spelling.

2 years agoImprove 'describe-char-fold-equivalences' docstring
Robert Pluim [Tue, 10 Jan 2023 14:22:34 +0000 (15:22 +0100)]
Improve 'describe-char-fold-equivalences' docstring

* lisp/char-fold.el (describe-char-fold-equivalences): Explain what
the output looks like.

2 years agoRemove obsolete server buffers on MOTD in erc-track
F. Jason Park [Wed, 4 Jan 2023 07:10:53 +0000 (23:10 -0800)]
Remove obsolete server buffers on MOTD in erc-track

* lisp/erc/erc-networks.el
(erc-networks--copy-server-buffer-functions): New internal hook
through which modules can perform housekeeping when server buffers
belonging to the same network context are merged.
(erc-networks--copy-over-server-buffer-contents): Run new internal
hook `erc-networks--copy-server-buffer-functions'.
* lisp/erc/erc-track.el (erc-track-enable, erc-track-disable): Manage
membership in `erc-networks--copy-server-buffer-functions' hook.
(erc-track--replace-killed-buffer): New function to replace server
buffer being killed in `erc-modified-channels-alist'.
* test/lisp/erc/erc-scenarios-base-association.el
(erc-scenarios-networks-merge-server-track): New test.
* test/lisp/erc/resources/networks/merge-server/track.eld: New test
data.  (Bug#60560.)

2 years ago; Fix wrong type in erc-ignore hide-list options
F. Jason Park [Tue, 3 Jan 2023 02:13:08 +0000 (18:13 -0800)]
; Fix wrong type in erc-ignore hide-list options

* lisp/erc/erc.el (erc-network-hide-list, erc-channel-hide-list):
Fix type in custom definition.

2 years ago; Kill some stray buffers left behind by ERC tests
F. Jason Park [Wed, 4 Jan 2023 07:10:53 +0000 (23:10 -0800)]
; Kill some stray buffers left behind by ERC tests

* test/lisp/erc/erc-services-tests.el
(erc--auth-source-search--plstore-standard,
erc--auth-source-search--plstore-announced,
erc--auth-source-search--plstore-overrides): Kill buffer renamed by
plstore.  In the future, try using the `:buffer' keyword introduced in
Emacs 29.
* test/lisp/erc/resources/erc-d/erc-d-t.el
(erc-d-t-kill-related-buffers): Don't forget about `erc-dcc-chat-mode'
buffers.

2 years agoFix completion-auto-help docstring (bug#60709)
Manuel Uberti [Tue, 10 Jan 2023 13:24:04 +0000 (14:24 +0100)]
Fix completion-auto-help docstring (bug#60709)

* lisp/minibuffer.el (completion-auto-help): Remove extra period.

2 years agoMerge from origin/emacs-29
Stefan Kangas [Tue, 10 Jan 2023 08:51:57 +0000 (09:51 +0100)]
Merge from origin/emacs-29

55aabfea4ac Fix c-ts-mode comment indent
8377ed5298f Highlight identifier in import statements in js-ts-mode
aa9df1260c3 Don't print named tree-sitter nodes with parenthesizes (b...
e385c099b8c Improve fontification for import-statements in typescript...
28dd6021384 Fix c-ts-mode indentation for 2nd line in block comment (...
8a36a0f44aa ; xref.el: Bump version
f16cc7c49c7 ; project.el: Bump version
ebc5263667b ; * src/callint.c (Finteractive): Doc string clarification.
c1401d1c6c8 * lisp/vc/diff-mode.el (diff-font-lock-keywords): Check f...
1f8ad353d9f Minor improvement for tree-sitter explorer
ef87c755660 Make sure NODE is not the root node in tree-sitter indent...
1238fa8e49b Fix label indent of GNU and Linux style in c-ts-mode (bug...
dc911e4ba5c Improve go-ts-mode Imenu, navigation and electric pair (b...
20f36c8f6f9 ; ruby.rb: Fix pattern matching syntax and extend the exa...
d46f7f4edcc Revert "Add c-or-c++-ts-mode (bug#59613)"
1469aac20d8 ; * src/pgtkfns.c (parse_resource_key): Use recursive sch...
da96a1fd741 Add back renamed function 'font-lock-fontify-syntacticall...
b1aa720671e ; * lisp/progmodes/ruby-ts-mode.el: Fix compilation warni...
5cb01ac5d78 ; * src/callint.c (Finteractive): Fix the doc string (bug...
53e64cfb852 Improve options and docs of M-x command completion
fef4f18cc33 ; Fix NEWS
e04b3d41bb4 Update to Org 9.6-90-ga6523f
e3d806b4172 Fix string fontification on python-ts-mode (bug#60599)
800e15e3be0 Fix string-interpolation feature of python-ts-mode (bug#6...
38b63f4c3ce Add indentation rule for concatenated_string (bug#60572)
2cdd75a18ff Fix highlighting of variable-declarations in typescript-t...
73168793c01 Fix label indentation for Linux style in c-ts-mode (bug#6...
8575043f56b Remove duplicate entries in c-ts-mode's Imenu
ef7f3c6388b Fix use of treesit-ready-p in c/c++-ts-mode
cc1de953d4f ; * lisp/progmodes/gud.el (gud-tooltip-modes): Add ts- mo...
16f1e47ca8b ; * lisp/align.el (align-c++-modes): Add c/c++-ts-mode.
508389ad2bb Add documentation for c/c++-ts-mode (bug#60443)
ee3e8d3f927 (ruby-ts--font-lock-settings): Improve highlighting in pa...
614f8c431d3 Optionally include the namespace in c-ts-mode--declarator...
7c356934fbb Support namespaces in c++-ts-mode (bug#60397)
757c2c25922 Fix c-ts-mode--looking-at-star
1df2826639c Add c-or-c++-ts-mode (bug#59613)
0cb686ffb6b Document the 'definition-name' property.
7f855b5297b ; Fix description of etc/DOC
e9341119fe4 ; Fix documentation of etc/DOC
86a3462e3d2 (treesit-simple-indent-presets): Do that for 'or' as well.
e0fef510b00 ; Minor rewording of tree-sitter terminology
f58452e3ae7 Fix 'python-shell-buffer-substring' when START is in midd...
7f9588685a0 ; Fix last change
e8b85f225d9 Rearrange the "Saving Emacs Sessions" section of the user...

# Conflicts:
# etc/NEWS
# lisp/progmodes/c-ts-mode.el

2 years agoFix c-ts-mode comment indent
Yuan Fu [Tue, 10 Jan 2023 05:46:07 +0000 (21:46 -0800)]
Fix c-ts-mode comment indent

* lisp/progmodes/c-ts-mode.el:
(c-ts-mode--comment-2nd-line-matcher): Also make sure PARENT is a
comment node.

2 years agoHighlight identifier in import statements in js-ts-mode
Yuan Fu [Tue, 10 Jan 2023 05:31:38 +0000 (21:31 -0800)]
Highlight identifier in import statements in js-ts-mode

Follow-up on bug#60689.  This commit just copied the change in
e385c099b8c to js-ts-mode.

* lisp/progmodes/js.el:
(js--treesit-font-lock-settings): Add import query.

2 years agoDon't print named tree-sitter nodes with parenthesizes (bug#60696)
Yuan Fu [Tue, 10 Jan 2023 04:15:12 +0000 (20:15 -0800)]
Don't print named tree-sitter nodes with parenthesizes (bug#60696)

* src/print.c (print_vectorlike): Use empty string as delimiters if
the node is named.

2 years agoImprove fontification for import-statements in typescript-ts-mode
Jostein Kjønigsen [Mon, 9 Jan 2023 10:17:53 +0000 (11:17 +0100)]
Improve fontification for import-statements in typescript-ts-mode

(bug#60689)

* lisp/progmodes/typescript-ts-mode.el:
(typescript-ts-mode--font-lock-settings): Add rules to highlight the
actual imports in import-statements.

2 years agoFix c-ts-mode indentation for 2nd line in block comment (bug#60270)
Yuan Fu [Mon, 9 Jan 2023 09:44:44 +0000 (01:44 -0800)]
Fix c-ts-mode indentation for 2nd line in block comment (bug#60270)

If the first line is "/*" or "/*   ", indent like this:

/*
   aaa

If the first line is "/*   some text", indent like this:

/*   some text
     aaa

* lisp/progmodes/c-ts-mode.el (c-ts-mode--indent-styles):
(c-ts-mode--looking-at-star): Minor refactor.
(c-ts-mode--comment-2nd-line-matcher)
(c-ts-mode--comment-2nd-line-anchor): New functions.
* lisp/treesit.el (treesit-simple-indent-presets):
prev-adaptive-prefix doesn't handle the comment-start-skip case (i.e,
2nd line) anymore.  (Handled by the new matcher.)

2 years ago; xref.el: Bump version
Dmitry Gutov [Tue, 10 Jan 2023 00:02:09 +0000 (02:02 +0200)]
; xref.el: Bump version

2 years ago; project.el: Bump version
Dmitry Gutov [Tue, 10 Jan 2023 00:00:29 +0000 (02:00 +0200)]
; project.el: Bump version

2 years agoAdd named defun for transpose-sexps-default-function (bug#60654)
Theodor Thornhill [Mon, 9 Jan 2023 06:52:38 +0000 (07:52 +0100)]
Add named defun for transpose-sexps-default-function (bug#60654)

* lisp/simple.el (transpose-sexps-default-function): Move the lambda
into its own function.
(transpose-sexps-function): Refer to it by name.
* etc/NEWS: Mention the change.

2 years agoRemove unneeded restriction in using AEAD ciphers with GnuTLS
Eli Zaretskii [Mon, 9 Jan 2023 20:05:40 +0000 (22:05 +0200)]
Remove unneeded restriction in using AEAD ciphers with GnuTLS

* src/gnutls.c (gnutls_symmetric_aead): Disable the enforcement of
block size on input data.  (Bug#60693)

2 years ago; * src/callint.c (Finteractive): Doc string clarification.
Eli Zaretskii [Mon, 9 Jan 2023 12:03:04 +0000 (14:03 +0200)]
; * src/callint.c (Finteractive): Doc string clarification.

2 years ago* lisp/vc/diff-mode.el (diff-font-lock-keywords): Check for limit.
Juri Linkov [Mon, 9 Jan 2023 07:54:19 +0000 (09:54 +0200)]
* lisp/vc/diff-mode.el (diff-font-lock-keywords): Check for limit.

This check is necessary since 'diff-beginning-of-hunk' can move
not only backwards, but also forwards (bug#60660).

2 years agoMinor improvement for tree-sitter explorer
Yuan Fu [Mon, 9 Jan 2023 04:30:07 +0000 (20:30 -0800)]
Minor improvement for tree-sitter explorer

If you open an empty python buffer and type

1 + 2
a
b

Currently the explorer only displays the top-level node at point, ie,
only 1 + 2, only a, or only b. That's kind of awkward, so if the
buffer is small, show the entire parse tree.

* lisp/treesit.el (treesit--explorer-refresh): See above.

2 years agoMake sure NODE is not the root node in tree-sitter indent (bug#60602)
Yuan Fu [Mon, 9 Jan 2023 03:05:19 +0000 (19:05 -0800)]
Make sure NODE is not the root node in tree-sitter indent (bug#60602)

There are two possible ways to solve the problem raised in the bug
report: either make sure NODE is never the root (so that parent is
never nil), or allow parent to be nil.

If we go with the latter, a lot of matcher and anchor functions need
change (they need to guard against a null parent).  I tried it, and
needing to check for null parent is pretty annoying.  In comparison,
if NODE is never the root, it is very convenient for the user, and it
doesn't complicate the rule that much (and it's rather intuitive,
people usually don't think of the case where NODE is the root node).
So that's what I choose.

* doc/lispref/modes.texi (Parser-based Indentation): Update manual.
* lisp/treesit.el (treesit-indent-function): Update docstring.
(treesit--indent-1): Make sure NODE is not the root.

2 years agoFix label indent of GNU and Linux style in c-ts-mode (bug#60543)
Yuan Fu [Mon, 9 Jan 2023 00:57:29 +0000 (16:57 -0800)]
Fix label indent of GNU and Linux style in c-ts-mode (bug#60543)

The previous fix isn't correct.

* lisp/progmodes/c-ts-mode.el:
(c-ts-mode--indent-styles): New indent rule.  Fix the rule for Linux
style.
(c-ts-mode--top-level-label-matcher): New function.

2 years agoImprove go-ts-mode Imenu, navigation and electric pair (bug#60407)
Evgeni Kolev [Thu, 29 Dec 2022 15:49:40 +0000 (17:49 +0200)]
Improve go-ts-mode Imenu, navigation and electric pair (bug#60407)

The Imenu items are extended to support "Method", "Struct",
"Interface", "Alias" and "Type".

go-ts-mode is updated to use the Imenu facility added in commit
b39dc7ab27a696a8607ab859aeff3c71509231f5.

Variable electric-indent-chars is set in order to improve integration
with Electric Pair mode.

* lisp/progmodes/go-ts-mode.el (go-ts-mode--imenu-1) (go-ts-mode--imenu):
Remove functions.
(go-ts-mode--defun-name, go-ts-mode--interface-node-p)
(go-ts-mode--struct-node-p, go-ts-mode--other-type-node-p)
(go-ts-mode--alias-node-p): New functions.
(go-ts-mode): Improve Imenu settings, navigation, add Electric Pair
mode settings.

2 years ago; ruby.rb: Fix pattern matching syntax and extend the example
Dmitry Gutov [Sun, 8 Jan 2023 22:57:36 +0000 (00:57 +0200)]
; ruby.rb: Fix pattern matching syntax and extend the example

2 years agoAdd remote-file-name-inhibit-delete-by-moving-to-trash
Michael Albinus [Sun, 8 Jan 2023 18:24:17 +0000 (19:24 +0100)]
Add remote-file-name-inhibit-delete-by-moving-to-trash

* doc/emacs/files.texi (Misc File Ops):
* doc/lispref/files.texi (Changing Files):
* doc/misc/tramp.texi (Frequently Asked Questions):
* etc/NEWS: Explain remote-file-name-inhibit-delete-by-moving-to-trash.

* lisp/files.el (remote-file-name-inhibit-delete-by-moving-to-trash):
New defcustom.  (Bug#60460)

* lisp/net/ange-ftp.el (ange-ftp-delete-file):
* lisp/net/tramp.el (tramp-skeleton-delete-directory):
Handle `remote-file-name-inhibit-delete-by-moving-to-trash'.
(tramp-skeleton-delete-file): New defmacro.

* lisp/net/tramp-adb.el (tramp-adb-handle-delete-file):
* lisp/net/tramp-fuse.el (tramp-fuse-handle-delete-file):
* lisp/net/tramp-gvfs.el (tramp-gvfs-handle-delete-file):
* lisp/net/tramp-sh.el (tramp-sh-handle-delete-file):
* lisp/net/tramp-smb.el (tramp-smb-handle-delete-file):
* lisp/net/tramp-sudoedit.el (tramp-sudoedit-handle-delete-file): Use it.

* lisp/net/tramp-crypt.el (tramp-crypt-handle-delete-directory)
(tramp-crypt-handle-delete-file): Rearrange.

* lisp/net/tramp-fuse.el (tramp-fuse-handle-delete-directory):
Use `tramp-skeleton-delete-directory'.

* test/lisp/net/tramp-tests.el
(remote-file-name-inhibit-delete-by-moving-to-trash): Declare.
(tramp-test07-file-exists-p, tramp-test14-delete-directory)
(tramp-test48-unload): Extend tests.

2 years agoRevert "Add c-or-c++-ts-mode (bug#59613)"
Yuan Fu [Sun, 8 Jan 2023 17:40:49 +0000 (09:40 -0800)]
Revert "Add c-or-c++-ts-mode (bug#59613)"

This reverts commit 1df2826639c912396fac0af108301533dac71406.

I forgot about the feature freeze, sorry :-)

2 years ago; * src/pgtkfns.c (parse_resource_key): Use recursive schema lookup
Tad Fisher [Wed, 4 Jan 2023 21:40:17 +0000 (13:40 -0800)]
; * src/pgtkfns.c (parse_resource_key): Use recursive schema lookup

XDG_DATA_DIRS may consist of multiple directories, and
g_settings_schema_source_get_default composes these into a recursive
schema source. One must pass TRUE to g_settings_schema_source_lookup,
otherwise only the first directory in XDG_DATA_DIRS is searched.

It follows that in the case that the directory containing the compiled
GSettings schema for Emacs is not the first in XDG_DATA_DIRS,
parse_resource_key will not accept any resource key, which causes
pgtk_get_defaults_value and pgtk_set_defaults_value to fail.

This impacts systems that compose multiple GSettings schema sources
via XDG_DATA_DIRS, such Flatpak and NixOS.

Supporting GIO documentation for g_settings_schema_source_get_default:

> The returned source may actually consist of multiple schema sources
> from different directories, depending on which directories were given
> in `XDG_DATA_DIRS` and `GSETTINGS_SCHEMA_DIR`. For this reason, all
> lookups performed against the default source should probably be done
> recursively.

Bug#60565

Copyright-paperwork-exempt: yes

2 years agoAdd back renamed function 'font-lock-fontify-syntactically-region'
Benson Chu [Sun, 1 Jan 2023 01:45:43 +0000 (19:45 -0600)]
Add back renamed function 'font-lock-fontify-syntactically-region'

A more accurate replacement for font-lock-fontify-syntactically-region
would be a function that funcalls the
font-lock-fontify-syntactically-function variable. That way, callers
of the function can inherit new behavior, if the value of that variable
changes.

* lisp/font-lock.el (font-lock-fontify-syntactically-region):
Add function back, remove its obsolete alias.

Copyright-paperwork-exempt: yes

2 years ago; * lisp/progmodes/ruby-ts-mode.el: Fix compilation warnings (bug#60647).
Eli Zaretskii [Sun, 8 Jan 2023 10:56:13 +0000 (12:56 +0200)]
; * lisp/progmodes/ruby-ts-mode.el: Fix compilation warnings (bug#60647).

2 years ago; * src/callint.c (Finteractive): Fix the doc string (bug#60645).
Eli Zaretskii [Sun, 8 Jan 2023 10:43:56 +0000 (12:43 +0200)]
; * src/callint.c (Finteractive): Fix the doc string (bug#60645).

2 years agoImprove options and docs of M-x command completion
Eli Zaretskii [Sun, 8 Jan 2023 10:23:26 +0000 (12:23 +0200)]
Improve options and docs of M-x command completion

* lisp/simple.el (read-extended-command-predicate): Expand the
doc string.  Add 2 more selectable values.
(command-completion-using-modes-and-keymaps-p): New function.
(execute-extended-command): Mention
'read-extended-command-predicate' in the doc string.  (Bug#60645)

2 years ago; Fix NEWS
Michael Albinus [Sun, 8 Jan 2023 09:56:06 +0000 (10:56 +0100)]
; Fix NEWS

2 years agoMerge remote-tracking branch 'origin/master' into feature/android
Po Lu [Sun, 8 Jan 2023 07:43:57 +0000 (15:43 +0800)]
Merge remote-tracking branch 'origin/master' into feature/android

2 years ago* configure.ac (ANDROID_OBJS): Add sfntfont files.
Po Lu [Sun, 8 Jan 2023 07:43:34 +0000 (15:43 +0800)]
* configure.ac (ANDROID_OBJS): Add sfntfont files.

2 years agoCheck in new files
Po Lu [Sun, 8 Jan 2023 07:43:09 +0000 (15:43 +0800)]
Check in new files

* src/sfnt.h:
* src/sfntfont-android.c:
* src/sfntfont.c:
* src/sfntfont.h: New files.

2 years agoUpdate Android port
Po Lu [Sun, 8 Jan 2023 07:42:37 +0000 (15:42 +0800)]
Update Android port

Note that the port currently does not work as of this check-in.

* src/android.c (android_change_gc): Fix situations where clip
rects are cleared.
(android_create_pixmap_from_bitmap_data): Fix bitmap data
iteration.
* src/androidfns.c (Fx_show_tip, Fx_hide_tip): Remove annoying
errors.

* src/androidgui.h (enum android_event_type):
(struct android_crossing_event):
(struct android_motion_event):
(struct android_button_event):
(union android_event): New crossing, motion and button events.

* src/androidterm.c (android_note_mouse_movement)
(mouse_or_wdesc_frame, android_construct_mouse_click)
(handle_one_android_event, android_mouse_position)
(android_wait_for_event, android_set_window_size_1)
(android_bitmap_icon, android_free_frame_resources)
(syms_of_androidterm): New functions.  Handle crossing, motion
and button events.

* src/androidterm.h (struct android_display_info): New field
`last_mouse_movement_time'.
(struct android_output): Remove unused `need_buffer_flip' field.

* src/emacs.c (android_emacs_init): Initialize sfntfont.
* src/frame.c (syms_of_frame): Set frame_inhibit_implied_resize
to some reasonable value.
* src/frame.h (GCALIGNED_STRUCT): Set wait_event_type on
Android.

* src/sfnt.c (eassert):
(TEST_STATIC):
(available):
(enum sfnt_table):
(sfnt_table_names):
(SFNT_ENDOF):
(struct sfnt_table_directory):
(enum sfnt_scaler_type):
(sfnt_coerce_fixed):
(struct sfnt_hhea_table):
(struct sfnt_cmap_table):
(enum sfnt_platform_id):
(enum sfnt_unicode_platform_specific_id):
(enum sfnt_macintosh_platform_specific_id):
(enum sfnt_microsoft_platform_specific_id):
(struct sfnt_cmap_encoding_subtable):
(struct sfnt_cmap_encoding_subtable_data):
(struct sfnt_cmap_format_0):
(struct sfnt_cmap_format_2_subheader):
(struct sfnt_cmap_format_2):
(struct sfnt_cmap_format_4):
(struct sfnt_cmap_format_6):
(struct sfnt_cmap_format_8_or_12_group):
(struct sfnt_cmap_format_8):
(struct sfnt_cmap_format_12):
(struct sfnt_maxp_table):
(struct sfnt_loca_table_short):
(struct sfnt_loca_table_long):
(struct sfnt_glyf_table):
(struct sfnt_simple_glyph):
(struct sfnt_compound_glyph_component):
(struct sfnt_compound_glyph):
(struct sfnt_glyph):
(sfnt_read_table_directory):
(file):
(sfnt_read_cmap_table):
(sfnt_read_head_table):
(success):
(sfnt_read_hhea_table):
(sfnt_read_loca_table_short):
(sfnt_read_loca_table_long):
(sfnt_read_maxp_table):
(sfnt_read_glyf_table):
(sfnt_read_compound_glyph):
(sfnt_read_glyph):
(struct sfnt_point):
(sfnt_expand_compound_glyph_context):
(sfnt_decompose_compound_glyph):
(struct sfnt_glyph_outline):
(enum sfnt_glyph_outline_flags):
(struct sfnt_build_glyph_outline_context):
(sfnt_build_append):
(sfnt_build_glyph_outline):
(struct sfnt_raster):
(struct sfnt_edge):
(sfnt_prepare_raster):
(sfnt_build_outline_edges):
(sfnt_raster_glyph_outline): Move structures to sfnt.h.

(struct sfnt_long_hor_metric):
(struct sfnt_hmtx_table):
(struct sfnt_glyph_metrics):
(sfnt_read_hmtx_table):
(sfnt_lookup_glyph_metrics):
(sfnt_read_name_table):
(sfnt_find_name):
(sfnt_read_meta_table):
(sfnt_find_metadata):
(sfnt_test_edge_ignore): New functions.
(main): Add new tests.
* src/xdisp.c (redisplay_tool_bar):

2 years agoDelete unused files
Po Lu [Sun, 8 Jan 2023 07:39:28 +0000 (15:39 +0800)]
Delete unused files

* java/org/gnu/emacs/EmacsPaintQueue.java
* java/org/gnu/emacs/EmacsPaintReq.java: Remove files.

2 years agoUpdate Java part of Android port
Po Lu [Sun, 8 Jan 2023 07:39:02 +0000 (15:39 +0800)]
Update Java part of Android port

* java/org/gnu/emacs/EmacsCopyArea.java (EmacsCopyArea, perform)
(paintTo):
* java/org/gnu/emacs/EmacsDrawLine.java (EmacsDrawLine):
* java/org/gnu/emacs/EmacsDrawPoint.java (EmacsDrawPoint):
* java/org/gnu/emacs/EmacsDrawRectangle.java (EmacsDrawRectangle)
(paintTo):
* java/org/gnu/emacs/EmacsDrawable.java (EmacsDrawable):
* java/org/gnu/emacs/EmacsFillPolygon.java (EmacsFillPolygon):
* java/org/gnu/emacs/EmacsFillRectangle.java
(EmacsFillRectangle):
* java/org/gnu/emacs/EmacsFontDriver.java (EmacsFontDriver):
* java/org/gnu/emacs/EmacsGC.java (EmacsGC):
* java/org/gnu/emacs/EmacsNative.java (EmacsNative):
* java/org/gnu/emacs/EmacsPixmap.java (EmacsPixmap):
* java/org/gnu/emacs/EmacsSdk23FontDriver.java
(EmacsSdk23FontDriver):
* java/org/gnu/emacs/EmacsSdk7FontDriver.java
(EmacsSdk7FontDriver, textExtents1, textExtents, draw):
* java/org/gnu/emacs/EmacsService.java (EmacsService, copyArea):
* java/org/gnu/emacs/EmacsSurfaceView.java (EmacsSurfaceView):
* java/org/gnu/emacs/EmacsView.java (EmacsView, onLayout)
(onFocusChanged):
* java/org/gnu/emacs/EmacsWindow.java (EmacsWindow, run)
(resizeWindow, lockCanvas, getBitmap, onKeyDown, onKeyUp)
(onActivityDetached): Move rendering to main thread.  Make
drawing operations completely static.

2 years agoCheck in new file androidmenu.c
Po Lu [Sun, 8 Jan 2023 07:37:30 +0000 (15:37 +0800)]
Check in new file androidmenu.c

* src/androidmenu.c: New file.

2 years agoUpdate to Org 9.6-90-ga6523f
Kyle Meyer [Sun, 8 Jan 2023 04:50:54 +0000 (23:50 -0500)]
Update to Org 9.6-90-ga6523f

2 years agoFix string fontification on python-ts-mode (bug#60599)
Yuan Fu [Sun, 8 Jan 2023 02:41:28 +0000 (18:41 -0800)]
Fix string fontification on python-ts-mode (bug#60599)

* lisp/progmodes/python.el:
(python--treesit-fontify-string): Generalize and skip anything
before the first quote character.

2 years agoFix string-interpolation feature of python-ts-mode (bug#60599)
Yuan Fu [Sun, 8 Jan 2023 02:38:24 +0000 (18:38 -0800)]
Fix string-interpolation feature of python-ts-mode (bug#60599)

* lisp/progmodes/python.el:
(python--treesit-fontify-string-interpolation): New function.
(python--treesit-settings): Use the new function for
string-interpolation.

2 years agoAdd indentation rule for concatenated_string (bug#60572)
Theodor Thornhill [Sat, 7 Jan 2023 12:04:07 +0000 (13:04 +0100)]
Add indentation rule for concatenated_string (bug#60572)

* lisp/progmodes/c-ts-mode.el (c-ts-mode--indent-styles): Indent to
parent-bol.

2 years agoFix highlighting of variable-declarations in typescript-ts-mode
Jostein Kjønigsen [Wed, 4 Jan 2023 08:13:23 +0000 (09:13 +0100)]
Fix highlighting of variable-declarations in typescript-ts-mode

(bug#60546)

- Highlight variable declarations in catch-clauses.
- Remove highlighting of variables where not declarations (improve
  consistency with other *-ts-modes).

* lisp/progmodes/typescript-ts-mode.el:
(typescript-ts-mode--font-lock-settings): See above.

2 years agoFix label indentation for Linux style in c-ts-mode (bug#60543)
Yuan Fu [Sun, 8 Jan 2023 02:11:03 +0000 (18:11 -0800)]
Fix label indentation for Linux style in c-ts-mode (bug#60543)

Reference:
1. https://www.gnu.org/software/indent/manual/indent/Common-styles.html
2. https://www.gnu.org/software/indent/manual/indent/Option-Summary.html

The GNU indent manual says Linux style should use -il1 flag, which
means "indent labels to column 1".

* lisp/progmodes/c-ts-mode.el (c-ts-mode--indent-styles): Indent label
to column 1 in Linux style.

2 years agoRemove duplicate entries in c-ts-mode's Imenu
Yuan Fu [Sun, 8 Jan 2023 01:46:27 +0000 (17:46 -0800)]
Remove duplicate entries in c-ts-mode's Imenu

Right now the Class subindex includes top-level functions, which is
wrong. This change ensures the Class subindex only contain classes and
functions nested in those classes.

* lisp/progmodes/c-ts-mode.el:
(c-ts-mode--defun-for-class-in-imenu-p): New function.
* lisp/progmodes/c-ts-mode.el (c-ts-base-mode): Use the new function.

2 years agoFix use of treesit-ready-p in c/c++-ts-mode
Yuan Fu [Sun, 8 Jan 2023 01:26:26 +0000 (17:26 -0800)]
Fix use of treesit-ready-p in c/c++-ts-mode

* lisp/progmodes/c-ts-mode.el:
(c-ts-mode)
(c++-ts-mode): Put setup code in a when form.

2 years ago; * lisp/progmodes/gud.el (gud-tooltip-modes): Add ts- modes.
Yuan Fu [Sun, 8 Jan 2023 00:54:43 +0000 (16:54 -0800)]
; * lisp/progmodes/gud.el (gud-tooltip-modes): Add ts- modes.

Prompted by bug#60463.

2 years ago; * lisp/align.el (align-c++-modes): Add c/c++-ts-mode.
Yuan Fu [Sun, 8 Jan 2023 00:52:17 +0000 (16:52 -0800)]
; * lisp/align.el (align-c++-modes): Add c/c++-ts-mode.

This fixes bug#60463.

2 years agoAdd documentation for c/c++-ts-mode (bug#60443)
Yuan Fu [Sun, 8 Jan 2023 00:32:46 +0000 (16:32 -0800)]
Add documentation for c/c++-ts-mode (bug#60443)

Explain that tree-sitter c modes and cc-mode c modes don't share
config variables.

* lisp/progmodes/c-ts-mode.el (c-ts-mode)
(c++-ts-mode): Update docstring.

2 years ago(ruby-ts--font-lock-settings): Improve highlighting in patterns
Dmitry Gutov [Sun, 8 Jan 2023 01:56:32 +0000 (03:56 +0200)]
(ruby-ts--font-lock-settings): Improve highlighting in patterns

* lisp/progmodes/ruby-ts-mode.el (ruby-ts--font-lock-settings):
Improve highlighting in patterns: highlight values not keys as
variable in the usual case; highlight keys when no value;
highlight the "as pattern" variable.

2 years agoOptionally include the namespace in c-ts-mode--declarator-identifier
Yuan Fu [Sun, 8 Jan 2023 00:03:37 +0000 (16:03 -0800)]
Optionally include the namespace in c-ts-mode--declarator-identifier

This is an additional fix for bug#60397.

* lisp/progmodes/c-ts-mode.el:
(c-ts-mode--declarator-identifier): New parameter QUALIFIED.
(c-ts-mode--defun-name): Use qualified identifier.

2 years agoSupport namespaces in c++-ts-mode (bug#60397)
Yuan Fu [Sat, 7 Jan 2023 23:45:05 +0000 (15:45 -0800)]
Support namespaces in c++-ts-mode (bug#60397)

Not a complete fix.  See the next commit.

* lisp/progmodes/c-ts-mode.el (c-ts-mode--indent-styles): Add rules.
(c-ts-mode--defun-name): Add namespace_definition.
(c-ts-base-mode): Add namespace_definition to
treesit-defun-type-regexp.

2 years agoFix c-ts-mode--looking-at-star
Yuan Fu [Sat, 7 Jan 2023 23:26:56 +0000 (15:26 -0800)]
Fix c-ts-mode--looking-at-star

Not the topic of bug#60270 but reported in one of the replies.

* lisp/progmodes/c-ts-mode.el (c-ts-mode--looking-at-star): Check not
the character after point but character after BOL. Otherwise
indentation is wrong when point is not at BOL.

2 years agoAdd c-or-c++-ts-mode (bug#59613)
Yuan Fu [Sat, 7 Jan 2023 22:58:37 +0000 (14:58 -0800)]
Add c-or-c++-ts-mode (bug#59613)

* lisp/progmodes/c-ts-mode.el
(c-ts-mode--c-or-c++-regexp): New variable.
(c-or-c++-ts-mode): New mode.
* etc/NEWS: Mention c-or-c++-ts-mode.

2 years agoAdjust to recent Gnulib macro renaming
Paul Eggert [Sat, 7 Jan 2023 23:28:00 +0000 (15:28 -0800)]
Adjust to recent Gnulib macro renaming

Also, remove some references to unused Gnulib macros.

2 years agoUpdate from Gnulib by running admin/merge-gnulib
Paul Eggert [Sat, 7 Jan 2023 23:08:45 +0000 (15:08 -0800)]
Update from Gnulib by running admin/merge-gnulib

2 years agoDocument the 'definition-name' property.
Eli Zaretskii [Sat, 7 Jan 2023 17:57:30 +0000 (19:57 +0200)]
Document the 'definition-name' property.

* doc/lispref/symbols.texi (Standard Properties): Document
'definition-name'.
* doc/lispref/functions.texi (Defining Functions): Describe how to
use 'definition-name' when generating function definitions at run
time.  (Bug#60568)

2 years ago; Fix description of etc/DOC
Eli Zaretskii [Sat, 7 Jan 2023 17:16:47 +0000 (19:16 +0200)]
; Fix description of etc/DOC

* doc/lispref/help.texi (Accessing Documentation): Doc strings of
preloaded symbols are no longer in etc/DOC.

2 years ago; Fix documentation of etc/DOC
Eli Zaretskii [Sat, 7 Jan 2023 13:25:11 +0000 (15:25 +0200)]
; Fix documentation of etc/DOC

* doc/lispref/help.texi (Documentation Basics): Doc strings of
preloaded symbols are no longer in etc/DOC.

2 years agoCheck in new file sfnt.c
Po Lu [Sat, 7 Jan 2023 12:27:30 +0000 (20:27 +0800)]
Check in new file sfnt.c

* src/sfnt.c (xmalloc, xrealloc, xfree, eassert, MIN)
(sfnt_table_names, SFNT_ENDOF, struct sfnt_table_directory)
(enum sfnt_scaler_type, sfnt_coerce_fixed, struct sfnt_hhea_table)
(struct sfnt_cmap_table, enum sfnt_platform_id)
(enum sfnt_unicode_platform_specific_id)
(enum sfnt_macintosh_platform_specific_id)
(enum sfnt_microsoft_platform_specific_id)
(struct sfnt_cmap_encoding_subtable)
(struct sfnt_cmap_encoding_subtable_data)
(struct sfnt_cmap_format_0, struct sfnt_cmap_format_2_subheader)
(struct sfnt_cmap_format_2, struct sfnt_cmap_format_4)
(struct sfnt_cmap_format_6, struct sfnt_cmap_format_8_or_12_group)
(struct sfnt_cmap_format_8, struct sfnt_cmap_format_12)
(struct sfnt_maxp_table, struct sfnt_loca_table_short)
(struct sfnt_loca_table_long, struct sfnt_glyf_table)
(struct sfnt_simple_glyph, struct sfnt_compound_glyph_component)
(struct sfnt_compound_glyph, struct sfnt_glyph, _sfnt_swap16)
(_sfnt_swap32, sfnt_swap16, sfnt_find_table)
(sfnt_read_cmap_format_0, sfnt_read_cmap_format_2)
(sfnt_read_cmap_format_4, sfnt_read_cmap_format_6)
(sfnt_read_cmap_format_8, sfnt_read_cmap_format_12)
(sfnt_read_cmap_table_1, sfnt_read_cmap_table, sfnt_lookup_glyph_0)
(sfnt_lookup_glyph_2, sfnt_bsearch_above, sfnt_compare_uint16)
(sfnt_lookup_glyph_4, sfnt_lookup_glyph_6, sfnt_lookup_glyph_8)
(sfnt_lookup_glyph_12, sfnt_lookup_glyph, sfnt_read_head_table)
(sfnt_read_hhea_table, sfnt_read_loca_table_short)
(sfnt_read_loca_table_long, sfnt_read_maxp_table)
(sfnt_read_glyf_table, sfnt_read_simple_glyph)
(sfnt_read_compound_glyph, sfnt_read_glyph, sfnt_free_glyph)
(struct sfnt_point, sfnt_transform_coordinates)
(struct sfnt_compound_glyph_context)
(sfnt_expand_compound_glyph_context, sfnt_round_fixed)
(sfnt_decompose_compound_glyph, sfnt_lerp_half)
(sfnt_decompose_glyph, struct sfnt_glyph_outline)
(enum sfnt_glyph_outline_flags)
(struct sfnt_build_glyph_outline_context, sfnt_build_append)
(sfnt_move_to_and_build, sfnt_line_to_and_build, sfnt_mul_fixed)
(sfnt_div_fixed, sfnt_ceil_fixed, sfnt_floor_fixed)
(sfnt_curve_is_flat, sfnt_curve_to_and_build_1)
(sfnt_curve_to_and_build, sfnt_build_glyph_outline)
(struct sfnt_raster, struct sfnt_edge, sfnt_poly_coverage)
(sfnt_poly_grid_ceil, sfnt_prepare_raster, sfnt_step_edge_by)
(sfnt_build_outline_edges, sfnt_compare_edges, sfnt_poly_edges)
(sfnt_saturate_short, sfnt_fill_span, sfnt_poly_span)
(sfnt_raster_span, sfnt_raster_edge, sfnt_raster_glyph_outline)
(struct sfnt_long_hor_metric, struct sfnt_hmtx_table)
(struct sfnt_glyph_metrics, sfnt_read_hmtx_table)
(sfnt_lookup_glyph_metrics, struct sfnt_test_dcontext)
(sfnt_test_move_to, sfnt_test_line_to, sfnt_test_curve_to)
(sfnt_test_get_glyph, sfnt_test_free_glyph, sfnt_test_span)
(sfnt_test_edge, sfnt_test_raster, main): Check in
5000-line-long file written by me for reading TrueType and
OpenType fonts with TrueType outlines.

2 years ago(treesit-simple-indent-presets): Do that for 'or' as well.
Dmitry Gutov [Sat, 7 Jan 2023 11:16:56 +0000 (13:16 +0200)]
(treesit-simple-indent-presets): Do that for 'or' as well.

* lisp/treesit.el
(treesit-simple-indent-presets): Do that for 'or' as well.

2 years agoAdd new Tramp method "toolbox"
Michael Albinus [Sat, 7 Jan 2023 11:14:26 +0000 (12:14 +0100)]
Add new Tramp method "toolbox"

* doc/misc/tramp.texi (Inline methods): Add toolbox.

* etc/NEWS: Add new Tramp method "toolbox".

* lisp/net/tramp-container.el (tramp-toolbox-program): New defcustom.
(tramp-toolbox-method): New defconst.
(tramp-toolbox--completion-function): New defun.  Set it for "toolbox".
(tramp-methods) <toolbox>: Add.
(tramp-default-host-alist): Add rule for "toolbox".

2 years agoMinor tramp-archive.el fix
Michael Albinus [Sat, 7 Jan 2023 11:07:10 +0000 (12:07 +0100)]
Minor tramp-archive.el fix

* lisp/net/tramp-archive.el (tramp-archive-file-name-regexp):
Use `ignore-errors'.

2 years ago; Minor rewording of tree-sitter terminology
Eli Zaretskii [Sat, 7 Jan 2023 09:25:52 +0000 (11:25 +0200)]
; Minor rewording of tree-sitter terminology

* doc/lispref/parsing.texi (Retrieving Nodes): Minor rewording.
(Bug#60555)

2 years ago; Use a single '<=' for range comparisons
Xi Lu [Wed, 4 Jan 2023 21:27:03 +0000 (05:27 +0800)]
; Use a single '<=' for range comparisons

* lisp/simple.el (undo-elt-in-region, char-uppercase-p)
(event-apply-modifier): Use a single '<='.  (Bug#60561)

2 years agoFix 'python-shell-buffer-substring' when START is in middle of 1st line
kobarity [Sun, 1 Jan 2023 12:09:10 +0000 (21:09 +0900)]
Fix 'python-shell-buffer-substring' when START is in middle of 1st line

* lisp/progmodes/python.el (python-shell-buffer-substring): Instead
of checking whether START is point-min, check whether START is in
the first line.  (Bug#60466)
* test/lisp/progmodes/python-tests.el
(python-shell-buffer-substring-18): New test.

2 years ago; Fix last change
Eli Zaretskii [Sat, 7 Jan 2023 08:47:44 +0000 (10:47 +0200)]
; Fix last change

* doc/emacs/misc.texi (Saving Emacs Sessions): Minor rewording and
rearrangements.  (Bug#60600)

2 years agoRearrange the "Saving Emacs Sessions" section of the user manual
Manuel Giraud [Fri, 6 Jan 2023 10:29:20 +0000 (11:29 +0100)]
Rearrange the "Saving Emacs Sessions" section of the user manual

* doc/emacs/misc.texi (Saving Emacs Sessions): Organize this
node more logically with main behavior and important features
near the top.   (Bug#60600)

2 years agoMerge from origin/emacs-29
Stefan Kangas [Sat, 7 Jan 2023 05:30:10 +0000 (06:30 +0100)]
Merge from origin/emacs-29

9d410f8de64 (treesit-simple-indent-presets): Ensure 'and' works for a...
ff66a5d324b (treesit--indent-rules-optimize): Optimize 'and' and 'or'...
f2ebe43362c (treesit-simple-indent-presets): Short-circuit 'and' and ...
2ea6ee5cbfa (font-lock-regexp-face): New face
5ab03bcc433 Unify the string interpolation delimiters face across ts ...
92e8c0c091c ruby-ts-mode: Highlight more kinds of parameters
7420b6dcc37 Fix `pr-interface'
699711786ac Further generic-related improvements in csharp-ts-mode (b...

# Conflicts:
# etc/NEWS

2 years agoPort to current Gnulib file-has-acl
Paul Eggert [Sat, 7 Jan 2023 01:59:11 +0000 (17:59 -0800)]
Port to current Gnulib file-has-acl

* lib-src/Makefile.in (FILE_HAS_ACL_LIB): Rename from LIB_HAS_ACL,
to adjust to recent Gnulib renaming.  All uses changed.

2 years agoUpdate from Gnulib by running admin/merge-gnulib
Paul Eggert [Sat, 7 Jan 2023 01:53:54 +0000 (17:53 -0800)]
Update from Gnulib by running admin/merge-gnulib

2 years ago(treesit-simple-indent-presets): Ensure 'and' works for anchors too
Dmitry Gutov [Sat, 7 Jan 2023 01:28:38 +0000 (03:28 +0200)]
(treesit-simple-indent-presets): Ensure 'and' works for anchors too

* lisp/treesit.el (treesit-simple-indent-presets):
Rewrite to return the last successful evaluation, not just t.

2 years ago(treesit--indent-rules-optimize): Optimize 'and' and 'or' matcher forms
Dmitry Gutov [Sat, 7 Jan 2023 00:44:07 +0000 (02:44 +0200)]
(treesit--indent-rules-optimize): Optimize 'and' and 'or' matcher forms

* lisp/treesit.el (treesit--indent-rules-optimize):
Optimize 'and' and 'or' matcher forms.  When 'and' has a 'query'
matcher inside (as is the case in ruby-ts--indent-rules, many
times over), this yields a significant performance boost.

2 years ago(treesit-simple-indent-presets): Short-circuit 'and' and 'or'
Dmitry Gutov [Sat, 7 Jan 2023 00:02:25 +0000 (02:02 +0200)]
(treesit-simple-indent-presets): Short-circuit 'and' and 'or'

* lisp/treesit.el (treesit-simple-indent-presets):
Short-circuit the 'and' and 'or' matchers.  To avoid calling all
fns after one returned nil or truthy value, respectively.

2 years agoAdd new SI prefixes R, Q in other places
Paul Eggert [Fri, 6 Jan 2023 18:48:29 +0000 (10:48 -0800)]
Add new SI prefixes R, Q in other places

* lisp/dired-x.el (dired-x--string-to-number, dired-mark-sexp):
* lisp/dired.el (dired-re-inode-size):
* lisp/files.el (directory-listing-before-filename-regexp):
* src/xdisp.c (power_letter):
* src/xdisp.c: Include stdint.h.
Check that the prefixes suffice for ptrdiff_t.

2 years ago(font-lock-regexp-face): New face
Dmitry Gutov [Fri, 6 Jan 2023 17:56:20 +0000 (19:56 +0200)]
(font-lock-regexp-face): New face

* lisp/font-lock.el (font-lock-regexp-face): New face.

* lisp/progmodes/typescript-ts-mode.el
(typescript-ts-mode--font-lock-settings):
* lisp/progmodes/ruby-ts-mode.el (ruby-ts--font-lock-settings):
* lisp/progmodes/js.el (js--treesit-font-lock-settings):
Use it for regexps.

* etc/NEWS: Mention the addition.

2 years agoUnify the string interpolation delimiters face across ts modes
Dmitry Gutov [Fri, 6 Jan 2023 14:17:50 +0000 (16:17 +0200)]
Unify the string interpolation delimiters face across ts modes

* lisp/progmodes/js.el (js--treesit-font-lock-settings):
* lisp/progmodes/ruby-ts-mode.el (ruby-ts--font-lock-settings):
* lisp/progmodes/typescript-ts-mode.el
(typescript-ts-mode--font-lock-settings):
Use font-lock-misc-punctuation-face for string interpolation
delimiters.

2 years agoruby-ts-mode: Highlight more kinds of parameters
Dmitry Gutov [Fri, 6 Jan 2023 13:38:00 +0000 (15:38 +0200)]
ruby-ts-mode: Highlight more kinds of parameters

* lisp/progmodes/ruby-ts-mode.el
(ruby-ts--font-lock-settings): Highlight destructured parameters,
lambda parameters, identifiers in pattern matching clauses
(array/hash) and exception variables.
Move the 'symbol' matchers lower to make 'hash_key_symbol' lower
priority than hash keys in match patterns.

2 years agoRemove Emacs 26 compatibility from Tramp
Michael Albinus [Fri, 6 Jan 2023 12:34:33 +0000 (13:34 +0100)]
Remove Emacs 26 compatibility from Tramp

* doc/misc/tramp.texi (Remote processes): Don't mention Emacs version.
(Frequently Asked Questions): Adapt supported Emacs versions.

* doc/misc/trampver.texi:
* lisp/net/trampver.el: Change version to "2.7.0-pre".

* lisp/net/tramp-compat.el (tramp-compat-file-name-quoted-p)
(tramp-compat-file-name-quote, tramp-compat-file-name-unquote)
(tramp-compat-tramp-syntax, tramp-compat-exec-path)
(tramp-compat-time-equal-p, tramp-compat-flatten-tree)
(tramp-compat-progress-reporter-update)
(tramp-compat-ignore-error, tramp-compat-rx--transform-item)
(tramp-compat-rx--transform, tramp-compat-rx): Remove.

* lisp/net/tramp-adb.el:
* lisp/net/tramp-archive.el:
* lisp/net/tramp-cache.el:
* lisp/net/tramp-cmds.el:
* lisp/net/tramp-crypt.el:
* lisp/net/tramp-fuse.el:
* lisp/net/tramp-gvfs.el:
* lisp/net/tramp-integration.el:
* lisp/net/tramp-rclone.el:
* lisp/net/tramp-sh.el:
* lisp/net/tramp-smb.el:
* lisp/net/tramp-sshfs.el:
* lisp/net/tramp-sudoedit.el:
* lisp/net/tramp.el:
* lisp/net/trampver.el: Replace the removed `tramp-compat-*' items
by their real definition.  Don't use `tramp-compat-funcall' when
not needed.  Remove `with-no-warnings' and `ignore-errors' where
appropriate.

* lisp/net/tramp.el (tramp-file-name-for-operation): Rearrange list.
(tramp-handle-file-newer-than-file-p): Simplify.
(tramp-get-process-attributes): Don't check for existence of
`connection-local-criteria-for-default-directory'.
(tramp-handle-shell-command): Don't check for existence of
`shell-command-save-pos-or-erase', `async-shell-command-width' and
`shell-command-set-point-after-cmd'.
(tramp-handle-start-file-process): Call `make-process' directly.
(tramp-defined-time): New defsubst.
(tramp-get-local-gid): Don't check for existence of `group-name'.

* lisp/net/tramp-adb.el (tramp-adb-handle-set-file-times):
Use `tramp-defined-time'.
(tramp-adb-get-signal-strings): Don't bind `shell-file-name' and
`shell-command-switch'.

* lisp/net/tramp-archive.el (top, tramp-archive-file-name-handler):
Don't bind `max-specpdl-size' any longer.
(tramp-archive-autoload-file-name-regexp): Remove Emacs 26
specific code.
(top): Don't call `tramp-register-archive-autoload-file-name-handler'.

* lisp/net/tramp-gvfs.el (top): Don't bind `max-specpdl-size' any longer.
(tramp-gvfs-handle-set-file-times): Use `tramp-defined-time'.

* lisp/net/tramp-sh.el (tramp-sh-handle-set-file-times):
Use `tramp-defined-time'.

* test/lisp/net/tramp-archive-tests.el (tramp-archive--test-emacs27-p):
Remove.
(all):
* test/lisp/net/tramp-tests.el (all): Don't skip for Emacs 26.
Replace the removed `tramp-compat-*' items by their real
definition.  Don't use `tramp-compat-funcall' when not needed.
Remove `with-no-warnings' and `ignore-errors' where appropriate.
(with-connection-local-variables)
(shell-command-dont-erase-buffer): Don't declare.
(tramp-test10-write-region): Don't check for `make-empty-file'.
(tramp-test32-shell-command): Simplify.
(tramp-test34-explicit-shell-file-name): Don't protect
`explicit-shell-file-name' any longer.
(tramp--test-emacs27-p): Remove.

2 years agoFix `pr-interface'
Robert Pluim [Fri, 6 Jan 2023 08:00:00 +0000 (09:00 +0100)]
Fix `pr-interface'

`pr-interface' specifies `inline' for its menu items, which is not
necessary, but it causes `widget-choice-value-create' to bug
out.  (Bug#60501)

* lisp/wid-edit.el (widget-choice-value-create): Allow the value to be
a non-list.
* test/lisp/wid-edit-tests.el (widget-test-handle-spurious-inline):
Add test to ensure that unnecessary :inline is allowed.

2 years agoFurther generic-related improvements in csharp-ts-mode (bug#60376)
Jostein Kjønigsen [Sun, 1 Jan 2023 19:46:02 +0000 (20:46 +0100)]
Further generic-related improvements in csharp-ts-mode (bug#60376)

This is an additional patch for bug#60376.

* lisp/progmodes/csharp-mode.el (csharp-ts-mode--font-lock-settings):
New rules.

2 years agoMerge from origin/emacs-29
Stefan Kangas [Fri, 6 Jan 2023 05:30:10 +0000 (06:30 +0100)]
Merge from origin/emacs-29

0f5e74f1734 ruby-ts-mode: Highlight method and block parameters
f1aa306f915 ruby-ts-mode: Highlight variable assignments
089b08eb3eb ruby-ts-mode: Move 'self' and 'super' from constants to k...
7ede600273c (ruby-ts-mode): Split font-lock feature 'builtin' into two
ec172d748f3 Avoid assertion violation due to fill-column indicator face
62c2963ce60 Merge branch 'emacs-29' of git.savannah.gnu.org:/srv/git/...
2e6070f16c4 ; Another review of etc/NEWS
16eca92415b ; * src/gnutls.c (Fgnutls_deinit): Fix typo in doc string...
4753b587868 * lisp/cedet/semantic/symref/grep.el: Support ts-modes (b...
8a18369afdc ; Another fix for doc strings of 2 treesit.el functions
3fc68833517 ; Fix the doc strings of 2 treesit.el functions
83ce7c861e1 Make 'toml-ts-mode' optional

# Conflicts:
# etc/NEWS

2 years agoruby-ts-mode: Highlight method and block parameters
Dmitry Gutov [Fri, 6 Jan 2023 02:48:35 +0000 (04:48 +0200)]
ruby-ts-mode: Highlight method and block parameters

* lisp/progmodes/ruby-ts-mode.el (ruby-ts--font-lock-settings):
Add rules for method and block parameters.
(ruby-ts-mode): Add corresponding feature.

2 years agoruby-ts-mode: Highlight variable assignments
Perry Smith [Fri, 6 Jan 2023 02:20:02 +0000 (04:20 +0200)]
ruby-ts-mode: Highlight variable assignments

* lisp/progmodes/ruby-ts-mode.el (ruby-ts--font-lock-settings):
Bring back the 'assignment' feature.
(ruby-ts-mode): Replace the unused 'variable' with 'assignment'.  Use
the level 3 for consistency with other ts modes.
Update the Commentary as well.

2 years agoruby-ts-mode: Move 'self' and 'super' from constants to keywords
Dmitry Gutov [Fri, 6 Jan 2023 01:31:41 +0000 (03:31 +0200)]
ruby-ts-mode: Move 'self' and 'super' from constants to keywords

* lisp/progmodes/ruby-ts-mode.el (ruby-ts--font-lock-settings):
Move 'self' and 'super' from constants to keywords.

2 years ago(ruby-ts-mode): Split font-lock feature 'builtin' into two
Dmitry Gutov [Fri, 6 Jan 2023 01:12:20 +0000 (03:12 +0200)]
(ruby-ts-mode): Split font-lock feature 'builtin' into two

* lisp/progmodes/ruby-ts-mode.el (ruby-ts-mode):
Split the 'builtin' feature in two: 'builtin-constant' and
'builtin-variable'.
(ruby-ts-highlight-predefined-constants):
Drop the user option, the highlighting granularity can be chosen
using treesit-font-lock-recompute-features.
(ruby-ts--font-lock-settings): Update accordingly.
(ruby-ts--predefined-constants, ruby-ts--predefined-variables):
Fix docstrings.

2 years agoAvoid assertion violation due to fill-column indicator face
Eli Zaretskii [Thu, 5 Jan 2023 20:33:51 +0000 (22:33 +0200)]
Avoid assertion violation due to fill-column indicator face

* src/xdisp.c (extend_face_to_end_of_line): Use the original
iterator metrics for the stretch glyph, the one unaffected by the
'fill-column-indicator' face.  (Bug#60580)

2 years agoMerge branch 'emacs-29' of git.savannah.gnu.org:/srv/git/emacs into emacs-29
Eli Zaretskii [Thu, 5 Jan 2023 20:32:17 +0000 (22:32 +0200)]
Merge branch 'emacs-29' of git.savannah.gnu.org:/srv/git/emacs into emacs-29

2 years ago; Another review of etc/NEWS
Michael Albinus [Thu, 5 Jan 2023 19:53:25 +0000 (20:53 +0100)]
; Another review of etc/NEWS

2 years ago; * src/gnutls.c (Fgnutls_deinit): Fix typo in doc string (bug#60579).
Eli Zaretskii [Thu, 5 Jan 2023 18:39:14 +0000 (20:39 +0200)]
; * src/gnutls.c (Fgnutls_deinit): Fix typo in doc string (bug#60579).

2 years ago* lisp/cedet/semantic/symref/grep.el: Support ts-modes (bug#60525)
Juri Linkov [Thu, 5 Jan 2023 18:18:11 +0000 (20:18 +0200)]
* lisp/cedet/semantic/symref/grep.el: Support ts-modes (bug#60525)

(semantic-symref-filepattern-alist): Duplicate entries
c-mode -> c-ts-mode, c++-mode -> c++-ts-mode, ruby-mode -> ruby-ts-mode,
python-mode -> python-ts-mode.