1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-09 13:10:57 -08:00
Commit graph

44172 commits

Author SHA1 Message Date
Martin Rudalics
f5b8df14c6 Fixes to account for windows' tab lines
* doc/lispref/display.texi (Size of Displayed Text): Fix entry
on 'window-text-pixel-size'.
* lisp/window.el (window--dump-window): Dump tab-line-height and
scroll-bar-height too.
(window--min-size-1): Take 'window-tab-line-height' into account.
* src/xdisp.c (Fwindow_text_pixel_size): Fix doc-string of
'window-text-pixel-size'.  Rename last argument to 'MODE-LINES'.
2021-10-15 10:21:05 +02:00
Martin Rudalics
8153f70b9c In make_lispy_position fix Bug#50993 in rudimentary fashion
* src/keyboard.c (make_lispy_position): Do not set posn to
tool- or tab-bar when track_mouse is enabled (Bug#50993).
2021-10-14 10:39:27 +02:00
Paul Eggert
ebeaa54f19 Pacify GCC 11 -fanalyzer on x86-64
* src/buffer.c (fix_overlays_before):
Redo slightly to work around GCC bug 102692
<https://gcc.gnu.org/bugzilla//show_bug.cgi?id=102692>.
2021-10-12 11:54:32 -07:00
Eli Zaretskii
66b8dfd060 ; Fix last change related to shorthands
* src/lread.c (read1): Minor stylistic fixes of the last change,
including the wording of the comment.

* doc/lispref/symbols.texi (Shorthands): Fix wording and typos.
2021-10-12 16:20:47 +03:00
Martin Rudalics
3832b983cf In Fdelete_other_windows_internal fix new total window sizes (Bug#51007)
* src/window.c (Fdelete_other_windows_internal): Assign the
new total sizes of windows _after_ the new window configuration
is in place (Bug#51007).
2021-10-12 09:25:57 +02:00
João Távora
cf1409db71 Don't apply shorthands to punctuation-only symbols (bug#51089)
This includes symbols used for arithmetic functions such as -, /=,
etc.  Using "-" or "/=" is still possible but doing so won't shadow
those functions.

* doc/lispref/symbols.texi (Shorthand, Exceptions): New
subsubsection.

* src/lread.c (read1): Exempt punctionation-only symbols from
oblookup_considering_shorthand.

* test/lisp/progmodes/elisp-mode-tests.el
(elisp-dont-shadow-punctuation-only-symbols): Tweak test.
2021-10-11 22:29:16 +01:00
Paul Eggert
0d374b1b83 Work around GCC bug 102671
This is for --enable-gcc-warnings on GCC 11.2.1.
* src/window.c, src/timefns.c: Disable -Wanalyzer-null-dereference.
2021-10-11 09:24:56 -07:00
Eli Zaretskii
1a1b206a8b Adapt the recent 'num_processors' change to MS-Windows
* nt/gnulib-cfg.mk (OMIT_GNULIB_MODULE_nproc): Omit nproc.

* src/w32.c (num_processors): New function.
* src/w32proc.c (Fw32_get_nproc): Remove.
2021-10-11 15:56:31 +03:00
Paul Eggert
96278de8ac New function num-processors
This addresses a FIXME comment in lisp/emacs-lisp/comp.el,
relating to the number of subsidiary processes used by
comp-run-async-workers in native compilation.
* admin/merge-gnulib (GNULIB_MODULES): Add nproc.
* doc/lispref/processes.texi (Process Information), etc/NEWS:
Document num-processors.
* lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
* lib/nproc.c, lib/nproc.h, m4/nproc.m4:
New files, copied from Gnulib by admin/merge-gnulib.
* lisp/emacs-lisp/comp.el (w32-get-nproc): Remove decl.
(comp-effective-async-max-jobs): Use num-processors.
* src/process.c: Include nproc.h.
(Fnum_processors): New function.
(syms_of_process): Define ‘all’, ‘current’, ‘num-processors’.
* src/w32proc.c (Fw32_get_nproc): Add FIXME comment.
* test/src/process-tests.el (process-num-processors): New test.
2021-10-10 14:00:26 -07:00
Eli Zaretskii
ae61d7a57d Fix point positioning on mouse clicks with non-zero line-height
* src/xdisp.c (move_it_to): After passing a newline, reset
it->override_ascent, like 'display_line' does (in
'append_space_for_newline').  (Bug#51111)
2021-10-10 17:14:55 +03:00
Eli Zaretskii
00eb21c897 ; * src/dispextern.h (struct glyph_string): Comment on NCHARS. (Bug#51105) 2021-10-09 14:38:06 +03:00
Eli Zaretskii
315fe20086 ; * src/Makefile.in (../native-lisp): Add comment. 2021-10-09 11:23:44 +03:00
Stephen Gildea
65de510c16 ; Fix 'restore-buffer-modified-p' doc string typo
* src/buffer.c (restore-buffer-modified-p): Fix typo in doc string:
"and" for "or" regarding lock/unlock.  Note that 'set-buffer-modified-p'
doc string already uses the correct "or".
2021-10-07 20:11:36 -07:00
Paul Eggert
89d64fca75 Pacify GCC 10.3 -Wmaybe-uninitialized
Problem reported by Basil L. Contovounesios (Bug#51075).
* src/term.c (encode_terminal_code):
Add an UNINIT to pacify GCC 10 bug.
2021-10-07 13:09:47 -07:00
Eli Zaretskii
7ae70054aa ; * src/composite.h (LGSTRING_FONT): Add comment about its role. 2021-10-07 19:27:49 +03:00
Eli Zaretskii
3c29fb705c ; * src/Makefile.in (../native-lisp): Make the long recipe silent. 2021-10-07 18:48:09 +03:00
Eli Zaretskii
7cb98ba057 ; * src/keyboard.c (make_lispy_position): Avoid GCC warning. (Bug#51076) 2021-10-07 16:09:37 +03:00
Eli Zaretskii
b5afbedc90 Backward compatibility option for 'nobreak-char-display'
* src/xdisp.c (syms_of_xdisp) <nobreak-char-ascii-display>: New
variable.
(get_next_display_element): If 'nobreak-char-ascii-display' is
non-nil, display non-ASCII space and hyphen characters as their
ASCII equivalents.  (Bug#50983)

* etc/NEWS:
* etc/PROBLEMS: Mention 'nobreak-char-ascii-display'.
2021-10-05 17:12:49 +03:00
Paul Eggert
1a65d49931 Port recent Gnulib changes to MS-Windows
* nt/gnulib-cfg.mk (OMIT_GNULIB_MODULE_free-posix)
(OMIT_GNULIB_MODULE_malloc-posix)
(OMIT_GNULIB_MODULE_realloc-gnu)
(OMIT_GNULIB_MODULE_realloc-posix):
New macros, since we don’t want these modules on MS-Windows.
* src/w32heap.c (heap_alloc, heap_realloc): New functions.
(malloc_after_dump, realloc_after_dump, realloc_before_dump):
Use them.
2021-10-04 15:21:43 -07:00
Paul Eggert
68a256c892 Update from Gnulib
Make the following changes by hand, and run 'admin/merge-gnulib'.
* .gitignore: Add lib/malloc/*.gl.h.
* admin/merge-gnulib: Copy lib/af_alg.h and lib/save-cwd.h
directly from Gnulib, without worrying about Gnulib modules,
as these files are special cases.
(AVOIDED_MODULES): Remove malloc-posix.
* lib/malloc.c, lib/realloc.c, m4/malloc.m4, m4/realloc.m4:
* m4/year2038.m4: New files, copied from Gnulib.
* lib/malloca.c, lib/malloca.h:
* m4/close-stream.m4, m4/glibc21.m4, m4/malloca.m4:
Remove.  These are either no longer present in Gnulib, or are no
longer needed by modules that Emacs uses.
* oldXMenu/AddPane.c, oldXmenu/Addsel.c: Include XmenuInt.h first;
needed for new Gnulib.
* src/xmenu.c: Call emacs_abort, not abort.
2021-10-04 15:21:31 -07:00
Ken Brown
894dfe70da Fix native-compilation build from tarball on Cygwin
* src/Makefile.in (../native-lisp) [CYGWIN]: Rebase the *.eln
files after they are all created, to avoid fork problems later in
the build.  (Bug#50666)
2021-10-04 14:53:46 -04:00
Robert Pluim
9750e78202 Fix problem with 'vertical-motion' and emoji
* src/font.c (font_range): Pass correct position to
font_for_char (Bug#51012).
2021-10-04 18:56:52 +02:00
Gregory Heytings
95a0227ff7 Avoid exiting when outputting error messages during loadup
* src/print.c (print_error_message): Don't call
'substitute-command-keys' when it isn't fboundp.
2021-10-04 18:04:20 +03:00
Eli Zaretskii
b7ae0232be ; * src/Makefile.in (../native-lisp): More tweaks of the recipe. 2021-10-04 16:54:37 +03:00
Paul Eggert
3b8dda6c90 Add safety check in x_menu_show
* src/xmenu.c (x_menu_show): Explicitly check whether save_wv can
be null here.  Looks like it can be but I am not 100% sure, so
play it safe and add a FIXME comment.
2021-10-03 20:30:55 -07:00
Paul Eggert
e1fb731393 Tweak x_connection_closed when I/O error
* src/xterm.c (x_connection_closed): Don’t dereference dpyinfo
in the unlikely case where it is null and ioerror is true.
This pacifies gcc 11.2.1 -Wanalyzer-null-dereference.
2021-10-03 20:19:38 -07:00
Paul Eggert
d00f3d4c05 Port unused decls to C2x
* src/conf_post.h (ATTRIBUTE_UNUSED): Remove.  All uses replaced
by MAYBE_UNUSED, and moved to start as needed for C2x.
2021-10-03 20:05:09 -07:00
Paul Eggert
87153cc915 Tweak x_hide_tip for consistency
* src/xfns.c (x_hide_tip, Fx_show_tip): Be consistent about using
!NILP (tip_frame) instead of FRAMEP (tip_frame).  The two
expressions are logically equivalent since tip_frame is either a
frame or nil, !NILP is a bit faster, and making things consistent
pacifies gcc 11.2.1 -Wanalyzer-null-dereference.
2021-10-03 17:59:32 -07:00
Paul Eggert
7e871dcd27 Remove encode_terminal_code UNINITs
* src/term.c (encode_terminal_code): Clarify by removing a couple
of UNINITs and testing the local variable ‘cmp’ instead of
retesting src->u.cmp.automatic.  This pacifies gcc 11.2.1
-Wanalyzer-null-dereference.
2021-10-03 17:52:28 -07:00
Paul Eggert
2a00634880 Port pdumper.c maybe_unused to C2x
Port pdumper.c to C2x, and pacify gcc 11.2.1 -Wattributes -Wunused.
* src/pdumper.c (dump_tailq_prepend):
Omit ATTRIBUTE_UNUSED, since it’s always used.
(dump_tailq_append): Remove; unused.
2021-10-03 17:46:00 -07:00
Paul Eggert
6d9b3c0eaa Port systhreads.h to C2x
* src/systhread.h: Put NODISCARD at the start of extern
declarations, not at the end.  This is needed by C2x.
This patch also pacifies gcc 11.2.1 -Wattributes.
2021-10-03 17:32:03 -07:00
Paul Eggert
fd274d7d24 Pacify -Wanalyzer-null-argument in lisp_malloc
* src/alloc.c (lisp_malloc): Document that NBYTES must be
positive, and omit a needless runtime check.  This pacifies a
false alarm with gcc 11.2.1 -Wanalyzer-possible-null-dereference.
2021-10-03 16:55:17 -07:00
Paul Eggert
cc3fc94f09 Pacify gcc 11.2.1 -Wanalyzer-null-argument
* src/gtkutil.c (xg_item_label_same_p): Clarify boolean expression
to pacify -Wanalyzer-null-argument with GCC 11.2.1 20210728
(Red Hat 11.2.1-1).
2021-10-03 16:55:17 -07:00
Eli Zaretskii
4831426158 Fix recipe for 'native-lisp' directory
* src/Makefile.in (../native-lisp): If the directory native-lisp
exists, do nothing.
2021-10-03 22:35:04 +03:00
Andreas Schwab
5deeb0947d * src/Makefile.in: Simplify conditionals. 2021-10-03 19:46:13 +02:00
Eli Zaretskii
c1b1e1f545 Define HAVE_NATIVE_COMP in src/Makefile.in
* src/Makefile.in (HAVE_NATIVE_COMP): Define.  Reported by Ken
Brown <kbrown@cornell.edu>.
2021-10-03 19:05:49 +03:00
João Távora
137fa2d716 Rename elisp-shorthands to read-symbol-shorthands
The new name fits better in the family of variables that affect
the Lisp reader.

Suggested-by: Po Lu <luangruo@yahoo.com>

* doc/lispref/symbols.texi (Shorthands): Mention read-symbol-shorthands

* lisp/shorthands.el (hack-read-symbol-shorthands)
(hack-read-symbol-shorthands)
(shorthands-font-lock-shorthands): Use read-symbol-shorthands

* lisp/progmodes/elisp-mode.el (elisp--completion-local-symbols)
(elisp--completion-local-symbols)
(elisp-shorthands): Use read-symbol-shorthands

* src/lread.c:
(syms_of_lread): Define Vread_symbol_shorthands
(oblookup_considering_shorthand): Use Vread_symbol_shorthands.

* test/lisp/progmodes/elisp-mode-tests.el (elisp-shorthand-read-buffer):
(elisp-shorthand-read-from-string): Use read-symbol-shorthands

* test/lisp/progmodes/elisp-mode-resources/simple-shorthand-test.el
Use new symbol name read-symbol-shorthands.
2021-10-03 16:18:40 +01:00
Mattias Engdegård
c006286780 ; * src/nsterm.h: Use objc-mode. 2021-09-30 10:58:01 +02:00
Lars Ingebrigtsen
3efa45849a Improve the max-specpdl-size doc string
* src/eval.c (syms_of_eval): Mention what "specpdl" means.
2021-09-29 07:53:15 +02:00
Eli Zaretskii
90655e4bc0 Make the build of source tarball produce *.eln files
* lisp/emacs-lisp/comp.el (batch-native-compile): Accept an
optional argument; if non-nil, place the .eln file as appropriate
for building a source tarball.

* doc/lispref/compile.texi (Native-Compilation Functions):
Document the new optional argument of 'batch-native-compile'.

* lisp/Makefile.in (.PHONY, $(THEFILE)n) [HAVE_NATIVE_COMP]: New
targets.

* src/Makefile.in (%.eln) [HAVE_NATIVE_COMP]: New recipe.
(all) [HAVE_NATIVE_COMP]: Add ../native-lisp to prerequisites.
(elnlisp) [HAVE_NATIVE_COMP]: New list of *.eln files.
(../native-lisp) [HAVE_NATIVE_COMP]: New recipe.

* src/verbose.mk.in (AM_V_ELN): New macro.
2021-09-28 15:00:50 +03:00
Eli Zaretskii
7c21d2c7f5 ; * src/lisp.h (enum char_bits): Update the comment. 2021-09-28 11:15:43 +03:00
Alan Third
75f2739e1a Fix GNUstep build failure
* src/nsfns.m (Fns_hide_emacs): NSRunningApplication is only available
in GNUstep 0.27 and above.
2021-09-27 14:24:25 +01:00
Alan Third
51c79967c3 Fix resizing glitches in NS port (bug#50413)
* src/nsterm.m ([EmacsView resizeWithOldSuperviewSize:]): Use the
superview's size instead of trusting the view's size.
2021-09-27 13:38:06 +01:00
Stefan Kangas
dc12ad8978 ; Update some links to HTTPS and note some broken links 2021-09-27 12:40:04 +02:00
Alan Third
d22d7d6be8 Attempt to debug a graphical glitch on macOS
* src/nsterm.m (ns_scroll_run):
(ns_shift_glyphs_for_insert): Switch to using NSPoint for destination.
([EmacsView copyRect:to:]): Use NSPoint for the destination, always
use the view's layer, and log any questionable copy requests.
2021-09-27 11:00:30 +01:00
Alan Third
86bf8afa45 Fix NS toolbar again (bug#50534)
* src/nsmenu.m (free_frame_tool_bar): Remove toolbar.
(update_frame_tool_bar_1): New function.
(update_frame_tool_bar): Move most of the functionality to
update_frame_tool_bar_1.
* src/nsterm.h: Definitions of functions and methods.
* src/nsterm.m (ns_update_begin):
([EmacsView windowDidEnterFullScreen]):
([EmacsView windowDidExitFullScreen]): We no longer need to reset the
toolbar visibility as that's done when we create the new fullscreen
window.
([EmacsWindow initWithEmacsFrame:fullscreen:screen:]): Move the check
for undecorated frames into createToolbar:.
([EmacsWindow createToolbar:]): Check whether a toolbar should be
created, and run the toolbar update immediately.
2021-09-27 11:00:30 +01:00
Robert Pluim
a2a62f7105 Enhance font_range to check for emoji composition triggers
If the codepoint that triggered composition is from the emoji script,
use the emoji font to check the string being composed, rather than the
font of the first character of the string.  This makes e.g.

"emoji codepoint with Emoji_Presentation = No followed by VS-16 (FE0F)"

display the emoji version of the glyph for that codepoint.

* admin/unidata/blocks.awk: Add VS-1 through VS-16 to the emoji
script.
* src/composite.c (autocmp_chars): Accept additional argument CH for
the codepoint that triggered composition, pass it to font_range.
(composition_reseat_it, find_automatic_composition): Pass codepoint
that triggered composition to autocmp_chars.
* src/font.c (font_range): Accept additional argument CH for the
triggering codepoint.  If the codepoint is from the 'emoji' script,
use Vscript_representative_chars to find the font to use for the
composition attempt.
(syms_of_font): Add Qemoji symbol.
* src/font.h: Update font_range prototype for argument CH.
* etc/NEWS: Announce change.
2021-09-27 10:31:32 +02:00
Eli Zaretskii
00609b1a70 Minor stylistic fixes of shorthand code in C
* src/lread.c (oblookup_considering_shorthand): Now static.  Move
prototype to where it belongs.
(read1, Fintern, Fintern_soft, Funintern)
(oblookup_considering_shorthand, syms_of_lread): Fix style of
braces and indentation, comments, and doc strings.
2021-09-27 10:20:54 +03:00
João Távora
66f3087530 Add #_ reader macro to escape shorthand renaming
* src/lread.c (read1): Add skip_shorthand variable.  Add a '#_'
case.  If skip_shorthand call oblookup instead of
oblookup_considering_shorthand.

* test/lisp/progmodes/elisp-mode-tests.el
(elisp-shorthand-escape): New test.

* test/lisp/progmodes/elisp-resources/simple-shorthand-test.el
(#_f-test4---): New fixture function.
2021-09-27 01:07:11 +01:00
João Távora
90cbf0cb8d Consider shorthands in Elisp's elisp-completion-at-point
Instead of referencing obarray directly, that function has to consider
a collection of completions which includes the shorthand versions of
some of the symbols.  That collection changes from buffer to buffer,
depending on the choice of elisp-shorthands.

To make this process efficient, and avoid needless recalculation of
the above collection, a new obarray-specific cache was invented.  The
Elisp variable obarray-cache is immediately nullified if something
touches the obarray.

* lisp/progmodes/elisp-mode.el : New helper.
(elisp-completion-at-point): Use new helpers.
(elisp--completion-local-symbols)
(elisp--fboundp-considering-shorthands)
(elisp--bboundp-considering-shorthands): New helpers

* src/lread.c (intern_driver): Nullify Qobarray_cache.
(syms_of_lread): Add Qobarray_cache.

* test/lisp/progmodes/elisp-mode-tests.el
(elisp-shorthand-completion-at-point): New test.

* test/lisp/progmodes/elisp-resources/simple-shorthand-test.el
(f-test-complete-me): New fixture.
2021-09-27 01:07:11 +01:00