1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-06 03:40:56 -08:00
Commit graph

136289 commits

Author SHA1 Message Date
Alexander Gramiak
6bfc5fc6c4 Remove display member of glyph_string
This member has little value even on X, and it leaks internal backend
details to the glyph_string struct.

* src/dispextern.h (glyph_string): Remove X display member.

* src/xdisp.c (init_glyph_string): Remove initialization of display.

* src/xfont.c (xfont_draw):
* src/xterm.c: Use FRAME_X_DISPLAY (s->f) instead of display member.
2019-05-10 17:26:12 -06:00
Stefan Monnier
655634808a * lisp/help.el (help--read-key-sequence): Handle `switch-frame' events
If you do `C-h k ... mouse-1 in other frame` (at least if you have a focus
that follows the mouse), then additionally to the down-mouse-1 and mouse-1
events, a `switch-frame` event (and `select-window` event as well sometimes)
is generated.  When `read-key-sequence` is called with nil for
`can-return-switch-frame`, this event is not returned but kept for later,
which causes a subsequent `sit-for` to return nil immediately.
This interfered without our "wait for double-click" which in turn prevented
us from stopping after the mouse-1 click, getting stuck waiting for something
else instead.

(help--read-key-sequence): Pass a non-nil `can-return-switch-frame`, so the
subsequent `sit-for` returns more trustworthy information.
2019-05-10 08:51:39 -04:00
Michael Albinus
e8709e7900 Handle subdomains in Tramp ad-hoc proxies
* lisp/net/tramp-sh.el (tramp-compute-multi-hops): Add proper
regexps to `tramp-default-proxies-alist'.
2019-05-10 14:48:07 +02:00
Noam Postavsky
510aa7505f Stop using message-default-charset (Bug#35370)
In 2016-02-14 "Remove compat code for older Emacsen",
message-default-charset was obsoleted, and a couple of uses were
removed, but others were left behind.
* lisp/gnus/message.el (message-send-mail)
(message-send-news, message-do-fcc)
(message-encode-message-body):
* lisp/gnus/mml.el (mml-to-mime): Stop using message-default-charset.
2019-05-10 06:41:59 -04:00
Alan Mackenzie
8ce5e37ce8 Optimize CC Mode a bit for repetitive insertion and replace-regexp
This is mainly by enhancing a parse-partial-sexp cache to retain recently
calculated values.  Also, there are several miscellaneous optimizations and
bug fixes.

* lisp/progmodes/cc-engine.el (c-state-semi-nonlit-near-cache): New buffer
local variable.
(c-state-semi-trim-near-cache, c-state-semi-get-near-cache-entry)
(c-state-semi-put-near-cache-entry, c-state-semi-trim-cache): New functions.
(c-state-semi-pp-to-literal, c-state-full-pp-to-literal): Use the new "near"
cache.
(c-parse-ps-state-below): Use the new function c-state-semi-trim-cache.
(c-before-change-check-<>-operators): Check simply for < or > in the
neighbourhood before doing more expensive processing.
(c-maybe-re-mark-raw-string): Give a backward search limit to an operation
which was needlessly lacking one.

* lisp/progmodes/cc-mode.el (c-doc-fl-decl-start, c-doc-fl-decl-end): Check a
certain regexp is valid before performing the (somewhat expensive) actions of
these functions.
(c-fl-decl-start): In the search for a C++ lambda capture list, replace (slow)
calculation of c-parse-state by a (less slow) c-go-up-list-backward.
2019-05-10 10:21:09 +00:00
Alan Mackenzie
a8d17f35a2 Make uncomment-region remove obtrusive spaces before tabs.
These spaces were typically inserted earlier by comment-region.  This patch
makes these two complementary functions closer to inverses.

* lisp/newcomment.el (uncomment-region-default-1): Remove spaces before a tab
where the comment opener has just been removed.
2019-05-10 07:28:54 +00:00
Michael Heerdegen
eda8ea6858 Fix alist-get gv setter not returning VAL
This fixes Bug#35546.

* lisp/emacs-lisp/gv.el (alist-get): Make setter return the set value
to preserve 'setf' semantics.
2019-05-09 22:28:19 +02:00
Stefan Monnier
d2bd9958bd * lisp/mail/footnote.el: Avoid regexp-opt-charset, which is not autoloaded.
(footnote-hebrew-numeric-regex): Use rx-to-string instead.
2019-05-09 10:32:25 -04:00
Michael Albinus
eb1698c54a Fix an error in tramp-vc-file-name-handler
* lisp/net/tramp.el (tramp-accept-process-output, tramp-send-string):
* lisp/net/tramp-adb.el (tramp-adb-handle-make-process):
* lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band)
(tramp-sh-handle-make-process):
* lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory)
(tramp-smb-handle-file-acl, tramp-smb-handle-process-file)
(tramp-smb-handle-set-file-acl)
(tramp-smb-handle-start-file-process): Do not suppress timers.

* lisp/net/tramp-sh.el (tramp-vc-file-name-handler): Check, that
`tramp-file-name-for-operation' returns a proper Tramp file.
2019-05-09 14:24:22 +02:00
Michael Albinus
4255f0fcae * test/lisp/net/tramp-tests.el (cl-lib): Require instead of cl-seq. 2019-05-09 14:23:07 +02:00
Stefan Monnier
f97628f58e * lisp/emacs-lisp/syntax.el (syntax-propertize): ignore is like nil
(syntax-ppss-after-change-function): Mark it as obsolete.
* lisp/font-lock.el (font-lock-apply-syntactic-highlight):
Use syntax-ppss-flush-cache instead.
2019-05-08 15:18:32 -04:00
Paul Eggert
caa28f031b Port LIBRSVG_CHECK_VERSION fix to picky cpp
* src/image.c (LIBRSVG_CHECK_VERSION): Define to yield false
if it isn’t already defined.
(svg_load_image): Port to C preprocessors that check the
syntax of the entire preprocessing expression before
evaluating any of it.
2019-05-08 08:38:15 -07:00
Glenn Morris
8b789755b4 Merge from origin/emacs-26
1c6484e (origin/emacs-26) Fix incorrect cloning of eieio-instance-inh...
37436fe Fix cloning of eieio-named objects (Bug#22840)
fb65a36 Fix ibuffer-unmark-backward synopsis (bug#35572)
f77bd2b ; * src/lisp.h (DEFSYM): Fix inaccurate comment.
3b86e0b Clarify handling of long options (Bug#24949)
04340a8 Improve documentation of the daemon and emacsclient
3e29de2 * etc/NEWS.24: Belatedly announce delete-consecutive-dups.
2019-05-08 07:51:48 -07:00
Glenn Morris
6734f2168c ; Merge from origin/emacs-26
The following commits were skipped:

0ae7b2b (emacs-26) ; Auto-commit of loaddefs files.
3e322df * admin/update_autogen: Handle git worktree.
2019-05-08 07:51:48 -07:00
Glenn Morris
d9d914b292 Merge from origin/emacs-26
ec02c73 Update process filter example (Bug#35044)
2019-05-08 07:51:46 -07:00
Eli Zaretskii
c4d1697f9a ; * lisp/help.el (view-lossage): Fix commentary. (Bug#35596) 2019-05-08 16:20:36 +03:00
Eli Zaretskii
04f9e0b516 Fix compilation with old versions of librsvg
* src/image.c (svg_load_image): Use LIBRSVG_CHECK_VERSION only
if it's defined; it isn't in old versions of librsvg.
2019-05-08 16:03:08 +03:00
Vitalie Spinu
1c6484e975 Fix incorrect cloning of eieio-instance-inheritor objects (Bug#34840)
* lisp/emacs-lisp/eieio-base.el (clone): Unbound slots of
  eieio-instance-inheritor objects as documented in the docs string
  and implemented in the original eieio implementation.
2019-05-08 11:12:29 +02:00
Michael Albinus
0728b40cc7 ; Instrument auto-revert--deftest-remote 2019-05-08 10:49:31 +02:00
Michael Albinus
173fd94c11 Skip tramp-test10-write-region-file-precious-flag for Emacs < 27
* test/lisp/net/tramp-tests.el
(tramp-test10-write-region-file-precious-flag): Skip for Emacs < 27.
2019-05-08 09:44:22 +02:00
Jonathan Tomer
21888a9464 Don't rewrite buffer contents after saving by rename (Bug#35497)
* lisp/files.el (basic-save-buffer-2): Don't rewrite file contents
after saving-by-renaming.  (Bug#35497)

* test/lisp/files-tests.el (files-tests-dont-rewrite-precious-files):
* test/lisp/net/tramp-tests.el
(tramp-test10-write-region-file-precious-flag): Regression tests
for this change.
2019-05-08 09:13:58 +02:00
Eli Zaretskii
cd8a1d6bfd Add an assertion to xdisp.c
* src/xdisp.c (display_mode_element): Add an assertion where
we assume that 'string' returned by decode_mode_spec is always
either a Lisp string or nil.
2019-05-08 09:29:20 +03:00
Juri Linkov
4cb64ac3f9 * lisp/progmodes/flymake.el: Obsolete variable flymake-start-on-newline
(flymake-start-syntax-check-on-newline): Mark it obsolete.
(flymake-after-change-function): Remove obsolete variable
flymake-start-syntax-check-on-newline (temporarily renamed to
flymake-start-on-newline).  (Bug#34294)

* doc/misc/flymake.texi: Remove obsolete variable.
2019-05-07 23:29:14 +03:00
Paul Eggert
504f8e551f Pacify GCC 9.1
* src/intervals.c (set_intervals_multibyte_1): Omit unused temps.
* src/xdisp.c (display_mode_element): Use !NILP instead of
STRINGP.  This convinces GCC we’re not dereferencing a
possibly-null pointer, and should be a bit faster anyway.
2019-05-07 12:28:10 -07:00
John Shahid
e44b56d16a Fix setting and resetting of scroll-with-delete
The start and end lines of the scroll region must to be in the range
[0,term-height).  There are few placees that incorrectly set the end
line of the scroll region to term-height which is outside the valid
range.  Combined with another off-by-one error in
term-set-scroll-region's clamping logic, this would cause
term-scroll-with-delete to be unnecessarily turned on.

* lisp/term.el (term-scroll-start,term-scroll-end): Use defvar-local
to define the variables and document the valid range of values that
the variables can take.
(term--last-line): New function to calculate the 0-based index of the
last line.
(term--reset-scroll-region): New function to reset the scroll region
to the full height of the terminal.
(term-mode,term-reset-size,term-reset-terminal): Call
term--reset-scroll-region to reset the scroll region.
(term-set-scroll-region): Fix the off-by-one error in the clamping
logic which allowed term-scroll-end to have values outside the valid
range [0,term-height).
2019-05-07 14:51:42 -04:00
Stefan Monnier
32cf07819a * src/marker.c (buf_bytepos_to_charpos): Re-add the CHAR_HEAD_P assertion
This assertion was removed in 1c349c6230
because the assumption was invalid during set_intervals_multibyte_1.
So we change set_intervals_multibyte_1 to solve the problem in the same
way as in the rest of Fset_buffer_multibyte, which actually simplifies
the code.

* src/buffer.c (advance_to_char_boundary): Not static any more.
* src/buffer.h (advance_to_char_boundary): Add prototype.
* src/intervals.c (set_intervals_multibyte_1): Use it.
2019-05-07 13:41:54 -04:00
Glenn Morris
81d83cf635 * doc/emacs/text.texi (Fill Commands): Use pxref in parentheses. 2019-05-07 10:33:58 -07:00
Glenn Morris
6d03bbf02a * doc/emacs/files.texi (Auto Revert): Fix makeinfo-4.13 compilation. 2019-05-07 10:33:58 -07:00
Basil L. Contovounesios
c972da907d Clarify what constitutes an event (bug#35238)
* doc/lispref/commands.texi (Input Events): Specify that events are
non-nil and remove vestiges of bug#10190.
* doc/lispref/os.texi (Recording Input): Document optional argument
of recent-keys.
* lisp/subr.el (eventp): Check that the car of conses is non-nil.
* etc/NEWS: Announce it as an incompatible change.
* src/keyboard.c (Frecent_keys): Clarify that returned "events" are
not real events.
2019-05-07 18:00:20 +01:00
Eli Zaretskii
e10d08df7e Fix 'load-average' on MS-Windows
* src/w32.c (getloadavg): Always return at least one element
of the array.
2019-05-07 17:48:32 +03:00
Vitalie Spinu
37436fe6d3 Fix cloning of eieio-named objects (Bug#22840)
* lisp/emacs-lisp/eieio-base.el (clone): Correctly set the name of the
  cloned objects from eieio-named instances.
2019-05-07 13:45:00 +02:00
Basil L. Contovounesios
fb65a36f45 Fix ibuffer-unmark-backward synopsis (bug#35572)
* lisp/ibuffer.el (ibuffer-mode): Fix synopsis of
ibuffer-unmark-backward along with other minor copy-edits.
2019-05-07 01:43:46 +01:00
Wilson Snyder
921d279e15 Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs 2019-05-06 18:35:59 -04:00
Wilson Snyder
01963fbbe1 Fix verilog-mode module backticks; whitespace from prev commits.
* verilog-mode.el (verilog-read-inst-module-matcher):
Work when point is near backtick. Reported by Mattias Engdegard.
2019-05-06 18:35:31 -04:00
Juri Linkov
6fa99f06b9 * lisp/emacs-lisp/lisp.el (insert-pair-alist): Turn defvar into defcustom.
Revert to old default value.  (Bug#35480)
2019-05-06 22:32:26 +03:00
Stefan Monnier
c31823a51b Make combine-after-change-calls work in the common case again
* src/insdel.c (signal_after_change): Allow combine_after_change_calls
even when syntax-ppss-flush-cache is on before-change-functions.
2019-05-06 14:58:20 -04:00
Eli Zaretskii
f77bd2b4ed ; * src/lisp.h (DEFSYM): Fix inaccurate comment. 2019-05-06 21:52:19 +03:00
John Shahid
66c388c21a Prevent accidental edits in the ansi-term buffer from breaking resizing
* lisp/term.el (term-unwrap-line, term-emulate-terminal): Prevent the
  `term-line-wrap` property of newlines from spreading accidentally
  when inserting text next to it.
2019-05-06 14:35:40 -04:00
Alan Mackenzie
77b1148b51 c-beginning-of-statement-1: Handle syntactic WS macros properly.
* lisp/progmodes/cc-engine.el (c-beginning-of-statement-1): The variable
before-sws-pos should record the position of a closing paren/brace/bracket
before moving backwards over a sexp.  When there is a syntactic WS macro
between the starting point and the closing p/b/b, setq before-sws-pos again
after moving backward over the macro.
2019-05-06 17:36:28 +00:00
Stefan Monnier
6309131349 * lisp/custom.el: Avoid adding vars to load-history multiple times
Avoid the abuse of (eval `(defvar ...)) which tends to end up
adding redundant entries in `load-history`, as discussed in
https://lists.gnu.org/r/help-gnu-emacs/2019-03/msg00237.html

(custom-initialize-default): Don't add to load-history.
(custom-declare-variable): Use internal--define-uninitialized-variable
and only add the var to load-history once.  Do it before calling
`initialize` so the special-variable-p flag is set.

* src/eval.c (Finternal__define_uninitialized_variable): New function.
(Fdefvar, Fdefconst): Use it.
(syms_of_eval): Defsubr' it.
2019-05-06 12:37:00 -04:00
Michael Albinus
f0c0b2cea3 Use lambda in tramp-compat-* functions
* lisp/net/tramp-compat.el (tramp-handle-temporary-file-directory):
Declare.
(tramp-compat-temporary-file-directory-function): Use function symbol.
(tramp-compat-file-attribute-type)
(tramp-compat-file-attribute-link-number)
(tramp-compat-file-attribute-user-id)
(tramp-compat-file-attribute-group-id)
(tramp-compat-file-attribute-modification-time)
(tramp-compat-file-attribute-size)
(tramp-compat-file-attribute-modes)
(tramp-compat-directory-name-p, tramp-compat-file-local-name)
(tramp-compat-file-name-quoted-p, tramp-compat-file-name-quote)
(tramp-compat-file-name-unquote, tramp-compat-exec-path)
(tramp-compat-time-equal-p, tramp-compat-flatten-tree):
Make them lambdas.
2019-05-06 12:04:24 +02:00
Michael Albinus
1ac5c6c3cf ; Make /etc/NEWS more consistent 2019-05-06 11:23:54 +02:00
Paul Eggert
926a394997 Use simpler way to print function pointers
The module code can’t possibly work on weird platforms where
function pointers are wider than data pointers, so there’s no need
to bother with the stackoverflow-like approach that is intended
only for portability to such platforms.  Besides, the
stackoverflow-like approach does not work well on weird platforms
where CHAR_BIT is not a multiple of 4.
* src/lisp.h (pMx): New macro.
* src/print.c (data_from_funcptr) [HAVE_MODULES]: New function.
(print_vectorlike) [HAVE_MODULES]: Use it.
(print_object): Make sure buf is big enough for this.
2019-05-05 17:40:55 -07:00
Juri Linkov
31c60dfbd8 * lisp/progmodes/flymake.el (flymake-start): Check for flymake-mode.
Check for the value of flymake-mode after hooks are finished (bug#34294)
2019-05-05 23:07:44 +03:00
Juri Linkov
be3ab9f301 * lisp/progmodes/flymake.el: Rename flymake-start-on-newline (bug#34294)
* lisp/progmodes/flymake.el (flymake-start-on-newline): Rename from
flymake-start-syntax-check-on-newline.
(flymake-start-syntax-check-on-newline): Define obsolete alias.
(flymake-no-changes-timeout): Add customization option nil.

* doc/misc/flymake.texi (Using Flymake): Rename variable.
2019-05-05 23:05:01 +03:00
Juri Linkov
4bfde2a790 * lisp/vc/ediff-ptch.el (ediff-fixup-patch-map): Remove Git prefixes.
Strip possible source/destination prefixes such as a/ and b/
from directory names.   (Bug#35420)
(ediff-fixup-patch-map, ediff-dispatch-file-patching-job)
(ediff-patch-file-internal): Replace string-match with string-match-p.
2019-05-05 22:51:14 +03:00
Juri Linkov
7bba702e1a Use ngettext instead of dired-plural-s in Dired (bug#35287)
* lisp/dired-aux.el (dired-map-over-marks-check): Use ngettext
instead of dired-plural-s.
(dired-create-files): Also add colon after operation name.
(dired-compare-directories): Use ngettext and format-message.
(dired-do-compress-to): Use ngettext.

* lisp/dired.el (dired-internal-do-deletions)
(dired-clean-up-after-deletion): Use ngettext instead of dired-plural-s.
2019-05-05 22:43:27 +03:00
Juri Linkov
c64cb02cca * lisp/emacs-lisp/lisp.el (insert-pair-alist): Precompute default value.
Use unicode-property-table-internal with 'paired-bracket to append
pairs of open/close characters to the default value (bug#35480).
2019-05-05 22:34:03 +03:00
Juri Linkov
df9b56ecff Rename shell-command-width to async-shell-command-width (bug#35055)
* lisp/simple.el (async-shell-command-width):
* lisp/net/tramp.el (tramp-handle-shell-command):
* test/lisp/net/tramp-tests.el (tramp-test32-shell-command):
* doc/misc/tramp.texi (Remote processes): Rename this variable.

* doc/emacs/misc.texi (Single Shell): Add async-shell-command-width.
2019-05-05 22:27:33 +03:00
Paul Eggert
81487bf891 Port mod-test to --enable-gcc-warnings
* test/data/emacs-module/mod-test.c (NDEBUG): Undef, to prevent
GCC from complaining “error: unused variable ‘dummy’” and failing
to build the test, if --enable-gcc-warnings.
2019-05-05 09:08:24 -07:00