Commit graph

133571 commits

Author SHA1 Message Date
Phil Sainty
9823f299bd Restore antlr-mode's intended mode-name construct
* lisp/progmodes/antlr-mode.el (antlr-mode): Restore antlr-mode's
intended mode-name, as CC mode now supports arbitrary mode line
constructs.

Note that the NAME supplied to 'define-derived-mode' should be a
string, so the original (commented) code wasn't quite right.
2018-07-08 01:20:10 +12:00
Phil Sainty
6a4477d057 Support mode line constructs for 'mode-name' in c-mode (bug#2034)
Also make the inclusion of minor mode flags in 'mode-name' optional.

* lisp/progmodes/cc-vars.el (c-modeline-display-flags): New user
option.
* lisp/progmodes/cc-cmds.el (c-modeline-flags): New variable.
(c--modeline-major-mode): New internal buffer-local variable.
(c-update-modeline): Use mode line constructs, rather than string
concatenation, to optionally include minor mode flags in 'mode-name'.

* lisp/progmodes/cc-cmds.el (c-toggle-auto-newline)
(c-toggle-hungry-state, c-toggle-auto-hungry-state)
(c-toggle-electric-state, c-toggle-comment-style):
* lisp/progmodes/cc-mode.el (c-electric-indent-mode-hook)
(c-electric-indent-local-mode-hook): Remove redundant calls to
'c-update-modeline'.  It is no longer necessary to call this function
every time one of the minor mode states changes.  The remaining calls
are in 'c-basic-common-init' (which is called via 'c-common-init' by
all the major modes defined in cc-mode.el), and in the :after-hook of
those modes (which ensures that 'mode-name' is still processed for a
derived mode that doesn't call 'c-common-init' itself).

* lisp/progmodes/cc-mode.el (c-submit-bug-report):
* lisp/progmodes/cc-styles.el (c-set-style): Format 'mode-name'.

* doc/misc/cc-mode.texi: Document 'c-modeline-display-flags'.

* etc/NEWS: Mention new user option and behaviors.

* lisp/progmodes/cc-engine.el:
* lisp/progmodes/cc-mode.el: Remove commented remnants of
'c-submode-indicators'.  This code was commented out in commit
cb694ab730 in which the indicators were
moved directly into 'mode-name' (to prevent lighter text for other
minor modes from appearing inbetween).  These indicators are now
replaced by 'c-modeline-flags'.
2018-07-08 01:20:10 +12:00
João Távora
4ee502ca9d Adjust previous jsonrpc change
(nth 2) is probably a better alternative to caddr, and in Emacs 26.1
we can pass 0 as :service to automatically find an available port.

* lisp/jsonrpc.el (jsonrpc--call-deferred): Use cl-caddr.

* test/lisp/jsonrpc-tests.el
(jsonrpc--call-with-emacsrpc-fixture): Pass 0 as :service to when
making the listen server.
2018-07-03 08:21:56 +01:00
Glenn Morris
40db29fc55 * lisp/mail/sendmail.el (mail-from-style):
Improve obsolescence message.
2018-07-02 22:07:08 -07:00
Glenn Morris
c4a93e4892 ; Merge from origin/emacs-26
The following commit was skipped:

8c70142 (origin/emacs-26) ; Auto-commit of loaddefs files.
2018-07-02 19:19:26 -07:00
Glenn Morris
02f2f336af Merge from origin/emacs-26
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
2018-07-02 19:19:26 -07:00
Glenn Morris
bc0e36df8d ; Merge from origin/emacs-26
The following commit was skipped:

1f50379 Sync with Tramp 2.3.4.  Do not merge with master
2018-07-02 19:19:05 -07:00
Glenn Morris
98e98b42a0 Merge from origin/emacs-26
d008ef3 * src/xdisp.c (Vmouse_autoselect_window): Clarify doc-string ...
6f6d525 Detect a non-list package archive content properly (Bug#22311)
2018-07-02 19:19:05 -07:00
Glenn Morris
8c70142ea3 ; Auto-commit of loaddefs files. 2018-07-02 20:45:00 -04:00
João Távora
332f4656b0 Make lisp/jsonrpc.el work with Emacs 25.1
* jsonrpc.el (Package-Requires): Require Emacs 25.1
(jsonrpc-lambda): Use cl-gensym.
(jsonrpc--call-deferred): Caddr doesn't exist in
emacs 25.1.

* jsonrpc-tests.el
(jsonrpc--call-with-emacsrpc-fixture): New function.
(jsonrpc--with-emacsrpc-fixture): Use it.
(deferred-action-complex-tests): Adjust test for Emacs 25.1
2018-07-02 17:30:35 +01:00
John Shahid
ee3e432300 Optionally add argument description in minor mode DOC (bug#10754)
Add a paragraph to minor mode's docstring documenting the mode's ARG
usage if the supplied docstring doesn't already contain the word "ARG".

* easy-mmode.el (easy-mmode--arg-docstring): New const.
(easy-mmode--arg-docstring): New function.
(define-minor-mode): Use them.

Remove argument documentation from all minor modes.
2018-07-01 23:34:53 -04:00
Eli Zaretskii
fd5bf49139 Fix last change
* 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'.
2018-07-01 19:19:51 +03:00
John Shahid
260768a64b Add a new argument to 'recenter' to allow finer control of redisplay
* 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)
2018-07-01 19:05:37 +03:00
Paul Eggert
fc5cae731c ; Fix ChangeLog typo. 2018-07-01 08:36:57 -07:00
Paul Eggert
e17a5e58b7 ; make change-history-commit 2018-07-01 08:36:57 -07:00
Paul Eggert
f205928d1f * etc/HISTORY: Cite Brinkoff on early history. 2018-07-01 08:25:46 -07:00
Glenn Morris
7edc019651 ; Auto-commit of loaddefs files. 2018-07-01 07:27:20 -04:00
Michael Albinus
8b6812fd90 Minor change in tramp-tests.el
* test/lisp/net/tramp-tests.el (tramp-test03-file-name-host-rules):
Cleanup before running the test.
2018-07-01 11:58:55 +02: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
Stefan Monnier
32853e1531 * lisp/hexl.el (hexl-follow-ascii-mode): Fix last fix (bug#32021) 2018-07-01 00:08:11 -04:00
Glenn Morris
31d1bb04cc Unbreak bootstrap
* lisp/jsonrpc.el (jsonrpc-connection, jsonrpc-process-connection):
Don't autoload defclass, else dumping fails loading loaddefs.el
due to trying to autoload eieio-defclass-autoload.
2018-06-30 18:56:49 -07:00
Glenn Morris
67afa75e2b * doc/lispref/text.texi (JSONRPC): Add missing menu. 2018-06-30 18:51:35 -07:00
João Távora
64eb2fc740 * lisp/jsonrpc.el (subr-x): Only require when compiling 2018-06-30 21:14:16 +01:00
João Távora
37dd95866a * lisp/jsonrpc.el: Add "Package-Requires" and "Version" headers 2018-06-30 21:12:23 +01:00
João Távora
8af26410a9 Add lisp/jsonrpc.el
* doc/lispref/text.texi (Text): Add JSONRPC.
(JSONRPC): New node.

* etc/NEWS (New Modes and Packages in Emacs 27.1): Mention jsonrpc.el

* lisp/jsonrpc.el: New file.

* test/lisp/jsonrpc-tests.el: New file.
2018-06-30 19:46:06 +01:00
Eli Zaretskii
852395bab7 * lisp/hexl.el (hexl-follow-ascii-mode): Fix a typo. (Bug#32021) 2018-06-30 20:59:20 +03: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
Eli Zaretskii
2f149c074d Fix a factual error in Introduction to Emacs Lisp
* doc/lispintro/emacs-lisp-intro.texi (Buffer Names): Update the
key that exits the splash screen.  (Bug#32019)
2018-06-30 16:13:01 +03:00
Eli Zaretskii
8ad50a34e5 ; * lisp/files.el (buffer-offer-save): Doc fix. (Bug#32000) 2018-06-30 12:54:58 +03:00
Eli Zaretskii
c80f31f591 Minor improvements in documentation of imenu.el
* lisp/imenu.el (imenu-generic-skip-comments-and-strings)
(imenu--generic-function): Doc fixes.  (Bug#31962)
2018-06-30 12:22:05 +03:00
Eli Zaretskii
8ebb6830fa Avoid errors with recentering in 'skeleton-insert'
* lisp/skeleton.el (skeleton-insert): Don't recenter if we are
running in a buffer other than the one displayed in the selected
window.  (Bug#31950)
2018-06-30 12:07:24 +03:00
Eli Zaretskii
ed65ea1815 Speed up reading sub-process output on MS-Windows
* 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.
2018-06-30 11:43:42 +03:00
Eli Zaretskii
3b4e65e797 Speed-up let-binding of automatically-local variables
* 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)
2018-06-30 11:17:25 +03:00
Paul Eggert
35e9dcab51 Update from Gnulib
This incorporates:
2018-06-29 regex: glibc does not use intprops.h
2018-06-28 regex: port to recently proposed glibc regex merge
2018-06-25 Continue to use spaces for indentation, not tabs
2018-06-25 manywarnings: Don't enable -Wjump-misses-init by default
2018-06-25 acl-internal.h: remove _GL_ATTRIBUTE_CONST on void function
2018-06-24 manywarnings: accommodate GCC 9: remove -Wchkp and -Wabi
2018-06-24 maint: clarify comments about sticky EOF
2018-06-24 af_alg: avoid hangs when reading from streams
2018-06-17 crypto: use byteswap
2018-06-17 getloadavg: Return 0 on MS-Windows without Cygwi
2018-06-17 getloadavg: Allow building on MS-Windows without Cygwin
* build-aux/config.guess, build-aux/config.sub, doc/misc/texinfo.tex:
* lib/acl-internal.c, lib/acl-internal.h, lib/get-permissions.c:
* lib/getloadavg.c, lib/gettimeofday.c, lib/md5.c, lib/pselect.c:
* lib/set-permissions.c, lib/sha1.c, lib/sha256.c, lib/sha512.c:
* lib/time.in.h, m4/getloadavg.m4, m4/gnulib-common.m4:
* m4/manywarnings.m4, m4/pthread_sigmask.m4, m4/vararrays.m4:
Copy from Gnulib.
2018-06-29 17:32:35 -07:00
Paul Eggert
2e2811865f unbind_to performance tuning
* 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.
2018-06-29 17:07:57 -07:00
Paul Eggert
e980a3c992 * src/lisp.h: Omit obsolete comment re bytecode stack. 2018-06-29 11:15:06 -07:00
Andreas Schwab
08594a975a * lisp/url/url-http.el (url-http-create-request): Doc fix. 2018-06-29 17:33:43 +02:00
Andreas Schwab
84613dae5c Use a non-proxy request when retrieving https URLs via a proxy
* lisp/url/url-http.el
(url-https-proxy-after-change-function): Bind url-http-proxy
to nil around url-http-create-request.
2018-06-29 17:25:37 +02: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
Michael Albinus
45390596e6 Sync with Tramp 2.4.0
* doc/misc/trampver.texi:
* lisp/net/trampver.el: Change version to "2.4.0".

* lisp/net/tramp-gvfs.el (tramp-gvfs-handler-mounted-unmounted):
Ignore unknown GVFS methods.

* test/lisp/net/tramp-tests.el (tramp-test42-asynchronous-requests):
Tag as :unstable.
2018-06-29 10:17:46 +02:00
Paul Eggert
b2c854a0e1 * src/lisp.h: Add comment (Bug#31996#25). 2018-06-29 00:29:41 -07:00
Noam Postavsky
591bb3d900 Let ediff '=' compare against ancestor buffer (Bug#11320)
* lisp/vc/ediff-util.el (ediff-inferior-compare-regions): Ask user
whether to compare against the ancestor or merge buffer.  Use
read-multiple-choice for A vs B buffer query.
2018-06-28 22:09:04 -04:00
Paul Eggert
ddc4371a89 Fix recently-introduced SAFE_FREE bug
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.
2018-06-28 13:51:09 -07:00
Paul Eggert
76eda952b0 Tune SAFE_FREE
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.
2018-06-28 00:42:46 -07:00
Dmitry Gutov
93c41ce6aa Remove extra process call from vc-git-find-file-hook
* lisp/vc/vc-git.el (vc-git-find-file-hook): Resolve FIXMEs.
2018-06-28 03:14:56 +03:00
Dmitry Gutov
7ea0873b4f ; Update some commentary
* lisp/vc/vc-git.el (vc-git-state): Remove outdated commentary.
(vc-git-dir-status-goto-stage): Move a TODO here.
(vc-git-conflicted-files): From here.
(vc-git-find-file-hook): Add a FIXME.
2018-06-28 03:05:19 +03:00
Dmitry Gutov
4a7f4232ed Speed up vc-git-dir-status-files
* lisp/vc/vc-git.el (vc-git-dir-status-goto-stage): Call 'git
ls-files -u' for the ls-files-conflict stage
(https://lists.gnu.org/archive/html/emacs-devel/2018-06/msg00885.html).
2018-06-28 03:03:36 +03:00
Eli Zaretskii
79f6911bf1 ; * etc/NEWS: Fix recently added entries. 2018-06-27 21:08:28 +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