Eli Zaretskii [Thu, 25 Feb 2016 19:59:57 +0000 (21:59 +0200)]
Remove unneeded workaround in xftfont.c
* src/xftfont.c (xftfont_open): Remove "dirty workaround" for
XftTextExtents8 behavior, as it is no longer needed. Suggested by
Fangwen Yu <yynyygy@gmail.com>. (Bug#22383)
Stefan Monnier [Wed, 24 Feb 2016 20:50:54 +0000 (15:50 -0500)]
* src/keyboard.c: Don't inadvertently set immediate_echo (bug#22581)
* src/keyboard.c (read_key_sequence): Don't inadvertently set
immediate_echo when we don't want any echo-keystrokes.
(echo_keystrokes_p): Move earlier.
Dima Kogan [Wed, 24 Feb 2016 02:54:17 +0000 (13:54 +1100)]
Make `insert-pair' always leave the cursor where documented
* lisp/emacs-lisp/lisp.el (insert-pair): The docstring of
insert-pair states that after insertion, the point ends up
after the opening character. This was not true if the pair was
inserted to surround a region (bug#16949).
Michael Albinus [Tue, 23 Feb 2016 12:51:36 +0000 (13:51 +0100)]
Further adaptions in file-notify-tests.el for w32notify
* test/automated/file-notify-tests.el
(file-notify--test-read-event-timeout, file-notify--test-timeout):
Decrease values.
(file-notify-test03-autorevert)
(file-notify-test04-file-validity)
(file-notify-test05-dir-validity): Run tests also for w32notify.
(file-notify-test08-watched-file-in-watched-dir):
Adapt expected events for w32notify.
Dmitry Gutov [Tue, 23 Feb 2016 00:27:49 +0000 (02:27 +0200)]
Make $, : and @ "prefix characters" in ruby-mode
* lisp/progmodes/ruby-mode.el (ruby-mode-syntax-table): Change the
syntax classes of $, : and @ to "prefix character"
(http://lists.gnu.org/archive/html/emacs-devel/2016-01/msg00272.html).
(ruby-syntax-propertize): Undo that specifically for colons
followed by an opening paren or bracket.
(ruby-font-lock-keyword-beg-re): Include colon character.
(ruby-font-lock-keywords): Adjust the constants matcher for `:'
not being a symbol constituent anymore.
Michael Albinus [Mon, 22 Feb 2016 17:52:37 +0000 (18:52 +0100)]
Additional fixes for file notification
* lisp/filenotify.el (top): Require 'cl when compiling.
(file-notify--event-watched-file): New defun.
(file-notify--rm-descriptor, file-notify-callback):
Handle case of several monitors running in parallel.
* test/automated/file-notify-tests.el
(file-notify--test-event-test): Simplify test.
(file-notify--test-with-events): Get rid of outer definition.
Check also results of tests performed in callbacks.
(file-notify-test02-events): No wrapping when calling
`file-notify-rm-watch'. No special checking for callback tests.
(file-notify-test07-backup): Adapt expected events for gfilenotify.
(file-notify-test08-watched-file-in-watched-dir): Improve.
Daiki Ueno [Mon, 22 Feb 2016 02:28:11 +0000 (11:28 +0900)]
Set file modes of pinentry socket for extra safety
* lisp/net/pinentry.el: Require 'cl-lib for `cl-letf'.
(pinentry-start): Change the file modes of the socket file to 0700.
This is just for extra safety since the parent directory is already
protected with `server-ensure-safe-dir'.
Dmitry Gutov [Sun, 21 Feb 2016 22:40:53 +0000 (00:40 +0200)]
Kill off xref--display-history
Now that the core workflow keeps the xref window visible, there's
less value in storing this history. And it never was
comprehensive enough to undo scrolling changes.
* lisp/progmodes/xref.el (xref--display-history)
(xref--save-to-history, xref-quit): Remove.
(xref--show-pos-in-buf): Update accordingly.
(xref--xref-buffer-mode-map): Remove xref-quit binding.
Dmitry Gutov [Sun, 21 Feb 2016 22:26:24 +0000 (00:26 +0200)]
Keep the xref buffer visible until the user quits it explicitly
* lisp/progmodes/xref.el (xref--pop-to-location):
Rename WINDOW argument to ACTION.
(xref--with-dedicated-window): New macro.
(xref--show-pos-in-buf): Rename from `xref--display-position'.
Add and handle new argument, SELECTED. Use the above macro.
(xref--show-location): Add SELECTED argument.
(xref-show-location-at-point): Make an effort to avoid the
original window when showing the location.
(xref-goto-xref): Don't quit the xref window (bug#20487 and
http://lists.gnu.org/archive/html/emacs-devel/2016-01/msg01133.html).
(xref--query-replace-1): Use xref--with-dedicated-window as well.
(xref--next-error-function): Call xref--show-location instead of
xref--pop-to-location.
(xref--show-xrefs): Rename WINDOW argument to DISPLAY-ACTION.
Only pass that value to xref--pop-to-location. Pass the current
selected window to xref-show-xrefs-function as the `window'
property.
(xref--find-xrefs, xref--find-definitions): Rename WINDOW argument
to DISPLAY-ACTION as well.
Daiki Ueno [Sun, 21 Feb 2016 21:06:50 +0000 (06:06 +0900)]
Change the default socket location for pinentry
* lisp/net/pinentry.el: Require 'cl-lib for `cl-letf'.
(pinentry--socket-dir): Change the default from /tmp/emacsXXX to
~/.emacs.d/pinentry.
(pinentry-start): Change the file modes of the socket file to 0700.
This is just for extra safety since the parent directory is already
protected with `server-ensure-safe-dir'.
David Engster [Sun, 21 Feb 2016 16:16:45 +0000 (17:16 +0100)]
Remove `semanticdb-save-all-db-idle' from `auto-save-hook'
* lisp/cedet/semantic/db-mode.el (semanticdb-hooks): Do not put
`semanticdb-save-all-db-idle' into `auto-save-hook'. The latter is
not an idle hook, so it's not appropriate to call it there. It will
already be called in the `semantic-idle-work-core-handler', which
runs when Emacs is actually idle.
David Engster [Sun, 21 Feb 2016 16:11:01 +0000 (17:11 +0100)]
Restore point when writing semantic table to disk
* lisp/cedet/semantic/db-file.el (object-write): Wrap call to
`semantic-fetch-tags' in `save-excursion', since it might move point
in current buffer. (Bug #22287)
Daiki Ueno [Sun, 21 Feb 2016 09:20:40 +0000 (18:20 +0900)]
Mention pinentry.el in epa manual
* doc/misc/epa.texi (GnuPG version compatibility): New chapter,
describing the differences between three GnuPG branches, and how
to enable pinentry.el.
(Caching Passphrases): Add xref to the compatibility chapter.
Eli Zaretskii [Sat, 20 Feb 2016 16:59:14 +0000 (18:59 +0200)]
Fix memory reservation on MS-Windows
* src/w32heap.c (mmap_alloc): Reserve memory in 64KB granular
units. This avoids leaving gaps in reserved memory regions that
no one can use, since memory reservation must produce 64KB-aligned
addresses. (Bug#22526)
Anders Lindgren [Sat, 20 Feb 2016 15:24:40 +0000 (16:24 +0100)]
Update NextStep readme and add wish list.
* nextstep/README: Rewritten from scratch. New sections on
"History", "Overview of Cocoa and Objective-C", "Guidelines",
"Tracing Support", and "GNUStep". Expanded the "See Also" section.
* nextstep/WISHLIST: New file containing list of issues and ideas
associated with the NS port of Emacs.
* test/automated/file-notify-tests.el (file-notify--test-desc2):
New variable.
(file-notify--test-cleanup): Use it.
(file-notify--test-event-handler): Enable trace.
(file-notify-test08-watched-file-in-watched-dir): Tag it as
:expensive-test. Rewrite callbacks to use
`file-notify--test-event-handler'. Read events in loop. Check
`file-notify--test-results'.
(file-notify-test08-watched-file-in-watched-dir): Fix docstring.
Stephen Berman [Sat, 20 Feb 2016 12:44:47 +0000 (13:44 +0100)]
Fix todo-mode item date editing bugs
* lisp/calendar/todo-mode.el (todo-edit-item--header): Prevent out of
range error by making sure the value of the numerical month date
component cannot be nil. Prevent wrong type error on trying to edit
day number in February by making sure numerical instead of string
value of the year component is passed to todo-read-date.
(todo-read-date): When using the numerical month date component make
sure to use `*' for an arbitrary month instead of its numerical value.
Ari Roponen [Sat, 20 Feb 2016 07:57:44 +0000 (18:57 +1100)]
Use pop-to-buffer-same-window in woman.el
* lisp/woman.el (woman-really-find-file): Work around going to
the wrong buffer by using `pop-to-buffer-same-window' (bug#22332).
(WoMan-find-buffer): Ditto.
Martin Rudalics [Thu, 18 Feb 2016 10:25:07 +0000 (11:25 +0100)]
Fix bugs in window resizing code
* lisp/window.el (adjust-window-trailing-edge): Fix mismatched
parenthesis.
(shrink-window, enlarge-window): Fix bug#22723 where windows
with preserved size would not get resized. Also now signal an
error when the window cannot be shrunk or enlarged as requested.
Daiki Ueno [Wed, 17 Feb 2016 07:32:25 +0000 (16:32 +0900)]
Make GnuPG version check robuster
We changed the default gpg program to "gpg2" from "gpg" in the commit f93d669a16bd3cb3f43f0c8cfd22fe18b627a6a1. However, there are two
maintained branches (2.0 and 2.1) and Emacs doesn't work well with 2.0
series. Check the actual version of "gpg2" at run time, and properly
divert to "gpg" if necessary.
* lisp/epg-config.el: Require 'cl-lib for `cl-destructuring-bind'.
(epg-config--program-alist): New variable.
(epg--configurations): New variable.
(epg-configuration-find): New function.
(epg-config--make-gpg-configuration): New function.
(epg-config--make-gpgsm-configuration): New function.
(epg-configuration): Mark as obsolete.
* lisp/epg.el (epg-context): Use `epg-configuration-find'.
Eli Zaretskii [Mon, 15 Feb 2016 19:46:17 +0000 (21:46 +0200)]
Minor fixes in global-auto-composition-mode
* lisp/emacs-lisp/easy-mmode.el (easy-mmode-pretty-mode-name):
Produce prettier names of globalized minor modes.
* lisp/composite.el (global-auto-composition-mode): Make it a
globalized mode. (Bug#22682)
Alan Mackenzie [Mon, 15 Feb 2016 12:45:42 +0000 (12:45 +0000)]
Allow arithmetic operators inside C++ template constructs.
Fixes debbugs #22486. This corrects the previous patch with this message
which was empty.
* lisp/progmodes/cc-langs.el (c-multichar->-op-not->>-regexp): New language
variable.
(c-<>-notable-chars-re): New language variable.
* lisp/progmodes/cc-engine.el (c-forward-<>-arglist-recur): User
c-<>-notable-chars-re in place of the former fixed string in searching for
places to stop and examine.
Use c-multichar->-op-not->>-regexp to check that a found ">" is not part of a
multichar operator in place of the former c->-op-without->-cont-regexp.
Add code to skip forwards over a balanced parenthesized expression.
Alan Mackenzie [Mon, 15 Feb 2016 12:45:42 +0000 (12:45 +0000)]
Allow arithmetic operators inside C++ template constructs.
Fixes debbugs #22486.
* lisp/progmodes/cc-langs.el (c-multichar->-op-not->>-regexp): New language
variable.
(c-<>-notable-chars-re): New language variable.
* lisp/progmodes/cc-engine.el (c-forward-<>-arglist-recur): User
c-<>-notable-chars-re in place of the former fixed string in searching for
places to stop and examine.
Use c-multichar->-op-not->>-regexp to check that a found ">" is not part of a
multichar operator in place of the former c->-op-without->-cont-regexp.
Add code to skip forwards over a balanced parenthesized expression.
Paul Eggert [Mon, 15 Feb 2016 03:24:38 +0000 (19:24 -0800)]
CONTRIBUTE cleanups and updates
* CONTRIBUTE: Mention URLs and info nodes more consistently,
avoiding possibly-confusing punctuation adjacent to a URL, and
giving full shell commands for 'info'. Start with a brief but
complete how-to, for people who want to get started right away.
Then briefly discuss how to join the development process in the
typical order. Omit needless words. Update some of the
now-obsolete file names, info node names, and quoting styles.
Better document emacs-NN branches and how they are merged.
* admin/notes/git-workflow: Change emacs-24 to emacs-25,
and trunk to master. This file still needs work.
Paul Eggert [Sun, 14 Feb 2016 19:19:39 +0000 (11:19 -0800)]
Port to x86 GCC 4.3.1 and earlier
This tries to port to x86 FreeBSD 9, where Emacs dumps core (Bug#22065).
* src/lisp.h (USE_STACK_LISP_OBJECTS): Default to false
for GCC 4.3.1 and earlier.
Eli Zaretskii [Sun, 14 Feb 2016 17:46:29 +0000 (19:46 +0200)]
Make 'mmap_realloc' on MS-Windows more reliable
* src/w32heap.c (mmap_alloc): If reserving memory succeeds, but
committing fails, return NULL. Don't call GetLastError twice for
the same API error.
(mmap_realloc): Zero out MEMORY_BASIC_INFORMATION structures
before calling VirtualQuery, to avoid using garbled values if the
call fails. If committing more pages from the same block fails,
fall back on mmap_alloc + CopyMemory. Enhance debugging printouts
if the call to VirtualAlloc to commit more pages fails.
(Bug#22526)