Eli Zaretskii [Tue, 24 May 2016 16:04:16 +0000 (19:04 +0300)]
Avoid aborting due to errors in arguments of 'set-face-attribute'
* src/xfaces.c (Finternal_set_lisp_face_attribute): Check the
FRAME argument before using it. This avoids gratuitous aborts in
Emacs built with --enable-checking when the luser was unlucky
enough to get the argument list in wrong order.
Phillip Lord [Sat, 21 May 2016 09:06:12 +0000 (10:06 +0100)]
Fix viper undo breakage from undo-boundary changes
* lisp/simple.el (undo-auto-disable-boundaries): New variable
* lisp/emulation/viper-init.el (viper-undo-in-complex-command,
viper-undo-needs-adjustment): Rename
variable to reflect new purpose,
(viper-buffer-undo-list-mark): Remove
* lisp/emulation/viper-cmd.el (viper-set-complex-command-for-undo):
Add undo using `undo-boundary', disable default undo-boundary
addition.
* lisp/emulation/viper-cmd.el
(viper-complete-complex-command-for-undo,viper-adjust-undo):
Change function name, remove old undo list manipulation.
* lisp/emulation/viper-cmd.el (viper-undo,viper-repeat,
viper-change-state-to-vi,viper-change-state):
Update for function name change.
Kaushal Modi [Mon, 23 May 2016 00:48:33 +0000 (17:48 -0700)]
Fix reference to obsolete fn ps-eval-switch
lpr-eval-switch is functionally the same as ps-eval-switch,
which was obsoleted in 2cdeb903c57126d3ad5f0cbd72e182584b76ee29.
So use that instead (Bug#19717).
* lisp/printing.el (pr-switches): Use lpr-eval-switch instead of
ps-eval-switch.
Paul Eggert [Mon, 23 May 2016 00:29:58 +0000 (17:29 -0700)]
Do not trash symlinks to init file
If the user’s init file is a symbolic link, do not break the link
when initializing the package system. Problem reported by Jackson
Hamilton (Bug#23050).
* lisp/emacs-lisp/package.el (package--ensure-init-file):
Bind find-file-visit-truename when visiting the init file, and
save and restore the buffer name the way cus-edit does in a
similar situation (Bug#454).
Paul Eggert [Sun, 22 May 2016 20:38:53 +0000 (13:38 -0700)]
Bring back xterm pasting with middle mouse
Problem reported by Jan Synáček.
Solution suggested by Stefan Monnier (Bug#23519).
* lisp/isearch.el (isearch-mode-map): Add a binding for xterm-paste.
(xterm--pasted-text): New decl.
(isearch-xterm-paste): New function.
* lisp/term/xterm.el (xterm--pasted-text): New function,
taken from xterm-paste internals.
(xterm-paste): Use it.
Eli Zaretskii [Sun, 22 May 2016 16:20:28 +0000 (19:20 +0300)]
Provide workaround for xftfont rendering problem
* src/xftfont.c (syms_of_xftfont) <xft-font-ascent-descent-override>:
New variable.
(xftfont_open): Use it to work around problems with rendering some
fonts. (Bug#23360)
Eli Zaretskii [Thu, 19 May 2016 19:57:53 +0000 (22:57 +0300)]
Avoid errors with Czech and Slovak input methods
* lisp/leim/quail/slovak.el (slovak, slovak-prog-1, slovak-prog-2)
(slovak-prog-3): Remove the kp-* key bindings, they are not needed
and cause errors in "C-u C-x =".
* lisp/leim/quail/czech.el (czech, czech-qwerty, czech-prog-1)
(czech-prog-2, czech-prog-3): Remove the kp-* key bindings.
(Bug#23559)
Daiki Ueno [Thu, 19 May 2016 09:05:19 +0000 (18:05 +0900)]
epg: Add a way to detect gpg1 executable for tests
Fixes bug#23561.
* test/automated/epg-tests.el
(epg-tests-program-alist-for-passphrase-callback): New
constant.
(epg-tests-find-usable-gpg-configuration): New function,
renamed from `epg-tests-gpg-usable'. All callers changed.
(epg-tests-gpg-usable): Remove.
* lisp/epg-config.el (epg-config--program-alist): Factor out
constructor element to...
(epg-config--configuration-constructor-alist): ...here.
(epg-find-configuration): Rename FORCE argument to NO-CACHE,
and add PROGRAM-ALIST argument.
Paul Eggert [Mon, 16 May 2016 17:05:19 +0000 (10:05 -0700)]
Avoid shrinking windows with Gtk+ 3.20.3
Problem reported by Matthias Clasen (Bug#23144).
This was fixed in a different way in master.
Do not merge to master.
* src/xterm.c (handle_one_xevent) [GTK_CHECK_VERSION (3, 20, 3)]:
Do not call xg_frame_resized in the MapNotify case.
Eli Zaretskii [Mon, 16 May 2016 15:14:54 +0000 (18:14 +0300)]
Fix bug in default setting of 'ps-paper-type'
* lisp/international/mule-cmds.el (set-locale-environment): Don't
inherit the value of locale from previous examination of different
environment variables, which didn't look at LC_PAPER, and so using
that value would effectively ignore the setting of LC_PAPER.
(Bug#23544)
Paul Eggert [Sat, 14 May 2016 01:23:05 +0000 (18:23 -0700)]
Properly reject malformed or empty package sigs
Problem report and fix by Lizzie Dixon (Bug#23513).
* lisp/emacs-lisp/package.el (package--check-signature-content):
Report an error if no good signatures OR if a fatal error. Not AND.
Copyright-paperwork-exempt: yes
Paul Eggert [Fri, 13 May 2016 16:51:32 +0000 (09:51 -0700)]
Remove buggy non-native image scrolling
This never worked, and could cause infinite recursion.
Problem reported by Glenn Morris (Bug#22465).
* lisp/xwidget.el (xwidget-webkit-scroll-behavior): Remove.
All uses removed.
Alan Mackenzie [Mon, 9 May 2016 18:12:52 +0000 (18:12 +0000)]
Add some "safe-local-variable" declarations for compatibility with master.
These enable C files from the master repository to be visited in Emacs 25
without generating irritating questions about configuration variable safety.
* lisp/progmodes/cc-vars.el: (c-string-list-p, c-string-or-string-list-p): New
functions.
(c-noise-macro-names, c-noise-macro-with-parens-names): give the
safe-local-variable property c-string-list-p.
(c-macro-names-with-semicolon): give the safe-local-variable property
c-string-or-string-list-p.
Paul Eggert [Thu, 5 May 2016 13:39:17 +0000 (06:39 -0700)]
Minor doc fixes for quoting
* doc/lispref/control.texi (Signaling Errors):
* doc/lispref/display.texi (Displaying Messages):
Don’t say that formats “generate”. Try to word more clearly.
* etc/NEWS: Coalesce near-duplicate entries.
Dmitry Gutov [Thu, 5 May 2016 01:28:14 +0000 (04:28 +0300)]
Use save-excursion in xref-location-marker more
* lisp/progmodes/elisp-mode.el (xref-location-marker): Use
save-excursion, in order not to alter the value of point if the
buffer is currently open in the background (problem reported by
Robert Weiner).
Dmitry Gutov [Thu, 5 May 2016 01:15:23 +0000 (04:15 +0300)]
shell-quote-argument DIR when appropriate
* lisp/progmodes/project.el (project-file-completion-table):
`shell-quote-argument' DIR as well.
* lisp/progmodes/xref.el (xref--rgrep-command): Pass DIR through
`shell-quote-argument' (bug#23453). Thanks for Kaushal Modi for
pointing out the problem. Assert that DIR doesn't start with `~'.
Dmitry Gutov [Wed, 4 May 2016 23:52:34 +0000 (02:52 +0300)]
Rework xref-query-replace-in-results
* lisp/progmodes/xref.el (xref-query-replace-in-results): Collect
all xrefs from the buffer first, then delegate most of the
processing to the value returned by xref--buf-pairs-iterator.
(xref--buf-pairs-iterator): New function. Return an "iterator"
which partitions returned markers into buffers, and only processes
markers from one buffer at a time. When an xref is out of date,
skip it with a message instead of signaling error (bug#23284).
(xref--outdated-p): Extract from xref--buf-pairs-iterator. Trim
CR from both strings before comparing.
(xref--query-replace-1): Remove the variable current-buf, no need
to track it anymore. Simplify the filter-predicate and search
functions accordingly. Iterate over buffer-markers pairs returned
by the iterator, and call `perform-replace' for each of them. Use
multi-query-replace-map (bug#23284). Use `switch-to-buffer' every
time after the first, in order not to jump between windows.
* test/automated/xref-tests.el
(xref--buf-pairs-iterator-groups-markers-by-buffers-1)
(xref--buf-pairs-iterator-groups-markers-by-buffers-2)
(xref--buf-pairs-iterator-cleans-up-markers): New tests.
* lisp/calendar/todo-mode.el (todo-jump-to-category): When jumping
from Todo Categories mode to a category with only archived items
and todo-skip-archived-categories is non-nil, make sure the
archive file buffer is in Todo Archive mode to prevent
todo-category-select from raising an error, and don't set
todo-current-todo-file, since that makes todo-show display the
archived category. Remove a no-op call to kill-buffer, which is
already called in todo-insert-category-line.
Dmitry Gutov [Tue, 3 May 2016 22:02:43 +0000 (01:02 +0300)]
Use grep-find-ignored-directories instead of vc-directory-exclusion-list
* lisp/dired-aux.el (dired-do-find-regexp):
Use grep-find-ignored-directories instead of
vc-directory-exclusion-list. The result should be functionally
similar (the former uses the latter as the default value), but it
should be more consistent and appropriate WRT user
customizations.
(dired-do-find-regexp-and-replace): Update the docstring.
* lisp/dired.el: Update the corresponding autoloads.
* doc/emacs/dired.texi (Operating on Files): Update the
documentation accordingly.
Alan Mackenzie [Tue, 3 May 2016 20:27:48 +0000 (20:27 +0000)]
Note the quote translation in `message' in section "incompatible changes".
* etc/NEWS: Note that `message' translates quotes, that the translation
cannot be disabled, and that `format' can be used to get the old
behavior back.
Eli Zaretskii [Tue, 3 May 2016 16:14:31 +0000 (19:14 +0300)]
Improve documentation of Dired's 'A' and 'Q' commands
* lisp/dired-aux.el (dired-do-find-regexp)
(dired-do-find-regexp-and-replace): Mention
'grep-find-ignored-files' and 'vc-directory-exclusion-list', and
also the fact that REGEXP should be palatable by Grep. (Bug#23426)
* lisp/dired.el: Update the corresponding autoload forms.
* doc/emacs/dired.texi (Operating on Files): Mention
'grep-find-ignored-files' and 'vc-directory-exclusion-list'.
(Bug#23429)
Paul Eggert [Tue, 3 May 2016 15:02:16 +0000 (08:02 -0700)]
Doc fixes for quoting
* doc/emacs/text.texi, doc/lispintro/emacs-lisp-intro.texi:
* doc/lispref/control.texi, doc/lispref/display.texi:
* doc/lispref/help.texi, doc/lispref/strings.texi, lisp/subr.el:
* src/callint.c, src/doprnt.c, src/editfns.c:
Document quoting a bit more systematically.
Problem reported by Alan Mackenzie (Bug#23425).
Paul Eggert [Mon, 2 May 2016 15:56:02 +0000 (08:56 -0700)]
Don’t electrically quote ‘'’ in Python
Problem reported by Philipp Stephani (Bug#23387).
* lisp/electric.el (electric-quote-post-self-insert-function):
Do not requote a string starter or ender.