aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
| * Fix redisplay when scrolling under redisplay-dont-pauseEli Zaretskii2020-04-101-0/+4
| | | | | | | | | | | | | | | | | | * src/dispnew.c (update_window): Reset the window's 'must_be_updated_p' flag if the window's update was completed without interruption. This fixes redisplay glitches when 'redisplay-dont-pause' is nil, at least on MS-Windows, because 'expose_window' doesn't redraw the exposed rectangle when the window's 'must_be_updated_p' flag is set.
| * Fix face extension in pulse.elEli Zaretskii2020-04-091-0/+3
| | | | | | | | | | | | * lisp/cedet/pulse.el (pulse-reset-face): Propagate the :extend attribute of FACE to the face used for displaying the pulse. Reported by Adam Porter <adam@alphapapa.net>.
| * * doc/misc/tramp.texi (Bug Reports): Avoid line breaks in traces.Michael Albinus2020-04-091-1/+2
| |
| * Avoid assertion violation in intervals.cEli Zaretskii2020-04-091-1/+1
| | | | | | | | | | | | | | | | | | | | * src/intervals.c (delete_interval): Allow negative values of LENGTH (i). This happens when delete_interval is called from set_intervals_multibyte_1, because the caller zeroes out the total_length field of the interval to be deleted. See https://lists.gnu.org/archive/html/emacs-devel/2020-04/msg00131.html for more details. See also a related old discussion at https://lists.gnu.org/archive/html/emacs-devel/2012-07/msg00399.html.
| * Improve documentation of 'jit-lock-contextually'Eli Zaretskii2020-04-082-9/+24
| | | | | | | | | | | | | | | | | | | | * lisp/jit-lock.el (jit-lock-contextually): Clarify the jit-lock operation when 'jit-lock-contextually' is non-nil and non-t. * doc/lispref/modes.texi (Syntactic Font Lock) (Other Font Lock Variables): Document the relation between 'jit-lock-register', 'font-lock-keywords-only', and syntactic refontification.
| * Speed up 'resize-mode' child frames a littleDmitry Gutov2020-04-081-8/+16
| | | | | | | | | | | | * src/gtkutil.c (xg_frame_set_char_size): Skip resizing if the target dimensions are unchanged for child frames with 'resize-mode' resize policy as well.
| * ; * etc/NEWS: Mention 'executing-macro' in removed vars.Eli Zaretskii2020-04-061-2/+2
| |
| * Fix some problems with moving and resizing child framesMartin Rudalics2020-04-064-25/+108
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (1) Provide new option 'x-gtk-resize-child-frames' which allows to either hide a child frame during resizing or asks GTK to resize it "immediately". This is needed because desktops like GNOME shell otherwise won't allow resizing child frames at all. (2) Do not try to synchronize the position of a child frame after moving it. Needed because the present implementation introduces a 0.5 secs delay which makes dragging child frames virtually impossible with Lucid and Motif toolkits on desktops like GNOME shell that use invisible outer frame borders. For further information see the thread starting with https://lists.gnu.org/archive/html/emacs-devel/2020-01/msg00343.html * src/frame.c (syms_of_frame): New symbol Qxg_frame_set_char_size_4. * src/gtkutil.c (xg_frame_set_char_size): Hide child frame during resizing when 'x-gtk-resize-child-frames' equals 'hide'. * src/xfns.c (x_set_parent_frame, Fx_create_frame): Set gtk_container_resize_mode to GTK_RESIZE_IMMEDIATE for child frames when'x-gtk-resize-child-frames' equals 'resize-mode'. (Fx_gtk_debug): New function to toggle interactive GTK debugging from within Emacs. (syms_of_xfns): New symbols Qhide and Qresize_mode. (x-gtk-resize-child-frames): New option that allows to resize child frames on desktops like GNOME shell (with the mutter WM) that otherwise refuse to resize them. * src/xterm.c (x_set_offset): Don't x_sync_with_move for child frames, it makes moving child frames virtually impossible with the Lucid and Motif toolkits.
* | ; * lisp/eshell/esh-var.el (eshell-variable-aliases-list): Fix wording.Eli Zaretskii2020-04-111-1/+1
| |
* | Reword documentation for eshell-variable-aliases-listFederico Tedin2020-04-111-15/+15
| | | | | | | | | | * lisp/eshell/esh-var.el (eshell-variable-aliases-list): Update documentation string to avoid passive tense.
* | * lisp/net/tramp.el (tramp-action-process-alive): Read pending output.Michael Albinus2020-04-111-0/+2
| |
* | Set last-coding-system-used upon ASCII conversion bypass (bug#40407)Mattias Engdegård2020-04-092-6/+11
| | | | | | | | | | | | | | | | Spotted by Kazuhiro Ito. * src/coding.c (code_convert_string): Set Vlast_coding_system if appropriate. * test/src/coding-tests.el (coding-nocopy-ascii): Add test.
* | Fix display of boxed header-lineEli Zaretskii2020-04-091-1/+4
| | | | | | | | | | * src/xdisp.c (init_iterator): Set IT->face_box_p flag for a boxed mode/header/tab line. (Bug#40521)
* | Fix ASCII-only conversion logic (bug#40407)Mattias Engdegård2020-04-092-41/+38
| | | | | | | | | | | | | | | | | | | | | | To sidestep conversion altogether when EOL conversion applies, we must either be encoding a string without NL, or decoding without CR. * src/coding.c (string_ascii_p): Revert to a pure predicate. (code_convert_string): Fix logic. Don't use uninitialised ascii_p (removed). Use memchr to detect CR or LF in string when needed. * test/src/coding-tests.el (coding-nocopy-ascii): Update tests to include encodings with explicit EOL conversions.
* | chinese-hz is not ASCII compatible (bug#40407)Mattias Engdegård2020-04-092-0/+8
| | | | | | | | | | * lisp/language/chinese.el: Disable :ascii-compatible-p for chinese-hz. * test/lisp/international/mule-tests.el (mule-hz): New test.
* | Don't crash with invalid argument in check-coding-systems-regionMattias Engdegård2020-04-092-1/+12
| | | | | | | | | | | | | | * src/coding.c (Fcheck_coding_systems_region): Don't crash if the third arg contains something that isn't a coding system. * test/src/coding-tests.el (coding-check-coding-systems-region): New test.
* | Don't rely on copying in {EN,DE}CODE_FILEMattias Engdegård2020-04-092-3/+3
| | | | | | | | | | | | | | | | | | | | Callers of ENCODE_FILE and DECODE_FILE should not assume that these functions always return a new string (bug#40407). * src/w32fns.c (Fw32_shell_execute): * src/w32proc.c (Fw32_application_type): Sink taking the address of a Lisp string past GC points. Copy values returned from ENCODE_FILE before mutating them.
* | Fix decoding of ASCII strings with embedded CR charactersEli Zaretskii2020-04-091-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | * src/coding.c (string_ascii_p): Return a negative value if an all-ASCII string STR includes the CR character, otherwise a positive value. (code_convert_string): If the string is ASCII, but includes CR characters, use the fast path only if EOL doesn't need to be decoded. (Bug#40519) * test/src/coding-tests.el (coding-nocopy-ascii): Add more tests for bug#40519.
* | Fix decoding ASCII strings with embedded CR charactersEli Zaretskii2020-04-092-11/+43
| | | | | | | | | | | | | | | | | | | | | | | | * src/coding.c (string_ascii_p): Return a negative value if an all-ASCII string STR includes the CR character, otherwise a positive value. (code_convert_string): If the string is ASCII, but includes CR characters, use the fast path only if EOL doesn't need to be decoded. (Bug#40519) * test/src/coding-tests.el (coding-nocopy-ascii): Add tests for bug#40519.
* | ; * lisp/international/mule-conf.el: Minor comment wording fix.Eli Zaretskii2020-04-081-2/+3
| |
* | Support character composition for Hangul jamoEli Zaretskii2020-04-081-0/+12
| | | | | | | | | | * lisp/language/korean.el: Add composition rules for conjoining Hangul jamo. (Bug#40502)
* | Revert my KEY_OPS_CFLAGS change to src/Makefile.inPaul Eggert2020-04-071-5/+2
| | | | | | | | | | | | | | | | Now that -Og inlining has been improved this is no longer helpful. * src/Makefile.in (KEY_OPS_CFLAGS): Remove. All uses removed. This improved CPU performance of ‘make compile-always’ by 5% on my platform, which was gcc -Og, GCC 9.3.1 20200317 (Red Hat 9.3.1-1), Fedora 31 x86-64 (AMD Phenom II X4 910e, circa 2010).
* | Improve inlining when compiling with -OgPaul Eggert2020-04-071-5/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * src/conf_post.h (EXTERN_INLINE) [!EMACS_EXTERN_INLINE]: Make it static inline, not merely static. This is a worthwhile performance improvement on my two platforms A and B (see below). On my platform A this change improves user+system CPU performance of ‘make compile-always’ by 52% on an -Og build, and by 1.4% on the default -O2 build. On my platform B this improves the same benchmark by 41% on an -Og build, and by -0.8% on the default -O2 build. That "-0.8%" is a small negative for this change, and I recall that it is why I didn't make this change earlier. However, Platform B uses an older GCC so we needn't worry overmuch about this small negative. With this change the performance advantage of -O2 over -Og has dropped on platform A; formerly -O2 was 87% faster than -Og, and now it is only 25% faster. On platform B the performance advantage of -O2 over -Og has dropped from being 62% faster to being 14% faster. Platform A is GCC 9.3.1 20200317 (Red Hat 9.3.1-1) on Fedora 31 x86-64 (AMD Phenom II X4 910e, circa 2010). Platform B is GCC (Ubuntu 7.5.0-3ubuntu1~18.04) 7.5.0 on Ubuntu 18.04.4 (Intel Xeon E3-1225 V2, circa 2012). This patch was inspired by a suggestion by Andrea Corallo in: https://lists.gnu.org/r/emacs-devel/2020-04/msg00263.html
* | Add :coding support to open-network-stream and open-gnutls-streamRobert Pluim2020-04-075-8/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * doc/lispref/processes.texi (Network): Describe :coding keyword support. * doc/misc/emacs-gnutls.texi (Help For Developers): Describe :coding keyword support. * etc/NEWS: Announce change to open-network-stream and open-gnutls-stream. * lisp/net/gnutls.el (open-gnutls-stream): Add support for :coding, pass it down to open-network-stream. * lisp/net/network-stream.el (open-network-stream) (network-stream-open-plain, network-stream-open-starttls): Add support for :coding, pass it down to make-network-process. (network-stream-open-shell): Add support-for :coding, use set-process-coding-system to set it after process creation.
* | Use length field when dns-query is using TCPRobert Pluim2020-04-071-13/+17
| | | | | | | | | | | | | | * net/dns.el (dns-write): Correct spelling in docstring. (dns-read): Add optional tcp-p parameter, skip 2-byte length field if non-nil. (dns-query): Tell dns-read and dns-write if we're using TCP.
* | utf-7 and utf-7-imap are not ASCII-compatible (bug#40407)Mattias Engdegård2020-04-062-0/+23
| | | | | | | | | | | | | | * lisp/international/mule-conf.el (utf-7, utf-7-imap): Add expedient to disable the :ascii-compatible-p property set automatically by define-coding-system. * test/lisp/international/mule-tests.el (mule-utf-7): New test.
* | Pacify gcc in xpm_scanPaul Eggert2020-04-061-2/+3
| | | | | | | | | | * src/image.c (xpm_scan): Redo a loop for clarity. This also pacifies --enable-gcc-warnings (GCC 9.3.1 x86-64 with -Og).
* | Fix case that $PATH is longer than 4096 chars in TrampMichael Albinus2020-04-062-56/+47
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/net/tramp-sh.el (tramp-set-remote-path): Use `tramp-send-command' directly. * test/lisp/net/tramp-tests.el (tramp-test-vec): New defconst. (tramp--test-enabled, tramp--test-message) (tramp--test-backtrace, tramp-test03-file-name-host-rules) (tramp-test18-file-attributes, tramp-test20-file-modes) (tramp-test26-file-name-completion) (tramp-test33-environment-variables, tramp-test35-remote-path) (tramp-test36-vc-registered, ) (tramp-test43-asynchronous-requests): Use it. (tramp-test29-start-file-process, tramp-test30-make-process) (tramp-test33-environment-variables): Remove Hydra specific result. (tramp-test35-remote-path): Rewrite partially.
* | Unify and improve gdb-mi source buffer display logicYuan Fu2020-04-064-26/+77
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Unify the behavior of source buffer display for gdb-mi. Before this change, stepping and other gdb command handlers use 'gud-display-line', and 'gdb-goto-breakpoint' uses 'gdb-display-source-buffer'. Now whenever gdb-mi code tries to open a source buffer, 'gdb-display-source-buffer' is used. Also, simplify the logic in 'gdb-display-source-buffer' and add a feature to limit the maximum number of source windows. * doc/emacs/building.texi (GDB User Interface Layout): Explain source file display in GDB. * etc/NEWS (gdb-mi): Add news about source display. * lisp/progmodes/gdb-mi.el (gdb-source-window): Remove variable, change to 'gdb-source-window-list'. (gdb-source-window-list): New variable. (gdb-display-source-buffer-action, gdb-max-source-window-count): New options. (gdb-init-1, gdb-setup-windows, gdb-load-window-configuration, gdb-restore-windows): Use 'gdb-source-window' rather than 'gdb-source-window-list'. (gdb-save-window-configuration): Use 'gdb-source-window' rather than 'gdb-source-window-list'. And consider any buffer that is not a command or function buffer as a source buffer. (gdb-display-source-buffer): Use new logic. (gdb-goto-breakpoint): Remove 'display-buffer' call and don't set 'gdb-source-buffer' anymore. * lisp/progmodes/gud.el (gud-display-line): If used by gdb-mi, use 'gdb-display-source-buffer' rather than 'display-buffer'. Don't set 'gdb-source-buffer' anymore.
* | Fix problems when dragging frames with the mouseMartin Rudalics2020-04-061-234/+292
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Re-implement 'mouse-drag-frame' via two new functions - 'mouse-drag-frame-resize' and 'mouse-drag-frame-move'. This is needed because with some toolkits the notifications for frame movement and resizing arrive asynchronously, breaking any calculations using intermediate frame sizes and positions. * lisp/mouse.el (mouse-drag-mode-line, mouse-drag-left-edge) (mouse-drag-top-left-corner, mouse-drag-top-edge) (mouse-drag-top-right-corner, mouse-drag-right-edge) (mouse-drag-bottom-right-corner, mouse-drag-bottom-edge) (mouse-drag-bottom-left-corner): Call 'mouse-drag-frame-resize' instead of 'mouse-drag-frame'. (mouse-drag-frame): Split into two new functions - 'mouse-drag-frame-move' and 'mouse-drag-frame-resize'. (mouse-drag-frame-resize, mouse-drag-frame-move): New functions to implement functionality of the removed 'mouse-drag-frame'.
* | * src/coding.c (code_convert_string): Fix type mismatches.Paul Eggert2020-04-051-2/+2
| |
* | Fix a recent change in bignum.cEli Zaretskii2020-04-051-1/+1
| | | | | | | | | | * src/bignum.c (check_int_nonnegative): Fix a recent change. Reported by Glenn Morris <rgm@gnu.org>.
* | Fix thinko in tramp-cache.elMichael Albinus2020-04-051-3/+3
| | | | | | | | | | | | * lisp/net/tramp-cache.el (tramp-set-connection-property) (tramp-flush-connection-property) (tramp-flush-connection-properties): Use `tramp-file-name-p'.
* | Merge from origin/emacs-27Glenn Morris2020-04-059-25/+54
|\ \ | |/ | | | | | | | | | | | | | | | | | | 6de20c7eab (origin/emacs-27) Fix syntax error in man page. f8607d3c03 Handle filling of indented ChangeLog function entries 7e78f0d1b2 Fix void-variable n-reb in re-builder (Bug#40409) 452d776a5d Fix small bug in copy_string_contents. fa823653ff Fix invocations of gpg from Gnus d4f51d0a2e Don't draw GTK's internal border and tab bar on top of eac... 38731d504e ; * src/buffer.c (syms_of_buffer) <inhibit-read-only>: Doc... 44ac9e48bb Tweak htmlfontify's generated output
| * Fix syntax error in man page.Philipp Stephani2020-04-051-1/+1
| | | | | | | | | | | | * doc/man/emacs.1.in: Fix syntax of --script argument. The Info manual states that --script has to be followed by a space, and the syntax with the equals sign doesn't actually work.
| * Handle filling of indented ChangeLog function entriesNoam Postavsky2020-04-042-1/+26
| | | | | | | | | | | | * lisp/vc/log-edit.el (log-edit-fill-entry): Relax regexp a bit to recognize function entries with leading blanks. * test/lisp/vc/log-edit-tests.el: New test.
| * Fix void-variable n-reb in re-builder (Bug#40409)Noam Postavsky2020-04-041-9/+8
| | | | | | | | | | | | | | * lisp/emacs-lisp/re-builder.el (reb-while): Take the current value of the counter instead of its name. (reb-mark-non-matching-parenthesis): Bind n-reb to 0 at the start and don't wrongly treat it as dynamicly bound.
| * Fix small bug in copy_string_contents.Philipp Stephani2020-04-031-1/+1
| | | | | | | | | | | | * src/emacs-module.c (module_copy_string_contents): Fix incorrect variable use. In this branch 'lisp_str_utf8' is always nil, so it makes little sense to add it as error data.
| * Fix invocations of gpg from GnusEli Zaretskii2020-04-031-4/+12
| | | | | | | | | | | | | | * lisp/epg-config.el (epg-config--make-gpg-configuration): Bind coding-system-for-read/write to 'undecided', to countermand possible values of 'no-conversion' or somesuch by the callers. (Bug#40248)
| * Don't draw GTK's internal border and tab bar on top of each otherMartin Rudalics2020-04-031-4/+0
| | | | | | | | | | | | * src/xterm.c (x_clear_under_internal_border): For GTK builds have 'margin' count in the height of the tab bar to avoid that tab bar and internal border are drawn on top of each other.
| * ; * src/buffer.c (syms_of_buffer) <inhibit-read-only>: Doc fix.Eli Zaretskii2020-04-031-4/+4
| |
| * Tweak htmlfontify's generated outputAmin Bandali2020-04-021-1/+2
| | | | | | | | | | | | | | | | | | | | * lisp/htmlfontify.el (hfy-default-header): declare the character encoding for the generated HTML file. This helps browsers display UTF-8 characters like the copyright symbol correctly. (hfy-sprintf-stylesheet): apply the default style to all of the text consistently, so that unstyled bits (which are not wrapped in span tags and are directly part of the surrounding pre tag's "innerHTML") have a look consistent with the rest of the document.
* | ; Merge from origin/emacs-27Glenn Morris2020-04-050-0/+0
|\ \ | |/ | | | | | | | | The following commit was skipped: b2f2d0d2c4 (emacs-27) ; Auto-commit of loaddefs files.
| * ; Auto-commit of loaddefs files.Glenn Morris2020-04-011-15/+18
| |
* | Merge from origin/emacs-27Glenn Morris2020-04-053-5/+12
|\ \ | |/ | | | | | | ac3da1dd96 Handle project--files-in-directory finding no files better 650a664ccd Let imenu to work on the menu bar when its list is a singl...
| * Handle project--files-in-directory finding no files betterDmitry Gutov2020-03-302-0/+3
| | | | | | | | | | | | | | | | * lisp/progmodes/project.el (project--find-regexp-in-files): Signal user-error when passed an empty list of files. * lisp/progmodes/xref.el (xref-matches-in-files): Make sure FILES is not empty.
| * Let imenu to work on the menu bar when its list is a single non-nested member.Alan Mackenzie2020-03-301-5/+9
| | | | | | | | | | | | * lisp/imenu.el (imenu-update-menubar): No longer accept a list of length 1 as being sufficient evidence for a nested list structure. Instead, additionally check whether or not certain elements are atoms.
* | * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Avoid known cl-defsubst breakageStefan Monnier2020-04-051-3/+15
| |
* | Avoid expensive recoding for ASCII identity cases (bug#40407)Mattias Engdegård2020-04-052-1/+37
| | | | | | | | | | | | | | | | | | | | Optimise for the common case of encoding or decoding an ASCII-only string using an ASCII-compatible coding, for file names in particular. * src/coding.c (string_ascii_p): New function. (code_convert_string): Return the input string for ASCII-only inputs and ASCII-compatible codings. * test/src/coding-tests.el (coding-nocopy-ascii): New test.
* | Suppress relint diagnostics in rx-tests.elMattias Engdegård2020-04-051-0/+6
| | | | | | | | | | * test/lisp/emacs-lisp/rx-tests.el (rx-char-any, rx-any): Suppress relint complaints; these regexps are intentionally bad.