Commit graph

70408 commits

Author SHA1 Message Date
Radon Rosborough
24acb31c04 Add early init file, stop package-initialize insertion
Discussion on emacs-devel leading up to this change (approximately 150
messages):

- https://lists.gnu.org/archive/html/emacs-devel/2017-08/msg00154.html
- https://lists.gnu.org/archive/html/emacs-devel/2017-08/msg00433.html
- https://lists.gnu.org/archive/html/emacs-devel/2017-09/msg00023.html
- https://lists.gnu.org/archive/html/emacs-devel/2017-09/msg00599.html
- https://lists.gnu.org/archive/html/emacs-devel/2017-10/msg00332.html

* lisp/startup.el (early-init-file): New variable.
(load-user-init-file): New function.
(command-line): Load the early init file using `load-user-init-file'.
Move the check for an invalid username to just before that, and move
the initialization of the package system to just after.  Load the
regular init file using `load-user-init-file'.
* lisp/emacs-lisp/package.el (package--ensure-init-file): Remove
definition, usage, and documentation.
(package--init-file-ensured): Remove definition and usage.

* src/lread.c (Vuser_init_file): Note change in semantics due to its
usage while loading the early init file.

* doc/emacs/custom.texi: Document early init file.
* doc/emacs/package.texi: Document changes to when package-initialize
is called.  Change terminology for package 'loading'.
* doc/lispref/os.texi: Document early init file.  Update startup
summary.
* doc/lispref/package.texi: Document changes to when
package-initialize is called, and advise against calling it in the
init file.  Change terminology for package 'loading'.
* doc/misc/org.texi: Don't recommend to call package-initialize in the
init file.
2018-02-17 13:36:16 +02:00
Glenn Morris
0cb1c59aa8 Quieten compilation of icalendar.el
* lisp/calendar/icalendar.el (icalendar-import-buffer)
(icalendar--convert-ical-to-diary, icalendar--add-diary-entry):
Eliminate "Lexical argument shadows the dynamic variable" warning.
2018-02-16 19:11:59 -08:00
Glenn Morris
b04fa19119 ; * lisp/international/mule-cmds.el (reset-language-environment): Comment. 2018-02-16 18:57:45 -08:00
Glenn Morris
47106da23a Merge from origin/emacs-26
a06a8ed (origin/emacs-26) ; * lisp/vc/vc-git.el (vc-git--program-vers...
edc06ad Make 'byte-compile-error-on-warn' a safe file variable
9f5d8da ; * lisp/textmodes/flyspell.el (flyspell-auto-correct-word): ...
f73905a Fix the doc string of flyspell-auto-correct-word
e9c7ddc Improve the MS-Windows appendix of the Emacs manual
6ddb4bd Fix 'vc-git--program-version'
63c93f7 Fix typos and wording in the Emacs manual
42f15b0 * doc/emacs/programs.texi (Semantic): Order programming langu...
b46be29 More improvements for the Emacs manual
874c0ed Minor wording change in Emacs manual
53511f9 Another set of changes for the manual
78426b8 Improvements on tramp.texi
0dca618 Tramp minor doc fixes

Conflicts:
	doc/misc/tramp.texi
2018-02-16 09:44:04 -08:00
Eli Zaretskii
a06a8ed5b6 ; * lisp/vc/vc-git.el (vc-git--program-version): Fix last change. 2018-02-16 19:20:29 +02:00
Robert Cochran
edc06adf96 Make 'byte-compile-error-on-warn' a safe file variable
* lisp/emacs-lisp/bytecomp.el (byte-compile-error-on-warn): Mark
as a safe local variable for boolean values.
2018-02-16 17:51:06 +02:00
Aaron Jensen
49fc040077 Don't flash previous buffer when connecting with emacsclient
* lisp/server.el (server-execute): Accept lambda for creating
frame rather than frame.  Ensure newly created tty frame
initially shows the correct buffer.
(server-process-filter): Pass a lambda to server-execute to create
a frame.  (Bug#24218)
2018-02-16 17:43:04 +02:00
Eli Zaretskii
9f5d8da5cc ; * lisp/textmodes/flyspell.el (flyspell-auto-correct-word): Fix last change. 2018-02-16 16:30:02 +02:00
Eli Zaretskii
f73905af2d Fix the doc string of flyspell-auto-correct-word
* lisp/textmodes/flyspell.el (flyspell-auto-correct-word): Doc
fix.  (Bug#30462)
2018-02-16 16:23:43 +02:00
Eli Zaretskii
6ddb4bd39a Fix 'vc-git--program-version'
* lisp/vc/vc-git.el (vc-git--program-version): Fix the function to
work with Git for Windows.
2018-02-16 11:30:29 +02:00
Stefan Monnier
b61a872926 * lisp/calendar/diary-lib.el (diary-remind): Fix bug#30455.
(diary-remind): Bind `days' as documented for diary-remind-message.
2018-02-15 00:41:52 -05:00
Glenn Morris
4bee1b8bac Stop keeping multiple doc copies for items defined multiple times
It was always a nuisance to keep all the copies in sync.
* src/doc.c (Fsnarf_documentation): Don't skip entire files.
Instead, skip individual doc strings starting with "SKIP".
* doc/lispref/internals.texi (Writing Emacs Primitives):
Mention this skipping.
* lisp/term/ns-win.el, lisp/term/pc-win.el, src/dosfns.c:
* src/frame.c, src/nsfns.m, src/nsmenu.m, src/nsterm.m:
* src/w16select.c, src/w32fns.c, src/w32menu.c, src/w32select.c:
* src/w32term.c, src/xmenu.c: Remove duplicated doc strings.
* src/xfns.c: Merge in information from doc string duplicates.
2018-02-13 14:22:16 -08:00
Glenn Morris
98f4e336e8 Merge from origin/emacs-26
333d6f4 (origin/emacs-26) More changes in the Emacs manual
52ca0d1 * lisp/vc/vc.el (vc-deduce-backend): Use ignore-errors.
69e8046 Don't signal error in vc-deduce-backend
f568c91 * doc/misc/tramp.texi: Index more user options.
92ca881 Minor change in the Emacs manual
e055a12 NEWS update about 'string-trim'
96b6e24 Clarify TRAMP process-environment interaction (Bug#30419)
4fa467e * lisp/progmodes/grep.el (grep-num-matches-found): New variable.
a22820a Avoid aborts in cm.c due to too small TTY frame
26f6441 Another set of improvements in the Emacs manual
cef3b42 Fix help in mode-line-mode-menu
f8a493c Improve documentation of desktop restoring
10637af Improve the Emacs manual's chapter "Frames"
d924953 Fix unbound mm-uu-entry in mm-uu
cb2487b Improve Emacs user manual in fixit.texi
66e9527 Another minor change in the manual
6a1c03d More minor changes in the Emacs manual
32fb8c4 Avoid printing garbled error message from image.el

Conflicts:
	etc/NEWS
	lisp/image.el
2018-02-13 09:26:20 -08:00
Andreas Schwab
52ca0d1a3e * lisp/vc/vc.el (vc-deduce-backend): Use ignore-errors. 2018-02-13 14:05:49 +01:00
Andreas Schwab
69e804669b Don't signal error in vc-deduce-backend
* lisp/vc/vc.el (vc-deduce-backend): Return nil if
vc-responsible-backend signals an error.
2018-02-13 12:18:25 +01:00
Stefan Monnier
82c3be8347 * lisp/gnus/message.el (message-ecomplete-capf): Fix call convention. 2018-02-13 00:17:38 -05:00
Noam Postavsky
0676633e8f * lisp/progmodes/python.el: Bump package version to 0.26. 2018-02-12 21:23:47 -05:00
Juri Linkov
4fa467eefa * lisp/progmodes/grep.el (grep-num-matches-found): New variable.
(grep-mode-line-matches): New defconst.
(grep-mode-font-lock-keywords): Update the regexp for “Grep finished”
to include the number of matches found.
(grep-process-setup): Set grep-num-matches-found to 0.
(grep-exit-message): New function with body moved from lambda
in grep-process-setup.  Use grep-num-matches-found to return
the number of matches found.
(grep-filter): Increment grep-num-matches-found.
(grep-mode): Set compilation-mode-line-errors to grep-mode-line-matches.
(Bug#30397, bug#14017)
2018-02-12 23:39:28 +02:00
Paul Eggert
3a718ffca0 Finish renaming to internal--daemon-sockname
* doc/lispref/processes.texi (Misc Network): Omit discussion of
internal--daemon-sockname, as non-Emacs code shouldn't rely on it.
* src/process.c (syms_of_process): Rename internal-daemon-sockname
to internal--daemon-sockname.  All uses changed.
2018-02-12 12:57:59 -08:00
Matthew Leach
99cf1bb011 Rename internal--external-sockname and document (Bug#24218)
* lisp/server.el: Rename `internal--external-sockname' to
  `internal-daemon-sockname'.
* src/process.c: Likewise.
* doc/lispref/processes.texi: Document `internal-daemon-sockname'.
2018-02-12 12:57:59 -08:00
Paul Eggert
d43a724f4e Minor cleanups for server-name fix (Bug#24218)
* lisp/server.el (server--external-socket-initialized): Rename
from server-external-socket-initialised, since it should be
private and Emacs uses American spelling.  All uses changed.
* src/emacs.c, src/lisp.h: Revert previous changes, as the
initialization is now done in src/process.c, which already
includes the relevant files.
* src/process.c (union u_sockaddr): Move decl to top level.
(external_sock_name, Fget_external_sockname): Remove, replacing
with Vinternal__external_sockname.  All uses changed.
(init_process_emacs): Deduce socket name ourselves rather than
have main.c do it.  Use conv_sockaddr_to_lisp instead of doing
it by hand.  Conditionalize it on HAVE_GETSOCKNAME.
2018-02-12 12:57:58 -08:00
Matthew Leach
e1ca0ea872 Fix server-name' and server-socket-dir' for (Bug#24218)
* lisp/server.el: (server-external-socket-initialised): New
(server-name): Compute server name from `get-external-sockname'.
(server-socket-dir): Compute socket dir from
`get-external-sockname'.
(server-start): Don't check for existing server when an
uninitialised external socket has been passed to Emacs.
* src/emacs.c: (main): Obtain socket name via getsockname and pass
to `init_process_emacs'.
* src/lisp.h: (init_process_emacs): Add second parameter.
* src/process.c: (external_sock_name): New.
(get-external-sockname): New.
(init_process_emacs): Set `external_sock_name' to `sockname'
parameter.
2018-02-12 12:57:58 -08:00
Michael Albinus
cef3b4248c Fix help in mode-line-mode-menu
* lisp/bindings.el (mode-line-mode-menu) [auto-revert-tail-mode]:
Fix help string.
2018-02-12 11:10:17 +01:00
Dmitry Gutov
76a1bd1896 Fix an infloop in python-nav-beginning-of-statement
* lisp/progmodes/python.el (python-nav-beginning-of-statement):
Fix an infloop (bug#30277).
2018-02-12 03:27:52 +03:00
Alan Third
68d8925077 Tidy up NS keybindings
* lisp/term/ns-win.el: Remove unneeded mappings to super-shifted keys.
2018-02-11 20:54:28 +00:00
Alan Third
f7a853d818 Remove NS special handling of 'frame-title-format'
* lisp/term/ns-win.el (frame-title-format, icon-title-format): Change
default format to just the filename.
* src/nsfns.m (ns-use-proxy-icon): New variable.
(ns_set_name_as_filename): Remove function.
(x_implicitly_set_name): Get rid of special handling of
frame-title-format.
* src/nsterm.h (ns_set_represented_filename): Use new definition.
* src/nsterm.m (ns_set_represented_filename): Move some of the logic
from ns_set_name_as_filename into this function.
2018-02-11 20:54:28 +00:00
Michael Albinus
13f4b518d0 Fix handling of file notifications in tramp-gvfs.el
* lisp/net/tramp-archive.el (tramp-archive-dissect-file-name):
Fix docstring.

* lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-notify-add-watch):
Use consequently "gio monitor".
(tramp-gvfs-monitor-process-filter): Rename from
`tramp-gvfs-monitor-file-process-filter'.  Adapt implementation.

* lisp/net/tramp-sh.el (tramp-gio-events): Move this ...
* lisp/net/tramp.el (tramp-gio-events): ... here.
2018-02-11 10:26:57 +01:00
Andreas Schwab
d924953e05 Fix unbound mm-uu-entry in mm-uu
* lisp/gnus/mm-uu.el (mm-uu-dissect): Rename entry to mm-uu-entry.
2018-02-10 23:56:14 +01:00
Juri Linkov
09465bfa06 * lisp/window.el (display-buffer--maybe-at-bottom): New function (bug#30314).
(display-buffer--maybe-pop-up-frame)
(display-buffer--maybe-pop-up-window): New functions created from
display-buffer--maybe-pop-up-frame-or-window.
(display-buffer--maybe-pop-up-frame-or-window): Call
display-buffer--maybe-pop-up-frame or
display-buffer--maybe-pop-up-window.
(display-buffer-at-bottom): Fix parens.

* lisp/minibuffer.el (minibuffer-completion-help): Use
display-buffer--maybe-pop-up-frame instead of let-binding
pop-up-windows to nil.

* lisp/files.el (hack-local-variables-confirm)
(save-buffers-kill-emacs): Use display-buffer--maybe-at-bottom.
2018-02-10 23:55:34 +02:00
Juri Linkov
aaeb101d89 * lisp/comint.el (comint-after-pmark-p): Check if buffer has a live process.
Return nil if not.
(comint-history-isearch-setup): Don't check if process is live.
Always check if shell prompt is empty regardless of the value
of comint-history-isearch. (Bug#30187)
2018-02-10 23:46:13 +02:00
Michael Albinus
2c980ea613 Handle "gio monitor" in tramp-sh.el
* lisp/net/tramp-sh.el (tramp-gio-events): New defconst.
(tramp-sh-handle-file-notify-add-watch): Handle "gio monitor" extra.
(tramp-sh-gio-monitor-process-filter)
(tramp-get-remote-gio-monitor): New defuns.
(tramp-sh-gvfs-monitor-dir-process-filter)
(tramp-get-remote-gvfs-monitor-dir): Do not check for gio anymore.
2018-02-10 09:41:04 +01:00
Eli Zaretskii
32fb8c4c33 Avoid printing garbled error message from image.el
* lisp/image.el (image--get-imagemagick-and-warn): Don't use
apostrophe in the error message, as that message is shown from a
unibyte buffer, and will run afoul of the default style of showing
quote characters.  (Bug#30405)
2018-02-10 09:51:00 +02:00
Glenn Morris
875cb835f0 Merge from origin/emacs-26
0276743 (origin/emacs-26) Doc string fix in latin-alt.el
c9269af Minor improvements in package.texi
898a3e4 Minor improvement in Emacs user manual
8f7d718 * doc/lispref/anti.texi (Antinews): Replace 25.2 with 25.3.
989d0af Improve documentation of mini-window resizing
923e415 More changes in the Emacs manual
565adf2 Clarify that text-quoting-style doesn't affect *Info* (Bug#24...
2dd273b Mention that shell quoting of % on w32 may fail (Bug#19350)
19fa6d5 Fix --no-build-details for w32 and macOS
979944c * doc/lispref/anti.texi (Antinews): Add some more antinews.
c2727e3 Fix crashes when run with --no-build-details
dc08490 More changes for the manual
04c5bd5 Doc fixes for process functions (Bug#30349)
e209034 Fix shr and CSS 4 color maps
5fe8192 Yet another round of improvements in the manual

Conflicts:
	doc/emacs/files.texi
	test/lisp/subr-tests.el
2018-02-09 11:12:48 -08:00
Eli Zaretskii
0276743672 Doc string fix in latin-alt.el
* lisp/leim/quail/latin-alt.el ("dutch"): Doc fix.  Reported by
Robert Pluim <rpluim@gmail.com>.
2018-02-09 18:22:07 +02:00
Daniel Colascione
05e8b4392b Fix iswitchb highlighting: don't mutate buffer name
* lisp/obsolete/iswitchb.el (iswitchb-completions): Copy buffer name
  before applying face
2018-02-08 18:47:06 -08:00
Stefan Monnier
6b183f85e0 * lisp/emacs-lisp/cl-macs.el (cl--sm-macroexpand): Handle lambda!
(cl--old-macroexpand): Remove.
(cl--sm-macroexpand): Change its calling convention, so it can use
advice-add.  Extend re-binding treatment of vars so it applies to all
var-introducing forms rather than only to 'let'.
(cl-symbol-macrolet): Use advice-add rather than fset.
2018-02-08 21:41:21 -05:00
Noam Postavsky
19fa6d561a Fix --no-build-details for w32 and macOS
* src/w32term.c (w32_initialize_display_info): Handle nil system-name.
* lisp/term/ns-win.el (window-system-initialization): Don't pass nil
to `x-open-connection'.
2018-02-08 19:10:11 -05:00
Glenn Morris
d34dbc0b69 Remove unused duplicate of minibuffer-completion-contents
* src/minibuf.c (Fminibuffer_completion_contents): Remove.
Unused since introduction of minubuffer.el 2008-04-09.
(syms_of_minibuf): Remove Sminibuffer_completion_contents.
* lisp/minibuffer.el (minibuffer-completion-contents): Doc tweak.
2018-02-08 13:32:35 -05:00
Noam Postavsky
04c5bd5b1f Doc fixes for process functions (Bug#30349)
* doc/lispref/processes.texi (Asynchronous Processes): Explain what
the 'stopped' state means for a pipe process.
* src/process.c (Fmake_process, Fmake_pipe_process)
(Fmake_serial_process, Fmake_network_process):
* lisp/subr.el (start-process):
* lisp/net/tls.el (open-tls-stream):
* lisp/net/starttls.el (starttls-open-stream):
* lisp/net/gnutls.el (open-gnutls-stream): Remove meaningless phrase
"specify an output stream" phrase from docstring.
2018-02-07 20:17:50 -05:00
Basil L. Contovounesios
e209034536 Fix shr and CSS 4 color maps
* lisp/net/shr-color.el (shr-color-html-colors-alist): Fix typos.
Add RebeccaPurple.
* lisp/textmodes/css-mode.el (css--color-map): Add fuchsia-magenta
and aqua-cyan aliases.
* test/lisp/textmodes/css-mode-tests.el (css-test-property-values):
Bump color count.
2018-02-07 22:14:00 +01:00
Juri Linkov
a710f8aa61 * lisp/comint.el (comint-history-isearch-setup): Check if process is live.
Don't activate comint-history isearch when shell prompt is empty
like in all *Async Shell Command* buffers. (Bug#30187)
2018-02-06 23:39:00 +02:00
Juri Linkov
0372233906 * lisp/dired.el (dired-get-marked-files): Add new optional arg 'error'.
Call user-error when it's non-nil and result is empty (bug#30285).

* lisp/dired-aux.el (dired-do-chxxx, dired-do-chmod)
(dired-do-print, dired-do-async-shell-command)
(dired-do-shell-command, dired-do-compress-to)
(dired-mark-confirm, dired-do-create-files)
(dired-do-isearch, dired-do-isearch-regexp)
(dired-do-query-replace-regexp, dired-do-find-regexp):
* lisp/dired-x.el (dired-do-find-marked-files):
Set arg 'error' of dired-get-marked-files call to t.
2018-02-06 23:32:08 +02:00
Juri Linkov
109237e23a ; Small fixes and indentation 2018-02-06 23:24:42 +02:00
Juri Linkov
31350817ae Support occur command operating on the region from Isearch.
* lisp/isearch.el (isearch-occur): Use region-bounds as region arg of occur.
(isearch-query-replace): Use use-region-p.

* lisp/replace.el (occur--region-start-line): Rename from
occur--matches-threshold.
(occur): Use complete lines when region is active for line-oriented occur.
(occur-engine): Count lines either from occur--region-start-line or 1.
2018-02-06 23:20:10 +02:00
Juri Linkov
8e42b1bd3c Support list-matching-lines-jump-to-current-line for context lines.
* lisp/replace.el (occur--orig-line-str): Remove.
(occur): Remove occur--orig-line-str.
(occur-engine): Use add-face-text-property to add the face
list-matching-lines-current-line-face to the current line.
Use previous-single-property-change to find occur--final-pos.
(occur-context-lines): New args orig-line and multi-occur-p.
Find the current line in context lines and add face to it.
(Bug#30281)
2018-02-05 23:54:27 +02:00
Glenn Morris
a0c7157a16 Merge from origin/emacs-26
c787a49 (origin/emacs-26) * lisp/vc/vc-git.el (vc-git-print-log): Res...
b654791 * doc/emacs/misc.texi (Interactive Shell): Refer to node "Min...
f1102d2 Yet another round of fixing the Emacs manual
76b5a68 * etc/NEWS: Expunge the solecism "allow(s)" + infinitive
b4ff8cc Two minor fixes in Antinews
aafcd12 * etc/NEWS: Rename image-dired-thumb-job-limit
a893924 * lisp/simple.el (async-shell-command, shell-command): Fix gr...
699081f Fix deferred display of async shell-command buffers
d2d5e54 Mention remote file name completion in Emacs manual
f589f5a Yest another round of manual copyedits
1ed4089 Update xdisp.c commentary
e23de39 Fix Bug#30324
e1a9dc0 Recognize Org as builtin package (bug#30310)

Conflicts:
	etc/NEWS
2018-02-05 07:50:22 -08:00
Michael Albinus
c24c5dc4a4 Fix inconsistency expanding "//" in Tramp
* doc/misc/tramp.texi (File name completion): Adapt example
expanding "//".

* lisp/net/tramp.el (tramp-handle-substitute-in-file-name): "//" shall
expand the localname only, even when on top of the local part.

* test/lisp/net/tramp-tests.el (tramp-test04-substitute-in-file-name):
Adapt test.
2018-02-05 14:02:49 +01:00
Juri Linkov
c787a49682 * lisp/vc/vc-git.el (vc-git-print-log): Restrict file scope to a single file
when vc-git-print-log-follow is non-nil (bug#19045).
(vc-git-print-log-follow): Doc fix.

* etc/NEWS: Mention 'vc-git-print-log-follow'.
2018-02-04 23:58:37 +02:00
Philipp Stephani
8fbf28536e Fix handling of modifier keys on macOS
* src/nsterm.m (keyDown:): Distinguish between shift-like and
control-like modifier keys.  Allow treating ⌘ as shift-like
modifier (e.g. for the Gujarati – QUERTY input method, where ⌘
switches to QUERTY.)

* lisp/cus-start.el (standard): Change nil to none for
ns-command-modifier; update description.

* etc/NEWS: Add NEWS entry.
2018-02-04 20:44:45 +01:00
Michael Albinus
d2630e4569 Make tramp-archive fit for older Emacsen
* lisp/net/tramp-archive.el (tramp-archive-enabled)
(tramp-archive-file-name-handler-alist)
(tramp-archive-file-name-handler): Adapt docstring.
(tramp-register-archive-file-name-handler): Remove it from
`after-init-hook' when unloading.
(tramp-archive-gvfs-host): New defsubst.
(tramp-archive-dissect-file-name): Use it.

* lisp/net/tramp-cmds.el (tramp-cleanup-all-connections):
Check that `tramp-archive-enabled' is bound.

* test/lisp/net/tramp-archive-tests.el (tramp-archive-test42-auto-load):
Check also that tramp-archive is not loaded when Tramp is loaded.
(tramp-archive-test42-delay-load): Adapt test messages.
2018-02-04 13:25:10 +01:00