]> code.delx.au - gnu-emacs/log
gnu-emacs
8 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)

8 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.

8 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.

8 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.

8 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.

8 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.

8 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

8 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.

8 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).

8 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)

8 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)

8 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.

8 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

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

8 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

8 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'.

8 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).

8 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.

8 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.

8 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)

8 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.

8 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.

8 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.

8 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.

8 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.

8 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.

8 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.

8 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.

8 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. origin/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'.

9 years agoFix documentation of forward-line
Eli Zaretskii [Sat, 23 May 2015 08:03:30 +0000 (11:03 +0300)]
Fix documentation of forward-line

* src/cmds.c (Fforward_line): Clarify the return value if the line
at end of accessible portion of the buffer has no newline.
* doc/lispref/positions.texi (Text Lines): Document what happens
if the line at end of accessible portion of buffer has no newline.

(Bug#20587)

9 years ago* admin/charsets/Makefile.in (TRANS_TABLE): Add short aliases.
Glenn Morris [Fri, 22 May 2015 23:17:51 +0000 (19:17 -0400)]
* admin/charsets/Makefile.in (TRANS_TABLE): Add short aliases.

9 years ago* admin/charsets/mapconv (LC_ALL): Set to C.
Glenn Morris [Fri, 22 May 2015 23:15:55 +0000 (19:15 -0400)]
* admin/charsets/mapconv (LC_ALL): Set to C.

9 years ago* Makefile.in: Add admin/charsets into top-level clean rules.
Glenn Morris [Fri, 22 May 2015 23:05:59 +0000 (19:05 -0400)]
* Makefile.in: Add admin/charsets into top-level clean rules.

(clean): Add admin/charsets.
(maybeclean_dirs): New variable.
(distclean, bootstrap-clean, maintainer-clean): Use $maybeclean_dirs.

9 years ago* admin/charsets/Makefile.in (LOCAL, local): Fix members.
Glenn Morris [Fri, 22 May 2015 22:44:46 +0000 (18:44 -0400)]
* admin/charsets/Makefile.in (LOCAL, local): Fix members.

9 years ago* lisp/emacs-lisp/package.el (package-selected-packages): Fix doc
Artur Malabarba [Fri, 22 May 2015 10:00:10 +0000 (11:00 +0100)]
* lisp/emacs-lisp/package.el (package-selected-packages): Fix doc

9 years agoGenerate admin/charsets Makefile via configure, and make more portable.
Glenn Morris [Fri, 22 May 2015 06:44:00 +0000 (23:44 -0700)]
Generate admin/charsets Makefile via configure, and make more portable.

* configure.ac (SUBDIR_MAKEFILES): Add admin/charsets/Makefile.
(admin/charsets/Makefile): Generate it.
* admin/charsets/Makefile.in: Rename from Makefile.
(AWK, srcdir, top_srcdir, AM_DEFAULT_VERBOSITY):
New variables, set by configure.
(charsetdir, lispintdir, mapfiledir, AM_V_GEN, am__v_GEN_)
(am__v_GEN_0, am__v_GEN_1, AM_V_at, am__v_at_, am__v_at_0)
(am__v_at_1, LOCAL, mapconv, run_mapconv, big5, compact, cp51932)
(cp932, eucjp_ms, gb180302, gb180304, kuten): New variables.
(TRANS_TABLE, CHARSETS): Add directory prefix to value.
(all): Declare PHONY.
(local): New PHONY target.
(map_template): New template.  Use to define short PHONY aliases.
(*.map): Add directory prefixes to targets and prerequisites.
Respect make verbosity.
(JISC6226.map): Replace non-portable sed append without newline.
(install): Remove rule.
(clean): Only delete temporary sedscript.
(bootstrap-clean, distclean, maintainer-clean, extraclean)
(totalclean): New PHONY rules.
* admin/charsets/mapconv (BASE): Replace basename with expr.
(FILE): Add "mapfiles" subdirectory.
(AWK): New variable.  Use throughout in place of "awk".
(main): Use "gunzip -c" in place of "zcat".
Don't leave whitespace before "p", for older sed.
* admin/charsets/mapfiles/PTCP154: Add final newline,
to make older sed versions happy.
; * .gitignore: Ignore admin/charsets/Makefile.

9 years ago* lisp/autorevert.el: Use lexical-binding. Fix hook usage.
Stefan Monnier [Fri, 22 May 2015 04:03:12 +0000 (00:03 -0400)]
* lisp/autorevert.el: Use lexical-binding.  Fix hook usage.

(global-auto-revert-ignore-buffer, auto-revert-notify-modified-p)
(auto-revert-notify-watch-descriptor): Use defvar-local.
(find-file-hook, auto-revert-tail-mode, )
(auto-revert-notify-add-watch): Use setq-local.
(auto-revert-notify-add-watch): Don't call make-local-variable on
kill-buffer-hook (bug#20601).

9 years agoChange defgeneric so it doesn't completely redefine the function
Stefan Monnier [Fri, 22 May 2015 03:46:10 +0000 (23:46 -0400)]
Change defgeneric so it doesn't completely redefine the function

* lisp/emacs-lisp/cl-generic.el (cl-generic-define): Don't throw away
previously defined methods.
(cl-generic-define-method): Let-bind purify-flag instead of using `fset'.
(cl--generic-prefill-dispatchers): Only define during compilation.
(cl-method-qualifiers): Remove redundant alias.
(help-fns-short-filename): Silence byte-compiler.
* test/automated/cl-generic-tests.el: Adjust to new defgeneric semantics.

9 years ago(package-menu-execute): Remove reference to remove-dups
Artur Malabarba [Thu, 21 May 2015 20:26:57 +0000 (21:26 +0100)]
(package-menu-execute): Remove reference to remove-dups

9 years ago* lisp/erc/erc.el: Hide network/channel messages
kwhite [Thu, 21 May 2015 19:30:18 +0000 (14:30 -0500)]
* lisp/erc/erc.el: Hide network/channel messages

(erc-network-hide-list, etc-channel-hide-list): New lists to define
message types per network/channel.
(erc-add-targets): New function to parse list of targets
(erc-hide-current-message-p): Modified to check for new targets

9 years agoDon't quote nil and t in doc strings
Paul Eggert [Thu, 21 May 2015 17:04:45 +0000 (10:04 -0700)]
Don't quote nil and t in doc strings

This is as per "Tips for Documentation Strings" in the elisp manual.
For consistency, do the same in diagnostics and comments.

9 years agoFix a minor problem with mouse-face on mode line
Eli Zaretskii [Thu, 21 May 2015 16:38:19 +0000 (19:38 +0300)]
Fix a minor problem with mouse-face on mode line

* src/xdisp.c (note_mode_line_or_margin_highlight): Reset the
mouse face also if the mouse pointer hovers above mode-line glyphs
that don't come from any Lisp string.  (Bug#20620)

9 years ago* lisp/emacs-lisp/package.el: Fix selected-package logic
Artur Malabarba [Thu, 21 May 2015 16:10:40 +0000 (17:10 +0100)]
* lisp/emacs-lisp/package.el: Fix selected-package logic

(package-menu-execute): Mark as selected all non-upgrade packages
being installed.
(package-menu--perform-transaction): Don't mark anything.

9 years ago* lisp/emacs-lisp/package.el: Mode-line progress report
Artur Malabarba [Thu, 21 May 2015 08:58:45 +0000 (09:58 +0100)]
* lisp/emacs-lisp/package.el: Mode-line progress report

(package-menu--transaction-status): New variable.
(package-menu-mode, package-menu--perform-transaction): Use it.

9 years ago* lisp/emacs-lisp/package.el: Better transaction messages
Artur Malabarba [Thu, 21 May 2015 07:57:31 +0000 (08:57 +0100)]
* lisp/emacs-lisp/package.el: Better transaction messages

(package-menu--partition-transaction): New function.
(package-menu--prompt-transaction-p, package-menu-execute): Use
it.
(package-menu--perform-transaction): Don't do any messaging.

9 years ago* lisp/emacs-lisp/package.el: Revert async package transactions
Artur Malabarba [Wed, 20 May 2015 19:54:20 +0000 (20:54 +0100)]
* lisp/emacs-lisp/package.el: Revert async package transactions

(package-menu-async): Update doc.
(package-install-from-archive, package-download-transaction)
(package-install, package-menu--perform-transaction)
(package-menu-execute): Remove asynchronous functionality.

9 years agoRevert doc string changes to f90.el
Paul Eggert [Thu, 21 May 2015 05:16:53 +0000 (22:16 -0700)]
Revert doc string changes to f90.el

Problem reported by Glenn Morris in:
http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00596.html
* lisp/progmodes/f90.el (f90-mode, f90-abbrev-start):
Revert recent changes to doc strings, as it's intended that they
use grave accent, not quote.

9 years ago; * doc/lispref/nonascii.texi (Character Properties): Fix a typo.
Eli Zaretskii [Wed, 20 May 2015 19:07:30 +0000 (22:07 +0300)]
; * doc/lispref/nonascii.texi (Character Properties): Fix a typo.

(Bug#20618)

9 years agoImprove parameter name
Bozhidar Batsov [Wed, 20 May 2015 15:50:38 +0000 (18:50 +0300)]
Improve parameter name

9 years agoAdd new inline function `hash-table-empty-p'
Bozhidar Batsov [Wed, 20 May 2015 15:49:20 +0000 (18:49 +0300)]
Add new inline function `hash-table-empty-p'

9 years ago; * test/automated/subr-tests.el: Standardize license notice.
Glenn Morris [Wed, 20 May 2015 15:34:53 +0000 (08:34 -0700)]
; * test/automated/subr-tests.el: Standardize license notice.

9 years agoDon't require help-fns when not needed
Paul Eggert [Wed, 20 May 2015 15:23:09 +0000 (08:23 -0700)]
Don't require help-fns when not needed

* lisp/emacs-lisp/autoload.el, lisp/emacs-lisp/advice.el:
* lisp/emacs-lisp/elint.el:
Don't require help-fns at the top level.
* lisp/emacs-lisp/advice.el (ad-arglist):
* lisp/emacs-lisp/cl-macs.el (cl--transform-lambda):
Don't require help-fns.  (Bug#17001)

9 years agoFix slash collapsing in etags on MS-Windows
Eli Zaretskii [Wed, 20 May 2015 15:18:33 +0000 (18:18 +0300)]
Fix slash collapsing in etags on MS-Windows

* lib-src/etags.c (canonicalize_filename) [DOS_NT]: Separate the
MS-Windows code from the Posix code, and support collapsing both
forward- and back-slashes on MS-Windows.  Fixes a regression found
by the test suite.