Mark Oteiza [Tue, 18 Oct 2016 22:05:51 +0000 (18:05 -0400)]
Add an option for eshell-input-filter
* etc/NEWS: Document changes.
* lisp/eshell/em-hist.el (eshell-input-filter): Set value to function
symbol. Change type to a radio for choosing functions. Refer to both
new functions.
(eshell-input-filter-default): New function. Same body as the previous
value of eshell-input-filter.
(eshell-input-filter-initial-space): New function.
Paul Eggert [Tue, 18 Oct 2016 16:36:03 +0000 (09:36 -0700)]
delete-directory no longer errors when racing
Problem reported by Glenn Morris for package-test.el (Bug#24714).
* doc/lispref/files.texi (Create/Delete Dirs), etc/NEWS: Document this.
* lisp/files.el (files--force): New function.
(delete-directory): Use it to avoid error in this case.
Yuri Khan [Tue, 18 Oct 2016 06:42:54 +0000 (09:42 +0300)]
Support Shift selection in nxml-mode commands
* lisp/nxml/nxml-mode.el (nxml-forward-balanced-item)
(nxml-up-element, nxml-backward-up-element, nxml-down-element)
(nxml-backward-down-element, nxml-forward-element)
(nxml-backward-element, nxml-forward-paragraph)
(nxml-backward-paragraph): Use "^p" as the interactive spec, to
support shift-selection.
Mark Oteiza [Tue, 18 Oct 2016 05:53:22 +0000 (01:53 -0400)]
Simplify some loops and cons
* lisp/net/mailcap.el: Replace cl with cl-lib.
(mailcap--get-user-mime-data, mailcap--set-user-mime-data):
(mailcap-parse-mailcaps, mailcap-parse-mailcap-extras):
(mailcap-possible-viewers): Use push and dolist where possible.
(mailcap-viewer-passes-test): Remove unused binding.
(mailcap-add-mailcap-entry): Use push.
(mailcap-mime-info): Remove unused binding. Use push.
(mailcap-parse-mimetypes): Use dolist.
Mark Oteiza [Mon, 17 Oct 2016 18:31:31 +0000 (14:31 -0400)]
Turn on lexical-binding in auth-source
* lisp/auth-source.el: Turn on lexical-binding.
(auth-source-netrc-parse, auth-source-netrc-normalize):
(auth-source-token-passphrase-callback-function):
(auth-source-netrc-create, auth-source-secrets-search):
(auth-source-macos-keychain-search-items):
(auth-source-plstore-search): Use let instead of lexical-let.
Martin Rudalics [Mon, 17 Oct 2016 08:52:01 +0000 (10:52 +0200)]
Fix frame focus redirection with shared minibuffer windows (Bug#24500)
* src/frame.c (do_switch_frame): Redirect frame focus also when
the frame switched to has its minibuffer window on the selected
frame.
* src/window.c (candidate_window_p): To qualify as candidate
it's not sufficient for the window's frame to just share the
minibuffer window - it must be active as well.
Eli Zaretskii [Mon, 17 Oct 2016 07:19:34 +0000 (10:19 +0300)]
Fix time-related data types in 2 editfns.c functions
* src/editfns.c (format_time_string, Fcurrent_time_zone): Pass a
pointer to 'time_t' value to 'emacs_localtime_rz' and 'gmtime_r',
instead of relying on struct timespec's 'tv_sec' member to be of
compatible type.
Martin Rudalics [Mon, 17 Oct 2016 06:57:24 +0000 (08:57 +0200)]
Document atomic windows in Elisp manual (Bug#18170)
* lisp/window.el (display-buffer-in-atom-window): If no `side'
alist entry was specified, use `below' as the doc tells.
* doc/lispref/elisp.texi (Atomic Windows): Add menu entry.
* doc/lispref/windows.texi (Atomic Windows): New section.
(Window Parameters): Update reference.
Paul Eggert [Mon, 17 Oct 2016 01:48:19 +0000 (18:48 -0700)]
New face homoglyph
Suggested by Eli Zaretskii, from a feature request by
Alan Mackenzie (Bug#24468).
* doc/emacs/display.texi (Standard Faces, Text Display):
* etc/NEWS: Document this.
* etc/themes/dichromacy-theme.el, etc/themes/leuven-theme.el:
* etc/themes/light-blue-theme.el, etc/themes/manoj-dark-theme.el:
* etc/themes/tango-dark-theme.el, etc/themes/tango-theme.el:
* etc/themes/wombat-theme.el:
Customize homoglyph to be the same as escape-glyph.
* lisp/cus-theme.el (custom-theme--listed-faces):
Add homoglyph.
* lisp/faces.el (homoglyph): New face.
* lisp/startup.el (startup--setup-quote-display): Use it.
Paul Eggert [Sun, 16 Oct 2016 23:25:47 +0000 (16:25 -0700)]
Port to Ubuntu 16.10, which needs gcc -nopie
* configure.ac (emacs_cv_prog_cc_no_pie): Rename from
emacs_cv_prog_cc_nopie. All usages changed. Check for -no-pie in
preference to -nopie (Bug#24682).
Sam Steingold [Sun, 16 Oct 2016 03:14:48 +0000 (23:14 -0400)]
Save and restore buffer-display-time
* desktop.el (desktop-locals-to-save): Add `buffer-display-time'
(desktop-read): Set `desktop-file-modtime' before loading the desktop file
(desktop-create-buffer): Adjust `buffer-display-time' for the downtime
Philipp Stephani [Sat, 15 Oct 2016 13:19:56 +0000 (15:19 +0200)]
Disable bracketed paste in a terminal in char mode
In char mode, a terminal doesn't accept bracketed paste events,
therefore we should disable them; see Bug#24639. To decouple the XTerm
management from term.el, introduce a per-buffer setting to disable
bracketed paste for that buffer. If bracketed paste is inhiited for at
least one buffer in a terminal, it is disabled for the whole terminal.
* term/xterm.el (xterm-inhibit-bracketed-paste-mode): New mode to
inhibit XTerm bracketed paste per buffer.
(xterm--buffer-terminals, xterm--update-bracketed-paste)
(xterm--bracketed-paste-possible, xterm--is-xterm): New helper
functions.
(xterm--init-bracketed-paste-mode): Remove unused helper
function.
(terminal-init-xterm): Update bracketed paste status when
initializing an XTerm and on window configuration change.
Simen Heggestøyl [Sat, 15 Oct 2016 09:23:26 +0000 (11:23 +0200)]
Add tests for foreign completions in CSS mode
* test/lisp/textmodes/css-mode-tests.el
(css-test-foreign-completions): New test for
`css--foreign-completions'.
(css-test-complete-selector-tag): Rename test.
(css-test-complete-selector-class): New test testing completion of
class names in selectors.
(css-test-complete-selector-id): New test testing completion of IDs in
selectors.
Fix problem with submitting binary data via HTTP forms
* lisp/gnus/mm-url.el (mm-url-encode-multipart-form-data):
Document the parameters, clean up the code, and make uploading
binary data really work (which it didn't if the binary bits
were in the last part of the data).
Mark Oteiza [Thu, 13 Oct 2016 18:29:32 +0000 (14:29 -0400)]
Derive Man and WoMan modes from special-mode
* lisp/man.el (Man-mode-map): Set parent to map composed from both
button-buffer-map and special-mode-map. Remove redundant bindings.
Fix menu to refer to the quit-window command.
(Man-mode): Derive from special-mode. Fix docstring. Remove redundant
buffer-read-only binding.
(Man-quit): Remove.
* lisp/woman.el (woman-really-find-file): Use setq-local.
(woman-mode-map): Refer to woman-mode in docstring.
(woman-mode): Derive from special-mode. Document woman-mode-map in
docstring. Use setq-local where possible; imenu-generic-expression is
already buffer-local.
(woman-negative-vertical-space): Replace unused binding with _.
Eli Zaretskii [Mon, 10 Oct 2016 16:22:40 +0000 (19:22 +0300)]
Fix compilation warnings on MS-Windows
* src/w32.c (_ANONYMOUS_UNION, _ANONYMOUS_STRUCT): Remove
definitions of these macros, which seem to be unneeded and cause
compiler warnings.
* src/fileio.c (NOMINMAX): Avoid compiler warnings about unused
macros.
* src/firstfile.c (dummy_main_reference): Rename from 'dummy' and
make it external, to avoid compiler warning.
Paul Eggert [Mon, 10 Oct 2016 14:39:05 +0000 (07:39 -0700)]
Merge from origin/emacs-25
4f406e9 CC Mode manual: remove reference to former Emacs variable las... 44e402e Allow to disable compaction of font caches 4ff4b66 Allow selection of font for symbols as in Emacs 24.x c03d44b ; Fix last commit d4be4f3 ; Fix indexing in lispref manual ed399f2 ; Minor improvement in documentation of generators 197a6bc Fix horizontal scrolling during Isearch 3566644 Fix infloop in redisplay due to truncated lines and invisible...
Paul Eggert [Mon, 10 Oct 2016 14:35:33 +0000 (07:35 -0700)]
; Merge from origin/emacs-25
The following commits were skipped:
a6e0a67 gitmerge: Add cherry pick to gitmerge-skip-regexp fb12af2 ; Merge: some backports from master 6234012 Don't require isearch-update before isearch-done 5e50114 Avoid error in icalendar--read-element ace9d22 Make a menu less ambiguous e683495 Doc fix for url-http
Paul Eggert [Mon, 10 Oct 2016 14:35:33 +0000 (07:35 -0700)]
; Merge from origin/emacs-25
The following commits were skipped:
34b6df1 Fix compilation with MinGW runtime 3.22.2 and w32api 3.18.2 4ef9ea2 Add documentation note from Alex 9d6026d * src/alloc.c: call only non-null finalizers
Paul Eggert [Mon, 10 Oct 2016 14:35:32 +0000 (07:35 -0700)]
Merge from origin/emacs-25
4b347fe Clarify that doc fixes are okay in feature freeze 01669ad Avoid crashes when setting the cursor f2144ee Restore 'command-debug-status' functionality ec6e4b9 ; Minor addition to CONTRIBUTE
Paul Eggert [Mon, 10 Oct 2016 14:35:31 +0000 (07:35 -0700)]
; Merge from origin/emacs-25
The following commits were skipped:
6234012 Don't require isearch-update before isearch-done 5e50114 Avoid error in icalendar--read-element ace9d22 Make a menu less ambiguous e683495 Doc fix for url-http
Eli Zaretskii [Sat, 8 Oct 2016 19:31:14 +0000 (22:31 +0300)]
Allow to disable compaction of font caches
* src/font.c (syms_of_font) <inhibit-compacting-font-caches>: New
boolean variable.
* src/alloc.c (compact_font_caches): Use it to bypass the call to
compact_font_cache_entry. (Bug#24634) (Bug#24565)
Eli Zaretskii [Sat, 8 Oct 2016 19:03:51 +0000 (22:03 +0300)]
Allow selection of font for symbols as in Emacs 24.x
* src/fontset.c (syms_of_fontset) <use-default-font-for-symbols>:
New boolean variable.
(face_for_char): Use it to fall back to pre-Emacs 25.1 behavior
when selecting fonts for displaying symbol and punctuation
characters. (Bug#24644)
Eli Zaretskii [Sat, 8 Oct 2016 14:16:33 +0000 (17:16 +0300)]
; Fix last commit
* doc/lispref/functions.texi (Argument List): Restore the index
entry for 'wrong-number-of-arguments'. (Bug#24222)
* doc/lispref/errors.texi: Fix cross-reference for
'wrong-number-of-arguments'.
Alain Schneble [Sat, 8 Oct 2016 13:52:40 +0000 (16:52 +0300)]
Support SIGTRAP in kill emulation on Windows
* src/w32proc.c (sys_kill): Translate SIGTRAP signal into a call to
'DebugBreakProcess' to cause a breakpoint exception to occur in the
specified process. On Windows versions prior to Windows XP that do
not support 'DebugBreakProcess' return -1 and set errno to ENOTSUP
(as opposed to EINVAL before this change).
* src/w32proc.c: Add typedef for 'DebugBreakProcess' function pointer
and global variable to track state of run-time dynamic linking of this
function.
* etc/NEWS: Add entry to document that 'signal-process' now supports
SIGTRAP.
Laimonas Vėbra [Sat, 8 Oct 2016 12:15:22 +0000 (15:15 +0300)]
Extend dictionary and library-directory handling for Ispell
* lisp/textmodes/ispell.el (ispell-check-version): Allow
overriding LIBDIR via the variable defined by LIBRARYVAR (usually
ISPELL_DICTDIR).
(ispell-valid-dictionary-list): If the -d option to Ispell
specifies an absolute file name, use that regardless of
ispell-library-directory. (Bug#24439)
Eli Zaretskii [Sat, 8 Oct 2016 07:52:52 +0000 (10:52 +0300)]
Fix infloop in redisplay due to truncated lines and invisible text
* src/xdisp.c (forward_to_next_line_start): Don't call
'get_next_display_element' after finding the end of line. This
avoids setting the row's end position to the wrong value when the
next screen line begins with invisible text; that wrong value
caused set_cursor_from_row position the cursor in the wrong screen
line, and eventually triggered bug#24109.
Eli Zaretskii [Thu, 6 Oct 2016 15:11:43 +0000 (18:11 +0300)]
Fix compilation with MinGW runtime 3.22.2 and w32api 3.18.2
* nt/inc/ms-w32.h (_WIN32_WINNT) [!MINGW_W64]: Undefine before
defining to avoid redefinition warnings.
* nt/inc/sys/stat.h (_SYS_STAT_H, _INC_STAT_H): Define, to avoid
inclusion of sys/stat.h from the system headers, which could then
lead to compilation errors due to redefinition of 'struct stat'
etc. This is needed because latest versions of MinGW runtime
include sys/stat.h from wchar.h.
* src/image.c (__MINGW_MAJOR_VERSION) [WINDOWSNT]: Temporarily
redefine to 4 to avoid conflict between 2 definitions of
MemoryBarrier. (Bug#24613)
Eli Zaretskii [Thu, 6 Oct 2016 15:08:31 +0000 (18:08 +0300)]
Fix compilation with MinGW runtime 3.22.2 and w32api 3.18.2
* nt/inc/ms-w32.h (_WIN32_WINNT) [!MINGW_W64]: Undefine before
defining to avoid redefinition warnings.
* nt/inc/sys/stat.h (_SYS_STAT_H, _INC_STAT_H): Define, to avoid
inclusion of sys/stat.h from the system headers, which could then
lead to compilation errors due to redefinition of 'struct stat'
etc. This is needed because latest versions of MinGW runtime
include sys/stat.h from wchar.h.
* src/image.c (__MINGW_MAJOR_VERSION) [WINDOWSNT]: Temporarily
redefine to 4 to avoid conflict between 2 definitions of
MemoryBarrier. (Bug#24613)
lisp/net/ntlm.el: Match Mozilla Type 1 and 3 message behavior
* lisp/net/ntlm.el (ntlm-build-auth-request): Only set
"negotiate domain supplied" bit when a domain is supplied. Do
not set "negotiate workstation supplied" bit.
(ntlm-build-auth-response): Set domain to empty string by
default. Set workstation name to "WORKSTATION". Set flags to
logical and of Type 1 and Type 2 message flags. Remove four
trailing 0 bytes. Always set LM response. Hard-code domain
offset. Reorder buffer fields.
Martin Rudalics [Wed, 5 Oct 2016 14:12:19 +0000 (16:12 +0200)]
Document return value of `display-buffer-in-side-window'
* doc/lispref/windows.texi (Displaying Buffers in Side Windows):
* lisp/window.el (display-buffer-in-side-window): Describe
return value of `display-buffer-in-side-window'.
Eli Zaretskii [Wed, 5 Oct 2016 13:01:19 +0000 (16:01 +0300)]
Improve wording in side windows documentation
* doc/lispref/windows.texi (Displaying Buffers in Side Windows)
(Side Window Options and Functions)
(Frame Layouts with Side Windows): Minor wording improvements.
Martin Rudalics [Wed, 5 Oct 2016 08:28:36 +0000 (10:28 +0200)]
Document and fix some bugs with side windows
Add a documentation for side windows and fix some bugs
found when testing their behavior. Also add a new window
parameter `no-delete-other-window', a new `display-buffer'
alist member called `window-parameters', and functions to
toggle and reverse side windows on a frame. Add new function
`window-swap-states' to exchange states of two live windows.
* lisp/window.el (display-buffer-in-atom-window): Use
`split-window-no-error'.
(window-sides-vertical): Maybe change layouts when setting this
variable.
(window-sides-reversed): New option.
(window-sides-slots): Rewrite doc-string and help echoes.
(window-sides-shown): New buffer-local variable set when showing
a buffer in a side window.
(window--sides-inhibit-check): New variable.
(window--sides-reverse-on-frame-p, window-toggle-side-windows)
(window--sides-reverse-all, window--sides-reverse-frame)
(window--sides-reverse-side, window--sides-reverse)
(window--sides-verticalize-frame, window--sides-verticalize)
(window--sides-check-failed): New functions.
(window--side-window-p): Remove function.
(window--major-non-side-window): Rename to `window-main-window',
adjust callers, rewrite doc-string.
(window--major-side-window): Rename to
`window--make-major-side-window-next-to', adjust caller, fix
doc-string.
(display-buffer-in-major-side-window): Rename to
`window--make-major-side-window', adjust
caller, rewrite doc-string. Make `window-side' and
`window-slot' parameters persistent (Bug#23858). Don't set
`delete-window' parameter. Add `preserve-size' entry to ALIST.
(delete-side-window): Remove function.
(display-buffer-in-side-window): Fix doc-string. Don't set
`delete-window' parameter. Add `preserve-size' entry to ALIST.
(window--side-check): Rename to window--sides-check. Rewrite
completely. Adjust caller.
(window-resize-no-error): Don't describe PIXELWISE argument.
(adjust-window-trailing-edge): Fix bug that disallowed
re-enlarging windows that were too small.
(window-deletable-p): Don't tell that a minibuffer window on a
non-minibuffer-only frame can be deleted. Fix doc-string.
(delete-window): Handle deleting a side window here (the
`delete-window' parameter is no more set for side windows).
(delete-other-windows): Handle ‘no-delete-other-window'
parameter. Don't treat side windows separately (see discussion
of Bug#24368) but keep optimization that makes the main window
the root window of its frame.
(switch-to-prev-buffer, switch-to-next-buffer): Handle side
windows and buffers shown in side windows separately.
(split-window-no-error): New function.
(window--state-get-1): Use right buffer when storing window
point and start positions and WRITABLE is nil (Bug#24368).
(window--state-put-1): Fix handling of `window-combination-limit'.
Use `split-window-no-error'.
(window--state-put-2): Try to restore windows with preserved
size to their original size. Fix bug where a fixed window's width
was not preserved.
(window-state-put): When reducing an internal window to a live
one, don't choose a side window.
(window-swap-states): New function.
(window-splittable-p): Don't call `window--side-window-p'.
(window--display-buffer): Handle `window-parameters' ALIST entry.
Minor rewrite.
(display-buffer): Mention `window-parameters' entry in
doc-string.
(display-buffer-at-bottom): Call `split-window-no-error'.
* doc/lispref/elisp.texi (Top): New section "Side Windows".
* doc/lispref/windows.texi (Deleting Windows): Fix descriptions
of `delete-window' and `delete-other-windows' wrt window
parameters and side windows.
(Display Action Functions): Mention `window-parameters' ALIST
entry.
(Side Windows): New section (Bug#18170).
(Window Configurations): Describe new function `window-swap-states'.
(Window Parameters): Say that functions may behave specially when
their homonymous window parameter has been set. Mention new
parameter `no-delete-other-window'. Add cross reference for
`window-side' and `window-slot' parameters.
Karl Fogel [Tue, 4 Oct 2016 21:03:27 +0000 (16:03 -0500)]
Clarify that doc fixes are okay in feature freeze
* CONTRIBUTE (branches): Explain that doc fixes are always safe, even
on a release branch in feature freeze. Tweak wording of paragraph
after that to avoid a misleading contrast.
Eli Zaretskii [Tue, 4 Oct 2016 19:12:08 +0000 (22:12 +0300)]
Avoid crashes when setting the cursor
* src/xdisp.c (display_and_set_cursor): Don't index glyphs of a
glyph row if hpos is out of valid bounds. This avoids crashes in
some rare cases. (Bug#24614)
Mark Oteiza [Tue, 4 Oct 2016 14:17:53 +0000 (10:17 -0400)]
Avoid dynamic binding on a symbol
Instead, bind history in the default minibuffer-history.
Fixes bug#24580.
* lisp/replace.el (query-replace-read-from): Let-bind
minibuffer-history. Change read-regexp and read-from-minibuffer's
HISTORY arguments to nil so that they use minibuffer-history.
Karl Fogel [Mon, 3 Oct 2016 00:47:27 +0000 (19:47 -0500)]
Document yank behavior in the right place
* lisp/simple.el (yank): Document the handling of the
`yank-handled-properties' and `yank-excluded-properties' variables,
and the `yank-handler' text property.
(yank-pop): Refer to `yank' now (bug#286)
* lisp/subr.el (insert-for-yank): Refer to `yank' now.
(insert-for-yank-1): Refer to `insert-for-yank' now.
See this thread for discussion:
https://lists.gnu.org/archive/html/emacs-devel/2016-09/threads.html#00329
From: Karl Fogel
To: Emacs Devel
Subject: Question about intended behavior of 'insert-for-yank-1'.
Date: Mon, 12 Sep 2016 00:17:14 -0500
Message-ID: <874m5lr92d.fsf@red-bean.com>
* src/fileio.c (Finsert_file_contents): Run before-change-hooks before
deleting the old buffer content.
* src/lisp.h (del_range_byte):
* src/insdel.c (del_range_byte): Drop the last argument.
* src/fns.c (Fbase64_encode_region): Adjust accordingly.
Tino Calancha [Mon, 3 Oct 2016 12:16:00 +0000 (21:16 +0900)]
Ibuffer: 'w' and 'B' default to buffer at current line
See discussion in:
https://lists.gnu.org/archive/html/emacs-devel/2016-09/msg00384.html
* lisp/ibuffer.el (ibuffer--near-buffers): New defun;
return buffers near current line.
* lisp/ibuf-ext.el (ibuffer-copy-buffername-as-kill): Use it.
Add argument ARG; if a non-zero integer, return next ARG buffers.
Otherwise return the marked buffers.
If there are not marked buffers, return buffer at current line
without prompting the user.
Use ibuffer-get-marked-buffers instead of ibuffer-map-marked-lines.
Append to kill ring when last command was a kill-region.
(ibuffer-copy-filename-as-kill): Idem.
Simplify the code.
Use ibuffer-buffer-file-name instead of buffer-file-name to
include buffers in Dired mode.
Tino Calancha [Mon, 3 Oct 2016 11:02:54 +0000 (20:02 +0900)]
dired-mark-extension: Unmark if called with C-u prefix
See discussion in #Bug2518 and:
https://lists.gnu.org/archive/html/emacs-devel/2016-09/msg00711.html
* lisp/dired-x.el (dired-mark-extension):
Update interactive calls: a prefix arg C-u unmark files;
a prefix C-u C-u prompt for MARKER-CHAR and mark files with it.
(dired-mark-sexp):
Show in the prompt that we are unmarking if called with a prefix argument.
* doc/misc/dired-x.texi (Advanced Mark Commands):
Update documentation for 'dired-mark-extension'.
Karl Fogel [Mon, 3 Oct 2016 00:47:27 +0000 (19:47 -0500)]
Document yank behavior in the right place
* lisp/simple.el (yank): Document the handling of the
`yank-handled-properties' and `yank-excluded-properties' variables,
and the `yank-handler' text property.
(yank-pop): Refer to `yank' now (bug#286)
* lisp/subr.el (insert-for-yank): Refer to `yank' now.
(insert-for-yank-1): Refer to `insert-for-yank' now.
See this thread for discussion:
https://lists.gnu.org/archive/html/emacs-devel/2016-09/threads.html#00329
From: Karl Fogel
To: Emacs Devel
Subject: Question about intended behavior of 'insert-for-yank-1'.
Date: Mon, 12 Sep 2016 00:17:14 -0500
Message-ID: <874m5lr92d.fsf@red-bean.com>
Philipp Stephani [Sat, 10 Sep 2016 08:16:32 +0000 (10:16 +0200)]
Restart blink cursor timers on interval changes
This prevents surprising behavior when timer interval customizations are
only applied whenever the timers happen to be restarted (see Bug#24372).
* lisp/frame.el (blink-cursor--start-idle-timer)
(blink-cursor--start-timer): New functions.
(blink-cursor-start, blink-cursor-check, blink-cursor-mode): Use
the new helper functions.
(blink-cursor-delay, blink-cursor-interval): Restart timers when
the value is changed.
It is useful to be able to call `isearch-done' unconditionally to
ensure a non-isearching state.
* lisp/isearch.el (isearch-done): Check that `isearch--current-buffer'
is a live buffer before using it (Bug #21091).
* test/lisp/isearch-tests.el (isearch--test-done): Test it.
* lisp/calendar/icalendar.el (icalendar--read-element): Avoid a regex
stack overflow by not using regex to extract values from calendar
events. (Bug#24315)
The second argument of `run-with-idle-timer' is Boolean, i.e. only nil
and non-nil values are distinguished. Passing a number here is
confusing. Pass a descriptive symbol instead.
* lisp/frame.el (blink-cursor-mode, blink-cursor-check): Use
:repeat symbol instead of number for second argument of
`run-with-idle-timer'
Philipp Stephani [Tue, 27 Sep 2016 18:47:23 +0000 (20:47 +0200)]
Make querying to kill processes customizable
Introduce a new customization option, `confirm-kill-processes', that
users can set to nil if they don't want Emacs to nag them about killing
processes.
* lisp/files.el (confirm-kill-processes): New customization option.
(save-buffers-kill-emacs): Use customization option.
* test/lisp/files-tests.el
(files-test--save-buffers-kill-emacs--confirm-kill-processes): Add
test for new customization option.
* doc/emacs/entering.texi (Exiting): Document new user option.
* doc/lispref/processes.texi (Query Before Exit): Document new
user option.
Eli Zaretskii [Sat, 1 Oct 2016 08:14:05 +0000 (11:14 +0300)]
Bump Emacs version to 26.0.50
* README:
* configure.ac:
* etc/NEWS:
* etc/refcards/ru-refcard.tex:
* msdos/sed2v2.inp:
* src/msdos.c: Increment Emacs version to 26.0.50.
* etc/NEWS.25: New file, copied from etc/NEWS with post-25.1 stuff
moved to etc/NEWS.
Eli Zaretskii [Sat, 1 Oct 2016 07:12:53 +0000 (10:12 +0300)]
Avoid compilation warning on MinGW
* src/w32.c: Include string.h, needed for the prototype of
'strerror', shadowed by 'sys_strerror'. This avoids a compiler
warning about "no previous prototype". The string.h header
must be included after ms-w32.h, but before "#undef strerror".
Paul Eggert [Fri, 30 Sep 2016 19:14:04 +0000 (12:14 -0700)]
Limit <config.h>’s includes
This follows up on recent problems with the fact that config.h
includes stdlib.h etc.; some files need to include stdlib.h later.
config.h generally should limit itself to includes that are
universally safe; outside of MS-Windows, only stdbool.h makes
the cut among the files currently included. So, move the
other includes to just the files that need them (Bug#24506).
* configure.ac (config_opsysfile): Remove, as this generic hook
is no longer needed.
* lib-src/etags.c, src/unexmacosx.c, src/w32.c, src/w32notify.c:
* src/w32proc.c (_GNU_SOURCE):
Remove, as it’s OK for config.h to do this now.
* src/conf_post.h: Include <ms-w32.h>, instead of the generic
config_opsysfile, for simplicity as this old way of configuring is
now done only for the MS-Windows port. Do not include <ms-w32.h>
if DEFER_MS_W32_H, for the benefit of the few files that want its
effects later. Do not include <alloca.h>, <string.h>, or
<stdlib.h>. Other files modified to include these headers as
needed, or to not include headers that are no longer needed.
* src/lisp.h: Include <alloca.h> and <string.h> here, since
some of the inline functions need them.
* src/regex.c: Include <alloca.h> if not emacs. (If emacs,
we can rely on SAFE_ALLOCA.) There is no longer any need to
worry about HAVE_ALLOCA_H.
* src/unexmacosx.c: Rely on config.h not including stdlib.h.
* src/w32.c, src/w32notify.c, src/w32proc.c (DEFER_MS_W32_H):
Define before including <config.h> first, and include <ms-w32.h>
after the troublesome headers.
* src/eval.c (syms_of_eval) <debugger-stack-frame-as-list>: New
variable.
* lisp/cus-start.el (standard): Add debugger-stack-frame-as-list.
* lisp/emacs-lisp/debug.el (debugger-setup-buffer): Adjust
backtrace processing for the value of debugger-stack-frame-as-list.
* lisp/emacs-lisp/edebug.el (edebug-backtrace): Adjust backtrace
processing for the value of debugger-stack-frame-as-list.
* doc/lispref/debugging.texi (Internals of Debugger): Document
debugger-stack-frame-as-list.
* etc/NEWS: Mention 'debugger-stack-frame-as-list'.