* doc/emacs/search.texi (Isearch Yank): Document new
function, keybindings.
* etc/NEWS: Mention isearch changes.
* lisp/isearch.el (isearch--yank-char-or-syntax): New function.
(isearch-yank-word-or-char): Call it.
(isearch-yank-symbol-or-char): New function.
(isearch-mode-map): Change 'C-M-w' binding from
'isearch-del-char' to isearch-yank-symbol-or-char; add 'C-M-d'
binding for 'isearch-del-char'.
Remove unnecessary explicit subword-mode use from isearch
* lisp/isearch.el (isearch-yank-word-or-char): Remove explicit
use of subword-mode. These days, subword-mode use is an
automatic side effect of forward-word.
Glenn Morris [Fri, 23 Feb 2018 01:47:26 +0000 (20:47 -0500)]
* lisp/vc/vc-git.el: Avoid bootstrap errors since recent grep change.
The introduction of grep-find-hide-properties caused an
"invalid read syntax" failure when saving ja-dic.el,
when vc-git.el loaded grep.el. Fortunately, vc-git doesn't
actually need to load grep when being compiled.
Juri Linkov [Thu, 22 Feb 2018 21:51:41 +0000 (23:51 +0200)]
* lisp/progmodes/grep.el (grep-find-hide): New defcustom (bug#30503).
(grep-find-hide-properties): New variable.
(grep-mode-font-lock-keywords): Put grep-find-hide-properties
on part of grep command line.
(grep-find-show): New function.
* doc/emacs/building.texi (Grep Searching): Document grep-find-hide.
* lisp/autorevert.el (auto-revert-handler):
Set "revert-buffer-in-progress-p" flag before calling
"vc-refresh-state".
* lisp/vc/vc-git.el (vc-git-command):
If "revert-buffer-in-progress-p" flag is set, prepend
"GIT_OPTIONAL_LOCKS=0" to "process-environment". (Bug#21559)
Juri Linkov [Wed, 21 Feb 2018 21:30:18 +0000 (23:30 +0200)]
* lisp/simple.el (next-error-find-buffer-function): New defcustom.
(next-error-last-buffer): Make variable buffer-local.
(next-error-buffer-on-selected-frame): New function.
(next-error-find-buffer): Use next-error-find-buffer-function
at the first step instead of ad-hoc logic of using one window
on the selected frame.
(next-error, next-error-internal): Set default value of
next-error-last-buffer. Display message with the name of last
next-error buffer.
(next-error-select-buffer): New command.
(Bug#20489)
Juri Linkov [Wed, 21 Feb 2018 20:37:33 +0000 (22:37 +0200)]
* lisp/vc/vc-dispatcher.el (vc-do-command): Bind message-truncate-lines to t
to keep entire commands in *Messages* but avoid resizing the echo area.
Rephrase messages in a such way that the important parts are
at the beginning. (Bug#19045)
* doc/misc/semantic.texi (Tools): Fix wording and grammar, and
remove a reference to "document-vars.el" which, in the Emacs
repository, is part of lisp/cedet/srecode/document.el.
Paul Eggert [Tue, 20 Feb 2018 21:42:20 +0000 (13:42 -0800)]
Port recent MAX_RW_COUNT checks to POSIX
* src/sysdep.c (MAX_RW_COUNT): Verify that it fits in POSIX standard
types, to go along with already-existing checks for MS-Windows types.
(emacs_intr_read): eassert on all platforms, not just MS-Windows.
Paul Eggert [Tue, 20 Feb 2018 21:42:19 +0000 (13:42 -0800)]
Update from gnulib
This includes:
2018-02-18 warnings: Add support for Objective C
2018-02-03 stdlib: Fix compilation error on OpenIndiana
* lib/gnulib.mk.in: Regenerate.
* lib/stdlib.in.h, m4/getloadavg.m4, m4/stdlib_h.m4, m4/warnings.m4:
Copy from gnulib.
Sam Steingold [Tue, 20 Feb 2018 20:30:51 +0000 (15:30 -0500)]
command-history-mode inherits from special-mode
(command-history-mode-map): Add `special-mode-map' to parents.
(command-history-mode): Parent is `special-mode', not
`fundamental-mode', set `revert-buffer-function'.
(command-history-revert): Define for `revert-buffer-function'.
Eli Zaretskii [Tue, 20 Feb 2018 19:13:29 +0000 (21:13 +0200)]
Improve the "Sending Mail" chapter of Emacs manual
* doc/emacs/sending.texi (Mail Format, Header Editing)
(Mail Aliases): Fix capitalization of mail headers.
(Mail Aliases): Use ~/.mailrc consistently.
(Mail Misc): More accurate description of disposition. Suggested
by Michael Albinus <michael.albinus@gmx.de> in
emacs-manual-bugs@gnu.org.
Glenn Morris [Tue, 20 Feb 2018 15:50:29 +0000 (07:50 -0800)]
Merge from origin/emacs-26
226aca3 (origin/emacs-26) Fix documentation of 'flyspell-auto-correct... a8c8434 * doc/emacs/misc.texi (Saving Emacs Sessions): Fix markup. 275e735 More changes in the Emacs manuals d962be5 More fixes in the Emacs manual 6dc2846 * src/data.c (Faref): Fix a typo in the doc string. (Bug#30510) 36e729f Minor edit in tramp.texi 6537f99 ; Fix oversight from last commit eb94588 ; * doc/emacs/maintaining.texi: Fix two typos. 258135f More improvements in the Emacs manual f138bca Improve documentation of 'electric-pair-mode' f74ab96 ; Spelling and grammar fixes. 42f9dc4 ; * lisp/textmodes/flyspell.el (flyspell-auto-correct-word): ...
Eli Zaretskii [Tue, 20 Feb 2018 04:22:57 +0000 (06:22 +0200)]
Fix documentation of 'flyspell-auto-correct-word'
* lisp/textmodes/flyspell.el (flyspell-get-word): Elaborate in the
doc string on how the function looks for the word to spell-check.
(flyspell-word, flyspell-auto-correct-word): Refer to
'flyspell-get-word' for details about finding the word.
(Bug#30462)
Eli Zaretskii [Mon, 19 Feb 2018 16:14:08 +0000 (18:14 +0200)]
More changes in the Emacs manuals
* doc/emacs/custom.texi (Customization Groups, Browsing Custom)
(Custom Themes, Keymaps, Prefix Keymaps, Modifier Keys)
(Function Keys, Named ASCII Chars, Mouse Buttons, Init Examples):
Fix punctuation. Suggested by Stefan Kamphausen
<stefan.kamphausen@acrolinx.com> in emacs-manual-bugs@gnu.org.
* doc/emacs/basic.texi (Arguments, Repeating): Avoid breaking
commands between lines. Reported by Wojciech Politarczyk
<w.politarczyk@gmail.com> in emacs-manual-bugs@gnu.org.
* doc/emacs/custom.texi (Init Rebinding): Move index entries about
rebinding keys from "Init File". (Bug#30528)
Eli Zaretskii [Sun, 18 Feb 2018 18:52:21 +0000 (20:52 +0200)]
More fixes in the Emacs manual
* doc/emacs/abbrevs.texi (Defining Abbrevs, Expanding Abbrevs)
(Editing Abbrevs, Saving Abbrevs): Insert blank lines between
@item's.
(Expanding Abbrevs): Add 'unexpand-abbrev' to the list of
commands. Suggested by Michael Albinus <michael.albinus@gmx.de>
in emacs-manual-bugs@gnu.org.
Otherwise it breaks C-M-x on (progn (defmacro x ..) (... (x ...))).
Furthermore, many callers do their own macroexpansion anyway.
(elisp--eval-last-sexp): Do macroexpansion to make up for it.
(icalendar-export-region): Remove unused vars 'start', 'sum', and
'contents-n-summary'.
(icalendar--parse-summary-and-rest): Remove unused var 'pos-sum' and 'sum'.
(icalendar--convert-float-to-ical): Use calendar-let* to bind vars
'date' and 'entry'.
(icalendar--convert-non-recurring-all-day-to-diary):
Remove 'event' arg. Update callers.
(icalendar--convert-non-recurring-not-all-day-to-diary): Remove 'event'
and 'dtend-dec' args. Update callers.
Eli Zaretskii [Sat, 17 Feb 2018 17:48:23 +0000 (19:48 +0200)]
More improvements in the Emacs manual
* doc/emacs/maintaining.texi (Xref Commands, Identifier Search)
(List Identifiers): Insert blank lines between @item's in a
@table.
(Etags Regexps): More accurate description of escape sequences.
(Select Tags Table): Prefer "~/emacs.d/init.el" to "~/.emacs".
Suggested by Michael Albinus <michael.albinus@gmx.de> in
emacs-manual-bugs@gnu.org.
Eli Zaretskii [Sat, 17 Feb 2018 17:28:01 +0000 (19:28 +0200)]
Improve documentation of 'electric-pair-mode'
* lisp/elec-pair.el (electric-pair-mode):
* doc/emacs/programs.texi (Matching): Document the operation of
electric-pair-mode when there's an active region. (Bug#30502)
Glenn Morris [Sat, 17 Feb 2018 15:50:28 +0000 (07:50 -0800)]
Merge from origin/emacs-26
e5a2933 (origin/emacs-26) lisp/vc/: documentation fixes f21f8e6 Document 'desktop-files-not-to-save' d8917eb Improve documentation of Profiling features b228839 Improve indexing of "performance" in ELisp manual ab67b3e Minor change in Emacs manual's VC chapter c352434 Avoid memory corruption with specpdl overflow + edebug (Bug#3... 593bbda Document comment-fill-column in the manual (Bug#11636) bd4cc8d * doc/emacs/dired.texi (Marks vs Flags): Copyedits. 69107f3 ; Fix doc typos related to indefinite articles aaad1e6 Merge branch 'emacs-26' of git.savannah.gnu.org:/srv/git/emac... 5906418 More fixes for the Emacs manual 9ab3df1 ; Fix doc typos related to indefinite articles 66a4e65 ; Fix doc typos related to indefinite articles 35e5c57 ; Fix doc typos related to indefinite articles
Noam Postavsky [Mon, 5 Feb 2018 01:43:26 +0000 (20:43 -0500)]
Use pkg-config to find lcms2 CFLAGS and LIBS (Bug#30346)
* configure.ac: Use EMACS_CHECK_MODULES fors LCMS2 rather than
AC_SEARCH_LIBS.
* src/Makefile.in: Get LCMS2_LIBS and LCMS2_CFLAGS from configure,
instead of just LIBLCMS2.
Alan Third [Wed, 14 Feb 2018 20:28:46 +0000 (20:28 +0000)]
Fix modifier key handling on macOS
* configure.ac: Use the Carbon framework on macOS.
* src/nsterm.m (ns_get_shifted_character) [NS_IMPL_COCOA]: New function.
(EmacsView::keyDown) [NS_IMPL_COCOA]: Use ns_get_shifted_character
when we have shift style modifiers.
Eli Zaretskii [Sat, 17 Feb 2018 12:26:49 +0000 (14:26 +0200)]
Make echo-area buffers almost always multibyte
* src/xdisp.c (setup_echo_area_for_printing, set_message_1): Ensure
the echo-area buffer is multibyte, unless
unibyte-display-via-language-environment is non-nil, and the text
we are to display is or could be unibyte. (Bug#30405)
* 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.
Alan Mackenzie [Sat, 17 Feb 2018 09:14:54 +0000 (09:14 +0000)]
Fix the change from 2018-02-15 which didn't mention literals
* doc/emacs/programs.texi (Left Margin Paren): Document that opening
delimiters at column 0 which are inside strings or comments aren't regarded as
defun starts.
Eli Zaretskii [Sat, 17 Feb 2018 08:28:29 +0000 (10:28 +0200)]
Minor change in Emacs manual's VC chapter
* doc/emacs/maintaining.texi (Log Buffer): Mention the "Summary"
header. Suggested by Michael Albinus <michael.albinus@gmx.de> in
emacs-manual-bugs@gnu.org.
Noam Postavsky [Fri, 16 Feb 2018 03:13:51 +0000 (22:13 -0500)]
Avoid memory corruption with specpdl overflow + edebug (Bug#30481)
If grow_specpdl fails due to outgrowing max_specpdl_size, it will
signal an error *before* growing the specpdl array. Therefore, when
handling the signal, specpdl_ptr points past the end of the specpdl
array and any further use of of specpdl before unwinding (e.g., if
edebug binds signal-hook-function) will cause memory corruption.
* src/eval.c (signal_or_quit): Don't call `signal-hook-function' if
the specpdl_ptr is already past the end of the specpdl array.
* test/src/eval-tests.el (eval-tests--exceed-specbind-limit)
(eval-exceed-specbind-with-signal-hook): New test & helper function.
Eli Zaretskii [Fri, 16 Feb 2018 21:37:38 +0000 (23:37 +0200)]
More fixes for the Emacs manual
* doc/emacs/vc1-xtra.texi (Customizing VC): Update the list of
backends.
* doc/emacs/maintaining.texi (Version Control): Add SRC to the
list of VCS. Remove the description of vc-state-refresh.
(Version Control Systems): Update the description of CVS.
(VC Change Log): Amend the list of VCS that don't support
vc0print-root-log.
(VCS Changesets, VCS Repositories, Advanced C-x v v)
(VC Change Log): Mention SRC with RCS where appropriate.
(VC Directory Commands): More accurate description of
vc-dir-hide-up-to-date. Suggested by Michael Albinus
<michael.albinus@gmx.de> in emacs-manual-bugs@gnu.org.
Glenn Morris [Fri, 16 Feb 2018 17:44:04 +0000 (09:44 -0800)]
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
Matthias Dahl [Fri, 16 Feb 2018 15:57:40 +0000 (17:57 +0200)]
Fix wait_reading_process_output wait_proc hang
* src/process.c (read_process_output): Track bytes read from
a process.
(wait_reading_process_output): If called recursively through
timers and/or process filters via accept-process-output, it is
possible that the output of wait_proc has already been read by
one of those recursive calls, leaving the original call hanging
forever if no further output arrives through that fd and no
timeout has been set. Fix that by using the process read
accounting to keep track of how many bytes have been read and
use that as a condition to break out of the infinite loop and
return to the caller as well as to calculate the proper return
value (if a wait_proc is given that is).
* src/process.h (struct Lisp_Process): Add nbytes_read to track
bytes read from a process.
Aaron Jensen [Fri, 16 Feb 2018 15:43:04 +0000 (17:43 +0200)]
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)
Eli Zaretskii [Fri, 16 Feb 2018 10:46:32 +0000 (12:46 +0200)]
Improve the MS-Windows appendix of the Emacs manual
* doc/emacs/msdos.texi (Windows Startup): Describe the pinned
shortcuts for starting Emacs.
(Text and Binary): Minor wording changes.
(Windows Files): Mention 'read-file-name-completion-ignore-case'.
(ls in Lisp): Update the list of supported 'ls' switches.
Document 'ls-lisp-use-string-collate' and
'ls-lisp-UCA-like-collation'.
(Windows HOME): Mention warnings displayed at startup when
deprecated locations of HOME and/or deprecated names for init
files are used.
(Windows Keyboard): Mention delete-selection-mode.
Alan Mackenzie [Thu, 15 Feb 2018 20:58:15 +0000 (20:58 +0000)]
Document open-paren-in-column-0-is-defun-start being of less importance
* doc/emacs/programs.texi (Left Margin Paren): Update to reflect the recent
change in syntax.c, whereby a paren at column 0 is no longer taken as a
beginning of defun in moving backwards over comments.
Eli Zaretskii [Thu, 15 Feb 2018 18:38:13 +0000 (20:38 +0200)]
More improvements for the Emacs manual
* doc/emacs/programs.texi (Basic Indent, Comment Commands): Fix
typos.
* doc/emacs/text.texi (TeX Print, HTML Mode, Enriched Faces): Fix
typos.
* doc/emacs/help.texi (Help Files): Improve @uref usage. Reported
by Stefan Kamphausen <stefan.kamphausen@acrolinx.com> in
emacs-manual-bugs@gnu.org.
* doc/emacs/fortran-xtra.texi (ForIndent Commands): Fix a typo.
(ForIndent Commands, Fortran Columns): Add empty lines between
@items in a @table.
(ForIndent Cont, ForIndent Num, Fortran Columns): Mention
'column-number-indicator-zero-based'.
(ForIndent Vars): Fix a typo.
(Fortran Comments): Fix punctuation.
(ForIndent Cont, Fortran Autofill): Fix markup of keyboard input.
* doc/emacs/programs.texi (Comments): Fix a typo.
(Comment Commands): More accurate description of the commands.
(Options for Comments): Don't mention "hook".
(Man Page): Prefer "M-x man" if available.
(Hideshow): Fix the command key sequence.
(Semantic): Update supported languages.
(Semantic, Hungry Delete, Other C Commands): Fix markup of
commands.
(Misc for Programs): Fix a typo.
(Electric C, Hungry Delete): More accurate description of
mode-line lighters of CC submodes.
(Asm Mode): Add empty lines between @items in a @table.
* doc/emacs/programs.texi (Program Modes): Add a few more modes.
Reported by Michael Albinus <michael.albinus@gmx.de> in
emacs-manual-bugs@gnu.org.
* doc/emacs/msdos.texi (Windows Misc): A minor rewording.
Suggested by Isaac Carter <icarter1391@gmail.com> in
emacs-manual-bugs@gnu.org.
Eli Zaretskii [Wed, 14 Feb 2018 19:00:59 +0000 (21:00 +0200)]
Another set of changes for the manual
* doc/emacs/programs.texi (Program Indent): Add a cross-reference
to elisp's description of 'pp'.
(Program Modes): Add a few more programming modes. Add index
entries.
(Basic Indent, Multi-line Indent, C Indent, Comment Commands)
(Manipulating Comments): Fix markup of keyboard commands.
* doc/emacs/search.texi (Regexps): Add an example with non-ASCII
characters. Suggested by Michael Albinus <michael.albinus@gmx.de>
in emacs-manual-bugs@gnu.org.
* doc/lispref/display.texi (Display Tables): Fix the description
of the 5th extra slot of the display table. (Bug#13473)
Michael Albinus [Wed, 14 Feb 2018 08:28:33 +0000 (09:28 +0100)]
Improvements on tramp.texi
* doc/misc/tramp.texi: Use Tramp version in title. Further
improvements on user option indexing. Finish command examples
with @key{RET} where appropriate.
(Remote processes): Use 'M-&' for invocation of async shell.
(Frequently Asked Questions): Add example with simplified syntax.