aboutsummaryrefslogtreecommitdiffstats
path: root/src (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
| * Fix bug #11732Eli Zaretskii2018-07-071-7/+7
| | | | | | | | | | * src/w32fns.c (w32_wnd_proc): Fix handling of Windows input methods. (Bug#11732)
| * Speed up 'replace-buffer-contents' some moreEli Zaretskii2018-07-031-2/+7
| | | | | | | | | | | | | | | | * 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%.
* | Keep interactive uses of 'recenter' backward compatible (Bug#31325)John Shahid2018-07-071-2/+2
| | | | | | | | | | | | | | | | | | * window.c (Frecenter): Change the interactive spec to always pass a non-nil value to the REDISPLAY argument when called interactively. * window.el (recenter-top-bottom): Make sure 'recenter's second argument is non-nil everywhere. * windows.texi (Textual Scrolling): Update documentation of 'recenter'.
* | Fix recent change in window.cEli Zaretskii2018-07-071-3/+8
| | | | | | | | | | | | * src/window.c (scroll_command): Fix minor inefficiency in last change: don't call Fset_buffer if the buffer is already set to be what we want. (Bug#31988)
* | Fix scrollingBasil L. Contovounesios2018-07-061-1/+1
| | | | | | | | * src/window.c (scroll_command): Fix scrolling.
* | Fix typo in --with-x-toolkit=no codePaul Eggert2018-07-031-1/+1
| | | | | | | | | | * src/xmenu.c (pop_down_menu) [!USE_X_TOOLKIT && !USE_GTK]: Fix type typo introduced by 2018-06-14T22:59:08!eggert@cs.ucla.edu.
* | Merge from origin/emacs-26Glenn Morris2018-07-026-39/+116
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | fc5cae7 ; Fix ChangeLog typo. e17a5e5 ; make change-history-commit f205928 * etc/HISTORY: Cite Brinkoff on early history. 4e58ca8 Document internal use of 'above-suspended' z-group frame para... 4bd43b0 Increase max-lisp-eval-depth adjustment while in debugger (bu... ab98352 Improve on last change in replace-buffer-contents 2f149c0 Fix a factual error in Introduction to Emacs Lisp 8ad50a3 ; * lisp/files.el (buffer-offer-save): Doc fix. (Bug#32000) c80f31f Minor improvements in documentation of imenu.el 8ebb683 Avoid errors with recentering in 'skeleton-insert' e980a3c * src/lisp.h: Omit obsolete comment re bytecode stack. eec71eb Speed up replace-buffer-contents 93c41ce Remove extra process call from vc-git-find-file-hook 7ea0873 ; Update some commentary 4a7f423 Speed up vc-git-dir-status-files 9134c84 Avoid compiler warning using coding.h Conflicts: src/editfns.c
| * Document internal use of 'above-suspended' z-group frame parameterMartin Rudalics2018-07-012-1/+25
| | | | | | | | | | | | * 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.
| * Increase max-lisp-eval-depth adjustment while in debugger (bug#31919)Gemini Lasswell2018-06-301-2/+6
| | | | | | | | | | | | | | * 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.
| * Improve on last change in replace-buffer-contentsEli Zaretskii2018-06-301-3/+16
| | | | | | | | | | | | * src/editfns.c (Freplace_buffer_contents): Call modification hooks only for the actual region where changes are made. (Bug#31888)
| * * src/lisp.h: Omit obsolete comment re bytecode stack.Paul Eggert2018-06-291-10/+8
| |
| * Speed up replace-buffer-contentsEli Zaretskii2018-06-291-25/+58
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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)
| * Avoid compiler warning using coding.hEli Zaretskii2018-06-271-0/+4
| | | | | | | | | | * src/coding.h: Add INLINE_HEADER_BEGIN..INLINE_HEADER_END, since this header now has an extern INLINE function.
* | Merge from origin/emacs-26Glenn Morris2018-07-021-2/+4
|\ \ | |/ | | | | | | d008ef3 * src/xdisp.c (Vmouse_autoselect_window): Clarify doc-string ... 6f6d525 Detect a non-list package archive content properly (Bug#22311)
| * * src/xdisp.c (Vmouse_autoselect_window): Clarify doc-string (Bug#31975)Martin Rudalics2018-06-271-2/+4
| |
| * Revert previous patch; comment was OK after all.Paul Eggert2018-06-241-2/+2
| |
| * Fix lead comment for count_trailing_zero_bitsPaul Eggert2018-06-241-2/+2
| | | | | | | | * src/data.c (count_trailing_zero_bits): Fix comment to match code.
* | Fix last changeEli Zaretskii2018-07-011-1/+1
| | | | | | | | | | | | | | | | | | * src/w32console.c (Fset_screen_color): Call Frecenter with 2 arguments. (Bug#31325) * etc/NEWS: * doc/lispref/windows.texi (Textual Scrolling): Clarify the role of the second argument to 'recenter'.
* | Add a new argument to 'recenter' to allow finer control of redisplayJohn Shahid2018-07-011-9/+11
| | | | | | | | | | | | | | | | | | * window.c (recenter): Add a new REDISPLAY argument to allow the caller to control the redisplay behavior. 'recenter' will only redisplay the frame if this new arg and 'recenter-redisplay' are both non-nil. (recenter-top-bottom): Pass an extra non-nil argument to 'recenter' to force a redisplay. (Bug#31325)
* | Speed up reading sub-process output on MS-WindowsEli Zaretskii2018-06-302-13/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | * src/w32proc.c (syms_of_ntproc) <w32-pipe-read-delay>: Set to zero. For the details, see this discussion: http://lists.gnu.org/archive/html/emacs-devel/2018-06/msg00711.html. * src/w32.c (_sys_read_ahead): Update the commentary for w32-pipe-read-delay usage. * doc/emacs/msdos.texi (Windows Processes): Document w32-pipe-read-delay. * etc/NEWS: Mention the change of the value of w32-pipe-read-delay.
* | Speed-up let-binding of automatically-local variablesEli Zaretskii2018-06-301-4/+14
| | | | | | | | | | | | | | * src/data.c (set_default_internal): Use FOR_EACH_LIVE_BUFFER when binding variables that don't nominally have a local value, to avoid slowing down due to a large number of dead buffers. (Bug#18522) (Bug#31853)
* | unbind_to performance tuningPaul Eggert2018-06-2915-56/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * src/alloc.c (which_symbols): * src/dispnew.c (Fredisplay): * src/editfns.c (Fsubst_char_in_region): * src/fileio.c (Fdo_auto_save): * src/indent.c (Fvertical_motion): * src/keymap.c (Fcurrent_active_maps): * src/lread.c (Feval_buffer): * src/minibuf.c (get_minibuffer): * src/sysdep.c (system_process_attributes): * src/textprop.c (Fnext_single_char_property_change) (Fprevious_single_char_property_change): * src/window.c (Fscroll_other_window, Fscroll_other_window_down): * src/xdisp.c (Fformat_mode_line): Help the compiler eliminate tail recursion in call to unbind_to. * src/coding.c (decode_coding_gap): Omit unnecessary unbind_to, as we’re about to call unbind_to anyway. * src/coding.c (Fread_coding_system): * src/eval.c (eval_sub): * src/xdisp.c (handle_single_display_spec, decode_mode_spec): * src/xselect.c (x_get_local_selection): Avoid need to save a machine register when calling unbind_to. * src/minibuf.c (Ftry_completion, Fall_completions): Omit unnecessary assignment.
* | * src/lisp.h: Add comment (Bug#31996#25).Paul Eggert2018-06-291-0/+2
| |
* | Fix recently-introduced SAFE_FREE bugPaul Eggert2018-06-281-5/+11
| | | | | | | | | | | | | | | | | | Problem reported by Andy Moreton (Bug#31996). * src/lisp.h (union specbinding.unwind_array): Remove unused member func. Move array after nelts, as this is likely to generate more efficient code in safe_free, which can call xfree with the same value either way. (safe_free): Also handle SPECPDL_UNWIND_AWAY.
* | Tune SAFE_FREEPaul Eggert2018-06-2813-44/+51
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On my platform (Fedora 28 x86-64, AMD Phenom II X4 910e) this sped up a SAFE_FREE-using microbenchmark (string-distance "abc" "abc") by about 18%, and shrank the Emacs text size by about 0.1%. * src/callint.c (Fcall_interactively): * src/callproc.c (call_process): * src/doc.c (get_doc_string, Fsnarf_documentation): * src/editfns.c (Freplace_buffer_contents): * src/emacs-module.c (funcall_module): * src/eval.c (Flet): * src/process.c (Fmake_process): * src/term.c (tty_menu_show): * src/xdisp.c (safe__call): * src/xmenu.c (x_menu_show): Use SAFE_FREE_UNBIND_TO. * src/data.c (wrong_choice): No need to call SAFE_FREE here. * src/lisp.h (USE_SAFE_ALLOCA): * src/regex.c (REGEX_USE_SAFE_ALLOCA): Do not declare sa_must_free local; no longer needed. All uses removed. (SAFE_FREE): Rewrite in terms of safe_free. (safe_free): New function, optimized to use xfree. (SAFE_FREE_UNBIND_TO): New macro. (safe_free_unbind_to): New function.
* | (format "%d" F) now truncates floating FPaul Eggert2018-06-253-9/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | Problem reported by Paul Pogonyshev (Bug#31938). * src/editfns.c: Include math.h, for trunc. (styled_format): For %d, truncate floating-point numbers and convert -0 to 0, going back to how Emacs 26 did things. * doc/lispref/strings.texi (Formatting Strings): Document behavior of %o, %d, %x, %X on floating-point numbers. * src/floatfns.c (trunc) [!HAVE_TRUNC]: Rename from emacs_trunc and make it an extern function, so that editfns.c can use it. All callers changed. * test/src/editfns-tests.el (format-%d-float): New test.
* | Clean up redundant code from previous checkinsLars Ingebrigtsen2018-06-251-1/+0
| | | | | | | | | | | | * src/gnutls.c (gnutls_verify_boot): Remove reduntant setting of p->gnutls_certificates, which is now performed by gnutls_deinit_certificates.
* | Don't use XCAR in possibly-nil situationsLars Ingebrigtsen2018-06-251-1/+1
| | | | | | | | | | * src/gnutls.c (Fgnutls_peer_status): certs theoretically may be nil, so don't use XCAR.
* | Tweak previous gnutls change for efficiencyLars Ingebrigtsen2018-06-241-6/+4
| | | | | | | | | | * src/gnutls.c (Fgnutls_peer_status): Minor optimisation to avoid computing the topmost certificate twice.
* | Return the entire TLS certificate chain back to the callerLars Ingebrigtsen2018-06-242-34/+77
| | | | | | | | | | | | | | | | | | | | | | | | * src/gnutls.c (gnutls_deinit_certificates): New function. (Fgnutls_peer_status): Return all certificates in the chain back to Lisp land. (gnutls_verify_boot): Compute all the x509 certificates in the chain. * src/process.h (struct Lisp_Process): Adjust gnutls fields so that we can keep tracks of all certificates in the chain instead of just the host certificate.
* | Merge from origin/emacs-26Glenn Morris2018-06-231-8/+22
|\ \ | |/ | | | | | | | | | | | | | | bbc9d37 (origin/emacs-26) Fix previous change in minibuffer-default-a... 7caeef1 * src/editfns.c (Fformat): Make %x easier to spot in doc stri... ecc29fb Improve responsiveness while in 'replace-buffer-contents' 8182d64 Improve documentation of 'server-start' and friends decdfed Clarify wording about functions' argument lists 5abac8b * lisp/doc-view.el: Fix typos in the commentary. (Bug#31937)
| * * src/editfns.c (Fformat): Make %x easier to spot in doc string. (Bug#31945)Eli Zaretskii2018-06-231-1/+2
| |
| * Improve responsiveness while in 'replace-buffer-contents'Eli Zaretskii2018-06-231-7/+20
| | | | | | | | | | | | | | | | | | * 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)
* | Merge from origin/emacs-26Glenn Morris2018-06-232-3/+19
|\ \ | |/ | | | | | | | | | | | | | | | | 5cb3991 Fix a typo in emacs-lisp-intro.texi d6aa55e Avoid segfaults in replace-buffer-contents with large buffers d22b8d1 Adjust for scaling for mode-line popup menus (Bug#31880) 3d2e3dc Change name of `seqp' argument (Bug#26411) 40e1db8 Change index of ";" to better reflect it's usage (Bug#31623) d289e7e Fix bug of 'mouse-drag-and-drop-region' to detect edges of re... e292c09 Fix #'fun handling inside `labels' (Bug#31792)
| * Avoid segfaults in replace-buffer-contents with large buffersEli Zaretskii2018-06-221-2/+3
| | | | | | | | | | * src/editfns.c (Freplace_buffer_contents): Don't release malloc'ed memory as long as we are using it. (Bug#31888)
| * Adjust for scaling for mode-line popup menus (Bug#31880)Robert Pluim2018-06-221-1/+16
| | | | | | | | | | * src/xmenu.c (menu_position_func) [HAVE_GTK3]: Take scaling into account when calculating screen size.
* | Remove broken icon from tooltip (Bug#31884)memeplex2018-06-211-1/+1
| | | | | | | | | | * src/gtkutil.c (xg_show_tooltip): Call gtk_widget_show instead of gtk_widget_show_all, the latter displays an extra placeholder icon.
* | Merge from origin/emacs-26Glenn Morris2018-06-181-2/+1
|\ \ | |/ | | | | | | 3673770 (origin/emacs-26) Fix vertical-motion with 'visual' line-numb... d8bff53 ; CONTRIBUTE: Add a couple of nits.
| * Fix vertical-motion with 'visual' line-number displayEli Zaretskii2018-06-181-2/+1
| | | | | | | | | | * src/indent.c (Fvertical_motion): Don't exempt 'visual' sty;e of line-number display from X coordinate adjustments. (Bug#31875)
| * Handle NSAttributedString inputs (bug#29837)Alan Third2018-06-171-2/+9
| | | | | | | | | | | | ; Do not merge to master. * src/nsterm.m (EmacsView::insertText): Handle NSAttributedString.
| * Allow inserting non-BMP charactersPhilipp Stephani2018-06-173-13/+43
| | | | | | | | | | | | | | | | | | | | * 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 703ac3ea1c1ce381f385469a0e88bc29d3fe83c2)
* | Merge from origin/emacs-26Glenn Morris2018-06-181-1/+1
|\ \ | |/ | | | | | | | | ebe065f Prevent errant scroll on mouse click (Bug#31546) ffd2018 Minor documentation fix cf4dc95 * lisp/window.el (window-toggle-side-windows): Doc fix. (Bug...
| * Prevent errant scroll on mouse click (Bug#31546)Aaron Jensen2018-06-171-1/+1
| | | | | | | | | | | | | | * 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.
* | Merge from origin/emacs-26Glenn Morris2018-06-183-4/+17
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | 63ba73a Fix documentation of ':propertize' in mode-line-format 22aa665 Reject invalid 5-byte sequences when detecting UTF-8 encoding 0d3c358 Fix 'replace-buffer-contents' in multibyte buffers c79a627 Update etc/NEWS for mail-source-movemail-program change 63f1dc4 Improve movemail default 0b1a2ae Delete description of deleted Customize functions fcd66d0 Keep vc-print-log from putting point at buffer end (Bug#31764) Conflicts: etc/NEWS
| * Reject invalid 5-byte sequences when detecting UTF-8 encodingEli Zaretskii2018-06-152-2/+6
| | | | | | | | | | | | | | | | * 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.
| * Fix 'replace-buffer-contents' in multibyte buffersEli Zaretskii2018-06-151-2/+11
| | | | | | | | | | | | | | | | | | * 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.
* | Merge from origin/emacs-26Glenn Morris2018-06-181-2/+3
|\ \ | |/ | | | | | | | | | | | | | | | | 5bdc344 ; Reduce quoting for SELECTOR in 'make -C test' (Bug#31744) b6b793b ; test/Makefile.in: Add TEST_INTERACTIVE option (Bug#31744). 1aa906f Make 'tags' targets respect --with-silent-rules (Bug#31744) Conflicts: test/Makefile.in test/README
| * Make 'tags' targets respect --with-silent-rules (Bug#31744)Noam Postavsky2018-06-121-2/+3
| | | | | | | | | | | | | | * lwlib/Makefile.in (TAGS): * lisp/Makefile.in (TAGS): * src/Makefile.in (TAGS): Use AM_V_GEN and AM_V_at. * src/Makefile.in: Note that TAGS are generated in build dir.
* | Restore old echo_truncate conditionDaniel Colascione2018-06-161-5/+1
| | | | | | | | | | * src/keyboard.c (read_key_sequence): Restore old echo_truncate condition.
* | Make regex matching reentrant; update syntax during matchDaniel Colascione2018-06-166-417/+446
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * src/lisp.h (compile_pattern): Remove prototype of now-internal function. * src/regex.c (POS_AS_IN_BUFFER): Consult gl_state instead of re_match_object: the latter can change in Lisp. (re_match_2_internal): Switch back to UPDATE_SYNTAX_* FROM UPDATE_SYNTAX_FAST*, allowing calls into Lisp. * src/regex.h (re_match_object): Uncomment declaration. * src/search.c (struct regexp_cache): Add `busy' field. (thaw_buffer_relocation): Delete; rely on unbind. (compile_pattern_1): Assert pattern isn't busy. (shrink_regexp_cache): Don't shrink busy patterns. (clear_regexp_cache): Don't nuke busy patterns. (unfreeze_pattern, freeze_pattern): New functions. (compile_pattern): Return a regexp_cache pointer instead of the re_pattern_buffer, allowing callers to use `freeze_pattern' if needed. Do not consider busy patterns as cache hit candidates; error if we run out of non-busy cache entries. (looking_at_1, fast_looking_at): Snapshot Vinhibit_changing_match_data; mark pattern busy while we're matching it; unbind. (string_match_1, fast_string_match_internal) (fast_c_string_match_ignore_case): Adjust for compile_pattern return type. (search_buffer_re): Regex code from old search_buffer moved here; snapshot Vinhibit_changing_match_data; mark pattern busy while we're matching it; unbind. (search_buffer_non_re): Non-regex code from old search_buffer moved here. (search_buffer): Split into search_buffer_re, search_buffer_non_re. (syms_of_search): Staticpro re_match_object, even though we really shouldn't have to. * src/syntax.h (UPDATE_SYNTAX_TABLE_FORWARD_FAST): (UPDATE_SYNTAX_TABLE_FAST): Remove. * src/thread.h (struct thread_state): Remove m_re_match_object, which is global again. (It never needs to be preserved across thread switch.)