Philipp Stephani [Sun, 30 Oct 2016 17:27:53 +0000 (18:27 +0100)]
Fix typo
Philipp Stephani [Thu, 27 Oct 2016 22:04:17 +0000 (00:04 +0200)]
Merge branch 'master' into concurrency-libtask
Philipp Stephani [Thu, 27 Oct 2016 21:14:19 +0000 (23:14 +0200)]
Support for context switching using pthreads
Experimental, doesn’t work yet
Mark Oteiza [Thu, 27 Oct 2016 15:32:28 +0000 (11:32 -0400)]
Fix avl-tree alias docstrings
* lisp/emacs-lisp/avl-tree.el (avl-tree--node-branch):
(avl-tree-stack-p, avl-tree-create):
(avl-tree-compare-function): Add calling convention to docstrings.
Paul Eggert [Thu, 27 Oct 2016 15:27:13 +0000 (08:27 -0700)]
Update from gnulib
This incorporates:
2016-10-16 qsort_r: Fix macrology for platforms that lack the function.
2016-10-13 stdint: port SIZE_MAX to glibc s390
2016-10-11 maint: remove stray space after "." in AC_DEFINE comment.
* lib/gnulib.mk: Regenerate.
* lib/stdlib.in.h, m4/st_dm_mode.m4, m4/stdint.m4, m4/stdlib_h.m4:
* m4/utimes.m4: Copy from gnulib.
Paul Eggert [Thu, 27 Oct 2016 15:05:24 +0000 (08:05 -0700)]
electric-quote-chars fixups
* lisp/electric.el (electric-quote-chars): Check types and safety
more carefully.
(electric-quote-post-self-insert-function): Use more-mnemonic locals.
Omit no-longer-necessary runtime error diagnostic.
Göktuğ Kayaalp [Thu, 27 Oct 2016 15:05:24 +0000 (08:05 -0700)]
New user variable 'electric-quote-chars'
* doc/emacs/text.texi (Quotation Marks), etc/NEWS: Document this.
* lisp/electric.el (electric-quote-chars): New defcustom.
(electric-quote-post-self-insert-function): Use it.
Paul Eggert [Thu, 27 Oct 2016 15:04:28 +0000 (08:04 -0700)]
; Spelling fix
Tino Calancha [Thu, 27 Oct 2016 09:06:54 +0000 (18:06 +0900)]
Add more tests for Bug#24627
* test/lisp/thingatpt-tests.el (thing-at-point-bug24627):
Add tests for 'list-at-point'.
Philipp Stephani [Wed, 26 Oct 2016 21:32:35 +0000 (23:32 +0200)]
Merge branch 'concurrency-libtask' of git.sv.gnu.org:/srv/git/emacs into concurrency-libtask
Philipp Stephani [Wed, 26 Oct 2016 21:30:38 +0000 (23:30 +0200)]
Revert change in fd_handler.
Crashes Emacs on macOS and shouldn’t be needed anyway as fd_handler runs
in a background thread.
Philipp Stephani [Tue, 25 Oct 2016 23:38:41 +0000 (01:38 +0200)]
Fix format specifiers
Philipp Stephani [Tue, 25 Oct 2016 23:38:16 +0000 (01:38 +0200)]
Add missing defsubr
Philipp Stephani [Tue, 25 Oct 2016 21:42:41 +0000 (23:42 +0200)]
Transfer signals to main coroutine
Philipp Stephani [Tue, 25 Oct 2016 21:41:20 +0000 (23:41 +0200)]
Remove wrong assertion
It’s totally fine to free a channel that still buffers something.
Philipp Stephani [Tue, 25 Oct 2016 21:40:34 +0000 (23:40 +0200)]
malloc is redefined by config.h
But we need to define emacs as preprocessor symbol, not just EMACS.
Philipp Stephani [Tue, 25 Oct 2016 21:40:09 +0000 (23:40 +0200)]
Support for Windows fibers
Philipp Stephani [Sat, 22 Oct 2016 16:27:16 +0000 (18:27 +0200)]
WIP: CSP based on libtask
Philipp Stephani [Sun, 16 Oct 2016 18:22:24 +0000 (20:22 +0200)]
Clarify the behavior of minor mode commands
See Bug#24706.
* doc/lispref/modes.texi (Minor Mode Conventions): Clarify behavior when
the argument to a minor mode command is not an integer.
* lisp/emacs-lisp/easy-mmode.el (define-minor-mode): Clarify behavior
when ARG is not an integer.
* test/lisp/emacs-lisp/easy-mmode-tests.el: New file with unit tests.
Philipp Stephani [Wed, 26 Oct 2016 21:30:38 +0000 (23:30 +0200)]
Revert change in fd_handler.
Crashes Emacs on macOS and shouldn’t be needed anyway as fd_handler runs
in a background thread.
Filipp Gunbin [Wed, 26 Oct 2016 18:31:12 +0000 (14:31 -0400)]
* lisp/shell.el (shell--unquote&requote-argument): Match data misuse
* lisp/shell.el (shell--unquote&requote-argument): Fix
off-by-one thinko. Don't use match data after a failed string-match.
Paul Eggert [Wed, 26 Oct 2016 06:04:21 +0000 (23:04 -0700)]
* src/xwidget.c (webkit_js_to_lisp): Now static.
Ricardo Wurmus [Wed, 26 Oct 2016 06:00:35 +0000 (23:00 -0700)]
xwidget: Map "previous-line" and "next-line" to scroll
* lisp/xwidget.el: Map "previous-line" and "next-line" to scrolling
procedures.
Ricardo Wurmus [Wed, 26 Oct 2016 06:00:35 +0000 (23:00 -0700)]
xwidget: Bind "beginning-of-buffer" and "end-of-buffer"
* lisp/xwidget.el: Rebind "beginning-of-buffer" and "end-of-buffer" to
"xwidget-webkit-scroll-top" and "xwidget-webkit-scroll-bottom",
respectively.
(xwidget-webkit-scroll-top,
xwidget-webkit-scroll-bottom): New procedures.
Ricardo Wurmus [Wed, 26 Oct 2016 06:00:35 +0000 (23:00 -0700)]
Implement zoom for WebKit widget.
* src/xwidget.c (xwidget-webkit-zoom): New procedure.
* lisp/xwidget.el: Bind "+" and "-" to zoom in and out, respectively.
(xwidget-webkit-zoom): Declare procedure.
(xwidget-webkit-zoom-in, xwidget-webkit-zoom-out): New procedures.
Ricardo Wurmus [Wed, 26 Oct 2016 06:00:35 +0000 (23:00 -0700)]
Dynamically resize WebKit widget.
* lisp/xwidget.el (xwidget-webkit-auto-adjust-size,
xwidget-webkit-adjust-size-in-frame): New procedures.
(xwidget-webkit-new-session): Remove hint to resize widget with `a'.
(xwidget-webkit-adjust-size-dispatch): Resize current webkit widget.
(xwidget-webkit-adjust-size-to-window): Make non-interactive,
add widget and window as arguments.
(xwidget-webkit-callback): Use xwidget-webkit-adjust-size-to-window.
Ricardo Wurmus [Wed, 26 Oct 2016 06:00:35 +0000 (23:00 -0700)]
Let initial WebKit view fill window
* lisp/xwidget.el (xwidget-webkit-new-session): Change default size of
WebKit widget to window size.
Ricardo Wurmus [Wed, 26 Oct 2016 06:00:35 +0000 (23:00 -0700)]
xwidget: Remove title hack.
* src/xwidget.c (xwidget-webkit-get-title): Remove procedure.
* lisp/xwidget.el (xwidget-webkit-get-title,
xwidget-webkit-execute-script-rv): Remove procedures.
Ricardo Wurmus [Wed, 26 Oct 2016 06:00:35 +0000 (23:00 -0700)]
xwidget: Get URL asynchronously.
* lisp/xwidget.el (xwidget-webkit-current-url): Kill URL in callback.
Ricardo Wurmus [Wed, 26 Oct 2016 06:00:35 +0000 (23:00 -0700)]
xwidget: Get selection with asynchronous JavaScript
* lisp/xwidget.el (xwidget-webkit-get-selection): Add PROC argument to
process selection.
(xwidget-webkit-copy-selection-as-kill): Kill selection in callback.
Ricardo Wurmus [Wed, 26 Oct 2016 06:00:35 +0000 (23:00 -0700)]
xwidget: Add function to find element by CSS selector
* lisp/xwidget.el (xwidget-webkit-show-element): New procedure.
Ricardo Wurmus [Wed, 26 Oct 2016 06:00:35 +0000 (23:00 -0700)]
xwidget: Simplify functions to scroll to elements
* lisp/xwidget.el (xwidget-webkit-show-named-element,
xwidget-webkit-show-id-element,
xwidget-webkit-show-id-or-named-element): Simplify functions by
scrolling exclusively with JavaScript.
Ricardo Wurmus [Wed, 26 Oct 2016 06:00:35 +0000 (23:00 -0700)]
xwidget: Get title via asynchronous JavaScript.
* lisp/xwidget.el (xwidget-webkit-callback): Get document title
asynchronously.
Ricardo Wurmus [Wed, 26 Oct 2016 06:00:35 +0000 (23:00 -0700)]
xwidget: Do not use `xwidget-execute-script-rv' to insert string
* lisp/xwidget.el (xwidget-webkit-insert-string): Obtain JavaScript
return value via callback instead of using
`xwidget-webkit-execute-script-rv'.
Ricardo Wurmus [Wed, 26 Oct 2016 06:00:35 +0000 (23:00 -0700)]
Remove scrolled window container around WebKit widget
The WebKit widget can scroll on its own and does not need to wrapped
with a scrolled window container.
* src/xwidget.h: Remove struct member widgetscrolledwindow_osr.
* src/xwidget.c: Remove widgetscrolledwindow_osr.
(xwidget-set-adjustment): Remove.
(xwidget-resize): Resize Webkit widget last.
* lisp/xwidget.el (xwidget-set-adjustment): Remove.
(xwidget-webkit-scroll-up, xwidget-webkit-scroll-down,
xwidget-webkit-scroll-forward, xwidget-webkit-scroll-backward):
Implement scrolling via JavaScript.
Ricardo Wurmus [Wed, 26 Oct 2016 06:00:35 +0000 (23:00 -0700)]
xwidget: Pass JavaScript return value to optional callback procedure
* lisp/xwidget.el (xwidget-webkit-execute-script): Accept optional
callback argument.
(xwidget-webkit-callback): Handle "javascript-callback" event type.
* src/xwidget.c (xwidget-webkit-execute-script): Accept optional
argument FUN, a Lisp procedure to execute on the JavaScript return
value.
(store_xwidget_js_callback_event, webkit_javascript_finished_cb,
webkit_js_to_lisp): New procedures.
Ricardo Wurmus [Wed, 26 Oct 2016 06:00:35 +0000 (23:00 -0700)]
xwidget: Use WebKit2 API
* configure.ac: Check for webkit2gtk-4.0.
* src/xwidget.c: Adjust to use WebKit2 API.
* lisp/xwidget.el (xwidget-webkit-callback): Adjust matches for
`xwidget-event-type'.
Philipp Stephani [Tue, 25 Oct 2016 23:38:41 +0000 (01:38 +0200)]
Fix format specifiers
Philipp Stephani [Tue, 25 Oct 2016 23:38:16 +0000 (01:38 +0200)]
Add missing defsubr
Philipp Stephani [Tue, 25 Oct 2016 21:42:41 +0000 (23:42 +0200)]
Transfer signals to main coroutine
Philipp Stephani [Tue, 25 Oct 2016 21:41:20 +0000 (23:41 +0200)]
Remove wrong assertion
It’s totally fine to free a channel that still buffers something.
Philipp Stephani [Tue, 25 Oct 2016 21:40:34 +0000 (23:40 +0200)]
malloc is redefined by config.h
But we need to define emacs as preprocessor symbol, not just EMACS.
Philipp Stephani [Tue, 25 Oct 2016 21:40:09 +0000 (23:40 +0200)]
Support for Windows fibers
Philipp Stephani [Sat, 22 Oct 2016 16:27:16 +0000 (18:27 +0200)]
WIP: CSP based on libtask
Philipp Stephani [Sun, 16 Oct 2016 18:22:24 +0000 (20:22 +0200)]
Clarify the behavior of minor mode commands
See Bug#24706.
* doc/lispref/modes.texi (Minor Mode Conventions): Clarify behavior when
the argument to a minor mode command is not an integer.
* lisp/emacs-lisp/easy-mmode.el (define-minor-mode): Clarify behavior
when ARG is not an integer.
* test/lisp/emacs-lisp/easy-mmode-tests.el: New file with unit tests.
Paul Eggert [Tue, 25 Oct 2016 19:50:31 +0000 (12:50 -0700)]
Merge from origin/emacs-25
4c3f738 Comment for bug#24793
Paul Eggert [Tue, 25 Oct 2016 19:50:31 +0000 (12:50 -0700)]
; Merge from origin/emacs-25
The following commit was skipped:
32827b3 Default REL_ALLOC to 'no'
Paul Eggert [Tue, 25 Oct 2016 19:50:31 +0000 (12:50 -0700)]
Merge from origin/emacs-25
96ac0c3 Yet another fix for using pointers into buffer text
1047496 Another fix for using pointer to buffer text
3121992 Fix Bug#24478
Paul Eggert [Tue, 25 Oct 2016 19:50:30 +0000 (12:50 -0700)]
; Merge from origin/emacs-25
The following commit was skipped:
7bb5c4f Port --enable-gcc-warnings to bleeding-edge glibc
Paul Eggert [Tue, 25 Oct 2016 19:50:30 +0000 (12:50 -0700)]
Merge from origin/emacs-25
ee04aed Fix handling of buffer relocation in regex.c functions
71ca4f6 Avoid relocating buffers while libxml2 reads its text
1b3fc8a ; Remove redundant code in gmalloc.c
9afea93 Attempt to catch reads from a buffer that is relocated
Paul Eggert [Tue, 25 Oct 2016 19:50:29 +0000 (12:50 -0700)]
; Merge from origin/emacs-25
The following commits were skipped:
b8e8e15 Revert "* lisp/simple.el (process-menu-mode, list-processes--...
d784e75 Revert "* lisp/ibuf-ext.el (ibuffer-do-shell-command-file):"
1dd7b54 Revert "* lisp/ibuffer.el (ibuffer): Improve 'other-window' c...
Eli Zaretskii [Tue, 25 Oct 2016 19:33:14 +0000 (22:33 +0300)]
Comment for bug#24793
* lisp/info.el (Info-mode-font-lock-keywords): Add a comment
explaining why `..' quoting is not fontified using the
'Info-quoted' face. (Bug#24793)
Nicolas Petton [Tue, 25 Oct 2016 19:28:36 +0000 (21:28 +0200)]
Minor fix in the documentation of seq-random-elt
* doc/lispref/sequences.texi (Sequence Functions): Remove false
sentence.
Paul Eggert [Tue, 25 Oct 2016 19:13:20 +0000 (12:13 -0700)]
Default REL_ALLOC to 'no'
This should make ralloc-related bugs less likely on GNU/Linux
systems with bleeding-edge glibc. See the email thread containing:
http://lists.gnu.org/archive/html/emacs-devel/2016-10/msg00801.html
Do not merge to master.
* configure.ac (REL_ALLOC): Default to 'no' on all platforms, not
merely on platforms with Doug Lea malloc. Although bleeding-edge
glibc no longer exports __malloc_initialize_hook and so longer
passes the configure-time test for Doug Lea malloc, ralloc tickles
longstanding bugs like Bug#24358 and Bug#24764 and Emacs is likely
to be more reliable without it. This patch is not needed on
master, which uses hybrid malloc in this situation.
Eli Zaretskii [Tue, 25 Oct 2016 18:56:16 +0000 (21:56 +0300)]
Minor copyedits in documentation of 'seq-random-elt'
* doc/lispref/sequences.texi (Sequence Functions): Fix markup in
last change. Use 2 spaces between sentences.
Nicolas Petton [Tue, 25 Oct 2016 15:06:03 +0000 (17:06 +0200)]
* lisp/emacs-lisp/seq.el (seq-random-elt): Fix docstring.
Philipp Stephani [Tue, 25 Oct 2016 11:29:17 +0000 (13:29 +0200)]
; Add missing `require'
Damien Cassou [Fri, 21 Oct 2016 05:53:08 +0000 (07:53 +0200)]
Add seq-random-elt to seq.el
* lisp/emacs-lisp/seq.el (seq-random-elt): Add function to return a
random element from it's sequence parameter.
* test/lisp/emacs-lisp/seq-tests.el (test-seq-random-elt-take-all
test-seq-random-elt-return-nil): Test the new function
* doc/lispref/sequences.texi: Document the new function
Eli Zaretskii [Mon, 24 Oct 2016 18:37:20 +0000 (21:37 +0300)]
Yet another fix for using pointers into buffer text
* src/search.c (boyer_moore): Update pointers to buffer text
after call to set_search_regs. (Bug#24358)
Ken Brown [Mon, 24 Oct 2016 16:41:07 +0000 (12:41 -0400)]
* configure.ac: Stop using mmap for buffers on Cygwin.
Eli Zaretskii [Mon, 24 Oct 2016 13:59:34 +0000 (16:59 +0300)]
Another fix for using pointer to buffer text
* src/search.c (Freplace_match): Move the call to BYTE_POS_ADDR
after the call to xpalloc, to avoid the danger of buffer text
relocation after its address was taken. (Bug#24358)
Michael Albinus [Mon, 24 Oct 2016 13:04:25 +0000 (15:04 +0200)]
Fix Bug#24478
* lisp/net/tramp-sh.el (tramp-histfile-override): Change default value
to "~/.tramp_history".
(tramp-open-shell): Check proper HISTFILE setting.
(tramp-maybe-open-connection): Cleanup also for errors. (Bug#24478)
Nicolas Petton [Mon, 24 Oct 2016 11:15:05 +0000 (13:15 +0200)]
* lisp/emacs-lisp/seq.el (seq-let): Fix debug spec (Bug#24738)
Karl Chen [Sat, 15 Oct 2016 20:16:26 +0000 (22:16 +0200)]
Don't prompt user when killing Flymake processes
* lisp/progmodes/flymake.el (flymake-start-syntax-check-process):
Don’t prompt the user when killing Flymake processes.
* doc/misc/flymake.texi (Starting the syntax check process):
Document new behavior.
Paul Eggert [Mon, 24 Oct 2016 04:54:13 +0000 (21:54 -0700)]
Port --enable-gcc-warnings to bleeding-edge glibc
Bleeding-edge glibc sets emacs_cv_var_doug_lea_malloc to 'no'.
Do not merge to master.
* configure.ac: Check for valloc decl when compiling gmalloc.c.
* src/gmalloc.c (emacs_abort) [emacs]: Adjust decl to match
what is in lisp.h. Remove duplicate decl.
(aligned_alloc): #undef before defining.
(aligned_alloc, memalign) [!MSDOS]: Declare.
(valloc) [HAVE_DECL_VALLOC]: Remove duplicate decl.
Eli Zaretskii [Sun, 23 Oct 2016 19:09:43 +0000 (22:09 +0300)]
Fix handling of buffer relocation in regex.c functions
* src/search.c (search_buffer): Updated the base pointer to buffer
text after the call to re_search_2. (Bug#24358)
Eli Zaretskii [Sun, 23 Oct 2016 16:52:56 +0000 (19:52 +0300)]
Avoid relocating buffers while libxml2 reads its text
* src/xml.c (parse_region) [REL_ALLOC]: Freeze the ralloc arena
while libxml2 reads the current buffer's text. (Bug#24764)
Eli Zaretskii [Sun, 23 Oct 2016 15:05:48 +0000 (18:05 +0300)]
; Remove redundant code in gmalloc.c
* src/gmalloc.c [WINDOWSNT]: Remove MS-Windows only inclusion of
w32heap.h, as the MS-Windows build no longer uses gmalloc.c.
Eli Zaretskii [Sun, 23 Oct 2016 13:54:00 +0000 (16:54 +0300)]
Attempt to catch reads from a buffer that is relocated
* src/xml.c (parse_region): Add assertion to ensure buffer text is
not relocated while libxml2 is reading it. (Bug#24764)
Eli Zaretskii [Sun, 23 Oct 2016 13:04:20 +0000 (16:04 +0300)]
Revert "* lisp/simple.el (process-menu-mode, list-processes--refresh):"
This reverts commit
a4285bcb1114e29200001f33af9b4802167d6140.
Do not merge to master!
Eli Zaretskii [Sun, 23 Oct 2016 13:03:25 +0000 (16:03 +0300)]
Revert "* lisp/ibuf-ext.el (ibuffer-do-shell-command-file):"
This reverts commit
b0c447e4668116cecfda91d0203cb7cac2486d92.
Do not merge to master!
Eli Zaretskii [Sun, 23 Oct 2016 13:02:11 +0000 (16:02 +0300)]
Revert "* lisp/ibuffer.el (ibuffer): Improve 'other-window' case. (Bug#23617)"
This reverts commit
cf3c19b0298236293d9c56d5ba425af4f42c1f8e.
Do not merge to master!
Michael Albinus [Sun, 23 Oct 2016 11:28:33 +0000 (13:28 +0200)]
; Apply whitespace conventions of Tramp upstream
Paul Eggert [Sun, 23 Oct 2016 09:58:07 +0000 (02:58 -0700)]
* src/regex.c (re_search_2): Use UNINIT, not IF_LINT.
This finishes the merge of the recent emacs-25 regex changes into
master.
Paul Eggert [Sun, 23 Oct 2016 09:50:48 +0000 (02:50 -0700)]
Merge from origin/emacs-25
50fa7d6 ;* src/w32heap.c: Fix typo and wording of the comments.
6f1325e electric-quote mode no longer worries about coding
c2a1792 * src/regex.c (re_search_2): Make new code safe for -Wjump-mi...
f6134bb Port to GCC 6.2.1 + --enable-gcc-warnings
b2ba630 Explain how to debug emacsclient lisp errors
9da53e2 Let describe-function work for lambda again
5c2da93 Fix kill-line's docstring
ad66b3f Fix handling of allocation in regex matching
5a26c9b * lisp/electric.el (electric-quote-mode): Improve doc (Bug#24...
3877c91 vc-region-history: Search just on lines intersecting the region
8988327 Fix documentation of 'alist-get'
b6998ea * src/regex.h (re_match_object): Improve commentary.
# Conflicts:
# etc/NEWS
# lisp/help-fns.el
Paul Eggert [Sun, 23 Oct 2016 09:48:50 +0000 (02:48 -0700)]
; Merge from origin/emacs-25
The following commit was skipped:
dfd0476 Fix cursor at bottom left of rectangle (bug#24364)
Paul Eggert [Sun, 23 Oct 2016 09:48:50 +0000 (02:48 -0700)]
Merge from origin/emacs-25
8ad0d7d ; Fix quoting in etc/NEWS
6b9dee1 Change Tramp version to "2.2.13.25.2"
62f2684 * lisp/emacs-lisp/autoload.el (update-directory-autoloads): F...
b2f32e4 Don't scan compiled module files for autoloads
9a758b4 Fix Bug#24698
baa8ba4 * lisp/subr.el (start-process): Doc fix. (Bug#24693)
e535ca4 Fix display of vc-dir CVS file statuses in subdirectories
12da149 Update URL of MS-Windows optional DLLs
2331056 Merge branch 'emacs-25' of git.savannah.gnu.org:/srv/git/emac...
a4285bc * lisp/simple.el (process-menu-mode, list-processes--refresh)...
b0c447e * lisp/ibuf-ext.el (ibuffer-do-shell-command-file): Fix non-f...
cf3c19b * lisp/ibuffer.el (ibuffer): Improve 'other-window' case. (B...
# Conflicts:
# doc/misc/trampver.texi
# etc/NEWS
# lisp/net/tramp-sh.el
# lisp/net/trampver.el
Paul Eggert [Sun, 23 Oct 2016 09:43:18 +0000 (02:43 -0700)]
; Merge from origin/emacs-25
The following commits were skipped:
d70ed8a Fix time-related data types in 2 editfns.c functions
99892ee Port to Ubuntu 16.10, which needs gcc -nopie
Paul Eggert [Sun, 23 Oct 2016 09:43:17 +0000 (02:43 -0700)]
Merge from origin/emacs-25
b73f466 * lisp/cus-start.el (exec-path): Handle nil elements. (Bug#2...
55ebb70 Catch the imenu-unavailable error in sh-mode completion table
993acb5 ; Minor fix for last change in characters.el
30c4bb5 More char-width fixes
4eb4463 Fix char-width-table values for some Emoji
528997d Keep point when switching from and to *terminal* buffer
2130005 * INSTALL: Use correct Emacs release number 25.
10835b1 Avoid crashes due to objects read with the #n=object form
4de671d Improve doc string of 'completion-at-point-functions'
ceb46f0 Fix crash in evaluating functions
d8374c4 * src/filelock.c (current_lock_owner): Update comment.
Paul Eggert [Sun, 23 Oct 2016 09:43:17 +0000 (02:43 -0700)]
; Merge from origin/emacs-25
The following commits were skipped:
eb17d6f Port --enable-gcc-warnings to GCC 6.2.1
40c426a Work around Samba bug with ':' in symlink contents
Paul Eggert [Sun, 23 Oct 2016 09:43:16 +0000 (02:43 -0700)]
Merge from origin/emacs-25
2deb20c Port last_marked change to full-program optimizers
27eb668 Adapt GDB scripts to '--enable-check-lisp-object-type' builds
dac64e3 Avoid optimizing out the last_marked[] array
Eli Zaretskii [Sun, 23 Oct 2016 09:14:05 +0000 (12:14 +0300)]
;* src/w32heap.c: Fix typo and wording of the comments.
Paul Eggert [Sun, 23 Oct 2016 08:14:23 +0000 (01:14 -0700)]
electric-quote mode no longer worries about coding
* doc/emacs/text.texi (Quotation Marks), etc/NEWS: Document this.
* lisp/electric.el (electric--insertable-p): Remove.
All uses removed (Bug#24759).
Paul Eggert [Sun, 23 Oct 2016 08:00:27 +0000 (01:00 -0700)]
* src/regex.c (re_search_2): Make new code safe for -Wjump-misses-init.
Paul Eggert [Sun, 23 Oct 2016 04:12:54 +0000 (21:12 -0700)]
Port to GCC 6.2.1 + --enable-gcc-warnings
* src/regex.c (ENSURE_FAIL_STACK, re_search_2):
Redo recent regex changes to avoid complaints from GCC 6.2.1 when
Emacs is configured with --enable-gcc-warnings. Also, work around
GCC bug 78081, which was uncovered by this new code.
Noam Postavsky [Sat, 22 Oct 2016 19:55:21 +0000 (15:55 -0400)]
Avoid infinite hscrolling in redisplay
* src/xdisp.c (redisplay_internal): Add a counter to avoid horizontal
scrolling (e.g., caused by pre-redisplay-functions) triggering infinite
redisplay (Bug #24633).
Noam Postavsky [Sat, 22 Oct 2016 15:52:14 +0000 (11:52 -0400)]
Explain how to debug emacsclient lisp errors
* doc/lispref/debugging.texi (Error Debugging): Mention that
debug-on-signal is useful for getting backtraces from
emacsclient (Bug#24616).
Michael Albinus [Sat, 22 Oct 2016 11:54:56 +0000 (13:54 +0200)]
Fix error codes in Tramp
* lisp/net/tramp-compat.el (tramp-compat-user-error): New defsubst,
taken from tramp.el.
(tramp-file-missing): New defconst.
* lisp/net/tramp.el (tramp-user-error): Remove it.
(tramp-check-proper-method-and-host)
(tramp-dissect-file-name, tramp-debug-message)
(tramp-handle-shell-command):
* lisp/net/tramp-adb.el (tramp-adb-handle-shell-command):
* lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler):
Use `tramp-compat-user-error'.
* lisp/net/tramp.el (tramp-handle-insert-file-contents)
(tramp-handle-load):
* lisp/net/tramp-adb.el (tramp-adb-handle-file-local-copy):
* lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-local-copy)
* lisp/net/tramp-sh.el (tramp-sh-handle-file-local-copy):
* lisp/net/tramp-smb.el (tramp-smb-handle-file-local-copy):
Use `tramp-file-missing'. (Bug#24714)
* lisp/net/tramp-sh.el (tramp-sh-handle-add-name-to-file):
* lisp/net/tramp-smb.el (tramp-smb-handle-make-symbolic-link):
Use `file-already-exists'.
Jorgen Schaefer [Sat, 22 Oct 2016 11:07:32 +0000 (13:07 +0200)]
Autoload all commands from misc.el
Only two of the commands there were autoloaded, one of which is an
easter egg.
* lisp/miscl.el (copy-from-above-command):
* lisp/miscl.el (zap-up-to-char):
* lisp/miscl.el (mark-beginning-of-buffer):
* lisp/miscl.el (mark-end-of-buffer):
* lisp/miscl.el (upcase-char):
* lisp/miscl.el (forward-to-word):
* lisp/miscl.el (backward-to-word):
Add autoload cookie.
Martin Rudalics [Sat, 22 Oct 2016 09:52:39 +0000 (11:52 +0200)]
On terminal frames ignore minibuffer frame parameter (Bug#24758)
* src/frame.c (Fmake_terminal_frame): Don't complain when the
caller asks for a deviant minibuffer setting (Bug#24758).
Noam Postavsky [Mon, 3 Oct 2016 22:49:56 +0000 (18:49 -0400)]
Let describe-function work for lambda again
Since commit "* lisp/help-fns.el (describe-function): More type
checking[...]", `describe-function' throws a user-error when given a
non-symbol. This prevents the [back] button in a *Help* buffer from
working when the page it goes back to describes an anonymous
function (e.g., the result of `describe-key' on a key which is bound to
a lambda form).
* lisp/help-fns.el (describe-function): Move the checks on FUNCTION
being an fbound symbol into the `interactive' form. This allows
non-interactive calls to pass an anonymous function (Bug #24221). Note
that passing a non-bound symbol non-interactively will still trigger a
`void-function' error from `describe-function-1'.
Noam Postavsky [Sat, 17 Sep 2016 17:30:24 +0000 (13:30 -0400)]
Fix kill-line's docstring
* lisp/simple.el (kill-line): The effect of show-trailing-whitespace is
important lines with *no* nonblanks (Bug #16654).
Noam Postavsky [Thu, 20 Oct 2016 00:23:50 +0000 (20:23 -0400)]
Fix handling of allocation in regex matching
`re_match_2_internal' uses pointers to the lisp objects that it
searches. Since it may call malloc when growing the "fail stack", these
pointers may be invalidated while searching, resulting in memory
curruption (Bug #24358).
To fix this, we check the pointer that the lisp object (as specified by
re_match_object) points to before and after growing the stack, and
update existing pointers accordingly.
* src/regex.c (STR_BASE_PTR): New macro.
(ENSURE_FAIL_STACK, re_search_2): Use it to convert pointers into
offsets before possible malloc call, and back into pointers again
afterwards.
(POS_AS_IN_BUFFER): Add explanatory comment about punning trick.
* src/search.c (search_buffer): Instead of storing search location as
pointers, store them as pointers and recompute the corresponding address
for each call to `re_search_2'.
(string_match_1, fast_string_match_internal, fast_looking_at):
* src/dired.c (directory_files_internal): Set `re_match_object' to Qnil
after calling `re_search' or `re_match_2'.
* src/regex.h (re_match_object): Mention new usage in commentary.
Paul Eggert [Fri, 21 Oct 2016 21:00:09 +0000 (14:00 -0700)]
* lisp/electric.el (electric-quote-mode): Improve doc (Bug#24759).
Paul Eggert [Fri, 21 Oct 2016 20:04:02 +0000 (13:04 -0700)]
New error file-missing
This fixes a recently-introduced bug in delete-directory,
where the code assumes the C locale when determining
whether a file-error corresponds to a missing file (Bug#24714).
* doc/lispref/errors.texi (Standard Errors):
* doc/lispref/files.texi (Changing Files):
* etc/NEWS:
Document this.
* doc/lispref/loading.texi (How Programs Do Loading):
Say "a file-error" rather than "the error file-error" since
it might be a file-missing now.
* lisp/emacs-lisp/bytecomp.el (byte-compile-file):
* lisp/epa-file.el (epa-file--find-file-not-found-function):
(epa-file-insert-file-contents, epa-file-write-region):
* lisp/ffap.el (find-file-at-point, dired-at-point):
* lisp/jka-compr.el (jka-compr-insert-file-contents)
(jka-compr-insert-file-contents):
* lisp/net/ange-ftp.el (ange-ftp-barf-if-not-directory)
(ange-ftp-insert-file-contents, ange-ftp-copy-file-internal):
* lisp/progmodes/etags.el (visit-tags-table):
* lisp/url/url-handlers.el (url-copy-file):
* src/fileio.c (report_file_errno):
Signal file-missing if appropriate.
* lisp/epa-file.el (epa-file-insert-file-contents):
* lisp/jka-compr.el (jka-compr-insert-file-contents):
Don't assume file-error is a leaf in the error hierarchy.
* lisp/files.el (files--force):
* lisp/gnus/nnmaildir.el (nnmaildir--enoent-p):
* lisp/jka-compr.el (jka-compr-insert-file-contents):
Use file-missing to detect whether the file is missing.
* lisp/url/url-handlers.el (url-copy-file):
Signal file-already-exists if appropriate.
* src/fileio.c (syms_of_fileio): Define file-missing.
2016-10-18 Paul Eggert <eggert@cs.ucla.edu>
Mark Oteiza [Fri, 21 Oct 2016 15:23:39 +0000 (11:23 -0400)]
Teach browse-url to open man page urls
* lisp/net/browse-url.el (browse-url-man-function): New custom option.
(browse-url): Add a condition to catch links matching "^man:".
(browse-url-man): New function.
Eli Zaretskii [Fri, 21 Oct 2016 09:59:58 +0000 (12:59 +0300)]
Improve fontification of footnote references in Info buffers
* lisp/info.el (Info-fontify-node): Don't fontify random numbers
in parentheses as if they were footnote references. See
https://lists.gnu.org/archive/html/bug-texinfo/2016-10/msg00007.html
for the details.
Philipp Stephani [Thu, 20 Oct 2016 18:22:40 +0000 (20:22 +0200)]
Minor fixes to cc-mode-tests.el
See Bug#24747.
* progmodes/cc-mode-tests.el: Rename from cc-mode.el; fix typo in
file-local variable; add comments to make checkdoc happy.
Michael Albinus [Thu, 20 Oct 2016 14:29:40 +0000 (16:29 +0200)]
* etc/NEWS: Fix typos. Remove entries backported to Emacs 25.2.
Michael Albinus [Thu, 20 Oct 2016 12:58:13 +0000 (14:58 +0200)]
Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs