]> git.eshelyaron.com Git - emacs.git/log
emacs.git
9 years agoRestore EOL format testing in etags
Eli Zaretskii [Sat, 30 May 2015 11:00:06 +0000 (14:00 +0300)]
Restore EOL format testing in etags

* test/etags/ETAGS.good_1, test/etags/ETAGS.good_2:
* test/etags/ETAGS.good_3, test/etags/ETAGS.good_4:
* test/etags/ETAGS.good_5, test/etags/CTAGS.good: Adjust to
test-case changes below.
* test/etags/html-src/algrthms.html: Convert back to DOS EOL format.
* test/etags/cp-src/c.C (B): Add back stray CR character.
* test/etags/c-src/dostorture.c: Add back.
* test/etags/Makefile (CSRC): Add back c-src/dostorture.c.

9 years agoDeclare Emacs on MS-Windows to be DPI-aware
Vitaly Takmazov [Sat, 30 May 2015 10:28:53 +0000 (13:28 +0300)]
Declare Emacs on MS-Windows to be DPI-aware

* nt/emacs-x86.manifest (asmv3:windowsSettings): Add dpiAware.
* nt/emacs-x64.manifest (asmv3:windowsSettings): Add dpiAware.
This avoids Windows entering compatibility mode for Emacs,
which causes fonts to look less nice.

Copyright-paperwork-exempt: yes

9 years agoImprove Tramp traces.
Michael Albinus [Sat, 30 May 2015 09:54:32 +0000 (11:54 +0200)]
Improve Tramp traces.

* lisp/net/trampver.el (tramp-repository-get-version): New defun.

* lisp/net/tramp.el (tramp-debug-message): Use it.

9 years agobackup-buffer minor reworking of internals
Paul Eggert [Sat, 30 May 2015 06:17:28 +0000 (23:17 -0700)]
backup-buffer minor reworking of internals

* lisp/files.el (backup-buffer): Rework to avoid a couple of
unused locals inadvertently introduced in the previous change.

9 years agobackup-buffer now reports .emacs.d/%backup% ills
Paul Eggert [Sat, 30 May 2015 06:02:07 +0000 (23:02 -0700)]
backup-buffer now reports .emacs.d/%backup% ills

* lisp/files.el (backup-buffer): If the write to .emacs.d/%backup%
fails due to disk space exhaustion or whatever, do not pretend
that it succeeded.  More generally, do a better job of checking
for I/O failures, and limit the scope of the condition-case to
just the operations where file errors should be caught and ignored
(Bug#20595).  Also, don't bother trying to delete later backups if
an earlier deletion fails, as this is a sign of trouble and it's
better to stop when there's trouble.

9 years agocopy-file now truncates output after writing
Paul Eggert [Sat, 30 May 2015 05:55:25 +0000 (22:55 -0700)]
copy-file now truncates output after writing

* src/fileio.c (Fcopy_file): Truncate output after writing rather
than before.  This is more likely to work than truncation before
writing, if the file system is out of space or the user is over
disk quota (Bug#20595).  Also, check for read errors.

9 years ago* lisp/emacs-lisp/package.el: Don't load from parent dir
Artur Malabarba [Fri, 29 May 2015 20:41:53 +0000 (21:41 +0100)]
* lisp/emacs-lisp/package.el: Don't load from parent dir

(package-load-all-descriptors): Don't load descriptors from
directories above the package directories.

9 years agoMerge from gnulib
Paul Eggert [Fri, 29 May 2015 19:42:59 +0000 (12:42 -0700)]
Merge from gnulib

This incorporates the following (Bug#20681):
2015-05-29 acl-permissions: Fix build on Mac OS X and older AIX
2015-05-29 acl-permissions: Fix build on Solaris and Cygwin
* lib/set-permissions.c: Copy from gnulib.

9 years agoImprove Tramp traces.
Michael Albinus [Fri, 29 May 2015 17:45:59 +0000 (19:45 +0200)]
Improve Tramp traces.

* lisp/net/tramp.el (tramp-call-process-region): New defun.

* lisp/net/tramp-sh.el (tramp-get-inline-coding): Use it.

9 years ago* test/automated/vc-tests.el: Try enabling tests on hydra.nixos.org.
Glenn Morris [Fri, 29 May 2015 15:33:11 +0000 (08:33 -0700)]
* test/automated/vc-tests.el: Try enabling tests on hydra.nixos.org.

9 years ago* src/xfns.c (x_set_menu_bar_lines): Fix calls to x_clear_area.
Wolfgang Jenkner [Fri, 29 May 2015 13:14:27 +0000 (15:14 +0200)]
* src/xfns.c (x_set_menu_bar_lines): Fix calls to x_clear_area.

The signature was changed in the cairo branch, merged on 2015-05-23.
This oversight broke compiling only the non-toolkit X version.

9 years ago* doc/lispref/os.texi: Update initial-buffer-choice docs.
Samer Masterson [Fri, 29 May 2015 07:54:45 +0000 (00:54 -0700)]
* doc/lispref/os.texi: Update initial-buffer-choice docs.

9 years ago* test/automated/vc-tests.el (vc-test-rcs04-checkout-model):
Glenn Morris [Fri, 29 May 2015 07:12:15 +0000 (00:12 -0700)]
* test/automated/vc-tests.el (vc-test-rcs04-checkout-model):

Mark as an expected failure.

9 years agoChange package test to look for curved quotes
Paul Eggert [Fri, 29 May 2015 04:45:55 +0000 (21:45 -0700)]
Change package test to look for curved quotes

* test/automated/package-test.el (package-test-describe-package)
(package-test-signed): Search for curved single quotes as well as
for grave accent and apostrophe.

9 years agognus-art.el: Re-revert last change
Katsumi Yamaoka [Thu, 28 May 2015 23:56:39 +0000 (23:56 +0000)]
gnus-art.el: Re-revert last change

* lisp/gnus/gnus-art.el (gnus-button-alist): Re-revert last change.
cf. <http://news.gmane.org/group/gmane.emacs.devel/thread=186896>

9 years agoShow files when `initial-buffer-choice' is non-nil
Samer Masterson [Thu, 28 May 2015 21:30:31 +0000 (14:30 -0700)]
Show files when `initial-buffer-choice' is non-nil

* startup.el (command-line-1): When Emacs is given a file as an
argument and `initial-buffer-choice' is non-nil, display both the file
and `initial-buffer-choice'.  For more than one file, show
`initial-buffer-choice' and *Buffer List*.  Refactor display-changing
commands out of the command line arg parser.
(initial-buffer-choice): Clarify docstring.

9 years agoFix last commit
Eli Zaretskii [Thu, 28 May 2015 18:44:23 +0000 (21:44 +0300)]
Fix last commit

* nt/gnulib.mk (libgnu_a_SOURCES): Add get-permissions.c back.
(gnulib module qcopy-acl): Add back, as it is harmless.  This
minimizes differences wrt lib/gnulib.mk.

9 years agoFix the MS-Windows build as followup to gnulib update
Eli Zaretskii [Thu, 28 May 2015 17:40:51 +0000 (20:40 +0300)]
Fix the MS-Windows build as followup to gnulib update

* nt/gnulib.mk (libgnu_a_SOURCES): Remove get-permissions.c and
set-permissions.c, as they don't compile on MinGW.
(gnulib module qcopy-acl): Remove, as it needs set-permissions.c.

9 years ago; Auto-commit of loaddefs files.
Glenn Morris [Thu, 28 May 2015 10:21:55 +0000 (06:21 -0400)]
; Auto-commit of loaddefs files.

9 years agoRevert my change to gnus-art.el
Paul Eggert [Thu, 28 May 2015 08:19:34 +0000 (01:19 -0700)]
Revert my change to gnus-art.el

* lisp/gnus/gnus-art.el (gnus-button-alist): Revert last change.
It wasn't that important, and it caused a Gnus build to fail.  See:
http://www.randomsample.de:4456/builders/emacs-devel/builds/734

9 years agoNew minor mode Electric Quote
Paul Eggert [Thu, 28 May 2015 07:46:59 +0000 (00:46 -0700)]
New minor mode Electric Quote

This lets you easily insert quotes ‘like this’ by typing
quotes `like this', and similarly you can easily insert
quotes “like this” by typing quotes ``like this'' (Bug#20545).
* doc/emacs/basic.texi (Inserting Text):
* doc/emacs/modes.texi (Minor Modes):
* etc/NEWS: Document it.
* doc/emacs/text.texi (Quotation Marks): New section.
* lisp/electric.el (electric-quote-comment)
(electric-quote-string, electric-quote-paragraph):
New custom vars.
(electric--insertable-p)
(electric-quote-post-self-insert-function): New functions.
(electric-quote-mode, electric-quote-local-mode): New minor modes.
* lisp/progmodes/elisp-mode.el (emacs-lisp-mode):
Add curved single quotes to electric-pair-text-pairs.
Set electric-quote-string in this buffer.

9 years agoA few more doc string fixes (Bug#20385)
Paul Eggert [Thu, 28 May 2015 07:44:32 +0000 (00:44 -0700)]
A few more doc string fixes (Bug#20385)

9 years agoAccept curved quotes in doc strings
Paul Eggert [Thu, 28 May 2015 07:06:14 +0000 (00:06 -0700)]
Accept curved quotes in doc strings

* lisp/info-look.el (info-lookup-guess-custom-symbol):
(info-lookup-alist): Treat ‘’ like `' when parsing help buffers etc.

9 years agoGenerate curved quotes in pseudo-info nodes
Paul Eggert [Thu, 28 May 2015 07:06:14 +0000 (00:06 -0700)]
Generate curved quotes in pseudo-info nodes

* lisp/info.el (Info-virtual-index-find-node)
(Info-virtual-index, Info-apropos-find-node, info-apropos):
Quote ‘like this’, not `like this', when generating pseudo-info nodes.

9 years agoFix minor quoting problems in doc strings
Paul Eggert [Thu, 28 May 2015 07:06:14 +0000 (00:06 -0700)]
Fix minor quoting problems in doc strings

Most of these fixes involve escaping grave accents that are
actually intended to be grave accents, not left quotes.
(Bug#20385)

9 years agoSupport curved quotes in doc strings
Paul Eggert [Thu, 28 May 2015 07:06:14 +0000 (00:06 -0700)]
Support curved quotes in doc strings

Emacs's traditional doc string style has been to quote symbols
`like this'.  This worked well on now-obsolete terminals where
` and ' were symmetric quotes, but nowadays curved quotes
‘like this’ look better.  Support quoting the new way too.
(Bug#20385)
* doc/lispref/tips.texi (Documentation Tips): Symbols can be quoted
‘like-this’ as well as `like-this'.
* etc/NEWS: Mention this.
* lisp/cedet/mode-local.el (overload-docstring-extension)
(mode-local-print-binding, mode-local-describe-bindings-2):
* lisp/cus-theme.el (describe-theme-1):
* lisp/descr-text.el (describe-text-properties-1, describe-char):
* lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine):
* lisp/emacs-lisp/cl-generic.el (cl--generic-describe):
* lisp/emacs-lisp/eieio-opt.el (eieio-help-class)
(eieio-help-constructor):
* lisp/emacs-lisp/package.el (describe-package-1):
* lisp/faces.el (describe-face):
* lisp/help-fns.el (help-fns--key-bindings)
(help-fns--compiler-macro, help-fns--parent-mode, help-fns--obsolete):
(help-fns--interactive-only, describe-function-1):
(describe-variable):
* lisp/help.el (describe-mode):
* lisp/international/mule-cmds.el (describe-input-method)
(describe-language-environment):
* lisp/international/mule-diag.el (describe-character-set)
(print-coding-system-briefly, list-input-methods)
(list-input-methods-1):
Insert curved quotes rather than grave accent and apostrophe.
* lisp/cedet/srecode/texi.el (srecode-texi-texify-docstring):
* lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine)
(checkdoc-proper-noun-region-engine):
* lisp/emacs-lisp/lisp-mode.el (lisp-el-font-lock-keywords-2)
(lisp-cl-font-lock-keywords-2):
* lisp/finder.el (finder-font-lock-keywords):
* lisp/gnus/gnus-art.el (gnus-button-alist):
* lisp/help-fns.el (help-do-arg-highlight)
(describe-function-1, describe-variable):
* lisp/help-mode.el (help-xref-symbol-regexp)
(help-xref-info-regexp, help-xref-url-regexp):
* lisp/help.el (describe-mode):
* lisp/international/mule-cmds.el (help-xref-mule-regexp-template):
* lisp/wid-edit.el (widget-documentation-link-regexp):
Parse symbols quoted ‘like-this’ as well as `like-this'.
* lisp/progmodes/elisp-mode.el (emacs-lisp-mode):
Add "‘" and "’" to electric-pair-text-pairs.
(elisp--form-quoted-p): Also allow "‘" as a quoting char.
(elisp-completion-at-point, elisp--preceding-sexp):
Also treat "‘" and "’" as quoting chars.

9 years agosubstitute-command-keys now curves quotes
Paul Eggert [Thu, 28 May 2015 07:06:13 +0000 (00:06 -0700)]
substitute-command-keys now curves quotes

So, for example, it turns "`abc'" into "‘abc’" (Bug#20385).
* doc/lispref/help.texi (Keys in Documentation):
* etc/NEWS: Document this.
* src/doc.c (Fsubstitute_command_keys): Implement it.

9 years ago* lisp/mail/rmailsum.el (rmail-summary-by-recipients)
Glenn Morris [Thu, 28 May 2015 06:16:29 +0000 (23:16 -0700)]
* lisp/mail/rmailsum.el (rmail-summary-by-recipients)

(rmail-summary-by-topic, rmail-summary-by-senders):
No longer strip leading/trailing whitespace.

9 years ago* lisp/progmodes/f90.el (f90-type-def-re): Add "type, extends".
Glenn Morris [Thu, 28 May 2015 06:10:46 +0000 (23:10 -0700)]
* lisp/progmodes/f90.el (f90-type-def-re): Add "type, extends".

(f90-no-block-limit): Add "enum".  (Bug#20680)

* test/automated/f90.el (f90-test-bug20680, f90-test-bug20680b):
New tests.

9 years ago* lisp/isearch.el (isearch--current-buffer): Give a default value.
Stefan Monnier [Thu, 28 May 2015 02:43:08 +0000 (22:43 -0400)]
* lisp/isearch.el (isearch--current-buffer): Give a default value.

9 years agoUn-revert changes mistakenly dropped by f9fabb2b
Stefan Monnier [Thu, 28 May 2015 02:42:33 +0000 (22:42 -0400)]
Un-revert changes mistakenly dropped by f9fabb2b

9 years agoMerge from gnulib
Paul Eggert [Thu, 28 May 2015 00:46:15 +0000 (17:46 -0700)]
Merge from gnulib

This incorporates:
2015-05-27 qacl: Reimplement qset_acl and qcopy_acl (Bug#20666)
2015-05-27 file-has-acl: Split feature tests again (Bug#20667)
2015-05-27 string: fix build failure on BSD/OSX with FORTIFY_SOURCE
2015-05-26 stdio: limit __gnu_printf__ witness to gcc 4.4+
2015-05-26 inttypes: force correct mingw PRIdMAX even without <stdio.h>
2015-05-26 stdio: fix probe on mingw under gcc 5.1
* admin/merge-gnulib (GNULIB_MODULES):
Replace qacl with qcopy-acl, since we don't need the rest of qacl.
* doc/misc/texinfo.tex, lib/acl-internal.c, lib/acl-internal.h:
* lib/inttypes.in.h, lib/qcopy-acl.c, lib/qset-acl.c:
* lib/string.in.h, m4/acl.m4, m4/stdio_h.m4:
Get latest versions from gnulib.
* lib/get-permissions.c, lib/set-permissions.c: New files.
* lib/gnulib.mk, m4/gnulib-comp.m4:
Regenerate.
* nt/gnulib.mk: Merge lib/gnulib.mk changes by hand.

9 years agoDelete the old process in vc-setup-buffer
Dmitry Gutov [Wed, 27 May 2015 23:16:00 +0000 (02:16 +0300)]
Delete the old process in vc-setup-buffer

* lisp/vc/vc-dispatcher.el (vc-setup-buffer): Delete the old
process here.
(vc-do-command): Rather than here (bug#20608).

9 years agoAvoid gratuitous delete-dups in face-at-point.
Ivan Shmakov [Wed, 27 May 2015 22:15:27 +0000 (22:15 +0000)]
Avoid gratuitous delete-dups in face-at-point.

* lisp/faces.el (face-at-point): Do not compute the properly
ordered, duplicate-free list if only a single value is
requested anyway.  (Bug#20519)

9 years agoShow the exact C-x 8 RET invocation in describe-char.
Ivan Shmakov [Wed, 27 May 2015 22:14:57 +0000 (22:14 +0000)]
Show the exact C-x 8 RET invocation in describe-char.

* lisp/descr-text.el (describe-char): Show the exact C-x 8 RET
invocation instead of a template.  (Bug#20522)

9 years ago* lisp/emacs-lisp/package.el: Don't erase tags on refresh
Artur Malabarba [Tue, 26 May 2015 08:57:17 +0000 (09:57 +0100)]
* lisp/emacs-lisp/package.el: Don't erase tags on refresh

(package-menu--post-refresh): Call `tabulated-list-print' with the
UPDATE argument.  This only affects the refresh action, the revert
action still erases tags.
(package-menu-get-status): Change `assq' to `assoc'.
(package-menu--mark-upgrades-1): New function.
(package-menu--mark-upgrades-pending): New variable.
(package-menu-mark-upgrades): Use them to delay marking until
after refresh is done.
(package-menu--post-refresh): Call mark-upgrades-1 if
mark-upgrades-pending is non-nil.

9 years agoMerge branch 'master' of git.sv.gnu.org:/srv/git/emacs
Michael Albinus [Wed, 27 May 2015 16:49:29 +0000 (18:49 +0200)]
Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs

Conflicts:
lisp/net/tramp.el

9 years agoFix typo in commit 3953c4be2816537be95520605d45b866dc731f4b
Michael Albinus [Wed, 27 May 2015 16:42:33 +0000 (18:42 +0200)]
Fix typo in commit 3953c4be2816537be95520605d45b866dc731f4b

9 years agoMerge branch 'master' of git.savannah.gnu.org:/srv/git/emacs
Eli Zaretskii [Wed, 27 May 2015 16:19:35 +0000 (19:19 +0300)]
Merge branch 'master' of git.savannah.gnu.org:/srv/git/emacs

9 years ago; etc/NEWS: Document recent changes in 'etags'.
Eli Zaretskii [Wed, 27 May 2015 16:19:02 +0000 (19:19 +0300)]
; etc/NEWS: Document recent changes in 'etags'.

9 years ago* lisp/isearch.el (isearch--current-buffer): New var
Stefan Monnier [Wed, 27 May 2015 16:16:16 +0000 (12:16 -0400)]
* lisp/isearch.el (isearch--current-buffer): New var

(isearch-update): Set cursor-sensor-inhibit here.
(isearch-done): Unset cursor-sensor-inhibit in the right buffer (bug#20532).

9 years ago; * lisp/net/tramp.el (tramp-handle-make-auto-save-file-name): Fix previous.
Glenn Morris [Wed, 27 May 2015 15:57:39 +0000 (08:57 -0700)]
; * lisp/net/tramp.el (tramp-handle-make-auto-save-file-name): Fix previous.

9 years agoChange inhibit-point-motion-hooks to t
Stefan Monnier [Wed, 27 May 2015 15:52:28 +0000 (11:52 -0400)]
Change inhibit-point-motion-hooks to t

* src/textprop.c (syms_of_textprop): Default Vinhibit_point_motion_hooks
to t and document it as obsolete.

9 years agoSupport ZIP files that use Zip64 extensions
Eli Zaretskii [Wed, 27 May 2015 14:35:11 +0000 (17:35 +0300)]
Support ZIP files that use Zip64 extensions

* lisp/arc-mode.el (archive-zip-summarize): Handle the new ZIP
format of central directory offsets used by Zip64 extensions.
(Bug#20665)

9 years agoNew test tramp-test30-make-auto-save-file-name
Michael Albinus [Wed, 27 May 2015 13:48:13 +0000 (15:48 +0200)]
New test tramp-test30-make-auto-save-file-name

* tramp-tests.el (tramp-test30-make-auto-save-file-name): New test.
(tramp-test31-special-characters)
(tramp-test31-special-characters-with-stat)
(tramp-test31-special-characters-with-perl)
(tramp-test31-special-characters-with-ls, tramp-test32-utf8)
(tramp-test32-utf8-with-stat, tramp-test32-utf8-with-perl)
(tramp-test32-utf8-with-ls, tramp-test33-asynchronous-requests)
(tramp-test34-recursive-load, tramp-test35-unload): Rename.

9 years agoImprove tramp-handle-make-auto-save-file-name
Michael Albinus [Wed, 27 May 2015 13:47:16 +0000 (15:47 +0200)]
Improve tramp-handle-make-auto-save-file-name

* tramp.el (tramp-auto-save-directory): Add :tags.
(tramp-handle-make-auto-save-file-name): Let native
`make-auto-save-file-name' use `auto-save-file-name-transforms',
if `tramp-auto-save-directory' is not set.

9 years ago; Auto-commit of loaddefs files.
Glenn Morris [Wed, 27 May 2015 10:18:31 +0000 (06:18 -0400)]
; Auto-commit of loaddefs files.

9 years agoNo longer set dired-directory in eshell. (Bug#16477)
Glenn Morris [Wed, 27 May 2015 06:42:59 +0000 (23:42 -0700)]
No longer set dired-directory in eshell.  (Bug#16477)

* lisp/eshell/esh-mode.el (eshell-mode):
* lisp/eshell/em-dirs.el (eshell/cd): No longer set dired-directory.

9 years ago* lisp/mail/sendmail.el (mail-position-on-field): Doc fix.
Glenn Morris [Wed, 27 May 2015 06:29:51 +0000 (23:29 -0700)]
* lisp/mail/sendmail.el (mail-position-on-field): Doc fix.

9 years agoMake c-submit-bug-report file reports at debbugs.gnu.org. (Bug#15784)
Glenn Morris [Wed, 27 May 2015 06:29:25 +0000 (23:29 -0700)]
Make c-submit-bug-report file reports at debbugs.gnu.org.  (Bug#15784)

* lisp/progmodes/cc-mode.el (c-mode-help-address):
Change to submit@debbugs.
(c-mode-bug-package): New constant.
(mail-position-on-field): Declare.
(c-submit-bug-report): Insert X-Debbugs-Package header.

* doc/misc/cc-mode.texi (Mailing Lists and Bug Reports):
Mention debbugs.gnu.org.

9 years ago* lisp/mail/rmailsum.el: Commas no longer separate regexps. (Bug#19026)
Glenn Morris [Wed, 27 May 2015 01:04:19 +0000 (21:04 -0400)]
* lisp/mail/rmailsum.el: Commas no longer separate regexps.  (Bug#19026)

(rmail-summary-by-recipients, rmail-summary-by-topic)
(rmail-summary-by-senders): No longer use mail-comma-list-regexp.

* doc/emacs/rmail.texi (Rmail Make Summary): Update for this change.

; * etc/NEWS: Mention this.

9 years agoHandle curved quotes in info files
Paul Eggert [Tue, 26 May 2015 19:29:38 +0000 (12:29 -0700)]
Handle curved quotes in info files

* lisp/calc/calc-help.el (calc-describe-thing):
* lisp/info.el (Info-find-index-name)
(Info-try-follow-nearest-node, Info-fontify-node):
* lisp/vc/ediff-help.el (ediff-help-for-quick-help):
In info files, process quotes ‘like this’ the same way we process
quotes `like this'.  This catches a few places we missed earlier.

9 years agoxref-prompt-for-identifier: Use a list value
Dmitry Gutov [Tue, 26 May 2015 16:28:38 +0000 (19:28 +0300)]
xref-prompt-for-identifier: Use a list value

* lisp/progmodes/xref.el (xref-prompt-for-identifier): Allow list
value, to be interpreted as a list of commands.
(xref--prompt-p): New function.
(xref--read-identifier): Use it.

9 years agoTeach MS-Windows font back-end return per-glyph ascent/descent
Eli Zaretskii [Tue, 26 May 2015 15:29:40 +0000 (18:29 +0300)]
Teach MS-Windows font back-end return per-glyph ascent/descent

* src/w32font.h (struct w32_metric_cache): Add ascent and descent
values.

* src/w32font.c (w32font_text_extents): Compute, cache, and
accumulate per-glyph ascent and descent values, instead of copying
global values from the font.  If the values are not available from
the font data, i.e., non-TTF fonts, fall back on font-global values.
(compute_metrics): Compute and return per-glyph ascent and descent
values, if returned by GetGlyphOutlineW, falling back on
font-global values.  (Bug#20628)

* src/w32term.c (w32_draw_rectangle): Add 1 pixel to width and
height of rectangle to be drawn, to be compatible with
XDrawRectangle.  Fixes glyphless-char display as hex codes in a
box, when per-glyph ascent/descent values are used.

9 years ago* lisp/emacs-lisp/tabulated-list.el: Don't sort without sorter
Artur Malabarba [Tue, 26 May 2015 08:32:45 +0000 (09:32 +0100)]
* lisp/emacs-lisp/tabulated-list.el: Don't sort without sorter

(tabulated-list-print): Don't sort if sorter is nil

9 years agoFix Bug#20621
Michael Albinus [Tue, 26 May 2015 07:35:38 +0000 (09:35 +0200)]
Fix Bug#20621

* lisp/net/tramp-sh.el (tramp-set-auto-save): Remove it.  There
are major modes which set `auto-save-mode' on their own rules;
Tramp shall not overwrite such settings.

Fixes: debbugs:20621
9 years ago* lisp/desktop.el: If modes aren't autoloaded, try simple guesswork.
Glenn Morris [Tue, 26 May 2015 06:27:55 +0000 (23:27 -0700)]
* lisp/desktop.el: If modes aren't autoloaded, try simple guesswork.

(desktop-load-file): Guess that "foobar" defines "foobar-mode".
(desktop-buffer-mode-handlers, desktop-minor-mode-handlers):
Doc updates.
(vc-dir-mode): Remove unnecessary autoload.

; Ref: http://debbugs.gnu.org/19226#14

9 years ago* lisp/term/xterm.el: Add gui-get-selection support via OSC-52
Philipp Stephani [Mon, 25 May 2015 21:03:50 +0000 (17:03 -0400)]
* lisp/term/xterm.el: Add gui-get-selection support via OSC-52

(xterm--extra-capabilities-type): Add `getSelection'.
(xterm--query): Add `no-async' argument.
(xterm--init-activate-get-selection): New function.
(terminal-init-xterm): Use it.
(xterm--init-modify-other-keys): Rename from
terminal-init-xterm-modify-other-keys.
(xterm--init-bracketed-paste-mode): Rename from
terminal-init-xterm-bracketed-paste-mode.
(xterm--init-activate-set-selection): Rename from
terminal-init-xterm-activate-set-selection.
(xterm--selection-char): New function.
(gui-backend-set-selection): Use it.  Use the &context to only apply
this method in terminals where we enabled the feature.
(gui-backend-get-selection): New method.

9 years agoAdd C-language keyword constants to C++
Daniel Colascione [Mon, 25 May 2015 20:51:35 +0000 (13:51 -0700)]
Add C-language keyword constants to C++

* lisp/progmodes/cc-langs.el (c-constant-kwds): Add C-language
keyword constants to C++.

9 years agoMake TAGS files more portable to MS-Windows
Paul Eggert [Mon, 25 May 2015 20:06:11 +0000 (13:06 -0700)]
Make TAGS files more portable to MS-Windows

* etc/NEWS: Document this.
* lib-src/etags.c (readline_internal) [DOS_NT]:
Don't treat CRs differently from GNUish hosts.
* lisp/progmodes/etags.el (etags-goto-tag-location):
Adjust STARTPOS to account for the skipped CRs in dos-style files.

9 years agoImprove fix of debbugs:20634 in tramp-sh.el
Michael Albinus [Mon, 25 May 2015 18:31:54 +0000 (20:31 +0200)]
Improve fix of debbugs:20634 in tramp-sh.el

9 years agoFix a typo in last commit
Eli Zaretskii [Mon, 25 May 2015 15:08:09 +0000 (18:08 +0300)]
Fix a typo in last commit

* lib-src/etags.c (C_entries): Fix a typo.

* test/etags/ETAGS.good_1:
* test/etags/ETAGS.good_2:
* test/etags/ETAGS.good_3:
* test/etags/ETAGS.good_4:
* test/etags/ETAGS.good_5:
* test/etags/CTAGS.good: Update due to the change in etags.c.

9 years agoFix tagging of class members in C-like OO languages
Eli Zaretskii [Mon, 25 May 2015 15:02:21 +0000 (18:02 +0300)]
Fix tagging of class members in C-like OO languages

* lib-src/etags.c (longopts): Add new option --class-qualify and
its shorthand -Q.
(print_help): Add help text for --class-qualify.
(main): Add handling of -Q.
(consider_token, C_entries) <omethodparm>: Append argument types
to Objective C methods only if --class-qualify was specified.
Qualify C++, Objective C, and Java class members with their class
names only if --class-qualify was specified.
(C_entries): If --class-qualify was not specified, remove the
namespace and class qualifiers from tag names of C++ methods.
This allows to use etags.el as xref back-end without the
tag-symbol-match-p method, which greatly increases the number of
potentially false positives.  (Bug#20629)

* doc/man/etags.1: Update to document the new --class-qualify
option.

* test/etags/ETAGS.good_1:
* test/etags/ETAGS.good_2:
* test/etags/ETAGS.good_3:
* test/etags/ETAGS.good_4:
* test/etags/ETAGS.good_5:
* test/etags/CTAGS.good: Update due to changes in etags.c.

9 years ago(cl-generic-define-method): Side effects are evil (bug#20644)
Stefan Monnier [Mon, 25 May 2015 14:53:52 +0000 (10:53 -0400)]
(cl-generic-define-method): Side effects are evil (bug#20644)

* lisp/emacs-lisp/cl-generic.el (cl-generic-define-method): Don't reuse
cons-cells that might be used as keys in an `equal' hash-table.

9 years agoMake erc timestamps visible again
Lars Magne Ingebrigtsen [Mon, 25 May 2015 14:45:17 +0000 (16:45 +0200)]
Make erc timestamps visible again

* lisp/erc/erc-stamp.el (erc-munge-invisibility-spec): Make
timestamps visible again (if requested).

9 years agoFix last change in etags.c that broke tagging compresed files
Eli Zaretskii [Mon, 25 May 2015 14:24:33 +0000 (17:24 +0300)]
Fix last change in etags.c that broke tagging compresed files

* lib-src/etags.c (process_file_name) [MSDOS || DOS_NT]: Fix
quoting of decompression shell command for MS-Windows/MS-DOS.

9 years ago* lisp/emacs-lisp/cl-macs.el (cl-tagbody): Scope cl--tagbody-alist
Stefan Monnier [Mon, 25 May 2015 13:39:35 +0000 (09:39 -0400)]
* lisp/emacs-lisp/cl-macs.el (cl-tagbody): Scope cl--tagbody-alist

Fixes: debbugs:20639
9 years agoFix typo in 89035e247591c8d688fce922b7079881aa110f33
Michael Albinus [Mon, 25 May 2015 10:40:57 +0000 (12:40 +0200)]
Fix typo in 89035e247591c8d688fce922b7079881aa110f33

9 years agoFix IPv6 addresses in Tramp
Orivej Desh [Mon, 25 May 2015 10:25:39 +0000 (12:25 +0200)]
Fix IPv6 addresses in Tramp

* lisp/net/tramp-sh.el (tramp-make-copy-program-file-name):
Add sqare brackets around host name.

Copyright-paperwork-exempt: yes

9 years agoInhibit `epa-file-handler' in Tramp
Michael Albinus [Mon, 25 May 2015 08:44:51 +0000 (10:44 +0200)]
Inhibit `epa-file-handler' in Tramp

Fixes: debbugs:20634
* lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-via-buffer)
(tramp-sh-handle-insert-file-contents-literally): Inhibit also
`epa-file-handler'.

9 years ago* lisp/emacs-lisp/pcase.el: Use PAT rather than UPAT in docstring
Stefan Monnier [Mon, 25 May 2015 02:38:05 +0000 (22:38 -0400)]
* lisp/emacs-lisp/pcase.el: Use PAT rather than UPAT in docstring

(pcase-let): Document the behavior in case the pattern doesn't match.

9 years ago* lisp/emacs-lisp/tabulated-list.el: New optional print method
Artur Malabarba [Sun, 24 May 2015 22:38:53 +0000 (23:38 +0100)]
* lisp/emacs-lisp/tabulated-list.el: New optional print method

(tabulated-list-print): New optional argument, UPDATE.  If
non-nil, the list is printed by only adding and deleting the
changed entries, instead of erasing the whole buffer.  This method
is much faster when few or no entries have changed.

* doc/lispref/modes.texi (Tabulated List Mode): Document it.

* etc/NEWS: Document it.

9 years ago* lisp/emacs-lisp/tabulated-list.el: Improve printing
Artur Malabarba [Sun, 24 May 2015 21:57:24 +0000 (22:57 +0100)]
* lisp/emacs-lisp/tabulated-list.el: Improve printing

(tabulated-list--get-sorter): New function.
(tabulated-list-print): Restore window-line when remember-pos is
passed and optimize away the `nreverse'.

9 years agoSimpilify etags TEX mode scanning
Paul Eggert [Sun, 24 May 2015 21:20:10 +0000 (14:20 -0700)]
Simpilify etags TEX mode scanning

* lib-src/etags.c (TEX_mode, TEX_esc, TEX_opgrp, TEX_clgrp):
Remove static vars.
(TeX_commands): Deduce escapes here instead.
(TEX_LESC, TEX_SESC, TEX_mode): Remove; all uses removed.
This removes the need for a reset_input call.

9 years agoImprove etags I/O error reporting
Paul Eggert [Sun, 24 May 2015 21:20:09 +0000 (14:20 -0700)]
Improve etags I/O error reporting

* lib-src/etags.c:
Don't include sys/types.h and sys/stat.h; no longer needed.
(infilename): New static var.
(process_file_name): Don't call 'stat'.  Instead, just open the
file for reading and report any errors.  Don't bother making
a copy of the file argument; it's not needed.  Be more careful to
use the failing errno when reporting an error.
Quote the real name better (though no perfectly)
when passing it to the shell.
(reset_input): New function, which reports I/O errors.
All uses of 'rewind' changed to use this function.
(perhaps_more_input): New function, which also checks for
I/O errors.  All uses of 'feof' changed to use this function.
(analyze_regex): Report an error if fclose fails.
(readline_internal): Report an error if getc fails.
(etags_mktmp): Return an error if close fails.

9 years agoetags.c: avoid side effects in 'if'
Paul Eggert [Sun, 24 May 2015 21:20:09 +0000 (14:20 -0700)]
etags.c: avoid side effects in 'if'

* lib-src/etags.c (process_file_name, Perl_functions)
(TEX_decode_env): Hoist side effects into previous statement.

9 years ago.gitignore tweaks
Paul Eggert [Sun, 24 May 2015 15:04:03 +0000 (08:04 -0700)]
.gitignore tweaks

* .gitignore: Ignore all *.stamp files.  Sort.
Ignore [0-9]*.txt (commonly used name for git patches)
and /vc-dwim-log-* (vc-dwim temporary).

9 years ago; Auto-commit of ChangeLog files.
Glenn Morris [Sun, 24 May 2015 10:25:35 +0000 (06:25 -0400)]
; Auto-commit of ChangeLog files.

9 years agoFix last change in etags.c, which failed the test suite
Eli Zaretskii [Sun, 24 May 2015 07:19:36 +0000 (10:19 +0300)]
Fix last change in etags.c, which failed the test suite

* lib-src/etags.c (intoken): Add '$' to the set, as it was there
before the last change.

9 years agoRemove charset map files from repository, generate in first bootstrap
Glenn Morris [Sat, 23 May 2015 23:38:13 +0000 (16:38 -0700)]
Remove charset map files from repository, generate in first bootstrap

* admin/charsets/Makefile.in (${srcdir}/charsets.stamp): New.
(all): Create the stamp file.
(extraclean): Delete the stamp file.
* src/Makefile.in (lispintdir, charsets): New variables.
(${lispintdir}/cp51932.el, ${lispintdir}/eucjp-ms.el, ${charsets}):
New rules.
(emacs$(EXEEXT), temacs$(EXEEXT)): Depend on $charsets.
* lisp/international/cp51932.el, lisp/international/eucjp-ms.el:
* etc/charsets/*.map: Remove from repository.
; * admin/charsets/mapconv: Fix typo in output comment.
; * etc/charsets/README: Small update.
; * .gitignore: Update for charset changes.

9 years agoCleanup etags.c to use locale-independent code
Paul Eggert [Sat, 23 May 2015 22:18:12 +0000 (15:18 -0700)]
Cleanup etags.c to use locale-independent code

Although this doesn't alter behavior (as etags doesn't use
setlocale), the new version is more clearly locale-independent and
the executable is a bit smaller on my platform.
* lib-src/etags.c: Include <limits.h>, for UCHAR_MAX.
Include <c-ctype.h> instead of <ctype.h>.
(CHARS, CHAR, init, _wht, _nin, _itk, _btk, _etk, white, nonam, endtk)
(begtk, midtk):
Remove; no longer needed.
(iswhite, ISALNUM, ISALPHA, ISDIGIT, ISLOWER, lowcase): Remove.
All callers changed to use c_isspace, c_isalnum, c_isalpha, c_isdigit,
c_islower, c_tolower, respectively.
(notinname, begtoken, intoken, endtoken): Rewrite as functions
instead of macros, and initialize the tables at compile-time
rather than at run-time.

9 years agoPut default action first in src/Makefile
Paul Eggert [Sat, 23 May 2015 22:07:17 +0000 (15:07 -0700)]
Put default action first in src/Makefile

* src/Makefile.in (all): Put this rule before lisp.mk.
That way, plain 'make' works in the src directory again.

9 years ago* Makefile.in: Fix extraclean rule.
Glenn Morris [Sat, 23 May 2015 22:05:02 +0000 (15:05 -0700)]
* Makefile.in: Fix extraclean rule.

(extraclean_dirs): New.
(extraclean): Use it.

9 years agoAvoid compiler warning in image.c on MS-Windows
Eli Zaretskii [Sat, 23 May 2015 19:19:08 +0000 (22:19 +0300)]
Avoid compiler warning in image.c on MS-Windows

* src/w32term.h (x_query_color): Add prototype, to avoid compiler
warning in image.c.

9 years agoFix --without-toolkit-scroll-bars builds.
Glenn Morris [Sat, 23 May 2015 18:25:20 +0000 (11:25 -0700)]
Fix --without-toolkit-scroll-bars builds.

* src/xterm.c (x_scroll_bar_set_handle) [!USE_TOOLKIT_SCROLL_BARS]:
Add new argument to x_clear_area1.
(XTset_horizontal_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
Update x_clear_area arguments.

9 years ago* admin/charsets/glibc/: New directory, imported from glibc 2.21.
Glenn Morris [Sat, 23 May 2015 18:07:40 +0000 (11:07 -0700)]
* admin/charsets/glibc/: New directory, imported from glibc 2.21.

* admin/charsets/Makefile.in (GLIBC_CHARMAPS):
Change to included version.
(LOCAL, local, totalclean): Remove.
(extraclean): Delete all generated files.

9 years ago* lisp/pcmpl-cvs.el (pcmpl-cvs-entries): Don't assume CVS/Entries exists.
Stefan Monnier [Sat, 23 May 2015 16:06:23 +0000 (12:06 -0400)]
* lisp/pcmpl-cvs.el (pcmpl-cvs-entries): Don't assume CVS/Entries exists.

9 years ago* lisp/progmodes/xref.el (xref-find-apropos): Use read-string.
Stefan Monnier [Sat, 23 May 2015 16:05:47 +0000 (12:05 -0400)]
* lisp/progmodes/xref.el (xref-find-apropos): Use read-string.

9 years agotags-completion-at-point-function: Don't trust the find-tag function
Stefan Monnier [Sat, 23 May 2015 16:05:21 +0000 (12:05 -0400)]
tags-completion-at-point-function: Don't trust the find-tag function

* lisp/progmodes/etags.el (tags-completion-at-point-function):
Don't trust the find-tag function.

9 years agoPacify --enable-gcc-warnings
Paul Eggert [Sat, 23 May 2015 16:01:40 +0000 (09:01 -0700)]
Pacify --enable-gcc-warnings

* src/frame.h (x_query_color): Remove redundant extern decl.
* src/ftcrfont.c (ftcrfont_glyph_extents, ftcrfont_list)
(ftcrfont_match, ftcrfont_open, ftcrfont_close)
(ftcrfont_text_extents, ftcrfont_draw):
* src/xterm.c (x_set_window_size_1, *x_color_cells, x_update_end)
(XTframe_up_to_date, x_clear_area1, x_clear_frame)
(x_ins_del_lines, frame_highlight, frame_unhighlight)
(x_new_focus_frame, x_focus_changed, XTframe_rehighlight)
(x_draw_hollow_cursor, x_draw_bar_cursor, x_flush, x_update_begin)
(x_update_window_begin, x_connection_closed)
(x_set_clip_rectangles, x_reset_clip_rectangles, x_fill_rectangle)
(x_draw_rectangle, x_fill_trapezoid_for_relief, x_clear_window)
(*x_gc_get_ext_data, x_extension_initialize)
(x_cr_accumulate_data):
Remove redundant static decl.  Many of these GCC doesn't complain
about, but we might as well clean out the duplication while we're
in the neighborhood.
* src/xterm.c (x_fill_trapezoid_for_relief):
Remove decl of nonexistent function.

9 years ago; Omit entries that will appear in ChangeLog.2
Paul Eggert [Sat, 23 May 2015 15:35:49 +0000 (08:35 -0700)]
; Omit entries that will appear in ChangeLog.2

9 years agoReplace gui-method macros with cl-generic with &context
Stefan Monnier [Sat, 23 May 2015 15:32:29 +0000 (11:32 -0400)]
Replace gui-method macros with cl-generic with &context

* lisp/frame.el (gui-method--name, gui-method, gui-method-define)
(gui-method-declare, gui-call): Remove.
(frame-creation-function): Use cl-defgeneric.
(make-frame): Adjust callers.

* lisp/menu-bar.el (menu-bar-edit-menu):
Use gui-backend-selection-exists-p.

* lisp/select.el (x-get-clipboard): Use gui-backend-get-selection.
(gui-backend-get-selection): New cl-generic to replace
gui-get-selection method.
(gui-backend-set-selection): New cl-generic to replace
gui-set-selection method.
(gui-selection-owner-p): New cl-generic to replace
gui-selection-owner-p method.
(gui-backend-selection-exists-p): New cl-generic to replace
gui-selection-exists-p method.  Adjust all callers.

* lisp/server.el (server-create-window-system-frame): Don't ignore
window-system spec even when unsupported.

* lisp/simple.el (deactivate-mark): Use new gui-backend-* functions.

* lisp/startup.el (handle-args-function, window-system-initialization):
Use cl-defgeneric.
(command-line): Adjust calls accordingly.

* lisp/term/ns-win.el (ns-window-system-initialization): Turn into
a window-system-initialization method.
(handle-args-function, frame-creation-function): Use cl-defmethod.
(gui-set-selection, gui-selection-owner-p, gui-selection-exists-p)
(gui-get-selection): Use cl-defmethod on the new functions instead.

* lisp/term/pc-win.el (w16-get-selection-value): Turn into
a gui-backend-get-selection method.
(gui-selection-exists-p, gui-selection-owner-p, gui-set-selection):
Use cl-defmethod on the new functions instead.
(msdos-window-system-initialization): Turn into
a window-system-initialization method.
(frame-creation-function, handle-args-function): Use cl-defmethod.

* lisp/term/w32-win.el (w32-window-system-initialization): Turn into
a window-system-initialization method.
(handle-args-function, frame-creation-function): Use cl-defmethod.
(gui-set-selection, gui-selection-owner-p, gui-selection-exists-p)
(gui-get-selection): Use cl-defmethod on the new functions instead.

* lisp/term/x-win.el (x-window-system-initialization): Turn into
a window-system-initialization method.
(handle-args-function, frame-creation-function): Use cl-defmethod.
(gui-set-selection, gui-selection-owner-p, gui-selection-exists-p)
(gui-get-selection): Use cl-defmethod on the new functions instead.

* lisp/term/xterm.el (xterm--set-selection): Turn into
a gui-backend-set-selection method.

* src/nsselect.m (Fns_selection_exists_p): Remove unused arg `terminal'.
(Fns_selection_owner_p): Remove unused arg `terminal'.
(Fns_get_selection): Remove unused args `time_stamp' and `terminal'.

9 years agoRevert "Fix etags Bug#20629 that broke C++ support."
Eli Zaretskii [Sat, 23 May 2015 13:47:47 +0000 (16:47 +0300)]
Revert "Fix etags Bug#20629 that broke C++ support."

This reverts commit 13dd9d4f7e75d2c78aa5537cef09de03663e9748.

9 years agoFix etags Bug#20629 that broke C++ support.
Jan D [Sat, 23 May 2015 12:13:44 +0000 (14:13 +0200)]
Fix etags Bug#20629 that broke C++ support.

* etags.el (etags-xref-find-definitions-tag-order): Revert commit
from Sun May 10 (Bug#20629).

9 years agoMerge branch 'cairo'.
Jan D [Sat, 23 May 2015 10:34:45 +0000 (12:34 +0200)]
Merge branch 'cairo'.

Main work done by YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>.
Small fixes and image work by Jan D. <jan.h.d@swipnet.se>.

9 years agoMerge branch 'master' into cairo
Jan D [Sat, 23 May 2015 10:28:54 +0000 (12:28 +0200)]
Merge branch 'master' into cairo

9 years agoFixes to compile cairo branch without cairo. old-branches/cairo
Jan D [Sat, 23 May 2015 10:27:56 +0000 (12:27 +0200)]
Fixes to compile cairo branch without cairo.

* src/gtkutil.c (xg_update_scrollbar_pos): x_clear_area takes frame as
first argument.

* src/xterm.c (handle_one_xevent): Surround x_cr_destroy_surface with
USE_CAIRO.

9 years ago* lisp/emacs-lisp/package.el: Always update selected-packages
Artur Malabarba [Sat, 23 May 2015 09:13:02 +0000 (10:13 +0100)]
* lisp/emacs-lisp/package.el: Always update selected-packages

(package--update-selected-packages): New function.
(package-menu-execute): Use it before starting the transaction,
this way the list of selected packages is updated even when the
transaction fails.
(package-menu--perform-transaction): Don't edit selected-packages.

9 years agoFix etags reading of compressed files
Eli Zaretskii [Sat, 23 May 2015 08:35:45 +0000 (11:35 +0300)]
Fix etags reading of compressed files

* lib-src/etags.c (O_CLOEXEC) [WINDOWSNT]: Define.
Include fcntl.h, for O_CLOEXEC.
(process_file_name): Don't use 'popen', whose streams cannot be
rewound.  Instead, uncompress the file to a temporary file,
created by 'etags_mktmp', and read from that as usual.
(etags_mktmp): New function.

* test/etags/ETAGS.good_1:
* test/etags/ETAGS.good_2:
* test/etags/ETAGS.good_3:
* test/etags/ETAGS.good_4:
* test/etags/ETAGS.good_5: Update to be consistent with latest
changes in etags.c regarding reading compressed files.

9 years agoImprove documentation of 'set-fontset-font'
Eli Zaretskii [Sat, 23 May 2015 08:15:30 +0000 (11:15 +0300)]
Improve documentation of 'set-fontset-font'

* doc/lispref/display.texi (Fontsets): Document the value of nil
for the 3rd argument of 'set-fontset-font'.