1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-02-12 10:44:12 -08:00
Commit graph

40133 commits

Author SHA1 Message Date
Eli Zaretskii
5cf282d65f Clarify documentation of functions reading character events
* doc/lispref/help.texi (Describing Characters):
* doc/lispref/commands.texi (Keyboard Events)
(Reading One Event, Classifying Events): Make the distinction
between characters and character events more explicit.

* src/keymap.c (Ftext_char_description)
(Fsingle_key_description):
* src/lread.c (Fread_char, Fread_char_exclusive): Doc fixes,
to make a clear distinction between a character input event
and a character code.  (Bug#32562)
2018-09-10 12:46:22 +03:00
YAMAMOTO Mitsuharu
82160cf0c1 * src/process.c (connect_network_socket): Fix memory leak. (Bug#32604) 2018-09-07 08:35:36 +09:00
Martin Rudalics
57bcdc76e0 Don't call XGetGeometry for frames without outer X window (Bug#32615)
* src/xfns.c (frame_geometry): Don't call XGetGeometry when
FRAME has no outer X window; return nil instead.  (Bug#32615)
2018-09-04 08:53:49 +02:00
Michael Albinus
ac7936cb8f Rename thread-alive-p to thread-live-p
* doc/lispref/threads.texi (Basic Thread Functions): Use thread-live-p.

* etc/NEWS: 'thread-alive-p' has been renamed to 'thread-live-p'.

* src/thread.c (thread_live_p): Rename from thread_alive_p.  Adapt
all callees.
(Fthread_live_p): Rename from Fthread_alive_p.
(syms_of_threads): Make thread-alive-p an alias of thread-live-p.

* test/src/thread-tests.el (all): Replace `thread-alive-p' by
`thread-live-p'.
(threads-live): Rename from `threads-alive'.
2018-08-31 10:47:03 +02:00
Eli Zaretskii
fe06fcc595 Avoid infinite hscrolling loops when line numbers are displayed
* src/xdisp.c (maybe_produce_line_number): Don't produce line
numbers if we don't have enough screen estate.  (Bug#32351)
2018-08-28 14:11:12 +03:00
Eli Zaretskii
63e59c8ca5 Avoid crashes in malformed defvar
* src/eval.c (Fdefvar): Don't call XSYMBOL on something that
might not be a symbol.  This avoids crashes due to malformed
'defvar' forms.  (Bug#32552)
2018-08-28 10:20:46 +03:00
Sergey Vinokurov
54fb383af6 Fix detection of freed emacs_values (Bug#32479)
* src/emacs-module.c (module_free_global_ref): Compare a value to be
freed with all entries of the list.

* test/data/emacs-module/mod-test.c (Fmod_test_globref_free): New
function.
(emacs_module_init): Make it accessible from Lisp.
* test/src/emacs-module-tests.el (mod-test-globref-free-test): New
test which uses it.
2018-08-25 18:57:56 -04:00
Eli Zaretskii
9a1329e966 Avoid crashes with very wide TTY frames on MS-Windows
* src/w32console.c <glyph_base>: Reduce the number of elements
to 80.
<glyphs, glyphs_len>: New static variables.
(w32con_clear_end_of_line): If the line is wider than the
current size of the "empty row" in 'glyphs', reallocate
'glyphs' to support the full width of the frame.  This
avoids segfaults when the frame is wider than 256 columns.
(Bug#32445)
2018-08-25 15:26:41 +03:00
Glenn Morris
624e7dc778 Update GNOME bugtracker URLs
* configure.ac, admin/notes/multi-tty, etc/PROBLEMS:
* src/emacs.c (main):
* src/xterm.c (x_connection_closed): Update GNOME bugtracker URLs.
; * src/gtkutil.c (xg_display_close):
; * src/image.c (svg_load_image): Update URLs in comments.
2018-08-24 13:13:08 -04:00
Paul Eggert
f882de8b80 Port better to x86 -fexcess-precision=fast
Problem reported by Eli Zaretskii in:
https://lists.gnu.org/r/emacs-devel/2018-08/msg00380.html
* src/data.c (arithcompare): Work around incompatibility
between gcc -fexcess-precision=fast and the C standard on x86,
by capturing the results of floating-point comparisons before
the excess precision spontaneously decays.  Although this fix
might not work in general, it does work here and is probably
good enough for the platforms we care about.

(cherry picked from commit a84cef9095)
2018-08-13 20:16:56 +03:00
Paul Eggert
ec0995c409 * src/alloc.c: Remove obsolete comments. 2018-08-11 12:14:49 -07:00
Eli Zaretskii
71c92d8913 Fix copying text properties by 'format'
* src/editfns.c (styled_format): Add the spec beginning index
to the info recorded for each format spec, and use it to
detect the case that a format spec and its text property end
where the next spec with another property begins.  (Bug#32404)

* test/src/editfns-tests.el (format-properties): Add tests for
bug#32404.
2018-08-09 18:08:35 +03:00
Lars Ingebrigtsen
18588bce36 Make async :family 'local failures fail correctly again
* src/fileio.c (get_file_errno_data): Refactor out into its own
function so that we can reuse the error handling from an async
context (bug#31901).

* src/process.c (connect_network_socket): When an async :family
'local client fails (with a file error, for instance), mark the
process as failed.

(cherry picked from commit 92ba34d89a)
2018-08-08 19:30:50 -04:00
Eli Zaretskii
5132a5856d Improve documentation of 'set-fontset-font'
* doc/lispref/display.texi (Fontsets): Fix description of
'set-fontset-font'.
* src/fontset.c (Fset_fontset_font): Doc fix.  (Bug#32401)
2018-08-08 18:24:45 +03:00
Eli Zaretskii
f0b8e64fb7 Avoid assertion violations in maybe_produce_line_number
* src/xdisp.c (redisplay_window): Make sure desired_matrix is
cleared before calling try_window.  This is important when
display-line-numbers is non-nil, because line-number display code
assumes each glyph row is completely cleared when it is called to
produce a line number.  (Bug#32358)
2018-08-02 16:58:44 +03:00
Eli Zaretskii
7669bf7880 Avoid assertion violations in set_text_properties_1
* src/textprop.c (set_text_properties): If the call to
modify_text_properties modifies the interval tree as side effect,
recalculate the correct interval for START and END.  (Bug#32265)
2018-08-02 16:29:54 +03:00
Eli Zaretskii
39d3e8b6bc Fix last change in 'char_width'
* src/character.c (char_width): Make sure variable C is always
initialized.  (Bug#32276)
2018-07-29 17:42:11 +03:00
Eli Zaretskii
d24c5f26bf Fix calls to modifications hooks in replace-buffer-contents
* src/editfns.c (Freplace_buffer_contents): Call the modification
hooks on the entire region where replacements could have taken
place.  The previous attempts of being more accurate just
introduced bugs.  (Bug#32278)
2018-07-27 13:04:19 +03:00
Eli Zaretskii
71a915153a * src/character.c (char_width): Support glyphs with faces. (Bug#32276) 2018-07-27 12:33:29 +03:00
Eli Zaretskii
47f75b1ba0 Fix last change in editfns.c
* src/editfns.c (Freplace_buffer_contents): Fix last change: always
call buffer modification hooks, even if nothing was deleted/inserted.
(bug#32237)
2018-07-21 22:27:33 +03:00
Eli Zaretskii
671dc5a51e Fix calls to buffer modification hooks from replace-buffer-contents
* src/editfns.c (Freplace_buffer_contents): Don't call buffer
modification hooks if nothing was deleted/inserted.  (Bug#32237)
2018-07-21 21:05:52 +03:00
Eli Zaretskii
7308fa0e2b Improve doc strings of several variables in keyboard.c
* src/keyboard.c (syms_of_keyboard) <debug-on-event>
<attempt-stack-overflow-recovery>
<attempt-orderly-shutdown-on-fatal-signal>: Make sure the first
sentence of the doc string fits on a single line.
2018-07-21 12:28:11 +03:00
Eli Zaretskii
a4767a662b Avoid assertion violations in gnutls.c
* src/gnutls.c (Fgnutls_hash_digest, gnutls_symmetric)
(Fgnutls_hash_mac): Check CONSP before invoking XCDR.  (Bug#32187)
Report values of invalid arguments when signaling an error.
2018-07-17 19:58:27 +03:00
Michael Albinus
1c862297e4 Fix format error in Faccept_process_output
* src/process.c (Faccept_process_output): Do not use format spec
"%p", it isn't valid for error().
2018-07-13 14:27:33 +02:00
Paul Eggert
b38b91a834 Lessen stack consumption in recursive read1
* src/lread.c (read1): Shrink local buffer size from
MAX_ALLOCA to 128 (Bug#31995).
2018-07-12 20:23:47 -07:00
Noam Postavsky
5cc7c4b48a Fix previous make-network-process change
* src/process.c (Fmake_network_process): On 2018-07-09 "Explicitly
reject :server and :nowait (Bug#31903)", the sense of the SERVER check
was accidentally reversed so that we ended up looking for the wrong
ADDRESS.  Reported by T.V Raman in
<https://lists.gnu.org/archive/html/emacs-devel/2018-07/msg00437.html>.
2018-07-12 19:43:00 -04:00
Michael Albinus
3744fda5fa Provide feature 'threads
* src/thread.c (syms_of_threads): Provide feature "threads".

* test/src/thread-tests.el (top): Declare the functions.
(all): Use (featurep 'threads) check.
2018-07-12 10:49:06 +02:00
Noam Postavsky
90d95b000c Explicitly reject :server and :nowait (Bug#31903)
* src/process.c (Fmake_network_process): Explicitly check for and
signal an error when passed both :server and :nowait non-nil.  In
Emacs 25, :nowait would be ignored in this case, but as of Emacs 26.1
this gives an error, albeit an unclear one.  Also remove obsolete
comment regarding configurations lacking non-blocking mode, the
corresponding code was removed in 2012-11-17 "Assume POSIX 1003.1-1988
or later for fcntl.h."
2018-07-09 19:39:03 -04:00
Paul Eggert
65889a6d12 Fix bootstrap infloop in GNU/Linux alpha
* src/emacs.c (main): Do not re-exec if EMACS_HEAP_EXEC
is already set (Bug#32083).
2018-07-08 09:04:51 -07:00
Eli Zaretskii
a427de9c86 Fix bug #11732
* src/w32fns.c (w32_wnd_proc): Fix handling of Windows input
methods.  (Bug#11732)
2018-07-07 14:30:00 +03:00
Eli Zaretskii
0dce5e5920 Speed up 'replace-buffer-contents' some more
* src/editfns.c (EXTRA_CONTEXT_FIELDS): New members beg_a and beg_b.
(Freplace_buffer_contents): Set up ctx.beg_a and ctx.beg_b.
(buffer_chars_equal): Use ctx->beg_a and ctx->beg_b instead of
calling BUF_BEGV, which is expensive.  This speeds up the recipe
in bug#31888 by 30%.
2018-07-03 22:16:20 +03:00
Martin Rudalics
4e58ca87f9 Document internal use of 'above-suspended' z-group frame parameter
* src/w32fns.c (w32_dialog_in_progress, x_set_z_group):
* src/xterm.c (x_set_z_group): Clarify the internal use of
'above-suspended' when setting a frame's 'z-group' parameter.
2018-07-01 10:22:59 +02:00
Gemini Lasswell
4bd43b0352 Increase max-lisp-eval-depth adjustment while in debugger (bug#31919)
* src/eval.c (call_debugger): Increase the amount of extra Lisp
evaluation depth given to the debugger to allow it to call cl-print.
* lisp/emacs-lisp/debug.el (debugger-setup-buffer): Add a comment
to suggest updating call_debugger when changing print-level.
2018-06-30 07:36:11 -07:00
Eli Zaretskii
ab983522a1 Improve on last change in replace-buffer-contents
* src/editfns.c (Freplace_buffer_contents): Call modification
hooks only for the actual region where changes are made.
(Bug#31888)
2018-06-30 16:50:31 +03:00
Paul Eggert
e980a3c992 * src/lisp.h: Omit obsolete comment re bytecode stack. 2018-06-29 11:15:06 -07:00
Eli Zaretskii
eec71ebdb5 Speed up replace-buffer-contents
* src/editfns.c (EXTRA_CONTEXT_FIELDS): Add a_unibyte and
b_unibyte members.
(rbc_quitcounter): New static variable.
(Freplace_buffer_contents): Initialize a_unibyte, b_unibyte, and
rbc_quitcounter.  Inhibit modification hooks if they were not
already inhibited.  Use rarely_quit to allow user to quit, to
avoid calling maybe_quit too frequently (which hurts performance).
Remove redundant assertions (which hurt performance too much).
Call signal_after_change and update_compositions after all the
changes are done.
(buffer_chars_equal): Remove redundant assertions (which hurt
performance).  Avoid using BUF_FETCH_CHAR_AS_MULTIBYTE, which
hurts performance by referencing Lisp symbols; instead, use
lower-level macros with explicit tests to select which macro to
use.  (Bug#31888)
2018-06-29 16:55:20 +03:00
Eli Zaretskii
9134c841f1 Avoid compiler warning using coding.h
* src/coding.h: Add INLINE_HEADER_BEGIN..INLINE_HEADER_END, since
this header now has an extern INLINE function.
2018-06-27 18:02:45 +03:00
Martin Rudalics
d008ef3d0b * src/xdisp.c (Vmouse_autoselect_window): Clarify doc-string (Bug#31975) 2018-06-27 09:07:59 +02:00
Paul Eggert
f43186fe28 Revert previous patch; comment was OK after all. 2018-06-24 23:46:18 -07:00
Paul Eggert
4c3306e12f Fix lead comment for count_trailing_zero_bits
* src/data.c (count_trailing_zero_bits): Fix comment to match code.
2018-06-24 23:21:23 -07:00
Eli Zaretskii
7caeef1622 * src/editfns.c (Fformat): Make %x easier to spot in doc string. (Bug#31945) 2018-06-23 15:34:14 +03:00
Eli Zaretskii
ecc29fbd5a Improve responsiveness while in 'replace-buffer-contents'
* src/editfns.c (buffer_chars_equal): Avoid calling
buf_charpos_to_bytepos when the buffer is plain-ASCII.
Suggested by Milan Stanojević <mstanojevic@janestreet.com>.
Call maybe_quit to improve responsiveness.
(Freplace_buffer_contents): Call maybe_quit.  Warn in the doc
string that the function could be slow.  (Bug#31888)
2018-06-23 14:03:10 +03:00
Eli Zaretskii
d6aa55e2b4 Avoid segfaults in replace-buffer-contents with large buffers
* src/editfns.c (Freplace_buffer_contents): Don't release
malloc'ed memory as long as we are using it.  (Bug#31888)
2018-06-22 15:57:47 +03:00
Robert Pluim
d22b8d1ad1 Adjust for scaling for mode-line popup menus (Bug#31880)
* src/xmenu.c (menu_position_func) [HAVE_GTK3]: Take scaling
into account when calculating screen size.
2018-06-22 10:02:27 +02:00
Eli Zaretskii
36737705b4 Fix vertical-motion with 'visual' line-number display
* src/indent.c (Fvertical_motion): Don't exempt 'visual' sty;e of
line-number display from X coordinate adjustments.  (Bug#31875)
2018-06-18 19:39:16 +03:00
Alan Third
48829cba21 Handle NSAttributedString inputs (bug#29837)
; Do not merge to master.

* src/nsterm.m (EmacsView::insertText): Handle NSAttributedString.
2018-06-17 11:50:58 +01:00
Philipp Stephani
0deab3fbd8 Allow inserting non-BMP characters
* src/coding.h (UTF_16_HIGH_SURROGATE_P, UTF_16_LOW_SURROGATE_P): Move
from coding.c and document.
(surrogates_to_codepoint): New function.

* src/nsterm.m (insertText:): Properly handle surrogate pairs.

(cherry picked from commit 703ac3ea1c)
2018-06-17 11:50:58 +01:00
Aaron Jensen
ebe065fddf Prevent errant scroll on mouse click (Bug#31546)
* src/nsterm.m (ns_mouse_position): Use correct frame when determining
  mouse position.
* lisp/mouse.el (mouse-drag-track): Only account for mode-line height
  if `mode-line-format' is non-nil.
2018-06-17 11:50:57 +01:00
Eli Zaretskii
22aa665c9b Reject invalid 5-byte sequences when detecting UTF-8 encoding
* src/coding.c (detect_coding_utf_8): Reject multibyte sequences
whose leading byte is greater than MAX_MULTIBYTE_LEADING_CODE.
(Bug#31829)
* src/character.h (MAX_MULTIBYTE_LEADING_CODE): Add commentary
about the connection between the value of this macro and MAX_CHAR.
2018-06-15 17:39:34 +03:00
Eli Zaretskii
0d3c35807d Fix 'replace-buffer-contents' in multibyte buffers
* src/editfns.c (buffer_chars_equal): Pass a byte position to
BUF_FETCH_CHAR_AS_MULTIBYTE, not a character position.
(Bug#31837)

* test/src/editfns-tests.el (replace-buffer-contents-bug31837):
New test.
2018-06-15 11:27:56 +03:00