Commit graph

48824 commits

Author SHA1 Message Date
Po Lu
38e96bee1f Provide an option to disable font instruction code execution
* etc/PROBLEMS: Mention instruction code woes and illustrate how
to circumvent them.

* src/sfntfont.c (sfntfont_setup_interpreter): Respect
Vsfnt_uninstructable_family_regexp.
(syms_of_sfntfont) <Vsfnt_uninstructable_family_regexp>: New
option.
2023-09-11 19:45:58 +08:00
Po Lu
f6d2ae766a Respect vertical centering preferences under Android
* src/sfntfont.c (sfntfont_open): Match XLFD name against
Vvertical_centering_font_regexp; if they agree, set
font->vertical_centering.  Also set a suitable full name.
2023-09-11 12:57:21 +08:00
Mattias Engdegård
90b8762ac8 Replace PVEC_FONT as pseudo-vector subtype upper bound
* src/lisp.h (enum pvec_type): Add PVEC_TAG_MAX.
* src/alloc.c (allocate_pseudovector): Use PVEC_TAG_MAX instead of
PVEC_FONT.
2023-09-10 14:00:19 +02:00
Mattias Engdegård
2f8204f5c3 ; Spruce up union vectorlike_header description
* src/lisp.h (union vectorlike_header): Rewrite the description of the
header word layout, with some useful added precision and the customary
ASCII art for bit fields.
2023-09-10 13:59:45 +02:00
Po Lu
df18864aa9 Update Android port
* src/sfntfont.c (sfntfont_probe_widths): Prevent widths of
glyphs representing control characters from affecting the
average width.
2023-09-10 13:48:39 +08:00
Po Lu
c0400151f8 Correct many instances of ``allows to''
Refer to:
lists.gnu.org/archive/html/emacs-devel/2016-01/msg01598.html

* doc/emacs/frames.texi (Tab Bars):

* doc/emacs/maintaining.texi (Tag Syntax):

* doc/lispref/compile.texi (Native Compilation):

* doc/lispref/control.texi (Destructuring with pcase Patterns):

* doc/lispref/display.texi (Overlay Properties, Glyphless Chars):

* doc/lispref/frames.texi (Size Parameters, Layout Parameters)
(Child Frames):

* doc/lispref/minibuf.texi (Minibuffer Windows):

* doc/lispref/processes.texi (Asynchronous Processes):

* doc/lispref/windows.texi (Precedence of Action Functions)
(Mouse Window Auto-selection):

* doc/misc/autotype.texi (Autoinserting):

* doc/misc/efaq.texi (New in Emacs 28):

* doc/misc/idlwave.texi (Examining Variables):

* doc/misc/ses.texi (Quick Tutorial, Standard formula functions):

* doc/misc/tramp.texi (External methods, FUSE-based methods):

* lisp/comint.el (comint-insert-previous-argument-from-end):

* lisp/emacs-lisp/rmc.el (read-multiple-choice):

* lisp/gnus/gnus-util.el:

* lisp/mail/rmailsum.el (rmail-summary-progressively-narrow):

* lisp/mouse.el (mouse-drag-track):

* lisp/net/tramp-sudoedit.el:

* lisp/obsolete/landmark.el:

* lisp/org/org.el (org-startup-truncated, org-file-apps):

* lisp/pixel-scroll.el (pixel-scroll-precision-mode):

* lisp/progmodes/cperl-mode.el (cperl-praise):

* lisp/simple.el (yank-from-kill-ring, kill-visual-line):

* lisp/window.el (delete-window-choose-selected):

* src/ChangeLog.11:

* src/xdisp.c (syms_of_xdisp):

* src/xterm.c (handle_one_xevent): The construct ``allows to
<infinitive>'' is not English inasmuch as no direct object to
``allows'' is provided.  Correct and rephrase each instance of such a
construct within our documentation and commentary.
2023-09-10 09:33:50 +08:00
Eli Zaretskii
9d27b95b26 Merge from origin/emacs-29
b8a8106fa1 ; Add missing space in the manual
5b906b6215 Fix defcustom :type of ielm-indirect-setup-hook
82af484ec1 ; Two updates of etc/TODO
0ab2823f51 ; Describe in PROBLEMS 2 problems with keyboard input
4e7112ab21 ; Fix inaccuracy in ELisp reference manual
34bbb6c8d2 Document NonGNU ELPA in FAQ
2af092741e Fix remote path setting in Eshell
4613575d97 ; * lisp/completion.el (dynamic-completion-mode): Fix las...
2f0f33fbf9 Update docs for (co-)maintainer changes
b068fcd4a3 * doc/lispref/strings.texi (Text Comparison): Fix typo (b...
2e2a5f8118 Adapt Tramp manual
d32f00a35b Improve docstring of message-sendmail-envelope-from
1a668cda8b Unbreak builds with CHECK_STRUCTS.
77b6e9bb17 Improve documentation of EPG
d3382f9471 ; * lisp/completion.el (dynamic-completion-mode): Doc fix.
1458daf316 Avoid crashes on macOS with context menus

# Conflicts:
#	src/pdumper.c
2023-09-09 04:33:47 -04:00
Eli Zaretskii
0273914921 Merge from origin/emacs-29
bc56da92d8 ; Fix error in 'tex-recenter-output-buffer'
d17c5adc05 Fix regexp for recognizing PBM images
9e9f61866e Improve wording in ELisp manual
7427efa033 Fix typo (Bug#65764)
59c6624408 ; * lisp/ido.el (ido-completion-buffer): Fix :type (bug#6...
4ec4b18c2a Fix libgccjit build on Haiku
80bdcf8f35 (regexp-tests-backtrack-optimization): Mark it as failing
8a9e653cc8 ; Add regression test for bug#65726
6fad73d7cc * src/regex-emacs.c (mutually_exclusive_p): Fix inf-loop ...
1d3d419607 ; * lisp/files.el (save-some-buffers-functions): Doc fix ...
42b14c6e5b Bump seq version to 2.24
ff5190a174 Add note on ELPA to admin/notes/bug-triage
f1e4cbe72a ; * etc/PROBLEMS: Minor wording fix.
fd5593c7f2 * etc/PROBLEMS: Mention bug#65432 and its remedy.
dd896ea1e6 Ignore errors when checking for object initializers (bug#...
3550f44c17 ; Fix typos
5b246b9b81 * CONTRIBUTE: Document making ChangeLogs with Magit.
0bd4661941 Doc fixes for obsolete functions and variables
524c0c34f2 ; * lisp/ffap.el (ffap-rfs-regexp): Fix :type (bug#65698).
f48dccc467 Merge branch 'emacs-29' of git.savannah.gnu.org:/srv/git/...
71a85e2266 A revision to the Widget manual
dbbcf4a659 Fix fontification of " in edit-kbd-macro

# Conflicts:
#	test/src/regex-emacs-tests.el
2023-09-09 04:32:45 -04:00
Po Lu
8b9d25b408 Update Android port
* src/android-asset.h (android_asset_read_internal): Return an
error indication if an exception arises while reading.
(AAsset_getBuffer): Free BUFFER using the C library free
function.
2023-09-09 15:50:06 +08:00
Po Lu
ec097d85ff Micro-optimize sfnt_interpret_trap
* src/sfnt.c (AVOID) [TEST]: Define to its standard value in
lisp.h.
(sfnt_interpret_trap): Label AVOID.
2023-09-09 10:00:17 +08:00
Po Lu
1d07bbe106 Fix typos
* src/android.c (android_set_task_name):

* src/sfnt.c (main): Test if fd < 0, not fd < 1.
2023-09-08 19:58:02 +08:00
Po Lu
46249f6139 Fix typos in last change
* src/font.c (font_dynamic_unparse_xlfd): Remove unused variable.
(Ffont_xlfd_name): Initialize name.
2023-09-08 11:01:30 +08:00
Po Lu
3fb671c88e ; * src/fontset.c: Remove extraneous portion of last change. 2023-09-08 10:37:53 +08:00
Po Lu
c933f5081f Permit XLFD names to exceed 255 characters
* doc/lispref/display.texi (Low-Level Font)
<font-xlfd-name>: Document new argument `long-xlfds'.

* etc/NEWS: Mention removal of XLFD length restrictions.

* src/font.c (font_build_object): Dynamically allocate XLFD,
permitting them to surpass 255 characters in length.
(font_parse_xlfd_1): Cease rejecting XLFDs more than 255
characters in length.
(font_dynamic_unparse_xlfd): New function.  Like
font_unparse_xlfd, but allocate the XLFD dynamically.
(font_delete_unmatched): Dynamically allocate XLFD if necessary.
(Ffont_xlfd_name): New arg LONG_XLFDs.  If t, return a
dynamically allocated XLFD.  All callers changed.

* src/font.h: Update prototypes.

* src/fontset.c (Fnew_fontset): Dynamically allocate XLFD when
establishing fontset name.
2023-09-08 10:37:18 +08:00
Yuan Fu
a9a096ff8b
Add Ftreesit_parser_tag
* lisp/treesit.el (treesit-parser-tag): Add.
* src/treesit.c (Ftreesit_parser_tag): Add.
2023-09-07 16:04:47 -07:00
Philipp Stephani
1a668cda8b Unbreak builds with CHECK_STRUCTS.
* src/pdumper.c (dump_buffer): Fix hash for 'struct buffer'.  The
recent changes to that structure where commits
8f3091defb and
0bd4661941, both of which just affected
comments.
2023-09-07 11:33:37 +02:00
Daniel Martín
1458daf316 Avoid crashes on macOS with context menus
* src/nsmenu.m ([EmacsMenu menuNeedsUpdate:]): Avoid crashes with
context menus.  (Bug#63495)
2023-09-07 08:21:38 +03:00
Po Lu
8b25edfbda Port Proced to Android
* configure.ac (HAVE_PROCFS): Define if opsys is `android'.

* src/android.c (android_set_task_name): New function.
(android_run_select_thread, android_run_debug_thread): Set the
name of the LWP for debugging purposes.

* src/process.c (create_process): Set F_SETPIPE_SZ on Android in
addition to GNU/Linux.

* src/sysdep.c (procfs_ttyname, system_process_attributes)
[__ANDROID__]: Enable procfs_ttyname on Android systems.
2023-09-07 09:35:59 +08:00
Po Lu
2416168310 Remedy bug#63395
* src/gtkutil.c (xg_update_frame_menubar): Avoid scaling the
requisiton height twice.  (bug#63395)
2023-09-07 08:58:21 +08:00
Yuan Fu
6b387d2edd
; Update Ftreesit_parser_list docstring.
* doc/lispref/parsing.texi (Using Parser): Update manual.
* src/treesit.c (Ftreesit_parser_list): Update docstring.
2023-09-05 21:03:38 -07:00
Yuan Fu
cf0986401c
Allow filter by tag in treesit-parser-list
* doc/lispref/parsing.texi: Update manual.
* src/treesit.c (Ftreesit_parser_create): Disallow using t for tag.
(Ftreesit_parser_list): Add LANGUAGE and TAG parameter.
2023-09-05 21:03:37 -07:00
Yuan Fu
722daf6fff
Add tag to tree-sitter parsers
* doc/lispref/parsing.texi (Using Parser): Update manual.
* lisp/treesit.el (treesit-buffer-root-node)
* src/treesit.c (make_treesit_parser)
* src/treesit.c (Ftreesit_parser_create): Add TAG parameter.
(treesit_resolve_node): Create a parser with nil tag.
* src/treesit.h (Lisp_TS_Parser): Add TAG field.
2023-09-05 21:03:37 -07:00
Po Lu
aa872f2540 Properly run emacsclient under Android if DISPLAY is set
* java/org/gnu/emacs/EmacsPixmap.java (EmacsPixmap): Make
dimensions final, since they are never changed after the
constructor.

* lib-src/emacsclient.c (decode_options): If --display is not
provided, always set display to `android' even if DISPLAY is
provided.

* lisp/net/browse-url.el (browse-url): Cease setting DISPLAY
under Android.

* src/callproc.c (getenv_internal, make_environment_block):
Don't afford DISPLAY special treatment under Android.
2023-09-06 10:31:26 +08:00
Po Lu
cf9353e219 Minor adjustments to Android port stubs
* src/androidfns.c (Fx_display_backing_store): Return
`when-mapped' in place of `always', since the former better
reflects Android port behavior.
(syms_of_androidfns) <always>: Delete defsym.
<when-mapped>: New defsym.

* src/term.c (Fsuspend_tty, Fresume_tty): Properly signal errors
on Android rather than quietly disregarding calls.
2023-09-05 14:39:34 +08:00
Stefan Kangas
bbcfe70991 ; Delete some commented out code in data.c (Bug#64595)
* src/data.c (set_internal): Delete commented out code.
2023-09-05 08:13:24 +02:00
Po Lu
eb9cfa8852 Avoid virtual function dispatch overhead
* src/androidvfs.c (android_saf_move_document): Circumvent JNI
dynamic function dispatch on call to final method.
2023-09-05 10:43:07 +08:00
Stefan Monnier
6fad73d7cc * src/regex-emacs.c (mutually_exclusive_p): Fix inf-loop (bug#65726) 2023-09-04 13:11:31 -04:00
Alan Mackenzie
afcb6d0bc7 Correct the handling of symbols with position in equal
* src/fns.c (internal_equal): Only regard symbols with position
as their symbols when symbols-with-pos-enabled is non-nil.

* doc/lispref/symbols.texi (Symbols with Position): Expand the
description of symbols with position, in particular the way
they work with eq and equal.

* doc/lispref/objects.texi (Equality Predicates): Describe how
eq and equal handle symbols with position.

* test/src/fns-tests.el (fns-tests-equal-symbols-with-position):
New tests for symbols with position.
2023-09-04 12:51:24 +00:00
Mattias Engdegård
c290b034e0 Move wholenump alias definition
* src/data.c (syms_of_data): From here...
* lisp/subr.el (wholenump): ...to here, with the other aliases.
2023-09-03 11:30:54 +02:00
Stefan Kangas
3550f44c17 ; Fix typos 2023-09-02 18:57:11 +02:00
Stefan Kangas
0bd4661941 Doc fixes for obsolete functions and variables
* admin/notes/multi-tty:
* doc/emacs/building.texi (Debugger Operation):
* doc/misc/efaq-w32.texi (Line ends by file system):
* doc/misc/gnus.texi (Hashcash):
* lisp/emacs-lisp/eieio.el (eieio-class-parents)
(eieio-class-children):
* lisp/progmodes/perl-mode.el:
* lisp/textmodes/ispell.el (ispell-lookup-words):
* src/buffer.h: Update or delete references to variables and functions
made obsolete in Emacs 24.4.
2023-09-02 15:37:08 +02:00
Eli Zaretskii
c45c2b2209 ; * src/treesit.c (treesit_recursion_limit): Fix compilation error. 2023-09-02 11:50:27 +03:00
Eli Zaretskii
7395123479 Merge from origin/emacs-29
dbbcf4a659 Fix fontification of " in edit-kbd-macro
2137fdfd55 * lisp/emacs-lisp/gv.el (buffer-local-value): Unobsolete ...
e660ee88e3 ; Remove incorrect example from ELisp Reference manual
c32fd92d67 Add documentation to plstore.el
57760f585e * lisp/help.el (substitute-quotes): Improve docstring.
60dcea7658 Fix two defcustom :types
890a4c209a Fix `image-auto-resize-on-window-resize' custom :type
369f2eea10 Add "terraform-ls" LSP server to Eglot
5cbe96d17f ; Improve documentation of 'char-table-range'
a219ee8c31 Fix minor bugs in vc-git and vc-hg on Windows uncovered b...
3f7598806e Add syntax-propertize-function to js-ts-mode
18b292140e ; * src/treesit.c: Add ts function boilerplate
ec4d29c449 Improve performance of treesit_cursor_helper_1

# Conflicts:
#	lisp/vc/vc-git.el
#	src/treesit.c
2023-09-02 04:33:44 -04:00
Eli Zaretskii
34414b06f2 ; Minor fixes of treesit docs
* src/treesit.c (treesit_traverse_validate_predicate)
(Ftreesit_search_subtree, Ftreesit_search_forward)
(Ftreesit_induce_sparse_tree, Ftreesit_node_match_p):
* lisp/treesit.el (treesit-beginning-of-thing)
(treesit-end-of-thing, treesit--things-around): Fix commentary and
doc strings.
2023-09-02 10:08:21 +03:00
Yuan Fu
1e91183c39
; * src/treesit.c (Vtreesit_thing_settings): Update docstring. 2023-09-01 20:38:32 -07:00
Yuan Fu
452697a81a
Add an optional arg to Ftreesit_node_match_p
* src/treesit.c (treesit_traverse_child_helper): Fix typo.
(treesit_traverse_get_predicate): Add ignore_missing.

(Ftreesit_search_subtree)
(Ftreesit_search_forward)
(Ftreesit_induce_sparse_tree): Update docstring.
(Ftreesit_node_match_p): Add ignore_missing.
2023-09-01 20:38:31 -07:00
Po Lu
dc1ed3dbfa Update Android port
* lisp/touch-screen.el (touch-screen-handle-point-up) <held>:
Treat `held' as `drag' as well.

* src/android.c (android_is_special_directory): Return bool
rather than a pointer to the remainder of the file name, given
that said pointer is never used.

* src/android.h (android_is_special_directory): Modify
correspondingly.
2023-09-02 09:30:05 +08:00
Eli Zaretskii
5cbe96d17f ; Improve documentation of 'char-table-range'
* doc/lispref/sequences.texi (Char-Tables):
* src/chartab.c (Fchar_table_range): Clarify what
'char-table-range' returns for an argument that is a cons cell.
2023-09-01 16:33:40 +03:00
Yuan Fu
18b292140e
; * src/treesit.c: Add ts function boilerplate 2023-08-31 16:00:54 -07:00
Yuan Fu
ec4d29c449
Improve performance of treesit_cursor_helper_1
* src/treesit.c: (treesit_cursor_helper_1): Use
ts_tree_cursor_goto_first_child_for_byte to speed up traversing among
siblings.  The "while (ts_node_end_byte (cursor_node) < end_pos)" can
be removed with the check added in the loop below.
2023-08-30 20:53:03 -07:00
Po Lu
4ceb486696 Delete unused fields
* src/haiku_support.cc (class EmacsWindow)
<x_before_zoom, y_before_zoom>: Delete fields.
2023-08-31 02:14:00 +00:00
Po Lu
21a0caea77 Include installation date within asset files
* src/android.c (setEmacsParams): Set `emacs_installation_time'
to the mtime of the class path file, which happens to be the
time of Emacs's installation.
(emacs_installation_time): New variable.

* src/android.h (emacs_installation_time): Export new variable.

* src/androidvfs.c (android_afs_stat): If
emacs_installation_time is a valid timespec, set st_mtime to it.
2023-08-31 09:04:32 +08:00
Eli Zaretskii
8650b3308d Fix revert-buffer when some decoding is involved
* src/fileio.c (Finsert_file_contents): Fix the amount of text
read from the file when reverting.  (Bug#65609)
2023-08-30 17:16:59 +03:00
Po Lu
297ccd967f Facilitate typing `C-SPC' on Android
* doc/emacs/android.texi (Android Windowing): Mention C-SPC
interception and how it may be disabled.

* java/org/gnu/emacs/EmacsNative.java (shouldForwardCtrlSpace):
New function.

* java/org/gnu/emacs/EmacsView.java (onKeyPreIme): New function.
If the provided key code is SPC and the event's modifier key
mask contains ControlMask, relay it directly to onKeyDown.

* java/org/gnu/emacs/EmacsWindow.java (eventModifiers): Export
and make static.

* src/android.c (shouldForwardCtrlSpace): New function.

* src/androidfns.c (syms_of_androidfns)
<android_intercept_control_space>: New defvar.
2023-08-30 10:07:49 +08:00
Po Lu
804a96af28 Update Android port
* src/sfnt.c (xfree, sfnt_make_interpreter)
(stack_overflow_test_args, stack_underflow_test_args)
(dup_test_args, clear_test_args, raw_test_args, fdef_test_args)
(fdef_1_test_args, endf_test_args, rs_test_args, debug_test_args)
(eif_test_args, sds_test_args, round_test_args, sangw_test_args)
(aa_test_args, scantype_test_args): Include alloca.h.  Minor
fixes for standards conformance.
2023-08-29 10:47:56 +08:00
Po Lu
de335cb3dc ; Effect a safer version of that fix for Emacs 29
* src/haikuterm.c (haiku_draw_stretch_glyph_string): Use
computed X value, as on X.

Do not merge to master.
2023-08-27 10:22:46 +08:00
Po Lu
4d06a9faff Correct display of stretch glyphs within hscrolled windows
* src/haikuterm.c
(haiku_draw_glyphless_glyph_string_foreground): Make char2b
static, stifling a GCC warning.
(haiku_draw_stretch_glyph_string): Use computed X if s->x is
outside the confines of the text area.
2023-08-27 02:19:46 +00:00
Stefan Kangas
d8b528c896 Clean up image error reporting somewhat
* src/image.c (image_not_found_error, image_invalid_data_error):
New functions.  All uses of image_error with "Invalid image data ..."
and "Cannot find image file ..." changed to use them.
(image_create_x_image_and_pixmap_1): Remove redundant Qnil arguments.
2023-08-26 14:39:38 +02:00
Po Lu
a6cb8e3a1f Repair bug#65068 on Emacs 29
* src/xterm.c (x_term_init): Disable ControlFallback library
control wherever present.  (bug#65068)

Do not merge to master.
2023-08-26 18:12:24 +08:00
Eli Zaretskii
7318fa75b8 ; * src/emacs.c (main) [!HAVE_PDUMPER]: Avoid setting unused variable. 2023-08-26 12:35:06 +03:00